qcustomplot/0000755000175000017500000000000012236016576013330 5ustar dermanudermanuqcustomplot/documentation/0000755000175000017500000000000012236016576016201 5ustar dermanudermanuqcustomplot/documentation/html/0000755000175000017500000000000012236016576017145 5ustar dermanudermanuqcustomplot/documentation/html/functions_func_0x66.html0000644000175000017500000000257212236016575023646 0ustar dermanudermanu Data Fields - Functions
Main Page · Class Overview · Hierarchy · All Classes
 

- f -

qcustomplot/documentation/html/plottable-bars_8h_source.html0000644000175000017500000005516612236016574024740 0ustar dermanudermanu src/plottables/plottable-bars.h Source File
Main Page · Class Overview · Hierarchy · All Classes
plottable-bars.h
Go to the documentation of this file.
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
26 #ifndef QCP_PLOTTABLE_BARS_H
27 #define QCP_PLOTTABLE_BARS_H
28 
29 #include "../global.h"
30 #include "../range.h"
31 #include "../plottable.h"
32 
33 class QCPPainter;
34 class QCPAxis;
35 
36 class QCP_LIB_DECL QCPBarData
37 {
38 public:
39  QCPBarData();
40  QCPBarData(double key, double value);
41  double key, value;
42 };
43 Q_DECLARE_TYPEINFO(QCPBarData, Q_MOVABLE_TYPE);
44 
52 typedef QMap<double, QCPBarData> QCPBarDataMap;
53 typedef QMapIterator<double, QCPBarData> QCPBarDataMapIterator;
54 typedef QMutableMapIterator<double, QCPBarData> QCPBarDataMutableMapIterator;
55 
56 
57 class QCP_LIB_DECL QCPBars : public QCPAbstractPlottable
58 {
59  Q_OBJECT
61  Q_PROPERTY(double width READ width WRITE setWidth)
62  Q_PROPERTY(QCPBars* barBelow READ barBelow)
63  Q_PROPERTY(QCPBars* barAbove READ barAbove)
65 public:
66  explicit QCPBars(QCPAxis *keyAxis, QCPAxis *valueAxis);
67  virtual ~QCPBars();
68 
69  // getters:
70  double width() const { return mWidth; }
71  QCPBars *barBelow() const { return mBarBelow.data(); }
72  QCPBars *barAbove() const { return mBarAbove.data(); }
73  QCPBarDataMap *data() const { return mData; }
74 
75  // setters:
76  void setWidth(double width);
77  void setData(QCPBarDataMap *data, bool copy=false);
78  void setData(const QVector<double> &key, const QVector<double> &value);
79 
80  // non-property methods:
81  void moveBelow(QCPBars *bars);
82  void moveAbove(QCPBars *bars);
83  void addData(const QCPBarDataMap &dataMap);
84  void addData(const QCPBarData &data);
85  void addData(double key, double value);
86  void addData(const QVector<double> &keys, const QVector<double> &values);
87  void removeDataBefore(double key);
88  void removeDataAfter(double key);
89  void removeData(double fromKey, double toKey);
90  void removeData(double key);
91 
92  // reimplemented virtual methods:
93  virtual void clearData();
94  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
95 
96 protected:
97  // property members:
98  QCPBarDataMap *mData;
99  double mWidth;
100  QPointer<QCPBars> mBarBelow, mBarAbove;
101 
102  // reimplemented virtual methods:
103  virtual void draw(QCPPainter *painter);
104  virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const;
105  virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const;
106  virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const;
107 
108  // non-virtual methods:
109  QPolygonF getBarPolygon(double key, double value) const;
110  double getBaseValue(double key, bool positive) const;
111  static void connectBars(QCPBars* lower, QCPBars* upper);
112 
113  friend class QCustomPlot;
114  friend class QCPLegend;
115 };
116 
117 #endif // QCP_PLOTTABLE_BARS_H
qcustomplot/documentation/html/global_8h_source.html0000644000175000017500000010555312236016574023261 0ustar dermanudermanu src/global.h Source File
Main Page · Class Overview · Hierarchy · All Classes
global.h
Go to the documentation of this file.
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
26 #ifndef QCP_GLOBAL_H
27 #define QCP_GLOBAL_H
28 
29 // amalgamation: include begin
30 #include <QObject>
31 #include <QPointer>
32 #include <QWidget>
33 #include <QPainter>
34 #include <QPaintEvent>
35 #include <QMouseEvent>
36 #include <QPixmap>
37 #include <QVector>
38 #include <QString>
39 #include <QDateTime>
40 #include <QMultiMap>
41 #include <QFlags>
42 #include <QDebug>
43 #include <QVector2D>
44 #include <QStack>
45 #include <QCache>
46 #include <QMargins>
47 #include <qmath.h>
48 #include <limits>
49 #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
50 # include <qnumeric.h>
51 # include <QPrinter>
52 #else
53 # include <QtNumeric>
54 # include <QtPrintSupport>
55 #endif
56 // amalgamation: include end
57 
58 // decl definitions for shared library compilation/usage:
59 #if defined(QCUSTOMPLOT_COMPILE_LIBRARY)
60 # define QCP_LIB_DECL Q_DECL_EXPORT
61 #elif defined(QCUSTOMPLOT_USE_LIBRARY)
62 # define QCP_LIB_DECL Q_DECL_IMPORT
63 #else
64 # define QCP_LIB_DECL
65 #endif
66 
70 namespace QCP
71 {
77 enum MarginSide { msLeft = 0x01
78  ,msRight = 0x02
79  ,msTop = 0x04
80  ,msBottom = 0x08
81  ,msAll = 0xFF
82  ,msNone = 0x00
83  };
84 Q_DECLARE_FLAGS(MarginSides, MarginSide)
85 
86 
95 enum AntialiasedElement { aeAxes = 0x0001
96  ,aeGrid = 0x0002
97  ,aeSubGrid = 0x0004
98  ,aeLegend = 0x0008
99  ,aeLegendItems = 0x0010
100  ,aePlottables = 0x0020
101  ,aeItems = 0x0040
102  ,aeScatters = 0x0080
103  ,aeErrorBars = 0x0100
104  ,aeFills = 0x0200
105  ,aeZeroLine = 0x0400
106  ,aeAll = 0xFFFF
107  ,aeNone = 0x0000
108  };
109 Q_DECLARE_FLAGS(AntialiasedElements, AntialiasedElement)
110 
111 
116 enum PlottingHint { phNone = 0x000
117  ,phFastPolylines = 0x001
118 
119  ,phForceRepaint = 0x002
120 
121  ,phCacheLabels = 0x004
122  };
123 Q_DECLARE_FLAGS(PlottingHints, PlottingHint)
124 
125 
132 enum Interaction { iRangeDrag = 0x001
133  ,iRangeZoom = 0x002
134  ,iMultiSelect = 0x004
136  ,iSelectAxes = 0x010
137  ,iSelectLegend = 0x020
138  ,iSelectItems = 0x040
139  ,iSelectOther = 0x080
140  };
141 Q_DECLARE_FLAGS(Interactions, Interaction)
142 
143 
149 inline bool isInvalidData(double value)
150 {
151  return qIsNaN(value) || qIsInf(value);
152 }
153 
159 inline bool isInvalidData(double value1, double value2)
160 {
161  return isInvalidData(value1) || isInvalidData(value2);
162 }
163 
170 inline void setMarginValue(QMargins &margins, QCP::MarginSide side, int value)
171 {
172  switch (side)
173  {
174  case QCP::msLeft: margins.setLeft(value); break;
175  case QCP::msRight: margins.setRight(value); break;
176  case QCP::msTop: margins.setTop(value); break;
177  case QCP::msBottom: margins.setBottom(value); break;
178  case QCP::msAll: margins = QMargins(value, value, value, value); break;
179  default: break;
180  }
181 }
182 
190 inline int getMarginValue(const QMargins &margins, QCP::MarginSide side)
191 {
192  switch (side)
193  {
194  case QCP::msLeft: return margins.left();
195  case QCP::msRight: return margins.right();
196  case QCP::msTop: return margins.top();
197  case QCP::msBottom: return margins.bottom();
198  default: break;
199  }
200  return 0;
201 }
202 
203 } // end of namespace QCP
204 
205 Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::AntialiasedElements)
206 Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::PlottingHints)
207 Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::MarginSides)
208 Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::Interactions)
209 
210 #endif // QCP_GLOBAL_H
qcustomplot/documentation/html/classQCPAxis.html0000644000175000017500000057460512236016575022351 0ustar dermanudermanu QCPAxis Class Reference
Main Page · Class Overview · Hierarchy · All Classes
Public Types | Public Functions | Signals | Static Public Functions | Protected Functions
QCPAxis Class Reference

Manages a single axis inside a QCustomPlot. More...

Inheritance diagram for QCPAxis:
Inheritance graph

Public Types

enum  AxisType
enum  LabelType
enum  ScaleType
enum  SelectablePart

Public Functions

 QCPAxis (QCPAxisRect *parent, AxisType type)
AxisType axisType () const
QCPAxisRectaxisRect () const
ScaleType scaleType () const
double scaleLogBase () const
const QCPRange range () const
bool rangeReversed () const
bool autoTicks () const
int autoTickCount () const
bool autoTickLabels () const
bool autoTickStep () const
bool autoSubTicks () const
bool ticks () const
bool tickLabels () const
int tickLabelPadding () const
LabelType tickLabelType () const
QFont tickLabelFont () const
QColor tickLabelColor () const
double tickLabelRotation () const
QString dateTimeFormat () const
Qt::TimeSpec dateTimeSpec () const
QString numberFormat () const
int numberPrecision () const
double tickStep () const
QVector< double > tickVector () const
QVector< QString > tickVectorLabels () const
int tickLengthIn () const
int tickLengthOut () const
int subTickCount () const
int subTickLengthIn () const
int subTickLengthOut () const
QPen basePen () const
QPen tickPen () const
QPen subTickPen () const
QFont labelFont () const
QColor labelColor () const
QString label () const
int labelPadding () const
int padding () const
int offset () const
SelectableParts selectedParts () const
SelectableParts selectableParts () const
QFont selectedTickLabelFont () const
QFont selectedLabelFont () const
QColor selectedTickLabelColor () const
QColor selectedLabelColor () const
QPen selectedBasePen () const
QPen selectedTickPen () const
QPen selectedSubTickPen () const
QCPLineEnding lowerEnding () const
QCPLineEnding upperEnding () const
QCPGridgrid () const
void setScaleType (ScaleType type)
void setScaleLogBase (double base)
Q_SLOT void setRange (const QCPRange &range)
void setRange (double lower, double upper)
void setRange (double position, double size, Qt::AlignmentFlag alignment)
void setRangeLower (double lower)
void setRangeUpper (double upper)
void setRangeReversed (bool reversed)
void setAutoTicks (bool on)
void setAutoTickCount (int approximateCount)
void setAutoTickLabels (bool on)
void setAutoTickStep (bool on)
void setAutoSubTicks (bool on)
void setTicks (bool show)
void setTickLabels (bool show)
void setTickLabelPadding (int padding)
void setTickLabelType (LabelType type)
void setTickLabelFont (const QFont &font)
void setTickLabelColor (const QColor &color)
void setTickLabelRotation (double degrees)
void setDateTimeFormat (const QString &format)
void setDateTimeSpec (const Qt::TimeSpec &timeSpec)
void setNumberFormat (const QString &formatCode)
void setNumberPrecision (int precision)
void setTickStep (double step)
void setTickVector (const QVector< double > &vec)
void setTickVectorLabels (const QVector< QString > &vec)
void setTickLength (int inside, int outside=0)
void setTickLengthIn (int inside)
void setTickLengthOut (int outside)
void setSubTickCount (int count)
void setSubTickLength (int inside, int outside=0)
void setSubTickLengthIn (int inside)
void setSubTickLengthOut (int outside)
void setBasePen (const QPen &pen)
void setTickPen (const QPen &pen)
void setSubTickPen (const QPen &pen)
void setLabelFont (const QFont &font)
void setLabelColor (const QColor &color)
void setLabel (const QString &str)
void setLabelPadding (int padding)
void setPadding (int padding)
void setOffset (int offset)
void setSelectedTickLabelFont (const QFont &font)
void setSelectedLabelFont (const QFont &font)
void setSelectedTickLabelColor (const QColor &color)
void setSelectedLabelColor (const QColor &color)
void setSelectedBasePen (const QPen &pen)
void setSelectedTickPen (const QPen &pen)
void setSelectedSubTickPen (const QPen &pen)
Q_SLOT void setSelectableParts (const QCPAxis::SelectableParts &selectableParts)
Q_SLOT void setSelectedParts (const QCPAxis::SelectableParts &selectedParts)
void setLowerEnding (const QCPLineEnding &ending)
void setUpperEnding (const QCPLineEnding &ending)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
Qt::Orientation orientation () const
void moveRange (double diff)
void scaleRange (double factor, double center)
void setScaleRatio (const QCPAxis *otherAxis, double ratio=1.0)
void rescale (bool onlyVisiblePlottables=false)
double pixelToCoord (double value) const
double coordToPixel (double value) const
SelectablePart getPartAt (const QPointF &pos) const
QList< QCPAbstractPlottable * > plottables () const
QList< QCPGraph * > graphs () const
QList< QCPAbstractItem * > items () const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void ticksRequest ()
void rangeChanged (const QCPRange &newRange)
void rangeChanged (const QCPRange &newRange, const QCPRange &oldRange)
void selectionChanged (const QCPAxis::SelectableParts &parts)

Static Public Functions

static AxisType marginSideToAxisType (QCP::MarginSide side)

Protected Functions

virtual void setupTickVectors ()
virtual void generateAutoTicks ()
virtual int calculateAutoSubTickCount (double tickStep) const
virtual int calculateMargin ()
virtual void placeTickLabel (QCPPainter *painter, double position, int distanceToAxis, const QString &text, QSize *tickLabelsSize)
virtual void drawTickLabel (QCPPainter *painter, double x, double y, const TickLabelData &labelData) const
virtual TickLabelData getTickLabelData (const QFont &font, const QString &text) const
virtual QPointF getTickLabelDrawOffset (const TickLabelData &labelData) const
virtual void getMaxTickLabelSize (const QFont &font, const QString &text, QSize *tickLabelsSize) const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
virtual QCP::Interaction selectionCategory () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void visibleTickBounds (int &lowIndex, int &highIndex) const
double baseLog (double value) const
double basePow (double value) const
QPen getBasePen () const
QPen getTickPen () const
QPen getSubTickPen () const
QFont getTickLabelFont () const
QFont getLabelFont () const
QColor getTickLabelColor () const
QColor getLabelColor () const
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QRect clipRect () const
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

Manages a single axis inside a QCustomPlot.

Usually doesn't need to be instantiated externally. Access QCustomPlot's default four axes via QCustomPlot::xAxis (bottom), QCustomPlot::yAxis (left), QCustomPlot::xAxis2 (top) and QCustomPlot::yAxis2 (right).

Axes are always part of an axis rect, see QCPAxisRect.

AxisNamesOverview.png
Naming convention of axis parts


AxisRectSpacingOverview.png
Overview of the spacings and paddings that define the geometry of an axis. The dashed gray line on the left represents the QCustomPlot widget border.

Member Enumeration Documentation

Defines at which side of the axis rect the axis will appear. This also affects how the tick marks are drawn, on which side the labels are placed etc.

Enumerator:
atLeft 

0x01 Axis is vertical and on the left side of the axis rect

atRight 

0x02 Axis is vertical and on the right side of the axis rect

atTop 

0x04 Axis is horizontal and on the top side of the axis rect

atBottom 

0x08 Axis is horizontal and on the bottom side of the axis rect

When automatic tick label generation is enabled (setAutoTickLabels), defines how the coordinate of the tick is interpreted, i.e. translated into a string.

See Also
setTickLabelType
Enumerator:
ltNumber 

Tick coordinate is regarded as normal number and will be displayed as such. (see setNumberFormat)

ltDateTime 

Tick coordinate is regarded as a date/time (seconds since 1970-01-01T00:00:00 UTC) and will be displayed and formatted as such. (for details, see setDateTimeFormat)

Defines the scale of an axis.

See Also
setScaleType
Enumerator:
stLinear 

Linear scaling.

stLogarithmic 

Logarithmic scaling with correspondingly transformed plots and (major) tick marks at every base power (see setScaleLogBase).

Defines the selectable parts of an axis.

See Also
setSelectableParts, setSelectedParts
Enumerator:
spNone 

None of the selectable parts.

spAxis 

The axis backbone and tick marks.

spTickLabels 

Tick labels (numbers) of this axis (as a whole, not individually)

spAxisLabel 

The axis label.

Constructor & Destructor Documentation

QCPAxis::QCPAxis ( QCPAxisRect parent,
AxisType  type 
)
explicit

Constructs an Axis instance of Type type for the axis rect parent. You shouldn't instantiate axes directly, rather use QCPAxisRect::addAxis.

Member Function Documentation

QCPGrid * QCPAxis::grid ( ) const
inline

Returns the QCPGrid instance belonging to this axis. Access it to set details about the way the grid is displayed.

void QCPAxis::setScaleType ( ScaleType  type)

Sets whether the axis uses a linear scale or a logarithmic scale. If type is set to stLogarithmic, the logarithm base can be set with setScaleLogBase. In logarithmic axis scaling, major tick marks appear at all powers of the logarithm base. Properties like tick step (setTickStep) don't apply in logarithmic scaling. If you wish a decimal base but less major ticks, consider choosing a logarithm base of 100, 1000 or even higher.

If type is stLogarithmic and the number format (setNumberFormat) uses the 'b' option (beautifully typeset decimal powers), the display usually is "1 [multiplication sign] 10 [superscript] n", which looks unnatural for logarithmic scaling (the "1 [multiplication sign]" part). To only display the decimal power, set the number precision to zero with setNumberPrecision.

void QCPAxis::setScaleLogBase ( double  base)

If setScaleType is set to stLogarithmic, base will be the logarithm base of the scaling. In logarithmic axis scaling, major tick marks appear at all powers of base.

Properties like tick step (setTickStep) don't apply in logarithmic scaling. If you wish a decimal base but less major ticks, consider choosing base 100, 1000 or even higher.

void QCPAxis::setRange ( const QCPRange range)

Sets the range of the axis.

This slot may be connected with the rangeChanged signal of another axis so this axis is always synchronized with the other axis range, when it changes.

To invert the direction of an axis, use setRangeReversed.

void QCPAxis::setRange ( double  lower,
double  upper 
)

This is an overloaded function.

Sets the lower and upper bound of the axis range.

To invert the direction of an axis, use setRangeReversed.

There is also a slot to set a range, see setRange(const QCPRange &range).

void QCPAxis::setRange ( double  position,
double  size,
Qt::AlignmentFlag  alignment 
)

This is an overloaded function.

Sets the range of the axis.

The position coordinate indicates together with the alignment parameter, where the new range will be positioned. size defines the size of the new axis range. alignment may be Qt::AlignLeft, Qt::AlignRight or Qt::AlignCenter. This will cause the left border, right border, or center of the range to be aligned with position. Any other values of alignment will default to Qt::AlignCenter.

void QCPAxis::setRangeLower ( double  lower)

Sets the lower bound of the axis range. The upper bound is not changed.

See Also
setRange
void QCPAxis::setRangeUpper ( double  upper)

Sets the upper bound of the axis range. The lower bound is not changed.

See Also
setRange
void QCPAxis::setRangeReversed ( bool  reversed)

Sets whether the axis range (direction) is displayed reversed. Normally, the values on horizontal axes increase left to right, on vertical axes bottom to top. When reversed is set to true, the direction of increasing values is inverted.

Note that the range and data interface stays the same for reversed axes, e.g. the lower part of the setRange interface will still reference the mathematically smaller number than the upper part.

void QCPAxis::setAutoTicks ( bool  on)

Sets whether the tick positions should be calculated automatically (either from an automatically generated tick step or a tick step provided manually via setTickStep, see setAutoTickStep).

If on is set to false, you must provide the tick positions manually via setTickVector. For these manual ticks you may let QCPAxis generate the appropriate labels automatically by leaving setAutoTickLabels set to true. If you also wish to control the displayed labels manually, set setAutoTickLabels to false and provide the label strings with setTickVectorLabels.

If you need dynamically calculated tick vectors (and possibly tick label vectors), set the vectors in a slot connected to the ticksRequest signal.

void QCPAxis::setAutoTickCount ( int  approximateCount)

When setAutoTickStep is true, approximateCount determines how many ticks should be generated in the visible range, approximately.

It's not guaranteed that this number of ticks is met exactly, but approximately within a tolerance of about two.

Only values greater than zero are accepted as approximateCount.

void QCPAxis::setAutoTickLabels ( bool  on)

Sets whether the tick labels are generated automatically. Depending on the tick label type (ltNumber or ltDateTime), the labels will either show the coordinate as floating point number (setNumberFormat), or a date/time formatted according to setDateTimeFormat.

If on is set to false, you should provide the tick labels via setTickVectorLabels. This is usually used in a combination with setAutoTicks set to false for complete control over tick positions and labels, e.g. when the ticks should be at multiples of pi and show "2pi", "3pi" etc. as tick labels.

If you need dynamically calculated tick vectors (and possibly tick label vectors), set the vectors in a slot connected to the ticksRequest signal.

void QCPAxis::setAutoTickStep ( bool  on)

Sets whether the tick step, i.e. the interval between two (major) ticks, is calculated automatically. If on is set to true, the axis finds a tick step that is reasonable for human readable plots.

The number of ticks the algorithm aims for within the visible range can be set with setAutoTickCount.

If on is set to false, you may set the tick step manually with setTickStep.

void QCPAxis::setAutoSubTicks ( bool  on)

Sets whether the number of sub ticks in one tick interval is determined automatically. This works, as long as the tick step mantissa is a multiple of 0.5. When setAutoTickStep is enabled, this is always the case.

When on is set to false, you may set the sub tick count with setSubTickCount manually.

void QCPAxis::setTicks ( bool  show)

Sets whether tick marks are displayed.

Note that setting show to false does not imply that tick labels are invisible, too. To achieve that, see setTickLabels.

void QCPAxis::setTickLabels ( bool  show)

Sets whether tick labels are displayed. Tick labels are the numbers drawn next to tick marks.

void QCPAxis::setTickLabelPadding ( int  padding)

Sets the distance between the axis base line (including any outward ticks) and the tick labels.

See Also
setLabelPadding, setPadding
void QCPAxis::setTickLabelType ( LabelType  type)

Sets whether the tick labels display numbers or dates/times.

If type is set to ltNumber, the format specifications of setNumberFormat apply.

If type is set to ltDateTime, the format specifications of setDateTimeFormat apply.

In QCustomPlot, date/time coordinates are double numbers representing the seconds since 1970-01-01T00:00:00 UTC. This format can be retrieved from QDateTime objects with the QDateTime::toTime_t() function. Since this only gives a resolution of one second, there is also the QDateTime::toMSecsSinceEpoch() function which returns the timespan described above in milliseconds. Divide its return value by 1000.0 to get a value with the format needed for date/time plotting, with a resolution of one millisecond.

Using the toMSecsSinceEpoch function allows dates that go back to 2nd January 4713 B.C. (represented by a negative number), unlike the toTime_t function, which works with unsigned integers and thus only goes back to 1st January 1970. So both for range and accuracy, use of toMSecsSinceEpoch()/1000.0 should be preferred as key coordinate for date/time axes.

See Also
setTickLabels
void QCPAxis::setTickLabelFont ( const QFont &  font)

Sets the font of the tick labels.

See Also
setTickLabels, setTickLabelColor
void QCPAxis::setTickLabelColor ( const QColor &  color)

Sets the color of the tick labels.

See Also
setTickLabels, setTickLabelFont
void QCPAxis::setTickLabelRotation ( double  degrees)

Sets the rotation of the tick labels. If degrees is zero, the labels are drawn normally. Else, the tick labels are drawn rotated by degrees clockwise. The specified angle is bound to values from -90 to 90 degrees.

If degrees is exactly -90, 0 or 90, the tick labels are centered on the tick coordinate. For other angles, the label is drawn with an offset such that it seems to point toward or away from the tick mark.

void QCPAxis::setDateTimeFormat ( const QString &  format)

Sets the format in which dates and times are displayed as tick labels, if setTickLabelType is ltDateTime. for details about the format string, see the documentation of QDateTime::toString().

Newlines can be inserted with "\n".

See Also
setDateTimeSpec
void QCPAxis::setDateTimeSpec ( const Qt::TimeSpec &  timeSpec)

Sets the time spec that is used for the date time values when setTickLabelType is ltDateTime.

The default value of QDateTime objects (and also QCustomPlot) is Qt::LocalTime. However, if the date time values passed to QCustomPlot are given in the UTC spec, set timeSpec to Qt::UTC to get the correct axis labels.

See Also
setDateTimeFormat
void QCPAxis::setNumberFormat ( const QString &  formatCode)

Sets the number format for the numbers drawn as tick labels (if tick label type is ltNumber). This formatCode is an extended version of the format code used e.g. by QString::number() and QLocale::toString(). For reference about that, see the "Argument Formats" section in the detailed description of the QString class. formatCode is a string of one, two or three characters. The first character is identical to the normal format code used by Qt. In short, this means: 'e'/'E' scientific format, 'f' fixed format, 'g'/'G' scientific or fixed, whichever is shorter.

The second and third characters are optional and specific to QCustomPlot:
If the first char was 'e' or 'g', numbers are/might be displayed in the scientific format, e.g. "5.5e9", which is ugly in a plot. So when the second char of formatCode is set to 'b' (for "beautiful"), those exponential numbers are formatted in a more natural way, i.e. "5.5 [multiplication sign] 10 [superscript] 9". By default, the multiplication sign is a centered dot. If instead a cross should be shown (as is usual in the USA), the third char of formatCode can be set to 'c'. The inserted multiplication signs are the UTF-8 characters 215 (0xD7) for the cross and 183 (0xB7) for the dot.

If the scale type (setScaleType) is stLogarithmic and the formatCode uses the 'b' option (beautifully typeset decimal powers), the display usually is "1 [multiplication sign] 10 [superscript] n", which looks unnatural for logarithmic scaling (the "1 [multiplication sign]" part). To only display the decimal power, set the number precision to zero with setNumberPrecision.

Examples for formatCode:

  • g normal format code behaviour. If number is small, fixed format is used, if number is large, normal scientific format is used
  • gb If number is small, fixed format is used, if number is large, scientific format is used with beautifully typeset decimal powers and a dot as multiplication sign
  • ebc All numbers are in scientific format with beautifully typeset decimal power and a cross as multiplication sign
  • fb illegal format code, since fixed format doesn't support (or need) beautifully typeset decimal powers. Format code will be reduced to 'f'.
  • hello illegal format code, since first char is not 'e', 'E', 'f', 'g' or 'G'. Current format code will not be changed.
void QCPAxis::setNumberPrecision ( int  precision)

Sets the precision of the tick label numbers. See QLocale::toString(double i, char f, int prec) for details. The effect of precisions are most notably for number Formats starting with 'e', see setNumberFormat

If the scale type (setScaleType) is stLogarithmic and the number format (setNumberFormat) uses the 'b' format code (beautifully typeset decimal powers), the display usually is "1 [multiplication sign] 10 [superscript] n", which looks unnatural for logarithmic scaling (the redundant "1 [multiplication sign]" part). To only display the decimal power "10 [superscript] n", set precision to zero.

void QCPAxis::setTickStep ( double  step)

If setAutoTickStep is set to false, use this function to set the tick step manually. The tick step is the interval between (major) ticks, in plot coordinates.

See Also
setSubTickCount
void QCPAxis::setTickVector ( const QVector< double > &  vec)

If you want full control over what ticks (and possibly labels) the axes show, this function is used to set the coordinates at which ticks will appear.setAutoTicks must be disabled, else the provided tick vector will be overwritten with automatically generated tick coordinates upon replot. The labels of the ticks can be generated automatically when setAutoTickLabels is left enabled. If it is disabled, you can set the labels manually with setTickVectorLabels.

vec is a vector containing the positions of the ticks, in plot coordinates.

Warning
vec must be sorted in ascending order, no additional checks are made to ensure this.
See Also
setTickVectorLabels
void QCPAxis::setTickVectorLabels ( const QVector< QString > &  vec)

If you want full control over what ticks and labels the axes show, this function is used to set a number of QStrings that will be displayed at the tick positions which you need to provide with setTickVector. These two vectors should have the same size. (Note that you need to disable setAutoTicks and setAutoTickLabels first.)

vec is a vector containing the labels of the ticks. The entries correspond to the respective indices in the tick vector, passed via setTickVector.

See Also
setTickVector
void QCPAxis::setTickLength ( int  inside,
int  outside = 0 
)

Sets the length of the ticks in pixels. inside is the length the ticks will reach inside the plot and outside is the length they will reach outside the plot. If outside is greater than zero, the tick labels and axis label will increase their distance to the axis accordingly, so they won't collide with the ticks.

See Also
setSubTickLength
void QCPAxis::setTickLengthIn ( int  inside)

Sets the length of the inward ticks in pixels. inside is the length the ticks will reach inside the plot.

See Also
setTickLengthOut, setSubTickLength
void QCPAxis::setTickLengthOut ( int  outside)

Sets the length of the outward ticks in pixels. outside is the length the ticks will reach outside the plot. If outside is greater than zero, the tick labels and axis label will increase their distance to the axis accordingly, so they won't collide with the ticks.

See Also
setTickLengthIn, setSubTickLength
void QCPAxis::setSubTickCount ( int  count)

Sets the number of sub ticks in one (major) tick step. A sub tick count of three for example, divides the tick intervals in four sub intervals.

By default, the number of sub ticks is chosen automatically in a reasonable manner as long as the mantissa of the tick step is a multiple of 0.5. When setAutoTickStep is enabled, this is always the case.

If you want to disable automatic sub tick count and use this function to set the count manually, see setAutoSubTicks.

void QCPAxis::setSubTickLength ( int  inside,
int  outside = 0 
)

Sets the length of the subticks in pixels. inside is the length the subticks will reach inside the plot and outside is the length they will reach outside the plot. If outside is greater than zero, the tick labels and axis label will increase their distance to the axis accordingly, so they won't collide with the ticks.

void QCPAxis::setSubTickLengthIn ( int  inside)

Sets the length of the inward subticks in pixels. inside is the length the subticks will reach inside the plot.

See Also
setSubTickLengthOut, setTickLength
void QCPAxis::setSubTickLengthOut ( int  outside)

Sets the length of the outward subticks in pixels. outside is the length the subticks will reach outside the plot. If outside is greater than zero, the tick labels will increase their distance to the axis accordingly, so they won't collide with the ticks.

See Also
setSubTickLengthIn, setTickLength
void QCPAxis::setBasePen ( const QPen &  pen)

Sets the pen, the axis base line is drawn with.

See Also
setTickPen, setSubTickPen
void QCPAxis::setTickPen ( const QPen &  pen)

Sets the pen, tick marks will be drawn with.

See Also
setTickLength, setBasePen
void QCPAxis::setSubTickPen ( const QPen &  pen)

Sets the pen, subtick marks will be drawn with.

See Also
setSubTickCount, setSubTickLength, setBasePen
void QCPAxis::setLabelFont ( const QFont &  font)

Sets the font of the axis label.

See Also
setLabelColor
void QCPAxis::setLabelColor ( const QColor &  color)

Sets the color of the axis label.

See Also
setLabelFont
void QCPAxis::setLabel ( const QString &  str)

Sets the text of the axis label that will be shown below/above or next to the axis, depending on its orientation. To disable axis labels, pass an empty string as str.

void QCPAxis::setLabelPadding ( int  padding)

Sets the distance between the tick labels and the axis label.

See Also
setTickLabelPadding, setPadding
void QCPAxis::setPadding ( int  padding)

Sets the padding of the axis.

When QCPAxisRect::setAutoMargins is enabled, the padding is the additional outer most space, that is left blank.

The axis padding has no meaning if QCPAxisRect::setAutoMargins is disabled.

See Also
setLabelPadding, setTickLabelPadding
void QCPAxis::setOffset ( int  offset)

Sets the offset the axis has to its axis rect side.

If an axis rect side has multiple axes, only the offset of the inner most axis has meaning. The offset of the other axes is controlled automatically, to place the axes at appropriate positions to prevent them from overlapping.

void QCPAxis::setSelectedTickLabelFont ( const QFont &  font)

Sets the font that is used for tick labels when they are selected.

See Also
setTickLabelFont, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions
void QCPAxis::setSelectedLabelFont ( const QFont &  font)

Sets the font that is used for the axis label when it is selected.

See Also
setLabelFont, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions
void QCPAxis::setSelectedTickLabelColor ( const QColor &  color)

Sets the color that is used for tick labels when they are selected.

See Also
setTickLabelColor, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions
void QCPAxis::setSelectedLabelColor ( const QColor &  color)

Sets the color that is used for the axis label when it is selected.

See Also
setLabelColor, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions
void QCPAxis::setSelectedBasePen ( const QPen &  pen)

Sets the pen that is used to draw the axis base line when selected.

See Also
setBasePen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions
void QCPAxis::setSelectedTickPen ( const QPen &  pen)

Sets the pen that is used to draw the (major) ticks when selected.

See Also
setTickPen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions
void QCPAxis::setSelectedSubTickPen ( const QPen &  pen)

Sets the pen that is used to draw the subticks when selected.

See Also
setSubTickPen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions
void QCPAxis::setSelectableParts ( const QCPAxis::SelectableParts &  selectableParts)

Sets whether the user can (de-)select the parts in selectable by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains iSelectAxes.)

However, even when selectable is set to a value not allowing the selection of a specific part, it is still possible to set the selection of this part manually, by calling setSelectedParts directly.

See Also
SelectablePart, setSelectedParts
void QCPAxis::setSelectedParts ( const QCPAxis::SelectableParts &  selectedParts)

Sets the selected state of the respective axis parts described by SelectablePart. When a part is selected, it uses a different pen/font.

The entire selection mechanism for axes is handled automatically when QCustomPlot::setInteractions contains iSelectAxes. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state of a part, independent of the setSelectableParts setting.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
SelectablePart, setSelectableParts, selectTest, setSelectedBasePen, setSelectedTickPen, setSelectedSubTickPen, setSelectedTickLabelFont, setSelectedLabelFont, setSelectedTickLabelColor, setSelectedLabelColor
void QCPAxis::setLowerEnding ( const QCPLineEnding ending)

Sets the style for the lower axis ending. See the documentation of QCPLineEnding for available styles.

For horizontal axes, this method refers to the left ending, for vertical axes the bottom ending. Note that this meaning does not change when the axis range is reversed with setRangeReversed.

See Also
setUpperEnding
void QCPAxis::setUpperEnding ( const QCPLineEnding ending)

Sets the style for the upper axis ending. See the documentation of QCPLineEnding for available styles.

For horizontal axes, this method refers to the right ending, for vertical axes the top ending. Note that this meaning does not change when the axis range is reversed with setRangeReversed.

See Also
setLowerEnding
double QCPAxis::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

Qt::Orientation QCPAxis::orientation ( ) const
inline

Returns the orientation of the axis. The axis orientation (horizontal or vertical) is deduced from the axis type (left, top, right or bottom).

void QCPAxis::moveRange ( double  diff)

If the scale type (setScaleType) is stLinear, diff is added to the lower and upper bounds of the range. The range is simply moved by diff.

If the scale type is stLogarithmic, the range bounds are multiplied by diff. This corresponds to an apparent "linear" move in logarithmic scaling by a distance of log(diff).

void QCPAxis::scaleRange ( double  factor,
double  center 
)

Scales the range of this axis by factor around the coordinate center. For example, if factor is 2.0, center is 1.0, then the axis range will double its size, and the point at coordinate 1.0 won't have changed its position in the QCustomPlot widget (i.e. coordinates around 1.0 will have moved symmetrically closer to 1.0).

void QCPAxis::setScaleRatio ( const QCPAxis otherAxis,
double  ratio = 1.0 
)

Scales the range of this axis to have a certain scale ratio to otherAxis. The scaling will be done around the center of the current axis range.

For example, if ratio is 1, this axis is the yAxis and otherAxis is xAxis, graphs plotted with those axes will appear in a 1:1 aspect ratio, independent of the aspect ratio the axis rect has.

This is an operation that changes the range of this axis once, it doesn't fix the scale ratio indefinitely. Note that calling this function in the constructor of the QCustomPlot's parent won't have the desired effect, since the widget dimensions aren't defined yet, and a resizeEvent will follow.

void QCPAxis::rescale ( bool  onlyVisiblePlottables = false)

Changes the axis range such that all plottables associated with this axis are fully visible in that dimension.

See Also
QCPAbstractPlottable::rescaleAxes, QCustomPlot::rescaleAxes
double QCPAxis::pixelToCoord ( double  value) const

Transforms value, in pixel coordinates of the QCustomPlot widget, to axis coordinates.

double QCPAxis::coordToPixel ( double  value) const

Transforms value, in coordinates of the axis, to pixel coordinates of the QCustomPlot widget.

QCPAxis::SelectablePart QCPAxis::getPartAt ( const QPointF &  pos) const

Returns the part of the axis that is hit by pos (in pixels). The return value of this function is independent of the user-selectable parts defined with setSelectableParts. Further, this function does not change the current selection state of the axis.

If the axis is not visible (setVisible), this function always returns spNone.

See Also
setSelectedParts, setSelectableParts, QCustomPlot::setInteractions
QList< QCPAbstractPlottable * > QCPAxis::plottables ( ) const

Returns a list of all the plottables that have this axis as key or value axis.

If you are only interested in plottables of type QCPGraph, see graphs.

See Also
graphs, items
QList< QCPGraph * > QCPAxis::graphs ( ) const

Returns a list of all the graphs that have this axis as key or value axis.

See Also
plottables, items
QList< QCPAbstractItem * > QCPAxis::items ( ) const

Returns a list of all the items that are associated with this axis. An item is considered associated with an axis if at least one of its positions uses the axis as key or value axis.

See Also
plottables, graphs
QCPAxis::AxisType QCPAxis::marginSideToAxisType ( QCP::MarginSide  side)
static

Transforms a margin side to the logically corresponding axis type. (QCP::msLeft to QCPAxis::atLeft, QCP::msRight to QCPAxis::atRight, etc.)

void QCPAxis::ticksRequest ( )
signal

This signal is emitted when setAutoTicks is false and the axis is about to generate tick labels for a replot.

Modifying the tick positions can be done with setTickVector. If you also want to control the tick labels, set setAutoTickLabels to false and also provide the labels with setTickVectorLabels.

If you only want static ticks you probably don't need this signal, since you can just set the tick vector (and possibly tick label vector) once. However, if you want to provide ticks (and maybe labels) dynamically, e.g. depending on the current axis range, connect a slot to this signal and set the vector/vectors there.

void QCPAxis::rangeChanged ( const QCPRange newRange)
signal

This signal is emitted when the range of this axis has changed. You can connect it to the setRange slot of another axis to communicate the new range to the other axis, in order for it to be synchronized.

void QCPAxis::rangeChanged ( const QCPRange newRange,
const QCPRange oldRange 
)
signal

This is an overloaded function.

Additionally to the new range, this signal also provides the previous range held by the axis as oldRange.

void QCPAxis::selectionChanged ( const QCPAxis::SelectableParts &  parts)
signal

This signal is emitted when the selection state of this axis has changed, either by user interaction or by a direct call to setSelectedParts.

void QCPAxis::setupTickVectors ( )
protectedvirtual

This function is called to prepare the tick vector, sub tick vector and tick label vector. If setAutoTicks is set to true, appropriate tick values are determined automatically via generateAutoTicks. If it's set to false, the signal ticksRequest is emitted, which can be used to provide external tick positions. Then the sub tick vectors and tick label vectors are created.

void QCPAxis::generateAutoTicks ( )
protectedvirtual

If setAutoTicks is set to true, this function is called by setupTickVectors to generate reasonable tick positions (and subtick count). The algorithm tries to create approximately mAutoTickCount ticks (set via setAutoTickCount).

If the scale is logarithmic, setAutoTickCount is ignored, and one tick is generated at every power of the current logarithm base, set via setScaleLogBase.

int QCPAxis::calculateAutoSubTickCount ( double  tickStep) const
protectedvirtual

Called by generateAutoTicks when setAutoSubTicks is set to true. Depending on the tickStep between two major ticks on the axis, a different number of sub ticks is appropriate. For Example taking 4 sub ticks for a tickStep of 1 makes more sense than taking 5 sub ticks, because this corresponds to a sub tick step of 0.2, instead of the less intuitive 0.16667. Note that a subtick count of 4 means dividing the major tick step into 5 sections.

This is implemented by a hand made lookup for integer tick steps as well as fractional tick steps with a fractional part of (approximately) 0.5. If a tick step is different (i.e. has no fractional part close to 0.5), the currently set sub tick count (setSubTickCount) is returned.

int QCPAxis::calculateMargin ( )
protectedvirtual

Returns the appropriate outward margin for this axis. It is needed if QCPAxisRect::setAutoMargins is set to true on the parent axis rect. An axis with axis type atLeft will return an appropriate left margin, atBottom will return an appropriate bottom margin and so forth. For the calculation, this function goes through similar steps as draw, so changing one function likely requires the modification of the other one as well.

The margin consists of the outward tick length, tick label padding, tick label size, label padding, label size, and padding.

The margin is cached internally, so repeated calls while leaving the axis range, fonts, etc. unchanged are very fast.

void QCPAxis::placeTickLabel ( QCPPainter painter,
double  position,
int  distanceToAxis,
const QString &  text,
QSize *  tickLabelsSize 
)
protectedvirtual

Draws a single tick label with the provided painter, utilizing the internal label cache to significantly speed up drawing of labels that were drawn in previous calls. The tick label is always bound to an axis, the distance to the axis is controllable via distanceToAxis in pixels. The pixel position in the axis direction is passed in the position parameter. Hence for the bottom axis, position would indicate the horizontal pixel position (not coordinate), at which the label should be drawn.

In order to later draw the axis label in a place that doesn't overlap with the tick labels, the largest tick label size is needed. This is acquired by passing a tickLabelsSize to the drawTickLabel calls during the process of drawing all tick labels of one axis. In every call, tickLabelsSize is expanded, if the drawn label exceeds the value tickLabelsSize currently holds.

The label is drawn with the font and pen that are currently set on the painter. To draw superscripted powers, the font is temporarily made smaller by a fixed factor (see getTickLabelData).

void QCPAxis::drawTickLabel ( QCPPainter painter,
double  x,
double  y,
const TickLabelData &  labelData 
) const
protectedvirtual

This is a placeTickLabel helper function.

Draws the tick label specified in labelData with painter at the pixel positions x and y. This function is used by placeTickLabel to create new tick labels for the cache, or to directly draw the labels on the QCustomPlot surface when label caching is disabled, i.e. when QCP::phCacheLabels plotting hint is not set.

QCPAxis::TickLabelData QCPAxis::getTickLabelData ( const QFont &  font,
const QString &  text 
) const
protectedvirtual

This is a placeTickLabel helper function.

Transforms the passed text and font to a tickLabelData structure that can then be further processed by getTickLabelDrawOffset and drawTickLabel. It splits the text into base and exponent if necessary (see setNumberFormat) and calculates appropriate bounding boxes.

QPointF QCPAxis::getTickLabelDrawOffset ( const TickLabelData &  labelData) const
protectedvirtual

This is a placeTickLabel helper function.

Calculates the offset at which the top left corner of the specified tick label shall be drawn. The offset is relative to a point right next to the tick the label belongs to.

This function is thus responsible for e.g. centering tick labels under ticks and positioning them appropriately when they are rotated.

void QCPAxis::getMaxTickLabelSize ( const QFont &  font,
const QString &  text,
QSize *  tickLabelsSize 
) const
protectedvirtual

Simulates the steps done by placeTickLabel by calculating bounding boxes of the text label to be drawn, depending on number format etc. Since only the largest tick label is wanted for the margin calculation, the passed tickLabelsSize is only expanded, if it's currently set to a smaller width/height.

void QCPAxis::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing axis lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAxis::draw ( QCPPainter painter)
protectedvirtual

Draws the axis with the specified painter.

The selection boxes (mAxisSelectionBox, mTickLabelsSelectionBox, mLabelSelectionBox) are set here, too.

Implements QCPLayerable.

QCP::Interaction QCPAxis::selectionCategory ( ) const
protectedvirtual

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPAxis::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtual

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAxis::deselectEvent ( bool *  selectionStateChanged)
protectedvirtual

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

void QCPAxis::visibleTickBounds ( int &  lowIndex,
int &  highIndex 
) const
protected

Returns via lowIndex and highIndex, which ticks in the current tick vector are visible in the current range. The return values are indices of the tick vector, not the positions of the ticks themselves.

The actual use of this function is when an external tick vector is provided, since it might exceed far beyond the currently displayed range, and would cause unnecessary calculations e.g. of subticks.

If all ticks are outside the axis range, an inverted range is returned, i.e. highIndex will be smaller than lowIndex. There is one case, where this function returns indices that are not really visible in the current axis range: When the tick spacing is larger than the axis range size and one tick is below the axis range and the next tick is already above the axis range. Because in such cases it is usually desirable to know the tick pair, to draw proper subticks.

double QCPAxis::baseLog ( double  value) const
protected

A log function with the base mScaleLogBase, used mostly for coordinate transforms in logarithmic scales with arbitrary log base. Uses the buffered mScaleLogBaseLogInv for faster calculation. This is set to 1.0/qLn(mScaleLogBase) in setScaleLogBase.

See Also
basePow, setScaleLogBase, setScaleType
double QCPAxis::basePow ( double  value) const
protected

A power function with the base mScaleLogBase, used mostly for coordinate transforms in logarithmic scales with arbitrary log base.

See Also
baseLog, setScaleLogBase, setScaleType
QPen QCPAxis::getBasePen ( ) const
protected

Returns the pen that is used to draw the axis base line. Depending on the selection state, this is either mSelectedBasePen or mBasePen.

QPen QCPAxis::getTickPen ( ) const
protected

Returns the pen that is used to draw the (major) ticks. Depending on the selection state, this is either mSelectedTickPen or mTickPen.

QPen QCPAxis::getSubTickPen ( ) const
protected

Returns the pen that is used to draw the subticks. Depending on the selection state, this is either mSelectedSubTickPen or mSubTickPen.

QFont QCPAxis::getTickLabelFont ( ) const
protected

Returns the font that is used to draw the tick labels. Depending on the selection state, this is either mSelectedTickLabelFont or mTickLabelFont.

QFont QCPAxis::getLabelFont ( ) const
protected

Returns the font that is used to draw the axis label. Depending on the selection state, this is either mSelectedLabelFont or mLabelFont.

QColor QCPAxis::getTickLabelColor ( ) const
protected

Returns the color that is used to draw the tick labels. Depending on the selection state, this is either mSelectedTickLabelColor or mTickLabelColor.

QColor QCPAxis::getLabelColor ( ) const
protected

Returns the color that is used to draw the axis label. Depending on the selection state, this is either mSelectedLabelColor or mLabelColor.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/functions_func_0x62.html0000644000175000017500000000403212236016575023633 0ustar dermanudermanu Data Fields - Functions
Main Page · Class Overview · Hierarchy · All Classes
 

- b -

qcustomplot/documentation/html/classQCPLayout.html0000644000175000017500000031745012236016575022713 0ustar dermanudermanu QCPLayout Class Reference
Main Page · Class Overview · Hierarchy · All Classes
Public Functions | Protected Functions
QCPLayout Class Reference

The abstract base class for layouts. More...

Inheritance diagram for QCPLayout:
Inheritance graph

Public Functions

 QCPLayout ()
virtual void update ()
virtual QList< QCPLayoutElement * > elements (bool recursive) const
virtual int elementCount () const =0
virtual QCPLayoutElementelementAt (int index) const =0
virtual QCPLayoutElementtakeAt (int index)=0
virtual bool take (QCPLayoutElement *element)=0
virtual void simplify ()
bool removeAt (int index)
bool remove (QCPLayoutElement *element)
void clear ()
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual QSize minimumSizeHint () const
virtual QSize maximumSizeHint () const
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Protected Functions

virtual void updateLayout ()
void sizeConstraintsChanged () const
void adoptElement (QCPLayoutElement *el)
void releaseElement (QCPLayoutElement *el)
QVector< int > getSectionSizes (QVector< int > maxSizes, QVector< int > minSizes, QVector< double > stretchFactors, int totalSize) const
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

The abstract base class for layouts.

This is an abstract base class for layout elements whose main purpose is to define the position and size of other child layout elements. In most cases, layouts don't draw anything themselves (but there are exceptions to this, e.g. QCPLegend).

QCPLayout derives from QCPLayoutElement, and thus can itself be nested in other layouts.

QCPLayout introduces a common interface for accessing and manipulating the child elements. Those functions are most notably elementCount, elementAt, takeAt, take, simplify, removeAt, remove and clear. Individual subclasses may add more functions to this interface which are more specialized to the form of the layout. For example, QCPLayoutGrid adds functions that take row and column indices to access cells of the layout grid more conveniently.

Since this is an abstract base class, you can't instantiate it directly. Rather use one of its subclasses like QCPLayoutGrid or QCPLayoutInset.

For a general introduction to the layout system, see the dedicated documentation page The Layout System.

Constructor & Destructor Documentation

QCPLayout::QCPLayout ( )
explicit

Creates an instance of QCPLayoutElement and sets default values. Note that since QCPLayoutElement is an abstract base class, it can't be instantiated directly.

Member Function Documentation

void QCPLayout::update ( )
virtual

First calls the QCPLayoutElement::update base class implementation to update the margins on this layout.

Then calls updateLayout which subclasses reimplement to reposition and resize their cells.

Finally, update is called on all child elements.

Reimplemented from QCPLayoutElement.

QList< QCPLayoutElement * > QCPLayout::elements ( bool  recursive) const
virtual

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayoutElement.

Reimplemented in QCPLayoutGrid.

int QCPLayout::elementCount ( ) const
pure virtual

Returns the number of elements/cells in the layout.

See Also
elements, elementAt

Implemented in QCPLayoutInset, and QCPLayoutGrid.

QCPLayoutElement * QCPLayout::elementAt ( int  index) const
pure virtual

Returns the element in the cell with the given index. If index is invalid, returns 0.

Note that even if index is valid, the respective cell may be empty in some layouts (e.g. QCPLayoutGrid), so this function may return 0 in those cases. You may use this function to check whether a cell is empty or not.

See Also
elements, elementCount, takeAt

Implemented in QCPLayoutInset, and QCPLayoutGrid.

QCPLayoutElement * QCPLayout::takeAt ( int  index)
pure virtual

Removes the element with the given index from the layout and returns it.

If the index is invalid or the cell with that index is empty, returns 0.

Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.

See Also
elementAt, take

Implemented in QCPLayoutInset, and QCPLayoutGrid.

bool QCPLayout::take ( QCPLayoutElement element)
pure virtual

Removes the specified element from the layout and returns true on success.

If the element isn't in this layout, returns false.

Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.

See Also
takeAt

Implemented in QCPLayoutInset, and QCPLayoutGrid.

void QCPLayout::simplify ( )
virtual

Simplifies the layout by collapsing empty cells. The exact behavior depends on subclasses, the default implementation does nothing.

Not all layouts need simplification. For example, QCPLayoutInset doesn't use explicit simplification while QCPLayoutGrid does.

Reimplemented in QCPLayoutInset, and QCPLayoutGrid.

bool QCPLayout::removeAt ( int  index)

Removes and deletes the element at the provided index. Returns true on success. If index is invalid or points to an empty cell, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the returned element.

See Also
remove, takeAt
bool QCPLayout::remove ( QCPLayoutElement element)

Removes and deletes the provided element. Returns true on success. If element is not in the layout, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the element.

See Also
removeAt, take
void QCPLayout::clear ( )

Removes and deletes all layout elements in this layout.

See Also
remove, removeAt
void QCPLayout::updateLayout ( )
protectedvirtual

Subclasses reimplement this method to update the position and sizes of the child elements/cells via calling their QCPLayoutElement::setOuterRect. The default implementation does nothing.

The geometry used as a reference is the inner rect of this layout. Child elements should stay within that rect.

getSectionSizes may help with the reimplementation of this function.

See Also
update

Reimplemented in QCPLayoutInset, and QCPLayoutGrid.

void QCPLayout::sizeConstraintsChanged ( ) const
protected

Subclasses call this method to report changed (minimum/maximum) size constraints.

If the parent of this layout is again a QCPLayout, forwards the call to the parent's sizeConstraintsChanged. If the parent is a QWidget (i.e. is the QCustomPlot::plotLayout of QCustomPlot), calls QWidget::updateGeometry, so if the QCustomPlot widget is inside a Qt QLayout, it may update itself and resize cells accordingly.

void QCPLayout::adoptElement ( QCPLayoutElement el)
protected

Associates el with this layout. This is done by setting the QCPLayoutElement::layout, the QCPLayerable::parentLayerable and the QObject parent to this layout.

Further, if el didn't previously have a parent plot, calls QCPLayerable::initializeParentPlot on el to set the paret plot.

This method is used by subclass specific methods that add elements to the layout. Note that this method only changes properties in el. The removal from the old layout and the insertion into the new layout must be done additionally.

void QCPLayout::releaseElement ( QCPLayoutElement el)
protected

Disassociates el from this layout. This is done by setting the QCPLayoutElement::layout and the QCPLayerable::parentLayerable to zero. The QObject parent is set to the parent QCustomPlot.

This method is used by subclass specific methods that remove elements from the layout (e.g. take or takeAt). Note that this method only changes properties in el. The removal from the old layout must be done additionally.

QVector< int > QCPLayout::getSectionSizes ( QVector< int >  maxSizes,
QVector< int >  minSizes,
QVector< double >  stretchFactors,
int  totalSize 
) const
protected

This is a helper function for the implementation of updateLayout in subclasses.

It calculates the sizes of one-dimensional sections with provided constraints on maximum section sizes, minimum section sizes, relative stretch factors and the final total size of all sections.

The QVector entries refer to the sections. Thus all QVectors must have the same size.

maxSizes gives the maximum allowed size of each section. If there shall be no maximum size imposed, set all vector values to Qt's QWIDGETSIZE_MAX.

minSizes gives the minimum allowed size of each section. If there shall be no minimum size imposed, set all vector values to zero. If the minSizes entries add up to a value greater than totalSize, sections will be scaled smaller than the proposed minimum sizes. (In other words, not exceeding the allowed total size is taken to be more important than not going below minimum section sizes.)

stretchFactors give the relative proportions of the sections to each other. If all sections shall be scaled equally, set all values equal. If the first section shall be double the size of each individual other section, set the first number of stretchFactors to double the value of the other individual values (e.g. {2, 1, 1, 1}).

totalSize is the value that the final section sizes will add up to. Due to rounding, the actual sum may differ slightly. If you want the section sizes to sum up to exactly that value, you could distribute the remaining difference on the sections.

The return value is a QVector containing the section sizes.

QCPLayout * QCPLayoutElement::layout ( ) const
inlineinherited

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inlineinherited

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)
inherited

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)
inherited

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)
inherited

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)
inherited

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)
inherited

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)
inherited

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)
inherited

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

QSize QCPLayoutElement::minimumSizeHint ( ) const
virtualinherited

Returns the minimum size this layout element (the inner rect) may be compressed to.

if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)

Reimplemented in QCPLayoutGrid, QCPPlottableLegendItem, and QCPPlotTitle.

QSize QCPLayoutElement::maximumSizeHint ( ) const
virtualinherited

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented in QCPLayoutGrid, and QCPPlotTitle.

double QCPLayoutElement::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtualinherited

Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.

Reimplemented from QCPLayerable.

Reimplemented in QCPLayoutInset, QCPLegend, QCPAbstractLegendItem, and QCPPlotTitle.

int QCPLayoutElement::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtualinherited

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mousePressEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseMoveEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseReleaseEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::wheelEvent ( QWheelEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented in QCPAxisRect.

virtual void QCPLayoutElement::applyDefaultAntialiasingHint ( QCPPainter painter) const
inlineprotectedvirtualinherited

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Implements QCPLayerable.

Reimplemented in QCPLegend, QCPAxisRect, QCPAbstractLegendItem, and QCPPlotTitle.

virtual void QCPLayoutElement::draw ( QCPPainter painter)
inlineprotectedvirtualinherited

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPLayerable.

Reimplemented in QCPLegend, QCPAxisRect, QCPPlottableLegendItem, QCPAbstractLegendItem, and QCPPlotTitle.

void QCPLayoutElement::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayerable.

Reimplemented in QCPLegend.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

QCP::Interaction QCPLayerable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/sync_on.png0000644000175000017500000000151512236016574021323 0ustar dermanudermanu‰PNG  IHDRàw=øIDATxíÝ_HTYÀñï8ã¤ó§i§4-g6ÆËÕ&kQ)¨Ô!Š0ÒURKÚ…„ê¡/»PEÁ>ìK-+KÁ²Ñ.Y”¾dEPaA‰ø°¥¶›ZSÓïÜ;3wºŠ–¯—߯gfîïœsçœWKÇñ.€ÉøD­¨a‘'¬âq_ôˆk¢ÀŒ ÀDŽøQ´ÄïC¨¶åñÏÿgÅ ñ 0„Y‚:qZ¦Á)~õâ€èLý0HVñ× žz-¿‰C“%¨g¦˜6€é8%Úõ¬ëwêÙUÏ¿˜ª³Ä }? ?€·3ÀÀž©Š À”K• @hà a±ðaÇæUe‹ sù~ë2²ì“&Ú&B*AÄljæºììi*˨,Ëçí»÷oÆ£T”,d[˜¼3-*ÁÀ…>å‡Ë çLÉŸçfk˜Ò éw#*AEjKUy>ûšËÉõ&{µ¢8—m5Ki¬ jjƒD*¿NŽÖigwÃ7Dª’mz骹úKÛ¾±ˆ¶M!æ¤ÍkÐ?šoý¬_åÓlXí#Ò~–¸¬ê×ÒÑXŠÓ‘ùRÙ*Eû‚ՂדðEÜ;6«e"Q(²Ù=–¿Ezæ5Kؼָ_ 1òzBªJë ±XŒì96åªjL^7{ùãJÑ÷1½i@%8'7M©_\Qœ#ÓUŒËñýÿyõ Wo Éx8¼s¥v¯ªì|×SnÜ q_m Ýé î>bèÕí[JX,½4[Tú{R£ë¼ôˆ¾þa€tÝjjzzÅ'ÅìȶiIžŽòwÏs ¡€—ÕKøõâC^ŽŒ˜Y­¨µÉ%6¨´êˆº]vÛðhâ½iWv–hôëê°Ò¨¾'æÌ‚·ñ|[ßìúÅ^€YrD=<ýDû]äÇ÷s€Ïõ‹8™ºCì? À ¨—t4õᩎ¡Jã‡W‹É± îr¼cjMɘìx| šE©øNÔ‰œøA¢þ«–€Z¼ñ‡jó î#™§¢¢4gIEND®B`‚qcustomplot/documentation/html/QCPItemEllipse.png0000644000175000017500000003571512236016574022444 0ustar dermanudermanu‰PNG  IHDR,ÈݽKsBITÛáOà pHYsÄÄ•+ IDATxœíu@éÆŸMº¥SB0QDP±0Î>ÅöÔ;»Ný)žÝÝÝzvÇž‰"J *ˆ€ ݹ°ËÆÌïEEe™çó×ììÄ3ßwžyßyçï0H’ u0©@Có³C›††bhÒÐP mBŠ¡MHCC1´ ih(†6! ÅÐ&¤¡¡jLH¸~¬[‡¬,JTÔKnÞ„DÛ¶!.Žj54µ&$Ix{cÔ–B À»w5ªîUÔKþüþ‰”HKCïÞ‹©ÖDóÃ0(¶##;†ädüñllÀåÖ½ŠúGt4,,  PöS(¤ãÖ¨kòxHH@‹°·Ç«WÀd".CUýúÕ¥–zF` Üܾœé燈ÌœI… šZ‚]ÇûóóömX³¦ÌÀÀׯÓ&Dnnnrrrbb"ŸÏÏÏϋŅ…… 5MñÔÉ C†ÍÉÏˉEÅ%ÅêjꊊŠy¹­ƒƒ§§o×ÔÔd³Ùêêê ÊÊÊ5211133SøXoÒÈ+umB´hKK(*B (›éà€¨(˜šÖ±Ê‹Åqqq‰‰‰R¿½OJHJNJzŸ˜˜˜ÌUàêé™ê+(+¨©«°8L5e¶‹¥«a`ždÐBÍFÓÅf))+•Â'ÚªÚ¹|•œÌì÷„˜,.* D¥anV~FJVZJ†¦–†±±±©‰‰¹¹…™©¹™™™‰‰‰•••¾¾>Õa )ƒš{BkÖ`Í£W/\¸€äd°Ù03£D‹Ì¯^½   Š|ch¢ohª¯g¤£k¢m`¢§oÜHßX×ÐT_Q¹fWN· ciW\ù¹™i9™)ÙiI™)9Y©¹ÉYIñ©A8¶ttuvurrvrr²²²úᣤùN(0!IbôhLš„æÍ‘“¡W¯:V![APPPHHHè‹°°Ð¸Øxk»Æ¶ŽV¶--m¬mí-¹ŠßÓ£²m‘M3ç®ý3JX÷ÿÕí18ýûæfå¿yóæEìÛˆ„¨o ò Z:¸8µrqvquuµµµý¾ÍÒ|ÔÔ„—.aÕ*<}Š´4´h9s°dIÝ«¨}bccoÞ¼ùïÿ<~bÝÔ²©³½E3§&–vflN-´ü#ži¬œÞtçå°FÂ.–žÞ9‹wF²9µP‚E¼¨±Ñá±Ñ/Þ½ ŠÉèÖµ[wï]ºtÑÐÐøñíÓ|Êš£$ ‘õºï€ÇãÝ»wïÆÍwîÜ&H‰['ç6\;´TUW‘Åî¤q ,erYì@Ò»Ô€»ÁA~áA_ØÛ·èÕ£W·nÞNNNL&=Īö¡Ì„õÔÔÔS§Oý{ýZxøKw‡ÖÛvnejiDµ®ZF,Gl¸¶¶6Õ¢ê´ +†$ÉÛ·o¯^·*5-¥ïènÞ¿vÔ5Ô¡Z”üñ,òÆ™û÷¯=4xðÿfÿÏÜÜœjEõ Ú„_"‰Îž=³vÃZ%5…Óû{öpc2éÛžjQTÀ;¿ÿß ¯·÷lï;o~Ë–-©VT?¨É] G7!NXÃ=¡¿¶ÅW½`ÄX™ÂÎ9•ìˆÅíp0ŠB0 ŒŒÑ¸#nfx˜é† 5”W^iQÑ–­[¬›Xý}áð¼m“ÜZß¡WÛºp _åÚvƒäšö³-¨íîât9‰¾Únoކ^íô½ºvhvõ-xš¼ìïfÊü@Ô4TÇþoÈ•ˆÃvž¦¿й[§»wïÊz§ €šp#âJe#¤çŽbèu¼y 7FÅ;ʸ†K¶l°b(W#)gÝ1vrI@Ó†bÕ*Úü·ÉÎÎþkÁü&v6Ï"í¼¶rýÉö®vµqTÕC rm›~Ò÷›‘sÃÊÏæ}7S %ƒŽÞK»ÿ$Ís'Í êæ‘€jÁÐAŠ÷ªþˆÍ«WÓot÷sAûúüî5é\‡–ögΜ!Y=ÒlTÛ„$nÍG@:¦v‚G?„óu.FÐÓEãN¸‘dÚ7ˆáèÕ ­°ä* |òUt±ƒ© Lì±5$«S±7‡F ó4œõ-·£–’àún8„:Pƒk|Lî Nc¡ç0˜÷÷Âù58~¡P¸qÓF‡–ö9DÊÉ';}·L©ëg}$'`‰Ux†ÎÚž®c†X¼å³â5fÝ¡“y‡^=m§3ÙãÌÜŒm9m ów§=þœÏ+áúïW±Z €)Ñ5³ Aª‰¸ ¤aÏtÎ%ãèšDæa2zµ=pkýœÍ8±ÛÉ¥åƒên÷õŠj¥bÀ{ ܯá/?tSƒ0n 0á&XãÁÿ0x^_A#@RæpüÓ—hÓ]ÃáñÕ–Äñµs §òÁý7tFßxüÚç1ßÈÅžÊvô‰b\‹F;f O z\àèBW€Ä"@ l¸ðKD›êu˜_¾|y®ïÿÜìþ~¸­‘EÝz ‘û²8Çë†ãn„·U…(Æ|Ô2…·ýµd/p;½àâ™LM@R¨Àô Ùæ-¿¶1ÄÚíi”“ê‡-”¨>ŒvjòÁ˜¥*‡z¹zÆå7NÙv/O:l‡¥_Øœ0JfÚÛÔuäЦ٦³‹ƒýçþ9É򢃮 ›¬­­ëXƒœóOºòCìŸ&î@? Q|`jaH;0Etåàîû ÖÍ{†§ X1žžè=B12«ÑN’"€Á·‡‚±a¡†˜jd¬ kïå¹nëªGæ,Ú=“2~EQ˜n†S¢·5¦ÈqLšN¸n¼4°šÞmEL€k•åÆÖx–ô©àˆBÅlB¨£ò¡ƒM¡xÜÝG9þ{zk,Ÿ`)°EFªìÄlÊz˜Zy:þýh»S·&^;Ìš3+??Ÿ*%rÈ÷?nf_)I@$½Ô’V’þ„$¡äŒ+àïÿ'ˆBgµŠ—üL( JIàêC+¯Ìº¢,d*ÂL­l§%b¨|óý„´´´1ã~è3 ßø.{o¬µs”»«r%eˆËËK>ûŸÁ•°%,ÑÜÜR—Q/µ“ek ĤRm õþn˜LFßQÞgŸïå±²ZØ7Ûµ{—˜Î f&dA™@~)hºÀ$ ß‚Ž!Ó M•€ÌÇøG„.=.Òj»—Ø€QÏQôE©ÜŽ>ÂPƒ‹6^¦€‚ ~QÄ®Û=„Ìvh)m›ññ"n•<£’H$ë7¬squÖ±V:ûlO§>íjpì2…E(ì¢RPsÊÒ7¹ÏÁ~}Ò ×1«±4°šç®(‰À(xfôP”߯ôSȪ%Mµ¹1iLD¾JT<› 憟ÖÏ2Ï7’Žñ(Fìͨ¥¬ª4yñèƒw6þ÷ðªCKûÀÀ@ªQOML¨Š)0ËͽðÒ'V`W{›`ä3Þ]&°t`ý-­`7#Á]êbÌjuu¨«CÇá†8ÿ7‚Ǭ1Ì-1áød¥; ùØ— „Áq;ŠXt%¾04ÀàÚ ¿B¤5Lóðæ ü÷nÞ,[;..㣇_àí“OvŽ˜>íë”ßB¥Ð§/{“‡ûÀV±ÆÉ«‰Îy{tkâ¾0({éö,-i`µy¦O›ûØ{ôŸ¤Ük¬£j¹Õ•Š»ud> ä‘§ql°»§¾W;c÷å!9K§²€©÷Î2ÝY‡zJ10Õ[yxîœ-ã‡öׂùB¡@I îÝ€øxìÛ‡RõÃ˵ù°žÌB',©^óò;¾AÇq8r¶68I\íöÝ„]»0x0.^„¯/"_½Þ³jõÊé+ÇzÿÚQ&Êd ™mð»»î„З­U+^@ôÖâ÷Éä²ï-*Ž Çœóí!¡Ë»‰ämØ¿X°mÁÁ¨ ¸}{ÏŒÝÜÝGŽ * ³g£iSlÚDµ¾:Až*„ªàÚb×ïHÈ­aEó‘ÓÛ‡ý!N

=,YÜ RDEý6aaa¡w÷®}[ ŸÚŸj-42¤˜W2£ÿâ¾=.Z¸ˆj-µO=¾',**òîÑͽ·3íÀŠªòÖ‹Ë.ÿ{aõšUTk©}êkMX\\ܵ{—6Þ£ÿDµš:‚WX<µïÂ!‡ùΛOµ–Ú¤^Ö„%%%Þ=»¹viA;ð§BU]eçÕ•§ÏŸØ¸iÕZj“úgB©[v°3LJj-4uªºÊÎk«Ž<²yKÃyâMX%É`Ÿ_íÛYÿ>oØçË1c¶:õ¶m׿‹ÍËÜry:³ô»´6ißɼc‡f.[þS(Ôи哢‰/Ë)(IÓÝУ]{Nmu0ÄâE¨»œ‚uÇ÷ea¬y´ÉlƒqMìŸó*ßûWÛTÖPÝuêÈ¢¹.³÷­É}Ê— îü{¤s~8_æP·&üጉ‹–,’(”þ1ø—”*ß>¡ØýâÓËwcìŸgT*šùØßïýÃóËÅW'Y‡ñ•|ßKoj0¢»\NA†Ø~Zø?é~‰AÃKÍ}—«—¢®s Öß…±¢ýÕÞ¿Ú¦º‘`ëÙâS«þzþüy57ù)_& Ï ’Ðòã— _æSW&¬Œ‰çΟ»òÏÅ%{fg^o2ÁÉ£{OïÖ'ÃØ$Á}0»Ùù7*WƵš0[ÿÖâr?•lÔ6Û¨D%¹b͵šD”€Ì6gÙjÓ —¶=.kìÖÓÜ«‹·eDa¹—Ë)È2ÈëÞ“§ÁC¹¤­· $ž#(É)(C~< cEÑÉz»×¡ŸYû^®®sg;ônmYvEsŸ,r`Û¡U«O8Ä{¯¤Nlã³}ŽÏà“nzÂYÑÔšÖØû«ûÀBð´üPÅrù2ùX<“7Á¨Ü×´¾#_fmQW&”fL4ÀN?<¾‚¦‰¾ã 3GœðÛdÀÇŒ‰×ñèo\‡€r­”ˆˆˆ?gÍ\r!'ÓrÑröÈ›On¾}|a‹àâóX‘°ãƨ¾MІžÞ·)Ã{yœ£~Žï #gš(~:Ò”;zÉZ…VšŸõKrU2Ú¿>÷æÑáa*ëú[*. ºþ.`&×dçÜOgU‰êÃa›&Ÿfd‘ú™}ÜÖc ¥—x–~asB3(¹þÝcW€4 ã‡6N6ùk™Â€›þ~ñËuO×Í“V¡Óçõ¶‹¡‡ÜŸlþY“²‚h‹bL—lfŒâýÙ‹_ ”m"I®ZŠ[ÔÙèG——éeŸíý%hÓÖÁgŒsd¶ ÑS‘ÿјÞÊ«ŸŽõ\,ø·ÜE¼×¢ÑEšÏ™Ä£%ˆû#ÌPžù2ëjNššfL,ÎËî?°ß¢Ý3LëG$jîá2¶«ËŒ%Zb±bžè›;ã«mïèÑÙ°SŸi ƒÇ¶ø¼]ÄÔÎï×MÀfÆmyZVí$ –ÈÎM˜Çù8àíËœ‚Ê—ÆÙtŠ\ØKXAªs ÊŽšea¬<ÚEa²]’;˜’`ЇgsÊæ3µóôäs@6j«›§RAiV¾MŸß\¸ Q¼;“8 4n]k l ÎîÈŽÁÇ\nåóe>Á¬×Ø>櫤ÕΗYëPvå®~ÆDä‘i>ýÆtsëä€$ Žñ[n¾|øî³k¡¯+˼R†RÑôï%?<âK\Yl˜òy3Ø[ªƒE°>L³XÁøè¹/s –*]ûÝùo·{Öåh~lÏÈANAÙQƒ,ŒßŒögÛü°F¹" ™$*xnýÍmšj™Ç¾|¶gï°Àf£¬Ù[*Ÿ/3ùbž¡µ>´Íq#3\°â¥ô(ªÎ—)#êЄߛ1ñ/•£Á1} t3ê­2,^[œ~&MìljV.þ2câ§ ‚åfŠZÎŽÝxkùvfõ(ŸS"Å›“œ÷sb÷nËÔ--•›œ‚µÃea¬0ÚjN9Ú¡ÆS Ø/Oë~«ëµ&%Èd0þ8´`õÚU¯*­ÅÊçËlö ‹›‹Ü÷è©m!Xd Š|™2¥Mø]Ÿ¾NG?¸áiÔÉÃЫ£›Í[ƒä ²#'¶íѼ]®+Ï)—~qæ—Ë Uþ>[‘7|E^Äbóè’*/—SPf±ñœRêõ¦ƒÌ½< ½ºÒÏ!ùË)ø£ü`FTmŽMâ²éŒ=í<ú´u:#äªJØ•}5,A-ÃF wNŸ¸.€$*©yËçˬi¾ÌöT$“£ak_gL,--utr˜±vlÛÎ.”J«Ç9eD•Y+‚!,G™d¬7ëZÍ~ÿöüž¼ZÌü³lâæ¦fŽ«W­©ðßêäË<7G{TÐð–5rÝ›·zÍ*['Kʈ²œ‚Djn%$Ç9å’:¯uç¶Ûú>ÉY°,¿vsoÍ\óÇ‘£G"""*ü÷c¾ÌŠá#§-Vw¥À«šð "##»zw>°KC[½ê¥ih€›çï_Úsûi@ ‹Åªzi¹ANkB‚ Æý>fÚŠ±´iªO÷A^JZÜ»vR-¤fÈ© ÷ìÝ£ Áî>È‹j!4õ ß-“W¯^õþ}Eå“Wä±9šžžîäâtÄo³‰.ÕZhê§w_Žôÿϵ©R]ä±&ܰq}ßÑÝhÒ|ƒÇ÷‰xLµê"w5avvvóÍÎí¥ïi¾›KGþ{qçíµ«ÿP-¤ZÈ]M¸y˦žC:ѤùzïRÙã yC¾jÂüü|Û¦MN>Þ)?‘§©§œÛ-60íÜÙóT ©ùª wìÜѹ¯í@š§ïHoÿÇþÑÑÑT ©9ª y<žu«£~[ L‚/ñÐÈž;.fD?v‚j!U G5áž½{Úuu¥HS[ ÛëöíÛ T ©92áþûOìMµ š†ƒ’Šâ/û|üä¨Ü"/& %„­ƒÕBh]´?sæÕ*ª@^Lxæì™n¿¶§ZMCÃÎÑZDˆäüY…\˜$ɳçÎtûµÕBh ]¶?sö Õ*¾…\˜ðÙ³gªÊ6¦T ¡i€tÐþì9Ú„UqúÌ©.<©VAÓ0±nfÁæ2CBB¨R)Ô› ˆóÎwH·EidE§þò\RoÂÀÀ@]c ª…Ð4Xºôó¸|åÕ**…z>þܾÕ*h2–væ™™Ù¹¹¹T ©90að3»–ôãAÂ`0š·lJµŠ¡Þ„ÁAÁÍ]l©VAÓÀ±mi%·¯ùRlÂÂÂÂôôtskjeÐ4xš:Û< ¤ZEÅPlÂ;{&‹ú ™¦aÓÌÉFnŸRPoB['ú†Fæ˜46*,,ÌÊ¢â«KUA± Ÿ=lêdM­šŸ„æNvòYRlÂȨH«¦Ôj ùI°jnþúõkªUTÅ&ÌÍÍÕÔ¡s:ÑÔêZª¹¹•}Œ‚J(6aA~¡º¦ZÕËÑÐü0ÚjY9ÙT«¨*MXZZ*‹•T«^”†æ‡ÑÐVÏ¡Mø‘§OÑ­²² ÔÔmºÙx^8D?'¬‰qÊSú9¥%*’$z5o·k¹!¡?ÇV5¹YÜy£ì3Síòòóºuøq(( ZS9(0!IbÙ2Œ/WC»d×å0¹Iø&ïœÜiæÖ9Gߤ”ÁÀ¡[!Ê*“Ž]ÕüsÒP߸ԾUI^nÞ™307›]õZu•)'ÍÄo3A K"a¨¨‰©SO‹¼B¶¦N%Ÿ‰¦)Gr|ÚÔ> Þ½@ÈΆž|dö«ëš0* –Mçåå©k•õÊì_×øïífu,¦!0ýÑüëùÿ3X9½iÝë©G¬œÞ´ —@SG=/7O:óÅ tî 9i‚Õµ cbðüyÙtqq±’rY¯Œ‰à]T >þ³‘™¦üXëëùúÆ¥ïcj÷³Ó OrJÊŠ%Å|éLssÄÆB, ¯ºn»»CC£lZSS³¨€' ™íºÉcÏ•œ`lÁŸ»¾‚Œî%<–g:nßbÓÉp›P˜ÏÓÐ*;ù’“Ñ·/8J•}€š{ÂÔT!88xÌøÑÇý·Õ½€zJvº‚Ž~)ƒî­!ù9eUIZRâœÁ+c¢c©–ó%ÔôŽöï1c ªª]‡}k,çiQ÷2ê#ÛYOì휟Ã!Æ©Ýf¿uq•ˆiGVÍ壯Ã=[G‡³µ´´ÎŸ‡«+23©ÖT zj ¾°Epq‚yl)HŠ8>‘;þ :²NøÏb½LBä¾,ÎQ?Ç÷FБ3 V镬U¨Àô‰ÜñoèâžÂ² ” c…ˆ2U 5K´¹ÀnT¢%PL$ÊQ‘dIDAT+b þÄöëCŘ.ÙÌÿÄÿú³¿)*:I®ZŠ[ÔÙèGg‹³ãÛè´hæ½æÓ‰çøñö°×¢Ñåã—ÁøXÚÚ:h=¾ãÄ6€+¿D™‘LÆŽæ=ÃÓ¬„5ÅÈ•¼6âééù×B_’$ÉBÅlB¨£BàØ$­_¯¸bdÛS„ȶsž±²bÙ©Á©²ße3`# áµOQ°^²Óû~öÀPjyÁú‰Üý#\ Yb1/O,­B/g1P±.ÒÊUÉ¡ü +Y‹©Yص•¨üQ.Œ5£žÄöëC. k”íßÁ”DŽÃ3ý?,©7 'Ÿ$³"•¹îù n…”"€ €‹™÷°Ü <‡¾}Ú € 5Df2øv‘LLH’PrÆ•Ð/ªJÔVVVúú/_·´6dKX"éÉÃX {shßoÑ÷n¡±´éO2bR‰SŸF-Ñ×A’ Çø-7ÓuÊýA QÖhd’ òË—¾+[‹Á‘°?߃+ùÆŠàè«ç+ç aÎ8[9WQ`¨Fõ&¶_ò— |ø—Á&¤KÞ½§¥æTÙ(i& J¥ÿ2al P‡Ï ,ƒÄRh+$JÄP©ØÅ?ŠLÚZm`÷Û@#ê9оh± L ÿC³aèaw.ú3TKšjscÒ˜@°Òã¹"@’£ut¡ŽÁ¸kiãA ] °7“÷å#j­2M#Ì®¿a‘)àäóê­2,^[œ~Æ&ˆ9ñÁÊÅ•µY„"Á.*€ê¯õY+‚k•驨sö— YQÇŒòÜÒm¥•@}‹íGÔœr´C§0@°_žÖý¢?Y,?z ¥j|yâIa¨ÁE/S€(BT2€,ÅÍC(i#©ñøx‘7s™è—‰ 9–8ÿ7‚Ǭ1Ì-1áø_”¬*¦ À,4÷B>ƒ}î]ñ'¸EÝ:2Ÿr­½ ¼Ú;4‹ìözËÔic–©÷Î2ÝY§Þœ(ìÆ)k7ÝäÞ³E»¾í›ÝIe°'o89±mæíz´p]yN¹´²£Q)ôéËÞäá>°‡UŒAµ×R*þF°FxzX;ÞÏV_ëÒ±SW³! X4þP¢`±[Ëvs³—lÎÖ`õ0¶áØ$.›ÎØÓΣO[§3Bž¡ª„]î¼~þð…•>‡­|yâ•¡„Áq;@’…¿¼ ®5m,ÈÂéCÐc@ñ+DZ£}#™è§òU¦ò¸¹·»àW'£þ¿O&—ÝxoQa½OrüÇ9ߺ¼›¨^=ϪkDo-¾Æ ©ß±eKÀQ&$ëͺV³ß¿=¿'ïã“‹å“¶tqë9yò”o¬/|ƒŽãpä>l+>ñp}ÎÀÑ_Þ\Ô òÒ6lȰÛql’æ&Rs+9R¾BA›¸iêãYR§TÆ ©×±%Y¡óZ÷wn;À±­ï“œËò?:P$?¸0pà¯ßÞ×»~GBeªà#§-Vw•‰!?5azzzsûf·bN±9ò”–•¦žãóÙ¥=wîß}@µo!/5¡½ƒý“ÛAT ¡iPÜ:÷p˜ÏpªUT¼˜À¬³o»Dµ š†CJBz°ø°aèRrdÂÞ½{—‹BŸ¼¤ZMáèæsÓ§ÍPQQ¡ZHÈ‘  Æ’…K­;Mµš†@FJÖÃëO§N™Jµª‘#0`@nZÁ«à7T ¡©÷Ûr~ÒÄÉêêõà;ÐòeB&“¹pÁ¢ÃëÏR-„¦~““‘{÷²ÿÌ3©R-äË„||†$Ŧż¢s^Ð|?Ç·_7vœ–VŸÐ‘Cä΄l6ÛwÞüÃèÊæ;ÉÍÊ¿qÚoÖŸ³©R]ä΄F•›ùì~(ÕBhê%[ÿ:8uêT]]]ª…Ty4!‡Ã9¸ÿкY»?åž¡¡©Oï…Ä„'øÎ›Oµ &кuë_zöÞ·ê8ÕBhêübÁúY»8ÌåÊæÍ?Ù /cG¿†Çãµph¾æoߦNòý¦7ܰmÁA¡æÞÝ{©R3ä´& ªªºkÇîS¶ŠEòñQcù&êEÌÝËׯ]Oµ#¿&ЫW¯æ¶öÇ·] Z¼#KVNݶcÛÎzñtþ ä·9*%##ÃÑÉa÷?«-íd“Z€¦Apt󹄰Œ+—®R-ä{뚀¾¾þž]{ÿ7l%¯þŒ!MÅú…\9rëÀ¾ƒT ùNäÝ„ú÷ï?bèÈEã6Èy¥MC Éñ©+&o»tár=z0øõÀ„–.Y¦ÎÕÞ¿úÕBhä AI霡+6¬ß(Ÿß<«&õÄ ãøß'ýäwí ÕZhä’$—NØôK÷>ÆÊûk»ß¦Þ$tQWW¿zùZÇN,š˜Ð44oæwヌ‡ÅúdkéÒ¥Tk¨œœœ\]ZO1³„ï¸xB/}ãÒ¦-‹î4Z:¹™Cëú¦QÞ)æ±&ýâüâ©VÁéIï”×ϱMIàþwzardÖ[wMLL¨(Cêý=ayâãã{ôÕÌõ—E»œ €üŽº–˜Él8ÇØ€¹wUÏ«w–´°²Òòç ÙæÞ¦ÅŽm;Øìz3¸òûhÍѨª6 ¸QšópáØõ¥üRš:"¡€¹s™ÕÒh¾Eq[PÂêÜ7SêÀ·/ßýá=kâïÃZ쉉iàD3áÀxñBíÚÕìÌÆwŸ›’@AIrvŸiJ‚Õêh*åÚ ÃKË.”·.>œ5xÙáG'Mœ‚ÿþ£VZ]Р.3††PP‹ÅÚ´aÓ©Ó.züoܼ¡}Gö †²ª„ju4•¢¬*Q׿ó6ÌÙ“•÷è¿¥¥%€âb¨ªR-Nö4¨{Â/HIIùmìèRH<º¯<žGµšop7xÝŸ»'M˜ô¿9s?¾qëìíadD­4™ÓÐLŠÀ@Lœ&ž=#Ÿذqéô•c½íH±8šŠà ¶-<ôúY’[ëëë×ëK?â’™‰œ4mJµ¸:¡AÝPWÇɓؽ|}ѯ£c‡ñø_Ù×wÔšüœªÒ|Æ‹À×Ã=¦YêÚ=~ ¤¤ïãÀÎwïR-®®hh5!‰b1œ mm(+KgJ6l\¿s׎?×þѹ¯'ÕiPÂã\{êÉÁGüݶmÛ²™%PVÔ ¬;  ¿Á«W¯&O›$$ø3×ünçhMµœŸ‚ ÿ9qûàÚSƒY±l…²ô2ùós™PÊåË—çúþÏÁÍnÒâQ ´©–ósì¾uþAk‹&7l²¶¦¯ƒÀÏiBB¡pûŽí›·lø{ÏS((Ño`ÈœwoÞïZr,;%Û–í;v¤ZŽÑÐ:fª —Ë3{NÄ‹—â,ÎàÖož¿ÿs^Œê†üœ‚u³vMï·xØ€Ña!/h~ÁOZ–'22rÖœ™‰)ï‡Oà=°›Ó 0PKVZΙ=Woœñ›øc Š7жF Uþ· ñû¶™q —l1Ø põ¬gài&Šòpz ¸T1m(Ví€,ÒlÖª E¸2-¬¡o%@ u.FÐÓEãN¸‘¸5é˜Ú }±þÏÓýÎÿjaé…г&¢©)4­±÷9V÷…. :ài%£_’¯¢‹LM`b­! \н‘84§á¬o¹=–‹¨#®àañ¯9ËcŸ&†_Ú7¦S³¶Ú­Ý,t?P<4Ø­§¹Woˈò—X ׿ŠÝЀ©Tj¤“ ¥<†‚‘@… €4ì™Î¹d-oùŠEŠ÷çºüêàÙ¹™ó€dÅk>̺C'ó½zÚ“ ¦=q^~¾f+CÃöCÌÛ¡Yè‰ëw¼<šU³¼¾¸0cÖaq(â#0A‚øî’äà;“¹ç!™(w UUˆ¨æùSŒkÑèb¥‰HRBˆ/ZÚÀª56”-Æ6€+¿ÄZ-µkB¦&õÐrCoî¾G~’]àÓ`Âýè‡!ªò Ie 3u0¶8 4n]k l ÎîÈŽÁ׳Ï{†§ X1žžè=B12¿Ý ,Áü6ÐW‡ÍxL>6Ÿ·ž˜:ד٩ƒÇñ F†ÎmfN{ïôÃíÁïÞîºøZÚ§E*fB‘¦¿t’F·[§>¸´¹{´y¼tïl‘‘*;1[¾n ™šùƒûð9 Õ]SÛs4Ÿ%1‹Ât3œ½­ 0EŽcÒtÂuã¿*/‚”<¿poZ¿E¿ùŠtýO8ü&òù®Ú†oU«¼*x~Ò\ÑÛ `Âý74æ~Щƒ?zƒ ¸Á(Y¢¯Ž¤ªB¬òü‘"€´ùJ@†”Î|‹ûs°ñW<’Þ‘²a¡†˜¬ zEÈüÚ̪êU¸0ƒ Žt. l6Ø `±_wì’$”œqåüýáÿ±Qè¬öÍ]*cÍ3däáñ"òÅ»Ï ¸ü®9\NßAƒþ½våú´&*zmö-<ÙÏaìæùûŸÅ2%  ‚Ý×ê™ÝEL†Ä¢_ªñ[ÝÈ|©,†@L*qêAGte啟šuåï›ó'_~•šð0þ¯Y‹_lo­Öt¼ÓW™°«(¯oü³í|ÐQ~ƒLtçW»+;˜\p$(%€c}UüÖŠ ˜u‡«¡™%b¨pQëÔ¦ ‰<ì¹!ˆ…èbM˜„áâ;€@Ð1d:¡©À‚2|is¿ÜtÅ ×­6°{‰íÒ&„QÏQôE›µüÞËÍl7danEMÜ/ÐTfé¸óúÜïÎ×&ž×NÞŽ.ÌØ2pùß[Ï''h§5zË"ÁÌðÓOPã™HßI(FìÍäË„D¾æ¹”D`ú óÛ˜jNYúá&w㙠دOä´HÍÞ¼òÆ›œ¸Í}}“BsÔÅKÇ{Òî3=zôÐqe|yUpMèãF2@àÙq¼ûFwÝâ0Ôࢗ©À1ÅP\z1ˆlØK;wùx‘7|•¯6MÈÒAãhiÛß0ìÜUÁm‚+°«=ŒM0òïƒ.PÅ”˜å‚æ^a}š~iZÑÂURŒY- ®uuè8"ÜçÿFðX˜5†¹%&œÿ‹3¿üÞË·µ1s}VRÝãµ²²š6uÚÍ›;nŽm¦Ñn ³@mõÊéÙ佃í]= Úú,%|ÆÚ+?Rïeº³N-˜ð}lYcëÑx…?4®€¥Í3öoîcïÑo‚J÷ý±ŽªàX'¯X(ú»S[OcçI‡/ Ÿu÷;pßÙV{Ó¯N Œ÷±‡-ú·›>õCåõ‘¯εőÙXâ ›–ØQ s5p*Û`Í 1!¥"xú©©_mP ƒ;ãv$¸˜yXC]ØM¨ãè¤ůiö2xÞI?¬¯„oÐqŽÜ‡-ééé·oß¾yëÆý4kÙÄÆ±¹äÑ’w#m©ýƒ7…‡64>³×ô˜_‘9Îp‡Ø×ªƒŸ²Ø?T‚"¡862>:"îmø»èðw±oâÍÌM»wëÞ£{OwwwEEŪ7Q{”–€« ‰°•—‡Q+Ù-NŸÆŒ¸xžžðõÅ¡Cÿò…ýò…X$®À¹8Ú£·WÕ„6am@"ì(2»ÃÛð³Ùééé!!!aÏ“/]IOÏ?P\XÔÜÉÖÆ¡q{K›æ ÍôÔ4jvŽ…<Ö²hR¬£WÖ×”•¦ kX³g¬Aædä&½K}û2.&"áMxl|Lb[ggçVή...JJ%Å"qg¦úƒ)ÑÛN »~íl8<ŠŠ‰pù2 €†*ÈcZI!–Q‚¿£óDË`P#mº#'''444$$$$4øåˈÄÄd6›eh¢o`ªo`Ò¨‘‘¶¡©ž©ž‰®ž‘.WóÅêyÙ\­F_võ¾ VOy¯ä=ðË¡E¼ô䬴ČŒ”¬Ì”ìŒäœ´ÄÌŒ”¬ŒÔ MmMsss''çVέœííí¹\ô6È YYÐÕž}˜8 > //\»†iÓ¨€6!µäææ&'''&&&&&&%%¾OJ|ÿ>!%%%-% †’²¢ŠŠ2›ÃV×T#بóû*(q•T”Ø¿X I’Þ9$¾cnå#Šø%‚^‰H,)Ì/TUS111657373731733355511155­ã&åhj".:àõë²9-Z”¥ÊÊ*ËED-ôT¢­­­­­íààðõ_€Ïç‰Åâ¼¼¼Ü\LœÈ5yŸÏçñx"‘HEE…Ëå¾zÕäêUÓCŽ+(((++Kgjhh0åáä’,-ÁdB»ÜËÛ¡¨JJ=í º&¬ßÄÆ"5íÛS­Cîùç êê8}ÎÎ BïÞTËðÓ¾Ô[OÙ¿aaeÓ'O`mM;°j.]“‰ÔT\½Š”¨«ÃÀ@^Ú„õ eeüò RSAptÄüùU>â„æ#ÚÚ˜>/^ OŒ‹±c‘™Iµ¦rÐÍÑz†4) €·oam-ý õ>ŠŠ`0ðîLL WýÁ´ ih(†¾ÒÐP mBŠ¡MHCC1´ ih(†6! ÅÐ&”9Ô$ƒü|³Òd~¢8tÔ/{÷R…†5^•Ê6™ß×P–³ÖS-~>¿,]¢gþ€¥& ìù˜¦ªÓ&”'d“ òc2?Žd °…8?¶Ã`£ Ûd~?DíFC©?ð)]"#põ)~Ñ-÷wU¦MX'P˜ ²\2¿ÙØùãFBúÙ%ó“»hÈ"Õbù3ѬìM¾|1¢Š“42†È$ÝYdÃd)Iæú‘–æ¤Yú†tÒ'÷F“¤„¼?‹ÔíMfJH2‡ì`@Þ*$Iò³é &2Iw69è )$Ȉå$G›ÜAbòXÒë)ù¸û²¯>y4õ3I)GI6d‚èÃïrйúMÃF!ÙO—ÜúŽ$I2æ©iB>-&É|²“y£€,"ŒÉïIRBÞD2¬ÉW‚² 8A–’dâQRÏ|/þ\ÒG¾Žp!ÙO—Üý¾ÜœoF˜® ë “A~–ÌOŠWvÃa L?^®e–̯B¨‰†,R-¨0Â_óÍÓ&¤ŒºIY>™ŸÑ;ì‹Ç´åÊ^fÉüªÌ£!‹T‹*Šp|3´ ë “A–Oæ'åÍqdv‚—N¹…d–̯B¨L)ƒT‹_G¸¾aÚ„u5É ¥”Oæ€C'Ñk 4ËU%²KæW!TF2Hµøy„o‚º®dajSèy"ZTáZ»ã¦‘WJ£È¶îä›ÒJþ&ȇ‘£nDŠ’/Å$A’$A†.'-ÆE5\ý#Lׄ ®-výŽ„Ê¾¶ÈGN[¬îZûé4ë $Í„]S4µÁGس¦ÆÉN0Âôû„44Cׄ44C›††bhÒÐP mBŠ¡MHCC1´ ih(†6! Åü»-P¬q@òIEND®B`‚qcustomplot/documentation/html/functions_func_0x64.html0000644000175000017500000001626112236016575023644 0ustar dermanudermanu Data Fields - Functions

Main Page · Class Overview · Hierarchy · All Classes
 

- d -

qcustomplot/documentation/html/classQCustomPlot.html0000644000175000017500000061506312236016575023325 0ustar dermanudermanu QCustomPlot Class Reference
Main Page · Class Overview · Hierarchy · All Classes
QCustomPlot Class Reference

The central class of the library. This is the QWidget which displays the plot and interacts with the user. More...

Public Types

enum  LayerInsertMode

Public Functions

 QCustomPlot (QWidget *parent=0)
QRect viewport () const
QPixmap background () const
bool backgroundScaled () const
Qt::AspectRatioMode backgroundScaledMode () const
QCPLayoutGridplotLayout () const
QCP::AntialiasedElements antialiasedElements () const
QCP::AntialiasedElements notAntialiasedElements () const
bool autoAddPlottableToLegend () const
const QCP::Interactions interactions () const
int selectionTolerance () const
bool noAntialiasingOnDrag () const
QCP::PlottingHints plottingHints () const
Qt::KeyboardModifier multiSelectModifier () const
void setViewport (const QRect &rect)
void setBackground (const QPixmap &pm)
void setBackground (const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)
void setBackground (const QBrush &brush)
void setBackgroundScaled (bool scaled)
void setBackgroundScaledMode (Qt::AspectRatioMode mode)
void setAntialiasedElements (const QCP::AntialiasedElements &antialiasedElements)
void setAntialiasedElement (QCP::AntialiasedElement antialiasedElement, bool enabled=true)
void setNotAntialiasedElements (const QCP::AntialiasedElements &notAntialiasedElements)
void setNotAntialiasedElement (QCP::AntialiasedElement notAntialiasedElement, bool enabled=true)
void setAutoAddPlottableToLegend (bool on)
void setInteractions (const QCP::Interactions &interactions)
void setInteraction (const QCP::Interaction &interaction, bool enabled=true)
void setSelectionTolerance (int pixels)
void setNoAntialiasingOnDrag (bool enabled)
void setPlottingHints (const QCP::PlottingHints &hints)
void setPlottingHint (QCP::PlottingHint hint, bool enabled=true)
void setMultiSelectModifier (Qt::KeyboardModifier modifier)
QCPAbstractPlottableplottable (int index)
QCPAbstractPlottableplottable ()
bool addPlottable (QCPAbstractPlottable *plottable)
bool removePlottable (QCPAbstractPlottable *plottable)
bool removePlottable (int index)
int clearPlottables ()
int plottableCount () const
QList< QCPAbstractPlottable * > selectedPlottables () const
QCPAbstractPlottableplottableAt (const QPointF &pos, bool onlySelectable=false) const
bool hasPlottable (QCPAbstractPlottable *plottable) const
QCPGraphgraph (int index) const
QCPGraphgraph () const
QCPGraphaddGraph (QCPAxis *keyAxis=0, QCPAxis *valueAxis=0)
bool removeGraph (QCPGraph *graph)
bool removeGraph (int index)
int clearGraphs ()
int graphCount () const
QList< QCPGraph * > selectedGraphs () const
QCPAbstractItemitem (int index) const
QCPAbstractItemitem () const
bool addItem (QCPAbstractItem *item)
bool removeItem (QCPAbstractItem *item)
bool removeItem (int index)
int clearItems ()
int itemCount () const
QList< QCPAbstractItem * > selectedItems () const
QCPAbstractItemitemAt (const QPointF &pos, bool onlySelectable=false) const
bool hasItem (QCPAbstractItem *item) const
QCPLayerlayer (const QString &name) const
QCPLayerlayer (int index) const
QCPLayercurrentLayer () const
bool setCurrentLayer (const QString &name)
bool setCurrentLayer (QCPLayer *layer)
int layerCount () const
bool addLayer (const QString &name, QCPLayer *otherLayer=0, LayerInsertMode insertMode=limAbove)
bool removeLayer (QCPLayer *layer)
bool moveLayer (QCPLayer *layer, QCPLayer *otherLayer, LayerInsertMode insertMode=limAbove)
int axisRectCount () const
QCPAxisRectaxisRect (int index=0) const
QList< QCPAxisRect * > axisRects () const
QCPLayoutElementlayoutElementAt (const QPointF &pos) const
Q_SLOT void rescaleAxes (bool onlyVisiblePlottables=false)
QList< QCPAxis * > selectedAxes () const
QList< QCPLegend * > selectedLegends () const
Q_SLOT void deselectAll ()
bool savePdf (const QString &fileName, bool noCosmeticPen=false, int width=0, int height=0)
bool savePng (const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1)
bool saveJpg (const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1)
bool saveBmp (const QString &fileName, int width=0, int height=0, double scale=1.0)
bool saveRastered (const QString &fileName, int width, int height, double scale, const char *format, int quality=-1)
QPixmap toPixmap (int width=0, int height=0, double scale=1.0)
void toPainter (QCPPainter *painter, int width=0, int height=0)
Q_SLOT void replot ()

Public Members

QCPAxisxAxis
QCPAxisyAxis
QCPAxisxAxis2
QCPAxisyAxis2
QCPLegendlegend

Signals

void mouseDoubleClick (QMouseEvent *event)
void mousePress (QMouseEvent *event)
void mouseMove (QMouseEvent *event)
void mouseRelease (QMouseEvent *event)
void mouseWheel (QWheelEvent *event)
void plottableClick (QCPAbstractPlottable *plottable, QMouseEvent *event)
void plottableDoubleClick (QCPAbstractPlottable *plottable, QMouseEvent *event)
void itemClick (QCPAbstractItem *item, QMouseEvent *event)
void itemDoubleClick (QCPAbstractItem *item, QMouseEvent *event)
void axisClick (QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event)
void axisDoubleClick (QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event)
void legendClick (QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event)
void legendDoubleClick (QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event)
void titleClick (QMouseEvent *event, QCPPlotTitle *title)
void titleDoubleClick (QMouseEvent *event, QCPPlotTitle *title)
void selectionChangedByUser ()
void beforeReplot ()
void afterReplot ()

Protected Functions

virtual QSize minimumSizeHint () const
virtual QSize sizeHint () const
virtual void paintEvent (QPaintEvent *event)
virtual void resizeEvent (QResizeEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual void draw (QCPPainter *painter)
virtual void axisRemoved (QCPAxis *axis)
virtual void legendRemoved (QCPLegend *legend)
void updateLayerIndices () const
QCPLayerablelayerableAt (const QPointF &pos, bool onlySelectable, QVariant *selectionDetails=0) const
void drawBackground (QCPPainter *painter)

Detailed Description

The central class of the library. This is the QWidget which displays the plot and interacts with the user.

For tutorials on how to use QCustomPlot, see the website
http://www.qcustomplot.com/

Member Enumeration Documentation

Defines how a layer should be inserted relative to an other layer.

See Also
addLayer, moveLayer
Enumerator:
limBelow 

Layer is inserted below other layer.

limAbove 

Layer is inserted above other layer.

Constructor & Destructor Documentation

QCustomPlot::QCustomPlot ( QWidget *  parent = 0)
explicit

Constructs a QCustomPlot and sets reasonable default values.

Member Function Documentation

QRect QCustomPlot::viewport ( ) const
inline

Returns the viewport rect of this QCustomPlot instance. The viewport is the area the plot is drawn in, all mechanisms, e.g. margin caluclation take the viewport to be the outer border of the plot. The viewport normally is the rect() of the QCustomPlot widget, i.e. a rect with top left (0, 0) and size of the QCustomPlot widget.

Don't confuse the viewport with the axis rect (QCustomPlot::axisRect). An axis rect is typically an area enclosed by four axes, where the graphs/plottables are drawn in. The viewport is larger and contains also the axes themselves, their tick numbers, their labels, the plot title etc.

Only when saving to a file (see savePng, savePdf etc.) the viewport is temporarily modified to allow saving plots with sizes independent of the current widget size.

QCPLayoutGrid * QCustomPlot::plotLayout ( ) const
inline

Returns the top level layout of this QCustomPlot instance. It is a QCPLayoutGrid, initially containing just one cell with the main QCPAxisRect inside.

void QCustomPlot::setViewport ( const QRect &  rect)

Sets the viewport of this QCustomPlot. The Viewport is the area that the top level layout (QCustomPlot::plotLayout()) uses as its rect. Normally, the viewport is the entire widget rect.

This function is used to allow arbitrary size exports with toPixmap, savePng, savePdf, etc. by temporarily changing the viewport size.

void QCustomPlot::setBackground ( const QPixmap &  pm)

Sets pm as the viewport background pixmap (see setViewport). The pixmap is always drawn below all other objects in the plot.

For cases where the provided pixmap doesn't have the same size as the viewport, scaling can be enabled with setBackgroundScaled and the scaling mode (whether and how the aspect ratio is preserved) can be set with setBackgroundScaledMode. To set all these options in one call, consider using the overloaded version of this function.

If a background brush was set with setBackground(const QBrush &brush), the viewport will first be filled with that brush, before drawing the background pixmap. This can be useful for background pixmaps with translucent areas.

See Also
setBackgroundScaled, setBackgroundScaledMode
void QCustomPlot::setBackground ( const QPixmap &  pm,
bool  scaled,
Qt::AspectRatioMode  mode = Qt::KeepAspectRatioByExpanding 
)

This is an overloaded function.

Allows setting the background pixmap of the viewport, whether it shall be scaled and how it shall be scaled in one call.

See Also
setBackground(const QPixmap &pm), setBackgroundScaled, setBackgroundScaledMode
void QCustomPlot::setBackground ( const QBrush &  brush)

Sets the background brush of the viewport (see setViewport).

Before drawing everything else, the background is filled with brush. If a background pixmap was set with setBackground(const QPixmap &pm), this brush will be used to fill the viewport before the background pixmap is drawn. This can be useful for background pixmaps with translucent areas.

Set brush to Qt::NoBrush or Qt::Transparent to leave background transparent. This can be useful for exporting to image formats which support transparency, e.g. savePng.

See Also
setBackgroundScaled, setBackgroundScaledMode
void QCustomPlot::setBackgroundScaled ( bool  scaled)

Sets whether the viewport background pixmap shall be scaled to fit the viewport. If scaled is set to true, control whether and how the aspect ratio of the original pixmap is preserved with setBackgroundScaledMode.

Note that the scaled version of the original pixmap is buffered, so there is no performance penalty on replots. (Except when the viewport dimensions are changed continuously.)

See Also
setBackground, setBackgroundScaledMode
void QCustomPlot::setBackgroundScaledMode ( Qt::AspectRatioMode  mode)

If scaling of the viewport background pixmap is enabled (setBackgroundScaled), use this function to define whether and how the aspect ratio of the original pixmap is preserved.

See Also
setBackground, setBackgroundScaled
void QCustomPlot::setAntialiasedElements ( const QCP::AntialiasedElements &  antialiasedElements)

Sets which elements are forcibly drawn antialiased as an or combination of QCP::AntialiasedElement.

This overrides the antialiasing settings for whole element groups, normally controlled with the setAntialiasing function on the individual elements. If an element is neither specified in setAntialiasedElements nor in setNotAntialiasedElements, the antialiasing setting on each individual element instance is used.

For example, if antialiasedElements contains QCP::aePlottables, all plottables will be drawn antialiased, no matter what the specific QCPAbstractPlottable::setAntialiased value was set to.

if an element in antialiasedElements is already set in setNotAntialiasedElements, it is removed from there.

See Also
setNotAntialiasedElements
void QCustomPlot::setAntialiasedElement ( QCP::AntialiasedElement  antialiasedElement,
bool  enabled = true 
)

Sets whether the specified antialiasedElement is forcibly drawn antialiased.

See setAntialiasedElements for details.

See Also
setNotAntialiasedElement
void QCustomPlot::setNotAntialiasedElements ( const QCP::AntialiasedElements &  notAntialiasedElements)

Sets which elements are forcibly drawn not antialiased as an or combination of QCP::AntialiasedElement.

This overrides the antialiasing settings for whole element groups, normally controlled with the setAntialiasing function on the individual elements. If an element is neither specified in setAntialiasedElements nor in setNotAntialiasedElements, the antialiasing setting on each individual element instance is used.

For example, if notAntialiasedElements contains QCP::aePlottables, no plottables will be drawn antialiased, no matter what the specific QCPAbstractPlottable::setAntialiased value was set to.

if an element in notAntialiasedElements is already set in setAntialiasedElements, it is removed from there.

See Also
setAntialiasedElements
void QCustomPlot::setNotAntialiasedElement ( QCP::AntialiasedElement  notAntialiasedElement,
bool  enabled = true 
)

Sets whether the specified notAntialiasedElement is forcibly drawn not antialiased.

See setNotAntialiasedElements for details.

See Also
setAntialiasedElement
void QCustomPlot::setAutoAddPlottableToLegend ( bool  on)

If set to true, adding a plottable (e.g. a graph) to the QCustomPlot automatically also adds the plottable to the legend (QCustomPlot::legend).

See Also
addPlottable, addGraph, QCPLegend::addItem
void QCustomPlot::setInteractions ( const QCP::Interactions &  interactions)

Sets the possible interactions of this QCustomPlot as an or-combination of QCP::Interaction enums. There are the following types of interactions:

Axis range manipulation is controlled via QCP::iRangeDrag and QCP::iRangeZoom. When the respective interaction is enabled, the user may drag axes ranges and zoom with the mouse wheel. For details how to control which axes the user may drag/zoom and in what orientations, see QCPAxisRect::setRangeDrag, QCPAxisRect::setRangeZoom, QCPAxisRect::setRangeDragAxes, QCPAxisRect::setRangeZoomAxes.

Plottable selection is controlled by QCP::iSelectPlottables. If QCP::iSelectPlottables is set, the user may select plottables (graphs, curves, bars,...) by clicking on them or in their vicinity (setSelectionTolerance). Whether the user can actually select a plottable can further be restricted with the QCPAbstractPlottable::setSelectable function on the specific plottable. To find out whether a specific plottable is selected, call QCPAbstractPlottable::selected(). To retrieve a list of all currently selected plottables, call selectedPlottables. If you're only interested in QCPGraphs, you may use the convenience function selectedGraphs.

Item selection is controlled by QCP::iSelectItems. If QCP::iSelectItems is set, the user may select items (QCPItemLine, QCPItemText,...) by clicking on them or in their vicinity. To find out whether a specific item is selected, call QCPAbstractItem::selected(). To retrieve a list of all currently selected items, call selectedItems.

Axis selection is controlled with QCP::iSelectAxes. If QCP::iSelectAxes is set, the user may select parts of the axes by clicking on them. What parts exactly (e.g. Axis base line, tick labels, axis label) are selectable can be controlled via QCPAxis::setSelectableParts for each axis. To retrieve a list of all axes that currently contain selected parts, call selectedAxes. Which parts of an axis are selected, can be retrieved with QCPAxis::selectedParts().

Legend selection is controlled with QCP::iSelectLegend. If this is set, the user may select the legend itself or individual items by clicking on them. What parts exactly are selectable can be controlled via QCPLegend::setSelectableParts. To find out whether the legend or any of its child items are selected, check the value of QCPLegend::selectedParts. To find out which child items are selected, call QCPLegend::selectedItems.

All other selectable elements The selection of all other selectable objects (e.g. QCPPlotTitle, or your own layerable subclasses) is controlled with QCP::iSelectOther. If set, the user may select those objects by clicking on them. To find out which are currently selected, you need to check their selected state explicitly.

If the selection state has changed by user interaction, the selectionChangedByUser signal is emitted. Each selectable object additionally emits an individual selectionChanged signal whenever their selection state has changed, i.e. not only by user interaction.

To allow multiple objects to be selected by holding the selection modifier (setMultiSelectModifier), set the flag QCP::iMultiSelect.

Note
In addition to the selection mechanism presented here, QCustomPlot always emits corresponding signals, when an object is clicked or double clicked. see plottableClick and plottableDoubleClick for example.
See Also
setInteraction, setSelectionTolerance
void QCustomPlot::setInteraction ( const QCP::Interaction interaction,
bool  enabled = true 
)

Sets the single interaction of this QCustomPlot to enabled.

For details about the interaction system, see setInteractions.

See Also
setInteractions
void QCustomPlot::setSelectionTolerance ( int  pixels)

Sets the tolerance that is used to decide whether a click selects an object (e.g. a plottable) or not.

If the user clicks in the vicinity of the line of e.g. a QCPGraph, it's only regarded as a potential selection when the minimum distance between the click position and the graph line is smaller than pixels. Objects that are defined by an area (e.g. QCPBars) only react to clicks directly inside the area and ignore this selection tolerance. In other words, it only has meaning for parts of objects that are too thin to exactly hit with a click and thus need such a tolerance.

See Also
setInteractions, QCPLayerable::selectTest
void QCustomPlot::setNoAntialiasingOnDrag ( bool  enabled)

Sets whether antialiasing is disabled for this QCustomPlot while the user is dragging axes ranges. If many objects, especially plottables, are drawn antialiased, this greatly improves performance during dragging. Thus it creates a more responsive user experience. As soon as the user stops dragging, the last replot is done with normal antialiasing, to restore high image quality.

See Also
setAntialiasedElements, setNotAntialiasedElements
void QCustomPlot::setPlottingHints ( const QCP::PlottingHints &  hints)

Sets the plotting hints for this QCustomPlot instance as an or combination of QCP::PlottingHint.

See Also
setPlottingHint
void QCustomPlot::setPlottingHint ( QCP::PlottingHint  hint,
bool  enabled = true 
)

Sets the specified plotting hint to enabled.

See Also
setPlottingHints
void QCustomPlot::setMultiSelectModifier ( Qt::KeyboardModifier  modifier)

Sets the keyboard modifier that will be recognized as multi-select-modifier.

If QCP::iMultiSelect is specified in setInteractions, the user may select multiple objects by clicking on them one after the other while holding down modifier.

By default the multi-select-modifier is set to Qt::ControlModifier.

See Also
setInteractions
QCPAbstractPlottable * QCustomPlot::plottable ( int  index)

Returns the plottable with index. If the index is invalid, returns 0.

There is an overloaded version of this function with no parameter which returns the last added plottable, see QCustomPlot::plottable()

See Also
plottableCount, addPlottable
QCPAbstractPlottable * QCustomPlot::plottable ( )

This is an overloaded function.

Returns the last plottable that was added with addPlottable. If there are no plottables in the plot, returns 0.

See Also
plottableCount, addPlottable
bool QCustomPlot::addPlottable ( QCPAbstractPlottable plottable)

Adds the specified plottable to the plot and, if setAutoAddPlottableToLegend is enabled, to the legend (QCustomPlot::legend). QCustomPlot takes ownership of the plottable.

Returns true on success, i.e. when plottable isn't already in the plot and the parent plot of plottable is this QCustomPlot (the latter is controlled by what axes were passed in the plottable's constructor).

See Also
plottable, plottableCount, removePlottable, clearPlottables
bool QCustomPlot::removePlottable ( QCPAbstractPlottable plottable)

Removes the specified plottable from the plot and, if necessary, from the legend (QCustomPlot::legend).

Returns true on success.

See Also
addPlottable, clearPlottables
bool QCustomPlot::removePlottable ( int  index)

This is an overloaded function.

Removes the plottable by its index.

int QCustomPlot::clearPlottables ( )

Removes all plottables from the plot (and the QCustomPlot::legend, if necessary).

Returns the number of plottables removed.

See Also
removePlottable
int QCustomPlot::plottableCount ( ) const

Returns the number of currently existing plottables in the plot

See Also
plottable, addPlottable
QList< QCPAbstractPlottable * > QCustomPlot::selectedPlottables ( ) const

Returns a list of the selected plottables. If no plottables are currently selected, the list is empty.

There is a convenience function if you're only interested in selected graphs, see selectedGraphs.

See Also
setInteractions, QCPAbstractPlottable::setSelectable, QCPAbstractPlottable::setSelected
QCPAbstractPlottable * QCustomPlot::plottableAt ( const QPointF &  pos,
bool  onlySelectable = false 
) const

Returns the plottable at the pixel position pos. Plottables that only consist of single lines (like graphs) have a tolerance band around them, see setSelectionTolerance. If multiple plottables come into consideration, the one closest to pos is returned.

If onlySelectable is true, only plottables that are selectable (QCPAbstractPlottable::setSelectable) are considered.

If there is no plottable at pos, the return value is 0.

See Also
itemAt, layoutElementAt
bool QCustomPlot::hasPlottable ( QCPAbstractPlottable plottable) const

Returns whether this QCustomPlot instance contains the plottable.

See Also
addPlottable
QCPGraph * QCustomPlot::graph ( int  index) const

Returns the graph with index. If the index is invalid, returns 0.

There is an overloaded version of this function with no parameter which returns the last created graph, see QCustomPlot::graph()

See Also
graphCount, addGraph
QCPGraph * QCustomPlot::graph ( ) const

This is an overloaded function.

Returns the last graph, that was created with addGraph. If there are no graphs in the plot, returns 0.

See Also
graphCount, addGraph
QCPGraph * QCustomPlot::addGraph ( QCPAxis keyAxis = 0,
QCPAxis valueAxis = 0 
)

Creates a new graph inside the plot. If keyAxis and valueAxis are left unspecified (0), the bottom (xAxis) is used as key and the left (yAxis) is used as value axis. If specified, keyAxis and valueAxis must reside in this QCustomPlot.

keyAxis will be used as key axis (typically "x") and valueAxis as value axis (typically "y") for the graph.

Returns a pointer to the newly created graph, or 0 if adding the graph failed.

See Also
graph, graphCount, removeGraph, clearGraphs
bool QCustomPlot::removeGraph ( QCPGraph graph)

Removes the specified graph from the plot and, if necessary, from the QCustomPlot::legend. If any other graphs in the plot have a channel fill set towards the removed graph, the channel fill property of those graphs is reset to zero (no channel fill).

Returns true on success.

See Also
clearGraphs
bool QCustomPlot::removeGraph ( int  index)

This is an overloaded function.

Removes the graph by its index.

int QCustomPlot::clearGraphs ( )

Removes all graphs from the plot (and the QCustomPlot::legend, if necessary).

Returns the number of graphs removed.

See Also
removeGraph
int QCustomPlot::graphCount ( ) const

Returns the number of currently existing graphs in the plot

See Also
graph, addGraph
QList< QCPGraph * > QCustomPlot::selectedGraphs ( ) const

Returns a list of the selected graphs. If no graphs are currently selected, the list is empty.

If you are not only interested in selected graphs but other plottables like QCPCurve, QCPBars, etc., use selectedPlottables.

See Also
setInteractions, selectedPlottables, QCPAbstractPlottable::setSelectable, QCPAbstractPlottable::setSelected
QCPAbstractItem * QCustomPlot::item ( int  index) const

Returns the item with index. If the index is invalid, returns 0.

There is an overloaded version of this function with no parameter which returns the last added item, see QCustomPlot::item()

See Also
itemCount, addItem
QCPAbstractItem * QCustomPlot::item ( ) const

This is an overloaded function.

Returns the last item, that was added with addItem. If there are no items in the plot, returns 0.

See Also
itemCount, addItem
bool QCustomPlot::addItem ( QCPAbstractItem item)

Adds the specified item to the plot. QCustomPlot takes ownership of the item.

Returns true on success, i.e. when item wasn't already in the plot and the parent plot of item is this QCustomPlot.

See Also
item, itemCount, removeItem, clearItems
bool QCustomPlot::removeItem ( QCPAbstractItem item)

Removes the specified item from the plot.

Returns true on success.

See Also
addItem, clearItems
bool QCustomPlot::removeItem ( int  index)

This is an overloaded function.

Removes the item by its index.

int QCustomPlot::clearItems ( )

Removes all items from the plot.

Returns the number of items removed.

See Also
removeItem
int QCustomPlot::itemCount ( ) const

Returns the number of currently existing items in the plot

See Also
item, addItem
QList< QCPAbstractItem * > QCustomPlot::selectedItems ( ) const

Returns a list of the selected items. If no items are currently selected, the list is empty.

See Also
setInteractions, QCPAbstractItem::setSelectable, QCPAbstractItem::setSelected
QCPAbstractItem * QCustomPlot::itemAt ( const QPointF &  pos,
bool  onlySelectable = false 
) const

Returns the item at the pixel position pos. Items that only consist of single lines (e.g. QCPItemLine or QCPItemCurve) have a tolerance band around them, see setSelectionTolerance. If multiple items come into consideration, the one closest to pos is returned.

If onlySelectable is true, only items that are selectable (QCPAbstractItem::setSelectable) are considered.

If there is no item at pos, the return value is 0.

See Also
plottableAt, layoutElementAt
bool QCustomPlot::hasItem ( QCPAbstractItem item) const

Returns whether this QCustomPlot contains the item.

See Also
addItem
QCPLayer * QCustomPlot::layer ( const QString &  name) const

Returns the layer with the specified name. If there is no layer with the specified name, 0 is returned.

Layer names are case-sensitive.

See Also
addLayer, moveLayer, removeLayer
QCPLayer * QCustomPlot::layer ( int  index) const

This is an overloaded function.

Returns the layer by index. If the index is invalid, 0 is returned.

See Also
addLayer, moveLayer, removeLayer
QCPLayer * QCustomPlot::currentLayer ( ) const

Returns the layer that is set as current layer (see setCurrentLayer).

bool QCustomPlot::setCurrentLayer ( const QString &  name)

Sets the layer with the specified name to be the current layer. All layerables (QCPLayerable), e.g. plottables and items, are created on the current layer.

Returns true on success, i.e. if there is a layer with the specified name in the QCustomPlot.

Layer names are case-sensitive.

See Also
addLayer, moveLayer, removeLayer, QCPLayerable::setLayer
bool QCustomPlot::setCurrentLayer ( QCPLayer layer)

This is an overloaded function.

Sets the provided layer to be the current layer.

Returns true on success, i.e. when layer is a valid layer in the QCustomPlot.

See Also
addLayer, moveLayer, removeLayer
int QCustomPlot::layerCount ( ) const

Returns the number of currently existing layers in the plot

See Also
layer, addLayer
bool QCustomPlot::addLayer ( const QString &  name,
QCPLayer otherLayer = 0,
QCustomPlot::LayerInsertMode  insertMode = limAbove 
)

Adds a new layer to this QCustomPlot instance. The new layer will have the name name, which must be unique. Depending on insertMode, it is positioned either below or above otherLayer.

Returns true on success, i.e. if there is no other layer named name and otherLayer is a valid layer inside this QCustomPlot.

If otherLayer is 0, the highest layer in the QCustomPlot will be used.

For an explanation of what layers are in QCustomPlot, see the documentation of QCPLayer.

See Also
layer, moveLayer, removeLayer
bool QCustomPlot::removeLayer ( QCPLayer layer)

Removes the specified layer and returns true on success.

All layerables (e.g. plottables and items) on the removed layer will be moved to the layer below layer. If layer is the bottom layer, the layerables are moved to the layer above. In both cases, the total rendering order of all layerables in the QCustomPlot is preserved.

If layer is the current layer (setCurrentLayer), the layer below (or above, if bottom layer) becomes the new current layer.

It is not possible to remove the last layer of the plot.

See Also
layer, addLayer, moveLayer
bool QCustomPlot::moveLayer ( QCPLayer layer,
QCPLayer otherLayer,
QCustomPlot::LayerInsertMode  insertMode = limAbove 
)

Moves the specified layer either above or below otherLayer. Whether it's placed above or below is controlled with insertMode.

Returns true on success, i.e. when both layer and otherLayer are valid layers in the QCustomPlot.

See Also
layer, addLayer, moveLayer
int QCustomPlot::axisRectCount ( ) const

Returns the number of axis rects in the plot.

All axis rects can be accessed via QCustomPlot::axisRect().

Initially, only one axis rect exists in the plot.

See Also
axisRect, axisRects
QCPAxisRect * QCustomPlot::axisRect ( int  index = 0) const

Returns the axis rect with index.

Initially, only one axis rect (with index 0) exists in the plot. If multiple axis rects were added, all of them may be accessed with this function in a linear fashion (even when they are nested in a layout hierarchy or inside other axis rects via QCPAxisRect::insetLayout).

See Also
axisRectCount, axisRects
QList< QCPAxisRect * > QCustomPlot::axisRects ( ) const

Returns all axis rects in the plot.

See Also
axisRectCount, axisRect
QCPLayoutElement * QCustomPlot::layoutElementAt ( const QPointF &  pos) const

Returns the layout element at pixel position pos. If there is no element at that position, returns 0.

Only visible elements are used. If QCPLayoutElement::setVisible on the element itself or on any of its parent elements is set to false, it will not be considered.

See Also
itemAt, plottableAt
void QCustomPlot::rescaleAxes ( bool  onlyVisiblePlottables = false)

Rescales the axes such that all plottables (like graphs) in the plot are fully visible.

if onlyVisiblePlottables is set to true, only the plottables that have their visibility set to true (QCPLayerable::setVisible), will be used to rescale the axes.

See Also
QCPAbstractPlottable::rescaleAxes, QCPAxis::rescale
QList< QCPAxis * > QCustomPlot::selectedAxes ( ) const

Returns the axes that currently have selected parts, i.e. whose selection state is not QCPAxis::spNone.

See Also
selectedPlottables, selectedLegends, setInteractions, QCPAxis::setSelectedParts, QCPAxis::setSelectableParts
QList< QCPLegend * > QCustomPlot::selectedLegends ( ) const

Returns the legends that currently have selected parts, i.e. whose selection state is not QCPLegend::spNone.

See Also
selectedPlottables, selectedAxes, setInteractions, QCPLegend::setSelectedParts, QCPLegend::setSelectableParts, QCPLegend::selectedItems
void QCustomPlot::deselectAll ( )

Deselects all layerables (plottables, items, axes, legends,...) of the QCustomPlot.

Since calling this function is not a user interaction, this does not emit the selectionChangedByUser signal. The individual selectionChanged signals are emitted though, if the objects were previously selected.

See Also
setInteractions, selectedPlottables, selectedItems, selectedAxes, selectedLegends
bool QCustomPlot::savePdf ( const QString &  fileName,
bool  noCosmeticPen = false,
int  width = 0,
int  height = 0 
)

Saves a PDF with the vectorized plot to the file fileName. The axis ratio as well as the scale of texts and lines will be derived from the specified width and height. This means, the output will look like the normal on-screen output of a QCustomPlot widget with the corresponding pixel width and height. If either width or height is zero, the exported image will have the same dimensions as the QCustomPlot widget currently has.

noCosmeticPen disables the use of cosmetic pens when drawing to the PDF file. Cosmetic pens are pens with numerical width 0, which are always drawn as a one pixel wide line, no matter what zoom factor is set in the PDF-Viewer. For more information about cosmetic pens, see the QPainter and QPen documentation.

The objects of the plot will appear in the current selection state. If you don't want any selected objects to be painted in their selected look, deselect everything with deselectAll before calling this function.

Returns true on success.

Warning
  • If you plan on editing the exported PDF file with a vector graphics editor like Inkscape, it is advised to set noCosmeticPen to true to avoid losing those cosmetic lines (which might be quite many, because cosmetic pens are the default for e.g. axes and tick marks).
  • If calling this function inside the constructor of the parent of the QCustomPlot widget (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide explicit non-zero widths and heights. If you leave width or height as 0 (default), this function uses the current width and height of the QCustomPlot widget. However, in Qt, these aren't defined yet inside the constructor, so you would get an image that has strange widths/heights.
Note
On Android systems, this method does nothing and issues an according qDebug warning message.
See Also
savePng, saveBmp, saveJpg, saveRastered
bool QCustomPlot::savePng ( const QString &  fileName,
int  width = 0,
int  height = 0,
double  scale = 1.0,
int  quality = -1 
)

Saves a PNG image file to fileName on disc. The output plot will have the dimensions width and height in pixels. If either width or height is zero, the exported image will have the same dimensions as the QCustomPlot widget currently has. Line widths and texts etc. are not scaled up when larger widths/heights are used. If you want that effect, use the scale parameter.

For example, if you set both width and height to 100 and scale to 2, you will end up with an image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full 200*200 pixel resolution.

If you use a high scaling factor, it is recommended to enable antialiasing for all elements via temporarily setting QCustomPlot::setAntialiasedElements to QCP::aeAll as this allows QCustomPlot to place objects with sub-pixel accuracy.

Warning
If calling this function inside the constructor of the parent of the QCustomPlot widget (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide explicit non-zero widths and heights. If you leave width or height as 0 (default), this function uses the current width and height of the QCustomPlot widget. However, in Qt, these aren't defined yet inside the constructor, so you would get an image that has strange widths/heights.

The objects of the plot will appear in the current selection state. If you don't want any selected objects to be painted in their selected look, deselect everything with deselectAll before calling this function.

If you want the PNG to have a transparent background, call setBackground(const QBrush &brush) with no brush (Qt::NoBrush) or a transparent color (Qt::transparent), before saving.

PNG compression can be controlled with the quality parameter which must be between 0 and 100 or -1 to use the default setting.

Returns true on success. If this function fails, most likely the PNG format isn't supported by the system, see Qt docs about QImageWriter::supportedImageFormats().

See Also
savePdf, saveBmp, saveJpg, saveRastered
bool QCustomPlot::saveJpg ( const QString &  fileName,
int  width = 0,
int  height = 0,
double  scale = 1.0,
int  quality = -1 
)

Saves a JPG image file to fileName on disc. The output plot will have the dimensions width and height in pixels. If either width or height is zero, the exported image will have the same dimensions as the QCustomPlot widget currently has. Line widths and texts etc. are not scaled up when larger widths/heights are used. If you want that effect, use the scale parameter.

For example, if you set both width and height to 100 and scale to 2, you will end up with an image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full 200*200 pixel resolution.

If you use a high scaling factor, it is recommended to enable antialiasing for all elements via temporarily setting QCustomPlot::setAntialiasedElements to QCP::aeAll as this allows QCustomPlot to place objects with sub-pixel accuracy.

Warning
If calling this function inside the constructor of the parent of the QCustomPlot widget (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide explicit non-zero widths and heights. If you leave width or height as 0 (default), this function uses the current width and height of the QCustomPlot widget. However, in Qt, these aren't defined yet inside the constructor, so you would get an image that has strange widths/heights.

The objects of the plot will appear in the current selection state. If you don't want any selected objects to be painted in their selected look, deselect everything with deselectAll before calling this function.

JPG compression can be controlled with the quality parameter which must be between 0 and 100 or -1 to use the default setting.

Returns true on success. If this function fails, most likely the JPG format isn't supported by the system, see Qt docs about QImageWriter::supportedImageFormats().

See Also
savePdf, savePng, saveBmp, saveRastered
bool QCustomPlot::saveBmp ( const QString &  fileName,
int  width = 0,
int  height = 0,
double  scale = 1.0 
)

Saves a BMP image file to fileName on disc. The output plot will have the dimensions width and height in pixels. If either width or height is zero, the exported image will have the same dimensions as the QCustomPlot widget currently has. Line widths and texts etc. are not scaled up when larger widths/heights are used. If you want that effect, use the scale parameter.

For example, if you set both width and height to 100 and scale to 2, you will end up with an image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full 200*200 pixel resolution.

If you use a high scaling factor, it is recommended to enable antialiasing for all elements via temporarily setting QCustomPlot::setAntialiasedElements to QCP::aeAll as this allows QCustomPlot to place objects with sub-pixel accuracy.

Warning
If calling this function inside the constructor of the parent of the QCustomPlot widget (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide explicit non-zero widths and heights. If you leave width or height as 0 (default), this function uses the current width and height of the QCustomPlot widget. However, in Qt, these aren't defined yet inside the constructor, so you would get an image that has strange widths/heights.

The objects of the plot will appear in the current selection state. If you don't want any selected objects to be painted in their selected look, deselect everything with deselectAll before calling this function.

Returns true on success. If this function fails, most likely the BMP format isn't supported by the system, see Qt docs about QImageWriter::supportedImageFormats().

See Also
savePdf, savePng, saveJpg, saveRastered
bool QCustomPlot::saveRastered ( const QString &  fileName,
int  width,
int  height,
double  scale,
const char *  format,
int  quality = -1 
)

Saves the plot to a rastered image file fileName in the image format format. The plot is sized to width and height in pixels and scaled with scale. (width 100 and scale 2.0 lead to a full resolution file with width 200.) If the format supports compression, quality may be between 0 and 100 to control it.

Returns true on success. If this function fails, most likely the given format isn't supported by the system, see Qt docs about QImageWriter::supportedImageFormats().

See Also
saveBmp, saveJpg, savePng, savePdf
QPixmap QCustomPlot::toPixmap ( int  width = 0,
int  height = 0,
double  scale = 1.0 
)

Renders the plot to a pixmap and returns it.

The plot is sized to width and height in pixels and scaled with scale. (width 100 and scale 2.0 lead to a full resolution pixmap with width 200.)

See Also
toPainter, saveRastered, saveBmp, savePng, saveJpg, savePdf
void QCustomPlot::toPainter ( QCPPainter painter,
int  width = 0,
int  height = 0 
)

Renders the plot using the passed painter.

The plot is sized to width and height in pixels. If the painter's scale is not 1.0, the resulting plot will appear scaled accordingly.

Note
If you are restricted to using a QPainter (instead of QCPPainter), create a temporary QPicture and open a QCPPainter on it. Then call toPainter with this QCPPainter. After ending the paint operation on the picture, draw it with the QPainter. This will reproduce the painter actions the QCPPainter took, with a QPainter.
See Also
toPixmap
void QCustomPlot::replot ( )

Causes a complete replot into the internal buffer. Finally, update() is called, to redraw the buffer on the QCustomPlot widget surface. This is the method that must be called to make changes, for example on the axis ranges or data points of graphs, visible.

Under a few circumstances, QCustomPlot causes a replot by itself. Those are resize events of the QCustomPlot widget and user interactions (object selection and range dragging/zooming).

Before the replot happens, the signal beforeReplot is emitted. After the replot, afterReplot is emitted. It is safe to mutually connect the replot slot with any of those two signals on two QCustomPlots to make them replot synchronously, it won't cause an infinite recursion.

void QCustomPlot::mouseDoubleClick ( QMouseEvent *  event)
signal

This signal is emitted when the QCustomPlot receives a mouse double click event.

void QCustomPlot::mousePress ( QMouseEvent *  event)
signal

This signal is emitted when the QCustomPlot receives a mouse press event.

It is emitted before QCustomPlot handles any other mechanism like range dragging. So a slot connected to this signal can still influence the behaviour e.g. with QCPAxisRect::setRangeDrag or QCPAxisRect::setRangeDragAxes.

void QCustomPlot::mouseMove ( QMouseEvent *  event)
signal

This signal is emitted when the QCustomPlot receives a mouse move event.

It is emitted before QCustomPlot handles any other mechanism like range dragging. So a slot connected to this signal can still influence the behaviour e.g. with QCPAxisRect::setRangeDrag or QCPAxisRect::setRangeDragAxes.

Warning
It is discouraged to change the drag-axes with QCPAxisRect::setRangeDragAxes here, because the dragging starting point was saved the moment the mouse was pressed. Thus it only has a meaning for the range drag axes that were set at that moment. If you want to change the drag axes, consider doing this in the mousePress signal instead.
void QCustomPlot::mouseRelease ( QMouseEvent *  event)
signal

This signal is emitted when the QCustomPlot receives a mouse release event.

It is emitted before QCustomPlot handles any other mechanisms like object selection. So a slot connected to this signal can still influence the behaviour e.g. with setInteractions or QCPAbstractPlottable::setSelectable.

void QCustomPlot::mouseWheel ( QWheelEvent *  event)
signal

This signal is emitted when the QCustomPlot receives a mouse wheel event.

It is emitted before QCustomPlot handles any other mechanisms like range zooming. So a slot connected to this signal can still influence the behaviour e.g. with QCPAxisRect::setRangeZoom, QCPAxisRect::setRangeZoomAxes or QCPAxisRect::setRangeZoomFactor.

void QCustomPlot::plottableClick ( QCPAbstractPlottable plottable,
QMouseEvent *  event 
)
signal

This signal is emitted when a plottable is clicked.

event is the mouse event that caused the click and plottable is the plottable that received the click.

See Also
plottableDoubleClick
void QCustomPlot::plottableDoubleClick ( QCPAbstractPlottable plottable,
QMouseEvent *  event 
)
signal

This signal is emitted when a plottable is double clicked.

event is the mouse event that caused the click and plottable is the plottable that received the click.

See Also
plottableClick
void QCustomPlot::itemClick ( QCPAbstractItem item,
QMouseEvent *  event 
)
signal

This signal is emitted when an item is clicked.

event is the mouse event that caused the click and item is the item that received the click.

See Also
itemDoubleClick
void QCustomPlot::itemDoubleClick ( QCPAbstractItem item,
QMouseEvent *  event 
)
signal

This signal is emitted when an item is double clicked.

event is the mouse event that caused the click and item is the item that received the click.

See Also
itemClick
void QCustomPlot::axisClick ( QCPAxis axis,
QCPAxis::SelectablePart  part,
QMouseEvent *  event 
)
signal

This signal is emitted when an axis is clicked.

event is the mouse event that caused the click, axis is the axis that received the click and part indicates the part of the axis that was clicked.

See Also
axisDoubleClick
void QCustomPlot::axisDoubleClick ( QCPAxis axis,
QCPAxis::SelectablePart  part,
QMouseEvent *  event 
)
signal

This signal is emitted when an axis is double clicked.

event is the mouse event that caused the click, axis is the axis that received the click and part indicates the part of the axis that was clicked.

See Also
axisClick
void QCustomPlot::legendClick ( QCPLegend legend,
QCPAbstractLegendItem item,
QMouseEvent *  event 
)
signal

This signal is emitted when a legend (item) is clicked.

event is the mouse event that caused the click, legend is the legend that received the click and item is the legend item that received the click. If only the legend and no item is clicked, item is 0. This happens for a click inside the legend padding or the space between two items.

See Also
legendDoubleClick
void QCustomPlot::legendDoubleClick ( QCPLegend legend,
QCPAbstractLegendItem item,
QMouseEvent *  event 
)
signal

This signal is emitted when a legend (item) is double clicked.

event is the mouse event that caused the click, legend is the legend that received the click and item is the legend item that received the click. If only the legend and no item is clicked, item is 0. This happens for a click inside the legend padding or the space between two items.

See Also
legendClick
void QCustomPlot::titleClick ( QMouseEvent *  event,
QCPPlotTitle title 
)
signal

This signal is emitted when a plot title is clicked.

event is the mouse event that caused the click and title is the plot title that received the click.

See Also
titleDoubleClick
void QCustomPlot::titleDoubleClick ( QMouseEvent *  event,
QCPPlotTitle title 
)
signal

This signal is emitted when a plot title is double clicked.

event is the mouse event that caused the click and title is the plot title that received the click.

See Also
titleClick
void QCustomPlot::selectionChangedByUser ( )
signal

This signal is emitted after the user has changed the selection in the QCustomPlot, e.g. by clicking. It is not emitted when the selection state of an object has changed programmatically by a direct call to setSelected() on an object or by calling deselectAll.

In addition to this signal, selectable objects also provide individual signals, for example QCPAxis::selectionChanged or QCPAbstractPlottable::selectionChanged. Note that those signals are emitted even if the selection state is changed programmatically.

See the documentation of setInteractions for details about the selection mechanism.

See Also
selectedPlottables, selectedGraphs, selectedItems, selectedAxes, selectedLegends
void QCustomPlot::beforeReplot ( )
signal

This signal is emitted immediately before a replot takes place (caused by a call to the slot replot).

It is safe to mutually connect the replot slot with this signal on two QCustomPlots to make them replot synchronously, it won't cause an infinite recursion.

See Also
replot, afterReplot
void QCustomPlot::afterReplot ( )
signal

This signal is emitted immediately after a replot has taken place (caused by a call to the slot replot).

It is safe to mutually connect the replot slot with this signal on two QCustomPlots to make them replot synchronously, it won't cause an infinite recursion.

See Also
replot, beforeReplot
QSize QCustomPlot::minimumSizeHint ( ) const
protectedvirtual

Returns a minimum size hint that corresponds to the minimum size of the top level layout (plotLayout). To prevent QCustomPlot from being collapsed to size/width zero, set a minimum size (setMinimumSize) either on the whole QCustomPlot or on any layout elements inside the plot. This is especially important, when placed in a QLayout where other components try to take in as much space as possible (e.g. QMdiArea).

QSize QCustomPlot::sizeHint ( ) const
protectedvirtual

Returns a size hint that is the same as minimumSizeHint.

void QCustomPlot::paintEvent ( QPaintEvent *  event)
protectedvirtual

Event handler for when the QCustomPlot widget needs repainting. This does not cause a replot, but draws the internal buffer on the widget surface.

void QCustomPlot::resizeEvent ( QResizeEvent *  event)
protectedvirtual

Event handler for a resize of the QCustomPlot widget. Causes the internal buffer to be resized to the new size. The viewport (which becomes the outer rect of mPlotLayout) is resized appropriately. Finally a replot is performed.

void QCustomPlot::mouseDoubleClickEvent ( QMouseEvent *  event)
protectedvirtual

Event handler for when a double click occurs. Emits the mouseDoubleClick signal, then emits the specialized signals when certain objecs are clicked (e.g. plottableDoubleClick, axisDoubleClick, etc.). Finally determines the affected layout element and forwards the event to it.

See Also
mousePressEvent, mouseReleaseEvent
void QCustomPlot::mousePressEvent ( QMouseEvent *  event)
protectedvirtual

Event handler for when a mouse button is pressed. Emits the mousePress signal. Then determines the affected layout element and forwards the event to it.

See Also
mouseMoveEvent, mouseReleaseEvent
void QCustomPlot::mouseMoveEvent ( QMouseEvent *  event)
protectedvirtual

Event handler for when the cursor is moved. Emits the mouseMove signal.

If a layout element has mouse capture focus (a mousePressEvent happened on top of the layout element before), the mouseMoveEvent is forwarded to that element.

See Also
mousePressEvent, mouseReleaseEvent
void QCustomPlot::mouseReleaseEvent ( QMouseEvent *  event)
protectedvirtual

Event handler for when a mouse button is released. Emits the mouseRelease signal.

If the mouse was moved less than a certain threshold in any direction since the mousePressEvent, it is considered a click which causes the selection mechanism (if activated via setInteractions) to possibly change selection states accordingly. Further, specialized mouse click signals are emitted (e.g. plottableClick, axisClick, etc.)

If a layout element has mouse capture focus (a mousePressEvent happened on top of the layout element before), the mouseReleaseEvent is forwarded to that element.

See Also
mousePressEvent, mouseMoveEvent
void QCustomPlot::wheelEvent ( QWheelEvent *  event)
protectedvirtual

Event handler for mouse wheel events. First, the mouseWheel signal is emitted. Then determines the affected layout element and forwards the event to it.

void QCustomPlot::draw ( QCPPainter painter)
protectedvirtual

This is the main draw function. It draws the entire plot, including background pixmap, with the specified painter. Note that it does not fill the background with the background brush (as the user may specify with setBackground(const QBrush &brush)), this is up to the respective functions calling this method (e.g. replot, toPixmap and toPainter).

void QCustomPlot::axisRemoved ( QCPAxis axis)
protectedvirtual

This method is used by QCPAxisRect::removeAxis to report removed axes to the QCustomPlot so it may clear its QCustomPlot::xAxis, yAxis, xAxis2 and yAxis2 members accordingly.

void QCustomPlot::legendRemoved ( QCPLegend legend)
protectedvirtual

This method is used by the QCPLegend destructor to report legend removal to the QCustomPlot so it may clear its QCustomPlot::legend member accordingly.

void QCustomPlot::updateLayerIndices ( ) const
protected

Assigns all layers their index (QCPLayer::mIndex) in the mLayers list. This method is thus called after every operation that changes the layer indices, like layer removal, layer creation, layer moving.

QCPLayerable * QCustomPlot::layerableAt ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  selectionDetails = 0 
) const
protected

Returns the layerable at pixel position pos. If onlySelectable is set to true, only those layerables that are selectable will be considered. (Layerable subclasses communicate their selectability via the QCPLayerable::selectTest method, by returning -1.)

selectionDetails is an output parameter that contains selection specifics of the affected layerable. This is useful if the respective layerable shall be given a subsequent QCPLayerable::selectEvent (like in mouseReleaseEvent). selectionDetails usually contains information about which part of the layerable was hit, in multi-part layerables (e.g. QCPAxis::SelectablePart).

void QCustomPlot::drawBackground ( QCPPainter painter)
protected

Draws the viewport background pixmap of the plot.

If a pixmap was provided via setBackground, this function buffers the scaled version depending on setBackgroundScaled and setBackgroundScaledMode and then draws it inside the viewport with the provided painter. The scaled version is buffered in mScaledBackgroundPixmap to prevent expensive rescaling at every redraw. It is only updated, when the axis rect has changed in a way that requires a rescale of the background pixmap (this is dependant on the setBackgroundScaledMode), or when a differend axis backgroud pixmap was set.

Note that this function does not draw a fill with the background brush (setBackground(const QBrush &brush)) beneath the pixmap.

See Also
setBackground, setBackgroundScaled, setBackgroundScaledMode

The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPAbstractItem.html0000644000175000017500000024717612236016575024027 0ustar dermanudermanu QCPAbstractItem Class Reference
Main Page · Class Overview · Hierarchy · All Classes
QCPAbstractItem Class Reference

The abstract base class for all items in a plot. More...

Inheritance diagram for QCPAbstractItem:
Inheritance graph

Public Functions

 QCPAbstractItem (QCustomPlot *parentPlot)
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const =0
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Functions

virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)=0
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
virtual QPointF anchorPixelPoint (int anchorId) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

The abstract base class for all items in a plot.

In QCustomPlot, items are supplemental graphical elements that are neither plottables (QCPAbstractPlottable) nor axes (QCPAxis). While plottables are always tied to two axes and thus plot coordinates, items can also be placed in absolute coordinates independent of any axes. Each specific item has at least one QCPItemPosition member which controls the positioning. Some items are defined by more than one coordinate and thus have two or more QCPItemPosition members (For example, QCPItemRect has topLeft and bottomRight).

This abstract base class defines a very basic interface like visibility and clipping. Since this class is abstract, it can't be instantiated. Use one of the subclasses or create a subclass yourself to create new items.

The built-in items are:

QCPItemLineA line defined by a start and an end point. May have different ending styles on each side (e.g. arrows).
QCPItemStraightLineA straight line defined by a start and a direction point. Unlike QCPItemLine, the straight line is infinitely long and has no endings.
QCPItemCurveA curve defined by start, end and two intermediate control points. May have different ending styles on each side (e.g. arrows).
QCPItemRectA rectangle
QCPItemEllipseAn ellipse
QCPItemPixmapAn arbitrary pixmap
QCPItemTextA text label
QCPItemBracketA bracket which may be used to reference/highlight certain parts in the plot.
QCPItemTracerAn item that can be attached to a QCPGraph and sticks to its data points, given a key coordinate.

Items are by default clipped to the main axis rect. To make an item visible outside that axis rect, disable clipping via setClipToAxisRect.

Using items

First you instantiate the item you want to use and add it to the plot:

QCPItemLine *line = new QCPItemLine(customPlot);
customPlot->addItem(line);

by default, the positions of the item are bound to the x- and y-Axis of the plot. So we can just set the plot coordinates where the line should start/end:

line->start->setCoords(-0.1, 0.8);
line->end->setCoords(1.1, 0.2);

If we don't want the line to be positioned in plot coordinates but a different coordinate system, e.g. absolute pixel positions on the QCustomPlot surface, we need to change the position type like this:

Then we can set the coordinates, this time in pixels:

line->start->setCoords(100, 200);
line->end->setCoords(450, 320);

Creating own items

To create an own item, you implement a subclass of QCPAbstractItem. These are the pure virtual functions, you must implement:

See the documentation of those functions for what they need to do.

Allowing the item to be positioned

As mentioned, item positions are represented by QCPItemPosition members. Let's assume the new item shall have only one point as its position (as opposed to two like a rect or multiple like a polygon). You then add a public member of type QCPItemPosition like so:

QCPItemPosition * const myPosition;

the const makes sure the pointer itself can't be modified from the user of your new item (the QCPItemPosition instance it points to, can be modified, of course). The initialization of this pointer is made easy with the createPosition function. Just assign the return value of this function to each QCPItemPosition in the constructor of your item. createPosition takes a string which is the name of the position, typically this is identical to the variable name. For example, the constructor of QCPItemExample could look like this:

QCPItemExample::QCPItemExample(QCustomPlot *parentPlot) :
QCPAbstractItem(parentPlot),
myPosition(createPosition("myPosition"))
{
// other constructor code
}

The draw function

To give your item a visual representation, reimplement the draw function and use the passed QCPPainter to draw the item. You can retrieve the item position in pixel coordinates from the position member(s) via QCPItemPosition::pixelPoint.

To optimize performance you should calculate a bounding rect first (don't forget to take the pen width into account), check whether it intersects the clipRect, and only draw the item at all if this is the case.

The selectTest function

Your implementation of the selectTest function may use the helpers distSqrToLine and rectSelectTest. With these, the implementation of the selection test becomes significantly simpler for most items. See the documentation of selectTest for what the function parameters mean and what the function should return.

Providing anchors

Providing anchors (QCPItemAnchor) starts off like adding a position. First you create a public member, e.g.

QCPItemAnchor * const bottom;

and create it in the constructor with the createAnchor function, assigning it a name and an anchor id (an integer enumerating all anchors on the item, you may create an own enum for this). Since anchors can be placed anywhere, relative to the item's position(s), your item needs to provide the position of every anchor with the reimplementation of the anchorPixelPoint(int anchorId) function.

In essence the QCPItemAnchor is merely an intermediary that itself asks your item for the pixel position when anything attached to the anchor needs to know the coordinates.

Constructor & Destructor Documentation

QCPAbstractItem::QCPAbstractItem ( QCustomPlot parentPlot)

Base class constructor which initializes base class members.

Member Function Documentation

void QCPAbstractItem::setClipToAxisRect ( bool  clip)

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
virtual double QCPAbstractItem::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
pure virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

Implemented in QCPItemTracer, QCPItemText, QCPItemBracket, QCPItemPixmap, QCPItemCurve, QCPItemLine, QCPItemEllipse, QCPItemRect, and QCPItemStraightLine.

QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inline

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inline

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signal

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtual

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtual

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::draw ( QCPPainter painter)
protectedpure virtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPLayerable.

Implemented in QCPItemText, QCPItemTracer, QCPItemPixmap, QCPItemEllipse, QCPItemBracket, QCPItemRect, QCPItemCurve, QCPItemLine, and QCPItemStraightLine.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtual

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtual

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QPointF QCPAbstractItem::anchorPixelPoint ( int  anchorId) const
protectedvirtual

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented in QCPItemText, QCPItemPixmap, QCPItemEllipse, QCPItemBracket, and QCPItemRect.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protected

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protected

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protected

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protected

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/InheritanceOverview.png0000644000175000017500000017746112236016574023651 0ustar dermanudermanu‰PNG  IHDRJëW\ï[€IDATxÚì tUÚ¿ Ñ$ÃÇ„M F¢ÈŒ2¬a¶%è'‹gFV ÊÁQÁ \H¢€Y; é„΂ ˆÈ ¸ b\˜ŒB€öÿÿ}Ü“{ʪêÛÕN œßsrr*éNuÕ½¾O¿÷¾oƒÿG!„B!× 8„B!„ê !„B!„Po!„B!„zC!„B!ÔB!„Bõ†B!„B¨7„B!„B½!„B!„ê !„B!„zC!„B!ÔB!„B¡ÞB!„Bõ†B¹ ùµ'¹ sÁ·%!ÔB!„x#6—.]ºxñâ… ªÈåÂe0˜á9|‹B½!„Bˆ%±¹pÑùÊú#ƒÞ×mh¯Uüº²_1ÉYCÙþæ¦C?ÿüó¹sçà9!ÔB!„¸n3pÂŽ´ô=6Ç銾xm&á¼sÕü¢áçjþ[M¥†ÿ8«á§j~¬æ ßÿ}Åoù®š3¾­æ_WsZÃWÕ|iÆÕ|^Í)3NVs¢š›q¼šO53ðÉeJʯØPü—1›FÏØ¡ÀHbÌi8„Po!„âDÌóV5Óæt:@‹5QZ¥9g†Ñd´2£·&#Й̙ßbj2¦£0­À¸’ðY5'ÌP ŒÖd„º­æc3ŽhøèБ^£7¾’]‚AÀ`Òp¡ÞB!ĽÞtµåÐñïÅ®™®‘É™ŸÍP(Öj¤Éü`†ÑdLÓ2ßša4™¯4xšŠÑ:ŒÑdŒ£Å˜ŠÑiŒNf¤½6ãP5]æµ…)ÞÃÕb@0Ú0OX(ß´„Po!„bî6°šÐ^«dE­ØÈ%gÿ5`1Q#ó3ß›áõJ3`1-£°W2£PW Ò2Òd>2ãÃj>¸LaqytR&NŽ›Â0b^¨7„Po!„âRo`5RoªªªŒI›ÿš¡HÔ˜®:3u¢Æ¸äL‹ÑjŒ&ã*QãÅV™ ·ÊèR4¦ ÌŒ‰™ŸùÐŒª9x`vð—„Ât`š¸>ê !„BÌõæÂ… BodêF['àí·ß¾é¦›ð}ýúõZ·ÁCíÛ·ÇCqqq/¿ü²›Õ„††öëׯ¼¼\è ~#”F¨õF·£Æ¸‘g6lXdd$. K—.+W®nƒó›êb# ÌåVo>1¿×º ~”z#d¿Ñ*\u¦MÔÝFê Àì”––âµ0vLõ†ê !„BTz£]™&ݦ¨¨(<<VƒÀzÆ 8.,,z³ÿ~ü˜••Ù@~ï½÷J½yˆÁÃ?ܵkW©7"o#´ncEotàE{õêõàƒâ¥á'­¿þõ¯VôÆtAšÅì§z£ËÞèÜÆ#½q88-îúìÙ³ÔB¨7„BñFoî¼óÎçž{N.H[¼xñ!C„Þà÷ÛH½ŠFiõ¦!60™'žx¢U«V!!!#FŒ€u½ÁÒÓÓ›4i¹råJ<OˆŠŠÚ´i“Мùرcºý6Úó ±ÁÁ¬Y³š7oîçç½Ù»wo¿~ýpªÆ'%%•––ê²7°ˆ{î¹O€¼M:U¬Iz“‘‘  ¼õÖ[srr„ÛH¤ÞèÄFüF¤qp%â üãq#Bi 0ãÇÇƒ ¥ÔºÐ›à$_}õõ†ê !„B¼Ô›˜˜˜£GJ½Áqll¬Ð›èèhÜ ½9~üø¤I“ºtébÌÞhW¦Í™3§gÏž%%%p•aÆ=ôÐCRoF ¯X´hLæþûïÇp 1oºvíŠ_èöÞè²7ø±oß¾ÅÅÅ"{“••BŒ9røðá:½7nÜ_þò—ÂËôèÑC«7½{÷†Á7&NœØ¡CWÙ…Þüío{ÿý÷á*x•Ûn»MèÍäÉ“1JÛ·oǽ 0à¾ûîzS^^®ÓÜ#õ†ê !„B¼Ô›ÀÀ@‰Ôã7Bop91ÖÙŒ¦M›Šôˆ¨+àJoþð‡?@$ÄÊ48@Ë–-¥ÞÀ¾ùæ›S§N‰Ü¬ÇBo÷Ú5köûßÿ~ðàÁ$Wzc·ÛM7Þ@-ðç:½iÕªÕÎ;Ų´;vhõfÿþýBiðÒAAA¢®€Gzc³ÙIJ4‡Ãz·eËq }jÞ¼9õ†ê !„Bjª7²Ý"{sà 7Èì ¢yS½1-›æJoà þ—iذ!Âw©7rã Žå®q¬-›xàºvíêJo´u ‰‰‰Mš4†×V#õÖûz#œÄtïøÑS½Ñî½ÁBiðŠ «#@½!„zC!„ßëqïMjjªÜ{ó /x¡7~~~Z½iÓ¦Mii©±*´BoŒ½n`5zƒó+ô¶hÑ"˜Œ¥¬¬LZ•ì©Þàå´%¡MõFÔp¥7±±±x!cUhê !ÔB!„ø@odǻݾaÃxÅÛo¿ãÜÜ\Qzÿþý‘‘‘ŠÊi®ôF”_“zó¯ý«W¯^b Ífƒ>‰²inõæoû. B+;vl—.]„Þ„……íݻוÞDDD¼öÚk0¼Vrr²Qo´{ozöìéVoBCC·nÝZ½IOOïÚµëæÍ›KJJpGIIIÔB¨7„Bñ½Þ€uëÖ%$$øûû#DZ¶¡'bñ[n¹% >>þ•W^ÑéÍ´z3wî\±6LVN{úé§ÿð‡?ˆÖ:o½õ–E½Yµj”Ÿéß¿QQ‘Л™3gk+§i«B¯X±W{Ýu×EEEÍž=Û¨7°ˆ´´4\!NûðÃã™j½œˆ—“z£E§7ÚªÐRo 0?þx\\îãðüóÏSo¡ÞB!Ä÷zó_ )))Z½1–MÆÔÐ-Ö›Þ|m†\œ¦« -¨yÓÙñ&''§eË–BoL›Þ­FfoŽ˜áiÓa5ÔB¨7„B©-½At† ßS½1ºVoÎh°¨7º7Z·1ÕÓ²i ½3fŒÝnÏÍÍMLLÄ1ÜæØ±c¾Õ›ÍÐm¼zc/.‹ê½šzCõ†B!Võ¦CÚÆOOý¨Ö‰Qo~Òp èÍŒ3š5k—>|8¬Ã•ÞÕP{z³b]Ác6Po¡ÞB!ĪÞL}Î>y±½–ô¦Â ÅÊ4£Þœþ- ½ùÜ …ÞüÛ ¹8íÓj<Õ›ÃiðBoú=´qêü­‡'Ç-So¡ÞB!ÄÞ|ûÝOïÝüآ£'*Ôzó Š•i^dozcºñÆ¢Þh˦ՒÞ|¬A‘ºñHoÀ¦íEƒ'¾Ûs亼üý¥¥¥xEÜ~eeåÅ‹©7„Po!„b®7—a2Ÿùí# ònþNh¯Uõýëw1C®»èp÷º±[öÙòŠŠŠà<ð.H fŠzCõ†B!.q:çÏŸÿé§Ÿ¾úê«cÇŽüñÇ?~ü‹/¾øöÛoÏž={îÜ9Ìß±„Po!„âÆpÎW]\’ýQÊıý²¹÷æŠÅ$g ž´uiæØæwß}÷ÓO?ýòË/ÜuCõ†B!î¹pÑ9pÂŽ´ô=û|Uñãÿm^¿páB•†ó~Ñ`¬´V©Á´ ¨§ s¥¥eù5·%×tu¥]uÎ1Öa;UÍI3dA6Óòk¦uØ$® ²9Ê­|Çqûý›GÏØÛÇ0bÌ™º!„zC!„÷Ì[qpÔL›ó2Âm„ÞH™9gÀè6¦zcZHZºº´©ÉÔ¤¢´±mŽºaŽÑj>3ÃXfú¸Rl\5Ï1¶Ð9|ä( çõõ命a]B¨7„BQñ믿vµåÐñï:_ºtIæmŒ&£ÎØè¬F‘Ÿ±˜¨1šŒS“1MÑXi’cĮ̀ÆmŸ#RfMr´-AÅö›åë‹OÚŠÛÄb.¸>ê !„BTÀjB{­nƒèY$m\åg\%jtÉÅ’3-¦kϤÒs2ZÜ®:óh¥™"'#­F+0ê•fGÍ>£#ÚÖŸø^äø :)×€qÀ cv˜À!„zC!„sDÙ4èÎm€i~F±üÌtá™i~ÆJ¢F½ÒÌÕb3mŠÆúJ³fÈ´Œ+™Q¬43Mέæ#3>¬æƒËೃ?Ç-`Ä`›ÜCõ†B!.õV#õFº«åg£Õ˜.B“z“•••€ï™™™Z«ÉÎÎn×®Š}á…DƦA5M›6MJJ*..Vƒß·Á•UgƵg:«Áyt‹ÍÄoL—œ¹ª ]rfºêÌÔj>4ãƒjVƒÙ)//Ç•`X0ò\ŸFõ†B!.õæÂ… Bop —¥™®C3ºE½ÉËË ƒÕ@*à98¶ÙlBop€ßzë-1C¡7‡5¸Z~æÊmtzSRR‚ׂ×aÀÙÙ“ê !„BÜè(˜æ[½‘©›Áƒ/X°@®IÃqjjªHݤ¤¤,\¸ÐXMê 8vìX£F´Ù›„ÛÀa¦L™Ò²eË&MšÜ}÷Ýð !6xÂäÉ“ƒƒƒ#""Þxã <'$$¤yóæëÖ­s›½ÁÁœ9sZ´hxë­·æää¥ÀLš4 ¿Çi‡Z^^n¥`€qAšu½øáÌp9Œ3õ†ê !„B¼Ô‹+ÓÔzØ]ê Žcbb„Þ´jÕ ¼Bo ãÇïÔ©“éâ4™º™5kV= ¡PŽüãRoFމ“ÌŸ?Ž„cxżyóÚ·o¯Ð‘·ÁAŸ>}l6.>Ó¡C¡7?þx·nÝöìÙãp8 gcÆŒñ¹ÞÔ ô'ÁmRo¡ÞB!ä ëM`` „Dê Ž„ÞàQ»©ÞBBBàv»]«7rqšÔ›6mÚÀCÄâ´²²²-ZH½6œ}zbbâ¶mÛ`)[¶léß¿mT…¦ÞB½!„BˆôÆ·U¡EOÏÌÌ̶mÛúûûCÖ¬Yóhè{÷â‹/ІžnõföìÙÁÁÁ²rfΜ9mÚ´­u–-[f]o´XÑ8ÌŒ3âããñZ7ÞxãÒ¥K-êGeÓ¨7„Po!„Rwzc±®€ÐÉ€àZ½1n¼ùFÃׄÞhW¦Ylzó™†Õø¶é«BSo¡ÞB!Ä—z㓲i:½)++ C¬¯sS½ùÚ OõÆØÐS­7Ç5È7¾Õ·+Ó¨7„Po!„reôF]WàûßRqcêÆºÞ|UÑm,êÍ W§Þ”_öⲨޫ©7„Po!„bUo:¤müôÔWVo´eÓ®½Ñ–MS¸M­êͲì¼;Ælzƒ[¦ÞB½!„Bˆ½™úœ}òb{ÍõÆ´®@…éÍéߢÐÅÆS½±¸ñÆS½9¬á/ô&ùÁw¦ÎßZRR‚“ãÞ1ìÔB¨7„BQéÍ™Š³îÙôآ£'*Ôzã]Ù4²7ë Ô¥ÞX\™V“ªÐºº`Óö¢”ñ›zŽ\—_PÕÁe`@*++/^¼H½!„zC!„s½A¸üË/¿|ñÕ™IólºkCh¯Uõýëw1C®»¸í®µc3¶äæ8pF+ƒb¦.]ºD½!„zC!„sœNgUUÕÙ³g¿þúëãÇ#’v8v»½°°pý¤Aƒû¯ 0 ˜‹>øàرc_}õÕO?ýtþüyÌß´„Po!„bŽLàüðÈ¡ÿýï9r!uY½zSvM€Y8|ø0œóË/¿¬¨¨øïÿË•i„Po!„âFoœNç… ~þùgÎéÓ§Ož<‰Zì§?ZÞ­ç`ä1þ˜…Ï>û 3·©¬¬¬ªªbê†ê !„BÜÎùª‹K²?4>'&ieÓÄW›v{¹i·¥ø 鶤Þ}µê_/[ûÕêo¯¥ŒÝ°tMá×_ ·ùÏþsîÜ9¦n¡ÞB!Ä=.:NØž–¾{oñß|wVTH3mbcZîY]åÙ´$š±0š¢î³®³®HÚ) Æ"iŠjiºÒÏFÔEÒŒÕÒL‹A˦iqUBmQÙëYù½F­5m‡Ð›óçÏSo¡ÞB!Ä=óV5Óæt:@_¸pÁJ÷›Êj¼(- F[t¤oÌ0z‘+5rU<Ú¢éŒÈˆÑ‘\’6>l@«C~xè/£7¾º¶c…1çâ4B¨7„Bqï¿þÚ}Ô–CÇ¿¿té’ÐÙßSð‹FÏѪŽÚsL{ãx R{ŽÄbÚÇTx\õÉñToL{€š6É‘ËÖÙS'æàú1DPM&p¡ÞB!D…Óé íµ ß…ÞH·‘&ó³ ¥1µcêÆTij’½ñt1›NfNüӌͧ‹Ùj¸†M¬U³8”‰ ²04!ÔB!„¨øõ×_a5УÛx´8M«4¦Vó½Z½1&jL·è(öêMF‹bŽ"3£SÅþ N˘.?3nÅù šƒ—ÁfG¶õÄt`¦ø¾%„zC!„s½ÕH½Ñæmzãv¿ÍÚµkð=++K«7xè–[nÁC±±±/½ô’ÈØ4¨¦iÓ¦III‡Cè ~#ô:·1n³QèÖjV¬XqÓM7]ýõÑÑÑ ,0Š+½±¸äL½ê̘Ÿ1-- õ`vÊÊÊp ø$×§B½!„BˆK½¹pá‚ÐYT@· ÍS½ÉÏÏÏÎΆWà;ŽsssE–aaa«V­‚oÀaÒÒÒ¤Þˆì Ü`„ ]ºty­Þ¸ÚZã‘Þlß¾=44ôµ×^ƒoØl¶aÃ†ÕžÞ¸ÍØ(ÜF§7+¼nŽi¢ÞB½!„BˆJo´5Ó¬ëé~›!C†<ûì³reÚ‚ RSSEêxH,KÓî·‘zóí·ßÂ(5j¤Õ›Dö23uêÔV­Z5iÒdøðáÇŽzƒ'L™2%888""bùòåééé!!!QQQëׯzÓ¿ÿ§žzÊX0¨uü(ÜÓ¦MkÖ¬™ŸŸ^N4ÜVƒ·lÙ™4iR‹-ð¢C‡-++;b†4ïôæÀ8 \ãL½!„zC!„/õÆtãZo¢££ÇK½A#ô!ˆ×é ¬F—½éܹ³Ôá3ºÅi³gÏîÑ£‡Ýn‡6@*xà©7#GŽ„ À©àH£GÇíÛ·zÓ²eËÂÂBô¦wïÞû÷ï‡Aµk×nåÊ•BoÞ|óMüˆT·nÝvïÞ]\\œ’’"^ÑŠÞ¸]™V^^®ÓÜ#õ†ê !„Bj]o´ua&Ro`#øÐœ>}ÚXZ&gBBBúôéUPëM›6mòòòÄÊ4h¤E,KÃÓ`Ÿþ¹0ƒ8zƒ8‰±­Bol6›(*0kÖ¬~ýú ½INN†bá >>~ûöíbqZAAATTõ†B½!„B®½1fo"##eö?šêiÙ4Wz䙆 â!|—z#÷ÞàXî½Á±ÌÞØívôb#ôÆáp4nܸ¨¨gÀØc¼ê !„zC!„\y½±^Z]6͸÷fРArïÍâÅ‹½Ð???­Þ´nÝša¬+ SYW@êMÿþýŸ~úic§ÎÀÀ@¸‡8Æ™µz#KBòÉ'œ:uê”)SpGbN\\Üž={Ü6ë¤ÞB¨7„BÈÕ¨7n«Bçåå…‡‡¯]»^ï8Þ½{·Ð›ÜÜ܈ˆˆÕ«W‹Êi#FŒ0ÕÙñFêMXXN+«B?ùä“={ö´Ùlœ<%%Å¢ÞlÛ¶ ×óúë¯Ã4Då4¡4þóŸ~øaX~Ù»wo£ÞÈ-7±—›p`5Ó¦MKLLÌÉÉœ¼ûî»ýúõóº*´®®õ†ê !„B| 75© -ºyfeeµmÛÖßßz™™©må ái×®]@@@\\œè{cEo222‚ƒƒÅИÌܹsÛ´i#Zë,_¾ÜŠÞˆŠ²ïMLLÌÂ… …Þlß¾ý¶Ûn lѢŜ9s\é |¦ÅeD 5|‡u̘1#>>Wrã7.Y²ÄWeÓ¨7„Po!„RwzcZ6íÇjÄÊ´Μ9óûߢ« }¦£Þ|m†ì{ó¥+Mo>Ó [œæ«¦7>© -¬†zCõ†B!¾Ô/ªBëô1zXXBs­Ûè6Þxª7Ɔžj½9YÑmLõæ¸íÆêÛ7ÔB¨7„B¹2z£-›¦Ó`LÝø\o¾ÐPgzsTƒÏõ¦ü28(,*꽚zCõ†B!Võ¦CÚÆc'¸²zc,›VzcqeÚÔ›7²rï³Áápàä¸eê !ÔB!„¸Ñ›)‹ [TXs½ùQƒÔ› 3<Ò›Ó¾ÒàÑÆ›ÚÓ›5h+AkëA{­7I¼¾`[ii)^Ca§ÞB½!„BˆK½¹xñ♊³Gl|ôÙýGOTÔ°*tͳ7ßhPÔ°®7)9^è·zclz£S·eÓÀÆmöAã6ö¹®`¿?âz08˜Ìõ†ê !„B̹téÒ¹sç¾<ýÝÄgöýqØúÐ^«êû×ïb†\wqë°ìqO¾—_PXRR5‚žA!Ÿ˜/¾i ¡ÞB!ħÓyáÂ…ÊÊÊ3gÎ|öÙgGŽ)//w8ÅÅÅEõ“ Õ0þ˜ÌÜæßÿþ÷7ß|söìÙªª*Ìß´„Po!„bί¿þ*8?ýôÓ·ß~{òäÉO>ù’£[1U€Þ|PÿÁø:tsçüúë¯üñÇ_~ù…+Ó¡ÞB!Ä N§q3¢ç³gÏÂp¾øâ HŽ«­)W?Л×gÄÎ@l0ß|óÍ?üðóÏ?³¨!ÔB!„¸Aóùª‹/¯;œ:éý¸þk¹÷æŠÅ$g¥NÌy%»¶YQQQYYyþüyîº!„zC!„÷\¸è8aGZú›ãtÅÿ—%UÎø¥šŸ5Èk•Õ˜VZó¢aŽÅÒÒê’kVJK›¶ÐÑÕ^Ó!ëM›6U×asUoÚQvhùú¢^£7Žš¾ ÷ˆ±:wîô†ÙB¨7„BQˆyÞŠƒ£fÚœN'hé6ÒdΙaZ<Úh5®dÆ•Òh­Fg2g~‹ºôiF¥ÑU”>õ[L愊ŠÒZÔ¥¥¥>üÑ¡#0œ¥™p¿L‘À¡áB½!„BˆJoºÚrèø÷/^¼(Ó5Òdt)5¦-q¤Ï˜&gÔ?]µþ¦iEoW2£hc1-ó‰ÒgL[â{㈠o¬-L™ð®‚A†y²r!ÔB!„¸tXMh¯UÂm=K±Ñ.?3ö÷´˜¨‘>ó½ ¥q•Ÿ‘XLË(¬æ3 Vr2Æ´ŒÎd¬§e™¡kôYX\”‰sâ¦0Œ˜ê !ÔB!„¸ÔXÔ›ªª*cÆæ¿fèôÆU¢Æt#©Þ5Š4¦{iŒ&£NÔèÜÆ´|™NiŽÐêÑdL5ºüŒÎmda胗ÁfßqILkCB½!„BˆK½¹pá‚ЙºÑÕ 0ºõuh›ììì„„„€€|ÏÌÌÔ®CÃCíÚµÃC±±±/¾ø¢Ð›Õ4mÚ4))éÀBfðá38P—0Õ£ÕÈ ¹ãŽ;öìÙ£ÖÓ%gøscÆF¡4Z«ùЀ¶ïÍÁj0;¥¥¥x-Œœå¡ ¡ÞB!ÄÞhW¦¹ª‡æ©ÞÀmòòòÂÃó²²àøŽc›Í&ò68 {ë­·ð&--MêHÝÀÆߥK‘®Áïåéš4+z£]†óˆ¼ ä/tÛm·ùVotÙcÆÆºÞ8œwq¦ÞB½!„BH­èz¿ ôfðàÁ .”‹Ó,Xšš*ô&%%«H½ŠFiõ¦á6°—)S¦´jÕªI“&wß}7”C( ž0yòäàààˆˆˆeË–M:5$$¤yóæëÖ­Óé dj$Ä/ú裶lÙ'6lzK;vlTTΙžž.ÜF¢p/ôæ Ìô'ÁýRo¡ÞB!Ä{½1Ýxc]o¢££ÇËÍ6ˆàcbbÄÊ4 bwc9]ö¦S§NÆì6u3kÖ¬=zB†úüCêÍÈ‘#q8iÔ¨Qx¼yóÚ·o/öÛh³7ãÆûÓŸþ$ôfÚ´i‰‰‰6› ¿‡ŒÝÿýb×ÍÃ?ܹsç]»v9œÍUöÆ¢Þ|h†VoÊËËuzƒ›¥ÞB½!„Rw2¹J¨{½qÕÍ&00B"õæôéÓøÐ›€€ø‰©ÞÈ-1}úô±Ûíj½iÓ¦Mnn®X–%hÙ²¥ÔŽ?ŽcxÂÉ“'!$x]©7’ÈÈHœDèMëÖ­wîÜ)V¦µhÑBè Ä,''GW*zC¡ÞBȵf5¢äÅj.+ÌfÄ¢çhõF¶»ñ¡Þ³7 ™½Aoìo£]œ¦-›æJo‚‚‚ü/Ó°aC<„ïRoäÞ˽78Öfoà0ûöíëØ±ã+¯¼"ôÆxB¡73\?õ†B½!„k“ ¯¬?2øáqý×"ãוýŠí—}×äo½{~Q®É©c½Ñ•M{o¤Þ,X°`РABoRRR-Zä…Þøùùiõ¦uëÖv»ÝXW@êÍ©S§z#”&???""‚ãøøx›ÍflÙiš½ÁÅX¯+@½!„Po!äêu›v¤¥ï±9NÿÓ/ƼM•s´-#uat¥†ÿp»ÙCÑhÅØDÒ[«û®¸j"©(ÞuÊ W­W¼è,)›±”<²òÇí÷o¾Ö^ Æc~éÒ%u(lª7>)›&¦#77WVNËÎÎÆñîÝ»Å,@!`«V­Âí#|1b„ÔmûN£Þ„……áoå,<ùä“={öÜ·oFl×®]Ð'/ôôë×ï©§žÂÁÌ™3»wïþþûïÃUà3 eÓyä‘Î;ãúåÞˆMhhèÖ­[}¢7º²iÔB¨7„BêŽy+Žši“ËÒ„Òœ¯æœF¥1µW2#bhuËHSQ›Œ¢w¤±q¤Ûêà Ѣ­É{G5  ¬þø/c6½¶® ÂQ…±¨›ÜמÞÈÙÉÌÌlÛ¶­¿¿?tÇbšÄŒÈ¾7qqq/½ô’E½™={vpp0~J‰‘Ÿ;wn›6mDkeË–¹ÒY0ÍToV®\‰‹•ÓfÍšÕºukœWþÊ+¯½¥<ôÐCÍš5ë?ñÄb.ÒÓÓÅÅø°lõ†ê !„:ÑU÷Q[ÿ^ºŒŒu&£EŸQçL•Æ(3ŠTŒ«lŒÑa$êTÌIjÑjŒ.ñ¢£ÉXÉ Èƒeëì©s cˆÜ6¹WëM ˦éüsÀ€3gÎÔê«YS8§6‡¦Î›©›Þ¸š W¹2¯'ÈëªÐÔB¨7„Bê§Ó‰K¦n´{6Œù‰BiÜÆÇ2D¶¸Àì3ŒVc+¬F'35YK¦³ckHm¬|¸šCfè"fûƒÑI™x!Ü ÆS£HàÔÞÈÜZYYYXXîÂÔH­ë¢¡§©Þ¨—ZÑ›šø§×u„ÞØ‹Ë¢z¯¦ÞB½!„R[ ´‚Õ 6º:,Öé¢Ü–«Í3:½ñh¥™éb3ELlj5ºøØ4,nР+™1&jÔi£Õ|dÀø©?0;x׉Ât`¦ÔzÓ!mã§§~ôZo<šGW ·«Po´“¨p›ZÕ›åkóï³zCõ†BH-ê ¬Fê6oã«ý芰8333!!AlŠX½zµ6&ÆCíÚµ»þúëcccŸþy¹aCдiÓ¾}ûÚív¿ÿþûýë_7nøç?ÿùÕW_5]ÑdÿÛ £ÞXüÈ߇å¶är¦²²2å0ø¤b}šÐ›©ÏÙ'/¶×’ÞT˜áц¨Ó¿E¡7¦šêÝ<ÖDoLÕÔ;½é÷ÐÆ©ó·:œ·Œa§ÞB½!„âc½Ë™ 7¦ }¥7ƘØf³………­Y³)¾ãxïÞ½" Æ~|óÍ7ž >\„ q€˜rܸq;wa1žþ¯ý«¤¤ì¦M›’““¯¸Þ¸ÍظÝ.õ1^7®þ¼_Ìæ·ßýÔùÞÍ-*}l6BRü²C‡u¹Ý‹Z[N§“ˆY€ ;v Ž{ß¿~½SM€YÀ\`ZñnÁ»ÿ(ðoM]é›B½!„reôÆ‹ýèÁ¥Þ vÇo„Þàfbª7‚Þ½{CE„ÞøûûCE„ÛÈçH½ù˜®h‚N4kÖLêÍûï¿/–3íØ±¢%õ¯"6l@‚‚‚®~½Á0GaÜ>.§…+–””8.s ¾)8PŸÃŽñÇ,`.ðV9uêÞð•••ÜxCõ†Bȵ£7ÆìMdd¤ÌÞàGEöF·aؽÑêvÃÆ–-[›4i"^$õþ ôº½7b?:~¬Ër[^è(…‡yDôŒAÆŸàŽp©º½@õŒùák¼I0xâŽ;˜#E© -¬Æë½7ÝGm9tü{„΢—‘ÈØMF±ÑY"Gg1Qc4-¦3nš¢±Ò$ǘ™Q ŒÛ6 Fäì»z¹4ß—¯/©aÌȉ\fW‚1ÁÈs}!ÔB!¾×›)‹ [TXs½1݉Qa†GzsZƒõ Æmµ¤7ÆPXÛíÄÕR%‹z“ôÀÛé ¶•––â1vµÞˆ\œØuc¬ƒçi­ˆ‚‚‚ðððììlŒ$dǹ¹¹bNq¶jÕ*ŒpIIɈ#¤Þˆ ÅÈL˜0¡K—.bBµzsú·x7§8éœõ¦&›©j2§ºZRo0\x ·³I¡ÞBñFo.^¼x¦âlÇYXpôDEÝT…Vèé–Œš|Ò¯[ÈTóÍåž~Òo ‹­„·ÙÛØs亂ývühåó~·MZ=Ó!C†<ûì³rB,Xšš*æxÈX+Bê À57jÔH«7Úd‹ÌÅM:µU«VMš4>|8†WÌ)ž0eÊ”àààˆˆˆåË—§§§‡„„DEEmذAêéîEöx-Y!¦råÊ•7ß|s`` Î?wî\1§˜¯‰'¶hÑ×€q€aÖ°žv'••\!„zC!Ä.]º„ øËÓßM|f߇­¯ï-¯FøºuXö¸'ßË/(,))AmLÇi÷ÞôéÓw¡Ö›6mÚäåå‰tn¶eË–"‡§Áp ´¶ðùçŸã8 @dá¼Ø{ƒƒíÛ·‹t\NN MèMóæÍg̘a³Ù´¹øøømÛ¶ ŸÉÏÏŠŠªáf*ê !ÔB!u(·…8Á"QŽþ~‰ íƒz¢Øê?|„Ѿ?ûì3hÃm§_é\mhÌÞDFF ½ÁCøÑToLºÒ›   ÿË4lØá»Ô¹àÇrµ¡Ør£ËÞhKá©õ·#ôà Cz³qãÆÞ½{‡„„ÄÄļþúëBoŒF½!„Po!¤~ ÚÛ#†ƒÀ ᣫ­)W?ºõ‹cü1 ˆïaP Ñç^ ›–ù®‰Þ÷Þ 4HèMjjêâÅ‹z£«!õÆÏÏO«7­[·.**2n¦z#•Æ¢Þè¬F‘½Ùºu«ÌÞ 4¯¾újxx¸Ð›¸¸¸Ý»w»ÚLE½!„Po!äêÖùª‹/¯;œ:éý¸þk¹÷æŠÅ$g¥NÌy%»n…¨¬¬„«¸í‘â…Þ¨kEäåå!Ü_»v­¬œ¶gÏ¡7¹¹¹kÖ¬qU9͕ބ……á´RoæÌ™Ó³gO›ÍcN¤¤¤ÔªÞôèÑ£  €ƒqãÆ ±0`l–½‰ŒŒU"žxâ‰nݺåääÀO6oÞܯ_¿šT…¦ÞB½!„Rw\¸è8aGZú›ãtÅ?‹¥MUÎø¥Óª\Æ6‘º­ž6̱XZZ]rÍJbÓ:Æ&’ZdmÚT]‡ÍUmbGÙ¡åë‹zÞ8jú.Ü#F¢â¶GŠºI«w¥ð²²²Ú¶mëïï7ÈÌÌÔ΋ì{§í{cZ OêMFFFpp°\¢†ÁŸ;wn›6mDkåË—[×ãÞ·z#*§áàcÐ1æ‹/Æ-Þ|óÍo½õ–ÐhÌôéÓãããqa7Þxã’%KjR6zCõ†BHèjÞŠƒ£fÚœN§è—"ÜFšÌ93L#f£Õ¸’WJ£žu&sæ·¨ IŸ6`T]EéS¿ÅT`N˜¡¨(­E]QÚXZaôG‡ŽÀp–fÀýb0EÇâÞOõÆt¦´4pàÀ™3gšVúþNƒ×•¾]Í‹«FF¦eÓÔ•¾¡75½±Ø¤•zC¡ÞBÈÕ¥7ÝGm9tü{Ñê^¦k¤ÉèR4%jL[âHŸ1MΨ;~ºjý):¨˜:Œ«ˆÙ•Ì(Úã(r2Ú´Œ«èÙ(0Ft ŸÞX[˜2á=\!ƒŒhØbå4¯›´ºÒèaaa¸~…Þ¨ýók3<Õ£sªõF;YBoäÞ¸]™F½!„zC!¤îÜV#úÜkËm «‘ËÏŒa±ÅDŒ¿7C¡4®>þ—XLË(¬Æ4>V+«„Œ§iÁGfèâãÂâòè¤Lœ7ÇÀ¼Ô¶ÞX_1¨hÒj]oÔ ­èé¬yª7G5ø\oÊ/ƒ{qYTïÕÔB¨7„BjQo K½ALlÌØ˜†Å:½q•¨qõÆt?ºúSÞ¨W45ºøØUXlšŸ1MÔ(ÂbE~Fç6ºOýq€ÙÁw\ÆÓ¡Ø#ô¦CÚÆOOýxeõÆú<Ö™Þ¸’ÒºÔ›eÙywŒÙ ô·L½!„zC!Ä÷z#>ï»nd­­š”Û2Õ› 3gff&$$´mÛvõêÕÚ˜µk×îúë¯}î¹ç„Ìh»FöíÛ×n·Ë°ø­·Þºùæ›ñü˜˜˜E‹™nØ0 ‹Õ6dXlqE“ ‹M•Fë6lÈåL¥¥¥x-È\‹Ùœúœ}òb{ÍõÆ£y´®7n÷DYÙxS“yôTo¼˜GWz“üà;é ¶•””àUpïêÙ$„Po!„x¯7®AÖDoL h7lØl¶°°°5kÖ ÅwïÙ³GÄÄ8Ào¾ù&‚à >\Ç¢âBC„•ãÆëܹ³ˆ‰wî܉ç/[¶ c~~þ]wÝå«ýè^ëMÍ÷£K½q88-îZýy¿˜Í3g;ݳé±E…GOT¨õÆ Mõ4{c±®€u½Ñeá¼ÓcþÍú<UÇÊ}ìvû‰'Úµk·zõj¡7«V­ºå–[ 9Ó¦MKLL´Ùl%%%а1cÆÔq¹-ïjm9Ϊª*< C‡ÛÁ áú‹ŠŠ ë-˜©ÂkÌ‚ÃáÀ,úé§ðsüKÁ?7E¡Bõ†BÈÓïö£@T¤Þ |Ço„ÞàZbª7‚Þ½{ïß¿_è žhÞ#½ÉÏÏ‹š222  ô¦ÿþO>ù$ô¦uëÖ;w`A-Z´¨ûýè^èLà`ØCãŽðÒ8!ÎVV?ÁL•Õ0þ˜ÌÞN˜Gü+À¿#®L#„zC!¤õFnF¯3½1fo"##eö?*²7º -[¶„x¤7ýņ ¼PãÆKJJð#¬&((Èÿ2 6Ä“ñ½¾èÓéÄs0wyŒÕ©S§„¤¹ê÷r•ƒÁÿ¤þƒÁÇ,àçÄ?ÊÊJüscê†ê !„«]o<Ú.öÞH½yæ™g(÷Þ,\¸ÐToL÷£ãçÍ›gÜ÷n{Ñêv?:^îñˤ¤¤ˆ8ñññ6›Íb¹-‹uê@oÄœž¯º¸$û£ÔIïÇöËæÞ›+þ“œ5xÒÖ—³x?ã8øWÆÔ !ÔB!u¤7>)›fEoöíÛ'+§effâøý÷ßå¶öìÙ±råJ˜†ÝnOKKSë þ0<<|ùòåŒüüü»ï¾[èMÇŽ}ôQ¸~Ù§OWz³jÕª¸ËˆM8xÑ3ftïÞ}ÇŽøÛœœœþýû×¶ÞèÊmy­7.:NØ‘–¾Çæ8]ñãÏbÙa•†óÎi0ör5¶pÕm»ò4ƒg¥´´±üšºë‘«Î9о®'ÍPÖ3mðêª ’öâ(;´bCñ_Æl=c7n#I½!„zC!¤žéÛ²ièDÛ¶mýýýáp m8+ûÞÀ:^xá£Þ|©ñ«ì{»xñbËîÚµë¶Ûn lÑ¢Åܹs]é Ö–—%ÔðÑê¬Y³âããEOž—_~¹ÎʦÕPoæ­88j¦ÍétŠV­.cj2:¥qU1ÏTo~2 6[£Éhñ´aŽQi<­(­«nÅjL¼ºZ¬h|c|tè çÕµ¥bã §B½!„R×z㓲ij½‘¡mÿþý§M›f¥Ï½+½qÛ ÒbÓÓéë¾*´×{oºÚrèø÷Òmä´êLF‹nÆu2£ÎÑYLÔè¦ûÛßbœqS™Q$jLÆÔd¼ë“ãõÔk›ä,[gO˜#J `´ÙÓ“ê !„ú§7A–””„††"Êw«7êÅHF½Q¬;²¨7®6å×j]¡7öⲨޫ=* Ù”©í~*c~ÆU¢Æ#w5MÔXlô©°Ìx´ÒÌ4'£pWõJ3ãúCíD»|jÑ͸ýÀÁè¤L†&„zC!¤võ¦CÚÆOOýèµÞxW6Íí^‹+®7ë ÔªÞ,_›ǘ õ¿‡Õ@oŒn£žSÝò3OçÔ˜¨q»Ò̘‘ÓYbBM­F7¹nçT'3Æz3•Ñj>2 ›Sq€Ù‘m=1˜)þWˆê !„ëÍÔçì“ÛkIo*ÌðzÓ…é¾ u(le׸oõÆ4üõNoú=´qêü­‡'Ç-cØÕz«‘z£ÍÛø°VDvvvBBB@@¾gffj•µk×ÅÆÆ¾øâ‹b6e«¢¦M›&%%kk|‹æÔÔj˜¡˜SÓ ÔµZ O.5,++Ã; ooø$ B½!„â{½ùö»Ÿ:ß»ù±E…GOT¨õƇeÓ¬ë鯛š„žêÅ•i¾ …7m/<ñÝž#×ååï1n_Ë¥†ÐÓ&­5ŸÓ¼¼¼ððpX Æ3++ Ç6›ML(ÂÂÂÞzë-ŒðÒÒÒ¤ÞˆÙÄhŒ?¾sçε¡7rNµVSÛzãQ­©7U¼ÞÉV EB¨7„B<Ó„ˈz?ÿòÛGäÝ6üúÞcäÚ蔂¯w¯›±Å–›_TT„ø1:3eEoDQOõÆÊ~›Áƒ/\¸PÊê‚ RSS…Þ¤¤¤à!£²J½ðŠFiõF›lb™2eJË–-›4ir÷ÝwÃd‡ÖÉ“'GDD¼ñÆS§N iÞ¼ùºuëzƒW|ôÑGÅÙ† ëÀoºwï¾|ùra5«W¯¾ýöÛµ—QK¥ðt…"àrÔB¨7„B|ÓéDŒ@ñÖ±cÇïß¿?¿Þ‚5ÿš³€¹(//GÀýÅ_À. +ŠÍènõ¦æµ"¢££ÊK½A#ô¦U«Vxó7Sé²7:ur•½z3kÖ¬=z†úüCêÍÈ‘#q’ùóçÑF…+™7o^ûöíz3mÚ´ÄÄD›ÍVZZ »ÿþû¡7ï¾ûn›6m`)8ÛÍ7ß¼sçNWÙn¦ò®Ì7!„zC!Äc½A4Œ0A*bhµ²²²’Ë8ê!ˆSõ™’j0 ˆ’mŸ:u ¶PYYé¶*´OôF±™*00ðôéÓRop ôPS½„„„ôéÓÇn·«õâ+Ó`-Z´zƒÑÀÞ¢8†*Àj %x]m­Þ´nÝö"V¦álb3UJJJzzúO<ñ÷¿ÿ]±8zC¡ÞBH=C”ÛªªªBôŒ8Q‚Bĺ-òõÄ©‡ë?ÄÙ˜ DùPètE]h«ô&::»6{)³7囩´‹Ó´Û¨\éMPPÿe6lˆ‡ð]ê¬c¹ñFvh5ÕãÙ„Þ¼üòË0Ÿ¨¨¨íÛ·So!ÔB¹Ö ç|ÕÅ%Ù¥LÜÛ/›{o®øWLrVêÄœ¥™D>šKq[eË´‹QMôÆX+bðàÁ ,Ðî½4hÜ{³hÑ"/ôÆÏÏO«7°»Ýn¬+ ôFÔp¥7ðÞÄÇÇÛl6c)¼Î;?õÔSÓ§O¿óÎ;…Þà2,Ö ÞB¨7„rUsá¢sà„ié{lŽÓ?þ,»ÝKÎPô¼7öQ1níð´aŽ¢´´¶ËŠºäši¿Hc狽#Å»\õ5ÆÖ¦V´Ùe‡V¾ã¸ýþÍ£gìÆÍb$EêÆçzãi)¼ÜÜÜððð¬¬,Üxvv6ŽwíÚ%+§EDD¬ZµJTN1b„½ÁŒ„……áoåt<ùä“={öÜ·oteçÎЧšèÍÌ™3»wïþþûïÃUrrr €)X½zu\\œÐ•„„„÷Þ{#ºuëV_•ÂÓÕ ÞB½!„RwÌ[qpÔL›ó2Âm„ÞH™9gÀè6žêÛBÒ¦&S“ŠÒƶ9^÷ŽÔb,3}Ü )6®šçS‡…á¼¶® c…፨›Ü›êOªBÿ !33³mÛ¶þþþ k'Hö½÷Ú˜ØmXl\~fºðÌ4,¶’¨±ò©¿q±™6>¶¾Òì„22v%3Š•f¦Á±Ñj>2C㳃¿Â•cÄ`›Šâi>Ñë¢ä úVoL¥´¶õÆt} ˦ ½),*꽚zCõ†BH-ê Ba©7Òm|[nËbX¼fÍš¶mÛ^ýõø¾zõjmXŒ‡Úµk‡‡bccŸþya5²¡JÓ¦Mûöí[XX(bbùûÿùŸÿILLÜ»w¯Új¬/9³ò‘Mö£?õŸ÷#8Æ@0òŠõiBo:¤mﹸ3g;ŽØøÈ‚£'*´»§+ å"COõF·ÈP±2M]ÎN[`@­7nz]øA`¥éz‘¡é<¾³µpи=G®+ØoǸ·¹8Bõ†BˆïõÆ'ûÑ­èM«V­ÊËËeX\VV-bb<Qè"{óøãã÷"NHHÈÊÊBØŠç9røðáRoz÷î]XX(âÈÈÈ%K–àoóòòîºë®+XnË‹Íè—.] ~õuÅÄgöýqØúúÞÞôÚhÒŠ¯[‡e{ò=¸MII ¦ÒÊN*Bõ†BÈUª7VV4 |—z9Áo„Þàá q?ºÜc?)((Ðí½Ûo¶mÛfü¤.ѬY3©70ùyóæÍgÍš•ŸŸeËmyWkËétâ •••RÜ/®çq8ÅõÌNñ5fsw‚¨ƒ‡©T×Á#„Po!„\1½©y¹-cö&22Rfoð£©Þ˜îG—Ù8ÉÌ™3»ví*ÜfË–-‰‰‰Mš4æãïï/õ#õOëÓ§”)66vÙ²eW°Ü–z#JáañL #îWŽ¿uõŠW?˜¯ ðÀ{j70þuˆÔ W¦B½!„R[z£íxS÷z“šš:oÞ<íÞ› ½4hÐÂ… -êlo/€x ½‰‰‰Y´h´2_Ýî}îe‹›7Þx#""¢æz£ÝªQÛzóÿ.'p0›˜Da8ø«S§NáN×O„|Öwð¦Â;oHÌþià_‹ B½!„rUèeÓ¬èÍÞ½{ÃÂÂÖ¬Y#+§íرCèÍîÝ»¡o¾ù&²ÛíÚÊij½“ddd´k×Nè NòÚk¯AKrss“““]é ´ / QÞDFFzW6­æå¶¼ÖÚYVwüTL·+çÑM·vÆMW‘åǸÑtÆ›¡5Ÿ><Ôkô;K3`40¼"CÃ!„zC!¤îô¦6ªB»j©ÕDó¡¡¡ˆò¿6ÃS½ñô“~c°[÷eÓj¢7ÝGm9tü{„ÎrNz£ÃSÏùÁ µÞ˜&y$F½1Íí(¦û¤¯õæS ¦;¬j¢7൅ƒÆo‰a@0ȘJVN#„zC!äªÓ›š×pÕ ÒTo,®hRèi°ë©ÞÔvÙ4¡7öⲨޫ-ê(›†Ùn#Ká‰ýTRoý=-º«º¹§•ÉuÕßÓTi¾0`q•šBiLû{º]y¨°šÌÐMnaqytR&Ή[À? Ì õ†ê !„ßëM‡´ŸžúñÊêéÎ+«7ÚuJWJo–eçÝ1fƒÐܲ[½ÕH½Á„J·ñzN½®á«95]mhÔOWJ½iРt뛩Œù+9`vð—„ñÁtp!ÔB!¾×›)‹ '/¶×\oLCá 3< …OÿOCa…ÞX߃îQ]Óð×;½I~ðôÛJJJðB¸w »ZoD.z£íbäi)¼uëÖ%$$à{vv¶vNñÐ-·Ü‚‡bcc_zé%1›²–Chhhrr2®VÌ)~#&Ú9u5¡nçTÛ­511q÷îÝ5ßL…³YŸS<Ùúœê6SÉ¥†¥¥¥x-Œƒz6 !ÔB!^êÍ™Š³Gl|lQáÑj½©¥ªÐ¦+ÓÔu¼þ¤¿öJlÕä“~c(¼i{QÊøM=G®Ë/(„êà20 •••ŠÏûÝ6iµ2§û÷ï_»v-Æßqœ——'&øqõêÕX8̈#Äœ"賉a™8qb—.]ÔzãõœŠ’ߘJ æäɓ۷o_gz#À“½®!õÆápà´¸k+uð!ÔB!žéÍ¥K—ñÕ™‰ÏìûÓ]~Õ÷¯ßÅ ¹îâ¶»ÖŽÍØ’›WpàÀDψࡅêV÷5Ô!«C† Y´h‘TÖ… }ìv»ÈÞ$$$dffâ9Љ‘#GÞ}÷ÝBo}ôÑ.]ºìÙ³Çápà…´zóꫯ†††.]ºTdopò®]»îÚµ S0hÐ \‰:{S{MZ !ÔB!ž!ö£#F‹"b/gÈÊ.SZß@ ZZŸÃŽñÇ, ’†Û †H¸Ý‰î½ „H½“à7Bop91ÕAÓ¦Mûöí‹ð]­7mÚ´)((Ǹǖ-[J½3àfE¯UhÃ_|- Ðí½ÛoÞ{ï=©7ùùù¦‹Ó`Íš5zOÛºu«n3þvÖ¬Y‘‘‘6l‹Óâãã·mÛ&V¦áÌQQQÔBõ†BêÞ8N„YÂ"âø ¶žñ ©7„ê !„Ô'Ã9_uqéÚC©“Þí—ͽ7Wü+&9kð¤­K3@àpˆÊ¥K—ÜÎcÍõfÈ!Ï>û¬¬±pá””¹÷æ¹çžóBoüüü´zÓºuk„øÆºF½ÑZ8%"`©7ÚÔ 4 ·PZZ Ù<¡7±±±¦Ù›ÜÜܘ˜˜)S¦Èºqqq»wï6ÖŠÀ›uRo!ÔB¹º¸pÑ9pÂŽ´ô=6ÇéŠK›ª4Èî’_4£gc›H]§HOæh‹­y×\ÅbbÓ:²öÚgf(zG;„êê°¹ª7í(;´bCñ_Æl5}î#)ôF «›´Z,…WPP +§­[·Ç{öì‘•Ó"""Ö¬Y#*§ÝsÏ=VôÓ–ŸŸ/çeΜ9½zõÂÙpœúä©Þ`ˆfÍšÕ®];S½ÁE¾úꫛ͖œœ,õFì½Ù»w¯qï .Jƒ'½yâ‰'ºuë–““9Ù¼ys¿~ý„Þ„††¾÷Þ{^T…¦ÞB½!„RwÌ[qpÔL›Óé”ÝîEp,8g†©Û­Æ•ÌX)$­k’sæ·¨ IŸ6`Tšš4Ì1m jÚ;Òh5®zƒŠÀZ›+øèБ^£7¾’]‚ÑÀðz·8ÍS½ÙÙÙ þþþý³²²´³#ûÞ@–.]jQo222ÄR1Y9í©§žjÓ¦ ÎsÓM7­X±BÌ‹½uìØqÛ¶m¦z³|ùòøøøë®».**jöìÙRo0¼ÿüç?›5k Ñ-e„×µnÝzâĉxÚáǧOŸŽ“à o¼ñÆ%K–ˆ™:uêïÿ{±GÈ£ªÐÔB¨7„BêDWÝGm9tü{Û˜&j$ÆD©Õ˜šŒ©ÒXìø©HÔ¸ê)Päd´&cTEOWiÓ½4Æž*¦Mrý–7Ö¦NÌ‘¥ÔѰZo,6iÕÎÚÀgÍš¥)ÓFF꬚"¥¦]œæ©vZ™ ]&ÍØôÆÓ ò¢é°ê !ÔB!u„ÓéDÈ%S7Ú=ºüŒ‹‰£ÉhCd£Ò¸mô)±˜–QXNfÜædLÓ2Ú•f¦M!±²±Ë§v±“ŽåýÀÁè¤L/ CûDoއ……áŽÖ±œI§7n÷£ïß¿?<<|ݺuˆGE}­üü|ã?ÂRðæž{îŸúCÄGþˆ/'NœØ¥Kß~ûícÇŽEìˆçoÚ´©wïÞ"&Ö5K1ݰaÔõ† Þx›êˆq›“&Mj×®ÛM5íG—zƒ€¯‚»VÞ/fóÛï~êtϦÇ=Q¡ÖÓº ?¨³7ÖËÙy¤7êzžÎ£zešÛÍQiê¦íEƒ'¾Ûs亼üýBVqûjY%„Po!„x¯7®úÜ» ‹‡ºhÑ"?û쳃a1/^lÜ.õ *mÔ¨‘ˆ‰q€ua±¶?½…!T  ùýï߯_?„•Âm$ºìMvv6|#00°E‹óçÏn#ÑeonŽ?>**JÔÔañ®]»’““›4iÒ¸qã¾}û¹Òa8x-#œ½ï¾ûÂ.ƒüˆ°¸[·n¯½öšˆW¬XÑ«W/ëz#–3á~Ýê æSöù—ß>² ï¶áïÔ÷þ?×F#|u¸{ÝØŒ-¶Ü|¼‹0¹x×ᙢÞB½!„R§zãjEStt4n©78މ‰z#zÛ+ôb0qâÄÎ; ½AÜÿ÷¿ÿ½¸¸X·aCdoä'ý7ß|óÛo¿ -ÁŸ3æž{î1VÖêMdd䫯¾ K±ÛíÇW/NQöíÛWVV†“‹ÏûÖ¬YÁ/ÿ÷ÿ÷®»îRdop†?ÿùÏBoþùÏâ¦ö]§¹)\|ëÖ­Å"¥›nº)''§6A:NL"fƒgé0°0‚‚üú 9ÿš³€¹À´â ƒ©Ä? ü[SWú&„Po!„Ô‘ÞÂL¤Þ@Hð¡78€–W4ÉÌIÓ¦Mûöíëp8äÞ›Q£F5oÞ<88xèСˆÈMõF D<_«7rE“Ô›¨¨¨'Ÿ|²¨¨H»aCêXÎ$õn¶}ûvE¹-N³fÍ\í½ÛoÞyç¡7­Zµzï½÷Är¦wß}?ŠEMœÁ[ oQ¼Õñ/ÿÖEð!ÔB!5ÕëU¡{o.\˜’’"ö£<ø¹çžóBo`5ˆÿ5j$ôÆÏÏO«7±±±Ð„éÙEÔ+ôO3Õ¹ýÍ7ߌˆˆzƒ'ëôFø NnÌÞÀÓ,XPRR‚ÀÔáph­F§7¸ª²²²   uö¦cÇŽ?þ8†¨–ôFÌéùª‹K²?J™¸#¶_6÷Þ\ñ¯˜ä¬Á“¶.Í<€w¬ÈyâŸwÝB½!„rUè(´UPP +§­_¿Ç{÷îz“ŸŸ™™™ Ù(--½÷Þ{ÕzÓ§OŸÍ›7ãÉpƒ &tëÖMÚ Ã©¤ÞàœèŠÝn0`€Ôø vïÍC=·Áe@¢„º´mÛöwÞQ×ðZo.\tœ°#-}ÍqºâÇŸE^®JÃyç4Û¹Ê6G¦•Ö¼h˜£(-m±¯«,0­-®hê궯kÍ ²™Ödo’òÃ+ßqÜ~ÿæÑ3vãö1’"uC½!„zC!¤.ôÆmÙ4ÁÚµküýýågggkãZÙ÷&>>~éÒ¥F½Ñ†³¡®]»âÉ•B0D›‘‘!† ½Y³fMëÖ­¯¿þú-ZÌ;WêͬY³‚ƒƒ•Ó–,Y‚ç¶k×—'"×éÓ§‹'ëô‘èØ±c›5k†WÄsDäºlÙ²¸¸¸ë®».**jÆŒ¦z# êСæM›ä‚4H¨œ†Ü‘HÝ,Z´HVNKLL¬%½™·âਙ6çe„ÛõæÜo1*vêu-\½ÓS“©IEiOõFÑ×U‹ÑjŽ›¡ëôjìñj¬7}øÈQÎëëË1>^L ë B½!„réŒk Çpך6K±øi½i]Ô~©ÁJ³uë“f)ûÜ«›Þ«ñzïM÷Q[ÿ¡³èe$”Æh2ZL§Ûh5rÆ4C¨1N·Ó©7u+MrN0æg-é·Ól+--Å+âö1ìj½¹8±ëÆXO½™Ê8§¢>^vv6F2ƒãÜÜ\¡¬8 [µjF¸¤¤$--Mê˜PŒÌ„ ºté¢íb$\ùªsªkdäóÍT¦Êêjù™ºV„ÔQjÜílB¨7„B¼Ñ›‹/ž©8ÛqÄÆ‡ä=Q¡Ý¡¡XÅ$2yª7º½ê*ÀŠULÚêPØíB¦n.÷â“~ã&c(üÎÖÂcßé5j}Á~;~Äõ`”ÔŸ÷»mÒê©Þ 2äÙgŸ•º`Á‚ÔÔT1§8ÀCÆZRo®Yv1z£M¶È¥†S§NmÕªU“&M†Žzƒ'L™2%888""bùòåééé!!!QQQ6lÐÖŠ0öi>}z³fÍüüü0•»wïNNNÆ6nܸoß¾‡CL(ìbìØ±8Î3Ëyœ4iR‹-ðË¡C‡–••‰ Å9ñœn¸çô®V„No8`%G¡ÞBñ†K—.!þê늉Ïìûã°õõ½…âµÑ_·Ë÷ä{p›ÒÒR¹[3¥Ø­áVo,¦ã¤ÞDGG#ˆ—zƒ >&&Fè B¯Ð‘½éܹ³Voà3ºÅi=zô°Ûí¸GHÅ< õfäÈ‘Ð8iôèÑxŽÛ·o¯Ö›Þ½{ SMHHÈÌÌÄ-”——ßwß}wß}·Ð›Gy¶k×.ϨQ£„Þ<þøãݺuƒA?RRRðŠRoþú׿Úl¶–Âó®Ì7!„zC!Ä3œN'b¬ÊÊJ„¤Ò!DØW\oAm\m¨Ý{Ó§OÜ…ZoÚ´i“——'q¸Ù–-[ŠtžgÀÁñãÇq [øüóÏq Í ½‘+Óð#ÎfšŽƒZ4kÖLè $-''G·2->>~ûöíbqZAAATT”Ô8OÍkEPo¡ÞB© D¹-ÄÁ¶‰"ˆDü÷]»Ç xôPýãYÀ\ Ž—RÔ­î}¥7rµ¡1{)ôáGS½1]pèJo‚‚‚ü/Ó°aC<„ïRoä‚CÙªU«õ&#ÅfóæÍݺuÍa^Eè Ü ú¡Óã•H½Á\Po!ÔB®µX‹“Ô-¿ðùü" F(Œ+ÂЯ¾úJD–§ê!ˆGOÕ0øˆ€!ÄÁ°·¡°i™ïšèqïÍ Aƒ„Þ¤¦¦.^¼X¡7ºZRoüüü´zÓºu뢢"c]¡7Ri¬ë6oÃõ—””À^𠽉5foâââöìÙc,…‡¿2n¦¢ÞB¨7„Ôc±-E©Ù äÊq±Ì…pŸçp#®¬¬u~¨Ÿ ý¡þƒñÇ,À: %Ì»Û^袮ÈËË _»v­¬œz“››±fÍQ9mĈõ&,, §•z3gΜž={Úl6èÊîÝ»SRR|¨7¸ÂW_}.±oß¾ääd©7bï ^N»÷fÚ´i‰‰‰[·n…™¼ûî»ýúõs¥7ÞUú¦ÞB½!„\aK!¼Àÿ läJ“ŸŸ_VV†ðÑ*ÂVDEêuJ5QYœ\Û²Þxô\=çüe0 Bk-Ú¬ºI«zÅÊÊÊjÛ¶­¿¿?F533S[ Oö½‰‹‹Óö½1-…'õ&###88X.QC”?wîÿgï<ֿࣨ/-ô’!¡‰€ •^BoÒ•"½÷."‚€&*EiÒ;Wz‡tRA ׫ׯ½*ذaù¿ï÷åü9ï¸3;;»Ùlòü>ùä3ÙìÎΜóœ™ßwÎ9Ïy¶jÕªji5kÖøoØ[åÊ•óæÍ[¶lÙY³fi¼QFŒÆ‘LŸ>]á ÈñôÓOó~Žä®»îZ¶l™=Þx•6MðF$¼‰D™Ï6ÜUf$õäXI÷$\·’6g¿di­Ì«¤{´YN2[.înq›4Ä– qØ/"i9¾Èœ‰Ø«UÕÂ~á¢þ_Ž` „2Tõ’Õ²ûDüè-6.ÑyÝùŒ7æ¼.‹´vêÔiæÌ™– Ù·5™¾Í ÍÉ¢7–mÊ¿‹Þ¼g%Á‘H$x#eKá¸+ƒ¥©F&%ËGÎf¤1:*K¤ùÞ$$c 0^-™ž%=.¥âÑu9Y=Ýh¶\ÏoNŸÒ£"üÞ‡s+ÜTnË¡·{¼ñ6mš Þ`ÐK–,‰éw²H«%ÞüÇJÞâý#¶ÑÎr‘Öôà“EZoD"Á‘H”É&)99Çc3T铤`òû@—Œ{ìÃLe¯ðæìÙ³¼ŸS © ÁÁýl‚Öúù—_{ñô}ì ‰ÜÝ ÞÞý8‹Úl5{_TtlRR œë —;Y* ÞˆD¢¬‹7ö}Äï÷'Á~ɘ¡üñ†W8rÁÁ£ˆ„ë×¯Ó i#„+q•’’B´Äg[Q›ñ·„¨ê‚fËEƒ‹WE®®ÒrE"Á‘H”ùxcßuã÷Q.>d˜užâÙÛ‘i>¬¡‘Ëhñ†¢¼¼qi¿4XÚ-‚0&Æ•sÙVÔæ¹[BÔ+×%š-×R™& ÞˆD¢@ãÍï¿ÿî-Þ8Ÿxcdîú%K–Lg &Ÿ×´Á›øøøÿN¼A/»5ãÍÉ“'ƒƒƒí»nooìÛ/Á@Ë¥©ÒâhÄ9¡ë.FÖµy);‹«¿).4X.S´YIé. ÞˆD¢ÌÇ(eêÔ©eÊ”Á—4Ñlƒ)oß¾=¾<((¨V­Zëׯ‡m0î·ÝT¹rå6lØ ñ&:::wîÜ£FÒx³yóæV­Z9œxS³fÍÇ;™xãojÔ¨ñÖ[o)¼IHHÐþÚk¯a W­Zi¿†FõêÕwíÚ¥ÁFýi7Ë—/oÒ¤‰yâÍÒ¥KyÝc"&{¼INNž2e ¥-x“c›ðo×ÿX¾õÝÎcÜÞn}ðý¯ß¿"¸ñkÁ—gÇŸ‚:fÓ#×?Z­ì2zçk›¸|©yi³\`åv# ÞˆD¢LÛŸþù±Ç{衇ðëXê|­ØfíÚµåË—i@nÞ{öìéÒ¥ xÃ+0P„ÿ~óÍ7ÃÂÂ4Þ4mÚ´C‡-Z´ÐxóÄOLš4ÉÉĈ¥`Á‚ÐHúó €+ìŠ3Rý6 GË–-?þøc ¶äxøqãFm32 ha'P‡bˆEýi?2}>Ü<2mäȑÆ ó oø½iÓ¦Faî_yå•}SÉÙxóûu{¸ç´§?ÿï7?¨¤íöËéZv«šS´e+Ë©q–+ê~a’e;µY]×~4éGV2glÿÀJö«QÙçpw×lãΦ­ÜÙGÿGx##ÓD"Á‘H”ixsêÔ©ˆˆîÊ ipØ•*Ubƒ;7Àoóà´Q£FÍš5Ky) JHHˆrQXð5j¤¦¦†‡‡k#Õ¶mÛ™3gB ¨^½ú‰'”:}út½zõx±AƒÇÇ|ÜfP|||Ñ¢EŸþùðÂ6íÚµKý«P¡B 6qâÄ&MšpjwÞyçŽ;”=jÖ¬d±EGG÷ìÙ³lÙ²œÈ‰Î’‹&±Á!wyÞãe¾dÎí|ô© ÝÈ}¡Ù€=¯oK¥ˆ(sœ& ÞˆD¢@ãöFà Îþµ×^ÓÞˆÛsþüùÙ8pàSO=e9ñ¦~ýúÀáú÷ïß»wo,æ¦J•*¸| P‘"E°ÊÁHwÝu×áÇñ(O<ñDíÚµ•%„–-[Ƌ۶m=z46hõêÕ]»vUNèàÁƒÙ>}ú`”?~üüùóqX… V«V tîܹòåËϘ1ƒ ƒ#Qfˆ3‚y´ âK·lÙÂ!%''ƒ?ü0(44Òc*T¨0eÊ”¤¤$cĈM›6UhÉ’%>ø 6=êOm}FŽ9gΜÄÄDö VqŽ oJ—.]¹rå­[·‚yp @¢ð†×A2Ø©jÕªðT V 4èþûï·Äð©]»vyóæ5bULLLN¿©äì¹7ôßwᣫ*5MX¯ï©°2Ëefy}^αÏân=+w=?öœcÓCk^Dz·Ççur|NûnäœÕÛºŽ; S Èšž"‘àH$òÂÞ¥S 0â .Ÿ¹v?ÜË1âl`úÓÒÒÌ6ûÄ~råÊ>dÈü¾ç¹çžkÛ¶­2@uêÔ9tèÊ+ÀÛ°ìÊýàE`'åŠ-ºxñbüŠ6@ÌôéÓ•‚|¼‚»‰7Å‹ç{«áÇ›'ÞÀK ”²>ø•|ùò© ëÛ·/ðZ¨>ö¨hßÿ ,¨|¨3iÒ$mzÔŸî&Þ+VLåà[`<å{@&ÎWåàëØy¿~ýØß (`\"n7n\ÅŠo¹QŽmûýõWHä~«ÞWÍ6f’±Lõ®ÁÆyŽ ê½q™Ïÿ.ûlŸ˜¤aƲ£ÆrÅO’yÿïr0.r·–t¾b»Í’Z$¼‰D¾àMzžþºôÞ`‰`ì‹¶AË—/oÓ¦ ørŒoŽ;vÏ=÷¸X"üDÉ’%•êÝ»÷K/½¤ò 4hÐ@û¡ÔÔÔòåË+K´aÆZµj)RdƌʵlÙrãÆÊ Mžtœæí¢UNæêxL{èB5ö)ÝÍTãÒ9ã±OÆ2•œ±Ʀ[Æã$4ÆNWµAíèe=©I0  ÞˆD¢ÌÁ›J•*q«VÞ»S³fÍ-[¶°]µjÕ³gÏšñæùçŸ2dˆ‹7}ú({ùDEEiKÄŸ›:uêŒ=z9wî–è©§žjݺµÊ+н{w7ü 驼œ8åÌÃcîò èÁiÉÉɯ¼òJ½zõŒEš7o^^—&cñ†f«ðƘöÐo,çÛ€ÐÕªU â÷Ö­[x³}ûv®üëŽ;îX¶l™!!!´»””Õ~yEµb6|[×¥åê/ nÓ¦Mtt´j¼âÇåª,;jÌkU™ûgl2‚(Q;\Á¸tPð¤ŒO‰oD"Qæà ØÐµk×O?ý”[{—.]yäeŒæÏŸ½Ž‰‰Kp «V­š;w.Þˆ7³mdì8Öó¡ýîÚµ«I“&*¯¤qèÐ!þ»téÒòåËãðF¼~ðàA ÍË/¿|Ï=÷(o„õ`”+ª]»ö¾}û´=*Z´èÎ;á¬Õ3Ï]ˆdË‚ à|7ªå¦¥¥1B÷Þ(¼9pà„O3¤yÖ¨QãäÉ“ oúôéCÃyñÅ ,ÈEŒÏ>ÿüóªÍÞ}÷Ý6l ‰%''óÎGyDãMãÆOߣGv‡7[®o8YÁ‘HðF$e>ÞÄÆÆV¨P»²Í¨}o'%{ÄË KéYÐÓ~e çébmØÆIÆX'€}À‘àM:ñ&þü´;݄ՠPÕ~Ù¸|ù²%Þè)1mÛ¶ÅÁÛã ¢G™ÒåË—×xC£ Ù*,¡QÐ`iwAAA.soJ”(ѲeKÚ‚j¼zîM·nݦOŸ>cÆŒ¡C‡ªÆË¿RRRØ íNmÓxÙ3û47^þ¦ñfÿþýªÁîÛ·KŸàH$¼‰n¼±7Fδ̶dfçxc?pßoü²†}׿ðÆe|‹à(xcî½ uØ{ãÒ~ÝáMòÜPîܹù¿5Þèö˶n¿l»ôÞ¸t½j¼Y¹r%ìT¶lÙcÇŽi¼Ñ—mýl‚mÕlwïÞݨQ£bÅŠ)pâ¨4Þ¨¼ ˆ ÐNðF$ ÞˆD9oìWÉðÞ¸K)ë|^²;¼±\ÔÜfdZ:§&ûàoD^áó¬Ð6soTã]¸pa—.]ôܛŋû€7¹rå26á*Uªàòͽ¯.xcÌ(àoh­ 6|á…fÍšÕ£G‡x³ÍŸ??11‘VÉo^7÷Þ°¡zoŒù oD"‘àH”CñÆ~âý"€·êÄ’àÈïxcÙ£2§Ñ^¶oßÎöÉ“'UûŽŽ.]ºô¦M›Tæ´Þ½{{ÄÕxK–,Énu³;wndd${£=²sðÉ/x³eË–Ê•+«ElªW¯~èÐ!K¼Q­Uã '¸|ùrÕÈ7<ð€š{ÃÆ¨Q£œÏš³|0!x# ÞˆD¢LÆ£=rˆ7~Ï+&ÞXâ}×à(£ñÆÛ¬ÐªoݺµZµjyòäáb3›0Ø£×½ Töˆ7³gÏ.^¼¸1sÚsÏ=WµjUµ´ÎÚµk½Å—ö«ð¦aÆ˖-Ó™Ó ('x³jÕ*Î%oÞ¼áááO?ý´oTæ´bÅŠõìÙ“¦—Îa¥‚7"‘àH$ÊÒx“þ¼ÙwâMfå¼eÞ¸ë€íÔ©Ó¬Y³üò„Â~p©·½¯7qN7^.¤éŸ5g|0!x# ÞˆD¢¬‚79yâM–Ê+ $x#òo|kÅ^É’%‰ä jÂÞ.MÿÄ9ç]¯ñÆy¿«àH$x#‰2 opÏ×®]Ósoü5ñ投¼šxsùïòïÄ›ŒË+pÑ  yëPrrrTTħ8 JUðFäG¼É¸X¿ .Í ¼±|6á/¼Ñý®q )e[o¼‰oD"Q&àºÍ{‹7² g&ÞÄÆÆFGG'&&òqΈÆÅ Þˆ4ÞÔé¹çÒ¿¿Í ¼ À Ÿñ&ƒF–^ü»|[W5Þ7¶Dµ¸399™sÊ‚7"‘àH$ ÞüùçŸøž„„îÁX˹7~Ÿx°¼JF“ä­=RÉ(oG¦™»qœàMjj*lÅï””öÏùRÔYqH"7SÇO~)>ýx“žñ¥ŸPx;¸4='âÇœ‡¾=›PÓnØ®i ÑùFNŸb¼‰oD"Q†ã ú믿0FXîÍqqqgDYCQ7Û$&&R586,ãµk×Ä!‰4ÞüñÇ__ù¡^¯=Ä|ðñ•_nÈÞ\3HCŽWx£ GÉ‡Ô .Ý8ñÆò …‘sœàYšsœ¤tw×£iÇeÖÚ}0¾Ó¨Ý‘ýwÄÆ%ð'ÇC)QÔ—4^‘HðF$e8Þ¨gÀÜz¿ùæÜ7õ´´4,uBBB¼(SuöìÙäädìÑ|€ÿÃ\b^ÿüóOqH"%‚á×_ýò?WƽxúÞ;B"7d÷Ÿ‚·w¿΢V­£çì‡mRSS¹¢‚j*)õ%A+ ÞˆD¢@à 7Ýß~ûí‡~øê«¯ œ?üðÂ… Æ¢À‹òçwðFÿüç?±GÀ§Jÿ oDZÃï¿ÿN`|ýõ×´Ü÷ߟȉ³­¸š%ÞJII9wîÜÅ‹?þøãÿþ÷¿?þø£ +‰oD"Q€ðæÿÜåò믿B8Øè/¿üòÓO?UÃ?þ%Ê$QøT`óŸÿüçÊ•+XXTºnDægªå~õÕWD 0üÁ¸ÌõÊFâjv!û‹ò5© .¤°Íwß}'ý®"‘àH$ (ÞüŸÕÒ7?ýôÓ÷߯’&™Ó¿Š&Jž* "p®?ÿüóõë×ʼnlžMüøãW¯^ÅLùå—î–ÊúâjöÙ-¡/¾ø‚º  Ó~a™2' ÞˆD¢@ã" 4·a!úgQ¦Š* "¨ü+µ#öHäŽph¹Ä síÚ5ü´KŠöl$®fßfQþßÿ=ÀI+þí·ßTû•@‰oD"Q ñFù$ô× ý)ʰ9i¹ÆÇ¿ÝЯÙP\Í~ÍæR…O-Pò`B$¼‰D™Œ7"‘([CŽñ EvW³¿n 麰‰oD"QVÁ›ÿeIx‹äj&‰D‚7"‘‚tQqpÚ¢Ì NÉÕL$‰oD"1颚Ï?ÿüüùó±±±gD™­˜˜ê‚Qƒøe¿H®f"‘H$x#‰!p*¬ó¹sçÞyç«W¯ªÅUTÂï7uÝJ¿Ý”qZí/7eÌöÓM]³Ò7õÃ?|SßÝ”NFtÕJW úæ¦tn寬ôß›úÏM]6èK“¾0èó›²LûéMýÛ Onèã¿K/nóÑMýóïúðÃß}÷ݳgÏR)‘J,+‰¡Er5‰D"Á‘H gá¿/\¸ Æ¤ÁÆH2æAIæGƒ~°’ Ò©Æ…alHÆ 0ö$c¦£Ì£¡ÅEfz1Œ%É\º©­ôÁ$$$ð_Ê"•¥oDr5‰D"Á‘H a—“’’`cbYµô™dŒ²ïœÑ0ó½Aß™dC2.0c¹ö¥Ï]1–cî{1’Œe÷‹%ɘéÅ(Å-JïßÔ{ntþüùÄÄD˜b¡„©Y@C$W3‘H$¼‰ÄØáÍ™3gÛüñǺ¯Æ’dÌH£©Æ¥sƾOÆiöÉXvÎX"¹CÆ<ÌÈ3–}2–ý0ÿ4É`t÷‹‘a\Hæ¢A¬ôî EEE±OÎ…2¤^¤G$W3‘H$¼‰Ä¸`£ñæ÷ß×ãÐ,IÆ]GËØ3&Ϙ;j쇙9iæqzŒåè2£œ÷ɸP—K¤yפwnŠÚá7|EPò ¨àH®f"‘H$x#‰!°FªÁ@›»nìñÆr:ÃY4–si¼E£ðÆ«Ùÿ–Tc?äÌ²ÇÆÝ<s_åx3 6f’1ê훢vRRRØgJ!SG‚7"¹š‰D"‘àH$†Ào 7f¶qŽ7–slŒxsÅ$o“\þ»¼Mnf7öÓi4ÞØ¤p7ÆÝ 4çx“˜˜Èû9Š”:’é7"¹š‰D"‘àH$†Àoxc™ Íoì»n,ñÆÝ4-‡ Ìxã1Ý™}¶¶ñ˜-ÀÜuãoT†hŽŸ’¤‚oDr5‰D"Á‘H /xcßuc‰7–‰ÑŽLsŽ7ö™-×¥±Ÿoãoì»nü…7o¤ñ†#§èoDr5‰D"Á‘H g¼Ñyü5ñ&xsþüù’%Kæð‰7‚7"¹š‰D"‘àH$† @x¢Lž<¹L™2!!! E4Þ;v¬]»vÁÁÁAAAµjÕZ³f Ö7ÛM•+WnݺuoNŸ>;wî#Fh¼Ù°aCË–-ŽL‹ˆˆ8xð _&ÞÔ¨QcïÞ½ obcc957Õ«Wßµk—Ïxcœ~ão`<{¼áÏmÛ¶Q†ÒD‚7"‘H$x# ÞXàó¼>úh·nݰì@ûöí'Mš¤ðæ7Þ€^Ö®] BÀ;wîìܹ3ÖœW`6 Ø&,,LãM“&MØCóæÍõÈ´)S¦L˜0Á Þàû ,~¤âÍ¥K—Øg¤ðféÒ¥­ZµRl½ð/ë¼–]7~ÁNóÉ'Ÿ¤ ‡ "­@$W3‘H$¼‰Äø‚7šmNœ8ñí·ßª‘i)))·ß~;lÃFhhhZZšydÚÈ‘#gΜ©F¦Á!!!Šm6lØP½zõäääððp7mÚ´™1cFË–- (P­ZµcÇŽ)°á{ëÖ­Ë‹õë×?zô(¨p›AÑÑÑEŠ™;wnø 6Û·oWÿ*T¨Pƒ <¨Ø&..®cÇŽÅŠ+Q¢Ä3Ï<Ãñ ]Å~ìIDAT¤¦¦wÅñ 8Ê‚m8)ã¿àÄÄÄ>}ú@qì¶iÓ¦§OŸox½hÑ¢/¼ð¯.\xÚ´i{÷xÏÔ©S}È+`‰7‡†*óæÍË‘pðÒu#’«™H$ ÞˆDb<ã}×M×®]—.]ª'ÞÀ$ùóçoú÷ï­·œxS¯^½}ûöÁ6@ß¾}{öì‰5ÿòË/+W®¼sçNö™\ºtIáM™2eî¼óÎ|üñÇ0F­ZµÞÔ¨QcÉ’%¼¸yóæQ£F}ñÅ+W®ìÒ¥‹ê·aÿH¯^½Î;§úmÆ7oÞØØXŽDõÞ,[¶ æÑsoøÒ-[¶¨ÞNöÁTÝ5DZÀHìaèСMš4á¤@)¨ŠKJJz饗`0 òY³f ØãÃÄ#Þ À‰ã7‚Ö믿.M@$W3‘H$¼‰Äü oøí-Þ„††â×5ÞàÚK—. Õ€ ˜{ó‚ž—/_ âhsåÊ>xð`0¼™3gN›6mTRÚµkïß¿_åàm'NœPHiÀNjNX´hø¡'ÞŒ;öÉ'ŸTxóꫯìÙÝÄ›âÅ‹óß~ýúÁ$æÁið(¥Øæ½÷Þ+X° ¢ðh™4i’›Ž=ZLãh!™÷ßþüù÷Þ{¯œ–'Ož˜˜¶¡ Â… û0ñFá ÷è£R·ý]à"'M@$W3‘H$¼‰n)C0{öìÛÒ¡h¼qžWVItδ¥K—¶nݼQbÆ›#GŽÜsÏ=*mšÎ™„„„àþÞôêÕkáÂ…*¯@ýúõõÄ›ÄÄÄråÊ©íõë×תU«H‘"Ó§OWxÓ¢E‹7ß|SáÍĉA 6Ððð~u²ÐxoÎ+ЬY³Õ«W+¼Ù¹sgÍš5u^ÈÈÈ•+W*¤)[¶lîܹ¡~ƒaì¶X±bP ß©™6ëÖ­»ï¾ûÔöš5k@&Þ Ž§zõê·‰D9CrI‰D‚7"‘à?{oìñƸâÍí·ß~îÜ9…7KDDĦM›À›ªU«Bæ‘iÏ>ûìàÁƒ]RB4ÈÅÜ 2Dåxì±Ç4ÞL:•Ïó áLÿŠ+fÏž ÞtéÒåõ×_7âMlll©R¥.]º¤W¼Ù¾}û< ò @û÷ï翯¼òJ¹rå0úì×y‘/]´hÑ=÷Ü£ðÓÏ×)¼©U«ÖÞ½{5Þ-ZtÛ¶m° „0sæLx`òäÉàM:u@`ƒŽ=Zã »:~ü¸Â›öíÛ¿üòËoø×‘#GÞ4jÔ\„ØÃ}ôÑÓ§Oƒ7÷Þ{/¢¦yóæ¹ÚnѢū¯¾ê킞F¼Q©(yóæUªTINÏž=¥ ˆD"‘H$x# Þ¤ o~øá ¤ÿþ!!!¨´(¼d.\X­Z5x lÙ²£Fx1<<<--͈7-[¶„…Œ«yâéÕRžeʔٸqc5‚‚‚@BõÛK¼X¨P!ãÔ©SzîMáÂ…sçÎÍ/^\'@K–,áòåËWµjÕ§Ÿ~ºaÆëÖ­oŽ=Ú Aƒ‚ òú–-[ŒsoØ9»ºxñ"Ç@Éh¼1b„ú¤üpîÞ}÷Ýƨ|ÐÅŠãPÒÃL¼Óì—õäD¦L™Ò¤II0 ‰D"‘àH$xãŠ7Xgoñª‰ŠŠ*_¾<ÎÛŒ7WMòˆ7ÿ5È!Þ|nÏ zZâîºqŽ7~\ÐÓ#Þ(ñ e. A$‰D"Á‘HðÆoþøã .¤¤¤`©ãââbE™*ª 111--í½÷ÞûôÓO¯\¹òóÏ?ÿñÇ‚7"‘H$ ÞˆD‚7ÖRãÓ~ýõ×ï¾ûîòåËÿú׿0Óo¿ý6®:U”©:wîÜ;ï¼óÁ|òÉ'Àç?þ(#ÓD"‘H$¼‰oûìã?6Ï9X}ô`óÅ_|ýõ×?üð*]7"‘H$ ÞˆD‚7„cÖ„óã?~ûí·ß|óšëÿQ&‰Â§ ¨˜óÚµkŠm¤ëF$‰D"Á‘HðÆ)á` UzèŸþù§Ÿ~ºvC?Š.UòTAuP)þù§ôÛˆD"‘H$x# Þx 9Þ¨ó»(óôÇMQÒi#‰D"‘àH$x“^Ôeº$¼E"‘H$¼‰oD"‘H$‰D‚7"‘àH$òIªÃí/Qv–tœŠD"Á‘HðF$°ùßIkjÆÚuQö”žö¦9Gb[$ ÞˆD‚7"Q>øóÏ??þ|llìQ¶UtttJJÊ'Ÿ|òÓO?ýòË/ Ž† r‘H$x# ÞˆD9BxßsçνóÎ;W¯^U†XÉ¥ç7+ýjÐ/ýlÐO]»)wÉÄ0è{ƒ¾»©o ºzCWLúÆ ¯ úê¦þk%ãzM— úÒ /¬ô¹AŸô©ýÛ oê_nô‘Aÿ4Èr Ý÷ßÿí·ßŽOKK£d(Oê‚z‰D‚7"‘àH”SôÉ'Ÿ\¼xQçRWC›\æW7ò cÜ¡‹%ÆIæªAfŒùÚ¤¯ òH/1ÆL/6¸ò‰A»‘GtqÁ˜oꃛzßÞ»!6âââ¨SΚb¤j¨PÁ‘H$x# ÞˆD9BIII°‡žu£©ÆØ'ó³ùŒ4ߺ‘ ÆØôƸðLu˜ÆŒ1î:^<öÀ¸Œ™dÞ3è¢]¸©´´´øøxާ´©ÇÀ¯¨ë’^ò=db† ™‚%¼‰oD¢œ"LÏ™3g\ØÆr°ÙOVò iŒ=3W­ä-Ò¸cæU‡Œ=ÒxÕcDË~cWŒ ÌØôƘ‘æ]7zç¦Þ~ûí¨¨(^áð(4*(8.9*DYameµ°²@ŽHðF$¼‰nqáxÞ('jdw½4ZÞ"e/l¼Bšÿ¸‘‘jœtθë¥q™ãdzŒýÜ{¤yÏJ–=3è+½ýwQ­)))ì™s§"×XÛßÿøkÅŽ÷ºM8vǃÛB"7ÈOæþTê°µÇä£ëÿq‘æLÓ¦¾O$x# ÞˆD¢€ »ƒÖÚÝ Hó/Þ\q#¯R¸›Eã±ÇÆÛxœ?ã|ê¿K/Çw£ÎŒHcÙKãoΟ?Oµž={–7sF”9Õ Äf4Ût{¤ç´“g’/_ýþcŽ =¡ËIj ’R˜cÏ T»ë0t <ù'z´Ï9ápú–“®B~)ç.®Û•ÔlàÞ3OR&#eNáˆoD"Á‘(Gà îÓ£Ëôoœ¸LK¼q7Í]ï%Þ8éº 0ÞxìºQ´cÆ›wÜÈŒ7ñññlpä”-šÑx3oíùþ3ϸ Ks36ÙöÌHc¤oÓQ¸ãgwínî– <{Û+h9wËa —Î@S¶Ð»Þ‹°gÅÖJ€¤"¤G$x# ÞˆD9o511±dÉ’™›Wà•W^iÑ¢žõôéÓ”³¶°ÕªUÛ±cGÆá µ¼iÓ¦æÍ›sŽ~‰"Œ²oÔ(G'xãp𻤛Çqhö¹(؃K´ðŠ ÞxÛÅç0KW¡BàÄÄDÞ¯Üê믿óh· {ìܹÓ8â_x÷ÝwÃ<Ð.pĈxql+¦šZ¼x1/>|¸Zµj€Î×ÈYpü0 öqذaM›6åôÙ- Ô¡CN¬\¹²xñâXXv[¹råiÓ¦A§OŸæÍ”*D„m½ï¾ûÞ|óMea1ý|VDbÏwÞy'äÃûÙ4hÐý÷ßÏqbñ•ádz« °ŸN:?~œï‚¬ŒxMŸ>ýŽ;î¸íï:r䈣ÈÞ¨"RSSUØPŒÚ¦$£¢¢ÌƒÓ4Þ„Š¢b7[·n5â¢bBh¤N)ÏÛÜHÅ ¹råªX±â¶mÛÞ@æ`!UOåj¼a?7æu2tÁ6TJ£FÔg÷îÝKHüãÿ ¾x…ªáý¼¢À˜cã=Ð8áÁëãǧš@Ü—_~™À ð)Þ3tèP7Šm´ø“ã•ñ6Þ ø)b§™°«€ˆéK–,I£¼ ÞˆD‚7"QæÇfiÀ€.x 3h¼Áo•.]š °!--ÍÜu‡`è•q„piØDðæ¹çžkÛ¶­zúŽõÄŸ©¼¼ Kª*f w®ð£†áÃJêÇðA€JáͲeËÀ ÆÝÈ4(‚ÿr:ø<óÄ›±cÇ‚Šg>úè#<(ÎÒˆ7C† 7nœ~*Ïqb%Á›¾}ûòº~߯_?ŽŠÁƒ³Oýlêàýl`.1 øQõ`ÀÀt²œðzpÚ¦M›T^¬'¤`Þ€I`›zN(Ž9R?§ONN.P _ô /Ô¬YS=ªWS›N:…—… .¬ðÓÜ¥KÊ6`Tðöî–xÃ1SÑ i®\¹ÂŸj›³¦ZÍ©)ô84ªÂÑx£_„pŒxS«V­_|‘@¢X3ËÞ—ŒNÕªUÞð)jíÙgŸ½÷Þ{5Þ4hР¥fÁN°Ùo€  šÚ\»v-DHP)쇊›3gŽÂÞxP­€:ïQx3sæL*‹WhhŸš5kU“ñÆ¥÷¦nݺ*q²bÅ Aá ­ƒ¨ÝÁ]È\m³[ã0EÁ‘àH$x#å ø·ì½U0@o–/_Þ¦M6‡˜ñæøñã÷Üs˼p¼]É’%“’’ÞôéÓ¿¨ò àõÄ›ÔÔÔòåË+¼Ù¸qcíÚµ‹)‚ÏSxÓªU+0@ùÔ)S¦€Úªâ¡|P¤¼/ô…s cŸf¼iÑ¢ÅúõëÏìÝ»/ë22­lÙ²pBžûì³:tÀ°òYl¥9%thhhbb¢Bš™3g8Ðop™˜Hóœ `OyV8Á0 ÊËbÍÇ;wî¼`Á70'ÈûIKKSlëW¯®ò P °Ÿv±¥K—>}ú´ÂÎ00ϲxðÁ)sµÍþûöí«ì,;ìß¿¿Æ5÷†?çÌ™TëâÉ'Ÿ ÞçÞ4kÖ Æ0ν9yò¤š{óøã«ÈñojÕªµpáBÕ{9ªK… Û”ŒŠHZ¦îÞ|óM5ë†ß5HyB‰oˆ.h\÷ïYâM½zõø^jJϽQ½7¼¢zoØ-ï!¨; iŒxçfÏžM Ìš5Ëo8xPmשS‡$ôÄÞ¦CÂe[ðF$x# ÞˆD‚7ÿ‹7øÑI“&uíÚK‡©êÒ¥Ë#<¢üèüùó±}qqqxJ¼Úo¼™ƒjx3ÛF¼ÁHaÓ±€ÚžîÞ½»iÓ¦*¯¤qøðalâ²eËÊ—/d‡mÛ¶=tèÎòå—_Æh*¼Áßóuʧâ\÷ï߯ñ¦X±b»víâ •}ǹBJÖºuërü¸FÌýøñã5Þ°+°AYUð€¯vÁ›ûï¿INNæÔŽ=Ú³gÏØØXl+î“=ã ÷íÛ‡[Õy7n Âq¦ GþØcáDñ¯ü¶mÛ´…ÅÐó]¼‡ýxonß¾}¾|ùT^N—¬ñ†ã«T©ÂÑòxåŽ;*¼~:tè Þß}÷-Y²D=žÇ@³+maƒƒƒñÁà €‡‡æÍØ‚ 8•W€9~ü¸ÆˆBà8SSSOž< ü¨%† &0FùW¾”RÛ%J”8v옲³%K–dÛÞ(;«sC·nÝ:0x£½¡ˆîºë®/¾øÂã¢7– ÂZ®æéÕ¢7—H²_ÐÓaÚ4êzúôé°·Y¡ß7Èá2¯N½¼ ÞˆD‚7"QNÇ­¾}ûÎ;×ÝRŒæYööÔ£CuYÐÓ¡Ou² §;Ïj¹P£ÍŠ7‘‘‘0†»œ¿îÒþšôô¸2½ó=ÝÙY›e=ÿÏÍ•=ÙgÆá1lôLÞXFŽ9f‰7jVOµjÕöïßïmVh‡xcæoD‚7"‘àH$xó¿Š­P¡¾Ó/xsÕ$‡xãdAOxcÉ6ôLKK4h¾0!!aÀ€—.]JÏ‚žFûžy…7îì¬=ÞøW‡7ölì¼q-.iÓ2bчÐëÞœ»!Á‘àH$x# ÞXXRðÆÆžÚãe× Þ|ió®xƒ%UãôBCC»wïž””äâ\½Å]7^ CÊxcE–!ä-ÞØS±=;Äû8±a›ŒÃ]yçn*!1­lë‚7"Á‘HðF$Êqxcž/áÞ8™f3}"=xãÕÈ4xó/7ò o¼™æü9}VÛ:=÷üóÓï2o®XÉ+¼¹üwy Ã6#ÓâÇðp Œ‹—o4Þ¬ÙÓbàÎÄÄD>ιP°‚7"Á‘HðF$¼q4¬È[¼ñjâÇ'ñ>O¼qn[3oŒ^6{áÍ/'LZç3ÞØ÷þù7¯€%gÞ8Ì+½7Zí‡ï~bþÁäädöÃÙQÂׯ_§ÖäÂ+¼‰oD¢œŽ7™›W ãðÆI^߆ o´—ͼ!®|{­^¯=ãçG¿ÿ¯oŒ™Ó,éÚMéXò oŒ!¤¢È[¼1wãØO¼ÑrÇ9ñFŽ‹ŒqbŸWÀ¦Ç$.ñ°û`|çÑ{šöÛŸ––Æ·pî8í]ðF$x# ÞˆD‚79+¯€Ç)ãY3¯@àñ±óëׯÿç«oÇÏ;so!‘ä'+üÔê±uôœý°Mrr2Ex ´nš¼àHðF$¼‰rÞH^ŒÀ›ŒÎ+pΠãŸFäP³8¥Áᥦ¦&%%%Š2O”?`C<N„ëåË—i¡2ñF$x# ÞˆD·2Þœ={öÚµkàÇEéÉ+pÅ|™vÙ¤lWÀã rðG¥ð†¡œ€7ÄÒõë׉%¾Žòç{9}ó Š,‚ø$Èi;´Déº ÞˆD‚7"Ñ-Ž7ØnüðÃÏ>ûìêÕ«žnÁá¤ᨬ¢Àëú ±¡jêðÙòzUïªêE™%]ÝHU‡W•.>L$¼‰n…øW)}úé'5#ü_ÿú×|pñâÅwEÙSÔ5øÑG}þùçß|ó͵kרßÀ Iúý¿Vìx¯Û„cw<¸M’2gúO¥[z|þ÷ûí7Å9Ô#õ~ËÔ»ø0‘HðF$ºâ_ç¼R3¿úê+µÄá§¢ì©Ï>ûŒ¤¿ýö[Ø‹£žÜ€m:=ÒsÚÉ3É—¯~ÿ‹¹÷æºI¿¤SýrS?džýe”ÃtîÖ–u—Äï+“,g‚™§~ù©ÜãL0›Ôý]z2Xêù÷ÖïNn>胟9M)Q¤”¹ßƒÁ²ÞÍýH~¯wû4'.“ýUïö+ÃÚ×»o3mÒ9šë]Í÷SõÞbð[ªÞ)[jÁa½‹‰oD¢[$þ3¹âtb€«¢l%ªLÍ&Ï8;ëNóÖžï?óŒ£ÁÆ©UúÅ {Gk™ŽÜÉšKîL­»e—ÜyYû<f€1›ZK#kv´6þÕ]* û|}.¾ßlàÞ•ÛÓ( JÕï!áRïf¤±©w{’q—†Þ«zw˜Þa½{×ô×ûGVò¶Þßÿ}Uï«vœ£XœgÌ& ÞˆD·NüëùʚȌðì>•\J Xü<Ðß…®£ì“ÌÖÖ]v>-sf0Ë}6ã’‚Ü«§òö]1–i×Sr˜‹Ï`ìSð¡ÕÛºŽ;ÀaS ”°sCëzW“=Ìõþ‹•ü[ï–kSéÈÛÞû®s¥[æš÷o½Û§^¼pá‚®wÎÈùzGâÃD"Á‘èV‹rç/Q6WFÏ#7GNHäQ@²åszûöÎ׊µyN¯Ý­å¸2›fæn$ãíX²ZÉ`ŒOåÍFÖ,—â Iç+¶ÛÌÎ9•ÿÝ_8ÔxúëÝãÁßZɦÞÌÖ» ÌxÕã¤Þcßã÷zç«9S ÖIvxña"‘àHt Æ¿KjQá„l‡4éÌ ë›p·Ø\=ïB÷þY>§wøÀ^\‡«'y;ÒÌÒݺ¬ ëq¦„;S«­­Ïçq´\lÏ»[ɸ¬^‰ÚáOއ2¡äý’IO jÕõnìõÍ”zw8ÒÌ¿õþ±•t½»ƒDåºWf^+=õΛ9` Šê ¦oD"Á‘(Å¿1Ÿ¯Í´`Q–•®5•6`}8.6WMâÒKÄÚØ\›©áÛ¶m«V­ZPP¿·lÙb´¹ü«fÍšü«R¥JK—.UÖö¶› n×®]rr²zxÏ+66×Ûöî–ïrz´ÿþæÍ›)R$þüµk×^¶l™å” >èân•ÁµÄËçô.2¯÷Jí¤¤¤°N–r&ZŒAqM˜0¢ð¶Þ©n]ïšmÒS :06mÚd¤šÍ›7GDDäË—ÀxõÕWU½»Fbb¢¢^q˜Àžjœ9sRé– þZRózOKKãÛ) xÒãúWâÃD"Á‘è‰|0÷uî…²²g¶Vtttjj*& [‰Ë ØbŽ–6×f–…G›K–*UjëÖ­˜K`†í¨¨(lî•+WØ(Y²ä† 0øõ^½zi¼Q³8vìØ† ZâÍå¿Ë«ïw—¸ÙrÔþÇndi•Ü pÂál0Óiii*+4õÂñ olln÷îÝ-Z¤+}Á‚]»vU5Îÿ2V´ Þ ÊªP¡Bª¢Í½7qqq;v,Q¢DÑ¢E;tè€SÄM†„„ÐTmReû4hP©bƒbWµÆ>ÇŸê·–ò¸|ËôéÓ-m.ïá_aaa¹rå2:]Ž`+^¼80eÊ—Þ‡Oñ]l®ÆL?ï'2)I¾tòäÉœ—:àš5kRqY o,[z·nÝ]éóæÍëÒ¥‹ªt6ø—¹svºêi#†î½qiÅ´Í©S§–/_žòôÑG©Õ©µ>}ú0דO>©jŸ§Z'Mš¤ÞߣGÊVÕ;o˜;wn¹råòçÏ_«V­ƒªz§Öz÷îÍ›Ù_ä®ËΦ÷ÆršG¼IJJb'œ2ÅëÒk'x# ÞˆD·füs«æö©—7ŽI³ÄÆ],1ÆInßoÜÈù‚N0Æ~´’Í,sb1g€ý§9Ÿ|l4I††Ó§H©¿L´ðo|¶¹+VÄÌéHÀÌÝ~ûí*ø—Bq ºÒ]zo4hàojÔ¨±k×.*ˆw8ÇI³1mÚ4UÝ›7onÕª5;~üø&Mš$ÞÐý÷ßÏŸ6xcΜ9ãoøŠ˜˜—ù£Gnܸ1Ÿ:}útÆ ÝáW6×oÖ­[×®]»Ûþ.ŽÄ·z·Ç‡]vÎñFÕ¾®w΋WT½W¨P35·z7”Þ˜1cêׯïofÍšEuC¿”ÒC=4tèPÕÀ §æÍ›`Ó¦M5Þ̘1ƒ¨ ²ÒÒÒà®Áƒk¼iÓ¦ ¯³b¦nݺªÞùvÞ¥*7ƒðæ¼Ao8GÁ‘HðF$Ê)ñÏÍ«á’ûȲgÆ&’“UJÜaŒÑÍxÄ—¬¾–²DšôwÂüÛ.ºgßó¡YN5¾èFʱßJHHàÀTÆ$2eÝæ½ ÞÞÝ7¼1Iþüù©>œ¯¨ð`{j‰7zŠæ3jÄwóË)Þððpj ,W®µIí÷íÛwùòåT=ÖùäÉ“* Ž?by…7yòä¡.T½ëÃÓ<À˜Ç)ñPÕýÖ[o¥o”ÁUxÜxù¸qãÊ–-{›¿¥ê=ãðÆøtCÕ¾®wÚrPPº°AÝYâR‰% Ú…œæÒö«V­ “¨ê¦j[…jéÇŽSÕªT©râÄ U×Äï×x÷¨z§: ( 8û9xð ªqj9=xãpD¢àH$x#åÄøçVÇÝœ×ÕÜ3ã0’C¤q>¨ÌiÜ1óªCÆiìóbÙ#e?ŒÇî&1æ]7R.GmDEEñN›Bó!S–Wé±÷Æ[›kì½ÁàrF¡¡¡º÷†?]F¦¹ N3FˆoŽ9Ò¤I“âÅ‹+× „¨¨èرã²e˨}l+õÅfZm¨Jüé‚7:£€ÃÞ#ÞPéf¼á+°¤ªêq¨ñÆÉüråtK4XܧOØÏÌ'#FŒðùêá—Þç ³Rûœ—±÷†ÀpØ{ãò¤ÃŒ7pHžÊ;7ÿå·ªz*…–«ð†:Òxc~¿ÆãE€?UÃg?ÔŽªq6oD"±w"‘ưÑxcÌçëñÑ»MwÇÁf3½*ûb4ÿq#wÇ1s·¢…»™ÄÎçÆ¸à}º$'Ó‹vçí¿‹jMMMu—)+kâãÜ¢eÁ‚;wVAÒµk×Å‹§o*Uª´dÉÊœJ§`µÍÝ¿íÚµ÷îÝûÈ#¨ q×{ƒO¥vTH$&&j¼É•+—10Ú·o?cÆ wxc¤\ËÞ›}ûöùoÔà´”””—^z‰Ó4âMÞ¼y“““Ó‰7Æo2oÌso:uê¤çÞ3éÁ°6>>Þ|ep×{S¹r娨(óAã®ôôôÞ›¿àH$öN$’øwŠ7.Ë•ØÏ¥±Ÿ;áo®¸‘Çs&¦Ð¸c+™Ø§H²Oë1G–å¨3wHcon”¿¡ZÕ\ N2§Z½Z¨Þg¼ñËSü˜˜˜R¥JmÛ¶MgNÃ_*ƒ‹¡,]ºô¦M›ÜeNsa3Þ„††®[·Žãe;vìh´¹õë×oÔ¨ߨâdìØ±Æ¹7ü©"¤^½z'N¤‚8˜Ö­[ëN›£G³B—,YòùçŸOHH ‚Þ|óMx3räÈx@ͽiܸ±ßñFÇC\\\ÿþý ( ‡³ Þø6͈7” EºeËÚ#¿Ù¦ÀU½Ÿ:uŠÀ Uæ´ž={Zâ¾D˜ñföìÙT7û¡îÀˆZ]ÆŒ£çÞDFFj¼™9s&•ÅPq‡"–ìñfÔ¨Qì?ú†']é‘ZðF$¼‰rnüãK4Þp糜ió“ù1ã™ Þ¸æ®÷ÆoœtÝo2ÍÝêãéÁo³ŸÙãÍ¿ÜÈ+¼q7ÙÆ#Þx캱Á’" <ÞøËævêÔiæÌ™æ°±Y±ÞI´X.zó /Œ92‹Ÿ8'^ß²BÛã®ÁÀo>,ëé3Þø6Í%ŸDÇŽg̘ás½;ìÚÕõ®jüðáÃ*TÈ z÷cVèLÀµ,´è,ºµ°£ÅÞIC“†–ÝZVÀ¯F¦yt¨Þâ·¹ÜM¼ñ o<®Ex¼±sŸÓð†hÁ¨•,Y’Rr3>Û\¾¢råÊÉÉÉNln†âm®¼ñù>kƒ7~Ï íRï©©©!!!œ‘»z·¿D8ÄUéƒ bccxàÁƒÛÔ»åÁ¿õî¼Ë.xÃîdM袘˜"ŒH¢ÙsÅWöKè%0öNZlh\¯ikšsoƒ7>O¼ñøÞ ÞØäH'Þx52Í]^¯&Þx´5Þâ²5Yo2ÚæzÄ'6We¾zþùç>Å÷ˆ7°¹³B£„Ä´²­7fM¼qžWÀa7¯}½{;rUUú¬Y³ÂÂÂÀìž={R^ջLJ‘6Máª÷ Äbȸ&´zâ¨Ö„þÝ ëîåd•h' E›åí-ÊårãîÒãp¨QNVv™6ê0éçgnäni—ë—û1 ‰$â‰(¤"¨2µh´LFÛ;—Å× Ía[KçŠì6mÍ]Csh¶5' ÍæêïmCsâÍk·{ÛÐÜ%ÞåžÁ?11‘§ä©#9Ù”prÞØL#ö&L˜ܯ_?âG»–´iÓ¦D‰ùòå»÷Þ{W®\IЦ¥¥éÑóeË–]½z5Qš’’‚ p^êÕ«ïÞ½;=yÒƒ7æ!Iöx“€Qã‚éG¼©ÓsÏ??ý.ƒð&‹Ø\ç{YÇæ¢µÛc›Ø‘Ax£ê=sñÆùC€Õ»}_®óKAzðfõÖèwj¼q’AÑ»ûÅÁ‘é¡2F§ec­üh³~p#'ËEÛs‹+¯¹[©ÀÒf9Y¬ÀfÉ›…Ø|xJg³¦KÒOµñâmjI5!œØ;‡ ͦ­¥óÙÁîåaœ´5—Ú½ZÄæÙ ·8ihö‹:áQÛ5^§0©…µÙ‘p²,Þ8¯@=ºté´p³o×®ÝøñãU<¯X±zYµjõNälݺµcÇŽÄ0¯ÀmÛ¶ d^Žª`Á‚8,’WÀÞP¿¯¿þz­Zµˆ·!C†ø·÷扗&¿ï3ÞØGŽýÅÐ Þ¸{Tš¹xccsÝ¥ÑóÁæv±ç‰ù±¹ì‡³sòß9ÞPïS'dÞ8¬w¼q^ï4á*=õn™;Ñy½·¾{Ú‚C)))| çN±S_~Ãv”œœ¬×„6:- Fkõ‹•¼]%Úþñ°ÍJÏ#a‡#¤/»‘»KŒ½rÒ÷âd!6äízNVd#θšPµ"™‡“¡öÎeñuÝÖÌ ÍI[³é“qbìlÚš“†fßýâŽaœ´5¯–i·okNšK[sÒм]ú‹xbb"×Ê“Êòxù¼ñˆ7™•WàСCÕ«W'zU¨®+V$ÎÙ ={ö¬9Ô‡ 6}útµM´ C‡åE—8ß±c‡êä)T¨Pƒ >¬–=)Q¢„éãÇßu×]X¾ë¡‡bo… nݺ5œ@ôò›Wt0sÁá³¼÷`LÁD4fz^3Þ`w`EX¯à΋~ÄB蛫?ÖëµgÒ¢¸?¹j ¤l÷ßá²HÞÚ\óEÏùS|KËëdŒâÞÃg»ŒÙÛ´ßöè˜8µ’C›ëk¿¾òƒª÷>¾b7éO›–ù$ìñÆ¥Þ}ÃóÝÍy> 'õnnþÔ{çÑ{¨÷˜ØxÚ>‡Aà^<Q/š½qÑ4½&´%ÌüìFÎmVF q±|.â¼ûÅf'6ËcÆÌÏQœp‹Ã’1þŒÛQQQ%FQõÒ“qöÎrñuwë¯{lhŸdô¸M‡]éihƶæp̘M[s×ÐlÚÚîådávÝÖTCã‹8qjêÎŽ8™Ž7–ù|œW sçί¼òŠnDlPP áñÇŸ2eŠe+¨[·îîÝ»ÙÀú÷éÓçÑG% êԩË.a?nܸyóæñ6iþüùÕªUSÁqúôiùÍ›7ýõ×ÓÒÒ*T¨0uêT¸…÷9222’ íµ×Z´h¡c^ºï¾ûT´/[¶¬cÇŽY'¯€ÆíÊ•+[¶lé’—Óôo@rí%~.ÿ÷êøygî{dgHäùÉ ?µÙ6jö>Ø'Nˆ[Zí×_Ï[¹tpÑøâò7ã^<}oRàYä§V­ªÞ“““¹†pqSÙá=ÞoóꑆyÑ4ç·¯ºhœ/í¼‹ÆcœŒÚw2âŇË_‡õMÈáÒJü‹ªçSÜA)mX‚1dïÜ-¾î’ÀǦ­¹khæ‡ÓÑÐ&½õvC3Ïø±ÏÓH2þêó4wÐ{lkª¡±Áú÷ÎàøÏ, 0À[¼É ¼¥K—>wîœn`F©R¥håÊ•‹57Â8_¾|œB®\¹ÂÂÂHŒÀ… "&íŸ/^\mð©%K–Ð6mÚT»vm>NŒ5J‡=V°`A~ذa'NÔñ¿pá®]»ª&Mž<Ù¿y|Ûó7õÖ[oqeÊ”ñ90|§DlPÔ çEõ%&&&$$@Yq¢ÌPü ={KlpA¦9¨5^ýåF¸çRïÜ4i§´‚–z¥øÒQ¦ŠÖ—ššÊEƒ nk²“ W^à 7Z‹¦ÙãM:gÿ;Y@-ë 8ÌWã±Ï×ÅuùqJŒMÏ Ãq6"ÝÝoˆ*ªžÛ G•}]WvÁËç~oh^=“ö-%”o‰¡|˜åod›[ ¡©áÅ‹“Ù“Ò{“ÎÞ› Ê+D êòòË/·lÙ’ÖÁëD©¹uìß¿?""Â¥uìÛ·ï¾ûîsiɘ1cî¼óÎ"EŠ(ï^¾|yÕ(V®\9dÈ"¿zõêÛ·oç¾eASºEP>áááÄÆ ׯ_¯›ð0nÜ8Õš5köÆod‘¼jØýÉ“'-ZôÀ˜¹¥R¥JT´R=Ì%„êˆbäì8`¿›*Ê ¥ÝÁ@™D;­Ì¿#xU½N4yêvJ¨½6(. Œ¨.5\Á¸*ríåbîÄ‚ÞæÕó óÍ÷…|xNænb–ýŒ{¼q7yÆ·tœ6Ó:}XvÀÛu£m\—»Y}^=NS®‹o¤Üü5ÚUð&k>Gðc&›ù3éÉè°kÔ¼ùн¼mh6Ý56×qª>11‘÷sšÔ‹_’ Þ>¯@ÅŠ“’’Të ÚkÔ¨±nÝ:ZG•*U8Hs™={ö€\fS<óÌ3ƒ riõëן8qbtt41IÌ™3§}ûöª]àÿ5j´`ÁPJ5‡B… s¿>üñÇ'þ‹+ÆáéYdÕªU{饗Ts€ˆbbb²H^…7zîÍ©S§F]¼xq#á<ýôÓ~H®Ã¿üz}é–wºŒ;R©ÃV ”é?Ûmî4ú­Åkÿ_dª$„*ב/ìÛ.× v®’Òâì9‹2Z”?5®ž©¼;\áÔ»xƒÓâ*cÿDÙ‡»ˆÏ£œ½z¢ì|ÀLFàM:“,yûÍãÍÆr¨€G¼INNf·U&x¼É”çÞ64ߺIo½ç6 Í«çÆœ§~¿ç(¼É¬¼hܸq;v$T@6ºwï®ZdzÏ>[§NãÇÆÔø²eËfΜIsèÔ©ÓòåË]ZäE—¦Q´hÑíÛ·ÞðɬY³Š)2uêTÝ.jÕª~äÈÕš5k6vìXÂ)66v̘1*T ºh‹/¾HôRb<òH¾|ùvïÞ­šCþüù;毉7éÌ+à‚7*µ…ÿÆoÔ«WOáM8ZÿäïüÕi쑞ÓNžNúòÊw?“»8™rl'ìq~—“TöùZìS8yÀä2‰Ñ&‹ýè_û”köãêÝ ñMJ}wõö„¦ýw?þä• $©¿“W„Þ©GêHeй"Êg´1®lÒ#Ù$ŸtÒ+îŽj>²’9„ì³JºƒËð7¶Åw³ƒ¡24«‚½úœ(¥jánÈ‹;‘xclêòD9' ˜¼¹Åð&»'𸵟#Þ o2(¯€±œ8q¢|ùò¼ow"{?jaÖ¡C‡áÇûÐ(¼¢ý€åpˆ7~Hv¹Á%5¿ ÛØä«t¾"Š·Ï’ìW:¶ŸÖh³®±{fŸsÒcÀ¸,Ul?äÌrÖ¢e>I—ðˆOnÌã*nD”±x“ÃS9eÐêæ~0ã.5­àMVúIeâÍ-ðAðÆïxà¼NÖg´i ÎGiµnÝ:Ož<‘‘‘Ĥ·xãssÈè¼™…7xcÎ]iN.xãíâžf¼±¡ûTû:xìcÆfF ‡qb“@ßIÏž'Q¡âlP;lèåň²:ÞÈå,;`Fð&ÓñFºI³ÝÄŸŸ#Þøoü’6Íç[RznF¾5 íÂ/™Ì+)x£®ÀoŒ¹+ö£hÛ¶mÕªU â÷Ö­[QÄ¿"""øW¥J•–.]ªâGϳ nß¾}JJŠ ^1ã»TcÆÝŒ¾ËúO‡AbÓ¹G0°7ªq¸µ£ÜçH!gÇìù¢¬ˆ7jŽÏkBËåìøDYð&KáL¼¹µŸ#Þd.Þ¤?¯@zðÆç‰7öSÀ3oÒ™W +àeÿ¹C¼‰-UªCíð›íèèh?lðçÆù Ó«W/7*~(Þ±cÇ6lØÐo<†}×MFãex°7o»õÌ©&¨ìž=_”ÕñFž(ç„TN‚7™‚7îÆEÈs„[xâàMfáMåȼ¹eò d)¼±¿[^x»wï¾hÑ"E .ìÖ­›ŠŸ®]»ò/si¼!l8ÙB… i¼q‰œ¸¸¸Ž;–(Q¢hÑ¢:t „)ðŠW ‘P²dI ý 4¨Ô ±A-« )û4 *¶ÑrÁ6æÎ[®\¹üùóתUëàÁƒ*$Ö¯__£F ^,[¶ìsÏ=§bƒƒ7no.V¬ØC=”ššªØFË!ÞXfÒ£vŒÙóoD‹72ñæ~¢,x“¹x#ÏrT7©àM`ð&yœ,Hâ—¼Nž¯eǼÙo*V¬H è(¢n¿ývBü‹S6÷þ¹ôÞ4hÐÀÞ@»ví¢Š© ¥wïÞÌÀ§M›¦fóæÍ­Zµ"`ÆߤI“ĺÿþû'L˜`Ä* olzoØhÓ¦ uÁ‘³Ïºuëª(]ºô’%K¨ÖÓ§O÷èÑCŇѨQ£ãÇó¥;w0`€»ÞûÀ¼oÔhT™x“Cž( Þd¼‘ç·üsÁÿâÍ-ŸW =xø¼ñæœAéÇoUðöîîðÆy7`þüù©tET:¯¨bƒ+¡%Þè¹7mÛ¶MJJ2ã9f¨¯ððp†R*W®1@ÌôíÛwùòå (uòäI'ðˆåÞl$$$¨8¡¾ ( B‚¯~úé§©#c„T®\ùСC*ÞܪϸïÒprÞp´Tœà%ÞPt*“’Ñ’ú=¯€»Õµ}h#6kÉgǼö+–x» §÷èèh…7œåì-Þøp¶é½qŽ7æÞ›ÐÐPÝ{CQ˜¯´ª÷Æ?f¼9räH“&MŠ/®p(Ož<*l:vì¸lÙ2â¤J•*T% *NØàOõœÈ¼1Æ ª¨Ø³gOëÖ­K”(8½ñÆ*<€Ÿ<7”;wnÞÉoxã|$ÁQÆâóü2`†æ=qâD.¸™~ýúÑzõåàСCmÛ¶¥™åË—ï¾ûî[µj×Úƒ~"R¶lÙ5kÖpiHKK+Y²d&N¼áØ"##Í7˜•+WòzV›xc7àsÏ=÷ä“OJsÊD¼ñøf2yòdÕp @­éVvôèÑvíÚÑph#44C7œråÊ­[·Ž=pk¡áø9BDDÄþýûUCcŒY9ÕÖ¸­6kÖ,À#ÓªU«¶cÇ¿?Gp‡7hß¾}óæÍ¥÷ÆÞ¨:JÞH^¬“W@ÙÙØØØ¨¨(>ïá¤ÔR'YoˆóÜ›Î;ë¹7‹/NÞTªTiÉ’%*{¿yƒ .•µk×þÇ?þñÈ#¨€±ì½!Nà>¨B%))IãM®\¹¼Â¸—R¥J©ð¸ãŽ;Nœ8av.x#ÊNxÈ3=zôàÒ@ˆÓ„ðd&LP—ƒ+V`Âp9\ši®Û¶mëÔ©×^iÓ¦ ´üÕ«W‡……qi€.øl&˜7nÜèÑ£Í7˜±cÇŽ5*«=Qv‡7111={öÌ›7/HI1Jsʼñ×s„G}´[·nÔ8¡…Kž8q¢jb´HC”ä;wîäLC[»vmÛ¶m¹éÒv` Äg9ñ†£*X° ZáÍòåËiÎæ†6~üxT xP’ HKKóûs¼á7& 7C\ÑÖØà¥°84JO=2×7©œWÀ¼† JÞX.fâÞ¸Ð>ržW 55U± 7î>ì'™²Œxã|ÑK¼á°uæ´íÛ·³ f¨â¤J—.½iÓ&•9­wïÞ–x£#ÇŒ7¡¡¡\–©q¾cÇŽoˆ– 4jÔˆïUƒ©0νÁ{(ÓR¯^=î”jtttëÖ­5Þ„„„=zÔÞè Ñx÷|8-M]hŠÁÁÁl 6Œ]ž(ïÚµK=.T¨PÆ iá\hxw.ê¾Âåéî»ïÆQÑÞú÷ï_¾|ùÂ… 7kÖ,!!ë ¯H‘"sæÌ »!®[¶lÑû¬_¿þþýûÕ%£eË–S§NŒŒÄ!Ýu×]o½õ–ºÁ´hÑǵƒséÓ§¾“6mÚTlÍ xÃ=˜ƒ¬Y³¦~ˆþÊ+¯H[ ÞøÜÐŽ;Fá©&FUªI®lÐp°æç#GŽ|úé§ÕM—ˆå¶Äƈ#xÑåÖ»wï^cÃ9qâ„jk4BE51nçÕªU£Á=zô`o´ð‰¯æ~Ì žW´ã¦Ahì«á³ƒž6mšohP+V¬`ƒöíÛ—†ÉÁо°GÛÄû1‚)®Êçñ¼®\ט1cžþyÚ$íó…^àSê’§¬Zµ*@ÅQ7îÞ{ïUxƒ¢ù8WΈ›4ÛXœ&MšdâÄ7äú¨Çû*q–‰77*E¡_ð¦k×®K—.Õ­LOríׯ´`ÙÖêÕ«uÓʈ+ÚWÏž=Ù¦áð¢Ë­wâĉ´"“{ÞK/½T½zuÕ²h8°Ú?Ö®]KìU¬X¢ À]ZG³f͸Ó¦T’%,÷]Õâ^ýõÎ;ë! ¼Ž-0ã *&&†; ‡3âæGÐ>\ ݽ{wÞ¼yù:Þðꫯ ݺuÃ6q3æFΑÛwÞy§¹Åmß¾+L‡Ž9Â9‚_54.Dú‘¤Ÿ#p ,¨_¿¾‹§ Ëâ³n2oTÛ¡™½DÕGyR³0j‚({ІL ªÁ\¸õS¿Ôr€ñƇ´i.ö¦S§N³fͲé´ÏKaßïçÒé÷â‹/Ž5Ê·Eo<¦ °Ÿ¯èЖø–6MðFh¼ äÈ4Ü?Á­¯Äz©R¥¸ ”/_O`%çË—Ûm®\¹0úÑE¡B…hÆöãð1êê0hРeË–±«-[¶Ô©S‡ ÜÊ®¨:yiÀ dãå—_Æ$q p7ñ†}ª¼êÉáÍ4c¼&œB‰%8B¾+¦/œ2ûÏ”5Ôõ•HkРÁm¢€hÀ€^álj7¸ª^·2ê¦D£á`þÌmF­W '<<|ðàÁ„4‚†Có±uC«–5dÈ×^{ .bƒýŒ;V·5‚™ÀfcäÈ‘S¦LÑ7ãÅ‹wïÞ]µ/¸¢nÉ—.]RÍÙØm¢ò ÓÊÔþõ-ùÿ¶w&ÐQTiÿA $HÔ « ðÄA4•Åeœ9Œ0ˆëAtF‡ Ž*2:BaÉ# B!=lG( $lAÈ‚~ÿß—{rOY[WWïßsrr:[§»n½Uïs—÷â-ãùñÒuçwŠÛsAAAÆ ñ'bŒôª«®ÂËÀ•á¯ý«*â_Ð D4ÂGÄZffæ5×\#môèѸx¼aÁ‚8àÁ~ûë~&p***pwÀ¹„æÓw‘àm‡°+ãqÍC7^ÍeÝÑ“bÕ"ÎF¯êX‡Ó®];\å¬èõ*¶õÆø H¶{ì1yÕÀï<óÌ3¢®ÀsÏ=‡€çÇ? ’Ð2ë‘ǟ#¥ÃÑÆ93Á®7îô# p Û"Ê;ðääd„Ž¡ 4œÿÏ>û¬JoÞzë­?ÿùϪûî}÷Ý÷ꫯ:œó´·ß~ûᇑ…³¥[·nï¿ÿ~Ÿ>}Ä=8""§·&…9Œ1à¸o‰pC(ÝvÛm³gϱ&ŒHÜ’§L™2jÔ(ݺcÆŒÁŽˆ5D`Šp{å•WðÖÄ…w„°Ò8ÄWBBÂŒ3d !Bñû"¬š7oŽÐöx?‚rí œpðàÁ—_~9×ÞØ0Â'¿¸•”‘`C\‹pÉB;âˆ6EËz{¿5qžðãÿ}c[oÌ·N²QUܼž¸«%¹ZdO«7Nkë©Ò§íëMü˜Ô 3Ö⦀?÷A© R¿ôFL˜±½«€;{¨C p Š«áÁ£>*®ÿûß;w–†`F¨|üñÇp \ ð;x¬Ò|9ºªÛãšk®ùâ‹/ðÓ¦M×&Lˆ»ï¾;&&fãÆâꀤmôèÑx ˆ||ó‰'žÈÎÎÆ5âÎ;ï ‹ËždñâŸ৯¿þúÕW_ ƒuáß!h‘<á™ñ ¸dôêÕë£>ƒ®]»"CÞ‰ ÁW_}5tèP$Rþ* -漪*§á*“£RA‘u…ªÞXéG@ 0@Ì„Äصˆ²wÞy޳ €ÆE\@þÅ"·y󿩿Kàÿõ¯©î»0“/¿üRÔ€ÿàœŸ8q¢Œ5D%NïôôtÑ€3¯D,Ù‡“´jÕJXM“&MfΜ‰ÐÀ9?lذF­Y³FÄZxx8^žèGˆÿðÃuë Ì; ÞÐ<9þÅ×_=|øðmÛ¶ái˜7q{Æ/ãIÄMZ<Æ/ëFBìŽ;îX¶l™Œµ¸¸8ü¾+¼°µk×zUoDå4¼w4Êõ×_ÏÊiÖƒ鎲´úœ íЂ¸¢5Ѧ>ØKZ\*;ÛåÉÔWßwìÿ®Ìãzc^yϼæžyµ}oëyµIÝäÄS£7 u}ÎàÖÄX‘‘ù•ôð»õÖ[ñçøG›6mÑŒ™™™=ôަ؇döìÙþ™¦ÕQM†ã†7YWÐéªh;ý8íŸyæ8 „ŒìG|÷ÝwÑ‚"pÆŽ‹S†À),,TéjMÈu×]‡û®(È.Y8J/c ÿtÈ!²§Œâª«®jÚ´éàÁƒ,âNüþûïãäÇk¸÷Þ{-ZmÆI(×Þà÷4h€“_¹p0YW!ƒð(&TD®yÃu@Ü¡###á<â&}íµ×nݺϬ8b·ììlkø[4«Ñ£GGDDà…ÁÐ<;Lª»ï ·•+WöéÓ§GÔ‹¡$<\"Á‰h>Ñ”¾ýCÜ}ìäË3·Ý=ì˨¸d~ÂGç¡ËÿúÖÒ·dâš\TT$+éi7'Äÿzc{õ'žxbêÔ©¾ÙCéÑ=÷Üãp8¬ï¡neÃW·T @½‘§GZZkC{Uo<ÕðÔSOM›6Íi?‚½­ˆÀùÃþ ˯;íG0º©oýÔw¨®ùå“{½¸±mü2Îç Þ6/}ü• IÿS"VààŽ#$Ç7z#+ŒãJˆK.5¸\àR°—ø4®á¸#àž‚{Πݯè/Þh ŒØ›0cef'ÌPoü®7ª ³C»ÁžÞ„j?õÆ65—~Mxþëá¯mÎÈ?vêìÅÊ1*=.*P®n7Ú󤢎s8 F§‘¨*øf¾5ŠÓ¨4 C§ñXj€îMð;¬D¥¤pÇÞ+óî•:rJޏ¨ í3Ãõ÷Ðèh2pI£ƒF|Îa4b1…ØD,sè†¢ÞØ^xc{ÂŒ«3Ó|?a&0ÞPoü«7ìG¨WýÔÛ$Îß1bj†,' ô™Ê:.`[iΠtVÔÅièiƒÎ¨R°«½ NÕÅhøÔ¼Ð–¼»IŒFJUq·§d_ÜÈUs—äãí㲆fòYo½¬¿‡s§¸Àž!~M€èCsøÒu õ†=Ê!;a†zÔzã÷~„\x€ýÅÅÅÔ7é>bÍžoË…ÛˆÒêâ†e¤1Jt5Fi2ãKWi\ê5pZØÈd”Qf>sØ‹ñ¥;ªU§›¢˜÷¯Ï–e·¯ G­‰ÆõÙ%†qÄèŸ<ˆï‘£¬¾_‹EêÞØ˜0ãNIè`ìQ„ 3nî¡N½ d½ Ì…7ö†IÙ@½q?ŠKVº£‘%¶•æ”+“ÊÌo[2¦\±®4F³È\š?¦T“Û“6vtwxT…B@SoVoØ<$Ôïé·ë dff6kÖlñâÅ8-ñ·lÙ"ÂðeRR~‡6l˜Ô,8‹Æwß}÷ÉðY½zõ͵¬Y³ÆöÂ<¿ˆšÂÂÂ矾sçÎ6ê ˜ë·ë Po!^×ÜwqÑwSoü>aÆâþhÜC]ê îǸsSo|¦74D ½a?Bðö#„zãA½ñe]Aƒ½ûî»2ˆ(Âð#mI½¸ DDDÈ/Ÿ~úéI“&Mœ8DÔÄÅÅ¥¤¤ˆ¨Y±bEïÞ½•£7K—.íÔ©Sxxx‹-ð¯Uzƒ`ÁiyÅWˆè@ ¼üòË7Þxc“&MüqüHD ¢–Ó¸qcük¼¤ß)ðK]ê !Äëz#.gFzãfr™1¶{”Íw™ 3&; ¸³ãÔ›mÛ¶mݺµ  /ÇíK½ñªÞˆ¶vSoLú¬šKýÇô½~„ ®šI?ÈÊÊzÔ[|ø]o”›Þø²®@«V­Ð¦2|иøŽŸ–-[¢}MôFŒÞtéÒE|‰s>22² <À©ŽÀÙ°aÃ-·Ü"¢àöÛoÇ©¢Ô›èèèyóæá ‡ 6L©7øó¢¢"<ÿwÞ)¢còäÉݺuËÈÈÀ÷aeúÓŸD¤Àybcc7oÞŒÿ;räH£Ñ_Ö ÞB¼«7¸gà¢[/®h¸²kï,åJ{¨ ‘rá.¸}ûvÜñ:ql+**¨7ÞÓäg8 oB`á4„ÖmÛ¶åççãÉqpÐpHÓƒQoüÅ•­»£7nNò ÃýEFN{|G„ AuõFдiÓ¾}û:;•¸¸8;={öÄ—"v}ôÑ©S§¾ñÆÏ=÷œjíMLLÌ[o½…gPFòàÀ¶nÝ*䦛nÚ´i“xœ››Û¢E )­[·^·nj¨Ó_z#£ƒzCñ¢ÞÔÔÔà+5.@¸Ödzò-|FÊ…[ Ú %î.8 C0x¼Ôc‹ä Ù­þ°µ„ÒÓââbhrÜ & ®ÑÖÐŽÞÀ(,ŽÞ¨xà>üðC¡7sæÌÁ—Bo>ÿüó›o¾6²eË•Þ@KúõëÙ¶mÛ¤¤$©7ø +À9vï½÷~òÉ'Bi®¸âІµ4hпƒÏBoÂÃÃ!!öôÆuÄôê !Ä‹zƒÛn¸¾ã"‹ œX’‘••%f.‘»}ûv44n3ht4=N€`œ0DŽmUUUEEÒ 1c>??wwZh®¥p›ÂÂB¤ƒ‡ý555Ôè·ë ȵ7RoäÚ›÷Þ{O;ø©«7Èò/¿üråÀ ¾ÄøèÑ£]»vÅ¿xë­·†ª­œVZZ ™™?~óæÍ•z#†:q‚áûxrHB»víàÒÚÑÎ6mÚ¬]»V5ÔyÙe—y¼®õ†zó¿uóÓp?(++Õ×8\Œp3Fî•GB”‚‚‚¢¢"44š÷NÜZpà4àÝÅ{žèJÀ-éÔ±cÇs -ÀmmÁX Uв¸–"¥C:ˆL‰/2läèÁ8L8zã˺ ##CVN[²d oذAèMzz:ÔbáÂ…øQNNÎðáÃMôæÍ7ß2dˆrV'~Ú´i+V¬¸é¦›ÄijŽ;nܸQ©70¨´´4h ôæºë®Óê xøá‡ß~ûmHÂÔ©S»wEY·n]ÿþý…Þ¼òÊ+±±±xµb홨¨(üŽ_ê Po!¾ÐÜ9D¿2 W^\78 ®qºënIPƒ6Eãâ~)¶â¾"Êyqfš·3<ܼ‘¢!'C…tb)Š1ÐB5Ðв¸–"{Cžúã?"«FŒC7~×4÷õÆvùÁE‹uèСaÆ8ÉÉÉÊ¥kбïMÛ¶mçÌ™c¢7·ÝvÛÊ•+•zƒ/á3]»v7ožX´¶|ùòûï¿_©7}ôQ»víÂÃÃñ_–.]*õF¹V-)) ?•ÓàK¥°°0¼`<­Ð\ðÇŒsýõ×7iÒdÒ¤IÂg&NœØ¸qc9EÍ—u¨7„¯ëÒppWÀu\ Åb}mA$ì MѸhb44níhtá6,*àí GXnäH¶9!=b …p ¡e‘×"FÞŒ<©9Òô Íá‚Toܬ+ *ÎÑ¿ÿ×_Ý^e£ú7NkrØ®4¨[‡Ã#õÓݬ+@½!„øBo¤áˆûîÚ2Ð$”@£¡‘+ˆ9itßdxÂp«UUUáv.ò0ž! Ú­Œ¶F‹u'Béë ¨ô¦°°0** y¼‰Þ¸ZÞÓ¥ =íé•¢|VW€zCñÞˆÄKæ^¸‘T‘Ð¥º44mü’á‰@ Œµ5hÁžº Þø ®€Å= ¬U×­¨îÒVQ.éíêÞ®+@½!„øToTž#m‡„²}*þÍðh 4êKz㑲i.-¼Qê;{FÙ›™æTo<²®/ë Po!þÑBH@ex„PoÜÔÛu\Ý~ÚK o”zc{áGôÆÍºÔBõ†fx„Poìègë øWoB¦®õ†B½!„!Ô«z㽺Vô†u¬ ÝPo!ÔB¨7„Po<¯7¬+àãºÅu8r‹bú,¢ÞB¨7„Po©wzÓyøªƒ¥§¡7/^”zãñºeؘ™vLƒ—ê xDoœÎLSíW»G =ó—gõ~v¥Ð¼ gê !„zCõ†z¡7>p¼òÏlwô†uª®ˆ“:aÆZ‡ÃßÁ›ÂѦÞB¨7„Po ý“)oùéó]žL}ù½íû¿û¿>~a8õ¡®@iJÏqGoTØÖí0Žõº©ës_7bEFæ¶¼¼<<Þ)Ž?Ü•zC¡ÞB½!$ôõ¦ªªêÄO§_œ‘yç/¢â’ùÔwY6öÍ5p›œœœââbXô ŠVæVl„ê !ÔBBüäGÊ[SSóóÏ?———9rdÿþý;vìÈËËCrœM‚‡Ã„ÛìÛ·¯´´´¬¬ í‹V¦ÞB¨7„Po ý“_ àTTTœY±wЋÛÆ/ã~ÿhýÐ’Ç^þzAêž .TVVBu¸ õF9tSSý<èºDo;!ÔB‚>ÃÛ$<ÿõð×6gä+?sA›ŸUéq±Ž ä,v¹Y{…‚szhwp×ݾ½\²:t7qÿQƒî>î?(ø^ƒîî¥zÈíÛ)øNí&îKÑÎ}I_æÇ\5rJ$-Bà 4½a¿@h|´yxéW7.\½— „ê !¡á%Îß1bj†jZ¦²Ž‹z˜(ÒjtMFúŒS“Ñs“Ñ Œä˜é3Z{QâT`´&£¬6û­ØË:¾©c¿{JöÁp>YZ€7È2µ¨75—~•ý§Î^4ºÑí¨T V"²ÌÊ(¸Î(ÐÆ—Qg2ܬwõ膛Ýè+5à°ó“0<¨GᎽ VæÝ?*uÔÔͲr;!ÔB‚2ÃCºÜ}Äš=ß–‹YRlŒR.u“Ñ“ÑM¹´y•²r«y^e1£’2£›KÖC7‹R혡J›´ö¢DÚË>{õ())ù÷rÇ€qkð2¸É`êìЮX3ï0ó´ÑG «4æ=FFgd/NƒN; j¥ïÀ¨ûÀz‚VcdHî7@„aÉÞý¢C‡‡š „ê !A™á!3‹ŠK–ù™tÝÜK¢;åÌzç±L¼¬wŸÐ ›`Í+3™]¦JªœN$Óí> @e2û~‹Ò^${~Ëî:y;Zõ[Œ¿ÂëÄQ‘g¾8z#ú”±c¥kÀHiŒ¢É( Œz Œ?v|:„15ï80™Æ©»í¦2uÃÍv?‚2E‡^3Ž;!ÔB‚Xo´n£ÛlÒ¯ìþâ“nc‹}ÆÖgš%X&•®Éhs,+c2*¥Ù­a×®];kÁ´Nqq1þÞ2Žsuu5õ&ô­ íPu ˜ìcÞA`¢4§4X™Tæ´³ÀHitaŒz Œ”Æh™KóÇŒ”ƼÁ¼Aƒ9ù;Ù¡@¡ÞĞؑP©7293×ó„ÌÊt£yhWÑ(Kè¦_ºnc2åÌi‡±Ì±Üé*VæXJ™Ñ²³´N^^þïÇ–ÝÉ¢7ÊaO1M×M6³ÞA`¢4VÖÌ8UësÌŒªkXTe”Y‰/£îUÜYïDP)nW‚2ÜDĉ4 ®ŠÔBõ†`ÒXÔíÐu½qu5³Ó iN³1­Þ˜ça2ýr:›ß¤²™u½1ʺ´™–S½ÉÉÉÁ¯áõã0¢¨7£7rÉrÜÆzø¸:bc$6.Ø7@e5Vº Œz ¬L63ªèt²™Ó(3 4§±vìØfÍÍÍÅâÝáà3â!ÔBB_oÌKèêÅ¡ëz£›Š™ëyæŽÞXO¼´C7õßÁ+§ÞŽÞ(‡=¡7Ê•6N‡nlW<+3À¥¥kÚ±“ªV†nÜ_Kã´ûÀéiÉo1±±¨7ÙÙÙxŒw‹”G¡Þ:zc=9s©×Ù%½±ÞÓlž‡¹T ÍHoÜìW¶¨7ª©2Ropè¨7¨7º³:ÝÑë3Ó,t:êt¶§m½q:tãÒè¨õRÝÆHoð/Ç–zC¡Þ¬z£œ`ø o”åÜ_x£MÂpHuÓ/÷k=»43M$[Ô›×—f¦¹4þiEo\­%`ofšÓ^—:¼ª7º+Ülè ^$)õ†B½!$èõÆ oRRR:tèШQ#|NNNVfcøQ§Nð£6mÚÌš5Käa¿«#22òÁDR"ó°õë×÷îÝûꫯ¿çž{æÍ›§›„áou30]½ñýÂêMhë«¥ÒÜ_xãªÞàðº:(j]od”Ù[xãq½ÙQ õ†B½!¤~éÇÞÈœlË–-Íš5[´hÒ|Æã´´4‘á¾\°`~äp8† &õF$aÈQÆŽÛ¥K‘‡‰ßûí·óóó‘3¥¦¦öë×Ï¥ù3J½ñãÂêMèégë ,Y²äÖ[o Ãç””¥Þ,^¼XöÌž=[¸²GA‘››+ôFÛS Ò£™iøY¿ÓCD“ +­ÞT]ê !„zCH(ëÞ<òÈ#‰‰‰²³yúôé zƒ3fÌÐö4K½Hw"""D*–0eÊÝ>fü ~týõ×_vÙeÊѤMO?ýtÓ¦M¯½öÚ‰'êêïÞPo‚Wo<^W@«7™™™ÐxX ÎaÈ §§§+; ’’’ð#œ?Æ “z#‚gã¸qãî»ï>©7"¦pNŽ;ß3Ó\Ò‰+mßÔY*½ñàÔBõ†ú®7Êâ¶YxcCoZ¶lY\\,õ¦¨¨¨U«V"÷ MôF9zƒ¬ ‰#½éÛ·/>‘{I½?~|÷îÝñWÛ·oïÚµ« ½ñøÂêMÐéë 4èÝwß•¡”˜˜8pà@Mx€ig¦I½Љˆˆ•ÞÈž•Þ ž}öÙkkÁ|‰°RŽÒèêÒj”¿¬ÒÄÑK/½Ô¢E‹Æ?öØc8íýUW€zC¡Þ(ž;\Ùz°ÇõÆF]°°0dQ2!Cò„ïˆÜ JKKµ%žä[hÚ´iŸ>}²²²„Þ4lØ9“ù;RoðkrfšìN†JmذA<^¿~½Vo|¿¡§L¶¨7¬7º59|SW'-ÎJÅÅÅøŽngVoÄèM—.]DÔÙS Ò›^x¡G¹µtëÖíÅ_½ÚÑÙk Ò“Ñ›I“&á9ÓÓÓóóó!f£FòW]ê !„zCHpgxÚÑeÓ•Á%õA-~Y¥7¥©S§¶k×.,,¬}ûösçÎõK]ê !„zCHýÒïmè©Ô1‹&///** †½Q-¼qiWus½ñïÂêMëûuT¡ÿúë¯ëv('§é.¼1ï20ÚôÆ<²Œ‚K·ûÀÕ =½TW€zC¡Þ²zãã =µzc”é¦b®&aN3°ÙГzbzãÙº*½)((ˆŠŠÂye¤7Ç pª7Fzº¯7¸¤7^ÚГzC¡ÞROõÆu,fc2óÈÌ4Ý Ìzײ·7ô¤ÞÔg½q:3Íh Ôzgj8Ôúˆ¨;z£_F“?}YW€zC¡ÞB½±SWÀÊ“l,ÀÞÕ°·ã õ&HõÆ7u\Š&+zãÒÌ4ßè/ë Po!ÔBBMo”Åm=RWÀh1´Ó…7.éy&“0/¼ñÁ†žÔ› Ò§ûáz£®€ùÐoÞ¸4íÓgzc£®õ†B½!¤~éMà/¼ öºÚ™iÔ›PÕ×ð£Þ„L]ê !„zCHÈêMà/¼ öºÞGnQLŸEԛЯÖpª7¬+`eè†zC¡Þ"zÓyøªƒ¥§åÚO-¼)ÓÃ¥…7Ç~‹gÞx¯®@‰‚= \™æ/Ïê5ê è þ oG•zSô†u|\W ¸Ñ¡@½!„Po n½™ðã•f»ª7^ÚÐ3@ê È›‡Ÿ[5aÆÚÜÜ\<ÞŽ02i&[¢7¢_@¥7¬+Œu¤ÞÌ_žÕûÙ•Ropœ©7„ê !A¦7ÈÒÊNUÜûĪ—ffíÿ®Lwí/7ôôl]2sUoDú¥ÄÕ™iÚa+z“º>gà¸ÔžÏ,ߺm{aa!þÞ8;,­Æs>ôFô @oÌ÷Ãu³®@™6Þ ‡z\o|PW Dƒõ¡½‰“:aÆZ‡ÃïãQo!ÔB‚LoîÜ•••Ç<õBbƯˆŠKæG |Ü=dÙØ7×dnÍÊÍÍE6†Ô kEE’iêM €À)?}¾Ë“©/¿·]ô ˜T ±ºÚŽàNÙ4m‚½º»të ¤®Ï4~u܈™Ûòòòð·œJ¡Þ”z#æ§!-C΄Û9²‡ââbÜÝG6ñ+999ÈÀð!éD¦…úÒ¥Kԛћªªª?~qFæ]CWRÈC£CaKÆV\úp „_Aÿ8^J¡Þ”zƒŒ¹²²òܹs?ýôÓ‘#GÏŸ?_]]ÍŽäA·_ 77Éñvœdgg£‹ŠŠöîÝ{øðá“'O"èÐÊÔBõ†`Ò™¨ Ã)//?~ü¸(©,&™|K|;>šàèÑ£'Nœ8uêÒ¬ªª*Ýbb§è€á|óÍ7{öì—Òσѧ°ÿþC‡!îΞ=‹öEÐñT'„Po 2½‘†ƒúçŸFºvúôixŽvf?ñ âÈ£ ÐhŽ .TWWÓm e¿Úë‡~€äÀKéçÁÛ­pøða´#bnƒ¸ãÐ !„zCH°êÍÿÖÍR’£¬EüZ©3šòË/¿0Í @Ð.ÂpΟ?æÌÑ) ZâO‚ѳ€D;VTT úDÜñ$'„Po V½‘’óK-—j©!~ÿ—:(6Œè»ß '6)žF´Ý… ÐŽ,%„Po ½Ñ¦nÄ_ðÄ"Ãýìö>Ù­À³šB½!$¤ô†jAÉ!Œ†!„Po n½QvBËÍjâ[´SÔ˜xB!ÔB¨7.P]óË'+özqcÛøeÜàÏïm^:äÕ WïÕ„çÐp!„ê !ÔKn“ðü×Ã_Ûœ‘¬üÌ9t#Ǫô¨¬ã¢‚ u(XWÔqN³uœQpºŽSu”ëQVÇI²¼²¶8Ò Çë8¦à ßÿýÑ:ŽÔQªÇá:)øNÿÖ!+Òü-E;÷%}™ÿ¨ÔgßHÇ‘ÁÁä¦7„Bõ†ê%çï15C,¨UYV`tMFb®4g5(•F×dtÆÜd´cn2ßסr­Éè ŒÖdþ«@»·†RcÔ±_Ã7ß|S²wÜÈUó–â8àHŠi8„Bõ†ê!H—»X³çÛr±äFZ®É(Q)‘Éhd”œR UåN—º[U؊јÃzèŽÃüW)0RZ¾ÑCé0ûêØ«GIIÉ¿—;>ÿ¼`¸Ž0š†5!„ê !Ô3½‰ŠK–å¤Û蚌¤B«ÓÌ”2c}vÙ ºÃ2ß+8ªÁʘŒÓ‰dÚ¹dÊq¥Õ¨Fe2% öhØ]KNþÎVýã©ðâqÐÐÀ!„B¨7„Po ؽQºØP5ßL‰®ÛèÔX_<£µ“ifº5ºëdÌjT³ËLÆdtMFw Æé˜ŒJivkصk×Î;wÕ‚ÖÁc¼ðêêjê !„B½!„z£ƒØp ´º‘³ÑÌõFw9ùˆ®ØØ^E#ôFµxÆ\ot­Æ|Ê™îˆù”3ݕۨ¬f—;ë@ëäççãÙðîpÑFÔB!„zCõF_o`5Roä´4ÝjæzãtBZ™W‹û-ÚÚîèùråÐE½q: ͺÞäääà÷ñpHÑF\~C!„Po¡ÞxLoÜ/ëlEoŒ–ÙHŒJŸéyáfwôÆ¥jÚ iVôßžáH¢¨7„Bõ†ê½1ºqZ!ÍÕ™i.-¼1ÑÝ…7îC³83ÍSz³SÔ¼r:ê !„B½!„zã\oª««]Õó…76ô&´ÞèêùÐ õ†B¡ÞB½ ½1¯+`43-%%¥C‡5Âçääd¥ÞàG:uÂÚ´ióÁ½ù]‘‘‘}ûöÍÎÎVêMÛZÌõk>t#õÆú£º®.¼Ù±cõ†B¡ÞB½±¯7Þ^xc¢7éééÍš5[´h\Ÿñ8--M¸ àË @6ÇСC¥Þˆ¡ÈÀرc»té"õ&55õ¦Zð@êÇޘנÞB!ÔBH@èïÞ<òÈ#‰‰‰rfÚôéÓ  ôf̘¡]x#õV¯ˆˆˆzóä“ONœ8ñµ×^{ê©§„ÛôìÙsáÂ…Âm–.]Ú«W/åè „ªcÇŽááá-Z´øÇ?þ᯺Ê™iÔB!„zCõÆe½ÁgWõÆã o@Ë–-‹‹‹¥ÞµjÕJ( ~TXXh¢7rôF¸ ´$222·<€™@Ö­[wË-·@TðÓN:¥§§+õ&::úã?†œlÛ¶mèС°ð†zC!„Po¡Þø_oìmèvôèQ©7°|G( ”––jKB˵7M›6íÓ§OVV–Л¹sçöìÙS<îÑ£¼E à 4hòäÉS¦L=z´jíÍ 7Ü0mÚ4gÐøÕq#VdnÍ*((ÀóãýâPWVVRo!„ê !DäÊȘ(!1㮡+£â’ùwY6fÚêŒÌm999°X¬¯¢¢¢ººRÊó–B¡ÞBôõóùóçúé§C‡•””æææfggo'~ÅápäååÁmöïßäÈ‘òòò .ÔÔÔPo!„ê !D1?íâÅ‹gΜ9qâ ÉôîÝ»å â/vîܹgÏž”––B>Ï;WUUÅ™i„Bõ†b2æššš .ÀpFÿý÷‡V­³'¾ç»ï¾ƒØüðÃ'Ož„Û@A!¢º!„B¨7„K†ƒº¢¢âôéÓåååbõÿÄOà࣠ÐpÎóçÏWVVÂm8tC!„Po!V  tuu52iÝúiÄÇ  œh4 Z‡ã6„Bõ†â¿Ö"<§†ø›KµPl!„ê !Ä3ªCü ÏCB!„zC!„B!ÔB!„B¡ÞB!„B¨7„B!„B½!„B!„ê !„B!„Po!„B!„zC!„B !þ?§†W)¶IEND®B`‚qcustomplot/documentation/html/classQCPItemCurve.html0000644000175000017500000024103612236016575023335 0ustar dermanudermanu QCPItemCurve Class Reference
QCPItemCurve Class Reference

A curved line from one point to another. More...

Inheritance diagram for QCPItemCurve:
Inheritance graph

Public Functions

 QCPItemCurve (QCustomPlot *parentPlot)
QPen pen () const
QPen selectedPen () const
QCPLineEnding head () const
QCPLineEnding tail () const
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setHead (const QCPLineEnding &head)
void setTail (const QCPLineEnding &tail)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const start
QCPItemPosition *const startDir
QCPItemPosition *const endDir
QCPItemPosition *const end

Signals

void selectionChanged (bool selected)

Protected Functions

virtual void draw (QCPPainter *painter)
QPen mainPen () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
virtual QPointF anchorPixelPoint (int anchorId) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A curved line from one point to another.

QCPItemCurve.png
Curve example. Blue dotted circles are anchors, solid blue discs are positions.

It has four positions, start and end, which define the end points of the line, and two control points which define the direction the line exits from the start and the direction from which it approaches the end: startDir and endDir.

With setHead and setTail you may set different line ending styles, e.g. to create an arrow.

Often it is desirable for the control points to stay at fixed relative positions to the start/end point. This can be achieved by setting the parent anchor e.g. of startDir simply to start, and then specify the desired pixel offset with QCPItemPosition::setCoords on startDir.

Constructor & Destructor Documentation

QCPItemCurve::QCPItemCurve ( QCustomPlot parentPlot)

Creates a curve item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemCurve::setPen ( const QPen &  pen)

Sets the pen that will be used to draw the line

See Also
setSelectedPen
void QCPItemCurve::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used to draw the line when selected

See Also
setPen, setSelected
void QCPItemCurve::setHead ( const QCPLineEnding head)

Sets the line ending style of the head. The head corresponds to the end position.

Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g.

See Also
setTail
void QCPItemCurve::setTail ( const QCPLineEnding tail)

Sets the line ending style of the tail. The tail corresponds to the start position.

Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g.

See Also
setHead
double QCPItemCurve::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemCurve::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

QPen QCPItemCurve::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QPointF QCPAbstractItem::anchorPixelPoint ( int  anchorId) const
protectedvirtualinherited

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented in QCPItemText, QCPItemPixmap, QCPItemEllipse, QCPItemBracket, and QCPItemRect.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/functions_func_0x77.html0000644000175000017500000000252512236016575023646 0ustar dermanudermanu Data Fields - Functions
 

- w -

qcustomplot/documentation/html/QCPCurve.png0000644000175000017500000001762512236016574021314 0ustar dermanudermanu‰PNG  IHDRÂÈô–vÀsBITÛáOà pHYsÄÄ•+8IDATxœíÝyTUåþÇñ·‰zsBsÄ!Eg#KOšV¥˜#fN9䵫¤EzH+£¼fæ˜Ór@Ó®‰¿nj嘉˜ˆ³†¨ˆ8\PQ¦ýûC*¹j{ž}¾¯Åjí»–÷áûYnö‡}Î> ÃÀ´ˆˆ‡Ãa~å´ ‚FY´ ‚FY´ ‚Y²j!„ÈŸ Xr5*„ù–5W£–¬£œ6AÐ(‹6AÐ(‹6A°"‹”z!„0EJ½B˜"¥> m‚ Qm‚ Qm‚ ¥^!”“R/„¦¸Ý¹ u8f~gr9°ð@6ņ²)6<0¿)Ö\Fèò–m‚ Qm‚ Qm‚`E)õBaŠÜ©ÏB› h”E› h”E› Èz!„PNJ½B˜"¥> m‚ Qm‚ Qm‚ ¥^!”“R/„¦H©ÏB› h”E› h”E› H©Bå¤Ô !„)Rê³Ð&eÑ&eÑ&Rê…B9)õBaŠ”ú,´ ‚FY´ ‚FY´ ‚”z!„PNJ½B˜"¥> m‚ Qm‚ Qm‚ ¥^!”“R/„¦H©ÏB› h”E› h”E› H©Bå¤Ô !„)Rê³Ð&eÑ&eÑ&Rê…B9)õBaŠ”ú,´ ‚FY´ ‚FY´ ‚”z!„PNJ½B˜âvç‚Öáp˜9øÉuäÀÂÙȦØðÀü¦Xs5áp8̯£œ6AÐ(‹6AÐ(‹6A°"‹”z!„0EîÔg¡M4Ê¢M4Ê¢MäN½B('¥^!L‘RŸ…6AÐ(‹6AÐ(‹6AR/„ÊI©BS¤Ôg¡M4Ê¢M4Ê¢M¬ÈâfÉ.-#ƒS§8vŒèh6o®~ãw¾nÝ"9™›7¹}›¤$ wwJ•¢T)ÜÝÿø*Y’5ðöÆÛ›råT‡"{ÒÓ9ž³g‰'.Ž„ΜáìYÎãÖ­Ì?sý:©©™Çii/N… TªDùò@Õˆ*V¤J{ŒbÅۇüXêÓÓÙ³‡uëØ·£G9y¼¼¨]oo<=)Z”âÅ)R„¢E)Z”"E(^œ¸z•«W¹|9óàÎו+ÄÄpì11ddàí¹”—ÞÞ4lH¡Bª qqìÛǾ}<ÈÞ½ÄÇS¶,U«R©•*Qµ*+fþ×í·‹«âÅÿøÛ[° ׯ“À¹sœ?Ϲs\¸À¹sÄÇsèžž4mŠÃAÓ¦Ô¯OÁ‚ªRª‘Þ zæ ?ýÄO?±a•+Ó®O?M:Ô¨Aá™ÆdÄD¢£3¿ŽãðaNœÀLJƒæÍiÖŒŠ­É’.±)Ù¡Mò0‹apè»w³æÙ³dI||ðñ¡Q#||¨Qƒr¿þÝAÒÒ8tˆˆvîdçNââhÒ„—^¢GÊ”±&ŽS™ßýKýÿKp0ÿþ7 ´nMûöLžL¥JNù^<‚ÃÁÝ;rã‘‘lÛÆW_1dE‹fžO7þãǾ–8r„M›Ø´‰°0J—¦Y3||èÒ…Ç£tig}S7·Ìô!IIlÞ̲eŒEóæôêE×®/î¬ïn:—ú}û˜1ƒï¾£cG^‡ƒ‡T¿¾ëØ1vîdǶn%.Žvíhßžöíóô*UhæÄ  eÓ& ¢U+Z·¦U+ªTQ¥>>ž‘#Ù¶I“èÑCõ4¹˺u¬\Ix8:Ñ«/¼`ë"$'³~=Ë—³z5ÞÞøùѽ;5j¨+WÒÒX¼˜±ciØI“¨UKõ@VÐáå÷iiL™BÆT«FT”©s¨òW¯ÎС¬[Gt4Íš1~<•*áïOX9[Jy«h„fIMåûïyé%*T`êTš4aÿ~vìàwÔŸCs½)nn Ä‘#´mKóæÌ›gí\¹!/¿çøqºw§lY¶l¡n]ÕÓX§\9^×_'.ŽeË1‚‹éÙ“^½´jCâ¾vïfÑ"þïÿ¨]›þý™=[·wv.Ìoð ôí˪UÌŸïÚ]»ÔoÜHß¾Œƒ¿¿êQœïÈBBXºÃ`À ÂÃCõLÂR.°d ró&ýúñÊ+Ô¬©z&'KMå£X´ˆùóéÐAõ4¹fÁ.E÷R§N5<<Œ°0+×t‰›ÂÆàÁFéÒ†ŸŸ±nÝoî»D–ìÐ&ˆñ€,))ÆÊ•F—.FéÒÆÀÆæÍFFFÞ–3ÖnÊ/¿Õ«j‚›Ï¢ú…”¹rû6ƒ±p!Û·ó쳪§ÉsM›2o±±<ÿ<ï¿O­ZŒG|¼ê±DÎ=ˇRµ*“'Óµ+qq,\È3Ϙz‘+jÙ’={ cèPÒÓUO“s®Wê¯^Å×—*UX¸0¿?áŽÈHæÌaùrZµbÈÚ¶Uÿ.ñ—˜9“M›è×¼½Ud7nе+åʱh‘‹½:ÅÅîÔß¼I—.<ù$Ë–9åêŠ7…›4aþ|Nž¤m[Þ{//¦LáÚ5—Ìr_ÚÂÂvÍ™CƼù&mÛrêS¦¸ä9Ô›R¬«Vqó&ݺ‘œlùò”¿ž~ŸšJïÞT©Â´iù®õü%wwüýÙ»—¥KÙ½›5˜6­Zl¬ê±ÄoŽcĺuó eÆ `È©Sÿ«H¾ûŽG¡CnÞT=M¶¹L©7 úõãÚ5þóŸ?È$äìY¦OgÁž{Ž·Þ¢ysÕåW¬YÃŒ<ÈàÁ â¬ÇâèäÎ?vÃ`ÉÕ£dË”ú€Ž'$ĹçPmúcåÊtëqò$Ï=Ç«¯âp°liiªÇÊÝ””‚ƒ©_Ÿ  $6–  NŸvÉ,÷rê¦(Àܹ=Ê”)Îû&È/¥~ñbBCY·Ž¢EUâRŠãõ×9|˜>`ÎjÖdâD®\Q=–î®]câDjÔàÛo™9“ÈHzõr±{&Ê-ÊŠL˜ÀƪGÉ(õ±±8lÜHƒªGqqûö1u*?þÈ¡CòÒ}§HH`Ú4æÏç…xç||TäâÂÂèÓ‡íÛ©^]õ(ÊíέÃá0sð;“ëÜ{ðä“?¿k½{_iÐàQkWÖþྛâïÑ»·›‡Çv˜P§ƒÓ§ÿ¶aÃc!!iíÛ_Úµ«bBBÄíÛ@ÞýKÑòàá‡yï=G»v7ƒƒmÑ¢I^þKÉÑÝßÅ4~¼Ñª••OáüsÚ¿aÆÙÚµ#2’GU=Š÷ç“O8xÀ@^}U~qï,'OÒ¤ ‘‘xzªåì{§Þ0xí5¾ø"Oϡ΢Š6YldÛ6Ú·§gO:u"&†aò{µa–ÜÉË žžà¬õÍg±ïú+(P€~ýTÏ!Ä]6o¦M^y…nÝˆŽÆßŸ"ETÏ”¼û.GŽðãªçx›–úŒ 5bÒ$ÚµS=Š„†òÉ'ÄÅ1z4ýûË ˜òÚÚµ Æ¡Cvüå‰MKý’%”)£àªMçB£,ʃ¬_O‹ ÂÀ;Æßÿžûs¨ò,VÉû ¾¾Ô«Gp°õ+ëYêSS â_ÿR=‡È÷BCyúiøÇ?8|˜qsùÏ‹pao¿Í—_æøÓtò€Kýܹ¬XÁÚµªçùXx8|ÀÉ“ŒCß¾,¨z @ãÆ|ú)/¾¨zެìXêgÏ&0ÐÂõr@›Î…FYò8ÈþýtîLôèÁ‘#ôïoå9T6Ť·Þbút‹×Ô°Ô8ÀåË´l©z‘ÿ=JÏžøúÒ¦ ÑÑ "÷‘l§W/$*JõYÙ®Ô¿û.… 3v¬ê9D~rçñKkÖ0bÇS¼¸êăËéÓÌ™£zŽ»Ø«Ô§§³d ¯¼bÉb¹¡MçB£,N Ïðá4iBµj;F` sÏ¡²)æ ÀwßYù‘Mº•ú©R…:uTÏ!ò+W=š (VŒÃ‡ùøcÜÝUÏ$²¡jUªUcÇÕsÜÅ^¥¾š6eøpÕs­Ý¾ÍÌ™|ñ;$£w=}Dj*Ÿ}¦zŽßثԯ[‡ŸŸ%+å’6 ²X$#ƒÅ‹ñöfëV6ndÞ¼¼>‡Ê¦X¢cGV¯¶l5óYlôbâ£G)QB. „³¬YC` îЬ™êi„ Mšðßÿg—g¿Ù¨ÔóË/,Z¤z¡ðpÞŸ 7Ž.]TO#¬ðÚk4nŒ¿¿ê9[•ú­[iÑÂü2¦hÓ¹Ð(‹™ GÒ½;/¿L¿~ì߯þ*›b•§ŸfëVk–ÒêN½N£Bññ F‹4mÊÑ£ $o‡×Jýú<¨zˆßØ¥Ô'$Р/R €êQ„‹»~©S™2…W_%0²eU$œàÆ Ê”!)Éï4³K©?zõçPåUÅBÚdÉ~´4‚ƒ©]›¨("#™8ÑvçÐ|¸)NR¬U«räˆKés§Þ>7Ý„‹Z³†wÞ¡|y¾ÿž'ŸT=p¾† 9x† UÏaŸR?n·o¤zá‚öìáŸÿäÂ&L°Ý#Ô„óŒCJŠ-^„o—Rú4U«Z2‹)Ê«Š…´Éò'AââèÓ‡Nxåöïwsh~Ø”ÿ??ÆŒ¡|yÕ E¶láƒؼYõö)õgÏâáaÉ,¦Ø¡ªXE›,wY±‚úõÙ°™9ÓõΡZnŠ*îî$%Y°Ž>wêÓÒxÈ.¿`vΈܾͼy<÷œêi„ ”*%¥>«R¥8uJø(î#&†?dÇÆŒaÀùq+2]½Š—.¨žÜî\Ð:3¿Ëõ:ééé»vímÓæIKæ‘K6EùARRÁuëžœ7/­OŸ„Ç«8i‹Áòó¦Øç iSGrrzDÄ.囂a…ððp“+¸»W®X2‹)æƒØ‡Kg¹}Û˜8Ñ(WÎð÷7V­Ú­z˸ô¦ÜÍA._6Ê—·`óY¤Ô {1 –-ãéU‹I“äÅâN¢MbbTÏaŸ;õnnV~FU®™b®˜eûvš7gÂæÍcíÚÌs¨+ym²Ø!ÈÕ«”,iÁ:æ³Øå×õUª z¡NL ~~ôî¿?»vɽxñ׬:šg—Rß©ÆѾ½ê9Dž»t‰  –-# €‘#yøaÕ ±jsçòêç°O©¯Z•3g,™Å;T«Ø?Kr2_|AݺddÅèÑ÷?‡Ú?Höi“ÅAíRêíòòûªU­yÊ€p †AH<ñ[·R»¶ê„ ŠŽ¦zuÕCö)õK–ðóÏ,\¨zá|¡¡¼ý6… 3~¼üT䞟={Ò³§ê9ìSê«TáÔ)Kf1ÅUÅ*6Ìr྾ Â{ï±cGvÏ¡6 ’kÚd±C«žÙ¬ÏúºuÙ¿{\ ëÅÅ1hÏ?Ï‹/òë¯ôì©þc„K»qƒ³gñöV=`ŸRÔ®ÍòåÔ¯¯za©+W?žààÌ‹Ð%T$´°s'C†°w¯ê9û”z E Ë>x:×ìPU¬¢}X¼XõâO%%ññÇÔ­K9˜1/®z&‘o,^L·n,¨zŽ»Ø«ÔQQ´oOl¬|r™%'3{6&Сl—û¤"ÿHIÁÓ“ ìõ±ö*õ@½z”+Gh¨UëåŒ6 «³$'3mµjIX äÝ9T6ņT ¡aC‹Ï¡º•ú;†çóÏU!~sû6Ó§ãåÅ–-¬_ÏÒ¥Ô©£z&‘/“'3b„ê9îa»R¤¥Q¿>sæÈSÔKIaþ|ÆÇLJO>ÁÇGõ@"[¿ž‘#9tÈv/§³]©ÜÜ bôh —Ì.m:沤¤0w.µj±z5Ë—óÃ*Ï¡²)6¤$Èĉ¼õ–õçP=K=ðòË\¿ÎêÕªçÈÒÒ¦vm¾ý–eËX½š'ŸT=“ðãÄÆÒ¯Ÿê9îÇŽ¥þŽ~àãÙ½Ûvðººu‹ øâ <= ¢eKÕ ñ›[·¨W™3ñõU=ÊýرÔßѹ3… ³`å ÿm:9É’”ÄĉԬÉÚµ|ó ¡¡ö:‡æÏM±¹<2n?î¬s¨>iw_óçÓº5­[ãé©zM%&2}:3fЦ kÖðØcªrA ˜È!òDjg‰‰aÖ,öìQ=ǃٷÔß1y2+Vf¯7-h !I“X¸Îyÿ}¼¼Tä²`ÂÖ¯çµ×xóM*VT=^ ƒ_ä™g T=ʃ¹Ý¹ u8f~gr{FŒp,]z- àêŒU­]YûƒmJ||‘ |¾þ:Í×÷Òž=ãã#[Ìì¢o¼Ñ£G‘}j×NkÝ:q„ò‰‰yý/E׃­[§NÝhÙòWhšÇÿR²€a…ððpKÖ¹¯¸8£Bcï^ç}‡?85H»7Kx¸ñòËF™2F` qþ¼’¡rÃ…6åâEããòå ??#"â>À…²ü¹¼ òÓO†‡‡qú´s¿‹ù,v/õw,]ʘ1lÛF¹rªGqAéé,_Δ)\¼È›oòê«ò$çºy“à`&O¦Z5Þ}__yµInœ8A‹„„ðÌ3ªGùKVœÍóâGÓ{ï‡qýºs¿‹6 †a„‡‡_½jLšdT«f<û¬±r¥‘ž®z¦\qÑMIM5–,1||Œ† … ädÃpÙ,÷rv7ŒFŒ/¿tê7Éd>‹M_~¯Ï>£aC:w&%Eõ(®àÄ ¦N­V£{÷òÝw„…Ñ¥‹<4+O¹¹Ñ§{ö0ißOõê¼÷ññETÏåÒÓ8'žà7T’=®QêïHO§G â›oäÆýmÞÌôéüò ƒ3|8•*©HËœ9,XÀSO1lÏ?/MÿþRRèߟÄD~ü‘".òCǾ/¿¿WÁ‚„„p鯑‘á”o‘7Aœ!1‘)S¨[—¡CiÓ†ØXºt‰Ðã꺛r·êÕùì3þóŸÈnÝ=š:u˜6«WU•[NÚ”›7ñó#%…U«òîj>‹‹Õ¼Â…Y¹’cÇèÚ•¤$ÕÓØÃ–-ô뇧'»v1g‡ãïOÑ¢ªÇ÷S¸pÆÀDF²x1»vQ³&C‡ò믪Dz‡k×ðõ¥lY¾ýÖÅ>ÔË•JýïRS `óf¾ÿžZµTO£Hb"‹3w.†Ák¯1`eʨžIäÐùó3s&ժѷ/½{óÈ#ªgRäâE|}iÞœiÓ\ï×®TêW¨³f@‹lØ`åÊöï†Á/¿Ð¯5jÉìÙDE1rä}ΡöÏ’MÚáž,*0jqq|ðÛ·S³&/¿Ìš5¤§«0»¬Ý”ŸæñÇéÔ‰/¿TpÍw¥þnÿøß~Ë€L™‚ ^RçØ¾}âéɰaøøÃ’%<û¬ëýèÿ£`A:t`ÉbciÛ–±cyôQ9rDõdÎwëÿü'ƒ±hcƨž&·\²Ôß-.Ž—^¢HfÌÐóÉÑÑ,]JH·nÑ»7½{ӠꙄ“9ÂW_ñõ×T«Æ+¯Ð¹3Uª¨žÉ ¤o_êÖeölÿm†ù¯ª_TœžnÌše”-k—/›ZÊ>¯Ž>}Ú˜4ÉhÒÄðð0Œ\ÌeŸ,&iÄÈa–´4cõj£O£tiã©§Œ ŒãÇ7ZΘܔädãóÏòåÅ‹­š(÷òÑËïÿÄCáïOTW¯R¿>_íÂÿȦLá¹çðñ!*Šñã9}š©Sq8TO&òÜïe?!1cˆ‰¡Y37fìXV=\n¥¤0kÞÞìÞÍÎ6}š}N¹|©ÿÛ¶1l òæ›ôêå/ß½u‹M›X³†µk¹}›öíéØ__{͇ÈéélßÎòå¬XÁßþ†ŸÝ»óøã®ñþ´ÔT¾ú*óÌAA4l¨z YqQl¯Ú•–f¬Xa´ic”/oŒ•³ÇÃäe“'™3Œ%Œ–-qãŒ={¬\ßV›b†6A K³ìÚeŒeÔ«g”)ctïn̘aüú«Ukÿµ¹pÁ˜1èQÃèØÑصËyCå’ùM±õÓïs§`Aºv¥kWfæL5¢M†åÙgqS7#ƒ¨(¶o'"‚mÛHLÄ×—þýùúkÿýºPá‰'xâ þõ/ÎcÓ&BC™<™7hݚ瞣ukõ/©¾v•+Yº”;騑o¾ÑöwSº•ú{]»Æ¢E,Zĉ<û,íÚÑ®]Þ}*Ib";w²cÛ·³k84kFóæÔ«ç]L¸ØX eÓ&  Y3||òî±ü‰‰lÚÄÒ¥„†Òª}úС?œGß] kN£Ûÿ ¹x‘Ÿ~âçŸY·ŽâÅißž-ðöÆËëçoš rö,11;FL 11DEqîM›Ò¼9O=•§W.±)Ù¡Mò6Kt4»vqàûö±oééøødžU5ÂÛ›B…r¿øÝAnÝbï^vîÌüºt‰§Ÿ¦GºvÅÝÝš,Ne~S4,õR®}ûÒ·/†ÁÁƒüô+WMt4%Kâå…·7EŠxœ;G‰)BÑ¢<ü0ûÅ‹S¨ pý:W¯fùºr…K—ˆÍ<{–,IíÚxyáåE³fÔ©ƒ··\r 5îü=ìÝ;ó^¸ÀþýìÝ˪UŒlj”,I¥JT®LåÊxxðè£T¬H… ddPºôëÜùû$&’Àùóœ;ÇÞ½UæÍãüyΞ%:šúõiÚ”öíùè#¼½óÝ[Bô/õÙϱc™_Ç“”Ä­[$'só&·o“”DZéé”(»{–¯Ò¥)UŠêÕ3ÿÊ–,©:‰Ù–˜È¹sœ9“ùßøxΜáüy22¸|ù?vý:©©%KR¹2åËgþ×Ê©\™ òû«JòQ©Ïm‚ Qm‚ Qm‚`E)œBaŠ”z!„0Å%”ç<ÚA£,ÚA£,Ú!Ÿ?(O!ì@J½B˜"¥> m‚ Qm‚ Qm‚ ¥^!”“R/„¦¸Ý¹ u8f~gr9°ð@6ņ²)6<0¿)ò.¦,´ ‚FY´ ‚FY´ ‚Y¤Ô !„)r§> m‚ Qm‚ Qm‚ wê…B9)õBaŠ”ú,´ ‚FY´ ‚FY´ ‚”z!„PNJ½B˜"¥> m‚ Qm‚ Qm‚ ¥^!”“R/„¦H©ÏB› h”E› h”E› H©Bå¤Ô !„)Rê³Ð&eÑ&eÑ&Rê…B9)õBaŠ”ú,´ ‚FY´ ‚FY´ ‚”z!„PNJ½B˜"¥> m‚ Qm‚ Qm‚ ¥^!”“R/„¦H©ÏB› h”E› h”E› H©Bå¤Ô !„)Rê³Ð&eÑ&eÑ&Rê…B9)õBaŠÛ Z‡Ãaæàw&ב dSlx ›bÃó›bÍÕhDD„Ãá0¿ŽrÚA£,ÚA£,ÚÁŠ,Rê…¹SŸ…6AÐ(‹6AÐ(‹6A;õB¡œ”z!„0EJ}ÚA£,ÚA£,ÚAJ½B('¥^!L‘RŸ…6AÐ(‹6AÐ(‹6A°"‹\ !„)ÿ…7*RÜnNIEND®B`‚qcustomplot/documentation/html/functions_0x76.html0000644000175000017500000000257712236016575022641 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- v -

qcustomplot/documentation/html/functions_0x67.html0000644000175000017500000001547612236016575022643 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- g -

qcustomplot/documentation/html/RelationOverview.png0000644000175000017500000014614712236016574023172 0ustar dermanudermanu‰PNG  IHDR%Íîèi€IDATxÚì½xÕöþ„@(†IE ¤H¨QŠ”H‘b Qªz¯B@$”‹ôÞ ªtB0LEAì`¯Ò.½yÿï/ë›ý¦9%É)ë}xòÌæÌ™Ùkíµ>{ÏÞ{ ýÅb±X,‹•—*ÄEÀb±X,‹Å¼Åb±X,‹Å¼Åb±X,‹ÅbÞb±X,‹ÅbÞb±X,‹ÅbÞb±X,‹Åb1o±X,‹Åb1o±X,‹Åb1o±X,‹Åb±˜·X,‹Åb±˜·X,‹Åb±XÌ[,'Ò?,+ÏĆÅbÞb¹:c=ÎÑ#‹•g¢ZÆàÅb1o±\¶>|øàÁƒû÷ïßËÑ]‹e;Ý˪êS‹Å¼ÅrÒºÿàÑ’mç#Fyú¥8Ÿ–ëùÿãyñ¯r‡ÍÝG\½óì­[·nß¾ ðu1r±XÌ[,—`«óðCQïû,ý+×ïˆGÔt_M÷ KµÑGM·ÕtKM7Õô_stCM×ÕtM¡«W¯^QÓ߆õ—šþ£¦?ÕtÙ˜.©é5ý®¦ß ëW5ý¢¡Ÿuõ“DÕtAM?Öjú^MßÖ·jú&WéYçVm;ݲßÎ~à9ð=¸:ª#‹Å¼Årþέ™«Ïôû IŒÙz˜#³ÐÊøó[¡•e´d¡ˆ¢Te­þ2,U²’™¬¡(³€É Bý¤-iÉJ`2NQúÀdR_«éü“:{îŒJ„ªÇ]\,óËi;·€Y>-×Ó†t°¼õT–=´Z]5,-´Ê‡g|¶}Ò÷«®¬D«‹†¥ RÕõµ®Ì&#:«¦/JM;S©ý&\0LgC-@ÕcÞb±˜·XæøA¡BùüEkx ŒÞ’Á–’·Ì}ð§%ãc­txËâ*+ŸªÂ–q„²¾ËJÿñŸMó™ÕA¥Õk•σ¢t˲Ž(ƒe­ /rt&G_ä õÇ£¸à0pxT:~¤Èb1oå-Žä?gè(33388Ø&7(»/“·™ÿ倸ÆRò–õ­Teœ«¬ïÊ2ÎXy1\Ý,ÞʇaUÆÇTÙÏ ô|ð'Ó—æè 5Qˆx+;;w‹ÃQ阷X,æ-â­˜˜˜Ñ£GçoÙ[ÿ=C` Þ’vn,o™5$K•· vz ññìù3Œ]‡®l;ÐÊ8oåÏ@«¯´eÍÓ@Ë`+;Gâ#ê]FF®Bõ Ջż•¼…ÀéãããééÙ­[7¤=ÚŸêááQ¹rå+V(Ï D9rdùaÅ™—,Y‚oá»aaa¢_gÚ´iUªTñööîß¿?P@œªI“&ÇŽ£ïâ///ÿ={ö̘1V±bŤ¤$ýî+Ú($‘ò€Y³f•+W':t((Gv€ÎååoÉ&: oYö0Ñû· p`»’·ìg`{ó®Ö¢*1o±XÌ[ùÄ[õêÕKLLD^Gr6lØ Aƒh@@@||<8iàÀÊsNš4)<<œ2PëÖ­?øàq戈d$û˜˜˜fÍšÑþ9sæ´mÛ‰¹¹OŸ>cÆŒ¡ýHŸ,}wÈ!Èý+W®,Uª®‡¶6lh„·ôÀÕRÅÆ”)Sdh]ó–ÍyKgæ­¼{˜hl9 orIy+==y‹ÅbÞÊCÞRJy’nPPmW¬XqÁ‚HZç¬Zµ*B'm#>V«VMüRm#œ•(Q‚¶CBB¯iÙ±råÊ´½fÍš=zˆï"1Sç™t»xñâÖó–¸Z„xéÕê_óVþð–Yë;0oÈÃDå-©˜·X,æ­ëßBôiÓ¦··7A˜››íÏÌÌŒˆˆðõõ >pà€òœ@ÚÆ>êÀË-GEŠÁNü¥ý‘‘‘@.åwU·­á-ý«Õº¼|ã-kVÏr)Þ²¶˜· ªs‹y‹ÅbÞriÞªV­ÚºuëwðWv$ø`ß¾}þþþfõo©þPÍš5‘Zd'pxyy!‰ä-pB$m#q*1«páÂ&û·°¡¼ZÕË+pÞ²~1æ-ÕÅ ˜· pUR#‹>0o±XÌ[ÎÆ[`©]»v!ß#pGFFŠýQQQˆŒ ðV`` òœ&Lã·Ú´i3qâD}Þš?>ŽG¤Ã9%{õêõ¿œQùM›6Õg,év³fÍbbb€HH]»vUò–ŸŸ~B•·ÚµkGIÒÑf:—ç輕ï.äÅ Œ/Á¼eoåÅbÌ[,óVóÖþýûkÖ¬éîî^©R¥ ˆý[¶lÁ~ÐÐÐÄÄDå9ïÞ½;|øpšŸˆ ñ´N‹·?~Œó‡„„/^¼nݺ»wïÆÎQ£FM:Õ8o!‡……ѬÉÅ‹+ykΜ9^^^:ó½½½,M©syNÉ[f½úy«@:·˜·ò¶˜·X,æ-×UpppVVVgȱxËú·J[Ì[qqqíÚµóõõ-Z´(þ¾øâ‹[·nUòÖáÇ»wïˆC©R¥ÐfÀ‘ÖóeÌ;Þ’Í\ñññiܸñ²eËlÑ~ƒ¼EóbÌ[,óË{ø˜·ìvñ­Q£FÁ^‘‘‘))) ŸS§NEDD`ÏØ±c¥¼5cÆ 77·—^z))) ˆƒì»bÅŠæÍ›; oÑ68&>>¾F´øœ¹¼´Rò/Á¼Åb1o±˜·\š·LÂÖ–-[`¬°°0Ù3ÄÆc?Є`kïÞ½… ®_¿>øÉæÏó“·°vïÞ=•*U²ÞrÖÅ ˜·X,æ-–«ˆyË$o…‡‡ƒ6lØ ¶µnÝ:ìïØ±#ñÖK/½„«W¯Ö‚-¢åâ­ÌÌÌž={¸»»ûùùEDDìØ±C [B‚´6mÚæ+Q¢„‡‡G£F6nÜ(,:xæÌ™+VÄ9CBBÖ¬Y3nܸòåËã+øâÑ£Gux ‚=E‹Uå­µk×âé§6lˆ²‡‰B¼ó‹Å¼Åbiò–êb§·5äܼåããnÈÊÊ’ñ ûË•+G¼U¶lY|ÌÈÈÐá­Â… kñÖsÏ=‡íU«Vx²³³.\Ø´iSþ-ÀV‘"EÀ:©9Â>J‘‹¾Ò¾}{ä{šÉuèÐ9þ“O>Ávƒ txk×®]Zý[ +üVhhè‰'Nž<‰ |È•oý[y1Xžy‹ÅbÞbý?!ð!£Œ5ªyóæ¥K—.IJJTîfo9ââ[f Þ*Z´(ÊH$ã-bwwwâ-: ;uxËÍÍM‹·J–,‰í;wªÎLTò=Í]á‹øˆ2Þ:~ü8¶,ôñرc?ýô!®Ü²ñ[`;loß¾>nÛ¶ 5j伕ϋA@¨w|X:òòòŠˆˆ˜?>šaÌÌ[ù!4÷ávÕ«WïÑ£GlllBB-‹=ôo9ýbÔ¿>Píßò÷÷'Þòõõ5Ù¿¥Ê[4`«I“&ÿ¾%JÔ®]{àÀ8¿oyxx`ƒè Ø)ã-  Þ D#·¤€¥œŸèíí­3?‘~ BôÓÌ[_hˆû·X "...:::$$Ñm!.æ­¼’A«V­ÂÂÂL¹4\™· j1¿µcÇo­_¿ÞÜñ[EŠo!éöêÕ+00P@ÌzÞƒåé£)¯Ê[:+Ú–·x1æ-–JMMuõèÑ1ŠKƒyËÆB-[¶lllìǹ4˜· d1ˆÍ›7ÓÈ'ÙüDê‘Zµj•t~bƒ þøãUÞrww'¦¡ò–HbÑ¢EØ_²dIÁ[8³þóDn¥|ž˜¼%{žˆ ñ<‘芮V¿s‹y‹y‹e™ÇÄÈżeK±ÂÂÂ.\ÈEÁ¼U°oN9r$¢wïÞ§OŸý •IošÂ_éb§Ó§O/R¤HçÎiý­´´´Õ«W‹õ·àÌøÊĉ ÇŽ«S§Ž”·pÐ 9ywÆ Øß¢E Á[åË—§ÁX²ñò \ ® ªãåó‚·h¼<¨ëäÉ“ÉÉÉ4TŸÆË`•+W>|˜ßbÞbå…€\=zôàr`Þ²™bcc[µjÅåÀ¼eoª¦õåË–- ¶ ÁæôèP¦C‡uïÞÝßßxxxT¨P!<<œxëóÏ?Ǽ¼¼<==7n¼bÅ )oÅÇÇwêÔÉ××_ ŒŠŠÊÎμ5wî\šÿ¨\Â#G€Pšr=ˆ¼à-±ýtƒ Ö¬Y#}“ϬY³ÄÕæçà-æ-–ëôr…„„ðX.æ-› ¡ €Ë!ÿyënŽx1Õ7'‚hD4`Í›åå‰Î÷æDæ-–£+55í:æ-–в¦½ó–Ó/¡ú¦j¤F¼U§NälkÞT­ä­ß4ļå|‹A0o±¬QHHˆ‹/ÁˆÀ¼Å¼elÙ?oIGÍ[Ó¿•o[JÞº¨!æ­ü\ ‚y‹e¢££çϟϼÅbÞbÞÊóÎ-æ-»êÜr8Þ*ð‡‰Ì[yš/œ>ƒÄÅÅEDD0o±˜·˜·œa1æ-+a‹ßbÞbÞÊ#!†xyy1o±˜·˜·r°<ó–]=LdÞbYÏ[ð¢ÈÈHOOÏnݺ‰•«BCC=<<*W®¼bÅ å9ïÝ»7räÈò9Â>Š3/Y²ßÂwÃÂÂà'´ÿñãÇÓ¦M«R¥Š··wÿþý÷”ç´øb8K2o1o1o¹ÐäDæ-»}˜È¼ÅùBkO½zõÄI† 6hÐ ÚŠBá8PyÎI“&…‡‡Sukݺõ| Î*ƒÈÓ¬Y3Ú?gΜ¶mÛ¢Ö õéÓg̘1ÊsZ|1œ%™·˜·œ·hñ-æ­¼îÜbÞâÅ ˜·l›/”R†DÛ+V\°`êˆÖ9«V­ ?¡m8CµjÕÄo¡þÒ6LV¢D Ú Ò6¢AåÊ•õ¯Ù¬‹á,ɼżå¼å4‹AØoñbö?9‘yË9ú·PÂmÚ´ñöö&sss£ý™™™¾¾¾ÁÁÁPžÓÃѶ±ª¿%>¼ÜrD«"ã¯òœ_ gIæ-æ-æ- aËAßâÅ x1kx+;WÌ[ùÆ[ÕªU[·nª?ÊeG"îÛ·OuíPþ-ÕªY³¦É5º-¾Î’Ì[Ì[Ì[y޹żŋA8Í`y)o¥~ž¾y+¯y ø²k×.D6x)½ù”öGEEÁý€8ÊsN˜0AŒßjÓ¦Íĉõykþüù8ÖÄ9á½zõRžÓâ‹á,ɼżå$¼Õ jç÷?_³OÞ2[›£<å­?Léw5ñb¶â­¯´uNMyÊ[ÙjÂþÕ[“Û ˆgÞÊkÞÚ¿Íš5ÝÝÝ+Uª´`Á±Ë–-Øïáᚘ˜¨<'ÂàðáÃi~"6ijE-Þzüø1ÎR¼xñºuëîÞ½[yN‹/†³$óó–“ðÖøy©ïÌ;ýðáC‡æ-^ ‚ƒp Áò/ ÞõîÇ222pý0üuy‹ÅY’y‹=É9y m²üçï{ï77õÛ‹W¹xr¢s,¡”*åo‰..éÖ Ço™ìôÊ;ÞÚuðtĈ=-ûnK>•š›…¡áÕ¨w¨—Xœ%™·Ø“œPˆï>?ýúûF|"´×Ÿ–ëý_‰ÊÝœà.øŸ³Z¶Á+[‡Æ|zâä©ôôtàØŽöš:Ì[,Î’Ì[ìINÛÅõèÑ#4¬¯_¿Ž ÿã?¢eŸ™™yúôéS9Jv@Áy’YÎ('°,êTJJJjj*`ë‹/¾øæ›o~þùç¿þúëæÍ›<@}ä Äâ,ɼŞä´]\÷ïß¿uëÖ•+W~ûí7´¶¿úê+d‚¬¬¬ Çœ'ƒåŒrË¢f9sæìÙ³ß~ûíO?ýtùòe´vÐæyøð!ó– ¦É“'wïÞ¶#""bbb8K2oq…qÚ..z„ûÿþ÷¿ÿý÷ï¿ÿŽðý÷ßÓX™ó(8Ïy–3Ê ,‹:ÌBýºp᯿þ غzõêíÛ·øÀ`ÿV½zõa,Àñ°aà „ؘ>}:pøðáN:Yð²ýmÒ=—/_Ar–dÞbÞr~䢾.êî"ür8Áy²œQN`ÙG¹"ÌbÒ²2MˆWž;wNùŠCsߨª7naãǬT©(ÛÑÑÑ[¶l±à'dû‹-J'ˆ»»»s–dÞbÞrEür8Áyþa9£œÃ²Xl˜&Äkv°ááá!KØ£€VºIOOoÓ¦··7=ûsss£ý=zôؼy3ŒX³fÍ;wîXðÊþ­Ë—/sÿóó‹‡Å–e9@ÿ6Œ÷o.\X߯päºuë®\¹òèÑ#üœ>}ºiÓ¦§NêׯŸþO¼nß¾MÛ—.]gýtÛ¶m÷ïß/ÝÃã·˜·8°²ØyXlY–}ùЄÆoaC9vj„ bpU›6m&NœHûýüüΟ?¯ãWþþþ»víºwïÞ?þ)= yóæ/¼ð±cÇô¢Y³f111·nݺpáB×®]Åd?=wîÜH,XÀÕy‹+‹‡Å–u°ÛwÖró½½½¬œx÷îÝáÇÓäAlˆsæÌñòò’>ã“Í͚ܿ5ÝÝÝ+Uªú‘àîÝ»ƒ‚‚ÄbiZ?qöìÙ°°0Ê•+/^¼XœAöÓW®\ñõõ/ÒGlàãÕ«W¹:0oq`e9@Î`çqMçQþ¯]yBfffpp°MnßÜ壜˜·òÿG—,Y2~üxžpÊ”)ݺu£mlðúòÌ[Ì[vãœ3˜·XNÀ[È££G΋ºã²5"ÿïëúõë5jÔÝQœ%™·¸"1o¹tÎ`ÞbÞ’íQ._IûBCCé¡ÏŠ+”çÔYÍrÉ’%ø¾vöìYÚÿøñãiÓ¦U©RÅÛÛ»ÿþ·nݧjÒ¤ úÁwqŒ———¿¿ÿž={f̘ «X±bRR’~SDkÍLé†þúŸ:—ÇiÂÈÏ)RdÑ¢Eœ%™·˜·œœ·8gÌÌ[Ì[²=ªËWBñññ¨?ÿüóÀ•çÔYÍ2""ââÅ‹p?4Bš5kFûç̙ӶmÛ .\½zµOŸ>cÆŒ¡ýþù'* ­´„ï2äÆ+W®,Uª®‡¶6lh¤îè ¿þ§Öå±8K2o±'ñsÎ0;g0o¹,o)¥ááá\¹W€*¸4‚ƒÔ²ýõ× Aƒ5jd¼îh-_»ÿ>êN`` ò´V³Ôª;óçÏÇñçÏŸÇ9¿üòË^½zý/g„eÓ¦Mõë‹t[k©L­53¥è¯ÿ©zy,GQ||D–”5?˜·Xš-Z4::šœ†< y´zõêȚܿÅ9CÿòBBBhà××_ C‹ "Bqårh«`ÇæÍ›#D`céÒ¥dÙµkׯ;ZËWnÙ²ûÑ6 MLLTþºÖj–ZuçñãÇ8?¼±xñâuëÖݽ{7vŽ5jêÔ©ÆëŽÖR™Zkf*çšh­ÿ©zy,GڙȒhlÐd)2+"3 Áý[,3ÔªU+8PÙ²eW®\IC¹éÁ™”è]™·8gè\‹¼ñHŒ{ BËk–C‹¢Ì²ˆÂí_ÁÁÁYYY=XN¦Î;Ãʈœhx`mª‡bÞb™¡øøxåPqåSç ¥®]»¶“9χ~Ȇst«ˆË¥7n— ó– \¥Ì’h|º¢·³7X£‡úûûË< ­[.ÎF-õœ¢E‹ŠÙ—,‡èJxÐ7ó–˪zõê²ê0þ|æ-–Ùš2eŠÔЮu §¬‚Í4¾G(**Š Ó9ôý÷ßK-Û¹sg.–Ë*66VZ<<<\m¤<ó–mtéÒ%é( ~jÀ2KÍ›7ÎsòäI.§Q‡„e÷íÛÇÂrYÉÆNDGG»hËœ]ÁzõèÑCxÚµ\ ,㊋‹#Ï©S§—†3 ŒE–­R¥ —ËÅ5hÐ ‘%³³³™·XêøñãäFhÑri°Ì’¸téR. '³,H –åÒ`¹¸ÒÓÓ)K†……¹l!0oÙFuêÔ᧨rôØ15aÂ//¯7nKÿƒ’w¶mXÞPHµj\•H+'Úªù!­¿ªé‰”uD'{ZÓüÈâ.ÒÓÓaDJÉ"îˆs[M·$ÒÉÄR—¸ª&¬\¤~¢Ó¥¡Ú«a$¸\|Rªå…dyWêHß<)‘zÏKô•Bà$üÍÊÊJMMŵ¡PÂ0qÐ7iYUã²eóÁ²YW…@ÁšeY–•ÉNµa)KyæöÙë4?L¢Õ_ýGM&›¿?)k:qušZ­ŽïÔ¤l{(›¤³çηè»cáÆÏq_(.»‘ôê¼õü{ÎýpE<ÌÖʲZ˜¥ìZ˜¥EåJW­DReôÔqᲈ¹rkj—a{qN\¹3ÅGÜÅgŸý_ ÑGÖ˜»¥êƒ$ýÆÜ5éG9ŒN÷†~Nø~߆V¯§2.ÊL|VM_~ù%ýMJJ©pñ¨P0ÌÄ–µÞ²Fz­d–Õ鵲زø®Åe–eYV&;j~PPE+³šúIÐHóCÖØ0ëY¹jóC­T‰Ê¬æ‡ ­´¨Nó㜆VÄ¥tº¿ŽûE‘Â.&Ók!‡ó?xžOËõÒ‘ƒäy&C°ð3©‡™ ¸jUÝH³dQÕd÷•2’šì¾’IÚ …(JžNÿ¢RûMðüºÓÄGòdei ’÷-5¦£q¤î¡“‰µsBF!©öv¨ŽÈùQMFºÄu2ñy…”ýЗjú"GØ€uΜ9ƒ @ ä v¬:´eE°‰e-~Ø‘Ÿ–Etuš.s{Nvô$GÚÑ«_L6?tšl~©æ6?Ì}h®Z5¬ìµ•B–I•Í(5í Ò+Æ5£”`“éÕáyK«Õ«Šó:£²È½”^% µZéSæF²Àª…YªÁT9¨B5€*ã¦Ô9D”Ä6Ê*;;çÄõ;G|Äõã.DVV¦dãYÙäA &{>TGíì<—feУÏ[ªctô{>ô3±4úèdeÖÉÈÈÀ™qË(pTUƒ¼e·–U3`î`,UË veÙôôtœwŠrFfÞʇdG¼¥|’ãL K‹«ƒNÞ´ ùa¼:`ÖÉÊÊÂïRz5è 9b®%[ªž§e®fdð»”·t"¬–3™;Ú]‡·d¾¢Œ›ª¼ådñ×·¦¬L£÷ŒdeãOšÌAú¼¥5dÁ oé7õ¬ÉÊ&{ѵhÞ`VNKKÃwqƒ([ƒ^g'–5HÒ&Œ³ZöóÏ?Çɲ°óV>$;nXÚgóÖA £ôj$ÐrÄ\‹›ý«ZC:TNæjZ1Wk²¡‘Î-åèW©éwn ×1«sK<`Vºñ–4>ºoéÇ  ·!oé?r2é6:YYÿ‘“jÒA¶ÊÊ_H$²2ŖµËâ+¸)óV>$;nXÚmóC¤WÜ”‘ê਼%¼eÿ ò–Vµìa¢Œ·ÌÊ|ŽÂ[N?ÄÇ&ó™­écW Cú1èÌ™3Öó–Í-kA‚aË2oÙ3oqó£À›”^WÇæ-á–=LTå-‡‰:6ÿ&á-zÀì ¼•}ìÊ0drˆPÃ×××ÉÆ4˜ÛÇnŸ¼¥eY\$Lfîà­|°lJJŠÍ-‹âÅi•–=v옷··AË2oå3oqÃÒ>–®È[ø0QŸ·òâa¢oi¹ó–¬ÍC;¶|ùòÈ:ýúõ£ÕSÈ1Ž9Ò¾}{dbÅŠ=û쳫V­‚o H åªB… kÖ¬~rüøñ"EŠDGG WY¿~}›6m fåÚµkïÛ·Ï&cžyæ™]»v‘/%''ãÖD ªU«V|||~ö±Û–·`PœáwÞ!“ 0…/,›Ð¡C2Yýúõ×®]‹úŽË–š Fµþĉ0Ù!CDÝß´iSÛ¶m ŽV©S§ÎÁƒ­¼ËÂd{öì!›¦¦¦Š X¼x1L¹|ùò–-[ê?=‘—>ê[vÑ¢EÍ›7WòÖ'Ÿ|‚ýÌ[vÎ[vÒ°tèÁò¨e¶jX2o™x˜(\móæÍ!!!Óø‹˜+u/ür¡»»{•*Uþýï“c‰€ˆàެŒIþ„=öó0‘yËdû+¯¼A™#U3†¼bÅŠÈÍ«W¯†¥`ÐíÛ·wéÒÑ{`nÄ DÀ–¿¿¿ˆAÈO8C«V­D 7nܨQ£ŒŒi€W”(Qæ¶~L N…;"_Bâ@/Ámð_ ùÙÇnsÞêÕ«W÷îÝq…(Š—^z …Lf…i‚‚‚ÀXø”ùÎ;»víŠ*=° ~V[·nL&j}‹-:vìØºuk‘]Æ0òôVCaÂÖV™p*>Ù L‡Ma2ÀȦ1bÄСCux "5.Œ…(|}Ëâœo¿ý¶Ò²ƒ~ë­· Z–yË>yËäà­¸¸8‘õ椰…ÿBsÿ…¬‡BÕA–õÒÓÓ©:` çŽè7,ñ[²Œùé§Ÿ"ê–.]ºxñâ¡¡¡ .Tå-|Q5Ðéó–Y Kâ-Ñ¿jÁà-4sË–- Ì‚áv¾¾¾Ç'Ã>"dÃÒ(JÄzò*‰œ †AÌjÒ¤‰à-k&\ ²‡‰²}NÆ[Ò5i òÖÑ£GAÒprŒŒŒŒÊ•+Ã+°Q®\¹¬¬,e›yhÒ¤IÔ cùøøPV^¿~}­Zµ€DV~ñÅ'L˜€tîááˆväÈò™„„„† bgãÆ:{’ÞˆØ1uêÔ€Ás¶nÝJÿU²dIxÚþýûÉ…’““;uêäéééåå5yòd\Off¦ôT¸žþýûƒHàK¸)é>}žðÚk¯+qZ\…ýO=õÔŒ3°¿T©Rï¾ûî®]»PJ8æwÞ±`ˆõ¼%µlbb".¶#SâäÈØÀKðWùôdÈ!|ðUy„r˜Œ*þÆŸyæ” YØ·]»v°/pÖAa)‚-N£F°å·A”fJJ múôéd2„‚øøxa²¦M›ÂÊÐ0ëܹ3™ &†qQ\ÒSÁ눢¦ø€;‘°,.iÉ’%ô`±[·nHx°HúÔ©SJãÂÓ¤ñ£MÚ„Á÷£1¨F¦n-88xÛ¶mdÖ^xaÞ¼y¸6xcTTT`` n¤Y³f‡fÞ²CÞ²`ðÖÉ“'‘õ¶lÙÛá/¶“’’¨`7lØ€úׂÞ¢êÿ>|8Û$oÙ|°¼Œ·P³ cbbP/a*Q…ͼe oÉ󖡇‰ü±è>5kZÆ”G±1{öle¯©à-ÆC0Òâ-„$´Â4‘DÑ&@<…a.艷àÈiiiðÄ>´ÑË”) s 0ï½÷Ð./\¸°5™·daèå—_FÓM8LŒ¼¢oß¾à Õ>v$ݽ{÷ÂI`…×_"L_µjÕíÛ·Ã7`eP2y 9lß¾}04 §~ýúä0Hóÿþ÷¿±ˆ€Û,[¶ žFnƒóÃ⯾újvv6¹Ðˆ#>úè#˜Æ9sfÍš5€á*p l tâJ(¡yàŽE‚ð}Á‚pEr* ® y gxóÍ7‘táQXE‹VÂ!çÌ™ƒ4Œ m¬Zµ HaÁ˜ÛòPcñâŲ°L† `åû￯:ZP àwaX¶wïÞ0( T­Z5`L “Ád_˜¬FD±?ÍeJ00 ;ÑîGû Æ]¹r%ü‡ †É¯(J-#GŽDÁ-£H@@Û¸w&‚c „+¡Ö<î& ~&Ã%ÁF0+B¬‰Ð–ªX±"| ÖAñFGG”•Æ…è£È.0(r¬€s‚óp1üüüàºø9„#¸b:uȬØLߨ^½:‚0ùlÀ€Ï?ÿ¼Ò²Ì[ù™ì,tªƒ·P•bccED„?S-ÀþK9xKð„Ø‚¬'å-)fÁs…õ4:vìB]@šCp Þ‚Ÿƒ“PpøUÙa ¶pN)lá#ý¢p‡_A T¼%Í›Òþ-\ ¢+’,.UÉ oiXºoÉû¥Áòø9ü.| çfÅpæ-çà-ä8N$AؽråÊèDBÔâ-8BV“&M´x í“øøxø3|¡M Tl ÊQ ’pÔ#´ô>ÏÒ>ê𪀬 'T¼%ò¦ìyâ°aÞ{î9| 5½iÓ¦JÞ2w¥SQ\…·¤þgÁJˆ2H¥‚·+£‰·°çPÎL”ÀŽ€¨Å[Ò>R˜ 1c à1ðE¤Xl Á}äÈr¤º *GgXÿ0‘yKÖÇãÂÄÂ1h¨ƒÀHÙ¹…ݺue1ˆº'#Ä[h9¥h°<(\8 Š¥mvýúõK—.„Mnà¦GÐèÑ£ÁLÂs`;äcŽ'—Â…àHð:%o½ð +W®$ÞÚ¾}{:uD›¯eË–Ë–-#§‚û)R8…¿Hº8-r0œ ¿…ŒNµfÍšgŸ}–¶W­ZÕ¨Q# Æ4Ø–·`2XDXvÑ¢E ]lÀdôVPY‚A…‚Éd­,” š¶¸$2+*àœ9sh°‚À@iÂd¸w˜ È¢Œ ­Zµ¢‘‚ÐŽ;«dÃò–/_Þ¢E l.Oœ8!² ÀI Fj\—.]JwúÖ[o!¼‚+Ò`y4Dè8|ø0ÎFƒå‘ù`G|,’+á$Ì[vÂ[LN”ÞB•‹<ïŪ"!ÊËK³êL/F3ë Þ‚‘å¯àxprÔ4$à~p°ܘêÂÑ£GÁ|fñ"¾…Äå Þ¢¼)ã-üâ¾}û(‡îÙ³G•·,kXºoYð0QÚ¿E©‡f4ÅYÑ¿%›‚!ú·d“]•¼Ó"x¡K®ÿ êØ±ãüùóá%U«V¥ÑÍh;ºåÑ Gâ¯ÔQ ò–Nç–«ñ–É„º ã’cÀîµk×F…cT¯^¡AÉ[Ó¦M8p Œ·Ðh+ô¤ Dƒå{õê%âÎ;#ïJ}fÿþýˆkä6ð7dbòœˆˆˆ¹sç ÿå€Àpƒ4B|òäÉíÛ·‡ á»°£’·p*ÀñÖû￸&x Ù:))‰œ Î?WŽièܹó¬Y³È£FÕ¯_?ÚF»sÀ€Œi°-oU©R?A¦Ä©@“›7oÆ6Lvúôie‚™>}:Ì![j†™ìÍ7ߤÁòÀeaY|Äw¥ƒåÜ”¥èaqVV´{÷îh2 Ë‚³ÇŒ“œœŒ2‡qcbb:tè€{ÇwQàJÞ‚Éо¢ÔžëÓ§Œ·FŒÆFÉ’%Qæ‚·pÙ¯½ö==‘—>¢èȬ 4F§àí0%¼MD,ß­[7:ðèIƒåqã(g\0ÜÒ¤e™·ì·L®¼¥ìß‚Šþ-|T®!ú·dsG”¼…šÒ¼ysiÖ£@שS'z.ú‡ßb>F6ðÑâþ-ŠrRÞ¢¼)ã-ü\—r(j„o™Û°t-Þ’ Þ2ø0î%Æo‘{Íœ9Y‡«k×®±±±:¼%{v@¼%§HêHŸ0œƒ¬K‘tçÎh1oß¾Æg@/rÙÌD|Åšeå™·´¼<Ñ¥KØÅ…=zc̘1£aÆ8' Î[²dÉ”)Sàp†¥K—JÃrjÙ²eQ½E Úºuk³fÍh°<â×Þ½{ñ¿k4ìà8!öúé§øQøUݺuÉmðsÄ[ðŠ]»v ÿyê©§âââàà‰I“&•.]zìØ±ˆAH¢` X_”Î\éÐL¤„4?oÞ<Á[ø/ÄArª°°0ðÈ g@“à•W^ILL„_Õ«WoË–-b05®\l),hóÙ–·À1/¿üòÏ?ÿŒK‚9zöìIf#LOž< £ À—/_>uêT˜c[ZëA6`”¿ éøøxä,“8pÿûÉ'ŸáaY˜ p [ 0a2Š(LXŸ‚@hh( -x &Û¶mrFFFø&ºáÞáT@g2¾„‰q*>¥4Ãð+2ÞjӦ͢E‹°Ñ²eËaÆ¡lOœ8£ã Ñ0 X!5.}‰H…Ÿ`Þ²7Þ²lå-1~‹ò 2 MÁ¦ñ[p³xKÖ­…vÑ‚ àcp T|š¶!ô¡²À—Ps)¾iõoÁñu‚-ø˜à­Â… Ky !MoIó¦~ÿ –µÉ`yæ-£ËÊ#j î ¡ ëÒüÄ#GŽc!!:¯[·¦EÂ‹ŠŠ’ò–r%7%oáëˆøÈh}"˜ Þ‚!š6mºqãFr‰'"U#¢Áäp1úÕoy˜è ¼%]ÐdB¤@:A % öBp!߀K ú„„„ Î2•;‘x¤1‰p&A(dZã´|ùò6lxæ™gŠ+³‚lÈs@oØY²dI¼KŒß*UªT‘"EðChŠ‘ò®ÁÝݽzõêð8Ìš5kਇF:,Q¢öÃi¥ã·prœ VÆ5 dʆèèhú/¸¼¡ ÷N«‹«È¯<==AäTÞÞÞȵ´›ÂÕ8o¡ÌûõëG&{ál¬HµjÕòðð@qJ²ñ¿0®DÊ[mÛ¶EƒJÚs‰ Cõ§Áò€2 dF–]¶lÍÐ|î¹ç:bü™ ?“¡4Dë -xà5LüÁÀÐëׯǽ#¯À|d2™à- µÛßߦ‘u[‚QØ€iI¸///$EêB£Ö¼Ô¸Ò¸ýÙ³g£p=ÕªUù5nÜwDƒå/^\£F Ü/| 1G –«á<È`PZÏ  ‰ó¨Z–yËy‹få£q'D‹Û b~"|€æ'¦§§S§¯à-åÊ[JÞ‚Ç"LÁ·ÑèÔ©“à-î‡_¤ø†Ð'¿…Ä[Ô¯º‰‹ ¼…ºÐ'] ¡iúôéÈÎðXš‡«Ï[ƒF@þ,G¨Ñ2Þ²xðó–ËÊ#ÎÖ¬YÓÍÍ ¥?“.ºƒÿ¢õ·ž~úizj Å[©²ç(w´,«V­Z´hQ¤)S¦Þ‚¯ ê!¼"bÒÓÄMDgŒè† ˆP¨ä-k&2oiõ±¿öÚk0 ¿ÌØæ+Ú·d–}ýõ×§NjÃ÷ÄYÚÑæ–-¨÷òÚÖ²Ì[ùÏ[f5,µªÚi"ë!ÍIëxY™YÖßÒç-©P6nܸGÖCÃcÚ´iRÞZµjèž/ž!öïߟæ'¢)¿¥¨ E‹Wœüÿý÷ßG›P|DEرc°©DŽÐl@ÛFŸ·àÀQQQ8 ÐM9?ÑâÁ[®Å[ZƒåÍZV^Ÿ0aBþ¼£nôÖ[oåé;ª¥ž!ÂxˬiЄ ý[øöVgz›Xñ™299¹bÅŠ0_¼'ÎßË«cYæ-{ã-s›;wž4iRþ4,g̘1xð`§lXº.oYüŽêÌÌL`/ÛÈÓwTÃ}º³6,]…·”‹oåÛ;ª-~˜˜oï¨VN pVÞï°ÕÛ[yˆð–Í-kI³eµ,˼堼ŠKÛVå-ƒï¨Ör/#[V>LÌ»wTëùÜÇžo¼eý`y¶¬Y£U˜· –·¸aiŸÍæ-{|˜˜Ïï¨vAÞrå!>ù3¦ÁH{^ð–MF«°emKÒÌ[vÅ[ܰ,¨êàÒ¼•õyK ìõ0‘yËN†ø8â`y‹‡øPÂß|ã-¶l^VQµ,óVAñ7,íªa銼uóæM›?L48xK¿ƒ4&êÞJý<+0|ƒSò½ËÅÜ0drˆÏß ™;¦á'•Ÿc¬écÿJ¢s™ÕÇNaþ–”””––†ÓâfÍå-¶¬mG«ØÐ²°),+â ó–cñ7?lÛ°éÕÉy«AÔÎo.ü-üOŸ·´®‘Á[Z±5ÿ&*#¦‘έ›“Z÷ßnAæ³@É ”tÂ͇øðJ§ÃЉeddàü¸q»qÞBjqVËæÝh•|¶lzz:Îï4ñÄþ“Ýw?]忇6,Wn9ôjVóÃñx ù¹)£g'‹çÙÄ[&ßQímµ¬<9Dû·âßýø2NhVæ³€ÅSSSQ 0±ê€7%ÁȬ>v©·ÃXÐÇ.‹G&ûØΕx CJI}ÌdVÖ‰GÂñ”¤áiÈÇŸ}öYJJ <W‚’Aù#mä­Gáx»²¬Öhe¦1É[2Ëš+ìDzøQJÞ eYºñóRÇÄžó¹ai?ͤ×ñ³öSó7n¤ùáx¼…ˆüוÿ6zu爙Ig¿½$â¯,òêÃ|“ì­ã+”*'Z¢¨¥ 4FïÞ½ëLñžÛÁM!1#Áãá ÒnjÇœçg§Ð¯¿þŠ|ŒŠ —Cž@ÓÈ\ħCÈuåÊG·¬Óˆ, –Z–yË,¡š[œìåò:ÙYœÂŒÑ®²¤5¢ôŠz…qçÎ#鵃R?yá­[·®]»†àNãõ~+PÁ“~³¡4AZÈXÈ[[Îѹ%C.$fDÜ# VР`Ï‚ó\qpQÉð*¦p9 R2YQ ™Æ¡-벡e‹–/_.ÝsàÀsÉJÞÊçd'R˜,—™LmÆsŸ]eIkdYz-ä •¼m,Z… AY9/#ŸOºn¢¢ àˆŒ…ºŠ²rÊàˆ›¢ÜLo8¦YÓŽ(8Ï]Ç×½Á0‡•.ç4–uÙвÄ[5’ŽÈiÕªUþóV~&;‘ÂÌÍeÆ·Ÿ,ie†µ,½rô\‹[A¹`Oºo7z#” ÊÇɺµT=œÁqçyì,"sØÐ²Žn\¶¬ƒòÖØ±c7lØ@÷íÛ-€éÛo¿ŒŒôñññôôìÖ­Û_ýuõêÕ²eËbƒ@øõóóûóÏ?eç\²dIåÊ•=<<ÂÂÂΞ=«u¶3gÎT­ZU”6 ³³³Û§L™‚3x{{÷íÛ?ªš‰pŒ——WùòåwìØ1mÚ4œ9(((!!A5U‰´QH"å3fÌÀ}á„( Ÿì¡þåÙU–ÌÿôZÈ™2nÁ žô‰L8ëÀ‹•×UòÂ… uêÔ¡@Ú¸q㯿þZÔÓzõê%&&Þ¹sçúõëÆ 4hvbcúôétÀáÇ;uê¤[¬X1ýš5kò´' ÀMżåp¼3zôè¼à-Ûº+ó‹eÿ­k±Óßß×®]÷îÝûñÇ###¥7oÞü…^8vì˜qÞÒ:ÛÑ£GkäH äš?~xxøùóçïß¿ÿå—_öêÕËÞjÖ¬ã­[·.\¸ÐµkWeˆóóóÃO¨ÆÀvíÚÑ‚Øøàƒd˜¼<æ-ËuæÌŽróæÍ~øA•è)Ù0o™Å[ÊI7´±#44m¬Ê•+¯X±ByNÄ‘#G–Ï6ðQœYuvÏãǧM›V¥Jooïþýû#ŽˆS5iÒ„¾‹c¼¼¼ÚöìÙ3cÆ \XÅŠ“’’ôC!mHçì(˜5kV¹råp¡C‡"ÐÈй<C,–#òÖþýûkÖ¬éîî^©R¥ HÞ½{wPPê´5­ £u¶þù§Jޤq@HHHñâÅëÖ­‹ß²€·9?)/^¼XÓæÌ™ƒP©ëÊ,Ì/yËrõìÙùÏÊ|©ÌdZyZjuÕ¼k2‘ëœYõ„ÈC† Áñ¸‘?þ˜yË,ÞRtÄÇÇÃ+~þùç*Ï9iÒ$1 ¦uëÖÒV”êìš³ƒ¶ÚÕ«WiR íÿóÏ?5hø*ÍÙ¹qãÆÊ•+iÎmÓ¬ŸÿY7¦WKm>lL™2E¼T/‡År>!•Œ?ÞuÔ)ûVì‘·ÀÝ¿üò‹õùRf­<-Ípªç1™ÈuάzÂÉ“'S*¥aÞR½k¥”‡‰I7PÅŠÑRõRÕªUÅ(°¯t”€êì­I1kÖ¬éÑ£‡ø®ÝÎÙá0Äb9‡YjÔ¨”Á¼ÅYÒÆ¼…\%ú®¬É—:6æii†S=ÉD®sfÕâÊ¥7¼eVÿ–ÖžÌÌLЭ¯¯oppð”çôððП#û¨5)&22RŒ)´ç9;†X,熨ݴpógIóV•*U~ýõWëó¥l¿Vž6™ùL&r“g–}”Ýó–Y¼¥5é†ôÏ?ÿìÛ·Ïßßß,^Wý!ÕI1<ðòòë;ÛóœC,Ë5óó–QõìÙsÙ²eÖçKY&ÓÊÓgæë$r“gVƒôQó–Y¼¥5é&** ¥zÿþ}˜)00PyÎ &ˆçÑàã‰'ê›IuRLBBBÓ¦Mõë7g‡VÓQ½$zc‡f‹A¤@®q;(((/.‰yËr9s¦|ùò»wï¦ù‰ýû÷·,_Ê2™Vž6‰G&¹É3Ë>Nš4I¤RÜó–Y¼¥5éfË–-Øïáᚘ˜¨<'hcøðá4ß>´Ì¤:)fÔ¨QS§N5Î[ù‹y+ŸÏ#¾[¤H[½~7>>>55UùhRÆÆÆÊºù™·XLî¬<±û°aÃhaóæÍñíú+¦n°X,GQ^,6$vš\êHk™@Õ/j­¨u“÷¨#4#‹-:hÐ :˜Î‰« AóÒå’׿-VØf¼ÊÅEÊb9œòb±!±ÓäRGZÏjT¿¨µ" É‡’Z÷¨¯Î;ã„^^^K—.¥G±Ž^IɼÅbÞbå‡Zµj%ã-iß;‹ÅrDÙj±!±ÓäRGZ¨¤úE­Í&½G}«” K\ƒ+B× æ-VA MOi ª_¿>— ‹åˆÊ‹Å†Œ/u¤…Jª_ÔZÐ$oiÝ£IU¯^]Æ[óçÏgÞÊ[åÝ,S{ %æ-–¹zøð¡¿¿¿ˆAK—.å2a±Qy±Øñ¥Ž´WRý¢ÖŠ€&yKIEÅÆÆJa ¬éj#å­å-*¸¢E‹¾òÊ+ÙÙÙ&¿"ejot¼Å*M™2…ª’——/»Åb9¨òb±!ãKi-®¤úEÕð–Ö=šèŠæ‘¢££]ÓI¬;úàÁƒï¿ÿ~ÆŒÈú_±á,Sæ-–sèÒ¥Kh´ÀyFÅ¥Áb9¨òb±!ãKi-®¤úEÕð–Ö=Ñ AƒoéaÞÒË>úèå—_æTN7•Í2•šVuº¬ÖœU“3cáÇ#GŽ¤Õ¿°!]rîܹAAAÔãª5Wg®¬ôëÌ[ªìO=zô€ó ¹ù}‹‡ÅbY¦ôôtÊþÈò.[6ã­~ø¡lÙ²±õ§›ÊxKuº¬ÖILÎŒ4i’XݾuëÖÒ÷«€ÿýwú¨5Wçâ¥_gÞrPÒO?ÊÕCûšíÛ·h—e…rcêb±X ¤…,Ǽe-oݹs§hÑ¢´mrº©Œ·T§ËjÄäÌX·7þôÓOâ0­é¸:/ý:ó–céÁÃÇK¶uäé—â|Z®··e|h‡WU¥ã–WÞ9º~ï×hÞÜ¿Ÿð‹‘‹Å*Ø#é‘£iýúõÈ’·nÝzä°z,‘íO[öoùùùѶÉé¦ÿ3ðr­“˜œ+›g‹âÌÒÒÑšŽ«sñú…˼eϰÕyø¡¨wOûýÊõ;à†9ºÿ¤îåên®îäèv®nåè¦BÿÍÑ7®çèZŽ®æêÊ“ú;Wåè?¹úóI]ÎÑ¥\ý‘«ßŸ·ý5W¿<©ŸsõSŽ.æèB®~ÌÕ¹úþIež9¿&>í…þ»|ˆD u1r±XùLZXµî9¦ÃÃÃï9¾(_À†^ùÍ[3fÌèÖ­m›œnj„·´N"üOkf¬Nÿ–ô0­é¸F.žy˱BÕÌÕgúNú ƒž‘ Ò’¢• +À\%Õõ\]Ë• ³Z©Öå\]zR2º’q• °T]|R2´úáI ®ú.Wß>©ort[öÛ¹4.÷‚B@¡q/‹•oá Õ 5ýÌ™3ÉÉÉŸ± Z'NœHOOGPE0D² &(’K~ð~ °åãã#^lrº©ÞÒ:‰É™±&Lã·Ú´i3qâDÕÒšŽkäâ™·+`5ë»÷ÜW¨u ̺ó¤ô1KÖµ'¥ìÇ’v_I‹$,ÕŽ«ßr¥ÊUÒ^+­.+|R•«dtE\u^¡¯rµ".¥ëðOq¸”ª†ÁøÂb±¬*Zvv62 B–²o^µF§ )⛬«þ†B×%R†;eÄ“I5Êúï¥Rmm*#¡²µ©Ú—/“² ªŒ–²©VØD¨„9RRR<¸wÄC²‹‘híú[nnn¯¼òÊ_|!uýé¦FxKë$&gÆâæ‡Nó±!Ê~Hk:®‘‹gÞr¬€åÓr=Ž}Z"ÅÇÇתU«X±bø»mÛ6†P‹¶oß^§Nü×ÓO?½xñb 7bŽ-;vD(¤ˆƒ=e°AQF+²ha–êcÁ§s${ ¨Õ}õ½B¸%W }ýõ×R®:÷¤Îæ Á%5íL¥ö›ð\îå†òd×b±òº­ˆjŽÊ(&Êž'*FÐJÖ€”¡•,}´Rí³×G+Q©¡•§d Ne`¼ð¤´†L|§&ÕPùµš6O:…°‰ûBq¡Ø ´`D°™˜·ì3`¡Hy‹"£ÔÔÔ²e˳PÿAWØF¢H„ |Ü´iâ ªwïÞw`eŠ;¨œ#GŽ “a6(Ö¨>%ÔP( .;w£;vh…iQ†\Œ4vÀ’u_ÉK`ôE®P†(ü n僸ÏY¬¼_iii¨nÒæ"¤ŠVJÆÒé¤×éµÒフ¥lªßY¥Õ…/¤ŠVªD¥ÕàÔ5a’¨”h%“ç4”•••’’‚_Çý¢Ha“]\Œ– R‹·àÁpq."{X â-ѹ%S÷îÝçÍ›'bSlll·nÝ(EDDÌ;W9þ]ð„(P²dI)fI™£¸ƒÈòî»ïV¬X±L™2QQQ¨ÿnpÀ;ï¼ãéééçç·zõjãååìCÄ¡È?~<Æ+øâ´iÓ*T¨P¼xñúõë8p€b ‚Å!Cpœg£€‚ƒ§L™‚8øÙgŸÝ³gE3gμþúë¾9êÓ§Off&]Uùòå .,HëLŽP†Ÿþ9à —‡Ò0\X,–5± Që³Ïþoà©t¼©*Zé0–¬+Kg,„ÎÌiW–ÎÀSc)Û–ZÍêµÒb,ë{­dýgÕôe®’’’p0®Ù`¯?ó–åZ¹r%2¨ .Á[7nlÕª—=¡ q ¬ –h"0U®\OÄ)T6졨T©R%T$el’öo1¢iÓ¦RÞ"ä’¶ù€;-Z´©à‡"##ß~ûmÁ[}ûöE Ÿ={6 ­_¿~øõ?þ¸nݺÄ[8¿··wjް¯ ÞzñÅQÏQíGŽÙ°aCêÜ=zt“&MŽ=šžžŽ3 Þ OHH@Slذa 4 Þ Þ:tè4¦€´o¥¤¤`—XŒbdÞb±¬b‚Îc !xKŒÖÒzt¨Ã[&G¾ëŒvWå-©Fú´txËäãBUlŒó–rL…l«Þ‚`´´4œwвEŠaÞÊC7޲oHH½½Û•_~îp¼%íßBxBõ+_¾¼èßÂGþ-ÙBZ¼g-ç&xKÄ l‹¸CÛˆ;­[·ž7oŹsç⣘r(8øH±€ˆ@ ä-ep;ôÖ ¿(²ñQðµÛ´x Ûø]æ-Ëz!ž$%%¡Z¡’"hC4É[4Ê7E£,˜·òP4L&—}ù¹Cð–4TIÇo!<ÅÆÆ¾üòËbüÖüùó-à­Â… KãQµjÕÐRv³ëðšz` bw!*¶”·(ÖÞªR¥Šjÿ–4ÄÞRöoQ¡ž6æ-+„*/]Û)33œhCk—ëó–~ç–*oé/dcoi Þ2¹´IÞÒ_¸A•·ô;·lÅ[_HD¼…¯ˆQ­Ì[y«:ÈxËe_~îp¼€([¶ìöíÛÅüDÔŠPÉÉÉåʕۼy3"EVVÖk¯½f„·‰|}}ñ]¦NÚ²eË'N B&&&víÚ•b>oMœ8122Rzzöì9aÂÞ¢ñ[ ²ñ[ª¼õöÛo‹ñ[M›6ÅGoIË3o±Xy'¤y墚'OžD²Gp Þ’.dcÿƒ·oÙdð–ñ…²¬¼¥Ê[ú[ˆŠÌ[ù­}ûöIaË•_~îp¼mݺ5$$ÄÍÍ^¤*PÛ¶m£õ·ªV­ºhÑ"ƒ¼S¦LšŸHZ~øaõêÕi‰¯Õ«Wá-\.Fw¶lÙ‚¯ëð‚Ett´¿¿¿§§ç{ï½§Ï[À&$ÍOìÝ»wFF†>o¥~ž¾y‹Å²^ˆE7oÞD¸@ÝGÍEuC{L‰\§OŸF‘ñV^ ÞRò–þà­ü,Èããã“׃åͼżU0•§J•*‚·\ùåçvË[ ¢v~÷ÓUUÞêÒ¥ËäÉ“µZ„ZK•Ó¤•o?49†T¿k]«‘' 7F†ˆ*‡jEo­ÞšÜºÿv/Ïb™ËU¨é¨§4V29GØÀGìÄá€ôôtYç„#ä-Ä(ZÉ\Ò¿„ ÊŽ9Ò¡Cooo4ùêׯ&¦WØ‘*T¨°nÝ:â` –7É[:ƒ·j×®½wï^Šx©©©ÒÎ Ü Å½åË—·lÙ2Ÿo¡Ñ»yófæ-»ÓÌ™3É?üýýÅrö,;á-„ªw榌››*/¯lR¬AÕ_Pµ×]+$™ìf×á-“ƒFõûÒeQF_ ò=Lì½ó™ûÐàÆñz,–e\…Ãp°ìëˆ3RØBE¤úß“ã啼% _½zõêÖ­ê5EÇŽÇŽKqlåÊ•À©5kÖàyâãã»v튀†=íÛ·G@CÔZ»v-2*5P d–Ÿƒåqµ%J”À-SÐ[´hÑ‹/¾¨Œ{#FŒ:th~ÞBÐóððë ÞbÞ*Á/aðÖ¿þõ/. »ŬËÿ¹ÖèÕcç¤|sáoUÞÒê„×zµ>o鼂ZõåÓÊÞui»AÞ’­ï§Ï[Ê)Ъae×ÁÓ]‡íjñÆÖ¤Ɉ>ø®˜‰Ã¼År){+PëQ…¥\uòäIT $iTCÔÄD%WiIŒßBÛ_”Å.ì—.vªÊ[ÇŽ«]»6¢±¬¬,ZGåË—Çi•ƒåL<|øpݺue$:T¿~}YçBåÈ‘#kÖ¬ !ªX±"ñÖªU«èídµk×ÞµkB+°å)x %ˆ †ä(x Ì4zôhâ­Ö­[¯^½šxkÇŽ¸*åà­åË—·hÑ8[‘"Ehíh".ðÞ ‡J¼µ~ýzÜmãÌ7FìSʾèéé 7À·À‚bðÖ²eËš4iBѯyóæ(Fæ­ÿ«?HN¸y8ñuêÜWH¼pJú6uÙ{=ÿ«þ 5ëW+ÑzGºl@ÏÏOJ…ÑõJïì„Ç€îá¸Ü2ŠÂ•‘ ÷€Àš0 Â.½õ';â…Xêð'ûJ ®_…÷ÂùQk\Ü—XÄUYYYhÌØWYÖPÔâ-ÙðÓ*Uªàî(y¡’€6n܈{¬^½zjjª’·>üðÃÊrÙ´iÓÞ|óMY.¼óÎ;@ „$2|ñ¥—^¢\ÈxþùççÎ ¶£¼V²dId‘݆ Ò·o_ä5À ò5å5œ§V­Zÿþ÷¿)ÇÑp…j&L˜Ð¯_?åà­#F€Š°áááU–ïÒ¥ËÇLŒ’ëß¿?m5 · ÞÂqÊ‘¬;wž9s¦à-à×€ˆ·üüüŽ=ª?XÞUx &ÁÒ[Ó ¶¤ïNÒÇ,AZן”Öiå[¥,^Àà@é‹OJÉUªÃ¥Å¼ ü…+ã/½"‘ ~¯ ^w²ï;-›””GºbgB)¡¬P/P_Pz(CzBÍÙeo\…„ä‡\è\…J„Œ€+ÔªMÆyk̘1]»vEŽ@0ÁF=¨Ëà£>jÔ¨p‰ ‰`Ù²e111¨Ñ8Û²ˆ+V¬ñPiçÎÈY`‹©S§>õÔSÿú׿DŽkРA```bb"å»Ö­[wè¡ÞÈ‘#+UªÊÁwË”)3{ölä¬S§NõêÕËÝÝ}ïÞ½”òŠ/ޝS¾ëرã‚ TË/Z´Ï=÷Ü AƒNŸ>ìvðàAœ Gî«W¯^\\%>\N"¶?ùäKNNHá§{öìyìØ1¸Mݺu7oÞ,fµlÙrþüùÄ[¸0©ß¹å¼…ûIOOGʤa[âERÀ"iõcé¼â@ŠYú ,©v\)‹$£+W™\oI¶ª›”«ôçÿÃ!à ôå@ÉÒeÃ4<‡|FºXsÁ F9yò¤x ëk‰øX WˆRBY¡Äà<Ü­ÅÊç D4¦akÿoéÝÔTÁUˆ{¤ô^yx©ÃÝ ½? i ¥Ã[²w¿J…ÄÔ¯_?ŸB… x¼(Çáü€ÑСC‘V°3 %)ã-씎*_¾|=§ ¶tžJ1Kx•Á唤þdp9%á7(+8 ~ ·ƒRBÕåÄi?B‹P6×N¨z$x‹6àf;vìX¹rå¦M›à Ê#áäGŽY»víš5k>Ì ð²ìGðF%WÑ»k½hÝK§ä*¡T§=¡õ…ȯä-×øœ¨žˆÆH14èJõý‰((ZzÞ8o™|MµMx«]»vnnn­ZµB rÁ×T»oBhd¹p-ÞÒY.ü‰Œð–j·–¹ïÂSå-#ïÂ#ÞB; Çã:QÔMÍùÀ®Úµ°=J Qóª-{Á[›6m‚Y[F~æÞ¸q#5‹¹ª ôøñcä#¤¤DòììlZ:5##‰!ZJZ©©©Ø©õ<ÑÞr¬×Tá­yM5½åÌuyË&¯g19fKÕ½ôß…'ã-›¼{Ø8žoÁ!p ®yË~7¦iêðC|$—†€·à:¼ÿ<|øðºuëâââà`Ê#ẟ~úéÚµk—åhùòå\Ú,+…H‹è`ˆ€&å*Í´GpCH„3# »8€"›Ð {Q£QÍŠçÑJGö‘M™”¾?1%I³š¤ÉN S6Î[f Þ2Â[¶}Mµjg„­o©ò–~çó–oÑà--´`%-ƒóáÝÃ&jñ–ÔE˜·ìV𸇰ÌDð^K9Tð–¢Õ† ”gÞ²e |†j>þ*¿Èbá*x² ƒ*W¹x$A¢·V ž£Î¦§§ƒ–PP´ Í —M9T•X1\Ú hœ·”‹Gæéà-ë_Sípƒåe™·,y˜˜ï¶ìaâÉ“'}||”¼…À‡ýª£å+Ì[vû”AúQð–ðs-ÞJHH€ëâëZ¼…ð´GÁó9¼Å2ÎU)))ÌUJÑpI$ '+++9GØÀGìÄá fÃÔFýܪÉNÊ[>xK«sËi˼åÒ¼%õ<Üó¸qãÊ—/.éׯœCxrOûöí½½½‹+V¿~ýU«VÁÏP¾bÁ *¬Y³†rôõõ-À‡‰K–,iÑ¢…²_tñâÅô¢M©ôÝ…yË!$ã-¥6ÁO¶nݺråÊ;vÀ•GÂëpÀŠ+h¤ó–+ õ1 áè»ï¾O¸ÀU`D„#dJDB´ZùM$àQ%†üšššJoTD¥â(R[½NvAdVÉ6ç-ýÁ[æ¾%Åäû,¯?úYg%â-üu!ÞRuÁ^½zuëÖâHÇŽÇŒC>‡ôœZ½z5Œ ?ˆïÒ¥ ü {ap5¸`ËßßN†d†ø0qذaƒVºÎСCß~ûmƒÉK˜·œƒ·X,³¸*-- ”À\e²Ü&Q2ˆÃˆŸ(4Zô H¯¦A‰åéH“ïO<}ú4@Ê\ÞÒ¼¥œ(fÁ`ù?žT~–·fð–rž™ƒ·ˆ·¨é"Ò«ËñÖ±cÇj×®Û&ÏËÌ̬\¹2åË—GÜQv¨k&MšDÞ‹z{{ÃÉ¢££'L˜ ó°;vP7XÉ’%›6mzäÈø éååEmP³fMø Ó·oß   R¥J½ð ˆz؉ (]ºôäÉ“ýs„ŸÛ¼y3³D‰5Ú»w/9PëÖ­ÇŽÛ¢E ààà;w’Ó´jÕjÁ‚pœ°wïÞ H\LóæÍ=ʼe™;Ù‰`¦ìRì$ÁU§NB”£æ*!M °#g#ež ®Bô@ˆ§÷tñK#ŒÅ•œœ,‚!²hÆÎƒKMME!†ÖYÙ[,îmîà-ÙZßú¼¥õ0QùªýÁ[²eÀUÁËo)%e/“¼¥ÓÑ%Rªrð*#`KÌÏÅ• dPþ&—·t*Þ*W® QøÊ€Ÿ B+PéppŽbÅŠ .pá(%K–¤e޵< þT¦Lâ­,\¸^µyóæ À“Þ|óMÀ™p#\R‰%pæ¹sç‚“àZqN,ëðªgeei°¼——ÎÖ¯_¿!C†<ÏÈÈðððКUÁ¼EzøèŸ%ÛÎGŒ:òôKq>-×ÛÛ¿Á“÷ØáU¡¬zOØðé7p$'ñnNÞÌU$¤ ¤IR#³í·æ¹É‹Ÿ±ìF4•*)¨‘梚¬¡ŽÊ[â•ÃRÞ<ÍE·ê'Ÿ|ȯ’”¼uèСºuëÊf&8p ~ýú²Á[À#FÔ¨Qã©§ž¢'€+V$ÞZ¾|9 %þÌ3Ïlß¾¼U¡B…"EЏ¹¹á/È ¤À[#GŽŒŽŽ¤SácõêÕK—.-ìÓ`ùÐÐPÑ5š¤ÁòÍš5fá£ìüžžžª[Ì[¶:?õî±ãi¿_¹~G¼éü¾B÷rt7W²÷r*”²f¥þ|XY±²9AŒõµ^…®?NBë]RZíÈžTÖ_oØÕzàž“ãöQ üÖjë#<¦A W!‰¢½„VJ[¼Wž¹Ê¶O`¯ZcÒíß[©hü>|nƒÄ(OcœPþ¨¶€xIÓò8L>ŒvlÞ’=Ï®R¥ Š€2òYíÚµ7n܈̦IIIQ>Lœ6mÚ€d¼3hÐ YjãÆÇŽ‹“ p‘ä¦NÚ±cGJuøÅçž{.66¶M›6”ä<<ûìöíÛE¶ÃI€ƒ¸üïûï¿_ºtéQ£FÑ`ù²eËÆÅÅá }ôQ@@À‰'h°üüùóaé¦M›öïß;z»wïÆmâ§µ†ø1oá~›õÝ{î‡+¢[K Xw$ÒêÇÒZ>W8ªVÇ•Ö:ºªó}„ɸJkèÃ…'¥ÊUÊʹӲ×t®Üšúòˆ}4%Ãoá´ ¶Ð`Ã_.ŠüìÜB™;4× ä¢ÕŽOh@Ëo¬‚!b8â!òò|ÌÈL §â-Üß¾}}|| *vAƒ€2" …F¸/^`4dÈäìÊdffÊ’"v’¨|ùòðïE‹U¨PÁÝÝ=88xòäÉÏ=÷܆ DÃ믿)â€o:uê„Ë …¾ð]J~eÊ”IKK¼5oÞ<\ ÎY­Zµ÷Þ{¯I“&+V¬ Áò Àš5kâë@«ƒŠÁòà*ä¿ãÇ·oßžÎ_¯^½9sæhun1oý/geQŸ–ë©sK,ÛíØ±£V­Z(CüKû±ÀÖuëÖÅ=ýôÓ sÂ,á(ùŽ;‚¼‰®°‡ &×°ôßz‰òöö~ñÅO:¥õ@P9G ¾N€… )Wá£Ö䯞”tôhjÚ™Jí7Ѫٸe”wqýí XUUÔ¿Ë 4S&EÓK…œÊyV,KJs®œÐ2Ó5M+Í43MSËÔTPÑ‘Q@&ç!S3ÍPDÔ¾ÿï»ëÏþgâ¸Öûøðœ{¸œ{Î^×ËY¶¸q«0• ÿwÑøÑÄ~‹)"PøÐ,d µ÷̪Öí[²É¢¢_¿~S§N5²gbn—•WŽ›¡žÁ˜˜óîQãŒV#‰ì[ÿcZá¾E[BÓQ&NNNëׯGL![8F:¤Ö,àe@@dèàÁƒ}ûö¥ŠS¡Ší3fŒT³´*’r.Ö,€ëP-‚Ò >¼I“&úÍW¢.©NÕQ,Õ5i”s¤u eˆc|–˜‰ÃéÜ øoŠe«Hˆˆˆ(¶4«Zgà)S˜dšSˆŒÇÑŠ}K6X^Úéƒ_3777ä‚ޣ¹ªK—.Æ Ëó²òZëäæyjiŽ”Xߢ C¾%cñÆoüðâòÌ™3§W¯^T|}}ñ-åœjˆ‹¨Bn… ¨ ‘fIÛD© Aª&L˜àîî^¹re???DœªÞ0~üøJ•*U©Rå·ß~Ã{ììì\]]i²ÀD!BŒ¢úƒÊ0pà@'8@­ *´råÊgŸ}ÖÆÆ¦zõê_ý5™i–ô®¨ဪêÆ»ï¾ëhŸ$%%QÍÁ&NœˆûÁŸþù7Ò’3(Ãøøxü U$#ƒCª([Õ˜‚¦X.#ücµkOß*œ=ªÛ·o_ºtéW_}z”Û= njÙâl%Ü·àxd¸‚hÜ¢jS³fM¯¨<8öðð úS£F ”°r¼ð-DgôèÑÞÞÞ²f-H«Ð”)SZ¶l‰ÂÇÅ¡w|ðÕ¼mÀ€ˆé¬Y³àRdNß}÷ÝsÏ='|‹ªò4T¾qãÆT…üýý›7omÂÇÇ/© 9;;ÏŸ?!Þ·o_ïÞ½©þˆf-2-Q…ð’Z³påW^yeïÞ½{öìiÚ´)^ ßjӦ͎;bccGŒñâ‹/ ߊ‰‰ÁpcԥȾeüÞ¡ô¸Ø·¦¸ùV‘ïQm–ÎDƒ¾•cg"ûœŽ%|KlpnccCC¿ ã U! &¨ú–VÕ±cÇ„„ßBå©S§Ĉj‚âææFUˆŒ‡¦ááChPÊ•+'|‹°³³ƒú ‚T… ‚;wî¤úóÇà%U¡jÕªMš4)""BZt|‹ÜÝÝ7oÞLµ(((/…o…††R-BÍAiÐbÊ(Ãýû÷ãw‚§F1²oìÒ*Ð aö-†}«`}K¶ø–Ö†¹êL48x«€ö¨6Þ™˜ãÕÒØ·T}KÙ¾UµjUѾ…2×jßRŽÿÓò-[[ÛÒ&J•*…oá«ð-Q‹p,j Û’¶oÉ”êƒÐSýÁ^R nß¾=ä ES.Œø~<11‘jÜ/…oIk^J} Çøtö-Nù\ø þUH‰fߣº :Ù·”¾E+>(ÇoõìÙSŒßúñÇ•Ë=¨úÜ¢*ôä“OJ}ËÓÓ3>>^©ìyö-wwwÕö-¡ì¿üò‹“““Ì·pWª¾åææ¦Õ¾Å¾U)ÁâÂ)BßâògØ·òå[EÞ™hpðV¡u&²oiùVLL Ôä÷ßGd7lØ€cÕ¢èèhgg瀀ÄzÑ·o_ªB9ú–££cTT”¨EÓ¦MkÕªUDDjEhh(|Nø–téã¾5räH1~ë•W^ÁKªEݺuƒ~!ÄH!¸s™o988„„„(}ëƒ>ã·¼½½ßÿ}©o‰ZľžžÅ0ì[ÿß· n¨R‰úƒ·Š¼3Ù‘}KÕ·Àºuë¼¼¼J—. ¥À±´‰Ö°aÃråÊÕ®]ûçŸ6è[S§N­\¹2ÍODý OŸ>½N:´ÄײeË´|Kh–ªo‰Z„Ð÷ïߟæ'â1¥ZôÃ?ÔªUËÆÆæÙgŸ]¹r¥Ì·&L˜@›PÉ|+)) *Ióßyçøøxߊ‰Krm·Š}« | Õ`ãÆK—.]³f ~ß•ïįí®]»–/_Ž*´sçN f^ßâògØ·ô|+66¿Z¾¥Õ™˜«mUt¶=/œÎD™o)w2W•-™oÑ6æ(á¾õ’ߦ?ÿN•ù–èLìѣǔ)ST•ݼ]ÒE80?­¤p¬ßÖEµ¼ÇË„o­Zµ EúèÑ#ü?†ßVå;aÿ¨3ôCTT”ê{˜<û—?þ¥ç[HH$bì3ùVŽ™RÕ·tvYQÊVAt&¼eзd‰‘‘‘°.\7_b}kü1ãæÄHÇËK—ÉEa:::"Fº¤s[‹ô—’שEÑJªµ||޾Õexиo·ÆÄÄà n ®ÉëA˜Ë·Ö¬YƒòÇbF®†:¼zõj.U3ú—?þ¥é[ø;yÿõ#‹ ÿiùVA,+Ÿcg¢tW;ƒiR¶¸‘f ©ui5n%&&âO1üw””„‹ã)PJ%mç;Zëʵ›MÞ úxöþ“go(}ËøÀ|Ö"ƒCe{#\/W¿"){¥T$ôG¬ïèÍ­¬ EMGm‰fŒº„ß/ÈÖñãÇ‘“„¸óÿžfñ­={ö¤¦¦â¿5­|“çÎC5†æîÚµ‹ó½y}‹ËŸaßÊ¡Å"==ôòåË´¯Ü‘#GÄ % 4`ZHýõ×Å‹oܸq÷îÝÌÌÌØ„GƃCP.\8}ú4Š…“œœ ‡Hf4H2A‹Aà¯ü‰ÿ÷ß_½zY‡;Íè[ø ]·nÝÒ¥K7nܨºÍ"<oX²d 4â|o^ßâògØ·rΠP®[·n!À'h˜Ë& ”þ&ƒ^@IiãšàO´Ø„G¦6QþE XP8Ò±tŒT—rŠ®_¿Ùºÿ~Ië•. ”Ïpá3ì[Ö‘A¡\ø¯?-- Ö¥\.á (nܸqóæÍ;wîÜ»w¯ÄÊ–L¹àè( G:Ñ‚ê~¿ð[†Š”‘‘ŠÄ[œò¹ð¦Dø–È ø¯Ö%Ö>•­«Tb¡r€[ X >DY•ð ª0´ˆ*ŒÖ,EFY—¨"¡Ð¸"qÊçÂg˜ç["‰ ñ™,¨@›à©Za¸’¯KÅ "‰Ð ¤üGEÄc ôøVQbÅ£ð-!‚ ûVÁþÊHáúͦ„×¢‡þ[¸þ¸ï‡»juY[$ j ÿrsQ­åGî3~Ϫ­'îæ¿ÃoÂÞ}þM¹•NÍuÈ[$ddqßDzÒÁ iÙÑY75;²¥qe›(—ÆUnE`d÷'ÙP‚CGÿ\œôÚàà!_îÃmã¡Äè‚K,,þJŒZY2%È]Õ´T» õǶK1ØK(mÓÊÿX+Y –R³TC£Œ‘4L‡Õ8d"Ç2ì[ Ã0… í?¥Ó¸¥lÖRúÎøw™o©vféL-”¥|ÙM):¾%m,QʵŽDEE%&&â:¸Û´´4Ù˜kQbFº_•e¨ê[ªÃ³ Žvןa ÚohÜ·Ì2¶]Õ·tº eGµMKK¶È·ô#Ȱo1 ÃoA³„oÑð#Æ-ýY‡Z݈2ßR¶¸è¬`|‚¡jvW§%$늌ŒŒÇàöðà(™oQ‰iù–ÁÆ­}K§6GßÒêLÔñ-Õõôû ú–~ã–ñö-#[ä[údØ·†aŠÞ·òЙ¨ÕçU8‰²ŸçÎD™oá͸=}ߢA3ú–Îà­\­æ ï[×ÇÊqÌ–Á)‡;U}K«ÒˆoiEaßb†)JßR¼e¤3QÕ·´:µ·òÙ™¨Õu¥Ó¸E‰\9Ú:·¾Uƒ·T}KðV޾•ÛõHõ}Ë2o±o±o1 ÃX‡oå³3QµqKß·žx≂ëLÄÅw&oåaExýÆ­Â,_$ƒ·rìLdßbßb†)ž¾µ~ýúúõë—+WÎËËkíÚµRßZ·n]Æ ñ­ZµjÍŸ?Ÿœà‰,ìíí;vìˆÌG ;«ô-Õ”7ˆLÿ„HðøJ]W8ù–ñÎÄüû–~ã–ñÁòp¬€€8ûš5k¤¾…o5hÐßòððøñÇÉ·dÅ'•­Z&ôoágu|KzýÖ­[ïÝ»7ƒ·(:f÷­Cطط†a,×·h)™o!WEGG;99A³žñÇ$8ÀËU«V!7'$$¼ýöÛ·¨éÙÔßßßÛÛ[øå~$ÑQ£F5mÚ”r¿–o‰þ,©o‰ÔŽ“ª[Z¾e¤31W¾%›ÑiÞÁòááá([hvåèèF²…¼\±bÊRåçç'|‹ÊY¯­-[¶Ô1ƒaÂÕèä8X>·ƒ·<ȾžÅ0 c}¾U£F d>áH5kÖ$9À·êt| Ïßß¿iÓ¦Êö-dâ&MšÈ|k̘1-Z´ˆ3ѬY3¼¤Æi¦—ú–´5E4k‰™o?ÞÇÇg×®]±±±Ý»w0`€¹|« V:••-Lg¨xÝÝÝ“““•ƒ·dí[(^*íóçÏÛÛÛ'˜ÀÊe¾sçκuë’H5lØ0<<\ê[ÎÎ΋-‚´íß¿¿OŸ>2ßJJJBø^xá Ä矎`………%&&BÁ!ÊÔ²õÑGy{{ïÞ½…‰ÒÖoß2×`yö-ö-†a+ó-RÚú—äégHp€|¦ê[„]ûöíá7Ôè"=ß®];ärjk¾¥Ø»w/¥|ˆÄNæ[ÒÞ+á[”Ýe¾%2:ù’wíÚµ·mÛF‰<""ÂÕÕU5…çÇ·Ì8xKZ¶(X—+WŽŠ(4Uß’{LL ùÖ/¿üÒªU+¹Õ²eKˆû믿>iҤɓ'6L6~ …3eÊ\A:X^Ú:!ƒ¢Q <==!UÔÖˆXW¯^"‚ð…„„(û tðûûÃ0Œ¥û©ƒLdí[H~ȵ¤øòŸrf"µo)W(ö'Jn ß‚d OSÊGnÆKYËJn} Wø–­­mi¥J•ÂI|UÍßç[¹ZéTÚ¾…²…I ØEû¬B«}K9-±mÛ¶óçϧŸ7o^R±ÿúë¯uêÔíÛ·Oæ[Û·oïСƒ½½}­Zµ–-[&J>,,¬qãÆ .¤@( –"‚ðát|« o±o±o1 ÃX¥oõêÕköìÙÂfÍšÕ£GÒ‚ž={Ι3G¹ìV޾%[x“| i^Ú¾µsçΚ5kR¦òÉ'ûÞ¬ê[P‡Ý»wëÌL,Zß’­¼%¿…²9sf·nÝÄø­ï¿ÿ^¹ò–ªoá‰Ê”)#mšÂËääd»>bêÔ©o½õ–Ì·h°‹‹K} J7EÁ·ªV­ªÚÊØ¹sçéÓ§ã`Ò¤IÍ›7‡£ÄPò]»v¥ Œ;¶iÓ¦{ö쑎ߒEÇìƒnh9L"IDAT·Ø·Ø·†a,Ú·d‹ËKùÞËË«téÒȸ0©ÀÃÄú[?ýô“Ì·dËoªúLKø’ô Aƒh~âÀ‘’)ÓñÅ•*U¢ ‰ª¾%&ÿé§ŸÒ›)— ßBÚÆuj×®»­[·î¼yó”ùÛ쾕Ÿ•N׬YS¯^=*öU«VIW:¥õ·Ê–-‹bǃˆéJß‚KmذAê[x‰“>>>‹-¢n\hô«¯¾*õ-„eccƒOÁg©úÖòåËñ]šŸƒ½¡`qà .¤  Ì‡ æââ‚p@v):&L èÄJ§ì[ì[ Ã0Vì[Bºuë6yòä|îáSÈ{&êgq3ú–ËËʶk×®0EÞ¦ÚÈ`yö-ö-†a«ñ-­=‘Ì‘Æô}ËÈ>·g¢,\æTdîò­\ –—•mbb¢ƒƒn»älSçÁòì[ì[ Ã0Væ[ùÜ3QUT·ò¹g¢Nã–Á=| Ó·Š÷6Õ:‡çÊ·ò6x+99™}‹}‹aÆ*}K&féLÔiÜ*ÚÎÄÜú–(´Ú¦Úˆo™}›jYû¢·©ÎÃJ§¹¼Å¾Å¾Å0 c5¾•––¦Ú™¨ê[7L›ÎÄ<ûVÁ ÞR6æÊ·ôo©ú–²qË\¾UЃ·Ø·Ø·†a¬Ì·Jfg¢‘lßÊÏà-ã¾eEƒå hðûûÃ0Œuø,Aê[æíLÌ[ã–y;µò7å옸¤êíW²oéÞRõ- ¼•OßÊóJ§ð-#dØ·†aŠÆ·^òÛtòì á[ª[æíLTMùbYó‚îLÔJÛ¿­‹j7t“ßB‰:—’[ß²„ÁòV4x+·ƒå‘2ì[ Ã0Eã[ãˆùxöþû÷ïëø–p‚rìL¼”…,ñç8RÞ,‰Ç²åo­ÎÄ®#‚?Ÿ½Ù:!!Äýkù•ùyjþËßP#Wƒ·.eç_ –qâÄ¡C‡ãKxêÇ#UŸ?þúõëwïÞÍÌÌTfk‹*1¨Þ[o½åéé¹mÛ¶ÂùÄáÇ?óÌ3áááÖA†}‹a¦hš¸222îܹ¸páÂÙ³gO:u¢äñçŸâÙQHÕ( ”‰jW”å”ôâµ×^kÙ²% ósûöíÛ´iÓ£GZiö-†a˜¢iâzøð!’SZZZjj*B6Úº„€§Fž¾yó&ÊRµÖ8kK(±äää ¼ûî»çÏŸ/ä‚Â'v5a½dØ·†aŠF¹œ233ïß¿/[eþV €žOgG P'”~ª.Ú‹ŒŒtuu>}zQ•Ø•+W|||†n½dØ·†aŠ$'rˆ‡"]=(adšÀ³o)ª ®Zµê† жÄRRR4h0sæLë þÅ0 SÄîU2±üûé§ŸÜÜÜ8` ÅuéÒ%eË–ƒ2ì[ Ã0 ó?>5jTÆ /\¸`9wuâÄ ø_HHˆaßb†a¬›´´´nݺuêÔ –vo‘‘‘...øÊabØ·†akåòåË/¾øâ°aÃ>|h™wâæævâÄ þÅ0 ÃXÉÉÉP™ï¿ÿÞÂïsõêÕPCþÅ0 ÃX!!!...ÁÁÁVq·B/// ìñdØ·†aFùó绹¹ÅÇÇ[Ñ=øá‡-Z´¸ÿ>‡aßb†a,ËœŠhÞ&,v¨þÅ0 Ã0=Ñ ,¾öÚkðE%þÅ0 ÃX"–?Ñ 26nÜxúôéP†}‹a†±,’““]\\f̘Q<ÄÑËËkÑ¢EV†}‹a†±h*↠ŠÍÑÒóÅé‰ö-†aÆŠ¡©ˆ111Åì¹âãã éù'žx"Ç3 ûÃ0 S‚ ©ˆ^^^çÎ+–¸gÏ''§Â\zž}‹}‹a†aþšŠØ®]»â½Fè† \\\ méyß:uêÔo¼áààP©R¥^½z]¿~]Ha£FlmmkÖ¬¹dÉå5322ÆŒSÕðR\yáÂ…ø)ü¬Ï‘#GèüãǧM›æááaoo?hР»wï*¯™ç›aßb†a£ÐTÄ¡C‡–„¥ªæÎëåå%”¢¨|ëùçŸ MOO¿uëÖ¨Q£Pøt¾ZµjBXÔùóç‡ ¢¼æ¤I“ ÅL´nÝzòäÉâʾ¾¾ç΃QM:µyóæt~öìÙmÛ¶={öljjj¿~ýÆŽ«¼fžo†}‹a†a Qœ¦"dܸq-Z´(„–¼'ÔP¾íöíÛnnntìîî>oÞ¼þùGëšµk×>vì9rÄÓÓS|–h·»wï^ùòåéryòäI:¾råJÍš5õï9W7þÅ0 Ã09Sü¦"¤_¿~¾¾¾Ýž§Ó¾ߦM{{{’°Ò¥KÓùÄÄDܘ££cݺu·oß®¼¦­­­Ø¤x©úYâ%Ä«´‰R¥Já$¾*¯™ç›aßb†a,ì?î¼”.¸ÖÅu*¢`Z:ug…ï[žžž+V¬HIIyôè¾ÊÞùßÿ‘ +¯©Ó¾¥úAõêÕËqDžo†}‹a†±¬Ùa⣵òbaúV±ŸŠh„´´´-ZLœ8±Hj ô%(((##ãÌ™3o¼ñ†8ïççzðàÇÕÕUyÍ/¾øBŒßjÓ¦¸­z5wî\¼ÿøñã¸æáÇûô飼fžo†}‹a†±ßÊÃSäß3JÂTD#ÐÒó0’¯۶m«W¯^Ù²ekÔ¨1oÞ00çmmm5jª¼æýû÷ýýýi~"Dߢ–o=~ü×ÇcÚØØ<÷ÜsÁÁÁÊkæùfØ·†a˜™+L›6ÍÎÎÎÅÅeóæÍß|ó .âîöè@9nZz0sæLggg\päÈ‘õÔSøY:~ùå—ø–þÚµkwѦL™"{ƒ‘‰ýú”À©ˆF8r亗žgØ·†aŠo™}6>®’’ò?¦e'¥Ç666ù÷-1úèÑ£ÊqйØ/£ÄNE4d Ê%Öeö-†a˜\ø–Ö™Ät`db¿žŠ˜7Pb:u*òB³ßš3gÎ{ï½'=3hРŸ~ú‰}‹a†)v˜x*bžiùúúöë×Ovþĉ#ˆƒ… B¸¡Ýo1 _uµÕe>tÖ (×4IMMurr‹›dffV©RåêÕ«p÷1cÆÐ’]8Pª¼ô¥ò£Û¶mûÇHßÒ¡Cö-†a¦ù–rÊ!OEÌ'´ôü¸qã¤'sì–•ºŒíܹs§©S§6oޜΫ®6¢µÌGŽí[ªkšàà믿¦7ìܹ³k×®8˜4i’X’¾uëÖÊ®jåýKÏ“´IÏ\¹rÅÙÙ™}‹a†))¾•œœìáá!=ÃSÍÂõë×¥KÏã%´zõjƒ¾%Ýß»w¯|ùòt¬ºÚˆÖ2¹êOkšœ9s¦F™™™86lX``àÿä~ËEÙù2eÊÐ<([¶,ûÃ0 SRðõõ IðTDóg̈́˗/§i ú–êyÕÕF´–ùÈÑ·´Ö4éÝ»w@@ÀÿýW¯^½ôôôÿ1Í™Õ_jDÿþ«T©”žáö-†a¦‘œœL¹<± 8qâ„““Óž={üüüPÎeÊ”ÑY-Âà–ä²ÕF´–ùÐZ7D µ¦Ill¬··wttôÀéŒVû–ÖÚ%²nÛ¶í¶mÛ¤gxüÃ0 S‚ Æ-°hÑ"žŠX@DFFV­ZµB… TÔ:›[çè[ª«h-ó¡µnˆ@kMТE‹W_}uïÞ½ôò‹/¾ã·Ú´i3qâD:¯µv‰ì£çÌ™3xð`éGãå¼yóØ·†a˜âOLLŒ˜Gøæ›o¸LÌ´599yéÒ¥£FjܸqÙ²eEQÃkóì[ª«h-ó¡\7D6sPkM€‹¸¹¹áÊôòþýûþþþ4?¢oQkíÙG§¤¤8::^¼x‘^â/SSSÙ·†a˜âÏk¯½&MÀNNNC‡ݳg7qåÈ–h;TbùÛ,.\¸püøñf¼à”)SzõêEÇ8àõå†a˜Á¾}û´lâµtéR.¢üsúôéÚÚÚÊJøÓO?µäÛ¾uëÖ3Ï<#š£ö-†a&È·h(w»víæÎ{áÂ.3rùòåqãÆQÿA+/X¨˜f8.X°€ǾÅ0 SÄü—ÇÖFhh¨Èý¶¶¶={ö\²dÉÕ«Wóvµÿp•¤¤¤Ìš5ËÅÅ…Š}÷îÝ‹#VZØ·†a,.I#©>?‚ûD9 Ä,Ä·>Ü›´qKG¶”mZú¾uCA!ŒÇÒé(<£@é[F: •Ž¥ªY‡:t¥‡·áVQV%³K‘}‹a&í"ú¾¥•›UBTçê7nŸcS‡jã–jêÕjä ¤«šn-3Ëâ YRßRl¨ã[Æ·rë[R Í· ÌRmÜÊQ¶„oÅÄÄà7†bà²o1 Ã09ø–)¯Ú™¨å[:‰:)Y+ÉIJnDýÆ-‘}4nIÑɸ(«ØØXœÄà‘-Ç·p'·häVÁùVÞd+W¾¥¿ZGÑúÖ!(íýû÷…U„ÉÁÁ¡S§N‰‰‰Yœ)´Á[Ò@‹¸›«3W38x‹}‹}‹aÆÌ¾epÁ-![áááŽŽŽ«W¯Fv„]á844”’1ðrÙ²eH111}úô¾E™ÉlĈM›6i8((ÈÓòЙ˜ÛÁ[ú[ÅÉ·¢££œœ Yð|Åqdd$x QFÞ~ûmá[Ô¸…b=z´···Ì· aðV‘ûÖ¡,طط†aòâ[b…Ì|Þòõõýî»ïDÓŒ3zôèAù3gÎTæcá[ÈÁH„*TiøwÞùôÓO'L˜Ð·o_ÊÁ-Z´X±båà€€€Ö­[KÛ·` Ï>û¬MõêÕ¿þúkóv&R–µpß289ñõ×_Ÿ={¶ˆé¬Y³8Š)ð-e³¥ð-€ÂG˜´| 2×µkW;;»§Ÿ~ºsçÎ(UµƒƒÊL q„y“¬ 2ÄÉÄàÁƒáLä[¸¦Ô·ð’dK |‹L _}õ‚ŽÐ¿øâ‹!!!îåË—S}puu6m…÷_Ä›+UªÔ«W¯ÄÄD’-ûûÃ0LÑø–ñÎÄ5j  ßBBÂÊÇîîîIII:¾Eí[Mš4!ßBµ··3Èrð¶mÛêÖ­K- 4Ø»w¯Ô·œçÏŸôþæ›oš·3Ñê|K§3AÁóŠ€âÁkÖ¬I1Å·ð€:¾Eí[M›6Õò-(Ά àIx', ®|éÒ¥AƒÁ›É·Ö¬YÓ¶m[„x̘1h q³fÍ>üðCêLTõ-Õö-á[íÛ· C˜po/½ôE¼J•*óæÍÃÉ}ûöõîÝ›‚ŽÛðññÙµkBÙ½{÷rûûÃ0L¡ú–,Iç¶3”+Wæ$| Ég(ãÙTÕ·;;»víÚEEEQãÖÏ?ÿܲeKêcBV^°`å`__ßÏ?ÿ|âĉï¿ÿ¾´_ T«VmòäÉùïL,Þ¾eccƒèˆ˜":8C1Å‚¢œ™(fwàÀ#ý‰°dUvR½zuDUâÝwßE4e¸Œ™B¼{÷n8_ž} ×§ÎăÚÚÚRÄñѨ'-iÜk×® k§ GFFºººRôÉ·Œ Þbßbßb†É‹o‰M`rå[ªSØA‘ð¤í[ÎÎ΢} /•ÓÖ¨}K¹D›6m~üñGJÆ?üð^Rö]¼xq:u&wíÚ%ó­Í›7·oßÞæáá±téRóv&ïö-„I´o¡T}Kuf"ù–T¶vìØ?®\¹2ùYéÒ¥©ý²k×®óçÏGp===áF8€Ûá€BŒ¼¤Á[ø)éà-#¾%¼…—ñM›6ÁàQ`r¨6wØXi¥J•Â;ñÕ o ÙB gßbßb†1³oéw&J3¯¯ïÌ™3EJž1cF·nÝ(wïÞ}Ö¬Yú¾%ÆP'%%•)SF:ª/ããã‘€½½½¿ýöÛÉ“'÷îÝ[uÜ4’î’%KœœœÌµ¬¼ù–t±SßêÕ«ߢ˜".=zô °öìÙv«\ ¸oAvçÍ›‡¦y¢¿xëÖ­5 ~óÍ7)ÊÊö-ò-ˆ"B¾G¾…?ùä“ú¾E¾%vK\´hêŽV­Zø,eôqqö-ö-†a˜÷-Ùâ[Z«bê/+¿oß>GGÇ5kÖ ÑüÄ;wR>Ff­R¥Š˜ŸèççGÓÖ•[“&M‚NI'¬½õÖ['N ¬]»6%×úõëoß¾]ê[p»;v }·œÍµ¬¼5ú–þÊ[QQQ4?¥½nÝ:#:Öˆˆ„iõêÕ(ù„„„wÞy'·¾…’G”QD(«®]»JçC4mÚÔÇLJ>øûûKÇo=šfE4nÜø£>‚áfÚµk'|ËÁÁÕɸoáÓCBB/øîŠBÿÙgŸ½òÊ+8€Bþ:wîL¾eoo¿eËö-ö-†a˜¢ô-ãËœ®Zµª^½z¥K—FÚ[¹r¥tp²8­¿U«V­ü‘ÖÀTõ-¸<@º’4Nz{{/X°€z—Zµj%õ­¹sçâÊ666Ï>û,>Ú¼‰ÅÉ·ÌÕËˋ„’”†UºþJ;Gß’ßB”===åêÕ«OŸ>]ê[¿þúkµjÕPzhÒ Aƒh~"ð’b ©jÔ¨Í36mšð­Ï?ÿ¼R¥Jªó¥+Aßš3gލË—/§Ð#Ê_|ñ¬øÌ3ÏÌŸ?Ÿ¢ÿÉ'Ÿ<ýôÓ4?QG¶Ø·Ø·†aÌï[¹êL”-+ߥK$È"Ù£Zk¦üt&3ß1íÖ­ÛäÉ“ gÛÄo¿ývĈfÙÆ§H¶M$Ùbßbßb†É£oÉòtÞ:e)9!!ÁÁÁ¹Êª÷¨¹–²¬%û–ΦL:1Å£9::¢p z𝵬¼åo›È¾Å¾Å0 S€¾Uä{T瘀 njkô­\íQ]8Û&ÒLÀ¯¿þÚª·Mdßbßb†1¿oñÕÊQÒÅÏ·ôeKfÒ¹õ-³l›hÄ· §3‘}‹}‹a&ï¾¥ì‡ÊCg¢–oYZg¢2éìLdßÊçà­>þСC§NºpáBjjjzz:lÕB²,îäþýû7oÞü÷ß!¸OÜ-îy¿Åc Õ&WPM8xðàÉ“'ÏŸ?Ÿ’’rïÞ= 1oö-†a …º322nß¾}åÊ(|âØ±c²iYF@âdñXBµÉøÕÀ/¤²uõêÕ;wîXTM`ßb†±Ü&.üu~ÿþ}(LâÒ¥KÿüótA8Ï5w0Q˜ÖåË—!4-ªå4n‰&.$þ»w簾¦Bq·¸ç³%T›ÜÖü‚à×äÆ-üâXZM`ßb†±hå‚C [úhQ€ë¹‰ózQSp÷€¹yó&òë½{÷ 5˜b©©÷–žžŽûÄÝ*Wϲ@,¡Ú䪠Tñ ‚_ª %³'‘}‹a&ïÊ…l™™)]û4W qÞ+j èÒM X(¿¢¬,3Åâ®HqŸ°ç<±Ø„Ìà‡ütéÛ¬¢&°o1 Ãäò´'žÈñŒ³5%lr¯Ü‚{TÔè=PÉX~~q|d ¨†LyÒ¼‘W3xYÙÛ¨”dÓbßb†}Ë‚nµdÞ“ÿtµW3xY®Wì[ Ô\ß:uêÔo¼áààP©R¥^½z]¿~ÎïÙ³§Q£F¶¶¶5kÖ\²d‰òšcÆŒ©jx)®¼páBü~ÖÇÇçÈ‘#tÍO›6ÍÃÃÃÞÞ~РAwïÞ¥óóçÏ¿yó¦òÆprîܹì[Œ*ÁÁÁ§OŸV Ù¢E‹¨ëT{Õê-{Ž¿#RßJMMurrßÊÌ̬R¥ÊÕ«WeTýÕ(òßAö-†a˜÷­çŸ>444==ýÖ­[£F:t(¯V­Ú† ð?øùóç‡ ¢¼æ¤I“ÚµkG+}·nÝzòäÉâʾ¾¾çÎÃÿæS§NmÞ¼9Ÿ={vÛ¶mÏž=‹ÌÔ¯_¿±cÇŠìˆDµtéRéá%N²o1Zœ8q21qâÄû÷ï‹ÅÇÇC/ºuë–cµW­ÞZ¾¥õ;"kß·¾þúk:³sçή]»*?]õW£ÈÙ·†aÌ&J”o»}û¶››»»»Ï›7ïŸþѺfíÚµ;FÇøÚÓÓS|ÖåË—éøÞ½{åË—§c//¯“'OÒñ•+WðÇ7§¥¥ÙÙÙá§)‘/é_‘M¥í^ì[Œ ¨"åáጃaÆ•)S!!!9ú–jõÖò-­ß™o9s¦F™™™8ÆÍ*?]õW£ÈÙ·†a J Ä(N›6mìííIÂJ—.Mçñ'²££cݺu·oß®¼&|ˆšðR?iá?ýÒ&J•*…“ø*Þƒ¿ééÓ)_ÈX–S\Œ²aÃå_Я‡ÒP}úHßF}C‹*.Æ2]I« „I 6_}õUË–-=zÿþ}|ű_¥Z½›7o>uêÔ»wïž={¶G9þލÎOlѢū¯¾ºwï^ã¾e!¿ƒì[ Ã0è[Û¶mÃ_½eË–­Q£Æ¼yóÄùÀÀ@œGkÔ¨Qhh¨òšÈaþþþ47 ¢_CëÿúÇãú^^^666Ï=÷\pp°ôm²¾¡µkײo19rùòeTQQm (ÒïfffB¹êÔ©ƒ÷àë´iÓDW£jõ>räDŸæþüóÏ9þލú*¶›››êNˆZ¿ò;ȾÅ0 Sü‘ö áÏ}‘9Ø·}àX·bbbŠü~.\8~üxŽ ûÃ0Œ…2}útÊšŸ~úi'ö-ëŽEÕæÅ_,ò›¹uëÖ3ÏdñâÅvvv·nÝ*òms[Óö-†a•ÌŠŒòðáÃÌÌÌd¡¡¡[·nÍ(pϸsÜ¿Ø*Ø oYÑî“Ŭ>¦5qâÄ ‹á ªlV±79ûÃ0ŒEùðñÂõÇ}?ÜU«ËZ‡V+­î_ÍN¾c¶-Z›xûöí»wïÞ¿é® •Ù·¬¯>´\f9•­×‡ÛÝx8---==5¬‹ÿaßb†É!¹vóßá7aï¾ÿÞ¸yOÖ˜wI7qÏÄ]È4w$Ü6qóæÍT)&ndqÝÄ5WM\ÉⲉK—.ýkâb.\øçŸΛø;‹s&Κ8“Å_&’X¾1¾ÕÀMý>ÝOÁàqóZÊeÜ·JàNòú Õ¾ußDzÒêA5DVID=¹uëÖMÒÚ"­0¢ÎȪ´æˆÊCõGY…¤IY—”5JZ©¤Uëtf‘xðøo¿Ç¡² øb7nÏ…r`åbßb†É¿0)Œzލ£D¤R™cQYS@¹S¤Li¦”9–ÈŽ” )#Ê’¢È‹ªéP–üN™8iâè±-lœ»<—Å àVµ”˸o•À†©>Àd¦%µ+}ÁºÅ­ìÍ’ –¬¶¨ –L­aTªUHGÖUk”´R‰z%ªÖ‰ì?~üÈÑã¨l ÖÀMâÑP (.îXdßb†Q¢YÿÍGÿJ¡ä*Òª–iÉ'´r§ÁF,ÑŽ%2¢¬ë¯,D:)Pš‘ÿŽ™X²v·‘›ñ\w‚›ÇCñ-‹Ýí»ðëCó[Pà©$[2ù¨¶cIkˆ´’hUi –²íJªæªmWRÍ’z•²"I›¬D«•RÙeõŠª–¨]ÄÑ,PÙºÚ‚ëã†ñàøÝá&.ö-†au!Z­¤Æ J®úmZZÝ@"wÊ$”¦%$D „²íA¤FY“ƒ²±Aä¿#&bãÕè¸&99oÃgánU³ ñö­’¶Ó°¨ð-jÙ Zw%¤e!kÐRí(Ôï_VVY¡²æÈêT³T[°dʮ߂…—¼´v ›Ø—ŒÊ†÷àð\ø­Ñ2ȾÅ0 þµ’3(¹"müþûïõë×/W®¾®]»Vt !•®_¿¾aÆøV­ZµæÏŸOéS´ ÁK:vìxàÀÊšÒómÛ¶ˆˆøG‚þ,jPMŠÇ³ t(M8ÀãÄÆÆâ×DFÇã(;zŒûV‰Úi˜&$Šú@þMUânv”C²PO¼¼¼P1ð5 @ê[øVƒ ð-Ÿ~ú‰LKVgâââDÁW­¦P~§³~]’5hÉ*n@VµDíÊe•””{Ã=Ã>USö-†aJ:"¿Rg"%ט˜'''x¾â8**Šd+22/W­Z…l—ðöÛoS[RµU o5ªiÓ¦Ô>ó”8‘±ÆŒóòË/Ëò¥¾oi5B¨¶=ˆ\ˆÇÁ '&&âǯ\¹‚,˜ß*Q; £”PVRÿ–µwÊ|K4k¡ÀQ1YØŽÃÃé5 ŽŽŽ+W®D¸ãããQn·¨q ¬Zg”ÍZ9ú–ªléû–´ß*n@Ù¬¥*[DYᯠü,î¿#ˆûûÃ0Œf~•v&¾þúë?üðƒÈ©ßÿ½¯¯/ùfÏž-ˆ#ó-¤O$¶ *ˆ¶ ‘5‘Òlmm)Y†……uîÜÙÎήbÅŠ;v„Q‚Äû§M›V½zu›_|*C© yºråÊÈÜü1µ@$?èN¥J•poqqqä[ðB¤v|"ò7AÙê`Ü·JÔNÃyö­^½z¡žˆÎÄï¾û®gÏžTIp€o)ÇÅ ß0ci‘u@C­>ùä777T€·Þz ’D£ø©¾}û¢Aï&L˜€ãßÇŽKïïÝ»7*ùÞ0eÊÔª][·n%ßBÁ_T»ÆGµKUåU} µï„ju^3ì[ ðoýŸo‰äZ³fMä!Ê©H¥È=8C¾ç@ú‘ŽÈ¾E³É¨­¢I“&2ßBB=z4’ùVýúõá+ød¯þýû÷éÓGøVûöíac8?f̘—^z‰|kĈ­Zµ 7Ѽysá[HÃÞÞÞ;v숊ŠêÖ­.E¾A­øt¨NÊö-Uß:h‚:¯ñNÜûûÃ0L.| ýÓªB”P‘q†| Ȉ2ß’ŽÅ±³³ƒ0ÅÄÄÈÆoggçýû÷+o!¹¸¸ßÂÏRÎÛÚÚ’o¹»»oß¾ú}¶nÝ*FØÔªU /)#"YºººÒö­õ-åà-T È“ð-„žjÀüI9Q§ÎÈoÕ©SòDÕ&))©zõêT`r{öì¡ÎÄ;w ßòôôܽ{7õ'B†ð~á[6ªQP%Ô.ò-\µˆ ~óæÍyð-¼çüùóxpö-ö-†a˜Üµo‰„Š$TµjUJ¥ÈLHB·Dí[²‰f”;/\¸Õ¤I“Å‹SÖDzkÖ¬YåʕŤ?á[ÒÁ[xIÙ9yŽ|+99YøΗʂæô±o„oå8Xž*†´} z-Ú·;UßR®\ªê[#ÙÌM¼…è£noѼBªEÊ÷Óà-Qhð^’oá:¨Tä[T»Œ –gßbßb†É£oQr¥ñ["¡Îš5«G”J{öì‰oÉ:ecqd¹S yFZªR¥ R| J7{ölä¶ÿ]>)IdJ©oI¤»»û¶mÛhP³hßBFôððعs§,²oåß·h<Ÿ¾oI5UŽßêÞ½»¿5gÎå¸} 5ÇÓÓ3&&F9X^«}«víÚáááÊÁòJß"ƒ—¶omÙ²Eß·¤ƒ·Ø·Ø·†arç[ÒÅ öïßOó‘íh~bhh(¥Rx œiõêÕÈyb~¢–oÑ\3é³.]º|ûí·øY\ä—_~AÚ ëÔ©“Ì·d ©qذa4~ ïoÑ¢…Ȉ&Lðññ NLLܸqcÇŽÙ·ŠÄ·hâêÚµkÅüD˜ù¢†pÓüDu&·¾5eÊ”–-[¢¢†ìÚµ &G3GEã·`c¨¢Mš4©yóæ00¸4½k×®ú¾5|øp¼ŸÆo½òÊ+8op°<ûûÃ0LÞ} •ÖR*]º4rO`` t™S|K¬¿%]KIé[H™RßB&†¨ág‘™–-[V»ví2eʸºº~ùå—Jߢ• „o!½½õÖ[•*Urppð÷÷Ç’oáügŸ}†;ÁýÔ­[wîܹì[fô-ýÅ·d›öÔ«WêÌš5k¤ƒüÄú[Tg¨ëYø–l¥SÙ*ÿ´®éÔ©S===iq¯¥K—’o¡bˆy…}ôj…˜ŸˆJEïÇ--\¸PZ”¾…:Ó§Oª]4?шo%''³o±o1 ÃäË·DBíÞ½ûäÉ“•‹†kíB-Mœ¢•B¶x’lÙ$ÕÕ)U×I¢Ÿ   777‘•¹}«@}K9xK¶7b·nÝ&Mš¤œÄªµù´Ì·r\éTV…¨mß¾ÝÝÝ]k¥SéBn:ËçJÑÍq°<ûûÃ0L^|Kš\EBEjqttDfÊÑ·”‰²õ*•ÉR¹F¥êÒ””û÷ï‹Ú³gÏ€TÓ!î6&.©zûÕì[fô­ËË| "‚:ƒÂ/ ß’®t:xðุ¸ÈÈÈfÍšá8Ÿ+Ë+7-Ð÷-T6×v«Ø·Ø·†a ùÖK~›NK‘ù–4› Ùº!AÙ¸E¹S¹Á°,_æmŸÏ>û¬jÕª½{÷NHHPú%ÂßÖEµ²1·ë2RßB}8}þf®|K¶Aõì(Ë˶3¿$!W+ËOž<ÙÅÅzççç‡*‘«•åe¾%ÛŽÚˆoýº6òµëi½S^‹}‹aF/¿>zôhü1ÍŠ¾¥Ü Z¹qž;ó¹Ö¶‰"vüÉŒèèhé®v9îçÃHýõáãÙûE“§‘Á[2ß’mS£o帵yAïä#Åø`ùŽïo?sÌ^ìçþžÅ0 £ÒÃÔ´Æoo=#üØé«ä[¤\²~"i¥v ­ÎDiâTú–4_jù–€¤,)Švi#DðŽ¸žþÁ­¬ ¤}pq¤yÚ¯ö ã[x×áß×Sî >Œ™ú ¿%ªY—²’È|KV[” ¢²j#måR¼%­B9ã·T+•Ò·´Z¹¨Ž ßÚ¸m÷‘›Zö_µ?99™Ì^µ%•aßb†ùÿ¾õàÁƒ+×n~83üùÞëZ­´ÒÞ\;bÊ–ðˆ¨ØØØ¤¤$äQ¤jäþû÷ïÃ!BBB¦OŸ®ÜÄB6tèP$l® ·222._M3#Ì¢êCùš½,çf^ì8rê֨蘄„È´O˜=ûûÃ0ŒzŠE’@ªHII¹xñ"þRÇßñ‰‰‰ñññqÖÆÿ:ÙB ¼víZZZ59à]\\êÔ©³cÇò-œY´h‘]·nݸ(ëÃ7þùçŸS§N¡µœš†¹råÊ7 õ­ÌÌLüÝ‚¢ËóTŒb<‡ƒ}‹a&[Š¥)i4d^9õÌ’¡[Å=C³` x 育½¡wïÞ2ßúþûï9úúõA¬R´õÁ2þ-7›±²á׿,¨i$[Rm’ùSŽ:žÅ0 SR@Î@–¥Ù|´}žu{Æãþñ"ÿIÙ·oŸT¶lmm¯_¿Îq×R®¢­‡‚ꉗˆ—8¦Ù‹ªßÒ:cöš&*›¬¦iù·o1 Ã0*¹ÖªÑy´†  ß8p ÇÚbëChhhãÆ÷ïßO//ZŽuáÂ…^^^4 Bú-)âÌÉ“'ßxã ‡J•*õêÕëÚµkt~÷îÝ5‚p׬YsñâÅÊOǾúê+;;;—àà௿þqww “~„–fIµ^ù†™3g:;;ã‚#GŽ„·ÉÞ›6mš‡‡‡½½ý Aƒ ì[ Ã0Œ•1þ|‘ããã¹@,’ã¡C‡^¿~1114ËaÊ”)ú-CâÌóÏ?oKOO¿uëÖ¨Q£p):_­Zµ 6dddœ?~È!ª­M#FŒ¸}ûöÒ¥KŸzê)ü,¿üò˪ªêUZoh×®-èŠñ,â ³gÏnÛ¶íÙ³gSSSûõë7vìXö-†aÆÊHKK«X±"ÍOäÒ°9¶³³–\¦L™Ë—/ËTF‰òj&777:vwwŸ7oÞ?ÿü£©O<‘’’‚êÇ666ù÷­cÇŽÑñÑ£G===eoðòò:yò$_¹r¥fÍšì[ Ã0Œõ1jÔ(ä¶åË—sQX‹KéÝ»·Ò´ÎÄÇÇ·iÓÆÞÞž~¶téÒt>11Ñ×××Ñѱnݺ۷oWõ-ýãüø–Xw¶¶¶²7”/_¾´‰R¥Já$¾²o1 ÔPh05§¶::ääät÷îݺ>  æ¥˜Ì(ÇRöíÛgÜ·<==W¬X‘’’‚¸à«ìˆQHHˆ‹‹K| žtïÞ=:¾|ù²R³ž|òI-ßí[8P¶oÕ«W¯˜mxÀ¾Å0 “;>úoáúã¾îªÕe­õîüƒO7kökztì3~Ϫ­'iæšÖI&W9rD*[ 6Ôw#Ù¸TPPPFFÆ™3gÞxã qÞÏÏ®ƒHÁ·\]]óà[Í›7Ÿ:u*¬ýìÙ³=zôPúV•*UŽ?®ê[:t ñ[8˜}ú°o1 Ô 2>îæ¿ÃoÂÞ}þM¹•.])@Š˜3ßDº‰{YH÷<ÜÉâ¶ Ù:O©Ù‘n|=‹kd{!˶@&.f¡³#²t_m)gMȶFɇO®Ø”ÐzÈæ!_î£5ÀȺX¹òÉk¯½&|kþüù¹ò­mÛ¶Õ«W¯lÙ²5jÔ˜7ož8ˆó¶¶¶5 ̓oA}||h†ãÏ?ÿ¬ô­Ù³gÓ°3¥oÑüD{{ûáÇã7Eöh:nÕËËËÆÆæ¹çž fßb†)AÌøíà€IabM& ,¥f ÓŽ%õ*ª`¥dqC‚L°®fqE‚p,©ZÉÖ—©ÕßÙ‘z•T­¤‚u:‹SÙ9~âÔ«ƒ‚¯OƃàÁQ>¬\ùdÆ $[+VD²zùx¢ÄéûÃ0ŒQ` Íl9úW |‹šµ„`¥gGÚŽ¥¥Y·$h –²áJ)X—³6_ÉKÖd%,™Z‘]ÉŒêO «Nš8‘ã&~]Ûstn …¢ •¢¸ åÚkš2jÔ¨â ì[ Ã0ŒŽo9´ZI[Ô‡(Ú±îeG©Yb7ã]„B­®dGµ‹ðbvòÐ'ˆ(u,©ZÌŽL­ŽfçÈ‘#øsà`ŽkpÜVºgvAÄ¥$ðå—_"F‡.Ï¢\5Ï‹÷²o1 Ã7`Z·¨Q´fÝ• ’%´T; ¼¼¼Ê•+‡¯kÖ¬‘6háeƒ Ê–-ëáá1wî\Ò,1ˆÇÞÞ¾C‡111¢)kÇŽmÚ´©X±¢ÍK/½´hÑ"™f‘`ág¥¦% ç·`3!KÊá,PVx‰³ X”;9šÅ´¤}»ÔèX\@·mÛ6³Ä b*ñʾÅ0 Sü·ðŸ>BÚ¸¥”-ÚØ8Ç‘ï$[áááNNNð*H ¾:::†††R³ðrÙ²eP"HUŸ>}„oQƒ„fĈM›6¥Ã={öàýÓ§O‡0mÚ´©cÇŽä[FÆ`áG„oI´¤íX©lÃÙ9”Ê*11¹téJ%fÆ|‰Ká©<Vbøý÷ßKÎÃFFF&%%Á2ñ‹†¿m¬}âûÃ0ŒÑ?µ…oÑ xÙ8-©oé„§~C__ßï¾ûNt Θ1£Gä[8˜9s¦lð;¾uñâE˜P… È·ºuë6qâDÑ(mÙÂà[...O>ù$õ’láÇûöí[¹re8ß'Ÿ|‚óZÍZ±T›µTe &„²Š‹‹Ãûq{xp”ØãÇÍ \g…Æ=” m y †rZƒlrƒløêRÊy² ËºSÔP¡œvªDÙ×,ëq–ÍK•ÍQUΟPõSŽù“uOŸÕ@9ƒU:(P†lŒ **þØ@¬Q°´owA´’²o1 Ã7ß’eÜ5j@D~MNNÆJ«îîîøã^–A•í[Mš4¡déèè¸ÿ~J–²tˆiß¾=¾+ÆiQþ=ztóæÍ£¢¢"##½½½õ}KŠÔ·´·È·bccñäi<²} …+ÍJíJÕ¥ô½JD-Ç¢€¢d`¨ZŽ¥åUZ:•£WiéTŽ^%ϧºä‡Ì«´\J˫œ•:¥êUR—:©rÖÀ1ª.¾‹rCY+måbßb†É£o)ç!*}KÖÔ!ËÄ666È‘"#/–+W޲,U}Kì¦×®];ØåÑÒ¥K#«Qï¾£’Ž‹§ ·ûã?(†„„hù–²31Gß:h¢€| ˆG +—äR…ïŽ?¾jÕªƒFQ Ç íܹ³½½=J¸Q£F+W®DÈð°¢ÐÜÜÜV¯^-\ %\ªT©‘#GŠ ¶mÛÖHÛ"Û°aÃÝ»wë¬âa¼™ªAƒÛ¶m#—JHH€akyU -—2ÒFuF©NýôÓOmÚ´Aý‰ˆˆ@9‹aõë×ß°aƒlš…ªK©öS‹6Tšxð‡*žåFÓæwö-†akõ-ÕÁ[:í[°‘‰“““)ûº»»ã¥Vû–²ÝBÙ¾E¾Eä¥)SølÉŒ| ª$|+ÇÁ[Eë[¸HXØÿ-&5-!U~~~¯¿þ:Ý¥K—qãÆQ¤–-[Z±bŠ…Ô³gO g:uê„xá>W­Zåââ"ײeK\b!Â7a„?þX9«T¹:$©|ùòˆˆ–WåèX"Ö(.…`QÄ.\ؾ}{ý~@ÕÔT½*W]~¨'|ð¿¿?æÎ‹ò¡ ƒŠakk‹ª+«9Êþh%²YT—è <<×Ç’:[cûÃ0L¾|ËÈ`y™o‰ö¿%2ôŒ3ºuëFY¹{÷î³fÍ2î[p‚/¿üR:xKê[²udí[H™Òö-#¾¥:x«p| åß+ûKe‹¤*44´Aƒ4âàN<<ÿüsÕqîð$'"…Œ{xçw¬k×®yzznÚ´ W€ 0)j¶gžy‘BÉ?¾Q£F¤Ë0† àäºuëP¶âÒ¥K{öìImZÛ·oG ÷íÛ¥G¡üðá2(g¨Ì÷ßBdQzîîî°ÄÅÅáýâE‹AÂD;dè÷ß—N@ù׫WvàÀ”ù°aàPˆ;B½›3gNB¯½¼¼`ЍÉÉÉx Ü? HÿàƒZ¶l‰Ç‡úÀÌ:wîŒÄüòË/•+WF­€Ö®]{„ Ð8(&ÞŒREÍA yá…V¬XAÕcîܹøY:ÆG×­[wìØ±ˆ>eðàÁP4\U½L™2øD\ oà:x4¨> ª§ô-€+àpMT{„ɼs]Ù·†aйoˆÒdéÒ¥‘ŒW®\)]ãT¬¿U«V­ü‘º™´| lÞ¼ÚT¡B…òåË{{{ãǵúÉ·½Þ~ûmdSˆšt~¢YËœo¡ðÉ·¤«rH}ËÙÙ÷/"‚G€¹â€¦ (} eÃÀã?ùä“P“÷Þ{&TNŸ>½C‡2ø dñ‚nâm¸êFÄ£AÈ·à ÐfDq3f ¢9þ|ø bwYß8p TI9$Ëßß®CFìeDJê[C‡ÅljÁXˆª¢ÿî»ï⼈~ÿþýéå!CpMшðQ%Ì’„§ÊY©R%àýøá⨷(UšBˆDÁRõxÿý÷á‘t s>|¸¨0&[[[|óÍ7 6¤:ƒë—*U ‡ãððð§žzJT¡d·¤u A·º!\ì[ Ã0yñ-ýÅ·ŒLN”­&ߥK—/¾øBk¯ÙŽ=:“ÎT×8Õ_yK¶û¡Žo¼(M•oAžðq"" ,hß¾=HŒ”¾µ{÷îçž{N¶ŽJ G!ëÛ·ïìÙ³2XlÓ¦MEøÝÜÜ(‚«V­jÔ¨QÅŠ'NœH¾Õ¶m[x EsܸqðSìèÑ£a`°4ê}ƒ"²...¸¦Ò·Z·n½|ùr qPPÐóÏ?/‹¸««+Ä⎯0B\‡Ðã‚111"ô]»v]²d Tßú€›1b„¨ ¿þú+Üxÿ®]»„o}ýõ׸%ø€êÌÒ¥Kñ,tüË/¿¼üòËÂ×e¾…§À{ð¤(yö-†a˜á[Z‹æj°<%l1x+!!ÁÁÁEÇ·dóÑ Á·ò6Xi2&.ɵݪ"ñ-Ü E…ß°aÀ€שSçÀJß‚: :T¬!C†<‘÷Þ{!?~üÛo¿-Â7aÂü¬tŒüŽ; vä[U«VEQP4_ýõyóæ‰˜6iÒäã?Þ¿?¢ƒ—Ó¦Mëܹ3‚‹ŸEh”¾åì쌛§Oš4iРA²ˆÛÚÚ"^Êù†°ON Ø‚T‘~QS“r€|÷îÝ¿ûî;Q …xpà:IIIT7pÁúõë5 Ÿˆ€ŒŠR¥J•}ûöÑ1>µZ9Z Ì©Îàúýû÷§Êƒ 8PڙȾÅ0 SB}ë%¿M§Ïßi>?ƒåe¾¥¿uÞ|ËÈÊòª²•ÏÁòH“¿­‹j=è÷"ñ­±cÇöìÙŠîѣǛo¾IÑ™9s&,'22¥_²dÉW_}…0áÍ‹/– · o@ EÞ¸qc‹-h°<Ôç?þ@!ÿôÓOnnn(\°C‡Û·oG8~øá‡çŸžB yŠŽŽ¦h6jÔhëÖ­"¦•*UÚ°aâ…²š:uêÓO? qAp_~ùex3fŒè2Æ¥à1bøÊüùóeoÖ¬Ä(>>¶sçN??¿¨¨(„º‰+# [¶liܸ±,ÿÊ+¯À)ñ¤ˆ5§OŸ>áááøYÜüÚµkE}xõÕWñY8ÀuÞÿ}(ÞÜ©S§²eËÒ`yȬY³D Á}nÛ¶Ž½½½áO¸,ªDPPPïÞ½wíÚ…;Á¥V­ZEuן={6UÏ™3‡}‹a†}ëáøbÆÍ‰ý‰yØÉçFvdk]Ê– P]ÍRuð–êÊòúÓþû–‘•åe“» ?s[\\Þ3×úòF| å‰4ïààðÄOÀ½¤óúõëÛÚÚV¯^}Ô¨Q((„ÉÕÕ·-õ­¶mÛBΤM’(''',РAˆ H„±ád… à1P:1~ë©§ž*UªâR¹re…ð­ à`-uëÖ2e ~ ‚àBª )åË—Çy™ˆ²¿¿?] !sqq‘6¼A¡ð Ðxžº\¹r/¾ø"$‰BÑñôôÄÝâ#†ÞµkWªÁÎ;Óû_xá…yóæQ} 0Qìíí#""p°iÓ¦zõêá͸1ÞFƒåQ »wï¾'C!à>¡J¡¡¡°1Zê ¯¢:ׄ„Q±³³ÃSåqttÄ1ûÃ0 ûÖÃë)wš¼å:q準o,oÄ·ôoñ-­%+u|+?ƒåƒþˆõ½¹Õ€õaá‘ñññ¸Í)+4ß‹¢½ûî»_}õ•ª›eã{ïY#^g]x­Õá¥7²xi«V­¾ÿþ{ý·”ýËJ7²~©ÖŽæ‡58$A6~ _Ù·†aJÈñøþßË7>œþâ[Z­äÊ/½µnÄ”-ûÂ"h¡¤pHFZZšYÖL"ߊ¥ jùÙUTT”»»»Xˆ+Ÿ¾uCƒ<øÖ%úûðäÙ·’’’ŒâB,Ø AèTùÖ±ìè,djÄ·’³À1¬=<<œú¦ñ˜·¾¥¿9O~Ú·&pó¸ û¦Ù·†a,$ûG!µ#û"/"K! $&&&0Y 4`ZÈ 4]ÂAÛ ›kóDx[ZZZLL Ÿš:¤‹Ë[ˆoåª31Ÿ¾¥ÜÀ'›!jí--vïQŽíËÕfˆ‚\ùþži………á¯T*Ü ñâõN†aŠWff&2:0Ò$’ò–N“@É9iŠÛ@v„™¥qK„ö†òGbŽŠŠ cŠ5ð-ÈÄ ®†J—…7›±:±o1 ÃXn”+==&‘’’‚ 5(§d‚¢@\¿~ýæÍ›iii$[fìý¡.E$]||÷äÉ“¯ÄÄÄÄ™8ÀX?qYÀ´’““![ýõj*j~­î¿ö-†a˜\ç{Ø­zJÝX²ÍK8T(äER£y›"Hy322ðYP® .œ9sæÔ©SÊ!ÛŒUÇÂ×'Nœ>}úï¿ÿ†Ç§¦¦šk ûÃ0Œ5YíšœÉdç¡ N jʱC¾víÚ¥K—h´Ó?L1¥'!Ö·nÝ‚l¡vYÝHyö-†a³¥FF!”9”‹æ'Ò@xÙPw¦xpûömj.…^SÇ´56n±o1 Ã0Ť‰1ƒ)Ž@©©ÅÔzM‹}‹a†)>í‹™âH¡µ˜²o1 Ã0 ðo1 Ã0 Ã0ì[ Ã0 Ã0ì[ Ã0 Ã0ì[ Ã0 Ã0 ûÃ0 Ã0 ûÃ0 Ã0 ûÃ0 Ã0 þÅ0 Ã0 þÅ0 Ã0 Ãü/ÿЏ‹æqŠ@¸IEND®B`‚qcustomplot/documentation/html/functions_func.html0000644000175000017500000001622512236016575023063 0ustar dermanudermanu Data Fields - Functions
 

- a -

qcustomplot/documentation/html/ssTriangleInverted.png0000644000175000017500000000037712236016575023475 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+¡IDAT8ÕÑ/qÅña’b³I‚MR‰’"è^„*kÞ(“T^„ôL1Ùl6o€ åç?É·Ý{vιÛåïIs lžxJXà©@laŒ§;æ$*èbú¨aŒÁmˆÑ“ë@;ƒ}[ä_@“`7Cï3d°F=ž›X!ýnt°ŒÃ¢8ä†ð!sì‘Eû“ö+5]^÷5Õ_ÌÀ¢YÐͯɓIEND®B`‚qcustomplot/documentation/html/ssCrossCircle.png0000644000175000017500000000044512236016575022436 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+ÇIDAT8ÕÑ=NBAÅñŸÒÉGoaGCèŒ+`,À%à¬a ¸)0°‚7AK cÔhb1—dBÂ{PO3ÉüÏœ3—s«VqßBïø>Ÿ‹Ö(✡s,üƒÇ½ù¾pSe0x…^Ìî±Ä/ep3â x…aÀm\b‹Æ!ƒ;©óNCü¢ŸÍ Ü2hD‚‹,v?«SÃWe5fg±÷ë<—Á¤U}âAê,^á×U¤UMñ†×ˆ=9ÎU—>¬~*øôxñ(í!XaIEND®B`‚qcustomplot/documentation/html/functions_func_0x69.html0000644000175000017500000000645312236016575023653 0ustar dermanudermanu Data Fields - Functions
 

- i -

qcustomplot/documentation/html/classQCPItemLine.html0000644000175000017500000024200412236016575023134 0ustar dermanudermanu QCPItemLine Class Reference
QCPItemLine Class Reference

A line from one point to another. More...

Inheritance diagram for QCPItemLine:
Inheritance graph

Public Functions

 QCPItemLine (QCustomPlot *parentPlot)
QPen pen () const
QPen selectedPen () const
QCPLineEnding head () const
QCPLineEnding tail () const
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setHead (const QCPLineEnding &head)
void setTail (const QCPLineEnding &tail)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const start
QCPItemPosition *const end

Signals

void selectionChanged (bool selected)

Protected Functions

virtual void draw (QCPPainter *painter)
QLineF getRectClippedLine (const QVector2D &start, const QVector2D &end, const QRect &rect) const
QPen mainPen () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
virtual QPointF anchorPixelPoint (int anchorId) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A line from one point to another.

QCPItemLine.png
Line example. Blue dotted circles are anchors, solid blue discs are positions.

It has two positions, start and end, which define the end points of the line.

With setHead and setTail you may set different line ending styles, e.g. to create an arrow.

Constructor & Destructor Documentation

QCPItemLine::QCPItemLine ( QCustomPlot parentPlot)

Creates a line item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemLine::setPen ( const QPen &  pen)

Sets the pen that will be used to draw the line

See Also
setSelectedPen
void QCPItemLine::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used to draw the line when selected

See Also
setPen, setSelected
void QCPItemLine::setHead ( const QCPLineEnding head)

Sets the line ending style of the head. The head corresponds to the end position.

Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g.

See Also
setTail
void QCPItemLine::setTail ( const QCPLineEnding tail)

Sets the line ending style of the tail. The tail corresponds to the start position.

Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g.

See Also
setHead
double QCPItemLine::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemLine::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

QLineF QCPItemLine::getRectClippedLine ( const QVector2D &  start,
const QVector2D &  end,
const QRect &  rect 
) const
protected

Returns the section of the line defined by start and end, that is visible in the specified rect.

This is a helper function for draw.

QPen QCPItemLine::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QPointF QCPAbstractItem::anchorPixelPoint ( int  anchorId) const
protectedvirtualinherited

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented in QCPItemText, QCPItemPixmap, QCPItemEllipse, QCPItemBracket, and QCPItemRect.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/range_8h_source.html0000644000175000017500000002674512236016574023122 0ustar dermanudermanu src/range.h Source File
range.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_RANGE_H
27 #define QCP_RANGE_H
28 
29 #include "global.h"
30 
31 class QCP_LIB_DECL QCPRange
32 {
33 public:
34  double lower, upper;
35 
36  QCPRange();
37  QCPRange(double lower, double upper);
38 
39  double size() const;
40  double center() const;
41  void normalize();
42  void expand(const QCPRange &otherRange);
43  QCPRange expanded(const QCPRange &otherRange) const;
44  QCPRange sanitizedForLogScale() const;
45  QCPRange sanitizedForLinScale() const;
46  bool contains(double value) const;
47 
48  static bool validRange(double lower, double upper);
49  static bool validRange(const QCPRange &range);
50  static const double minRange; //1e-280;
51  static const double maxRange; //1e280;
52 };
53 Q_DECLARE_TYPEINFO(QCPRange, Q_MOVABLE_TYPE);
54 
55 #endif // QCP_RANGE_H
qcustomplot/documentation/html/classQCPLayoutInset.html0000644000175000017500000034774312236016575023726 0ustar dermanudermanu QCPLayoutInset Class Reference
QCPLayoutInset Class Reference

A layout that places child elements aligned to the border or arbitrarily positioned. More...

Inheritance diagram for QCPLayoutInset:
Inheritance graph

Public Types

enum  InsetPlacement

Public Functions

 QCPLayoutInset ()
InsetPlacement insetPlacement (int index) const
Qt::Alignment insetAlignment (int index) const
QRectF insetRect (int index) const
void setInsetPlacement (int index, InsetPlacement placement)
void setInsetAlignment (int index, Qt::Alignment alignment)
void setInsetRect (int index, const QRectF &rect)
virtual void updateLayout ()
virtual int elementCount () const
virtual QCPLayoutElementelementAt (int index) const
virtual QCPLayoutElementtakeAt (int index)
virtual bool take (QCPLayoutElement *element)
virtual void simplify ()
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void addElement (QCPLayoutElement *element, Qt::Alignment alignment)
void addElement (QCPLayoutElement *element, const QRectF &rect)
virtual void update ()
virtual QList< QCPLayoutElement * > elements (bool recursive) const
bool removeAt (int index)
bool remove (QCPLayoutElement *element)
void clear ()
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual QSize minimumSizeHint () const
virtual QSize maximumSizeHint () const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Protected Functions

void sizeConstraintsChanged () const
void adoptElement (QCPLayoutElement *el)
void releaseElement (QCPLayoutElement *el)
QVector< int > getSectionSizes (QVector< int > maxSizes, QVector< int > minSizes, QVector< double > stretchFactors, int totalSize) const
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A layout that places child elements aligned to the border or arbitrarily positioned.

Elements are placed either aligned to the border or at arbitrary position in the area of the layout. Which placement applies is controlled with the InsetPlacement (setInsetPlacement).

Elements are added via addElement(QCPLayoutElement *element, Qt::Alignment alignment) or addElement(QCPLayoutElement *element, const QRectF &rect). If the first method is used, the inset placement will default to ipBorderAligned and the element will be aligned according to the alignment parameter. The second method defaults to ipFree and allows placing elements at arbitrary position and size, defined by rect.

The alignment or rect can be set via setInsetAlignment or setInsetRect, respectively.

This is the layout that every QCPAxisRect has as QCPAxisRect::insetLayout.

Member Enumeration Documentation

Defines how the placement and sizing is handled for a certain element in a QCPLayoutInset.

Enumerator:
ipFree 

The element may be positioned/sized arbitrarily, see setInsetRect.

ipBorderAligned 

The element is aligned to one of the layout sides, see setInsetAlignment.

Constructor & Destructor Documentation

QCPLayoutInset::QCPLayoutInset ( )
explicit

Creates an instance of QCPLayoutInset and sets default values.

Member Function Documentation

QCPLayoutInset::InsetPlacement QCPLayoutInset::insetPlacement ( int  index) const

Returns the placement type of the element with the specified index.

Qt::Alignment QCPLayoutInset::insetAlignment ( int  index) const

Returns the alignment of the element with the specified index. The alignment only has a meaning, if the inset placement (setInsetPlacement) is ipBorderAligned.

QRectF QCPLayoutInset::insetRect ( int  index) const

Returns the rect of the element with the specified index. The rect only has a meaning, if the inset placement (setInsetPlacement) is ipFree.

void QCPLayoutInset::setInsetPlacement ( int  index,
QCPLayoutInset::InsetPlacement  placement 
)

Sets the inset placement type of the element with the specified index to placement.

See Also
InsetPlacement
void QCPLayoutInset::setInsetAlignment ( int  index,
Qt::Alignment  alignment 
)

If the inset placement (setInsetPlacement) is ipBorderAligned, this function is used to set the alignment of the element with the specified index to alignment.

alignment is an or combination of the following alignment flags: Qt::AlignLeft, Qt::AlignHCenter, Qt::AlighRight, Qt::AlignTop, Qt::AlignVCenter, Qt::AlignBottom. Any other alignment flags will be ignored.

void QCPLayoutInset::setInsetRect ( int  index,
const QRectF &  rect 
)

If the inset placement (setInsetPlacement) is ipFree, this function is used to set the position and size of the element with the specified index to rect.

rect is given in fractions of the whole inset layout rect. So an inset with rect (0, 0, 1, 1) will span the entire layout. An inset with rect (0.6, 0.1, 0.35, 0.35) will be in the top right corner of the layout, with 35% width and height of the parent layout.

Note that the minimum and maximum sizes of the embedded element (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize) are enforced.

void QCPLayoutInset::updateLayout ( )
virtual

Subclasses reimplement this method to update the position and sizes of the child elements/cells via calling their QCPLayoutElement::setOuterRect. The default implementation does nothing.

The geometry used as a reference is the inner rect of this layout. Child elements should stay within that rect.

getSectionSizes may help with the reimplementation of this function.

See Also
update

Reimplemented from QCPLayout.

int QCPLayoutInset::elementCount ( ) const
virtual

Returns the number of elements/cells in the layout.

See Also
elements, elementAt

Implements QCPLayout.

QCPLayoutElement * QCPLayoutInset::elementAt ( int  index) const
virtual

Returns the element in the cell with the given index. If index is invalid, returns 0.

Note that even if index is valid, the respective cell may be empty in some layouts (e.g. QCPLayoutGrid), so this function may return 0 in those cases. You may use this function to check whether a cell is empty or not.

See Also
elements, elementCount, takeAt

Implements QCPLayout.

QCPLayoutElement * QCPLayoutInset::takeAt ( int  index)
virtual

Removes the element with the given index from the layout and returns it.

If the index is invalid or the cell with that index is empty, returns 0.

Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.

See Also
elementAt, take

Implements QCPLayout.

bool QCPLayoutInset::take ( QCPLayoutElement element)
virtual

Removes the specified element from the layout and returns true on success.

If the element isn't in this layout, returns false.

Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.

See Also
takeAt

Implements QCPLayout.

void QCPLayoutInset::simplify ( )
inlinevirtual

The QCPInsetLayout does not need simplification since it can never have empty cells due to its linear index structure. This method does nothing.

Reimplemented from QCPLayout.

double QCPLayoutInset::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

The inset layout is sensitive to events only at areas where its child elements are sensitive. If the selectTest method of any of the child elements returns a positive number for pos, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. The inset layout is not selectable itself by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

Reimplemented from QCPLayoutElement.

void QCPLayoutInset::addElement ( QCPLayoutElement element,
Qt::Alignment  alignment 
)

Adds the specified element to the layout as an inset aligned at the border (setInsetAlignment is initialized with ipBorderAligned). The alignment is set to alignment.

alignment is an or combination of the following alignment flags: Qt::AlignLeft, Qt::AlignHCenter, Qt::AlighRight, Qt::AlignTop, Qt::AlignVCenter, Qt::AlignBottom. Any other alignment flags will be ignored.

See Also
addElement(QCPLayoutElement *element, const QRectF &rect)
void QCPLayoutInset::addElement ( QCPLayoutElement element,
const QRectF &  rect 
)

Adds the specified element to the layout as an inset with free positioning/sizing (setInsetAlignment is initialized with ipFree). The position and size is set to rect.

rect is given in fractions of the whole inset layout rect. So an inset with rect (0, 0, 1, 1) will span the entire layout. An inset with rect (0.6, 0.1, 0.35, 0.35) will be in the top right corner of the layout, with 35% width and height of the parent layout.

See Also
addElement(QCPLayoutElement *element, Qt::Alignment alignment)
void QCPLayout::update ( )
virtualinherited

First calls the QCPLayoutElement::update base class implementation to update the margins on this layout.

Then calls updateLayout which subclasses reimplement to reposition and resize their cells.

Finally, update is called on all child elements.

Reimplemented from QCPLayoutElement.

QList< QCPLayoutElement * > QCPLayout::elements ( bool  recursive) const
virtualinherited

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayoutElement.

Reimplemented in QCPLayoutGrid.

bool QCPLayout::removeAt ( int  index)
inherited

Removes and deletes the element at the provided index. Returns true on success. If index is invalid or points to an empty cell, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the returned element.

See Also
remove, takeAt
bool QCPLayout::remove ( QCPLayoutElement element)
inherited

Removes and deletes the provided element. Returns true on success. If element is not in the layout, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the element.

See Also
removeAt, take
void QCPLayout::clear ( )
inherited

Removes and deletes all layout elements in this layout.

See Also
remove, removeAt
void QCPLayout::sizeConstraintsChanged ( ) const
protectedinherited

Subclasses call this method to report changed (minimum/maximum) size constraints.

If the parent of this layout is again a QCPLayout, forwards the call to the parent's sizeConstraintsChanged. If the parent is a QWidget (i.e. is the QCustomPlot::plotLayout of QCustomPlot), calls QWidget::updateGeometry, so if the QCustomPlot widget is inside a Qt QLayout, it may update itself and resize cells accordingly.

void QCPLayout::adoptElement ( QCPLayoutElement el)
protectedinherited

Associates el with this layout. This is done by setting the QCPLayoutElement::layout, the QCPLayerable::parentLayerable and the QObject parent to this layout.

Further, if el didn't previously have a parent plot, calls QCPLayerable::initializeParentPlot on el to set the paret plot.

This method is used by subclass specific methods that add elements to the layout. Note that this method only changes properties in el. The removal from the old layout and the insertion into the new layout must be done additionally.

void QCPLayout::releaseElement ( QCPLayoutElement el)
protectedinherited

Disassociates el from this layout. This is done by setting the QCPLayoutElement::layout and the QCPLayerable::parentLayerable to zero. The QObject parent is set to the parent QCustomPlot.

This method is used by subclass specific methods that remove elements from the layout (e.g. take or takeAt). Note that this method only changes properties in el. The removal from the old layout must be done additionally.

QVector< int > QCPLayout::getSectionSizes ( QVector< int >  maxSizes,
QVector< int >  minSizes,
QVector< double >  stretchFactors,
int  totalSize 
) const
protectedinherited

This is a helper function for the implementation of updateLayout in subclasses.

It calculates the sizes of one-dimensional sections with provided constraints on maximum section sizes, minimum section sizes, relative stretch factors and the final total size of all sections.

The QVector entries refer to the sections. Thus all QVectors must have the same size.

maxSizes gives the maximum allowed size of each section. If there shall be no maximum size imposed, set all vector values to Qt's QWIDGETSIZE_MAX.

minSizes gives the minimum allowed size of each section. If there shall be no minimum size imposed, set all vector values to zero. If the minSizes entries add up to a value greater than totalSize, sections will be scaled smaller than the proposed minimum sizes. (In other words, not exceeding the allowed total size is taken to be more important than not going below minimum section sizes.)

stretchFactors give the relative proportions of the sections to each other. If all sections shall be scaled equally, set all values equal. If the first section shall be double the size of each individual other section, set the first number of stretchFactors to double the value of the other individual values (e.g. {2, 1, 1, 1}).

totalSize is the value that the final section sizes will add up to. Due to rounding, the actual sum may differ slightly. If you want the section sizes to sum up to exactly that value, you could distribute the remaining difference on the sections.

The return value is a QVector containing the section sizes.

QCPLayout * QCPLayoutElement::layout ( ) const
inlineinherited

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inlineinherited

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)
inherited

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)
inherited

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)
inherited

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)
inherited

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)
inherited

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)
inherited

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)
inherited

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

QSize QCPLayoutElement::minimumSizeHint ( ) const
virtualinherited

Returns the minimum size this layout element (the inner rect) may be compressed to.

if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)

Reimplemented in QCPLayoutGrid, QCPPlottableLegendItem, and QCPPlotTitle.

QSize QCPLayoutElement::maximumSizeHint ( ) const
virtualinherited

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented in QCPLayoutGrid, and QCPPlotTitle.

int QCPLayoutElement::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtualinherited

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mousePressEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseMoveEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseReleaseEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::wheelEvent ( QWheelEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented in QCPAxisRect.

virtual void QCPLayoutElement::applyDefaultAntialiasingHint ( QCPPainter painter) const
inlineprotectedvirtualinherited

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Implements QCPLayerable.

Reimplemented in QCPLegend, QCPAxisRect, QCPAbstractLegendItem, and QCPPlotTitle.

virtual void QCPLayoutElement::draw ( QCPPainter painter)
inlineprotectedvirtualinherited

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPLayerable.

Reimplemented in QCPLegend, QCPAxisRect, QCPPlottableLegendItem, QCPAbstractLegendItem, and QCPPlotTitle.

void QCPLayoutElement::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayerable.

Reimplemented in QCPLegend.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

QCP::Interaction QCPLayerable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPScatterStyle.html0000644000175000017500000012740412236016575024062 0ustar dermanudermanu QCPScatterStyle Class Reference
QCPScatterStyle Class Reference

Represents the visual appearance of scatter points. More...

Public Types

enum  ScatterShape

Public Functions

 QCPScatterStyle ()
 QCPScatterStyle (ScatterShape shape, double size=6)
 QCPScatterStyle (ScatterShape shape, const QColor &color, double size)
 QCPScatterStyle (ScatterShape shape, const QColor &color, const QColor &fill, double size)
 QCPScatterStyle (ScatterShape shape, const QPen &pen, const QBrush &brush, double size)
 QCPScatterStyle (const QPixmap &pixmap)
 QCPScatterStyle (const QPainterPath &customPath, const QPen &pen, const QBrush &brush=Qt::NoBrush, double size=6)
double size () const
ScatterShape shape () const
QPen pen () const
QBrush brush () const
QPixmap pixmap () const
QPainterPath customPath () const
void setSize (double size)
void setShape (ScatterShape shape)
void setPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setPixmap (const QPixmap &pixmap)
void setCustomPath (const QPainterPath &customPath)
bool isNone () const
bool isPenDefined () const
void applyTo (QCPPainter *painter, const QPen &defaultPen) const
void drawShape (QCPPainter *painter, QPointF pos) const
void drawShape (QCPPainter *painter, double x, double y) const

Detailed Description

Represents the visual appearance of scatter points.

This class holds information about shape, color and size of scatter points. In plottables like QCPGraph it is used to store how scatter points shall be drawn. For example, QCPGraph::setScatterStyle takes a QCPScatterStyle instance.

A scatter style consists of a shape (setShape), a line color (setPen) and possibly a fill (setBrush), if the shape provides a fillable area. Further, the size of the shape can be controlled with setSize.

Specifying a scatter style

You can set all these configurations either by calling the respective functions on an instance:

QCPScatterStyle myScatter;
myScatter.setPen(Qt::blue);
myScatter.setBrush(Qt::white);
myScatter.setSize(5);
customPlot->graph(0)->setScatterStyle(myScatter);

Or you can use one of the various constructors that take different parameter combinations, making it easy to specify a scatter style in a single call, like so:

customPlot->graph(0)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, Qt::blue, Qt::white, 5));

Leaving the color/pen up to the plottable

There are two constructors which leave the pen undefined: QCPScatterStyle() and QCPScatterStyle(ScatterShape shape, double size). If those constructors are used, a call to isPenDefined will return false. It leads to scatter points that inherit the pen from the plottable that uses the scatter style. Thus, if such a scatter style is passed to QCPGraph, the line color of the graph (QCPGraph::setPen) will be used by the scatter points. This makes it very convenient to set up typical scatter settings:

customPlot->graph(0)->setScatterStyle(QCPScatterStyle::ssPlus);

Notice that it wasn't even necessary to explicitly call a QCPScatterStyle constructor. This works because QCPScatterStyle provides a constructor that can transform a ScatterShape directly into a QCPScatterStyle instance (that's the QCPScatterStyle(ScatterShape shape, double size) constructor with a default for size). In those cases, C++ allows directly supplying a ScatterShape, where actually a QCPScatterStyle is expected.

Custom shapes and pixmaps

QCPScatterStyle supports drawing custom shapes and arbitrary pixmaps as scatter points.

For custom shapes, you can provide a QPainterPath with the desired shape to the setCustomPath function or call the constructor that takes a painter path. The scatter shape will automatically be set to ssCustom.

For pixmaps, you call setPixmap with the desired QPixmap. Alternatively you can use the constructor that takes a QPixmap. The scatter shape will automatically be set to ssPixmap. Note that setSize does not influence the appearance of the pixmap.

Member Enumeration Documentation

Defines the shape used for scatter points.

On plottables/items that draw scatters, the sizes of these visualizations (with exception of ssDot and ssPixmap) can be controlled with the setSize function. Scatters are drawn with the pen and brush specified with setPen and setBrush.

Enumerator:
ssNone 

no scatter symbols are drawn (e.g. in QCPGraph, data only represented with lines)

ssDot 
ssDot.png

a single pixel (use ssDisc or ssCircle if you want a round shape with a certain radius)

ssCross 
ssCross.png

a cross

ssPlus 
ssPlus.png

a plus

ssCircle 
ssCircle.png

a circle

ssDisc 
ssDisc.png

a circle which is filled with the pen's color (not the brush as with ssCircle)

ssSquare 
ssSquare.png

a square

ssDiamond 
ssDiamond.png

a diamond

ssStar 
ssStar.png

a star with eight arms, i.e. a combination of cross and plus

ssTriangle 
ssTriangle.png

an equilateral triangle, standing on baseline

ssTriangleInverted 
ssTriangleInverted.png

an equilateral triangle, standing on corner

ssCrossSquare 
ssCrossSquare.png

a square with a cross inside

ssPlusSquare 
ssPlusSquare.png

a square with a plus inside

ssCrossCircle 
ssCrossCircle.png

a circle with a cross inside

ssPlusCircle 
ssPlusCircle.png

a circle with a plus inside

ssPeace 
ssPeace.png

a circle, with one vertical and two downward diagonal lines

ssPixmap 

a custom pixmap specified by setPixmap, centered on the data point coordinates

ssCustom 

custom painter operations are performed per scatter (As QPainterPath, see setCustomPath)

Constructor & Destructor Documentation

QCPScatterStyle::QCPScatterStyle ( )

Creates a new QCPScatterStyle instance with size set to 6. No shape, pen or brush is defined.

Since the pen is undefined (isPenDefined returns false), the scatter color will be inherited from the plottable that uses this scatter style.

QCPScatterStyle::QCPScatterStyle ( ScatterShape  shape,
double  size = 6 
)

Creates a new QCPScatterStyle instance with shape set to shape and size to size. No pen or brush is defined.

Since the pen is undefined (isPenDefined returns false), the scatter color will be inherited from the plottable that uses this scatter style.

QCPScatterStyle::QCPScatterStyle ( ScatterShape  shape,
const QColor &  color,
double  size 
)

Creates a new QCPScatterStyle instance with shape set to shape, the pen color set to color, and size to size. No brush is defined, i.e. the scatter point will not be filled.

QCPScatterStyle::QCPScatterStyle ( ScatterShape  shape,
const QColor &  color,
const QColor &  fill,
double  size 
)

Creates a new QCPScatterStyle instance with shape set to shape, the pen color set to color, the brush color to fill (with a solid pattern), and size to size.

QCPScatterStyle::QCPScatterStyle ( ScatterShape  shape,
const QPen &  pen,
const QBrush &  brush,
double  size 
)

Creates a new QCPScatterStyle instance with shape set to shape, the pen set to pen, the brush to brush, and size to size.

Warning
In some cases it might be tempting to directly use a pen style like Qt::NoPen as pen and a color like Qt::blue as brush. Notice however, that the corresponding call
QCPScatterStyle(QCPScatterShape::ssCircle, Qt::NoPen, Qt::blue, 5)
doesn't necessarily lead C++ to use this constructor in some cases, but might mistake Qt::NoPen for a QColor and use the QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size) constructor instead (which will lead to an unexpected look of the scatter points). To prevent this, be more explicit with the parameter types. For example, use QBrush(Qt::blue) instead of just Qt::blue, to clearly point out to the compiler that this constructor is wanted.
QCPScatterStyle::QCPScatterStyle ( const QPixmap &  pixmap)

Creates a new QCPScatterStyle instance which will show the specified pixmap. The scatter shape is set to ssPixmap.

QCPScatterStyle::QCPScatterStyle ( const QPainterPath &  customPath,
const QPen &  pen,
const QBrush &  brush = Qt::NoBrush,
double  size = 6 
)

Creates a new QCPScatterStyle instance with a custom shape that is defined via customPath. The scatter shape is set to ssCustom.

The custom shape line will be drawn with pen and filled with brush. The size has a slightly different meaning than for built-in scatter points: The custom path will be drawn scaled by a factor of size/6.0. Since the default size is 6, the custom path will appear at a its natural size by default. To double the size of the path for example, set size to 12.

Member Function Documentation

void QCPScatterStyle::setSize ( double  size)

Sets the size (pixel diameter) of the drawn scatter points to size.

See Also
setShape
void QCPScatterStyle::setShape ( QCPScatterStyle::ScatterShape  shape)

Sets the shape to shape.

Note that the calls setPixmap and setCustomPath automatically set the shape to ssPixmap and ssCustom, respectively.

See Also
setSize
void QCPScatterStyle::setPen ( const QPen &  pen)

Sets the pen that will be used to draw scatter points to pen.

If the pen was previously undefined (see isPenDefined), the pen is considered defined after a call to this function, even if pen is Qt::NoPen.

See Also
setBrush
void QCPScatterStyle::setBrush ( const QBrush &  brush)

Sets the brush that will be used to fill scatter points to brush. Note that not all scatter shapes have fillable areas. For example, ssPlus does not while ssCircle does.

See Also
setPen
void QCPScatterStyle::setPixmap ( const QPixmap &  pixmap)

Sets the pixmap that will be drawn as scatter point to pixmap.

Note that setSize does not influence the appearance of the pixmap.

The scatter shape is automatically set to ssPixmap.

void QCPScatterStyle::setCustomPath ( const QPainterPath &  customPath)

Sets the custom shape that will be drawn as scatter point to customPath.

The scatter shape is automatically set to ssCustom.

bool QCPScatterStyle::isNone ( ) const
inline

Returns whether the scatter shape is ssNone.

See Also
setShape
bool QCPScatterStyle::isPenDefined ( ) const
inline

Returns whether a pen has been defined for this scatter style.

The pen is undefined if a constructor is called that does not carry pen as parameter. Those are QCPScatterStyle() and QCPScatterStyle(ScatterShape shape, double size). If the pen is left undefined, the scatter color will be inherited from the plottable that uses this scatter style.

See Also
setPen
void QCPScatterStyle::applyTo ( QCPPainter painter,
const QPen &  defaultPen 
) const

Applies the pen and the brush of this scatter style to painter. If this scatter style has an undefined pen (isPenDefined), sets the pen of painter to defaultPen instead.

This function is used by plottables (or any class that wants to draw scatters) just before a number of scatters with this style shall be drawn with the painter.

See Also
drawShape
void QCPScatterStyle::drawShape ( QCPPainter painter,
QPointF  pos 
) const

Draws the scatter shape with painter at position pos.

This function does not modify the pen or the brush on the painter, as applyTo is meant to be called before scatter points are drawn with drawShape.

See Also
applyTo
void QCPScatterStyle::drawShape ( QCPPainter painter,
double  x,
double  y 
) const

This is an overloaded function.

Draws the scatter shape with painter at position x and y.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPCurve__inherit__graph.png0000644000175000017500000000777312236016575025547 0ustar dermanudermanu‰PNG  IHDR˜»˜ÀîbKGDÿÿÿ ½§“°IDATxœí{LSgÿÀŸÓ–Ö `¡ê&©_Z™7ä‡R$qfqLD¼Nv‰À2³)y7“-›cqCŒÙ˜fh7£ÜA)` ï4ó24¢D'ï,/…˜TÛ>¿?Î~ç­í¡"œ^üîùÄ?zžË÷ùžóáÜzêy(Œ1"¼øð܈H ‘@ "@DBsÄ™3gܽ*/gΜájû 8όۀ€Ù¸q#‡Ñ8¹aÃn†[‘ä "D$ˆH ‘£…¢¨Qº7ˆT*•¡¡¡B¡044ôäÉ“ÖU§N’Éd"‘($$$//.¤(Š¢(‘HÙÔÔĺ8mO‡«Rúò™Íªªª¤RiMMÁ`¨­­•J¥•••LÕÌ™3U*Õàà`{{ûöíÛér:ìððpvvö‚ ¬ ] ëˆãIqú…€«E*Š’’f±¸¸8&&†©*++cIñÿÃNœ8ѦЦ%EQÁÁÁUUUjµ:44Ôl6ÓUÃÃÃR©ôÎ;Z­6>>ÞÇÇG.—_¹r…éxèÐ!©TJQ”}(¦dß¾}“'O^²dÉÝ»wmÒ` ë˜[¤¿¿¿N§cu:ŸŸkÕSDcl4G³GšÍfF3wî\Œqllì©S§èòcÇŽmÞ¼cœ˜˜˜——7<<|þüùùóç3ÑÞzë-­V;R(ºMff¦^¯ÏÈÈHHH°Iƒ5¬c ‰ôõõe­úoŠ!„„Bá¢E‹˜B›f*•J.— …B„ŸÏÇk4š°°0³Ùl±XÂÃÃoܸ1–H$Ìi…Çã1Ñúúú„²nÓ××'‹mÒ` ënEºúbG&“Õ××3‹uuuôçððð_~ù…µÆØh4666.^¼x¤È;wîüüóÏõz½Á`0›Í¡ØØØéÓ§ž;w.444,,ŒÕÕÕE¯<ÝŒF,;õLF ë:¸ú‹åYYYxñâŵZTQQAW]¸p!((¨ººzhh¨½½}ÇŽt9kXûB‰D¢Ñh Czz:S«Ñhär¹B¡hjj¢K’’’’’’´ZmGGGbb"k4ÖP¡ÌÌLƒÁÀzhe ëôBZ1ÆyyysæÌáñx¡'NXW)•ÊyóæyyyÑ·¥8‚H›?Ǽ¼¼©S§Î˜1ãÀÖ] ÅêÕ«™ÅÞÞÞÍ›7ûùùççç³Á 9¼Øa ë˜^$Þ={¢¢¢ôz=W9Øc4·nÝÚÒÒâ¼!Æ ·"9~Œõ\äää85>EQ|>ÿøñã2™Ì©yîélðßé'»ä»V ‘@ "@D¾Èë×;[Z¸; §ÃñU«>&ôñYŽ`ÿò W×è<¸|ù2'¡8côÏ6RuàÀBü#‹ŽŽ–J¥œ„âL¤gråÊÝ5krB¥¥©‘‘³ÜŽ~Ž,,lx¿°ðª»sq.E>~l*-m6™,&“¹¤¤éÉw<]rEÖÕµ éÏCCFæ–{óq*E]åóÿZA>Ÿ*.†|t+rhÈxáB ó°Þl¶TV¶0;(<ÀŠT©n˜LOM&suõ wåãlÀŠ,*jDè©GŠB……îÊÇÙÀ©Ó ÕÕµY,ëB³×Õµõõ ¹++§Sä¹s×X¿èÀŸ;wÝõù¸˜" ÆPõBPäÇúÆÆû Ëi±àÆÆß>Ô»>+gP¤JucòdóO(…ë’êê›îΑ{€iŽzûí¡ï¿ßæîDœ À=òï  "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ „§Þ ì™/Ï'¡üü|w'Â1¶/íµž–‡ž |þ>Š»³à›é˜XÞiþõ°­79Gˆ "ž%Ò£¦æà0ÖPÜ®ìE*•ÊÐÐP¡PzòäIëªS§NÉd2‘HDO¯KREQ”H$ŠŒŒljj¢ kkk)ŠR©TcH`ü[Á:kzÏÕ}œÉp€ý}ä3g­ªª’J¥555ƒ¡¶¶V*•VVV2U3gÎT©TƒƒƒíííÛ·o§Ëé°ÃÃÃÙÙÙ ,  ·mÛ&“ɶlÙÂDÍèÏÛr4XÓs<„}÷Q6}/Çmî#Ç"R¡P”””0‹ÅÅÅ111LUYYëÀô‡ÁÁÁ‰'bŒ‡††üüüZ[[§L™288È4³Ÿº¨¨(<<\$ýðÃøéÛ\zñСCR©”¢(&EQÁÁÁUUUtIggçÊ•+E"²»QfMϺð÷ßõöö^±bÅýû÷ñÈ÷Ù#κ^L{­Vïãã#—˯\¹òÌíÙDŽåÐÚÚÚË,®X±¢µµ•©Š‰‰©ããÇ?>wî\„PIIɲeËÂÃ×/_^\\Ì´ñòòêîî^¹råûï¿O—ìÞ½ûèÑ£õõõ¿þú«Í¦§Ûܼy³©©‰y÷5ÆØd2ýøãôüó¡ÔÔÔˆˆNÇôµ‰`“ž5©©©ÑÑÑ]]]K—.e&´Gl{äH£³®Czzúºuëzzz<¸{÷î‘¶Þ3°¶:Ê=ÒßߟÞ"4:Î××—µÊzUBB¡pÑ¢E ãU«VÑS§OŸ~õÕW™f}}}ã¾¾>±XLîÝ»wáÂ…ï¾ûnuuµý¶³îE£R©är¹P(Dñù|ºP,Û$fÁ&=ëb±˜Ž¯ÓéüüüX»;u½˜^‰„ÑÁãñì·ëöäæÐZZZÊ,–””0‡Ö˜˜˜òòrÖ­»»»ù|¾uö]]]x„Æß½{÷Ûo¿ŽŽNJJ²h\*•–——?zôÈ`0XËp,ÒAÎÏ%’utÇ"ýýýéÕ=܈¬¬¬ ¼xñâÀÀ€Z­ ª¨¨ «.\¸T]]=44ÔÞÞ¾cÇûUÅgeeíܹ“Yܽ{wVVÝ,33Ó`0ddd$$$е)))·oß~üøñ¥K—$ ]èëëk²¡‘H$Æ`00‡AŒñš5k>úè£?ÿü“iæ ‚Ma||<“Õo¼aßÝú3ëè¬ëÅÔ&%%%%%iµÚŽŽŽÄÄĶºmnˆÄçååÍ™3‡Çã!„Nœ8a]¥T*çÍ›çååEß~Ø$M3þ|FÃ,ÖÕÕÍŸ?pQ››;{öì &„‡‡3YŸ~ú©¯¯/²;]ѹM:uÆŒ`ª:;;ãââ¼¼¼˜lr¦/v&OžÌ\ìØt·þÌ::ëz1µ½½½›7oöóó ÎÏÏÖ¶ÿ«/7"öìÙ¥×럫aœØ‹ïÔ¼999ãŒ@àÏúŠŽ0fˆH ‘@ "@D¾È'O̰§É¦a¹ýöÐë×u…ärw'â\XDnܸÑõy8±x5B¨¿ÿ¼»q.À'93†åòL„Pkëg>>ÜŽ~ެ©¹a6[ÌfKM À©­.òÌ™ÿµùÈ"{z._¾c±`‹_ºt»§gÀÝ9È"+*®YÍ`OA&›²È‚‚æW< .(€9M6 X‘½×®u2—äãææŽÎN[“r"`E–—7óùO­ŸO•—ÿæ®|œ X‘ùù &“źÄd²äçƒ=ºÂyëÖ¿ÛÛ"dû]Ç;oÝú·[Rr60E––6 |ûr€_Vóè P$Ƹ°°Ñdbyâa2™ @~+ Pdssgww?ŸÏø6ÿø|^wwÿµkîΑ{Æû+:¤·wpË–ÿaÿõ¯Û¡˜˜0%ÿùÏ Òr2ÀŸ~ „Þ~ûBèûï·¹;çðÐú÷„ˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ‚Kÿëùúõë]6ÃÝ»b„ЬYý®º  Àec¹T$EQaaaÓ¦Msو§çæÍ›®Ü¶®~«ÇúõëW¬XáâA]F£¡g«sä "D$ˆH ‘@ðÄwÑ©T*¥RùǼüòËÉÉÉ«V­bªjkkúé§LŸ>=99ùµ×^CÅÅÅ!„AHHÈ|0gΡâq";¶ÿþ¹sç¶µµ}ñÅb±822’®ÊÍÍýðÃe2™N§S*•ŒµZýäÉ“³gÏfeeåææ:n ;´*•Ê´´´… Nš4iÁ‚©©©?ÿü3S•žž¾xñâ &ì۷Ϻ£——×êÕ«;::7¦w_›Ïqqq6lˆ‹‹KHHÐëõt¹^¯OHHèïïÿøã_ýõ]»vݺuË©[`lxœÈ{÷îEDD0‹¯¼òʽ{÷˜*¹\>RG“ÉtþüùÀÀÀÑ4¶çþýû¹¹¹jµ:&&¦¢¢‚.<{ö¬B¡ðññ9räˆB¡(--MIIÉÊÊzîµr>whµÇl~öìqqq`Ö¬Y{÷îÛ(ï¼óŽ··7BhíÚµû÷ïß´iƸ¬¬ìàÁƒ¡†††ÚÚÚ/¿ü!DQÔ3b¹|ýúõe˖ы׮] aªZZZ¢££í{©Õjû8¬)вX,<Ïh4Z—ÓB³gϨ««ÃÌš5 ýõzíB‰D2îõswhMJJ:|øðo¿ýöèÑ£æææ#GŽ$&&ÒU[¶l9|øðÕ«WFcww÷W_}å ÎHêë뇇‡OŸ>=Rßµk×­[·Ž.Yºtéwß}×ß߯Õj?ûì3ŽÖ•K Class Hierarchy
Class Hierarchy
qcustomplot/documentation/html/classQCPAxisRect.html0000644000175000017500000043175412236016575023164 0ustar dermanudermanu QCPAxisRect Class Reference
QCPAxisRect Class Reference

Holds multiple axes and arranges them in a rectangular shape. More...

Inheritance diagram for QCPAxisRect:
Inheritance graph

Public Functions

 QCPAxisRect (QCustomPlot *parentPlot, bool setupDefaultAxes=true)
QPixmap background () const
bool backgroundScaled () const
Qt::AspectRatioMode backgroundScaledMode () const
Qt::Orientations rangeDrag () const
Qt::Orientations rangeZoom () const
QCPAxisrangeDragAxis (Qt::Orientation orientation)
QCPAxisrangeZoomAxis (Qt::Orientation orientation)
double rangeZoomFactor (Qt::Orientation orientation)
void setBackground (const QPixmap &pm)
void setBackground (const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)
void setBackground (const QBrush &brush)
void setBackgroundScaled (bool scaled)
void setBackgroundScaledMode (Qt::AspectRatioMode mode)
void setRangeDrag (Qt::Orientations orientations)
void setRangeZoom (Qt::Orientations orientations)
void setRangeDragAxes (QCPAxis *horizontal, QCPAxis *vertical)
void setRangeZoomAxes (QCPAxis *horizontal, QCPAxis *vertical)
void setRangeZoomFactor (double horizontalFactor, double verticalFactor)
void setRangeZoomFactor (double factor)
int axisCount (QCPAxis::AxisType type) const
QCPAxisaxis (QCPAxis::AxisType type, int index=0) const
QList< QCPAxis * > axes (QCPAxis::AxisTypes types) const
QList< QCPAxis * > axes () const
QCPAxisaddAxis (QCPAxis::AxisType type)
QList< QCPAxis * > addAxes (QCPAxis::AxisTypes types)
bool removeAxis (QCPAxis *axis)
QCPLayoutInsetinsetLayout () const
void setupFullAxesBox (bool connectRanges=false)
QList< QCPAbstractPlottable * > plottables () const
QList< QCPGraph * > graphs () const
QList< QCPAbstractItem * > items () const
int left () const
int right () const
int top () const
int bottom () const
int width () const
int height () const
QSize size () const
QPoint topLeft () const
QPoint topRight () const
QPoint bottomLeft () const
QPoint bottomRight () const
QPoint center () const
virtual void update ()
virtual QList< QCPLayoutElement * > elements (bool recursive) const
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual QSize minimumSizeHint () const
virtual QSize maximumSizeHint () const
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Protected Functions

virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
void drawBackground (QCPPainter *painter)
void updateAxesOffset (QCPAxis::AxisType type)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

Holds multiple axes and arranges them in a rectangular shape.

This class represents an axis rect, a rectangular area that is bounded on all sides with an arbitrary number of axes.

Initially QCustomPlot has one axis rect, accessible via QCustomPlot::axisRect(). However, the layout system allows to have multiple axis rects, e.g. arranged in a grid layout (QCustomPlot::plotLayout).

By default, QCPAxisRect comes with four axes, at bottom, top, left and right. They can be accessed via axis by providing the respective axis type (QCPAxis::AxisType) and index. If you need all axes in the axis rect, use axes. The top and right axes are set to be invisible initially (QCPAxis::setVisible). To add more axes to a side, use addAxis or addAxes. To remove an axis, use removeAxis.

The axis rect layerable itself only draws a background pixmap or color, if specified (setBackground). It is placed on the "background" layer initially (see QCPLayer for an explanation of the QCustomPlot layer system). The axes that are held by the axis rect can be placed on other layers, independently of the axis rect.

Every axis rect has a child layout of type QCPLayoutInset. It is accessible via insetLayout and can be used to have other layout elements (or even other layouts with multiple elements) hovering inside the axis rect.

If an axis rect is clicked and dragged, it processes this by moving certain axis ranges. The behaviour can be controlled with setRangeDrag and setRangeDragAxes. If the mouse wheel is scrolled while the cursor is on the axis rect, certain axes are scaled. This is controllable via setRangeZoom, setRangeZoomAxes and setRangeZoomFactor. These interactions are only enabled if QCustomPlot::setInteractions contains QCP::iRangeDrag and QCP::iRangeZoom.

AxisRectSpacingOverview.png
Overview of the spacings and paddings that define the geometry of an axis. The dashed line on the far left indicates the viewport/widget border.

Constructor & Destructor Documentation

QCPAxisRect::QCPAxisRect ( QCustomPlot parentPlot,
bool  setupDefaultAxes = true 
)
explicit

Creates a QCPAxisRect instance and sets default values. An axis is added for each of the four sides, the top and right axes are set invisible initially.

Member Function Documentation

QCPAxis * QCPAxisRect::rangeDragAxis ( Qt::Orientation  orientation)

Returns the range drag axis of the orientation provided.

See Also
setRangeDragAxes
QCPAxis * QCPAxisRect::rangeZoomAxis ( Qt::Orientation  orientation)

Returns the range zoom axis of the orientation provided.

See Also
setRangeZoomAxes
double QCPAxisRect::rangeZoomFactor ( Qt::Orientation  orientation)

Returns the range zoom factor of the orientation provided.

See Also
setRangeZoomFactor
void QCPAxisRect::setBackground ( const QPixmap &  pm)

Sets pm as the axis background pixmap. The axis background pixmap will be drawn inside the axis rect. Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds are usually drawn below everything else.

For cases where the provided pixmap doesn't have the same size as the axis rect, scaling can be enabled with setBackgroundScaled and the scaling mode (i.e. whether and how the aspect ratio is preserved) can be set with setBackgroundScaledMode. To set all these options in one call, consider using the overloaded version of this function.

Below the pixmap, the axis rect may be optionally filled with a brush, if specified with setBackground(const QBrush &brush).

See Also
setBackgroundScaled, setBackgroundScaledMode, setBackground(const QBrush &brush)
void QCPAxisRect::setBackground ( const QPixmap &  pm,
bool  scaled,
Qt::AspectRatioMode  mode = Qt::KeepAspectRatioByExpanding 
)

This is an overloaded function.

Allows setting the background pixmap of the axis rect, whether it shall be scaled and how it shall be scaled in one call.

See Also
setBackground(const QPixmap &pm), setBackgroundScaled, setBackgroundScaledMode
void QCPAxisRect::setBackground ( const QBrush &  brush)

This is an overloaded function.

Sets brush as the background brush. The axis rect background will be filled with this brush. Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds are usually drawn below everything else.

The brush will be drawn before (under) any background pixmap, which may be specified with setBackground(const QPixmap &pm).

To disable drawing of a background brush, set brush to Qt::NoBrush.

See Also
setBackground(const QPixmap &pm)
void QCPAxisRect::setBackgroundScaled ( bool  scaled)

Sets whether the axis background pixmap shall be scaled to fit the axis rect or not. If scaled is set to true, you may control whether and how the aspect ratio of the original pixmap is preserved with setBackgroundScaledMode.

Note that the scaled version of the original pixmap is buffered, so there is no performance penalty on replots. (Except when the axis rect dimensions are changed continuously.)

See Also
setBackground, setBackgroundScaledMode
void QCPAxisRect::setBackgroundScaledMode ( Qt::AspectRatioMode  mode)

If scaling of the axis background pixmap is enabled (setBackgroundScaled), use this function to define whether and how the aspect ratio of the original pixmap passed to setBackground is preserved.

See Also
setBackground, setBackgroundScaled
void QCPAxisRect::setRangeDrag ( Qt::Orientations  orientations)

Sets which axis orientation may be range dragged by the user with mouse interaction. What orientation corresponds to which specific axis can be set with setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical axis is the left axis (yAxis).

To disable range dragging entirely, pass 0 as orientations or remove QCP::iRangeDrag from QCustomPlot::setInteractions. To enable range dragging for both directions, pass Qt::Horizontal | Qt::Vertical as orientations.

In addition to setting orientations to a non-zero value, make sure QCustomPlot::setInteractions contains QCP::iRangeDrag to enable the range dragging interaction.

See Also
setRangeZoom, setRangeDragAxes, setNoAntialiasingOnDrag
void QCPAxisRect::setRangeZoom ( Qt::Orientations  orientations)

Sets which axis orientation may be zoomed by the user with the mouse wheel. What orientation corresponds to which specific axis can be set with setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical axis is the left axis (yAxis).

To disable range zooming entirely, pass 0 as orientations or remove QCP::iRangeZoom from QCustomPlot::setInteractions. To enable range zooming for both directions, pass Qt::Horizontal | Qt::Vertical as orientations.

In addition to setting orientations to a non-zero value, make sure QCustomPlot::setInteractions contains QCP::iRangeZoom to enable the range zooming interaction.

See Also
setRangeZoomFactor, setRangeZoomAxes, setRangeDrag
void QCPAxisRect::setRangeDragAxes ( QCPAxis horizontal,
QCPAxis vertical 
)

Sets the axes whose range will be dragged when setRangeDrag enables mouse range dragging on the QCustomPlot widget.

See Also
setRangeZoomAxes
void QCPAxisRect::setRangeZoomAxes ( QCPAxis horizontal,
QCPAxis vertical 
)

Sets the axes whose range will be zoomed when setRangeZoom enables mouse wheel zooming on the QCustomPlot widget. The two axes can be zoomed with different strengths, when different factors are passed to setRangeZoomFactor(double horizontalFactor, double verticalFactor).

See Also
setRangeDragAxes
void QCPAxisRect::setRangeZoomFactor ( double  horizontalFactor,
double  verticalFactor 
)

Sets how strong one rotation step of the mouse wheel zooms, when range zoom was activated with setRangeZoom. The two parameters horizontalFactor and verticalFactor provide a way to let the horizontal axis zoom at different rates than the vertical axis. Which axis is horizontal and which is vertical, can be set with setRangeZoomAxes.

When the zoom factor is greater than one, scrolling the mouse wheel backwards (towards the user) will zoom in (make the currently visible range smaller). For zoom factors smaller than one, the same scrolling direction will zoom out.

void QCPAxisRect::setRangeZoomFactor ( double  factor)

This is an overloaded function.

Sets both the horizontal and vertical zoom factor.

int QCPAxisRect::axisCount ( QCPAxis::AxisType  type) const

Returns the number of axes on the axis rect side specified with type.

See Also
axis
QCPAxis * QCPAxisRect::axis ( QCPAxis::AxisType  type,
int  index = 0 
) const

Returns the axis with the given index on the axis rect side specified with type.

See Also
axisCount, axes
QList< QCPAxis * > QCPAxisRect::axes ( QCPAxis::AxisTypes  types) const

Returns all axes on the axis rect sides specified with types.

types may be a single QCPAxis::AxisType or an or-combination, to get the axes of multiple sides.

See Also
axis
QList< QCPAxis * > QCPAxisRect::axes ( ) const

This is an overloaded function.

Returns all axes of this axis rect.

QCPAxis * QCPAxisRect::addAxis ( QCPAxis::AxisType  type)

Adds a new axis to the axis rect side specified with type, and returns it.

If an axis rect side already contains one or more axes, the lower and upper endings of the new axis (QCPAxis::setLowerEnding, QCPAxis::setUpperEnding) are initialized to QCPLineEnding::esHalfBar.

See Also
addAxes, setupFullAxesBox
QList< QCPAxis * > QCPAxisRect::addAxes ( QCPAxis::AxisTypes  types)

Adds a new axis with addAxis to each axis rect side specified in types. This may be an or-combination of QCPAxis::AxisType, so axes can be added to multiple sides at once.

Returns a list of the added axes.

See Also
addAxis, setupFullAxesBox
bool QCPAxisRect::removeAxis ( QCPAxis axis)

Removes the specified axis from the axis rect and deletes it.

Returns true on success, i.e. if axis was a valid axis in this axis rect.

See Also
addAxis
QCPLayoutInset * QCPAxisRect::insetLayout ( ) const
inline

Returns the inset layout of this axis rect. It can be used to place other layout elements (or even layouts with multiple other elements) inside/on top of an axis rect.

See Also
QCPLayoutInset
void QCPAxisRect::setupFullAxesBox ( bool  connectRanges = false)

Convenience function to create an axis on each side that doesn't have any axes yet, and assign the top/right axes the following properties of the bottom/left axes (even if they already existed and weren't created by this function):

Tick labels (QCPAxis::setTickLabels) of the right and top axes are set to false.

If connectRanges is true, the rangeChanged signals of the bottom and left axes are connected to the QCPAxis::setRange slots of the top and right axes.

QList< QCPAbstractPlottable * > QCPAxisRect::plottables ( ) const

Returns a list of all the plottables that are associated with this axis rect.

A plottable is considered associated with an axis rect if its key or value axis (or both) is in this axis rect.

See Also
graphs, items
QList< QCPGraph * > QCPAxisRect::graphs ( ) const

Returns a list of all the graphs that are associated with this axis rect.

A graph is considered associated with an axis rect if its key or value axis (or both) is in this axis rect.

See Also
plottables, items
QList< QCPAbstractItem * > QCPAxisRect::items ( ) const

Returns a list of all the items that are associated with this axis rect.

An item is considered associated with an axis rect if any of its positions has key or value axis set to an axis that is in this axis rect, or if any of its positions has QCPItemPosition::setAxisRect set to the axis rect, or if the clip axis rect (QCPAbstractItem::setClipAxisRect) is set to this axis rect.

See Also
plottables, graphs
int QCPAxisRect::left ( ) const
inline

Returns the pixel position of the left border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

int QCPAxisRect::right ( ) const
inline

Returns the pixel position of the right border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

int QCPAxisRect::top ( ) const
inline

Returns the pixel position of the top border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

int QCPAxisRect::bottom ( ) const
inline

Returns the pixel position of the bottom border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

int QCPAxisRect::width ( ) const
inline

Returns the pixel width of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

int QCPAxisRect::height ( ) const
inline

Returns the pixel height of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

QSize QCPAxisRect::size ( ) const
inline

Returns the pixel size of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner rect.

QPoint QCPAxisRect::topLeft ( ) const
inline

Returns the top left corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

QPoint QCPAxisRect::topRight ( ) const
inline

Returns the top right corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

QPoint QCPAxisRect::bottomLeft ( ) const
inline

Returns the bottom left corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

QPoint QCPAxisRect::bottomRight ( ) const
inline

Returns the bottom right corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

QPoint QCPAxisRect::center ( ) const
inline

Returns the center of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner rect.

void QCPAxisRect::update ( )
virtual

This method is called automatically upon replot and doesn't need to be called by users of QCPAxisRect.

Calls the base class implementation to update the margins (see QCPLayoutElement::update), and finally passes the rect to the inset layout (insetLayout) and calls its QCPInsetLayout::update function.

Reimplemented from QCPLayoutElement.

QList< QCPLayoutElement * > QCPAxisRect::elements ( bool  recursive) const
virtual

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayoutElement.

void QCPAxisRect::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Reimplemented from QCPLayoutElement.

void QCPAxisRect::draw ( QCPPainter painter)
protectedvirtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Reimplemented from QCPLayoutElement.

int QCPAxisRect::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtual

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented from QCPLayoutElement.

void QCPAxisRect::mousePressEvent ( QMouseEvent *  event)
protectedvirtual

Event handler for when a mouse button is pressed on the axis rect. If the left mouse button is pressed, the range dragging interaction is initialized (the actual range manipulation happens in the mouseMoveEvent).

The mDragging flag is set to true and some anchor points are set that are needed to determine the distance the mouse was dragged in the mouse move/release events later.

See Also
mouseMoveEvent, mouseReleaseEvent

Reimplemented from QCPLayoutElement.

void QCPAxisRect::mouseMoveEvent ( QMouseEvent *  event)
protectedvirtual

Event handler for when the mouse is moved on the axis rect. If range dragging was activated in a preceding mousePressEvent, the range is moved accordingly.

See Also
mousePressEvent, mouseReleaseEvent

Reimplemented from QCPLayoutElement.

void QCPAxisRect::mouseReleaseEvent ( QMouseEvent *  event)
protectedvirtual

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented from QCPLayoutElement.

void QCPAxisRect::wheelEvent ( QWheelEvent *  event)
protectedvirtual

Event handler for mouse wheel events. If rangeZoom is Qt::Horizontal, Qt::Vertical or both, the ranges of the axes defined as rangeZoomHorzAxis and rangeZoomVertAxis are scaled. The center of the scaling operation is the current cursor position inside the axis rect. The scaling factor is dependant on the mouse wheel delta (which direction the wheel was rotated) to provide a natural zooming feel. The Strength of the zoom can be controlled via setRangeZoomFactor.

Note, that event->delta() is usually +/-120 for single rotation steps. However, if the mouse wheel is turned rapidly, many steps may bunch up to one event, so the event->delta() may then be multiples of 120. This is taken into account here, by calculating wheelSteps and using it as exponent of the range zoom factor. This takes care of the wheel direction automatically, by inverting the factor, when the wheel step is negative (f^-1 = 1/f).

Reimplemented from QCPLayoutElement.

void QCPAxisRect::drawBackground ( QCPPainter painter)
protected

Draws the background of this axis rect. It may consist of a background fill (a QBrush) and a pixmap.

If a brush was given via setBackground(const QBrush &brush), this function first draws an according filling inside the axis rect with the provided painter.

Then, if a pixmap was provided via setBackground, this function buffers the scaled version depending on setBackgroundScaled and setBackgroundScaledMode and then draws it inside the axis rect with the provided painter. The scaled version is buffered in mScaledBackgroundPixmap to prevent expensive rescaling at every redraw. It is only updated, when the axis rect has changed in a way that requires a rescale of the background pixmap (this is dependant on the setBackgroundScaledMode), or when a differend axis backgroud pixmap was set.

See Also
setBackground, setBackgroundScaled, setBackgroundScaledMode
void QCPAxisRect::updateAxesOffset ( QCPAxis::AxisType  type)
protected

This function makes sure multiple axes on the side specified with type don't collide, but are distributed according to their respective space requirement (QCPAxis::calculateMargin).

It does this by setting an appropriate offset (QCPAxis::setOffset) on all axes except the one with index zero.

This function is called by calculateAutoMargin.

QCPLayout * QCPLayoutElement::layout ( ) const
inlineinherited

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inlineinherited

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)
inherited

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)
inherited

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)
inherited

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)
inherited

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)
inherited

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)
inherited

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)
inherited

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

QSize QCPLayoutElement::minimumSizeHint ( ) const
virtualinherited

Returns the minimum size this layout element (the inner rect) may be compressed to.

if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)

Reimplemented in QCPLayoutGrid, QCPPlottableLegendItem, and QCPPlotTitle.

QSize QCPLayoutElement::maximumSizeHint ( ) const
virtualinherited

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented in QCPLayoutGrid, and QCPPlotTitle.

double QCPLayoutElement::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtualinherited

Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.

Reimplemented from QCPLayerable.

Reimplemented in QCPLayoutInset, QCPLegend, QCPAbstractLegendItem, and QCPPlotTitle.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayerable.

Reimplemented in QCPLegend.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

QCP::Interaction QCPLayerable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/functions_0x71.html0000644000175000017500000001334612236016575022630 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- q -

qcustomplot/documentation/html/classQCPLayoutGrid.html0000644000175000017500000037462012236016575023523 0ustar dermanudermanu QCPLayoutGrid Class Reference
QCPLayoutGrid Class Reference

A layout that arranges child elements in a grid. More...

Inheritance diagram for QCPLayoutGrid:
Inheritance graph

Public Functions

 QCPLayoutGrid ()
int rowCount () const
int columnCount () const
QList< double > columnStretchFactors () const
QList< double > rowStretchFactors () const
int columnSpacing () const
int rowSpacing () const
void setColumnStretchFactor (int column, double factor)
void setColumnStretchFactors (const QList< double > &factors)
void setRowStretchFactor (int row, double factor)
void setRowStretchFactors (const QList< double > &factors)
void setColumnSpacing (int pixels)
void setRowSpacing (int pixels)
virtual void updateLayout ()
virtual int elementCount () const
virtual QCPLayoutElementelementAt (int index) const
virtual QCPLayoutElementtakeAt (int index)
virtual bool take (QCPLayoutElement *element)
virtual QList< QCPLayoutElement * > elements (bool recursive) const
virtual void simplify ()
virtual QSize minimumSizeHint () const
virtual QSize maximumSizeHint () const
QCPLayoutElementelement (int row, int column) const
bool addElement (int row, int column, QCPLayoutElement *element)
bool hasElement (int row, int column)
void expandTo (int newRowCount, int newColumnCount)
void insertRow (int newIndex)
void insertColumn (int newIndex)
virtual void update ()
bool removeAt (int index)
bool remove (QCPLayoutElement *element)
void clear ()
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Protected Functions

void getMinimumRowColSizes (QVector< int > *minColWidths, QVector< int > *minRowHeights) const
void getMaximumRowColSizes (QVector< int > *maxColWidths, QVector< int > *maxRowHeights) const
void sizeConstraintsChanged () const
void adoptElement (QCPLayoutElement *el)
void releaseElement (QCPLayoutElement *el)
QVector< int > getSectionSizes (QVector< int > maxSizes, QVector< int > minSizes, QVector< double > stretchFactors, int totalSize) const
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A layout that arranges child elements in a grid.

Elements are laid out in a grid with configurable stretch factors (setColumnStretchFactor, setRowStretchFactor) and spacing (setColumnSpacing, setRowSpacing).

Elements can be added to cells via addElement. The grid is expanded if the specified row or column doesn't exist yet. Whether a cell contains a valid layout element can be checked with hasElement, that element can be retrieved with element. If rows and columns that only have empty cells shall be removed, call simplify. Removal of elements is either done by just adding the element to a different layout or by using the QCPLayout interface take or remove.

Row and column insertion can be performed with insertRow and insertColumn.

Constructor & Destructor Documentation

QCPLayoutGrid::QCPLayoutGrid ( )
explicit

Creates an instance of QCPLayoutGrid and sets default values.

Member Function Documentation

int QCPLayoutGrid::rowCount ( ) const

Returns the number of rows in the layout.

See Also
columnCount
int QCPLayoutGrid::columnCount ( ) const

Returns the number of columns in the layout.

See Also
rowCount
void QCPLayoutGrid::setColumnStretchFactor ( int  column,
double  factor 
)

Sets the stretch factor of column.

Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.

The default stretch factor of newly created rows/columns is 1.

See Also
setColumnStretchFactors, setRowStretchFactor
void QCPLayoutGrid::setColumnStretchFactors ( const QList< double > &  factors)

Sets the stretch factors of all columns. factors must have the size columnCount.

Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.

The default stretch factor of newly created rows/columns is 1.

See Also
setColumnStretchFactor, setRowStretchFactors
void QCPLayoutGrid::setRowStretchFactor ( int  row,
double  factor 
)

Sets the stretch factor of row.

Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.

The default stretch factor of newly created rows/columns is 1.

See Also
setColumnStretchFactors, setRowStretchFactor
void QCPLayoutGrid::setRowStretchFactors ( const QList< double > &  factors)

Sets the stretch factors of all rows. factors must have the size rowCount.

Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.

The default stretch factor of newly created rows/columns is 1.

See Also
setRowStretchFactor, setColumnStretchFactors
void QCPLayoutGrid::setColumnSpacing ( int  pixels)

Sets the gap that is left blank between columns to pixels.

See Also
setRowSpacing
void QCPLayoutGrid::setRowSpacing ( int  pixels)

Sets the gap that is left blank between rows to pixels.

See Also
setColumnSpacing
void QCPLayoutGrid::updateLayout ( )
virtual

Subclasses reimplement this method to update the position and sizes of the child elements/cells via calling their QCPLayoutElement::setOuterRect. The default implementation does nothing.

The geometry used as a reference is the inner rect of this layout. Child elements should stay within that rect.

getSectionSizes may help with the reimplementation of this function.

See Also
update

Reimplemented from QCPLayout.

int QCPLayoutGrid::elementCount ( ) const
virtual

Returns the number of elements/cells in the layout.

See Also
elements, elementAt

Implements QCPLayout.

QCPLayoutElement * QCPLayoutGrid::elementAt ( int  index) const
virtual

Returns the element in the cell with the given index. If index is invalid, returns 0.

Note that even if index is valid, the respective cell may be empty in some layouts (e.g. QCPLayoutGrid), so this function may return 0 in those cases. You may use this function to check whether a cell is empty or not.

See Also
elements, elementCount, takeAt

Implements QCPLayout.

QCPLayoutElement * QCPLayoutGrid::takeAt ( int  index)
virtual

Removes the element with the given index from the layout and returns it.

If the index is invalid or the cell with that index is empty, returns 0.

Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.

See Also
elementAt, take

Implements QCPLayout.

bool QCPLayoutGrid::take ( QCPLayoutElement element)
virtual

Removes the specified element from the layout and returns true on success.

If the element isn't in this layout, returns false.

Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.

See Also
takeAt

Implements QCPLayout.

QList< QCPLayoutElement * > QCPLayoutGrid::elements ( bool  recursive) const
virtual

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayout.

void QCPLayoutGrid::simplify ( )
virtual

Simplifies the layout by collapsing rows and columns which only contain empty cells.

Reimplemented from QCPLayout.

QSize QCPLayoutGrid::minimumSizeHint ( ) const
virtual

Returns the minimum size this layout element (the inner rect) may be compressed to.

if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)

Reimplemented from QCPLayoutElement.

QSize QCPLayoutGrid::maximumSizeHint ( ) const
virtual

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented from QCPLayoutElement.

QCPLayoutElement * QCPLayoutGrid::element ( int  row,
int  column 
) const

Returns the element in the cell in row and column.

Returns 0 if either the row/column is invalid or if the cell is empty. In those cases, a qDebug message is printed. To check whether a cell exists and isn't empty, use hasElement.

See Also
addElement, hasElement
bool QCPLayoutGrid::addElement ( int  row,
int  column,
QCPLayoutElement element 
)

Adds the element to cell with row and column. If element is already in a layout, it is first removed from there. If row or column don't exist yet, the layout is expanded accordingly.

Returns true if the element was added successfully, i.e. if the cell at row and column didn't already have an element.

See Also
element, hasElement, take, remove
bool QCPLayoutGrid::hasElement ( int  row,
int  column 
)

Returns whether the cell at row and column exists and contains a valid element, i.e. isn't empty.

See Also
element
void QCPLayoutGrid::expandTo ( int  newRowCount,
int  newColumnCount 
)

Expands the layout to have newRowCount rows and newColumnCount columns. So the last valid row index will be newRowCount-1, the last valid column index will be newColumnCount-1.

If the current column/row count is already larger or equal to newColumnCount/newRowCount, this function does nothing in that dimension.

Newly created cells are empty, new rows and columns have the stretch factor 1.

Note that upon a call to addElement, the layout is expanded automatically to contain the specified row and column, using this function.

See Also
simplify
void QCPLayoutGrid::insertRow ( int  newIndex)

Inserts a new row with empty cells at the row index newIndex. Valid values for newIndex range from 0 (inserts a row at the top) to rowCount (appends a row at the bottom).

See Also
insertColumn
void QCPLayoutGrid::insertColumn ( int  newIndex)

Inserts a new column with empty cells at the column index newIndex. Valid values for newIndex range from 0 (inserts a row at the left) to rowCount (appends a row at the right).

See Also
insertRow
void QCPLayoutGrid::getMinimumRowColSizes ( QVector< int > *  minColWidths,
QVector< int > *  minRowHeights 
) const
protected

Places the minimum column widths and row heights into minColWidths and minRowHeights respectively.

The minimum height of a row is the largest minimum height of any element in that row. The minimum width of a column is the largest minimum width of any element in that column.

This is a helper function for updateLayout.

See Also
getMaximumRowColSizes
void QCPLayoutGrid::getMaximumRowColSizes ( QVector< int > *  maxColWidths,
QVector< int > *  maxRowHeights 
) const
protected

Places the maximum column widths and row heights into maxColWidths and maxRowHeights respectively.

The maximum height of a row is the smallest maximum height of any element in that row. The maximum width of a column is the smallest maximum width of any element in that column.

This is a helper function for updateLayout.

See Also
getMinimumRowColSizes
void QCPLayout::update ( )
virtualinherited

First calls the QCPLayoutElement::update base class implementation to update the margins on this layout.

Then calls updateLayout which subclasses reimplement to reposition and resize their cells.

Finally, update is called on all child elements.

Reimplemented from QCPLayoutElement.

bool QCPLayout::removeAt ( int  index)
inherited

Removes and deletes the element at the provided index. Returns true on success. If index is invalid or points to an empty cell, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the returned element.

See Also
remove, takeAt
bool QCPLayout::remove ( QCPLayoutElement element)
inherited

Removes and deletes the provided element. Returns true on success. If element is not in the layout, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the element.

See Also
removeAt, take
void QCPLayout::clear ( )
inherited

Removes and deletes all layout elements in this layout.

See Also
remove, removeAt
void QCPLayout::sizeConstraintsChanged ( ) const
protectedinherited

Subclasses call this method to report changed (minimum/maximum) size constraints.

If the parent of this layout is again a QCPLayout, forwards the call to the parent's sizeConstraintsChanged. If the parent is a QWidget (i.e. is the QCustomPlot::plotLayout of QCustomPlot), calls QWidget::updateGeometry, so if the QCustomPlot widget is inside a Qt QLayout, it may update itself and resize cells accordingly.

void QCPLayout::adoptElement ( QCPLayoutElement el)
protectedinherited

Associates el with this layout. This is done by setting the QCPLayoutElement::layout, the QCPLayerable::parentLayerable and the QObject parent to this layout.

Further, if el didn't previously have a parent plot, calls QCPLayerable::initializeParentPlot on el to set the paret plot.

This method is used by subclass specific methods that add elements to the layout. Note that this method only changes properties in el. The removal from the old layout and the insertion into the new layout must be done additionally.

void QCPLayout::releaseElement ( QCPLayoutElement el)
protectedinherited

Disassociates el from this layout. This is done by setting the QCPLayoutElement::layout and the QCPLayerable::parentLayerable to zero. The QObject parent is set to the parent QCustomPlot.

This method is used by subclass specific methods that remove elements from the layout (e.g. take or takeAt). Note that this method only changes properties in el. The removal from the old layout must be done additionally.

QVector< int > QCPLayout::getSectionSizes ( QVector< int >  maxSizes,
QVector< int >  minSizes,
QVector< double >  stretchFactors,
int  totalSize 
) const
protectedinherited

This is a helper function for the implementation of updateLayout in subclasses.

It calculates the sizes of one-dimensional sections with provided constraints on maximum section sizes, minimum section sizes, relative stretch factors and the final total size of all sections.

The QVector entries refer to the sections. Thus all QVectors must have the same size.

maxSizes gives the maximum allowed size of each section. If there shall be no maximum size imposed, set all vector values to Qt's QWIDGETSIZE_MAX.

minSizes gives the minimum allowed size of each section. If there shall be no minimum size imposed, set all vector values to zero. If the minSizes entries add up to a value greater than totalSize, sections will be scaled smaller than the proposed minimum sizes. (In other words, not exceeding the allowed total size is taken to be more important than not going below minimum section sizes.)

stretchFactors give the relative proportions of the sections to each other. If all sections shall be scaled equally, set all values equal. If the first section shall be double the size of each individual other section, set the first number of stretchFactors to double the value of the other individual values (e.g. {2, 1, 1, 1}).

totalSize is the value that the final section sizes will add up to. Due to rounding, the actual sum may differ slightly. If you want the section sizes to sum up to exactly that value, you could distribute the remaining difference on the sections.

The return value is a QVector containing the section sizes.

QCPLayout * QCPLayoutElement::layout ( ) const
inlineinherited

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inlineinherited

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)
inherited

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)
inherited

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)
inherited

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)
inherited

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)
inherited

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)
inherited

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)
inherited

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

double QCPLayoutElement::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtualinherited

Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.

Reimplemented from QCPLayerable.

Reimplemented in QCPLayoutInset, QCPLegend, QCPAbstractLegendItem, and QCPPlotTitle.

int QCPLayoutElement::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtualinherited

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mousePressEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseMoveEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseReleaseEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::wheelEvent ( QWheelEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented in QCPAxisRect.

virtual void QCPLayoutElement::applyDefaultAntialiasingHint ( QCPPainter painter) const
inlineprotectedvirtualinherited

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Implements QCPLayerable.

Reimplemented in QCPLegend, QCPAxisRect, QCPAbstractLegendItem, and QCPPlotTitle.

virtual void QCPLayoutElement::draw ( QCPPainter painter)
inlineprotectedvirtualinherited

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPLayerable.

Reimplemented in QCPLegend, QCPAxisRect, QCPPlottableLegendItem, QCPAbstractLegendItem, and QCPPlotTitle.

void QCPLayoutElement::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayerable.

Reimplemented in QCPLegend.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

QCP::Interaction QCPLayerable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/layoutsystem-multipleaxisrects.png0000644000175000017500000002412612236016574026217 0ustar dermanudermanu‰PNG  IHDR,bÕr•sBITÛáOà pHYsÄÄ•+ IDATxœíÝ{\Teþðç€ w¹ézɼ„à¥Zñš©­©ëeuýeºÚÏ ê¦QùÓ׺™ÕÖÆnjš‘•›ÚVkf!µØŠ8lšJj^ñÂM¼pffæüþ#™93œ9œÛƒŸ÷_æœï|gΗ‡ç9—ç0,Ëx)_h°€h°€h°€h°€h°€h°€h°€h°€h°€h°€h°€h°€6X ÃH@¨je¹l°šK¶&ifÈÛW,Î/²§3%Fû0 ã=taú©¹ç¨)**¢.2‚ËÙ™RU-ì3b+g.,kÙ')ê‡wâ|Õ|vóï—äħ14μ•»lÖæ3fÁ)ÈUݰ¬UŸ?ÞgÌæœ¿ÅûN»Üìôº>wFhÔ¢‚–eY¶áÐâèé¹z§µ\Pªº#àèa±5yϯ¾0Ë‚{|\4rþ ³FÙrÓ³Îé›ôg÷m˱Œšïϵ"ÓZQQ‘½7x×.´PI>j^ªZÍ žìH¶úÂgï‹[y¸ž5_ØèâË6•ìœ{;B̬%MëpN§£.2‚ËùJWµ°Ïˆ­œ9~ûÇ× ºçsnÙX×»ÖV÷Ÿ?ö öR~¹Ñb,ÏyxH¯åÑyÕBUwß¾åê;âí§ÕjµZ !„MÔôìºV+™Ž¯é¥¶£Òʲ,ËÚ®íîÛ{m±É)4zX®häŸ)_Õê│+;‡cXÞ]ççTV”–\¼xñâ™ëúùĽzðhú˜ Bˆ!v¨ï¸¬:B|b†ôó9ñ^ÆáëÍlóõÂŒwŽûô­ñl( Tuâº-kÝy¶VîL ²áœ™eYÖ\–µfBŸ`B!Á}&¬ù²Üì¼=·ªšn¼¿÷ºÜÙçí¯¶yCBW4rÛäªjõ¸Ô¿•÷5t‚Çtb¼8:•@UÓ†a%{ò3ÃH@¨jeI;[ƒýÊ:)"{|½™ "#¸Ì‘%" ª…}FlåŒ÷Pü/‚ŽU­ <€ªV­øQ:BAp9#«‡ú\êßÊŽÖ îBíêß6—l}¤ÿSÒ.ÿT§£a-&Ñ…Š ªÕ¬=,÷Ó¡B~¾ÄNø[¸FéÁåŒ,„4U­þ—ú·²Ü`Ù®g­z¥!eÃŒoÁo .¨jµ8$dk¾IN\ÓsoÞÿ䎈ߵô¬‹Î3ºÍ@Tµú º‹5è^yºpJƦx¿ª\w+:\_§Óé!‰‰‰ö>á]¸ÐB%ù¨yÁ]aIUMžpÿ!ŸéÐXÜüŒàJGöˆ¤U­þ[‹Õ¿•€þ­µôÝÄîËŽûi5 !V£ÑLˆ&jzæ¹½‚[­‡Î3ÐUMÝÝL‡&JOZ!¸œ‘=!mU«ÿœú·²r ËK­µ/67†øxiB£¢Â|¹îµöñ ÔUMÜKàTµ²h½5‡Ò ‚ËY=Ô?àRÿVv´6XpÂÀ¨jeaÆQù"#¸Ì‘%‚GÙÊ3ŽxU­ <€ªV­Ý)¡ ¸œ‘ÕCý.õoeGë1,¥ ª•äxsasé¿%vö"„ÿî-yÿGƒãsqmõ?¼9TŸÎ^„MìðEéΫ°¬Ä7?xUÝQ8õ°¼Bî_´%ûÇkµúšÒüµÑŸ%Ï˸lqhãL7ª£f¬Ïþ©âÆ•k»e-š¸öˆQê†Õ¥#—3ò/”®jõ¸Ô¿•ÓYB¯ {‡BÛl ò÷ ýUl€C«æñèKÔ¾³`]òƲ߲þº&i•BUw\Ý.CÁÂB!^RroXÝõК¯låßõ©Ã Î/¹ TuGàú­Õp9ïy3ÞŒÈ8õéÌhîÿ3ÆS›¹¾Û?ì˜å´†óIÌÍØB%ù¨y³âÚ U­Êö Û欱hEWÿñ_Ts¾h<·}jtäÄ­?5roÜVðv¡tL—3² TµúçóTÿVvk<¼´÷ø«éåÿžâðJӅ̵J¿:?3%!€û/.±UBUSÌñ,¡íÖÁwßÛ÷ý…kuu•ÅŸ­[¾£qÌ“Bˆ!v¨ï¸¬:BˆùÒι£RÊ“3?NîãÝd2™ÌV¹w!¥'­\ÎÈ-¯jõŸƒSÿVvN—50–+{VM¸/&4461¥ þõÜö¡¾ÍPVN<Öߟ櫟½¾§²þ¿/? ÕjµZmÂkgÌ\Ñq‰¨ªº£àÝ¿ÕýDÒ‡ó|ð›Î|w:Ï v¨jÚð¾5'xüG'vð߯R£t„‚àrFn›\U­þ—ú·²£õæg¸ I;½Œ}]hè0PÕÊ’¶‡e¿tBŠÈ”ŽP\ÎÈPÕêp©+; €˜qÀ¨jeÑÚât„‚àrFVõ¸Ô¿•fð ªZI÷òœwÑÎ|ñí‡|œv¹™ãUçàŠ@UwŽ=,æ]´–}’²¡np¸´O sÒ ‚˹…âU­þ—ú·²sl°¼"}éïOOMìÑ}ø‚uɽ« Žß²rlh»žµê•†” 3b0%#¨ªºÃpw ËR¥û®²KbB˜óÎckòž_}aþ–÷ø¸‹Î´VTTdo\Û¿`/b@"Ù'-“"rKÚÔ}-®"KD‘ª&‚vÍݳ•\On;çók§—lõ…ÏÞ·òp=k¾°1ÞW‰Ñ>¥óÉ!¸œ‘9(TÕêŸOý[Ù¹ª›Î§Ï—úÝvŽYbÅë—eÛô}b ±TyÖ<(UÝp4b¦óÓcÂÇn*æ>•b¹ú΄xûiµZ­VC!D5=»Îq=îàŠ@UwNß~SÉŽ™1AC_,¸Þ`4Fc“žƒëóÑŒÝWË²ÖÆ›•vW ×õó‰{µ¨ì–É© $ݵ”ŽP\ÎÈ¿PºªÕ?àRÿVvŽÝ]λxÇÜŒ^Úðè˜Û"C|¼4¡QQa¾\WÒá;PTu‡Gá.†ª¦ f•/2‚˹m˜q”ž­ìh½ùîB˜qÀ¨jeaÆQù"#¸Ì‘%" ªÕ?àRÿVv50ã(€PÕÊ¢u?JG(.gd‰¨jõ¸Ô¿•sƒÕx,uæð¾á^ £š£wµ[_œž<²›Ã0¾QCŸ+4p¯%Ù1,O ª;çþ­é̇ïôïÃìšûœíã²Ìßsle)Û5m`Šé¹¦%o,)¾‘4º»Æ14:Ï ¨êŽÂÅ-;†‚…‘ASö;Ýûɲ,Ë­îøðŽrç):îä:¸(½µ ÁåŒìD±ªVÿzêßÊNÈ1,ë Ý7]zžHÊ0"?±åHMäv@^¨j*j°ôUõM—>Ìﳩ¸^~ÇØâU“ž9PÇÕMÆŒ£ ˜q”d™IZÕ„ÂY@åÜÊ.z^î:ÏÍ7$¾÷Õ°,˲¶»ÇhcŸÒ5:®æ:¸(¡ ¸œ‘(VÕêp©+;!=¬N‘ƒ†uj9±‹™6 @UÓÁ¹ ³5›ŒÆ›ßÎï8)³Êh45;NuƲõ…+z>øB^…±±4gu‚oô‚¼:y'ððªºcpþöÇÿÔóÎ-baeYkåΤ!ΙY–eY›áä¶ùCÂBHØ 9iGwì§~¥È›Ò ‚Ëù Wµú\êßÊÎù!~ƒR/±©N¿6ü˜]75uÁ½ö 1ðÃâÚî¾µ±€PÕî%ðªZY´ÎÖ Ý™oIÏ©#¸œ‘ÕCØgÄVÎhm°à.„G<€ªVf•/2‚ËY"ªZý.õoe‡!!Pg <€ªVf•/2‚ËY"˜qT‘­ì8,[mцýƒ† î?cƒ®–cŽ ¶ñtÆ¢Äh†a|¢‡.L?ÕÀý?GºcXAUwŽ—¾Ûª÷Ï LZ¤¦©öèÆÑA]ædW;Þ¡ÐôÓ_ã:u[ðéC³áÂîÝ:ŽzºÉé"zŽàŠ@UwNß~uÖäàèä˲,ÛP¸4&xÒ¾j‡uô¹3B£4Ø×9´8:dz®Þ94¦—ApE#ÿBéªVÿzêßÊÎqHh®8zÖÜ+é^B!ÚÞõ2Ÿ=RÞÔz%ÿ„Y£l¹éYçôMú³û¶åXFÍŠ÷çê¾a?9Zò§ëkqYDŠW5´kîž­<àЀ5~ŸÒÍï‘ÌÚÛ?Öî§íúô¦1k*Ù9+öv„˜Y;Kœ»Îè<ƒj ª; Ç–·¶³–õ&û1E¶IßÈjCµ­×bõŸ}dùÕäür£ÅXž¿´tÅØ•õžµ“í%ú?a"#¸Ì‘[(^ÕÂ>#¶ræØ`ibïï§¹\pÑH!ÄxñÐeM¿»ú¶ZÇ|);»"nÙ’Q±~Þ~±£—ü1®";ç²C@5PÕ‡c—ËV½ndÐÃo­5×ÛüHpäœì[6–½snFkÕî Ú-¨2ÛÌU¯ÐNÜss3‚j¡ª; ŽoßZsøõi}!}§½^XcµÿöιÍeYk&ô±?Œ2¸Ï„5_–›9B»jÅ@éI+—3ò”­jõŸƒSÿVvÎ3ޝÐa«>?»Êá·­æfôé:ùµìɯñé¾yÒÛ ªºcÀ½„@U+‹ÖÙ(=i…àrFVõŸƒSÿVv´Þü  Tµ‚0$ðªZYÊÁeެêp©+;Z,¸ Ñ:$”.8¥iÓœ®A–°l±Uû·²ØÃâ1ÚíÌpxhªV?A [óõŠ)/ßX”_ÓT{ ùÖ_¦,Ï­ál0í§¶/CY ª© äòx>Ó¡¹¾ëŠó÷­|—Q†’‘› ª¾óG¼$ì%éañš €*¨j*i°¬Æ#ÑûÙ‡ñŒo°?c¬5r øÝÏÍØò†at:Ãoܬ\TT¤ÓéÚ¹²«7õheI?Žú3”ôãÈ|œHXUßù 8|:¼Äó%v4ÇÍÏmúe:´ÆÕthÄõ=¢-¿ÇÚ\ ªZñ>„ô°øL‡@T5% }hùëGÏ¿÷C]³þøöµÿ´üvùÈP±3ªš‚,¦óø·2_}wT¨&$ikðÚ/Ò Ãu)@7T5 hºÈîrâßKÈóra‘Bñ}¼¸“Æc©3‡÷ ÷bíÔ½«µØúâôä‘Ýü†ñú\¡OhÖplË“£û†y3 ãÛuÄâ÷OºIª¹dk’†a†¼}ÅÂ#´¥l÷âa=B¼†az$-ÍpíÑ»óäY’ÂC Þ›’ãYÕ‚*¶AH)~{HH™D®>…!òw{•–çø<\ÄPü/ÎÅøÓ®ÍÛ>ûjû´ÎASö×q¯Ó\ºsRçÎc_ù÷OU5×/ýæÀ^±­7r^\ý溳7®ný}ùÕ3ÎÏÀ³³”îœÜ+á×á§]næZ^WtêÊõZ}MiѶ™ÞC¶”8lçÁ»óäi’‚C ß›ãYÕ+öX±ç¥˜wì+!5Ö$jýð) ±÷¸Ø ¿Ë…E Åïñâ® Fº¬ã±Õ½ÞQn| Ó/ôÖ<¸­”+ˆµêóÇûŒÙœó·x_OÛ›¹úôÇóº†OÙSeøî<µ#IOCµwoJ†gU·«bÛQŠjL„úáSâïq‘‡„"^.,îãŰÞÐ}Sѥ牔A¡ Ó)bð[ŽÔy<¾µT龫쒘æíô[“÷üê ó·,¸ÇÇ£ ‡ua¼4aqsŽÎüøýé‘nv¡›wçIh’‚BI¹7ÛƒgUKW±îKÑç~ø†${Ümsæ1žÏ1ŸÇ‹»æîßZÓÉ—úÒiÈšÜ+õú’/Ÿ ‰|òÛZÆ·'7‰óù5çÿP¶úÂgï‹[y¸ž5_ØèyçÅR)÷夠°éŸVºì=¹ywžÚ™¤ç¡Ú·7¥Â³ÛW±BKQXµ³~øìMiö¸È=,>Ï1”¤÷Ò†j‰ï£/¯ß=0¨×Ä5/ެÏÝ{ÆÄ{{ÓùôÙãRR¿Ý>-Êé?”±xý²Ìa›þœ(,9ïÀžãWmxR›³­ˆû0­Ûw穽IzJÒ½Ù<«ZºŠuYŠ‚k¬}õÃgoJµÇÛhвüjr~¹Ñb,Ï_ZºbìÊ‚z›JÒÒ+„–TiÉ“ UiH”ªCƒe½yø«%;§v ð÷‰[y²éøò¾Ý~·_ßj%ó¥ì슸eKFÅúyûÅŽ^òǸŠìœËMR¤'œ|-y¤* yÎzwŸSYQZrñâÅ‹g¬ëç÷êÁ£éc‚!†üÙ¡¾ã²êñ‰ÒÏçÄ{‡¯7³Í× 3Þ9îÓop´FŠôîàz´Øú–µrgRÈ çÌ,˲沬5úB î3aÍ—åfçíy¼€x·&u¹³ÎÛ_mó 4=MŽeŠŽ–HU©O ¸ÿ°ñøºA÷üoÎ-›ãŒ­ ®ÜS*:Zòd‘ª4$JUÀ¨ÍZúnb÷eÇý´†«Ñh&D5=óÜÞ Á­ÖÃÄ%à »›Iþh…“/¢£%O‚T¥!QªBŽayiãµöÅæÆ/MhTT˜/×=ÎöcXèg€(p/!P·æ‚ž¶hÉ“ Ui¨íÂQ¹aHÔÀŒ£„ §-Zò$HU*:KÈzX " €8èNzÚ %O‚T¥AåYBZŽaœ,KÙîÅÃz„x3 ÃôHZšq²ÁqXÇŽmyrtß0o†a|»ŽXü¾ó*?¯É²TŒ …Ü5®ZR¥%O‚T¥!QªN –WÈý‹¶dÿx­V_Sš¿6ú³äy—-­WaM7ª£f¬Ïþ©âÆ•k»e-š¸öˆQŠädƒž¶èhÉ“ UiÈu–Ð+èÞÄ¡„Â6Û‚‚ü}CàЪyE<úÒßµ/Ç,X—¼ñìã·¬¿î†©G@Rœ'ò-êùÐû7 ñ²ÿÀã#\é²\M{ßK ßžKæïg @T®Û«árÞóf¼‘qêÓ™Ñܽ'ã©Í\ßíƒvL‹rZÃùp;f½{Z¨$¤ªÎT‰§ÜNï×X´¢«ÿø/ª9_4žÛ>5:râÖŸ¹7n+¸Š`"GÑÑ’'‹T¥¡ÈŒ£‡—ö5½üß“B^iºðÙ£VéWçg¦$p_¸€!!ˆËñè”íÖÁwßÛ÷ý…kuu•ÅŸ­[¾£qÌ“Bˆ!v¨ï¸¬:BˆùÒι£RÊ“3?NîãÝd2™ÌVº&œ|-y¤* ¹.e,Wö¬šp_LhhlbJAüë¹;í°l†²r2à±þþ„4_ýìõ=•õÿ}ù¡È­V«Õj^;c抎 G@D¼Gmú¯ŸHúpþ~Ó™o„!!ˆ‹÷­9Áã?:±ƒkEô´EGKž©JC®!!€ZI;½Œ}C…´=,û¥’¾…(ÐÓ-y¤* àn‡G€èa‚ž¶hÉ“ UiP9$Ä…£ "Ç‹ÿl¢„æ’­I†òö ÷ ´tÇDŽ¢£%O‚T¥!ÓŒ£Ì&j-û$eCÝàpiŸ& ô´EGKž©JC¦!¡WÄ£/ýý驉}c"º_°.¹wUÁñ[VŽ m׳V½Ò²aF &y¸ëYªtßUvILsn’Øš¼çW_˜¿wÛ=¹én"8ÀRí~„¢¢"ÅÓè`©b |êÙ3.gÊj<¹itHìœÏ¯Yœ^²Õ>{_ÜÊÃõ¬ùÂÆxßÁi—›9¸ ®2˜Mt´äÉ"UiH”ª‹–é|úìq©©ßmç˜ûØX¼~Yæ°Mß'K•Ç-$€@\×v¶1›¨µôÝÄîËŽûi5 !V£ÑLˆ&jzæ¹½‚[‡Æ…£ *§ë°\Î&Ú2ã¨w×ù9•¥%/^¼xæÀº~>q¯<š>&HöÜŃ“/¢£%O‚T¥!ÓYB—³‰Þ1㨗6<:æ¶È/MhTT˜/×õ¡¸pD„G€˜q”ô´%@Kž©JC¦!!€jaÆQ f%=m Ð’'AªÒÀîv˜q¨ üAO[´äIª4d6K9¼o¸Ãh§æè]mÇÖ§'ìæÇ0ŒoÔÐç ÜkQr ¨àÌüßÅõì߽ôÛßMz&þ\Æ#!N‡×1ãèÝœ*°À§ž=ãbb?CÁÂÈ )ûë¸^k¾¸y ñ¸¯†eY–µÝØ=Fû”®Ñq5×ÁU9ŠŽ–¯'R—=ª ¹iêœNYiµë4•þP>aÁÄÞzOZøXDùѲ&yÚWi §-:Zò$HU2 ÍGÏš{%ÝëO!DÛû¡^æ³GÊZ#ÿ„Y£l¹éYçôMú³¶É¡…íIDATû¶åXFÍŠ÷çŠÎ´VTTdÿj[ ?¿*ɧc¤Š,´¹à)ÇyÆ#ÏôMúñíkßN !„º¬ñ1Ëâ¾;ÿ毵­63_Úõ‡‡æí® „˜Y;íúC/§YÝq–ÄåØÃòÖvÖ£ÞdohØ&}#« Õ¶^‹Õ|ö‘åW“óËcyþÒÒcWÔË”°$„5öŠ %UZò$HU¥êØ`ibïï§¹\pÑH!ÄxñÐeM¿»ú¶ZÇ|);»"nÙ’Q±~Þ~±£—ü1®";ç2Õ±€ ŽGámÕûçF=üÆÑZsݱÍGÎɾecY–­Ï{]'¿–=ùµ6£³8èâÁ½„@ ÌÖ@zÚ %O‚T¥!ÓYBqÑr ¨€!!PCBBÐÓ–-y¤* *‡„"¤*Zò$HU¥*°‡Åc’?BpÐD%¨Ábk¾^1åå‹òkšj$ßúË”å¹5œm©ýjúöep› ‹Ï$žàß ó¨¿&EçNŠT%ê„"U¡éˆ“–Tÿ›òˆ‹×$bÒ`Y5F¢ ö³·µŒo°?c¬5rÆâœqÔyü<¡›uì :®Íu¬¬Óéø”(UþïNQªüߢTQ~¢§jÇ¿ñá¸ù¹M¿Lò¸šä¸¾ó¹å÷XÀ°à!=,>“üˆNÐA÷Ї–O±~ôü{?Ô5ëo_ûOËo— ;3‚,W“üH‰š gÄ¿—çEðòã‘Ûx:cQb´Ã0>ÑC¦ŸjP¤5o<–:sxßp/†ÑNÍÑ»Z‹­/NOÙÍaߨ¡ÏäLñv †c[žÝ7Ì›aß®#¿ÒÍÖ\²5IÃ0CÞ¾b‘1Å–²Ý‹‡õñf† è‘´4Ã9W>Žüþ]s›˜ÈSb7X¼/‚—ŸÄÌg7ÿ~IN|ÚC³áÌ[ ¹Ëfm>cV W/í¯’üm×¶i}\®c)ûpöëKÛ~¼ªæúÙìÔ©Ýœ )=Öt£:jÆúìŸ*n\9°¶[Ö¢‰k¹Wµ–}’²¡np¸ÓÒ¢ð ¹Ñ–ì¯ÕêkJó×F–‰‰ÿ7ÕŽá$—ê}“ƒc–º=d-\«šcXm'f:¾¦—fØŽJû‘ Ûµ]Ã}{¯-6ÉéÏÜêϟ0)«†eY–µÝütŒ6ö)]£œéýÌt>czLøØMŧg³,ËZ®¾ó!Þ~Z­V«µŸÐDMÏæþT²i(\ðØ—µÎ¯´ñqä§Î/ob¢ÿM‰Ý`¹|Ò½Ò\&VŸ÷xˆfì¾Z–µVíž ñׂ*³Í\UðÚmàÄ=וÈÞÖl2o~;¿Kà¤Ì*£ÑÔlOâ—TY¶¾pEÀ_È«06–æ¬Nð^W'ªM%;fÆ }±àzƒÑh4MÇT­7++ì®®ëç÷jQÙ-“ì©Zoþçw3ÿ{¾²¶¶âÄž•÷ûOþW¥¥uª®?Ž’Tòz’˜„Sb7X,k­9üú´¾„À¾Ó^/¬qw&FV܉Y+w&… ÙpÎ̲,k.ËZ3¡O0!„à>Ö|YnV"Sãñ?õ¼³±°Àà˜*k3œÜ6H8C 4'í¨Ík>¿~@ë{ß¿œnrJµeõ ;Ée½•÷§q}Ã:Bˆ_×Äy[tÕNàò㨅’_ [­“òoJü‹2u¹³ÎÛ_­‚XmBªR (UZHù•âÖ † Nàðƒ ¨ ¨ ¨ ¨ ¨ñÿQx:%Ç[0IEND®B`‚qcustomplot/documentation/html/ssPeace.png0000644000175000017500000000043212236016575021234 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+¼IDAT8ÕÒ=jBQÄñŸIç×l²+«X¦·+wb#èN´P,t%BHjI´|ï·ñ©]2ÍpüçÎË_WcÔž[ØáYøÍGáo b·øBã^À6Óa]×¢nª4à'TÓEª>“ù#¼~Áí[ ªÑ „w¢Á=¼âˆrÑLêF@/æE0¼áŒ‰üÄ,^žÇ¾u/€üÆ~#àˆå£pªŠü'Vžÿ‘®Žo''¶ =›IEND®B`‚qcustomplot/documentation/html/ssDiamond.png0000644000175000017500000000033312236016575021572 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+}IDAT8ÕÏ!ƒ@@ÑwŒ D¯€ã*M*IuM EqÆ DÏѪ ³ º(¾ÛÝü¿3v<⃾DðB ]‰|ZÎÕ?‘1‘ƒˆ 9ùfÞ¹^yoðÅ%é—ŸªäþŒ799è’HÈ÷-riJäàiÞyÓØk\÷ÈàÆï£)î½IEND®B`‚qcustomplot/documentation/html/ssTriangle.png0000644000175000017500000000037412236016575021771 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+žIDAT8åÑ­Æñ›56ÁdA5I%s²æ.LTlîÀÜ€&‚B1M6SÞ`öz?&™§œgçùŸ³~AíoÂMÜÑø4‰lpF ½´ÛØ"‡úiÂÑ ú.È'L°xóV' Wp ê«j¸ X„iŠÙ«ñþ…!æØãÈ¢Ž–a€":8E\XÅ·ˆ™¿Ò)Cð]zéÀIEND®B`‚qcustomplot/documentation/html/classQCPAbstractLegendItem__inherit__graph.png0000644000175000017500000001446212236016575030155 0ustar dermanudermanu‰PNG  IHDR«ë€dbKGDÿÿÿ ½§“çIDATxœí}PSÙÙÀÏMH‚ˆ£Õ•-¾QH¤”ÕÝ%[´Šìö­È,°k·µ|¹m¥Œº]gvÅÅ tÚq´aʇ¨€D Œ.ò¡Èúµ" +¸…%‘›Ü÷Û½{{Âw.xÎovvÎ}Î9Ï}nø%÷Ü$æbAÄpØ.Á2ÈØAÀ2vÐCضræaŸ?ƒÝ)))iÕªUvÛÝŒæØ±cvÛ—ý XµjUdd¤Ýv7£Q«ÕvÛZÀ2v°ƒ €dÀ$€aØ(ƒÓée@NNŽD"áóù‰$;;›Þ•››+•J———R©$ƒ†a&‚‚‚© ËžÙØçm€J¥²=¦¼¼\,WTTètºÊÊJ±X\VVFuyxxh4½^ßÒÒ²uëV*-Aƒáøñã~~~ô =±ºÇ‰”a·w„¦‘r¹¼¨¨ˆÚ,,, ¦ºŠ‹‹­¦%z½~Ö¬YŒ c$†ažžžåååUUU‰Äd2‘]ƒA,?|ø°««+<<|öìÙ2™¬¶¶–š˜žž.‹1 ³LEE’““…Ba```kk+£ «im©sæÌéíí¥6{{{ÝÜܬvÑÓa4Gó`2™´Zí²eË‚ ÉÍÍ%ã'OžŒŽŽ&"**J©T †ÒÒÒ+VPÙ>ú裮®®áR‘cöíÛ×ßߟ’’òî»ï2ʰšÖ6È‚ ˆÞÞ^‘Hdµ‹žÀçóýýýëêê¨ c˜F£‘Éd|>Àår ‚ÐjµÞÞÞ&“Él6ûøøÜ¹s‡ wwwêäÈáp¨l}}}6RÑÇôõõ¹ºº2ʰšÖ6ö4`­¥Ré•+W¨Íêêj___²íããSSScuAF£±¾¾> `¸Ì±±±‡îïï×ét&“ 2oÞ¼üüü’’‰DâííM¦êèè r‰«««T#2\Úé‚}D£x (++[´hÑåË—ªªª/^|á²ëâÅ‹‹/¾téÒ‹/ZZZ¶mÛF¥µº/FÄÝÝ]«ÕêtºÄÄDªW«ÕÊd2¹\ÞØØHFbbbbbbºººÚÛÛ£¢¢¬f³š °oß>Ngõ,`5­m = ¡T*—.]Êáp§OŸ¦wåää,_¾œÇã‘WƒTZ«ûb(®T*çλ`Á‚ÔÔTú¹\¾aÃj³§§'::ÚÍÍÍÓÓ3//Ïê.¬¦6W‚VÓÚ^(âââV®\Ùßß?u%Æ-[¶477OÝ.Æ= °ß§Ãc"33sJócÆårO:%•J§tGÓŸijÀTC ¯-}Ï4º@°2v°ƒ €¨ "7÷+¶«`û\t²}”ÖáñæÏ›·í*¬óº½ R©ì³£1QTô¸ºú»Ï??µd‰3Ûµ0ñðð°ÏްiûjÌfbÅŠOz{õÛ·Ëú_¶Ëa x×55ßôöêùùu8nf»Ö€×€ÂÂ. ¿ßpõê7l—Ã`0 ]¸Ð„ã&€ƒ§¨¨íŠXRªªî¾"Û8n*)i2†Ø-‰- 5 °°ü‰Á€_ºt‡ÅzXFt:ƒFóµÉôÃêËÅ êY,‰E`4 ¼¼™±øÇqóåË÷uºA¶Jb Èϯ·ügEf³¹´ô6å° ttw\»öÐl¶ü:!P«a<@gÀ… MXù‡…AÔÖ>êê°Iì…… f³õwÍf¢¤ä–ëa¸ ø÷¿uu99 „BP(ptäs¹\²- „BÇË—ï±]£½÷“!À¹s·vì8ÝÙi¿Àõ€°;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ºÃD^^ÞdÕÁ 7oö€™«V­ÿü‰Ü dòŽ‚87í*&ÊïG3ѻ̨TªÈÈÈI9Ä8ؼyó3 uì `;ÈØAŒÌòGég>ö0 ''G"‘ðù|‰D’MïÊÍÍ•J¥ÀËËK©T’A Ã0 AAATpªë¤ïûo¦z×6*™r&ø~€J¥²=¦¼¼\,WTTètºÊÊJ±X\VVFuyxxh4½^ßÒÒ²uëV*-Aƒáøñã~~~ôà”Bß…ÕÝÙ¡†±î(""b‚ïL¹r¹¼¨¨ˆÚ,,, ¦ºŠ‹‹­¦%z½~Ö¬YŒ c$†ažžžåååUUU‰Äd2‘]ƒA,?|øðÉ“'!!!ÎÎΫW¯nkk³ÌF¶Ï Ûtuu…‡‡Ïž=[&“ÕÖÖR½‡ruu?~AAAjjª››ÛÂ… KKKmÏ:xð ‹‹‹X,.))±¬Ä63À€9sæôööR›½½½nnnV»èi ‚0£y 0™LZ­vÙ²eA„„„äææ’ñ“'OFGGž’’Òßߟœœü«_ýÊ2Õf-ÿT#**J©T †ÒÒÒ+VP½û÷ï×ëõjµZ ìß¿``@­VK$’g äåå-]ºÔöÁZ2# ‰DV»èi|>ßßß¿®®Ž 2†i4™LÆçó\.— ­Vëíím2™Ìf³Ï;w‚puuíëë#þ[¾Ñ`µ0²áîîNÉÁáp¨ÞÁÁA‚ p§·ÉÚF3‹´þhZ0q¦|%(•J¯\¹BmVWWûúú’mŸšš«³‚0õõõÃeŽ=|øp¿N§3™L€yóæåçç—””H$ooïáær8rÊààxî/FDGGù’yH\.—Þ¦Œ8k¸›ŸL-ÑŒâ5 ¬¬lÑ¢E—/_¨ªªZ¼xñ… È®‹/.^¼øÒ¥K/^¼hiiÙ¶m•Öê¾www­V«Óé©^­V+“Éärycc# ß·oŸN§KII¡Î^^^yyyz½þÀÔ\‘HÔÚÚ:šbbbbbbºººÚÛÛ£¢¢,§Xm~½ÛÌ€³AJ¥réÒ¥ä=>OŸ>MïÊÉÉY¾|9Ç#¯©´V÷ÅW©TÎ;wÁ‚©©©ô)r¹|Æ Ô&¹ …ô•à¹sç~ü㻸¸|úé§Ô܈D"`±0§‰žžžèèh777OOϼ¼<˲­¶G?‹^‰mf†qqq+W®ìïïŸÈNmc4·lÙÒÜÜ}*‹'”b"o&LÒQ°†££×~´ Ãfö%1›ïÍt ~ó›“—.Ý)*ºñÞ{~l×Âð® Zí=@QQÛµ° ¼””4™L ²ò^_ß ¶Ëa x P«ëÉA€’’ÛìÃ"ðÝwý_}õÈl&×1D~~˱¤\¸ÐÄáüçÙf3QW÷äÙ³çì–Ä V×}ÿ\.V\|‹ÅzXF?înn~J?|)Ïd2«Õž`4 ¸ø¦ƒ€þ]A€{÷:=êb±*¶€Ñ•êŽ3¿•ëàÀ={¶‘•zØ:îÞílk뱌ã¸éÌ™ö¯‡u 3 ¨¨‘ÇãZíêèè»}û[;×Ã:p@DQQŽ›¸–ÿ΃îŠ`f,6Vº»õkÖ,§6ÛÚz®^ýæƒ~ø)6''>u± 6Ó?ß›çÎÝÚ±ãtgç1¶ a¸ÎK°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2v°Ãü™ôôô}ã˜1Ñ×çØÚêêïÿÛ…Ø?þxÕªUô󗤮_¿^]]mã¾í¯‹}ÛÝÍvö¢ººzóæÍ#ðöö&ïÉŽxÍP(–A´€dì `;ÓΫ«•×’ir¤ã7@£Ñ|øá‡¡¡¡~ø¡F£¡wUVVnÛ¶-444&&æâÅ‹dP¡P(ŠÐÐÐ;w>|ø 666*Šúúúq0ñGžÅ¿µkVj§õõõ'OžÜ½{wqqñÇ|òäÉ7nP]'Nœøýïþüù´´´¦¦&jVUUUiiihhhZZÑh4žžž ödœäää$$$üìg?srròóó‹ÿ׿þEu%&&8::.\¸099™>‘Çãmذ¡½½`4¯]»öÉ'Ÿ\»vÍ`0PcNœ8±~ýú;w>{öŒŒ\½zuÛ¶mk×®}ÿý÷KJJÀ÷Oòu…l¨ÕêÈÈÈ5kÖS Åš5k¢££©˜îîî?þñk×®¥¦Ð3Xòüùó½{÷†……mß¾ýþýûd°³³sÇŽëׯ?qâ5ÑêH…B‘½qãÆÈÈÈÚÚZ2øìÙ³;w’Ó»cÔ3\Μœœððð_ÿú×W¯^ÍÎÎ~÷Ýw#""¨üã`œ<~üØ××—ÚüéOúøñcªK&“ 7ÇñÒÒÒE‹®^½*•J—,Y"“É®\¹Bqpp(((ð÷÷ÏÊÊ"#iii»wï.--ÍÈȸ{÷. ªªŠü?Ù´µµ8qâòåËäfUUUeeerrrff&ÉÈÈøÉO~rþüyj.#ƒ¬¬,¹\~öìÙßýîwÔ‹VfffPPPAA‡Ã±=`2™Ôjõ®]»¨ÉÊÊ dL§ ¦×3\NÇÕjubbâ¡C‡L&“J¥ŠÿÛßþ6Ü>"“v“É4â…BáààðÆoüá”——‡……Ö®][ZZºvíZrXdd¤““Óûï¿EFÖ¯_Ÿ••åííü§?ýÉjò;v8;;“íúúú¿ÿýïííí8ŽSõ­[·öìÙ#FyDuuu•••Ÿ}öÃþs[ªæææ}ûö‘åQ/{VGbbbø|¾\.?xð ijjJIIaLýÞ©œÁÁÁCCCT›Ê?Æi€§§çíÛ·ß~ûmr³©©ÉËË‹êjnn~ë­·,gÑŸm===õõõ©©© ÃzzzÜÝÝ­îŽ<#\»víË/¿¼xñâÞ½{-ÇP~À‘#G’’’p'%AäççWÒhFòù|‡ÃÇMFÌIo›ÍÌgžqžbbb222nÞ¼988xëÖ­¬¬,êùúÁddd444ÆÎÎÎ#GŽXÍPQQ±nݺªï «¨¨ »òòò^¾|yæÌ™+V‘/¾øÂd2½÷Þ{;wœNNNÔBÑh …8ŽÿóŸÿ¤‚~~~¹¹¹F£‘ŠØÈxóÍ7ÿñ<þ¼««ëÓO?%ƒR©”,O¥RÙi___êè,{éõŒ>ç§AAA±±±éééaaa»wïŽ]¹r%Ù¸}ûöÌÌÌ7îÙ³‡¾\ £ÑhÖ­[Gm†††RW8ŽoÚ´©¡¡!..ŽŒH$’äää°°°£GRgÈÈÈ>úÈê:n×®]ùË_¶lÙ"‰¨`||üƒ6nÜHMadPÐ$$$±eË–¤¤¤wÞy‡÷ÕW_mÚ´éåË—³fÍ"ƒVGZ%..®®®nÓ¦MVŸµôzFŸs‚0¿°yóæîîî1}6˜‘‘ñàÁƒ´´4''§I®nº‚ãxaaaMMMFFÛµŒ…B¡R©"##éÁIX &$$L<É B¡Pp8œ%K–üùÏf»–I®{M Ã]=ÎP¦Ýç;ƒ €dì `vž>`»–±r-p÷î]H¾+Œã¼ï¾["?d»6aÀø2ùëMg§óà ³‹Ëøü‘?Öz ˆˆˆððð`¡¾óôÏžvï^ç¾}á»v­a»Ö€wðäÉÿÝ»× ÈÏÏwÔ^à5   žÇãîßöàDÿt¼œ9schÈ ppàßd»Ö€Ô€¦¦o;:úÈ6Ž›Ôê:h×Cpöl#Ç¥6;:únÞlg±ѓɬV× ýpèàÀ={¶‘Å’XFjk[{{õôŽ› êM¦ñÛnæ£EE Ìïë{yíZ +õ° t¼z…Ÿ={ Ç™OwNaa+%± tTW?xñÂhÇqóùó·ŒFÜþ%± tœ={“ËŬv½|ùªºú¾ëa¸ |U^ÞlcÅWTÝ\Ÿ ét†¦¦®û¯_ô׿jTªTD p zƒÒX®ï ‹DŽÁÁÿCmöõ½Ð#×Ya 2v°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2v°ƒ €dì `;ÈØAÀ2zl×box¼¹³gOá-}§'ô?:ów„’’’ ºÑ €x¶ °ÇŽcD¬ÜgˆqgbÄë„Z­fDÐ:v°ƒ €dìL/0Ìúo>OVªIÌ?)L‡zÆc@NNŽD"áóù‰$;;›Þ•››+•J———R©$ƒ†a&‚‚‚mmC¼¦â±cñïAíš…ï©T*Â&åååb±¸¢¢B§ÓUVVŠÅâ²²2ªËÃÃC£Ñèõú–––­[·Ri ‚0 Ç÷óó18ô^Û#‡0úüöÚ£ecŠˆˆˆ`¼#4färyQQµYXXLu[N¡ŽJ¯×Ïš5k4Á'Ož„„„8;;¯^½º­­þýJj"†ažžžåååT$99Y(¶¶¶2òwuu…‡‡Ïž=[&“ÕÖÖ2z)¬kii  …ÉÉÉ#&€ËåRÈ }}}®®®ŒYîîîÔ#Àáp,sÚæââòüùs2óˆ  ‚Àqœ>* Ø< Œ˜“Þ¦Ü6“ð •J¯\¹BmVWWûúú’mŸšššá<3õõõ¶ƒã 66öðáÃýýý:ÎdÕ}ä ‚èèè SF9ÌÆHGGG—Ë5›Ç|+»sÒÛ£zô(66v|5‚ƒƒ¿øâ‹´´4ê¤#‰?~lÙ‰DCCCû÷ï§'!39rD.—3ò¯_¿~Ïž=ÝÝÝß~ûmttôpeXööÛo§§§ =zt¬ r¹œ*̲—~\£Ï9!è/`g‚ ”JåÒ¥KÉÓØéÓ§é]999Ë—/çñxäÕ •Ö2‰í ¹ …ÔJ ˆˆD"r ½­T*çλ`Á‚ÔÔT@{9µ±ìé鉎ŽvssóôôÌËË£zŒÕaß|ó¿¿¿P(LHHpvv¶ÐòÐl¬Ç5úœÃ=ž–Lµ¸¸¸•+Wö÷÷~ÊkƒÑh Data Fields - Functions
 

- l -

qcustomplot/documentation/html/ftv2pnode.png0000644000175000017500000000034512236016574021562 0ustar dermanudermanu‰PNG  IHDRɪ|¬IDATxí=QF‘Ø¥D«ÔkÄ:‰F©PK؃=V@§Õ³ Õ8SHxñÌ0bnrróŠ{ò½¿¾’$ ÀÏTŠP  ö¼X¬OÛd6êìòð"°²S´±O¥B€(¡àQé)š+YĈ ÒªËRÉÐ>VtÉsˆm9(ê„䜥k‚-@ȧ-Ü$ó b Ò[he ¿Kp-ôl|CùÿApRG'rÍ­aIEND®B`‚qcustomplot/documentation/html/namespacemembers_enum.html0000644000175000017500000000243012236016575024364 0ustar dermanudermanu Namespace Members
 
  • AntialiasedElement : QCP
  • Interaction : QCP
  • MarginSide : QCP
  • PlottingHint : QCP
qcustomplot/documentation/html/dir_78a97038723513eb3e3a9e944a7f482f.html0000644000175000017500000000530512236016575025056 0ustar dermanudermanu src/layoutelements/ Directory Reference
layoutelements Directory Reference

Files

file  layoutelement-axisrect.cpp
file  layoutelement-axisrect.h [code]
file  layoutelement-legend.cpp
file  layoutelement-legend.h [code]
file  layoutelement-plottitle.cpp
file  layoutelement-plottitle.h [code]
qcustomplot/documentation/html/inherit_graph_5.png0000644000175000017500000020474612236016575022736 0ustar dermanudermanu‰PNG  IHDRX#7&ýbKGDÿÿÿ ½§“ IDATxœìÝ{\Lùÿð33Õ”4Ý(—..*±Èb“{¹Ä¢dV"‹)eWhýv± I®)Ýè¢Ü)Y"I¹.¢¦tÑ=]gæüþ8ûï|“t™ijæõücg>çœÏç]kg_>çœÏ¡‘$I€ì¡Kº A…  £ä$]HƒÈÈHI— µæÍ›'é@jÑð°´F“t R ßÒ >¸4 ¢A‚HEDDHúß*H9A…  £d‚ €ŒB <: ‚ ´CCCCCÃàà`á]áááÆÆÆL&ÓÀÀ ((ˆj¤Ñh4Éd𙙥¥¥ ëm´í?”••‡~íÚµVvØÄAÛ`€¦@€6¿qãFÿÂÂÂC‡yzz^½zU°kýúõ{÷î-**Š‹‹KLLœE’dYY™ƒƒƒ“““8ª¢jùøñãºuëÄ1@»… mdÇŽ˜8q¢ŠŠÊ„ |}}ûí7Á.??¿É“'+++÷íÛ700PøD&“¹téÒ/^7RójÔ|A3gÎd±XƒNII³}ûvuuõnݺÅÄÄxyyihhôìÙóÊ•+ V¨¦¦&8qïÞ½ºººt:]ÐB§ÓûôéOµp8œÉ“'+**Ö›á+((9rdxxxƒUÕ+@² ¤§§[XX>Ž7.==]°ËÜÜüK'ÖÖÖ 0@¸‘$Iâ?óyA¸ººÎ;·  `×®]Ë–->—ÃáøùùÙÛÛs¹ÜÌÌÌýû÷»¹¹  2Y§N…è³gÏÒÒÒø|¾`8.—èêêJµ°ÙlSSÓ¢¢"RèÍYYY–––[¶l±··o°ªzeHX›/•Rˆh›E444¨ØD)**b±X îî– …aÆݿ_ÐXoƒ$IMMMÁ×NPUUE’$—ËÞf0õz¨¬¬ôöö¶°°´ :711QPP Bp®ššZ½š ‚èׯ_hhèW«jü%@½Y¤‰´f ߺuKð111ÑÔÔ”Ú622JJJjð,’$kjjRSS‡ÞHç$IfggSßk<OЮ¨¨HƒÁÞ>€¢¤¤äìì,¸¦L]&&ÂÑÑqÇŽ¥¥¥eeeŸŸ+ÌÛÛûÿþïÿÞ¾}ÛxUí‚ ´‘ 6¸¸¸Ü¸q£¢¢âæÍ›kÖ¬ñðð vyzz²Ùì„„„ÊÊÊ7oÞ8::6¥C‹•‘‘AmO:uݺuYYYÔeÙf©ªª:~üx½«ÏÂ{Y,V]]ݦM›ãÇß¹sgUU•ð‘ÖÖÖ;wîœ4iUXƒU — aš‰©B4áÒ0I’AAAýúõ£žÀ8yò¤ð®ÊËËSËǺmp,jcË–-,‹úXXXhoo¯®®Þ»wïÈÈÈÏOop[ðM¨¤¤4f̘¿ÿþ»Áqƒ‚‚ºtéÒ½{÷­[· veee?^^^žøìRupppïÞ½322¬J¸ìÆáÒ0ˆÄ ËÐj4-""bÞ¼yM<žÍf§¦¦ÆÅÅQ‘igg‡oi9I²èÀ’.p €¬BQ‚2 A@F!È(A…åc U¸\þ•+åå»&''Kºiƒ_)ˆ”€*)© K LÊÍ--)¹õéÓIW$ð- ⃠ÍöêUn@ÀíèèT99ºÙ’%ßõîÝUÒE@³!@3ܹóz÷îË÷ïg ÔÃÙyܬYCp‡ @G…oph’¿ÿÎÜ»7>!áÙàÁ:'O:Mš4ˆF£Iº(hAøŠ´´÷{÷Æ]¿þÜÔT7(héäÉF’®DA¾(3³pÓ¦Økמ~÷]¿³gÙff}$]ˆ‚ 4 ®ŽwôèÍ}û®©ª*>¼ÈÚz.HA¨/*êþΗËË«<<¦-^{– ãdÈ‘#7OØÙ™……-WWW–t9 a¸4 jj¸®®áW®<Þ³Çnþü‘’.ÚAéWXX±dɉW¯rCC—››÷—t9Ð^ H9§ØÁáhYYÕ™3«ŒŒzJºhGp €4{ñ⃵õ~99úåËnHP‚ €Ôºyó…µõ~cãçÏ»vë¦*ér ÝÁ¥aétþüC6;ÌÆfÄ®]¶rrmýW¾ää䬬¬6T:èêêŽ5JÒU€¬ ‘$)é@ÄŽMܺõœ»ûwwK‰¼;ÎÖÖ6::ºíÇ•666QQQ’®df¤Í‘#7½¼Î¯[7ÕÕu²Ë@ i[[[I—²A@ª8°sçåß·Y´h´¤k€öA@zlÛvþرÄC‡Μ9TÒµ@€  H’ܸñLxøÝƒZ[‘t9Ð1 tx|>¹~}TDDŠ¿ÿÂéÓM%]tXG Ãóò:‘rà€R 4 ‚ @ǶcÇÅ'nûù9ÌœÙ!¯‡„„*(( ï 766f2™AAAT#F£ÑhL&ÓÌÌ,--MÐXo£5@*!t`›7Ÿ=zôæ‘#?vÐûããã7nÜèïï_XXxèÐ!OOÏ«W¯ v­_¿~ïÞ½EEEqqq‰‰‰‚³H’,++sppprrGI_@ ‘Ð1mÝzVW×ýÒ¥G’.¤666666_=lìØ±±±±‚111æææ‚]çÎûüÁ·VEE…’’’pc½o¶üü|kkk“{÷î ŽÜ¶m›ššš¶¶ö™3g¶nݪ®®Þ£GË—/7q\ám‚ |||ttt‚PWW/(( Ú 444 ¬¡Mü½ˆ f:$Ÿ¸ãÇoùû/š6m°¤ki¹ôôt ÁÇqãÆ¥§§ v™››éÄÚÚÚ€€€7’ÿÑ\]]çÎ[PP°k×®eË– ŸËápüüüìíí¹\nffæþýûÝÜÜš2îçž={–––F’äœ9sŽ=J59rdΜ9_ª À+æ:ž  ;¿þzæ?æýð÷’®¥aÔ2¾úfMMÍׯ_«««S‹‹‹{õêUZZúù.ê.@“Ç>œj¤¾ÊAtéÒ¥°°Ú¦Óé<: ªªJQQ‘ÇãÉÉÉ ¶™L&—Ëm|\AÏÂë©©ñèÑ£éÓ§¿{÷Ž$ÉÞ½{_¾|yðàÁ ÖÐú߀¨`F ƒ9uê®§ç™ß·i·)°éŒoݺ%ø˜˜˜hjúïƒÏFFFIII žE’dMMMjj*•¿„$Éììlj‚P8)**Á`0„·|i\AŒ«ªªn§R A¦¦¦}ûöŽŽŽŽŽîÛ·ïàÁƒ© @èH.^|´n]ÔºuS.”†7ÈmذÁÅÅåÆ7oÞ\³f‡‡µËÓÓ“Íf'$$TVV¾yóÆÑѱ)²X¬ŒŒ j{êÔ©ëÖ­+((ÈÊʲ··obI_·OŸ>111Ÿ>}Ú½{÷—Îe³ÙûöíÛ¿¿‹‹Kkjh3‚Æ­[/W­ Y¶l¬«ëdI×"VVV^^^ÎÎΪªªãÇ÷òòš>}:µËÒÒrûöí...jjjVVV·6ÂÝÝ}È!Ôåc___’$ -,,fÏžÝÄ’¾4®››[Ïž=å侸ÿ÷ߟ“““““óý÷ßS--« ÍàA€Žáñã,[[ÿiÓûøÌÉjybÕ‚{ÝØlvjjj\\‹Å[]íî€6†WÌtNñâÅLJÕß½{^ûO-sàÀI— spi ½+-­tp8ª¥Å X"/Ït9 =0#ЮUUÕþðѺ:^LÌjee¦¤Ë©‚ Ð~ñxü+‚³²Š.\pÕÐP–t9 mÚ/OÏ3IIÿDG¯êÕ«‹¤k)„ ÐNÿ’¼¿ýСz’®¤h’’^mÚ³v­¥Mc/ÏhŸrsK++å%]|fÚ/>8:ž°±áîn)éZš¡ªªöòåÇÑÑ©IIÿ¨ªªª¨ü)é¢:‡£££#é*@†`Ai€ö¥°°búô}]»ªDG¯b2;À_ÕêêxW¯>‰ŽNML|É`ЧOlk;bÿ~Ï3g¢%]Z‡dccƒ¥ Í ´#uu<[[§èÊ÷®]U$]ÎWV„…Ý ù+;»xàÀóæ˜={˜–V{/:À|€ìزåÜ£G™11ìvžŸ>͸û@AAÎÖvÄ?Œ42ê)颠ÙÚ‹ˆˆ”ÀÀÛ.l· WW×EG§†„üõä gØ0}_ß––Æ øè¨pi ]¸wïí¼yþ+WNðð˜&éZP[Ë Kö÷¿ñáCÉäÉFŽŽæß}×OZßz ;$//¯ÔÒÒ{ð`Ý  ':½}¥«º:^DDʾ}ñEEŸ-íèh®§§)é¢@4$¬®Ž7wîÁ˯\qSUí$érþ«¶–üסC7**ª—/·pt4WWÇkî¤ nî0/¯ó/_~¸t©¥@’$Ï{èí—™Yhoÿ­‹Ë¤îÝÕ$]ˆ‚ €$]¼øèĉ۾¾öZ’®å_fnÚóä ÇÖvÄ©S+ttÔ%]ˆ ‚ €Ä¼}[àî~jÉ’ïæÎmï‘+((ÿí·‹QQ÷ÇŒé—ðK¿~Ú’®Ä ÷HFyyõÔ©>]»ªDE­’““ð[¿I’ »»cÇEæ–-ßO›6X²õ@ÛÀŒ €düòKħO511l‰§À—/s×­‹|øð½“ÓØŸžÚ©“‚dë€6ƒ  'NܾtéñéÓ?Iö…l$IÜÞ±ãBÿþÝ.]r31Ñ‘`1ÐöÚÚ“'œmÛγٓƌ1`ïß®^úøqÖ¦M3—.5ÇêÐ2÷´©OŸj&OÞ£££~êÔ Cb…ÏœIݸñŒŽŽºŸß»Kª ,Ì´©õë£++kZ$©XZZ¹n]ÔÅ‹Í==g(*ÊK¤ hÚNllZL̃°°åšš%RÀÝ»oØì0.—îlaa(‘ ý@h#YYE6D-YòݸqÚ~ôº:ž—×ùÀÀÛ“&y{ÛI*‰@»‚{ÚÇŸ3ǯ¢¢æÊ7…¶þ ØÇ?ýt25õ݆ 3–-‹çB€‚A€¶àë›ðä çÊ÷¶O¼_¾<ˆÉ”»xq‘QÏ6Ú3 ¯d ß±c®ƒÃ¨6:\¯ÿû¿ØªªZoïùm™_¾Ìur ¬¨¨ŽŒ\9rdŸ6:A1:wîadäýÐÐå]º´ÝSº.üíî~zèP=v[ŽKINNÎÊÊjãA¥®®î¨Q˜Ç±Ã¥aqápŠ'MúcîÜa;vÌm›I’ôöŽÛ·/~Á‚QÛ¶ÍnûS‚°µµŽŽnûq¥ŒMTT”¤«é‡A± IrݺȮ]U<=­ÛfÄêê:W×ðøøtŸæÍÑ6ƒ6!¦•lmm%]È A±ˆˆH¹}ûÕùó®:)´Áp99% +)©¼tÉmРm0"H, zÙÙÅ›7Ÿ]¹rÂСzm0Ü“'œéÓ÷Ñé´K—Ö @Ó!ˆI’nn§{ôP[»Ö² †»víéœ9~FF=bcÙݺ©¶Áˆ 5D,2ò~ròkoïùmð¬F`àmGÇsç rêÜ™)îá@ÊàAQÊÍ-ݼ9ÖÑÑü›oôÅ:ŸOnÞ|60ðö–-ß;9ëX²ŒFûwiÁ€4ÁŒ €(yxDiht^¿~šXG©©á®^|gÏ»Ž›CBB  ƒƒƒ…w…‡‡3™Lƒ   ª‘F£Ñh4&“iff–––&h¬·Ñb´ÿÕÈa­ ý@™sç&$<Û³ÇNIIŒO WTÔ88ùóÏg¡¡ËçÏ)¾Ä*>>~ãÆþþþ………‡òôô¼zõª`×úõë÷îÝ[TT—˜˜(8‹$ɲ²2'''qTE iäq ‚¢ññc…§ç‡Q£Gˆo”¼¼Rkë}/^t37ï/¾ÄmÇŽ˜8q¢ŠŠÊ„ |}}ûí7Á.??¿É“'+++÷íÛ700PøD&“¹téÒ/^7R³t‚™¼‚‚‚™3g²X¬Áƒ§¤¤ŽÙ¾}»ººz·nÝbbb¼¼¼444zöìyåÊ•fU.<¹~ýúÎ;›™™eddP111ÆÆÆŠŠŠ½zõ:~ü8ÕØ`=í‚ €hlÚ£¤¤ðë¯b\>úÝ»³fàrùgϺh‰o 6žžnaa!ø8nܸôôtÁ.ssó/X[[0`ÀáFj–N0“çêê:wîÜ‚‚‚]»v-[¶Lø\‡ãççgooÏår333÷ïßïææ&8 )—†…ÉËËçääLš4iÍš5T˲eËüýýËËËoݺu÷î]ªñKõHnË—;9††.Ÿ0a ˜†xþ<ç‡ki±ÂÃW´ý„›Žz+ÆWß,¢©©ùúõkuuuêcqqq¯^½JKK?ß%@…3“Ç>œøÂÃ]ºt),,¤¶ét:Ç£¨ªªRTTäñxrrr‚m&“Éår‰/<òyÿÂÅÅÅjjj%%%½{÷...&â矾qãÆÈ‘#çÌ™3iÒ¤Fêiýï õ0#ÐZeeÕ›6ÅΚ5T|)ðÁƒwsæ44ìËnÏ)°éŒoݺ%ø˜˜˜hjjJm%%%5xI’555©©©T ü’$³³³© BáÔ¥¨¨HƒÁÞþj,k–={öDGGnÞ¼ÙÁÁ¡ñz$A µvíºTSS·}û1õŸ˜øÒÎîИ1!!Ë”•¥d±À 6¸¸¸Ü¸q£¢¢âæÍ›kÖ¬ñðð vyzz²Ùì„„„ÊÊÊ7oÞ8::6¥C‹%¸QoêÔ©ëÖ­+((ÈÊʲ··×Ï@ÞÞÞååå»wï;ößg·¹\îÊ•+ÿøãÁã/mV@s!´ÊƒïNž¼³uë÷ššb™¨»xñÑ¢EÇfÎzäÈâ6X¡ºÍXYYyyy9;;«ªªŽ?ÞËËkúôéÔ.KKËíÛ·»¸¸¨©©YYY ßJØww÷!C†P—}}}I’444´°°˜={vÓ«jî=‚uuuÝ»wOHHØ·oÕ2|øð©S§²X¬åË— iq=â†{ZŽËå[ZîÑÔì¹RýŸ?ÿ7›jggöûï6 FÇøk[ îoc³Ù©©©qqq,Klu‰žø–˜Æ=‚Ðf¤g‚ í<™ôæMÁ±cKÄÑù¹sÙìÐåËÇyzÎîEŒ8 éd‚ @ åå•îÞ}ÅÙy\Ÿ>]EÞyDDÊÚµ§Ýܦ¬]k%òÎA$p9¤@ǸØÐyyWWWvs›"òžƒƒÿrwG ±ÃŒ @K$%½ŠM Zª¨(/ÚžƒƒÿÚ°!ÚÝ)Ä3‚ÍV[Ëõðˆž2ÅxÊcÑö|òä¤@h3˜h¶C‡näå•FFþ$ÚnOž¼³qã¤@h3˜hž÷ï ÷ï¿¶fÍ”ž=ë¿­5‚‚ ­aF y6nŒÖÓÓtv'Â>ÏžMÛ´)æ§ŸÆKG äp8‘‘‘ååu**"¾RFp8IW2A þüóù/NŸ^!/ÏUŸ Ï\]ÃÍýÕZT}JPU•üÓ§rlv&Ÿ—wŒ ø’®¨C²±±‘t ðf€¦ª«ãMœ¸{àÀGŽ,UŸ7n¼øñÇãóçܹӦC¯ýñcÅ… cc>xðNM­“µµéìÙÃFŒèM§wà @êaF ©Ž¿•“S"·ɥ¤¼ur œ6mðï¿wÔX]]wåÊ“¨¨û·o¿b2å,-Ùì‰ãÆ áŒ)ˆ‚ @“äç—ïÝ÷ÓOã»uSI‡ééÙ‹3ÆÀ×wAGœ6KK{™röìÃOŸjÆ3ôõ]`iiÜ©“‚¤ë€f@hoï«jjV­š(’Þ޼ɷ·?ÈÉ)11ÑùõWkkkSUÕN’® ZAàëž?Ï ¿ëë»@$ïÉÎ.¶³;Ô½»ÚÉ“N"1‰ø$'¿ ¸ŸÎdÊ[[™?ßÌ̬¤‹€VÁÃ"_gk{°®Ž»ºõwò}üXñý÷¾t:-6–­©ÙY$å‰Um-766íøñ[OŸf¬»dÉw3f˜*+3%]ˆf¾"..=9ùÍ•+î­O55\'§ÀŠŠê³g]Ú ÌÊ*:z4122…ËåÏ;lïÞŒ{Jº(%A€ÆÔÖr·n=7gÎ0“Ö.ðËç“lvèóç9±±ì^½ºˆ¤<1yû¶`ÿþkgϦ©©urr»hÑhmmÑ<"í ‚ @cn”oÜ8£õ]­_uíÚÓÓ§4¨Gë{“·o öí‹M30ÐÚ³ÇnÖ¬¡ ø–ZøŠø"jɘ•+'´~Éÿ?ÃÃïúû/9²>`ñä gÏž« φ Ñ w67ï/éŠ@ì¾ÈÇ窺ºòO?oe?gΤîØqÑÓsÆÌ™CDR˜h½}[°woüÙ³i††ÝŽûqêT“ºº54‚ @Ã޼ɿ»wï­\á%)éw÷ÓŽŽæ+WNUm¢òñcÅÞ½q¡¡Ét?~|É”)Fˆ€2ËÇ4ìÇ ËÏŸwmM6zý:æÌý£G=úc»z}HYYõ 'NÜÖ××ܺõ{\M˜h@JÊÛøøôˆˆŸZ“ ÊŽhûù9´ŸX[Ë=v,Ñßÿ†¼<}ëÖïçÏ)'G—tQ ˜hÀ¬Y¾ŠŠò?µ¸‡šî¼yþ¹¹¥çÏ»jk³DX[kܼùbÛ¶ó¯_ç/YòÝš5SÔÔðj8™†A€úâãÓSSß]¹âÖâH’üù爗/s/\h/)0#£`Ë–s Ϭ­MOœXª¯¯)éŠ@òþ—Ëß¾ýÂŒ¦ƒ붸oï¸óçFF®ì×O[„µµLQѧ;/>}ÏÔT÷Ê·Öü\ eþÇ™3©ïß9µ¸‡ØØ´½{ã}|æK|É@˜äã''G÷öžoc3€0A€ÿªªªÝµë²YŸ>][ÖÃïÝÝO9:šÛÙ™‰¶¶æzø0ó×_ÏüýwÖ¼y#6nœÑµ«Šdë€vAà¿“JK«Ö®µlÙé99%K—˜›÷ß²e–h k–ŠŠš;/%ëœ?ï:l˜¾‹€ö Aà_%%•¾¾ K–|§­Ý’ÊUVÖ.^|\C£óÁƒ  ‰-Èuûö |>¹wï¸ Cø—¿ÿŸt:ÍÅeR ÎåóI—°ÜÜÒK—Ö¨¨(춦àpŠ7lˆºqãÅ’%æ?ÿl©ªŠ¥aà+‚ òóËOœ¸½jÕDK©§ûú^‹O^¦§'eYx<þáÃ7||âõõ5cbV›™Iø!•ÏEFFJº„vmÞ¼y’.d” ‚زåì™3îÞýUY™ÙÜsããÓOlÝúýÒ¥cÅQ[ãÞ½ûèî~:-íýêÕÙìILf{üÛ®P7ßà )xµñáCIPÐ6{R Rà‹V­ ]°`TÛ§@>Ÿ!é3 ÓÚïÿ6ÚŒŸßu öïJ¨ IDAT åÅ‹Ç4÷IJ²ª¥KMLt¶oŸ#ŽÂñä gÍšSYY…[·~¿`Á·˜r€ÀŒ Ⱥœœ’°°»«VMhîtÇwv>YUU{äÈbyy†˜Êû\]oÇŽ‹3fìëÒ¥óŸz88ŒB €–ÁŒ È:?¿MÍΣ›{¢O\rò›3gV·åZͯ^庹zñ"wÓ¦™ŽŽæt:" ´fA¦ee……Ý]½ºÙÓ/>Ú·ïÚîÝóÚl¹fêŽ@KKo&Sþúõ_œœÆ"@+aFdÚÁƒ×»vUY°`T³Îzù2×Í픃èyóFˆ©°zÞ¾-pq {ñâömspG ˆ fAvee:uÍž¤ ÐŒ¿••U/]zÂØ¸gÛ< Âç“^Ÿ4éº:Þ•+îÒ}G`HHˆ¡¡¡‚‚‚¡¡app°ð®ððpccc&“i``D5Òh4Æd2ÍÌÌÒÒÒõ6Zìó¤ø—² Ad—ŸßõnÝTíí¿mÖY‘ååÕ.lƒD>|(±·?²sçåU«&\ºäÖ¯Ÿ¶¸G” øøø7úûû:tÈÓÓóêÕ«‚]ëׯ߻woQQQ\\\bb¢à,’$ËÊÊœœœÚ H þ€”‘ô*Z’ñþýG=½µÁÁwšuÖ‘#7õôÖ¦¦¾SU®]{jbòëС›_´ÁpbE4aÁ±cÇÆÆÆ >ÆÄĘ›› v;w®Án©ŠŠ %%%áÆzßrùùùÖÖÖ***&&&÷îݹmÛ6555mmí3gÎlݺU]]½G—/_®×ÿç#áå奪ªª££séÒ%ª±ÁQG­#Ø”#Ä3‚ £¾Ñµ«ŠYÓO¹?cÇŽ ëÖM÷"µµÜÍ›Ï.^||äȾþ¹nìXC±×N¤§§[XX>Ž7.==]°ËÜÜüK'ÖÖÖ 0@¸‘üßÐæêê:wîÜ‚‚‚]»v-[¶Lø\‡ãççgooÏår333÷ïßïææÖ”‚ëêê8ŽÏš5k¨–/Ðnás ‹òòʾývÛæÍßÿøcS‘.*ú4yòSSÝ€€%b½Qìùóœ+‚óòÊþøcžµõñ Ô–h4ZDDDãoÔÕÔÔ|ýúµºº:õ±¸¸¸W¯^¥¥¥Ÿïî– “Ç>œj¤¾ÖAtéÒ¥°°Ú¦Óé<: ªªJQQ‘ÇãÉÉÉ ¶™L&—˭׃`DAç‚㨥q‘‘‘vvvøIÁŒ È"ÿ?ÕÕ•ííG6ñx>Ÿtq “—gìÝ;_¬)ðøñ[Ó¦íUUítíÚÏR“›ÈØØøÖ­[‚‰‰‰¦¦¦Ô¶‘‘QRRRƒg‘$YSS“ššJ¥À/!I2;;›š ÎgŠŠŠA0 áí¦8áãù|~㣴[‚ s +BC“Ç5ýaánß~uøð"UÕNbªª¤¤réÒ[¶œ]½zbLÌj]] 1 ÔnmذÁÅÅåÆ7oÞ\³f‡‡µËÓÓ“Íf'$$TVV¾yóÆÑѱ)²X¬ŒŒ j{êÔ©ëÖ­+((ÈÊʲ··ÓÐ6£ˆ‚ Èœ'n+)É/\ØÔW‰Ü¾ýê?®lÚ4sÈ=1•ôüù‡3ö¥¤d.]»ÖJNNÿô²²òòòrvvVUU?~¼——×ôéÓ©]–––Û·owqqQSS³²²¾•°îîîC† ¡fp}}}I’444´°°˜={vÓ«¢ ùêÁ-@Rp È–²²j3³­Ë–Y¬]kÕ”ãóòJ§Lñ9²ÏÑ£?Š©¤èèT(SSÝC‡jk«ŠiÉjÊ=‚ÂØlvjjj\\‹Åka‡{@²ðf-¡¡ñùäÒ¥c›r0I’nn§åÿø£© ¦Y*+k=<¢bclØ0}åÊ X¬XàÀ’.@& ‚ ©®®;r䦃Ã(5µ&ÝêwøðÍ;wþ‰e‹ãÖÀþÉsr ,)©ŒˆX9fŒÈûø*Y¼ dÖéÓ)eeU+VLhÊÁ©©¿ÿ~qÆß|#úU/\ø{úô½,–ÒÕ«îH )˜YQWÇ;xðºÍ--•¯\RR¹bEðøñ›ô\B³Êðò:âÄí•+'xxL“ÍçB @YqîÜü¼ÒÕ«'6åàuë"y<¾··ˆW ÌË+]±"øùóœãÇ—Lj"žZAdI’‡ݰ²2Ñ××üêÁ§Nݽ|ùqX˜s—.EXÃíÛ¯V® éÚUåÒ%·¾}µDØ3@Ëà²È„ÄÄ—ÏŸç¬ZõõéÀþÉÛ´)vùr ‘½á—Ï'½½¯ÚÛ™<Ùèòe¤@h/0#2áàÁëææýMMu?¬ººÎÙùä€Ý7l˜!ª¡ËʪØì°ÄÄ—¿ÿnãà0JTÝv8ÉÉÉÔFYY‹%/ÙbÚÁ¯@"Aú=y¹sçuX˜óWܳçêû÷…W®¸ÉË3D2ô»wOWFFþdfÖG$}vLôÇÏ>a2õétå¼¼#$Y+é’AdÀ‘#7 ê1~ü€ÆKN~søðß~³éß¿›HÆMJzµ|ùɾ}µNŸþ©)*KŸÚZnRÒ?qqéC†lÊË+ÕÐPž<ÙÈÒÒxâĽ¢ŠÚЂ å²³‹/\ø{÷¤¤¤rÕªiÓ/ZÔÔw7‚$IŸ8ŸxGGóÍ›gÉÚ1yy¥.<ºvíiJÊÛÚZž‰‰ŽƒÃ·3f 14MÂQA)˜¤¡¡<{ö7öË/‘|>çNÛÖXUUëævúʕǻvÙÊÔMg]»öôÚµgééƒ>nÜ€mÛæXXêêjHº4h‚ H³²²ê¿V­š¨ ÐØõØØ´Ë—‡†.×ÐPnåˆNñ’%yy¥QQ+eá¦@.—Ÿœü:>þiBÂÓ÷ï UT--W­š`nÞ¿‰ïñ BiqÏ'/nìjovvñ† Qööß~õ&¯úë¯×Ë—ii±.\XÓ” ;.ïÞÛK—ÅÅ¥ç䔨ªvš8qàÆ3Æع3SÒÕ@S!‚ÔârùÇŽ%ÚÙ™©ª~qjŠÏ'Ùì0MM•­[¿oåpááw7lˆž8qÐ ”•¥3 ñùdJÊÛ þ¾téQ~~¹ŽŽúÔ©ƒ--¿ý¶¯¬Ý AjÅǧçä”,]jÞÈ1Çߺ?ãìYv§N -¨®Žçéy&,ì®»ûwwKѾ•®=¨«ãݼùâÂ…¿¯]{VZZÙ¯ŸöÂ…£ñð€@©uìXâäÉF½{wýÒ»v]^¾Übذ^-åãÇŠeË?æ:´pæÌ¡-î§ä¿„„g%%•ýúi;9™#ÿHANÿyïÞÛ3gVé>Ÿtw?­««áá1­Å£<~œåèx‚F£?ïbdÔ³Åý´+\.ÿÆçÂùoéRä?é„ Ò)((iàÀ£FõýÒG&¦¥½¿rŽñŠ‘”ôÊÉ)HOO#0piÏžê-­´½ä¿ëןBþ‚ … ÊÏž}¸cÇœ/ðÏ?y;w^Zµjâ A=Z6DDDʺu‘& ÅÅ­mî3"¯_ç/\x”Ç㇄,ï@óg$I&%ýu?>þiyyõwßõ³±nee¢¢¢(éÒ@ò0#RåÑ£¬””·?5¸÷äÉ¿RR2Îsin LN~³té }}Í“'—ii©ˆ¢R±{÷îcXØÝsçÒ8œâAƒzüü³Õô郻wW“t]ÐŽ ‚T MîÓ§ëwßõû|×»w·o?ïì<î›oô›ÕgLÌw÷ÓãÇè}¢yü8«K—Îvv#ml†w )LhK‚ =ÊʪccxxLûüI^’$×­‹ÔÑÑX·nj³úôö¾êãïèh¾eˬö|;àÀÄÄ— }útÜ_‡ Ò#22… ;»æ »›œüæìÙf\æñø›7Ÿ Lòôœ±råQ*RïßFD¤DD¤|øPbb¢ãé9ãûï¿éÚµc\¿ÉB)A’dpðÙ³‡±XõƒÈÎ.Þ¶í¼“ÓØaÚzQ¸¶–»jUhBÂÓÇY[u±"P]]wéÒ£Ó§ïýõ×MMe›ávv#q šA¤Drò›×¯ó^\¯$I7·Ó]º¨4ýÂEEŸ.<š™YËno ,SO‡†&ÇǧÓh´3LOŸ^1fL?:½£®k „ R"$䯡Cõ>e\däýää×gϲ¿´¾t=ÙÙÅööG*+kccÙZb¨´…8œâˆˆ{11iÆÆ=·m›3sæKIÒu@† Ò   üòåÇ»wÏ«×^TôÉËëü‚ßÖ«)ý<žcoTCCùâÅ5ÚÚ,ÑÚ|ÔS ¡¡Éwîü£ªÚiΜa¶¶ Ö•t] HNNÎÊÊ’tREWWwÔ¨Q’®¤‚ Hƒˆˆeeæ¬YCëµÿßÿÅvîÌܼyVS:¹?cѢㆆÝNž\ªªÚI e6ϳg9AAI.<*+«úî»~‡-š2ŘÉl¿ÿÍúøøDGGKº ©bcc%é*@šµßÿ©4ŸO††&ÛÚŽ¨wñ÷öíW11•”¾¾ø_BÂ3gç“cÆ9²¸)Ç‹OEEÍÙ³i¡¡Égéêj¬^=aöìa=ztŒ… \DÈÖÖVÒ%€ôC„ïÎ23 ,øV¸±¦†»~}ô”)ÆS§š|µ‡ðð»Qvvf»vÙJpá½G²NŸ¾›öéS͸q†ÇŽý8eб¼ `ôèѹ¹¹Û·oÿñÇ©³H’¬©©9r䈓““ «‰Ðçý“$)òQÚ ƒ¨­åêéý¼xñ±«WŸÔÖr+*ªõõ>tèOÁ÷ï¿íÙÓíôé{_ê¡°°ÂÒÒ{èÐͯ^劵Ԣ¢ ?¿sóߺw_3a®¿JK«Ä:b{`cccccóÕÃÆŽ+øcnn.ØuîܹÏO|SUTT()) 7Öû6ËÏÏ·¶¶VQQ111¹wïžàÈmÛ¶©©©ikkŸ9sfëÖ­êêê=zô¸|ùòWûÿé§ŸBCC©–ððð+V4¥CêÖ»w︸8A‹‡‡‡²²òˆ#Þ¾}ûÕ_TŸ­KÃÐaðùd]÷ÚµgK–œ4ÈsÁ‚cµµÜcÇn]»ö” ˆº:ž‡GÔèÑóæ IrË–³ÕÕuÂ§çæ–Îž} ¬¬êÜ9—~ý´ÅTäóç97Fµ}÷î+ýûw w¾ví‡Q,žùWzzº………àã¸qãÒÓÓ»ÌÍÍ¿tbmmm@@À€„I¡G„««ëܹs víÚµlÙ2ás9ŽŸŸŸ½½=—ËÍÌÌÜ¿¿››ÛWûß¿```BBÂÍ›7?îëëÛÄI’är¹®®®‚FyyùœœœI“&­Y³¦©¿/q¢‘¸üDee­AA#‚N§ñù$F$1|x/3³>ÇßúóÏu}út½zõ‰£ã sóþÁÁ˨w²½_hgw¨S'…S§Vˆã%µµÜK—%Ý¿Ÿ¡««aoÿíüù#ÛÉÛŠÛ õ&Œ¯¾YDSSóõë×êêÿ®ìS\\Ü«W¯ÒÒÒÏw P·ë)((˜˜˜>|xøðáT#ùŸ‰7Á÷X—.] ©m:Îãñ¨ªªªy<žœœœ`›Édr¹Ü¯öŸŸŸoaaÁ`0®_¿®­­Ý”¯]»¶víÚ—/_ÖÖÖ2 Á(ÅÅÅjjj%%%½{÷...Éï 5p t\.Ÿ *ÁçSSAA©©ïRSßõíÛUUU‰$ÉÝ»¯Ðh´¿þzýãÇOžtâpŠíìii©„…9 ßb(/^|8qâö¹s««ëfͺmÛlÜØ8ccã[·nÍšõï  MMÿ]ýÇÈÈ())ÉÚº[<›øWV’$³³³{ôèQ¯]QQ‘ ƒ!¼MÅįöŸ››[TTDDyy9¿Ú¡£££¿¿ÿäÉ“ëêêX,Ùúût,¸4 ŸÏÿ߆úÿç~ÿ¾hÔ¨?ÿùòå’$y<þ;¯mmýçÎ=ج˜“SRTô©ñcêêx.ü=k–ï„ »oÜxáâ2éþý;¾ ¿jÆ ...7nܨ¨¨¸yóæš5k<<<¨]žžžl6;!!¡²²òÍ›7ŽŽŽMéÅbeddPÛS§N]·n]AAAVV–½½}ë«ýô铽½}pp°¯¯ï¼y󪫫›rVUU‹Åª««Û´i“p»··wyyùîݻǎ•ÀæŸÃŒ t<^½ Xu.—÷éïÔ©»A£b"—Ë{øð½žžfpðò&¦ÀW¯ríì9:š³Ù“< ;»8(èNTTJAAŤIƒ""~3¦Ž¥FšÊÊÊÊËËËÙÙùÍ›7|>ÿäɓӧO§vYZZnß¾ÝÅÅåõë×úúú¿þúkS:tww2dHYYI’¾¾¾l6ÛÐÐPMMm×®]­¯våÊ•+V¬°´´$"++kÕªU_=ËÛÛÛÆÆF^^~ÅŠÂíuuuÝ»w4hPDDDëkh=Ü#F~~ù!ÿׂ Æwßœ<餠ð•¿ùþ©»ûéýûí¼ŒüׯÑ$ID=v,±[7ÕãÇo –ƒ>th!n„Ãåh‡¡ÃøìÁzhšš‹Š>ýo^$‚`0h|>Ù¥ ËØ¸gm-WøÅÄ”;.}ªápŠ9œ"§øÃ‡ÎÝ»WHº"hAè0„ƒ ðíV4F#F‡„üUoÒ…Á óxü{üòËÔ‰}>Èåòþ9"**… ê_S–“£7 0p)ƒ‡ë‰Â §8;»Xû8œ¢ìì’ââ¯VQQ¤Ñ”:Aè0AÁ  ¦ý º‚‚ÜñãKvï¾L§ÿ·]NŽÎåòÇŽ5tudfÖ§Á««ëV¬NHxÚà%;.—ëÖ«òòj‘/=ØnUTÔ¼}›Ÿ—W–—Wöþ}affáû÷…ïß––VRÈË3zôPÓÓÓÔ××6L_OOS[›¥­­Ú£‡š¼<ƒz¸:Aè0¨ H£Ñë 2tMÍΧN9V<~Ì¡¦åäè|>9sæPgçq&&:_ê­¬¬zñâc¼£žiŸÏˆHqv'ÚDâòòJ…£ž ù ŸŠŠbïÞ]õõ5GŒèmmmJ%?}}MUUYÉÄ2A:Œÿ¼J„œ:uðÕ«Oäähúú]ÖëêjÌ™ãG¤¼<ƒËå[Zš¸¸Lj$QTôé‡={–Ûø}‡<?00iùr êd¢R^^}âÄíÌÌ"oo;v[ÇçpŠ33 ssKóó˨¹=êcMÍ¿o<ÓÓÓÐÒbuë¦jnÞßÁAS__SK‹Õ­ @F ÊœÈÈHI—ÐBYYAŒÑ5?ÿI’}ú¨.Y¢Ÿœœ^~÷î:6lX—‰»wíªôüù_ÏŸ±Ÿ¢¢ÿg?VA§Óh´o8äóë?Ö)'G/))ß³'P_¿sÓëÔÕÕ5jTƒ»JK+K<|8±²²¦í¦÷ÙˆªªÚÌÌ¢zQ/?¿,'§¤®ŽGƒA×ÑQ§fõÌÌzkk«êëkêéivë¦*òEp8NÇýÖÞp8Æþ>ÐzXPZæˆvr«-ÉËwc±¾+,ŒéÚÕ¡¶–SZz“ øA¨«OçñÊ**Òøü¯¼Ž CYUÕ’FcD WE’Õ|~ Ÿ_C’õÿÉç×Pý7—Íç‹çæ–úù] MæóI.—GD§NÌׯw6½Û²²êwï þõÊÉOp=·S'mmm–¶6‹ŠzúúšÚÚ, άž(B¶¶¶ÑÑÑm0ìhðÏ€!Ê1oÞ¤Ñh ÞŒøçŸÏÙÙÅYY /È¢££®££1fŒAÏžê::ê={jèè¨ki©tÜi]hWDïíÛŸ¸sç¾)+W7¾ K[Ö 2A@”ª«ËÂbgã 99º‹Ëd6{^[ ’‚W&ˆLffáû÷jEEJ<ŸÏç7žðètzM )$ÿ‚6%üj8飧§ihXHD@@È£G™))o>̼wïí§O5 ½ÞÃ"\./3³PrÅ`F¾ $$ÄÐÐPAAÁÐÐ088XxWxx¸±±1“É400 ¢©åø˜L¦™™YZZÕxýúuß‚Zÿ<„p‚í¶yÌ‚ÅR47ï¿v­UhèòôôíçÏ»üú«µ••‰–‹ PT”'IòÝ»mP À—`F¿qãÆ   33³û÷ï/^¼XKKËÊÊŠÚµ~ýú€€€Ñ£Gçæænß¾ýǤÎ"I²¦¦æÈ‘#NNNT 166 ™2eŠÉb2å†ï=|xoêã‡%©©ïÆÄĘ›› v;w®Án©ŠŠ %%%’$?}ú¤®®žžž®ªªZQQ!8ÌÃÃCYYyĈoß¾¥Ïœ9cddÄd2õõõ;Fþïµc꣎Žue™j¡Ñh½{÷Ž‹‹£Z²²²&MšÄd2§ÔëáóÆüü|kkk“{÷î zÞ¶m›ššš¶¶ö™3g¶nݪ®®Þ£GË—/7å×kcccccÓ”#I’¬­å6ñHqÀ¥ah@zzº………àã¸qãÒÓÓ»ÌÍÍ¿pQ[[0`À‚ bccÇŒcddôÝwßÅÄÄŽ‘——ÏÉÉ™4iÒš5k¨–eË–ùûû———ߺuëîÝ»„Pt#s¾R˜ IDATÿ“Þž={–––Æçÿ{I’\.700ÐÕÕ•ja³Ù¦¦¦EEE¤PìîáóFWW×¹sçìÚµkÙ²eÂ?‡Ãñóó³··çr¹™™™û÷ïwsskÑï²1X $¬Í£'HÑ„A *QQŠŠŠX,Vƒ»„»%BAAaذa÷ïß'IrÊ”)Ô@§OŸž|êÔ©,kùòåǧÝÝ݇ Òàj/ÞÞÞ666†††‚F__ßû÷﫪ª Ni°áF___’$ -,,fÏžÝüß@Ç&Í«ûBƒh4ZDDļyóšx<›ÍNMM‹‹c±Xb-L:ØÚÚõÕ#ssKŸ<áLžl$þ¢†uá+8 é¤Dm-÷É΃ïSS3îÞ}ûñc¹®®‚ H‚ €åäü»|tròëçÏ?ðx|:N’|j"¾gO¯u F‚¢ÄçÓ>}R8|øfJÊÛ{÷2Š‹+h4‚Á  Þ2,X QNŽÞ«—æ—{;A‘ÉÌ,|ö¬Ki)óñãsÔKP‚ IB…Ñé4õ6¯à¿DFOOÓØ¸ ´”©¤dvÿ~†œ½ÁHárɧOs¢¢îëêjôì©Þ½»šœžâ€6…  bªª5QQ.OŸfûøÄ_½ú„Á s¹ ,FÍçó>|Ÿð´®ŽGƒA×Öféèhèêjô쩦££Ñ³§ºŽŽº®®†¢¢|›ÿ ¡ƒ¡bSûK¯‘QÏ€€%ÏŸç8pýܹ‡ ÆÁsç\tu5ª«ëòòÊ23 ß¿/|ÿ¾03³09ùM~þì¬">Ÿ$‚É”ëÖMUOOS__S[›¥­­ª¯¯©§§©££Î``ZAP%''Kº„–#Iâðáç**òAðùä³gŃ©Óé ,=ý¹OŸêÊÊê:u’SR’SP}Šâp8:::‚öð÷_èâ2ÉÏïúÙ³i  ²AÐé´nÝT ‚PT”×××Ô××47ÿŸ®jk¹>”ffææ–æç—Q1ñöíWÙÙÅÔgyy†††² Rhi±tu5:uRùÖ‘‘‘’.¡]kúºž¢…¥eNƒïêh'”•¿áó?UU½lü0MÍytºrqq,—[B‹e¡¨Ø·¢â~UÕs’ä6~.&§¦f¥¨h@A$YÇç×’d Ÿ_ÍçWñùU|~ IÖÿ“Ë-áó«ïV˜Mƒ J?}šíí—./Ϩ­åvé¢òø±WÓ»VZZ)˜>|ÿ¾0/¯,/¯ìíÛüŠŠêUÕN‚\Ø­‹Š‰½zua±”Z6b+µç?uí¾‡@R¡½ÈË+ýöÛí¿þj½t騯ܴ)6 à–’’ü‘#?Nš4(/¯ÌÌÌ«®Ž§¦¦´jÕÄE‹Æ¨¨(6r:Ç߸ñLHÈ_Ÿïb0ht:F#H’àñø|>I§Ó’’6öêÕ¥U?›/>øøÄ_ºôhÈÝK—ÜDÕ-… ˆT.Љ¥yyeÔÂW™ÿUõô4uu5š8¥Ú2Í}ŸìˆŒŒ´³³Ã÷0H . C{áïCC£³ƒÃè¯idÔƒF£ÕÔp—, ðñ™ok;báÂÑ'OÞ))©úý÷Ë>>qŽŽæË–ÓÒRiðtƒ¾k—­––Š·wœ`‘ Gòxÿ½“O^ž1z´S At?ztñ?ÿäýýw¦»¥¨ªv<¸Óçí55ÜÜÜRÁmˆyy¥ÔUf§˜Çã¡  ×½»ªžÞïA¤.7÷쩎g™¤‚ ´ ¹¹¥ÁÁwþïÿf2™_ÿ3ijªK’ÿ.ÒçêzêÑ#ÎêÕ“BBþâñ>Ÿ_UÅ?z4ñðᛳf uq™Ô¿·;Y»ÖJ_¿‹›Û)’$¨g2>WWÇsv׊ë‹úõÓî×O[=7ˆÉ”kð6ĺ:^NN 5e(ˆ‰s²²Šªªj©cW™ÿYúúš}úhuîÌl³ú@L¡]8xðO Î ŒjÊÁýúu“—güç© 2(èö›7yóç<}úÕHýóÂ…¿ccÓÆàæ6eذ^Ÿ÷cc3\UUiùò“\.šF£Ñôô4,, [õƒµoòò *ä}¾Kø6ÄÜܲüü²Û·_½{WPVVM@DA4~¨¹mh9A¼JBCÿÚ¼ù{…&ý”“£÷ë§ýìYõ‘Ï'ïÜù'3³¨ÞaT¼uëÕŸ>:T͚ɓ& ª÷ÔÂäÉF11«øápeeM½ÅŸétš¶6+5õ݈½[þ³uXÔUæÁƒu…ù|2/¯”Ã)æpŠ9œ¢ììb§8%%#&æAeå¿3ˆ]»ªôì©N-‚H­ƒØ³§:†¯€ößÎ y~~ji±,ø¶é§|óþ«Wy‚•ù¸\~VV!ƒÁ`0Èzs{Ô1Ožp/>>rdŸ°0çzK« ªwá‚ë¼yþ……ÂYP^žÁå’³fùØcñâ1sçSV–õ‹¡t:­{wµîÝÕ>ÇŸ/vóìYÎÕ«O¨Ån –D €Æá6p°JÂÂ’W­šØ¬5¢uê=hÉåòëê¸ÂKáóù ÍÑѼÁöúõÓ¾zÕ½wﮂ#äåóç›]¼èzçÎÆ îÜyÉÈèWgç“÷ïg4½H™¢  §¯ÿÿìÝg\éÚð™P"AËŠJ³`A +ËZ@ÅFÓ]z¬ìÚQª+"EEAÅ®4¥ˆbAÖ‚X±Þ’Ìû!ûfYE ™\ÿç7™òèç›:¤««+--­««ÑpSdd¤¾¾>“ÉìÙ³gXXw%I’$I2™ÌÁƒgffòV~¶Ðb¼ñoß¾ý½Çþàì€Bhæç—¨®®8sæï:ÊÀ Ë—5‡ÓxÈýç|ÿþ¹66ýš°S'Å“'—êêv–”” ¢¾žýë¯Ã ‚èÖ­ƒ——õßoܱÃîÅ‹ÂÉ“}--w>œÎ»—¾NVVºW/u‚hòË<ñññkÖ¬ ,** òòòŠåmZµj•Oqqq\\\JJ ï(Š¢ÊÊÊçÍ›×ù)Š*//wvvž?~kŒ@/‚@§ÜÜâ#Gn,]ú}í@‚ z÷VoæsïH’d0ˆ}ûfYY|}O5µö§N¹Ò ˆAƒºõé£ÁÛÄdJΘ1(!á·ØØe††]þ÷¿Sýû¯_±"úéÓ÷ß¾ÂÛÛÛÏÏo̘1òòòæææ¾¾¾üño“¿¿¿………œœ\=BCCÈd2?~Üp%·!Çý€ ˆÂÂÂI“&)((Þºu‹·Ï–-[”••ÕÕÕcbb6mÚ¤¢¢¢©©yéÒ¥†CIKKÏž=ûÉ“žsÞèPyyy222¼yÎ ´Püý/wî¬do?ø{”••nôñ~ÒÒ’’’ ^Èý‡X[[M]]©9öoϦ¤¤q—õôôÒÒÒ=Š¢¨ÚÚÚŒŒ nØŠ¢òóó¹-º†/‘‘‘!BBB¢árÃ(Šz÷î’’ï,pSC´E(¯_EGßrw·øÞ«yôô4Y,¶¤$CI©Ý®]ö:=xìØM‚ –-O’ÄæÍSgÏAI’›7O7oÔ’%‡"#oðókA}úhlÛ6ãÎ k×Údf¾¶¶Þ3vìŽððkåå5|ŸK„­^½ÚÍÍ-))©¢¢"99ÙÃÃcåÊ•ÜM^^^®®®‰‰‰UUU999NNNÍPAAáåËîò¶²²Z±bEaaann®ƒƒÃwSWW?zôèÊ•+ ›jôèÑ[·n­®®ntváEÐaÙ²c#Fx³XìPZZÕµëò N—–Vs׬^}¼OŸ5?–SuófΗ‡øû'jhx%µxÒæ¸wïÍï¿Gõè±B[û· ÂRSŸp¸'›ÅAQQQßÜ-,,ì§Ÿ~b0A„‡‡7ÜtèС>}úHIIqöѹ¸ 6lPPPà~,**rppPVVîÖ­[ttô—‡7ºÜpåÞ½{§OŸÞÔP¹¹¹£G–’’jtö¯ˆŠŠÂï0Ð× ^¿.5êÏíÛíZp›HC¹¹ÅZZ*¼åå5£Fm53Óõñ™ÙÔ!¡¡ikׯ,^lîåeý#SSyyÍ™3‡‡_{ø0¿{÷3g™9s¨ŠŠ\«N*´šs`C®®®qqqÜZJ„áA  A §çÑŒŒWÉÉ+›s)Þw9}:sÉ’ÃQQ‹FŽü©©}ŽI_¹òøìÙ#6ožÖÌgÐüˆû÷sN‰¹ÃbqÆ×wt6räOâöT‘ï-Å A ®A{ñ¢ðĉ 7·±|¯ ‚˜2e€¹yïU«Ž×Õ±šÚç—_†üzøpº»{¤ûÂ}âÌßoܲeZNN½}ШQ[.W¶öÔ_‡BÍ×7AGGmÚ´­4þæÍÓòóKöíKþÊ>“'÷÷÷w<{öïeËŽÖ× âÆOyyGÇa‰‰¿ÇÆ.6¬‡Oü€\\¯^}ŠnÐ… TNNÁÉ“w<<,Z£È¥££æê:vÏžø×¯‹¾²›M¿ƒ.\¸ïä"È÷Åq„™™ÿ6MM·\.)Aƒ … ÔÞ½ ݺ©M™2 Ugqu«¥¥²zõ‰¯ï6fLßS§–Þ»—;uªÿÇ­é3 2ŽŽÃ~;vlaïÞ·o¿4tè–U«Žß¿Ÿ+È æP‚à<^pêT¦§çøÖkrIIIlÛ6#%åÉùó÷¾¾§¡¡Ö¹seeÕÖÖ{^½úت©¾D’ä¨Qºû÷ÏÉÈXÏ}g¥åî±cw„„¤~úT%à0 †P‚àìÙß½{‡I“ú `®¡C{ØÚ\»ödYÙ7žê¬­­zú´›‚‚Ì”)¾æ Û—:t_ºtLzúÚØØehoÛvÑÀ`÷-Æ‚¹„ÄòìÙsóíþþŽ“'÷ÌŒ%%•&&N›6pÓ¦©ßܹ²²ÖÙ9ôîÝ7aaÎC‡ö@¼¯¨­eÅÇg>œž–ö¬C‡ö66ý†ôé£AoªA’¤‡‡Ç°aÃè"tÒÓÓ÷ìÙƒßa  AÅ‹=yò.!áw<º',ìÚÿþ·¼9UT]ËÍíHll–Ÿß/66‚h[~Ó‹…§NÝ‰Šº•—Wbh¨åè8lêÔrrLºs}7q{nâ÷Âï0Ð… £Gï,,vÎÌya‡š4i/›Í9wÎCRòÛB°Ù/¯“GŽÜøãÛ_.€„ÍÁáP×®=;|8=6ö„ÃÂBO<ŸJ |'±aú3€è[·îI’ÞÞÓ\»$9thŸx‡>¼ç7÷g0ȱcõ˜LÉÿýïtM kÔ¨^ùM$Ijk«ÚØôsr©©©œ”ô(((éÌ™¿««ëºuëЄ $PB«{ôèíºu1ÞÞ¶ººê‚Ÿ]YYŽÉ”Ú¹óÒØ±z:5ëŵƒw———ݹ3¶ººÎĤ—ð4Þdd¤ µfÍaa¡WRR~- àÊÍ›/dd¤ºwïÐÚ÷b€èÁ©ahu..á99 ¿ÑUQq8Ô´iþ••µ/zJII4󨘘;žžG'L0ܳÇÉ”lÕ„-SVV}êTæ±c7ïÝËÕÒR±³dkk¬££Fw.h3PBëÊÎ~ka±óÀ¹VV4ÆÈÉ)°°ØéînáînÑü£îÜy=wî.]TÂÂæuì(ßzñ~УGo½yêTfqqåÀ:Ó§OžÜOQ±ݹ@Ø¡„Ö5~X^^ñÅ‹ž´Ÿ` ¼²mÛÅØØå}útnþQ¯_ýúëþŠŠÚC‡æëéi¶^¼ÇáP/OœÈ8}:³ªªnĈŸ¦O7ž8Ѩ];iº£€B!­ˆÛ¹e‹í¬YÂòX™oúð¡ìܹ»'NdÜ¿ŸÛ¹³Ò„ †3géÛ· ?˜ø w Ck¹w/wãÆ³Û¶ÍèÑ£#ÝYþ¡¢"'))±sg¬••¡šZûæ(!Á°´4 (jË–sŸ>U™™õ¦ýLws´oÏ0@ÛÑq˜µu?&SòÌ™¿ýý/Ÿ;w¯²²¶{÷Ž8e èBk™;7¤  ìÂair±ÙœI“ö’$yæŒ[ N•ž=û·»{¤……ž¯ï/22R­‘°õð."¼@hï±e±8“&í• OŸnÉ b‚ >|(=;äÝ»O¡¡Îhó=¡€=yòþüù»çÎÝ{úô½ŠŠœ¹y›~£G÷iÎ š íB!ü7kVpIIå¹sBÚäzöìøq;W¯¶^°À´e#TUÕ-Yr(9ùñÎö¶¶ÆüGT„b… ðYfækkë=‘‘.ff½éÎò ;wÆþõWrbâïÚÚª-¢¨ÀÀ+þyÁÁa¨··íw=žPÈ=yò>1ña|üÃÛ·_¢"U(Ï÷WVÖž:åJwo«¯gO˜à#'Çò¯_%$<&f)ÝA¾ChhÚúõ§NŸvûÁ{>JJ*]\ÂïÞ}ãçç( ¯Ôk=oÞÅÇÿÓ#TRjgbÒkìØ¾VV†íÛ3éŽß… ðÍÍ›/¦Nõ‹Ž^4rd/º³|Š¢fÍ ~ýº(.nù>Z™ÅâlÜxæàÁ«Ë–[¾Ü’_ …Vvö󯯱±²²òÛ·gŽÝgüxý1cú(*¶£;4 Aà›ŸÞW_Ï:y²-µ¹>|(57ß1eÊoïi?>ÚáÃé^^''L0ôñ™ÙæÞ>Ò2ÅÅ•—/gŸ?/%å ‹ÅÖ×ïbaÑׯ¦_ËÓƒBøãÆœiÓü_2bDOº³´DlìgçЈˆycÆðáU(·n½˜7/T]]1,lž††ÒØVTW×¥¥=;wîn|üò²jmmÕ±cõÆÓ6¬'n.B(?ìì‚8ΉKèÒrîî‘©©O¯\ù]YYîÇG{ûöÓܹ!å:õï/vïê`³9wî¼:wîÞÅ‹÷ß½ûÄ½ÝØÂBÏܼœ.%(ÒÓslmýOŸv<¸;ÝYZ®´´ÊÜ|ǰa=üýù2`YYÍâÅ7o¾Ø³gæÄ‰F|“ÑÑÑ->–á^¾,ÏÊ*yð øãÇYYɾ}•¦Oï&++ÉÇ„`ggGwh“P̘@Äñãm¸È•–öì矃vïžig7ˆ/²Ùœ?ÿ¼”´`éš5Ömô‰Óüz@Œ””“ÙCZZ³¸øAà—‡ŸðK-ƒB~ÔõëϧO8sÆmРntgáƒ]»býý/_¼èÙ§¿Æ¼|9ÛÕõˆ––ÊþýsZü‘$…ž“pŠŽŽ¶··Ç/9´ .߆µmÛÅ‘#{‰FH„§çxccÅ‹ÕÔÔókÌ1cú&&þ.%%aeµûòål~ ðƒP¹víùíÛ/W¬gæ1¤¯ï/å7žáã°J11KmmgÍ:àí}žÍæðqp€–A!?dûö‹£Fé‹H;«sg¥;íÃï=û7‡•––ܼyª¯¯ChèU{û ‚‚r>Ð(¡å®^}zûöËßv ••Á¬YÃW¬8ž›[Ìß‘mm/]Zöñc…¥å®Û·_òwp€ï‚BZnûöKff½Ô¡;H«Ø¸qª¦¦òÂ…áõõlþŽüÓOΟ÷4¨›­­@Àe\æß¦ñë–jZ „JIy’™ùzåÊ ti-L¦äÞ½¾õóKäûàíÛ3÷í›õ¿ÿMÞ¾ý’“ÓÁ²²j¾O!x‡ÒÕÕ•––ÖÕÕˆˆh¸)22R__ŸÉdöìÙ3,,Œ»’$I’$™LæàÁƒ333y+?[h±œœ[[ÛŽ;ÊÈÈŒ5êüùó-¹Iòåá¨@x „Ú¹óÒèѽŒ´èÒŠôõ5×­³ññ‰OK{Æ÷ÁI’œ7oTtôâ»ws­¬|=zË÷))>>~Íš5EEEAAA^^^±±±¼M«V­òññ)..Ž‹‹KIIáEQTYY™££ã¼yóøiÆŒFFF>,--ݼysPPPËÆá{Ë=`"À÷»r呆†ç½{oè"®®‡ûôY“›[ÜJãçç—X[ûüôÓʘ˜;­4Å""**êëûŒ5êÔ©S¼111&&&¼MgΜitXîBEE…¬¬lÕŸýFØØØÈËËܼy“·çæÍ›•””:uêtòäÉ7*++khh\¼x‘»ƒ¢¢â«W¯¾œ´áÈAìÞ½»K—.$Iòv I²[·nqqqŸå|þü¹±±±œœÜÊ•+y+ ‚Ø´i“¢¢b—.].\¸ÐèM}ñ/mêË~ETT~É ÅЄïFQÔ¶mÇŒéch(Êí@ž?ÿœÞ¡ƒ|k\,È¥¡¡ãúóÏC–.=ìáYYYÛ³´¶¬¬,SSSÞG33³¬¬,Þ&“¦¬«« éÝ»wÕÔ«%www[[ÛÂÂÂmÛ¶ÍŸ?¿á±yyyþþþ,ëÍ›7{÷îõôôänݰaÀ&Nœ¸|ùòË—/7:2AÙÙÙ™™™‡·‹Å uwwÿ,ª»»»¥¥åÛ·oŒÿürÖ××çååíÞ½ÛÃu™é IDATãÑ)¾â³c¿òeZ…ÀKOhójhxÞ¿ŸKwÁyôèm÷î+6mj¤­ÅGiiÏú÷_ol¼ñÆœVè{Í誨¨ÿÛ4-..VPPhtSÃa ‚––8pàíÛ·y+?[ (JUõß×±0 ÞÕÕÕE±X¬†Ë¼?~üxúôé-[¶ôéÓgÕªU_ŽLDII ïc||¼´´4A¼qxû+**~úô‰¢¨’’’†9yS7ÌÖpŠ/¿øWŽmôË~:‚ð#ЄïCQÔŽ±cÇö50èBwÁéÝ»óæÍS÷íK¾téAëÍ2bDÏÄÄßõô4gÌص+¶m=tZ__?55•÷1%%ÅÈȈ»¬§§—––ÖèQEÕÖÖfddepŠ¢òóó¹¿Ylö¿}Y‚ $$$.7ÜAUUuòäÉ^^^)))M]#¨¤¤Ä[vrròöö.---++k8Î×ñ¦æµ›ïËc›ú²­… |ŸÄÄìò~ÿÝŠî ‚æà0tútcOÏ£oÞµÞ,**raaλvý˜4eŠo«ÎÅ_«W¯vssKJJª¨¨HNNöððà^HG„———««kbbbUUUNNŽ““SsTPPxùòŸç,ZYY­X±¢°°077×ÁÁ¡™‘¬­­SRRjjj>}útðàA--­/GþLuuµ‚‚B}}ýºuë¾Ü:bĈݻw———ïܹ³ùá¿W˾,@ ÑÓˆ„¶‰ÃጷsΜt¡Gee­©éV+«Ýµµõ­=×½{oFŒð60X÷ µçú&¢§†)Š ûé§Ÿ¸×Ï…‡‡7ÜtèС>}úHIIqöѹ¸ 6lPPPà~,**rppPVVîÖ­[ttô—‡7º|þüy&“©¢¢bii™••õåÈŸe SSSëܹóƉ/NR?}útàÀrrrnnníÛ·ÿÊÔŸMñÙOî—#7\nôË~N À )<Èš->>kî܃ññËõô4éÎB‡ó­­÷Ì™3rýúÉ­=Weeíúõ§##oüüó§ÈËË´öŒM!I2**ÊÎή™û»ººfddÄÅÅq‹!SWWçççwúôé«W¯Ò… "::ÚÞÞ¿äÐ285 ÍEQÔα––úb[¡§§¹yó´ýûSøûâFÉÉ1wî´ŠZ”’òÄÄä„„‡­=#¿øùù¥§§‹dH’d»ví"""|}}éÎÀ(¡¹ââ²²³ßŠáÕŸqt6gÎw÷È{÷r0‰I¯¤¤#Göš3'dŊ說:L M¡(ŠÅbÝ»w¯ÿþtgà‚Ð,µ}û%++ÃÞ½;Ó…~6L0@{޼Т¢ L§  ëïï¸mÛŒS§2­­÷<|˜/€I@ „f‰}ðôéûß~³¤;ˆP’’Ø·o6‡C-ZtˆÅÐC^‡%'¯TU•³²Úíí}¾¶–%˜y@„¡„oãp¨;.Mœh¤««NwaÑ¡ƒ|pðœ[·^lÝzA`“jj*=ºhåÊ ¤Lœè“•…Ö ü‚ðm/ÞöìÃòåãé"\ Ðööž”töì]M*)ÉX²dLJÊ*•ö––»pÕ ü‚ð µkW¬µu¿^½ÐüÜ/¿ ûå—¡Ë—{üø çíÚU5*jáÖ­3NŸÎ;vGzzŽ g‘!IwvçÏß{þ¼`ÿþ9tR›7O»?ÏÅ%üÂÏöí™›—$IGÇa#FôôôI úKÁ÷Â/9´ Aøš3gþvu=œ’²ª[·tgj÷ïçNêïà0tóæ©´(,,ß¼ùì‰züa«©©LK h[$6lØ@wRl6gþü03³>CéÎ"ì:uRìÞ½ÃæÍçÔÔÚ÷ë×Uðää˜VV†Ã†õ<~ü¶Ÿ_¢„cà@Á·' mA!M:sæï¨¨›ÁÁs””ÚÑ¥ ÐÕUçp8Û¶]4H§kWUZ2hi©ØÛ./¯ñ󻜖ölÀmUÕö´$€6§†¡q,ÇÔt«±±ÎÞ½tgi3(ŠZ¼øPJÊ“ <è=™þàAÞŠÑÙÙoM<=ÇËËËЄ AhÜÉ“žžGSSWëè¨Ñ¥-©©©·µõ/+«¹pÁCAA–Æ$E?oãÆ3UUuË–Ÿ;w¤„ÿBÁbqFúsÈî>>3éÎÒö|øP6a‚ÏO?u:|x¤$͵WUU]PÐ?¿ËººêÞÞÓŒ»Ñ›„ :ЈS§îäç—¸»[ФMêÔI!,Ìùöí—7ž¡; Ñ®ôòå–.x´k'=uª¿—×ÉÒÒ*ºC€°ÀÍ"ð9‹ãâ>nœ¾½ý`º³´U:)hj*ÿùç Eƒ.tÇ!:vTøùç!]BB®îÙ_^^;p ¶´4ž' îPÂ玿sçÀ¹ô^âÖÖõí«AQ”·÷¹~ý´»uŠë,{ôè8sæ’$‚ƒSNžÌèØQ¡W¯NxX4€8Ã5‚ðõõlSӭÇ÷ܹӞî,¢ÀË+æèÑÇ/8P‡î,ÿúô©* àJppŠŽŽÚÚµ6cÇö¥;Ðל<™‘Ÿ_âé9Žî "bÓ¦)ff½gÏ>ðâE!ÝYþ¥¤ÔÎËË:>~¹¶¶ê¬YÁÎΟ?/ ;ÐAøW}={Äo3³ÞÛ·ÛÑEtÔÔÔϘXTTqö¬»ššÐ=Þ9==góæ³÷ïçZ[÷swÛ§݉@pЄ?~»  7 󗌌Txø<ƒœ5+¸ªªŽî8Ÿ6¬ÇÅ‹ž11K‹‹+ÇŒÙ1y²oBÂCºC€€ #ÿ¨¯gî=fLŸ­[gÐE½zõqÒ¤½ýûk<è$´v¾uëE@À•„„‡ƒu[ºtÌØ±}q+ €hÒ@ð¢¢n–»¹¡Ø*ttÔ""æ_»öÌËë$ÝYš4xp÷ððy‘‘.EÌž}`Ê¿„„‡þVYx| AÔÕ±,Ÿ2¥ÿ”)èÎ"²ÔÕut:üùçEEÙ´éŽÓ$µ™3‡ ÜýæÍþþ—cbî°Xœ^½:1™RtG>C!AGŽÜ¸té~pðÜöí™tgeººê ²ëןîÚUEOO“î8_£­­jo?xÚ´µµ¬àà_ßÄGÞih(ih(Ñ ø… pÛaS¦ œ4©ÝYD߀ÚL¦äºu1=ztìÝ»3Ýq¾AYYnÔ¨^sæŒÔÐPJJzä뛘ÍdJöê¥.´W:@ó¡âСôØØÁÁsÐŒÁƒ»WW×oÙrÎÀ K÷îèŽómÒÒ’††Z¿þ:ÜØXçùó‚}û’¢£o•”T©«+ª¨ÈÑZw ‹»ššúaöX[÷Û¼y*ÝYÄEQ«V8~üöáà †ïIwœï“—WuóĉŒ×¯‹ жµ8yòT„m AqzuË–óéék;v”§;‹xáp¨%K]¹ò(:z±‘‘ÝqZâÉ“÷'NdDEÝ,.®8PgÆŒAS¦ @_  A!(Ö¸íÀI“úoÜ8…î,⨾žíì|03óuLÌÒ^½ÔéŽÓB55õ—.=8~üöÕ«Oåä˜VVÖÖF£FéJIIÐ ¾… X Iýã hÒ¨¦¦ÞÁᯗ/?ž9ãÚµ«*Ýq~ȇ¥11™çÏß½{7WAAvüx=kë~¦¦ºRRyyyׯ_§; >|x—.]èNb … øª®®6lËÔ©ׯŸLw±öéSÕ´iþõõì“'—ŠFEž—Wrá½óçïef¾–——?^_I©|óæ%Ŧ;š0ŠŠŠ²³ÃÛ½€(Å×þý);v\ºys.ó§Ý‡¥Ó¦HJ2NœXÒ¡ƒ(Ô‚\%%•‰‰ÙçÏß»r%ûÝ»,V݉„I’(€Fx˜˜ª®® ¸ˆN-È%/×Ó#‚⨲²Öß?qÖ¬h 5µöÇ/ÕZ„ Aq~­®Žµd‰9ÝAàsÜZPRRbúôÀpE´.‚b§¢¢60ðÊœ9#••ÑFjjí_,!Á˜>=µ ´*‚b'<<­®ŽµhÑhºƒ@“:tçÖ‚3fˆ×=‡ÒÕÕ•––ÖÕÕˆˆh¸)22R__ŸÉdöìÙ3,,Œ»’$I’$™LæàÁƒ333y+?[h²1Í<ðGæ‚⥢¢600ÉÉÉí@!סƒü‘# êêØŽŽ}üXAw‰_³fM```QQQPP——Wll,oÓªU«|||Š‹‹ãââRRRxGQUVVæèè8oÞ<þæ¡þßgË"… x ½Êb±.D;° ÐÔT>yrIuuý”)¾yy%tÇooo??¿1cÆÈËË›››ûúúþñǼMþþþrrr=zô mx “Étvv~üøqÕܶ¯WXX8iÒ$CCÃ[·nñöÙ²e‹²²²ººzLL̦M›TTT455/]ºÔhÂ/Y¼xñ‘#G¸[=ºhÑ¢Ïæf(ÅHyy;}ÉÎΣ””ÚÑšESSùüyw•ö'ú<|˜OwœV—••ejjÊûhff–••ÅÛdbbÒÔuuu!!!½{÷n¸²a' www[[ÛÂÂÂmÛ¶ÍŸ?¿á±yyyþþþ,ëÍ›7{÷îõôôlt¢/Ù»wohhhbbbrrò|}}?›@˜áÍ"bdïÞ„  ¤[·Ö)(ÈÒ¾CUUݼy¡™™¯#"æ Üî8-mooÿÍ_UUÕçÏŸ+++s?–””èèè”––~¹‰‡Ûu“––600Ø·oŸ±±1w%w.ÞAjjjEEEÜeƒÁf³¹;TWWËÈȰÙlIIIÞ2“Éd±X gáŽÓè ¦¦¦—/_îÔ©Ógó~Þ,ôBGP\”•U%Í›7 U`›Ó®txøÑü' Ne0óæ¢;ðÍ‚¦‡/8q"cæÌ¿ÊÊjèŽm A÷éSUppŠ‹‹™¼<Ú"Å̬÷éÓ®/^Lž¼WL7 |‡BPÄíߟ"--‰v HêÓGãÂiiIkkŸ{÷réŽm AQVTTÁmÊÉ1éέ¢S'Ř˜¥FF]mmýãã³èŽm AQœ"++åäÔ䋹@ÈÉ1t²·âì’úíþîYEE!!W==ǵk'Mwh] oïi;Êÿï§?|([½z"ž`ÍBPdýõW²¬¬Ôœ9#éâîn¡££æáùäÉ{__EÅvt'ú\tt4Ýà?PЦ+¼º|¹%ÚbeòäþzzšÎÎÍÍwìß?gà@mºý‡½½=Ýà?ðfÑ´e˹ãÇo߸±VV… Ø)/¯ñô<š˜˜½v­ n€¯ÀÍ""èãÇŠ°°´Å‹ÍQŠ'yy™àà9¿ÿn¹q㙥KWW×Ñ„ AtE^^WŠ3’$—,µèêÕ§66{_½úHw"F(EMaayXصŋG3™¸TÜ Þ36v™ŒŒÔøñ».^¼Ow:(EM`àEEÙY³FЄBçÎJÇ/¶°Ðsq ÷ñ‰g³9t'!‚BP¤|øP–¶d‰9ÚÀ#++íïï¸iÓ”½{lmrs‹éNÂ… H LRQiïè8œî tæÎ5ILü½¦¦ÞÔtë©x\(EÉû÷¥×–.E;׳gÇóç=–,1߸ñÌ/¿ìÿð¡ŒîD@3‚¢# àŠŠJû_~Fw^’’ŒåË-OŸv}ù²ÐÂbGBÂCºPŠˆwï>>|ÝÕu¬´4Úð êÄÇÿffÖ{öìnnGªªð A1…BPDøû_éØQá—_†ÒÚyy_ß_vî´¿xñþ¤I{=zGw"  AQðîݧ#GÒ—,#%%AwhK†&$üÆdJZZîÚ¼ùlee-݉@ ð®aQ°f͉+W_½º… ´EQ'NdlÚt–Á ×®µ™>ݘ$IºC€  #Øæåæ9rcéR´¡…H’œ1cPZÚêI“ú{zµµ xügŠÄ Á6/ àrçÎJööƒém›¢b»Í›§;¶°°°ÜÊj÷öí—ÊÊjè­ §†Û¶7oŠLLþüóÏé¸Mø£¾ž”äïŸ())±páhgg99&Ý¡ U lÛV¬ˆ¾zõij*®>«¬¬ Kóó»ÌápfÏéê:VAA†îPÀg(Û0n;pÛ¶?ÿ<„î, š>~¬ ¼~]AAÆÍm¬ƒÃ0¼·@” lÃ~û-êÆœ””U¸ÖZѧOU!!©ÁÁ)EØÙ ^´h´††Ý¡€P¶U¯_õçöív¸M£°°<<üZDĵòò[[ã L{õR§;ü‚mÕ²eÇnß~™œ¼í@¤ÚZVLLFppê“'ïÍÌt]\ÌLLzṃm Á6éÅ‹BSÓ­»wÿ@=Ñ–øøÄ÷êÕÉÆí@à‚mÆ£GïΞýÛÝ}ƒ‡÷ l3öîMÐÕílccDwþ8tè®®®´´´®®nDDDÃM‘‘‘úúúL&³gÏžaaaÜ•$I’$Éd2œ™™É[ùÙBËù‘Ú‚mãGoÏŸ¿ëé9ÿ8hˆ_³fM```QQQPP——Wll,oÓªU«|||Š‹‹ãââRRRxGQUVVæèè8oÞ<þæ¡þßgË¢ …`Û°gOBïÞ'N4¤;x{{ûùù3F^^ÞÜÜÜ××÷?þàmò÷÷·°°““ëÑ£GhhhÙL¦³³óãÇÿy`5÷$^¯°°pÒ¤I †††·nÝâí³eËeeeuuõ˜˜˜M›6©¨¨hjj^ºt©Ñ„$Iúøøhii1 ރѽ{÷øøxîš¼¼< Þ_hMMýÙPB¿Jm@vöÛóçï-[6í@YYY¦¦¦¼fffYYY¼M&&&MXWWÒ»wï†+vò‚pww·µµ-,,ܶmÛüùó›——çïïïààÀb±Þ¼y³wï^OOϦæÊÎÎÎÌÌäp8¼YX,Vhh¨»»;w«««‘‘Qqq1¯}ØÔÔŸ  $ðf‘6`þü°W¯>ÆÇ/G!mI’QQQ_³ˆªªêóçÏ•••¹KJJtttJKK¿ÜÔpX‚ ¤¥¥ öíÛgllÌ]Éýã-¡¦¦VTTÄ]f0l6›»CuuµŒŒ ›Í–””ä-3™L‹ÕpÞ€%%%JJJÜõ Ë—/òäI]]„„÷eeå/^4ŒÚÔÔ ‡ú:¼Y Aa—ýöâÅûË—£"E__?55•÷1%%ÅÈ蟡ôôôÒÒÒ=Š¢¨ÚÚÚŒŒ nØŠ¢òóó¹ Bn)Æ%##C„„„DÃå†;|¦aéæäääíí]ZZZVVö•Cššº™U €€¡v»vÅi¯Ow~Z½zµ››[RRREEErr²‡‡ÇÊ•+¹›¼¼¼\]]«ªªrrrœœœš3 ‚‚ÂË—/¹ËVVV+V¬(,,ÌÍÍuppàKàêêj…úúúuëÖñVŽ=zëÖ­ÕÕÕ¼5­15@ëA!(ÔîÝËÍòð°@;DŒ¥¥å¦M›\\\G½iÓ¦‰'r7?~Ë–-nnnJJJ––– /%üŠeË–õë×û¿___Š¢tuuMMM§NÊ—À»víš>}º®®®ŠŠ o¥¯¯ïíÛ·yÿ m©Z®js熔]¸ÐäÅìB¨9×6äêêš‘‘§  ÐªÁÚ\#‚$IwhÒÝ»oââ²""æ{W€¶ÌÏÏîb §†…—Oü€ÚcÇö¥;ˆ&t…Ôß¿IHxxøðºƒ€ÈBGPHùøÄ ¨mnÞ‡î ²ÐF™™¯³##]è¢ Aa´{wÜ!ÝÍÌz{W€–BGPèܹóúÊ•GÇŽ-¤;ˆ8‚Bg׮ءC{Œ¥Kw€–KOO§;B[…ÿê@ð@iáróæ‹©Sý¢£Ù‹î,-„áü8ü2€` .?ÿ¼¯¾žuòäRºƒ€èéa!rãFNjê“ãÇ—ÐÄ:‚BÄÎ.ˆÃáœ8BAa‘žž“–öôôiWºƒ€¸@GPX̘@Î €À #(®_~íÚó3gÜèbA¡0y²/“)½ˆî FФߵkÏoß~yö,Ú PèÒoòd_YYi¼S Aš¥¥=½}ûå¹sît±ƒŽ Í&MòmßžéBw;èÒ)5õÉ;¯.^ô¤;ˆ#tédc³WQQöðátq„Ž m’“gf¾¾t í@ :‚ô (jŸä#"æÓÄ:‚ôHJz|ÿ~^lì2ºƒ€øbÐ@Qµ}û¥±cût¡; ˆ/‚4HLÌ~ð ï÷ß­èb …  Qµsgì¸qzúúštg±†BPÐfeåÿö›%ÝA@Ü¡(n;ÐÒR_Oí@  AŠ‹ËÊÎ~‹«@àñ1‚ÃáPÛ·_²²2ìÝ»3ÝY„H^^Þõë×éNÑŠ†Þ¥ Â… àÄÆ>xúô}PÐ,ºƒ—ëׯÛÛÛÓ¢EEEÙÙÙÑ („ávì¸4q¢‘®®:ÝY„‘¨¾åˆ$Iº#4 × ÈÅ‹÷Ÿ=û°|ùxºƒü…  p8Ô®]±ÖÖýzõB;„N Âùó÷ž=û°ÿºƒü ÁVÇáP»wÇMšÔÿ§Ÿ:Ñà_趺sçî¾xQêDw€ÿ@G°u±Ùœ;.MšÔ¿[·tghó:¤««+--­««ÑpSdd¤¾¾>“ÉìÙ³gXXw%I’$I2™ÌÁƒgff6\I’¤œœœ±±qBB‚€¿€ð@!غΞ½ûæMBt IDATnøqñññkÖ¬ ,** òòòŠåmZµj•Oqqq\\\JJ ï(Š¢ÊÊÊçÍ›×p%EQ?~\±b…£££ ¿ €Ð@!ØŠX,ÎαS¦ @;àÇy{{ûùù3F^^ÞÜÜÜ××÷?þàmò÷÷·°°““ëÑ£GhhhÙL¦³³óãÇVII‰·L’$ƒÁèÞ½{||$IJKKìß¿Ÿ·’û“êêê   5kÖ$''‘°|ùò'OžÔÕÕIHHðvÞ±c¯k8wî\OOÏ!C†L›6 Aè¶–S§îäç—¸»[Ð@Dèë맦¦ò>¦¤¤q—õôôÒÒÒ=Š¢¨ÚÚÚŒŒ ccãÏ6ÉÊʺ¸¸Üºu‹ûÑÉÉÉÛÛ»´´´¬¬¬a‰ÙðÜñÎ;Oœ8¡««»~ýz\\"…`«`±8>>ñhðÑêÕ«ÝÜÜ’’’***’““=<I’AÈÊÊ0€wà®]»¦OŸ.%%µpá¦466¶²²ÊÏÏïÑ£N € ¹×ÊÕ׳MM·ÞsçN{º³´ÑÑÑööößõ[äêêš‘‘§  ÐzÁø‚$ɨ¨(;;;ºƒ4Aþã¶==ÇÑ@dùùùÑ@àA>«¯gïÞgo?XSS™î,_ƒBÏŽ¿]PPŽ›…@ø¡ä§úz¶OüÏ?£m A~ŠŠºUXXîæ†v ´(ù¦®Žµwo‚ƒÃ ¥oï @7Ü5Ì7ÇŽÝ**ªpwÇÍÂÍR^^û 11ûÊ•‡íéŽ ŽPòG]Ë×7aæÌ¡: ûSÍèUTT‘˜˜Ÿ•’ò¤¦¦ÞÈHËÔTýÅ vtt4ÝÑÄ AþˆŒ¼Y\\éæ6–î ˆ¢¨Û·_&$d'$<|úô½‚‚̸qú>>3MLz))µ‹ŽŽ ©¶·ÇØ oლšúaöX[÷Û¼y*ÝY„H]+%åɹsw““üX¡©©lii`cc4p Ž„.P :‚|pôè²²WW´‚ Êã㳦¥=«©©76Öqq1;VOWWîhð(TMM½¯o¢£ã°ŽåéÎ@§§Oߟ;w7!!ûáÃ| †©©îÖ­ÓG†A„ ÁuäHzYYÍ’%cè@ìì·/ÞÏÊÊÊ———=º÷‚¦ææ}””ÚÑ ¾…à©®®óóKœ5k8Ú V(ŠÊÌ|séÒý‹ï¿zõQCCiüxƒµkm† ë)%%Aw:h.‚?äðáôÊÊ:\b‚wóGbbö§OUƒuûå—¡¸ø íB!ØrÕÕu—gÍ®¢"Gw€VTQQ{éÒýóçïñnþX¶lüøñúZZ*tG€‚B°å""®WUÕáê@Uõõì«WŸž=ûwlìƒòòÚ~ý´–-7a‚a·nèŽüB°…*+kýügÍv ˆ6›“žžsöìß.Üÿô©ªÿ®Ë—[Nœh„—hˆ‚-q½®Žµd‰9ÝAø£¾žœüøÜ¹»ññËËkŒuV¯ž8a‚!þÔa([¢¢¢6 àòœ9#••ño$´y÷ïçž>yöìÝ·o?õìÙqþ|ÓÉ“û÷ìÙ‘î\ÐêP¶DDĵº:Ö¢E£éÐroß~Љ¹sâDÆÓ§ï»vUµµ5ž<¹ß¾tçÁA!øÝ**j®89™ mQQQÅ©S™'NdÜ¿ŸÛ±£üŒƒÿúk6žÿ žP~·ÐЫ,{áB´¡-©¯gÇÆ>8q"#9ù±””Ä„ †^^ÖÇ÷”`Ð hƒBðû”—×ìÛ—ìì< ¯Ï‚6¢¨´´gÇßæÞ2räO;wÚ[ZÈËËÐ è‡BðûœŸE’¤µµÑ±c GŒø‰Á éŽm Áf Ne0óæ¢;ˆ¯¼¼’¨¨›11™/_êëknÞ~¬8xðê²eãÑþâ¶»•“Sз¯Æúõ“'Oî{Ò@ðP6iß¾$99æœ9#é"‚÷,踸,IIÆ´iEæA0Ðá…ôûø±",,mÑ"s´áÇ•”T\65ÝjoôüyÁ–-Ó237nßn‡*°™:¤««+--­««ÑpSdd¤¾¾>“ÉìÙ³gXXw%I’$I2™ÌÁƒgff~}gq†B°qAAWäåeçÎE;~ÈÕ«O]\Âû÷ß°{wüС=bc—]¾ü»£ã0¼«°ùâãã׬YXTTäååËÛ´jÕ*Ÿââ⸸¸””ÞQE•••9::Λ7ï›;ˆ/ ¾PPPÖ½ûŠýû“émUqq…¿¢‰É;{˜›o;tèzii5Ý¡„AQQQ_ßgÔ¨Q§Nâ}Œ‰‰111ám:sæL£Ãr***dee›¹sÃe‚ vïÞÝ¥K‚ ”•• ¹ë UTTŠŠŠ llläåå nÞ¼ùÍo…ß[Bè6"0ðŠ¢¢ì¬Y#èmÏ£Go׬91lØ–íÛ/õê¥é’€àÉÊÊ255å}433ËÊÊâm21iò¦þºººÞ½{7gç/egggffR5mÚ´ýû÷sWþõ×_Ó¦MSQQqww·µµ-,,ܶmÛüùó¿û[Ü,ò¹JÃÂÒÖ®µ±wyA«ª«c]¸p?,,íöí—ZZ*‹™ÿüóNèÎ%šØlö7÷!IRZZÚÀÀ€WÃ}¯;v())áêê:qâÄ+VPtñâE‚ âãã=:g΂  üE mjÏ&©¨´wtNwh?~wðàÕ3gþ®©©Ÿ<¹ÿæÍSq éë맦¦Nž<™û1%%ÅÈȈ»¬§§—––fccóåQÔoõmjgƒÁf³%$$ª««®çVAõèÑãĉEõèÑÃÐÐ;~~~¾††Æ?:áÙÿxÿ¾4"âÚÒ¥æhг·o?W~}Ÿúzö¹sw'Oö57ßž”ôØÍmìíÛë}}AÈw«W¯vssKJJª¨¨HNNöððX¹r%w“———««kbbbUUUNNŽ““ÓWÆijçîÝ»ÇÄÄTVVnß¾½©c]]]÷ìÙ³wï^777î++«+Væææ:88ðé»­W( µkc ØP[[Ow Í“'ïúõûŸ¯oBS;äåoÙrÎÈh††ç¬YÁ©©OØlŽ Š¢7‹PöÓO?qÏÀ†‡‡7ÜtèС>}úHIIqŸÃ¶ÑqÝùìÙ³šššŠŠŠ[¶l!Ü,ÒðÀúúz------‹Å]STTäàà ¬¬Ü­[·èèèo~Ü,‰¤¾8"¶Þ½û4|¸÷úõSæÌÁm"bêÎW3gþUQQÓ±£BFÆzIÉ[æE%&f8zíÚ3EÅvC†tëÖÆ´"€$ɨ¨(;;»fîïêêš‘‘§ ÐÆ®¿ŒŽŽ¶··Çï-œý—¿ÿ•Ž~ùe(ÝA€gÏÞ]ºô0‡CQXX~éÒ}›~A””TFFÞˆŒ¼ùòe¡±q·  YãÆéãâûð¡,?¿$/¯$?¿DZZó»Žõóók¥Tâ ÿ˜ýãÝ»OGޤoÚ4UJJ‚î,@ƒˆˆëkÖœ ¨n2 I288E]]ñÀÔ¸¸, †­íÀ  _q `3Õ׳߽û”Ÿÿ)/¯87·˜»À­ÿêêXA0d‡ RRjt'k(ÿáç—¨®®8s溃 ¼½Ï\&I‚wâŽÃádd¼š<ÙWCCÉÃÃÂÁaXÇŽò´fFE½ySüáCé‡eoÞ½~]ôúuчe>”•–Vq÷QPÕÑQÓÖV54Ô²°ÐëÔIA[[U[[UQ±A$¹‘Öo îPAäæ9rÃÛÛí@qÃbq~û-êøñ[A|vù–¤$Ã̬wh¨³„„¸ß\ÏbqòóK”zÿT~ïÞ•òÚ{ZZ*]»ªvê¤`h¨Å-õ¸ed¤èŽMB!Hp¹sg%{ûÁtª©©_¸0"1ña£Wð³XœÔÔ§åå5JJí ¢¾ž‘ñjذ›±²²6'§€ÛÒ{ýºˆ[ù}øPZ\\Y_Ï&BR’¡©©Üµ«ª¶¶ê¨Q½:vTPWWìÚUµsgEiiü˜´=øí&Þ¼):zôæŸNG;P¬”•ÕÌž|çÎ+îÝ!âp8QQ·\\̘‹ ¢®ŽysÏžx99æµkkø>>·¥× Ôû§òãÏ•——éÖ­ƒ¶¶ê AÝÔÕ¸•ï|.ˆ ‚„¿ÿe ¥3ѧ¸¸ræÌ ìì÷l6ç+»±ÙœÐд LI’L°ššú#GÒ÷ìI()©äp¨¹7™Íæä啼ySôþ}iAA÷¬.÷cm-‹ ’$;v”ïÔIQ[[ÕĤ—££ª¶¶jÇŽ êê (øÄ„¸‚oÞEEÝÚ¶m†h´£££éŽÐ×füXCƒA’$I’EÎçOy“”d|úT¾sg¨¶v{þfÐÒÒ6lXÃ5¥¥U¤îߟR]]ÇbýSžÖÖ²ŠŠ*TU¿6{uuÝ›7ÅŸ•zeoß~âžÏ•`téòÏùÜÁƒ»q+¿®]UÕÕ…á!8ééétG1ùšÐæˆû¥û-êÆœ””U¢qC€ÀWm—„„œ¢âx’dD-›]MQ5N-‡SKQŸÿ'‡SK_ëþˆéÓ§?~œ»üéSU@À•ƒSëêØ_v(/]Zfd¤EDYYÍ«W…ÿ_ê•ñ*?ÞùÜví¤{öìÔ©“÷Î\nåש“‚ŠJ{¡ý;GÜþ?VÌo@Ñß Ñë×EÇßÞ¾ÝN4ª@®ïzOÐbƌ܅‚‚r?¿Ä#GÒëë9l6ûË=I’\¿þE¹¹ÅeÜË¥¥%55•55•ûôéla¡§¥¥Ò¥‹²¦¦²††’Ð|MAa@/±.÷îMèÚUuútcºƒ€Ø©«c¬[wêðáël6‡w"øK’’ŒOŸªGŒè9~¼~—.Êšš*]º(wì(/n4h%â[¾xQxüøíÝ»¥v ¿¢¢Š×¯ß½“»};µ»“£FõÚ´ij«Ç±$¾5Ÿ_¢ŽŽÚ´iéâEQ±šZ•¶v錃´´T‚ RFFŠÁh¤ÉW_Ïzó¦XÀ @|ˆiG0'§àÿØ»÷¸˜ÒÿàçÌ43¥ë(—R’ÒÅtY$TS¡dí¶Xź¬Ý\Ö¦ˆ\bÝ÷6­(m…ÂZº_]Š„¶¤tÕEî5·óûãøï¨)évšéó~ùcÎsžóœÏÔcæÓsžóœK—2Y àŸÉÈPäåyòò<ÿ%‚ÔÔ4>xðêá⌌—57ó¨T …‚â7ü"òêU©ñfƒ4êðÓ[¨TŠ‘‘Æ×_[úù-NOßùôéþà`·•+m:¹›è‰Á˜ 97vì°/¾ø„ì@È»}ûö€€€êêê'NøøøDGG»¶nÝêççWSS“’’B…aX]]ݲeËV®\‰—“ðÚižPQ2sæøM›fËÈ Æÿ§ú6Èäæ–kjn¼r%‹ì@ú‚ ááá×±±±‰ŠŠ"6###Ùl6±ëêÕ«b›Å_444ÈÉÉaÖØØÈd2³³³•••ˆj[¶l‘——Ÿ^xùòe‹Å`0´µµOŸ>½9ß<|ø°¦¦&~±/AQTGG'&&/)..¶··g0H»•çĆ'ZøêÕ+[[[;;»ÂÂB¬ãë¹]ìû"êWVV:99)**š˜˜dddtþÃÇ9;;;;;w¥&ЧÝHƒŸ_¬¾þ'§A:ˆ Hvv¶­­-±igg—Mìb³ÙÈår ‰ŠŠ²²²b±XÖÖÖ‘‘‘DVVVfooïé鉗¸¹¹Ô××§¦¦¦§§#ï§nxgÏžeee …ï.€bÆçóÏž=ëáá—¸»»›™™ÕÔÔǶi¡Mx¢ÜÝÝ---KKK§L™‚7(zxû¦ÚŸ]ìû"xxx,X° ªªê×_ussëè§ Dý–rÏž•µáêÕ‡dÒW.Œ:Ϩp555JJJbw‰6‹ NŸ4iÒýû÷1 ›5k~¢°°0¢‡ÃÁ0ŒÃᨨ¨à…^^^'N\»vm\\œhƒ¢¯ñ£p±±±&&&t:A*•Šª¨¨´ ¬M m­ ¢¢‚·_SSÃd2ÅÞùÙž/â(UUUâ…BiÿÓkF ƒkDÐß?ÎÀ@ÝÉÉŒì@Èdllœšú¿¥ŒSRRÌÌÞý@X,Ö­[·Ä…aXkkkff¦¹¹ùëׯ-Z„¢èW_}•PVVÖÑéuíƒáuñ±ºqv ÃJKKñÿN]Q"øüyÙõë6l˜5pî%ŶmÛÖ¯_Ÿ””ÔÐМœìéé¹eË|—»»{|||SSÓË—/]]]ŶpáÂ…o¾ù†øcbÅŠ¡¡¡ø®C‡Õ××ÿöÛo666xÉêÕ«ù|þ÷ßïëëKÜ•¢¤¤TPP ¶ñææf%%%·sçN¢púôé¿üòKss3QÒI m°Ùl<*___⚸è᢯Ş]ìû"|úé§ÞÞÞUUUÅÅÅK–,éJHÀ@AÂ($IV­ š9ó7¡PHv }éÂ¥a ‚‚ÆG¡P9wîœè®àà`###†/C4+ZÇÔÔ499™ØLII155Å:¸©âÔ©Sººº²²²,‹¸Ie÷îÝJJJH»ézxljjjêêê{öì!vOŸ>F£%´Ð&füfyyyâf‘6‡‹¾{v±ï‹Ø[]]½dÉ&“©££ñ¡Ÿ=†Á¥aÆZ¸O={VæàpðôéoçÌ1%;–>„¢hxxøÂ… »XßÝÝ=333&&Ï„@ÿpqqAäâÅ‹d`°,Oñó‹?^ãÓOMÈd`9vìÙ!€4ƒ"|ö¬ìƿ䳤„¹¹¼zðàÕÇ…ññÞ°¦4€¾0(ÁC‡¢ÍÌ´É€q8feÞ¾÷äIQK EQÁTU! ÐG¤?|ü¸8::ûìYWJk+ÿñã¢û÷ ÒÓó>,¬©i¤PP*•Âã½[ƒŸ¿«¥5”Ô0H3éO‰53Óš5 †Á€PYY_T¤\[K72ÚÞÒ“‘¡`&`‚…˜PøÞJ„ ª££FR¤¤Ÿ”_rzô¨(&&{ÆYdÀ;Ç+ªª6ËÈ[[ùT*…ÏâY X22Ô#”û3<ƒŠ”úùÅN˜0ÚÁEv ü¼<×ȨúàÁÇ'„…¥£(…ÏÿH¡PxâDâŸ¦Ž©_èå娢2¤¸¸¦´ôí“'%ÑÑœ7oð½C†Ðµ´†jj255‡ŽÅÔÔdŽÅÔÒ:|¸…2ÐgÄ–””ܹs‡ì(H`ii©©©IvðŽ4/(½|ùéššÆë×=ɤÿôÖ 1Tªƒ¡Ã`Œ¦ÓµZ[ Þ¾é•f%6œÉüœJíê ÛMMOkkã>ö,ÎÎ΢ J—–rNžL>þ6†a|þ{ihjê6=½ám¯­m*,¬.,¬.*ª.,¬®¨¨«¨¨ËϯlhhÅ+(+ÑÖVÕÖV>\iäH%|4qÌ5%%¹ µDDD,Z´ˆì(HðQK¾@_“ÚÁ¬¬Âøøg.¬&;~Õ“´^(Äþý·8)鿤¤ÿ>,¤PPsó13fÍœ9ÞÐP½ƒøêë[ÜÝCââžuåçyãF€¥¥^Ï8jsß¾ùë×ÛŸ:•rút²Pø.DQtÔ(1ÃÊÊCLM‡˜šjµ)ÇDbÙÛ‹óúæ›3¯^U·¿±—Ǽ}Û”—WÙ~_Ï©¼ÿ|.—ßë-‹¢Ñ¨x’×~1 ¿Ð\TT––ûêUU]] ^O‰ÔPô¦æ>@/’ÂD0##?9ù¿ˆˆµd2 44´&%=OKËÅÿ””dmm ùÅÙÖÖpøpE²£“::ÃnÞÜèáý¤Í5b55ÅŒŒü¿þʘ8Q{Áóùó'ª¨ˆ¹,Ût:iÿC;™†X^^WYYGÜ­’“Sž––[TTƒOø†‹ÝÀ'…w õÕIùòdB¦ÿ-NKËMMͽw/ŸË˜˜h:8Œwp`±X}†ûæ IDAT£à˸0 HüùçäÝ”Aâá1kãFÇœœòK—2ÃÃ3jj­¬Æ9;›ö™Ù!1±O:ÔÔ4––rJJ8¥¥œââš’’šÒÒ·%%555x†¦æP-­¡£F©hj­¨x±wï‰þüAÑþüDQî (Ò–¦§¿üòËã/®³²ê霧®®%%å?<ÿ+*ªVV‚'Ӧ驩)4HNþoÕªs--\>_ˆ¢èíÛÛÇŒy÷ü·æfîÿ†‡ß¿sç“)?oÞÄ… '›˜Àrq'¨©i îb&®5óxõ‰‰»»òù¼ÿþ‚‚ŸåË—»BCCúé§/^hiiíØ±ãÛo¿EþÿÎ\:nffvòäɉ'â•“““÷íÛwïÞ=>Ÿ?aÂ//¯ ôä­A"˜tqq X°à8ÙQô¡PøøqÑñãñ_|ᯥµQCcƒ£ã¡ƒo>~\Äç ÈŽN ååUXZîWWß0cÆob+TTÔ>boï«®îimýÓñãñÕÕ ý¤DïÊçOLLŒ¦¦f|||]]]BB‚¦¦æÍ›7‰]ZZZ±±± yyyß~û-^Ž7ÛÒÒâïï?a¼0!!aäÈ‘!!!åååÍÍÍ·oßž?~ßB7>? ïáy Iv"èë{sïÞ«UUõøæ;yêêž/ɪ¼}ÛqoÕª SÓêêžFFÛÝÝC®]{øæM=Ù¡I¿úú–o¿=sâDR'u„Bá­[/Ö¬97z´—žÞ–M›Â=*ê¯%CA›¨¨(b322’Íf»®^½Úþ¢Ù††999üµµµuXX˜ØS røðaMMM|„/AQTGG'&&†(Ù²e‹¼¼üäÉ“óóó‰Â½{÷*++kjjþóÏ?|/$‚€G²oyö¬,:úI``š««õ÷ßÏ<|8ÚÊJÏÂb,Ùqõ ¡ËÌ,ˆ‹{–––ûôi)†a“&YµÊ–ÍÖ‡™ýIAñ矮--¼Nê (je¥ge¥W_ßrõêà [.ÜÕÕþÕW‹O:T¾ß¢•tÙÙÙ¶¶¶Ä¦ÝŠ+ˆ]ì6Ëáˆàr¹††ïV}ðཽ}G•Ÿ={–••5lØ0|Ã0¡P˜––¶fÍšçÏŸã…4­¬¬ì—_~ñôô¼zõ*^ÈãñJJJnÞ¼ééé9gΜ¼Q ‡dÏ´±ù9/¯A*b(Š?¾ô‹/&Woª¨¨Ãü»s'¯ººaÄe‡ñl¶¾•Õ8È'$†a·o¿¾ý„N—™7oâ7ßX";.2á˜ûà窪j^^“ÉÄ79Θ1cjkkÛï"sMLLNž>>«W¯–““³´´|ýúõþüóÏŽÚÙ¹s§«««P(œ1c†¢¢bnnnG5›››•””x<ÞÎ;EË:äííýÛo¿ÙØØôÖ»ÒIp"XTT#¶\  …Âë×ÿ]±B>¯‰Á¿¸¸§¹¹å4uêTÝ￟noÏ20Ivt ¯XXŒµ°ûêÕ›ÀÀ´'’þø#yÑ¢)«VÙji %;´eöìÙ{÷î]½zõË—/…Bá¹sç>ûì3|—££ãþýûׯ_Ÿ——§­­½cÇŽÎÛ Ü¿ÿ·ß~‹¢èäÉ“ÄÖ6¾46¶Ö×·Ô×·ÔÕµÔ×7úéÜÕ«Ð×gá%uuMNsuuc?GE"‰è-$qI Š¢NNŸØÚâ##³öì™km­Ov\aáÂ…é$l`m=Ž”óÊË3äå#G¾[Ô­¥%×ÒrÄÂ…3H  rJJ²»wÏ[¶Ìr×®¨… OÌše¼s§“®îp²ã 1$õfNOoø… «Ï[™—W1}ú¯[¶\¬¨¨%;(’A¤ƒ+5uÛᅳšca±ÏÛ;¢ªªžì  t %ðÇÓ%&zoÞüéµklm Hlll%;.×àJÅÞ\Ò?wœU÷ÃY“£ÿðÃÌŒŒK—N;|8fÊ”}GŽÄÖÕµ€¨›‰`pp°N7008þ¼è®ÐÐPcccƒ¡§§„¢(Š¢(ƒÁ°°°ÈÊÊ" {¹d((¨:|8ÆÊꀫëŸdÇBš^é- (ŠÆÆÆvr¢ÁУºHYyˆÏçíõôœuîÜí‰wíÜU^s¼§;‰`llìöíÛª««Oœ8áããMìÚºu«ŸŸ_MMMLLLJJ q†auuuË–-[¹reïÄ>€•—מ:•âàpÐÊê'?¿Ø‚‚7|¾€ì ÈÑ[½%88ØØØ888¸“sIÇZ6½HA±r¥Mjê6‡«W³¬­Ú³ç* NøLDxxx›±lll¢¢¢ˆÍÈÈH6›MìºzõjûCˆfäääÚ¶©‰¢¨ŽŽNLLLRR’@ Àwµ´´hjj¾xñ¢²²ÒÉÉIQQÑÄÄ$##ƒ8ððáÚšš(жoŠ(Ù²e‹¼¼üäÉ“óóóÛ„!¶ÙÎ!Nl–—×?omý“ºº§–ÖF êêžø?[ÛŸ»Ò éÏÞÒØØÈd2³³³•••0 [»vmHH^-44tÍš5¢^¾|™Åb1 mmíÓ§O÷Ö{‘hMM­gΤ˜›ï5jÃòå§Ÿ B²ƒ@²îŒfggÛÚÚ›vvvÙÙÙÄ.6›ÝÑ\.700ÐÐаóÄ”ÏçŸ={ÖÃÃÃÎÎnäÈ‘ø—4‚ !!!666zzz ,¨ªªúõ×_ÝÜ܈cŸ={–••% Û7EÔ¡ÑheeeöööžžžmNÝQ³TSÓxæLê矙8q÷/¿ÜÀËç 1 ê¥ÞeeeÅb±¬­­###ñ÷÷?{öl|||rrò™3gŽ=*z¬››[@@@}}}jjjzzzŸ¼1I#'G_±ÂæÞ½ýµFV–¶|ùéI“v8pýõë·d‡€4b1÷ÁôEUU5//Édâ›g̘1µµµíwýï4(Š N7119yò¤¹¹9^Øæ\qqq^^^999\.—J¥òùü”””ï¿ÿþÉ“'(Šš˜˜DDDŒ?^MM­ºúÝå- …"ðÖ8ŽŠŠJGM‰Öyûö­ŽŽ‡Ã Cl³àñŠŠãfÎt}ú´–Çã£(*vø£5JÅÃcVç J–ÌÌÌcǼ‚æÎ«õJoqtt\±bÅÂ… ÃÃÃñ™‚•••¶¶¶T*5!!aĈˆÈ¯rÓ¦MIIIS¦LùòË/ííí?ø^ºØó¥INNyPЭK—2…BlÞ¼‰Ë—[š™i‘€þÖ'‹§¦¦Î;ßLII133Ã_³X¬[·n999µ?ª+ß²®®®<OII A[[ÛáÇ_ºtiÈ!ãÇÇ›*--ÕÐÐhs8‘Šmêƒ:jV,>_¨¬lÿða5Š"ö7øöm“·wDWZ– TªÂëô¼·¼~ý:!!!66 …B)++ÓÐÐ(//¯©©A¤¾¾O ,((¸víÚ®]»‚‚‚BBBºû¥–ÁÈŸvÞ¶íóˆˆ{gÏÞúë¯tCCõ¯¾šòå—“ÔÔ>ük %D¯wq¦ÔÍ›7G˜˜X__Ÿ””¤­­}ýúu|Wtt´¶¶v\\\ccc^^Þwß}‡—‹m¶}¡ªªjrrr]]~1/LNN611±±±ÉÊÊÂK–.]ºtéÒÊÊÊ¢¢¢Å‹‹mMlS‚ìØ±£®®nÛ¶m_|ñE›Å6Û9A ܱ#rüøíêêžZZ^ĤÀ6ÿíÁž÷___WWWbÓÍÍÍ××·¡¡ÅbEGG‡……M˜0¡¹¹YôÀU«Våæær¹ÜÛ·o«ªªöÖ{‘bíØÉbùŒµaဈˆ{MM­d Ïu'Ä0,((hܸq AsçΉî 622¢Ñhø‚ ïNÓA"Ø&% RSSSWWß³gè!666sæÌ!6«««—,YÂd2utt"""ÄžBlSH§7‹ˆm¶sÈÿß,Âç 22^nÚ6vìf šš!$ô°·˜šš&''›)))¦¦¦Ë—/?vì^BdŠÄ§NÒÕÕ•••e±X¢·ªôü½H·††–°°Œùóihl01Ù±{÷•çÏËÈ @êÎAQîîî™™™111]¼üÚ \.×ÍÍmóæÍÆÆÆ}tŠnCQ4<<|áÂ…DIk+?55'"â~tôü'‰OÔבœ¼•´@ûÀÀì-Ý3çv®¢¢öҥ̿þÊÈϯÒÔdÎ;ñ«¯,tu‡“€^Ö9‚¢Ž;Ö+qtEQ*•8³@± –ƒ«¢¢öêÕG—.ÝÏÎ.EXèAú¾·€Þ2b„òºu3×®qçN^TTVHÈÝ€€D ùó'99™1™òd wô4ìk’;H3b„òªU¶«VÙ¾|Y•õâEÙðq(ÔÚzœµõ¸Ÿ^”ô_Tԃݻ¯ìÜigg8oÞDGGã!CèdÇ Gz"(tu‡oÚ4›ì(è>:]ÆÑÑØÑÑŸùð÷ß6m _¿þÂĉÚ..“¿øb‚’’,Ù1èŽn>k0á3Ž]zïÞÎ02Û¶]š0a×êÕç®_ÜÜÌ%;@FMUUaùrËåË-ß¼i¸qãßë×­]{žÁ±·ÿùçŸÌœi$'W@@"è>5µwa]]sLLöõë×­  ±‰µgÍbÍ™cª£3ŒìtÁ^Æåòy<¼<ƒì@èWJJr..“]\&¿yÓ—óôðáØŸþgÂíÙ³gÍ27nć[пÄ$‚’ý$´æf~fæ##5µ^˜À.`Nks3¿¥EÐÜ,hi47ó››ù­­Âæf“étôhö‰õõ-­­|¾pÕ*ÛÝ»çõüÔAÒ{ îîÝ»d‡ ‘:úíS©Èœ9ŠööŸäæÖfg¿=z4æÀëÆÉM:læÌQý¤”]µzNÌ‚Ò$FÓ[-,Nsó‹––—<^–n2ÄDIÉEi‚`˜E1 CPAªØúaakll zrF‰ 5½… ¹k‘E»¸@&J§d0Æb·¡á~߯$í —z*•+<ž`Ö¬C99¯i4*'`2å?ûÌôÓOM­¬ôèôî\ /(¨úþûàììR@ØyMC&'ççîÉÒþÉ: ïÀóo}A:—¡Ñ¨§O‹g‚p8áá÷¾þú”žÞgçßÏœI­¨¨ý¨ut†Ý¸±a×®¹T*…F?ˆ •Ja³ €DÎDA=½áÛ¶}N¡¼»tÅã „BŒÏfd¼Ü³çêĉ{fÎô=t(úß‹»Ø Š¢+WÚÄÅmÒÖV“‘éè熩\W×Òï oIm"ˆ ˆ››‰É(™÷ðL bößeþþq³gÞ³çj×Û44T‹Û´zõtE)”¶?= K76öùòËãÇŽÅgg—Âu XÒœR©”ß_N¥ŠŸÑŽghjj ëÖÍü¨f ŸÏÃÂÖ :¤Íeba¹¹¿\¸°zÒ¤1—.eΚuP_Û7ßœ ¹ûúõÛî¿€> ͉ ‚ cÇÛ³g~G{1 Z©¦¦Ð–Ùlý[·¶ú©)Š¢x¦I£É8:²deil¶¾Ïç))[ïÞݱk×\YYÚÞ½W'MÚ3mÚþ;£ÒÒrñ™‹©Ñå¨``‘òDA¯¿žfccÐþ ݼùÓ‰µ»Ý²’’܉_ÿôÓ:]†F£òx|[[CÑ Úڪ˖Mûãoþýw_xøÚÏ?ÿäþý‚E‹Nm_´èÄ™3©%%œnŸIl``@§Ó Ο?/º+44ÔØØ˜Á`èééá…øW ÃÂÂ"++ /|ùòå‚ †.++kccsýúu¢rçg­Ðyå®×켜¼¼¼¹¹y\\\÷Ú€þ!ý‰ Š¢GŽ,f0h¢ì22TCCõqã†÷¼ño¾±Šß¤¯?‚Á Mª+¶1L½1=}ÇîÝóTT†øúÞ´°Ø;mÚ~o¸§­­üÀ»}ûö€€€êêê'NøøøDGG»¶nÝêççWSS“’’B…aX]]ݲeËV®\‰—¸¸¸˜™™=}ú´¶¶vß¾}'NœèF0]Ÿ³Û“Ù½†aöæÍooïeË–u»èØàpñâ}uõ êêžêêžššwlÛvICcÃöí—[Zx=oŸËåÿóÏã:„Çdd¼Ü¿ÿoGÇCtt6/\püx|NÎëžÇ@?@$<<¼ó:666QQQÄfdd$›Í&v]½zUl³ø‹††999üµ²²ò«W¯Ú×lóQ† Š¢:::111í+Õ._¾Ìb± †¶¶öéÓ§;©Y\\looÏ`0D?-ÛœE´>ñ¢©©)<<\__ß|õê•­­­‚‚‚]aa!†ak×® Á÷†††®Y³¦óŸdxxøàùÄô›Aô±²dÉÉÑ£½ÔÕ=546$&>Ç0,&æÉøñ>löOÙÙ%äÆVQQqoÕª ƒ­êêžS§îÛ¼9üÚµ‡õõ-ä@'º’:´¦¦†Ø¬©©a2™bw‰6‹aXkk«¿¿ÿ„ ðB??¿¡C‡Î™3gãÆñññm*‹ÉÉɆ††í+¯‡š’’Âår W¬XÑIÍyóæyyy566vñ,¢ ¥¼¼üíÛ·ñr''§mÛ¶ÕÖÖnÙ²eÞ¼y†q¹Ü™3gÆÅÅ%%%͘1ƒËåŠÿ þ?H}a}¬”—×êëoSW÷Ü·ïQXVÆ™?ÿؘ1›NŸN …$†‡ãóLøøqÙ¡ÐV÷A%%%±»D›E„N§Oš4éþýûDù›7o®\¹²ÿ~##£­[·•‰ ±±±&&&t:A*•Ú¾ñÚËËkâĉk×®‹‹k¿WôµŠŠJ› ;?‹èˆà¡C‡lmm‰v8ö~*\QQahhÈb±ÊËËÅýðÞ‰  / ®•+W²>ûÌËå‹òù‚ƒojjnüöÛ3NÛ¿ûITUUíÚCw÷CÃíêêž{ñaÂÚÚf²Cú|iøÊ•+ÄfTTqi˜Íf_»v­ý!Lw*++•••ÛWÖÔÔ¼víZsss]]]û̬Íëüüü#GŽXZZ.]º´“šíÁÎÏ"Úˆè¥m±‰àãLJ>|øð/^tþ–1H}cÐ}¬ÔÖ6‰-¿s'o„]“&íNOÙÏ!}P›aB-­_|á„QL0hu%¼yóæèÑ£ëëë“’’´µµ¯_¿ŽïŠŽŽÖÖÖŽ‹‹kllÌËËûî»ïˆfÛ·óÙgŸ%''777s8œ_~ùÅØØ/WRRÊÏÏÇ_«ªª&''×ÕÕyxxˆV W­Z•››Ëåroß¾­ªªÚIÍùóç{{{75ýïsCìYÄŽ9r„¸´íää´cÇŽºººmÛ¶á—†X,VtttXXØ„ š›?ð$‚€¾+ÿS]ݰ|ùiMÍÞäód‡#Þ›7ï† Œ¶««{š˜ìXµ*("âÞÛ·h, ]I1 7nþ$žsçΉî 622¢Ñhøò1D³í¹~ý:›Íf0C‡={vvv6^¾{÷n%%%ü   555uuõ={öˆV O:¥««+++Ëb±ˆ{YÄÖ,..ž>}:F#JÄž¥ýA999++«GáåøÍ"òòòÄÍ"Ë—/?vì¾××××ÕÕµó#$‚€¾€bð 4†¦íßÿ·¹ù˜ãÇ—©LvD„OŸ–¦¥åÆÆ>}ðàŠ¢,Ö(6[ßÁa¼¹¹ñeúŠ¢ááá .ìb}ww÷ÌÌ̘˜<ß%""bÑ¢Eð‰ è]ŠñäIÉš5çkk›üü;8°ÈçÃjjoß~‘––÷¬¢¢VUUÁÒRÍÖwp`߸ ¯|l"zA@_€DP¼††ÖmÛ.EF>pueïÜéD§ËQ—…XvvIZZnjjnzúK@hl¬ÉfëÛØèOªÛþñ*ô$‚ý A@_€D°3/Þß¾ýòرÃNž\®£3Œìp>ÎÛ·Mii¹ii¹ññÏÊËk™Lykëql¶¾½ýø|ÉHHû$‚€¾‰à¼|Y¹fÍùÂÂ7?ýäììlNv8Ý”“Sÿ&äñúú#X0LzÁþ‰  /@"øa\.ß¾¿ÿü3mÁ‚I?ÿì,/Ï ;¢îkjâÞ¾ý".îibâó²²·C†Ð­¬Æ98°¦O75ŠIvt@Â@"ØŸ ôH»*&&{ãÆ0&sÈÉ“ß";œ^PXX÷4.î)>L¨­­joÏš5‹5eÊXI™5¦Ä IDAT ȉ`‚DÐ üeeo×­ ~ø°hǧ+Ø(*%K´45qÆÆFßÑÑDOo8ÙÑ Áþ‰  /@"øqá‘#±GŽÄY[;zté°aŠdGÔË «ÓÒrã➦¤äp¹|mmU6[ŸÍÖŸ1ÃHôšøÝ»w‹‹‹IŒ³XZZjjj’…Ä@QÔÓÓsÚ´id2(ܽ{÷È‘#ð‰ è]vÇ;y?ü"]jkk@v8}¢¹™›™ù*55766ûÅ‹ YYÚäÉ:66úl¶¾©©–‹‹Ë¥K—ÈŽ±÷ÁøÖG‘šAq ŸØ€Þ‰`7ÕÔ4zz†&&>ÿî;ö?~!Å÷ÞböìYYRÒIIÏïß/àó…#…ÂgÇ7]¼x‘ìèz\è0ØÀ=Ý4t¨ü¹s+Óöí»öðaa@À×£G«’TŸÀ^Çbúᇙõõ-ii¹IIÿef>%;.ô…ì$Š¢+WÚüý·GMMã¬Y¯]{DvD}NQQvÎS_ß…jjÍdÇ€ž‚D°§LMµbc7ÙÛ³Ö¬9·~ý…æf.Ùt $‚½@Aqüø2ÿ%7nü;gŽßÿ½&;"€ƒD°×¸¸LŽŽö’‘¡Î™ãwæL*Ùá€ÿ›[± ìMzzï_÷\ºtÚ?F­ZTWéàà`:n``pþüyÑ]¡¡¡ÆÆÆ COO/((/DQEQƒaaa‘••ETNNNž9s¦¢¢¢œœœ¥¥ååË—Åžr> ë ìe †Ì¾}óÿüÓõÖ­öö¾¼";"2ÅÆÆnß¾=  ººúĉ>>>ÑÑÑÄ®­[·úùùÕÔÔÄÄĤ¤¤GaVWW·lÙ²•+Wâ%‰‰‰‹/vuuÍËËãp8¼pá‚Ø3ÂrHÀGÀ@ß((¨rt<4f̦?ÿL …d‡ÓËœ?XÍÆÆ&**ŠØŒŒŒd³ÙÄ®«W¯¶?„è“ rrrøkkkë°°0±§@äðáÚšš(ŠŠžŸŸ?yòdyyù-[¶t±Ÿ#Þ•š€t€Á¾2fŒÚß{|÷õŽQß~XSÓHvD$ÈÎζµµ%6íìì²³³‰]l6»£¹\n`` ¡¡!¾ùàÁ{{ûŽ*?{ö,++K(Šzxx8::–••Q(ÐÉñà;²ÑhÔœ{íšGNN¹­í/qq°3">XEQEEÅóçÏŸ:uJ´x#vùúú6¬M#©©©^^^JJJÞÞÞ½8 … ìs“&iÇÆnb³õ¿ý6ÐÛ;¢¥…GvDýÇØØ85õ7P§¤¤˜™™á¯Y,Ö­[·Ä…aXkkkff¦¹¹9^2a„ÄÄDb/öþD@•Þ ìJJ²_9²8**ëÓO?>XܶmÛúõë“’’’““===ñ{‚øøø¸»»ÇÇÇ755½|ùÒÕÕµ“vvîܹ~ýúˆˆˆ7oÞ´¶¶>yò䃧¶±±9tèP}}ýo¿ýÖ;o:ö—ÉÑÑét™Ï>, Ξ={ïÞ½«W¯VVVž>}úÞ½{?ûì3|—££ãþýûׯ_¯¢¢2{ölÑ©„bÛ ô÷÷=zôСCÝÝÝ:?µ¿¿LLŒººz›¹ƒ  ,·Ñ¿x<ÁÑ£q~~±ŽŽÆ‡}¥¢2„숺ÃÅÅA‹/výww÷ÌÌ̘˜%%¥>‹«GP _¸p!ÙýFûFõòš¶&+«ÈÞÞ7=ý%Ùõ“cǎݽ{wÀfÀ ‰ 9¬­õãã7±X£\\¸Îã}ø^Z€Þ‰ iTU‚‚Vüü³óŸ¦ÍŸ¬°°šìˆ0¸@"H&E—-›v󿆿fÞ¬Y¯\Éúð1½Aòéë¼qcÃÂ…ëÖ…¬_¡±±•ìˆ0(@"8 02ûöÍÿóO×ÄÄç³gÎÎ.%;"H?HGGãèh¯¡Cå¿øÂ?8øÙá@ÊÉx¦&32ò‡#Gâ||.'$üï¿ÅdG©‰à@÷é§&ÉÉ[´µU?ÿüÈ¡CÑìˆ % ”Æ)»ýøãÜ£Gãç̓g w@"(P]¹Ò&&Æ«©©ÕÑñ`dä²#€ÄƒDP’ªÿóÏ‹~Y½ú\]]3ÙÐ Ï=¤ü×B?éÅ_„ئÚ/z ÅH% ~ÉŸºÞ¾ýÂÞÞ7##ŸìˆÀ l``@§Ó Ο?/º+44ÔØØ˜Á`èééá…(Š¢(Ê`0,,,²²Þ=J;!!EÑØØØnÐóï3ÑHüv$N=¾¡srÊýõ†…ÅÞÃÈŽå=½ÒßÄv®¯; t<0 @"(‘fÏ6IJÚ¢¯?ÒÅå÷®óx²#Ò/66vûöíÕÕÕ'Nœðññ‰ŽŽ&vmݺÕÏϯ¦¦&&&&%%…8 𺺺eË–­\¹/ 666&á=%%œãÇØì_¦Oÿõ÷ßJJ8ê^´ÞêoÞÁ€Ä …§O§hkoš3çpAAÙá † Hxxxçulll¢¢¢ˆÍÈÈH6›MìºzõªØfñ rrr†5662™Ìììlee円¢Ú–-[äåå'OžœŸŸ^¾|™Åb1 mmíÓ§Oc﯄‡o>|XSSEQ¢Euttbbbð’ââb{{{ƒ´[TY4Ÿ_TTäïï¿aÆŽ~àb½yÓpæLêgŸùYZ8r$¶   AOÐÑ‚t½Òß:/DÄÝÝÝÒÒ²´´tÊ”)x·ÁÞOÔ÷;Lû>†ˆë½„Ž~§]©& |ðdiÐÐкcÇ刈û‹YìÛ÷¥‚<ƒ|œ®<éAUU5//Édâ›g̘1µµµíw‰6‹ N7119yò¤¹¹¹££ãŠ+.\ˆÏDQ”Ãᨨ¨¼}ûVGG‡Ãá ²iÓ¦¤¤¤)S¦|ùå—öööDƒÄGq¾çåå•““Ãår©T*ŸÏG„Édæçç‹Ö¦…6€jjjÕÕï–g¢P(A•ÂÂBeeå·oß2™Lü±5Qmnn–••t:8üÕ«Wø»#'N-ÃÛ”‘‘!^3 ü=v.44|ÅŠ_}µ-!á©@€¡("vø™od¤ñÝwÖl³ç¾ûÎéÂ…€~èoâ?v&“YPP ¢¢ÂáptuukjjŽ;‰Ø>&¶÷Guô;•úŽO‘ 2dz‚ãÈ‘%3fy{_¼{÷¥¿ÿ’)SÆ’6ÆÆÆ©©©sçÎÅ7SRRÌÌÌð×,ëÖ­[NNNíýÂ{ýúuBBBllì¢E‹¡P(eeebOwðàÁ‚‚‚k×®íÚµ+((($$¤}" DÄÕÕ5 ÀÁÁÇã)))uï=bVZZÚQH]©)++‹ •J%Æ){~v¢MÑ×ø·uçZ[ù±±%ÊÊ3bbž (‚aHçøWVÖ{{G|lØÝÀ`h}°NÏû[ç…ÝÐ>ÖÅ%eH˜^¸¼ Œªªúo¿=£¡±aóæðÆÆV²Ã霭›7oŽ=:11±¾¾>))I[[ûúõëø®èèhmmí¸¸¸ÆÆÆ¼¼¼ï¾ûŽhV´___WWWbÓÍÍÍ×ׯ¶cÇŽºººmÛ¶}ñÅøÞU«Våæær¹ÜÛ·o«ªªâ…JJJí§aáTUU“““ëêêˆ |†ÍŸ?ßÛÛ»©©‰¨ÖI †-]ºtéÒ¥•••EEE‹/Æ çÌ™óã?ÖÕÕùøø‡ˆ­‰ˆ»¤èääD¼;Däz\ûxºÞ¦ØàÅ G4#ã¥O¤¡á6 O--/bR`›jŽ`Ïû[W E;óæÍà E)¢¯Åö1±½·ëý¤“jÝñ`Ž DP EDÜ7n ›ýÓ£GEdÇ$CW¾˜1 7n>åèܹs¢»‚ƒƒŒŒh4¾œѬhSSÓäädb3%%ÅÔÔë`ºý©S§tuueeeY,qÓÀîÝ»ñ‘˜ö©©©©««ïÙ³‡ØU\\<}útF”´i¡Í_ÅÕÕÕK–,a2™:::ø!¹¹¹“&M’——_¿~½‚‚^(¶¦ØïËNæì·‰§ëm¶û½Y„ËåÇÆf¯[qpêTÝÈÈú!*èo]'¡æJ˜#(´´†^º´.00mÿþ¿ïÜyqôèR]Ýád¤Ç±cÇÈ¡_¡(J¥RY,±v±D“•¥99}âäôIi)çÊ•¬‹ïçæV ÈÀ]ax°õ7‚”u<00A"(µðÅeØl}w÷‡ƒÛ·¾bV“ ¤õÊɨQÌuëf®[7óùó×QQÞ¼i ;"ðiíx`@DPÊŒüçŸ GÆíÙs5>þÙ‘#‹GŽT&;(ÀÀbd¤ndô9ÙQH JK?êå5ûÊ•õÅÅ5vv¿^¾œIvD ,&MÒŽßäâ2yýúÐիϽ}ÛDvD $‚ƒˆœ}ß¾ù.¬ºw¯ÀÞÞ÷Ö­dG2A"8èØÙ¦¤l™:UwÑ¢ÞÞÍÍ\²#9àf‘ÁHIIîøñeŽŽÆ[¶\ÌÈÈ?vl©©é‡Ÿø¤ÛÝ»w{·A Ã**šÕÔdedàNÒôú¯µ· ØÀ@¯())ÑÔÔ$; Ð%° ô VZÊÙ°á¯ôô—°îô ×[ë ¡¨ ®A§kÐhtº:ŠÒjj"[[‹z¥qÐmísÖ± œaAi‰‰à`‡aØ… é»w_14T?zt騱ÃÈŽHOðèQQzúË{÷òïÝ+¨¯o‘—gLš4fÊ”±Ó¦éN˜ Í`À•  ‚ /^T¬_!'§Ö]Áá4ÞºõâÞ½‚û÷ ž>-„ššÌ©Su-,ƲÙúÚÚªd K ïðùÂ?þHúí·›––z~~°î4h«´”sçNÞýûii¹……Õ‚èë´°Ða³õ-,tFŒ€’AðžGŠÖ¯¿PYYÿÓO ¾ürÙá’åä”ß¿_pï^þýû……Õ jl¬9y²Ž……Ž…ÅØ#”È@@"Újiá:sâDâgŸ™ýú«‹ŠÊ²#ýð'OJðk¾÷îåWTÔÑhÔO>ma1ÖÆFÿ“OF+*Ê’#€^‰ /.îé¦MáòòŒ£G—˜›ëèC<žàáÃÂû÷ îÝ+xø°ðÍ›CÆÂb,>ì7q¢¶¼<ƒìô HA‡ª«¶l¹“½zµÝæÍŸÂ½ŸÒ„Ëågdäã÷ùfe66¶*)ÉN™¢‹Ïù32Ò€µ„`0€D|Àõë·m»$/Ï8|ø+KK=²ÃÝWW×’‘ñòÞ½‚{÷ò³³K››¹L¦¼µõ8|΋5ŠJ…•Ÿ`pD|Ø›7 [·^¼yóÉÒ¥Swïž7dìˆ@W½}Û”––‹Ïù{ö¬”ÏŽÅœ6 Öy€ ‚®ûûïG[·^RV–óó[y2 E>_ˆ¢(:uªî¥Kßw²ÎË„ Újj°Î r@"z>4øÛo7ÍÌFûû/ÖÑFvD}ëÁƒB EEÕD H‘¡ª«+×P©##õ)St§N;eŠ.$HA_yþ¼lýúÐüüªgIëÐ`ccëîÝWCCÓ©T Ÿ/[gÁ‚Ésç~ba1VII¶ŸÃ:7Hgôƒ~`d¤qýº§«+û—_n,^|²´”CvD½,%%‡Íþ9<ü†aet:ÕÈh¤½ýxÈ @0"(å"""Èyñ¢î¯¿òZZß~«¯¯¯Lv8½ ¥EpíZá;•(Štþ?EQ##•}û¦M›Öoá LwïÞ-..&;ŠGKK ú€DJ9dQ”®¨hÕØ˜)Ô“KOQ(òÊÊ3h4u*UAˆ¯Ã0EÛ² …þio5+¹z¥7&$$ (Ûɉ:ÿ%Íš››ß¿ÿ£Þ‚DÿAT HllìöíÛª««Oœ8áããMìÚºu«ŸŸ_MMMLLLJJ q†auuuË–-[¹r%I#˜²bè6¡KO¹uëEcã_}úÊ•¬–ÙA‘¯·zcpp°±±qppp'çú`·Á0¬¾¾~ÅŠnnn={[0Pa@ª!Þy›¨¨(b322’Íf»®^½*¶YüECCƒœœ\›Â65QÕÑщ‰‰IJJ200ø®––MMÍ/^¼zõÊÖÖVAAÁÎή°°°}kH»ïìNN‡¿¨¬¬trrRTT411ÉÈÈ öîÛ·OEEeĈ—/_Þ³g“ÉÔÐиqãFçGíÝ»WYYYSSóŸþiI眉M¡P˜ššãî2nÜVuuOmíMêêžø?-­¡¡w?Ø „jósèH¯ôÆÆÆF&“™­¬¬ÜÐЀaØÚµkCBBðj¡¡¡kÖ¬=ðòåË,‹Á`hkkŸ>}ºM³²²²øk±=¤¸¸ØÞÞžÁ`ˆí¨=ÿ™@ßA€dggÛÚÚ›vvvÙÙÙÄ.6›ÝÑ\.700ÐÐа“Æ1 ãóùgÏžõðð°³³9rdxx8¾+$$ÄÆÆFOOÏÝÝÝÒÒ²´´tÊ”)4…üÿ7+^ÒÉ¥a TUUýú믢Ã9\.·¤¤äøñãK–,áóùEEEþþþ6lèü(WRRrøðaOOO±‘tŽ{ù;wFM˜°kÑ¢W®?%%åûï¿òä Š¢&&&ãÇg2™***GWW·¦¦¦MkÄk±…mà ÕÔÔª««ñB …"ð½ÍÍͲ²²@FF†xÍ`0ø|~WŽ¢ÓéDaÿïÌûUU•œ¬¬Ñÿ½¦P(Ba‡‹KËÈP¾ür’¹¹NWš•8çΨ¨´|ðÉ"½ÒW¬X±páÂðððÀÀ@|¦`ee¥­­-•JMHH1b"òKÜ´iSRRÒ”)S¾üòK{{{Ñfùä“O®]»¦¥¥…tÐC˜Lf~~¾h`]ìø“Eài+Á‚Ò166NMM;w.¾™’’bff†¿f±X·nÝrrrjTW¾ç\]]x<ž’’‚ ¶¶¶Ã‡¿téÒ!C ˆ–öðoY*•ÚÜÜÜ7…aXii©††F›rYYYA¨Tªèküë¼+Gu’ƉUPPõò%“ÑŰ×(Š|ððË—3#">î¾I1t¨¼ŠÊ‡×Öîyo|ýúuBBBllì¢E‹¡P(eeeåååøßõõõx"H8xð`AAÁµk×víÚB4[^^¾xñâ{÷îá‰`G=$UŸ_|¤Bº0GðæÍ›£GNLL¬¯¯OJJÒÖÖ¾~ý:¾+::Z[[;..®±±1//ï»ï¾#š{®6%ªªªÉÉÉuuuø_¼099ÙÄÄÄÆÆ&++ /qrrÚ±cG]]ݶmÛæÍ›‡êééEDD444ìÞ½›8VII)??¿+1,]ºtéÒ¥•••EEE‹/nˆØ×]?J4’Î9;;ù¥Ëµk—-;¥©¹qôè£Fm æŠþƒ9‚XoôF___WWWbÓÍÍÍ××·¡¡ÅbEGG‡……M˜0¡¹¹YôÀU«Våæær¹ÜÛ·o«ªª¶iöõë׺ºº•••X=dþüùÞÞÞMMMÄI»Ø=`Ž €tJ¹®$‚†7ŽB¡ rîÜ9Ñ]ÁÁÁFFF4 _°ƒhVì¹Úü¤¦¦¦®®¾gÏÑClllæÌ™Clâ7‹ÈËË‹Þ,ríÚµQ£F)++ïß¿Ÿ8v÷îÝøÈ¢ØÓ‰V]]½dÉ&“©££Ñ>l±¯»~”h$ý²¯©i¾3gÎa ZZ^ŠÕÃÞhjjšœœLl¦¤¤˜šš._¾üرcx ‘)ž:uJWWWVV–Åb·ªˆ6ëïï/¶‡OŸ>F£}l÷€D@:˜#(åº2GP”»»{fffLL þ5Ö¸\®››ÛæÍ›ûèŠØy`%%œ«W³BBîVËÈPÿ¯½ûkêl~NA’0ö(„aÅPø†JÅZm‘·µVê[+C UDû â÷O*Š Š8kªÌ·"uPë@È–„Œß§ÍKÙBB ¹?W¯^ÉsžsÎ ÉÁ%» IDATÍ3¹\‚ rr¸}û@"(ýrss%Âèiiézö¬‘F#“Éâš~Ëå šš:[Zºš›9l6‡Íîb³9œ¦¦ÎÖVnG«†¢òùŸ¯l`Ð,¦`Æ‹•˜˜(é(Æ‹¥««+é(¤AnnnEE…¤£ß¤ûÝÈb±~ûí7IG!yzzzöööÝK ”~‡:t褣=D¢³²² ×üþ}igg‡ÃºDx}NAEÅQIÉùk5>ŠâíQM @°uy¼áÃv(–V÷ïßÇöÿB’A8p ))IÒQŒo´õÀxôÛo¿Áç‚ =±‡DPÊÉàº}ܹs£^¾DTT¦)+Ûàñ8=WWº££™••×3cžœœW—««›»ºxT“—ÇöÙœ>ÉMÇ5Ø?ˆUï¯70t(*šƱO¿»Ãv3ê&‹i£  ÷µ’A°9þÇeû÷ÿ2þA“ÍG½ûäÉH{‘fΜœ“¼yó<<''‡ï¯Çwp0á½1A … 5Â×&`¹ ‚ \.AÎNnnnqnîkà–žžª«+}Ö¬©³fMÞ]äåñß}7{öl󀀋üQÉãõñ‡&Ÿ/عóÚÍ› #&ÓŒN×U“$0rÐ"¤ÓgŸÙ-\hÝ»­N Àº?þ˜—W2ÂM™B¹}{ã?x**Ê÷¾ºúD/¯›šÚ#"~qs;0mÚ÷kמýñÇì?ÿ¬âóeº‡ÀX-‚@j<øùÓ§,V—Û{*'‡›:•4oä7ÂáPoo{GG³îß/þ;×Dðxœ³ó”àà…‚p¹ügÏ*óóK<(ŠJill›0@§ë0ÆŽŽf3f)*Ê<àƒ@"¤–’áäÉU ô=c‡Cý—œœÈÅõõÕ“’ÖݼùhÓ¦Ä÷ï9Ø${{쨜ÎÊJÏÊJoÍGAÊÊê³³_æç—\»Vxôè]99œ¹¹ÎŒF †‘££‰¤$ª¨2EQΨ¨hÐÓSÕÕ€ û ]Ã@šYZꆆº÷ž‡Ã¡›7/05ÕùÝÝmîÝ š9s2Š¢<ŸÁ0º··}tôÊv俆FE}fe¥›ýríÚ³túvgç}›7'Þ¼ù¨¡V¢@”âããi4@ ÑhçÎë~èâÅ‹t:]AAÁÔÔ4..+DQEQƒQXX(,wœ=n‘‘‘1{öl• &888\¹re(g‰ÐË—Õ¿ØÙíö÷¿ ¦[ŒãåM"*Ð"¤œcNΫŒŒçÂbyy¼’’ü¥K÷ C[[#‘ßQGGõÂ…µW®9r×ÄdÒ õ Ô Ô==g RSÃÎÏ/Áz/\¸/ Ô™L³3ŒìíMuuUE-²#555888..ŽÁ`k"F"‘tuuþùg¬ðCÐ}þ¦@×0~ê꣣½°Yº(Š|ÿýâ©S©Ëãâ¾NKûcÖ¬}ÙÙ/Åq_yù~× ‰®®!! ¯_÷{ölOB·ÞÞöMMí¡¡É..ûllv¬]{öôé¬'O*²½D*CTTTäää$|êìì\TT$<Äd2û;‘ÃáÄÆÆN™2e€‹ .—{æÌgggmmm,ó@äüùóŽŽŽ¦¦¦¾¾¾•••vvvþþþ\ ùûKA‡Ι3§¿ÊÏž=+,,äóÿ±}‘¿¿ÿܹs«ªªp¸ø–÷®õô鬅 ÙÛï9t(µ¤¤A®.žL}ˆïMâïï¿lÙ²ººº}ûöùøø ÝÜÜzü¤ú¬‰ HWW‹Å:pà@@@€°æ0~Ð=ˆr )cYXØõ'2œ§\¸ðpôF}}kpð•[·¯\ùñöí‹TT%äPttpž>e=xPšŸ_š—÷šÍ~¯¢¢hc£Í>ž6Í`„ (ã¶_ ;‹¨«««ªþ5Ä¢±±ÑÐа¹¹¹÷!!쳂@ XZZž8qÂÖÖékT~ZZZ``à‹/8çr¹™™™ëÖ­{úô)Š¢–––‰‰‰æææªªª¥¥¥d2¹±±ÑÄĤ¡¡¡ÇÕ„»*))±X,555¤ÛÈ3aµÆÆF2™Üãt2™üæÍ2™ÜÔÔ¤ªª:ð=‡Ã%‘¦:9}ñçŸÍØ’«ÔŸk¢(ÚÑÑ¡¨¨Èãñ‚ðô¡ÿ ‘~~S`Œ ÁÁîeeõË»áUWŸxòä—7o> ¾’–ö,"ÂÓÕÕB‚AÅ„ ØÁ0þJsô车¦vee…>2`0Œ c;;c~Çø NÏÊÊZ¼x1ö433ÓÚÚ{laa‘““ãîîÞû¬¡4—¬^½úرc®®®]]]D"A'''MMͤ¤$%%%fnnÞß¹Ø7=ïèèè³Â´iÓîÝ»‡mK-Ìÿ„G…Yàðp8ÜÇÓH¤YOž4 (2èk­­eoÞœ8’;JÔà8Ä÷&•••T*uØ5Áãñ=€GjÐe¤ÇïïÐÛ·MÞÞ'ut6„„\ikëͨD…Çã?þ6>þ7_ßóÓ§ï¤PŒ7/Zt8<üfjj›Ý!é—!Žüå—_ôõõïÝ»×ÒÒ’žžn``pëÖ-ìÐ;w ÒÒÒÚÚÚŠ‹‹¿úê+¬¼ÏoÉÞ…êêêl6ëðÅ 322,-- ±ww÷ÐÐP6›½mÛ¶%K–`…¦¦¦‰‰‰­­­;wîžK$KJJ„aS(”„„„ººº÷ïß?yòéÖqÜg`Ýo4”/zAøáÿ…†&OºJ ÐÓ  ìñŸÔß›dåÊ•+W®¬­­-//ÿüóϱÂùóçïØ±ƒÍf‡„„Oé³f÷ ûÝço $‚üÏåËy4Ú6;»Ý™™Ï%ËH½yó.11?((ÁÉé?J€žÞƹs£BC“oÜø½±±MÒÑ JCLA\\ÜäÉ“±UgÏží~(>>~êÔ©òòòØÊ Xaßñ=ÚSâââ444(Ê®]»ºŸâèè8þ|áSl²ˆ²²r÷É"7nÜÐÑÑ!‘HáááÂswî܉µ,bOoß¾íàà0aÂ%%%''§»wïöžðé°'‹p¹¼¬¬ë×ÇQ©tt6ÈZ"(Û›¤¾¾ÞËËKUUÕÈÈ(11«öòåËéÓ§+++ûùùMœ8+ì³fŸ‰ H&‹ÀAþáݻְ°ëIIîî6{÷.SWŸ(éˆD ûª4OŸ²p8ÔÄDÛþØÁÁT:^#eC#د¯oAAAJJ –o‰‡Ãñññ ¢Óébº…¨ (š°|ùraÉû÷]ii$&>ÈÈxŽå Ø|;[[Ã7úæ2–%&&®X±âƒržQx“`8NLL̵kײ³³Åz##Àà44&FG¯\¼xÚ–-?ÍœùCHÈBoo{I5RZZDwwwwAÞ½kýý÷²üüÒüü’„„ü®.žúŒFØfwúúê’€Ñ#Öë£(ŠÇãcccÇ~Ø'EEyìC£ªªéڵŸ~zðâEõPÆØIq¿I0Ø[ÅÂÂB¸Bõ(ƒD€>Ìžm~ïÞ–ÈÈ_¶ný)%åé¾}Ë©ÔÈ;°Ui°91mm……eXcahh2‡ÃÕÒ"2ÆØÖffZãhq| ³:;¹]]xyùÞ[ŠK’Ôô¶Q©äuëf­[7ëÅ‹ê«WVW7K:"i#ñ· $‚ôHTܽûÓ… ­7mJpqÙ4oõj&'U‰‘²²“iÆdš!ÿ\•&<ü›ý~Ò$}¬™Nו²×Æ—ÖÖÎ’’ÚšvM »¬¬¾¦¦¹¦†]^^_]ÝÜÙÉ%‘Téôw’ŽQÊÑhÚ[·.t@ô ` vvÆii›¢¢Rvíº~ëÖ㨨&&¢ß¡x,`Uš={nMœ¨0mš,UÄíݻַo›ªªšX¬†·o›++«ªšX¬Æº:6¶Ä›4IEWWJ%YXPutTutT££tàŒW0EEù…sæ˜^ž7ïÀÖ­ V­š)ÝÍcrr8++=++½5kù|Á«W5”æç—œ9“³gÏ-%%Âô醨R… †±‚|Œ€Àç **º5é±kkÙeeõeeõÍÍíX99œŽŽª¾¾:6VÁÓSÝÀ@]S“¨­M$‘”z_36¶kt_Ò>Á;;ã»w7GEÝÙµëzròÈˆåææƒ¯ *p8”FӦѴ±I3eeõùù%”&%DE¥ÈÉáÌÍu˜L3ÃÈÎ΄H[³€ÑÁfw¼y󮬬ëÏźqkkÙoß6s8\APÕ×WÓÔ$jk“˜L3¢–ÑÀ@ÝÀ@½Ïl 0T rÁÁ ½¼>Þ²å§O>Ùïå5nv¥!ì{ÚÓs‚ 55Íùù¥ùù¥ÙÙ/»‡Ã¡:3f1F3gNVUU–t°@ìÚÛ9 Â&½C÷°:D¢¢¡á$--"¦ýÉ'X;Ÿ–‰B!ÁÎ7Hüða 5._þwRRÁ®]×ÓÒþؽ{éÂ…Ö’J2´´H}®JsîܱUi°ÙÇÿ÷“{ϹNL¿»TT÷ÕÚÆÏb5 ›ô„|Ý;s'L èé©aMz †‘–ÉÀ@ËùåG!H‹%Ëo*0D2þ&a±Xººº= aAi†©©©}ïÞ[.ÜŸ3Çü‡<¤f}™‘ë¾*M^^ ‡Ã.UÈdš¨#ÿÜ,UÖ ú©ÛÔÔþèQ¹³ó”щ#jkÿJïºÝ«©inhhëêâ!‚ÇãtuU±Î\}}u¬m(ñÎ\OOϤ¤$  z,(-}°¥%…äyxxôXPAF$7÷õæÍ‰oß6mØðÉ¿ÿí‚Çã$ÑØÂf¿ÏÏ/ÉË+ÉË+yü¸¼«‹gjªigg³åܹ}ÒýÅÓÛ {¼{×zòdÆ?fYZê^»æ'ŽZZÞ—–Öõ· VëºÎÏæ|jjaÂ8Rº†{{“´´MGÞˆøåÆG‘‘Ë­¬ô$ÔB$*Ιc>gŽ9‚ œ‡ËòòJòò^I‡6¶TW79r7>>W às¹üŠŠ†‘\ËåWV6–—ÿoÜž°?WØ™;q¢‚±±&Öžçèh&lçÓÖ&ÁLpdü¶0RŠŠònsæX%,Z½~ýìõëgθ¨ñeÂÂÌ™“gΜŒ Š~‡ ’ŽhLxõª&"â—Û·Ÿàñ(¶T‚ uu-|¾`àUŠz¬ÃÒçнîë°XYéas}X‡ k @4¬­õnßÞ›uçÊ•‚°°O±mÜèÏãÇ‘‘¿¤§ÿ‰Çã—û¿.c.—_W×¢¥ED†° ‡êéÁ:,€á€D‘‘“í]ë¼b#**嫯bííMöìYff¦-é¸À˜SXX¶gÏ­ÜÜb99¼@€p¹}ì“»~ýùööΪª¦ÚÚlX¡¼<^[›D¥’õõÕí쌩TU²®®*…B&“!á $‚ˆ™¬´{÷§¶ÁÁI®®û¿øâÿ¶n¯¬¬ é¸À˜ /¯åí}*=ý9‡ Hß) ‚ (Šttp¦O7\¼XB!Q©ªººäI“ˆÒ½¥ `ôÁ GÄÂÚZïæÍ€ýûW$'?d2øé§’Žh\ЧÑhF£;w®û¡‹/ÒétSSÓ¸¸8¬EQE Faa¡°PÜqå%%u'Nü©¡ñù½{"ˆ€ÇhÅyyüâÅÓÂÂ>ýæ'ww›éÓ ´´HDAćC==gü÷¿Á XoØpiùòc¯^ÕH:¨ñ$55588øØ±cõõõÇ ¹sçŽðÐÖ­[<ØÐÐ’’’™™)Ü×÷ü™3ÿ}÷Ž=Œ«ÀYÃH^uuóÞ½·®\y8sæä]»–L™B‘tDb7”YÃÝùúú¤¤¤‰D1…Äáp|||‚‚‚ètº˜nÍæóù/_Ö_@ Èq¹<>ÿ¯d<·lÙôC‡¼Ä ``²’§­MŠŽ^¹z5sÇŽkŸ|²ÿ³Ïì¶n] ¦¦,鏯˜˜±^EQ<+¾,°¼¼>;»šLžgcó}]] Š¢x–“ƒñ£aúF(²¼´kX:`]é©EûöÝ~öì-òxüê“HJêêššDmm¢¾¾º–QK‹¤§§ÛÍDZsˆÄ ¡¡î>>ŽQQ)ß|ga¡â>sædIÇDÃÕÕÂÕÕ";ûåÞ½·?®Àãq}¦ƒAAn|¾€Åj¬ªjúóÏ*«ñýû.왬D¡uuUutÈ ™J%ëêªQ($ …Ü߆uÐ'h`L+.®ŒüåæÍGL¦Ù÷ß/67§J:"ÑåÁùù%‡¥ed<ÿg:(@ôåËÿLœø­9îÛ·Í55Í55ìòòú²²úšvM ûÍ›:6û=VGAAN[›¤¯¯n`ðWó!Ö ¨§§¦¤D¥× ? `ÈÉyµ{÷?þ¨\°À:4Ô]OOmðsÆ6H»+((=t(-=ý9r¹|A””ÅÅû†~å÷ﻺe‡Í55l,M¬¨hèèà`u°Žf--¢–ñïîf’¾¾º®®*CQQ0>‚[·ïÝ{«¶¶eõj¦¯ï"QQÒA $‚½=xPu'+ë%‡jää‹ä¦ÍÍí¶CašX^^Ïb5bmòòx55eaÛ!6K55‰Ã[0^@"ÀxÒÞÎ9q"ýøñô‰7mš»|9cœŽ CQ4 ÀÞ^¶vQËÍÍ=tèÐÀŸºW8ÂãñΟ_+Ö`ººx ­XvX^^_]Í®­ý+S¬­mÁ‚$ä(’°íPØ hh8iŒü’››[QQ!é(¤‡ƒƒƒ®®®¤££ AÆŸÚÚ–¨¨;—.Ý×ÕUÛ°á“¥K§»®=Yngʧ.›ý^‚™Vg'·ºº¹¼¼¾ººùïì]SÃ.-­kid0¢¾¾Ú„ £7ÑÓÓ3))iÔn'õd°@"ÀxUUÕtüxz|üo“&©øû»~ö™,:Ä­¹¹½{Û¡°A±ªª©«ë¯e{ F®z#ŽÁˆžžž‚üôÓO¢½¬l’ÍAÆ7«1::íòå< …ìë;ÒA )=# +*°­óºFü;;$Žp0"$‚"‰ l‚DiPQÑóëåËyTªêúõ³?ÿÜnÜui5À`Äš6VGØÑ,ìeÆÒD#£I**u‘C"(BÊ&HååõGŽÜ½t)ÏØxÒúõ³ÇãØA SzFÄÚ«ª[[;±:$’R÷¶Caƒ"•J–—ÇC"(BÊ&H6EE•û÷ßIKûÃÆFoÓ¦y..S$†Ëå×Ô4WV6VV6½}ÛTYÙTYÙXUÕXUÕÔÐІÕQP£RUÛÛËLM  Hel1€´¡Óuââ¾~ù²úÈ‘»ÿú×)33ío¿uY²ä£qºÐ Arr8UÕއ޿窱l¬ªjªªjb±““‹G?<¤ t ÌÌ´££WÞ¼`d¤±aÃ%—}/Þçp¸’Ž €QT”71Ñd2ÍV¬`Î¥R[†xb||}Š¢¨¥¥ebb¢¹¹¹ªªjii)™Lnll411ihhèq5áãþ ;::y<@àñx‚lÚ´)==ÝÎÎnéÒ¥sæÌÁNÑÐШ¯¯Çãp8¬fï°û³†e´ ‹”•Ö®uÎËÛáYTÄš7ûá«W …»„ MètzVV–ðiff¦µµ5öØÂÂ"''§Ï³AgggAA–öiõêÕ{öìinnf³ÙXÖåä䤩©™””ôóÏ?Óh4ssóþÎ&jƒ¾EEEAðx¼°ßyÿþýIII4íûï¿÷ööÆ\YY‰µÿa`` »äåñŸþqNNð;Œ4.ZZ†nß~µ¼¼^Ò¡ JÛ¶móóóKOOommÍÈÈزe v($$Ä××÷×_mooýúõêÕ«?èÊD"±««kûöíÂÂ;w†‡‡GFF†††b%L&3**ª¥¥%22RØImllœœœÜÖÖ!<—H$–––åÖk×®år¹ëÖ­‹ŒŒÎ}™7oÞæÍ›ëêê***¼¼¼>ôš@ @ 55ì#G~1c—ŽÎ†åË¥¦ñù|IÀ@<<<<<<†R3..nòäÉ8A³gÏv??uêTyyylù¬°ÏïÇÞ_ qqq e×®]ÝOqttœ?¾ðé›7oœœœ”••ËÊʰÂ7nèèèH¤ððpá¹;wî$‰H¯±}ÝcÀœ:uÊÄÄDQQÑÂÂâêÕ«Xa}}½———ªªª‘‘QbbbïkA„„„ëécÿÀápoÝz÷ß‚‚R:]gŠƧŸNWSS–t\ôa[Ìùúú¤¤¤`¹‘8p8Ÿ   :.¦[ˆŒ”M°³à¹¥K§/]:ýÙ³ªóçÛ¿?%,ìÆ¬YSW¬`ÌžmÛ“€ñ.&&F¬×GQÇÇÆÆŽ¯,È,H}37§îÝë±{÷Òß~+>>wíÚ³ŠŠòsçÒ==gÌœ9Ö$ OÐÏÆHÁãqL¦“iV]Ýœ”TŸ”T@£i/[f»xñ4==5I`ø`Ö0`H´µIë×ÏÎÎÞvã†ßŒFÇŽÝûøãpw÷C§OgÕÔ4K::Ã-‚€ckkdkkôŸÿx”Þ¼ù8::mÇŽ«ffÚîîÖžž3ôõÕ% €¡‚D08Ê`3Æ¡¡îwï>»qã÷cÇÒNc2Í.´ž;×&À؉ `DäæÏ·š?ߪ½“šZtãÆ£äÍ›²·7™7Ïjþ|K--’¤cÐ7H¢¡¤DX²ä£%K>âp¸yy%©©:”rë5vw·yô(kð«ÈX³mäX,Vbb¢¤£`¼‚¥âÒÙÉÍÊzqûö“ÔÔ?ÛØì¬¶¶BI5¶À'ðyzz&%%I: é JË HbÇåòss‹gͲ»pá$|Í`W¬XŸÀÉ‚åcb''‡c2͸Ü&Ià QÈ(Hd$‚Y¢è¸¸&ŒHcK||aã_Ÿº· ö®YWW·hÑ""‘hee•ŸŸ?ìMÆ¢¢"'''áSgg碢"á!&“Ù߉'66vÊ”)ƒ"âëëëààPYYiggçïïüÝÚ'lü@5ýýý—-[VWW·oß>ŸA_)Œ°×0`LãñxƒÖAQ”@ XZZž:ujàBLvvö¹sçˆDâ–-[LLLDgjjê¥K—V­Z… cÆHcNÏÊÊZ¼x1ö433ÓÚÚ{laa‘““ãîîÞû¬>›ñFyHŸ@ ¨¬¬¤R©£yS!ø³0†lÛ¶ÍÏÏ/==½µµ5### `Ë–-Ø¡__ß_ýµ½½ýõë׫W¯ö]˜LfTTTKKKdd¤°'šH$–––åô>kΛ7oóæÍuuu^^^ÃŽ F$‚€1ÄÍÍ-,,líÚµ$ÉÅÅ%,,lÁ‚Ø¡¹s熇‡ûùù‘Éd77·îC ?TLLLvv6…BÉÍÍ=|ø0V¸qãF›¡, ÓgÍèèh@@£Ñœœœ>ýôÓaÇ£ …£EÑ„„„åË—±¾¯¯oAAAJJ ‘Hk`‘˜˜¸bÅ øHŒŒQ111’¤t È(Hd$‚2 A‰ €Œ‚D@FÁò1€Ñ“››+éÆ ø§Œ° 4`” eÓYŸÀÉ‚D@FÁA‰ €Œ‚D@FA" £þ?o]O€‰IEND®B`‚qcustomplot/documentation/html/globals.html0000644000175000017500000000255012236016575021457 0ustar dermanudermanu Globals
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
qcustomplot/documentation/html/functions_func_0x63.html0000644000175000017500000001052412236016575023637 0ustar dermanudermanu Data Fields - Functions
 

- c -

qcustomplot/documentation/html/functions.html0000644000175000017500000001764512236016575022057 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- a -

qcustomplot/documentation/html/functions_vars.html0000644000175000017500000000211312236016575023072 0ustar dermanudermanu Data Fields - Variables
 
qcustomplot/documentation/html/classQCPPlottableLegendItem.html0000644000175000017500000027052212236016576025321 0ustar dermanudermanu QCPPlottableLegendItem Class Reference
QCPPlottableLegendItem Class Reference

A legend item representing a plottable with an icon and the plottable name. More...

Inheritance diagram for QCPPlottableLegendItem:
Inheritance graph

Public Functions

 QCPPlottableLegendItem (QCPLegend *parent, QCPAbstractPlottable *plottable)
QCPAbstractPlottableplottable ()
QCPLegendparentLegend () const
QFont font () const
QColor textColor () const
QFont selectedFont () const
QColor selectedTextColor () const
bool selectable () const
bool selected () const
void setFont (const QFont &font)
void setTextColor (const QColor &color)
void setSelectedFont (const QFont &font)
void setSelectedTextColor (const QColor &color)
void setSelectable (bool selectable)
void setSelected (bool selected)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual void update ()
virtual QSize maximumSizeHint () const
virtual QList< QCPLayoutElement * > elements (bool recursive) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Functions

virtual void draw (QCPPainter *painter)
virtual QSize minimumSizeHint () const
QPen getIconBorderPen () const
QColor getTextColor () const
QFont getFont () const
virtual QCP::Interaction selectionCategory () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual QRect clipRect () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A legend item representing a plottable with an icon and the plottable name.

This is the standard legend item for plottables. It displays an icon of the plottable next to the plottable name. The icon is drawn by the respective plottable itself (QCPAbstractPlottable::drawLegendIcon), and tries to give an intuitive symbol for the plottable. For example, the QCPGraph draws a centered horizontal line and/or a single scatter point in the middle.

Legend items of this type are always associated with one plottable (retrievable via the plottable() function and settable with the constructor). You may change the font of the plottable name with setFont. Icon padding and border pen is taken from the parent QCPLegend, see QCPLegend::setIconBorderPen and QCPLegend::setIconTextPadding.

The function QCPAbstractPlottable::addToLegend/QCPAbstractPlottable::removeFromLegend creates/removes legend items of this type in the default implementation. However, these functions may be reimplemented such that a different kind of legend item (e.g a direct subclass of QCPAbstractLegendItem) is used for that plottable.

Since QCPLegend is based on QCPLayoutGrid, a legend item itself is just a subclass of QCPLayoutElement. While it could be added to a legend (or any other layout) via the normal layout interface, QCPLegend has specialized functions for handling legend items conveniently, see the documentation of QCPLegend.

Constructor & Destructor Documentation

QCPPlottableLegendItem::QCPPlottableLegendItem ( QCPLegend parent,
QCPAbstractPlottable plottable 
)

Creates a new legend item associated with plottable.

Once it's created, it can be added to the legend via QCPLegend::addItem.

A more convenient way of adding/removing a plottable to/from the legend is via the functions QCPAbstractPlottable::addToLegend and QCPAbstractPlottable::removeFromLegend.

Member Function Documentation

void QCPPlottableLegendItem::draw ( QCPPainter painter)
protectedvirtual

Draws the item with painter. The size and position of the drawn legend item is defined by the parent layout (typically a QCPLegend) and the minimumSizeHint and maximumSizeHint of this legend item.

Implements QCPAbstractLegendItem.

QSize QCPPlottableLegendItem::minimumSizeHint ( ) const
protectedvirtual

Calculates and returns the size of this item. This includes the icon, the text and the padding in between.

Reimplemented from QCPLayoutElement.

QPen QCPPlottableLegendItem::getIconBorderPen ( ) const
protected

Returns the pen that shall be used to draw the icon border, taking into account the selection state of this item.

QColor QCPPlottableLegendItem::getTextColor ( ) const
protected

Returns the text color that shall be used to draw text, taking into account the selection state of this item.

QFont QCPPlottableLegendItem::getFont ( ) const
protected

Returns the font that shall be used to draw text, taking into account the selection state of this item.

void QCPAbstractLegendItem::setFont ( const QFont &  font)
inherited

Sets the default font of this specific legend item to font.

See Also
setTextColor, QCPLegend::setFont
void QCPAbstractLegendItem::setTextColor ( const QColor &  color)
inherited

Sets the default text color of this specific legend item to color.

See Also
setFont, QCPLegend::setTextColor
void QCPAbstractLegendItem::setSelectedFont ( const QFont &  font)
inherited

When this legend item is selected, font is used to draw generic text, instead of the normal font set with setFont.

See Also
setFont, QCPLegend::setSelectedFont
void QCPAbstractLegendItem::setSelectedTextColor ( const QColor &  color)
inherited

When this legend item is selected, color is used to draw generic text, instead of the normal color set with setTextColor.

See Also
setTextColor, QCPLegend::setSelectedTextColor
void QCPAbstractLegendItem::setSelectable ( bool  selectable)
inherited

Sets whether this specific legend item is selectable.

See Also
setSelectedParts, QCustomPlot::setInteractions
void QCPAbstractLegendItem::setSelected ( bool  selected)
inherited

Sets whether this specific legend item is selected.

It is possible to set the selection state of this item by calling this function directly, even if setSelectable is set to false.

See Also
setSelectableParts, QCustomPlot::setInteractions
double QCPAbstractLegendItem::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtualinherited

Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.

Reimplemented from QCPLayoutElement.

void QCPAbstractLegendItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this legend item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractLegendItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPAbstractLegendItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Reimplemented from QCPLayoutElement.

QRect QCPAbstractLegendItem::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented from QCPLayerable.

void QCPAbstractLegendItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractLegendItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QCPLayout * QCPLayoutElement::layout ( ) const
inlineinherited

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inlineinherited

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)
inherited

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)
inherited

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)
inherited

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)
inherited

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)
inherited

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)
inherited

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)
inherited

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

void QCPLayoutElement::update ( )
virtualinherited

Updates the layout element and sub-elements. This function is automatically called upon replot by the parent layout element.

Layout elements that have child elements should call the update method of their child elements.

The default implementation executes the automatic margin mechanism, so subclasses should make sure to call the base class implementation.

Reimplemented in QCPLayout, and QCPAxisRect.

QSize QCPLayoutElement::maximumSizeHint ( ) const
virtualinherited

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented in QCPLayoutGrid, and QCPPlotTitle.

QList< QCPLayoutElement * > QCPLayoutElement::elements ( bool  recursive) const
virtualinherited

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented in QCPLayoutGrid, QCPLayout, and QCPAxisRect.

int QCPLayoutElement::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtualinherited

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mousePressEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseMoveEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseReleaseEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::wheelEvent ( QWheelEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayerable.

Reimplemented in QCPLegend.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/QCPItemStraightLine.png0000644000175000017500000000702112236016574023431 0ustar dermanudermanu‰PNG  IHDRæ — ‡sBITÛáOà pHYsÄÄ•+ ´IDATxœíÝ{PTW‚Çñ_7^òyM_â°Ž‘øŠÏQ³!›”¦²qÌèÝr6ÙZ7‰‰g3µUÆÙ­DÝ­ÉÃìîÔ8ŽîfÌh˜‘Q+1¤RcV¡¼"‘f€‘–î¦ÏþqMçbÔmè>ðûüeIwsZ¿uï¹}ÏDòÐû{Dw‡É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I†É’d˜,I&Øß º#]]]UUU L–‘Ë媭­5™LUUUUUU&“©««Ë`0(Š¢Bø{xDhmm5™L•••&“Éd2ÕÔÔ¤¥¥F£ÑXTT”™™©×ë0Yò‡Ãa±XÔçZªÇãQŨÁ`˜4iÒÏe²4ê„MMMj ê‰þÒ¥K999F£QQµÔ´´´;|5&K·êìDl,X,ÈÍEHÈ]¿Bww·÷ði2™Ìfsdd¤zøT£ùùù¡¡¡÷6<&Kƒ9‚çŸÇÉ“P,Z„®.|ö""†{ŠÛí®¯¯×ÎDm6[AAv&ç«2YäèQ¤¥aêTTT`Å ÔÔ ¸øÖÇØl6ï…|UUUuuurr²z~WOôÙÙÙAAA£4B&K·zë-¼ð\.LžŒ?F|¼³¼üRDD…w&Úß߯>Õ@ £¢¢ÆlxL–nr8¦&dd¸[[o~`?yòq‡ã-½þÍÒÒÝÞý´iÓü8N&;Ñ]»vÍl6WUU;W÷þû?ŠÊîé1{<±êW,èÞµ+bëÖ³Ù¿Ãü“X´3ÑÖÖÖüü|u&š“3sölÉ»v@HNœÀ”)¨¬Äúõ~¹“ç:::¼ò•••V«511Ñ{!o4srr‚ƒ¿½oÿÇ?bútttàôi<ù$t:¤¤øqøC`²ãŠÓé´Z­f³Ùû‘Soooaa¡ö3ÑÉ“'ó àÕWqö,òò°v-Ο‡ÙŒûî³w02&+·Ë—/k׎|õÕWÞ yEQ222t:Ý]½fS22 ¬ sæ`ØÂý€Éʤ··W½5ï‰{ïy*Šb0ÂÂÂü=ÌÑÅd—ÇãillÔÎD[ZZòóóµ3Ѥ¤$s¬1ÙÒÙÙ©]Üd±Xâââ´æååi/•&&&ë7.—«¦¦F;µÛíêÔ{¢‰‰ñ÷0“;W®\Ñ®©­­:uª÷B^Q”¬¬¬»½Tš€˜ìhéëë³Z­Ú™¨B»¸É`0D ¿DІÂd}CqñâEí*ææææÜÜ\í*æÔÔTs<`²÷Èn·«‡O5P³Ù­ 4???äVGn,ÎÅ‹õX=ÔW8¸ó¶!;î+xq>ø2—ã÷ðPì­~u Ò…)8ôc¼ô\ìÆþKøq: Û—`îo±fŠÏÆÎdïˆÛí®««ÓÎDÛÛÛ ƒöD;ò ˆT_@òˆrQk'ðR–EÁ݊ߜò Ö…_¬Æî,ÔíC¸æ±m¿Æâߣâ=D{`ý‰xiVžû&Y á_±¦Ÿÿ¾ú¸x¢br;mmmÞ y“ÉdµZSSSÕÃç3ÏZ § ³ÃÒJ|¿ë^ƦO°i:Îü=Ön‚åC$hŸÒƒÐu8ñ0ºŽ£h~ô)–ÿ %ÇðÒ),Ó¬Û=x{¿Ak¹¯ãX-þjÆpC NÂ,N5cvžoÞãM¶©©I»ŸîâÅ‹ÙÙÙêù}ûöíF£1==}äW <úûñäCÐa9X‚òKÈ­Ä×Åøë\(yS–¢Ú1(Ù X<öÐQ9HèD» C¼óøÅz”-Å™ÒA?k ­$ ½yûÁȈ‚µ`²w®§§G»¸Éd2…‡‡«®ZµjÇŽƒáž7|áË£þ N÷Í¿ÔÃ}Ø„›Z=tC\ÚôãàÓØ3?Gü๯>!èþjH ÏI¾û× ÄdÿügèõˆEE’’•uwO¨¯¯×ÎD¯^½ªþlœÂÂÂÕ«W+Š’0ò IHرÿ(VlDo>rá?§!&i/âh#6dàOÀ6ùáÀµa_%Øû(À…_mÀë!8ýoHùN,º(ÇÂt³ÚË v¬öáÖ`ÊËEr²8|X!öîññ¢²r„§Øl¶òòò½{÷>ûì³ÅÅÅááá™™™¥¥¥¯¼òÊáÇkjjÜn÷ŒÜï<61/QlyFäg‰„t±ó´Bx„õñ½T‘’,2¿»"„Â.%ŠÝÂcóREyB8ëÅ÷rÅŸú„p‹ßm©é¢`¡øä”˜¡‹QQ"*J$?"® ú¦g7‰ùïõß÷ã5"*RB!抚~!„è=+òŠfßý܇\MM°Ù‹C‡°lÒÒœ í]L§Ói±X´3Q‡Ã¡];RXX=äçãœhÇ‚™x­‹Çn»+œ5XøC¼yCžúޝÇáõ8¸bØÉÉݬ‰A{;22páæÌǃ;ñúë(-ýzÏžëÿ£ÚÐЙ™©ºmÛ6£Ñ˜¡.H&Íþhê@^òP_v cÞXê³^h·ômßî:wîæäH¯o‹‹{°££vóæÝ³fe+ŠRPP0îW1Ó0üœ¬Çãihhð^È—•½àñümxø?ÛíKÔdgœ?”’‚–Lȳ=Ýj¬“íììÔ.n²X, Ú™hnnî_?ú(:;†ýû±f ÊÊðÄc9L \£›¬Ë媮®Ö®bîééÑ®b6·¬bþì346bÍœ<‰¹sQ[‹Y³0áWâÓ·|ÜBKK‹6кººôôt5ÐM›6)Š’™™9ü*æI“ðæ›Ðë±n~ò9‚S§“ãÛa’Äþ_GÙ¾¾>‹Å¢=Ñët:í⦂‚‚{XÅìr@Hš›?ÂOФ‰æ.’B466j÷Ó]¾|9//O;M ´-BãÎpÉÚívíâ&³Ù£]Åü!*zá¬Ãº—ñ£3°µáý™ø›Mh÷ ~ŠºÉ³gÿìÀ×,ÿJ’ðö)œýEï4¼ŽcµX2œm躉¡’€„h¾h6yÒ8àûd¿»ÉÓþå7›<õ(ySΣzðï»›<ïÜoò¬o¿‡wCÇ÷ÉŽÊ&ÏÛÓnò ‚û»`s€«¶0¤G݉o7y’B²vì? 'ÐY\X2 1ÅH;£€G³ÉsxÞMž#ñnòp_ þ?`@àß…í!< ~ÐìÀ;ôçïW#Ÿñ}²Aq˜~dcÆ<ýJ"š‹ÿÚ}󑚆§¿À{ÿŽ„¿m$žW ÃÃøÒ²'‚Û±5‰óPëÔ<2kㆿDß$'amÞ}q:¸n†u:æÇûü½’øøVÂÙäI~4–x7ym6y’ñ†-If<eiBa²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’a²$&K’ù?\µ5æÔÙ IEND®B`‚qcustomplot/documentation/html/inherit_graph_10.png0000644000175000017500000000226312236016575023000 0ustar dermanudermanu‰PNG  IHDR}#6f’õbKGDÿÿÿ ½§“hIDAThí™OH*]ƽj-ÒÒ‚1 ³4 j¡´#è*DAË (ˆ– -ZѶÀ]¤™dšÕ¬‚ÜT«,"m3”’iêÂæ[ œï £]oÖ|_w~«sÞ÷œç}ÏÃ0G„ ־»¿Æwz`|§‡_ð$‰œÑÕÊÏF"‘tuuý;' ìv;}ýpôz=lõ¯üÌ §ìŒåD˜÷;=0¾Óã;=0¾Óã{ R.©?ôÝjµÊår'—Ëwvvà”ÍfS*•|>¿±±Ñb±AAáóùÁ` ÞÞÞŽŽŽÖÕÕUTThµZÇSR° ¥:R¨tý€üû;ñ>ŸEÑ@ ÇQõz½ %‘Hü~"‘…B“““dœ”M§Óëëëjµš ªÕj³ÙŒãx:Æ0L§Ó}XnõwÚ†)Tº¸N©Uz½>çþþ'¾kµZ§Ó ¦»»»¤öööò·ÙD"QYYIŽ…Báýý}þâp8Ü××ÇçósœED&“ù|>¢ð/ ‚ p¬ªªR©Tççç`ûêê*Š¢‚* ëÈåòl6KÆÓé4Š¢777 ÊE(ï"‘(‚i4­©©¡LÁG""“ÉÀÏûÚÚšH$Òétsss@,šŸŸO&“9"ÙlðææfX3l0,K:>88hkk ¦§§q/^ètwwÛl6r¼¹¹i4á,e‰"|•ï€2Ÿ‡Åbñx¼ööö‹‹ zzr¹\ËËË …bqq‘ VWWçˆøý~•JÅãñX,‡Ãš°>‹ÅbðزÙl° ‹Á𔥆a---Ùlöýý½µµõúúÎR–(BÙÞ3.— LN'xÏh4·Û¿åCYÇ…B!9Î÷EQ·ÛJ¥âñ8*ä»H$z||üýàÒ𲞞»Ý¾¿¿?22’“¥,Q„òøîõzNNN^__OOO¥R©Çã!S‡‡‡R©ôèè(™L†B¡©©©üó0 K¥R±XleeE©T’ñááá………··7°R,cÇggg”@ ¸»»Ë›L&“É„ãøÃÃÁ` l PiXÃ0•J¥ÕjƒÁ`Že‰"”Çw‚ ,KSS›Íf±XÛÛÛpÊjµ* .—KÞ#)Mâñx4 ŸÏ‰DýýýWWWd<÷öör¹\°Ëb±ÔÖÖÖ××›Íf\ZZä???Æšš™Læp8((TÖ!B«Õ·,§,Q„²ù˜™™éìì|yy)i×ÿ‚L&311qyyùy©|ß)¾—ÄÆÆÆ'þ› Âáp¶¶¶”JåWèÖ÷Ÿ ñÅB0ßgèñßéñßéâ>ãp8¾¿ŸM$AQŽPø>>>þ]ýüEèõzxŠ|õE•æýNŒïôÀøNŒïôðø&oäNsäIEND®B`‚qcustomplot/documentation/html/open.png0000644000175000017500000000017312236016574020613 0ustar dermanudermanu‰PNG  IHDR à‘BIDATxíÝÁ €0 Ð׬ՙ\Àº€39—b!©9{|ðI>$#Àß´ý8/¨ÄØzƒ/Ï>2À[ÎgiU,/¬~¼Ï\ Ä9Ù¸IEND®B`‚qcustomplot/documentation/html/plottable-graph_8h.html0000644000175000017500000001314312236016574023517 0ustar dermanudermanu src/plottables/plottable-graph.h File Reference
plottable-graph.h File Reference
#include "../global.h"
#include "../range.h"
#include "../plottable.h"
#include "../painter.h"

Go to the source code of this file.

Data Structures

class  QCPData
 Holds the data of one single data point for QCPGraph. More...
class  QCPGraph
 A plottable representing a graph in a plot. More...

Typedefs

typedef QMap< double, QCPDataQCPDataMap
typedef QMapIterator< double,
QCPData
QCPDataMapIterator
typedef QMutableMapIterator
< double, QCPData
QCPDataMutableMapIterator

Functions

 Q_DECLARE_TYPEINFO (QCPData, Q_MOVABLE_TYPE)

Detailed Description

Typedef Documentation

Container for storing QCPData items in a sorted fashion. The key of the map is the key member of the QCPData instance.

This is the container in which QCPGraph holds its data.

See Also
QCPData, QCPGraph::setData
qcustomplot/documentation/html/classQCPStatisticalBox.html0000644000175000017500000041753512236016576024401 0ustar dermanudermanu QCPStatisticalBox Class Reference
QCPStatisticalBox Class Reference

A plottable representing a single statistical box in a plot. More...

Inheritance diagram for QCPStatisticalBox:
Inheritance graph

Public Functions

 QCPStatisticalBox (QCPAxis *keyAxis, QCPAxis *valueAxis)
double key () const
double minimum () const
double lowerQuartile () const
double median () const
double upperQuartile () const
double maximum () const
QVector< double > outliers () const
double width () const
double whiskerWidth () const
QPen whiskerPen () const
QPen whiskerBarPen () const
QPen medianPen () const
QCPScatterStyle outlierStyle () const
void setKey (double key)
void setMinimum (double value)
void setLowerQuartile (double value)
void setMedian (double value)
void setUpperQuartile (double value)
void setMaximum (double value)
void setOutliers (const QVector< double > &values)
void setData (double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum)
void setWidth (double width)
void setWhiskerWidth (double width)
void setWhiskerPen (const QPen &pen)
void setWhiskerBarPen (const QPen &pen)
void setMedianPen (const QPen &pen)
void setOutlierStyle (const QCPScatterStyle &style)
virtual void clearData ()
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QString name () const
bool antialiasedFill () const
bool antialiasedScatters () const
bool antialiasedErrorBars () const
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
QCPAxiskeyAxis () const
QCPAxisvalueAxis () const
bool selectable () const
bool selected () const
void setName (const QString &name)
void setAntialiasedFill (bool enabled)
void setAntialiasedScatters (bool enabled)
void setAntialiasedErrorBars (bool enabled)
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
void setKeyAxis (QCPAxis *axis)
void setValueAxis (QCPAxis *axis)
Q_SLOT void setSelectable (bool selectable)
Q_SLOT void setSelected (bool selected)
virtual bool addToLegend ()
virtual bool removeFromLegend () const
void rescaleAxes (bool onlyEnlarge=false) const
void rescaleKeyAxis (bool onlyEnlarge=false) const
void rescaleValueAxis (bool onlyEnlarge=false) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Types

enum  SignDomain

Protected Functions

virtual void draw (QCPPainter *painter)
virtual void drawLegendIcon (QCPPainter *painter, const QRectF &rect) const
virtual QCPRange getKeyRange (bool &validRange, SignDomain inSignDomain=sdBoth) const
virtual QCPRange getValueRange (bool &validRange, SignDomain inSignDomain=sdBoth) const
virtual void drawQuartileBox (QCPPainter *painter, QRectF *quartileBox=0) const
virtual void drawMedian (QCPPainter *painter) const
virtual void drawWhiskers (QCPPainter *painter) const
virtual void drawOutliers (QCPPainter *painter) const
virtual QRect clipRect () const
virtual QCP::Interaction selectionCategory () const
void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void coordsToPixels (double key, double value, double &x, double &y) const
const QPointF coordsToPixels (double key, double value) const
void pixelsToCoords (double x, double y, double &key, double &value) const
void pixelsToCoords (const QPointF &pixelPos, double &key, double &value) const
QPen mainPen () const
QBrush mainBrush () const
void applyFillAntialiasingHint (QCPPainter *painter) const
void applyScattersAntialiasingHint (QCPPainter *painter) const
void applyErrorBarsAntialiasingHint (QCPPainter *painter) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A plottable representing a single statistical box in a plot.

QCPStatisticalBox.png

To plot data, assign it with the individual parameter functions or use setData to set all parameters at once. The individual funcions are:

Additionally you can define a list of outliers, drawn as circle datapoints:

Changing the appearance

The appearance of the box itself is controlled via setPen and setBrush. You may change the width of the box with setWidth in plot coordinates (not pixels).

Analog functions exist for the minimum/maximum-whiskers: setWhiskerPen, setWhiskerBarPen, setWhiskerWidth. The whisker width is the width of the bar at the top (maximum) and bottom (minimum).

The median indicator line has its own pen, setMedianPen.

If the whisker backbone pen is changed, make sure to set the capStyle to Qt::FlatCap. Else, the backbone line might exceed the whisker bars by a few pixels due to the pen cap being not perfectly flat.

The Outlier data points are drawn as normal scatter points. Their look can be controlled with setOutlierStyle

Usage

Like all data representing objects in QCustomPlot, the QCPStatisticalBox is a plottable (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies (QCustomPlot::plottable, QCustomPlot::addPlottable, QCustomPlot::removePlottable, etc.)

Usually, you first create an instance:

QCPStatisticalBox *newBox = new QCPStatisticalBox(customPlot->xAxis, customPlot->yAxis);

add it to the customPlot with QCustomPlot::addPlottable:

customPlot->addPlottable(newBox);

and then modify the properties of the newly created plottable, e.g.:

newBox->setName("Measurement Series 1");
newBox->setData(1, 3, 4, 5, 7);
newBox->setOutliers(QVector<double>() << 0.5 << 0.64 << 7.2 << 7.42);

Member Enumeration Documentation

enum QCPAbstractPlottable::SignDomain
protectedinherited

Represents negative and positive sign domain for passing to getKeyRange and getValueRange.

Enumerator:
sdNegative 

The negative sign domain, i.e. numbers smaller than zero.

sdBoth 

Both sign domains, including zero, i.e. all (rational) numbers.

sdPositive 

The positive sign domain, i.e. numbers greater than zero.

Constructor & Destructor Documentation

QCPStatisticalBox::QCPStatisticalBox ( QCPAxis keyAxis,
QCPAxis valueAxis 
)
explicit

Constructs a statistical box which uses keyAxis as its key axis ("x") and valueAxis as its value axis ("y"). keyAxis and valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though.

The constructed statistical box can be added to the plot with QCustomPlot::addPlottable, QCustomPlot then takes ownership of the statistical box.

Member Function Documentation

void QCPStatisticalBox::setKey ( double  key)

Sets the key coordinate of the statistical box.

void QCPStatisticalBox::setMinimum ( double  value)

Sets the parameter "minimum" of the statistical box plot. This is the position of the lower whisker, typically the minimum measurement of the sample that's not considered an outlier.

See Also
setMaximum, setWhiskerPen, setWhiskerBarPen, setWhiskerWidth
void QCPStatisticalBox::setLowerQuartile ( double  value)

Sets the parameter "lower Quartile" of the statistical box plot. This is the lower end of the box. The lower and the upper quartiles are the two statistical quartiles around the median of the sample, they contain 50% of the sample data.

See Also
setUpperQuartile, setPen, setBrush, setWidth
void QCPStatisticalBox::setMedian ( double  value)

Sets the parameter "median" of the statistical box plot. This is the value of the median mark inside the quartile box. The median separates the sample data in half (50% of the sample data is below/above the median).

See Also
setMedianPen
void QCPStatisticalBox::setUpperQuartile ( double  value)

Sets the parameter "upper Quartile" of the statistical box plot. This is the upper end of the box. The lower and the upper quartiles are the two statistical quartiles around the median of the sample, they contain 50% of the sample data.

See Also
setLowerQuartile, setPen, setBrush, setWidth
void QCPStatisticalBox::setMaximum ( double  value)

Sets the parameter "maximum" of the statistical box plot. This is the position of the upper whisker, typically the maximum measurement of the sample that's not considered an outlier.

See Also
setMinimum, setWhiskerPen, setWhiskerBarPen, setWhiskerWidth
void QCPStatisticalBox::setOutliers ( const QVector< double > &  values)

Sets a vector of outlier values that will be drawn as circles. Any data points in the sample that are not within the whiskers (setMinimum, setMaximum) should be considered outliers and displayed as such.

See Also
setOutlierStyle
void QCPStatisticalBox::setData ( double  key,
double  minimum,
double  lowerQuartile,
double  median,
double  upperQuartile,
double  maximum 
)

Sets all parameters of the statistical box plot at once.

See Also
setKey, setMinimum, setLowerQuartile, setMedian, setUpperQuartile, setMaximum
void QCPStatisticalBox::setWidth ( double  width)

Sets the width of the box in key coordinates.

See Also
setWhiskerWidth
void QCPStatisticalBox::setWhiskerWidth ( double  width)

Sets the width of the whiskers (setMinimum, setMaximum) in key coordinates.

See Also
setWidth
void QCPStatisticalBox::setWhiskerPen ( const QPen &  pen)

Sets the pen used for drawing the whisker backbone (That's the line parallel to the value axis).

Make sure to set the pen capStyle to Qt::FlatCap to prevent the whisker backbone from reaching a few pixels past the whisker bars, when using a non-zero pen width.

See Also
setWhiskerBarPen
void QCPStatisticalBox::setWhiskerBarPen ( const QPen &  pen)

Sets the pen used for drawing the whisker bars (Those are the lines parallel to the key axis at each end of the whisker backbone).

See Also
setWhiskerPen
void QCPStatisticalBox::setMedianPen ( const QPen &  pen)

Sets the pen used for drawing the median indicator line inside the statistical box.

void QCPStatisticalBox::setOutlierStyle ( const QCPScatterStyle style)

Sets the appearance of the outlier data points.

See Also
setOutliers
void QCPStatisticalBox::clearData ( )
virtual

Clears all data in the plottable.

Implements QCPAbstractPlottable.

double QCPStatisticalBox::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractPlottable.

void QCPStatisticalBox::draw ( QCPPainter painter)
protectedvirtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPAbstractPlottable.

void QCPStatisticalBox::drawLegendIcon ( QCPPainter painter,
const QRectF &  rect 
) const
protectedvirtual

called by QCPLegend::draw (via QCPPlottableLegendItem::draw) to create a graphical representation of this plottable inside rect, next to the plottable name.

Implements QCPAbstractPlottable.

QCPRange QCPStatisticalBox::getKeyRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedvirtual

called by rescaleAxes functions to get the full data key bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getValueRange

Implements QCPAbstractPlottable.

QCPRange QCPStatisticalBox::getValueRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedvirtual

called by rescaleAxes functions to get the full data value bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getKeyRange

Implements QCPAbstractPlottable.

void QCPStatisticalBox::drawQuartileBox ( QCPPainter painter,
QRectF *  quartileBox = 0 
) const
protectedvirtual

Draws the quartile box. box is an output parameter that returns the quartile box (in pixel coordinates) which is used to set the clip rect of the painter before calling drawMedian (so the median doesn't draw outside the quartile box).

void QCPStatisticalBox::drawMedian ( QCPPainter painter) const
protectedvirtual

Draws the median line inside the quartile box.

void QCPStatisticalBox::drawWhiskers ( QCPPainter painter) const
protectedvirtual

Draws both whisker backbones and bars.

void QCPStatisticalBox::drawOutliers ( QCPPainter painter) const
protectedvirtual

Draws the outlier scatter points.

void QCPAbstractPlottable::setName ( const QString &  name)
inherited

The name is the textual representation of this plottable as it is displayed in the legend (QCPLegend). It may contain any UTF-8 characters, including newlines.

void QCPAbstractPlottable::setAntialiasedFill ( bool  enabled)
inherited

Sets whether fills of this plottable is drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedScatters ( bool  enabled)
inherited

Sets whether the scatter symbols of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedErrorBars ( bool  enabled)
inherited

Sets whether the error bars of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setPen ( const QPen &  pen)
inherited

The pen is used to draw basic lines that make up the plottable representation in the plot.

For example, the QCPGraph subclass draws its graph lines and scatter points with this pen.

See Also
setBrush
void QCPAbstractPlottable::setSelectedPen ( const QPen &  pen)
inherited

When the plottable is selected, this pen is used to draw basic lines instead of the normal pen set via setPen.

See Also
setSelected, setSelectable, setSelectedBrush, selectTest
void QCPAbstractPlottable::setBrush ( const QBrush &  brush)
inherited

The brush is used to draw basic fills of the plottable representation in the plot. The Fill can be a color, gradient or texture, see the usage of QBrush.

For example, the QCPGraph subclass draws the fill under the graph with this brush, when it's not set to Qt::NoBrush.

See Also
setPen
void QCPAbstractPlottable::setSelectedBrush ( const QBrush &  brush)
inherited

When the plottable is selected, this brush is used to draw fills instead of the normal brush set via setBrush.

See Also
setSelected, setSelectable, setSelectedPen, selectTest
void QCPAbstractPlottable::setKeyAxis ( QCPAxis axis)
inherited

The key axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's value axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setValueAxis
void QCPAbstractPlottable::setValueAxis ( QCPAxis axis)
inherited

The value axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's key axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setKeyAxis
void QCPAbstractPlottable::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this plottable by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains iSelectPlottables.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected directly.

See Also
setSelected
void QCPAbstractPlottable::setSelected ( bool  selected)
inherited

Sets whether this plottable is selected or not. When selected, it uses a different pen and brush to draw its lines and fills, see setSelectedPen and setSelectedBrush.

The entire selection mechanism for plottables is handled automatically when QCustomPlot::setInteractions contains iSelectPlottables. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
bool QCPAbstractPlottable::addToLegend ( )
virtualinherited

Adds this plottable to the legend of the parent QCustomPlot (QCustomPlot::legend).

Normally, a QCPPlottableLegendItem is created and inserted into the legend. If the plottable needs a more specialized representation in the legend, this function will take this into account and instead create the specialized subclass of QCPAbstractLegendItem.

Returns true on success, i.e. when the legend exists and a legend item associated with this plottable isn't already in the legend.

See Also
removeFromLegend, QCPLegend::addItem
bool QCPAbstractPlottable::removeFromLegend ( ) const
virtualinherited

Removes the plottable from the legend of the parent QCustomPlot. This means the QCPAbstractLegendItem (usually a QCPPlottableLegendItem) that is associated with this plottable is removed.

Returns true on success, i.e. if the legend exists and a legend item associated with this plottable was found and removed.

See Also
addToLegend, QCPLegend::removeItem
void QCPAbstractPlottable::rescaleAxes ( bool  onlyEnlarge = false) const
inherited

Rescales the key and value axes associated with this plottable to contain all displayed data, so the whole plottable is visible. If the scaling of an axis is logarithmic, rescaleAxes will make sure not to rescale to an illegal range i.e. a range containing different signs and/or zero. Instead it will stay in the current sign domain and ignore all parts of the plottable that lie outside of that domain.

onlyEnlarge makes sure the ranges are only expanded, never reduced. So it's possible to show multiple plottables in their entirety by multiple calls to rescaleAxes where the first call has onlyEnlarge set to false (the default), and all subsequent set to true.

See Also
rescaleKeyAxis, rescaleValueAxis, QCustomPlot::rescaleAxes, QCPAxis::rescale
void QCPAbstractPlottable::rescaleKeyAxis ( bool  onlyEnlarge = false) const
inherited

Rescales the key axis of the plottable so the whole plottable is visible.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::rescaleValueAxis ( bool  onlyEnlarge = false) const
inherited

Rescales the value axis of the plottable so the whole plottable is visible.

Returns true if the axis was actually scaled. This might not be the case if this plottable has an invalid range, e.g. because it has no data points.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this plottable has changed to selected, either by user interaction or by a direct call to setSelected.

QRect QCPAbstractPlottable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented from QCPLayerable.

QCP::Interaction QCPAbstractPlottable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint

Implements QCPLayerable.

void QCPAbstractPlottable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::coordsToPixels ( double  key,
double  value,
double &  x,
double &  y 
) const
protectedinherited

Convenience function for transforming a key/value pair to pixels on the QCustomPlot surface, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

key and value are transformed to the coodinates in pixels and are written to x and y.

See Also
pixelsToCoords, QCPAxis::coordToPixel
const QPointF QCPAbstractPlottable::coordsToPixels ( double  key,
double  value 
) const
protectedinherited

This is an overloaded function.

Returns the input as pixel coordinates in a QPointF.

void QCPAbstractPlottable::pixelsToCoords ( double  x,
double  y,
double &  key,
double &  value 
) const
protectedinherited

Convenience function for transforming a x/y pixel pair on the QCustomPlot surface to plot coordinates, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

x and y are transformed to the plot coodinates and are written to key and value.

See Also
coordsToPixels, QCPAxis::coordToPixel
void QCPAbstractPlottable::pixelsToCoords ( const QPointF &  pixelPos,
double &  key,
double &  value 
) const
protectedinherited

This is an overloaded function.

Returns the pixel input pixelPos as plot coordinates key and value.

QPen QCPAbstractPlottable::mainPen ( ) const
protectedinherited

Returns the pen that should be used for drawing lines of the plottable. Returns mPen when the graph is not selected and mSelectedPen when it is.

QBrush QCPAbstractPlottable::mainBrush ( ) const
protectedinherited

Returns the brush that should be used for drawing fills of the plottable. Returns mBrush when the graph is not selected and mSelectedBrush when it is.

void QCPAbstractPlottable::applyFillAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable fills.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyDefaultAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyScattersAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable scatter points.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyDefaultAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyErrorBarsAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable error bars.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyDefaultAntialiasingHint
double QCPAbstractPlottable::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific plottables.

Note
This function is identical to QCPAbstractItem::distSqrToLine
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/QCPLineEnding.png0000644000175000017500000001663212236016575022242 0ustar dermanudermanu‰PNG  IHDRôdÿ¥U*sBITÛáOà pHYsÄÄ•+=IDATxœíi\SÇ×Ç'À@D@Â"ds ‚ ¨Uq"Ö]K-EѺ¡RµjÝQj«Å¥?}Å´í84„(½µ5Ðc`È2ì̲r_˜RŠA†Š‹¾Lš–Ûˆm¨o`1xAâ¢Æ¢ò.1,Œs7¹B‰Ã 2–÷ì™)PJqrÿÇ-ùååååå…·VôÒúü“k²b7ÿùLPÿwmflœpø`~lÜc¡ÌS å=¦6L÷]ç¶ Ôiîaª‡ÚŒŸ&o¨ ÿç]QaQQnÊÏþ–,ŒæÑfâÐÚŽÓßæeýÜùpè¦k;€BWò%n­Àv’ÜëÞ$.foÞÅÌĬWÀ¶ôrQ’¶z„™¹••¥¥cÐyþç—Ymæß¾¶]­,L»8|³ça°øÂÒÈëï.„ 8hÜúûµTßû5A+hÆ Â?dÖ`aœ;‹7c†¯×°áÁ±;}x<çLnæ¾é<›Åâ‰8—'@ôbg»y·j,J®¥6pÿfG9öZ‘!ø¬2eN¿òZȨ7ª$éäï5l`wÏå×J§€ÊqhadD%¹eZæ] 54†¹“‹%ƒ¬z`Ïb[Øõùºk¯ÈL½Øîlz§jÿèîøcŽPÞâù4&sÎæåÊ$%höâ j„êzœŽêM˜xA ýò/ñˆò;›FÚzD¦ò‰†gûüŠ•wHVŽ!ËÜÖyò/95 .v«¶êžïöì9ûlžBqÉÕ°n=W<¨…ÅñÃÌ|‹a]EQy„°üÂ8@隷¯¯¯Ï°æA-,=9„=ê\„⊷ùUb¡¸è|û/¯DÂâcƒ9ã.”¿¥ìòTó>› k¬èÆs½B¢à £o“ùħ9?õ1ú*æQ _Y`Ë_ †5÷"º;®ËT\™a×ÝÁÖÿ¿îõ¯®VߦV’8}–ã¶çuü0}¢àM“9•(>`60æ•Hþi©‡G†¨¸½Æ¥£ºAwÿÙ+I~VE@9ú˜z|)„¢‚sߙЬW=¬…uÏ·9ÙÍ¿] !„5÷wsˆÊÈ_<ÒqPI*Ь{‡Á26áhõaWøâÆ'Nýr/1Qð‡›iÀù§ÂûۋΨ$äŸí3+Vîó9úp¼ö=@Ñ»SÓ€õª‡µJ ½µ_'),¹yäÆË‚µCÖˆ*¡¨WØvÖ寢)sïyíãÅcJž«í¸ùæíùÜa)«?Guö¾ÐñGVÐ5ˆüDní,sOIÛ}ÉhF$WC‹˜8™9<ææ†ž¨é;í¬O~| KÓO¿áEÚv ƒËwÓŒ¾:•]ãïníÕ¯tÅõ×ÃgØ,\ÌÜu&3H|Óã»Ú$N_1êÎãúéÑèhÃcñÖA†¼ÓMÊÆá "Ãì·"-ÆÝ””Ôkçb|»ï ÿçúJ“ô³yý~ð±Ð€åäÇýû3ãÈY<ÚRq+ ¨ 4¤y÷Îú›·çsé¢Â¿ š4w胸‘âÏNœJúå\âUÀ²«¡é¼Mý9ÁBÀBygë¥pÅÊ¥Ÿ}ë´ÄŸ« €ÑÐÙ~Ü[ĶvÛCrBFß'S&IÇ£{ĵŸÔ ’Méõãä«iËz(>CeÚ¢éGlR;éÏ·÷÷¸+ûaˆ(º¼+éí½‹<ö*€¨¼Dmwj‰‡3 itÐø0è'MöÚèôô¶µÿì™2m¯YúñÛNœ®Ì2óé«ûÅ7Á—OÔ5Ô%ÔÔi€Pþi‰BêÆ¡!MŒ4†Ïk2ÏkÒÔþ£¬%<øŸÜ3ÒÔh„øýâ׉!ŠO}äË -X9y8£Zò_u†6QV*€ˆß%EßáíYÂçóù|~Éó=ÝÒ¢/+¨‡ÑôxcÍîíNx.DÙí‡ úxwc@Óë7ÖøFÔ®²Án&ìþ#ÀÁ¨$í‘.lu L¿É§¥rš89‘¾©›Ž ²^}îÝL¹gÓ´ 9¼6s²»Å hÙOÛÿ‡K  Î4L¿ð©ÓWVZtõÁž:¡¯Ý†Yh’:ýªô4X¡Üà \›wZ­ÄÝz|OÑ84i r#S˜wqåüÿ=,êѱ÷7{ÿÆT]†Ä.¹Ð×ä} §¯ús%kBoHÔ¢_‡<ÜÕÔØ˜ÃÒ@ÑâiD†mGeL¸ù4cñTÿîÀ^M‡bQÿm§[LœBúå]bP4 óÀ}—hAÆM]< ÷J)\±ò¯¬mÈþù3¦Ä2Óg˜qê—vk!•væ1˜6ˆ c9oýÏÛ‘=(Q(Ç`he ƒiwàwî £‚àwî £‚àäŽÁ`0*Nî £‚àäŽÁ`0*H›Jî}µitט—"çîq2VnCN¥Óô^²ºï6« ©ªµÞ•æ}‹T#Ž1ÇÈØÆuRÔ™—µ´¼M1µ Ìì>ö¤E˧ý¨Å¹{xzÃÏ”)xòÇ(Õ<Ø4²k+ûAáÿä·ñ¦ÄͧM%w€&ƒõðǨÔ2ÕøŠO3¶¤û®ªµÞ•EÛqcúïòÞ½{~ie×ó“]¾;SH´´M1õPíÙ‘ƒàÉÑØ×ßœÍÎIÛ<@»m7%nIîMn+ªÕãûU½“–ìûä½(¬Î–íÛÌ.µˆf$·Ñ(,Œs7tœ<É{ôèaÎ}¼V¥àc÷Ýz>Û†жZï6;tÒÐ#VŒdŸX{ò?ñ‡@É;D˜{|ÁkcSss‹nãv?iàû&ƒÖ™Âf°÷ÁCºu1гˆ¹ue·ƒ%K—38òFlÆmÒXOZ´ùyqx‘Ÿ23&+{ßd÷¡ó.K&¦XSb¥¡¤N›Í¢mEÙο>½·ª§ÙÄsÅÂW»ûq.•ËïÛ¬.µ¨f¤¨Ñ¨ ÝpÊÙ"1„5V÷¶šZñI÷ݦ´!…mªõn B× AqÕõÙf&AiUÕðáÓíØn›ÿ­ WåKz©’LkÍNa3XºAÀ‘\!Qý`Mw Ï­* Ñ›Ã8ž‡ßÕ4ù6‘ß“y@êÛqëëëëj¯N—*èÅ]¥š»áöŽërR·)±ò Bo™fö¤íÐ#äÇŽK÷dÓ—.·s¬[Ó»Ô¶¾eüKªé;Opí¬@›1_iL»ôJ8ÈLêìMhCÚ¦Zï¶(tr…4©“:²‡ÀÂ[ Ïxáß:0iдÙl¥ÎC>­6;…m„;šéÕEƒ¸®½Ygûwס©Óûº°6?),¢5õ6é ¨'-Ú€Hµãçîqî}BQV­¨Ø”X‰P!¹7·­¨šáȵÿ[=tÅ™ úOLr:Ç‚¦v©UM‘‚F£ÕIæEB‘ì‡Ò¦´!m[­w¥iæbø€(ïæÍR³s-I·'´dù ¾a[kv ÛÓµÞ_Su:ý};Yš:] ÔAØäÛ4Ö“¶ia@>Ðh/n¹Pª)±ò BͽùmE5mg­z'ò—l!PØ9¶©¡œ‘¢F£°4mwÂs! ø×cO×¹ÊöDl¼ iÛj½Û’ÐI«_ž_3-²Àwù8“òBÓëÿµõ¿[eUC`mqQ ùÕÔÖš]£m„å Ýôۤў´­Ç—ö£n~ VSb%B‰wîÍoÉKÓ÷\ah~ :ÇÊ݃!­·ê6Uïìh6Ýqýó"‘]ð£.L©ß„’ÌÿómHÛZë]išÛcv­¦T׳2õÐõÅc Õ> V68DCoöÿíz>u¬Í&ÈÐÔéµðøŸsl”>åÌ®ñ6 iúm¢©¨'­øÂvÜÍ‹%›+Ü8ŒrÀ¸Á}N®Ê>:”"-½1L„ e ƒÁ´2ø;ƒÁ¨ ø;ƒÁ¨ 8¹c0MbÏž=EEE¨U`0M'w ¦q’’’¸\îÆ…B$} 0˜æ“;¦ póæM&“Éb±üüüòòòÈ]$Í™3G TVV®^½ÚÒÒ2!!ÕfUYYYBBBll,’ÑÛ9W¯^‰ÚL3I¼¡Š¡:±±±¡¡¡eeï¿ãM§Ó;uê”’’Ò³gOrÄÄÄ,Z´¨²òãw­™L&—ËÝ»wï€ÈÑ‘‘qúôécÇŽeeeuèÐAMMÏçÓäN1ÊÃÛÛ›Çã­Zµ µ¦¨§ Ó$^½z¥««+³hi4—Ë­««küø/¦¼¼\OO¯áC£Ñ †Oyy¹²5øùù1Œ>šl˜Lfzzº²Ç­§¼¼ÜÛÛûƤHMòòòŒŒŒîܹƒZH“Àe™¦rùòe´nݺUQò§I^¿~ýäÉ’=wî\Ã7„°¤¤$;;›ëÖ­ät9†ÖÖÖ>~ü˜É”ßé«8p  ¶¶¶þ?B¡ðìٳʷŸñãÇOœ8177—´q©‡ÃÙ¾}û´iÓ¤¯eiÉ=:::33Õèb±ØÇÇ'$$•ÀÆÝÝÝIÈ#Џté’½½½Ü4§TîÞ½+÷F‚’ðJóæÍ›;vÔÔÈonÂ`0~ùåj#^^^jjŸÜªB¡0>>^ÙãÖ£¦¦6sæÌG™™™uïÞ=""¢´´”´Ñ¥‰D&L@õ¨®®>oÞ<$£7‹6Ü_¾|¹zõj‹…dô’’S§N±‘ôˆ@,Ï;wÉ’%ššš¨j¬{÷îõõõ­®®ær¹$Íãñ 9 ®h4š²G¯«“ÿ…êêênnnnnnÊÖèÑ£‡tMFBNNŸÏ'aôz F~~~pppQQ‘ÝîÝ»Éß]Ü»woiii¯^½úõë·xñbò_cÒÓÓ Ïž=›ššJòÐÍqY¨ FEE!:;;ÛÔÔ”N§Óh´•+W’/ ¸¸ØÕÕU’Ýú÷ïO¾¡P8wî\[[[===ò¼yó¦S§N2‹–F£Y[[‹D"eÁ`045å´Îb0=R¶€zf̘QÿÒN£Ñ:uꤥ¥•œœLšazzº©©iEE„ðîÝ»_ýuYY™ÊÊÊŒþ¢‹žžÞÕ«WÉÔpâÄ &“YÿfMSSó§Ÿ~"SÀýû÷¹\îòåË333ÙlöþýûÇO¦€zª««9Çc2™l6{âĉùùù$kpssëÒ¥Kýž“É,,,$SÀŠ+$oZ‘púôé^½z‘ðiI¯^½244|ûö-*uuuööö.\üYZZzÿþ}Tbš¥“{BBBß¾}ÅbR벺ºzܸq2[—:::¹¹¹ä bÙ²eÚÚŸüœ®®îÑ£GÉ!LHHàp8ÇŽƒz{{oݺuýúõ‹/&M€4QQQH†–péÒ%[[[¡PxüøqMMÍuëÖ‘)àÝ»w,ëåË—d*M]]]·nÝ’’’P €N™2%22¡€èèè‘#G"Ð\¨›Ü…B¡µµõåË—Éôõë×vvv2‰@§ÓÉy©¨¨ðòòª/ÅH'wÒ¾]Éår%ïJ®\¹ÒµkW@0{ö옘rH“ŸŸÏb±^¼xAþÐÄbqŸ>}$–T¡P(üí·ßjk•ö‹Ñò˜5kÖ¢E‹ÈQ†={ö >¡€;wšVV*ù×ÙSVVÆáp~rjÔMîÛ¶m3f Ƀ.X°@CC£á—R8 £ ‚yóæÙÛÛ›ššJ×yµ´´ŠŠŠHÐ!U¹_A...‡’þ'i_Ä”Fæˆ28pÀÕÕ¡É6&òrÿ­[·P €Øµô©k©ÍA¹äŽÄµ$ÍÂ… ç΋PÀ±cÇx<žd 999l6»¸¸•€êêjsss´Û˜£GÞ¾};BkÖ¬A[îÇ®¥ºº:;;»‹/¢ð…P+¹ÇÇÇ“ïZ’F²‰¶Üßµk×””T „>>>[¶lA(€:®%Tòòò°k ¹ki×®]m˵$…’»Äµô×_!ÔH²ùP†-[¶Ô—û‘’’beeEþcꡚk È]K»wïÆ®%‡“‘‘JÀ—C¡ä¾uëÖ±cÇ"pãÆ ´å~6›Mþ×Éë!ÂÉɉÌ> Á®¥‡b×r×Ò’%KÚœkIª$w„®% A¸ºº}жÜ_[[kii™ššŠJ¤€kiíڵص„]K*éZ’¤äŽ]K®¥M›6ùùù!@×ÂmLìZ‚FGG£ÝÆTU×’ $%wìZúûï¿Ñ–û‹ŠŠX,ÖãÇQ  ‚kiÖ¬YصD…mLìZ"2’;v-QÁµ:oÞ<„(âZB¸‰]KÂ¥K—¢ÝÆTa×’ JOîA`×ÒÑ£Gûõ뇰ÜÿäÉ‹UXXˆJE\K;vì@(»–ðo-‘‰Ò“;v-ÕÖÖ"w-ùûûoܸ¡ìZ®%H×ÒÎ;Uص$ƒr“»@ À®¥-[¶øøø ––†¶ÜO×ÒñãÇQ €Øµ„]K¤£ÜäŽ]KÅÅÅÈ]K ˆ‹‹C%b×v-A)àZŠˆˆPm×’ JLî|>»–ÂÂÂBBB 8r䈓“v-¡ÝÆôòò®%ìZ"%&wìZ¢‚kÉÊÊêÚµk¨@ìZ¢€k‰ Û˜È]K“&MZ½z5B䣬ä.ÙÆÄ®¥ 6 °yóæqãÆ!€]Kb±ØÁÁ»–ÐncÞ¾}»=¸–dPVr D»‰]K’rÿ£GP À®%H×E¶1‘»–öïßP”’Ü%ۘصtøðaT „¡¡¡hËýصTUUeff†]Kh·1Ož<ÙN\K2´~rÇ®%H×’¤Ü]KÈ]K“&MB( 11»–ììì’““Q @ B0 £Zü?šwàZ(_fÇIEND®B`‚qcustomplot/documentation/html/plottable-statisticalbox_8h_source.html0000644000175000017500000006010612236016574027034 0ustar dermanudermanu src/plottables/plottable-statisticalbox.h Source File
plottable-statisticalbox.h
Go to the documentation of this file.
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
26 #ifndef QCP_PLOTTABLE_STATISTICALBOX_H
27 #define QCP_PLOTTABLE_STATISTICALBOX_H
28 
29 #include "../global.h"
30 #include "../range.h"
31 #include "../plottable.h"
32 #include "../painter.h"
33 
34 class QCPPainter;
35 class QCPAxis;
36 
37 class QCP_LIB_DECL QCPStatisticalBox : public QCPAbstractPlottable
38 {
39  Q_OBJECT
41  Q_PROPERTY(double key READ key WRITE setKey)
42  Q_PROPERTY(double minimum READ minimum WRITE setMinimum)
43  Q_PROPERTY(double lowerQuartile READ lowerQuartile WRITE setLowerQuartile)
44  Q_PROPERTY(double median READ median WRITE setMedian)
45  Q_PROPERTY(double upperQuartile READ upperQuartile WRITE setUpperQuartile)
46  Q_PROPERTY(double maximum READ maximum WRITE setMaximum)
47  Q_PROPERTY(QVector<double> outliers READ outliers WRITE setOutliers)
48  Q_PROPERTY(double width READ width WRITE setWidth)
49  Q_PROPERTY(double whiskerWidth READ whiskerWidth WRITE setWhiskerWidth)
50  Q_PROPERTY(QPen whiskerPen READ whiskerPen WRITE setWhiskerPen)
51  Q_PROPERTY(QPen whiskerBarPen READ whiskerBarPen WRITE setWhiskerBarPen)
52  Q_PROPERTY(QPen medianPen READ medianPen WRITE setMedianPen)
53  Q_PROPERTY(QCPScatterStyle outlierStyle READ outlierStyle WRITE setOutlierStyle)
55 public:
56  explicit QCPStatisticalBox(QCPAxis *keyAxis, QCPAxis *valueAxis);
57 
58  // getters:
59  double key() const { return mKey; }
60  double minimum() const { return mMinimum; }
61  double lowerQuartile() const { return mLowerQuartile; }
62  double median() const { return mMedian; }
63  double upperQuartile() const { return mUpperQuartile; }
64  double maximum() const { return mMaximum; }
65  QVector<double> outliers() const { return mOutliers; }
66  double width() const { return mWidth; }
67  double whiskerWidth() const { return mWhiskerWidth; }
68  QPen whiskerPen() const { return mWhiskerPen; }
69  QPen whiskerBarPen() const { return mWhiskerBarPen; }
70  QPen medianPen() const { return mMedianPen; }
71  QCPScatterStyle outlierStyle() const { return mOutlierStyle; }
72 
73  // setters:
74  void setKey(double key);
75  void setMinimum(double value);
76  void setLowerQuartile(double value);
77  void setMedian(double value);
78  void setUpperQuartile(double value);
79  void setMaximum(double value);
80  void setOutliers(const QVector<double> &values);
81  void setData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum);
82  void setWidth(double width);
83  void setWhiskerWidth(double width);
84  void setWhiskerPen(const QPen &pen);
85  void setWhiskerBarPen(const QPen &pen);
86  void setMedianPen(const QPen &pen);
87  void setOutlierStyle(const QCPScatterStyle &style);
88 
89  // non-property methods:
90  virtual void clearData();
91  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
92 
93 protected:
94  // property members:
95  QVector<double> mOutliers;
96  double mKey, mMinimum, mLowerQuartile, mMedian, mUpperQuartile, mMaximum;
97  double mWidth;
98  double mWhiskerWidth;
99  QPen mWhiskerPen, mWhiskerBarPen, mMedianPen;
100  QCPScatterStyle mOutlierStyle;
101 
102  // reimplemented virtual methods:
103  virtual void draw(QCPPainter *painter);
104  virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const;
105  virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const;
106  virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const;
107 
108  // introduced virtual methods:
109  virtual void drawQuartileBox(QCPPainter *painter, QRectF *quartileBox=0) const;
110  virtual void drawMedian(QCPPainter *painter) const;
111  virtual void drawWhiskers(QCPPainter *painter) const;
112  virtual void drawOutliers(QCPPainter *painter) const;
113 
114  friend class QCustomPlot;
115  friend class QCPLegend;
116 };
117 
118 #endif // QCP_PLOTTABLE_STATISTICALBOX_H
qcustomplot/documentation/html/classQCPGraph.html0000644000175000017500000062705512236016575022504 0ustar dermanudermanu QCPGraph Class Reference

A plottable representing a graph in a plot. More...

Inheritance diagram for QCPGraph:
Inheritance graph

Public Types

enum  LineStyle
enum  ErrorType

Public Functions

 QCPGraph (QCPAxis *keyAxis, QCPAxis *valueAxis)
const QCPDataMapdata () const
LineStyle lineStyle () const
QCPScatterStyle scatterStyle () const
ErrorType errorType () const
QPen errorPen () const
double errorBarSize () const
bool errorBarSkipSymbol () const
QCPGraphchannelFillGraph () const
void setData (QCPDataMap *data, bool copy=false)
void setData (const QVector< double > &key, const QVector< double > &value)
void setDataKeyError (const QVector< double > &key, const QVector< double > &value, const QVector< double > &keyError)
void setDataKeyError (const QVector< double > &key, const QVector< double > &value, const QVector< double > &keyErrorMinus, const QVector< double > &keyErrorPlus)
void setDataValueError (const QVector< double > &key, const QVector< double > &value, const QVector< double > &valueError)
void setDataValueError (const QVector< double > &key, const QVector< double > &value, const QVector< double > &valueErrorMinus, const QVector< double > &valueErrorPlus)
void setDataBothError (const QVector< double > &key, const QVector< double > &value, const QVector< double > &keyError, const QVector< double > &valueError)
void setDataBothError (const QVector< double > &key, const QVector< double > &value, const QVector< double > &keyErrorMinus, const QVector< double > &keyErrorPlus, const QVector< double > &valueErrorMinus, const QVector< double > &valueErrorPlus)
void setLineStyle (LineStyle ls)
void setScatterStyle (const QCPScatterStyle &style)
void setErrorType (ErrorType errorType)
void setErrorPen (const QPen &pen)
void setErrorBarSize (double size)
void setErrorBarSkipSymbol (bool enabled)
void setChannelFillGraph (QCPGraph *targetGraph)
void addData (const QCPDataMap &dataMap)
void addData (const QCPData &data)
void addData (double key, double value)
void addData (const QVector< double > &keys, const QVector< double > &values)
void removeDataBefore (double key)
void removeDataAfter (double key)
void removeData (double fromKey, double toKey)
void removeData (double key)
virtual void clearData ()
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void rescaleAxes (bool onlyEnlarge, bool includeErrorBars) const
void rescaleKeyAxis (bool onlyEnlarge, bool includeErrorBars) const
void rescaleValueAxis (bool onlyEnlarge, bool includeErrorBars) const
QString name () const
bool antialiasedFill () const
bool antialiasedScatters () const
bool antialiasedErrorBars () const
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
QCPAxiskeyAxis () const
QCPAxisvalueAxis () const
bool selectable () const
bool selected () const
void setName (const QString &name)
void setAntialiasedFill (bool enabled)
void setAntialiasedScatters (bool enabled)
void setAntialiasedErrorBars (bool enabled)
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
void setKeyAxis (QCPAxis *axis)
void setValueAxis (QCPAxis *axis)
Q_SLOT void setSelectable (bool selectable)
Q_SLOT void setSelected (bool selected)
virtual bool addToLegend ()
virtual bool removeFromLegend () const
void rescaleAxes (bool onlyEnlarge=false) const
void rescaleKeyAxis (bool onlyEnlarge=false) const
void rescaleValueAxis (bool onlyEnlarge=false) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Types

enum  SignDomain

Protected Functions

virtual void draw (QCPPainter *painter)
virtual void drawLegendIcon (QCPPainter *painter, const QRectF &rect) const
virtual QCPRange getKeyRange (bool &validRange, SignDomain inSignDomain=sdBoth) const
virtual QCPRange getValueRange (bool &validRange, SignDomain inSignDomain=sdBoth) const
virtual QCPRange getKeyRange (bool &validRange, SignDomain inSignDomain, bool includeErrors) const
virtual QCPRange getValueRange (bool &validRange, SignDomain inSignDomain, bool includeErrors) const
virtual void drawFill (QCPPainter *painter, QVector< QPointF > *lineData) const
virtual void drawScatterPlot (QCPPainter *painter, QVector< QCPData > *pointData) const
virtual void drawLinePlot (QCPPainter *painter, QVector< QPointF > *lineData) const
virtual void drawImpulsePlot (QCPPainter *painter, QVector< QPointF > *lineData) const
void getPlotData (QVector< QPointF > *lineData, QVector< QCPData > *pointData) const
void getScatterPlotData (QVector< QCPData > *pointData) const
void getLinePlotData (QVector< QPointF > *lineData, QVector< QCPData > *pointData) const
void getStepLeftPlotData (QVector< QPointF > *lineData, QVector< QCPData > *pointData) const
void getStepRightPlotData (QVector< QPointF > *lineData, QVector< QCPData > *pointData) const
void getStepCenterPlotData (QVector< QPointF > *lineData, QVector< QCPData > *pointData) const
void getImpulsePlotData (QVector< QPointF > *lineData, QVector< QCPData > *pointData) const
void drawError (QCPPainter *painter, double x, double y, const QCPData &data) const
void getVisibleDataBounds (QCPDataMap::const_iterator &lower, QCPDataMap::const_iterator &upper, int &count) const
void addFillBasePoints (QVector< QPointF > *lineData) const
void removeFillBasePoints (QVector< QPointF > *lineData) const
QPointF lowerFillBasePoint (double lowerKey) const
QPointF upperFillBasePoint (double upperKey) const
const QPolygonF getChannelFillPolygon (const QVector< QPointF > *lineData) const
int findIndexBelowX (const QVector< QPointF > *data, double x) const
int findIndexAboveX (const QVector< QPointF > *data, double x) const
int findIndexBelowY (const QVector< QPointF > *data, double y) const
int findIndexAboveY (const QVector< QPointF > *data, double y) const
double pointDistance (const QPointF &pixelPoint) const
virtual QRect clipRect () const
virtual QCP::Interaction selectionCategory () const
void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void coordsToPixels (double key, double value, double &x, double &y) const
const QPointF coordsToPixels (double key, double value) const
void pixelsToCoords (double x, double y, double &key, double &value) const
void pixelsToCoords (const QPointF &pixelPos, double &key, double &value) const
QPen mainPen () const
QBrush mainBrush () const
void applyFillAntialiasingHint (QCPPainter *painter) const
void applyScattersAntialiasingHint (QCPPainter *painter) const
void applyErrorBarsAntialiasingHint (QCPPainter *painter) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A plottable representing a graph in a plot.

QCPGraph.png

Usually QCustomPlot creates graphs internally via QCustomPlot::addGraph and the resulting instance is accessed via QCustomPlot::graph.

To plot data, assign it with the setData or addData functions.

Graphs are used to display single-valued data. Single-valued means that there should only be one data point per unique key coordinate. In other words, the graph can't have loops. If you do want to plot non-single-valued curves, rather use the QCPCurve plottable.

Changing the appearance

The appearance of the graph is mainly determined by the line style, scatter style, brush and pen of the graph (setLineStyle, setScatterStyle, setBrush, setPen).

Filling under or between graphs

QCPGraph knows two types of fills: Normal graph fills towards the zero-value-line parallel to the key axis of the graph, and fills between two graphs, called channel fills. To enable a fill, just set a brush with setBrush which is neither Qt::NoBrush nor fully transparent.

By default, a normal fill towards the zero-value-line will be drawn. To set up a channel fill between this graph and another one, call setChannelFillGraph with the other graph as parameter.

See Also
QCustomPlot::addGraph, QCustomPlot::graph, QCPLegend::addGraph

Member Enumeration Documentation

Defines how the graph's line is represented visually in the plot. The line is drawn with the current pen of the graph (setPen).

See Also
setLineStyle
Enumerator:
lsNone 

data points are not connected with any lines (e.g. data only represented with symbols according to the scatter style, see setScatterStyle)

lsLine 

data points are connected by a straight line

lsStepLeft 

line is drawn as steps where the step height is the value of the left data point

lsStepRight 

line is drawn as steps where the step height is the value of the right data point

lsStepCenter 

line is drawn as steps where the step is in between two data points

lsImpulse 

each data point is represented by a line parallel to the value axis, which reaches from the data point to the zero-value-line

Defines what kind of error bars are drawn for each data point

Enumerator:
etNone 

No error bars are shown.

etKey 

Error bars for the key dimension of the data point are shown.

etValue 

Error bars for the value dimension of the data point are shown.

etBoth 

Error bars for both key and value dimensions of the data point are shown.

enum QCPAbstractPlottable::SignDomain
protectedinherited

Represents negative and positive sign domain for passing to getKeyRange and getValueRange.

Enumerator:
sdNegative 

The negative sign domain, i.e. numbers smaller than zero.

sdBoth 

Both sign domains, including zero, i.e. all (rational) numbers.

sdPositive 

The positive sign domain, i.e. numbers greater than zero.

Constructor & Destructor Documentation

QCPGraph::QCPGraph ( QCPAxis keyAxis,
QCPAxis valueAxis 
)
explicit

Constructs a graph which uses keyAxis as its key axis ("x") and valueAxis as its value axis ("y"). keyAxis and valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though.

The constructed QCPGraph can be added to the plot with QCustomPlot::addPlottable, QCustomPlot then takes ownership of the graph.

To directly create a graph inside a plot, you can also use the simpler QCustomPlot::addGraph function.

Member Function Documentation

void QCPGraph::setData ( QCPDataMap data,
bool  copy = false 
)

Replaces the current data with the provided data.

If copy is set to true, data points in data will only be copied. if false, the graph takes ownership of the passed data and replaces the internal data pointer with it. This is significantly faster than copying for large datasets.

void QCPGraph::setData ( const QVector< double > &  key,
const QVector< double > &  value 
)

This is an overloaded function.

Replaces the current data with the provided points in key and value pairs. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

void QCPGraph::setDataKeyError ( const QVector< double > &  key,
const QVector< double > &  value,
const QVector< double > &  keyError 
)

Replaces the current data with the provided points in key and value pairs. Additionally the symmetrical key error of the data points are set to the values in keyError. For error bars to show appropriately, see setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

For asymmetrical errors (plus different from minus), see the overloaded version of this function.

void QCPGraph::setDataKeyError ( const QVector< double > &  key,
const QVector< double > &  value,
const QVector< double > &  keyErrorMinus,
const QVector< double > &  keyErrorPlus 
)

This is an overloaded function.

Replaces the current data with the provided points in key and value pairs. Additionally the negative key error of the data points are set to the values in keyErrorMinus, the positive key error to keyErrorPlus. For error bars to show appropriately, see setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

void QCPGraph::setDataValueError ( const QVector< double > &  key,
const QVector< double > &  value,
const QVector< double > &  valueError 
)

Replaces the current data with the provided points in key and value pairs. Additionally the symmetrical value error of the data points are set to the values in valueError. For error bars to show appropriately, see setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

For asymmetrical errors (plus different from minus), see the overloaded version of this function.

void QCPGraph::setDataValueError ( const QVector< double > &  key,
const QVector< double > &  value,
const QVector< double > &  valueErrorMinus,
const QVector< double > &  valueErrorPlus 
)

This is an overloaded function.

Replaces the current data with the provided points in key and value pairs. Additionally the negative value error of the data points are set to the values in valueErrorMinus, the positive value error to valueErrorPlus. For error bars to show appropriately, see setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

void QCPGraph::setDataBothError ( const QVector< double > &  key,
const QVector< double > &  value,
const QVector< double > &  keyError,
const QVector< double > &  valueError 
)

Replaces the current data with the provided points in key and value pairs. Additionally the symmetrical key and value errors of the data points are set to the values in keyError and valueError. For error bars to show appropriately, see setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

For asymmetrical errors (plus different from minus), see the overloaded version of this function.

void QCPGraph::setDataBothError ( const QVector< double > &  key,
const QVector< double > &  value,
const QVector< double > &  keyErrorMinus,
const QVector< double > &  keyErrorPlus,
const QVector< double > &  valueErrorMinus,
const QVector< double > &  valueErrorPlus 
)

This is an overloaded function.

Replaces the current data with the provided points in key and value pairs. Additionally the negative key and value errors of the data points are set to the values in keyErrorMinus and valueErrorMinus. The positive key and value errors are set to the values in keyErrorPlus valueErrorPlus. For error bars to show appropriately, see setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

void QCPGraph::setLineStyle ( LineStyle  ls)

Sets how the single data points are connected in the plot. For scatter-only plots, set ls to lsNone and setScatterStyle to the desired scatter style.

See Also
setScatterStyle
void QCPGraph::setScatterStyle ( const QCPScatterStyle style)

Sets the visual appearance of single data points in the plot. If set to QCPScatterStyle::ssNone, no scatter points are drawn (e.g. for line-only-plots with appropriate line style).

See Also
QCPScatterStyle, setLineStyle
void QCPGraph::setErrorType ( ErrorType  errorType)

Sets which kind of error bars (Key Error, Value Error or both) should be drawn on each data point. If you set errorType to something other than etNone, make sure to actually pass error data via the specific setData functions along with the data points (e.g. setDataValueError, setDataKeyError, setDataBothError).

See Also
ErrorType
void QCPGraph::setErrorPen ( const QPen &  pen)

Sets the pen with which the error bars will be drawn.

See Also
setErrorBarSize, setErrorType
void QCPGraph::setErrorBarSize ( double  size)

Sets the width of the handles at both ends of an error bar in pixels.

void QCPGraph::setErrorBarSkipSymbol ( bool  enabled)

If enabled is set to true, the error bar will not be drawn as a solid line under the scatter symbol but leave some free space around the symbol.

This feature uses the current scatter size (QCPScatterStyle::setSize) to determine the size of the area to leave blank. So when drawing Pixmaps as scatter points (QCPScatterStyle::ssPixmap), the scatter size must be set manually to a value corresponding to the size of the Pixmap, if the error bars should leave gaps to its boundaries.

setErrorType, setErrorBarSize, setScatterStyle

void QCPGraph::setChannelFillGraph ( QCPGraph targetGraph)

Sets the target graph for filling the area between this graph and targetGraph with the current brush (setBrush).

When targetGraph is set to 0, a normal graph fill to the zero-value-line will be shown. To disable any filling, set the brush to Qt::NoBrush.

See Also
setBrush
void QCPGraph::addData ( const QCPDataMap dataMap)

Adds the provided data points in dataMap to the current data.

See Also
removeData
void QCPGraph::addData ( const QCPData data)

This is an overloaded function.

Adds the provided single data point in data to the current data.

See Also
removeData
void QCPGraph::addData ( double  key,
double  value 
)

This is an overloaded function.

Adds the provided single data point as key and value pair to the current data.

See Also
removeData
void QCPGraph::addData ( const QVector< double > &  keys,
const QVector< double > &  values 
)

This is an overloaded function.

Adds the provided data points as key and value pairs to the current data.

See Also
removeData
void QCPGraph::removeDataBefore ( double  key)

Removes all data points with keys smaller than key.

See Also
addData, clearData
void QCPGraph::removeDataAfter ( double  key)

Removes all data points with keys greater than key.

See Also
addData, clearData
void QCPGraph::removeData ( double  fromKey,
double  toKey 
)

Removes all data points with keys between fromKey and toKey. if fromKey is greater or equal to toKey, the function does nothing. To remove a single data point with known key, use removeData(double key).

See Also
addData, clearData
void QCPGraph::removeData ( double  key)

This is an overloaded function.

Removes a single data point at key. If the position is not known with absolute precision, consider using removeData(double fromKey, double toKey) with a small fuzziness interval around the suspected position, depeding on the precision with which the key is known.

See Also
addData, clearData
void QCPGraph::clearData ( )
virtual

Removes all data points.

See Also
removeData, removeDataAfter, removeDataBefore

Implements QCPAbstractPlottable.

double QCPGraph::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractPlottable.

void QCPGraph::rescaleAxes ( bool  onlyEnlarge,
bool  includeErrorBars 
) const

This is an overloaded function.

Allows to define whether error bars are taken into consideration when determining the new axis range.

See Also
rescaleKeyAxis, rescaleValueAxis, QCPAbstractPlottable::rescaleAxes, QCustomPlot::rescaleAxes
void QCPGraph::rescaleKeyAxis ( bool  onlyEnlarge,
bool  includeErrorBars 
) const

This is an overloaded function.

Allows to define whether error bars (of kind QCPGraph::etKey) are taken into consideration when determining the new axis range.

See Also
rescaleAxes, QCPAbstractPlottable::rescaleKeyAxis
void QCPGraph::rescaleValueAxis ( bool  onlyEnlarge,
bool  includeErrorBars 
) const

This is an overloaded function.

Allows to define whether error bars (of kind QCPGraph::etValue) are taken into consideration when determining the new axis range.

See Also
rescaleAxes, QCPAbstractPlottable::rescaleValueAxis
void QCPGraph::draw ( QCPPainter painter)
protectedvirtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPAbstractPlottable.

void QCPGraph::drawLegendIcon ( QCPPainter painter,
const QRectF &  rect 
) const
protectedvirtual

called by QCPLegend::draw (via QCPPlottableLegendItem::draw) to create a graphical representation of this plottable inside rect, next to the plottable name.

Implements QCPAbstractPlottable.

QCPRange QCPGraph::getKeyRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedvirtual

called by rescaleAxes functions to get the full data key bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getValueRange

Implements QCPAbstractPlottable.

QCPRange QCPGraph::getValueRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedvirtual

called by rescaleAxes functions to get the full data value bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getKeyRange

Implements QCPAbstractPlottable.

QCPRange QCPGraph::getKeyRange ( bool &  validRange,
SignDomain  inSignDomain,
bool  includeErrors 
) const
protectedvirtual

This is an overloaded function.

Allows to specify whether the error bars should be included in the range calculation.

See Also
getKeyRange(bool &validRange, SignDomain inSignDomain)
QCPRange QCPGraph::getValueRange ( bool &  validRange,
SignDomain  inSignDomain,
bool  includeErrors 
) const
protectedvirtual

This is an overloaded function.

Allows to specify whether the error bars should be included in the range calculation.

See Also
getValueRange(bool &validRange, SignDomain inSignDomain)
void QCPGraph::drawFill ( QCPPainter painter,
QVector< QPointF > *  lineData 
) const
protectedvirtual

Draws the fill of the graph with the specified brush.

If the fill is a normal fill towards the zero-value-line, only the lineData is required (and two extra points at the zero-value-line, which are added by addFillBasePoints and removed by removeFillBasePoints after the fill drawing is done).

If the fill is a channel fill between this QCPGraph and another QCPGraph (mChannelFillGraph), the more complex polygon is calculated with the getChannelFillPolygon function.

See Also
drawLinePlot
void QCPGraph::drawScatterPlot ( QCPPainter painter,
QVector< QCPData > *  pointData 
) const
protectedvirtual

Draws scatter symbols at every data point passed in pointData. scatter symbols are independent of the line style and are always drawn if the scatter style's shape is not QCPScatterStyle::ssNone. Hence, the pointData vector is outputted by all "get(...)PlotData" functions, together with the (line style dependent) line data.

See Also
drawLinePlot, drawImpulsePlot
void QCPGraph::drawLinePlot ( QCPPainter painter,
QVector< QPointF > *  lineData 
) const
protectedvirtual

Draws line graphs from the provided data. It connects all points in lineData, which was created by one of the "get(...)PlotData" functions for line styles that require simple line connections between the point vector they create. These are for example getLinePlotData, getStepLeftPlotData, getStepRightPlotData and getStepCenterPlotData.

See Also
drawScatterPlot, drawImpulsePlot
void QCPGraph::drawImpulsePlot ( QCPPainter painter,
QVector< QPointF > *  lineData 
) const
protectedvirtual

Draws impulses from the provided data, i.e. it connects all line pairs in lineData, which was created by getImpulsePlotData.

See Also
drawScatterPlot, drawLinePlot
void QCPGraph::getPlotData ( QVector< QPointF > *  lineData,
QVector< QCPData > *  pointData 
) const
protected

This function branches out to the line style specific "get(...)PlotData" functions, according to the line style of the graph.

lineData will be filled with raw points that will be drawn with the according draw functions, e.g. drawLinePlot and drawImpulsePlot. These aren't necessarily the original data points, since for step plots for example, additional points are needed for drawing lines that make up steps. If the line style of the graph is lsNone, the lineData vector will be left untouched.

pointData will be filled with the original data points so drawScatterPlot can draw the scatter symbols accordingly. If no scatters need to be drawn, i.e. the scatter style's shape is QCPScatterStyle::ssNone, pass 0 as pointData, and this step will be skipped.

See Also
getScatterPlotData, getLinePlotData, getStepLeftPlotData, getStepRightPlotData, getStepCenterPlotData, getImpulsePlotData
void QCPGraph::getScatterPlotData ( QVector< QCPData > *  pointData) const
protected

If line style is lsNone and the scatter style's shape is not QCPScatterStyle::ssNone, this function serves at providing the visible data points in pointData, so the drawScatterPlot function can draw the scatter points accordingly.

If line style is not lsNone, this function is not called and the data for the scatter points are (if needed) calculated inside the corresponding other "get(...)PlotData" functions.

See Also
drawScatterPlot
void QCPGraph::getLinePlotData ( QVector< QPointF > *  lineData,
QVector< QCPData > *  pointData 
) const
protected

Places the raw data points needed for a normal linearly connected graph in lineData.

As for all plot data retrieval functions, pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is QCPScatterStyle::ssNone), pass 0 as pointData, and the function will skip filling the vector.

See Also
drawLinePlot
void QCPGraph::getStepLeftPlotData ( QVector< QPointF > *  lineData,
QVector< QCPData > *  pointData 
) const
protected

Places the raw data points needed for a step plot with left oriented steps in lineData.

As for all plot data retrieval functions, pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is QCPScatterStyle::ssNone), pass 0 as pointData, and the function will skip filling the vector.

See Also
drawLinePlot
void QCPGraph::getStepRightPlotData ( QVector< QPointF > *  lineData,
QVector< QCPData > *  pointData 
) const
protected

Places the raw data points needed for a step plot with right oriented steps in lineData.

As for all plot data retrieval functions, pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is QCPScatterStyle::ssNone), pass 0 as pointData, and the function will skip filling the vector.

See Also
drawLinePlot
void QCPGraph::getStepCenterPlotData ( QVector< QPointF > *  lineData,
QVector< QCPData > *  pointData 
) const
protected

Places the raw data points needed for a step plot with centered steps in lineData.

As for all plot data retrieval functions, pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is QCPScatterStyle::ssNone), pass 0 as pointData, and the function will skip filling the vector.

See Also
drawLinePlot
void QCPGraph::getImpulsePlotData ( QVector< QPointF > *  lineData,
QVector< QCPData > *  pointData 
) const
protected

Places the raw data points needed for an impulse plot in lineData.

As for all plot data retrieval functions, pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is QCPScatterStyle::ssNone), pass 0 as pointData, and the function will skip filling the vector.

See Also
drawImpulsePlot
void QCPGraph::drawError ( QCPPainter painter,
double  x,
double  y,
const QCPData data 
) const
protected

called by the scatter drawing function (drawScatterPlot) to draw the error bars on one data point. x and y pixel positions of the data point are passed since they are already known in pixel coordinates in the drawing function, so we save some extra coordToPixel transforms here. data is therefore only used for the errors, not key and value.

void QCPGraph::getVisibleDataBounds ( QCPDataMap::const_iterator &  lower,
QCPDataMap::const_iterator &  upper,
int &  count 
) const
protected

called by the specific plot data generating functions "get(...)PlotData" to determine which data range is visible, so only that needs to be processed.

lower returns an iterator to the lowest data point that needs to be taken into account when plotting. Note that in order to get a clean plot all the way to the edge of the axes, lower may still be outside the visible range.

upper returns an iterator to the highest data point. Same as before, upper may also lie outside of the visible range.

count number of data points that need plotting, i.e. points between lower and upper, including them. This is useful for allocating the array of QPointFs in the specific drawing functions.

if the graph contains no data, count is zero and both lower and upper point to constEnd.

void QCPGraph::addFillBasePoints ( QVector< QPointF > *  lineData) const
protected

The line data vector generated by e.g. getLinePlotData contains only the line that connects the data points. If the graph needs to be filled, two additional points need to be added at the value-zero-line in the lower and upper key positions of the graph. This function calculates these points and adds them to the end of lineData. Since the fill is typically drawn before the line stroke, these added points need to be removed again after the fill is done, with the removeFillBasePoints function.

The expanding of lineData by two points will not cause unnecessary memory reallocations, because the data vector generation functions (getLinePlotData etc.) reserve two extra points when they allocate memory for lineData.

See Also
removeFillBasePoints, lowerFillBasePoint, upperFillBasePoint
void QCPGraph::removeFillBasePoints ( QVector< QPointF > *  lineData) const
protected

removes the two points from lineData that were added by addFillBasePoints.

See Also
addFillBasePoints, lowerFillBasePoint, upperFillBasePoint
QPointF QCPGraph::lowerFillBasePoint ( double  lowerKey) const
protected

called by addFillBasePoints to conveniently assign the point which closes the fill polygon on the lower side of the zero-value-line parallel to the key axis. The logarithmic axis scale case is a bit special, since the zero-value-line in pixel coordinates is in positive or negative infinity. So this case is handled separately by just closing the fill polygon on the axis which lies in the direction towards the zero value.

lowerKey will be the the key (in pixels) of the returned point. Depending on whether the key axis is horizontal or vertical, lowerKey will end up as the x or y value of the returned point, respectively.

See Also
upperFillBasePoint, addFillBasePoints
QPointF QCPGraph::upperFillBasePoint ( double  upperKey) const
protected

called by addFillBasePoints to conveniently assign the point which closes the fill polygon on the upper side of the zero-value-line parallel to the key axis. The logarithmic axis scale case is a bit special, since the zero-value-line in pixel coordinates is in positive or negative infinity. So this case is handled separately by just closing the fill polygon on the axis which lies in the direction towards the zero value.

upperKey will be the the key (in pixels) of the returned point. Depending on whether the key axis is horizontal or vertical, upperKey will end up as the x or y value of the returned point, respectively.

See Also
lowerFillBasePoint, addFillBasePoints
const QPolygonF QCPGraph::getChannelFillPolygon ( const QVector< QPointF > *  lineData) const
protected

Generates the polygon needed for drawing channel fills between this graph (data passed via lineData) and the graph specified by mChannelFillGraph (data generated by calling its getPlotData function). May return an empty polygon if the key ranges have no overlap or fill target graph and this graph don't have same orientation (i.e. both key axes horizontal or both key axes vertical). For increased performance (due to implicit sharing), keep the returned QPolygonF const.

int QCPGraph::findIndexBelowX ( const QVector< QPointF > *  data,
double  x 
) const
protected

Finds the highest index of data, whose points x value is just below x. Assumes x values in data points are ordered ascending, as is the case when plotting with horizontal key axis.

Used to calculate the channel fill polygon, see getChannelFillPolygon.

int QCPGraph::findIndexAboveX ( const QVector< QPointF > *  data,
double  x 
) const
protected

Finds the smallest index of data, whose points x value is just above x. Assumes x values in data points are ordered ascending, as is the case when plotting with horizontal key axis.

Used to calculate the channel fill polygon, see getChannelFillPolygon.

int QCPGraph::findIndexBelowY ( const QVector< QPointF > *  data,
double  y 
) const
protected

Finds the highest index of data, whose points y value is just below y. Assumes y values in data points are ordered descending, as is the case when plotting with vertical key axis (since keys are ordered ascending).

Used to calculate the channel fill polygon, see getChannelFillPolygon.

int QCPGraph::findIndexAboveY ( const QVector< QPointF > *  data,
double  y 
) const
protected

Finds the smallest index of data, whose points y value is just above y. Assumes y values in data points are ordered descending, as is the case when plotting with vertical key axis.

Used to calculate the channel fill polygon, see getChannelFillPolygon.

double QCPGraph::pointDistance ( const QPointF &  pixelPoint) const
protected

Calculates the (minimum) distance (in pixels) the graph's representation has from the given pixelPoint in pixels. This is used to determine whether the graph was clicked or not, e.g. in selectTest.

If either the graph has no data or if the line style is lsNone and the scatter style's shape is QCPScatterStyle::ssNone (i.e. there is no visual representation of the graph), returns 500.

void QCPAbstractPlottable::setName ( const QString &  name)
inherited

The name is the textual representation of this plottable as it is displayed in the legend (QCPLegend). It may contain any UTF-8 characters, including newlines.

void QCPAbstractPlottable::setAntialiasedFill ( bool  enabled)
inherited

Sets whether fills of this plottable is drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedScatters ( bool  enabled)
inherited

Sets whether the scatter symbols of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedErrorBars ( bool  enabled)
inherited

Sets whether the error bars of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setPen ( const QPen &  pen)
inherited

The pen is used to draw basic lines that make up the plottable representation in the plot.

For example, the QCPGraph subclass draws its graph lines and scatter points with this pen.

See Also
setBrush
void QCPAbstractPlottable::setSelectedPen ( const QPen &  pen)
inherited

When the plottable is selected, this pen is used to draw basic lines instead of the normal pen set via setPen.

See Also
setSelected, setSelectable, setSelectedBrush, selectTest
void QCPAbstractPlottable::setBrush ( const QBrush &  brush)
inherited

The brush is used to draw basic fills of the plottable representation in the plot. The Fill can be a color, gradient or texture, see the usage of QBrush.

For example, the QCPGraph subclass draws the fill under the graph with this brush, when it's not set to Qt::NoBrush.

See Also
setPen
void QCPAbstractPlottable::setSelectedBrush ( const QBrush &  brush)
inherited

When the plottable is selected, this brush is used to draw fills instead of the normal brush set via setBrush.

See Also
setSelected, setSelectable, setSelectedPen, selectTest
void QCPAbstractPlottable::setKeyAxis ( QCPAxis axis)
inherited

The key axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's value axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setValueAxis
void QCPAbstractPlottable::setValueAxis ( QCPAxis axis)
inherited

The value axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's key axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setKeyAxis
void QCPAbstractPlottable::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this plottable by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains iSelectPlottables.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected directly.

See Also
setSelected
void QCPAbstractPlottable::setSelected ( bool  selected)
inherited

Sets whether this plottable is selected or not. When selected, it uses a different pen and brush to draw its lines and fills, see setSelectedPen and setSelectedBrush.

The entire selection mechanism for plottables is handled automatically when QCustomPlot::setInteractions contains iSelectPlottables. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
bool QCPAbstractPlottable::addToLegend ( )
virtualinherited

Adds this plottable to the legend of the parent QCustomPlot (QCustomPlot::legend).

Normally, a QCPPlottableLegendItem is created and inserted into the legend. If the plottable needs a more specialized representation in the legend, this function will take this into account and instead create the specialized subclass of QCPAbstractLegendItem.

Returns true on success, i.e. when the legend exists and a legend item associated with this plottable isn't already in the legend.

See Also
removeFromLegend, QCPLegend::addItem
bool QCPAbstractPlottable::removeFromLegend ( ) const
virtualinherited

Removes the plottable from the legend of the parent QCustomPlot. This means the QCPAbstractLegendItem (usually a QCPPlottableLegendItem) that is associated with this plottable is removed.

Returns true on success, i.e. if the legend exists and a legend item associated with this plottable was found and removed.

See Also
addToLegend, QCPLegend::removeItem
void QCPAbstractPlottable::rescaleAxes ( bool  onlyEnlarge = false) const
inherited

Rescales the key and value axes associated with this plottable to contain all displayed data, so the whole plottable is visible. If the scaling of an axis is logarithmic, rescaleAxes will make sure not to rescale to an illegal range i.e. a range containing different signs and/or zero. Instead it will stay in the current sign domain and ignore all parts of the plottable that lie outside of that domain.

onlyEnlarge makes sure the ranges are only expanded, never reduced. So it's possible to show multiple plottables in their entirety by multiple calls to rescaleAxes where the first call has onlyEnlarge set to false (the default), and all subsequent set to true.

See Also
rescaleKeyAxis, rescaleValueAxis, QCustomPlot::rescaleAxes, QCPAxis::rescale
void QCPAbstractPlottable::rescaleKeyAxis ( bool  onlyEnlarge = false) const
inherited

Rescales the key axis of the plottable so the whole plottable is visible.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::rescaleValueAxis ( bool  onlyEnlarge = false) const
inherited

Rescales the value axis of the plottable so the whole plottable is visible.

Returns true if the axis was actually scaled. This might not be the case if this plottable has an invalid range, e.g. because it has no data points.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this plottable has changed to selected, either by user interaction or by a direct call to setSelected.

QRect QCPAbstractPlottable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented from QCPLayerable.

QCP::Interaction QCPAbstractPlottable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint

Implements QCPLayerable.

void QCPAbstractPlottable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::coordsToPixels ( double  key,
double  value,
double &  x,
double &  y 
) const
protectedinherited

Convenience function for transforming a key/value pair to pixels on the QCustomPlot surface, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

key and value are transformed to the coodinates in pixels and are written to x and y.

See Also
pixelsToCoords, QCPAxis::coordToPixel
const QPointF QCPAbstractPlottable::coordsToPixels ( double  key,
double  value 
) const
protectedinherited

This is an overloaded function.

Returns the input as pixel coordinates in a QPointF.

void QCPAbstractPlottable::pixelsToCoords ( double  x,
double  y,
double &  key,
double &  value 
) const
protectedinherited

Convenience function for transforming a x/y pixel pair on the QCustomPlot surface to plot coordinates, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

x and y are transformed to the plot coodinates and are written to key and value.

See Also
coordsToPixels, QCPAxis::coordToPixel
void QCPAbstractPlottable::pixelsToCoords ( const QPointF &  pixelPos,
double &  key,
double &  value 
) const
protectedinherited

This is an overloaded function.

Returns the pixel input pixelPos as plot coordinates key and value.

QPen QCPAbstractPlottable::mainPen ( ) const
protectedinherited

Returns the pen that should be used for drawing lines of the plottable. Returns mPen when the graph is not selected and mSelectedPen when it is.

QBrush QCPAbstractPlottable::mainBrush ( ) const
protectedinherited

Returns the brush that should be used for drawing fills of the plottable. Returns mBrush when the graph is not selected and mSelectedBrush when it is.

void QCPAbstractPlottable::applyFillAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable fills.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyDefaultAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyScattersAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable scatter points.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyDefaultAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyErrorBarsAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable error bars.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyDefaultAntialiasingHint
double QCPAbstractPlottable::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific plottables.

Note
This function is identical to QCPAbstractItem::distSqrToLine
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/nav_h.png0000644000175000017500000000014212236016574020741 0ustar dermanudermanu‰PNG  IHDR ,é@)IDATxíÝA @BQ­³šÛ›Ð¢Žáà) )ëý éaÅèÜ¿Æo‡RlÐßIEND®B`‚qcustomplot/documentation/html/functions_0x72.html0000644000175000017500000001354012236016575022625 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- r -

qcustomplot/documentation/html/functions_func_0x67.html0000644000175000017500000001527612236016575023654 0ustar dermanudermanu Data Fields - Functions
 

- g -

qcustomplot/documentation/html/functions_func_0x72.html0000644000175000017500000001334012236016575023636 0ustar dermanudermanu Data Fields - Functions
 

- r -

qcustomplot/documentation/html/classQCPItemBracket__inherit__graph.png0000644000175000017500000000740412236016575026644 0ustar dermanudermanu‰PNG  IHDR€»"áòbKGDÿÿÿ ½§“¹IDATxœímP׀ϒ@(*¨ZT…‹åC‹EôÒ ŠÓ2¦vmAiéTì4­Ö)V­e옣H§-jÁ2…€ T&Ôj‰È‡:¢½‚Ò !!dïí=³& „$ð²zžáÇî9gß}Ù'»›,á¼MÓˆ‡tÏ:D0D0D0D4´äççC§É?òóóÍ9¶Â1E¿tŸ2Ö¯_oæÈ1ˆŽŽ¶(™gó{0D0D0D0DBQef£Í±±€ÜÜ\ooooovW^^žŸŸŸH$òôôÌÎÎf)Š¢(J$ÕÕÕáFÛf5©1ÿƒØ¨ÃÎ;'‘HΟ?¯V««ªª$É™3gp׋/¾XQQÑ××wçηß~›ig :t( €Ý8‘pîÑš4ÙÄl) 44´¸¸¯ž>>z½Þ`0øúú^¿~¦i777|iµ³³ÃÑ=z4B(ö˜G‰Åb£48ÃŽŒùlyöóóûõ×_ñjuuõ¢E‹˜e__ßß~ûs+š¦µZ­J¥ .rBBBZZZOOZ­Öëõ¡åË—Ïœ9³°°°¬¬ÌÛÛÛÇLJ uÿþ}æc†1ˆÅâBÊpamƒ9–Ì<Μ93wîÜ_~ù¥··W¡P¸»»Ÿ>}šé:{ö¬»»{ee¥F£¹sçÎ;#_)¦qLÝÜÜ”J¥Z­Þ¶mîU*•þþþ¡¡¡uuuLK\\\\\\GGGkkkLL g4ÎP¡ÔÔTµZÍy â ;2äDÓtvv¶———Bèøñãì®ÜÜÜ—^zÉÞÞžyŠåÈÉä%’ýüóÏÏž={ïÞ½ìMBCCW­Z…W>|ëâââááQPPÀ¹ ÎPhÄ›0gØ‘€ùàƒ–-[ÖÓÓ3¦­Æ„V«Ý¸qcSSÓøíÂbÌ0†ÇÑcâðáÃ㙢(@pìØ1??¿qÝÑx3^Æúiù:y    ¿46¶55݃ÎÂ*Æð.h>¦Ÿ6í?¡Þ^€2çýܽ{÷.]º4ÙŒ šFŸ®¢(jïÞÅ“ðÅ,‘HFf–€ÉIMMËš5‡B%%[ƒ‚æA§c!<¾Ö …vB¡ °ð t.–ÃWƒƒº’’zΠÓ鋋놆lý”x¢à«€êêfFË,k4Z¥ò&l>ÃWEEW‚’¨“'ùzâ¥F{ölþã”^o8s¦ Ÿü‚—**®ëtO\ôu:}eåu¨|¬—ŠŠT=ñÆŸ¢Pa¡ *kàŸ€®.Muu³Á``7êõtuuó£G¨¬,†ÊÊ8?<Ò4]VÖ8ñùX ÿÖZÐ5iᙀzTª»Ç`0Ð*Õ<è™ø¬¬g**®O™"Â?B!»¥²òtŽcƒÇãBï¾{!ôý÷› ±žOD0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0O̘59'f¶¶6„PAAt"cÀx"'ö4º¼«•'L¦Cg16Œ¦4æ˜3Ž×ÿ¶7É1ZÜ€!€!€!€™\&áôŸã…lR1¯ªªŠ¢¨ŠŠ °^;^x˜~µê†­*æmÚ´ÉÏÏoÆ ìÊæ”ýÓHs" V1+ÃŽºS£Ï–°IÅH˜ ¨˜÷4a*ÀÚBnã]1ï©gr=Šx!€!€!€!€á·€¡!=Ë÷0p¼ åÑ×l»( ùû»B'b9Ö¯_?ñyX†X¼ !ÔÝ]ˆåðxònµzÀß?!tíÚ—Ó¦9B§c!<¾œ?]¯7èõ†óçy6e= ÈÏ¿l´ÀGø* ³³÷Ò¥Ûm0Ð/Þêìì…ÎÈBø*àôéV%+Šå{ø*@.¯Å•¬ Z.ç_ù^ hm}ØÐІ߾Ñ4]_ßÚÖÖš”…ðR@ii=®äÉ P¥¥W¡ò±^ ((¨Õ鞨¤§Ó xy⟀›7ÿ¼sçBÆŸoß~póæŸ )Yÿ””Ô …Óv¡Ppêÿ®B<@Óta¡Ê¨–-ƒN§—Ëky÷d…gêëÛÚÛ»;¡P`ô#ص·w74´Aç86¬ýVÄóða߆ ÿÆ«.ÜB…„ü ·üýw@ZVÀã§¡ˆ”2$X                                 Ç¿(­[·$ hi#„æÍë†NÄ\är¹Q ‡Š¢|||f̘1QY=tvvÞ¸qÃôhsÿ—äºuëV¬X1îI=K(•Jf6w#È=""""€›°°°‰Ù‘åsETTTäææþõ×_/¼ðB|||xx8ª:qâĽ{÷fΜÿÆo ÿÿJB¡ÐÓÓó£>òòòb {Ábð!cJ¾mÙ²%00К€fîÔÊ´- R©Ž=úé§Ÿ.X° ¹¹yÿþýb±8((ˆéÊÊÊúä“Oüüüºººrss!…B144ôóÏ?Ëd²¬¬,kòæ„9Z­ö÷ßOKK+..¶ù.lŽåÅ333&&†éÚ°aCFFÆ•+W´Zm{{ûÌ èääôçŸÿÌy¸téÒï¾û®»»»££ãË/¿knZ­¶¬¬Ìè*Çî2eŠN§ûá‡pc@@@^^žV«e NJJ’J¥LbœY±Ó¶ Ï€   „„„ôôt¦ÜåÎ;—-[Æt-Y²$11ñðáÃ÷ïߟ5kV||¼9£££7oÞüøñc…B‘’’rèС7N:5))Éü¬˜{€H$òòò2ºùcÞÿýÝ»w …¨¨(ܸuëÖýû÷¯^½Z§Ó±OÓ+V J¥ÒôôtάØi›Ÿ'îÇÑ»wï6ÿihFFFss³L&srr²,‰gæi¨¹£ÇDJJŠõAžYÈ£`ˆ`ˆ`ˆ`ˆ`ˆ`È×R&ˆ1|-eíÚµ’ҳŌ3|||LÛù=y÷S¹CCCCó?g;N~‚IEND®B`‚qcustomplot/documentation/html/functions_0x6f.html0000644000175000017500000000242012236016575022703 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- o -

qcustomplot/documentation/html/item-rect_8h_source.html0000644000175000017500000004033012236016574023701 0ustar dermanudermanu src/items/item-rect.h Source File
item-rect.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_RECT_H
27 #define QCP_ITEM_RECT_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 
32 class QCPPainter;
33 class QCustomPlot;
34 
35 class QCP_LIB_DECL QCPItemRect : public QCPAbstractItem
36 {
37  Q_OBJECT
39  Q_PROPERTY(QPen pen READ pen WRITE setPen)
40  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
41  Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
42  Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
44 public:
45  QCPItemRect(QCustomPlot *parentPlot);
46  virtual ~QCPItemRect();
47 
48  // getters:
49  QPen pen() const { return mPen; }
50  QPen selectedPen() const { return mSelectedPen; }
51  QBrush brush() const { return mBrush; }
52  QBrush selectedBrush() const { return mSelectedBrush; }
53 
54  // setters;
55  void setPen(const QPen &pen);
56  void setSelectedPen(const QPen &pen);
57  void setBrush(const QBrush &brush);
58  void setSelectedBrush(const QBrush &brush);
59 
60  // reimplemented virtual methods:
61  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
62 
63  QCPItemPosition * const topLeft;
64  QCPItemPosition * const bottomRight;
65  QCPItemAnchor * const top;
66  QCPItemAnchor * const topRight;
67  QCPItemAnchor * const right;
68  QCPItemAnchor * const bottom;
69  QCPItemAnchor * const bottomLeft;
70  QCPItemAnchor * const left;
71 
72 protected:
73  enum AnchorIndex {aiTop, aiTopRight, aiRight, aiBottom, aiBottomLeft, aiLeft};
74 
75  // property members:
76  QPen mPen, mSelectedPen;
77  QBrush mBrush, mSelectedBrush;
78 
79  // reimplemented virtual methods:
80  virtual void draw(QCPPainter *painter);
81  virtual QPointF anchorPixelPoint(int anchorId) const;
82 
83  // non-virtual methods:
84  QPen mainPen() const;
85  QBrush mainBrush() const;
86 };
87 
88 #endif // QCP_ITEM_RECT_H
qcustomplot/documentation/html/functions_0x65.html0000644000175000017500000001154412236016575022631 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- e -

qcustomplot/documentation/html/ssPlusSquare.png0000644000175000017500000000034712236016575022330 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+‰IDAT8ÝÒ1 ÂP„áO±Ò«  ±<³h—`!bá]´°Ñ"Ë{E0 8°Å?,ð,¿Ö(ã­1MxkœJ+ìqI¼-Ž /±Ã9×hƒ:x¯Àu·ƹ”>ú:`x®­kGž•ÜÐhûÜK½5ø ž¨p~ÊU·‡>ñôÿC²ëØIEND®B`‚qcustomplot/documentation/html/inherit_graph_4.png0000644000175000017500000000165512236016575022727 0ustar dermanudermanu‰PNG  IHDRX#ŸZabKGDÿÿÿ ½§“bIDAThí˜ÍKó@‡w[Mñ X+‚-%Ú&Š("‚é]ð,mAT< þ ¼ âU!Z(´ˆ"¨µõ£QD¥ñdO¢—€•Æ É!î{HXC?ý¨­ðîsÊÌlffIv“@„ `©u"„ Îl<>>^^^Öª•*3::JÓô‡L„ÃáÚ5VmÂá°yîuù#þ‡}B˜ã!k„€a@„0 B|Sˆ`0È0 EQ ÃlnnšC¡PˆeY›ÍÖÕÕ%‚î„Bm6Ûððp2™ÄÎt^iòß#P9b±MÓÇÇDz,ŸœœÐ4Fq¨££#g³ÙT*5==­ûõ´Š¢¬¬¬ ˜5ä½G|Gžçwvv°¹½½=66†C»»» ëÙl¶¡¡!Ç™3Bèr¹b±X"‘`FÓ4=¤( MÓ÷÷÷’$MLL466rwuu…O\^^¦iBXv •¢¥¥%Nc3NÛíö‚!sa„ªªŸ¹#4ME±§§!äõzC¡î_[[óûý!ŸÏ'‚¢(}}}8ÛÜÜœ$IeûG¿'DSSSÁ¹0€¢¨ÁÁÁëëkìÌÇ9Ž£( `µZB¢(ºÝnMÓÞßß=ÏÝÝBÈápàGÛb±àl///e›Çƒs„øÎbɲìùù96ÏÎÎúûûõcÇsqqQl1RUõææfhh¨XæÙÙÙ¥¥¥L&#˲¦i¯×ÛÖÖ¶µµµ¿¿Ï0ŒÛíÖS===éЇé477c:ýa>yGD£ÑÎÎÎÓÓÓ×××D"át:÷ööôÐáá¡Óé<::z{{K¥R333Å.~A§ÃáEQ–å……E‘ã8žç“ɤî @@’¤‡‡ŸÏW¢D1@E „ ÝÝÝ‹°±±aƒÁÞÞÞúúz}û,Ñeþ%¡µµµ½½}qqÑ| ÏóãããØ|~~öûýv»ÝårE"‘%ŠQ1!0óóó###™LæKg} UU§¦¦noo+˜3_ˆŸá_buuõ‡J!´Z­ëëë,Ëþj¡Ÿ ñÛ jý!ßD"„€aP`׈D"Õï£æbrr²ú}ÔXµúCÖ"„€aðÄÿE‰NêøIEND®B`‚qcustomplot/documentation/html/pages.html0000644000175000017500000000301712236016575021132 0ustar dermanudermanu Related Pages
Related Pages
Here is a list of all related documentation pages:
qcustomplot/documentation/html/ftv2doc.png0000644000175000017500000000135212236016574021221 0ustar dermanudermanu‰PNG  IHDRÚ}\ˆ±IDATxíMOS[…Ÿžsúa?-XZ(PD4‚ AWbu`b 77wäHFÆCËÔÂÿà/`vo„ˆAPòq‹P @ ­ûÝè980 îà¤+»§Ýy×^ïZï9SW¹\83g‰3'°Nâçl¹¸_b¯p ïåûÆVÜÖ¡€Ÿ×"¬Ö†X€d]Ðà3“ÉÃÄÌ™xŸ ßMàœ[<çSPkvc—hÈ'…™˜^Åm™hØ7 `Û™¦ èÀåráq›‘œ¾!daeKŸþÆÕ˜:Ì*³_דâèi?I–eP*B7Ÿ¿åô!¹Ýgr6Ër6oKbëþãðôrI”ËTˆüªŒ¨xóö=›ù¢&‰(e+ßóÄkýÇ`ëÁÜb.“¸ÐW×w0¥°jÑzN™¬|©WEãµ¢a¯6[öX†AkÓù*/œ¨‰€ÉY­ ÿV’§–u²jÂ>1W *½·°PGŽzÿ¨/Eg{ ŸÇâaoŠÁVú:è¿™¤1$ôR§W,–ªà¨@ŠË56¾ÀÔÜ-¾,mê¸Î/æè¹– òr5¥T*S(Vf8ö9u’ Õ£w›ùóa=Í<{Ò¡UŒ÷r¯+ÉådDÏF$è°…£é¿`zþ»ÎúöN‘µÜ®0Q3£~_^Ëóâ¯N=ˆvpTà±LžT}ˆîkq†Òm<¼ÎÓ?Zh¿X£ï_þÝ¥[)ƒ `gêÃa_Ô*äÔ2`'=õ´Fÿ2EâÁPú ÷»›l=8‹Wv°%THqÉ¿<"¤ïG¾ÆxH{#ÆÖ«aÔJÕÞ‡—m‹„ çñKsÿàñVŠØ¡°·MâÒ^ TÁ– Ý›r¥ß½ømüÿ_™?ªWİ÷#uIEND®B`‚qcustomplot/documentation/html/layoutelement-legend_8h_source.html0000644000175000017500000013016212236016574026136 0ustar dermanudermanu src/layoutelements/layoutelement-legend.h Source File
layoutelement-legend.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_LAYOUTELEMENT_LEGEND_H
27 #define QCP_LAYOUTELEMENT_LEGEND_H
28 
29 #include "../global.h"
30 #include "../layer.h"
31 #include "../layout.h"
32 
33 class QCPPainter;
34 class QCustomPlot;
36 class QCPLegend;
37 
38 class QCP_LIB_DECL QCPAbstractLegendItem : public QCPLayoutElement
39 {
40  Q_OBJECT
42  Q_PROPERTY(QCPLegend* parentLegend READ parentLegend)
43  Q_PROPERTY(QFont font READ font WRITE setFont)
44  Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
45  Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
46  Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor)
47  Q_PROPERTY(bool selectable READ selectable WRITE setSelectable)
48  Q_PROPERTY(bool selected READ selected WRITE setSelected)
50 public:
51  explicit QCPAbstractLegendItem(QCPLegend *parent);
52 
53  // getters:
54  QCPLegend *parentLegend() const { return mParentLegend; }
55  QFont font() const { return mFont; }
56  QColor textColor() const { return mTextColor; }
57  QFont selectedFont() const { return mSelectedFont; }
58  QColor selectedTextColor() const { return mSelectedTextColor; }
59  bool selectable() const { return mSelectable; }
60  bool selected() const { return mSelected; }
61 
62  // setters:
63  void setFont(const QFont &font);
64  void setTextColor(const QColor &color);
65  void setSelectedFont(const QFont &font);
66  void setSelectedTextColor(const QColor &color);
67  void setSelectable(bool selectable);
68  void setSelected(bool selected);
69 
70  // reimplemented virtual methods:
71  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
72 
73 signals:
74  void selectionChanged(bool selected);
75 
76 protected:
77  // property members:
78  QCPLegend *mParentLegend;
79  QFont mFont;
80  QColor mTextColor;
81  QFont mSelectedFont;
82  QColor mSelectedTextColor;
83  bool mSelectable, mSelected;
84 
85  // reimplemented virtual methods:
86  virtual QCP::Interaction selectionCategory() const;
87  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const;
88  virtual QRect clipRect() const;
89  virtual void draw(QCPPainter *painter) = 0;
90  // events:
91  virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged);
92  virtual void deselectEvent(bool *selectionStateChanged);
93 
94 private:
95  Q_DISABLE_COPY(QCPAbstractLegendItem)
96 
97  friend class QCPLegend;
98 };
99 
100 
102 {
103  Q_OBJECT
104 public:
106 
107  // getters:
108  QCPAbstractPlottable *plottable() { return mPlottable; }
109 
110 protected:
111  // property members:
112  QCPAbstractPlottable *mPlottable;
113 
114  // reimplemented virtual methods:
115  virtual void draw(QCPPainter *painter);
116  virtual QSize minimumSizeHint() const;
117 
118  // non-virtual methods:
119  QPen getIconBorderPen() const;
120  QColor getTextColor() const;
121  QFont getFont() const;
122 };
123 
124 
125 class QCP_LIB_DECL QCPLegend : public QCPLayoutGrid
126 {
127  Q_OBJECT
129  Q_PROPERTY(QPen borderPen READ borderPen WRITE setBorderPen)
130  Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
131  Q_PROPERTY(QFont font READ font WRITE setFont)
132  Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
133  Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
134  Q_PROPERTY(int iconTextPadding READ iconTextPadding WRITE setIconTextPadding)
135  Q_PROPERTY(QPen iconBorderPen READ iconBorderPen WRITE setIconBorderPen)
136  Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE setSelectableParts)
137  Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE setSelectedParts)
138  Q_PROPERTY(QPen selectedBorderPen READ selectedBorderPen WRITE setSelectedBorderPen)
139  Q_PROPERTY(QPen selectedIconBorderPen READ selectedIconBorderPen WRITE setSelectedIconBorderPen)
140  Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
141  Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
142  Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor)
144 public:
150  enum SelectablePart { spNone = 0x000
151  ,spLegendBox = 0x001
152  ,spItems = 0x002
153  };
154  Q_FLAGS(SelectablePart SelectableParts)
155  Q_DECLARE_FLAGS(SelectableParts, SelectablePart)
156 
157  explicit QCPLegend();
158  virtual ~QCPLegend();
159 
160  // getters:
161  QPen borderPen() const { return mBorderPen; }
162  QBrush brush() const { return mBrush; }
163  QFont font() const { return mFont; }
164  QColor textColor() const { return mTextColor; }
165  QSize iconSize() const { return mIconSize; }
166  int iconTextPadding() const { return mIconTextPadding; }
167  QPen iconBorderPen() const { return mIconBorderPen; }
168  SelectableParts selectableParts() const { return mSelectableParts; }
169  SelectableParts selectedParts() const;
170  QPen selectedBorderPen() const { return mSelectedBorderPen; }
171  QPen selectedIconBorderPen() const { return mSelectedIconBorderPen; }
172  QBrush selectedBrush() const { return mSelectedBrush; }
173  QFont selectedFont() const { return mSelectedFont; }
174  QColor selectedTextColor() const { return mSelectedTextColor; }
175 
176  // setters:
177  void setBorderPen(const QPen &pen);
178  void setBrush(const QBrush &brush);
179  void setFont(const QFont &font);
180  void setTextColor(const QColor &color);
181  void setIconSize(const QSize &size);
182  void setIconSize(int width, int height);
183  void setIconTextPadding(int padding);
184  void setIconBorderPen(const QPen &pen);
185  void setSelectableParts(const SelectableParts &selectableParts);
186  void setSelectedParts(const SelectableParts &selectedParts);
187  void setSelectedBorderPen(const QPen &pen);
188  void setSelectedIconBorderPen(const QPen &pen);
189  void setSelectedBrush(const QBrush &brush);
190  void setSelectedFont(const QFont &font);
191  void setSelectedTextColor(const QColor &color);
192 
193  // reimplemented virtual methods:
194  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
195 
196  // non-virtual methods:
197  QCPAbstractLegendItem *item(int index) const;
198  QCPPlottableLegendItem *itemWithPlottable(const QCPAbstractPlottable *plottable) const;
199  int itemCount() const;
200  bool hasItem(QCPAbstractLegendItem *item) const;
201  bool hasItemWithPlottable(const QCPAbstractPlottable *plottable) const;
202  bool addItem(QCPAbstractLegendItem *item);
203  bool removeItem(int index);
204  bool removeItem(QCPAbstractLegendItem *item);
205  void clearItems();
206  QList<QCPAbstractLegendItem*> selectedItems() const;
207 
208 signals:
209  void selectionChanged(QCPLegend::SelectableParts selection);
210 
211 protected:
212  // property members:
213  QPen mBorderPen, mIconBorderPen;
214  QBrush mBrush;
215  QFont mFont;
216  QColor mTextColor;
217  QSize mIconSize;
218  int mIconTextPadding;
219  SelectableParts mSelectedParts, mSelectableParts;
220  QPen mSelectedBorderPen, mSelectedIconBorderPen;
221  QBrush mSelectedBrush;
222  QFont mSelectedFont;
223  QColor mSelectedTextColor;
224 
225  // reimplemented virtual methods:
226  virtual void parentPlotInitialized(QCustomPlot *parentPlot);
227  virtual QCP::Interaction selectionCategory() const;
228  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const;
229  virtual void draw(QCPPainter *painter);
230  // events:
231  virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged);
232  virtual void deselectEvent(bool *selectionStateChanged);
233 
234  // non-virtual methods:
235  QPen getBorderPen() const;
236  QBrush getBrush() const;
237 
238 private:
239  Q_DISABLE_COPY(QCPLegend)
240 
241  friend class QCustomPlot;
242  friend class QCPAbstractLegendItem;
243 };
244 Q_DECLARE_OPERATORS_FOR_FLAGS(QCPLegend::SelectableParts)
245 Q_DECLARE_METATYPE(QCPLegend::SelectablePart)
246 
247 #endif // QCP_LAYOUTELEMENT_LEGEND_H
qcustomplot/documentation/html/classQCPItemRect.html0000644000175000017500000024061412236016575023147 0ustar dermanudermanu QCPItemRect Class Reference

A rectangle. More...

Inheritance diagram for QCPItemRect:
Inheritance graph

Public Functions

 QCPItemRect (QCustomPlot *parentPlot)
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const topLeft
QCPItemPosition *const bottomRight
QCPItemAnchor *const top
QCPItemAnchor *const topRight
QCPItemAnchor *const right
QCPItemAnchor *const bottom
QCPItemAnchor *const bottomLeft
QCPItemAnchor *const left

Signals

void selectionChanged (bool selected)

Protected Types

enum  AnchorIndex

Protected Functions

virtual void draw (QCPPainter *painter)
virtual QPointF anchorPixelPoint (int anchorId) const
QPen mainPen () const
QBrush mainBrush () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A rectangle.

QCPItemRect.png
Rectangle example. Blue dotted circles are anchors, solid blue discs are positions.

It has two positions, topLeft and bottomRight, which define the rectangle.

Constructor & Destructor Documentation

QCPItemRect::QCPItemRect ( QCustomPlot parentPlot)

Creates a rectangle item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemRect::setPen ( const QPen &  pen)

Sets the pen that will be used to draw the line of the rectangle

See Also
setSelectedPen, setBrush
void QCPItemRect::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used to draw the line of the rectangle when selected

See Also
setPen, setSelected
void QCPItemRect::setBrush ( const QBrush &  brush)

Sets the brush that will be used to fill the rectangle. To disable filling, set brush to Qt::NoBrush.

See Also
setSelectedBrush, setPen
void QCPItemRect::setSelectedBrush ( const QBrush &  brush)

Sets the brush that will be used to fill the rectangle when selected. To disable filling, set brush to Qt::NoBrush.

See Also
setBrush
double QCPItemRect::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemRect::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

QPointF QCPItemRect::anchorPixelPoint ( int  anchorId) const
protectedvirtual

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented from QCPAbstractItem.

QPen QCPItemRect::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

QBrush QCPItemRect::mainBrush ( ) const
protected

Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item is not selected and mSelectedBrush when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPBars.html0000644000175000017500000041226512236016575022325 0ustar dermanudermanu QCPBars Class Reference

A plottable representing a bar chart in a plot. More...

Inheritance diagram for QCPBars:
Inheritance graph

Public Functions

 QCPBars (QCPAxis *keyAxis, QCPAxis *valueAxis)
double width () const
QCPBarsbarBelow () const
QCPBarsbarAbove () const
QCPBarDataMapdata () const
void setWidth (double width)
void setData (QCPBarDataMap *data, bool copy=false)
void setData (const QVector< double > &key, const QVector< double > &value)
void moveBelow (QCPBars *bars)
void moveAbove (QCPBars *bars)
void addData (const QCPBarDataMap &dataMap)
void addData (const QCPBarData &data)
void addData (double key, double value)
void addData (const QVector< double > &keys, const QVector< double > &values)
void removeDataBefore (double key)
void removeDataAfter (double key)
void removeData (double fromKey, double toKey)
void removeData (double key)
virtual void clearData ()
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QString name () const
bool antialiasedFill () const
bool antialiasedScatters () const
bool antialiasedErrorBars () const
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
QCPAxiskeyAxis () const
QCPAxisvalueAxis () const
bool selectable () const
bool selected () const
void setName (const QString &name)
void setAntialiasedFill (bool enabled)
void setAntialiasedScatters (bool enabled)
void setAntialiasedErrorBars (bool enabled)
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
void setKeyAxis (QCPAxis *axis)
void setValueAxis (QCPAxis *axis)
Q_SLOT void setSelectable (bool selectable)
Q_SLOT void setSelected (bool selected)
virtual bool addToLegend ()
virtual bool removeFromLegend () const
void rescaleAxes (bool onlyEnlarge=false) const
void rescaleKeyAxis (bool onlyEnlarge=false) const
void rescaleValueAxis (bool onlyEnlarge=false) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Types

enum  SignDomain

Protected Functions

virtual void draw (QCPPainter *painter)
virtual void drawLegendIcon (QCPPainter *painter, const QRectF &rect) const
virtual QCPRange getKeyRange (bool &validRange, SignDomain inSignDomain=sdBoth) const
virtual QCPRange getValueRange (bool &validRange, SignDomain inSignDomain=sdBoth) const
QPolygonF getBarPolygon (double key, double value) const
double getBaseValue (double key, bool positive) const
virtual QRect clipRect () const
virtual QCP::Interaction selectionCategory () const
void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void coordsToPixels (double key, double value, double &x, double &y) const
const QPointF coordsToPixels (double key, double value) const
void pixelsToCoords (double x, double y, double &key, double &value) const
void pixelsToCoords (const QPointF &pixelPos, double &key, double &value) const
QPen mainPen () const
QBrush mainBrush () const
void applyFillAntialiasingHint (QCPPainter *painter) const
void applyScattersAntialiasingHint (QCPPainter *painter) const
void applyErrorBarsAntialiasingHint (QCPPainter *painter) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Protected Static Functions

static void connectBars (QCPBars *lower, QCPBars *upper)

Detailed Description

A plottable representing a bar chart in a plot.

QCPBars.png

To plot data, assign it with the setData or addData functions.

Changing the appearance

The appearance of the bars is determined by the pen and the brush (setPen, setBrush).

Bar charts are stackable. This means, Two QCPBars plottables can be placed on top of each other (see QCPBars::moveAbove). Then, when two bars are at the same key position, they will appear stacked.

Usage

Like all data representing objects in QCustomPlot, the QCPBars is a plottable (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies (QCustomPlot::plottable, QCustomPlot::addPlottable, QCustomPlot::removePlottable, etc.)

Usually, you first create an instance:

QCPBars *newBars = new QCPBars(customPlot->xAxis, customPlot->yAxis);

add it to the customPlot with QCustomPlot::addPlottable:

customPlot->addPlottable(newBars);

and then modify the properties of the newly created plottable, e.g.:

newBars->setName("Country population");
newBars->setData(xData, yData);

Member Enumeration Documentation

enum QCPAbstractPlottable::SignDomain
protectedinherited

Represents negative and positive sign domain for passing to getKeyRange and getValueRange.

Enumerator:
sdNegative 

The negative sign domain, i.e. numbers smaller than zero.

sdBoth 

Both sign domains, including zero, i.e. all (rational) numbers.

sdPositive 

The positive sign domain, i.e. numbers greater than zero.

Constructor & Destructor Documentation

QCPBars::QCPBars ( QCPAxis keyAxis,
QCPAxis valueAxis 
)
explicit

Constructs a bar chart which uses keyAxis as its key axis ("x") and valueAxis as its value axis ("y"). keyAxis and valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though.

The constructed QCPBars can be added to the plot with QCustomPlot::addPlottable, QCustomPlot then takes ownership of the bar chart.

Member Function Documentation

QCPBars * QCPBars::barBelow ( ) const
inline

Returns the bars plottable that is directly below this bars plottable. If there is no such plottable, returns 0.

See Also
barAbove, moveBelow, moveAbove
QCPBars * QCPBars::barAbove ( ) const
inline

Returns the bars plottable that is directly above this bars plottable. If there is no such plottable, returns 0.

See Also
barBelow, moveBelow, moveAbove
void QCPBars::setWidth ( double  width)

Sets the width of the bars in plot (key) coordinates.

void QCPBars::setData ( QCPBarDataMap data,
bool  copy = false 
)

Replaces the current data with the provided data.

If copy is set to true, data points in data will only be copied. if false, the plottable takes ownership of the passed data and replaces the internal data pointer with it. This is significantly faster than copying for large datasets.

void QCPBars::setData ( const QVector< double > &  key,
const QVector< double > &  value 
)

This is an overloaded function.

Replaces the current data with the provided points in key and value tuples. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

void QCPBars::moveBelow ( QCPBars bars)

Moves this bars plottable below bars. In other words, the bars of this plottable will appear below the bars of bars. The move target bars must use the same key and value axis as this plottable.

Inserting into and removing from existing bar stacking is handled gracefully. If bars already has a bars object below itself, this bars object is inserted between the two. If this bars object is already between two other bars, the two other bars will be stacked on top of each other after the operation.

To remove this bars plottable from any stacking, set bars to 0.

See Also
moveBelow, barAbove, barBelow
void QCPBars::moveAbove ( QCPBars bars)

Moves this bars plottable above bars. In other words, the bars of this plottable will appear above the bars of bars. The move target bars must use the same key and value axis as this plottable.

Inserting into and removing from existing bar stacking is handled gracefully. If bars already has a bars object below itself, this bars object is inserted between the two. If this bars object is already between two other bars, the two other bars will be stacked on top of each other after the operation.

To remove this bars plottable from any stacking, set bars to 0.

See Also
moveBelow, barBelow, barAbove
void QCPBars::addData ( const QCPBarDataMap dataMap)

Adds the provided data points in dataMap to the current data.

See Also
removeData
void QCPBars::addData ( const QCPBarData data)

This is an overloaded function.

Adds the provided single data point in data to the current data.

See Also
removeData
void QCPBars::addData ( double  key,
double  value 
)

This is an overloaded function.

Adds the provided single data point as key and value tuple to the current data

See Also
removeData
void QCPBars::addData ( const QVector< double > &  keys,
const QVector< double > &  values 
)

This is an overloaded function.

Adds the provided data points as key and value tuples to the current data.

See Also
removeData
void QCPBars::removeDataBefore ( double  key)

Removes all data points with key smaller than key.

See Also
addData, clearData
void QCPBars::removeDataAfter ( double  key)

Removes all data points with key greater than key.

See Also
addData, clearData
void QCPBars::removeData ( double  fromKey,
double  toKey 
)

Removes all data points with key between fromKey and toKey. if fromKey is greater or equal to toKey, the function does nothing. To remove a single data point with known key, use removeData(double key).

See Also
addData, clearData
void QCPBars::removeData ( double  key)

This is an overloaded function.

Removes a single data point at key. If the position is not known with absolute precision, consider using removeData(double fromKey, double toKey) with a small fuzziness interval around the suspected position, depeding on the precision with which the key is known.

See Also
addData, clearData
void QCPBars::clearData ( )
virtual

Removes all data points.

See Also
removeData, removeDataAfter, removeDataBefore

Implements QCPAbstractPlottable.

double QCPBars::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractPlottable.

void QCPBars::draw ( QCPPainter painter)
protectedvirtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPAbstractPlottable.

void QCPBars::drawLegendIcon ( QCPPainter painter,
const QRectF &  rect 
) const
protectedvirtual

called by QCPLegend::draw (via QCPPlottableLegendItem::draw) to create a graphical representation of this plottable inside rect, next to the plottable name.

Implements QCPAbstractPlottable.

QCPRange QCPBars::getKeyRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedvirtual

called by rescaleAxes functions to get the full data key bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getValueRange

Implements QCPAbstractPlottable.

QCPRange QCPBars::getValueRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedvirtual

called by rescaleAxes functions to get the full data value bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getKeyRange

Implements QCPAbstractPlottable.

QPolygonF QCPBars::getBarPolygon ( double  key,
double  value 
) const
protected

Returns the polygon of a single bar with key and value. The Polygon is open at the bottom and shifted according to the bar stacking (see moveAbove).

double QCPBars::getBaseValue ( double  key,
bool  positive 
) const
protected

This function is called to find at which value to start drawing the base of a bar at key, when it is stacked on top of another QCPBars (e.g. with moveAbove).

positive and negative bars are separated per stack (positive are stacked above 0-value upwards, negative are stacked below 0-value downwards). This can be indicated with positive. So if the bar for which we need the base value is negative, set positive to false.

void QCPBars::connectBars ( QCPBars lower,
QCPBars upper 
)
staticprotected

Connects below and above to each other via their mBarAbove/mBarBelow properties. The bar(s) currently below lower and upper will become disconnected to lower/upper.

If lower is zero, upper will be disconnected at the bottom. If upper is zero, lower will be disconnected at the top.

void QCPAbstractPlottable::setName ( const QString &  name)
inherited

The name is the textual representation of this plottable as it is displayed in the legend (QCPLegend). It may contain any UTF-8 characters, including newlines.

void QCPAbstractPlottable::setAntialiasedFill ( bool  enabled)
inherited

Sets whether fills of this plottable is drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedScatters ( bool  enabled)
inherited

Sets whether the scatter symbols of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedErrorBars ( bool  enabled)
inherited

Sets whether the error bars of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setPen ( const QPen &  pen)
inherited

The pen is used to draw basic lines that make up the plottable representation in the plot.

For example, the QCPGraph subclass draws its graph lines and scatter points with this pen.

See Also
setBrush
void QCPAbstractPlottable::setSelectedPen ( const QPen &  pen)
inherited

When the plottable is selected, this pen is used to draw basic lines instead of the normal pen set via setPen.

See Also
setSelected, setSelectable, setSelectedBrush, selectTest
void QCPAbstractPlottable::setBrush ( const QBrush &  brush)
inherited

The brush is used to draw basic fills of the plottable representation in the plot. The Fill can be a color, gradient or texture, see the usage of QBrush.

For example, the QCPGraph subclass draws the fill under the graph with this brush, when it's not set to Qt::NoBrush.

See Also
setPen
void QCPAbstractPlottable::setSelectedBrush ( const QBrush &  brush)
inherited

When the plottable is selected, this brush is used to draw fills instead of the normal brush set via setBrush.

See Also
setSelected, setSelectable, setSelectedPen, selectTest
void QCPAbstractPlottable::setKeyAxis ( QCPAxis axis)
inherited

The key axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's value axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setValueAxis
void QCPAbstractPlottable::setValueAxis ( QCPAxis axis)
inherited

The value axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's key axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setKeyAxis
void QCPAbstractPlottable::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this plottable by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains iSelectPlottables.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected directly.

See Also
setSelected
void QCPAbstractPlottable::setSelected ( bool  selected)
inherited

Sets whether this plottable is selected or not. When selected, it uses a different pen and brush to draw its lines and fills, see setSelectedPen and setSelectedBrush.

The entire selection mechanism for plottables is handled automatically when QCustomPlot::setInteractions contains iSelectPlottables. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
bool QCPAbstractPlottable::addToLegend ( )
virtualinherited

Adds this plottable to the legend of the parent QCustomPlot (QCustomPlot::legend).

Normally, a QCPPlottableLegendItem is created and inserted into the legend. If the plottable needs a more specialized representation in the legend, this function will take this into account and instead create the specialized subclass of QCPAbstractLegendItem.

Returns true on success, i.e. when the legend exists and a legend item associated with this plottable isn't already in the legend.

See Also
removeFromLegend, QCPLegend::addItem
bool QCPAbstractPlottable::removeFromLegend ( ) const
virtualinherited

Removes the plottable from the legend of the parent QCustomPlot. This means the QCPAbstractLegendItem (usually a QCPPlottableLegendItem) that is associated with this plottable is removed.

Returns true on success, i.e. if the legend exists and a legend item associated with this plottable was found and removed.

See Also
addToLegend, QCPLegend::removeItem
void QCPAbstractPlottable::rescaleAxes ( bool  onlyEnlarge = false) const
inherited

Rescales the key and value axes associated with this plottable to contain all displayed data, so the whole plottable is visible. If the scaling of an axis is logarithmic, rescaleAxes will make sure not to rescale to an illegal range i.e. a range containing different signs and/or zero. Instead it will stay in the current sign domain and ignore all parts of the plottable that lie outside of that domain.

onlyEnlarge makes sure the ranges are only expanded, never reduced. So it's possible to show multiple plottables in their entirety by multiple calls to rescaleAxes where the first call has onlyEnlarge set to false (the default), and all subsequent set to true.

See Also
rescaleKeyAxis, rescaleValueAxis, QCustomPlot::rescaleAxes, QCPAxis::rescale
void QCPAbstractPlottable::rescaleKeyAxis ( bool  onlyEnlarge = false) const
inherited

Rescales the key axis of the plottable so the whole plottable is visible.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::rescaleValueAxis ( bool  onlyEnlarge = false) const
inherited

Rescales the value axis of the plottable so the whole plottable is visible.

Returns true if the axis was actually scaled. This might not be the case if this plottable has an invalid range, e.g. because it has no data points.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this plottable has changed to selected, either by user interaction or by a direct call to setSelected.

QRect QCPAbstractPlottable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented from QCPLayerable.

QCP::Interaction QCPAbstractPlottable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint

Implements QCPLayerable.

void QCPAbstractPlottable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::coordsToPixels ( double  key,
double  value,
double &  x,
double &  y 
) const
protectedinherited

Convenience function for transforming a key/value pair to pixels on the QCustomPlot surface, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

key and value are transformed to the coodinates in pixels and are written to x and y.

See Also
pixelsToCoords, QCPAxis::coordToPixel
const QPointF QCPAbstractPlottable::coordsToPixels ( double  key,
double  value 
) const
protectedinherited

This is an overloaded function.

Returns the input as pixel coordinates in a QPointF.

void QCPAbstractPlottable::pixelsToCoords ( double  x,
double  y,
double &  key,
double &  value 
) const
protectedinherited

Convenience function for transforming a x/y pixel pair on the QCustomPlot surface to plot coordinates, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

x and y are transformed to the plot coodinates and are written to key and value.

See Also
coordsToPixels, QCPAxis::coordToPixel
void QCPAbstractPlottable::pixelsToCoords ( const QPointF &  pixelPos,
double &  key,
double &  value 
) const
protectedinherited

This is an overloaded function.

Returns the pixel input pixelPos as plot coordinates key and value.

QPen QCPAbstractPlottable::mainPen ( ) const
protectedinherited

Returns the pen that should be used for drawing lines of the plottable. Returns mPen when the graph is not selected and mSelectedPen when it is.

QBrush QCPAbstractPlottable::mainBrush ( ) const
protectedinherited

Returns the brush that should be used for drawing fills of the plottable. Returns mBrush when the graph is not selected and mSelectedBrush when it is.

void QCPAbstractPlottable::applyFillAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable fills.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyDefaultAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyScattersAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable scatter points.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyDefaultAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyErrorBarsAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable error bars.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyDefaultAntialiasingHint
double QCPAbstractPlottable::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific plottables.

Note
This function is identical to QCPAbstractItem::distSqrToLine
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPItemPixmap.html0000644000175000017500000025030012236016575023501 0ustar dermanudermanu QCPItemPixmap Class Reference

An arbitrary pixmap. More...

Inheritance diagram for QCPItemPixmap:
Inheritance graph

Public Functions

 QCPItemPixmap (QCustomPlot *parentPlot)
QPixmap pixmap () const
bool scaled () const
Qt::AspectRatioMode aspectRatioMode () const
QPen pen () const
QPen selectedPen () const
void setPixmap (const QPixmap &pixmap)
void setScaled (bool scaled, Qt::AspectRatioMode aspectRatioMode=Qt::KeepAspectRatio)
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const topLeft
QCPItemPosition *const bottomRight
QCPItemAnchor *const top
QCPItemAnchor *const topRight
QCPItemAnchor *const right
QCPItemAnchor *const bottom
QCPItemAnchor *const bottomLeft
QCPItemAnchor *const left

Signals

void selectionChanged (bool selected)

Protected Types

enum  AnchorIndex

Protected Functions

virtual void draw (QCPPainter *painter)
virtual QPointF anchorPixelPoint (int anchorId) const
void updateScaledPixmap (QRect finalRect=QRect(), bool flipHorz=false, bool flipVert=false)
QRect getFinalRect (bool *flippedHorz=0, bool *flippedVert=0) const
QPen mainPen () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

An arbitrary pixmap.

QCPItemPixmap.png
Pixmap example. Blue dotted circles are anchors, solid blue discs are positions.

It has two positions, topLeft and bottomRight, which define the rectangle the pixmap will be drawn in. Depending on the scale setting (setScaled), the pixmap will be either scaled to fit the rectangle or be drawn aligned to the topLeft position.

If scaling is enabled and topLeft is further to the bottom/right than bottomRight (as shown on the right side of the example image), the pixmap will be flipped in the respective orientations.

Constructor & Destructor Documentation

QCPItemPixmap::QCPItemPixmap ( QCustomPlot parentPlot)

Creates a rectangle item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemPixmap::setPixmap ( const QPixmap &  pixmap)

Sets the pixmap that will be displayed.

void QCPItemPixmap::setScaled ( bool  scaled,
Qt::AspectRatioMode  aspectRatioMode = Qt::KeepAspectRatio 
)

Sets whether the pixmap will be scaled to fit the rectangle defined by the topLeft and bottomRight positions.

void QCPItemPixmap::setPen ( const QPen &  pen)

Sets the pen that will be used to draw a border around the pixmap.

See Also
setSelectedPen, setBrush
void QCPItemPixmap::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used to draw a border around the pixmap when selected

See Also
setPen, setSelected
double QCPItemPixmap::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemPixmap::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

QPointF QCPItemPixmap::anchorPixelPoint ( int  anchorId) const
protectedvirtual

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented from QCPAbstractItem.

void QCPItemPixmap::updateScaledPixmap ( QRect  finalRect = QRect(),
bool  flipHorz = false,
bool  flipVert = false 
)
protected

Creates the buffered scaled image (mScaledPixmap) to fit the specified finalRect. The parameters flipHorz and flipVert control whether the resulting image shall be flipped horizontally or vertically. (This is used when topLeft is further to the bottom/right than bottomRight.)

This function only creates the scaled pixmap when the buffered pixmap has a different size than the expected result, so calling this function repeatedly, e.g. in the draw function, does not cause expensive rescaling every time.

If scaling is disabled, sets mScaledPixmap to a null QPixmap.

QRect QCPItemPixmap::getFinalRect ( bool *  flippedHorz = 0,
bool *  flippedVert = 0 
) const
protected

Returns the final (tight) rect the pixmap is drawn in, depending on the current item positions and scaling settings.

The output parameters flippedHorz and flippedVert return whether the pixmap should be drawn flipped horizontally or vertically in the returned rect. (The returned rect itself is always normalized, i.e. the top left corner of the rect is actually further to the top/left than the bottom right corner). This is the case when the item position topLeft is further to the bottom/right than bottomRight.

If scaling is disabled, returns a rect with size of the original pixmap and the top left corner aligned with the item position topLeft. The position bottomRight is ignored.

QPen QCPItemPixmap::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/layoutelement-axisrect_8h_source.html0000644000175000017500000007610712236016574026532 0ustar dermanudermanu src/layoutelements/layoutelement-axisrect.h Source File
layoutelement-axisrect.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_LAYOUTELEMENT_AXISRECT_H
27 #define QCP_LAYOUTELEMENT_AXISRECT_H
28 
29 #include "../global.h"
30 #include "../axis.h"
31 #include "../layout.h"
32 
33 class QCPPainter;
34 class QCustomPlot;
35 class QCPAxis;
37 class QCPGraph;
38 class QCPAbstractItem;
39 
40 class QCP_LIB_DECL QCPAxisRect : public QCPLayoutElement
41 {
42  Q_OBJECT
44  Q_PROPERTY(QPixmap background READ background WRITE setBackground)
45  Q_PROPERTY(bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled)
46  Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode WRITE setBackgroundScaledMode)
47  Q_PROPERTY(Qt::Orientations rangeDrag READ rangeDrag WRITE setRangeDrag)
48  Q_PROPERTY(Qt::Orientations rangeZoom READ rangeZoom WRITE setRangeZoom)
50 public:
51  explicit QCPAxisRect(QCustomPlot *parentPlot, bool setupDefaultAxes=true);
52  virtual ~QCPAxisRect();
53 
54  // getters:
55  QPixmap background() const { return mBackgroundPixmap; }
56  bool backgroundScaled() const { return mBackgroundScaled; }
57  Qt::AspectRatioMode backgroundScaledMode() const { return mBackgroundScaledMode; }
58  Qt::Orientations rangeDrag() const { return mRangeDrag; }
59  Qt::Orientations rangeZoom() const { return mRangeZoom; }
60  QCPAxis *rangeDragAxis(Qt::Orientation orientation);
61  QCPAxis *rangeZoomAxis(Qt::Orientation orientation);
62  double rangeZoomFactor(Qt::Orientation orientation);
63 
64  // setters:
65  void setBackground(const QPixmap &pm);
66  void setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding);
67  void setBackground(const QBrush &brush);
68  void setBackgroundScaled(bool scaled);
69  void setBackgroundScaledMode(Qt::AspectRatioMode mode);
70  void setRangeDrag(Qt::Orientations orientations);
71  void setRangeZoom(Qt::Orientations orientations);
72  void setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical);
73  void setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical);
74  void setRangeZoomFactor(double horizontalFactor, double verticalFactor);
75  void setRangeZoomFactor(double factor);
76 
77  // non-property methods:
78  int axisCount(QCPAxis::AxisType type) const;
79  QCPAxis *axis(QCPAxis::AxisType type, int index=0) const;
80  QList<QCPAxis*> axes(QCPAxis::AxisTypes types) const;
81  QList<QCPAxis*> axes() const;
82  QCPAxis *addAxis(QCPAxis::AxisType type);
83  QList<QCPAxis*> addAxes(QCPAxis::AxisTypes types);
84  bool removeAxis(QCPAxis *axis);
85  QCPLayoutInset *insetLayout() const { return mInsetLayout; }
86 
87  void setupFullAxesBox(bool connectRanges=false);
88  QList<QCPAbstractPlottable*> plottables() const;
89  QList<QCPGraph*> graphs() const;
90  QList<QCPAbstractItem*> items() const;
91 
92  // read-only interface imitating a QRect:
93  int left() const { return mRect.left(); }
94  int right() const { return mRect.right(); }
95  int top() const { return mRect.top(); }
96  int bottom() const { return mRect.bottom(); }
97  int width() const { return mRect.width(); }
98  int height() const { return mRect.height(); }
99  QSize size() const { return mRect.size(); }
100  QPoint topLeft() const { return mRect.topLeft(); }
101  QPoint topRight() const { return mRect.topRight(); }
102  QPoint bottomLeft() const { return mRect.bottomLeft(); }
103  QPoint bottomRight() const { return mRect.bottomRight(); }
104  QPoint center() const { return mRect.center(); }
105 
106  // reimplemented virtual methods:
107  virtual void update();
108  virtual QList<QCPLayoutElement*> elements(bool recursive) const;
109 
110 protected:
111  // property members:
112  QBrush mBackgroundBrush;
113  QPixmap mBackgroundPixmap;
114  QPixmap mScaledBackgroundPixmap;
115  bool mBackgroundScaled;
116  Qt::AspectRatioMode mBackgroundScaledMode;
117  QCPLayoutInset *mInsetLayout;
118  Qt::Orientations mRangeDrag, mRangeZoom;
119  QPointer<QCPAxis> mRangeDragHorzAxis, mRangeDragVertAxis, mRangeZoomHorzAxis, mRangeZoomVertAxis;
120  double mRangeZoomFactorHorz, mRangeZoomFactorVert;
121  // non-property members:
122  QCPRange mDragStartHorzRange, mDragStartVertRange;
123  QCP::AntialiasedElements mAADragBackup, mNotAADragBackup;
124  QPoint mDragStart;
125  bool mDragging;
126  QHash<QCPAxis::AxisType, QList<QCPAxis*> > mAxes;
127 
128  // reimplemented virtual methods:
129  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const;
130  virtual void draw(QCPPainter *painter);
131  virtual int calculateAutoMargin(QCP::MarginSide side);
132  // events:
133  virtual void mousePressEvent(QMouseEvent *event);
134  virtual void mouseMoveEvent(QMouseEvent *event);
135  virtual void mouseReleaseEvent(QMouseEvent *event);
136  virtual void wheelEvent(QWheelEvent *event);
137 
138  // non-property methods:
139  void drawBackground(QCPPainter *painter);
140  void updateAxesOffset(QCPAxis::AxisType type);
141 
142 private:
143  Q_DISABLE_COPY(QCPAxisRect)
144 
145  friend class QCustomPlot;
146 };
147 
148 
149 #endif // QCP_LAYOUTELEMENT_AXISRECT_H
qcustomplot/documentation/html/functions_0x70.html0000644000175000017500000001173112236016575022623 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- p -

qcustomplot/documentation/html/classQCPLegend.html0000644000175000017500000050624012236016575022631 0ustar dermanudermanu QCPLegend Class Reference
QCPLegend Class Reference

Manages a legend inside a QCustomPlot. More...

Inheritance diagram for QCPLegend:
Inheritance graph

Public Types

enum  SelectablePart

Public Functions

 QCPLegend ()
QPen borderPen () const
QBrush brush () const
QFont font () const
QColor textColor () const
QSize iconSize () const
int iconTextPadding () const
QPen iconBorderPen () const
SelectableParts selectableParts () const
SelectableParts selectedParts () const
QPen selectedBorderPen () const
QPen selectedIconBorderPen () const
QBrush selectedBrush () const
QFont selectedFont () const
QColor selectedTextColor () const
void setBorderPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setFont (const QFont &font)
void setTextColor (const QColor &color)
void setIconSize (const QSize &size)
void setIconSize (int width, int height)
void setIconTextPadding (int padding)
void setIconBorderPen (const QPen &pen)
void setSelectableParts (const SelectableParts &selectableParts)
void setSelectedParts (const SelectableParts &selectedParts)
void setSelectedBorderPen (const QPen &pen)
void setSelectedIconBorderPen (const QPen &pen)
void setSelectedBrush (const QBrush &brush)
void setSelectedFont (const QFont &font)
void setSelectedTextColor (const QColor &color)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QCPAbstractLegendItemitem (int index) const
QCPPlottableLegendItemitemWithPlottable (const QCPAbstractPlottable *plottable) const
int itemCount () const
bool hasItem (QCPAbstractLegendItem *item) const
bool hasItemWithPlottable (const QCPAbstractPlottable *plottable) const
bool addItem (QCPAbstractLegendItem *item)
bool removeItem (int index)
bool removeItem (QCPAbstractLegendItem *item)
void clearItems ()
QList< QCPAbstractLegendItem * > selectedItems () const
int rowCount () const
int columnCount () const
QList< double > columnStretchFactors () const
QList< double > rowStretchFactors () const
int columnSpacing () const
int rowSpacing () const
void setColumnStretchFactor (int column, double factor)
void setColumnStretchFactors (const QList< double > &factors)
void setRowStretchFactor (int row, double factor)
void setRowStretchFactors (const QList< double > &factors)
void setColumnSpacing (int pixels)
void setRowSpacing (int pixels)
virtual void updateLayout ()
virtual int elementCount () const
virtual QCPLayoutElementelementAt (int index) const
virtual QCPLayoutElementtakeAt (int index)
virtual bool take (QCPLayoutElement *element)
virtual QList< QCPLayoutElement * > elements (bool recursive) const
virtual void simplify ()
virtual QSize minimumSizeHint () const
virtual QSize maximumSizeHint () const
QCPLayoutElementelement (int row, int column) const
bool addElement (int row, int column, QCPLayoutElement *element)
bool hasElement (int row, int column)
void expandTo (int newRowCount, int newColumnCount)
void insertRow (int newIndex)
void insertColumn (int newIndex)
virtual void update ()
bool removeAt (int index)
bool remove (QCPLayoutElement *element)
void clear ()
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (QCPLegend::SelectableParts selection)

Protected Functions

virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
QPen getBorderPen () const
QBrush getBrush () const
void getMinimumRowColSizes (QVector< int > *minColWidths, QVector< int > *minRowHeights) const
void getMaximumRowColSizes (QVector< int > *maxColWidths, QVector< int > *maxRowHeights) const
void sizeConstraintsChanged () const
void adoptElement (QCPLayoutElement *el)
void releaseElement (QCPLayoutElement *el)
QVector< int > getSectionSizes (QVector< int > maxSizes, QVector< int > minSizes, QVector< double > stretchFactors, int totalSize) const
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual QRect clipRect () const
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

Manages a legend inside a QCustomPlot.

A legend is a small box somewhere in the plot which lists plottables with their name and icon.

Normally, the legend is populated by calling QCPAbstractPlottable::addToLegend. The respective legend item can be removed with QCPAbstractPlottable::removeFromLegend. However, QCPLegend also offers an interface to add and manipulate legend items directly: item, itemWithPlottable, itemCount, addItem, removeItem, etc.

The QCPLegend derives from QCPLayoutGrid and as such can be placed in any position a QCPLayoutElement may be positioned. The legend items are themselves QCPLayoutElements which are placed in the grid layout of the legend. QCPLegend only adds an interface specialized for handling child elements of type QCPAbstractLegendItem, as mentioned above. In principle, any other layout elements may also be added to a legend via the normal QCPLayoutGrid interface. However, the QCPAbstractLegendItem-Interface will ignore those elements (e.g. itemCount will only return the number of items with QCPAbstractLegendItems type).

By default, every QCustomPlot has one legend (QCustomPlot::legend) which is placed in the inset layout of the main axis rect (QCPAxisRect::insetLayout). To move the legend to another position inside the axis rect, use the methods of the QCPLayoutInset. To move the legend outside of the axis rect, place it anywhere else with the QCPLayout/QCPLayoutElement interface.

Member Enumeration Documentation

Defines the selectable parts of a legend

See Also
setSelectedParts, setSelectableParts
Enumerator:
spNone 

0x000 None

spLegendBox 

0x001 The legend box (frame)

spItems 

0x002 Legend items individually (see selectedItems)

Constructor & Destructor Documentation

QCPLegend::QCPLegend ( )
explicit

Constructs a new QCPLegend instance with parentPlot as the containing plot and default values.

Note that by default, QCustomPlot already contains a legend ready to be used as QCustomPlot::legend

Member Function Documentation

void QCPLegend::setBorderPen ( const QPen &  pen)

Sets the pen, the border of the entire legend is drawn with.

void QCPLegend::setBrush ( const QBrush &  brush)

Sets the brush of the legend background.

void QCPLegend::setFont ( const QFont &  font)

Sets the default font of legend text. Legend items that draw text (e.g. the name of a graph) will use this font by default. However, a different font can be specified on a per-item-basis by accessing the specific legend item.

This function will also set font on all already existing legend items.

See Also
QCPAbstractLegendItem::setFont
void QCPLegend::setTextColor ( const QColor &  color)

Sets the default color of legend text. Legend items that draw text (e.g. the name of a graph) will use this color by default. However, a different colors can be specified on a per-item-basis by accessing the specific legend item.

This function will also set color on all already existing legend items.

See Also
QCPAbstractLegendItem::setTextColor
void QCPLegend::setIconSize ( const QSize &  size)

Sets the size of legend icons. Legend items that draw an icon (e.g. a visual representation of the graph) will use this size by default.

void QCPLegend::setIconSize ( int  width,
int  height 
)

This is an overloaded function.

void QCPLegend::setIconTextPadding ( int  padding)

Sets the horizontal space in pixels between the legend icon and the text next to it. Legend items that draw an icon (e.g. a visual representation of the graph) and text (e.g. the name of the graph) will use this space by default.

void QCPLegend::setIconBorderPen ( const QPen &  pen)

Sets the pen used to draw a border around each legend icon. Legend items that draw an icon (e.g. a visual representation of the graph) will use this pen by default.

If no border is wanted, set this to Qt::NoPen.

void QCPLegend::setSelectableParts ( const SelectableParts &  selectable)

Sets whether the user can (de-)select the parts in selectable by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains iSelectLegend.)

However, even when selectable is set to a value not allowing the selection of a specific part, it is still possible to set the selection of this part manually, by calling setSelectedParts directly.

See Also
SelectablePart, setSelectedParts
void QCPLegend::setSelectedParts ( const SelectableParts &  selected)

Sets the selected state of the respective legend parts described by SelectablePart. When a part is selected, it uses a different pen/font and brush. If some legend items are selected and selected doesn't contain spItems, those items become deselected.

The entire selection mechanism is handled automatically when QCustomPlot::setInteractions contains iSelectLegend. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state of a part even when setSelectableParts was set to a value that actually excludes the part.

emits the selectionChanged signal when selected is different from the previous selection state.

Note that it doesn't make sense to set the selected state spItems here when it wasn't set before, because there's no way to specify which exact items to newly select. Do this by calling QCPAbstractLegendItem::setSelected directly on the legend item you wish to select.

See Also
SelectablePart, setSelectableParts, selectTest, setSelectedBorderPen, setSelectedIconBorderPen, setSelectedBrush, setSelectedFont
void QCPLegend::setSelectedBorderPen ( const QPen &  pen)

When the legend box is selected, this pen is used to draw the border instead of the normal pen set via setBorderPen.

See Also
setSelectedParts, setSelectableParts, setSelectedBrush
void QCPLegend::setSelectedIconBorderPen ( const QPen &  pen)

Sets the pen legend items will use to draw their icon borders, when they are selected.

See Also
setSelectedParts, setSelectableParts, setSelectedFont
void QCPLegend::setSelectedBrush ( const QBrush &  brush)

When the legend box is selected, this brush is used to draw the legend background instead of the normal brush set via setBrush.

See Also
setSelectedParts, setSelectableParts, setSelectedBorderPen
void QCPLegend::setSelectedFont ( const QFont &  font)

Sets the default font that is used by legend items when they are selected.

This function will also set font on all already existing legend items.

See Also
setFont, QCPAbstractLegendItem::setSelectedFont
void QCPLegend::setSelectedTextColor ( const QColor &  color)

Sets the default text color that is used by legend items when they are selected.

This function will also set color on all already existing legend items.

See Also
setTextColor, QCPAbstractLegendItem::setSelectedTextColor
double QCPLegend::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.

Reimplemented from QCPLayoutElement.

QCPAbstractLegendItem * QCPLegend::item ( int  index) const

Returns the item with index i.

See Also
itemCount
QCPPlottableLegendItem * QCPLegend::itemWithPlottable ( const QCPAbstractPlottable plottable) const

Returns the QCPPlottableLegendItem which is associated with plottable (e.g. a QCPGraph*). If such an item isn't in the legend, returns 0.

See Also
hasItemWithPlottable
int QCPLegend::itemCount ( ) const

Returns the number of items currently in the legend.

See Also
item
bool QCPLegend::hasItem ( QCPAbstractLegendItem item) const

Returns whether the legend contains itm.

bool QCPLegend::hasItemWithPlottable ( const QCPAbstractPlottable plottable) const

Returns whether the legend contains a QCPPlottableLegendItem which is associated with plottable (e.g. a QCPGraph*). If such an item isn't in the legend, returns false.

See Also
itemWithPlottable
bool QCPLegend::addItem ( QCPAbstractLegendItem item)

Adds item to the legend, if it's not present already.

Returns true on sucess, i.e. if the item wasn't in the list already and has been successfuly added.

The legend takes ownership of the item.

bool QCPLegend::removeItem ( int  index)

Removes the item with index index from the legend.

Returns true, if successful.

See Also
itemCount, clearItems
bool QCPLegend::removeItem ( QCPAbstractLegendItem item)

This is an overloaded function.

Removes item from the legend.

Returns true, if successful.

See Also
clearItems
void QCPLegend::clearItems ( )

Removes all items from the legend.

QList< QCPAbstractLegendItem * > QCPLegend::selectedItems ( ) const

Returns the legend items that are currently selected. If no items are selected, the list is empty.

See Also
QCPAbstractLegendItem::setSelected, setSelectable
void QCPLegend::selectionChanged ( QCPLegend::SelectableParts  selection)
signal

This signal is emitted when the selection state of this legend has changed.

See Also
setSelectedParts, setSelectableParts
void QCPLegend::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtual

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayoutElement.

QCP::Interaction QCPLegend::selectionCategory ( ) const
protectedvirtual

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPLegend::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing main legend elements.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Reimplemented from QCPLayoutElement.

void QCPLegend::draw ( QCPPainter painter)
protectedvirtual

Draws the legend box with the provided painter. The individual legend items are layerables themselves, thus are drawn independently.

Reimplemented from QCPLayoutElement.

void QCPLegend::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtual

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPLegend::deselectEvent ( bool *  selectionStateChanged)
protectedvirtual

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QPen QCPLegend::getBorderPen ( ) const
protected

Returns the pen used to paint the border of the legend, taking into account the selection state of the legend box.

QBrush QCPLegend::getBrush ( ) const
protected

Returns the brush used to paint the background of the legend, taking into account the selection state of the legend box.

int QCPLayoutGrid::rowCount ( ) const
inherited

Returns the number of rows in the layout.

See Also
columnCount
int QCPLayoutGrid::columnCount ( ) const
inherited

Returns the number of columns in the layout.

See Also
rowCount
void QCPLayoutGrid::setColumnStretchFactor ( int  column,
double  factor 
)
inherited

Sets the stretch factor of column.

Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.

The default stretch factor of newly created rows/columns is 1.

See Also
setColumnStretchFactors, setRowStretchFactor
void QCPLayoutGrid::setColumnStretchFactors ( const QList< double > &  factors)
inherited

Sets the stretch factors of all columns. factors must have the size columnCount.

Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.

The default stretch factor of newly created rows/columns is 1.

See Also
setColumnStretchFactor, setRowStretchFactors
void QCPLayoutGrid::setRowStretchFactor ( int  row,
double  factor 
)
inherited

Sets the stretch factor of row.

Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.

The default stretch factor of newly created rows/columns is 1.

See Also
setColumnStretchFactors, setRowStretchFactor
void QCPLayoutGrid::setRowStretchFactors ( const QList< double > &  factors)
inherited

Sets the stretch factors of all rows. factors must have the size rowCount.

Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize), regardless of the stretch factor.

The default stretch factor of newly created rows/columns is 1.

See Also
setRowStretchFactor, setColumnStretchFactors
void QCPLayoutGrid::setColumnSpacing ( int  pixels)
inherited

Sets the gap that is left blank between columns to pixels.

See Also
setRowSpacing
void QCPLayoutGrid::setRowSpacing ( int  pixels)
inherited

Sets the gap that is left blank between rows to pixels.

See Also
setColumnSpacing
void QCPLayoutGrid::updateLayout ( )
virtualinherited

Subclasses reimplement this method to update the position and sizes of the child elements/cells via calling their QCPLayoutElement::setOuterRect. The default implementation does nothing.

The geometry used as a reference is the inner rect of this layout. Child elements should stay within that rect.

getSectionSizes may help with the reimplementation of this function.

See Also
update

Reimplemented from QCPLayout.

int QCPLayoutGrid::elementCount ( ) const
virtualinherited

Returns the number of elements/cells in the layout.

See Also
elements, elementAt

Implements QCPLayout.

QCPLayoutElement * QCPLayoutGrid::elementAt ( int  index) const
virtualinherited

Returns the element in the cell with the given index. If index is invalid, returns 0.

Note that even if index is valid, the respective cell may be empty in some layouts (e.g. QCPLayoutGrid), so this function may return 0 in those cases. You may use this function to check whether a cell is empty or not.

See Also
elements, elementCount, takeAt

Implements QCPLayout.

QCPLayoutElement * QCPLayoutGrid::takeAt ( int  index)
virtualinherited

Removes the element with the given index from the layout and returns it.

If the index is invalid or the cell with that index is empty, returns 0.

Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.

See Also
elementAt, take

Implements QCPLayout.

bool QCPLayoutGrid::take ( QCPLayoutElement element)
virtualinherited

Removes the specified element from the layout and returns true on success.

If the element isn't in this layout, returns false.

Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.

See Also
takeAt

Implements QCPLayout.

QList< QCPLayoutElement * > QCPLayoutGrid::elements ( bool  recursive) const
virtualinherited

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayout.

void QCPLayoutGrid::simplify ( )
virtualinherited

Simplifies the layout by collapsing rows and columns which only contain empty cells.

Reimplemented from QCPLayout.

QSize QCPLayoutGrid::minimumSizeHint ( ) const
virtualinherited

Returns the minimum size this layout element (the inner rect) may be compressed to.

if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)

Reimplemented from QCPLayoutElement.

QSize QCPLayoutGrid::maximumSizeHint ( ) const
virtualinherited

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented from QCPLayoutElement.

QCPLayoutElement * QCPLayoutGrid::element ( int  row,
int  column 
) const
inherited

Returns the element in the cell in row and column.

Returns 0 if either the row/column is invalid or if the cell is empty. In those cases, a qDebug message is printed. To check whether a cell exists and isn't empty, use hasElement.

See Also
addElement, hasElement
bool QCPLayoutGrid::addElement ( int  row,
int  column,
QCPLayoutElement element 
)
inherited

Adds the element to cell with row and column. If element is already in a layout, it is first removed from there. If row or column don't exist yet, the layout is expanded accordingly.

Returns true if the element was added successfully, i.e. if the cell at row and column didn't already have an element.

See Also
element, hasElement, take, remove
bool QCPLayoutGrid::hasElement ( int  row,
int  column 
)
inherited

Returns whether the cell at row and column exists and contains a valid element, i.e. isn't empty.

See Also
element
void QCPLayoutGrid::expandTo ( int  newRowCount,
int  newColumnCount 
)
inherited

Expands the layout to have newRowCount rows and newColumnCount columns. So the last valid row index will be newRowCount-1, the last valid column index will be newColumnCount-1.

If the current column/row count is already larger or equal to newColumnCount/newRowCount, this function does nothing in that dimension.

Newly created cells are empty, new rows and columns have the stretch factor 1.

Note that upon a call to addElement, the layout is expanded automatically to contain the specified row and column, using this function.

See Also
simplify
void QCPLayoutGrid::insertRow ( int  newIndex)
inherited

Inserts a new row with empty cells at the row index newIndex. Valid values for newIndex range from 0 (inserts a row at the top) to rowCount (appends a row at the bottom).

See Also
insertColumn
void QCPLayoutGrid::insertColumn ( int  newIndex)
inherited

Inserts a new column with empty cells at the column index newIndex. Valid values for newIndex range from 0 (inserts a row at the left) to rowCount (appends a row at the right).

See Also
insertRow
void QCPLayoutGrid::getMinimumRowColSizes ( QVector< int > *  minColWidths,
QVector< int > *  minRowHeights 
) const
protectedinherited

Places the minimum column widths and row heights into minColWidths and minRowHeights respectively.

The minimum height of a row is the largest minimum height of any element in that row. The minimum width of a column is the largest minimum width of any element in that column.

This is a helper function for updateLayout.

See Also
getMaximumRowColSizes
void QCPLayoutGrid::getMaximumRowColSizes ( QVector< int > *  maxColWidths,
QVector< int > *  maxRowHeights 
) const
protectedinherited

Places the maximum column widths and row heights into maxColWidths and maxRowHeights respectively.

The maximum height of a row is the smallest maximum height of any element in that row. The maximum width of a column is the smallest maximum width of any element in that column.

This is a helper function for updateLayout.

See Also
getMinimumRowColSizes
void QCPLayout::update ( )
virtualinherited

First calls the QCPLayoutElement::update base class implementation to update the margins on this layout.

Then calls updateLayout which subclasses reimplement to reposition and resize their cells.

Finally, update is called on all child elements.

Reimplemented from QCPLayoutElement.

bool QCPLayout::removeAt ( int  index)
inherited

Removes and deletes the element at the provided index. Returns true on success. If index is invalid or points to an empty cell, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the returned element.

See Also
remove, takeAt
bool QCPLayout::remove ( QCPLayoutElement element)
inherited

Removes and deletes the provided element. Returns true on success. If element is not in the layout, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the element.

See Also
removeAt, take
void QCPLayout::clear ( )
inherited

Removes and deletes all layout elements in this layout.

See Also
remove, removeAt
void QCPLayout::sizeConstraintsChanged ( ) const
protectedinherited

Subclasses call this method to report changed (minimum/maximum) size constraints.

If the parent of this layout is again a QCPLayout, forwards the call to the parent's sizeConstraintsChanged. If the parent is a QWidget (i.e. is the QCustomPlot::plotLayout of QCustomPlot), calls QWidget::updateGeometry, so if the QCustomPlot widget is inside a Qt QLayout, it may update itself and resize cells accordingly.

void QCPLayout::adoptElement ( QCPLayoutElement el)
protectedinherited

Associates el with this layout. This is done by setting the QCPLayoutElement::layout, the QCPLayerable::parentLayerable and the QObject parent to this layout.

Further, if el didn't previously have a parent plot, calls QCPLayerable::initializeParentPlot on el to set the paret plot.

This method is used by subclass specific methods that add elements to the layout. Note that this method only changes properties in el. The removal from the old layout and the insertion into the new layout must be done additionally.

void QCPLayout::releaseElement ( QCPLayoutElement el)
protectedinherited

Disassociates el from this layout. This is done by setting the QCPLayoutElement::layout and the QCPLayerable::parentLayerable to zero. The QObject parent is set to the parent QCustomPlot.

This method is used by subclass specific methods that remove elements from the layout (e.g. take or takeAt). Note that this method only changes properties in el. The removal from the old layout must be done additionally.

QVector< int > QCPLayout::getSectionSizes ( QVector< int >  maxSizes,
QVector< int >  minSizes,
QVector< double >  stretchFactors,
int  totalSize 
) const
protectedinherited

This is a helper function for the implementation of updateLayout in subclasses.

It calculates the sizes of one-dimensional sections with provided constraints on maximum section sizes, minimum section sizes, relative stretch factors and the final total size of all sections.

The QVector entries refer to the sections. Thus all QVectors must have the same size.

maxSizes gives the maximum allowed size of each section. If there shall be no maximum size imposed, set all vector values to Qt's QWIDGETSIZE_MAX.

minSizes gives the minimum allowed size of each section. If there shall be no minimum size imposed, set all vector values to zero. If the minSizes entries add up to a value greater than totalSize, sections will be scaled smaller than the proposed minimum sizes. (In other words, not exceeding the allowed total size is taken to be more important than not going below minimum section sizes.)

stretchFactors give the relative proportions of the sections to each other. If all sections shall be scaled equally, set all values equal. If the first section shall be double the size of each individual other section, set the first number of stretchFactors to double the value of the other individual values (e.g. {2, 1, 1, 1}).

totalSize is the value that the final section sizes will add up to. Due to rounding, the actual sum may differ slightly. If you want the section sizes to sum up to exactly that value, you could distribute the remaining difference on the sections.

The return value is a QVector containing the section sizes.

QCPLayout * QCPLayoutElement::layout ( ) const
inlineinherited

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inlineinherited

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)
inherited

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)
inherited

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)
inherited

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)
inherited

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)
inherited

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)
inherited

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)
inherited

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

int QCPLayoutElement::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtualinherited

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mousePressEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseMoveEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseReleaseEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::wheelEvent ( QWheelEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented in QCPAxisRect.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/QCPItemCurve.png0000644000175000017500000001276212236016574022130 0ustar dermanudermanu‰PNG  IHDRæ — ‡sBITÛáOà pHYsÄÄ•+•IDATxœíÝiXSgÞð;¬Ê¦"ˆ(‚(XlY¬ˆXPZÊ¢3.©í¨ôßjë0µõ[t*Z¥X ]p£A­ . 2Xª8R,›²’üß ¢¢’œœðü®~°É9á>r_ONÎs" "0 ¨q€aº‡U–áVY†gXeža•ex†U–áVY†gXeža•ex†U–áVY†gXeža•ex†U–áVY†gXežáke‹ŠŠ¸ŽÀpCé*ÛÔ„wßÅ?ÀÂ…˜5 žmiiùî»ïÜÝÝ'Ož\Ññ ¥QY‰ùóqîøø`ñbÔÕqIµ(]eÓÒÐÔ„3P_˜¸¹AM ®_¿¾jÕª#F$$$¬X±âöíÛ&&&\‡íÄ·ßÂÌ ŽŽ¨­Eb",, ¡Áu&Cʧ¨ˆÞz‹ÔÔÈɉNž%$$8; :tíÚµEEE\§{±+WÈÃÔÔhêTúí7’J©¢‚ëL*D¹*»v-ÒŠ´ÿ§©™éî>WGGÜÜ,æ:Ý‹-[FÕÕ´`Á£ü!!”›K¶¶$“qNUH™VØZY!%‹!'çácBmmS‘¨ÒÀàu]ÝZKKK++«Ñ£G5jôèÑ666ƒ â0ðttPU”–¶?baÜ\˜™¡¾ššœ†SÊ5ÏŠ…©)BCUvÔ¨œêê!††7¿þz‹ƒƒCqqqaaaaaajjjQQÑ7,,,\]]]]]]\\ÆŒÃi|: „…á³ÏÚ Gi)X_{r²Ð҂ÇñãðöÆÒ¥J«¿ýöÛØØX55µeË–…‡‡¶m,‘H._¾|îܹÌÌÌÌÌÌÖÖV??¿Ù³gO›6M[[›“üÕÕ˜ˆ¤$aáBèèpDuq=3yRBYZRVÑÑ£4iÉd²S§N0 44ôÌ™3Oï[TTôù矻ºº0`þüùû÷ïonnVl|úì3²µmϼ?M˜ÀÞ{õ2¥«,?Þþ+ß±ƒâãŸ|¶ªªjË–-¶¶¶üñdz^¡¬¬lûöíS¦L111Ù¸qcMM<ó>iÿ~º{—ˆèÓO)%E‘?¹OPº‰AïÊËË‹ŠŠJKK _µj•¹¹9׉˜—¥t%ô.;;»øøø_ýÀ¸qãÂÂÂòòò¸ż¯lssóèèèÂÂBooo__ßS§NqŠé!Ÿ<­¥¥å›o¾ùâ‹/ ´eËwww®1ÝÓç*ÛF*•8p`õêÕ3gÎÜ´i“׉˜®êƒ§©««/X° //O$ÙÚÚ¦¥¥qˆéª>:ÊvtìØ±wÞyÇÍÍmÛ¶mƒæ:ó e›±÷s‰_nãf|䆯o@C.f¿ŠaÃa9émÐ6bå$ìòÅ´>>>W¯^8p ­­mbbâËælÀ,=hb¨)LLá‚Ô@¼Lp´þy/Ò~P$.Ũ°óöƒg»yPªLÑ'‚kÈc(ý§¾KÛ¶Vu¾ñ‰ôÚŸ¨Žˆšiµ5ÿDe¯%Ó¹T##"*ÜJã>¤î~ð•‘‘ammíïï_ZZÚóœõhL[‹‰ˆdBJ_OLép%‘„®ý—îKßQÚÙAIé·ÓtõùÓŽßmгƒR=ò­¬ômð¡á#ÈÒ‚S”Ò—‘&Èz¹Ðåûôy Y"óad¿€ò‰ˆd•ô†-ZDoyÒSR¸ñÃß•„âÜ)ô$QËUzÅŒÎ6‰o’ÃPú¥žˆ¨µ˜&ZÓa·sŽ4—ÛÅ2´Z3µ¶‡9+U–ˆ¨•¢hân’Ô’ç:R×aG/Z’BÒ§ª]=>^Ù’oek’YUˈˆª©•e¥T^AR"’RúrßE"Y%¹jÒâã$£g Éu`B{ˉˆêÓ;ºÑv%m-MH{ʈˆHHËGÓ§=Ìyþ‹¡›Ÿ^+ívÎúÇ+K”ù [BM*ûhÇΪÝS•íîA©*ùÎeuÇbDÂÞÅWÉhÐ{êJGÂõ8x8`œVÅl´Ô!h"ÏxMi=îÊ0T÷¹?X#õq³ª‡9]/þòY¸fCp`CCCÏrv»jZДBD e‚A÷Q)€Ö*Töƒ¹>€ ”@W«ç9‡ p0œ¬k0ÀÍÍíÚÁÆäl'Av6Ì&¢ã¥OïØñ ž©›¥ªä[Ùær”kbêlú6%(jÔ¡#C­¤Á\hAòw>½‡èÃÑyå m ¿~ˆ9)áR*Ý0N¯íãr-&Y¼TN=R[úe|ppðÔ¿d 5ot7'"=*±.êÏ Ðñ ž²{¥ªä[ÙÆ_1×#-1rL×Ás ‡å³ñ#^›Š›ñ¼§`ú,\³F¿§÷ï°qnóƒûcžŽeB  Öá?`:ó2·ƒДkVp7zÙœŸ øîØÚˆhõ櫲 c˺šSˆÁÈ‘7‘ ¿&éxP@ú\ CrÞ‹!oà†¸'¥²¸žL÷„è:¹¸RèOË(õm ?B½¸@077×ÌÌ,""B"‘¼xëQüAñ/?°Õz1KPR󌧛Qã‚O½»ðÆ¨ËÆŸ‘‘ØØØØ{/üˆâЧØ¶ÝÐÜÜVYYyôèQ]Ý翽gä…U¶{¤RihhhyyùÑ£GuØBD.°Êv›T* ®¬¬Üßߟë8*‹Íe{ÙÉ“'ƒ‚‚222ììì¸Î¢šØÄ —yzz~ùå—3fÌ(}xóy¦W±Êö¾ÐÐÐéÓ§×±¯ü’61 " «®®NKKc§½zeåB ìÙ³§µµõý÷ßç:‹ªa••--­?~<&&†ë,*…M äëúõë“'ONKK›4i×YTeåkìØ±;vì˜;wnUUŸ¿gF/a£¬"¬X±âÚµkéééì­ØËc£¬"DEE …Âõë×sD°QVAÊÊÊwïÞÍ>Ë}I¬²Šsòäɹsç^¼xqôèÑ\gá161POOψˆˆ9sæ…Ü׋é"6Ê*îÝ»—ë,|ÅFY…ñññgϞݵk×YøŠ²¸té’——WVV– ×Yø‡U–QQQ‰‰‰YYYZZ}þÇÝÄ*Ë ™Læíííèè¸yóf®³ð «,gÊÊÊÆ·oß>OOO®³ð {ûÅ™áÇõÕWááá÷îÝã: Ÿ°Q–cK–,©­­=xð ×Axƒ²ÛºuëÕ«Wãââ¸Âl”å^NNΛo¾™mmmÍu`£,÷œœœ"""BBBZ[[¹ÎÂl”U R©ÔËËËÍÍmãÆ\gQv¬²Êâ÷ßwtt--ÍÅÅ…ë,Ê…²Jjäȑ۶m{ûí·ëëë¹Î¢\Ø(«ÔBBBÔÕÕããã¹¢DØ(«ÔbbbΜ9ÃNÓvÄFYewæÌ™Ù³gçææZXXpE)°ÊòÀºuëÎ;wâÄ vÎ lbÀ ü±P(ŒŠŠâ:ˆR`£,?:;;§§§;99q…cl”å++«Í›7‡††655q…cl”å“   Áƒ÷ñ›#±Êòɽ{÷ìíí·oßÈuΰÊò̉'‚ƒƒ¯\¹bjjÊun°ÊòÏš5k®\¹’žž.¸ÎÂöö‹>ùä“ÊÊÊmÛ¶q„l”奂‚WW×Ó§OÛÛÛsEÑØ(ËK6667n iiiá:‹¢±Q–¯ÚîaoiiÙ×f¬²Qb-hJ!z8µao¶áX4ŒžÚ"%Ðë§;qâDOOÏšš‰D—””Ô‡._¬²ò2È6yøw&d$¸~ ²Î·èÓ+¸x ã–øÉ HˆôHl¨Äº@<ÿœª@ކÈ+´âÇ?#RÇ¿Â°ŽŸr6ãr-&Y@ DGGûûûWVV …áááE]¼ZŒ;¬²ò¢9 âñß?ÃÜ£ðμ¯j£5{V`µÞœŽOŠ0ôáÄ@ˆÁÈ‘7‘ ?£ýÔþ˜ç…c™Â\¬ú%?ÃÎ62hÊÇ5+¸€L&300x¸wss³¯¯_T”øþ}ˆˆÀþóR rÁÝÕåŒ\ˆ®“‹+ˆžñ´ŒRߦð#$#ÊÏÏ·³³ÓÓÓëØuõC†\»s‡ˆhï^rv¦¦&¦ï6ʪ­W³%ϺŸA3j\ðOñ?7lpppÈÏÏollìø¼Tº¾¶Ö÷ÝwuwGK 22 lW%°k ú¢›7ož8qâòåË—.]*..®­­ÕÓÓ“Édsˆâym[îØ1cšŠèhn#?Â*Ë ¡¡¡   '§äƒfº¸ÌÉÈH&Òl{ÊÍ ÿþ7pç·a×Ë2Ð××wrr?Þ)/Û·§yxàüùö§ÜÝqû6”êîöl”ežtþ<Ö¬AN°m† Am-Œ^x²BQØ(Ë<æý÷1x0NŸ†D‚êjìÞ?V¢¾‚—ež°nnÜÀ;èßþþ‰Ðá’/¥À& ϰQ–áVY†gXeža•ex†U–áVY†gXe™Nš>-ï±QVÅõÖÚô'—›kãÿΣ±ÇfaÉ"”µÝA#õqSÎßZήäRqíkÓOäÃòqjéöÚô'—›·Ñ‚ÇŸ1x [0\·}¹¹î³¿ÿ±W°QVÅõÖÚôŽËÍ¥÷q©Rd& Ü#Ûn¯ð`¹¹\±Êª¸^X›Þ¦ÃrsÙ}Dùc ôbi⾇…ðørsùa2]%.À”Åøæ^éôŸ~BZ(ö‡b¯/:½ßMoa£,ÓU]Ynþ©·|û 6Ê2¼ÃFY†gþ»ç_n,ƒúIEND®B`‚qcustomplot/documentation/html/dir_d1ab82e73f77cddd99808c625b504457.html0000644000175000017500000000632112236016575025212 0ustar dermanudermanu src/plottables/ Directory Reference
plottables Directory Reference

Files

file  plottable-bars.cpp
file  plottable-bars.h [code]
file  plottable-curve.cpp
file  plottable-curve.h [code]
file  plottable-graph.cpp
file  plottable-graph.h [code]
file  plottable-statisticalbox.cpp
file  plottable-statisticalbox.h [code]
qcustomplot/documentation/html/classQCPAbstractItem__inherit__graph.png0000644000175000017500000006510612236016575027037 0ustar dermanudermanu‰PNG  IHDRУ‰Ó8bKGDÿÿÿ ½§“ IDATxœìÝy>ÇÊÊW__õÎ7ȶâ .¢.00ÝÉé’ͨ  GIa‡Ú¦]†>ëç—ìáaááa‰¢¨°#í Åd²¶m‹¾zõÉñã‹.4v8€ á Šêëé«W‡ ºº>2r­ÎÛ†……éèèHJJêè脆†rˆÐ××'“É Æ QEQ”L&?þœ]Ø`£=¸ö+f0@‡«¯§/Xpzøð_¿wd¿‘‘‘¼|êãããÕÔÔ’’’*++“““ÕÔÔâââØ»ÔÕÕª««?}úäàà€—ãÍÖ××ûúúŽ1‚³s£Íšê·cðø¾µ.Fc,[vqȯ·ovp×<&SSÓëׯ³_^»vÍÄÄ„½ëæÍ›«°›­®®–––æ,l0Â+**²²²’••:tè“'OØGîÝ»W^^^YY9&&f÷îÝ ***±±±<ö‹ýo~?~ü¸šš‚ ÅÅÿþU+..VTT,--åC3ø•paJ€Åd²œÃ23?†‡¯<¸¯°Ãá.''ÇÌÌŒýr„ 999ì]&&&MU¤Ñhºººœ… R¡««ëüùó‹‹‹>¼råJκùùùþþþ¶¶¶ #//Ï×××ÝÝ—~{ûöíóçÏ1 ›7o^@@^xþüùyóæ)**6ƒÀµ?gxÄb±ÜÜ"´µ=³²¾%GjŠŠŠeeeì—eeerrr\w±áùDRRÒÐÐ0++‹]Ø`Ã0%¥ÿžXA ØÔÕÕaÆ`08·‰Db‹ý6ÞF¤¼¼ß~ùò¥ªª*N§Ñhªªª¯^½j*†fÀñsüx|LL¶¿¿½‘Q?aÇÒ}}ýôôtöË´´4|[OOïÁƒ\kaF¥R³³³ŒŒšið‚‚<1™Lv¹””‚ D"‘s›}@Sýü˜ºº:Îryyy|ÃÀÀ@[[;:::::Z[[{ذaÍÄ píÏÙ^DF>UQq¿zµåCAÆÀÓH-..NCCãþýûUUU)))šššwîÜÁwÝ»wOSS311±¦¦æÓ§OË—/Ç˹6Ë.”““ûòåßA½]QQQ^^ÞâÅ‹WçºÝT¿  P(ÕÕÕÞÞÞHç袢¢F=zôèèèèfbhœ4@œ$$䨩yœ8/Ü0xOÁÁÁ$‚„„„pî .Ú¶-zÍš‰ff:B #7·pË–¨gϾ98Œß²e:L׊>˜Ã uh4†••¯¤¤Äõë.ÂYoð‹Ó¸3p òÑ£ Ô…h-áÐ:Üùþ½$>~“°²í·o%..á¯_çïØ1ËÑÑDè3È€wph…ÄÄ7.¤Ÿ?¿LSS8OÍ ´wï-55Å{÷6ÜW(1€6ƒ„ ¯~ÿ®ðð¸ºhÑh¡<ÇáÏŸZOOJlìëµk'mÚ4U”—M9\x‚aØ’%¾~-‰ßØñ§§ž=û¶~}xu5õر…––"q“hxÄ< ÍÌÈøpöì’ζ†=›2w®ßÀÊ÷ï{B¶kð­€–åæz{ߨ¼yÚ°az=@qqÕºuaÙÙß||-X0ª#»‚S ´€NgΜyRFF2&f}G^ðìÙ·U«BÈd‰óç— ªÖaýÁ)ZàïŸüåKñÉ“¶™mOŸNž;×ÏÐP3>~#dÛN¦hÎË—y'NÄïÞ=§Ã®«¬¬ws‹HN~»sçì+LDöÑ¿  `J€&Õ×Ó--}ÔÔÂÃWuLâûþ½ÔÑ1¨¤¤êôiûñãu@ #Á€&=WTT¹¶c²íÇŸV¯îׯWBÂFee>?F7???33“¿mvM666m¯Œ¸ÉÌü¤ªê~õ꓎éÎß?IMÍÃË+†Ng ¢ýÈÈHþåœ.­=?áÀEu5ÕÝýÊ´iÃ.4t_õõt«wï¾:xÐÚÞ~¬@ûÂ` ±(ÊÂ… ÛÓ$\¸8|8¶²²nß¾¹‚îè÷ïJ'§ oßJ)çÑ£û º; \phèÙ³ï—.eœ}zxxX ¢ñ_¿þX[Ÿ®ªª‰Y¯«+Ò"ËÉÉ133c¿œ0aBNN{—‰I““-4-00PWW—³°Atuu?~qqñáÇW®\ÉY7??ßßßßÖÖ–Á`äååùúúº»»³àeJ‰Dúùóç”)SÜÜÜð’•+Wž9s¦ªª*==ýñãÇxaSñP{²5C\Ük÷ÌÌO‚hüË—"cã=ÇJJªÑ>x)**–••±_–••ÉÉÉqÝņgIIICCì¬,vaƒ Ô”þ[q@ °¨««Ã0ŒÁ`pn‰ÄÆ-pvÚÌFyy9†aåååòòòxáÆG޹víÚÄÄÄæãiŒph¯º:ÚÎ×çÏ7;V›ï?{ö}úô“ZZ=¯_wQRêÎ÷öùN__?==ý2--ÍÀàß'fêéé=xð€k- èTjvv¶‘Qs/cVPP€§&“É.—’’B„H$rnsÐ~ÇŽ‹ŽŽÖÑÑÙµk—½½}óñP{²5ÀÁƒwtu· bø™–ö^[Ûsùò@*•Î÷Æ[‹ÇÑY\\œ††Æýû÷«ªªRRR455ïÜùw^ûÞ½{ššš‰‰‰555Ÿ>}Z¾|9^εYv¡œœ{"ÕÎÎÎÎή¨¨(//oñâÅ«sÝn¾}®ÿýweeå¶mÛfÍš…®ZµêÇ4íáÇJJJÍÄÓ 8i@»¼}ûS]Ý#<<“ï-ß½ûJSsÓêÕÁ4ƒï·ïÉ"88xàÀAÎ]aaaƒ&‘Høeaxaó ÑÛÛ[NNYZZjkk«  Ð¯_? …Ò¸zS ·ñ±ùÆ'Í´µµ¥¤¤ôôôØg¹ÆÓŒö'\qºf¾³±9S[K»uË•¿Ï‰Œ|ºiS¤ñ‘# ˆD‘˜¸ÃWºjÕçÝÅÅ%;;;>>ϘâBp·B´á=lî4]×­[/23?ÅÆºó7ÛR(Y›6E.Z4úðáù4¾óóóvHüí ãÕÔP½½o.^<†¿O>Œ|êáqÅÑÑäÈñζâK”¿µÃtQ'N$Ðh /¯™|l3((cÇŽëîî›6Måc³ Ó€.èŠ>~ü}áBš§çt>®Ô…g[ȶ I0Â]‘—×5}}U>>Ï&00}çÎÛ·ÏX·n2¿Ú$\Ðåܺõ"3óãÝ»|;Wvñbú®]7¼¼f:;OâKƒ ³‚)еP©Œ}ûnÏ›gh`ÀŸseáávíºááaÙ´F¸ k9}:¹²²nçÎÙ|iBÉÚº5jãFK­zÃw ¥Åch4–¤$ ŸxôèQ;[€„ ºß¿+ΞMÙ°aJÏž|XÖàʕǛ6QÄ(Û"ÒÌS¾I¤^ÒÒzRRÚtúïòò;U×wš.ÄÃãêÇÓÓ·‘Éíjܺõrݺ°5k&ò÷²ŽW^^sëÖËkמegSV–›?ßhÁ£Aƒú;®Î F¸ «xýú…òôôé%í϶IIo]\ÂííÇnß>ƒ/±u<&“•”ôöÊ•'))ïH$âôéÃ6n´?~ܬ!P0Â]…µõiƒuýúúv>ü*3ó“½}Àܹ†ÇŽÙˆÇs´þ×ÏŸ""GD<þý»rÜ8í ŒgÌÖ­YØqu 0Â]BBBΣGŸoßvmgŠ|úôËÒ¥,,ôŽY ^Ù–NgÞ¸ñ<00ãõëJ+V˜X[)+÷v\] ŒpAçG§3'M:2t¨Ú™3KÚÓÎçÏEsæøéêö [%%EâWx‚V\\uùò£ððG……ff:vvcÍÍõH$¢°ãêŠ`„ :¿ÐЇ?þ¡PÖ¶§‘Šŋϩ«+^ºä$.Ùöå˼  Œ[·^ÊËKÛÙ]¼xŒšš‚°ƒêÒ á‚N®¼¼æØ±øU«Ìúö•os#%%Õóæù÷è!sõêÚîÝE}º³¶–ñ84ôáçÏÅãǼpÁaòä!p6L@Âܹs©„µkÛ~XM uéÒ L&+<|¥œœcã»?jƒ‚2BC–—×ZY ?yÒväHMaþ tfå©»vÍis¢¤ÑË—”ß¼¹A”O1W?ŸúL&98üµdÉ_½{Ë ;(Ð$\ЙùøÄ÷í+og7¦mÕY,ÌÍíÊë×?®][¯¥Õ“¿±ñËçÏE¾¾‰7o¾ÐÐPÚ¿þœ9#ᄘȂ„ :­Üܨ¨,û6' #GbïÞ}uéÒŠ!CTø_|ûVrêTRLL¶††Ò‘#6óæBªqpA§uøp¬žžê¬YÃÛV=8ø¡Ÿ_²ŸŸÝ¤IƒùXûýüùçĉ„ÈÈ'ƒ«œ>½dúôapNL,@ÂSvö×{÷þ¹reMÛnO¸ví™—WÌÁƒÖóæò=¶ö(,¬8~<>2òéàÁ*—/¯61$ìˆ@+À sš;×D’hÛµ·|´³;ïèh²kVqä‹â⪣Gã"#Ÿ ¼uëô)S†ˆ×­n.è”’“ß>}úõî]·6Ô}÷î—“S•Õð;gñ=°¶©¬¬óóK¾t)£W/Yû3 `ALÁt6,fn~´ÿÞ.8´¶nQQ••Õɾ}å##×¶Q±ö««£eœ>}ŸL–ظqêÂ…ÆpZL¬ ÿW þºsç凿ϜYÚÚŠ55Ô%KÈd‰ààB϶,“}ôh\yyíÊ•fkÖLñ{./ á‚N…Éd;voÞΟo䨢Òöõ€‚„ ::éãsoáBãÖ®‰uéÒƒóçSŒŒú (¶•”T9{õêõÛ·]a „N .è<(”§EEU®®æ­ª•”ôvçÎë›6M>}˜€kƸp!ÍÏ/YJJÂÇgÑüùFpBg t4ãäÉÄÅ‹G«ª¶bxûþý¯uëÂæÌÙÚ4͆EGg9WRRµ~ýäµk'ÉÈHv| Ã@ÂÄ•+OJK«ÝÜZ‘7KJª—-»8hPŸcÇvüM?þöö¾‘’ò~âD݈ˆÕ*wp‚‡°ÿíúzúþýómmÇ}ºÖÚÚ:**J¸1ˆ&A|é„ ÄÆ8sæþâÅ£••åx¬þ(8øAPãСüüÂØ¼ÜÜÂíÛ£?þ2¾áßÏ‚» H¸@ì]¹ò¤¤¤ÚÅ…×áí“'_¼¼b\\&[Zê 40¶šê¡C±¡¡µµ{ÇĬ3F»cú¢.ot:óÔ©$;»±}úð43ðûwÅêÕÁff:žžÓîöí—»vݨ©¡îØ1ËÁa¼„¡cú".oÊÓ’’ªuëxzF$Îtr –‘!ûùÙuÀäéeÿ}-1ñµµ‘——ï3 ³‚„ ăÁò÷O^°`·Àz{ßøð¡ðî]÷=»Z‹…?8|8VA¡[Hˆ“¹¹ž@»â¾Ý1vãÆó‚‚rgo¯\yüðäIÛz 4ªÜÜÂÙ³OíÞ}ÓÑÑ$5uKçȶaaa:::’’’:::¡¡¡œ»"""ôõõÉdò€‚ƒƒñBEQ%“ÉÆÆÆÏŸ?g6Øh³Æ-ˆÅrìp¸b±°S§gÏ©©©ÔâÁ/_æmßãìm/ eåå56\^´èܨQýRR¶,X0J,¾Þò.''ÇÌÌŒýr„ 999ì]&&&MU¤Ñhºººœ… ’£««ëüùó‹‹‹>¼råJκùùùþþþ¶¶¶ #//Ï×××ÝÝ—€étz~~þñãÇÝÜþ}ÌRS½t4þæo:FròÛ¾}Ý^¼øÞâ‘ÞÞ7´µ=ß¾-P$·n½00Øahè# .‡Ç®¢¢bYYûeYY™œœ×]lxz‘””444ÌÊÊb6ØÀ0LIé¿!À> ®®Ã0ƒÁ¹M$·Ð¸qöñì¹öÒ<F¸àNŸN65Õ>\£ùÃ(”¬€€´S§ìVá{ ¿~ýY¶ìâÚµ¡VV#RR:ÉÉ1®ôõõÓÓÓÙ/ÓÒÒ ðm==½p­…a•JÍÎÎ622j¦q à þýsÈd2ÙåRRR‚‰DÎmΚÁ>žÅb5ßKƒ„ ÄOVÖ×G>·¸r‡…^^1ã±Ðí­[/-,|>~ü}õêš½{çÊÊvæŽmÛ¶mÆ )))ÕÕÕ©©©nnn[¶lÁwyyy¹¸¸$%%ÕÖÖ~þüÙÑÑ‘—åää¾~ýŠoO›6ÍÓÓ³¸¸øÇ¶¶¶ú'tL/-ã°lÙÅ™3O4LM ÕÔôàìÙ§h4{/.®Z¹ò’ªª»·÷º:ï`>ϘŠ¢°<#èêΟOÕÒêÙü,ApðÃØØ×Š3³í¯_6o¦dd|ðôœ¶jՉȯ–Å‹ŸŸŸ°Ccp8ùùóOLLöž=s‰Ä&O?¼~ýÃÛû†››Åر|[” ت«+ÅÅy "ö[ ,p8 ÊPPY´htSTVÖ¯Y:v¬¶»»_z„-à#H¸@lTVÖ…†>\³fbSOÄÁ0lÆËuut??þÜãpûöËíÛcde¥(çÑ£û·¿AÐÅAÂb#2ò)ƒÁZ¶ì¯¦¸téArò[¾LÝVVÖmÛ}óæ GG“mÛfHKÃÃt@ÂâÉd]¸fc3JI‰{2}öìÛîÝ7=<,Û?u›³iS¤¬¬ô­[®#Gj¶³5Ø áñð¦ àϪU¸î-/¯Y³&ô¯¿ºº¶â1éÕÔP·m‹Ž‰yæèhâå5³s¬õD$\ ÓMMõïß«ñ. ÃÜÜ®0™¬v>ÇáÉ“/®®T*ýòåU&è¶\¡SÈÏϧP(´=`ÚDà á1ðöíÏÌÌOaaÜyºp!=%å…âÜÔlC‹ètæ‘#qçϧLž<䨱…mnG¼”vËÍUÚ°á>Š Ï!KØAurp¸x1][»÷¤IƒïúçŸüîlØ`ÞæGá~úTäâþéS‘Ï¢ Fµ/RQG§3³²¾¦¥å¦§çþóO>†)雚ꘙéŒç×ÌÕÍ€/ áQWRR}íÚ³;g5^d¶®Žæìfd¤Õæ«n¯\y¼k×þý{ÇÆº·¸´®˜b±°œœüÄÄ7‰‰oß¾-`0Xƒõ17×Û¾}æÈ‘šÝº‘…` ˆºˆˆÇRR66Æwyy]+/¯‰ŽvnÃÐìÏŸÚÍ›)÷îý³nݤ§v¾;~þüsÿþ»ŒŒ~,+«éÑCÆÔt½ýX“A¼<”$\ Òètæ¥K.ݽ{ÃØ­[/¯^}䨬ܣµÍ&&¾Ù¸ñj÷îR·o»¶¸¨®©®¦¦¤¼ËÈø‘ñáû÷R‰8fŒöÚµMLéé©ÂŒÐAÂ"-6öuII•““iƒòŸ?ÿlÙek;fêÔÖ=²®Ž¶k×Ë—Ï›gxàÀüN°Ž->c‘ñ!!áÍ‹ß Ö°aê3g75dh¨%#׈Xžˆ4++_%¥îÁÁ+8 1 [¼ø|AAy|üÆV%”·o:;‡”80_Üϱg 23?•–VËˢ˜ 21dj:HCf DŒpèzñ"ïÙ³oŠsƒòÀÀŒG>ݾíÊ{¶Å0,00cÿþÛúúj÷ï{ª«+ò;ØŽÀuÆ`Íš 0c . áÑ”1x°Êøñ9 ß½û¹oßmËaÃÔylç÷ïJ7·ˆŒŒîî®®┘0 ûç˜1è$ áQñôé—û÷ß-^<?‡þûwå­[/ÜÜþçV]*•_æâÒÂÍØ²²¾:;‡ÕÕÑ‚‚-,ôù·`üúõ'9¹áŒÏ"SSeåNþ¨…N .¿~Uœ:•äç—¼@¤.³¥Ré鹉‰o`Æ Ë‚) *Ž={6…Fc4s ‘HDlÍš‰žžÓêêhãÆ(/¯Á0ŒD"L:lûö™k׆~øPx𠵈\fË9c•õ•Je ª3]Œp¨¨­¥µøçŸÉd"ræLrVÖWUUùÊÊZ¼ κsçUIIUeeÝõë.C‡ªñ1°¢¢ªcÇ⎱á½JaaERÒÛŒŒ}*)©VVîan>ÄÞ~ì˜1Ú½zÁŒA× ˆŠÚZ‹Õò÷- "‹ÅÒÐPŒ‰yÆ™ 1 ËÊúF¡¬åo¶½{÷Õ¦M‘u+Wš5¿œ×ƒÕ«aÆü.µµÔ®„AYYÖ××~ݺPE ˆ1 sq¹œœ¼YNNºýñTVÖ{yÅÄÄd¨„!==·qÂå:c€ß•3 1H¸@TTWS›ŸR@QÔÒr¨Ï¢C‡î–”T7ÎÎL&ë÷ïÊuëÂBCW¶ó:°ÄÄ7nnWªªêa±0E’“ß®Xñï:0cÚ.ÕÕTö6Š¢(аSª„Ã]»f¯Xaòüù÷ÐЇM… frò»ààË—›´-ŒšêÖ­Q11ψD”Éd_&=zô9%åÝýûï“’Þ|ÿ^J&K÷ß°ÁÜÜ\–—<‚„ DEMM=¾!!A$‘uuôÿIèÓGþâE‡aÃÔ©TÆúõá\«“HD&“…¢èøñeeÛ8¥ðøñçõëÃ‹Šªag[•ʰ³ ÐÒêif¦cf¦û×_ø2qºH¸@TÔÔP‘ öîݽ°°òÿ‹Ñ©S‡ùø,į¨=tèN~þÎá­„‘Á`ÊÈHN›6tÖ¬&&ƒÚölsü9’gÏÞGQ¿ì·IÂÖÖøàÁmh$\ *ð!-™L\·nŠ—W ¾x¶m3׬™€OÈfe} HÇçyI$ :Ñ­›äÔ©ÃfÍnjªC&·ý—ùÍ›gçÐ/_JX, Ašš¬`de}ks n|ÈÏÏÏÌÌb4âhܸqjjü¼©=(аCh;/¯¬º:æš5ƒß¼)OKûÕ£‡äòå:ZZÿ>±œÉÄ~UTT‡ ˆ¤$AOOÁÀ@iÈyIÉv=‹ ð‡߸ñÉÄZ¼ EÑÙS¦˜µ§ÇŽŸkA°±iÅuÙlÿ“p)ÊÂ… ùR—Ù¶·^Dv‰^ôéã\Q‘ZW÷¶W/{£²¢"Ūgï••##3‚JýR_ÿ‘JÍðænH㊻w+-­K H£hƒÄÍÂ?(Š"Èëçêê–Þ¿Úþ®;|®¡m÷èrù7ûòNÜ®]»&L˜ ì(Z ð;w>YY-¨©¡edä[ZöCQwö^&{ÿ¾DW·'‘(¨7œNgÕÔЪªh55ôêjZM s»¢¢¾²’öûwYU•¸^Z Ÿk~iÏ0˜Ã"EÑ™3 Ò­›äÔ©ýì%Q=½^Üêñ ‰D——’—on±ooï^½èÜÄéY# sÁ¯ ð$\è p ƒt­„ËõKkÇ|“-,¬ Ó™БMœ8QØ!ˆ *•ß®§6&ܰ°0IIIÐÐÿ¹J&""B__ŸL&0 88/DQEQ2™lllüüùsva;"þÔ^¾ühÞ<#£Ý••uÂç_ K–,177_²dIBBç®äääåË—›››ÛÙÙÝ»w/œ8qâĉÍÍÍ×®]ûñãG¼ðùóç'NÌÎÎnCíOÍœ-°·…žñ™LVjê{7·}ý¿oß~!Ü`Ú€¿ŸëöÀ;_ÞhËU Û·o666ÎÊÊZ¶lYïÞ½§NŠïÚºuk``à¸qã ÷íÛçàà€×Â0ŒJ¥ž?ÞÉɉýÞuVµµ´„„œèèì´´\üæ%ѹ&';;ûâÅ‹[·nÕÕÕÍÍÍ=xð ¼¼¼±±1¾+ `óæÍúúúeeeaaaøA””:~ûöí£G ’Я_¿„„###aþ{D†aÏž}»~ýŵkÙuøŠ½ÂªÕDósݸ}ú,µ^[F¸û÷ï÷óó›jÆ7¢¢¢lll&Mš„W™8qâ¤I“lmmÙÃçâââM›6YXX°«p¶À®ÅYøçÏ//¯3fpþÊMœ81,,ÌÊÊjÞ¼y¡¡¡³fͲ¶¶~òäIÞI Þ>ýâéIÑÕÝ>kÖ©ððÌŠŠ:A &~_²xáïç‡âCT¤‰Š¢ûöíSPPèӧϵk×öìÙ£¨¨¨ªª×LûxƒÎÎÎìßÛ+W®¬]»–ǧE›I üÕ–_‹œœ3³ÿînœ0aBNN{—‰I“ËâÑh´ÀÀ@]]ÝfÇ0ŒÁ`\ºtÉÕÕu„ }úô‰ŒŒÄw…‡‡›šš0ÀÕÕuþüùÅÅŇ^¹r%»îÛ·oŸ?ÎNМM±!‘H?þœ2eŠ››[ƒ®›j¶Et:31ñͪUÁzz^nn©©¹ “Ÿ®"t_¿~500`¿>|8û—ìëׯC‡mª"ƒÁˆÕÐÐ@$##C___KKkèСéééìc$$$bbb ýýýñ’£Gº»»ÇÆÆž:uêíÛ·‚¤¤¤àÿÇ7ùþý{@@Àýû÷ñ—)))ÉÉÉ[¶lñóóÃKN:¥­­}ûömvÝ-4.ô÷÷755½qãÆªU«Ž=Êù¯ˆŠŠruuÝ»w/“ÉŒŒŒtqq9}út«ÞÜœ‚;®¹{Î? % _6WÜçèùû¹ÆGØÿ7šúpÑh´üü|[[[ƒ‘——çëëëîîÞbû¾¾¾—.]JJJJMM½xñâ©S§xl°µi¿øsãþ¤©æ¡(*))9tèPü )W‰‰‰7nÌÍÍ¥ÑhD"AÝ»w;;;/\¸Àâk$$$\¹rÿRÃÏ"rôèQyyù¦šÂmܸQNNÎÓÓ³_¿~ zoªÙfHÊ7n|Û³gWYY @Às=ƒÁý݈ŽÎîÖÌK³mF$ʵ¡/?¾‰'JHHôïßãÆ‚ÄÇÇϘ1A ‹ØØX ü0™E‹-^¼/™6mš¿¿ÿ!CLLL6oÞ̵ñ5kÖtïþïš ÙÙÙgÏžÍËËc0ìŸÂË—/===ÉäV¼{YYYÉÉɇBþwÖÏÎÎNRRÒÄÄ„N§³·÷ìÙÃK› éׯîÇÞ¼ù‰¢(þãnê©—ÙÙßÈ䶬[ÆwÙÙ¿Q´-Ÿt~}®‘¦?\Û·o—’’š;w.•Jeo/Z´¨ÅöI$RDD„™™‘HLNN&‘H¼4؆´À_mù1èëë§§§Ïž=™––Æ1ééé=xðÀÊʪq-^¾W;::ž9sÆÜÜœN§ËÉÉ!bffÖ»wïèèh!C†àM¨¨¨4¨Îζ\›jQSÍ6%>>§GÉ©©ÿ~wnqÚn÷î›<¶Üf$RË÷Aõë×ïõë×ýõþòÕ«W `ïúçŸÆ׸çX²´´ôùóçÙÙÙ»wïFEÑÒÒR%%î‹pãÓ ™™™—.]ºwïž——WãcØÙA#Gޏ¹¹1 <§· †aÑÑÑ£’””Dþÿ3ÏÞæeʵ¤¤®¸X½ºZà ŰªÜ¾ýòæMQ9oÆKÂÜçiúÃ%%%…üû0æÿ¶9}3í–••!RUU¥¬¬ÌKƒmH üÕ–„»mÛ¶Õ«WËÉÉ5*;;ÛÍÍýÌËËkõêÕÒÒÒãÆûõë×þýûƒ‚‚xo¹®®NNNŽN§ïرƒ]èíííâ⢠ pòäI¼dÚ´ižžž'Nœ¨¯¯ß²eKDDM!âãããééyäÈSSÓUxi–“¥¥~IIÄùóa‚ÆåËrs I$b3ß+ÿùg¯’R÷¦öòŠžlñ;;;ü¤™¿¿?ûk”½½½™LÖ××/-- ÷ôôlÜBRR’¥¥%{—ORR~w9…BY´hÑÕ«W‡ ÆÞ»páÂÙ³gëêênß¾/”‘‘ùõëWß¾}7N¥R»uëÆ`08sFŒáààÀärm³pôèÑçÎ[·nF øûï¿[|gš×³§tß¾_””z;8l§P²RSßã¹ ©gOìÞ=‡ýHá¢P( ¶ü‹Á÷ϵœœÜׯ_ñ1ck?\-ª©©±µµ ýóçMff&ž^›×†´À_m™Ã:uêž={V¯^Ý£G‰'îÙ³‡=±´´Ü·o߆ äåå§NÊ9%ÄÊAkkkEEEö1fff Ý»w1b^rêÔ) ÃtttÌÌÌæÎ˵e®M!B§Óûöí›””ÄNßl¼4Û˜¼¼¤““iJÊ–””-6LQQ‘G„DÝE*Œ?>cÆ wwwGGÇ1cÆà»FµbÅ ??¿™3gzzzrNõrJHH°´´d¿477gŸ`0óçÏöìÙúõëñ-[¶Ì˜1ãØ±cì)'''®Wq9;;ïÚµkéÒ¥œ—ÜÜÜ™3g²«pm³pÆ †-]ºÔÍÍmüøñ­Ÿ¸#0+«áaa+ÿùgG8ž"kŒŸkœ‡‡ÇðáÃñvÛ>\Ípvv^³f¥¥åÂ… mmm×­[ÇK­6¤þâ², (ЉÄÀÀ@̶\¨±qcãþ^^3âãsbbž¥¥½g0š|Ž€pmذAØ!ˆ=y''Süé–×®=¿qãYyy-&ЍðNПë.Kt¿ùâDëÖÖ––œ3gäœ9#ËËknß~uýú3±¾C4EQCC-CC­Ý»ç¤§ç^¿þ¼{÷–§(èÈ$#ê ·PPè¶t鸥K¹œú„aÒ¤Á“& v @u†É~ p ƒ@€ ˆ ê«i‚Ðh̦n%<¶ÂÂêº:™ÚZ‘¸[ˆ).'Íðõ €˜zóæ°Ch£›7kfÌèF wïV›™ÉÈÉý7À0äùóú^½$ÔÔ$x[å‚',RUÅ¢R±úzŒJý÷¿úzŒJeÕÕaõõ¬úz„FÃètö×eÅásÍ/=js]. a/Ö¢£££££…E[(+;Ÿ>ýîÏŸ»ŠŠó zýùG¥~gï%“5çb­¾þK}ýG*õ;†q_5¦UddôääÌPTÃ0ea‚ (~ $×ã{ô•Uä[ >×¢ u·X 8C‡î,-­Z±Â¤OŸû÷ßAQtùr“]»f‘Hÿ®êäê•E$X,™Lš2eˆ•ÕðÉ“‡ÈÈH¶§ß¼¼R—ËÏž}Ç0VóŸÉwï°ã µ áQ1zôÞ?Êqvž|æL2‚ aÄ‹”•{ RUUobr°¤¤ Ÿä% ,†¢Èðás挜5kDïÞ²mëð˗ïØqÉÄšZ]“H$Lž<$8xEÿy@¢câÄù¹…‚ (J&KÔ×Ó! d²ÄÉ“¶3g ’‘ñaÑ¢s ~i‰D^‚g^++dd|HOÿPQQ«¡¡dj:ÈÄd‰É yyXq ´.NNÁqq¯šù}$‘ˆ$ñäI[2YÂÁ!ë¯.Š¢>> -ÝÎ`¨TƱc÷Μ¹O  L&KR’hcc|äÈëp2™¬7o ðÌûøñg ÓÓS51dj:hÌm8±¸‚„ D…«kĵkÙLfó¿(Š"Ë—/.®Šý§ÁC·ˆDâ¼y#}}mùRbâw÷+UUT&“yæÌ’Y³Fp=¬¶–öìÙ·ôô‰‰o>|(”‘‘44ÔÂG¾íhƒÎ.Û¶EGD<æåÙ·(ŠŒ©ùñcQUU=ûXB‚¨¦¦pèÐSÓA|Œª´´zÓ¦ÈÄÄ7¯_ïUTìÖâñ 攕åLL™›ëÁœ@ áѱwï­ÀÀŒ¦‚ËF"I°X,K--¥uë.ã+»£(*-Mš={8…’íæfîæfA$òó¶õ´´\33VUi0çÀd²ôõÕð9‡Ñ£ûKJÂʨ]$\ *||îùû'S©Í%\54ÔòõµÕÒê‰ ˆ£cPRÒƒ…¢èÙ³KgÍ•µ}{ÌÀÊgÎ,Á55ÔçÏ¿³ç¤¥%Œþs:T V¦ï: áQqæÌý#Gbi4îS J$Ö®äé9}laa…‰ÉšºÝ˜£Gÿ=£õùsÑš5¡yy¥‡/˜3gdEÏ3öœCZZnee]ïÞ²£GkO™2dÊ”! -OY± ˆŠàà‡;w^g_‰E"étŠ"†IH R–——ùùóObâ¦nÝÈìZW®< ̸{×LþïK:•ÊØ·ïvPPÆüù†‡/–n×½¿s]$\ *(”,+‚(‰Dìß¿ƒåæþ" –ë×O®­¥N™rlôèþþþöìZ†•”T÷êÅå¦Þøøw÷+½zÉž;·lðà¾÷/i=|Î!!áMb⛼¼R˜sèì IDAT¬ áQqçΫU«‚õôTþš3gdJÊûÕ«CFŒP÷÷ÿo66#ãÃâÅçüüìçÎåi®àÛ·’µkC?.:xÐzþ|#A†Ï7 æzõ’3FÛÄd¹ù¶Ý² D$\ *¾/­®®×ÓSÅ_2™¬qãö››ëïÛ7—ó°={nFDì뛘í-'÷ß’4cÆŒ“ݺ‘cbÖñ~íWfæ'—Ë(ŠøûÛ£-˜x¨¦†š™ù)1ñMZZîe0ç ¦ áÑUQQkh¸{ëÖNN¦œå?þ¶´ôqw·pq™Â{k••õžž”»w_­Y3ÑÓsšøÞ} sâ .i›7S>üøàÁö+"^º”±k×76Œ©Ùª£¢²¶m‹ÖÕí{úôMM%¾ÛÑÏ9hj*M™¢ga¡glÜŸó² " á‘–›[8iÒ‘àà –[Ä0ÌÁ!ðãÇß ›Z;-ûñãogç°?JÅ uÛ¦Áœƒ”iÔ¨~0ç j áQgcsE‘Èȵ ÊKK«'O>ba¡Ï¹ˆjki;v\¿zõ‰££Éß[u²Á ÇœÃûÊÊúž=»;ÀÄdД)Cúô9a‚„ D]BBŽƒC`ròæÁƒUìJIyoopþü2üy­•––ëêzYZZÒ××ÖØ¸??‚-œs}b0XššJøb:¦¦:ìÏŒX€„ D‹…`üø\G²øR^ ›”•åÚÐxAA¹›[ÄÓ§_7mšêì<‰¿KÞˆ”òòš>fd|HM}ŸŸ_sB ˆ€€´C‡î>{¶«ñjT*ÃÊê$™,qíšK›/<À—¼ÑÐPò÷·k<Žîd0 {óægzznjjîãÇŸ –’’”ŽNyó´$$:íß›¶7nœšš?[ÄyUUõƒmõ÷Oâº÷ë×âAƒ¶îÛw»=]|ÿ^2{ö)-­MþþIL&«=M‰‘yóÉZrr¦ŠŠ³ù™V:‹ÈÈHþ¾áð ˆîÝÉÖÖ£3¸.O®¥ÕóèÑ…gÎÜÏisJÑÑë6mšzäHÜܹ~ß¾•´#^±A `VVFi¥¥7ø›Y:¼á‚h¾sr2)*ª¼wï®{gÍng7ÆÍíÊemîBB‚°nÝä›77”•ÕXZú„‡?jsSp ˆ‡~ýz™˜ yØÔ{÷ÎSWWX»6”—‡ô4cøpØX÷éÓ‡yzRÖ¯¯¨¨mOkp‚„ Ć““ifæ§×¯pÝK&K8|üøûðáØvv$++uâÄâ  Ç´´Ü Ž$'¿mgƒà á±1yò}}U?¿ä¦À'sÏžMiÏd.ÛÔ©C>ô27²dÉ…Õ«CÊËkÚß&èâ áq²fÍĸ¸×_¿7u_&sÙä䤎± _•ým„ÃMÍ À#H¸@œÌš5BEEþüùÔfŽÁ's׬ içd.Û¤IƒSR¶XZê;:­^òçOWœÕ ÓÑÑ‘””ÔÑÑ åÜ¡¯¯O&“ Œ¢(Š¢(™L666~þü9»°ÁF›±Û722ÊÊÊjmÝvöÞv¾ô€Ö¹p!MSsÓïߕ̓_™»gÏMþvœüväHïáÃw&$äð·ea±¶¶¶¶¶nñ°øøx55µ¤¤¤ÊÊÊääd55µ¸¸8ö.uuõ„„„êêêOŸ>988àåxn©¯¯÷õõ1bg!çF›á-P©Ô3gδ¡./‡ñý:\H¸@ÌÔÖRõô¼Žmþ°›7Ÿ«¨¸ÇŽæoïu›7Göíëæâ^UUÏ߯; ×ÔÔôúõëì—×®]311aïºy“Ë6vR«®®–––æ,l0à+**²²²’••:tè“'OØGîÝ»W^^^YY9&&f÷îÝ ***±±± Ú¯©©‘’’·¹6õãÇ)S¦Éd®½7C ¦€˜‘––tpéÒƒšj3‡Íš5ÂÚÚhÓ¦Èüür>öŽÏêž;·,%åýÔ©>Ož|ácã"+''ÇÌÌŒýr„ 999ì]&&&MU¤Ñhºººœ…Øÿu]]]çÏŸ_\\|øðá•+WrÖÍÏÏ÷÷÷·µµe0yyy¾¾¾îîî Ú 2dþ’kS...eeeGÆg÷ÞÑø›¿è%%Uýúm¾p!­ùÃêëéÓ§Ÿ4épM •ï1W­^¬¢â¾e ¥¢¢Žïíw G¸ŠŠŠx•••ÉÉÉqÝņ§IIICCì¬,vaƒ Ô”þ[ž@ °¨««Ã0ŒÁ`pn‰DÎö>|x^^^3MÉËË7ˆÇ¼‡ÀA””º[[]¼˜Î`°š9ŒL– ZQVVãâŽñ{8Ó³g÷sç–EG¯ËÈø8fÌÞÎ}[š¾¾~zz:ûeZZšÁ¿ëaêéé=xð€k- èTjvv¶‘QsÏKÆ0¬  ÏGLæç9¥¤¤!‰œÛœ`öë×/yyù§OŸ6ß”áoþ cäç—ihl¼råq‹Gfe}ÑÐØxút²€"©«£íÛw[MÍÃÎîü\Æz¢ŒÇn\\œ††Æýû÷«ªªRRR455ïܹƒïºw¦fbbbMMͧOŸ–/_Ž—sÍ-ìB99¹/_¾àÛvvvvvvEEEyyy‹/n\ë6{ãׯ_ÚÚÚEEEM55wî\OOÏÚÚZv#œ½7“f°¹¹EŒ»Ng¶xd``ºªª{rò[ÁóÏ?ùÇú÷÷ô÷Ob0ZIDð˜p1 8p @@$$$„sWXXØàÁƒI$~Y^Ø|Âõöö–““Ã_–––ÚÚÚ*((ôë×B¡4®Þ|ÂÅ0Ì××ÿWpmêÇ'N$‘H\{o$\þóõk±ššÇµkÏx9ØÃãêàÁÛ¿~-\0ÐñîÝWçÎ¥ 4*"‘°fÍ„û÷=ûöí1þé .W ´G . áñæáaùæÍÏ””÷¼[zð µ–VÏ+‚êêu“”iãÆ©))[45•/>·lÙÅŸ?ÿt@¿@AÂboìXmSSîòx<™,qöìÒŸ?ÿüý÷uÆIK«çåË«CBœÞ¾ýijzÐÇç¿VbDBØÀ›7Oµ²òMKË53ÓáåxMM¥sç–ÚÛèèôYµÊ¬å |bn®glÜïСØ'’“ß80øpë«üü| …"ܺþ^Ö €°ØÙŸ9óD«ª\½úDEÅýÆç ©/^|·´ôQUuws‹(,üÓñଭ­…Dßo|@1¡¬Q¿½~ýcÚ´aa+'MÌ{­Ý»o†„<ŒŽ^7r¤¦àbã ð;w^íß§¨¨rÅ SWWóîÝÉè`pAç±lÙÅß¿+ãâÜy† ‹…­XôâÅ÷»wÝUUWt:3$äáÑ£q22ä-mmÇÂ{ 0H¸ óÈÉ)°´ô ^an®Ç{­šêìÙ§˜LÖÍ›®rrR‚ ¯ee5'N$?ÐÓSݳgޱq¡„ .èTV¬ÊÏ/¿wÏ£U üý»bÚ´C†¨„„8‰B»tçÇÂ={n¥¤¼Ÿ9Óàï¿­ÔÕ… ¢···°c€ottúøøÜÓ×W0 7ﵺw—1BÃÇ'¾¶–fjÊÓu‚ ¤Ô}ÞxðáÁƒí$±µuÿþûZDÄã¨(gCC-„Öj¥¥ÕçÎ¥^¼˜¦ùíÝy\wúðIBP—€ êÒB‘r© ­xWPÐ" jJ­ ¸€r¨[A(¿‚¨kp„U‹h±ÜâZ@PtEºnÑvUÔ°®@ „ÌïìÆîd<ï¿&3ó}¾Oôõú0|™LæÎ8p`½ƒƒ%ÄîÄ &¡ÆÆö¥K}ó£›Ûò±ŽåñPOϤ{÷ž_¹âo` %öÄÐÐÐSüÓO÷ÌÍõÚ¸|ùGXwÄ &§#G®¤§ÿ£²ò1>MÐÓÓG£iiéºrÅ_SSYí‰çÙ³¦Ó§‹srXYý)8Øá“Oàî± ^&'?¿µýý¼óçËÄ«¨Hüþ{7‡ëí*W˜14Ô>}ú‹K—|‰D‚³sœOêóçÍX7ÆLNŠ’ÏêøøŸß¾e‰1\GG55u÷¿þõÊß?m4ß™&KÖÖYY{ÒÒþüòå[[Û¿zy%×Ô4`Ý\0iyxØR(J±±7Änb¢›–æUTT”)ÙÆ$ÂÖÖ8?_NÎ^6»oýú¨Í›O?‚B9·…IKA0}:9:ºpË+5µibTÐÕUûøãYG^éëã-[f$ñÇoÖ,u'§…vvfÏž5?~íúõ_•”Hp߮܂À“™‰‰^vöƒ×¯ÛÖ¯7¯ÂhÍ™£–§¢¢('7Š ¤­M±··X³æãßÿãÌ™Ÿ¯]{H àŒtĸ+H.˜ÌüŒ*'O^···ÐÒR¯ÈÇë)**9rE__ÝÌl–d;” ™3U7o^àà`ÙØØñ÷¿—œ?‹Édh©ªŠsu¤n “Ÿ“S,€ÏÊÚ3ž"‡ç%&–'%íÓóv±ÒÕÕ››[}áBùï¿ÿ±h‘‡‡í† >—ðAà‚ɯ¦¦ÁÎ.*1Ñ]ì…Ax<ÔË+¹¬ìß>Ø>laôx<ôæÍlj‰åååO µéôOi´EÓ±îkê‚ÀS‚¯ï¼,- Ï÷8î—_žÿõ×úìì=&&zlOÚž=kJM½“•UÕÕÕkggîêúé²eFðaÙƒÀS›7íË– Úàé9®¯ŒìëëwsK¬ªz™•µGž×sÅáp¯_ÿõÇïÞ¾ýtî\ÍíÛ?qqY¬£CÁº¯)L'N\OJª¸s'X]}\¿S³ÙW×sOŸ6fgïÅö¡bbklìÈʺÿÕuuL+«?Ñh‹>ÿ|!|£š @à‚©¢««wùòcó#"œÆYª³³gÛ¶„?þhÏÍõ;WS"íÉ—Ë+)ù-+«ª¨¨†L&::ΧѬ-2€¥éÀSHZÚÝ  Ìââ¯Çú¨Ü::z\\â[ZX¹¹¾úú|û$‚ •••uuuã¯Ãfsù¥¥ªê틚šä+tmlÆûïø–.]ª¯¯/x ¦µ·ž9S59ÙcüÕ;¶l‰#“²²ö`ò§–••%Á‚‚ª’’ Šrººª%Xv*KOOwqq¼„ûòÀ‚Çã7?ª¬¬5Jf¦Ow7gëÖ„ÖÖ®ñ•JE%‡Ëmëì¬d±H°æT6ðÿ L-«W›¬Z5ï›o²¹\Þø«éé©]¾ìÏáp7m:ÝØØ1þ‚`rƒÀSαcÔçÏ›Ï+•H5mm•ÌÌ=žJ=™ † ¦œ¹s5÷î]UX_ß*‘‚ÚÚ*™™>¹`D¸`*òõ]«««zäÈeIÔÒÎÜvI•“ .˜ŠH$…o¿Ý|ùò?KJ~—TM~æ*(à©ÔxÈ\y ‡7Cà‚)jÝ:ÓuëL¿ù&‡ÃáJª¦––JZÚŸûûytú¹ææNI•¿ÔÔTccc‰dllœ’’"|(--ÍÌÌŒL&2 þN‡ÃáÈdòâÅ‹«««;E6ÄV[[ëì쬭­­¨¨hkk{õêUñ*‹Ñ‰ðåѸ`ê:|ØéõëÖsçÄù¢É¡èêªåäìíëã~þy¬¤ÖˆÇ©¨¨(888>>¾¥¥%!!!$$¤  @p(((èÔ©SL&³°°°¬ìÝ?Š¢®®®¸gYF³´´|ôèQ{{{DDDBB‚xu½õj<$^p ˜²"#¯ðÁÁW¯Z$[¶½½ÛÁáo¡5H¶²0*•:šûpmmmsss/srrlll‡òòò$‹ÅRRRÞ)’MMMŽŽŽ***æææ÷îÝœ¡¦¦¦££“®®®®§§—ŸŸÏ?AUUõåË—' ¾èèh}}}'8‡ÃŠôùìÙ3kkëéÓ§ v"røðaUUU}}ýk×® :ÅPo|àØ¡Þì0IOOÞW¸`JÛ»w­¶¶JD„ÄþzÆG¡(¥§{›˜è9;Ÿyðà¥d‹UMMÍŠïž‘¶råÊššÁ!›¡r8œÄÄÄyóæ ïI%ggçæææï¾ûÎÓÓSxl}}}\\Nçr¹¯^½Š‰‰Ù·oÿhXXØÂ… 7nÜxàÀ›7oZAÇWWWóx<Á \.7))Éßß_¤U;;»×¯_ãñïeZ___}}}ttt@@À S Cdì0ov F i&·k×êê”—?‘xåÞÞ>w÷Ä?ÉV&‘ΞÝéà`¹cÇ÷ùùÿ’lñÑ333»uë–àeYY™¥¥%ÛÔÔ´¢¢bÐQ(ŠöööVUUY[[SEц†ÿ.›ô÷÷ ö+**"B „·…OÐÔÔܼysHHHYYÙPk¸jjj‚mww÷£G¶··wttמ`jÁeòè ;Ô›=\ÈÈm--¬'ò%^YA¹mÓ¦ùÞÞ)—/ÿSâõGãСC~~~%%%,«´´4 €¿Ð‰ HHHˆ¯¯ï7º»»kkkÝÝÝGSB¡¼xñ‚¿mooðàÁæææºº::>Ê–ÊÊÊzzzÚÚÚ.\¸0{öì•E°Ùl …Ò××:ðè²eË¢££;;;###GßüX‰÷fß3âU1SƒQ¡¯¿ÿáÃWÒ(ÞßÏ Ξ5kßÙ³¥,;Ê%E †‘‘}399YøPjjª‰‰ ‘Hä߯ß9h2v†……Q(þË––:®®®n``‘‘1pø ÛW¯^µ±±!“Évvv555+‹ôÀ`0f̘¡««Ž XÜxò䉕•ÕôéÓýüü”••‡™Zd ‘0XYx{Ð7; dÀ’<žAݲ%®³³§ `?‘HƉ‰·¾ýö’‹Ëâ'\$ðË%FC$33sôC|}}«ªª ù¡3Ép8œØØØK—.•——cÝ ‚ ‡y<£ø_¨Àd‚Ç㢢¶®]{òüù2ŸÕÒ˜b×.[==uŸ&³+!áK%%’4f^ll¬ì'• G LMMßC°† À}ø¡öÞ½k## ^¾|+¥)ìíÍüñÏwïÖR©gÞ¾eIi–© EQ.—ûðáà `ÝË pxÇÏoíܹš_.½¥¶¥K óòüšš:ÿöüy³”fò €wˆDBTÔ¶»wŸgeUIocã™ÙÙ{¼³ó™_­—ÞD@Þ@àðž… çîØ±4,,Oª¿òÏ™£yù²ÿìÙNN±×®=”ÞD@®@à *0p‰Døç}EhhLÏÉÙëæfãéÉ Íåñà~¡ÉQŠÒñã´ÌÌûEE5RHAâpâ„KJÊíÝ»ÝÝ©N0·…0ˆõë;øbÉþý?•”ji©Hu.W×%ÆÆ3=<’c’“=ôõÕG?¶¾¾>##Cz½É‚>0¸înÎÚµ'?úh&ƒ±KÓýñG››Û…ÆÆöÄD÷… çŽfFËÊÊ’vc`ø ÀîßáäCwvî.’ÒÑѳgOJeemTÔ¶Í›å÷fR 6BXXÖ= §fÍRoogŸ>]¼e‹µŠŠ¢´§#“6o^Àf÷}ûí¥––N›ø+ˤW¸ §·—kg¥££zñâŸeö¥„wî<óñIQUvîÜNc㙲™Èüü`8d²BL ½²òÙÅ‹÷d6éÒ¥†ÔÔ¦9:þ-/ï™Í ¤ –ŽŽjoo_TTá¦M ÔÔ¦ÉfReeEm‹Õ–×ØØ¾råyù2,/Ll°¤À¨èè¨*)‘"".¯Xa,ã+MMMå/¾XÒ×Ç Í}üøõòåaò,]0~°¤Àh¡(ºsgâÓ§……dp—Ø@OýýÓ¸ÜþÈÈ­ë֙ʾ0N°¤Àháp¸èèml6'$$“–/7*) ´±ùhçÎă3àÙ ,)0Ó¦‘,,fGD\™=[ÃÔt–ì “6l°ÐÑ¡$$”\¿þë¢EHûQ@‚à €±YºÔÐËkÕ¡CYÏž5aÕƒ«ë’¢¢¿H vvQGŽ\K݉Öp3.—çäÛÝÝ›Ÿ¿ŸLÆì‘{(ŠfeU…‡ç)(àCB©Tkß²Æ ®p3|\œkCCë±cW1l‡ÃÑh‹**‚?ûÌ, à"•zæéÓF û#‚5\Ä¡¦6mî܇_63›eh¨a'ŠŠÄuëLçÏŸ—÷ËÙ³e==}³1¼îÀ%Ä·wïååOŠ‹¿ÖÖÆþ/W==}gÎü|öl ‘¨àç·vçÎå»òñuvö¬_¥««úÓOÞD"ëvAX¬ÞääŠÓ§o‰oïUžž+H$ˆ]y À¸ÔÖ6mÜxêóÏ?Nú—wZ£¢ 33ïjûù­Û´i><ûFÀ.㢡1ÝÈhfDÄ]]Uss}¬Ûù/ Eiýz3GÇùOŸ6ÆÄgg? ‘LLt!v±W¸HÀ_ÿzíìÙÒÜ\ß æ`Ý‹¨¦¦ÎÔÔÛçÏ—)(ÜÜ–ïÚe+³‡L¸H‡îØqþÑ£†‚‚::¬ÛDSSçùóe©©·q8üöí‹¿ür©ÖMM9¸HF{{·½ý)--•¬¬=rò´::z~ü±25õÎþÓbcóÑW_-[·ÎTAÖd‰ùí·×1®®KÂÃ?Ǻ—á (zëÖ“””ÛÅÅ”•‰66:kÖ`ð\97{öì%K–H¶&.’”›[½gOê©SÛ·n]Œu/#{ó¦ÝÈÈ'utܺ¹C¥R333%[nÐ@’œœþòË‚‚2MLt-,fcÝÎfÎTe±î¦§§»¸”aÝ‹|¡Ñ¤r“¬Ý a¡¡›ÌÌô½¼R˜Ì.¬{ò # ßïÖ××ïæ–ØÛËź G p<ÊÅ‹^Ož4îÞÍèïçaݸH…¡¡vR’{YÙ¿#".cÝ ¸H˧Ÿ~C?þÖ… åX÷ä.R´yó‚}û>ûöÛK……5X÷2.©©©ÆÆÆ$ÉØØ8%%EøPZZš™™™L644d0ü8‡Ã‘ÉäÅ‹WWW vŠlˆ7˜Qϼã €t8°~Ë+ŸÔ_~y…u/b*** ŽoiiIHH )(( :uê“É,,,,+{w{Š¢®®®’íý‘í H‡Ã¥ÑâçÏÿ¿úz&Ö½ˆB$==}øslmmsss/srrlll‡òòò-Ëß`±XJJJÂ;Eò§©©ÉÑÑQEEÅÜÜüÞ½{‚3#""ÔÔÔttt²³³ÃÃÃÕÕÕõôôòóóe`ooï~ø4--ÍËËkL¹G¥R©Tꈧ.²ÐÚÚµ|ù±È’¡ó ×IDAT+Ž··wcÝË{F¸Læ»L&S]]}ÐCÂeQíí퉉Y°`ðNôý+ÓíÛ·3Œžžžüü| Á ¡¡¡,+33“L&‡††vvvfffœeÐ"gÍš5ÅÅÅ%%%«W¯æp8"ó€‰íÙ³F“`W׳ë^Þ/p)Ê ‡„Ë"B"‘¬¬¬îß¿/Ø)²¢¨¦¦¦àÂÇ N`³Ù(Šr¹\ám 2Ë0EçÍ›gjjúæÍ›óOJ k¸Èȇj'%íºs§Ö×÷‡‰us®™™Ù­[ï¶PVVfiiÉß655­¨¨tŠ¢½½½UUUÖÖÖÃGQ´¡¡ŸGýýý‚ýŠŠŠ‚ámáF,òæÍ&“ÙÜÜÜÙÙ9ú7+U¸ÈÎ'Ÿ|’âYXXãå•22÷СC~~~%%%,«´´4 00($$Ä××÷ÆÝÝݵµµîîî£)H¡P^¼xÁß¶··?xð`sss]]N¯ÃEºººètzJJÊéÓ§]\\zzzDæÅ†Ä¯™Ã+-ý}îÜ¿¤ñx<¬{Õ’Š¢ ÃÈÈÇ#’œœ,|(55ÕÄÄ„H$òo ”t.þFXX…Bá¿lii¡Óéêêꇵ-ür`‘;vÄÆÆòžÄº Ep… ö|tô6UU%oï”îîm..‹°îH.r‡Ã……}®¬¬¸ÿEEeù-ë•••2›k¢¨¯¯×××—xYøàò娱« %'OºlÛö‰ ¦Ãü™Ür‹J¥Â˜ä‚ƒ¦O'8Îdvùø¬–ötpÉ%K¸Èÿuúúêûö]¬¯g9âŒÇÃEè$ €Æº >\&eeò… îk×~¼kWRzú?°nˆ‰†u€‘ø-x<^XX^GÛÖö#¸]lÂ?š0Á””üîíbl<31Ñ}Æ e¬Ûc ÀÄóÛo¯ÝÜ.((à CCm¬Û£k¸L<&&zùùûtuUíí£aIw+\&*EË#".¯^m½M]}:Ö@à0±=|Xçã“ÚÓÓçºdɇX·†K Ll––³ó󬬿nÝÿÝwùl6ëŽÀà €I"=ýááyÊÊäðp'{{s¬Ûƒ€À`òèè`Ÿþç‹ïM›FÚ¹sùW_-ÓЀJÈ.SEeeå“'/nßn,/ÓÝÍ]´HËÉéOD"ÜŒ?K—.Õ××{8.SFËÊÊB‡#()Í#‘æ´µ]Ǻ© &==ÝÅÅEìá°”ÀB¥R333±îb¢ÂáÆûbømddddd *55ÕØØ˜D"§¤¤JKK333#“Ɇ†† ƒ¿‡Ãáp82™¼xñâêêjÁN‘ ñà3ž‚‚À¼§¨¨(888>>¾¥¥%!!!$$¤  @p(((èÔ©SL&³°°°¬¬L0 EÑŽŽWWWÉöƒþÈö„„¦*•J¥RG<ÍÖÖ677Wð2''ÇÆÆFp(//oàA’°X,%%%á"iÓÔÔäè訢¢bnn~ïÞ=Á™jjj:::ÙÙÙáááêêêzzzùùùƒÎ‚ Htt´¾¾>‡ìÁáp………ü=uuuk×®%“É‚QCM-Rj‚¤§§xÚ0à ðžššš+V^®\¹²¦¦FpÈÆÆf¨'11qÞ¼yÂ;E‚ÒßßßÙÙ¹¹¹ù»ï¾óôô[__G§Ó¹\î«W¯bbböíÛ7Ô\?®®®æñx‚Y¸\nRR’¿¿?¯¯¯¥¥%“ÉDÿúCM-RJºÆ“Ö€ d”W¸üœâc2™ eÐCü0!‘HVVV÷ïßìÙ@QTSSS>x<^p›ÍFQ”Ëå o‘Y­­­‚ýEEEæææ$ AÁ555‘V‡šZ¸Ôð¸ÂH–™™Ù­[·/ËÊÊ,--ùÛ¦¦¦ƒŽBQ´···ªªÊÚÚz˜â(Š644ðÓ§¿¿_°_QQA ¼-|‚555Á¶»»ûÑ£GÛÛÛ;::†2ÔÔÂ¥¤ ðžC‡ùùù•””°X¬ÒÒÒ€€€ÀÀ@þ¡__ß7ntww×ÖÖº»»¦ …ByñâÛÞÞþàÁƒÍÍÍuuut:]" ³Ùl …Ò××*عjÕªãdzÙlÁiL=fã¹<L £\R@Q”Á`áñxA’““…¥¦¦š˜˜‰Dþmaüƒ&‰`gXX…Bá¿lii¡Óéêêꇵ±FÁïvÆŒºººááá‚Cuuu«V­"‰‚=#N="dÜK ðxF¦ † Șžæëë[UUUXXÈOÌ)‡ÃÁãÒ‹u “ ¬á€Œ@à€Œ@à€Œ@à€Œ@à€Œ@à€ŒÀmaL!õõõXw1uAà0…ܽ{wëÖ­Xw1uÁ'Í@F` ddddäÿɽWm¤ÆaIEND®B`‚qcustomplot/documentation/html/globals_type.html0000644000175000017500000000233512236016575022521 0ustar dermanudermanu Globals
 
qcustomplot/documentation/html/QCPItemRect.png0000644000175000017500000001571612236016574021743 0ustar dermanudermanu‰PNG  IHDRæ — ‡sBITÛáOà pHYsÄÄ•+qIDATxœíw@×ÞþŸÙF]¤÷&Ò,¨ˆ°·D_kb‹$kbÉϫƘhÔ˜_Н¦¨711Öã5±·Ø ˆzQŒDz¶Ì÷ýƒ¶À®"»sïùüµ;õ9s>3sfæìGD`0„ƒÈÐŒ†Á”e ¦,C`0eƒ)ËLY†À`Ê2S–!0˜² Á”e ¦,C`0eƒ)ËLY†À`Ê2S–!0˜² atÊcÖ,ìØ“&aÔ(dd:SCÈÌĸqˆŠ€Aƒ0u* ©!ˆ³8°Ö)¥ö–ârŽ´:í÷h¡TþÓÛ^²—Ý¿°ª»ýòvXLcºéËFZWªs¥õG+§š{ý`úéKÉ1˼¯´*Ccã5:•YѼ¨ÈÓÎý±R½ÿ]ßkO‹üÅ{î·oÐsF=5žq{0Ö0Á;¿#£E…Ø3óf#‹KÌ€ÏÖ£´á©Ëi"e Ç>Dt:æôCøH\W n3B\á耖ýpä P¾§Ú#b"†E×`,? }áS÷c@ ž¤ÅF ÿíš„xÙÙmþ¸k±ojç™ œŽ-ku=ÃîË!]Þï}¿ªÜYäF‹À €ò¡ã9EÎØ~J§ |+Í6Úå^1r’.ÝãvOшÒI£—k­T!NÜÞö ßÞý¼zâ•Πl穞ݗLé8÷µN¡Á"¥5J§Oìœ÷ʧ-¤àÌKz .-I”ªÐ¨x/ž dß#ÛµÄ"µC±õ—£ýo”$¾ÿCûi=^K²ì\´ Âír)Õøk1Z{@î‚%çÁתñêŠÀáïü&¬ˆàê ‚†‡•L8ðÙ.\oDEh2e9 þ¡ÎøçiDíCëdL\‚g‘™­Á˜<Y<h šˆƒ‡qþg웊è§:–¤NÄ[K1ÿ,\\;ÿ°¬d÷L¯*eŸ5q#ü‹&üzåǯ2¯|ØÁ)gñ‘˜­;“üM+g+±<¯ìæÏPeZZ—ØÊ@b_bSjú¤ˆ v*lË[Ǥ6¼Èœ*ô“ê•¶Luÿè“ÑEžNŒþ¤ƒÃ²÷òÊKWh"w{íîØ-?œ™å{]»tZñª "«?ʺN),?´58Þ‹§‚èñ ÇT›ÂVÖÕO@UñË¿æ&îÙëì2i¦‰•.jrŠë)¸ó%6}€T¾Fw¨ªˆb¸‡•_Ëðy,¥ÿÖÀ qF§Û›ñ¥\~å_EjÆù"„N‡Ó5Ä)@dƒña¦~(ÅÉG:æÍ»Œ‹Iøt ²2ÿ\ñµ“ZmšWŽ\|¡i6¯´³xæÃg‰ÊÕR’œý¢­‹®9d'öå!Ruxû‰Ýu‡ÄòÒY VYÝ%-.§To[ñJÍ÷L ŠîwgéP¥¨)â5,•B¾®Ox—~Ã皌ýåA;síåØg‡¤vsáüÐÉhYÙÁ@d‡éà œ»Ã5Yz*ESˆ'<œ-*¿›à£ xZŠã£0m2—÷}—À[Žø¬Æô¥Ý1à€ºÛžx¨Ê4¥žîÎD0ë„}çáà8zÍŽ£bowµ¬Çêd‰F¬":[å›ç*@mžkZê"' ®TMfÒ&èS¡§tœº¢tœZSc¼v<(3;0­ÓÏv÷7¬Ê±®ú©Å Çk@*³¢÷ÎFJ=·u1¿o™Ëcý…ª_RpHË?‹!"èë™"’AªAY­±2ôž»ëxP~Ì&”¨aÑØÞ6M§¬æ<òËÀ:î×°;à³™Áhm”ïwC äFã  ¼t,Ʀob]4@#K¼b^\«Í+æMyIQÍV?gYÒÚVÿD@Ö*³§©Ý¿NÉxÇmwÍëžP¾Ó—šÞ+( òl”Z+•g9]w?™(/¹ý›sn‡¬–å¥+°ÞµÏL®à²ë9U~7êÜÚñ 2ýëÝN¥~X›é Ý‘®ñ^,ÄªŽ âFg·üö¨¬j¨<8Ç6Ö-&¬.ÿ‚„g\OkÕxuIå±ÅÍ4Ðä!6jDÿ‚´–ð6(ðw>ºëªýúÐtÊZböhÌAÛ¾¸é_?Åw½àæŽ7/cËp€Ø¾QèØ Sðæv„–>‹1¿¬¬`e»¸î‚?~Æ•)xòä⤃ÿÿ.óÚ»¬EḒ¯ÂC_{µU\UÞ¬xPÑÅKR€iÑŒÍɥ˺ð [t){ù×Ù-8PÜqLðIïd×(eµVúÀ-õ³U»‡ò]“½b]–MyélŸz\l;.(|Ô»æC7>è }rЊWzÍ{Í.³´Ã­Çxõ wé;pŒSߨx/˜ €éÓ‰ŸæÝXæu¯²ƒ§Ô/ù“÷¸_^™þä—õeð’CªÏ­¿Z]ÛÇ£¡ø<¬kKÈ­1=›ƒ—ŠoáŽ/z5ö÷Í×ù²Ð;ËãÐ_^¯éÚùPuß{Ú,úäÈ#og’FNít||ìÊAª—ñ«AÊvžê03ö¦¾fŒAâ=7•.8e rr2f ^q`Úýщ¸¹ ˜PÞEŸ©ØzºKŠÃØm¯êhÆÔ‡ÿœ§_R¿”'ñi¹z¶ƒÂ¤ Ûùý^НõÁÈãUCâØºN:4=íÌøóØðEÃ| ÀwÓ”£g´9=ðùÀFú ÖÅ›¡ÖÅ›Áh2˜² Á”e ¦,C`0eƒ)ËLY†À`Ê2S–!0˜² Á”e ¦,C`0eƒ)ËLY†À`Ê2S–!0˜² Á”e ¦,C`0eƒ)ËLY†À`Ê2S–!0˜² Á”e ¦,C`0eƒ)ËF§,Ïcýz;¿¬kÿõG~Šbñófb4Šbñšü3Ó,¼þ:Ö¯¯ïeWÂè”ݱ{ö úH,Ê—æd6öEŒ†óÍR?E‰XÞB `þ|ÄÄ@ù"ï”| Ý_"k4à8ˆD5þ™ç9‘ȸrþ§¢Vq)ÕúKdb£9Õ×QvãF¤§CT3TN†ì•€p%úïbã>¢:F:„ñã ‘FÆ¥ìªU(ªóæ_;'eA®4í‘™!ý‘“!ûe½§H\ûlæâ‚  ’H7Æ¥ì²e°¶®=0'CæèZæêÕØwž2ꇭ£rÆâDž¯ýÞôt„ÓIÎèÚ²*8 kˆұ©¹†µeÀÖ­ C\$Ý·^2µÝã$3æk³±jaÀâÉAE2'Nà7 T‘¯0Be§OǤIÈÏ€Ècžî>%.Ïx)%£‰ù`Í=7o…F-°e ú÷‡ÌÈî1]à öÞ/ÂÞûÅ`4LY†À`Ê2S–!0˜² Á”eŒæR¶ýp´Pïø«ÑÊḔƒm_áaÝo ù÷‚÷¦pêDi-û†»ô wéÛÃj@pûVÊ€§Ö«û̬ý°‘QA¡ÃÌ–/Ôé¿Qe;Oõú÷ÓZCýõT–…aSråW'¦ã°¡|ÈSÌëŽ?3š.yŒã([†]Û0á0îF¡;‡mkð°öÓ.çH«Ó~y¤eʦÄ3QOÎD¥E­®ô›áiXLcºéK#ëÛi$p³üÅ{î·7oÈLä§«"q{0Ö³âkÞi,IAÇ•£-1w>[ÒŒ¬(›ºáá÷ |{Äcÿüp›#Ð.þµÑé˜Ó™Ùsª¶—F¹Ñ"pB…Örø›‘Ê‘Še@.CÒ¥{Üî±Î3•P¶óT¯nËßé0ç‚?Ûíøùhÿ%‰ïÿÐ~¤g¯¡]º,ZÐ~XWŸ )Õ² wÐ;¬Uç^™”æ/(¯ˆð‘¸^% ‡¿Gð›°*_E>–}ˆY_ÁU뉮×pÈváúK«ˆæVVˆ·–bþY¤¤âÖwØ8·T±oâ½?pj=Æ}‰Pgüó4íÿécR9[‰å¹xe7íŸtp9Çt0­\b1ÜÀ@áür<œŽÏ+•8£ ÓÉxI4wç]ÆÅ$|:={b؇Pª‘Ys9_hšÍ+í,´ž-«MÏüdé?#ËIR9D¢rµ”$g³æl5"ëÂUÚ[¤èš}vHjo‚HÕab¦›´rJÛ¼ÑCR}×\‡<‹µîj ñ„‡³^ÀüÛX÷6$µ&’À[Žø¬&/MÕâ›"˜u¾³pÒÞÏkøp2D#Vi›äøgRÁ;ƒÊª÷9âJÕd&5Ò.“j$ÏÜ…¹Ê±œ„¯˜RL"ôlE‘ R ÊRÏ#þ2º:„¼|œAöi|JÔ°xiišû(kÓ 7±.<5âþ¢Z?àÜG~ÍV?gYÒÚVÿ¤*­(ñw·¼Þ)]lµ&*5½WPäÉ”}òàÛX·¨ÇxÉÍßRŸuŠ+ÕQr„Øâf´ù…EÈÍEî# ±ÅÚ«ø8 Àßùèîõ²ŠÐÜÊJ}ðÇϸ2ž-á僙; ¨å˜%fÆüdd.Н:úšê#ºxIZ¡·Ârß¿Äá3óåZ‡ÅÇŸôNvLÙg!õKþä=nCXøðÁ;•O],5} ˆ®—WDÛ¾¸Zu-e†±ýq<ý«(¾…;¾èeßÄÉ«LçCÕ}ïi³è“#¼užqH9µÓññ±+©Xcö™pÊH͉#ñÝU<ºÿdž¼º÷¾žÑùPy}¦bë讎À®l{/©"š»-Ûh¤~)NrMËå¼uíc “‚nçöc¾>Ç~òå‘H-æ½Ò—lÎoнZ²|7 I9pÑ5Zœø|àËò:Ê2šÖÅ›Áh2˜² Á”e ¦,C`0eƒ)ËLY†À`Ê2S–!0˜² Á”e ¦,C`0eƒ)ËLY†À`Ê2S–!0˜² Á”e ¦,C`0eƒ)ËLY†À`Ê2S–!0˜² Á”e ¦,C`0eƒ)Ëƨ숀ƒ¿ùïÞâf¬ÿ&ª—}?»¦§˜ؼºå‰½N†ŽÓ0x ·ã{ϧ…2 âØ1CªƒÑ)ûûï˜?*xúþÝåaœ¥¡C5€-k¼ßàQªð |ºí¯Ì4“çÎe<¬^äú€Ci‰@P–/GI‰¡3ÕÄèþY¡€Z ¹\¨‰\T 13×Hûbœ‚\©J)ÚúµÍîÍÅk×v›<&F¶Ç×QöðaC.¯107K6í•%jÇ÷8I$TË×w,?x+ÈP‘ÄÁß\äÖêÕ‹üw|ß®¬¬Û;ï`Ëœ:…üÃÐÉ´0®£¬ŸöïG›6Ю}Ûüü<±DˆR’÷–H:àsHIºïîÕãj¼ “çm'_ñð §çpƯ±KK=ïæÙ9õÑ-¢ŠwØ……aÝ:Œ”æ«Æ¸^ï1iÌÌ*>_ˆŒÎÉÉ-~õUñÙS¿‰ÅÏš×øòËÒÙ³Éå5^evýºÉâÅtäÈIθß=¢Ñ`Å Z±âè„ š«W+”íÕ ÉÉhßÞ°Ñj`\GY}¤§ÃÙÙÐ! Ï#;ŽÂi“_¸€E‹ƒ#°v-‘Ÿû—ö¯†b\mY[·â7› ……X±ÙÙBòuÅ ¼÷^ÅUvf&–.EY™|;'NàìYà믱q#Äb#òF¨ì„ psCTÌ›‡{÷ „Ó@5ó磸qq0i²³¡6êlm–.Ž{HI™†GYYÅ GãA £ £;Ê2φ)ËLY†À`Ê2S–!0˜² Q_e) ½Üqª¨“*°í+“zºÑÉÂzLšC½éXaÏ F:з Ï›¬”–´¡%ןµÆôÔöm* " íKžoR‚‚HM ñ¤&â3©K jõ>)ž© K§3ž‚¶¦ÕñD5·ùƒo©ãýñ^Î6OýlèL‘šî\¡<µî9t»QЏ}–nÜ¡ÿq ïUOðœ’5DYGš3…Ú¶"G/Zv†4DÄÓMÔÉ…ìÉ»/N#âé¯$ùu¦°á´ê­ÊÏ#èï’:—/Ö‰þ1“Ý©E+Úp™>F^öäÔ‹¢óu+›²ú»¹µ£o®¯¡}ÓÈäDýæÐÎéZk¬*·š6÷¢ˆÓDDêT µ¦M©µKnGNVäãÓŒ¥#ñj+[µÍÝÈÍ¢Kšu›«S(Äœ6¥åS?G:R@ÄÓßëÈߎ¼ÛÒ˜9äÓŽn•V,pá, t'Kgúèi´#驈 idMeU ÔÕ.•èU±ʆŠéÕ-TF”{š|¼(²ˆÊîR°ýpHCgæ“Ã0ÊÔèÝãuNÌgR¨„Æì$%O7V’Ô–¾¹A¼š¶ ¾¿’¦Ž²ªêÛŽ?!"Ê;G­ÛÑR"- ¤ÏïÖ^c54‰¶¥G“‡ ½A|ɧ }u4•¥ór¤Oï6cétÅ#-ô& {²±¥.¯SPÕ6?JVšÛ¬Û<þ'²v§‹ÅÕÊ–ÅQ°ýúˆHC'ß%ηBÙP þ•ʈ’·‘cwz¤~~ETPGY*¡Ù­*kS ¸üÙàÝQ6Ý1LŠ“©!çˆ:N×§Ð;»¾‰Ev˜ò*¤Z†ÁÁ¯µ'F§PdÇ£îÃù¼Ë¸˜„OÇ gO ûJ52ëÑhÓâ g Ò'xÜ—îãÌB¬yç‹*J×Ï Y(]x2Ì;…¬ d'bfîJ12À&Äø÷­fIU‚»ÁÉ ~30ët3¯±À']0Ì!t2ZÊ*†‹ì0}d€sw¸æ!KO·„%Õ‡ÞrÄgéÿ¢w 8 þ½@uNÌI -*†D b À£nï"˜u¾óˆŒDä<ˆCy‰ê ’AªA€ÔN–˜<¦<_A%b3+&+SÃBVcÆæ)v<ˆàæ3DV7œYåû$AEI›%•9¾¸ŒŒH®þt%­úò+öòw ß =¼ƒéž²Æ•ñÔÉŸbJêUG_'¹%$2'‡pº[FDô4ŠúP²ž»TÿË/¡SG=B+6Šx:ô½u„øf U‘ÇÓ¦´˜x"â)v%y¿ME œýÅKúßòôK€ï¦!)GÏhrzàó h#6-F¯ÂùylÖ~¾@CÿcâÅKʺx3ÆËQ–ñÃÿî½Ný»¨7“IEND®B`‚qcustomplot/documentation/html/ssStar.png0000644000175000017500000000032412236016575021130 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+vIDAT8Õ’1 €0 Eߪ¨'ê¼ÿD{ˆv°PÄÆnýPš!ïóI#hïS'S¯^ø¤28€ ˜=&Äò§G xàÚ$ýCZÏe¦±5|·¿ÃšÈΤ©gÚS· À L»*{.¸V×%¤ n†!E=ŸÙ7Ã8.K@äO/ ÉÁþ¢û‹–xýd2ùøøø#Ki&''?ôáGìvû-¬Iàù)r>Øívˆùs677…fâó-Ø_´`Ñ‚ýE ö-ß÷7˜L&‰Db2™Ö××¹Cf³Y*•F¿ßÏ ‚ B*•ŽŒŒÜÜÜÔ7¦®L&£(Êçó}*npyÞ%Ãn·å~‰D4M<§iúèèH£Ñ„ÃavH«ÕF£ÑR©”J¥¦§§™8S«\.///Ö7¦.MÓ±XÌ`0ø|¾OÅ߃¹Ÿñòú_ôw|||gg‡ínoo±C»»»Â)líR©$“ɾ(æ¶KKK P(2™ Ïd2J¥2›Í¦Ó鉉‰ööv‹Åryy)L‡)Šâf&B¯×G"øñ=¢¨ >ôW©Tær9¶›Ëå …è÷a „•J…»ë‹ym€ËåJ§Ó¹¹9¯×ËÄ=Ëå‚:¿ß_.—¬V«0U>ŸokkãªÕj‰D¢¯¯O(Ô­¿r¹\tèW%‰dhhèêêêS±° ÈçóLûööV­VW«Õ··7µZ}ww!T©Tì$IR˜Šëo4µX,‰ÐÒÒ"‹ ê êï7ßÌfóÙÙÛ===¥(Ši œŸŸ‹Î‚V*•ëëëáááúb’$kµàõõ•ïììdE †P( … ƒÕjeò???3ÆLçqqqa2™˜öìì¬×ë- 4M‹Š?| žß_Ü¿áp¸§§çøø¸X,žœœètºýý}fèððP§ÓÅb±———T*533#Ü,¿Æ`0X*•Ün7àì_îÜ­­-›Íf³ÙB¡q:N§3N?<<8î¬b±ǹ¿o*•*‘HÐ4½°°Àf–Ëå÷÷÷uuhäù!ôûý½½½$IÖÖÖ¸C@ ¿¿¿µµ•¹rqŸSˆ¨xooO­Vwttx<žßù[­VµZ­V«}g"ÙlvjjJ¡Pèõú`0ÈÎH¥R«ÕºººÊ]WWWww÷ââ"›ÙívËår¦+*¨Cƒýe™ŸŸ- 4«ùõ—ÿ~ý¬¬¬ü}’fÿ?F ö-Ø_´`Ñ‚ýE ö-"÷³§§§`0øß/åÿN2™‰òîÃøû‡¿„ç'ñ÷“(Áç/Z°¿hÁþ¢û‹–ë¾u{üº÷IEND®B`‚qcustomplot/documentation/html/files.html0000644000175000017500000003142612236016575021142 0ustar dermanudermanu File List
File List
Here is a list of all documented files with brief descriptions:
[detail level 123]
\-src
 o-items
 |o*item-bracket.h
 |o*item-curve.h
 |o*item-ellipse.h
 |o*item-line.h
 |o*item-pixmap.h
 |o*item-rect.h
 |o*item-straightline.h
 |o*item-text.h
 |\*item-tracer.h
 o-layoutelements
 |o*layoutelement-axisrect.h
 |o*layoutelement-legend.h
 |\*layoutelement-plottitle.h
 o-plottables
 |o*plottable-bars.h
 |o*plottable-curve.h
 |o*plottable-graph.h
 |\*plottable-statisticalbox.h
 o*axis.h
 o*core.cpp
 o*core.h
 o*global.h
 o*item.h
 o*layer.h
 o*layout.h
 o*lineending.h
 o*painter.h
 o*plottable.h
 o*qcp.h
 \*range.h
qcustomplot/documentation/html/bc_s.png0000644000175000017500000000125012236016574020555 0ustar dermanudermanu‰PNG  IHDR /ð9ÐoIDATxíMLAÇßìN»»¥ívKùPJik±R5^ŒChÂŃ!Dzƒ *U4VƒbÄD1~`8xà@ˆ^¿?ð𤡸Ý@јÝná`JLLÝØ¦ƒÜXi v«9ê)·}aV±&Ò0)›¼ð(‰zÛküNcFPÛù'@é¨KZK%!13§5£}Ý€ÒdÀã°’>´Åç´çhï¹G…ÉZ ïz×Ú—Éi£“ì–º=…@O¹«È‚1Ó¯¦3ãF«[ºä’d²¾JÒã`|^3˜Ý\›¿¡]²ó•'fçÓùyˆÄîçâÙ@¥Cos˧d:?$lhûnÝ× nm\†$cÔL6Ñý »Ì´x@N¦oPÀ®Î‘òÕ”€GÔ÷>9¹¨Q@ã±á“.‡qŠÜ´¼°Ø ”PCt(á«yŒQ$±°hÔNý8¤¥Ë MNjÿ$þßþŲo_ƒsLIEND®B`‚qcustomplot/documentation/html/qt.css0000644000175000017500000002155512236016574020311 0ustar dermanudermanu/*************************************************************************** ** ** ** Doxygen Style Sheet for QCustomPlot documentation ** ** Copyright (C) by Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** ** ****************************************************************************/ body { font: 14px/1.2 "Open Sans", Arial, Helvetica, sans-serif; } p { margin-left: 0.5em; } body { background: none repeat scroll 0 0 #FFFFFF; color: #000000; } a:link { color: #00732F; text-decoration: none; } a:hover { color: #4C0033; text-decoration: underline; } table { border-collapse: collapse; width: 100%; } table.params tbody tr td.paramname { padding-right: 1em; } table.params tbody tr td { padding-bottom: 0.4em; } table.memberdecls { background-color: #F6F6F6; border: 1px solid #E6E6E6; border-collapse: separate; border-radius: 7px 7px 7px 7px; font-size: 12px; max-width: 1400px; padding: 0 10px 0 0; margin-bottom: 15px; } table.memberdecls td { padding: 2px 0; } div.image { text-align: center; } div.title { font-size: 160%; font-weight: bold; text-align: center; } div.memdoc dl dd table { background-color: #F6F6F6; border: 1px solid #E6E6E6; border-collapse: collapse; font-size: 90%; } div.memdoc dl dd table tbody tr td { padding: 0.25em 0; vertical-align: middle; } div.memdoc dl dd table tbody tr td em { font-family: monospace; font-style: normal; padding-left: 1em; } div.memdoc dl dd table.params tbody tr td em { font-family: Arial,Geneva,Helvetica,sans-serif; font-style: italic; padding-left: 0; } div.memdoc dl dd table tbody tr td p { margin: 0; } div.memdoc dl dd table tbody tr td p code { margin-right: 2em; } h1 { font-size: 120%; margin: 1.6em 0; } h2 { font-size: 110%; margin: 1em 0; } h3 { font-size: 100%; } h3.version { font-size: 90%; text-align: center; } a.headerLink { font-size: 14px; font-weight: bold; } div.header { margin: 1em 0; vertical-align: middle; } div.header img { border: medium none; margin: 0 1em 0 6px; vertical-align: middle; } div.footer { font-size: 80%; margin-top: 4em; text-align: right; } hr { -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: #A0A0A0 -moz-use-text-color -moz-use-text-color; border-image: none; border-right: medium none; border-style: solid none none; border-width: 1px medium medium; height: 0; margin: 1.8em 0 1.6em; } table h2 { margin: 1.3em 0 0.8em; padding: 1.3em 0 0; } div.navpath { font-size: 160%; font-weight: 700; margin: 0 0 0.8em; text-align: center; } div.navpath:after { content: " Class Reference"; } div.navpath + div.contents > h1 { display: none; } div.contents > p > code { background: none repeat scroll 0 0 #F1F1F1; border: 1px solid #E7E7E7; color: #000000; display: block; padding: 0.2em; } td.memItemLeft, td.memItemRight, td.memTemplItemLeft, td.memTemplItemRight, td.memTemplParams { border: medium none; margin: 4px; padding: 1px 0 0 8px; } td.memItemLeft, td.memTemplItemLeft, td.memTemplParams { white-space: nowrap; } td.memItemLeft, td.memTemplItemLeft { width: 180px; } td.memItemRight .el { font-weight: 700; } /* hide brief method descriptions in table of methods at top of class pages */ td.mdescLeft, td.mdescRight { display: none; } div.memitem { margin: 0 0 2em; padding: 0; } div.memproto { background-color: #F6F6F6; border-color: #E6E6E6; border-radius: 7px 7px 7px 7px; border-style: solid; border-width: 1px; font: bold 14px/1.2 Arial,FreeSans,sans-serif; padding: 3px 5px; } div.memdoc { } table.memname { display: block; } table.memname * { display: inline; } table.memname tr + tr { white-space: nowrap; } table.memname td { white-space: nowrap; } td.paramname code { font: inherit; } .memtemplate { color: #606060; font-size: 80%; font-weight: 400; margin-left: 3px; } .memnav { background-color: #E8EEF2; border: 1px solid #84B0C7; margin: 2px 15px 2px 2px; padding: 2px; text-align: center; } tr.memlist td { background-color: #EEEEEE; border-color: #FFFFFF; border-style: solid; border-width: 4px 2px; padding: 0.1em 0.3em; } tr[bgcolor="#f0f0f0"] td { background-color: #EEEEEE; border-color: #FFFFFF; border-style: solid; border-width: 4px 2px; padding: 0.1em 0.3em; } td.indexkey { font-weight: 700; padding: 1em 0.25em 0.2em 0; text-align: right; vertical-align: top; width: 180px; } td.indexvalue { padding: 1em 0 0.2em 0.25em; text-align: left; vertical-align: top; } tr + tr td.indexkey { padding-top: 0.2em; } tr + tr td.indexvalue { padding-top: 0.2em; } td.mlabels-right { text-align: right; } span.mlabel { margin-left: 1em; } div.tabs ul { display: block; list-style-type: none; margin: 0; padding: 0; } div.tabs li { display: none; margin: 0; padding: 0; } div.tabs li.current { display: block; font-size: 160%; font-weight: 700; margin: 0; text-align: center; } div.tabs li.current a { color: #000000; } div.tabs + div.contents { visibility: hidden; } div.tabs + div.contents > ul { list-style-type: none; margin: 0; padding: 0; visibility: visible; } div.tabs + div.contents > ul li { font-weight: 700; margin: 0.1em 0; padding: 0 0 0 2em; text-indent: -2em; } div.tabs + div.contents > ul a { font-weight: 400; } div.tabs + div.contents h3 { display: none; } table.doxtable { width: auto; } table.doxtable th { -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; background-color: #666666; border-color: #666666 #666666 -moz-use-text-color; border-image: none; border-style: solid solid hidden; border-width: 1px 1px medium; color: #FFFFFF; padding: 4px 4px 5px; } table.doxtable td { background-color: #F6F6F6; border: 1px solid #E6E6E6; border-collapse: collapse; font-size: 90%; } table.doxtable td + td { padding: 2px 1em 3px; text-align: left; } table.doxtable td + td + td { padding: 2px 2px 3px; text-align: left; } dl.see { } dt { font-weight: 700; } div.multicol { -moz-column-count: 3; -moz-column-gap: 1em; } p.startli, p.startdd, p.starttd { margin-top: 2px; } p.endli { margin-bottom: 0; } p.enddd { margin-bottom: 4px; } p.endtd { margin-bottom: 2px; } caption { font-weight: 700; } span.legend { font-size: 70%; text-align: center; } div.qindex, div.navtab { background-color: #E8EEF2; border: 1px solid #84B0C7; margin: 2px; padding: 2px; text-align: center; } div.qindex { line-height: 140%; width: 100%; } div.navtab { margin-right: 15px; } a.qindex { font-weight: 700; } a.qindexHL { background-color: #6666CC; border: 1px double #9295C2; color: #FFFFFF; font-weight: 700; } .contents a.qindexHL:visited { color: #FFFFFF; } a.code { color: #3030F0; } a.codeRef { color: #3030F0; } dl.el { margin-left: -1cm; } .fragment { background-color: #F5F5F5; border: 1px solid #CCCCCC; font-family: monospace,fixed; font-size: 9pt; line-height: 125%; margin: 4px 8px 4px 2px; overflow: auto; padding: 4px 16px; word-wrap: break-word; } pre.fragment { background-color: #F5F5F5; border: 1px solid #CCCCCC; font-size: 9pt; line-height: 125%; margin: 4px 8px 4px 2px; overflow: auto; padding: 4px 6px; word-wrap: break-word; } div.ah { background-color: #000000; color: #FFFFFF; font-weight: 700; margin-bottom: 3px; margin-top: 3px; } div.groupHeader { font-weight: 700; margin-bottom: 6px; margin-left: 16px; margin-top: 12px; } div.groupText { font-style: italic; margin-left: 16px; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl { vertical-align: middle; } div.center { margin-bottom: 0; margin-top: 0; padding: 0; text-align: center; } div.center img { border: 0 none; } span.keyword { color: #008000; } span.keywordtype { color: #604020; } span.keywordflow { color: #E08000; } span.comment { color: #800000; } span.preprocessor { color: #806020; } span.stringliteral { color: #002080; } span.charliteral { color: #008080; } span.vhdldigit { color: #FF00FF; } span.vhdlchar { color: #000000; } span.vhdlkeyword { color: #700070; } span.vhdllogic { color: #FF0000; } .search { color: #003399; font-weight: 700; } form.search { margin-bottom: 0; margin-top: 0; } input.search { background-color: #E8EEF2; color: #000080; font-size: 75%; font-weight: 400; } td.tiny { font-size: 75%; } .dirtab { border: 1px solid #84B0C7; border-collapse: collapse; padding: 4px; } th.dirtab { background: none repeat scroll 0 0 #E8EEF2; font-weight: 700; } qcustomplot/documentation/html/classQCPPainter.html0000644000175000017500000004714612236016575023042 0ustar dermanudermanu QCPPainter Class Reference
QCPPainter Class Reference

QPainter subclass used internally. More...

Public Types

enum  PainterMode

Public Functions

 QCPPainter ()
 QCPPainter (QPaintDevice *device)
bool antialiasing () const
PainterModes modes () const
void setAntialiasing (bool enabled)
void setMode (PainterMode mode, bool enabled=true)
void setModes (PainterModes modes)
bool begin (QPaintDevice *device)
void setPen (const QPen &pen)
void setPen (const QColor &color)
void setPen (Qt::PenStyle penStyle)
void drawLine (const QLineF &line)
void drawLine (const QPointF &p1, const QPointF &p2)
void save ()
void restore ()
void makeNonCosmetic ()

Detailed Description

QPainter subclass used internally.

This internal class is used to provide some extended functionality e.g. for tweaking position consistency between antialiased and non-antialiased painting. Further it provides workarounds for QPainter quirks.

Warning
This class intentionally hides non-virtual functions of QPainter, e.g. setPen, save and restore. So while it is possible to pass a QCPPainter instance to a function that expects a QPainter pointer, some of the workarounds and tweaks will be unavailable to the function (because it will call the base class implementations of the functions actually hidden by QCPPainter).

Member Enumeration Documentation

Defines special modes the painter can operate in. They disable or enable certain subsets of features/fixes/workarounds, depending on whether they are wanted on the respective output device.

Enumerator:
pmDefault 

0x00 Default mode for painting on screen devices

pmVectorized 

0x01 Mode for vectorized painting (e.g. PDF export). For example, this prevents some antialiasing fixes.

pmNoCaching 

0x02 Mode for all sorts of exports (e.g. PNG, PDF,...). For example, this prevents using cached pixmap labels

pmNonCosmetic 

0x04 Turns pen widths 0 to 1, i.e. disables cosmetic pens. (A cosmetic pen is always drawn with width 1 pixel in the vector image/pdf viewer, independent of zoom.)

Constructor & Destructor Documentation

QCPPainter::QCPPainter ( )

Creates a new QCPPainter instance and sets default values

QCPPainter::QCPPainter ( QPaintDevice *  device)

Creates a new QCPPainter instance on the specified paint device and sets default values. Just like the analogous QPainter constructor, begins painting on device immediately.

Like begin, this method sets QPainter::NonCosmeticDefaultPen in Qt versions before Qt5.

Member Function Documentation

void QCPPainter::setAntialiasing ( bool  enabled)

Sets whether painting uses antialiasing or not. Use this method instead of using setRenderHint with QPainter::Antialiasing directly, as it allows QCPPainter to regain pixel exactness between antialiased and non-antialiased painting (Since Qt < 5.0 uses slightly different coordinate systems for AA/Non-AA painting).

void QCPPainter::setMode ( QCPPainter::PainterMode  mode,
bool  enabled = true 
)

This is an overloaded function.

Sets the mode of the painter. This controls whether the painter shall adjust its fixes/workarounds optimized for certain output devices.

void QCPPainter::setModes ( PainterModes  modes)

Sets the mode of the painter. This controls whether the painter shall adjust its fixes/workarounds optimized for certain output devices.

bool QCPPainter::begin ( QPaintDevice *  device)

Sets the QPainter::NonCosmeticDefaultPen in Qt versions before Qt5 after beginning painting on device. This is necessary to get cosmetic pen consistency across Qt versions, because since Qt5, all pens are non-cosmetic by default, and in Qt4 this render hint must be set to get that behaviour.

The Constructor QCPPainter(QPaintDevice *device) which directly starts painting also sets the render hint as appropriate.

Note
this function hides the non-virtual base class implementation.
void QCPPainter::setPen ( const QPen &  pen)

Sets the pen of the painter and applies certain fixes to it, depending on the mode of this QCPPainter.

Note
this function hides the non-virtual base class implementation.
void QCPPainter::setPen ( const QColor &  color)

This is an overloaded function.

Sets the pen (by color) of the painter and applies certain fixes to it, depending on the mode of this QCPPainter.

Note
this function hides the non-virtual base class implementation.
void QCPPainter::setPen ( Qt::PenStyle  penStyle)

This is an overloaded function.

Sets the pen (by style) of the painter and applies certain fixes to it, depending on the mode of this QCPPainter.

Note
this function hides the non-virtual base class implementation.
void QCPPainter::drawLine ( const QLineF &  line)

This is an overloaded function.

Works around a Qt bug introduced with Qt 4.8 which makes drawing QLineF unpredictable when antialiasing is disabled. Thus when antialiasing is disabled, it rounds the line to integer coordinates and then passes it to the original drawLine.

Note
this function hides the non-virtual base class implementation.
void QCPPainter::save ( )

Saves the painter (see QPainter::save). Since QCPPainter adds some new internal state to QPainter, the save/restore functions are reimplemented to also save/restore those members.

Note
this function hides the non-virtual base class implementation.
See Also
restore
void QCPPainter::restore ( )

Restores the painter (see QPainter::restore). Since QCPPainter adds some new internal state to QPainter, the save/restore functions are reimplemented to also save/restore those members.

Note
this function hides the non-virtual base class implementation.
See Also
save
void QCPPainter::makeNonCosmetic ( )

Changes the pen width to 1 if it currently is 0. This function is called in the setPen overrides when the pmNonCosmetic mode is set.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/bdwn.png0000644000175000017500000000022312236016574020600 0ustar dermanudermanu‰PNG  IHDR5åZIDATxíË € DŸP–1ñlžmÀ r±j².e è†D[ØÉ¾ÙÏÔ¼µ¦ã´Þ|陣6€Všë3´Å?Ls'(}¬>+ žKó÷¥¿ch`‚ ^׃ÞnIEND®B`‚qcustomplot/documentation/html/classQCPItemText.html0000644000175000017500000030102712236016575023172 0ustar dermanudermanu QCPItemText Class Reference

A text label. More...

Inheritance diagram for QCPItemText:
Inheritance graph

Public Functions

 QCPItemText (QCustomPlot *parentPlot)
QColor color () const
QColor selectedColor () const
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
QFont font () const
QFont selectedFont () const
QString text () const
Qt::Alignment positionAlignment () const
Qt::Alignment textAlignment () const
double rotation () const
QMargins padding () const
void setColor (const QColor &color)
void setSelectedColor (const QColor &color)
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
void setFont (const QFont &font)
void setSelectedFont (const QFont &font)
void setText (const QString &text)
void setPositionAlignment (Qt::Alignment alignment)
void setTextAlignment (Qt::Alignment alignment)
void setRotation (double degrees)
void setPadding (const QMargins &padding)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const position
QCPItemAnchor *const topLeft
QCPItemAnchor *const top
QCPItemAnchor *const topRight
QCPItemAnchor *const right
QCPItemAnchor *const bottomRight
QCPItemAnchor *const bottom
QCPItemAnchor *const bottomLeft
QCPItemAnchor *const left

Signals

void selectionChanged (bool selected)

Protected Types

enum  AnchorIndex

Protected Functions

virtual void draw (QCPPainter *painter)
virtual QPointF anchorPixelPoint (int anchorId) const
QPointF getTextDrawPoint (const QPointF &pos, const QRectF &rect, Qt::Alignment positionAlignment) const
QFont mainFont () const
QColor mainColor () const
QPen mainPen () const
QBrush mainBrush () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A text label.

QCPItemText.png
Text example. Blue dotted circles are anchors, solid blue discs are positions.

Its position is defined by the member position and the setting of setPositionAlignment. The latter controls which part of the text rect shall be aligned with position.

The text alignment itself (i.e. left, center, right) can be controlled with setTextAlignment.

The text may be rotated around the position point with setRotation.

Constructor & Destructor Documentation

QCPItemText::QCPItemText ( QCustomPlot parentPlot)

Creates a text item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemText::setColor ( const QColor &  color)

Sets the color of the text.

void QCPItemText::setSelectedColor ( const QColor &  color)

Sets the color of the text that will be used when the item is selected.

void QCPItemText::setPen ( const QPen &  pen)

Sets the pen that will be used do draw a rectangular border around the text. To disable the border, set pen to Qt::NoPen.

See Also
setSelectedPen, setBrush, setPadding
void QCPItemText::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used do draw a rectangular border around the text, when the item is selected. To disable the border, set pen to Qt::NoPen.

See Also
setPen
void QCPItemText::setBrush ( const QBrush &  brush)

Sets the brush that will be used do fill the background of the text. To disable the background, set brush to Qt::NoBrush.

See Also
setSelectedBrush, setPen, setPadding
void QCPItemText::setSelectedBrush ( const QBrush &  brush)

Sets the brush that will be used do fill the background of the text, when the item is selected. To disable the background, set brush to Qt::NoBrush.

See Also
setBrush
void QCPItemText::setFont ( const QFont &  font)

Sets the font of the text.

See Also
setSelectedFont, setColor
void QCPItemText::setSelectedFont ( const QFont &  font)

Sets the font of the text that will be used when the item is selected.

See Also
setFont
void QCPItemText::setText ( const QString &  text)

Sets the text that will be displayed. Multi-line texts are supported by inserting a line break character, e.g. '
'.

See Also
setFont, setColor, setTextAlignment
void QCPItemText::setPositionAlignment ( Qt::Alignment  alignment)

Sets which point of the text rect shall be aligned with position.

Examples:

  • If alignment is Qt::AlignHCenter | Qt::AlignTop, the text will be positioned such that the top of the text rect will be horizontally centered on position.
  • If alignment is Qt::AlignLeft | Qt::AlignBottom, position will indicate the bottom left corner of the text rect.

If you want to control the alignment of (multi-lined) text within the text rect, use setTextAlignment.

void QCPItemText::setTextAlignment ( Qt::Alignment  alignment)

Controls how (multi-lined) text is aligned inside the text rect (typically Qt::AlignLeft, Qt::AlignCenter or Qt::AlignRight).

void QCPItemText::setRotation ( double  degrees)

Sets the angle in degrees by which the text (and the text rectangle, if visible) will be rotated around position.

void QCPItemText::setPadding ( const QMargins &  padding)

Sets the distance between the border of the text rectangle and the text. The appearance (and visibility) of the text rectangle can be controlled with setPen and setBrush.

double QCPItemText::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemText::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

QPointF QCPItemText::anchorPixelPoint ( int  anchorId) const
protectedvirtual

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented from QCPAbstractItem.

QPointF QCPItemText::getTextDrawPoint ( const QPointF &  pos,
const QRectF &  rect,
Qt::Alignment  positionAlignment 
) const
protected

Returns the point that must be given to the QPainter::drawText function (which expects the top left point of the text rect), according to the position pos, the text bounding box rect and the requested positionAlignment.

For example, if positionAlignment is Qt::AlignLeft | Qt::AlignBottom the returned point will be shifted upward by the height of rect, starting from pos. So if the text is finally drawn at that point, the lower left corner of the resulting text rect is at pos.

QFont QCPItemText::mainFont ( ) const
protected

Returns the font that should be used for drawing text. Returns mFont when the item is not selected and mSelectedFont when it is.

QColor QCPItemText::mainColor ( ) const
protected

Returns the color that should be used for drawing text. Returns mColor when the item is not selected and mSelectedColor when it is.

QPen QCPItemText::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

QBrush QCPItemText::mainBrush ( ) const
protected

Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item is not selected and mSelectedBrush when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/doxygen.png0000644000175000017500000000730312236016574021331 0ustar dermanudermanu‰PNG  IHDRh ;ˆØŠIDATxí]y\•Õº~45%TL Q”PE"q–Û11±]8a„w*©¨(*â" ˆzÀè`8 ¨‰¢mÅ,’òà„p$%”œBó(8k†Ü÷ýÜû6lòö»§k÷Ç÷[ÏÞß·Ö;?k½ëßÕÕÕPxÑêÏ't´ÏùÈ€zÀÇÅ3_€Q4€g@œmÿ ¾ò‰âci‰ôçÿ{ ðÇð¬ù~½Á€4:õHcÂü ðŸÁ³„ª'ÕPÆæ P7^h،♠zb„cóP¨„ 3‚† Ò}çÿO²qÁºNkÝTÛ(É?d Ç~z<’«4Óǡ؞Þv­zµÙ¦õ¬ZâdÛ,Ë6Ók±]Fz< ¾ZçƒsÕ?ìƒsUø2SÉåwê1”c`[ì—}%ѽ.Ô¼6‚BLZ˜û!F8[ ¹…×TéÛ— »Þ#gó]å:vžu?‡vèbÙR˜?wùŽŸ¾ÊÐgbÑÉÌÕ$kF~Ê;عÆ•¢ïX®?ÉèlÆÙôõà»Nʪ¼­,ìHC§gAz•ÆlÓº­gÑú ]œjÎñåM…3ÓÚæoÒ³'=‘$Ò÷f}G•ŸS_‡öèco.Êȹ :ó£ Ãds®Ù:1=¼{ƒå9?÷ý…zqÛvîÓi‰D’p¿Ë šmÙíoÛâýaÖüEqÒµwÌ}¿~{òj€ç{ôºŸFNëí[ëOq·ÇOSúXO]°>‚‚muæÄ¾e¤“5Ë{¨JÕ¯£(›´«bÂçû’ÍlÓÅ}žïú`éUÞy„ac§Á†ÔCºŠóAkl‘±y¥†ô¢ùôs÷Aø¬7ÄõôoJ±äÄ ù.¥Be. Z¬Ð×ÇÈöå¹­ù'Ù-PëìŠyF.ž‚žÝÚ€lp&.êˆð•jò7’re’z19»ã§HGíø%œüq°ïüz׈c¬_k_")ŸHJnÐÑ~ˆÐÖ˜á´äÕ5 µÁq€ÿ5#¸·îà¶+9T‘‚ ðŽ÷Rܸrz“Ï´Ì =Ï…{ðáO£Èf ¡Íwg|Ž’Ü/¢Þ$÷¯¢ëðúÀ;¿à¨Ö™âÒÆ­]¯ÜW"Þ/< ‡÷DÏà°½üB}çyIEc^—ƒ=[V“Ýh²ëMä$l];Kû®¸ýr¦È*Åò ÿtÒõ$]•MŸ÷´;×I€1èó!‚œõ¸M õ¨(fÌæ<ÁÎÎò5~z¿ù¶ž mÌêÕ >–âÚ©âëˆIÎÞçz;ãu[i·eç^ÆÜÙÓ³NÞëF6B\}7†»+üŽÓ,Ã'a ½˜-yHY¿,‘^—ñfú~ß?Hcø¸…¸ñó{Z+4\såƒû·¯Ù·nߣð«íFÆ¡sغëû§D¾?ò<–Ævkx0ÅM±ælذÁIÓxÿd”žÜÉ÷EE»AªM«g*È£YEí7Û™^[uíý®v[wGå†=Ed¼n×¶ÆæÖÅl¡'¨pGÚk+‹æ¢À¬¨C8ªâš2 dz3H£ß ¡¨BÒûSÃÅù[wŘ ~xpçútÁæmö¤Å£¥iQæ­‰AB1ÉfÙ‰›4u¹ïìIÒ]Ë6äò%ÿ†† 1t.’NJph¬zÌ ÎR1Ž"3-"¸‡‹&ìó°1âüžìó[:‡ï„¼‘……N m–“W0®_èÜœ ×õ6ùò&»)Æìꦬýæ}¬ñ~»{múù]z½£M•ºP~^Îá:eQTÙ_*7ÕÄ9É8—·Ëï 3°¶47E•î¿u÷“SÉ»U¯ _ NíºôW¬e¸ÄNÓ|»;™¿;ŒæÅd"ȉôøòÞµõï¾®½"èÄ´ÖMM+bYµ‘_ÉæEÝüÎ]P»¹XKÐI½Þ¥oE<_¹(„EP±Œ|mÇÁ¡‘Ý,ŠÓ©ººZ±Îߺ§×kÝ,kÍMš`Äø…jzeU»æ ™Át3ÓÀ½˜6—ÒöùË·r¨¹Ñ}““wö:Χùë¼ ¿|‚TܵÉQˆKßç_ÁâÀ™œ”pÑÐóໃ¼Ydâ0!®àa –øöçW$ÃÁ‘Á$/\¬$ð 2ÞímÞLH‹Ÿ èd£HVÜ,:ò½»RÍZšJ­a„z*>‹_…NT(ù‚^SVF­U¹8ñEþôñ܈óùnd;«®8™\C]ø=Èêm¬Æ:‚´ÆbãDd=Áãßžˆ‹UU5O‹|]þð®Pèêv‰á\]2ßìÿ"yÈ[ïyʧz£g{Y«{„Ùø5©ÿ;w{N3é­nâĨw§Á¢ÍK¢Ý­ûÏ29Id¿’ì y)ìPÞò8ŒÅ©¯‰±@mPÔñwjl,6 áhWÕ˜d öà uõmÁp®.™á£Ç…twöR x­BδYcŒxg*vo  yò‘•“[¬?ÜVœ˜0ÒN¡O난~Žó’¯·h#´Hkýœ±8kÓß^Àq@]àÓ“ø,56´¯÷Í-κU»n…[>]@nîøÏœp›[œ6# €4tën¯:ŽÒþ}…—8äT9_žY$/´G’K™©ù†•(óÑ’Mø©`ŸÉdѺ;ùO‹B Ó&P{qöhJÉ+Úé–§¦l2«MïöÝ_1ÑÓ«’t¸½±l€ëØya ¦ô©«®½ÆL^¬žêñš¸ùy.¾Û½Š[ u/]½‹iS}øN>²e1™q‡jfÚ&¢©iT\=kÏ›ÀXô-.84V5ðu!TE˜ þ.ŒOH´¶4—zwTr.ï‰¦Ë xõµ·œÖ„HÆù£žÈHùg Ñhñ’T$ßyq¸zþ¨p¿´ë< q•ró÷š‰wÿÍÑð–I]´–æI²é²˜sÂ"×:Õ–bÕ¦“ÈÙL6¢9VÊÓWž§<æ;”3?ý©Mê3AV#µ±ËÞ¯‘ž K£UrÝ9!›qát¦H£Ù+6ÇV…/TS^pÃùqgLP'Ú5E ‚–ÀÞºîÄ Ën"2|Ÿ;®W»Îý"Ö¬TwÖâµtúŽO'› á+W Ã+¦âZÌ–<ÕÆ&nOÝ,IŠ£06.ÁZ.Çñúøh*INÚ’Oe½ÉgBXÐÔZóäøä9èü“hÒíDSš¥¡Ê µA¯/Ôc¸ö“`A§¯"zå|‘ €ÅŸ¨ú;HÍ#‚Î|%ÄOˆƒ«OàÌÉÐÜD ž mÜðâc–ƤÉÂqm¶uË&~÷núÒË £ÇÏ€ZÕj =«_n[‡‡÷nN§ÏÝ$_¾bE˜‚€Õ)ù8¾?6‘lú“ÍÙæÖ}#bW( œ³d-®•p&¡ý’œÖa”"9öõņÐ$’Ú›AÜ!ä;ÐÑõè{~á¹8‘ÛÞ£1ÛÓÉ0ž`²#´kÒuäNÅÖ Q¹bhæ ”8ûÓMáŽa›•¿”w±h²¢®qŠæ°(bK ‚’Z¾Ò%ÐÆémáãÖË(Éý‚ÛJ)@> þ›7% ï{y Á“¾ÆÒîohfòô>{pÿ.­_Î%±ÉèägëlZØ\B2B #™¸ÚüÒºp‚hÝšü®[¥Ü<‹#SpñÌA7’ãØHƒt4:Ÿ|g¨tÓL¶*($Æ©»ì…®ù’ó÷$;b›ÔÙ`=¶£¦M„MÌÄ5ò«·Ç¾“H·ÌH.¼žHeAîº5}r­dõ¨±)ÀT};€Q5iÖ2…O0ü…0óñÃ;óæ,Š´²µ냔}g‘£]‹7å9ˆà©_{üèîêžC>úhê{Ž .ÈìðIIð€?[Kswz6Òuíý¬;µ€ç§OåâJÉa˶zv°éd† ¤µâ‚l´é舊«Åüy¾c÷ÁèÖÍ'ràúÅ™TWÕôÓ°¡L €|ʽŒ¼ì­høBã ÝTëî'ò]Kø£ìâÏ(=¹Kx €¿ LÌ,Pý¤Êµu‡¹…׈ §Å¾÷à1Ý«Äý;¿pGDäxZYÛ kfæ6¸ùóæ7®œ®þ6·ÕoÚ¾ÔH~ò®Þ¸â 8Uø“p<ºw3¡a£ÏÑ’‘3èÏ"€bˆ-ÎܺÏ_ªÅ]+ËM©zü°s“f-êçhÇãÑýÊãôÿ5}ZQNb{Ó?å%ÿ\SUõعIÓæ}~}p[œoÔÄ„êÐMMZáNÅå@>Œ„²á6(?¡Åé âK½+ü?À%ÝÝ·/Ç1‚9áUø?B)”ÕèâÞlÈÒêÏ @=àùÄÞžk­®ÅIEND®B`‚qcustomplot/documentation/html/layoutelement-plottitle_8h_source.html0000644000175000017500000004630212236016574026722 0ustar dermanudermanu src/layoutelements/layoutelement-plottitle.h Source File
layoutelement-plottitle.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_LAYOUTELEMENT_PLOTTITLE_H
27 #define QCP_LAYOUTELEMENT_PLOTTITLE_H
28 
29 #include "../global.h"
30 #include "../layer.h"
31 #include "../layout.h"
32 
33 class QCPPainter;
34 class QCustomPlot;
35 
36 class QCP_LIB_DECL QCPPlotTitle : public QCPLayoutElement
37 {
38  Q_OBJECT
40  Q_PROPERTY(QString text READ text WRITE setText)
41  Q_PROPERTY(QFont font READ font WRITE setFont)
42  Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
43  Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
44  Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor)
45  Q_PROPERTY(bool selectable READ selectable WRITE setSelectable)
46  Q_PROPERTY(bool selected READ selected WRITE setSelected)
48 public:
49  explicit QCPPlotTitle(QCustomPlot *parentPlot);
50  explicit QCPPlotTitle(QCustomPlot *parentPlot, const QString &text);
51 
52  // getters:
53  QString text() const { return mText; }
54  QFont font() const { return mFont; }
55  QColor textColor() const { return mTextColor; }
56  QFont selectedFont() const { return mSelectedFont; }
57  QColor selectedTextColor() const { return mSelectedTextColor; }
58  bool selectable() const { return mSelectable; }
59  bool selected() const { return mSelected; }
60 
61  // setters:
62  void setText(const QString &text);
63  void setFont(const QFont &font);
64  void setTextColor(const QColor &color);
65  void setSelectedFont(const QFont &font);
66  void setSelectedTextColor(const QColor &color);
67  void setSelectable(bool selectable);
68  void setSelected(bool selected);
69 
70  // reimplemented virtual methods:
71  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
72 
73 signals:
74  void selectionChanged(bool selected);
75 
76 protected:
77  // property members:
78  QString mText;
79  QFont mFont;
80  QColor mTextColor;
81  QFont mSelectedFont;
82  QColor mSelectedTextColor;
83  QRect mTextBoundingRect;
84  bool mSelectable, mSelected;
85 
86  // reimplemented virtual methods:
87  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const;
88  virtual void draw(QCPPainter *painter);
89  virtual QSize minimumSizeHint() const;
90  virtual QSize maximumSizeHint() const;
91  // events:
92  virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged);
93  virtual void deselectEvent(bool *selectionStateChanged);
94 
95  // non-virtual methods:
96  QFont mainFont() const;
97  QColor mainTextColor() const;
98 
99 private:
100  Q_DISABLE_COPY(QCPPlotTitle)
101 };
102 
103 
104 
105 #endif // QCP_LAYOUTELEMENT_PLOTTITLE_H
qcustomplot/documentation/html/classQCPItemAnchor__inherit__graph.png0000644000175000017500000000521612236016575026502 0ustar dermanudermanu‰PNG  IHDR}p¼|è¬bKGDÿÿÿ ½§“ CIDATxœíkLËÀ§ ´ "HÔ\ÂC„ "" R“BäaŒ’*¼†ˆÊKŒHñƒcŽÀI ’„HÒP‚(/… õA®<"z¬y)-¶ìý°ž½+-K)Êœêü>˜ÙyüûßÓét[»4 ÃbÙÑÀ/ òäÈ;wH`Jðx<ØIýT„„„(K^1_ï´´´åLîgE ¨¬Ÿ×»¯¯ïÊåWâþýû*ëÑúäÈ;w8 ï_a±XËùpKò.‰ÂÃÃÙlvxx¸H$"7Õ××GDD°Ùl.—[]]W²X,‹Åf³cbb^½zETÎ),…ŽŽ‹%‹—ꇢ¹w±XœŸŸŸ˜˜X^^~êÔ©üüüÇMyyy'Nœ¨¨¨ÈÊÊêêê"F566 …B6›••µÔÜU!‰lllæL‚ š{/**Š‹‹sss344tuu½}û6ÑïîîÎ`0ÌÍÍ“““Éõôô†††È•ødÇŸ€±±±sçÎFEE½|ù’èSTT¼oß¾æææÂÂÂ={ö„„„´µµád2YKKË… ZZZ¤R)1ª°°0((ˆÃá=?|øpúôi???ò“L¹Ûû÷ï% P p8œ]»vilOsïýýý7n$7mÚÔßßO49;;Ï7P.— …B+++recc#þ/^ÈÍÍõññ¹{÷ntt4ù™!—ËA|||ff¦B¡àñx±±±¿ÿþ;ÞÚÜÜÌd27lØàììüàÁb”B¡ÇÏÍÍÅk²³³mmm+**ð‡£èÆd2KJJsrrˆžƒƒƒyyy ‹2Fæ{¾®*Šû°X¬Ý»w×ÔÔ$%%Qtkoo¿|ù²ŸŸßÙ³g‰?'€Ëå2 ooï/_¾p¹\ooïááa¼µ¦¦ÆÏÏàççW[[Ke``àããCôììì £ÓéäUîÖÝÝ}ðàACCÃÐÐPòjyìØ1“O–‚y¯,ˆMww÷öíÛñî®.;;;¢éÙ³g^^^Ê£Èó‹ ÃJJJÌÌÌæÔëëëtttÈåÙÙYÀÈÈHGG‡X,ÎÈÈÐh´‘‘<Ñ“úCM5»ŒŒŒÔ9 4Ÿï\.7;;ûéÓ§ÓÓÓ¹¹¹¡¡¡xSXXXvvö“'Od2ÙÛ·o¯\¹¢N@CCÃwïÞáå­[·Þ¸qcllL"‘\ºtIáuuuþþþXWW7_gWW×ââb™LFÓÅÅ…Ïçþü™Çã‘Õ¥£¹wÈÈÈk×®&&&FFFzzzâM[¶l‰ŠŠÊÉÉ :s挚s8œ£Gâ/tqqq†>|8!!aÇŽê ‰DþþþÄ!›Í¦ØÕÄÆÆöôôQo^ãâ⺻»÷ïßÿâÅ‹ØØXuÒPšòsŠÏç8p@Í';;»§§'++ËÐÐð;&÷žž¾víZå«Áš¯ïdâââ¾Kœ_tÈ;w8 ïp@Þá ÅÞ´øKµÚûý™uë"ôôÖÃÎbaT~FÅû¦7oÞ´´´@IQ}&ûí¹¯ï¿öîÝ;—°´´Ü¶mÛœJÞµ‚óçËþø£ÙĮ̀«ë¢Ž v:‹F+×÷/_¥¥bÀÈÈÔ£G¯`§£ Zé½¹¹w|\ X±B§¬ì ìt4A+½—•=Y±‚Ëg+*ºffä°3Z4Úç}zz¦ªª[.ŸýûPÖÐð'Ü”4@û¼×ÖþG*ýÿ×ÑÑÊ¥Fû¼—–ŠÉ…b¶¦æùÄ„bJ eÞ'&¦_*³äJ…bV$z+%ÍÐ2ï••]ø§Ødh4€o+µ-ó.¨XÊ ìáÃÞ&—?Ñ&ïý5ÞÖößÙY•o°i••ÝËÐÐ&ïBa÷|W5ŠÙ²2mZj¾ÏçÚËCCß+W2øª^*•ëééêê~ÝÛôõI$’ÉuëVÁKphëu1€¹yâÿÞ³gìD4A›Ö™Ÿ äÈ;w8 ïp@ÞြÃy‡òäÈ;w8 ïp@ÞြÃy‡òäÈ;w8 ïp@ÞြÃy‡òäÈ;w8 ïp@ÞြÃy‡òäßüÿ&>Ÿ+Íhmm•J{ag¡.^^^_È?¾5«E£§·NG‡¾p¿ <oÞûÄñx<‡%­Ÿí›…Bë;w8 ïp@ÞြÃAïEEEúúú………ä¦ââb&“I§Óíìì ðJF£Ñètº‡‡GGGQ9§ 1*ã/j¸r&KÏjæìßÉ{L•ÔÔÔXXXÔÕÕMLLÔ××[XXTUUM–––"‘hjjª¯¯ïÈ‘#DX äRéõë×]]]ɕ䂯¨Œ¯qœÄ·‹öîããsçÎâ°¬¬ÌÛÛ›h*//WùxajjÊÀÀ€\9gH$’àààU«V9;;·µµ=333MLLÖ¯__ZZš‘‘ajjjnn. )â ìܹÓÈÈÈ××wpp¯,--urr¢ÓéÖÖÖ7oޤȄˆ©2àâÅ‹«W¯¶°°¨¬¬¤6F Y’÷5kÖŒŽŽ‡£££¦¦¦*›Èa1 “Éd Î÷ÐÐЂ‚©T* ]\\ˆ©©©SSS€N§§¦¦NNN ŠøÁÁÁ)))ãããÉÉÉ{÷î%2ljjš™™ŒŠŠ¢È„(«Œƒ§499Éçóííí©C¾³wccc•Mä°}}ýÍ›7···Ï91òÙ’o”…ß¿ ï0==a˜\.'—uuu)⛘˜|üøûvf$%%¹¹¹ÅÄÄÔÖÖ’ÓS΄(«ŒCNƒÈ“š9nýºÊd2É·¾kjj"nÏäääôðáC•£0 “Édb±ØÝÝ"8†aÃÃÃxfä»Î1 €®®.¹Lî fü«W¯–””888¤¥¥………-x²i(ÿΜZPüMTRUUeeeÕÐÐ099ÙØØhmm}ïÞ=¼©ººÚÚÚº¶¶öÓ§O}}}ÊóHyB¿~ý/s¹\.—+‘H†††BCC•‡«,«Œ|þüù‰‰‰””b}ˆŽŽîíí™™yôè‘™™E&€´Î(Ç™/% À× à ìííñ›äݺu‹ÜTTTäè訧§‡ï#)2#*ÓÓÓñÑ‘‘C‡™ššÚØØðù|ꓤöŽ¿®\¹’üz˜——gkkË`0œœœˆÝÊLˆJ•qàx'8yò¤§§çøø¸úC~YõuàEA¾%)bQ ëp@ÞြÃy‡òäs÷‘­­­Pòøå˜³·Gü8Èï›´øw™µ´¾Ãy‡òäÈ;þž=; CfܬIEND®B`‚qcustomplot/documentation/html/layoutsystem-addingplottitle.png0000644000175000017500000001455412236016574025631 0ustar dermanudermanu‰PNG  IHDR,ÈݽKsBITÛáOà pHYsÄÄ•+IDATxœíÝy@SWÖðóØÃAÅ]ÁAEmÁ*jëZµ(uù´L¡ãnKk«S—Q±Z;N«Ö µ"2uªV­Š-‚ vDDÅ¢(¸°ˆÊ" K =÷ûã¡BÌÊ3/ç÷WL^î¹7äxon^Σ!€bŽÓ@ÈÜa"Ä0LB„†IˆÃ0 b&!B Ã$Dˆa,KBÁõ/¼(v~£D§–Ká%Œ´¤(Š¢|Öæˆ5h“ÔeîY½lÙ²e«wgðÔ~©Ê¿ÆUŒÜL÷Y"…ÐêZÖ¶‡š½EQ”ËŒ¾N-Ÿþ£6UVLwÀøDåÙgúüìÉë'2ã&zXjý|R—¹gí÷× ×Ù³ºhßBë·ŒL k“°Ã¬CÇô´¨Ëû}ݼµçy¥ñ‹¶/»®­qâqú,=vz†€€¼êÜ¢ˆ­ùQ‡×¾e`áÜ«›µƒÇw§~‹”€…KïέôÊ»Oݾ;¼«uã¿(»N}9­iްJõÏ;Ðãê±ê¶Bˆ$o“_ãX(“Rsj½÷^“-¢©¸¼+ò}O;°õðóéŽÔr !Düà{_å×Ì>4¹¶…NÈJ¤´÷¯é#MBß¼£¾eåJ«®ïýjB?/ú(¯þ¡ËåðåÚ¼M;X™<× 8£öJ!â‡1#èÑwš®J&.Ø¿`ÌÀží“×Úµç°u§ _´T}|ýˆ÷ŠäßVóvßÐïR*ÄÕ×¢#Þò°nïÉ?\®’)޽çÒßâöqàúNZ›\*Q|qtµ©bŠs7¶˜„’â#yªøßÉsÆá"Ék‘„ÒÒß>éôü[ÇçS¹å€5êÞ‘/_÷©Û'×pºUŸ%Wjå„Ô_™ïv.®mì_ôÎ#"±’ΩIÎvMûoí;Ò׺éÜi§ŸÉ›nØÍíÅ{ÑAõµ©bmv˜uèJFÆÕ‹‡Wtiüûu_qKHÿؼónôÃ^ᲫÕ9ÂéYÜ"Îó!²â½oÑwôßõXªA'4JÂl‘ú–›V{q¦;ÝŸ)ûî×ˉ¼ö¯­¨À%¯xškòßG}æš>t'ýFùÒͬ»Õ@!D\tþ×3YeBúÍ.©¸°¨;X(•Ò4 áÍÈÃ9©?žS}û+û·é!p&&òš œ'ü\ "Dô0>Ä™~ÊàØÇRŒÚT±ö3aÉÞéƒö6½Ã#lÓ罕>6äMª€Që¦ûr-;}]Ô–øy•IÇî6¼h§øœÖ%Èù5±‚¾uk{Ĉ] ç?”Œ£Õ.èêªS»öý–ÙœäÿUšøÎÙ° Þzøë>ôFk¯¡ï=;}ðÛÝ7rKªøB©¸¬ ä…™%â0Ï&¯ˆCèÆo§ àÊÚýŸï¢‹€óÔM«? p–r?ö_•q @PR\'ç&“ Ûä%SºÙ@×ÐEÛœÚ_ òŒãYüYCZcÔ¯%Ö&áK6mß·rígÃUlJkŠj€ãÕ…K?lÉíÒÁ@PST#UzFk“Ô<©¦o5äf¤ç6{LVSΗkK»ª=VÝÎ^ë§r7ÊÖ'|yHÔÇêœB–†õ´¡=Ø1a@ä9ßeˆëÅòfwxúu怅íóei‡>퀲¶k|kÉ$òæßëp½¸Y¹tp¨UV44oWÏQ›–}OøÒË QÅÝs1_÷´Vu˜U›N\ÖÈ@VSX,nG®Ê'µ*knGº‡¶ãNT*~º1¿³ÎïEyÕ¹åóé €º£ó–Ÿ«’4dnYGg ß²äG|)!5¿S³©laeAP/ï°¤ˆ\ÝWªe9//‹ï•ÓCss·oþN4Ú¨_G¬MB Ù¿9e,ý™0cí?Þ~Ư¼spùšà6fÊ›ÊÖ‰C¿ÇJ34&ªahÔ2ÇwêØ¶¢?–®ùý±ˆ€\ð4óÄÆYc>9Ã{UŒÚ{ÿ8ýRâåG +;9#¦ÜCŽw€â˜‘§Êd²º2:5ÛŒêì`)-NŒ½,2Àxiüã‹WŸ¸WV~ÿäš%',ßšÜ×Ñ £61­ñÁ³õ´¼5OSÞ¡vw”Bˆ({m¯fþ\*SÝ6!D‹u-+î–ýØëÅ!¶NŽ6Ïo;^ýª×A‘ÿæ| !’ÇñœÀkîÙ*ɳ3³Ú€ÓûŸHd¥‡'Ðß €wð¨!ÞMöGç_©'¤éWô@äåß¡ïðýþ˜"}¼«?}Çó=§ƒ¢Ú84ï’šÝQíGmªÌ}&°ê05>ëòÎÏÆúyÐK.›v½G/Ø‘š?Í‹þìbóæÂƒ[¦÷mkø%f-[¶ŸüŸ¬k±‹BtrÕñåŽîÝú›µç›AŽ->S q^ÌÇsN×@çÏ|?¢•Ûè?íu s>ÞóÐuʾ¤ Óú¸sÓ³êVØÿý«ÕXÏÏÿ5Ùß•߉k’R¾ r¢”3ø¨__Á3¨5ðFº†œ—x¯É¾åkóêg˜ œ b&!B Ãå(B Ù!†a"Ä0LB„†IˆÃ0 b&!B Ã$Dˆa˜„1 “!†a"Ä0LB„†IˆÃ0 b&!B Ã$Dˆa˜„1 “!†a"Ä0LB„†IˆÃŒ˜„¥\Ñ!¤gB„¦6 %;ƒm(*`Ç#W# 9q³=­)вö|{VlvýëU7ñêÕ«æÚ ‡ÌšÐj’PVtháF^?7Õ—/ßß2u^’_ô=¾„o»ò‚i[î‰ Õ#„ÌŒÊâ¿òòaC¶E‰ 94ÿþõϺ(äbÝÙ)?nsº`Ï`{€†´¹=Æ=‹r|”“BÓVFèÕTLu¤úŠ%yÇcº'Ǫ~’½ÿ´¡ò¯cøOò,=“$ú½ŸÊ«ö(ìͤ§§@`` =•ïÆ ­ë5¹a†C~_pЊâµÒäui_½é»øJçmò³í](QqE5QAü´çÀk?-¾@¤â·–ôôts m†CfMhÅÞ5ÀÒŽÃáp8ô%älágªäZ4ýê<7v¬RL".†ÖŸêoãUpõß[£t˜fµ} BæÆˆß§ã—õi‚'p³ã”B“ˆ‹¡õÇÎ$DÈ„w9JßÀE)B-0îLHoþ5„JìX¥˜D\ ­?\Ž"Ä0ÜEˆaìœ Ù±J1‰¸ZÆMBŠ¢°ÜB-Ãå(B Ók&l±“رJ1‰¸Zz$aËÅ BšÑyÅøªbP¸EH3:Nc¯.Xè鵩;„7LªÐ“&4+¥cã†ÀŽŸ™™D\ ­?]VŒ‚[«}øä‡ë{G»Jóìß{?.GÒ3²gW~¿U?±£ƒ½½‹ïâ;¢›‘>?v¬RL".†ÖŸúÉJÆ/¼ðcøä­mã²â©:ÇÙ[Þ¼¡ãÏí›ä¡t„ò¾(V[Ã!³æFË/8h£å£àÚÞïÞÛQ”<±òƒÂÜØéCWH¢þ<ºà Žª¦q9ŠZþžÈÄ2ÊÊJÅA¢¼ÿ|4lé¹#óUf ³Ø±J1‰¸ZŠù%¯¼ôÓîS×óžòx¥YÇ¢"÷5¼ûÉG~Ê ®íȈÆÿmèÂâ¹'™ëm) …bÎxéJ¡©¬ò²‘>®Vv^áÛÒ«dô¥ñÁ.ˆ çnèݼŸµ9"¥’¦Ê#„”iœ'¼ä}ÂÏTɵhZMž·vf6‰¸Zzrõß[£t˜fµ} BæÏEˆaøS&–„6Ã!³&4;“!‚…žbzbIh32kBãr!†áî(B cçLÈŽUŠIÄÅÐúÃBO1 —£1Lq&Ôªˆ“¤`g° Eìx$U{ #رJ1‰¸ZJI¨y'YÑ¡…yýÜŒ{Q„خţú"NòòaC¶E‰ 9„׬GHw-mÌ´PĉT_X±$/bÛÌîÖÆë›îرJ1‰¸Zê×’‚ìèðä…þ|ä-{Ň?ýÛ/ÒBâ6ûÙ•%·ÔºÂÖhkzb¶™e<:÷5²ê|PGõÏ öLôl7nçÝ6ÜŒêÛýïI•rBÄy›ülûEJT¦¶q„PªòD˜ÚÞmÄæ,¾ÊßÑKï`iÇáp8°ñMä)5Í\²ã×&CëOé3¡Ú"N/ =YzE$•–<)ÈÏÏÏ¿w1ª—µïºK7bßuÒnF5RHJµEœšzjz8.GÒzbIh32kBc¡'„†çŽ"Ä0ü)KB›áYšIˆ ÁBO1 =±$´™5¡q9ŠÃpw!†±s&dÇ*Å$âbhýa¡'„†ËQ„¦<6d®Ÿ2ÈÇÍ‚¢8“jÕ=ÔeÅÎÜÑŽ¢([·¥ñÚKm±c•bq1´þ”“ЂÓ)xæ¿÷ÇLj£¾r…´èÀŒáK Þßs³¬ºü~âú‰m Õ!„̺cýåÙÝ߯ˆ/:9ÆYùAáÍ¥¾Á×¾¹.¼ƒrù™—Mãr! è²1#«H?WâÞõÖ¾\вjÛï£m<¹Á{¦v¬RL".†ÖŸ.ECeµeu¢‡R¦ÿ‘U$ûó›>ÿ¥ßƒ¸÷\”öA±Ð»ƒ2XQèI—娴`ë€K;žzúû\òì׿ôMÉ‹ä4o—£i@—å¨U»¾}\­^Lr¯áìX¥˜D\ ­?IH¤"¡P(’"k¼M =8ü4¬íŸk~L) ŠÎþ°6Íeìä7í Õ%„ÌŒRÁ ÁÍe]›ÐvV*Ÿ(z’óïÄD¸QàÚ7,úOEíU#„a¡'–„6Ã!³&4zBˆaxî(B ß2±$´™5¡Ù™„™,ô„ðÐKB›áY—£1 wGb;gBv¬RL".†Ö;“!‚»£1LÅL(¯¹ºqòÎE9¿1yczŠÍ“†œ¸ÙžÖEY{¾=+6»^ušáî(ëãbhý)%!©>ûyÈšŠÙ)Õ¢š‹s+׆D&W+¦‘øþ–©ó’ü¢ïñ%ü{Ûý“LÛrOl¨!dnÏè®J˜àì97•O!¤>m~{çñ§ªŽ©MžÌõ˜ZOsyާKhr­Ò¹á*G)Qœ Å%7î‹»÷´N!ÝÄ÷3ŠEͲ÷Ÿ6Tž›ð VT{ÿTL’tè4?ûVù/CCìX¥˜D\ ­?ÅŸ2ÉÕà8ÛÑ{*”­³=%¨(|,´ôœ´eÓ±!Ó{¹´ŸùÃö*kb¡'ve<:°¢Ð“âŠQtço»AûŸÒ?Þ•—xÇ®gÔma³cä¼ÿ}ÚÕ9è›”bTPœ²fK·ÈK¸EH7ŠËQ›ý{Ù¦æ @¹Ð¦×@/ÛfLj&&–ø.˜7´ƒ¥]‡aó>õ-IL*TX²2Š«“ˆ‹¡õ§´;Ê"ûïŠÝñ$µ7÷¬<(ý r0 i¡'ëö½¬o펻R.!’ò´¸]7­{õóÄBøéFyr”U_ùa’8úLú!­ZFß۴Г¸(aùXoº"©³÷Øå§‹ÅÊí¨l!¤ =±$´™5¡±ÐB ß2!Ä0vþŠ‚›f&CëIˆ ÁŸ2!Ä0,ôÄ’Ðf8dÖ„Æå(B ÃÝQ„ÆÎ™«“ˆ‹¡õÇÎ$DÈ„°sw”Á•0S¡ÍpȬ ­ãL¨A1(ævG2!:%¡&Å BšÑ) k.GŸ²øhý‚\—þóׇY%D§ÖhÙ†Bå ­Õä#…Ö'®y†ÖóOÉÔZÏÐZÑ% 5*…ÒŒÆ?ejB£bPôcÆüß×xcǰcú?]óÝ]’Ð’Ó†‚Z! €ˆj‡ËQ.#Œ[2i@—å¨&Å BÒicFm1(„ÖtJBªÍ¨í'Wqʵq Þé¼òDôh×VÚHBˆuðk„føsG5<™¦Uiz 7-5d®Ÿ2ÈÇÍ‚¢8“jÕEê²bçîhGQ”­ÇÛ‹Òøú&üÌmŸ óqµ¤(ÊÖë9{ï´0 IÁÎ`Š ØñHªdiÑ‘9A]\,)Š¢ºÏSŽ­U÷ôgàêÈï1C•mk$¯:ó·vŽÁ2ªE576 srKÔ¦L¢a‰î~çkÕqæ¯y| ?ïÈÌŽV¾ërDˆ-¸»Ḵß÷Ljãr†§úÉ“øñmÚŒøö»eÕåoœ»øÈ‘eI«—l=‘~¿¤âQÚΩÐéËk ª•>‰ŸÐÍÿ-7«~Ñ…ý#"«ÍM¿šý¨¼¦¶úÉÕ˜)m-¶(4¬E÷ôgðêÈï1C'¡&WVkµ@š]ÂMWüÔYíÔ&¡ sI7ÇáûŠ¥ §Dx{U›1OT…•ý6ÝûÝ-Iÿö³5ø{T.®Êù%ÜË-äh™LÇîéϘÔ*!Þc^޶ÚÉ4¯ù%ÜdéçJÜ»ÞZØ—KQVmû}´-ƒgàu¹´,ýÏR÷@Wåëa‘ê +–äEl›ÙÝÚ°1ë/Ïv§,l\}ÃnLùeoh»Þ=-tOF ö ñ3pj~2Mk²ôœ´eSPòô^.v.oÌHúq«šK¸¾{µeu¢‡R¼7gÕÕæî‘õõø//ò øIþ¼ÐèUo)ýÅ ?ýÛ/ÒB¶/ô³3ô–µÃàØ "­{˜¼Ú5núÜãOe:tOF ö ñ3p¾<™ …“iZ'©½ôÕ{‘ç6^Âmþ“ÏG,N­3|_T°àp9`;zÍ’Qº[¾zp]òñ{Bµ.Ì1r½Ãúó{&y(ýÁYœ ÚüÏ@GESdéØuÔ×?á$Å\U½)Õb÷ôgôjÈ0ï1,››ª:5Á¹ý¼ËKä´Œö™ðÕ„7—w³ ÚWJr‘?Ý?ȶÇÊ,¡bKºjñ3a]Êß\Æ'TÓ¡Ÿýú.§ÃgéÙ¤æÆ…¶w±9‹¯rÃKúx×K;‡ÃáÐWʲñMT³}¤«ú´yžѺ{úkjÈ ï1£ìŽ: ÿñF˜—¹å=çva‰•ÆÛU¨îÂt›§j‘•ëÀyç»Ô2±\\–ú¯w8ŽãŽ–¢7r‰P xv>ÂÝqüÉ2@(¡}šº´Ï»8\u¡DÐð$i‰¿­çÌ <ýC‹ öMiïôöêÔòz@ DRÅв†g¥%´GiQ½¬}×]-ªêZöì»~:y-·´¦¦äÖÑÅýíœ'.•6­¾{†d¤jÈÀï1Ã_2Iõ•ÕŒÀP—pÓžàæ²®MWmg¥òC9ÿNLD€®}âo ‰8wCïæ Ÿµ9"¥Ð/ÏÛd°ÍCYå…e#}\­ì¼÷¥W)½àj»g,†  ýcÝ%µ¿„†6ÕÐL1ôñ´5„†%b&!B Ã$Dˆa˜„1 “!†a"Ä0LB„öÿ°¯uk²@%ÐIEND®B`‚qcustomplot/documentation/html/functions_0x66.html0000644000175000017500000000277212236016575022635 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- f -

qcustomplot/documentation/html/global_8h.html0000644000175000017500000001263012236016574021672 0ustar dermanudermanu src/global.h File Reference
global.h File Reference
#include <QObject>
#include <QPointer>
#include <QWidget>
#include <QPainter>
#include <QPaintEvent>
#include <QMouseEvent>
#include <QPixmap>
#include <QVector>
#include <QString>
#include <QDateTime>
#include <QMultiMap>
#include <QFlags>
#include <QDebug>
#include <QVector2D>
#include <QStack>
#include <QCache>
#include <QMargins>
#include <qmath.h>
#include <limits>
#include <QtNumeric>
#include <QtPrintSupport>

Go to the source code of this file.

Namespaces

namespace  QCP

Enumerations

enum  QCP::MarginSide
enum  QCP::AntialiasedElement
enum  QCP::PlottingHint
enum  QCP::Interaction

Functions

bool QCP::isInvalidData (double value)
bool QCP::isInvalidData (double value1, double value2)
void QCP::setMarginValue (QMargins &margins, QCP::MarginSide side, int value)
int QCP::getMarginValue (const QMargins &margins, QCP::MarginSide side)

Detailed Description

qcustomplot/documentation/html/tab_a.png0000644000175000017500000000021612236016574020716 0ustar dermanudermanu‰PNG  IHDR$ÇÇ[UIDATxíK €0C'o¤(Šˆ[Žà%Üxÿ#Ù©­ç ùÁöó¦W¦e# 3t I 3+¼øEã~\D½9¯Ûàè’wM·¿öÿ}Yõ_êA4Yžã}IEND®B`‚qcustomplot/documentation/html/functions_func_0x70.html0000644000175000017500000000662712236016575023646 0ustar dermanudermanu Data Fields - Functions
 

- p -

qcustomplot/documentation/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html0000644000175000017500000001357212236016575025511 0ustar dermanudermanu src/ Directory Reference
src Directory Reference

Directories

directory  items
directory  layoutelements
directory  plottables

Files

file  axis.cpp
file  axis.h [code]
file  core.cpp
file  core.h [code]
file  global.h [code]
file  item.cpp
file  item.h [code]
file  layer.cpp
file  layer.h [code]
file  layout.cpp
file  layout.h [code]
file  lineending.cpp
file  lineending.h [code]
file  painter.cpp
file  painter.h [code]
file  plottable.cpp
file  plottable.h [code]
file  qcp.h [code]
file  range.cpp
file  range.h [code]
qcustomplot/documentation/html/qcp-doc-logo.png0000644000175000017500000005055112236016575022144 0ustar dermanudermanu‰PNG  IHDRúÒ¢¦sBIT|dˆ pHYsýý—Ñ6tEXtSoftwarewww.inkscape.org›î< IDATxœìÝwxÕúÀñïI%!!É„$tBGÊH”¢€ 4…« àAñ'âUïµëµ"ˆ6¤(6PQª¢A¡H—^e@IÎïY–$dwg“¼ŸçÙ‡-3ç¼›„}wΜyÒZ#„Bˆâ)Èé„Bá;!N „ð?Ó4+uÜ·d   D¹ÿ=û~0pÌ};~žû{€ îÛV˲²üö†J¥TpRk}ÊéXDàS2t/Dñešf= !g’z] 6v÷¥SÀfÎ$þ À:`…eY’œ.RÊú×cÿ.kh­³J’è…(FLÓ¬ tpßÚ‰ÎFtŽTàWàGàìÄ/Gþù ”zxÜýð5­õ½NÆ#ŠIôBa¦iV:r&¹Wr6¢; ,Äø-˲Ž'`)¥ÖcÉ´ÒZ/u2QtH¢¢ˆ1M3è ®”³yÕ&`0Ų¬mÇ0”R&°Êýð/­uu'ãE‹$z!ŠÓ4C.À@à ÜÙˆ|N¿`'ý/,ËJq8G)¥žu?¥µ~ÄÉxDÑ"‰^ˆfšfSà6àf ¬³Ñ8æð 0˜mYV‰ûÐRJmÀžD p¹ÖZNqˆ|“D/D2M³ðöùwqÆ:à`ªeY™NãJ©Ë?Ü×i­ë;(z¤`ŽÄ4ÍëMÓ\,@’|^êaço4MóÓ4‹û) °çcœö©cQˆ"KŽè…p˜išA@ì#xÓápŠš=ÀKÀx˲RÆ”RZµÖ›œŒG=’è…piš}€g9sþU\šCÀhàÕâTG)ÕXé~ø»Öº™“ñˆ¢I†î…p€iš5MÓœ|Ž$yoˆÆ«LÓlït0^$Ãö¢Ðäˆ^?2M³ð0ð Åÿ9'}ÜoYÖ>§) ¥Ô& &öå†UµÖ;IA’è…ðÓ4¯Æ5œŽ¥„HÁ.ûfQ,³«”j ¬p?üUkÝÖÉxDÑ%C÷Bø˜išMÓœÌB’¼?•^–›¦ÙÒé`.AÎaû©ŽE!Š<9¢‡LÓìŠ}9X¼Ó±”p™ØG÷£‹JÁ¥Ôfì/†Y@­õ‡CE”$z!|À4ÍàyàŠW-ú¢n0À²¬ƒNr!J©&Àïî‡ó´ÖœŒGm2t/„—™¦Yøø7’äMgàÓ4¯r:‹a{á5rD/„™¦yð`8Џ°,à¿Àó–ee;Ë9”R[€ê@¤µ>âpH¢“D/„˜¦Œ}÷}NÇ" d>Ð/†ò•RMåî‡ßh­{:(údè^ˆB2M3ø IòEÑ5À"Ó4“$)’#¼JŽè…(Ó4 à[ µÓ±ˆBÙ t±,Ëñå_•R[j@*ö°}±¬á/üGŽè…¸D¦iV~A’|qPøÙéIzJ©æØIà+IòÂ$Ñ q LÓ¬,Æ^6U1ÀÓ4{9ÃÍ9îOq, Q¬Èнd𿕨ÃõqNÇ"|" ¸Ë²¬wýÙ©R*؉=º°¨¤µ.r¥{Eà‘#z! À4ÍÀ<$ÉgÁÀxÓ4ÿåç~;`'y€O%É o‘D/D>™¦Ùøˆp:á/™¦9Ðý Èqÿc?ö+Š9º"LÓ¬,’œŽEøU&ÐÓ²¬™¾ìD)ì¢ Z뺾ìO”,rD/ÄE˜¦™ÌE’|I|áž—áK7`'y£yáe’è…¸Ó4˳±Ë‘Š’)øÖ4Í>ìã–÷¥¶½ð*ºâ ‰^ˆ<˜¦y7¹‹—PxßËmösÿ› |æå¶…¡{!ÎfšfSìªwaÛV”XÿgYÖ[…mD)UØ}Ðõ“ÖZF„×ɽ9˜¦|Ž$yqa/›¦ÙÈ íÜÌ™Ïa™m/|B½¹}€Ì°|nšfôE·¼°ÓÃöÀ´B¶%Dž$Ñ áfšæàF§ãEF-à’ëá+¥êMÜ¿×ZöJTBœE½€išÍ€±NÇ!Šœ›MÓv‰ûöËq_Vª>#“ñD‰gšf`aϨ¢ Òz–em+ÈNJ©Í@ à(PNk}± !GôB÷#I^\º`\AvPJµÂNòÓ$É _’D/J4Ó4«9‡(ò®7M³G¶ïŸã¾ Û Ÿ’D/JºWH§ƒÅÂk¦i^ôoI)üÃýp°Ð§Q‰O½(±LÓì ôt:QlTÏÇv€÷ýµÖÙ¾ IIô¢„2M³<¯*D>ÜošæeÙFfÛ ¿’D/Jª‡Â8ÂûBó–ÆUJErfé­õ_¤”j­”*laQ„I¢%Žiš€ŽC[íLÓì}ž×z¥Ý÷'û*¥T¨RêN¥Ô* ºÖú˜¯úO½(‰þ ”r:Q¬ïJŽî³€O|ѱR*»nþÛÀx­µœ(á$Ñ‹Å4ÍàR+™ ‘_MÓì–ó ¥TöD<€ùZë}>ê{<ÐxTk]èöDÑ'‰^”4÷!—Ó ÿ8û¨þ Ø}ß'ÃöJ©±ÀíÀ‹Zëç}ч(z¤®(1LÓŒ¶21IøËµ–eÍPJý޽ˆÍ1ì’·iÞìH)õð ðžÖZF­„‡Ñ‹’d$’ä…= ”ªÏ™•ê¾ðA’¿;ÉÜéͶEÑ'Gô¢Dp¯¾ˆs:Qâ´]½zuà÷ã«´Ö¿x«q¥Ô`"ð=ÐSk}Ê[m‹â!Äé„ð“»$/œñp¹ûþVàWo5¬”ê|ènó&Iò"/2t/J 9g)qå•WvªY³f9÷ÃIÚKèJ©ŽØCõp½Ö:ÝíŠâG½(öLÓlƒTÁéÝ»·ºë®»4ö{¡)¥Z_µÖ)ÞhWO’èEI0àâ›á}111\}õÕôïߟŸµÖÛ Û¦Rª0 8\«µþ»°mŠâM½(ÖLÓ ú:‡(™®»î:ÂÂÂHLLdøðáÛ ÛžRª08 \£µÞUØ6Eñ'“ñDq׈u:Q2õèÑ€ÔÔTV¬XQ¨åh•RùØŸÛWk­7>BQȽ(îdØ^8¢FÔ¯_€9sæ’’ÒÝ4ͰKiK)•€äcNZëuÞ‹Tw’èE±å®kÓqˆ’©W¯^žû_}õ@<е í(¥b¹@% «Öz¥—B%„$zQœÝŒœž á†n`ëÖ­¬ZµêôKaRJ•ÆžxW¸Ak½Ä›qŠ’A½(κ8€(™ÚµkG\œ]ŸÉ}4Ú5¦iç¹ÓY”R¥€@S —Öú'/‡)JIô¢X2M3hët¢dêÙ³'™™™Ì˜1#çKe€fÛ_)L®új­çø LQBH¢ÅU3dá€ÄÄDÚ´iÀO?ýÄáÇÏÞ¤ý…öWJ…_`¯]ß_ký/â%‡$zQ\up:Q2õìÙ“  û£uÚ´iymrÞ¿M¥Tð)p=0Xký¹/b%‹$zQ\I¢~§”ò̶߷oK–ä9wîʼ.³SJS€^ÀP­õ$_Æ*JIô¢ØqWÃkít¢äiÙ²%+VìIxÙÙyÖȉZæ|B)„]¿/p»ÖúC‡*JIô¢8jD8„(yn¼ñF²³³™>}ú…6õŒ8åHòý$/|@½(ŽdØ^ø]\\:Øz?ÿü3û÷ï¿ÐæÀ“ä'ý‘$/|DЉˆâ¨©Óˆ’§gÏž„††ðÙgŸ]ló&î$ÿ!p+0Dk=Á·Š’JŽèEqTÇéDÉ¢”⦛n`÷îÝ盄çU®\¹Ï±+åýS’¼ð%Iô¢XqÏf®æt¢diÕª•+Wà‹/¾8ß$<‚‚‚xúé§éܹso`Ì®¾&C÷â’†‡}äl`¦9û¤Çò¸¹€.—ËåƒÐjù*1*„·ôéÓ€ŒŒŒ N âÙgŸ¥k×®üúë¯ó´ÖSü£(¹$Ñ‹ 2 #»Ê\ݳn ^hû °Øàþw=ð»ËåÚWˆfeØ^øUbb"íÛÛÅîæÌ™Ã‘#GòÜ.((ˆçŸžÎ;óŸÿü‡¹sç®3fŒ?C%”$z‘‹ae«±Ët¶êù°»÷-WMzÃ0þ~tߺ\®ƒhS½ð«>}úl"}úé§yn̨Q£èر#÷ß??üðÈߪðIôÃ0c_ÞÓ h(g#â2÷í.@†±{=î].×ÅÖâ–Oá7!!!žIxëÖ­cõêÕyn3zôh®¾újî»ï>.\xú%ù[~!‰¾„2 £vrˆÜ•ºo÷»“þ$줿'íåÃSøÍµ×^K||<÷Ñ|hh(/½ôW\q÷Üs‹/ÎùrÓ4KY–uÂ?ÑŠ’J} bF0pðOà˜´Kݺu=·Zµjv¦ì·Öš={ö°jÕ*þøãV¯^ÍñãÇs6ÑŒ2 c>v±‘/].W–ûõZþz/BÜ|óÍ>|˜ï¿ÿ>×kááá¼úê«4mÚ”»ï¾›¥K—ž½{PXëXEÉ%‰¾0 # <ˆýÁâWÕ«W§÷7Ó½{wÔ¯¯}úöí Ø¥D—/_Îûï¿ÏŒ3ÈÈÈ8½I0ÐÙ}ÛjÆh`b¥J•b½ÿ„8Wݺuiܸ1`_RwòäIÏkŒ7Ž 0|øp~ÿý÷ó5#¯Âç”ÖÚ鄆 *ù³ïððpL¿þ©_¯ZÃÞýGÙºýÛwædF&YYÙdgk²²²)_ššÕ¨‘\–˜2¥òlóàÁƒLœ8‘÷ߟœóºRjoÅŠËûú½ ðì³ÏÒ½{w233éܹ3ÚsFK—.Í[o½EÍš5>|8–e]¨™ë,Ëší—€E‰%‰¾2 #¸û>ÑŸ}+¥èÝûFþûß§9•Ä‹þbÙÊüµÃʼn§òÕFÙøÒ4oT…nêS¿N¹s^OIIá±Çcʔܗ Q¡B¯¼!.$>>ž¹sçʬY³x衇ˆŽŽfüøñT¬X‘;õë×_¬©¾–e}áó€E‰&‰¾˜1 ãjàM ¾¿ûnݺ ÿ7âßt).ÝÉÖm‡ Ýfµ*ñ\ß¹>]Ú×%22÷Þ?ýô#GŽdç΀=»¹\¹s¿ámÇgøðáôë×5kÖË»ï¾K||Iò‡\©<6j&O½8›#GÓsÅðÎ;ï0bÄ”rúòQtéÒÅsIݤI“HJJb„ 3hР‚$y°ËE áS2ë¾3 # øèèᆱT©Â'ŸL%=#Œ}Å‘”ô‹ïä?-ÚÌï«vñȽ×ЪY2`Ï xê©§¨P¡o½õ2J%|iÀ€ìܹ“ 6ðÑG‘ššÊ°aø„å$Ñ Ÿ“#ú"Ê0ŒŽÀ*Hò­[·fÁ‚¬ÙpŸ™ã·$Ú±ã'xlÔ,¾_ðg®çï¸ãžþyBBäû«ðæÍ›S·n]f͚ń p¹\ <øR’<@”W"’è‹Ã0‚ Ãx»$¬ßOH8¯¾úŠßÿØÂ;“,Ÿ Õ_LVV6cÆ-àã/s_ŸÜ­[7F%ÃøÂ'ØsCúöíËŽ;:t()))—ÚdÞ×’ áE’è‹÷Jr €Çqàw7dÈ^}õU6mÙÉËï® FÈߟ²„qïÿ’+–Ó«ƒ áMUªT¡m[{ý¥ÐÐPÖ¬YÃ]wÝEZZZašMõJpB\€$ú"Â0ŒêÀ"ì•åü®eË–<ÿüóüý÷až»“'3#OÓ¿[Åïÿœë¹þýûsÛm·9(–n½õV‚‚ìÌ%K–0räÈ\Õð.Ññ‹o"DáH¢/ Ãh„äk:ѹrå˜8q"Zkž3—ÞAÈô™Ö9Ãøÿú׿èÖ­›C‰â$66–Þ½{°cÇFŽIf¦W¾ìóF#B\ˆ$úgF;`!àH%˜°°0&NœHbb"ŸN_ÁºYÞ¿ÞŸ²„Ù?œ™ §”â™gž¡yóæF%Šƒ'žx³øÒÈ‘#ÉÎöÚÜIôÂç$Ñ0Ã0nfeœŠáÉ'Ÿ¤yóæMI糬Ùƾù#Kßîy˜1c([¶¬ƒQ‰¢¬_¿~\sÍ5,\¸-[¶x³yº>'‰>@†Ñø w*†êÕ«3tèP>™¶‚´´Œ‹ìἬ¬lžó=›ÿúÛó\||èy]FFF–“áØž}GõÚ¼\Ï <˜«®ºÊ¡ˆDQ¡”âÑGå¶AƒØùÇ„EØÅëÞ{ï=_t'C÷Âç$ÑÃ0ªs€X§cyì±ÇPJ±{¯‹9?üyñТ¥ñéW+<•R<÷Üs²”­8¯àà`ž{î9zöìÁê™oaT® À¦M›øùçŸ/²÷% ÜÙ­¢ØD Ã0°“¼ãYèŠ+®àÚk¯໹ëÉ΀Ê8—èý)ÿÃZ·Çó8&&†1cÆìèY€ÂÃÃyõÕWéÐþjÖ~ûAAAD•­ À|à‹52€¿¼Ý¨g“D ÃPÀ$ ŽÓ±Ü}÷ÝœÌ8Ŭùëަp²²²yúÅ9¹V¼3M“{î¹ÇÁ¨D ‰ŠŠbüøñ4¹¼k¿y™”}QµiÀ^¼föìÙ¾èv‹eYE뜘(’$цQÙ¥bÅŠtêÔ €~^OʱGTx‡§òÜ+ór•ɽí¶ÛhݺµsA‰€Q¶lY>úè#ªU.ÇÚo^"Õµ—˜ò5‰©`×§š0a‚7¯›Ïiƒ/âl’èfFkà9§ã8mРAžaísÖ;÷,ÿcS§Ÿ©œ§”bÔ¨Q$$$8•pZ¥J•˜ú{ñÅùÇ?þAZZšWÞpF… xëÍ7 Óéü9ã%2Ožÿ÷YµY‚‚CHMMõÇÑüA`¯;â4Iô~bF0ð˜Óqäåt¢?zô8+¬]ŽÅQ¡\ ýnlLëæÕˆ‹-]àýÃÃBhpYy\VÞóܡéü¹q?nÜÏÒß·³eÛßçì÷ú{?S¿N9ªV6¨Zµ*O<ñ=ôÐ¥¿á¨Fñúë¯qhë*¶üïsô*Û…GÅQî²+˜:uª?Žæ²,«è. !ŠIôþó ¶ÓAœÍ4MjÔ¨ÀâåÛYÀ¦l|iú÷6¹¡K#‚ƒƒ9xð 3gþÄ–-[ؼy³çß””‚‚‚PJyþŽŽ¦Q£F4iÒ„&MšÐ¨Q#bcÏ,þWš6-«Ó¦eu†¸‚»óã¢ÍüôëfþÚq°×¯ÿygl_ÂÃìÿ]»veÙ²eL›6Íï?Q8ݺuã©§þËÖÿ}Ë>kþE·¯Ò¤³çh~âĉ~ˆP†í…I¢÷÷¹ùGŽ#/×_½çþ¢ß¶ùµï˜2¥øG÷Ëè}CsvïÞÅ[o½Å¬Y³X¶lY¾k‹;vŒ={ö0kÖ,Àž]]½zuš4iB›6mhÛ¶-ÉÉÉží+WŒc`ßæ ìÛœí;]‰m;\¼þîÏüûîžmzè!V¯^ÍÆÅ¯xPq¤”âÿþï.n4ˆ ó>äÐ_«.ºOxéÊ×oØçæ=êë0A½ð3僥ÅY ø ði‰­Kµxñbê֭ˉôø!'32}Þgdd½ºTãæÞ­ùå—Ÿ;v,+W®ôz?†aI­Zµèܹ3;w¦jÕªyn»uû!fÎ]KÃzhweMÏóÛ¶mãæ›o–óõ.<<œçŸ{ŽVͳaî»?˜¿KDk¶íK¥Ë;pìØ1®»î:RRR|)»-˪äëN„ÈI½¹æW—;ËÙjÔ¨Á²eËøå[xâ…ï}Ú_xXÝ:V¢Ÿ6,Zô cÇŽeõêÕ>ë/""‚øøø\ÏÕ®]Û“ô«T©rÎ>'Of’™•MéÈ0Ïs3gÎäá‡öYœ¢pxó׉ ÏfËqêDj¾ö +C«ÏÊk¯½Æ|àãHxÛ²¬»üÑ‘§Éнïu$“<Øç¡Oûu©ogÛ›õ*ððÈvdœ<ÎÀ·²x±ïë…œ8q‚ììì\‹Ölܸ‘72nÜ8êÖ­Ë7ÞÈõ×_OéÒöä¿ððÂÏj§[·n,[¶ŒéÓ§û“‚¸$7ïFPp(äã?öa”¹LöWGBœ&×ÑûÞ@§8ŸÓçç³²²Y²l›Oú RÜvs ^y¶' æÏ¦M›6~IòZkÒÓÓÏûúúõëyî¹çèØ±#Ï<óÌÏÅ?þøãžÁÂyJ)̸×^aç¯SÙ¹ì»%ùˆ˜Ê׳ÏÍ?Þ×5íOÛdYÖt$DN2tïC†a”ö¿VÌÇ’’’X·nJ)¬µ{ù¨÷V¢yì¾NÔ®ϰaÃøöÛ^ïãbÂÃà ´æ|£FèÛ·/:u",,ìœ×üñG>øà,+ïêjÂ÷¢¢¢=êyêÕ®Ææyrî%“S¯óí$ÖjÆÎ;éÑ£™™¾Ÿ›:¡ ‰µšðÆoø+Ék`Š?:âlò)å[;lß±cGÏýßVn÷jÛõë”ãÕçz‘–vœN×vôLøsʥ̘?räãǧOŸ>œbFE`øe*$$„Í›7S¦LMãÆÛ>Ä[M/¯Ì³w%5-•í¯fçNçW ¡\¹r—¼ÇŽyùå—=# y9~ü8_}õü1{öì¹ä¾Ä¹âââxú©'1ÂNqdõ,²NûÅ+ßmUªÃå=ÿ…Öš²jÕůµ÷’¡–e½ï¯Î„È)à’P1Ò‡ýù6"Ïð IDATiÒ„2eʰlåN¯%ùjUâyæá®+níK@$y€ÌÌL222.¾áy,X°àœK¯²³2ÉÒ•ˆR¡Ü{ïH–.]ê•v½¥°k‹¿ñƹ® !#õ[~ý’ô£gÖµ ¢S§NLž|À½€MÀ^‹u:Ñk­Yî…D¯”âñû;S¡\ ãÆcêÔ©…nÓÛÒÒÒ 5é*;;›|0×°|¤QžØÊuùíã'Y3ëŽîÍŒržÇ8p œÇϧ6­¯`ʇïP6m=û–M/ÔQüiaÑTin_N:~üxþþ»à“ø.Q&ð‚¿:"/rŽÞ Ãh8;í©i—väU:œw_þå“ÊðÐCñî»ïz9RßPJQ®\9¯I¿ð ¹Ö 8uâ8¿þ'ÎSÄ%¶bm*6lGÙêPgMÐËÌÌdÁ‚|ûí·,^¼ØŸG~NÏ7pç°¡pâÛ—Î e¿o.1¯Ü¤35Z÷bïÞ½ôîÝ›ÔÔü-xã¸Ü²,ß­Ú$D>I¢÷2Ã0j¹€y¹råX·nnØÅ]~}Émýçî\wM=/^ 7\_ :ãN‹ŠŠ"66¶Ð턇‡3aÂ4hày.íð>VNË©çݰ×@oK…úm +sÎë)))ÌŸ?ŸÙ³góÛo¿ôé‚HLL¤¿~ôí{'\»Ù±l¦×às*m”§qßG åÎ;ïôÛ nßX–ÕÓŸ q>²z÷Õu:€óiӦ羵nÿ%·Ó¬Q®»¦iééŒqw‘Jò`Ÿ«ŽŽ.ôQýÉ“'9r$S§N%11€È¸r˜=îaÕW/“™‘÷B)'S²í·ïؾü{ª7"©n+Œ*õPAv;G^V¬XArr2YÙÙtïÿ>ié??ïWÓ㺆ErÈþl „‡Ÿ½úü¥iذ!ï½÷‘‘‘žç\;Ö²ú»·ÐÙ›éV:†ÄšMI¬Ýœ2IÕòÜ&;;›õë׳bÅ ÏÍårê=Fpp0M›6¥]»vtìОò*rp÷Vüù+®-¿{åZøü*mT IßGPAA 2„ßÿÝo}:–eög§B\ˆ$z/3 cÐÚé8ÎV¹reOÉÏ?7ìà® ¾šœY¿¯>Û›ôé´mÓ†¿þ*Úkt„††’˜˜xÁöÑ¢E Þ|óÍ\_nþus>@ëK;Ï^ªLYk5#¾j¢“’ >ÿÙ¶mÛ¶y’¾eYìÝ»7Ïy +,,Œ*UªP­Z5ªU«FýËêÒ²U+"#KsdÿvŽì\Ëß[ÿàøAÿ—@ ¡a¯ˆ+—Ì믿Îûïû½¼ü?-ËúÈß q!rŽÞûòý•W^鹿f}ÁÏχ‡…ðŸ»;¢<ýÔSE>Éœ:uŠãÇí•ö~ûí7xà^yåBBìÿZ 5›R;ã$~˜Œ=»`N¤üÍŽßg³ã÷Ù‡”Ll…ZÄT¨EL¹ê‡•òl›œœLrr2½{÷ö“’’Bdd¤× ×,\¸Gy„^xÁ“ Ë×kMpH(ëL$;«ex³29ºg3G÷l¾G© ¢*S¾±kQ&©Ú9³øccc‰¥nÝÂÿÔZsüÈAïü“´Ã{9¼cGvo,Ô{ò¦„šM¨ty{öïßNQ#?Èî²,K†HEÀ‘Dï]ç^+ r&úÕë V¯n­Dnê~9ÙÙÙ<ðÀýÅær/°“ב#Gˆ÷Z›³gÏ&22’'Ÿ|ÒsZ ±vs£âX3ëmNðεÜZgsìÀŽØÁ®U  %<*–RÑáQáÑ¥¢â6Š£T´APH:;˾él÷ýì3Ïeg“‘~Œô#H;²Ÿô#ûI;¼Ÿô£&©Ÿ-"&Úí••ÅþóŽ9âï^“kæE ’Dï]Þö2Ã0¨Uˮڶk÷΢QJ1rX;”RLž<™•+Wú*LǤ§§sâÄ J•*uñóiúô餥¥ñì³Ï@L…š4¾ñ?¬þvéç)ªSXÙY§H?z0׊zÅ]Ppõº %4<‚^xÁ‰¿ÑÀýÝ©ù%%p½+ }Ë–-=G–ÖÚ‚Mêvm=êÖJäðá#<ýtñ½4ØårºþÙfϞͰaÃ8zôÌyëȸ$šôyð¼³éEÁÕlÛ‡è„*Lž<™O>ùÄßÝgý,Ë üúϢĒDï]™èsŸß”ÿ«~¢£J1tÀ<óÌÓŽ^¾åkÙÙÙ>y+V¬`À€ìÞ½Ûó\hD4zÝGBÆ^ﯤ©h¶§Bƒ«Y°`>/½ô’!@DLÉ[½®0¢«R·ÓvîÜɈ#|R/à"vd–½( $Ñ{WÀMnlÔ¨‘g2غõ;òuÉ‘Rv¼ ¥˜2e +V¬ðu˜ÅçëNœ8Á½÷ÞËøñãs}q*S®:Ín~ŒòõÚ\`oqZ©hƒz]ïâØñ4†îÄ û,à˲|3£R/“Dï]7!§iÓ¦žûë7çïúùn×Ö§n­$RRRŠõ¼óñÕùúÓm¿ùæ› 4ˆ;ÏLŒ  §N‡[iÐm8¡700BK•¦îuÿGPh)î¾ûî\?C?zÒ²¬_œèXˆK!‰Þ»Ž9ÀÙš5k湿aËÅ|¢£Â=ð^}õU*xqâàäÉ“¹fË{ÛªU«èÓ§Ó¦MËõ|Ùj—Óü–ljOnè³¾‹ªÐR¥¹¬Û£ FŒÁêÕŽ\¶þ 0Ê‰Ž…¸T’è½+ ýºû.ºý€>Í)]Š={öðÎ;ïø2´€wìØ1Žóݯ4--§žzŠ#FäA‹,CÃëÿË®ý'áy¬W_…–*Íe×ßChT<Æ ãÿûŸaü ÜlYVɘ°"Š IôÞP‰>11‘J•*°{ÏAŽM¿àöåËг«}$ùüóÏûdRZQsôèQŸ/»páBz÷îÍÂ… s=ŸT§%-n}šªÍ®#(8Ô§1²ÐRQÔ»~$*,šÁƒ{gò³U@w˲ä?…(r$Ñ{W@%ú\Góv_`KÛþ- fíÚµ|úé§¾ ­Hq¹\>ÿÒãr¹1b=ôœ¹284œj­zÐâÖ§H¨Ùô-O¡¥¢¨ÃH2cà AlذÁ‰0¶],ËrvÅ!.‘$zï ØD¿é¯ _^«F¯ªÀ“O>Yb.§Ë¯C‡‘‘‘áó~fÍšÅõ×_ϻロ뒱RÑõ» ¥qïˆN¨âó8Ai£< {ÞÇö½‡è׿?Û·ow"Œý@g˲.~ÞKˆ%‰Þ»¾ÏùÔ¸ñ™Êk·\xR݃®D){ù‡~ðuhEŽÖš¿ÿþ›S§Nù¼¯'NðÆoУGæÍ›—뵘 5iÒ÷aêtH©2e}‹S*ÔoK“>3gÁÏüsð`t¤v peY›è\oQ~^ʱØ3 c-PÏé8¶nÝJll,Zk®ï÷iéyiѤ £ŸèŽÖšvíÚ95›¹H&!!Á³Þ¼?4kÖŒ|:uêäz^ëll\ÎŽsH=tñS3EAHx$uÚßJ\•ú<óÌÓ|õÍ·N…r ¸Á²¬…ÝRˆp^Šõ@¢ONN&66€m;öŸ7É+¥¸cà•|þùç’ä/"++‹P¶lYO!"_[¾|9ÿøÇ?èÝ»7C‡¥|ùò(DR$ÕiΡmkØñûlŽîÝâ—˜|!¦| ê^;˜”ÔÜܯ?7nt*”ØGò%«R”(¶$Ñ{ßz§ÿ°g§öu¨žOff/¼ð‚?B+ò²³³9xð ñññ^]Úöb}~ùå—|ýõ×tëÖ!C†œœì~UŸÜøä†Ù³‰ËgãÚ±Ö/qyCHx$Ušv¡BÃv|üñǼùÖÛN^ññÐI†ëEq"‰Þû"Ñ7jÔÈsÓ¶¼ 儆3¸Ÿ½àÍ—_~áÔd§"IkÍ¡C‡ˆ‹‹#22ÒoýfffòÍ7ßðí·ßÒ±cGn¿ýv.»ì2Ïë±jÛ½©‡ö°ÃRl^Ή”À,zFE³=•›tbóæÍôéû¶lqtDböìz™x'ŠIôÞçÈõ?gË™è7lÎ{ź®/#±lÙÙÙ¼üòËþ ­ØÐZãr¹ÈÎÎ&**ʯ}ggg3oÞ<æÍ›Ç•W^ÉСCiÒ¤‰çõÒñ¨ÞºÕ[÷"eßVlZÎMËÉHóþê|¥‚‚)_¯ Uš]G–V~g‰ Ñ|õÕW 2Ä¡H‹‡èèhbbœ­b×°aCn¸á:uê„aç¼®µæÈîØ´Œ¿·®âTº¯ Š#©NKÊÖiMpXŸñ%~ø¡OK çÓt ŸeY~_ODï†a¬L§ú¯R¥ üñ;wýÍÀ»Ï-~Óõšzüûîh­iÛ¶-ëÖ­ów˜ÅNDDqqq9{ÕjPP­Zµ¢k×®tèÐá¼£ i‡÷stïRömæèÞ­¤öþˆuph8e«7"±N+ŒÊuÙ¹c;“&OaÆŒPy1 x xNÊÚŠâL†î}ãGLô¦y¦ë-ÛÎ]…-88ˆ[ûØÅtfÍš%IÞKÒÓÓÉÈÈ >>Þo3òó’ÍâÅ‹Y¼x1ááá´mÛ–®]»Ò¶m[ÂÃÃ=ÛEÆ%—Dùz­8u"•”½[8ºÏNúi)œJK!#-…¬Ì‹—‡PAA„ED˜L©²U‰(›LB儆†±xÑ"&??œ%K–äk©d?؃}/—ωbO½oüŒtªó xîoÎ#Ñw¼ª6å“ÊðÒK/ù-®’àôåw111DGGk>…sòäIæÏŸÏüùó £~ýú4iÒ„ÆÓ¸qc¢£Ï,‰Zª4ñÕLâ«û53ã„'égf¤NHXÁa¥ì[h8Á!g¾Ü¸\.–/_βO¿bñâÅN-'{>s€–e9R…G“Dï lª<ذá™%N7ÿ•û³L)Å­7Ù5Ó,XàâÞuôèQÑ/$$ä Þéx222X¹r%+W®ì!þš5kÒ¸qcš6mJrr2IIIÄÆÆ¢Tîï'!a¥ +EDlbžm>|˜å˲lÙ2–-[æôìùóÉ^°,+ †„ð9Gï#†aü4¹è†>`Y–gÕº›Oà+ÕóZǶµyìþNtéÒ…ß~û͉K‚?\.WcÓ4+ŸW:P~…„„@bb¢çßÈÈHŽ?îYº÷رc¤¤¤xî§§_xeİ ¸Å²¬_D“#zßù}ll¬'É>’š+É+…çÜü²eË$ÉûÖ–eí2Mójà.à à˜ÏÌÌdïÞ½ìÝ»×éP¼! xxLVŸ%•,jã;3œè4ç°ýÖí¹ÏÏ_Ù¢:ÉUìË®Þ~ûm¿ÆU}súŽeYY–eêŸ8R‰³hnYÖIò¢$“Dï;¿ÛüÝiΉx[¶ýëµ>Ýí":»wïæ»ï¾ók\%Ì6ìß.–eí³,«?Щ XL¹€aÀ–e­t:!œ&‰ÞG\.—&û»ß܉þLéÓšÕÊbÖ¯À{ï½Gff¦¿C+I&»ÿy²,ëGàrà ÍoQø¨mYÖ{2áN›$zßò{¢Ï5tŸãˆþ¦ì£ùôôt&Mšäï°Jš‹þÞ-Ëʰ,köJ‡¾_è¾x›}»eYYÜ_‡H¢÷!—˵ Xâ¯þBCC=k–gee³mçabc"èжS§NåÈ‘¼¹^±Äý{Ï˲¶[–u;Püôõ¢i@S˲®³,k©Ó ˆ$ÑûžßŸëÔ©Chh(;v&33 €×5$44­5ï¼óŽ¿Â)©.é÷mYÖN˲î’Y\åü2±GMê[–u“¬/Ä…I¢÷½©€_füæ:?ÿ—=lL.öó ,`ófYfÛ‡R°ߗ̲¬–e= TÅ.îò÷Ev)INï`ŸƒhYÖŸN$DQ ‰ÞÇ\.×Qà ô•óüüé‰xÚÖ".Ö^/}üøñþ£${Óýû.4˲ŽX–õ,P ¸ ûr½’z10(oYÖp˲þr: !Š)˜ã¯÷¥}ÙI®÷î#ú›®¿€;wòã?ú²û’. û÷ìUî¥S§ÓLÓŒn-½ÝW€Ù L&[–%ÃPB‚$z?p¹\‡ ÃxxÀ—ýœ]ãþ²ÚIÔª‘ÀäÉ“ÉΖ•8}è]—ËåÓERܳÉßÞ4M³6v¿¨éË~ýèöÚð“€EryœÞ!µîýÄ0Œ$à/ Âíç\ƒþÐáTnúçþsw®»¦YYY˜¦Y\J𢠠ºËåÚíDç¦iVÅ.ÂÓhTt"ŽKüŒ].øG`•$w!¼OŽèýÄårí7 ã}`„/ÚÏ}4ÿ7‘‘a´oc_R7wî\Iò¾õ‘SIìKô€ îî£ýÓI¿=àTlgIq&±/·,+ËÙ„(þ$Ñû×sØÃ­±Þn8×D¼¿þæš«jSª”}©Èñ©cÀÓN‘“eYØ3Ô1M3 ¨ã¾ÕÍq¿ìƒö`—øÝpÖm»eYrþH?“DïGî£úÇðÁ,|Ó4=÷7m=H¿Þöšó{öìaþüùÞîNœñ¤“GóùaYÖ~`?ö0¹‡išaØ…z’2@4åþ÷ìûÁØ_jŽÇÏs°Á²¬ã¾~OBˆü“Dïoÿšz³Ñœ‰>33Û3 oÊ”)deÉ訬^w:ˆKeYVð§û&„(¦ä:z?s¹\ÙØk“{m³lÙ²T¨`/X“–žA‹&UÈÎÎfÊ”)ÞêFä¦;].—|‹B4Iôp¹\¿ïy«½ÜkТãUµ»Þ®]»¼ÕÈí=—Ëõ?§ƒBˆ‹‘D}Þh(ç°}FF‘aLœ8ÑÍ‹síÃþý !DÀ“Dï—Ëu臆ðs&ú åʰoß>æÌ™Sئʲ~.—Ëåt ¢lµ•RuÝ·ZNÇ$Dq¦”ŠUJ}¤”jît,g“Éxr¹\?†ñ ðdaÚÉ™èË%Ú‰~òäÉ—4 ¯fÍš´lÙ’'NðÛo¿±sçÎ|íDƒ hÑ¢ûöícõêÕlß¾€°°0222 ‹/„††’™™I! E=ãr¹|^KX)• ”Êã¥ÃZëýùhâ à}ì/óA@9ì™õ>¥” ÑZgúºŸÂPJÅIy¼´Wkí—¨Äù)¥‚µÖ~Ÿûâ…¿ÝH`0X樼C*ã9Ì0Œ `>va“‹ŠŠbûöí(¥ÈÊÎ&8(ˆììl7nœï$ P­Z5&MšDpp0‹-"<<œÖ­[³wï^† Âλïƒ>HÿþýÙ´ikÖ¬Á4MZ·nÍìÙ³yùå—yì±ÇèÓ§Ï¥¼=¯»çž{رc_ýõ¥ìþ#p{B¥Ï(¥*`X”óO"ŒFi­SóÑ^4°[kíÓD¯”ª¼£µ¾Á—ý–Rêmì…‚¹W¬ì&c´ÖrÍ¿”R÷´Ö~›I¬”ê Ô×Z?Sˆ6’°¯ÄªµþÖkÁyÑ;Ìåre†ÑøûC¼@LÓD)€ÂþwÁ‚JòÍš5còäÉ<úè£LŸ>=×kC‡eþüùôéÓ‡ 6œ³ïÓO?M‹-¸îºëؽûÌåä¥K—¦{÷î|÷Ýw5!°lÙ²¤¥¥]Ê®€þ¾NòZë=@c¥ÔP ¹ÖzØé×”R!@gàvà;¥Ô5Nýœ‡½¼n@ÓZWJíµ֟~^)\‰½&E¥T­uºSq–`åðM!§‹õY®0 ¸GÚ Õ†¯È9úàr¹ö·b©H£F<÷ƒ‚ìD?a„|ïÂk¯½Æˆ#ÎIòï½÷£Gf̘1ç¼Ö©S':wîL÷îÝs%y€ÔÔT¦NÊsÏ=—ïXXp«û÷ä(­u¦Öz&Ð{}öA‡Tlh­Oj­zb¯_ .E± GôÂårÍ3 cðAAöË™èvíÚÅܹsó½¿~ýرcÇ«çM:•aÆѥKfÏžíyþÎ;ïäþûï¿àù÷©S§êyÂOêÔ©Ãå—_NZZÍ›çž/“™™É¨Q£Î7ú0ÌårÍSJc×@è4Äöý§µ^•s¥T;à6ìÒ¯³€±+Ð}©µ~D)U Ô>^/Èùa­µVJMÁ>ºÿ0¿ûå—Rª+v¹æFØCÜ«€Ï´Öç|TJµq@e¥ÔGy4ù½Öú³|ô Á>2¯µÎ÷ДRªv1ªÀ'úÏKj­3”Rÿ¬WJ×ZŸSùPÙÃhC€nÀåØ ôü}êâ‚—]ºßã¿€6@àvÑ¢W€½@¤ÖúO÷¶1À³ØÕ —i­ßÌÑN0ð_ ²û©7´ÖËݯÕNc¯zØ øûo8 ´¾^ÖZoÏ#Ö`àà:w¬©À:`òù†§•Rc—Xž,žr¿×$`50ZkýKû=\æŽ3])Uÿ¬M2gµÖÛÎÓ¯z¹c=]âÙ¾¾ÑZŸóE])5hëÞ>.¿]ýsåyú Æ.s!© Zë…ymŸÇþ À€@u`öÏlŒÖúpÛ·Åþ»Û¦µþ¯RêVàÀÄ®Lù9öçQ®e9¢ .—ëCà¡‚ìÓ¸qã\'NœX åh¯¿þzÞxãÂy³³³yë­·èÖ­›ç¹˜˜Z´hÁ’%K.¸ïÑ£G7nœçqff&3gÎdÕªUtèÐáœíçÏŸÏÌ™3‰ŽŽ¦Fy¶Y§N~øáyùå—©_¿>C† aÕªU,^¼˜§Ÿ>·ôü¼yó˜9s&[·neÍš5ΟÎIDATÌœ93×í»ï¾cÿþ<ç¸=är¹>TJU–×ã°×ƒ¿ X ÌvHå´Ø ¾À^zµp¥Rêìsð3€@c`äù~†œóaPJ©¥ÔDì/&Ó®@ì÷ð”Rê ÷wNŸ€åØ%qÊãöG>C¸ûçû(ø£” ÂþyÞ‡`º]x s'½µØCùg÷U{¾Æ-À»îmn~¾TJº@œ—ciª„ýE¯p7öÚ°Ë÷˱K öÏï8gÍãqŸ²Yè~½>öÉÓö¸Ûº ˜ƒý»éŒ}ÕÈGÀ\ì¿Ï.À ò¨ð¨”ªŒ=©¬ öïä ì¿×¯ç•R“݉îl¿`'¾k°¿äîÅþÒØÕýÞ¿rŸÏk¿Ÿ€ÀVòþ;ºÐ%É-°v`Éi‚ý3®Xî/?g[ænw°û<}n;_‡îßAÎm“ÚˆÑC)ÕÅkv²oŒý¥,X­”º:Ý6a¯‚ÚC)5{ôéyì÷þ.ÐøB>Ÿë&GôÆår6 #ûë‚âââ¨^½ºçñ©S§˜üüóÏ<þ¸çô*k×®eíÚµ¤§§sçwž³ÏêÕ«Y½z5Íš5cÇŽ̘1#?¡¾ìr¹F»ÿÓL¾ÖZ?ŸãõýÀ¥Ô4`‘RjµÖz€Öz¯Rê;ì/nNÃWJ= ,zi­g¸Ÿû7ö‡q¾ÇQJ•Ãþrp[~÷ɧG±Ïµ7ÑZŸÌñü6¥Ô àSàì&Àsnr¢Rª!ÐWkýQ!ú×繟Ÿýrnï¹ß`­~Öóïb'ˆÿä5Ø ü©”šü¤”Z£µþ8çNî/HŸÿrŸ~9íð³RêEà€çCÚÝþ4÷çö-g¨µžïn»ÛYϧ»G|>>8= ”zÀë³ZëçÜÏ=ìTJÅk­¹ŸSØ“?×Z¿pV·[”RŸc)߇ý¥0gß¿*¥Ö÷ÎáxT)u{”búYû-+¥ê úw¤µ^Š=É2§ƒØ?ÛJØ_º÷ÿÃÿ µÖ9ßïîÏœíØ‰ÿÿÛ;÷ઊ;޶„£ ÄÂÐŽ!ƈ¼Lš€Š"Lk!…¡¤â€-EDiëL >ÆÖ2ŒhµåQ¦ òÐ ÔÀ0¶B)T)Akx…g Jщ¥F„†dûÇoorsrνy\Èk?3wîÙ={ι›óÝÝßcw„Ø}ód",IKK«rÄxë­·"zÇ{ILL¤cÇŽ|öÙgQË“”TŠ@YYÓì]râÄ ºtéBÇŽk[½z5cÇŽE3+ß` òòõ©i­?AwÏáže¼" ($ò†“;b^¦”êö©”z ™mÎ×Zÿ»®7 ãíÿ0Ñ#ò€,i#N€ã•R7xLjEÀCÈ̦ÎþF‡#³›ÑÈrtc9çwQJ}Y~ÊÏ4 µv›¹>³Ý‡€|ȇ×-Cî»®«uáëðå~#äg€9aß•#‚xUX½aˆ Á+ò¡:ÙóSJ©+Ú~.ÀŒ± H X ¸X¼ ô¼„íEcb.ÙéwÐ Vz}ŸÉ t¯CVxª°3úfˆëºÚqœ‰H\fVP9¯9''§^íœ;wޏ¸88wî\IJŽãÔXÚ.//'!Á/Ìûâ³jÕ*’’’زe EEE8p€üü|¶oßÎÙ³gë5Ø à `¢ëº¡ùÀšH6_­õv¥T¼Rª›þX‘…˜ @f¬%ˆó.­õ¡¶0xWk]T@kí*¥¶ ¦‹â·`,m`ݣȊD¬hxC4îþ)ÞZk}@)õ)b÷=vè6DpÑZÿ½×k > £¢”+BDe‡Ï±/ý*h­¿2åw¼1(¥n@ìÝW!}ô(Ð=Öm5’AÈ .9§Jÿ*Bøçx´ÝÎè›)®ë^@ì-/•0`@Õ¿Ïœ9æM›‚ŠúRYYɇ~h '99™ÂÂêMÎŽ9BJJ íÚ]ê(¨¨¨`ÆŒddd0sæLJKK«–ósrrj €êÉËÀ}æù‡¸±Eã0ë t+µÖÝ̧»Ö:]kýó‹ ò ×^—û,$ö÷Ù¹ð>çÆ<£ÄŸ¡%Ð qðúi”Ï)ĦÜäß—íˆéad…í?ÈõõŽPõ’¢”ŠG'£-$F«vFߌ11ÛSÇùx&üX||<éééUÿ_·n.Ô?©ÓÖ­[9r$Ë5Š;«W™ÊÊÊøè£èß¿?»wï®w»±@kMaa!………,]*“À¡C‡²fÍÈéÓõކ›éº®ßRY!pâÀ‰döÐR)D¼Ö£‘‚,¶Z̲òPj;†úB4R»pN /îX.Í_,vÿÓZÿ¢©/¤.(¥&"+&=ý¢W”RÇ‘™~“c¢:JP¤U±˜ 팾`Äg*aF]ºtaÛ¶m;vŒ©S§2mÚ´àDॗ^bÊ”)tï¼²Õ«W/î¾ûn^y¥æ;oöìÙ¼ð ÄÅE/feeÑ¡CMGíÊÊÊaw^:wîìû}bb"Ó§O¬·eË HMM ,ãqHy®SDijy\$›¢Rj²œÖh»A²¸Íd¸óÅ„ E"¼hbðNQJ]§”J^²V½vJ©;Í56–©À ­õÏ÷Û€1>‘á×q+âÐè}IçÁV߯ŸUybVÛa¥qlF(IÜÔwY807Bˆj]VbnJˆÀ6$!ãM¹Fc…¾…àºîB`,ð ÀéÓ§™?>$''‡òòò÷Ô©SÌ›7U«VÑ£Gí÷{RRÙÙÙ̘1£VF¹µk×rôèQæÏŸÏWÔöÇIHH`ñâÅdffÖŠµ/))¡OŸ>\{mÍDjñññ<ÿüóŒ7?ºwïÎO_rŸ#vo¿ò“{‰Öæp¥”ïì#FƒÇpž&+¥†´7 {6Ù\÷- ÇqnAÂ}RbyÞ§Ÿ~šñãdztéRòòòˆgÀ€L˜0'Ÿ|207|\\Ó§OgôèѬX±‚={öPYYIZZYYYœ}ú°`ÁJKKIOO'33“Í›7Ó©S'zöìIvv6ëׯ¯ªsÝu×ñöÛoóñdzk×.òóó),,$))‰ŒŒ 233Y²d sæÌ©ÕȦ6Û¶mcÿþýlڴ鳕+W>|þüùnÈKb’Xcª·žy™½ŽÌª"ñÀ];‘8èßi­—…•¿ /º˜ ¼¤µ.7ƒ‚}H|ïB­u™y¹”!áu‹¸ÚG‘øìHÈŒùu­uD±ñˆOõ %ø 5£*€%^ÇA>aÊï6í¦!!u›€_逴»J©Wç¬Åˆ}4Å<£AæÙÒZŸˆpíÏRíP·_kÝ/¨¬§^št¥ùêgA¡RJ©ÑT' ÏÈt pW~Ÿ;¿úW"yº#ÏjÐY:þ5ð'­õÜ€ºýœ»‘PÅÈ=¼7ðdã¡aÞä.f€™‹8¾ˆô‘AÈà Š$Ç™oÂÛ®¦ –Hÿûœ«ù}…lJ©ƒæY,ÔZ1ß} øÅ0Û\³‹8ÞjÎ ýÚÔ¹Ü<ÛшøþI|TiŽw1õfšÏ"íÙ¤É –ö˜ºk?€;¨þý§ÖzЧN/Ä>¿XožS:2`(CúícÀjà¯Zëãžú‰È*Õó»ENC}·žˆÆü&“©éè7Â\o~Øwùž(›PýAH?Ú€˜ÂŠÌ³ÍBúÒýÞD=Æ9ò‡æ¾!ÉyN†Ÿ€¼wN#}aX¡o‘8Žs9"6¾3ƒ†’œœÌ¬Y³n¿ývúõëÇÁƒÉÍÍ­Q/))‰’’&NœHjj*×_=gΜáƒ>`ùòåQý ”RŒ5êȆ Š?ùä“ÈwðŽÖú½(uÇS33Þ^`ödë23ÊPR—j¡ï„ˆÁYª…þ[ˆF95…Þ;“j¨Ðûá+ôa縱i†2ãírt”Œ_fÐ2 ÏŒ$8)@2”åhOÆ.Ÿúßæ!â÷Œ–”´uB)õòlóÇ´Ö¾›¡¿ÅçÐ)`'p(h ãsžPf¼3È3z9$”ê]†ˆNâèYŠÌØßþÝa–шÏSÀj­õ^¥Ôd€µÙý·j‡ô§p¡ŸŽô­WÄþd ³Ú{ýÆê 2ÈÍò¼áaaB¹ùêSü…¾=Ò{…Þ”»øÒnD|##£ï<Ÿ›€éÈïqÁ\ã[ZëµJ©dP¤ñzSÿJÄ0ÌÜëq¤ï¾¯M~ Oy?¡÷ÃWèÍ9:"ÂÊŒw p,Ð>û,¡ ~5þB }}Ï }+ÀqœÁOŒÅù&L˜ÀÌ™3Y¶l{÷¸˜¢¢"Ο?ÏÕW_MïÞ½SÒ¶ κ®»¼©/Äb±X.ÖFß‚1b•†,s5ŠÇœyóæQQQAFF÷Þ{/ÙÙÙ“››K^^]»ÆÚLuÉÙ¤Y‘·X,m ;£o˜=íF²-5ÈK¶sçδoßžÒÒš¹R:uêD=8vìXƒÒÝ6¾D쾋.Å6³‹ÅÒœ°Bߊp§+â¨ó —6T¤9³˜æºnK{³X,–c…¾â8ÎíHV¨¾M}-MÈ!$6>7jI‹ÅbiÅX}+ÄuÝ÷ð—шWx[b?¦Ô׊¼Åb±Ø}›ÀqœáˆºN[(¶PÞžs]w}Ô’‹ÅÒ†°B߆pg0²óh«9•Hþù]×mñq‹År1°Bßq§²göx<û· '»•®ëžjꋱX,–æŒú6Žã8©H†½û‘”®Í•Rdæ×\×mtÞ‹Åbi+X¡·U±øý‘ô¥CüΗG¬tqùxxÙIk¯·X,–úc…Þâ‹ã8í‘üËC€ï!ù¦o@rTÇš ÈŽeÇ€]ˆ¸ïp]·a[òY,‹¥ +ô–:ã8N"ö7"»,%!›\tôù\†lû•ÏÇ>@„ý(Pìºî…Ky/‹ÅÒV°Bo±X,K+¦5„XY,‹Åb àÿ@<è8lw=ñIEND®B`‚qcustomplot/documentation/html/functions_func_0x75.html0000644000175000017500000000421212236016575023637 0ustar dermanudermanu Data Fields - Functions
 

- u -

qcustomplot/documentation/html/QCPMarginGroup.png0000644000175000017500000002675212236016575022464 0ustar dermanudermanu‰PNG  IHDRÝ¡›sBITÛáOà pHYsÄÄ•+ IDATxœíi`eÒÇ«sOÈE § rD@Ár¨ˆ" (+è È­¢x°®¼Šx.¸^x‚x­¼ëÊå"Q5àŒ‚ "Ç!¹'3ÉL¿&Ä$3“Ìôt÷säÿûÔÎôSõôTYTu¥»UU ½Y¹òƒÉ“oe½ a¬7‚€†ÀVá†k#Eé¾øPE=g9|8³wsEQ%lȺ ÷âW‹}Ç=­EIžüMiÐB‘ÏœoL0ú‰*Î~øÎ¥; £zM›?>#£Ó±§»ôxä@ô¨§×Ol/IgvÏud´ŒQôÛ•‰òC„óíã€éF¿€å.:r¨ˆzÍ}òÑÉ-œûŸVB“/oÛ«Û~Ì—ßj¥Óîïk#·×€jÀ÷š4*ÓІ{XjÙÁç ïÒ4LQ”¨Vý¦¿õc‘»òðK=[OßADd›Ò2\Q”è‹9@DŽ #Eéüä¯Îš2œGWßseû8EQ%:¹]æôÕÇ+k'Æ®üÍ ‡µR”˜ö#žØú‡« ø“Y“šò«Ž/œñè´~iáŠ}áØ—÷”x5L ×^¥(ŠÒéžgfg6S”¨¶#eÌZpMëHEiÒeÂÛûíDDäøåű-ã#EQ”¸ ®˜öÖîbõOîzjúå)JXÛ{w”¹þØúÄð ¢%ºÝð‡žŸ˜þg©«a{Ô ´šªÕ²Ýwm§$EQ”ˆæc¬ÿ¯“ÈubYEQ”¾+O¹‰J·MOQ¥Õ=;ì ¹pÚÿNî¦(M:Ýø…î@¼dåÊ9Í@êû }ÿµ—ÃôMo,j ¬NDÝžÿÍéúã³ÿI!"j?ê®yÓ$QüèŽçm}fJÿ"¢¤A·Íœ5kÖŒ›{Å¥›2s朧7ª¬!¯pÓMˆè‚Ñs<úМ ƒ3?û‹£––S«¯#"j’1bìà¶ž°ÚtÒ×%ªê{¹•¾eú¹ŠóÇDq}&ÌIQæ›Ç*k_·Z°æJÏÏѾo¿öžJÜÅW\–JDqõ']ªª–|3£ËÅæÎ[°ðoS6#"jsïŽ2õO-ÔìÒ‘7\?þ™]GÿoLQ\ÏQ7]Ý.¼ÆuiØžëTƒÒj¨ÎY?±Q|ÏëÇëEDÔþÞíŕǗö&"ê»ê”KUK²§5'¢–w_VSHËw?|÷ˆ–DD©S7¸v™+ÞȵŒÃÿoèÊ÷ýSÔ^Ók4½¡°ÊO}08ŒˆÚÍûæøéÓy¿.ND½–©¨Ìyë²?¯^uüúTg"е±Ð[ÞÙ5×FEô˜ýÒ‡¾Ý{¢ÄUG‹#õUáD”:ýë"U­ÌYÖ_9o—¿ œö)Ó÷UT»EüMŸu«¥ÙÓSˆ(éÖ-Åu—x¼ÖrÝ'§]e?Üךˆ¨ÅÙÅjaÖMqDÔâ.k™ªªng™Ó­ªî {iѱ÷×Õ1àícªªªîªëJ›ñM‘ªV_> ¬^¯­{H«Ví:õÁ 0"jq×öUuŸYwCÅÝ”u®Êkû¿ŸçöãµÍ¦l-VUµxë”fD?þ˺?“¸ XÞ¿¡ßŸ¢¨Ör˜^£é %Ø’°òì‘Sn":ºxPëÔÔ´‹g|ë"¢Ü}§êfÔõ’tÕ“ M¯Üóæ½G Ìh×räË?Ûk|ï*ÌÉwQÛË/Œ% OîÖ#­Á Ä6 Ó'mz_§PX“fMˆ¨¢¼ÒÏѶí×51,">-žˆè¢«ºÄQD|óª%n"µäçw§öN‹‹´4I¸à¶¯]Dd/´WçφL¨y]mú´% ozqFjÛ DZµêʳGòÜDÔ¶O; ‘wÑ¥­ˆ¨$'·¤všïv{ÿ©Ó£‰(:½s*?mè½Ã@ "‚éy3}°+"¹]Zµ™±|ÃÆ*þ³~Õ]bêž©„)D¤º|•½J|ŸùY¹åù‡vný×ÓÃ(oãsoî­]ÂÛ¤„Qþ¡ü "Õž{ä\ƒ°4 Ó'Jx‘Ò@s&":B!R…ˆ”Èè: ×ñfÝõþ®ÓÍÇÿ㓬Í럺”ˆˆÔºË‰(<±mZßuÌNä:ûóO§CØ^ ÒªUŸÿÝrv+'RKïÎ%¢¸6-¢<×S’_â"×™_~>ã%$çûƒE*©E¿Ï!¢øÖ©šYÞ¿¡ßŸ"ÎÇÿ 0=_¦¶K–rí¼¿4û棜wŸ[sÓ%±…Ç~ÙþÅOÝ?Üwm]ÁImSÚïÜüÐäië:¸ïÉÛ;GWY¼yRßÎô˜qAÓŠ}‡Šˆ(!->œªt%yà¬áM¶|vlñ„)Ê-);–|îhpý|Ë4Õí&"Rµù›æ¾:là±i¿­ÙXLtÁí÷öO8з5YÿôôôYû“¶-ûÞ{mɧ7_1ldÛc¾(!J7³w“†7Çq—ÐïO¼,˜Þd‚ŒZ–ýáýÃ.Ê[ûêSO<ûÖº}‘ýosa´÷y#Ÿzxpz˜cïšåo½V§ ™~i׈Ÿ×¼ñÜ“O¾øiN‹>ÿóêû÷xîž_~ÓòOÒ:ìÀÇÏ¿¹«ýí×7kp Ê4Œð6ßX<¦CÌ©˜¶àËæcûû×–:véÚ…×¶‰(ݷ姸ÛO!¢ðÏ%-¬ù¨eß®ºûêê®uoÜÛõºùŸn}þŠxÅÒkþÒyý›Ó[ÞÛX<ìo#½–všûÔPûö¯VÄtóÜú¯J à_Yö]Bÿøý)‚–Ó›ã{hWÉÅUŸŠ#¯õ&"êúÜA'Ò¼¨y38HØßtçŽÆbzCÑñ/ÝA o¾­Ë<1ê²ô²¾ù‘åšûÇ·äB0˜^XGÌÆFÙ ¯éND¤$u¼úÎ¥; ¼ÿƒ‘4/aéIc1½¡(*Þ‡ ïÃF€€¼ Ï]B .Xa@À@°Â€.!@aC@—@°Â€€,€0 KdXÀÐ%F€€,€0 `„ è„0t  `„ R RU”ªAÚ¸1ŒÆÙ2,Ï´Å –Øl6mº´-BæMJŒá*’/`NÀU`RýYƒ¢Hu9B#åäg8sa‰‘B›¬%¡Žaq“Õ¡$ÈT).š8ü kIè9€ƒ±B¶ M†«p0†«Èø€Uö㢛úuj¦(–1›ŠÎª–üøÊ”Á’ÃE‰nÕÆ;ûJÏû€»À¶x\—EQºŒ[l-p7ð9à³Ò+8X#C5û¯ï½ôö'Ÿ-Û4~ôç…ç?uåoZøàËk¬rómýæ4jsï÷eªªªî³Ÿß–7ðùÎ9 v¾08>åÖgÝõ|^ã/ÊŠÖ¸0Ç%ÙÓRkúS-Ê÷.èÕûíœJUUÏ®•>3»DUUU-Ý>»EÂuëÎÖóym´ù“ÕjÕ°JóB!ÔiÞd5f,p0ÁÔiÞ$û{X•yÖ¯O¦df$‡9swp¶xQ,Y: hï<ðà ‡ßÏh8˜L°~–Ðþó’IóݰbuŸX"rÙÏÙÉ’ãéÅ(Ñ ±Š½Àîöû¹7Õ}V«•ˆ233=7ù|‘Íf«ÿtþö¡ «Xh3,/ÀÁ¸?ΠÚ³ ñ“±Û.“ž:òõ_˪>pì{¬cL¿÷Nyî¸óÞïsÑ£{Ëý~^m—#D m²:IJB8¯ê, ‡Þ8ø¡’¿}¹zvKÕgQ-/íu4ûw;Ùßv4ªsïVÑ~?ÜÂþ°à`R¢-ÎŽ»¢Ünÿã«É)q׭ͳÛË+ܪªªŽÃ+ojùÂìÓ¥v»Ýn·;*ݪZÕ¬‰¿ò; œ…?¾tuBê­ϸëù¼6&\Ó2,8X£Âð?kØýP»šñ±ù´ìUuþö|·Úq³Ó¿8TUUU×¹ïžÛ© ÅuûÜös®*Aþ>¯u1ÈØ™®ª‰iÖQæM}Ó=¦Ç¢#ê"¯/š·OçsAXRß¿~zà¯7p°Æž%†€g °ÿ;,}ñäA-âÙ+“ÕáYBÀÁ®"ùàùÒ+À²•„2]ŽÐÈZÂÁØ‚ KŒÚdu( uD‹›¬%!@~¤JqÑÄáYKBÏŒ²eXhâ0\Õ€ƒ1\Eò,À ò¥W€d+ eº¡‘µ$„ƒ±–)´ÉêPêˆ7YJB€üH•⢉ò–„ž8+d˰ÐÄa¸ª1c¸ŠXÍ%¤àÇÃalœX°KHp0YÑö­€ñ=6.èñp'lçÂÁd…ÑŠ`ÇÃalœ /„¬†ñ 8ßêBìx8ŒA“6s ƒ‡±q ´˜5p0NœGÓ–˜IÝŒ=Øñpg²:ÑKB8çê+ ƒ‡±qÂÁö°à`Ò¢-ÎŽï±qÁŽ‡ÃØ8Ñ`<—&)læªÁ‡ÃØ8!2öjØÎ%Tá`|«m.aðãá06øÖ¸À³„Àð,!0²óË­ÇªŠ±qòÀú~p09adû¶»rå‰Ê:Ÿclê„ã(Œou‚ ¡på[¿ÌMi·gn$E‰hÞsâ+?ºI±qJml6›§ZÏo²rr̓êµ&¬bx "p0Nœ'Àß'´Å¹qì{¬#QD¯ùYÇŠ‹o¸¿[Tꔯ ÜjÙŽ¹­c®^{þ>kÁºk,­îù¾Ìïçu`u9À¶LVØdXa–$ E_ûøƒCÛÆÅ·9áÅYÿÞ_Ná–¦²U=¦¡:ŠÊTK’%Ìï纠%̇°Puš7É p0ÎÕiÞ$›€‘Úã’äˆêºÕ' l_Õ“F™]ñö»/ˆë½`s®½,gÓƒÑéS7blœD°îÂÁä„™Ü%ûޞܫ™BDÉ=n]²³°Ê=06ŽuÂw á`|«n.!)MºÍX±kÆŠºŸ‡86ÎóŠ5ïWkôÀÁ¤D¶7ŽÊt9B#ëGá`l‘í£¢«b²:Ñ»„\!„ÅMV'X—H|éà©R\dìü€’2,1Rh“Õ¡$Ô!,n²:”„Uxžðb½ -p0¶H•â"c甄Àd˰4 D m²:”„:"„ÅMV‡’ð…|éà©R\dìü€’2,1Rh“Õ¡$Ô!,n²:”„U ‰ Æ©R\dìü€’l–„H¡MV‡’PG„°¸ÉêD- +¿>0JQz½v¬²êŒ“NÒ+8˜lh{–>Tæ¬Õ>£O³ˆžKŽV¨ªŠ±qòÀü~ª “†på}zKÇ«^ÚôL÷èjÂØ8>ÔIðÆQ8Ïê›KHDê¹Í?xhò+S/ŒüóCŒãð@Pà`<8O€¿O0ve‚»xû}w}à»bÕyè…?ÿÄØ8i`œaÁÁ$…M†eÿéù;Öö}ñ3ãjޱqœ¨Ó¼IN€ƒq®Nó&™,×ß}¶çðª1­›ÄÆ&v}`Ÿc÷œN­oü¼cãäi—&/Lò:WÙ's=ÛþhçÈ®OÙŽŸ)ÇØ8‰`[ÂÁd…¹jÝbP16ŽuRt =ÀÁxT'Þ\ÂóDv¸oùýþ7ÆÆ]ƒI…TÏFáQ/~À³„Àð,¡]“Õ‰Þ%ä !,n²:±º„@~äK¯H•â"c甄Àa‰‘B›¬%¡Žaq“Õ¡$¬/„†c‹T).2v~@IŒ@¶ KB¤Ð&«CI¨#BXÜdu( _È—^*ÅEÆÎ(  Ã#…6YJBÂâ&«CIXš8ÀPà`l‘*ÅEÆÎ( È–ai@ˆÚdu( uD‹›¬N°’P-ùñ•)ƒ;%‡+ŠݪÿŒwö•žÿw cãä€mz“m¯Ñ Wþ¦…¾¼Æz 7ÿØö×oN£6÷zÞø±q²Àø£p0IáÀå{tˆêývN¥Š±q¼¨“è£p0Õ‰7—°šÊ<ë×'S23’Ã16ŽËуq~Úâœn”í{qpbË[?=U©ª'¼dXp0¹`ša•ÿ¶lÂ5‹š,új騴p"ŒãFæMòŒWuš7É.`9½;qðC%ûrõì.–ªÏ06NØÿLJØ$vŽÃ+ojùÂìÓ¥v»Ýn·;*ÝªŠ±qòÀ¸$„ƒI 8{¾[í¸Ùé‰_ªªblêDïÂÁ8W'Ø\ÂÈ‹æíSçùü cã@èÀÁdEªg£ð¨?àYB`ìÿ‹9BtULV'I—„°¸Éêì©‘/½< UŠ‹ŒP#@†%F m²:”„:"„ÅMV‡’° ¼ Œ-R¥¸ÈØù%!0Ù2, ‘B›¬%¡Žaq“Õ¡$|!_zx@ª;? $F€ KŒÚdu( uD‹›¬%ahâCƒ±EªW[Æ®9Ï—X]èµJÂWÉ­Nó&…ɰ0…  L Xê¹/îýxþô-ç[gžybôœ¬sòd†2"Xzm¯Ñ2MS˜jþ§¶¯ D3¼ ¡8˜ &F†ø&46o —ýœ, 1žîŒ«Ø ì¾î2Ôéàxº§}ûöµZ­6›ÍsÔWV«UQ”P¾ª£BÛW /ÇóŸªDÍoà` /ÇóŸ:˜ëÏ)L‰J=S˜ü]sõç8Ð| 7p0æ"FIˆ)LÀPà`¢ FÀ¢¤sF»>|ø­]…E»—>òAåõs®Hb½)P‚u á`‚ HÀRš}u키7%E%|=á‘5K®MÆŸóÌÊ•°ÞB0ÀÁAª¿tü å_ºæ’a@ °Â€{Xa@† A°.!,€0 `„ Xa@— Ȱ€! KŒ Xa@À@Ð%2,`è#@À@°Â€€t € º„À°Â€€,€0 `„]B€0 Æ€.!0©–¢(¬·Ìæn„H°´a³ÙÌ\(„:Í›/V/QØ’?°â rƒó÷×Dõ\r´ÂûKwéÏïL»<-‚ˆ"ÒúL]º¯Äí}W—ÓÈY±âýúO€¹¸É°\Çÿ9wqaÏf>¿uxéæY›º/Ù_RQ²ÿÕŒ¬;Æ¿´ß©“f!j4“Õ…žÿOž|k}_³3·7œ;FÈÑQ'[â$`¹O¯ÿë“¥skîó{GήÜfçŽìÐ$¢I‡ë¦h~bçq‡É{ÁPo—æá"`©ç6?üà¡É¯L½0Òϱ㹳–­?Xä(:°îíM•ƒÆwõu¢R›Íæ çõÐùÈÉ5ª×š°Êf³eff2Y¥;lÍí}@ZÀû Z'rlZÀ89>ð `]“ªª»xû}w}à»bÕyè…îѾoj¨ŽÃ«Æ·¬Ús‹ñ«;|œ£ír¬V«†Uš ¡Nó&«ñ{‹µ¹½ ýbu…-ùƒ}†eÿéù;Öö}ñ3ãüŸ£}{ßÕsþ;sË {¥ýÄ–Ù9wy »Ø¼=Ý€¹AHè5µRùß7.# ±X,KE¥Ý°±°ÖIå»ç·ê»ò¤KUUUuŸz¯_t‡G~*¯+‹ƒËUøÉ°`nÌ3¬ðV“7ÌÍ9üûï¿ÿ¾ë£#»>õíÎeWÅQÉ– IÑ׬/$ŠlÑ«säž·–wºB­8½}ù»#;÷LÒgAWÑ¡-BæMVã§KÈÞÜÞ„~±º‹Â–üÁ<`Q˜¥Yz‹*R#â’ÒÒ’£"wÉñÔmD—X¢°Ô±ËþyoŠ‘iQaQi#ßM¸÷ŸKG§àÁ Žñ×%„¹A(pü¶†¢/&|òÖÚêªÕ—ñ{Q†•+?hàO±êsƒ`Ÿaù%aè‡{Vî¾<…nPK„¨ÑLV§cþ(f™ÛNŠ#äè(Š“-q° 6—„Á£(R]ŽÐ]ÌÝA†%Ff²:ú„<ÂI±c„Eq²%,`xã(0©’jÔü€’l–ç!Ø –Q£™¬ŽA—PÌí 'ÅŽrtÅÉ–|¿H\ðOn£ænlH•T£Fà”„Àd+ 5 Df²:t ي–ü€ ]B`R%Õ¨ø%!0Ù2,t ®2t MÅÉ–Ð%s76Kª+¿~u—»²»-9ºã® ¼‚-j~Ð¥$„¹A„* ëf§!j4“ÕqÑ%4ÆÜÞpRì!GGQœlI €ÕÐ0;À!w anàa’jõÜ—33ç·û÷æ¿dõïþÞì¨ø&Ä’æ>䦻Zb}òží£—¿Ø=&/«¾ëôŒ¬V+yf@Š~PÉ«¶ŽîÀÜ¬ÝÆ89>êõ†Ú>—GÊv?ÚãÂÛ7q«õNßÔv9BL65YƒTÀPs{ÃɈP#äè(Š“- ‘T»rÞÌl{ÇîK”Bä²ÛDQi7¬=øïá µÎCÀ!”„07ð‹7Ýëf§B´íLVÇ´Kh¬¹½á¤ÿe„Eq²%1îa…Yš¥[<‡e5‡Ù^ å¦;Ì ü!URð,!0!J À³„ W™ž%4M'[£$ ü“Û¨€¹R%Õ¨ø%!0ÙJB Q£™¬Ž‹g Í‚“bÇ9:ŠâdKXÀðÆQ`R%Õ¨ø%!0Ù2,t ®2t MÅÉ–Ð%s76¤JªQ#ðJB`²•„¢F3Yº„lEaKþ@À†€.!0©’jÔü€’2,1j4“Õ‰Ò%ÔNŠ#äè(Š“-ɰtésQ€¹R%Õ¨ø%!02¬Êã«gô½ 1\Q¥Ég/ßWZ× Õ’_™2¸Sr¸¢(Ñ­úÏxÇûíQ£™¬ÎÀ.!ks{ÃI±c„Eq²%VXâ¥Ó_Ù¸÷TAѹœ-¤2sÒò£•µOQËóϦ{~㯹ùǶ>Òzýô‘ü`g³[~»„07Íã+ôÇí<ûËG“Z5ý¯™’™‘¬×@`!j4“ÕÜ%dino8)vŒ££(N¶ÄIÀjrŲ|µ²øHÖÂäå·Ìü÷)—¿í?/™4ïÐ Kô‰õù½R›Íæùuê9 ó¿` '×<¨^kÂ*†ÀÒÜ>/P¯_¬Z'rø<ðþÁƒ€uŠW‡2ÛÝ­b‡®9ëóKûÁ¥cÒSG¾þk™ïÅü]Nã%°Aª07N2¬jT—Ó¥DDøØ–ãл?Tò·/WÏîbÑSeÐ1>´…B¨Ó¼Éjû›æö&ô‹Õ]¶äöË}æÛ7ßZ·ãЩ“?}ò蜕eWM¹,Žˆ¨dË„¤èkÖ‘óȪÛÍ=1síG3;†;ÊËË.ü×øëÂÜ $X§xªëÌæ‡®é”ADÓ*sÒ+Ö³ž¦‘ë䪉½tªªó·ç»ÕÞv§'~qx‰âár€%!Ì Bc“fM¸dÒçgÝ¯ÐæÁV«UÃ*Í …P§y“Õv«f™Û›Ð/VwQØ’?8~ãhÂÐ÷ v‘çÉ2OlÌ @ª§±ðp?àYB`ìoº3Gˆ¶ÉêÌêr'ý/#äè(Š“-!`CÀGH•T£Fà”„Àa‰Q£™¬NÇüŸ8)vŒ££(N¶$[ÀÂ+(0wcCª¤5? $F [†¥!j4“Õ¡KÈV¶ä,`è#*©FÀ(  ãF3Yº„lEaKþ-`¡mÔ¨€¹R%Õ¨ø%!0Ù2, Q£™¬]B¶¢°%°XAMͬ8üúÀ(EéõÚ±J¿çð×%„¹AHh —N¸ò7-|ðå5Ö¹ùǶ¿~sµ¹÷{?S*sVjŸÑ§YDÏ%G+||ÏÃå~ß8 sƒ`Ÿa…5¿ö±gï“Ù©Eó¶ý¦>:³C^öî3¾æ>¹O¯ÿë“¥sk¡ïˆ:!j4“Õ×%dnno8)vŒ££(N¶Ä>`Õ¤ž©™ê¹Í?xhò+S/Œd°1`07ž^‘\55sÅjï©™j‰õÉ{¶^þb÷˜¼¬údÔir[­V"ÊÌÌôuŸDd³Ùê?Çßÿç„U¬3^ð02·¾`œqõ’Ãá÷^ŸëÀº&=O½S3Ëv?ÚãÂÛ7q«ªóРݣu½©!ÄT“Õé8qÀ7ìÌí '㌣£(N¶ÄGIØÀÔL×ß}¶çðª1­›ÄÆ&v}`Ÿc÷œN­oü¼Èü‚@©ïYB˜hF¯¨©Çá•7µˆ¿|aöéR»Ýn·Û•žYOÅ›oIŒ²®@U]eœÌõplû£#»>e;~¦Ük"—TU­gÌÌ B€}†UñßOžû×ÉâïÚÄb±X,–Œ¿ïw‘»äø ê6¢K,Q˜¥Yz‹*R#â’ÒÒ’£uz$Cˆ¶ÉêŒë27·7œô¿Œ££(N¶Äþ¦{äEóö©ó||Q²wcá˜ES/ªÝ&ŠìpÿÞòûÍÙИ„‚TOcU÷Œdº(A1çYBÏÌÝx`_ê‹§Ð j‰5šÉêDy–Pƒ¹½á¤Ø1BŽŽ¢8Ù’l pÞ8 Œ@¶’P¦Ë¼^2,1j4“Õ×%äNŠ#äè(Š“-!`„Aª¤m#~@—lº„ WÕ]Bäè(Š“-ɰ' KŒ@¶’P¦Ët  ãF3Yº„lEaKþ@ÀƒTI5ÚFü€.!0Ù2,t ®ª º„<ÈÑQ'[’-`N@—‚/ ”Ò]×·c²B3úóBg¹‹ö,Ñ¿U4E¥ö¹o[±÷)|\PÕzÞ8 sƒà!à ³´8õ™÷ÞÛÔÿH§ÊãïO¸òÁÃ#–îÎ;wúÀÆEcZGé¥^ˆÍduFv ›ÛNŠ#äè(Š“-±ã(QL—Ûæv¡Òmÿ‰¤|?§”ï{uá×=^:0DËp"ºtH;÷tæÚá!ÃjW¾õËÜ”v{æöHR”ˆæ='¾òC¡Ûç™Jml6›'œ×s@çC~ '×<¨^kÂ*Ûù9næ¯2CÍí}@ZÀû Z'rlZÀ89>ð `]“VS’=-5ÞÏM ǾÇ:EôšŸu¬¸èð†û»E¥Nùª@§1*B 4Yás Ù™ÛN&î!GGQœlIŒ +Ì’d¡èkphÛ¸øö#ç/¼¢8ëßûËYo ø'”.!Ì ü!FÀŠHíqIrDõXrE׉Oš§±k[(„:'Ô€¡æöFÇ‹ÕK¶ä.–Zé(//wTªª«ê€ˆˆJ¶LHоf}!Åõ¾óÖæ_?þ-'ËíÇ¿xî‰í‰ÃÇ]£ö «èÐ ¡Nó&­¹½Ññbõ…-ùƒ‡€UþÓ‚.Kó!+óK>“f±´ž½½”jMÖ$Šë»è³tÛps+Kl› ›.yᳯL0ø^` 07ÐÇÏ}1qàû“·®Ö4PWÅûFø!èg anYï˜ô,!ÌÝØ*©FÀxã(0Ù2, Q£™¬ÎÐ.!opRì!GGQœl  R%Õ¨ø%!0Ù2,t ®ª‰9oE—Ð4QœlI¶€…¶' KŒ@ª¤5? $F [†¥!j4“Õ¡KÈV¶ä,€0H•T£Fà”„Àd˰Ð%d¸ª&èò GGQœlI¶€…¶' KŒ@ª¤5? $FÀE†å.°-×%AQ”„.ã[ |LHQË~Y>=3=RQ”Èô˧-û¹T7O¢F3Y¡]B¶æö†“bÇ9:ŠâdK,õÜw~<ú–sŽ‚­3Ï<1zNÖ¹ºîé<ðÒͳ6u_²¿¤¢dÿ«YwŒi¿“ÉnAˆÀÜ 4ÏÛѳëG%¤ÏÌ.QUUUK·Ïn‘pݺ³uÎ)Ê—”6=»Ôsζé‰7dyIââr€ªªõŒª‡¹A°ŸüìÌÝyÀÙþ/Å‘¥Ã€öÎÇ~8Ḿit“b3ÆrÿuÙúƒcÓO®{{Så g»Çú’V§gdµZ‰È3RôƒjL^U¿ùüáïÌmòA5œÈñyàÓU|Ã:bªe;æ¶Ž¹zmAÕ¬»ÆÒêžïËêžæ8¼j|˪=·¿ê°Ã‡(m—#ÄdS“Õ…>5Ó_†ÅÜÜÞp2"Ô9:ŠâdKìïa…[šZÈ^T:ŠÊTK’¥ö¾Ô¢oï»zÎgn9a¯´ŸØ2;çî!dë´!š¬Î¸¹„ÌÍí '÷Œ££(N¶Ä>`Eµ¼´sÔÑìßíDDdÿ}ÛѨν[E×:ÇydãÆÜ®wÌÔ2&<¦åàYwvÍݸé¨CŸ Ѷ3Yq]Bææö†“þ—rtÅÉ–Ø,J0g´ëÇßÚUXQ´{é#T^?çŠ$¢š“5#[ôê¹ç­åß®P+No_þÆîÈÎ=Ó£Xïhæ¡ W] ®sß=7¶S"Šë4ö¹íç\žOO®˜ØkñA§ªªªóøúùÃ;&QBÇáó7œpzËáär€ZO—æ!À±É ³&\2éó³îÀWh‹ÂBÜ7YŽwXÅ,s{ÃÉíd#äè(Š“-qPúCÓdMÏU´#8A?Ksƒêi,<\Æx–Ç–YѶ3YÞ8ÊV¶ä,€0H•T£Fà”„Àa‰Q£™¬N”7Žê'ÅŽrtÅÉ–d Xº¼3„Ž9o…¹R%Õ¨ø%!0Ù2, Q£™¬]B¶¢°% `„Aª¤5? $F€ KŒÍduè²…-ùC¶€…¶' KŒ@ª¤Z[ ¹²X]èÕ–@%¡Ž¥%¶d´(a2¬†Ùy€¹O X ³Òs?° ¶-Y6qÑ—%E%^:{Ñ­ë—d4´¨æÝ:w:ê¹ñQÏ™ÚV¾ÐèMjVg6šÌM¾.!O …-éëWb,Ï0»5‡Ùøá„aS @è„r æþ#`¹ìçìdIˆñ„j%:!V±Ø}Ý×Pj@D6›Íf³)ŠbµZ=žOüÊf³Y­Ö¿ª£BÛWïY÷ËÑÖ‰ ¥K¨ÍÜÞ×®ùo[0ÿÄÛ^Ì?ÑñÜÁØO~„?‡Ù%*þ†Ù‘¿ÖCõç8Ð|`&0wã<12¬@†Ùi€¹?ÄXþ‡Ù¹ XJÓ¡¯®]ôæ ¤¨Ä¯'<²fɵÉÜô´€ÞÀÜÀRý¥;@nɰ€h˜ó,!hl `„ Xa@Àº„a@† ]B`Xa@Àîa„áÿÍ8,I‰ÅÜ;IEND®B`‚qcustomplot/documentation/html/classQCPRange.html0000644000175000017500000004464212236016575022472 0ustar dermanudermanu QCPRange Class Reference

Represents the range an axis is encompassing. More...

Public Functions

 QCPRange ()
 QCPRange (double lower, double upper)
double size () const
double center () const
void normalize ()
void expand (const QCPRange &otherRange)
QCPRange expanded (const QCPRange &otherRange) const
QCPRange sanitizedForLogScale () const
QCPRange sanitizedForLinScale () const
bool contains (double value) const

Public Members

double lower
double upper

Static Public Functions

static bool validRange (double lower, double upper)
static bool validRange (const QCPRange &range)

Static Public Members

static const double minRange = 1e-280
static const double maxRange = 1e250

Detailed Description

Represents the range an axis is encompassing.

contains a lower and upper double value and provides convenience input, output and modification functions.

See Also
QCPAxis::setRange

Constructor & Destructor Documentation

QCPRange::QCPRange ( )

Constructs a range with lower and upper set to zero.

QCPRange::QCPRange ( double  lower,
double  upper 
)

This is an overloaded function.

Constructs a range with the specified lower and upper values.

Member Function Documentation

double QCPRange::size ( ) const

Returns the size of the range, i.e. upper-lower

double QCPRange::center ( ) const

Returns the center of the range, i.e. (upper+lower)*0.5

void QCPRange::normalize ( )

Makes sure lower is numerically smaller than upper. If this is not the case, the values are swapped.

void QCPRange::expand ( const QCPRange otherRange)

Expands this range such that otherRange is contained in the new range. It is assumed that both this range and otherRange are normalized (see normalize).

If otherRange is already inside the current range, this function does nothing.

See Also
expanded
QCPRange QCPRange::expanded ( const QCPRange otherRange) const

Returns an expanded range that contains this and otherRange. It is assumed that both this range and otherRange are normalized (see normalize).

See Also
expand
QCPRange QCPRange::sanitizedForLogScale ( ) const

Returns a sanitized version of the range. Sanitized means for logarithmic scales, that the range won't span the positive and negative sign domain, i.e. contain zero. Further lower will always be numerically smaller (or equal) to upper.

If the original range does span positive and negative sign domains or contains zero, the returned range will try to approximate the original range as good as possible. If the positive interval of the original range is wider than the negative interval, the returned range will only contain the positive interval, with lower bound set to rangeFac or rangeFac *upper, whichever is closer to zero. Same procedure is used if the negative interval is wider than the positive interval, this time by changing the upper bound.

QCPRange QCPRange::sanitizedForLinScale ( ) const

Returns a sanitized version of the range. Sanitized means for linear scales, that lower will always be numerically smaller (or equal) to upper.

bool QCPRange::contains ( double  value) const

Returns true when value lies within or exactly on the borders of the range.

bool QCPRange::validRange ( double  lower,
double  upper 
)
static

Checks, whether the specified range is within valid bounds, which are defined as QCPRange::maxRange and QCPRange::minRange. A valid range means:

  • range bounds within -maxRange and maxRange
  • range size above minRange
  • range size below maxRange
bool QCPRange::validRange ( const QCPRange range)
static

This is an overloaded function.

Checks, whether the specified range is within valid bounds, which are defined as QCPRange::maxRange and QCPRange::minRange. A valid range means:

  • range bounds within -maxRange and maxRange
  • range size above minRange
  • range size below maxRange

Field Documentation

const double QCPRange::minRange = 1e-280
static

Minimum range size (upper - lower) the range changing functions will accept. Smaller intervals would cause errors due to the 11-bit exponent of double precision numbers, corresponding to a minimum magnitude of roughly 1e-308.

See Also
validRange, maxRange
const double QCPRange::maxRange = 1e250
static

Maximum values (negative and positive) the range will accept in range-changing functions. Larger absolute values would cause errors due to the 11-bit exponent of double precision numbers, corresponding to a maximum magnitude of roughly 1e308. Since the number of planck-volumes in the entire visible universe is only ~1e183, this should be enough.

See Also
validRange, minRange

The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPItemEllipse__inherit__graph.png0000644000175000017500000000721012236016575026661 0ustar dermanudermanu‰PNG  IHDR€»"áòbKGDÿÿÿ ½§“=IDATxœí{P×ÀÏ’ hµeR)o,¬/ªôÃLËT­¶ö" ,f*Le,u| T;í4S¦"i©"±Ž¤ò0H“”Šƒ òP”Á+(VPðL²÷½wgMBÞð±z~ã»çœýò±¿älv…ó$I" Ð <í`À`À`À`Ðf——&ûÈËË3çÜr-Š8sé>alݺÕÌ‘ˆŒŒ´*™§óàk0X0X0X0XBaf£Ý±³±X,œœœAnn.³ëôéÓÎÎξ¾¾999T#AA8;;544ÐöÍjNcþ˜Éa.\àóù/^T*•UUU|>¿¼¼œîz饗¤RéÈÈHGGÇÇLµSaÇÇÇ;¶bÅ fãlbðmI™}#fO¡¡¡EEEôîÙ³gCBBè®sçÎL”Úyæ™gtuFáããsá™L&4 Õ5>>ÎçóoݺÕÛÛ»iÓ&WWW¡PX[[K˜‘‘Áçó ‚ÐE·¤¦¦ÎŸ?Íš5:i kýýýôn¿»»»Á.f¢$INLL˜ó Ðh4r¹|Ù²e$I†……>}šj?qâÄöíÛI’ŒŠŠÊÉÉ/++ ¤£íÞ½»··wºPÔ˜ƒ íß¿óæÍ:i kœ¹"ÀÍÍÍ`3Q„““ÓªU«êêêèFaR©T(:99!„8I’r¹ÜÏÏO£ÑhµZÿ7n$éééIO­t´#¡˜cx<žNÃÇ|ö¼üõ×_ô®B¡X¾|9µíïïÿ÷ß<Š$ɉ‰‰úúúÕ«WO9..î믿R*•!¶pá‚‚‚ÒÒR@àççG…ºwïõƒQÃ(x<ž‘P&™.¬}0Ç’™Ÿ€òòòÅ‹ÿùçŸÃÃÃ2™ÌÛÛûüùóTWEE…··wee¥J¥êèèØµkýNÑ£ßèéé)—Ë•Jerr2Ý+—Ë…BahhhCCÕÝÛÛÛÕÕe0šÁP¡ƒ*•JƒSÁ°ÆA SI’999K—.upp@w÷îÝšššYÈÆ"H>\ODzúÊ9øææóù&‡™%`nR[Û¹eËq„Pqñž  %ÐéX ‹¯u\®—Ë)(¸ ‹õ°UÀ䤺¸¸Q­ÖªÕ𢢆©){?%ž-Ø*@¡hW©&¨m•jB.oƒÍÇjØ* °ð*‡ó¿ä9âìY¶ÎB¬ RMTT´Ðÿ9¥ÑhËË[è»`¥©ô†Zýؤ¯Vk*+o@åc ¬PXXÐc_ü ÔCåc ìÐ߯R(ÚµZ-³Q£!ŠöTVVÃ>¥¥MoI’,-mžý|l„} ê¬èš³°LÀƒCõõw´ZŸ­–¬¯ÿσC³Ÿ•-°L€Tzcþ|gúŸ“×ɉËl©¬l…ÎÑ2Xü0!ôé§'B?ÿ¼:ëaÙ'àÉ                                 æ±³ææÂLFèîîFåççC'bº 91—Ñe]­<g‡³: ËÐYÒØÀšq¬þ³½9ŽþÒjø   ÌÜ0—ÿœi¬`—ŠyUUUAH¥R+°]3½ ðп0YuÃ^óvîÜìüaNÙ‹Fš1ŠÉØÖä‹êÜX#À.óT*•»»ûõë×,X022BÓ/¦SXXèïïïìììííýË/¿ß¦æÕÊëîî~óÍ7‘ÞžNãtuùŽ9Âãñ-ZTXX˜žžîîîîååUVVfò¼‘ö`—Šy§NzçwH’ܸqcnn.=L¿¢‡‡‡B¡˜œœ¼sçN||<3 ½m²VÞ{ï½—’’¢R©tRÒÙf6NW—ïСC###‰ÄÙÙùСCÃÃÉD ˜ú¨¯¯Ï¢§¡™™™ííí"‘ÈÅÅÅöäf™»!HKK{þùç%Étì|NJJ²oÀ'ž§èQ„ïȰ`°`°`°`°`L| mmmÅ¿a ­­­aaaF°nÝ:#½s 3~Ù½x÷¾ƒƒƒƒó_VK²m12Ö/IEND®B`‚qcustomplot/documentation/html/inherit_graph_2.png0000644000175000017500000000140012236016575022711 0ustar dermanudermanu‰PNG  IHDRS#gò¡–bKGDÿÿÿ ½§“µIDAThí™=kêPÇsìÕÔEP»¶¡´K£Aqi?†®ÖYpèh‡~qÑNiAEbL|i)ÖAÜ…ÐÉÙb´ÐäÜ!b“Æ6·V¸ÉoÊóvÎó÷ω „ˆ!±lºa*7äÆx<îõz›jeÝÄb±%Ê(•Jêê7€Ë¨ìvøß¡º¢Æýž›Ê‡©ÜxèT^(p·Ùl8ŽßÞÞÊCÅb‘ E)ŠŠ¢‘Hd8Êv»$É|>¯=#@_«Ÿ¢<ýW^ Ãx½^ŽãAhµZ^¯—¦i)´»»Ûl6çó9Ïó‰DBô‹Ã¾¾¾f2™P($w ‚À²ìÁÁA>Ÿ×˜ô+}†ª.=ÊOOO«ÕªdV*•““)T«Õ”%Ò°óùÜn·pBiš&IRžØßßg.ÿšTMÐæÇ”»\®Éd"™“ÉÄétª†äJ „oooÊ5y~~ÞÞÞ–—,‹n·ë÷û•ɪ ¨êZzo×Íb±X™°Ùl@àúúZ;“eÙóóóÑhôþþ¾µµ¥#á+è9Ⴘ¿¿—Ì»»;’$Åçãã㇇Õ*q̓A8VFûý>Žãâs2™¼ººšN§‚ ¨~¦+¾ÄÊ]¡„¦é½½½v»=›Í:†aõz] 5 ÃX–}yyáyþììì³½*9g³ÇqòÎívw»]AÒé´Tèp8žžž4¾»Ûõ(‡Råóù, ‚ 777òP¡P8::²Z­â­&ùqnAEÑ`0˜Ëåäƒïììx<žËËK©ðââÂápˆ¦j‚?©\"•JE£Ñétú­ª_f-'\6›ýÇ6…ùöj Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- s -

qcustomplot/documentation/html/functions_func_0x76.html0000644000175000017500000000237712236016575023652 0ustar dermanudermanu Data Fields - Functions
 

- v -

qcustomplot/documentation/html/ftv2cl.png0000644000175000017500000000070512236016574021053 0ustar dermanudermanu‰PNG  IHDRÚ}\ˆŒIDATxíÝ;H#AÇño4Љႇ œ„K‰‡‚á ’ê,m„ØØ vÚžJ°²¹ÚÎþî‚§ XY ÅB|dr³cvo—˜Ä°Ý ù0Ã’™3ÿͤõ”Ëe×´¸Éõ¯1XÞ8Œ‰nQˆ88ööÖ§3*rbñ¯¢û-$¨‚þ´˜“P1Žè@Z…-# Ïú01ÑÏÎêÄ1HkKŸ w¶O@¥ªÈóñ!f§ñu˜åác÷;’sá×Bý[E´Añ±—Í\ß>°ùý¿ÏËÊÂ]–P€zØf| Íñ¯“+Ù´gð5…b  i5ümM³œ_æÍq,ÒcŽõèoÓd´ !¶äò©ô•,ôðÀ{¹¨µYß,€zTÍ8H]𤕘ï7¼»/òó8ËQæ !F€~6ãá?Y ÀA@ŨÁ.@ƒ¶TäÄYïŠËë±r‘µ8Ð*·é>€Šçÿ?€×þŸe[6«xÂIEND®B`‚qcustomplot/documentation/html/namespacemembers_func.html0000644000175000017500000000226612236016575024362 0ustar dermanudermanu Namespace Members
 
  • getMarginValue() : QCP
  • isInvalidData() : QCP
  • setMarginValue() : QCP
qcustomplot/documentation/html/ftv2vertline.png0000644000175000017500000000012612236016574022302 0ustar dermanudermanu‰PNG  IHDRɪ|IDATxíݱðøScOx@ –¨y}IEND®B`‚qcustomplot/documentation/html/classQCPLegend__inherit__graph.png0000644000175000017500000001206312236016575025645 0ustar dermanudermanu‰PNG  IHDR‹PõðbKGDÿÿÿ ½§“èIDATxœí{PçúÇß\ @*Bí(Úृ« µDª m§/=uZE=­v:ÖQQ;­:Å3^ÚiO¡§èG§(Ö1$PÀ‚åV­@¹‰x¿ß@ $ H²¿?öw¶1Yb7Ùg—ç3þ±ywßwŸðq7o–e¿Š¢)ß O A A A ‡r ¾«ñññ®ý¨å.ïrݺu3fÌàð=ˆ˜ï¿ÿÞå¾®š1cFbb¢ËÝÆå¾ø94444Ä‚D"q°Ñ¸×PFFFhh¨··whhè,W:t(,,L¡P„„„¤§§Ó‰D"‘(ŠÈÈȺº:¦Ñ­EBÇåo¬jµÚþ6………*•ê×_ÕëõÅÅÅ*•êØ±c̪ààࢢ¢îîî«W¯~øá‡Ì°E †~øaêÔ©–ž„uOSF||¼ËßXÝh(&&F§Ó1/³³³g͚ŬÊÍÍe–^èîîöõõµj´ÚR"‘Œ7®°°°´´444Ôd2Ñ« ƒJ¥ºråJkkëüùó‡ ^UUÅtLMMU©T‰Äv(¦eãÆJ¥2""âúõëVe°k †ž}öÙöövæe{{{`` ë*Ëa)Šêííuä2™Leee&L (*66öСCtûÞ½{/^LQÔ¢E‹ÒÓÓ CAAÁäÉ“™Ñ>þøãÖÖÖ†¢·IIIéììܼyó»ï¾kUë°öŒ!ÖU–ÃB¼½½_yå•êêj¦Ñj³¢¢¢ððpoooBˆL&£(ª¬¬lâĉ&“Él6Oš4éܹsE 6Œ9™K¥Rf´ŽŽ;CYnÓÑÑ`Uë°öyCnœ)„……ýöÛoÌËòòò)S¦ÐË“&M:yò$k/Š¢z{{kjj¦M›6ÐÈË—/ÿúë¯;;;õz½Éd"„ÄÆÆ>\«Õæç燆†Nœ8‘ª©©‰~Ÿôf4v†z" ë.\K8†Ž;6zôè’’’®®®ÒÒÒ1cÆäååÑ«~ùå—1cÆ?~üáÇW¯^ý裘aY÷eÕ2lذ²²2½^ŸœœÌ¬-++ ‰‰©««£[’’’’’’Z[[oß¾½hÑ"ÖÑX‡"„¤¤¤èõzÖ³ë°öz–£(*==}üøñR©”²ÿ~ËU/¾ø¢——=Ûf†eÝ—Õ©ôôôçž{näȑ۶m³ì3gÎæåýû÷/^8nܸÌÌLÖ]°EìÎX‡µ\C «W¯ŽŠŠêììtmwŽÐÛÛ»lÙ²ÆÆF÷íÂežÆë¿}pŠ]»v¹u|‰D"“ÉöíÛæÖyr7”xí‹×å ƒ† ƒ† ƒ† #*CE:TÉw\ãÚ$ïªÙñò1|øG|WÁާ¿©Õjnß'èt7ÊË[þóŸ}cÇ>Ãw-Ö»ÖQö€p³™š<ùßííÝ+VÄìØ±€ïr8C<ŸC'O^noï&„hµÕF£™ïr8C<†²³kår!¤³ÓpâÄe¾Ëá ‘2úóòŒF!D.—êtµ|WÄ"1TZz±§§^6Mùù C?¿%q…H eg×Ò¿…¢1ŒÇŸã±ƒ!½ÞPTtÖdú{v “I²²jx,‰CÄ`¨°°Ñjòf4šKJ.êõ=|•Ä!b0¤ÕÖØÞ–j6› ÎðQÇÞP[[שSWÌfÛÛˆF#†à åå5Ârc7EQUU×Z[»<_·ÞPvv­ÙÌ~Ál¦òóO{¸Î¶¡?ÿÔ_»Öêç§P*J¥ÂÇÇ[&“ÑËJ¥B©ô))¹ÀwO‹x®œBŽ9½råþæf×ÿð Â>†h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:h:=033“¯:8¡¾þ>þ»~,Šþ³1G*Uxy 绊§Åêy›ÖOÑT«Õ˜TÌ# V-ø9444AmHY¼®JR±å.$ãî]Û©Äi¬¾‰)©Ør¬»ó@ ÎîÈ6ÍiC¼'ß¼y366ö™gž™={ö­[·lG#6‘^vvG/ ”~¼cÇŽ€€€#FdeemÛ¶-00pÔ¨Qö{mß¾}èС*•*??ß¶ûp`ˆ÷¤âùóçoÞ¼¹³³sãÆï½÷žíhÄ"Ò²Ñö'Å, ”~¼eË–îînF£P(¶lÙÒÕÕ¥ÑhBCCŸØ«««+33süøñö߬-n1äá¤â€€:pØò?‡#†X £J?îéé¡(Êh4Z.3ÑÇOìeÙÈþÓ´ÁÖÓ3Þ“ŠY‘J¥t—žWžL SìããC‘Éd–ËÌOì5ÐÃ#.Îòÿü¤âùóç3ÃÌY.$$$33³»»{ëÖ­L_Û¼[Öž˜~̺ìx/ËJìÃÁYŽâ;©˜ž)(•J˙‘#Gžþù¡C‡~õÕWLß­[·úûû¶,P«Âž˜~̺ìx/ËJìÃ!†AžTìl =Ub.&{ЙƔð©øô êër‚ A A AGl†>ìå»ޱžËUTTðR'ôõ™rso%$¼Àw!®s÷î]•JõX“å—#žªâ Ÿ  U è¯OÄÞ7V¡Kú׿ö?~N§ûãŸÿœÊw-œ!žÏ¡®.CYÙBˆ˜ÂX‰˜ åç7˜L!¤¸øBGÇC¾Ëá ñbRï(Šäç‹!£F$†ZZ:++¯ý/¯Òj«y.ˆ;Db(/¯A*ýÿ;žÌfªºúæ½{ø-‰+DbH£©¶ ü”É$¹¹‚Ï(¤ƒ¡7ÚïRÔß7˜LfF$':1ÊÍ­—Ë¥–©¬E.\h¾v­•Ǫ¸B †Ôê?¬rÁ !r¹,'§Ž—z¸Eð†ÎŸo¾uë¾m»Ñh:|øÏ×Ã9‚7¤ÓÕyyÉXW55uœ9sÇÃõpް Q¥ÓÕf¹\fûräˆàgt¾ ÜÖÖýÚk/2/oݺâÄå%KþþSw??o>êâL†Ž°Ïrƒ444444444444444444444444444444444îÿJ255•¯Gqvtø\¿ðÊ+-¼ì²aÆÇ£¹€ûc¨¢¢¢²²’óa!0ÐÀ£­V{ç÷pËß‚GEEi4wŒ 7 âçtÐtÐtÐtÐtø4$Äôjð@’+M¯¶¿™S)‚Žîó4$Ðôj;¸Éog¹³gÏÆÆÆ2/gÏž}öìYfÕ¬Y³êØ××·oß¾ &Øœ¢(£ÑøÓO?%''Ïž=;((H­VÓ«<²fÍšèè覦¦éÓ§Ó ° E,ÒAy€sçCM¯¶Ù1$Êôj·À¹s!¦WÛˆl¦@ 3½Ú"4Ä Žôj7ñ$ZL¯¶Cî†òÓvñºtÐtÐtÐtÄfèÒ%Þîõqn™ËUVV&$$¸cdûôõÉ._~6,¬Íó»vÜâü–>Çùë/_½^Ñ×'óö6y~ïñññÁÁÁœ+ªdŽ×_ßyáBsJÊüU«^ã»ÎÏçÐÍ›]¸ÐLÑjkø®…KÄc(+«ÆËKJ¹xñž˜æ â1tøðýýfBˆ\.ËÍ­ç»Î‰¡††;MMô²ÑhÒhªEóù*C99å65uÔ×ßæ±ƒ!“ɬÑÔô÷ÿ=ÃM+‡¡ªªëííÝ–-F£)+«Æd²ŽÑ"b0¤ÓÕÊåÖo¤£ãÑ©SWy©‡[o¨¯Ï˜“sš-uZš]ËKIÜ"xCåå—>ìµm7ÍGžîí5z¾$n¼¡œœz™ŒýÎ÷GúÊË/z¸Î¶¡žž¾ÂÂF;3Nð3:a_9Õë 難¸ößÿ©ÕŸ2- …<2ò>Jã aßëãïï3kÖ?˜—!–-"@Øg¹Á‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚SO¸ç»^{xy=7dÈL¾«xÎ&8ýw¬QQQëׯwGéܱ†ïäý÷ßw¶‹Ó†T*Ubb¢³½ áçtÐtÐtÐtÐg¸)úØ]†š(]VVöúë¯2Ä××7:::++Ë‘^îÅÙo¬"N”... :xð`KKKOOÏï¿ÿ¾`Á׆²³³ßXÝbH ‰Ò3gÎ<|ø0ë;"„¤¦¦ªT*‰Db9Ôõë×#""”JåÆÝdÈ-g9&J×ÖÖ¾ñÆm|þüùºº:³ù±gÙ%''¿õÖ[ÍÍÍtf©[pʧ¸¥}}}ïß¿oYåfô€V½†J·wtt8òÃ$@Ž!&JO:µ¤¤„)†zü40ÐÈîÅ)ŸâN”>vìØÈ‘#Õju[[›Á`8sæ a;Ô,_ZîÈ‘&2S ›(]PPíëëëçç[\\ÌZñàLÁ]†Ä‘(Í.rûsN1Qú)ö“h‰À¥¯ËA A A AGT†(Š:t¨’ï*8Æé¹œV«õèoGœÁËkD`àœ¤$ÞB•ÝsÉwîÜq_5O‰Nw£¼¼eݺð±cŸá»–‰ŽŽV©TŽo/ììKÌfjòä··w¯X³cǾËá ñ||éÒ¥o¿ý6ùßF.—‡„„lذaüøñtcii)/õ{ ÕÔÔìÝ»wÓ¦M&L¸téÒ7ß|I¯Ú³gÏçŸÖÞÞž‘‘A"„”––ö÷÷=ztçÎ{öìñ|Ù|ÁÃY.##cíÚµ/¿ü²ŸŸßÔ©S׬YóóÏ?3«’““§M›æãã3jÔ(:þÁËËkΜ9·oßhä|ùå—sçÎ]±bÅÅ‹éÆæææ•+W¾óÎ;{öìaNS¬[ÆÅÅ8p`Þ¼y‰‰‰UUUtã½{÷>ýôSº;·?áÁÐ7˜xVBÈK/½tãÆ fUxxø@FcAAÁèÑ£Ú`÷îÝ111999Ÿ|òÉÎ;éÆ]»vEFFfeeY>L˜uKBˆÉdÒh4«V­Ú½{7³eDD„UwO"²µO\\œ\.á…>ûì³¶©®®...þöÛo !LÀKcccJJŠŸŸß|À¬¬[B’’’¼½½cbb¶oßN·444lÞ¼Ùª»'áÁиqãΜ9óꫯÒ/BBB˜UÑÑѶ½™P¥Õj‡ æò–tžµT*¥ÀýÇ|ðàAkk+‹K ËÌÌ|ôèð>Ж¬L™2…î~øða'ß(7ð`(22rùòå©©©sçÎ]¿~ýòåË£¢¢èU+V¬Øµk×¼yó¾øâ Ë+Vâ, „¬]»–¢¨eË–­[·næÌ™ô6«W¯®¬¬\¸pá£G|}}éFÖ-YY½zuuuõÂ… zšª»áò)š mmmN]ÛNKK»téÒÎ;ýüü¸*ƒ£Ñ˜}òäÉ´´4·î(..N­V'&&r5 Ï3…µk×z`/qqqR©tìØ±›6mòÀî¸Ä\ÎÝúÒ^—ƒ‚‚‚‚Çs¹¶¶¶²²2nÇäplèüùóÛ¶mãvÌAލ’9D ~A A A A Açÿʰ„:º¶+IEND®B`‚qcustomplot/documentation/html/classQCPItemCurve__inherit__graph.png0000644000175000017500000000717112236016575026356 0ustar dermanudermanu‰PNG  IHDR€»"áòbKGDÿÿÿ ½§“.IDATxœí}LSWÀÏ¥ Øt#ÄLJN§L™@šlfÑI&ÛPtÇ>2!‘lj¦ L—}°°‰nÙ˜K:#´È‡ ²¶:5¼ ò¡”à+(N˜@  mÏûÇ]n®miK[x¸z~ásÏ9÷¹ýÑ{ÛK{ cŒp8A'ð¤CCCC@ƒ­   :MîQPP`ÍcËŸTÄ©K÷1cÓ¦MVΜ„€ØØX›’y±^¹CCCC „EQVv: ‹Å...ùùùì¡ãLJ„„¸ººäååÑEQåêêÖÐÐÀt:6«õoÄ,N;{ö¬P(ÎDîCCCÃmÍÍÝ--w ³°‹I¼ š·éÝÝ× „††Lßäà”5¯çîܹséÒ¥iÈfR`Œ¾ø¢ž¢¨ÌÌå3ð#<<\(Zœf•€™ImmçÆ‡B%%;ÂÂü¡Ó±_¤Ò:>߉ÏçI¥W s±® Ó–”4jµz­VW\Ü0>îè»ÄÓW(íjµ†n«Õ¹¼ 6›áª€¢¢+<Þ¿ÉóxÔÉ“\= qR€Z­9s¦…ùç”N§¯¬lažÜ‚“ªª®kµœôµZ]uõu¨|쓊Šêzä…?E!©´*{àž€þ~µBÑ®×ëÙ:V(ÚÔPYÙ ÷œ>ÝdòÍ#ÆøôéæéÏÇN¸'@*­³ahÆÂ1÷ï+ëëoëõ&žz=®¯ÿßýûÊéÏÊ8& ªêúìٮ̋ ßÅ…Ïî©®n…ÎqrpøfB胎"„~ýut"¶Ã±gÀã                                Ì#+fÍÌ…™ÌÐÝÝ*,,„Nd.äÄ^F—sµòx¼¹<Þ\è,&‡Á’Æ&ÖŒãô×öf8ÆK«‘k0D0D0D03KÀ \þsª±Q€C*æÕÔÔPUUUeCö«bG`ÚÆï,VÝpTżmÛ¶…„„$$$°+XSöcR3­‰€XÅdì kñ ïlàŠyjµÚÓÓóÚµksçÎf¦Ó)** vuuõõõýí·ßð£oS°uµòº»»_}õUWWWdôF‡IÏ s¢º|û÷ïóçÏ/**ÊÌÌôôôôññ©¨¨°ø¸aG pHżcÇŽ½ñÆãõë×ççç3ÓŒ+Úyyy)б±±Û·o'''³2m‹µòÞ|óÍôôtµZm’A›Ý9Q]¾}ûö K$WW×}ûö I$’ÀÀ@‹ž:6TÌ[»v-ʉ'^{í5fšqE»ôôôåË—ôÑGÕÕÕì€ì¶ÅZyÀ 1‹&ªË722‚1Öjµì6s ó8ìTRRÂl3§ ˆˆˆ²²2“foöôôðx<ö¯G—ª3)cÜÙÙùã?†‡‡ÇÇÇ4. ËÊÊFFFT*3dƒ///¦€žù½Œs˜Ç°¿b^VVVRR³ùþûïgeeá *Ú¥¤¤Ü¸qcllìâÅ‹ÞÞÞt§‡‡‡qÅ5“µò6nÜøÙgŸ=|ø™f2»Ób]>0ØîŠyK–,‘Ëå̦B¡ O²&/¹¹¹ .œ5kVpp0sñÏÈÈððð`_BÙ¹×Êëîî‰DÎÎÎLÉìN‹uù 0LCÅ¼Ç cör›êŠy=3ëVÄ    ·Œë¸[¾‡ÆÄËP}̦¹¹Ÿ¢Ph¨t"¶cBÀ¦M›¦?ÛÖ!„+ ±/Þ­R††îE]»vÀÝ}t:6ÂákÀ¹s×u:½N§?wŽcKֳᰀ‚‚ÿ4¸Wôõ ]ºtS¯Çz=¾xñF_ßtF6ÂUååM¬JVË÷ÐpU€DRÇT²Òë±D½ò=4œÐÕõ ©©›yù†1nlìêîîMÊF8) ¬¬‘©äIÃãQeeW¡ò±N (,¬Ój©¤§Õê 9y➀¶¶{÷2|ÿxóæý¶¶{ )Ù÷””4ðù<ã~>ŸWZʽ³Ç`Œ¥ÒzƒZ¶4Z­N"©ãÜŽ hlìîéäñœø|žÁçÔÓ3ØÔÔ ãä°÷SÓ̃à «™Í n „""þÃôüóÏ0@ZvÀỡˆ”2$Ø                                Œå¯(egg_¾|yz²™,„¿ÿ t"¦Y½zõÎ;Íϱü%½Ë—/+Š   eåHÜÝûB}}Ðy˜¢µÕªe¤¬ú–dPPPFF†]éûlbbâÚµk™¡šššcǎݹsgÞ¼y‰‰‰¯¿þ:BH$!„ø|~@@ÀÎ;-ZDwÊd2vÃLwFá0õõõGŽÙ½{÷âÅ‹ÛÛÛ¿þúk@Fåææ~úé§!!!ýýýb±˜y d2Ùøøø©S§²²²rss• “ÒDÇ98ì$‹SSS—/_îææ¶lÙ²;vüñÇÌPZZÚŠ+fÍšåãã³k×.öŽÎÎÎëÖ­ëêêbwÒO‘HD7?ÿüóõë×'''·µµ1sÄbñ† bbb.\¸ŸŸýöÛo×ÖÖš?.Ó -‰$Ill¬H$ŠŽŽV*•t¿R©ŒŽŽ2™ƒý8LÀ­[·–.]Êl¾øâ‹·nÝb†BCC'ÚQ«ÕVTT,X°€ÝIŸ|d2Ý8|ø0]=.%%%++‹½¯D"IKKÛ¿¿N§+((رcÇO?ýdÍq¹}ûvnn®L&‹ˆˆ(//§;O:éîî>Qv2…ëét–Wö‰D|>ßßß?==ÝÌ´ºººšššo¾ù=Zq6>>ÞÅÅ%""b||œiùå—¶%üá‡Ι3!³{÷îÍ›7cŒKKK¿ýö[39؉Ãøùù577¿òÊ+ôfSSS@@3ÔÒÒn¼—•—YŒ±T*ew¤¡ FÒõä˜6³ ëDÇ¥(J¯×;99i4v?ýè#„.\èãã£P(0Æ>>>þþþfr°‡‚âããsrr®^½:22ÒØØxøðḸ8z(!!!''çÊ•+¦§§ç»ï¾³& ››Û½{ÿ®‚øòË/ÿòË/ƒƒƒ½½½°2¥‰ŽëããsþüùÑÑÑ'NL´oLLŒT*-**zë­·ìÉÁ"{„……%%%eggÓ0÷ìÙ³jÕ*zhåÊ•ÉÉɇº{÷îüùó­ »}ûö‡Êd²ÔÔÔƒnݺuΜ9)))V¦4Ñq?þøã~øáûï¿ß¼yóDû®Y³æçŸ¦tm9XÄòÿÞyç¾¾¾IÝ ÍÉÉiooÏÊÊrss³+;.“‘‘ñÌ3ÏH$óÓ¦ä"œšš:aKÈ­`ˆ`ˆ`ˆ`ˆ`ˆ`¬zÚÚÚJ>1YZ[[£¢¢,N³,`õêÕçŒ‰ŠŠ²æ¡ãöâÝä    ÌÿÎËõIEND®B`‚qcustomplot/documentation/html/sync_off.png0000644000175000017500000000152512236016574021462 0ustar dermanudermanu‰PNG  IHDRàw=øIDATxíÝKhTWÀñÿä1I&3™8M¦Iš™†I3Ú©b$cÌ I1V1±-(Tö±±Ð.* t!‚K[¥Ä¥ˆ„¨´f£`l(øl©"Y”¤6ÆgÌTú}·sgîܹ ±d{8?æÌ¹÷;çÜuíÚ`:!±F¬¢BäŠ?ŰÄm'yÊÅ>ÑlU¯½üý‰è_‹?€Œê ]€Y(ŠNñ±8fý1°Öqún-eâ¨øtºmâÈ Ó0}b›ù%·©µ×Œ®=Ÿ0´³?Š1sŸ‹0€¯8À‘;_ ‹W|%\ Zð— >舽ln¨p©.aÇ{ )t;Ú b nŸš¯›65°¢¡2çÅÔ?Žž>Oдàuönm¤¢Ì`×­Z¬WjC~>‘Ö¾0+á {{©fÝ×Mæ·æÅ•ìÙ¼˜` Ý›%uA6´½ÅÆö¨Á,]k¢ÄW¼™u±›]‹ˆ7§¯iòh€ ¶¶¬ÏÖu1 ló —Ҷ̺–:ÞÍ\ÄcãÏxøhR²Êè‡Qt$¿ß§¨ ª fdºü<4BÿÙ[•f¸d7=.Mé9/—éªÃëù/ÿO Üaàò}€,‘j?Ÿõ.5Úšm?œÿŸ®ŽXÿ2¬#¸d píæ(£?cÛú¼!½›a1¥Þ—ŽòØ©ܾ7dÔK:‚ùÒ‰ì)Ê3‚Ü™àÌà]€,±H€µ+køöäu<|`·LhC7¹ÔeÍ Ÿ×Ÿ˜tÜ‹ óH$^2%l.êaeÐäýE”ÌÉ|ÅÜìî‰Ýsä }¸ýDû^hzé~ðR›¦Ã¡¿]|#ü¯@×—Ö‡[k¹–<|š(Ç*€Ý¹dÇtMé:Ýñø«Ø,êÅû¢]”' øXÓ_nò¡Æ|Øý /c§fžâOIEND®B`‚qcustomplot/documentation/html/functions_0x77.html0000644000175000017500000000272512236016575022635 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- w -

qcustomplot/documentation/html/classQCPLayoutInset__inherit__graph.png0000644000175000017500000001101712236016575026725 0ustar dermanudermanu‰PNG  IHDR‹\¶ƒ´bKGDÿÿÿ ½§“ÄIDATxœí{PçÚÀß\ ˆ ­Z zpð€¨UñÒKìØiµhÏ 0"êuœSQÛ±”QO½´c´zDfÚq´RiB"(Ôï÷K£5*H@H`“ýþØï[c!„ ûìúþÆq6ïîû¼Oøe7onï# Ia#d;L`CÐÁ† ƒ AilgÍ=¢££íûS‹írýúõ³gÏfð>ð˜={öØÝ×~C³gÏŽµ»û[…B¡°»/~‚6l:Øt°! ÇÊÊÊò÷÷wvvö÷÷?|ø°é®#GŽI$??¿ÌÌLªQ ‰DzñâEºÑ¡IBÇîW¬r¹Üú1ÅÅÅR©ô?þÐjµeeeR©ôäÉ“ô.Ÿ’’’öööÛ·o¯X±‚K’¤N§Û»wïÔ©SM‹#$èèh»_±:ÐPxxx^^}3777,,ŒÞUPP`1,µÑÞÞ>dȳF³#¯¯oqq±J¥ò÷÷7 Ô.N'•Joݺ¥Ñh¢¢¢†\]]Mwܽ{·T*=CÑ-)))nnn3f̸{÷®YÃZ¨¡áÇ777Ó7›››½¼¼,î2 K’¤^¯·å2 $IFDD9r„j?pàÀ’%KH’Œ‹‹ËÌÌÔétEEE!!!t´Õ«Wk4šÞBQÇlÞ¼¹µµ555uáÂ…fiX kÎòðð°¸Ë4,BÈÙÙyÚ´i555t£Ùa%%%ÁÁÁÎÎÎ!‘HD’dEEE`` Á`0“&Mºrå I’#FŒ /æB¡ŽÖÒÒb%”é1---žžžfiX kràL!((èôéÓôÍÊÊÊÉ“'SÛ“&M:{ö¬Å^$IêõúÚÚÚéÓ§÷yåÊ•ß}÷]kk«V«5 ¡ˆˆˆ‘#G*•ÊÂÂBÿÀÀ@*”Z­¦î'u…§§§•P}Ò[XGaŸXdÃ9tòäɱcÇ–——·µµ©TªqãÆ8q‚ÚuêÔ©qãÆ•––¾zõêöíÛ tX‹c™µŒ1¢¢¢B«Õ®[·ŽÞ[QQ~ñâEª%>>>>>^£Ñ<|ø0..Îb4‹¡B›7oÖjµ¯rÃZèUŽ$ÉÌÌÌ &…B„Я¿þjº+++kâĉNNNÔl›kq,³‡Tffæ;ï¼óÞ{ïmÛ¶Í´Kxxøüùóé›/^¼X²d‰———¯¯oNNŽÅ!,†BVg ÃZ®!šÏ?ÿ|Ö¬Y­­­ö g z½~ùòåMMMŽÂnbÈþOúž}û_ ˆD¢ƒ9t Ág 9’¿ûâ÷å ƒ A‚6^"IòÈ‘ólgÁ4öMÒÙÎÚ2NN£FŽL`; Ë öë!¹\Îì`„¼¼{••ýç?ÿö7w¶s1ÇÇÇǾް'D1É77·¯Z¾cÇ?ØN‡1øóq¢‘ !±X˜—WÇvFŒÁC*ÕõÎÎ.j› ……:]7»)1O åæÖQŸBQètDiéóa>Òju%%— †×³‘Hpôh-‹)1 7™MÞÂX^~]«íd+%áƒ!¥²¶ç×RFcQÑ%6ÒaÎzö¬íܹ[Fcϯ3 …‚:Î:q¢! _ì&I²ºúŽFÓ6ø)1 ç åæÖ–ßA0ɆA·q¸mèéSí;WW‰››ÄÍMâââ,‰¨m77‰››Kyù5¶s(üyç!tìXÿþõëãÇöÿð Ü>‡Þ°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è¼±`NN[y0B}ý Äý{áããóF)bøkcÚŽP(qrÉvÅl½MóU4år9®TÌ"111f-øy:Øt°!è`CÐy« q¢¯=†¸R©ØtÁ›8zh+™ô³×C|ªTl:„Åá!‡þÔ³[¿ ±^©øþýûîîî‘‘‘<è õ(éee8j£·êÇ;vìðôô5jÔÑ£G·mÛæåååíí]TTd½×öíÛ‡ &•J {fb ±^©8***55µµµ5%%å³Ï>ë ™”„4mìù—¢7z«~¼eË–ööv…B!‘H¶lÙÒÖÖ¦P(üýýûìÕÖÖ–““3aÂëw¶'14È•Š===©‚æ[ YLŒÚè­úqgg'I’A˜nÓ¥ûìeÚhù¯Ùƒž†ú=S`½R±E„B!Õ¥³ÓžõÉ^Ê»¸¸ „D"‘é6}@Ÿ½z[<²ßÉ™>¦àW*ŽŠŠ¢ ÓW9??¿œœœööö­[·Ò}=<*,l4H„PYÙµ––Wl§Ãü1DW½#ITXȇ…<1ô×_­çÏßùÿz…¤RYÃrBÌÁC'N4 …ÿ÷'£‘¬©¹ÿäÉKvSb žR(jL ~ŠD‚‚Î×(¤àƒ¡{÷ž55ýI’¯¿`0 ž\èø`¨  ^,šVe%ItíÚã;w4,fÅ|0$—_0« Ž‹EùùYɇY8oèêÕǼèÙN†ìì ƒŸãpÞP^ÞE''‘Å]juË¥K9Æá¶!’$óòêÂ(‹zþC;Æù·ß~ö¬}î܉ôÍ^œ9sséÒ×?uwuuf#/&ÁU§¡Ãí«ÜÛ6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6æ%¹{÷n¶–âliq¹{×sÚ´¿X!ôÅ_¼Q0š ˜?‡ªªªÎŸ?ÏxX[ðòÒ±¨G©T>zÄüâù-ø¬Y³ …#"CÆAñót°!è`CÐÁ† ƒ A‡MC\¬^̓PÉÍ"­^mý°~U´utÆ#Úhˆ£Õ«­à C¬]å._¾AߌŒŒ¼|ù2½+,,¬·Ž]]] °œ$I‚ :´nݺÈÈÈÑ£GËårj×o¿ýîçç·víÚ9sæ¨Õê™3gR`{ …Lªƒ²ãÎm<‡8Z½Ú ˆgç/«W;ÆÛxq´zµÏf $7«W[‡†høQ½ÚA†@¬D‹«W[„!GCryµ]ü¾t°!è`CÐÁ† Ã7C7n°ö]á¹ÜùóçcbbÙ:]]¢›7‡=ü¡ó†ÿJŸí<>D«•tu‰œ ƒ?ztt´ãayU™ãÃÓ®]{¼ysTRÒ\¶sa þ<Ý¿ÿüÚµÇ!¥²–í\˜„?†Ž­ur"„®_§ù eg_èî6"„ÄbQAA=Ûé0O 56>R«[¨m‚0(5¼y~剡üü7êªÕ-õõẎAø`È`0*µÝݯgؼ)ÆŠøa¨ºúnss»i AŽ­5ÌËèr>ÊË«‹ÍïHKKǹs·YɇY8o¨«‹ÈÏo°TuZ˜›[ÇJJÌÂyC••7^½Ò÷l'ãñã z=1ø)1 ç åç׋D–¿ùÞÑÑUYy}óanêìì*.n²2#ÈËãüŒŽÛïœjµºÆÆ×¯{ªªîü÷¿%ry"Ý"‘ˆCCdz‘cpû»>.aa§o¶´t „L[x·¯roØt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øxl\Û>::šíLûÆÉé¡Cÿ‡í,lÂöúýøk`` +«—öŸÙN ¨’!6ÒCï¾ûnddd¿ÓÁô _†ðót°!è`CÐÁ† ƒ A‡yC%%%Ë–-›7oÞ²eËJJJLw•••%$$Ì›7/>>þÔ©ST£L&“ÉdóæÍKLL¼uëÝÈxbf˜ÁÔpŽH›áu}jkk8ðõ×_ܸqcçΞžž¡¡¡Ô®ýû÷oܸ1((¨¹¹9++ëã?¦z©Tªîîîãǧ¥¥íß¿ŸÙ”¸ÃçPVVVrròûï¿ïêê:uêÔµk×þþûïô®uëÖMŸ>ÝÅÅÅÛÛ;%%Å´£““Óüùó>´¶À¯L&›;wî’%Kjkk–/_N/ìÕÝÝ«V«Ÿ>}º~ýúùóçoذA£ÑÐMƒ˜þoö¨—Éd‡þôÓOccc«««©Æ3gÎ$$$|ôÑG‹/.,,¤_¾|¹iÓ¦ ¬ZµêúõëVb† Ý»w.|‹š2eʽ{÷è]ÁÁÁ½u$¢¨¨hìØ±V‚«Tª²²²”””}ûöM™2eøðáåååÔ®ÒÒÒ1cƤ§§)•ʉ'Z)€¨R©¨ÿ© S ƒB¡HJJÊÈÈ ZÒÒÒ6lØPTT”žž~õêUª1###<<ø€ºÙØØèççGïjjjš3gNÏ^¶<èvíÚµ~ýúéÓ§±`Á„ÐäÉ“½¼¼*++%‰Ï¸qãzë+ŒF£P(Ôë-¬ˆjUP\(Ò—ÐÄÄÄ'Ožœ;wîСC§NÚ´iBˆ$I¥R9bĈ>†¯rñññéééõõõ qqqÔ®¥K—¦§§×ÕÕéõúÇïÚµ«_‘õz½››A¿üò ݸbÅŠ¬¬¬ìììeË–Q-!!!999r¹œ¾Þz{{Ÿ>}Z§ÓeggÓ}]]]ŸµZ=jÔ(úoڦϷ*•*))é›o¾‹Å .¤Û'Ožìîî>dÈ &P-ÉÉÉ;wîT(©©©TcRRÒž={~øá‡Å‹Ó}cccW¯^ÝÑÑÑçìï’òüùsoooú*—œœ¼wïÞåË—»»»¯Y³¦¿1mÇÖuNcbbž={F]ëm$==ýÆiii®®®vf×A¤¥¥-^¼Ø×××AC8™L&—Ëcccm9Ø3…äädÇGÉd2¡PøÕW_qKOáðJ´ÌNjÁ‚ß—ƒ6l:Øt°!èôc.WYY9Û`̰õkUUÕ£GÍÛÜ9s¤R©-Gr»vÊÛ~‚6l:ØtþLg·ÅðYIEND®B`‚qcustomplot/documentation/html/ssPlus.png0000644000175000017500000000021612236016575021142 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+0IDAT8c` À…Rþã“d¢ÔôÁg€ ÄÏȘ‹˜ )– ÷@$Pœ9g» ëqÀòIEND®B`‚qcustomplot/documentation/html/classQCPLayoutElement__inherit__graph.png0000644000175000017500000003771512236016575027251 0ustar dermanudermanu‰PNG  IHDRùP3Ç•bKGDÿÿÿ ½§“ IDATxœíÝw\÷ÿð»$,Ù`¨µbQ†T†{¢Pî:p¶ÖVjµ_GµýÖUZ·_©8X T@U+â®uVE°‚ì•ä~\×4 a%¹äòz>úè#ùÜÝçÞ¹|ò"~r¹EÀi<¶ •CÖp²€ûõ܇¬à>d=h½˜˜)&&†íç ÔJÀvÊÍv Z# €í@ÝõÀþþþl— 5õ:s8܇¬à>d=÷!ë¸Y éH’l`#@]õ C"##íììôõõíìì8 ¹èðáÃŽŽŽ¶¶¶t#}*ºA¿~ý²²²˜F5— Ð|ÈzÐÉÉÉ_ýõöíÛß¾}»cÇŽ+Vœ={–YôÕW_mÙ²¥°°0)))##ƒÙŠ¢¨’’’iÓ¦²T8€2PZŽþU½«¹»»ÇÇÇ3w;æææÆ,:~ü¸ì&L·eeeFFFRRk’$Ù¹s礤¤´´4;;;‘HD/ªªª²±±yüøqAA———©©©““Óµkט ÃÂÂlllH’”íŠi 566vqqyöì™Tr»UŒ ˆèè膬 œ÷õ +îÝ»çááÁÜõôô¼wï³ÈÍÍ­® kjjöíÛ×­[7S% ÷ïßìééÙ¦Mæ{¼tww·µµ ž8qâ›7o~øá‡¹sç2ÛþþûïYYYb±X¶+f==½ÜÜÜaÆ…„„Híº®nþ…í?6ÍÕÀ÷õVVV………ÌÝÂÂB333¹‹ôkD__¿o߾ׯ_g¥VKNNvrrÒ××'‚ÏçS•žžnoo/‰Äb±ƒƒÃýû÷)в¶¶f^w<é­¨¨HAW’ëYXXH•!·[ż¯×=x_ºÂÑÑñÂ… ÌÝŒŒŒž={Ò·.]º$w+Š¢ª««333ëêyöìÙëׯ/...))‰DAxxx´jÕ*...11ÑÎÎÎÞÞžî*''‡~áÑ«Ñ,,,tU¯ºº„¬]±|ùò   ´´´²²²ôôôÐÐPzÑŠ+/^|îÜ¹ŠŠŠ§OŸÎž=»Q=WVVš™™ÕÖÖ~óÍ7LãêÕ«×­[·qãÆ•+WÒ-£G^¶lÙ›7o²³³§L™Òð®‚ؼysiié† ÜÝÝ¥6iH·ÈzУFZ»víüùóÍÍͼvíÚ±cÇÒ‹F޹nݺ   ‹Q£FINëË%yq`‚ 6oÞìëëkgggeeŬãááaiiibbÒ»woºeÛ¶mEÙÙÙyxxøøøÈíYnWAÔÖÖ¶mÛöܹs?þø£Ô& 逤þR@KÅÄÄ4j$/^¼8333))ÉÌÌLEUÕÔÔÌ;÷Ë/¿tttTÑ.šŒ$Éèèh\T§à像ÂÃÃUÚ?I’|>ß¾}ô ›õʇ.ƒ¦Á|=÷!ë¸YÀ}ÈzîCÖ¨Ê;Ùwï¾b» ‚Ày8ÀxYySÓAA”–Ê¿ú€:á»T õ^½zõ믿²]…4Š"þóŸL’$׬飇\]]mllØ®ÔY ×®=óñ '"!aq¿~°]è:ÌרD\Üu€'ðãân°] ²@jj„ ·„B±P(ŠÏª­Å¥†eÈzåËÈxX^^Mß./¯NOÿƒÝzõÊwôè >ÿïŸO;†i`²@ÉÊ˫Ϟ½ËüD”H$>sæ.ó6€Èz%KN¾/þk‚^(¥¤Üg«Y tGfÄ¿N¨'I"..“­zd=€r–gd<‹Å’"•‘ñ°¨¨œ­ªõÊ”˜x[î÷)ŠJL¼£þzhÈzeŠ‹»Þ„Eª†¬PšüüâÌÌb±œ÷õb1•™ùd=÷!ë¸YÀ}ÈzîCÖp²€ûõ܇¬à>d=÷!ë¸YÀ}ÈzîCÖp²€ûõ܇¬à>d=÷!ë¸YÀ}ÈzîCÖp²€ûõ܇¬à>d=÷!ë¸OÀvò½zõê×_e»ŠfÉÎÎ&"&&†íBšÅÕÕÕÆÆ†í* ¹HŠ¢Ø®@Ž˜˜˜€€¶«h>ßœ ‘¨˜íBš%::Úßߟí* ¹ð¾4ZZZÛ%è´Áƒ³](æë¸YÀ}ÈzîCÖp²@SàƒPPœ‡Z/999222//¯M›6Ó§O1b³(55õàÁƒ¯^½jÕªÕôéÓGEü¤ [[ÛÏ?ÿ¼k×®t£ªÏù‘Ü…T¬«ùt#5ݱcG§¥¥¥¦¦††††‡‡÷êÕËÊÊêüùóô¢”””=z´oß~Û¶mŽŽŽqqqÝ»wWÐýÉi†ÔÊ?ýô“»»{BB¼yó6nÜ(Yslllppð·ß~+‰¢££/^üóÏ?+ÞJ$ÅÆÆ.Z´è§Ÿ~’[ èÌá׈D¢zל‡-==½™=ˆÅ„Pø÷—Hª«ÿþ>‰HDˆDAúú¤™Y³ÞñˆÅÄ­[U={òùØêÖ­êîÝõ ÈúWý%%âêjªE ž¡!Ù¨}ÈzÐpkÖ¬iÌêä{ï}ÂçA’‚¨'I…¢¢¢BaQ“ˬ-,F‹Åe'O&4jCSÓW¯:§VU=mà&<ž••·ž^[‚ (JHQÕbq…HT.WˆÅ•"Q…X\ùÿÿUˆÅ%lôãîÂ÷fS¾ù&>"â"ýž]17·÷ì™iffÔ´‰ÅÔÎiÿýo¢P(þþ{ßO>ù¨Q›ß¿Ÿ3|ø&‚ ¼½û|ÿýDsó}Ñ·¼¼zúôÝW¯>“läóI>ŸG„P(‹ÿyà––-®\ùÆḬ̀Q…Wa¾8eòäþõ=I’ä矈ŠZÐä ùò­—×ëן Å$IîÐØÚ·kgAÄÉ“7]]¿;wî÷†lellpäÈÂaÃìép§‰DTM¨¦F$ô<ÏË«‚Èzà{ûv~ØZòêí’ø|R_Ÿ¿cÇŒ/¾]×:ЉÅÔÏ?§ôÝíÛÙE$aoß–NíÆš0¡·ž_$¢ŠŠÊgÌØ¸¿°°¼Þ­ û÷Ïñõuæñ×O-Z4¤ UW!ëkÜÜìäæ @À³¶6ML ?¾WÓzÎÉ)òõýù»ï™Ù@0zt¦õ6z´Smí??«’”tï£ÖŸ>}§Þ ù|^Xؤ9sÜëús%ð‡ ³ïØQúBö ËðÙ,pDn¸Ì¸¸ëOžÈf=ŸÏëÞ½Ýs[·6kZÿ^Yµ*¡¦F(ùWm­päHǦuاÏûVVÆÌ{y‘H\RR¸̘7ú[Z+Ø–$É5k¼MM ¶lI‘ýÈM( bß´ª€«øôï¨h©ÂÂòC‡®~ýõÑo¿=‘“ónòäþ?þ8ùÑ£¼ììB&y<òãûFDÌ17oÊ}~~ɼyû÷ì¹(Š¥‚µMóo¾_׆Б$ùâÅÛr%çÙ ‚úóÏ¿ºÒ¥K+[ÛÖŠ{puíjh(¸xñ‘d#ŸÏkÓÆ,!!+#ã‘™™a—.­ê›í€óp@+Õ֊Ξ½—™‘ñÐÄÄÀǧ¯ŸŸsè¥'NÜZ¸ðEQ$I¹fw` {ÓvtæÌÝ%KŽ”—W‹Db©Ezz‚iÓ¬_?±É"5õ÷éÓ÷„ôkžœ™2¥ÿªUÞ&&Š;9pà×åËãâï—2I’Û·OïÚµuDÄ¥ØØëææFÓ§»Î™ãna¡ªkúƒV@Öƒ–ùí·gqq™§NÝ./¯5ÊÉ××ÙÃÃN_ÿ_³‘UUµŽŽ+++kõôøááS½¼š8A¿kWúÚµ'˜•AFFÚôÙ’š¡½ýŠŠŠšºVè×¸O‚z>W‹Ï :(E´ješ™¹ŠÞ¤  42òò¾}kkE>>}æÏ÷ìÒ¥U“«­†9ÐÙÙ…{÷f,_·}ûy½ oÙ2ÙÏÏ¥K—V’' Òþ‹oóòŠýÌÍíÃ&ïÔÁ¡]AAéÝ»¯x`@ºÝØØÀÕÕvæÌA­[›?~sË–äÛ·³[¶4éÔ Û꼯V^^Ÿ{ýÆç-[šøùõóósþðÃ6õnøøq¾¹y‹V­L›_CRÒ½  C••µBá?§Í¼#÷îÕÌÎoÏ›!ù*xE¬Z5aηFš”toÉ’¨+W¾–ûÍ,±˜JMý}ïÞ />êѣÜ9n>>}›ó‡ ´ ²4EQ—.=>xðJJÊ}3¦‡ŸŸËGueëcÆ—/ßz{‡”0oÀy<’þ‡E3{®¬¬éÞ}EMÍß×3ø¦¦+WŽŸ<¹zËÏ/nÝÚ\ñ:wï¾Ú³'#!!«m[‹3\§OwmòwÊ@‹ ëA³<{öæÈ‘kÇŽÝÈË+4¨«¯¯óÈ‘N¬ÿó»ïNíÙsaòä~üJ’¤H$æóÉ»w×)åÏéÓ÷ddü!Q$I ô!I秤|¡ø´ËfÊÎ.ùå—c>ûlhYYÕÈ‘›ml,£¢Ê~¡\eeÕQQ×víJÏË+2¤{PÐð¾};©tÀd=°IòÔIccƒ?þש“š ?¿xذMžžÝÂçÒ-yyÅ‹:ÔþÓO‡*eoß–>•ùLõöíì ¶_²d„Rv¡=•¿m[Ê/\\:ºÓCÕf@ÍõÀúÔÉ“'oWTÔyê$ëD"±¿ÿö‚‚Ò³g?766l//¯Vâ4wEEM‹ú’-{÷^X½:áÈ‘Í9¨±~ûíÙ¾}OŸ¾Ó¡ƒÕìÙnS§02Ò¯3ÐÈzP«ì옘ßNœ¸õøq¾““Íôé®ãÆõÔØ¯ùlÝš–tòd0+ÿÔ ÜýúŸÉÉ_4ùºMóüù_ûö]ùhÖ,7++~ ”YJ yêd‹ú':kÚ©“ wÿ~θq?.X084t Ûµü݉{YýUöË/—öï¿TVV=~|¯Å‹‡uíZÏå—uÈzhæÔÉòòªÁƒ»ûú:áh` Y§N6\eeÍèÑ[ÌÍŽýL£®ÃúĽ¬šáñã7þùü“'ù}Ô50н ¿» jƒ¬‡¦}çܹ/5ä+»’4dâ^ŠXL]¾üxïÞ ))÷ÛÏëáíÝGOÏv] Y yꤵµ‰¿¿œ:ÙpññYŸ~¹wï¬1cšø²ª¦9÷²îßÏÙµ+ýøñ›VVÆÓ¦ t—{¹M` ²ê§½§N6ÜË—oGŒØäíÝç¿ÿõc»–:iÚĽ,©_GY°`ð¼ÇvQ@ÈzPìéÓ‚¨¨ßþ}ê¤#÷.[[+š0a[M01q‰†Ø ÷²èÿíÜ™öüù_C‡Ú/^<ÔÙ¹3ÛEé:d=È!{êä„ }ll´ìÔɆ[·îäþý—ΜYÒ_AafNÜË¢/©öÓO©×¯ÿ‰_Ga²þÁœ:™žþ‡ÀÛ»¯¯³³sg¶~!D=22Nºë‡ü¦NÈv- ¥É÷²îÜÉÞ»÷BBBVûö–sæ¸O™2@êBo Èz Î:Ùpùù%Çotsûð矧³]K#hþĽ¬—/ßFF^‰Œ¼LQ„¿¿… kàÉN†¬×i/_¾½~üøÍ'O ÚôóòêYïØq†XLlÏÎ.JNþB‹®ß@£'îCB†‡„hÒÒªèèßvîL{ó¦tÔ(§ ÷îÝ‘í¢t²^Iž:ieeПK§N6ÜÏ?§nØpæøñ ^½´2nè‰û¨¨ƒiôĽ,z¶p×®ô¬¬¸¤šz ëuˆä©“AŒד{§N6ÜÏ}|ÂCCÇ(ëç¥XAOܧ¤|Ùª•)Ûµ4~Emõ:áÁƒÜǯ%&ÞÎÏ/qv~ßÏÏeüø^Ü;u²áŠ‹+† ÛdkÛêСùZýɳ6NÜË¢åðá«-ZèOšÔ?0ÐMw&ÕYÏe’§NvêdíëëìíݧK—Vlמyó"è·Ã-[²|ÉâæÓÒ‰{Yoß–EE]Û»÷bQQùøñ½>ýt¨Î+ª²žƒtóÔɆ;|øê²e1‡Í÷ð°c»åÐÞ‰{Yô¯£ìØ‘öðaÞ A]Ý1•¯ÈzNÑÙS'îÁƒÜ1c¶Ì™ã¾r¥Ûµ(“¶OÜËb~¥{÷¶3gòósÁHnd=Hž:ioßnÒ¤þãÆõÄïA˪ªª=:ÌÄÄ0>~1ǾÀɉ{Yäîß)6öº™™ÑŒ®³g»YZâ×QšY¯Åpêdc-_#)é‹N¬Ù®Eù83q/ëÍ›Ò.ÿï—ª«k?þ¸ï¼yž¶¶øØ©qõÚGòÔI‘H|ÓØ±=7o`»ÕâÞĽú’j{÷^¸xñ‘““M` ;.©ÖÈz-ð×_eÑÑ×bc3=ÊëØÑÚÏÏy„>ø7lÃÕÖŠ¼½·•—ל9³„ó_ÕáêĽ¬»w_íÙ“‘Õ¶­ÅŒ®Ó§»êòWFê…¬×\’§Nêë ||pêdýðÃé]»ÒÏœù\G>ÌàðĽ¬üü’ƒÝ»÷¢H$ è?¾'‡/¾ÝÈzCQÔõëÒ§N–•U ÒÝ××yøpCC=¶KÓJ/>𾍻v¥÷Ý©øøÅ}útb»vܺõr„mK–ŒÐ…‰{Y/^¼Ý»÷‘#WžŸ_¿E‹·m«»¿Ž‚¬gNTƒ¬¬>>á:sŒ={2Ö¬9®;÷²JJªbb~Û±#í¯¿J'Lè½páîÝÛ²] õê#yêd‡Vþþ.ãÇ÷îÚµ5ÛuqPiiÕÈ‘›;t°:rdŽŸ¶DQÔܹº6q/‹>«mÇŽ´[·^êæ¯£ ëUŽd^ùõ×'††z8uR ,øåÊ•§çÎ}ùÞ{º›n ]ž¸—Å\Ríý÷[Κ5hÚ´:r†›tÖ‡……]¹r…­j8éþý–ïÞššÖ¼÷^Å{ïUb‹ùüóÏØäͯ\¹¦ÄzT¡ªŠóf;»B+«Jµí466¶™=øùù)¥¹JKõïÝ{ÏÑñ©iêöÒdÍ?z™eez¹¹¦oß¶xï½r[Û¢fî]3 8ðóÏ?gîJÿ‘¿råÊÕ«WÕ[ÇuìXÒ§O^mÛ–±ôqqqÙÙÙÍé!;;;..NYõ¨ˆ¡¡¨oß×j úW¯^)å˜ÄÅŽzõªùýÈejZÓ·ož½²Ž^cG¦‰Ií‡öéóº}û’æï]]½zUê]»œS> Ðü?³ ”5;‰á!)&&& @9רY²d‰¿¿¿RºÒJqttœ6mÓ³lIuiøš é¡ù½5yï²7T·ÇèèèæôÝ"U7<‹î¶ººzûöí={öl¶õjà1iÈîê}v”u`Õ0ÚÕ|ôÔ<2›pTe—Öµ¾RrI6É›˜õîîîñññÌÝcÇŽ¹¹¹1‹Ž?.» StYY™‘‘EQååå–––÷îÝ377/++cV 566vqqyöìÝxôèQƒN:íÙ³‡ú÷w}é»aaa666$I2ý$Ù¹s礤$º%;;{ذaÌ&R=H\PPàååejjêäätíÚ5ºñÉ“'ÎÎÎÆÆÆ¡¡¡Ì&r×$bíÚµæææ666‰‰‰tã³gÏ\\\¤6—[O]}~ûí·­[·>zôèš5k,--ÛµkwúôézŸ2JY¯¢á±páƒÒ«>|xÁ‚’ÊÉ¥åå円†ôm¹ÇVñðhþ1©WCž¥XªŽ‘|ɤ¥¥ÙÙÙ‰D"zQUU•ÍãÇŸ?îááabbâéé}[¼vIDATùâÅ ÙÞØ:zê™õ6Ê%¹Dª`Ź$wÐ* ´¬·²²*,,dîZZZÊ]$õHª««™¿„7nEQcÇŽ=pà³ÚÊ•+‹‹‹—/_>~üx¦ÏŒŒŒššš/^Ì™3G²Cæv```AAäE"Qzzz·nÝè»ÞÞÞK—.-//—*Iö6mòäÉUUU§OŸîÑ£Ý8vìX¦ËÊÊbcc èþcccíììd¸,µe½Š†GMMÍСCSRRÒÒÒ† RSSCI4ƒ„~_ß§OºQî±U<<šLêÕgG)–ªû¡I¾d<<<>L·ïÝ»wÊ”)Eyyy-_¾¼¸¸844ÔÛÛ[¶7¹ƒY5g½r`]GµÞ£$·Eî¡S2 ¨0ëÍÌÌä.’,š }}ý¾}û^¿~¢¨#FЃ;**jøðáÌjEEEEYXXÐK—.íÓ§ÏÂ… SRR$;”¼MoEKNNvrrÒ××'‚ÏçÓR…)Îzkkkæ,Ç£ÍÍÍß½{G—Çl"wM‚ *++)Š …’›3NqÖ×Û§ämæ1*ÆbÖ+kxäççwëÖÍÁÁ!//Ù¾Q× ¡õêÕëåË—t£Üc«xx(ÀnÖ7áÀRòšìK&==ÝÞÞ^$‰Åb‡û÷ïSeaaA`É”Ôê¬oòTpTë=Jr[g½ÜA«€l’7ñ³YGGÇ .0w322zöìIßvpp¸té’Ü­(Šª®®ÎÌÌtvv~ýúujjj@@I’“&MJMMÍÍÍ­kw›6mŠ‹‹³³³[µjÕ´iÓä®cañϯÌž={ýúõÅÅÅ%%%"‘¨) (ŠÊÉÉ¡“âNêZÓÐÐ >Ÿ/7ú28õö)y»ÉQET7<òòò ß¼ySZZ*µy]ƒ„¢¨×¯_[XXüöÛoLKŸYMÓü[Wϲ/V­ZÅÅÅ%&&ÚÙÙÙÛÛ×µ-Ç£7©¬TßÅæšF‰°!GU‰”0hëýk ×™3g:vìxþüùÒÒÒ´´´N::uŠ^töìÙN:¥¤¤”——?yòdÖ¬YR h7nœ={6swîܹ7n¤þ§¤¤DrgÞ¼y=ª©©¹|ù²µµ5ÝhffÆLèKunmmžž^RRÌ,òññY¶lYEE³š‚(Šš:uêÔ©S ^¾|9yòdºq̘1ÿùÏJJJV¬XÁl"wMBÞgz‡~t„ÌŸqÉzÞ§Üâå"Ôõ¾^E㬬ÌÁÁáìÙ³QQQ½{÷¦ÿYÃl(w0K_¿~Ý¥Kz–Oî±U<<šLêÕg§ù¶®F¹/™ôôt'''ww÷¬¬,ºEr3³¶¶¶111eee«W¯–;˜PóûzÕ@ªŽ—9s”dˆT'râQ@is8EEDDtíÚ•ÇãñË/¿H.ŠŒŒìÞ½»žž}ê’ÜÖ£GôôtænFF= EÈûlv÷îÝ]ºt144tpp`>ZY½zµ™™!ï“Õˆˆˆ–-[¶mÛvÍš5Ì¢ìììÁƒëéé1-R=Hý |ûöí”)S,--;wîCoòèÑ£¾}û™˜˜Ðr×”›Å >›•ª§á}Ê>üº¨-ë)Õ 3f„‡‡Ó-ÌfC¹ƒD²Û­[·Òc[î±U<<”rLkà³ÓÌË4Jv¹/Š¢ÜÝÝÇŒÃÜ¥?u466–ülöĉíÛ·777_·n[GOm#³!r’ì©+ëå&›ÜA«€2³žñÙgŸ 0 ¸¸¸Q[iµêêêM›6 4ˆíBGYÏàüðPsÖ3Ôp`«««g̘q÷î]ÕíBýYÏàöÈ”Mr%üŒuxxxó;Ñ"$Iòù|æÛ €® µQõ¥Çù¾}ûUº#¶èÚÈTBÖëJæŸÀ܃qÎ1w=P:d=÷!ë¸YÀ}ºžõæ±]€ú¼{WÁv À9çá\½zUö7È9©¦†ÿè‘•£ã¶ Ñ2:2<èÕ«WÊêjË–-±±±ÊêM E¯^™QѱcIÓzxúÔÂÈHغu9Ÿ¯´St”xôŒL W¯^0`€d ŸþZ3C¹‡^Ãåççç›(wìj2{{ûQ£FuèСÉ=”””+±$033³··÷÷÷of?÷ïß§¿-© B!ùè‘u^žIÇŽ¥††Â¦u"ˆ>´ÎÏ7‰H#£Z¥¼j”uô02¥ØØØ 8pàÀL ©ËgѺñÁƒÜ•+½-Âv-ªrãÆ‹¹s÷çåëéñ>üÞÐP¯É]MŸ¾'5õG$éåÕkÁÏ=šþÖÔIwçëŸ?ÿëÁƒ\‚ ââ2Ù®@%D"ñæÍg'LØúæM I’ýûМ 'bõê |>!S"‘øäÉ[£F…yzþpðà•ªªZeÕ *¢»Yôh¦ž ˆ?þxOh{òó‹}}Þ²%Y,¦D"J àyzvkfŸ]º´ò÷ï§§' B$ñøqÞW_Åöî½jýúS¹¹ï”P7¨†îf}TÔoµµb‚ þñã7Ù.@™ÒÒþðôÜpãÆ ±øïIÚÚZ‘›Û‡Íïyٲђ¿}MQ„XLWîÚ•Þ¿ÿ·û¯_ÿ³ù{¥ÓѬ¿};;'§ˆ¾-Šbc¯ëòçÀ%µµ¢o¾‰Ÿ6mwii¥PøÏZ˜™98´o~ÿ­[›Ïš5HO/Õ.ŠD"qJÊý ¶ùøl£'HAsèhÖ'$dIÖœœ¢›7_²X€RäåOœøsDÄ%Š¢˜wôAoãF ‹Ÿ~z0?¿DÓæšt²@‹}÷Ý©ââʰ°Ir/ƒ£QH’\¹Ò«MóU«þú«lÅŠqlW¤[õÚ*-툈˛7´icÎv- ènnn´tiTYYÕúõ5ð®BÖh¥â⊥K£Frœ4©?Ûµ4ŽŸŸ‹…E‹ùó)((Ù¾}†RHðÙ,€VZ³æDuµð»ï|Ù.¤)†w8thþå˧Oß]V&çZ„ tÈzísæÌݨ¨kë×ܺµÛµ4ÑÀ]‚?.ð÷ßþömYý@ó ë´LQQù×_ÇyyõòöîÃv-ÍÒ­[ÛãÇ¿{WññÇ?åæ¾c»ŽCÖh™+ŽQõý÷Z9{#¥cGë„„ }}Á„ Ûž>-`».CÖh“'n%$dmØàoeÅ‘Ÿú£¯£`ccéåµõÆçl—ÃYÈz­QPPúõ×q¾¾Î#F8²]‹2Ñ×Qpuµ Ø‘žŽß R d=€ÖX¶,ÆÐPoݺ‰l¢|úú‚]»>™0¡Ï'Ÿì=qâÛåpÎlб±×SRîGE-033d»•àóy›6ù[Z¶øôÓÈââŠéÓ]Ù®ˆSõZ '§è›oŽM›6ÐÍMù¿®9˜ë(|õUÜË—…¸Ž‚!ë4EQŸeee²jÕ¶kQæ: 5ß~ëƒë((²@Ólccõõ׺8sM_GáîÝ_ߟ‹ŠÊÙ.G»!ë4×¾}²²^lÞýtè{ï™}ñET^^ÉÚµÞ$‰ë(ÔY )ªªjƒƒ9;w^°`0Ûµhú: ¿W„…MÆ?ƒÃÑÐ7žyýºøÇ'ãj_ 4r¤ã¡Có“’î͙󿪪Z¶ËÑhÈzpõêÓ]»Ò¿þzlÇŽÖl×¢M\]mccݼùbêÔ]%%Ul—£¹õì+/¯ 9âîn7sæ ¶kÑ>=zt8y2äõëboïmùùÅl—£¡õìûî»SïÞU„…MÂgŒMÓ©“u|übœ0!üùó¿Ø.G#QØ®EÝôôZššêÜÛ(___Š£|}}Ù>ºMdjúQ‹NlWA­½Ïgdmí§¯Ï©/ 5ÿ¡IŸ‡2pà@V{³]€úlÙ²…íTkÀ€K–,a» m ”~Ø~´õO¾,e=#„ì9—ô÷÷WVï ibccÙ.Aµlll0€›LYÉ‚gAY”˜õ˜¯à>d=÷!ë¸YÀ}š•õJ<¹XnWšvò²¦Õ†Á¦ãš’õ‘‘‘vvvúúúvvv\tøðaGGG[[Ûˆˆº‘$I’$ úõë—••¥ Q1ÉÁªŠËâ‹Ù5^ꡬ1¬ê:¥v‘žž>tèPSSS###WW×£G6d+¥Ï‚²vÇÂs$y²=Ñ€óö“’’lllÎ;WRR’ššjccsæÌfQ‡’““ËÊÊž>ž¹{ìØ1777fÑñãÇåìãÿUYY™‘‘QCŸ?îááabbâééùâÅ ªîïô2’$Ù¹s礤$¦%44ÔØØØÅÅåÙ³gRýxyy™šš:99]»vMj)CîjOžÕ˜á-Ùhddôöí[Éz$W£;”ÚJî`S ! P/n? ’²¯î¥K—öéÓgáÂ…)))Ì& L¹”òŒÐý×ÞÑÑñÂ… ÌÝŒŒŒž={Ò·.]º$w+Š¢ª««33376Áìٳׯ__\\\RR"‰² EQ999ô!P°IWS°¦¡¡!A|>_ê WsŠdú”¼ÝÀ„RǰÙ¡èááѪU«¸¸¸ÄÄD;;;{{ûº¶åñxô&•••rWèÝ»÷ùóç™b¨¿%´°°¨«gͤ¥Ï‚$ÙW÷¦M›âââìììV­Z5mÚ4¦æƈj5öoÈ™3g:vìxþüùÒÒÒ´´´N::uŠ^töìÙN:¥¤¤”——?yòdÖ¬YL·²ý(nôòòZ¹reIIÉòå˽½½éF333fæ]ò¶µµuzzzII 3ÛCwÅô0~üx©þ§N:uêÔ‚‚‚—/_Nž<¹®’ä®6f̘ÿüç?%%%+V¬hx‡r!óÆAòq5¼ÏºŽ§,¼¯§T9†åÅôôt'''ww÷¬¬,ºEîð¶µµ‰‰)++[½zµÜñpæÌ™¶mÛFGG¿y󦪪êÎ;²ãGê®ÜÁ¦@C ^Ü~äsæö¼yó=zTSSsùòekkkºQî Y²O”òŒüÝUúˆˆèÚµ+=øË/¿H.ŠŒŒìÞ½»žž}¦Ó­œ+l¤?6166–üØdõêÕfffô:’·#""Z¶lÙ¶mÛ5kÖH> >›}ûöí”)S,--;wîÃ,•ú+(wµGõíÛרØ8((ÈÄÄDq‡²MÁg³R«á}ÖuûlÀ€ÅÅÅJ)E»TWWoÚ´iРAlÒ8Èz)jÃÕÕÕ3f̸{÷®êv¡,jÎzž…º(1륯iÜ(áááÍÙ\{‘$Éçó˜oy€–Rõ¦‡Ê¾}ûUº#­†gA š•õ:‹Rç™R Í0T4žBÓ®‡ª€¬à>d=÷!ë¸Y &E>|•í*@GIŸ‡ Ä_. äëëËv *§±Wo×Ókmi9fêÔl¢ršü,è,Ròl¤˜˜KõèСÃÀÜŒ›+W®dgg³]EâãÿÌÈÈ qzÿ}¶k©“«««MszÐðgAë4ÿ¡‘8ó@ ÄbªGÿ–Í™ãþí·>l—:óõêpéÒ£ÂÂ2‚ ââ® …¾è)@3!ëÔáØ±Ÿ ˆâ⪋±]èd=€ÊUUÕž:u[(!ðâão°]èd=€Ê¥¥ýQYYCß E‰‰·«ªjÙ- t ²@去!ù‹¯UU””û,Ö:Y Z%%UÉÉ÷D¢>åóÉ£G3Y, t²@µ’’îJx#ŠÏŸÿ£¤¤þ_4Pd=€jÅÅeÊ~‡T,Ÿ>}‡r@G!ëTèÍ›Ò_},Ëþ,*‹iPd=€ :u› ä\†¢¨kמ”ª¿$ÐMÈz:vì†X,ÿ[²b1•˜xKÍõ€ÎBÖ¨J~~ÉÓ§-Zêóù|ú¶±±±±áùóØ®t®} &'NÜZ°à—ÜÜ-lºïë¸YÀ}ÈzîCÖp²€ûõ܇¬à>d=÷!ë¸YÀ}ÈzîCÖp²€ûõ܇¬à>d=÷!ë¸YÀ}ÈzîCÖp²€ûõ܇¬à>d=÷!ë¸YÀ}ÈzîCÖp²€ûõ܇¬à>d=÷!ë¸YÀ}¶ P“+W®dgg³XÀÍ›o ‚ˆ‰‰a±‚ \]]mllØ­Ô¤(ŠíÔÁÏÏ/..ŽÅx<>ß¼¶¶€Å‚ˆŽŽö÷÷g·P?¼¯âëëËvl"I’퀘¯à>d=÷!ë¸YÀ}ÈzŽÀç® ²@Zdd¤¾¾¾Ý$>|ØÑÑÑÀÀÀÖÖ6""‚n$I’$Iƒ~ýúeee1j.@d=À¿$''ýõ×Û·oûöíŽ;V¬XqöìYfÑW_}µe˖¤¤¤ŒŒ f+Š¢JJJ¦M›ÈRá QºÁ×××××·ÞÕÜÝÝãã㙻ǎsssc?~\væuTVVfdd$ÕÈ(((ðòò255urrºvíÝøäÉgggccãÐÐPf¹k±víZsss›ÄÄDºñÙ³g...R›+@Dttt½«÷à}=À¿Ü»wÏÃùëééyïÞ=f‘››[]ÖÔÔìÛ·¯[·nu­œ‡:äÕ«W111lWÀd=è«W¯°] ð½YîÃ|=÷!ë¸YÀ}ÈzîCÖpßÿ nbΎƶIEND®B`‚qcustomplot/documentation/html/QCPItemPixmap.png0000644000175000017500000011042312236016574022273 0ustar dermanudermanu‰PNG  IHDRÌ øËDsBITÛáOà pHYsÄÄ•+ IDATxœìw\TgöðϽwzgf˜a(CïM@AìŠ%‰Ý[LqM1›²ûn~I6eÓÌšdÓLß5‰%6‚ "Hï½ ezo÷ýã1LŒï‡?†;·œ{ï™ó<ÏyÎ9F’$¸páÂ…‹Û~§páÂ…‹?3.#ëÂ… ·—‘uáÂ…‹ÛˆËȺpáÂÅmÄed]¸páâ6â2².\¸pqqY.\¸¸¸Œ¬ .\ÜF\FÖ… .n#.#ëÂ… ·—‘uáÂ…‹ÛˆËȺpáÂÅmÄed]¸páâ6â2².\¸pqqY.\¸¸¸Œ¬ .\ÜF\FÖ…‹ÿi¬Vxùe(*xüqxýu°Zï´L#aôË?ꌬÁ=ß}pÿý°x1(wZ¦‘0ú_ùŒiáïc]c·l’ððذ**@­¾Ó2„Ñ/ÿ¨3²GŽ€Á €V  ))€:‡bô¿ò!ÓÂß)ƺÆ>û,ìÛ À¸q°s'H$àpÜi±†ÍŸ}ÔÖ’sç’8N&&’.$I¶·ßi™†Õ:ÈF»ý—ã–ÓÂßAÆ®ÆnÙBªÕý7^¹B&%Ý iFΘtÙçž#kjÈ'Ÿ$®ýM™Bvt|þØø©‰W~#Æ´ðwб®±t:i4öߨÝMR©¤År'!cBþÑ5°Ù³,ÈÎþuËåË €Ù wN¬aóâ‹@£õß(—C~þpnŽiáïc]cß{o‘uCŒ?ˆ2ŒBÆ„ü”;-Àu|ù%Èd°f äå]ÛrÏ=ƪ*ÝĉW¶·ßQá†Á+¯°Z[Mlöu«¬Qcbx===wJªa2Px™L6Úôu´1Ö5vÑ"èîÆ´ZÃ~Ýèé {öÀèÈ/“É !23ï°`}ÁH’¼ù^ :˜Ípø0|ÿ=$%éV¯6òùÎ;-Ô°X0í:•‡â 4ú Tv¬§ë»e ÷Êêh¤RÇ•+Ô/¾`¿õ–V 3·ÐWþ¦&Ù{ïÁ'Ÿ€Px§ÅêÃèrÀÁƒ0q"DDÀÉ“n[³FX[;ººÛCóÁœûî*\¹B}äZ#ÕOø•+A©tYØ›0Ö5ö™gtIIVƒ€ýû™ãÆÙ¸Ü1caázùwí‚ÄDàóï´L×3êz²pêøø@h(¼õ–†Í&—-3Ýi‰F€Ý[·rî¹Ç`ÿç?yÞÞŽ  cÅNõ>"‚ýÔS.#{sÆ´Æþ™@c¯ÑÆh4²½´ ·ÐŸ—Ñ©²£—ÆÞYF§ÆŽ:w .\ü™pY.\¸¸¸Œ¬ .\ÜFÆÒ4èoÇd2i4FÓÞÞ®×ë€N§A‹p"‘ˆÅbñx<‡s‡%66›M¯×›Íf«Õêp8H’$‚F£1 .—K¥Rï´€.î &“I©T:N.—+¬V«^¯øØª°0–ùóY»Ý®ÑhšššªªªZ[[™L&•J‹Å"‘ˆF£a†a˜Ùl¶ÛíF£‘$I…Ba2™Ìf³Ùl?~¼D"¡PFãƒ"IR§Ó566^½zµµµÃ0OOO.—‹ã¸^¯·Z­N§³¥¥…$I??¿„„__ß1Ôl¸ø]°Z­ …¢®®®ººzéÒ¥2™¬­­­¼¼<&&†ËåÞiéþ'øÓF$©Ñh.]ºT^^ît:===}}}ƒÁ°Ùl‹¥³³S$éõz»ÝÎf³­Vk[[›ŸŸŸ^¯g2™V«U&“¡>/†a‘‘‘žžž´Q“ùät:»»»Oœ8QPPÀ`0âââd2Y{{;2£ÆÝÝÃá8Žººº£G^ºtI"‘Ì›7oêÔ©l6{8Wsµ£™?,º€ìa.™ÍøÛyÕä›6šfÊîíÔ¨GÖV{ÚÇMZ®›]QQäéé UUUT*ÕÛÛ{#3õí\¯O•«ÄÔ×RÅŸu“l î¼g{×;I$h/-åžëp¾qa¸N|ÈäG½þóÈ‘qd‹aZ.<é“=‹Þ†ÅÕ¶„Šíúöûq›à¥Y ÿ–©…O‡×‚ ò 8ó0õðÔ,˜|–Io.Õï7d0Áöw¡v¤Iî:X,êoºVþ‰pR‚$u!/_EÙý³Á6`3õí{„ßµI’ug³ÇñâãeO¾À‰¶xñâ临/$}öÊùóçÏŸ?¯Õj­VkOOÑhT©TJ¥²¸¸Øétæää;vlûöí{÷îÍÌÌd±X ±±±EÏctÓ¸÷Þ{¯ª‡—uÖ÷tæ…C‡………UWW766Z­V»Ý~á›m൧+{4H·0mÿ<ÝQUÕQUÑùN À¶>0o5bÃz¢fʞϖŸoسî; ƒíï@í€+*ÁþPX!pÂÁ °ƒ‹ SÁ÷ 8ðÄ}ðÆG0sðû‚M°ýðüË€áwÁJ9´‡X´³ëÙpÔŒ7?cx¬éßÖ¡·¾GhúvÛ¹íÿ^H_øÕ± ã‹>ù½‹î­Ò‰ãR?½–ZUWWçååÅçó;::Ìf3†a ƒÁ`¸»»kµZ Ãìv{YYP©Ôîîn½^¿tΣµ—<²ÇVpòXbb¢——(•ÊÆÆÆY³f¡‡‰wÈ @áŒß¨zú{›ÀNÙõ°è‘-–¬7m ¶õÁEÜ Û¨³ŸµÑÀ`0üë_ÿЉ‰‘Ë剄Ïçëõú®®®‚‚‚“'O¶µµsAC¹g‰b“¹§“ ˆ˜˜˜‰'šÍæšššøøx’$Íf³^¯ß»w¯L&£Óéùùù?üð¬IwßÔÉ[±iÕâ)ô³žáÎÌQ'³­oì´KY#y#7xÝH5³åNxä{xÉ(NÈyÒ‡»N;ž¸–}w½Œ‘\í¶Ð÷~»ö²`K.¬`(:ºÍ¸å§j¦ì¹±nòp:×ê¾Þˆ¿µˆWmǽ$z1‡è±;î™ l£Îþ‡½éþ¦-ô6°ÂonÕÍ”àgßä^î$ž_.K­2Õº#çÊù7+UÝp`‚qíâ xaª-_qâÜóN+ÞþGlì\8}ŠÒI·>ÿ±AýçeÂbض]—ÀûE ‘±õ7Ûîïé6üú/ˆ^Ë#zìŽu﫞Ivâ$V=¤„i|úµÏæÍŸ¨?]¿³Èæ’¬Ix×`½æ–ƒ°þY¨ÔéßOÆÁ¡MðYP×ÀÅ©ð dwÀ¦ ñ‚€X¤—8ò Ľ<G;¼/•€?À?èÚi}ïZ\}&2oòV§ž, 'ž»&ëäEpÕå_A‚'HÜÁm@] 1¬Y À„8xù,Ü(w¯å Ì oˆŸáöeF:ñÏó¿­¢|¿I´âÆ¡7¸—;éÏ//|€SÖÛþ8ˆŒíù„Ò¿ø¢±=HKS?ú@"¶€9-¬ y^MSmmµÃûª=[V£Ò‘$ét:ýüü¸\.Ab±˜Ãá$$$`&“É&L˜°dÉ’èèhä±ÍÏÏÏÌ,~¥àäg^}¦Fk;ÿ|ýS7lXôÆÑùF ŽI¤xÓãµkEóg ßÉÆ¯»;¤”Km\ŠÔºh¶Í Ó>u¦ÃЀ£ÖÞ{Ž™vˆUúKËH„H$š8qbWW×vîÜYXX¨ÑhÌf³J¥¢Ó¥|ç³jËøžŽýêÇ«žzneÔ¿ùÏ?>úðÅô‚çì\¹\.f&ïøè¯:Ý7ÙÙÿÚöÕÊ£š>þ䓬œR>…9yí£ûöíÍh?ïc$uÚ kx—$V¶Ímr¤tâtÑÆÜ£¡=a;ÿ?÷® ^8Î~¯»·5Gª¹x€ƒ§'P€‡x^@Çjî«·5%Êž‚¨ úý¢fä…ì{ aËÓÃÐ^xæ÷A|v Þ¼üÜÁc*\Ô\wq÷ ¹‘2ÄS4ƒ[‰^¹?ó¦hJ‚4xœè­ÜI"s3¸n#åœ ™d —‘©¦6NP§gwf¾g?u ¬XWËÙ¿…¯Ù×Y\Ôõ^ã©g=¤sÚóºñË›{»n×.\{•IɼÿùŸ¾Õ¾@¾è•Ï) 7Ÿ<òsÁ3þnO<¡×Sh$I:T”öuÆåΟ–SþyÅ´6?÷j×?©¬·NõQi#åD­#5è—a–™úî]ÒðÉüMìË¿Ty§ˆí,^¤Aî{Š{Ù¶º›HøØ¿~ùüµ>¸uÀÎN€¾¾¸šË|¶{ Á^ëþ Ïœ…æ(ù¾X%6Xø<Ý Á½oA²l= übaÀ‡*aV€¥ š™ÿ0.'À²¯.Š$:átÓÍõñw2²¤mþUÖð&Xýüå,t*àë8X¿ºÐÓѾó߇ [?È™ú>”³o:v>Å©°;ÓÞЬ ²=ôEÏž7Ì÷¼ðëkˆ ÿr˜‘òMY·!ë¿«V­J‹Ž6r-¥çÒ{zzèBÓÆ®oh½zõjEK–Øác’ĈD"µZ㸧§§T*õññ!IÒn·÷ôôx{{ët:6}úô„„„   ¹sçΜ™ÀõÛ.çÖmxõÜ¿_¨OOÝwÂkú³{6<üúû³g½ð†ôÚ»×øõ7;z~úÐzüo܈>wÕO)€ÔѾþšH]cC­/EbGÒ²Z¯Uga03gÎÌÈÈHJJš1cFll¬Ãá8wî\^^ÞC=ôùçÿ~e³"LÐùÌÇ¥?lLáÏxí æŒý曌§B|wý¯q’‚ Ø„çc‘‘O-KëÑÔ?‘~æÜÁ#õ‹OTük¯½ñÝ.~-³>¤O¢·­–ýÔVx&]‘›¡Zë¤Öÿb==P— W›¡ì-øï³Ðâ¼îuªšx38T˜¼>}P7høªyË8z v2\©Š¯açzÈÖƒµj€B’}ná üã½aho´L‡¢&ȼþ:Xo@}l¡Á ?÷í.`Íg ÛOµéëéPQÇ«3òçž'¿{ƒÑîìcn®×íÊÏzÿ|€Ÿ`œC'ØvÚ™óôöÃÂpgâj“{1£ºÏh–$ÉŽN5Qé &†aÆq‡,kªó ð¦Eó+X?g]ЉãnÖ•ÓTŒ”'ÚÜäú®s_åäE':•õxoMA‡žèt:%¨“NµoØ£()R”æ*×Y9ëÿAW#Iq’NžQ×$œM¥e¶`š¢¡$ìÇvî+¡Ðß´ „Ä'’Ð>à$ª\¸Ø¯-‡ÔT¸û9°Ú¡s. ‡Úàf.œ`n‡Ö™Sgþï,ƒóÈD?.TßÈKÓ‡Û2i®Î‡–¸7 yHgC¹ Rp7X™8#fSáT#L–÷?¶÷¡l°ši6»½Ç 0¤Üét~õß‹vÿÿ·ñO1SßD:í:™·OEE §ò)þfƒ®­³J¡ñhL£ DælòööFê–––#GŽ`&Ôju]]Ý¥K—¢¢¢„B¡N§ÓëõÝÝÝ‘a>M…TeG{NY»®(²EtäÙ@Æìµ:ë­ïÜ˨6›'à|ÛÂD'@°L¡2[° ¡×~×)%ÂBÙõ„àÌõ¾4çµ†Ž ½ÙXu@àµ]Æïîî~ìØ1“ÉåïïêææÆd2I’dÙÙ4œÁâòp*ïÎÈžû’}£1rn ïy÷º³³}‚”2¥[¡°sÙǼ)/Qc¦):Um&ñæ¹°•¬1küÖŠ»^Aº¢¦ˆÞ9N?Û œãW˜ýó®Íá"Øp7Ð<’Às3tÙ`À{è§š@‡ç³ày+œ|Ö®‡üÃàE\SͲ.€Ð›©Ñ­‚»Á£‹@K‚»©pªB®¢î78ü†Ú+‚çÿpÿ–FF@|2¼S v0Âsáu“G·Áþ×Cªx&À/îÍ~OU~±WNëêÙ*€{‚Uú¥ÇƒzQž`ÀcbzÀn¼‹Õj­oìt£‡¨‚0˜à´yzù655ù{I­vQ§ÓÌTt0§:íî»[[[ƒÀ Nè5ó8•¤80ë/ÆÔ×àÚïyزåiZ«Õ" 8è~¹CH8Øm ¶±„‚$0‚ Á'ñI˜ñpà,HûžëfžTœTXHªH9°~!00Ï…D+\é„i\Œv`ÿt»"“°ÁéjôI°ltÐ7}J{{÷µ­7v„[­Ö~øÁ Áî/œi5 í–NBã¸x1gÁÄLéÑ -O¬X®½œÙÑFt”aL H$’‚‚‚ÌÌL:.•J§N*“ɼ¼¼ A>ú(8Žîîî––»ÝBê}Tê¤IIné.ýìäT×yP}à¾`Øî^ê(¤À&1˜ P K}o.ÃïgdûÈ*Hï¿Ã¾:xÐò¾Î8gTÃ'û`ÞàφÃ6Øá ›ž¾ìxu1.‹µ_çÎîóH’¼’ÃõlgZZš··7‹Å"$›ÏçþÒ«ÔÒ¿{6}Aœl<»ìmîÑFU¿wOjiÛ3V9 —Y'mÖ¼½·¾J 6âÀÓ¢÷(ºÿm–ö}ü&¢TãXàÝÿ‰P(‰D"A ÅýI’˜Žqæ ÎÔûŸËµ«8ÇVÍ<|eÿÕ¬+ÆKZ#Mñr™‡‡·É(Q0î"/÷„°ÝYâ†[À ôñ3˜ºV5,ÿiᱬC-èð~ŒEüët»e¡¿ò#£nˆIÞ›©¦CWU„²w@›?ø¡ñï°Uó–qªàÓ¶ 9ð³¶û‚€2˜BÚûÜÂ0´wXÎÄ'4«¾~ÊôEʵmýžj£õÆv¢n÷ròôÝ.°É/ f½O(íŽuoÊŸÅïšhxð”M‹%ÿ&düÏV³`ÛÖÏÞšÎÃYÞ?Ý8=žúíÿÍßëÞøÆ§ÆÏþòÐn»„!oY¼°&Ü{:†a ×jŽæRïrØu¡‘¡^žÕG¯—“a¿g2l¾Œo v8{è›WqÏwbà$e)ÆOß5‹qc ÍDuD fM"”vǺTãÙ€¶*á|ìi’ÿøš>üÆðëçú;ß<àÔÏDÁ‹ÕNäÀÞoáÁAn¾KàÇ„ë,_à_ðíQH@³XLX1žÏ†ÿ ‚Oí„«A¶H<ºfð %Pˆo*ÐïhdûÊzv¾k¦À‹N ‡Á¶]àŽ @ˆ èŒÛ ÝvxäHæè†z(`{Ï×|s½‘íóJÞtBÙÔ´páB Ã63û0Ç”6Õ„ÓÕ *þìË%Oí"QáüÅY>‚¹AèkE•üüÿ·xNœ·'1Òú}}õàïžp³ù_ÌúèW•ú•>Ji-â¼üÑÍäψä{’:ýk³;ÆJF•¿éµáÆ0ìšHs¥H¤/žcmz{ý1 ’êé©;ªIuÝ46‡‹gGÛ5KgWŠ!ôNÔQ67œ<©]¼xñÿû—÷¾§7ì9_ŽŒ,5Ððþ#‚GæH·Hìáñv_.A½Qt3Õtªàí{àçIðÕ.ð¥ŒD5oBþgaÜk¿ª2ˆB^w ‡o®½Ã…nÛð‚eÆ¿Ø%û®ù ú=Uo6I½Q§º¯šíÔÅ gwå!;ó÷g½p&~¸Awà¼! Æ<~š¿)IDzÞ§>qßu§ììé Î?ób|•J­­­•ÌiÿæoÑ7„hŽÞ­+))!¢³S’““ãµÔë§+¦ãÇ/†„„´µ½œžÂ`0Èà§»3®;+9nƒÉö ³a™>Ð׸-ËXWWçp8‚ƒƒù¿øv÷×ÝïÏp^w¯<@B œ³Þê¾ÒûoßÏvÆD¦Ÿ®\k¥Ø“Ôy‡®]IHçÂOèÏ]pâ®~W„·Ëý¼àShpPâS`{jÖB( X°£àú¯I8û LüxÃüqÉdLƒ—Ëaæ°ÓL†íV©TŸ|òÉ¢E‹Äb1¨J½nzôåÒ Ë`0  .&“YXX8uêÔŠòÅU5i¶Î¥È+4Lnn«á,yÞß§Ô¿Lâ§6 /UöWÊ[¢µµuß¾}bfêÖwý—½•ã¦j§ÑhV«õÀƒB¡H¥ÒØØØõë׋Å⢢¢?þøã?Fz« ¨LÀH¬ä}Ñ_º©ÅÛ`D)bÖ ˜ö|}Bupd ìYÛçÌ77V¸‘Æö}ª5kOÿÇ:¬l_¸5åéììÌËË£Ñhhú!??Þ¼yaaa(¨æÚ¡$ÙÚÚzá¡Ph2™¨Tê¬Y³Nž<Éf³ãããy<Þ`×CGb%»YÝÓ Ó¤6›­¬¬,66öÚ·&ÊÞˆÔµ?6Sò÷LŸ!¡`;tÎ…´AOi„o·ÁÌGÀk78³E‡ƒÍfÛ·o_rr²H$²Z­Z­Ö!êy|žLieR©TÆápètºD"‰D;vìX4ï~b®ã¾Y¿…µÛíJ¥R§Ó™Íf§ÓI’$ÅàmqÈô5pƒB 4l^ÅjVBà )"f\5^÷Ü”ßÁ€——×Úµk?ø÷E:ÙRS5yJRIIÉ•+Wbbb0 “H$^^^¾¾¾ÆétÊårÇ …L&ÏyIø|.†Û1§éÓ½Ô‘&áÒBá㇡¡BUMôL‚7gÿ9-ì ¹þ©¾µudnIy ³³³ccc ‚@ ëÖ­ûÕýõ †y{{ß}÷ݧNêèè 9sæ “É +--‹‹c0nÐŒ‘Q+ f³Y¡ÐH¥Ò––£±K…i_þÀ f]Æ Ä=pãoY°nÓ°Ï4FÓj+**Ž;vï½÷a³ÙzzzJJJœN'‡Ã … C­V0ŒS§NÉd²¹sçþvyôz}}}=ŠWEvÕ=0™L UŸ‹Å111vCcb³Ù”J¥Ñht:†Q(>ŸÏãñ†8d¤”••íÝ»÷þûïÏÉÉùþûï§N*‰N:…’Ö,‹ÏÊ•+'Nœ¸uëÖˆˆˆÈ•V;RFIÑ†;v¬X±¢¡¡!((¨¨¨(222$$dˆCÌfóÉ“'åryww·B¡X¶lYUUUvvvBB‚»»û šÙÙÙYWW—””ÔÜܬÓéÚÚÚfΜù;êðH;&{²‹åÌ™3S¦LA­tss3“ÉLNNV©T]]]­­­B¡Íf+ ¥R ³gÏþWT«ÕçÎ+((‰D)))}ë9³ÙL§Ókjj0 »páÂÅ‹===.\(‘Húé\{{{nnnvv¶Ñh4›Ír¹i§››J…ˆ‹Å¿½HRDDI’gΜٿÿ´iÓär¹ÙlŽ=}ú´Åb ÷ððèêêêè舭¨¨ Iòþ<\ü^ ¿Ð²eË,‹L&ëì쬨¨HKKú(ƒ1gΜ;w.[¶lçÎ?þøã¢E‹ÐˆM©Tr¹Ü & ÔI@€~€l6»  À`0Øl¶ÑSâc”0&ËÕÖÖ:N”ÌJ„¿¿*lf7 IDAT?›ÍnooGÚàããÓÖÖÖÔÔÄ`0JJJ,X0âi®>X­ÖóçÏ¿úê«íííëׯâ‰'®EÛëõúžžF£×ë322ZZZrss¹\®R©\µj•X,~÷ÝwOž3 YYYz½žËåvwwWWWGDDÜB¯¼´´´¡¡!99Y,³X,•JÕÙÙi4¥R©‡‡‡D"¡Ñh¨IHHè7*;š%FÖf³ÕÔÔ8±Xœžžž••ÕÔÔ¤R©Äbqnn®Ùl¦Ñh,«Ÿ©íý÷Ê•+‰$<<œÏç_½zuÊ”)ÝÝÝYYYK–,Τ†aR©´±±±££C.´ÊÅíbtjì‹. I²££#22ý‹|‹ÐÓÓSSSc±XæÏŸßÑÑQ\\¬ÓéníkµÚ/¿ürÁ‚žžž………™™™>>>z½Þ`0F™LæææV\\Œ¼‘³²²²ï EOOÝnïìì³Ùœ——g41 ›;wîäÉ“¿úê«I“&iµZ´jÃ$éèè@gûç?ÿéææöùçŸ?ðÀÈÛ;|Ølvpppqqqzz:zz½_±X,ÿÙ³gÏœ9¹8Ftf£½^ÿÙgŸ8qÂd2}ûí·J¥’Ïç#7ë±cÇ.^¼èçç·|ùr??¿AÏÐÛ8q"”––&$$Œ¨Ÿ1cÆŽ;ÄbqïDñÿ,cÏÈšL¦Þ—Íçó9N]]]eeeGGG{{{aaallì=÷Üóí·ßzxxŒôü‡ã»ï¾CYdmmmuuuT*U©Tž:u Çñ¦¦&‚ š››{÷W(¯òo·Ûû~F‡(•Êööö„„„I“&9Ž»ï¾[*•~øá‡Z­¶¾¾žB¡Ðh´SühžmñâųfÍú裞|òI77·áß‘Óé ‹}üñÇI’ÌÉÉÙ±cGuuµX,6›Í­­­nnn®ÅÇ.---&“‰Á`ètºÂÂÂC‡ÕÕÕ¡¯zzz@­Vóù|§ÓÉãñÜÝÝgÍš5aÂN—Íf³MÓú…c|‡ÓØØH¥Rm6[ppðpœ8ŽÏŸ?÷îÝþþþ·9T¾ãõhµZƒa09Âd2§L™¢×ë †¿¿XXXKK ƒÁ‹Eº”÷˜™™ †Ùl6©ŠbòÑŒ¿··wDDDxx8‡Ã‘H$½9µ†Y­V4·át:‡¶›ñññ;vìÀ0Ìßß?===!!ÁÝýF¥"ÅÝÝ=99ùðáÃK–,ù_^wìý®¬V+ŽãÈK’¤¯¯¯B¡@Kñx<”©ã8ZÂkøƒk£Ñ¸cÇ©TÊ`0Nœ8&š››‘ó¦K{á8>pàRTT¤×ë,XÀáprssq¿zõ*“Éd0‡#55555Õd2}øá‡†©Õj`2™½DGG‡ÃáØ¿ÿ¤I“æÎ›œœ¼mÛ¶ 6 g1Dtáîî®R©6oÞ¬×ë+++Q‚Fpp°Ï‰'‚pww·Z­£9÷ÏÅ 444X,–wÞy¹zПJ¥:ÎÞÈ*77·)S¦€ÝnokkÚ·Æf³×­[—™™YZZ*—˯\¹‚ÒnÚ0GEE]¼x±³³ó†•Æž‘EæMƒ’$ép8H’¤Ñh­­­ …"((Èb±ˆD"‹U__?L#k±XvîÜéíí=yòäöööšš›ÍV[[ÛÒÒB¡PÐBžhÍmƒaµZÑE ‚˜6mÚ¹sçìvû@ + kjjÆÏb± …P(d±XÑÑÑf³Y&“ÅÅÅ•——;Ž€€€ÿüç?:Îb± Ö^.—'&&ž8qM‹!këp8òòò.]ºäååE’äO?ý´zõê›zQ ýüüêëëßÿýââb‹ÅÒ+gCC<ðÀ6›Í××·««Ëå.sTVVÆÅÅÝ4’:!!aÐíHßpÎì‹ÅJKK3 ƒ¡¡¡A.—>|xΜ9C7ö4 -ðqß}÷ýÏvfǤ‘%IR­V×××£u¼u:ÓéÔh4•••(pD*•FDD\¾|9>>þ¦¯V­VïÚµ+00P.—ûí·È?ÀçóôÀÀ@T3›$I:N¥RÑ= ¬¯¯ïììäñx:Ž$IOOϹsçΛ7Á` ¾úê+‹Vi\¾|¹Éd Ä0,;;»¼¼\*•:×töìÙóÔ‹å¿ÿý¯ÃáX¸passó/^<Ä}ÆË—/¯[·N§ÓaÖï„géÒ¥ÖÖÖ†–’¼•÷áâÎ1hë~[a³Ùl6›Á` ’(rvèCBCCQ†‚Ï#ähcìY à âkooW«Õ&“ ÅŸr8ƒÁPQQ!—ËãââÞÿý… ]3¢¾¾þÛo¿õòòb2™¹¹¹h­‹ÅÒÕÕ… #à8n4ËËËm6›Ï‚ RSSI’,//Ge¿µZíéÓ§###/\¸`2™Ö¬YãååÕkܹ\®»»;A]]]¨RB¡ðòòjnn¾zõjqq±F£ñððxî¹çBBBh4ZEE Óëõ8Ž«Õj䜅BAÄÑ£GW®\YZZJ¡PæÎ;hÔjµîß¿?99¹µµµ¶¶Ödº®P´H$š2e ŸÏ‹ÅN§óêÕ«ÿ³±‹¯¯ï¹s碣£‡N¯B%P•KTÖã·\´££Ãh4–––:Ž~1ƒ‚aX\\\QQ‘ËÈŽ 0 £Ñh6› u0F#Žã4->>Þd2åää\½zU¡P<þøã111?üðã>:hÍápdee}ÿý÷"‘Èáp¼þúë<O$µ··Óh4»Ý.‰4T*åóùÑÑÑB¡0** ÕŽ€   ÞSñùü{ï½—Á`DDD  ¾¢R©iii»ví"I²±±¹8òòòZ[[ÑÌÃÔ©SSRRzg`›ššÖ¬YãëëK•J-))A=ôêêj«ÕJ¥RµZmuuµÙl.**²X,³fÍê—„£ÕjQí1‰Dòü£µµµï·,K§Ó¡B‹­¾råÊßë¹øÃðóóûñÇ¿øâ‹»îºK&“õõ’$©T* Euu5j³¥R©F£)//g2™Ó§OŒŒ¼…©NµZ]^^Îår>œ””4LSxxøÎ;­Vëÿf혱gdq×étÀn·p8TΪªªª¸¸¸££ƒJ¥úúúVWW/^¼øóÏ?ß½{÷Ê•+û‘8ÎæææS§N9rÄÍÍ-777''G¯×;.—ÐÜÜìéé™””äãã#‰†hüNgUUUcccZZ‹5ørw2™lݺu•••¨hoog±X>>>|>ÆŒ}wŽ=xð ̘1•ûœ;w®F£ÉÌÌÜ»woSS“D"ÉÎÎV*•S§N-))¹|ùrRRR`` êV´´´dddÌœ93 `ëÖ­(ˆ‚@Î ‚ ¢¢¢4N§óòòÒh4===¿Ö´w1°Ûí»wïÎËË3›Í'Nœ äóùv»$I …Âf³Q=e:îp8L&“ÙlvwwGsßÿ½··÷¢E‹Fš­ÓÚÚZ^^.—ËÓÒÒP²åpŽâóùnnnµµµááá·t»c›±gdÃÃÃ=< éÏÏÏÇ0ÌËËËb±0 T><<|ÅŠÛ·oïîî~ðÁÙlîèè8{ö¬Z­NIIA©‡t:e Ðét …âååuÿý÷GFF‘£ÝØØX]]m±XT*Uccã… Ö®];p7«ÕzåÊ‹ÅÂf³…BajjêäÉ“ËÊÊrrr:::ЄCss³F£áóù@’dgggeeeJJÊÞ½{ívûìÙ³Ñ(žÏçßu×]III{öìÙ·or°VWW„……iµÚ²²²ªªªÖÖV±X|éÒ%:žÊ}¡çÆ`0RSSZZZT*Õ´iÓ._¾Ìçóëëë'NœxGÊy¸¸5Ôjõ‘#G-K@@òæF‚ Ð÷!!!(+’ ¥R©ÕjQ²lï¬Vk~~þ¾}û¦N:nܸá_:<<\(–•• ƒÁPUUÅb±<<ûìïón\Ü~ ÅÏ?ÿœ˜˜¸jÕ*¤¨v»ð5“B¡P(ì¿rF›4iRDDÄÏ?ÿl³ÙÆ?Ì|?Çe2‡ÃÙ¿PPЄ ëëëošÖåááqáÂ…á\âÏÇØ3²ááá‡R(¾¾¾™™™\.wõêÕõõõ‡U`Á0Ìd2©ÕêÂÂB‹Åò÷¿ÿÝÃÃÃjµÚl6*•zòäÉÜÜÜ+W®Øív‡Ãááá1þüU«VÝÔ‘ßÐÐðúë¯7.22rûöív»F£­^½zЂŠ4 9$ •JEñÿh …‹/þðÉdñâÅ(ÎL©T~ôÑGõõõmmm‡ÃÍÍí™gžÙ¾}{pppß †a3f̉Do¿ý6Çóðð¸té’Íf³Ùl<O£Ñô“¥!à8ž’’’}ôèÑx@"‘ ¿ŠB¡˜úè 3½!½îîî\.¥q8‡ÃaµZããã,X…v>qâÄþýû½½½ŸþyTç‚Éd666"KÝïÌh$XXX8nÜ8 Ê‹‹#""Š‹‹ù|>JæA{ÖÞÞ>sæLTÎ& €N§ûøøäåå™L¦uëÖÝȳ6:ËmŒfþ€1‰¤¦¦¦±±Q.—ÿö$=‚ ‚ƒƒ÷íÛçáá1„lPÜÜÜ<<<Ølö™3g8NNNF»Qd:…BÉÏÏ¿­Ž©Ñ©±cÏÈ€»»{NNŽã¨ïY[[‹VˆA3éAAAáááþþþ ¨hœ?þôéÓH  ESSðùüÇ{låÊ•7mÆ;;;wíÚ¥V«ÃÂÂBBBÒÒÒòóóÃÃÃÿú׿ö6à‡C£Ñ\¾|¹°°°ªªª   ((¨×þjµZ…B _Éd2Ÿ¾:ñÙgŸ)•Ê7ªTªúúz>Ÿ²Ìf³¿¿?a0 MOOG•˜5 ‡Ãáóù€B¡( ƒú¶AAAqqq‰Ä`0,_¾œÅbhµZ…öØc¡µ~etªìhæ0²T*5,,Ìb±dddá8n0POÂf³ÝB°3•Je±X»víi À0ÌÝÝÝÓÓS¯×'''gff¢<ÝA÷D5¿GjÊGÄèÔØ1id©TªÏÇY„¯¯ïòåË÷îÝ;oÞ<…Bêa4‘‡( UÒä0 P©TãÆ‹ŽŽ>~ü¸^¯æ‹:îôéÓ'NDш(¹kÙ²eh íp8в1}û¡¡¡o¼ñÆáÇ£¢¢Pâ#…B‰Dµµµ111ýzJ¥’ ˆ‡z¨wÁ»ˆˆˆÚÚÚæææåË—ßHªˆˆˆÈÈÈŒŒ ‰D2gΜíÛ·[­V»Ýn·Ûy<Þœ9s †ÑhD)jîîîz½•:?&&Çñ³gÏΘ1c8Å„ìv;*ïîî®V«ýýý9ÎÀ•ŽÐPK¯×WTTèõzdƒû&>¢^CCCppp_çI’111S¦LQ«Õ555Z­–Ãẻ»Ÿ³pá¼¼<OÓÚÚ:þ|Ãf³) ª«wöìÙÀÀÀ¦¦¦¼¼¼Ç{lè¢]ŒZìvû‘#G¶mÛ†f«’’’ú©S/f³y8„–––ðððI“&}õÕWr¹|¤5‹`ùòå………Ï=÷܃>x£UõP ïHÏü'`¬YÀqüÁüì³Ï¸\.*ò†ž1™L³fÍ¢Óé8އ‡‡{yyÅÆÆ¾û‘‘\.·  ÀËËË`0±hÑ¢ą́R(”´´4¤Äyyy=¤'OžÜ²e ªÃ]ZZªR©Pè"—Ëe0v»}É’%hO´ÈG]]]¿ëŠD"TÌáp\ºt©ªª Çq>ŸïááQTT4ÄZB¡ð¡‡úä“OZZZ¼¼¼âââP’.A‹… ˆØØØ®®®„„6›}üøq‰DòꫯÞr—ÇÅÅn·ïÝ»wûöí±±±óçÏOLL¸ÀA/$Iž>>nnnƒ!!!Áßß_ 8p ¾¾~éÒ¥=ö˜ËÂŽQœNç¾}ûÿö·¿½ôÒKÓ¦Mc³ÙCôPJ}}½ÝnÏÏÏt’$333£££Ñü§¯¯¯ŸŸßùóçÑòH#M˜ÍæÚÚÚAwÐétýR"ÑJwv»½¶¶öÊ•+7*?Öó ‹D"yúé§·mÛ&‹£££Q- …ÒÕÕ…‚ð% ªyˆ²W EMMMSSÓÆGz-£ÑˆÖõê»­'•JW¯^=kÖ¬W_}ÕétŠÅb­VÛÓÓÃd2û…­˜Íf77·QSiii|ðÁîÝ»Õj5›Ív:>>>?üðMË,Q©Ôµk×¾ûî»±±±|>ßb±h4šîîn’$/\¸€ª,¦¦¦†„„Ü(ë×ÅèÇf³=999&&ÆËË‹Ífßr ÃÑ3š¹}!\¦¹¹yï<ü’üÒw Žã~~~eee]]]ï¾ûîO?ýÔÒÒ‹æi»»» ‘Ÿ­ßÙJKKËÊʆ3áÉÍ IDAT9Œ`2™YYYaaaýêˆÛl6TƒÉjµ¦§§WWWkµÚðððÐÐÐI“&ñxß××·¸¸~Ýôb±˜F£Õ××Ûl¶¦¦& …²hÑ¢áH¡Pd2ÙÞ½{‘«n¤·6(£SeG3·ÏÈ †³gÏö·b·ÛOžŸÞ.0 @ P…V´ÞbrròHL£ÑXPP=¨`& ¥R©§§§¯¯¯¿¿HHˆ··7ÇS(jµ:<<|˜Wôõõ­¯¯Ÿ0aªU«ø|>Zb8ÍfËÍÍí-zû*;š¹}FyØSSSo4.ÁqÜÓÓ³¦¦æìÙ³ííínnn½ÓbÀÇLJÃáTWW{yy-Z´(99™B¡œ9sæë¯¿¾û^½:¨ ëÖäD+}œ?þçŸþᇚšš˜Lfhhh[[›P(\´hQxx¸@ @²™ÍæíÛ·s¹Ü… Þt›2:5vÔY«^}D"Já¯%Š‹© ¶Y Ç¥Ré„ ¼¼¼O:•““sæÌ™sçÎeffæææ&$$ŒT°ÚÚZ­VÛÙÙ90„kh( Zif˜ûáááqèСÄÄD‚ ÒÓÓ?wÓþ,†aðôô¼µš/6öÞ{\77§»»óùçù%%Ô¤$p¹s‡ ¯º>þ8\¹#U×a‚V±Cº}£}PÆ-…BÙ³gÏÁƒm6ª-†‰Å⸸¸¸¸8‡# •Jå–-[(ÊäÉ“‹ŠŠ9KKKO:µÿ~³qãÆÉ“'£µ;ûFq9΃ŠÅâyóæÝòs}•öÿþ[P£MiG‘ݼŠŠ`åJ`³ÃѤ§3&M²²X#ŽaÆ0ŒÏçGDDL›6mâĉAAAr¹œÃá”””Ü{ï½#Át:—.]ª©©1›Í¨&Ë𽅇áP(åååqqqÇ—Ëå R©ô¦ 5ª(zðàÁØØØ[ð‡|ô§¬Œºp¡™Å"=<œ§N±¦N…ßÉ÷ð礯ºzyÁÎ[S×›‚a˜L&;~üxdd$†a:®¼¼¼ªªŠF£õÕ Ã<==gÍšåááqðàÁ’’’ððð¾;X­Ö£G^¸páçŸÆ0ìÑG-** öõõý’$YZZúã?êõú¸¸¸Ù³gGFFÝAÖjµÙÙÙ«W¯þ-KõUÚÐPî¡C0Ú”m96ô6iíííèƒÃñû4Mz½þĉK–,©¯ ¬¬¬¶¶¶±±yûD¹‡ãÇ\ºtiVVVUUÕ²eËNœ8wÓ6Û¶mf³ùá‡ÎÏÏ ës6}> 4óßëáÿ)é÷ÄÆÞ¾'väÈ‘úúzä@ÑІ ˆ‰'¬íb6›KJJ²²²&NœÛ;'I²§§Çd2Éd²ÒÒÒôôô'žxbøM²Ãá0ýÚ{«ÕzòäÉ£GÆÇÇO™2e˜ mh4šüÆTßWÐ[aT)íèJFxûmXs²¤„ºhÑ +EˆÖÖV&“9R ‹JL›6múôéÝÝÝÌú ALž<9+++11ÑËËËÍÍméÒ¥v»ýÛo¿ÍÏÏ7} oc¹xñâ¶¶¶§Ÿ~ú“O>¾—ð“OØ&Sÿ'SP“'ÿÆ[ùÓr;Ô-‡ PØl6Tï¸÷å.X°`Ó¦M<ðÀúõëgΜ?mÚ´ªªª³gÏ<ƒÁ?~ü¦M›4Í_|qâÄ Fƒª[ðx<&“yøðá .<òÈ##ôÔÔÔ´µµÙl¶Þ-‡cÿþýŸþ¹Óéœ9sæ0-,I’---¿±“7&”vtõd P© ×ýú*>nœ¤¦FA¥þ&Q­VëW_}•––6|‡lkk+‹Å*** …ÑÑÑf³ùäÉ“ãÇ¿­•„úræÌT°qÚ´ih‹ÕjÍÊÊÊËËÓjµ2™L$aæt:ÇÖÛ~X,–={þ?{×U•õÏôši铞ÞI!$”D)*°¶ÅnõÛ϶º®ëº¶UW,»"¢K—ÞCBIH ½R'“If2%Óë»ßWbL#âÄ/¿¿&“÷æ{ßyçžwî9¿³_¥R=ûì³£ŒWzÕÕu3™?N²···R ÞÞ ×Ã/4…qB ® “ÉÆ­®‹åÌ™3¸“EUU.ZqssÓétz½>$$ÄÏÏ/66v@E BèâÅ‹Z­6==}„p-ÎN-++«©©Áý¢££“““oÛÑ`0t:]QQ—Ëí ã?~}ôÑÑóœ8qÂd2Ýwß}Ùï ´øÁt6¥u®b„?„Ÿúg %.Î6A k2™Nœ8áçç7z «T*÷íÛ‡—åùóç“Éôòòª««ãr¹ãØÇ¬««+**ª®®6 #***!!!&&f„×ÿ¨¨¨üü|×—I§Ó,X°`Á£ÑXYY)‘Hššš¸\î7NŸ>»ïÄÄÄP(·nݺÑG„ßxC;xò[[!9ÙY”ÕÙpÕÕjµ~ñÅ"‘hݺu M!„êêêÊÊÊÜÜÜìv{QQÑñãÇy<^JJJFF¾³¸ñLbbbMMÍÈ{bx×k̃œÍ]TT„Ùg*++y<^\\ÜÌ™3Goa›››%É“O>9Áœ­)¡´ÎåÉ€Ù `‡ìÆdwîÜ™’’5ÊXAkkë;ï¼#•Jy䑵k×ö¯Á܉cJyÑétß~û­X,ž;w.Ç#‘H!ÜÀ¼®®."""++k¸¤«³gÏbu¡2’ „PŸ!Æ=}Ç‘Ôm±ètÔwÞtLö¶è¯®0˜¬D"yùå—y<žP(üãÿØFP_àp8,KmmmYYYdddJJ F;uêTffæ7f̘ÑG^|WAć~xÏ=÷øûûŸ={ökÊà©S§BBBîHÞX¥ŽÉŽ o½K—Bg'@I í™g yâó…{kÒî466fgg“Éä§Ÿ~zõêÕýˆF£‰Åâ3fŒþÒf³ù‹/¾˜3gΊ+L&“V«¥R©t:Ïç/]ºô©§žâóùÛ¶mîÁàÓ333ÃÂÂrssKJJ²³³wîÜùõ×_oÛ¶íäÉ“}C£P(T*•F£Q©T*•ŠûBŽ^Â>|ü1÷á‡EÝÝ()¡=ô¨TN¤¬NˆþêZXãVW.—ûÜsÏ}øá‡b±¸¯ & ¸ …Íf'%%ýêW¿¢R©‡R«ÕR©ôÆW¯^u öëîÈd²››[NNNnnnTTÔX-,ö0îÔzÐ_i Á •ÖéR¸æÍ‰BCÁÕÞy……Ùg϶N Áã\½zõ¶YMF£±¥¥eÏž=G5 O>ùdFFÆ`r6L¢8úKçççcʘ7ß|³¤¤D"‘ÔÖÖ†††â%æëëëïïÿí·ßîß¿÷Fì@ R© C&“ ‚ôôôää丸¸K—.Þ©â.ŒY³¬”à`‡PH|ú)7!ž™ Ÿü_0ú«ë»ïBPi|êÊb±üüü(JXXXvv¶P(áÝ(ŠH$Âíf›››—.]*“ÉÔjµX,ÿxF„Pii©Édrss›={öXWt¹\¾}ûvP©T:ŽN§#ݰý•ö³Ï\¢¢ÀÙ”ÖéÂýÑ.˜ÇÙ³gFãêÕ«G0ŽÙÙÙ¡ÆÆÆ¼¼<ÜDv„Æ1áóÏ?ÏÌÌ|ï½÷¬VëÇ, ÛÚÚÜÝÝäê*ŠóçÏ;vŒÏçoÞ¼9))idÝ­¨¨¨¨¨Ø°aÃDj½GƤíïýbpG4¶ªªj÷îÝo¼ñÆhâ•R©ôÍ7ßLJJz衇\]]ßÿýuëÖ î¼920ó˜N¹xñ¢Á` ÇÖî—C¥R- fòæñx±±±)))~~~ÑgçÔXçÚøºã°X,gÏžíìì|ì±Çú[X³Ù\RR¢ÑhH$Ryy¹J¥R*•ÑÑÑ‘‘‘kÖ¬¹xñât|}}1oæÆ]]]-Keeeuuµ——×ìÙ³ÃÃñV¹»»?üðà .¼víZ^^žD"Yºtéä„ÑÑчÖëõÎYJ8q#<<< àÔ©S÷ßÿmß™|||~õ«_±X¬®®.??¿%K–œ={öá‡å†A¾¾¾c5²³fÍ:uꔿ¿ÿ˜Î„PssósÏ=çëëk±XGss3“Élll‚jooÏÏÏ?~ü8‡ÃIMM-,,´X,K—.]»víÂ… ÃÂÂ8ŽN§Ãl2wdžžž¥¥¥‹-JLLd0åå寽öZ]]]VVVMMÙl&·ð$‘H\.7222&&¦¥¥E*•ŽP«žŸŸs÷ø7§Í÷XqG¸ (JHHÈW_}>®8???‡Ã±oß¾ÂÂB¥RÙÝÝ­×ëG™¬*•J ƒ¯¯¯B¡¨©©)++ëèèH$ …B©Têt:¡P8¤kÙÓÓcµZÇ´9ÑÛÛ{õêÕ¥K—R©ÔË—/ûûûçççÇÆÆr¹\Ü$©½½½¬¬ “-ŒÕ«uNýÅY‚ Ž9œ™™I§Óm6[WW×7öîÝ«×ëétº@ ¸|ùrLLÌúõë¹\nŸ9ãr¹çÏŸ‹‹}=ummmaa¡ÍfLÀ`0 EPPNpqqqÑh4r¹¼²²2%%¥²²²¥¥%88¸¿ÓJ§Ó#""BBBF^ÏÛÛÛïžb9§Ê:3µÙl‡Ãl6çç秤¤Œ¦eËáÇq2µH$²Ùl'NœˆŒŒ¡Ù{¨TªŸŸnçííÝÙÙYRRb4]]]ŠŠŠ EßËV\¿~}HFºÛB*•vuu¥¦¦@yy9‰D*))B¡ðûᅧŠJKKãóù8‹Ö××wLkœSc±FÖ`0”””,_¾œB¡ÈåòC‡¡Óé”Jå²eËp tnnî#<28èÎ`0nÞ¼ÉãñFŸ÷—››‹™dÿ‹D"ùûûÓét¬. cöìÙYYY™™™ÉÉÉr¹¼···±±111q€ÓzÛe¼¸¸822òÎî}õ‡sª¬3c|‹{××ÔÔääääää\¸páâÅ‹‰¤±±Q(ŽÆ[ôòòÂåˆ|ðÁ•+WzzzêëëSRRn{i4™Lnhhðóó;tèлï¾[TTtãÆ ‚ ž|òI@PTTÔÙÙÖ½'âÊ•+QQQãèµQTTD¡Pø|>›Í–ËåR©Ô××—Ïç÷öö677ãöt~~~111eeeååå¡¡¡ƒ+†‡ƒsjì/9&kµZ[[[[[[KKKq‰·P(ܲe ^á †X,RKZ[[{zzÆôª‚Ùã­VkMM››[ßé¡îîîþ.æÙŸ}||Äbñ7T*Õè¹;m6[uuµ‹‹ Ž3LcŠÂh4644\¹rE¥Ryzzúùùaåñôô$B¡PìÙ³'99ù¶>©\.'“Éèééqss“J¥2™ìË/¿üío;@C‚hll èï[ÄÇÇëtºÝ»wòx¼ÂÂB•J¥ÕjËÊÊΜ9“™™9`{Üápètºq¤Øl¶†††9sæäçç¯X±"--m×®]B¡ÇãíÚµ+66– 2™,•J`ÕªU•••ÿùÏžxâ‰Ñóo8!~±F–Ëå®^½‡5çÏŸÄþ®¢R©ôòòÒ’*•ÊØØØqx%t:=88¸¤¤ÄÍÍ-&&YUU¥V«‡ËÈÁm>½½½ËÊÊúw©z½>??¿¤¤$((híÚµ¡/šÆÏ›ÍVYYyለˆ°°0N×ÞÞ.‹Y,ƒÁèíí¥ÓéÑÑÑß}÷ÝÖ­[GŽ\íÙ³§¹¹ÙápÉdL üÎ;ï”””œ={výúõý´Z­jµº€Ãá())ñ÷÷Çt3V«•L& †§Ÿ~º­­L&'$$ [©Õj*•:7SÊ͘1ã?ÿù§§§^¯W*•3fÌËå:ŽB¡°X,Ng6›U*ƒÁð÷÷ïééùð÷nÝ:>öNgÀd=¢½°ÈNß³â=ñƒˆ9P „@“uÐfÚ{÷‹öHÁÖÊy0Î+,Ì+,Ì+Ä×[œîRg0Ð_»OpBñ“3<==gΜB¥RÉdò{4˜I¨!!!L&S"‘Œ#¿ÇãÍ›7¯µµµ­­ zzz*++çÎ;œ_œ””D¥Rƒ‚‚Ìfó—Canü¿þõ¯|ðA@@Àƒ>8Z «e®‹]Ô óËJÖ3…W,(fê¾/XCܼ–ÛÛoýIÀù_‰Ÿãoôð»48ø h9:¢º"Ìó…ìói‚@«mÐÑ·ôöäËô‹E›ÿñÅ¡C‡‚Äéµ{·äJz[ZZŠ‹‹9ŽZ­–H$.\hhhxóÍ7óó󫪪0ýüxä‘Gx<Þ¬ooo÷ññÉË˳Z­ø ©ÿ‘t:N§k4š¾o(ŠÑhüÍo~ÓÓÓÓÓÓÓÞÞN§Ó»ººBBBV­ZåîîŽË[úÿHmmíŒ3°J¾üA¯×Ÿ;wnöìÙd2¯1………7nÜ`0ÅÅÅx Äl6kµÚÚÚZd ùýúè¹4-**jÇŽýe Õ~&šä1w%¯XMÝ÷kˆ™¿¥«¶&Èôx<àP€4ª,“ª«ÎáÉZ`ÿNxø$ü-@/¾â§ ä§)(Šs.§fèù ‡* ˆœý´û_BMÁtºõ‰U.›wÐÿ¯m”ñ»Ý>œ‘‰D<ïàÁƒb±8!!a¬ÍâÉdòìÙ³>üä“OÖ××Üÿ8™L^¼xñ‡9ŽÆÆÆâââ‚‚‚††&“ùÜsÏ-_¾|ôRÙYÖ·vÙ=Çäv˜©û¿`F½0ð.tƒÃá+oG}^‘@ÿÖ¿¹ðüðæ¸ïo0þär'€ ÛN÷˜bÝ&Øù>FsuuݱcÇï~÷»žY+õØ~ʪ]ŠÿD aþý ¦×FÓ€™ïÓU@.6¦N­ƒ?DB(€1yºú3¼lv…¬ðóßXø¨G·Â5ðÕFXô<ì{ò»`ëB˜³ júú´:(Ù;©1Úú{ž„Šþu¾ãá5vl|—˜éÇØÕC¦ ‰4‚fÄÅŽýöÛ—/_>pàÀ8Æèêêšœœüý÷ß×ÖÖúúúŽæ”!#\Z­vûöí¿ùÍo¾øâ‹ÒÒR‹Åòì³Ï®X±âö:­d=ãöûß 7¬w}ñó¥¼"#"ÕìΉöœµÀõéW„³ºÔc_ÕAÎù»ë¼$ÏÐ× DÎý»K‘œïByß”:àäg¸ p‡¤×^‚ç>q?/'à~ ï‡rÓhFì\@ ˜ç?÷fÁ³ûà¹epÍ€ üwƒ X÷<„ÄB5ÖI;œy"ýÀÅ^¹ ‚³/A~¼¼ÖmåãÜáôiéÿóª–ïö]C ðò•J¥nn¢.Qíz¸ *!66Ön· †Ÿ9s÷ÁÔh4F£ñèÑ£#o0 …F£IMM]¸parr2Nž©¨¨\˜ØÑÑQWW×÷%™Lnll š;w.ÞÅy‹¥ÿÛ•Õj•Édz½¾¥¥E tttàŽ8£Yï űcÇÌfsqqqEEEkk«B¡Ðétr¹¼®®ÎjµjµZVQQB§Ó y{kss«¬0ñà¿_øü³WcfYÿSˆ Ÿ}™ÿmõ¿[]×½Â<ö–K‘œg~8]Å z`[.<¹ ðÚ2iº:Ùž¬½~õ*¼ ˼@sÒƒEE°ò¸zDà¥p|~^¾K\àÇò#õl“ãÞ?y›VdsJÿ¸ÕûŠêaM@ì<)ifȨÞñ™L¦B¡á©T2àmkôHLL,++«¬¬Ü°aÃø~A*•;v¬©©)--M$aäž{îåé…¼Zµk.AÒ2×½`kâünüá\÷joòÕWÜÖ[ì?©¦¶%÷dÿÝ¡Ø/ºç-æ¦#ÆÌ—uÉçX¹È\ÒY3À±zxø ¸ü:4m†ý¡ÿ*Dõ‚.¶Ã¬;Ó2jRáèÊ8•¤^XôGk=<þ¼V|!{+,¾õ ;”МåŸB÷7ü¿ðôUXú6¤ƒgôÌÜ_oißËôR··?ùÕš·¯Rx^Ü^­B¡à°xŽ˜:- µ•·µµ…‡‡c :.‹srrÄbqlllyyyMMMTTÔ’755ùùù…„„ìß¿?&&!TXXxæÌ‡Ã1Øÿe0¾¾¾J¥Òn·cûÈb±æÍ›÷Ê+¯üío ×h4ÍÍ͸൚Àl6>|xùòåZ­Ön·Ëd²Â¬¬¬QnèŸ?GxU*Ull,™L.**¢R©x `³Ùjµº¹¹—íFU¯Òä02ØlÛ¬ÏÎÖp5Y€Þý³aç–Ô¹aé[½]ç þ£|>¾9ÏúÍõ|.x3o Ó_Wo¡ë\Ïouš4]l#«.„k­ðæZx°ÚAn¸]6ªCO‘„Gÿ^;åô7Ô¨ÇÍâ¾P/‡Ô¨âC$UVVŽp@YYÙòåËëëëe2ÙøÊõ|ðÁ–––ÆÆÆ‘;9.—»víZc±X‹åðáÃUUU¸ÉmO'óm÷%ýë­`Èô‹}€H^gö¿vëH¡uÃb À=Éêù Ui‡!©;ZàÅÐæÁªaßû@àP!ÐjSÐÈ’…°&úϘ¦d)°Â ý1ºtëHWؼè^i ~6²ò©¿ÞÖŸ$ý-ÿÈKoÇ˻ՄšoäÝ“•TTTä°iéå=ß•öÖêtºüü|ÆápæÎ‹»y.X° ,,lûöí|ðÁp[µ¸Õæ¢E‹ÊÊÊÀÍÍ ïß6²$)))©¢¢¢«««ï5+&&fõêÕõõõuuu"‘(&&·’ÅÿÕëõŸ|ò‰Ýnçr¹¥¥¥¾¾¾ýë_ƒƒƒ- Œعs'æ#öôô4$‰Íf ‹ÅâêêJ„R©,--mnn"Ëìˆar¸Æ† þþwÜ"dÐ[Õê¦N­[¤ËmLF]ýv8òÄm¿>‹1Yº:ÙF!`Í„#¹àÙ_Un÷ŽO¦!ªƒdíç¡ÚÚY»Úm\Hôw˜Àu76ŸÞÞ^œ22äñññ'Nœ?~üøÜ¹sÃÃÃǺ•Ïãñžx≣G†††Žƒ™˜Ïç÷ÿ“J¥®[·îâÅ‹ ÷Þ{ïmDE´MqßÓJ¢ÀGRÁpÛod:Ð`A—¡±R=¨5p> z.ŸcíÀq*Ï1DƒÑεoÆ`¤»¥·z½áÓÿÐuÊ5oû¬Ùlîãz™LÖÚÚÊd2###™L¦··wÿ=+‹õÐC iÁM&ÓÇ|âĉY³f9r·OF­_¿þ¶;þAü÷¿ÿý÷¿ÿÝÇ0çââ¬P(^|ñE‰”——‡]c›ÍÖÓÓSPP`±Xh4ÇA ›ØÇ_Í¢U½òMŸ»wïfÖχäÌ‘®úS]Ű5ÿ[à/÷ö‹N–®NvLV8 "*á_ù@€j¯ƒn@3 ° Ðüt$qíqBJmwŸndõd2ú'Ï™(Õ½Ž$ßÑæÐh4«ÕjÜ?äBCC—-[´xñâ+W®ü°ÀŽ ,8|øpÿvãƒÁÀá‚7nŒãt~œÅ­œ}Q@K2Û'ôŒXyà]p$TvD½ Z¨T jƒevUEK IDAT"ø¸þ &(Ó@ÚD›ò9 IàY§:(üšGðÛ(À& ÷§SÚ§·çÏŸóŸ÷ñ;ï|ñÒKïýëÝìD®*bö ª²óõõõV°ÔÔÊfühïôz}ww·Z­–ÉdAH¤ÚÚÚÎÎÎàààƒ™iàçç×ÙÙ‰C[v»ý»ï¾kooŸ7o>àòåËï¾ûî¶mÛú:¾¸¹¹ñù|™LV[[k2™`˜â„Ð7ß|súôi‚ ¤R)“ÉT*•/¾øâm‰ ôzýöíÛ8`µZ€J¥ââò¤¤¤Í›7'$$¤¤¤`^77·Å‹·µµá*s‹Å¢TéäÙåÃû¯È.x´Îøtɉ“'µj“·0ó|N®ÝÞ/¥ŒXyàÌ÷ÓUŒºï@¾ô¯.š,]l#K †ßBÑàÁðô0 °Š\زþÑ  ¢ÏÃeÚŠÈ?L­™úßäE[yý´ÂXÏl2¥Ý¾ÔûG°ÙìŒ,p8‹Årß}÷¥¥¥Éd²o¾ùF§&j(H¤ØØØ°°°ýû÷÷ööŽA¸[ÀŸðg„Peeå€<Çуbøèxo‰gÆbá«Ý—3¼«Ë±=¶Œ„ïBq_@€ëÁ¹|!gÇP53`ÞiÉöóƒ_ÿ^Ÿ ¡ ð‰\€6ÜÃ…-«á/K=2׸ ÐÛ UW®^x¡­kì0Ö˜÷ŠÅâ¼¼<»iú=Ùþ=|>ßh4Òh4& ´Zmccão¼qñâÅÙ~"‘(##ãŸÿü§Z­¦P(b±8((èùçŸÇ±¥RY__?þü 6Ìž=¿Q©T.—k³Ù:týúõ®®.l  ¢¢b÷îÝV«SnîÛ·¯²²òÕW_ aÞpPø¥—^Ú¹sgww7“ɤÑh3gÎ|üñÇ/^ÜÒÒrôèÑo¾ùfß¾}ß}÷@ ˜3gŽ@ À ¸ÿ.…Bf’Y,µý„[à©öïŸûôóÿyxcÒž  Ñjëú¹;ÛcËHxæ‡ÕU|µ–oA?…Ÿ4]2T‡¶›ÜÕ€éC†  ò…­¢ãª>ZHŒ¾Nëøñã· ˜Z,–®®.£Ñh6›9ŽD"‰ŠŠòôôSô ¬¬ìÒ¥K©©©IIIý’ÌfsWWljD‡£»»[.—744H$’îînNg4B …Ëåz{{,_¾|Ü…^VÐX@B¤ª\Ÿ”h/þÓ:BžÒàH´µ2Ÿ„¯s |È—,'7Âþ°ó^ý]prXŒ@g Aéß`u Tî€øxSÚnrçm*Y÷ÌõÔAÙÙÙÞÞÞ¹¹¹2™Ì××700ðÊ• ¥d‡‘ýˆ©a±XË–-#"'''55µ§§ÇÇÇ',,Ìb±˜Í溺ºæææÎÎNÌ"ôàƒ®[·®%AçÏŸ/--]»v­T* ÷ððÀÎiooïÞ½{ýüüpI«——WZZîÒÜܬR©p?¤™3gæîÚ³gÏwß}7gΜ€€¡PÈ`0Fî®Ñhª««/\¸ ‘H¤R©R©>Ÿo2™^|ñż¼<@™™éååÅd25ÍŽ;š››{ì177·;väåå‰D"³Ùìíí-•JBIII‘‘‘<ÏÅÅeÆŒ………$iõêÕƒ¯Þ_cGW#Ov …Þ~„-QAÈ•Sf²:Y÷Ò¼1XX˜1cFiiém,ƒÁp87nܰÙl&“éû￟?~ttôè¯•àææväÈ‘£Gq8­VÛÕÕ…õÉb±Èår‹Åb0ìv;~–‡L&“ÉdL&3%%eñâʼn‰‰cÍÛýˆ\ðšèåBÙN"üLÿØ6’…ôpøô×Ъ„ð!7M œ _ü˱°€àòï`ë Û€‚Ïwda‡9P;Ãí&Ï7ÆÛ›—œœŒ ¹»ººêêênÞ¼‰ˆ0‚þŸ©a2™ééé7nlnn¶X,‹-Â[Rz½¾©©©¦¦†Çã…††vvv …B>ŸàÀµk×Î;ÇîÉd2ÎWÍËË[¹reÿ€>ŸÏçñxíííAP(”æææÖÖVOOÏøøøððð‘Ùæ\]]?üðð°°\ ƒÁ T*%IAAAqq±Z­öóó³Ûí‹…L&s¹\‹ÅÂd2M&SeeåêÕ«ýüüú~M(nݺuïÞ½û÷ïúé§gÏžmµZ1׃ÁHMM c2™l6ÛÃÃÃÓÓ;ÔgÏžИg0œGW§Œ'{7`µZ¿üòË7Øb&“éêÕ«³fÍÂméÆáNÚíöêêꜜ“ÉÉçó»»»µZ­§§ghh¨§§§H$ê¯:8WæÄ‰/¼ðÂ$Wp;'²3c°ÆÖÕÕíÝ»÷¡‡Òjµ‹%''çܹsT*u@œÊÇÇçÝwßmooïííÍÊÊâñúçw‚F£¹páB}}½Á``2™999˜¦‹N§‡††&$$„‡‡ÇÄÄ`ú®¶¶6ÖµX,yyy—.]jnn¦ÓéØ;ÆLÊx‹Æ C¼²X­v»Ífãn‰ƒGêp8ÊËË«ªªT*Ueeeoooww7ŸÏ—Ëål6›J¥z{{F­V»f͉D¢T*~øáŒŒŒ!‰åÌfóçŸn·ÛW­Zõé§Ÿvuu‘––Æb±´Z-ƒÁ`0îîî˜G_£Ñìß¿ÿ•W^l÷Sc§Œ'{7@§ÓkkkÓÒÒn{°ÍfS(+V¬hjjÊÈÈß ;•J7 *•Ên·GGG‹D¢áœSÌD÷ÔSOmÛ¶­µµuJÓdüÿDuuuRR…Ba0:ŽF£¹¸¸à—hŒÄÄĬ¬¬¹\.“Ɇl0,V®\yæÌ™òòòââb¹\V«µºººººšÁ`‚ ¸\.›Í^¿~}kk«Õjmhh¸|ùrYYŸÏ÷óó“J¥ ÅÅÅ¥½½]$={vÆ }Üxƒk×®],kΜ9ÕÕÕ .äñx8}µ¤¤W0^¹råäÉ“R©T$õôôP©T«ÕŠÇeµZI$’R©\»vmpppcc#FûÓŸþÀÉd>ôÐCúÓŸ.\¸iÓ¦sçÎ=zÔb±xxxøûûÓh46›`³Ùp/;«ÕêÌÞáü¿6²‡sSn›yª×ë)Jtt´L&k{Áàp8£§(¤P(óçÏomm½#-§1i ¢¹¹yýúõ6› siçææªÕêþǰX¬ÄÄD—o¿ývË–-Ãu4 Ñh+V¬°ÛíuuuË–-;zô(…Béîþ¡öÞb±àÏ …ÂÕÕ577÷ý÷ß·Ùlv»===ÝËËkæÌ™ééé!Nçéé©ÕjµZ­»»»ÕjÅ•W...*•Êl6Ÿ>}úÌ™38ø{âÄ ­V{àÀ   ²²²îîn6›m³ÙpƒÁˆŒŒ,..ÆZ‡cÆŒ½½½ ,`0³fÍjoo·X,ƒÉÀÃÓÓ3##£´´ôÞ{8~ü¸^¯ ¡Ñhv»Ýh4vvvöôô±X¬)daaÚÈúøøðx¼úúúÛ¶*âóùt:ýæÍ›f³Y.—ÉJNd2yü¡ØiüL0›Íf³Y,Ÿ={–F£:t¨ÚB¡Édƒw5¯_¿žœœ|[^«U«VíÞ½[¡Püõ¯•J¥ï¿ÿþ€r.—‹ÛƒkµZ6›M¡Ph4Zdd$—Ë=rä…B‰ŒŒ,--MNN¶ÛínnnF£ñêÕ«ÿú׿ŒFcMMÝnï+qDiµZËå*•jþüù‡Ãf³Q(¼˜Í榦&<„n J£Ñî»ï>ooï«W¯J¥Ò_ÿú×£!„%“ÉÉÉÉ{öìY¼xq@@Àš5knÞ¼ÉçóÅb±——WPPîÁÌb±°§<ö»ñ³áÿûsK&“-ZtèСààà‘Û"q8œ+V\¿~ÍfK¥Òööv&“9wîÜÛ>˜¿n0×¢J¥Òëõ6›M£ÑDGGゾÿ’H$2™Œ• 7MOOŸÐP§1é°Ùlîîîmmm*•êÔ©SxS¾±±ø|~xx8—Ë}饗¸\î‰'6nÜxÛ$‘H<ðÀ—_~ÙÛÛ›ššš’’ríÚ5‡ÃA¡PpeÕj=uêÎ{¥Óé¡Ù³g/Y²d÷îÝ åÔ©SÀd2¯]»Æf³õz½Z­...ær¹qqqùùù®H&“ ‚°ÛíÙÙÙø„ÝnïK+ìèèpuu  …‘‘‘Xiív{NNNww÷¦M›FO¹d4F#ƒÁàr¹QQQd2›T“ɤV«étº¯¯ïm·¼œ ÿß,à]˪ªª™3gŽ|$•JMOOW(ÅÅÅÑÑÑ---ß~ûí¦M›Fvi}}}Éd²F£)++‹ÇqULýi6›õz}]]ÝáÇ;::t:~T¨T*‹Åâp84 ¿á"Ë;6æiL H$N'‘H¡¡¡K—.miiñõõˆˆÐh4,ëÑG àp8g”w‡óÄO|üñÇîîî±±±ÞÞÞgÏžuqqÁDרá#17àþýûY,Ö•+W233Íf³ÉdJKKÃi_ýµÙlƇaúðÁ—ë¿ð &“éáásB±±±>>>ÝÝݸÃãè§ËÕÕ/ $I¯×›ÍfLio4ÛÚÚø|>‡ÃÁt·£lé$˜6²@&“W¬Xñå—_úùù¦7»»û’%KCBBB%%%#7ÇÞk[[V ›Ívýúõ .ÔÖÖF“É4¸H!88xÙ²e ...f³™Åb’ÊkN»Ýn6›}}}÷íÛ—““Ãáp˜LfOOOhhèš5k0%«Ùl–H$Ò FÇÛºuëÇŒù^Y,ÖáÇñ¿úGØl¶Õj­¯¯ÿòË/y<ÞÌ™3»»»l6[xx¸^¯/,,Ä ¢§§gô2P©T‡ÃáïïÓ¬V«»»{TT”··wOOOQQÑæÍ›ÇÑq–B¡X,–cÇŽ•——S(”®®.©T:oÞ¼ààà¾_Ójµ}Ì2SÓF€Á`dee:ujÓ¦M£)1 “ɸæÊf³ ®µ’!>>Z[[¿úê«ÖÖV‰¤Õjétº^¯½½½"‘H§Ó±X¬¥K—>óÌ3w¯í4& 6›M§Ó©ÕꀀŸ––œ¹UTTTTT„s,Y²D(޵•‹P(|þùç¿þúë¹sçΘ1cÈb­¾,±––ؼy3NéonnÆÖP$iµZ???™LÖ÷úO¥Rû>÷‡§§'Þ[ÃEŒjµZ$ÅÆÆr8.—+‘H‚ƒƒÅbqggçÉ“'·nÝ: ÛÕÕÕÛÛ{úôi‹µjÕªÖÖVƒ1cÆ »ÝÞÐÐ ‹qª¥Åba±XÓFvê!""¢§§çâÅ‹YYY£<Åb±Ï™3Çf³•””¤¦¦vwwc}MIIò”€€€G}SsÝwß} …Âl6Ïš5+===77×`0Œ)Œ5 gBÈjµêtºðððððp›Í† ýìv;“É a±X‡#''gýç]]]Ÿ~ú鯿þº­­-11±³³·dîx‚ ª««À××÷ßÿþwtt4&ÏLII9wîœ^¯÷ððP©T™™™•••}y $),,¬¾¾žN§óx<«ÕJÄÍ›7­V«¯¯/—Ëåp8îîîaaaQQQuuu999›7o“cÞ‡ööv—ØØØšššS§N%&&&$$ˆD"OOOÖgUqzÏ2²Ó¢~DZZšÍf«¨¨M‚ˆÝn?räHFFŸÏ?}útDD„Õj-((¨««ÃN+ þ‰äáá‘’’òÈ#8Ž´´4ܶvõêÕØ³P(ãp¦áœ@™ÍæÀÀ@½^___ßÞÞn0¼¼¼pZ‰DróæMÜ_k”œàââòÜsÏá’Eÿþ󟸔vÈ·±¾w£ŽŽ¥R‰ù ÂÃÃÇ£>ºaËE¡P˜Lf||<æàr¹B¡P¥Rñù|¡P…k žzê)6›ž””wýúõ3gÎ<ùä“£ïÚA”••effbZñŒŒ „Fsww×ëõýç§³³ó¶¹@N…_lKðq€L&]½zµ­­Íßßä”)‰DBDhhèÕ«WgÏžÝÞÞN¥RKJJ0›}ss³@ 8sæŒX,ì–’H$‰$‘Hp„N(bB£€€L¼4ñ<Ü;çl°ìÌ ±&“éâÅ‹÷Þ{¯Åbár¹,K©TööövuuuvvÖÔÔ „¢££½¼¼jjjFh7Èdr\\œ§§§D"ñôôlii1›ÍžžžÆÅÅÅápøùùáÎöz½s!‰\]]u:R©‹Åááá<ð@BBBcc#“É´Z­~~~ #88˜ \N+V¬X¶l¦/OLLLIIñöö&bÏž=ÅÅÅ[¶l7«†^¯?{ö,þýžžNçççG£Ñººº0-~Ž CAAÁ½÷Þ;äÞ—sjìt¸à' R©+W®üþûï·mÛöØcaí¸±Âõë×ýýý›ššp=ŸJ¥ mnnŽˆˆ8{öìüùóG¸ëiii …¢«« WïôôôX­Ö•+WnÛ¶-44t2“p§q—@£ÑŒF#n¯}üøñÜÜ\‹ÅB§ÓE"Nñðð‹Å]]]‰¤««k|U¡8Ã4$$äüùó‹%(((88¸··÷‘G)**jkkóôôtuuU(‹/¾qã†Z­vww§P(qqq111™™™‡jhhذaC\\œÃáÀ¬—.]Z¾|¹ÉdŠŽŽÆ¹SAAAd2988¸»»ÛÕÕ•L&744lß¾= à÷¿ÿýD* q2N*àr¹ Ål6 ³ÙÌårI$v€¦ÖÓ1íÉ…B ïééÙ»woLL “Éìêêrqqàep¹Ü¾÷uuu¡¡¡2™¬±±‘ÇãœÙJ§Óω'üýý­Vk{{{pppvvöÌ™3ÇÑoùŽÃ9ýgÆ%"???::ÚÓÓÓÛÛ[¥R …Bœ :kÖ¬¹s纻»wuuµ´´( ooï Oo ‹•`±Xjjjär9¦)0 àíí­V«U*•»»»ÉdZ²dÉš5k™LfLLŒÑhܵk—¿¿||¼Ùl^¹r¥ÝnOJJb±XóçÏ÷óóó÷÷÷õõ …Ø%÷ññiooß·oß¹sçV®\¹råʉlÕÊåò'N¤§§wuuá-5 …¢ÕjB®®®<ÃáH$„ÐåË—gÏž=\DÂ95vÚÈ …¬V« …———Õj­ªªòòò-åp8AAAZ­ƒÆŒŒ lvãããkkk£££o[¦e·Û ]]]B C¥RuttÌ™3Ç"³Î©²ÎŒK£ÑnÞ¼I£Ñø|~mm­^¯7™Lr¹œÉd†††âr¯öööÜÜÜ%K–”——÷od0H$¡P˜0kÖ¬ÐÐÐöööúúzl³p\¥RÉb±0ÝWJJJ_+VøøøøÒÒÒüü|ooo///ŸÀÀ@6›Íb±Øl6ÎA4›Í¼víZhhè£>>uu8 ÄÅd2»»»)Š›››»»»N§S(<L&K¥ÒÎÎÎE‹ ÷X9§ÆN‡ †ޏ‹ÅbƒÁ€954Íàfd2yÖ¬Y …B"‘\¿~J¥®Y³æàÁƒEEEÉÉÉçÎ[¼xñÈÙ97oÞ Ü¿ÿ¦M›¦V®õ4†‰D )//ÇN«L&“H$˜H»¼¼ÜÝݽ½½ýòåË6lHKKûæ›oFh•8zÉdÅ‹geeiµÚÞÞ^»ÝŽ"“Él6[$õqÁ ÕÓÓsóæÍ]]]çÏŸïééáóù,Ën·³X,\k ×ë­V+ŸÏÏÌÌ º#‰†çÏŸ€ÄÄD³ÙÜÜÜ, Y,–J¥ª®®&“É111~~~¸¤íòåË÷Þ{ï”˽ùMux[\»v ×Mc·‘Í¥Ùl.-- ª©©±Ùlt:½¡¡ÁËË+++k¸RSSSaaa@@Ö¡òòòôôô„„„»3š1Ã9‰ãœƒ5V&“ýío{ûí·q.—Z­nkk“J¥r¹!¤V«gΜSPPuõêÕßþö·Nµ¦Ñh´Z­Á`°Ùl8cÉdº¸¸Œ@7V8Ž‚‚‚#GŽà²I¹\Ž© Øl¶ÅbÁô …ÇãÑh´ÚÚÚ¦¦¦G}tÈEÃ95vÚÈŽ„òòò¨¨¨nêhµÚ’’ƒÁ°xñâ .Øl6¼&Ï™3ÇÇǧ/ªëp8t:]]]ÝéÓ§“’’˜L&‰D²Z­)))·íL7™pN•uf ÖX‚ ¶lÙ²eË–¸¸¸žžž;w–——wwwÛív‡³jÕ*:nµZ½½½;;;Y,–B¡xðÁ}|†ìü‹‚Éd*,,ÄùX—.]JHH0™L˜‹–Ãá`€žžž#GŽ<÷Üs#¯@Ω±Óy²#ÍfK$’Ql6›oܸáéé‰9в²²ŒF£Õj –H$}Ñ:LbpäÈ‘+W®ÄÇÇ›L&ƒ¿|ùr§²°Ó¸# “ÉsæÌÁ4Ûz½þâÅ‹µµµ8ß@¡Pœ:u ¦***pUXjjêÞ½{/_¾Œ7¬~‘p8‰äøñã cáÂ…®®®L&wÀ­««S©T*•ŠÅb¹¸¸àwG³Ùœ½`Á'ññNJ鯑àêê:Êû*“É „Bakkëܹs™L&îÊUYY‰ëív»———D"©©©!‘H8ÆÛ…edd8g­sn#83†ÔX>ŸèС¨¨(ƒÁ ×ë1' •JÅï7&“)>>¾¾¾>--F£…„„H$’¼¼¼îîn‹…ßÍûS²M¡b§þ Â`0477=z´©©)55»ójµšL&»»»#„8A4ÍÕÕU P(»Ý~òäIŸ¬¬¬ÛÜ95vzãë ¾¾^"‘¸»»›ÍæeË–áðBH*•ÚíöÎÎN//¯èèè®®®ÚÚZooïÞÞ^:ÞÝÝ•––6EŸ™iŒ¡¡¡û÷ïñÅ9fÌ'ßØØ˜“““‘‘QYYÉápª««çÌ™³hÑ¢–––ÜÜ\­V«V«6@F£ïõãÞ®,käæwv»Ýd2ݼy³³³Ón·ã‚W:N¥R}}}ÝÜÜú2 pœo£R©º»»qQFtttLLLvvvee¥——×ܹs;::|||ìv{qq1F[¼x1ƒÁ ‘H‹åÌ™3l6{Ù²eS÷1™6²…Åb©««óñña2™ÉÉÉ}ßwww«ÕjWW×ÀÀ@.—«T*srr"""pÛÎŠŠŠîîî‡zhêªÎ4FuëÖ½òÊ+—/_Ž‹‹Ã¥«‡gÅîÚµëæÍ›T*U&“=ùä“¡¡¡¸×‘‡‡Çý÷ßß×!D¥Rqó«Z­V£Ñ¸oß>‹…¹®ïê(G~~~mm-Þ•‹Å$©¢¢‚Åbwuuåååá UUU¸á®@ Ðh4¡øøø… ŠÅↆ†ŽŽÀíl[[[e2Ù¦M›ªªªŒFcZZ&÷"“ÉF£ñûï¿çóù7nSghgÃt¸`¢ R©z½þøñã .E T*½¼¼ÚÚÚRRRq¥ n`÷Í7ߤ¥¥%%%9³‘uΗ/gÆp‹ûÅ~òÉ'Ë—/ôÑGq9uaa!‡ÃÁ m6Ûüùó™L¦»»;›ÍÆ&F­Vs¹\™LF&“q ,þý+W®|þùçR©”Édbžª™3gžŸÏf³ËËËq÷e‰D‚÷¸V«Å=xÃÂÂø|~ggçÎ;~øáÑ?#Ω±Óžì@rr²››nšÔ÷eEEEjjª\.g0­­­¸g"A!Ì!;µ˜„¦1AdffvwwÿùÏÞºu+¶#...õõõµµµV«5))©»»; €D"Éd2Ü÷›ËåšL&| “É4›ÍØB‘Éäûï¿?**J¯×———;ŽÐÐÐE‹>|×(Þqá5Í|m6›¯]»F¡PBCC‡››“ÉÌÎÎöðð¸çž{JKKÍfóòåË]\\pÇLü*‘HT*•Íf … ªªªªªŠÇãáG—á8WW×%K–´¶¶?~¼¾¾þ׿þõÔ"‚Óžì@ ÀIæ}èèèÀ,mƒáâÅ‹x 'Þ:Ž7nDDDDGGÿ\Îé83FÐXœWúöÛoy<Þ=÷Ü#•JCCC ­­-!!Án·ã¼Ô«W¯ †®®®}ûö}ÿý÷µµµ …wŸu8ááá!!!ÉÉÉ8ìPSSÓÚÚ:oÞ¼»QÉ¢T*fµ†IDATu:]@@€X,vss3™LÙÙÙ&“)111--Í`0²ÙìöööŠŠ ¹\Ž[Å…ºº::®R©pw%»ÝŽËÇ}|||||¸\®———ËÅ<Št:ýòå˹¹¹¾¾¾Ï?ÿü8ò±œSc§ódïð£âëëëééÉd2e2Ykkkddä±cÇp§µZýÞ{ï> wòáœY‡ÎŒÛj,A;vì0™L+W®LHH(+++((ðõõ5ÅÅÅL&“ÇãEDD”––âZR77·¨¨(??¿k×®;vlݺuË–-‰D”ø iÒ(/ÌfseeeEE…OLL …BÑh4¥¥¥6›Çãùùùyxx¨Õjܹ‹ÃáP(«ÕÊãñjkki4…BÁ!‡Ã¡Ñhòòòª««SRR–-[† Ç!•sjì´‘½‹°Ùl6›-,, :;;oÞ¼QYY)‘HÚÚÚBBBV®\éœË/8«Ê:3F©±ƒáÒ¥K§OŸ–Ëå©©©Ë–-ÃíUôz½B¡Àüÿz½ÞÛÛ[&“•––âžÛ‰‰‰K—.usssž] «ÕÚÙÙY]]òööæóù2™ŒN§›L&.—ÛÚÚ*‹1m•JÅÛ¿ ƒF£áöbmmmd2922255•ÏçO$†æœ;md':®¢¢‚ÏçcêØC‡…††‡„„àGË©àœ*ëÌ“Æêõú¶¶¶ââbÜŽ7ܤÓé\.— N×ÙÙ‰òññ‰Lç$°Ûír¹¼¨¨ÇŽ™L&.% ‘H8Õ óà>J¥²§§Çf³™L&ÌæïïÏçóïH šsjì´‘l¡ÑhpJ£Ñèt:2™,‰ÆÔ×sràœ*ëÌŸÆâV`f³Ùjµ:‰„‹™L&—Ëuæ€Òèõz­Vk4•J¥F£Ánñ¦ÜjòÈår±Ï‹Ùgî¬Î©±ÓFvÃÂ9UÖ™1­±?/œSc%¸3iLc¿H8‘µZáõס¢àå—ù}ĵٜ15l6Òûï»ÔÖRajÊ?iLãÎÂéŒì»ïBUàF‚6oÞ¤ööN%#õé§œº:ª»;SS~‡¶oçôö’à…àìÙŸ[ çFŸ`˘ŠkêTw œ_cÎÈþïÿ¡C€9ÿ¢£mÛ¶iÜ܇ãçkÔØ²E¿}»ÚÍ€©)ÿk¯ñNŸf$ˆ…×_£ñç–ɉÑß'ؼ¦Üš Sß-p~u®¯÷Þƒ§ž‚¾\&¼PUE{é%þñã=?§d£ÃgŸq6n4òx?™Ò)$?¨Õd«¾ûŽ“—GüqúcÁTkö1©°Ù ÿæ?ÖX‡œ CÛh1`Shί±ÎåÉþùÏ0¸&ÐÇÇQQA¯0ï¾ë2¥åß¿ŸÅ篿Îÿç?¹……ôgž; ;~ÿûŸ[2§Ä{ï á4UUÑV­rû9Ä>ûŒc2 ÔÌ)4„)¡±Îed?ü¿YK$”¸8æD÷pxã íÔ•_©$¿ößb!9ó£'°{7…pðàÏ(—óbªû0ÅÝ‚©¢±ÎÅÂõì³`6B€ [pÖ›·7de…âŒpðâ‹`6ó è_˜3Uä÷ð€G€¯”ÈËûáËyó ½ââ~VÉœƒ}ooïÎNHN¯ŸI¨±á£ÀÝÝk@_Ž©2„)£±ÈÉðê«hñb$•"„PAZ¿)•?·LcÁT—!tõ*JOG4Z³I¥ÈfC ÅÏ-“³ÂdB1ðK»ýçe¼ø ÁÉ5Ö¹Âðúë0o`Ƹݻ!%œ¯¦$LuùŸΟ‡Ü\èí…þþó PÀmjè~¼õ,] ……ðÐC RM™-#Œ©>ç×X§3²T*¼ú*„…üë_ðÇ?N¥û S_þW_…úzH€Å‚ûï‹l¶Ÿ[&'ÆT_SaêÁù5Ö¹R¸¦1iLã§ód§1iLã—„i#;iLcwÓFvÓ˜Æ4î"¦ì4¦1iÜELÙiLcÓ¸‹­‘E ˜ç ÙºQj‚@“uÐçq@xÀÇ-·?°â=ñƒˆ9P æŠ&x-¶· -|º ¼xàƒ´WÀ€ZÁ—¯7B¤;8º!Å3Ãÿ™ <ð°ù2èáwip°ûN\hÓ˜Æäâ.x²&Øù>4Y}¾{°ÀþððI¨» i¤¡¯Ø} ‡Ã:Žn†wIpM:5ü÷q Ä,Øýo0ßöZwgt?Šlx·´Zèm„úG [À…熷>^¼;»°q!wÂÿœ;ôÂ"O8­úŒ¡àáÄè[Nì°w3 €D‚ÏÛoý÷®.'ã›™I›¼6\ùàÂq*|]˜‰{·³wÂï€ LD®‚<ÕÄ›ˆxwÇëÒÃê(û@P&œÁ#º³z8ÊÊ0BŽæz ­O èä€^ËA„j¶£™ÞÈÝ .@';"Й§ Ph2ʸ½ó«[ŸW¢2ã ƒñÏz¢ß?"|?}^ˆÞZÜç<”¯AH‹V¹£š"‰äZŽ|}O ú°tä×ÈW,Z¸íÝÜ[çØÑWóÐÆ‹!dï@é´½càèæ¸"O žÄÑ¡!ÄC&ôB$z¯ñÖé>è‚!„lÍ(5‡¹=J4ß Õú<ô›óŽÿ"‘;ÊÑ!dG5EH=L©e9‡©ºö¢èÇQ/BȪsQE ºÏ}Ööã7?B ¯ ÓÀóîÆ73“8!R)²!„èÚˈ·É „Æ=!Tƒ~‚Ù:Ñžc¨ÇŠú÷=È÷9„ÕpBwjÂ÷b$˜Ñ+Qè•ò‘.ôã´›Ðÿ„¢‡¿Gv¾„¼×"åD¦}(ŒÁȦSн;!ÕE€®è¥%z¢/êr œ? ÷Hîöò`BŽÒ©hí^d%PÅ_M„>¬@„}“…ìBŽAsjkF bÐIB©/¡ÈTaFÈ„^ˆ@¯xÅÑ‹Vz¢!dÈG~ÞèÙ(~ NAä!Ç­Ñx 7ë&qtC‰‡Lè…@ÄqCBJYƒâÝn-lþ(EŒÞª›Ô…Í.AIl´½! ZèNõ"D ²¡0WÖnEÁ1¨ÊüþðŠðE\/ôò%äè/Ò0«ÝТU?5²·YNÆ" 73®hÃ#hÙ2”’pk­ä AÙÑÕ‘ï&Ô;î ÷`ûÉ0„`µü –"͸› xwÁë2W p_tEBÖFï5:·f,ƒ‘ㆎ©BÑog ×«P÷nä¾ áï,µ(Æ]Òk††<˜£9žèt/B鲑8µÛB¨ò5û:² šSù“‹Òæ 9sМt.hoodí”êŽÎô"„á*rtÿ×ÈD ¶}ÈÛåhÝã±èñ+“8º¡ÄCÔÑ„ŒäèEÛW  e}…,©Î!W:ZvnR¶Æ/‘À]3ühS,µ(ÑíjCÈ.<‹H3~°)éT´z² Ô¾y¤¡6ûíW»0ÈÈ"#ÚrënÞYŒnf6D„L(.]ÑýäÁ¾ëbFo¥# A:Þ=± ß`‡ !„Ñ‹þŽ}ð!œ•ð¯| Àµ×AGüôˆþW¿’ $‰ ²€æ‡ÂáK`è)€2*ĺý0ºì.HøF×_.ð¾á.¯k+ƒõµïü¤Id«pC Š"öz‰cPÆmö»Î“Ú…,ÂÀò¼AÜ—¨–0.#Y %骉M„ñU–?[Àƒ¸9ˆSZøï øg´äu‡©4áLÍpQBÔ¨Øb!¥G¬Ž‚÷€÷À7‹Ó´6 ECZ VG]˜r~A€ ``OÕ6„µ#ï KÜ5%½cH‰c^ÆÒ0¦·ð\¡s²M¼‡¯7X”!öA iéÝv££ù/›,T¤ŽpžmЫàx™²­Š(.OGQ @E*oyÓ 4NþÚÿzeÆ/5Ä4Øî®TkkÑiaFZòY–‚×4—1â†Mß”ÓíKÅó»û|·ël~7mØwÆúiãûÚ5·oÇ!xL¸ÕŒ´0%-ŒY#^ Í©—`ÿf¤Ë_òS•i-5ö)i¹ŽÒU÷ºjçÙý4ž›€`œžëÇ—};´ÍðY1E“ósº¼é< DÐíX¶F9VYmìüwaèJ-«PåÉÓÒ¤âÄW“$ÑY²„bEŽ„ªln?ÖˆÿšG7!]ÖgëØ¢òÔS ‡üx¯ÊpÚ[†_ùxׯ û-;ò/ÆVž»‘¶wß/sÞácX lÌ?¸ôÝy7lG§~såq/[‘TŒm²g—àeW‰Æ@K)Q©27Gž”,¹'º’*½û\žR¦Ì—Q’Æ?mÄÿ0šÚ‚¢q~1nåcN?Ø»`ûapÁÄeÈVÀ,ÛÆëN ‹Ð»=Ü£¬E¹ò –÷Ñ¿¤à|¸¸Ç3A[æúÉƈ€½@{žk¶oÇ|û;ÞI…¦ë_ïbí\´x?»Ó0·NÆÍLû¸Wpte €‚_–mïì´;´CÍø&íôz>g„Kò'IÁ¦Müíµ @‰T"•za¾º|‡É‚pšëÂFü ÑÔBH`ð:DœÂ’Ëdy2—bÆ5ÌðEÔ'3ñ'` ¨*@¾ƒ?_‡<ÝF`à#ô¨s&ef/W¾û×ͪ´e…c¾Y||êërüµ?ã¦øQ(£ušröQwAõåMûòLøot¤ÏÜ Œ]¶íBÿ]µÎÌrR.wsÈ`?Jg7M)TÉb³š>þ©¤BU±PU̼ä‘|&ÀÃgY𒿤±|çÍK(¿œPŒm Óà0‰ôÈ6 0ñÃ@þ~†îµ?[v±Ïø¢‰¡{iinl €ãô)]¢’JhRL£v}¦êùÅ_e€äÞ÷‡ ½àWã ¶ÂYÀ~ZLÀ&Ü>¹ÿÒ•¿ãRÊÔ4ÇܹwûnÂ_ëѯŸ·u3„w˜ò2ä @˜’æZ%iBòaÌ‚ü¡Ùz„¾gЦ `” ¹²ÎÛEñ:>ýæ¯|ÁýíCûœnç¹ó¼’£¼WÅV±”Ö]fæû×çi²ŽÇ9¢f7>MH•4¯êñ¾w¾Úv2ªu EenܣܸG—öü´ÆÌ£ïì‰ÎïígÑ\‚AƒSB1%r°6SLÇ”ž³ ÿ hCˆ>…rX…Â5ÇŸî@aÚ›]ŽÇ!JoáOxè9 §K•g¼çá;xv.¦m€¶&FFÚëÜ0‹2¡Ø•5#@„@ÜÞš›šÇu6¤=³+3UXKΤ&ñÅÙ±“>þ®®Ö‚èÙ• kÆ´ûÕo9Ò‰wªhe¥ª´@‘‘!}/¾/¾‘){\¨xV¥*«ÛQ©7n W/ˆÅ(/‡µ5Ö­kî[6⟢„P€ÙoáãPöEœ­Âö^pqÅ»w°w7ìH`ÙÀ÷:ù Ýd¼{ŒS'ÂÇA°°€…l:â¾}þÆŠfFNûöøù¿åo®«Ì„c‡³7÷ˆx{ˆO¢6i*Ô‡Œ¾Í­_ ½%ìH*µXÚ§ß@÷L9T\”Ü-Ù˜ZÁ á<ð­Ïo=•uæ~ÕÅXáÙë)?î?2æäîíl5ç¬JþuÒÔ÷—Þ/{!)hJ(hi¹²0Wžš&½'ŽJ’ÜΖ%”(Ÿ7Ù±K–€Ï‡•bcak«÷(# ­¬§‹Ð;ËÑß¼¡ÃR$1bJqÒºà¹G 8N¹½wNPãqEEŠçÔYô—'®]è1ug€6£.ý´´›Æ®“ä-ó >]Þ(Ç÷Ý_VÎb§ÿ¤ªªô³§÷­9tæ‰ ‚>üóÆ[®“ñ&æÒR(•°·oÉ»3â%` q9”„ižP Ÿ—1û¬<ì^H8~Ù‹ß§rK(©º˜Ãçi¨*ÿÐÉsåK€RÀåÝÓç×'XŸ¡ãVß<|hËÖ]üm F¡ib.T<Ë”Å%ˆo<_»ø0yÚ\a¥ªDE×ð³·oÇæÍ­u›F4ŽVx¬;\Ëiä UÅ„CA+åjYbq_ðf U»w³QY|¬ym鮕iæÑ-Ç£Òíã%³"/B,óÀ)ŸþÜ-ìœÈÃ$JZžž-zôX•.EÍ&fG'ósgWÃ…!­í:Ц¹AšXšUDùå*ؼè ËŸÅ¥1Ž¢­¯µZÖdOþ: 0 ›=Çï…Yh³ þ£ÔÛª¼½ŸMÞ"óíÔmܨñým §Ó)(L8wE³­ÛÄœ#u hò\.clWc³¡Á@…°º›žkëï„¿S<¿/~ÏçsÊü¿£uË ëŒQd‹)˜ÞÝîÕ”ƒôéù¤ütY~zR~ðÐqý_éÍ…2¸kų4¾‡¯X»“R#?ÈP¤ €EpÌt² Æ&æV‡Á ¡FríÃzX!µPÄ|SüÆ»Q=Òg'ödØGkbªTeÒ•\0Ò_ðŠ2˜w7ŽÉŠXw­O/+sÿºÇõîØÅËѼ¥5åª9íùÕÆŸ+•ä=ÓßýöP÷­ªJ„:MÌfšRS–…±|§åaˆB¨¢2J»–›´{··Ý¾“E€"jÏîëáKû4*>ªü£»ÉÂßÔFýXI ŸßœÜðñLs™N³†¥ÎÒX¾Ó20D!¬ÅìdÒyÔ´ðÓko«€’ãÖ·»ºl”_!Zÿû’±Œ¶òœón·6šÇ¨:ÐÚÆËῸ$徺ÝÊ»S}e4teætfÓ>ØCŸ ªdÂ2)Íã››s[ d§ï<º!|tãÆmtîÿBÈáRoŒË`ÂWi]Ä„¶‰J@ÓĬ•IcùN3Á…°v7=Ûqø¶É§ºýðDï¬é¾ }û§sF{šéy~•…—~^<áZ݆-ýÈ«úÁ©´²M^±÷^‘w3E0 r¨GÊR¤19—àÝ»T^þ}ÛÚ“Ý.Tß×Ò£sP׃Æôììeªç )Šßc–$ÿŽ-ì½Q´ªJUV¥*c WÁc¾Nöæ´¤´(-ú¾\¤þ »Ýœ#ÓBu•ibÁD$%B –/oÒU©Wó˜MïþnõX™ª’û %Ìm…¸VwK)s­?3ºÆw“W<»}óÙí›ÇVmtè3ræª÷†…Ô°“éªg1j¥êîßÊœâ ZV¡*¬P1™„äkeÒ8ƒàŸÀ …PÑ(ËnøÂC¿·ùxâÑ81(žÞ?¾êþñúN!ž}jåLj<\[g\Jðü^ªt´ÛËGêÅ9·™#§.Áæõ±$ý²: êÑÏÃL³—.½»yQt ªQ|Ùóqå£mïú°(sãn§›{P÷R¥é`kP!ZJ‰˜>f$HS «Ë‚K4[§æ'„rZ¢¤õv½³lMÛñûÊïwîK(¯÷<Ÿ·'-Ù4²sÝ(*×¾‹:Ð*¾ùã㊾á–/¹v+óâ¯RàêQO¥4ïnsÿVìµ7!~pþßJzM8°dú–lEEÖ³ø[nüyåÌŸéB|GouU2ç—oæ®È®>­·(­X`Ë7H%R•‹tfðI Æ“4#-XÆ&æa(BHÓP(ÀåâyQ•‚Cr¸úÛØvc¶ny{Õ³;\½ráÁ½›‰™¥š#­;_ôÚÀ‘Üxõ—I»÷úØí;QˆNîÜÓa~7þˈ!-JˆU‹…¨W=z”*NyÀpö³½ºU‡O©ª¬B)€÷Ú”™#=Í€kééáé1aìÇÅIgÖïÚêm¦¾TZTnó¦]Ðý(`æر[ûŽáA{ù¼péB CIËõ513sã ‚Z0ˆŸãùs ‚­[`Û6rhpdâÃ†Š»YV¼·ôð·dùó›@µn¡ýÛ½Cê•@0 5#’ypsŽþêÙËT¯Ë³®d0ÇH¿6õh$IòýLfË;Ä·ºéƒ4s³gL4ÙÙÍK7Ýϯye¶m»á›¾9uò5Gæ´*عkÝh¤(ç~̙־÷ÙºËUÿ2)%.Sæ?—'§Jî>]I‘ÄäÈ“K•yRJÔÚ·f0!,.F¿~˜?f.ÉX·?ÎÅSúbe»N˜9iG”=ønC¼¨á“í0tÛôF?•ÞZ>wå¾äŠzºŠkƒe<,îáõ*¹7Ò˜§EXð© û˜·=™Í²ë+>ÒvÁªí÷rĺ·KpµÔ²mûµöçËs‚ÔoYuÍ’§K-çÔ5ø%Ë $æ;„ü‘M¨òì6‰ìeÓ¯›mŸ·Æy>,#€¦$¡kLs±";KŸ$‰ŽG¥KäÉÓ+TE ýnȬ+V´ö=ÀÑ‘‘ IРŸËRÝ$}ý¼­‡Ÿ¸ñsmüÝž?ž­Ä±é–c_ëhÝÐʲñïÙ©âÊÑ!UyÒ¹³û÷?È.S¦fV6榧PY•}ûÎíLs/S€¼àÒ–?”0ë4mt?w}~ŽªôÚÊWsíçM~+È´út\»°A9go¥1ùIQâß—oJSÙúwv³Ò—2ß?²õ—Lßq;ÿø"þçÑ‹¢¼GFz¹9šñlFL «™#¡¥™Ïï9¾ï›ßúìé±±9e´…“»• €(9Õ~kEÖ¢ ¶ˆWåžûéÎäÙóŠ8G6<*ýšŒÍ•yˆÝ×_ë-oI¯“%§%"ª¼\YP¤xVªÌQårZJƒf“ÜÿõõŠwßÅôéèÙ¤TX:%èä£[Öv®Ž„õ©Ó;Ýüæ!€´ï—ßúSd›†þ;ÒzðœŸÎÛ~>~ßmF±åÇŸÝv#°­llL¸lHKŠòŠe:î>2°öÄùùr¦uåF•sò>³©'|Êõ¼6¦}¿»¿ý&&—ñd¥Ù—Ö¬¸ôc÷…G>›Z+ñ©È¿¥ÎI :wy¶ÆçQiÑŒ ÖÎE‹÷e:ÚniGÛ|LsïMëa•÷÷â'‹¯D[€(€‰À•?¾Ûû¥mÐøuófö¿þ½Y»¥fË^{Àw,ÝòGðZ„„®QÈi©\)-G!Ôå;füêòÿì ‚Ö_iž=ƒB3ùS›œ IÚÄ”W½Ø¢ÌqyûÛ÷#|͈Nî>ø¨QÎSÒ2rÂö'»×Ì s®yeyñóôœŒäFǰŽYâZz9ª‹Pc·þUwqP•^]¾ï#]æ¾zç„À}à—kþ|þã·«ZiöæGo¸ô礚g¤«R¢49É~v½¿LïèPòùÙ»û~ÍôÊq]ò%ï­¿®_θõeG»/f“ûÆÌøä‡l%\€€@4°F}žâ'‡§M›8/çbª¼[Ûá.ºÒâ×ÝÜ®“…LŒ‰å ¤¬îæ´þ#Á€-¡ªJ”ϳe‰É’Ûqâ¨4éý\yj¹²PN¿ ·òï@ëÿâGŽ W/õ¶¶ƒI&!û¼Yäêõ‚´¹„YØÄí¿_xä·ó3ƒÄ¢¡¡ -¼__³îÏç÷|ÿÁ˜áA^µ¢ ¤eÛƒç¿?ÔW#K„E‡Qm™Mêþ®)~¾ž&Ö>ÔÊ¢ÄcÓ,<ª©õiæY¿>!ÍÝ{/øä§ÔŸ¾[fÍì’ÇoûìV‰®Œˆsn'1£chÇJµ2Ö® $k°/RÑqR–ÙÍ’ï.3v{ ¬‡.ž»zŸSO‡¡!otvÐ|$óÀÕ‡¢ K3TÊÿ}Jð­~O¦~ôFǹs§í>t½ÈQÀÎ*6PmÔï*žeÊ'ˆoÄ‹¯eH(2*U¥µš˜ÿuh}sÔÉ ……ÈÈ@·nêæ Q‹o¦Zº%ñeOEò­}"#|^ê#§Ð B'L@+Äe•… &vŽ‚:nËyìÔÑ›?9öJþÚÿÑ_û9vÎ^,aaZJ©î oÇH_mø”–e”[y;ÕVŒ„©cÏ%«¹.1+VÈï\O÷±Ñp¨*óž0Ö²™O˜'53-‡2+©¨Jí9³8ÞG3Á…€Ä"~•¥ÅŠS¾ŽÞòÖ?ÇS@¥Xœ¿€îÅle¦§¦v>h“²ç«œ”wÔYyí'PÒ„BP¬¬?¾ Ñúš@j*† Ãþý””Ÿ9ì4*¬û£;-û3ßÚÕÁÅËÙÅ©®aÙi០¸TïQå¦ÜKJL)UÜ ðÐ6Ìn®/'mÐDþäÈœîËܫҗúd9ôí©^5¤"iõ´(!–éÖ€_˜7¿µœyH‘Ã#׿3HPªs_Èp \ü(¿ù wœ¯*Ê»¹Q—n ŽÍïf ´Éùc¥…É_vþž“¶kK¡2ïîcugV7•wjøä)£×~9ký¢·?å=tø¸_î¼2¿•,ãôíG7nü¾i÷òÑóFx¼ÞÕkÊäq_oùöÂØ"i#Dw/)%*UæåÈ“S$1EWR%wŸË“Ë”ù:í8õ¢²S§â½÷àÒ%øøàÈ‘¦¼·FÑúš@d$>D…L(íä.ÝôóãÀÐ&‘Ýàµ}}ÃN7~<öë¡ë1 êìß'tè¬qŒ¯jàÞ^kŒªJ<É+Nÿ¶Ï¤Û‹.žîn¦+ßtUò&·{w›jeY“´ðkÃRSË­î±Û³`õñÌ5ËK÷Ø¡RŠË¶'^äçâ/«Ü¢Çn6-WŠF}×Q,÷¾³&'0)ÿÇ=j€²¢\•p{ØÃYÇð¡ª;³8‘}÷ž´Öm–"ø#7Oôe^TF}Þ‹‘@{ç ÎÝ|œ«Ë e±ËW}[7-¤*yÀ2-]ÏÒ£[øÐ¹“—Ûq!÷‡u3ýÔúS½á‹Â™ìÙågÌ—ž>ÍöÒ KJ©ü²ª,YB’$:Mz_û–¹9„-¥ E*h™‚nŠ™† ¼ó›+n œv=êÌñè;1陥UrRàäÚ¾wÏá3‡ ®I·¡Rªƒ!Ja¡B=¡B¤aƒä50$Gþüv£¬Ú9ñuÏ$ÑvfY¾¾¬ŸsgmïçcŽ´J)à>qÑÆ ƒÚ2-š”8ýè®…SÏ=€¼ã[¦í 1«ñiÉÓKêrwÝ–.¤…çk79ò>ü`K.áé3q•]"µV…¢èÑ=Æ™4i×Ì­Ì,ÌäñÔ¾‚ Y½´„„ _¿æ¼° Eÿíjð…@ð\z žÞkðôÆ$­œœÍ$²~Øúò%Ã_èïjYëÏ"ùvjÕZ‘V(Ö[Â@^pãts¼_?W]ÓV§3«ãàŽúºBh¥TãÆ™_ºg{Ÿêþ0’ï3nîæŒ'£Öd¨º÷0WRƒu¤º¥Ë28L1$Áï0wbÈwbi@œ•\ Œ´PA~foe6·Tª”Ä­‹6Kø¤…2V­jÖËÖ€¡˜£ÿB‡°9!h?~¬:¯J¹²}Òü¡.C"ÚÍœ9i÷étm䎴 ð¶Ð÷Îß)Ðò§Ew?’Êl·}-\—h€Å?PgAüüõÉ ²ðiŽº\ÂgÚªu:49®ƒÃÔäúeE•5£.TIÚÆaeé¶tÕiîè¦NEQJ<ˆ,­>~fAI!÷›¥~›>kkFZFE¡sgìÝÛÜ׬CB}Ýôÿà ÌB×o\1ÁM÷±—ä¤ßùíf¦N‘iP¿îŒÊløôzaà#UöhûÌÓjǬß[½uÿnyÖ• æÉ×--Ð…8ñ¡ZJôuÓc4l +:‡W+_!I¹—ÉlyÕˈE‰ŠrÔ•Kuÿs}ü Í{gÙÏ×cÆNË瑦..ؼ}ÔìÕEs aú;à\ýÂõx#|ÜЮn—Ї¿ååÔ­ÆÔt߀f%ï ãÓk o¯~CvFq)´\÷M«€à»ÿ~Ï•˜•‹æôîì«ñU5KR-:LëÉlVü¾züè—«4EU{nÕÀÏ«£¬ÎVDÔ$*{r›1F¹muJ t ˾ú”Q»¶=ƒôŽìPd©ƒœv.Ö5PäÞLÓTŸÖÈE?û˜Ñßžüªi$é—ôðƒücÐe§7LzíËÕ+~;w§¢Vý—Gø³Âσ5Ù%_­çÊpt?ÆŸÁêËç|koûAžk‹(9ësÙïÙ7š*°ßð¥ÙëWnLjGé4vë ÛO}ãGû-Ú%èõEå”Dš4èþÎúîï¬%*IŸkPã©äø|´xîùY[杖^<´ðâ!–­³·_Y•‘[½ªy-øljHÍâXQf´:)ëÞNŸºQU$D3"Æöëí¢ïVäFg2Á4A_ !¤ªRJ2“Ÿ IDAT4qW¶8ñúU‹N¡ž5)¬DÿøbÑ#Fy;¼Ù£zЇ4ïÞ5?H~ŒFÈ#ù¤e“]ê%ÑBB˜s“>Crè6X´óBpjv%€3ѽ1AÊzT`³þõ.ÖÎE‹÷g¶e\q·ºûÆTæl qIÑ”¬Šà9KÍØ€atß´ H3¿ž½üê¾Á÷žtârÒ²-Õ†ª87µX÷Âkêò]_ÔªK‘?}”Ê´"Ø·²×kŒ>»Âl¹t Ôô¡*S®iû«EóúÐB¨ÌÀ{ÿ‡EQxÝå×1 ýïaøVܸëcXììü‚Žr§œ}Ô]7Í%\M•÷cºo,Ên/ÿ ŸC|ZbR¼âJCÁrR.wsÈ`¿&­DüW´l?é÷Ÿúœ9¹oë™ó7óuó2vÎúKõd?9-*«¢8V¶ž:öÞÙÛª¦ÄP•ZgÒ»ŸÑ-‰[õÕh8tz¿nmØÂ”7ÏüÇdB3Xñ±÷?ÌuÓ‘§"lE[-#„mº¡Ýl|w «"A*‘ø®aÐÖ&H¨*š¥R÷é蘣„@ÜÞš›šGö¶ ¸ÎBë<û›iYžtÁe‡Ló*WæH©Ir…´¿{³¡"å÷Y}Nñ¬Ûþðëm}ôZd­ˆýßx¤'ÆNÏðÖÏnñ¨¬`¿@!¥\yU„{¸¯¾ ò¢‡˜è&? Â^_dTžuE#iÝÛÖÈpTÇ]9~½™³“;ÿ>vþ}zÕ>M-HžkZ™Â:T›¸Êô?×lQs@Z žóÃam5ê{ð{oÏ\~GÓ6©z¼rו1«k×û#ìéÔj¶(Z&OÈñƱƒ¸7î^ððÆŒ_ Ñ‘±ª‚éÓÙÜ#âí!>‰Ú<˜©hP2ú6‡Ø>9«–Kþ|³g_÷^ãV³ÆîIcz$ öO½ó;Û4‹&f<²ÒÄ«)e†×ºýÁÇ™ŸlHÞ¹Úg oÏãû\æ¯Nµ¶“SªÓÚ‚ösϼ^qê£%}ôÍi¤…OcÔž™{x[}.£²ôɵ¤µÕHš¢ÌÛ긫kxÀËEÌZgRàZM¥%KÜ~\=\Êý£ÑáÓù5Û=uÚ&IÌÏg‹«# y¤Ë ¥ÀÀåÜw:³c CiJÖÖ„tz¹âReͽìߌt=¹4|‰=Y€_ô†%ÌpîŠ}ŒÏ\…ùáø­ ÞoÝœBh‰Kb.oâ|2r2ð, ×¾…= 0ÁÆD,ö‡˜ªKÞóÛ;ço?—^݈Uàì\åOŽYr€PµþäÈÓ¨¨¬¨¨G±3z)H4çÞ÷A š‡Œ4å«­©X^O܇®Jùùó=ûöß|T*kÁØÐo=¤Öž Þ¿ýèRœÏ;öƒëÞMžIÌ' {‰³°Lí¼íõÍÕ<#N­æÜ:´³Ö'Ø¢gõIšüéÃƽ° ~¹ÿ†iɶ¡žZWüôÔI†e€ùù¸‡»³ëˆ˽﬉ê£ä3O«G†<òô0 <œ?%I¬\>œº››ÕBý`ÿ&¤×©q.8…ßý1ÆàaæaT RˆßbþlÑ€sÇcÍVÔGŒÓú3 ¬qü²¿Oå–Ö³ºKxÝÒçöS4“ËFòÌÔ ¼TT€©roûzÛ‘ïæ¬˜66Üò­1sbÊ[Dw¬òáp¨¨ÓvÚ=Ÿppr“&ÆZ(äMðŸòºÌ9ýôǽ¿.üìËAžúŠ7ë—4ª4Ví¡±:{¼œ"¬6q"ÚjS„Ьûw™!4¦}:Ü f²YŒóL‘°2NðíÝÏ£÷¯tñçÀùÅIË>è4÷íÎ#Bv^çP€$-Uݱåûæêã.þ¦Ã>»²sçί\LôïÙÇÝ&nËß^A3>ÁˆgÄL‰¿>G{7˜;aé5P4Î/Æ­|Ìé‡#ðH+R*œÙwa€„³3Øh¨(X¸€‰K{ ÷(ÕC™ÔÊB¨¤årº~6'BÕîÝìÇz¬M~Õ›3Ší›ÍUS›£¤b¹Þ[¨JØ¿>Q‡’¢2õÞs½$MŽE_¥¨TDßa…Ú=Gä>3 è,¬o‚ÀK‚àÙ»‡¼ùÚ¸1úd*{X-iî5$MšyYqïãõrMóÕ&.·mïê"¶ÉÀkŸÖÇ:·vß`õÿEY£ã·°÷‡Š+³|U)òï¡*ïèÞ?jú2±¢ ònm]kÒ! C·ÀŽÁöLhî•ûÇGOÍ‘KÉiŸf}å´}ÿa…S?˰¶“ï»pïÅ¿à?aÞsòÊ5cï¤JúÖÈpèÆ]»ë­u«º&nuO¶Iݪ›ÊX»‚ÌÁ¾@uü Ïú—0u<—•3 BA\Ÿ¢pvà,±ÇõR %=å4öXÕ”KqA|@óè)ZåuÁPwˆ˜¯«êý¤ ¦ p ‡ó:)à®ï®UBäQpÔV2ñ°ä&–Èqq)Þ„ûÂ…°áiŽ„"À_ÏZ[ ¹y‚䘙0ó åUmjŠHUÒÁuOÔÐÃ"éS7 È%õxÒø¯·í?Pœ€÷ø_c&û³ðûÇ÷lôŠ»k¹rwüç_'ÇݵܰÈñ·I–mZ†…àû†ª§ï\7îÚÐ@e=¨6qí‚tLÜÚ&µ¬s€R!SS]²Y¦šž(B©" }~;…Cß½´¯×鮋¾pñg¶«æ$¦d ǕМ‘`Cb¤Q ÉG…ÚSM¸è=6&…‹@C¬„Y=™ÈV6Gkå5(<ú)’WÕv ©ü?öýÆ$´ÌÂçÎm§Î­H%z W*'ê»= 9¯Çò~jKæõÏXü´sd™XÄpîˆc`¨ÐÜÂb¸Å]뇮3¢câÖl›$õ²Î±ã:ÓG„‰ÂõÄ S-ë\;î cäò½Ã¼Ñiaâ[Å^ßžS[íÁrc9ÜÃـŸð´ÞrøÊk@˜#Ôq¹ *çPPâÖOÈõ‚'óIð°áúÏÚÊBhÈæ(H®™FZª¤5eK”rhºøØuæû}\5kœL¢Ï•Æwð³š{¿5ç ͬŒÖ?ÎbÓÓ>ËððøtSò»=#Y†ÂÙÕ@ܵ~ÔçLÖl›¬*×f³Ò\rÖ,SÜcPÛˆ%W.qD'NÖm*Ý¢Ç÷ù!ÿïS}25WÏPo>`RõΪ²Ç_x$‹€GXðü±o!–w†_'l•ÁÜúî\€ÙoáãPöÅýê\ÆôÇ…[PT6ƒ•æV˜v?þ 6ˆž Á½lõŸµ5ÍQ%VÑ-K.÷R ¹õ¬IU:¿Uxrß1&V`Úeö‡Þ¦d¦ú=¹žõüÚ6ŒüB«¶ÓÈÃßxÝNxôPü*ýãòçI‰B{k“ÖrÿcÈòës&Mƒúu·¼ðW °añ¥£{•ç¿Õ¼÷~ü/ïƒ*{¸©×'‡Üž],Óeý7Ç-V'²¸JÜ.Ø÷ÙÖ†€¶waìÎ(²çx€@Àt$ÍA#v5ÞR™Â×Ôá p|q_¦Ä;¡Ù].󡘂´wáïÃOê¼M#jº} ×zò5­ùï:¥É­6Gu5¡$íçÕ˜L•ÓôI}I‚kªÑ„Ò:>¡4þ»ý1ÌÑ^#«Õ ‚mÕ6¨Ï{cæ}ý~ûWø#diß­œÔelw‹Ñ3¶gðböbPÈ(W'€ºEË~äºï½8„|Pÿ»|¼7§¡O·¦&ÔŽ87P\M¢P.ÒjBéÓ_VÝcµg¿´$Z€(Ö}ahÏ~½ÞxÍïVa‹Ž°5&–®AÝ^ëÖ½g{ßú%h„<Ò@4a‹ ¡£#öíÆ Ð¥øàå»c§g7ö¡VÁ³Pë(¹PNÉžý¶âSžoóþ”!î:‘’ÃWK«B¬öïdIÛöß®G êtªMF&Í>6þÃÏv%ëÔÔ2õþü ïñ?žx6§ªèá£óÀÇ¿]¤ýË÷„«I´¹ÑšÿðwÅó)7¿ ·]¾Ð¦‚ãG›ìÙ%x±öDFƒä‘ülžhf´œ9š› DFª_Ѝ ’EóLéï–ûŽžíàb€ø$Ï\ÓÌ$”•^ ªÍŒD²5ý¿ ±Œ¦òonÛÅP™q#–U{ƒ¤UÅàî  Mÿ&¨‘¼a²m€ÍPë«ÛަÀØówFŒöp´«ÔwŽ£¯‹ËVŒx±ºL”ØÉ2¡º™ Ã¸Dî gcήQbüøÄ|$âàô᜼-›û{òU¹]~$|#O%³1kðÿ’hiÉ#Ùa‹¢%…pN|¥ ifBš}µááþ&|? U)VUˆ)¡˜¾È”ãæ¡ Ì ²œQ$–ã§ óªû£±x¦L×%“ˆ“wì»Å¨As†U{ƒ4E()´(!UÈ$ôl–°Z¢éª›§J€¯€sÁï¤OøŽÚšÿãÅ Ý{bÙ¾1Î&~¯:mßËÃTÛL ÉüuÞõ‘öpm @ÖO_M,Tüz0èâÒß%?¦ˆ–F 2áØ‹,Êù¥rxp ,æ—šHÌ™tÌ‹“h©gÓû††8¨¯®a‚Ï2MØ¢ÆFa!fÌ@i©úå“'xòýúÏ ÒŒ´´ã¸{ð‚Ú›Fñ{{›„8r½-X¶lâåºÒšlSÓš×ö™üYG}ÔcW >P’õÝNµì^37HWX=aª€"ñX7™]DÃcMÀÏŽ%¾§@;˜ ¦..œ·é™×3«]ReBqÍzújîŠãÝ©•º™@úxå¦oî3ÂÞÙÓÖ¼íÔ½+ÖïøpògæxÑù­«öܽ• pæóLp} {šØ¹Ä¥hVâç²ð|Æß•š$WHƒ_ˆD‹!·¾q|ÓîíçJ^yÂ} €Rw¯µ r÷í2‰ýDK ES<æÏÇÁƒ8t}„={¤ŸMp,X6,†žTFIÄ£$+$ªJ -DçB˜˜quŠù¨ÉÃ}ôþb$׌ð8¦îØ«bšÃç«1ýe]å8v·àùm` ÀñVüq¤çÒÁ=vPà¶ÍûlüOK¯ÀË®Kx-ŠÛùŽ—ÖvSælýpèâLã7ÿõC‡ú¢’•g>ï;ö¾ €ÿÔ·ÇzpjÞ€ÏØŸnN©ã¶‚*ºµ8dùM¥ ·Ç%?¥Ûê³Ï<µ-ÍüýàºOŽÅ‚aôJ€íÔkÑÌOuw­=[è²›³½WD+ø-IÜ6ÚÍpc9OîY† vwn[±|}¼Æ-ŒVÑ’$€WÿòSÒÜT3TUE+i«„bJØ´ã~Ù.áÓw…O(qiV†ÒÁ¯¾Ÿ«ÚUÃ}X-5¨Eõˆ:dd ‘:ÜÂ6idò®ÚA Pjéð‘õürT€>JmÒ.lòdÇ _3¦2<Þ,\bé’[Jx2>”0fù§³¾IדÎÀµPæ][¿<úâÄÝ'ß ±ª>ù‹[„åa;(LÝ¿Ê'ÍðùøñGx{£oßÖ¼7ƒÈ“ü°¶9ËÚœeÍ® Z*R 5¶«¢›ÆC!ùÖž ½Ï5ÓBnø£ÚÕ\eÛüSòª zD-Š$ÒTÛBž^,¡¡OëèNÞ%|ú«9ªuøÈBFõ±¬G¸®½}L¾Î—€UÇ.æÝ´•Êœ½«>ÒH ?(rÄÛÛ¹›¡Ê5ëñ“›'¢K@qÿÐÜn¿ÿÜOC®õBäÖ‚ëÙ^=c»á§8楶VæùsǺëç+·•MŸ¼£(?¿;ñãÈP3hÈ­Ó'åÔrD9÷crîÇœÙA†î;òÃh+C¨@íÚ»´koµu­[­6y2¬¬Zéž40P ¾9@‚eƲ²çxxò‚ø=‚ø½¼M::p¼ÌY6MX¾DpÍííëL"Ó‚!#ƒ¾þqÁÌta6ËŽ~9~Ü¡«É"M ˜>¾°vÐ'‡Ò5û‡z©­WZ^¥.?bóÙ 8“¹ÑÙŒÓi¦S°*É8yXí(’¥1?o¿pívvY­G‚ßaÖÛLÒ^ô0.—:†ÜúòMxÛ2(Ò×±FSºS×`}îi+A¥$ÖÌkŸ‘lfFZ((@T‚‚àêÚèG›ÿeMØ0ØׂegÁR“X3å;Œ’”P•Íe¸6Ô?€ÛvÁ'ïÿ1ÿ@*ÿu`þ_ØvÎ^®fªÂ¬§Ïk(ÇH?ÍD#ÒÔFãL>-‘ÕçL* nU;“Þýª‰Y÷n©ç ¡*úÂ¾è ¶µ»Ý:t èØ­}`[kž³=©  ¬¨R h>_Ýâ;âË?'zsUUYOŸÄ$<º—áÐ]ߤûÖÉ¢Ûw.›x#Z‡îݱlúôiíÛb„.Bï,ODóÆ—`ÿôœ nÍíW@%Fú ÏÌójäÀÇ1ò;p<°ÿ$’ö뻢_ €ûa¼¯ÀÀ<€J±ââ¤Àüèq£º S¾c '4(1U)Öxš¾|‡ejç­?A˜Î9³B:rÕ‘xM3jQnj‘æ]ïÎK<,Àóï¥Íȱڴw ½ PÅ\¼_Ò£Ÿ­)”ÄþyDMáàÔ%¸Úä'?®Ë\(K“ŸD%?‰:¨¾-·`ËB&ÊáêÌŠSäߪnqä` ÜýÂÝýÂG ‘_¢%Axëƒç#Þϰ{¶o¼¼ê:ÊÖÅKš£º1êŽÑÄÐŒ¶Oºp¢‘qD@(„°ÇÞ‚ÿøñÇQ„º|Ç)ß ®Q¾Óì¹h¶säç×íùvd¯`‰cÞ>_vìÌ03õ‚ ËQ Ó}Ø2Qô†•÷êÎà«’öÎÒÐ… |;{h½Qeå³RuÂcØ´ÿ[7þíá|ë”(Ñ•Ù5žŸ½»uuj±*%J;Nнõ‰"^&,6Áe³ EQmŽ*pb>æ]E‘3÷cy4÷bâ2d+`Œí?ãuÇêöÎf¥ÙvÁöÃàþRó`'ÐE茰8wy<¬ÿ¥«ñ}4¤øãºëÿ†GÛO—é\ñWÍ0fÇ èVãRÅØ…)kÕF“Ç0pãÑRt{¥®VÍò9-ÑfA$*a³”ïðlC§Î :‹VˆË «ä­=Ÿ ÈîïHe¼?‡À@AóD›ÉØGm+P°wÉøâ)KW ‹ðQ÷à‹S¯ïšöÕOIš£ýüt~¥†Nà6t®÷ÛsЊҼ¤» câE'<ºû´P§µÑ2ÄÏZkcŠs4ãC;¾JkqËÃÌ0ºéu¡þ9U%Hï?Bta“0ð º>Ç;K1ãfø"ꌙø¼§°ä2™¥8{A½-OFxƒmU rúâñN$­FèlˆBF~z KOãïaµo¥ÑÑö(ÅÎ?5W×B„SÉٮƩòÏ"Æ;5†®vG7}“^\”Ë6mhËwÔ¥M_¾C”‡ì²IDATpøÖ.Õ‘VŽÿˆu¿x>¼ÆííUCï˜~þÉØ??9ò òOý8÷Ô\{/wU’“šQ£DÒ1ÒWGòÌ]Õ¿fñ“B)¼¹Ìe­ƒ;ð(+3ÒãbÝNxóÌjˆ›öÊʼ„'LÄÑÌ'̳ÕJ|_ ÒM¯ µ’mðáHpn8†rð÷3´}„œPŒm Óà0‰ØÕs–òûzî 6˜<^‘°;·@°Ð9›RQ—±½ÑÑözQ{%Nì@‡9¨ 48ŽãŸ º|‡ *Z)¡„ÚÌdÓ–ï ·9wöºž·¬:-<÷ŠkOQk6yáódíÔ&ÇöâÄ!®/'“š0ê䆸l@våä¼®¯;ÕÕgls/ÿ/ÿˆ±#kî×™˜íWkb¶áÂpš'´h(x¥3m£qè=Xw¤› &|Îb =ú¢áÑöõ¡î8ÅSìÎÀŠ!:þnƒã8š,‚-`Y ªËwdbU…¨©Ëwêǽ÷ÿE¼vàè¡}WoÆ•©/&p‹œf]&_-¾´uLϯ~º”+©Ú‘•e$ k¬"‘[ LH ƒ[-ÔÿË^QèäÿI˜ppÛâÐ*lïW¼{{wÃŽ¬9ƒU½ç¦ïàF!ÂÇA°°€…l:â‘SC£íÆÇq€?þŒ7fC·L£áq-¦|ÇšíìÆkïoÚ-جŸI˜ ·­ÛK4´b9ì´~¡¿¸’ ÀÙCzlkzb­µ\%®TÔú©ßÚÅÞÑžÏ ÏýsƒštÊydOÚâBXœ³é#5í*ùÒ×ÃßpŸS°ï üõœ4ÎLÄщØ?äe´OËBIËÅT…H%d:BTtµË,®bÑ4af^ÿØ3qÒúð•o|ðѾ¶uü Zœ°áÓ÷V%«ÀgÁÃmïùêóAT›×.\y¿~RtÓ§~ÝØ¯Ú”¥rϽ×öëxì°-YëzµZБP)ØYO8¶Äæú”\u™î¼k¶3”¢O –¤Ô òGÐÿÍž6$­„úKCe¬mqhFo7Pt|§ÐåºæHë²·^—X’Ö/>}^xÇãÈ&°k)½fHw…Р±jUí=,‚ãaß&ö>ÜÌ:Ó±Jh×Ó{Íßæ§\¿xì굿cïÇäThÌCÒηïû£g,ìë§ ê!·–®XõK¶6`#ÉI¿ó›8hÑä&¾–ÞësT ôŒ ÆôyŠM€OZ¼øôùœkH½ƒ®²r\ Eñe, n–t—Q âúu|ý5ÌÍQY‰;0mÜÜÔï2å;VpàÛ¡KHÐôÙË+Äʲâ⌡˜ÛÆÒÚ‚Ó|Îp}äÖ¡­S=cRbý…Ë祃Xq‡írä5zŽk¬iÓ]:æ¨6Ý5ÌK \â /¼y_˜aÒ]o7iºË(„†Ž·ßÆ;øûoŒ‰iÓ Rar=jF§|ÇÕÝ5˜¢UbJ¨-©kòò rëîï¬%*IŸk_sH@Ëã—õåGAŸGöØî mÛµÊI bëà5 Ö˜ýf„âKo<‹P&IdŠ1ý±ä>o_o2‘IwmiÒt×!EaÄ‹@AË:,¦‚§¹ËwZ „\ Ÿ&hVÒWa Ÿ¥ÛYÆ$U8/ß³ÑÏ·JºË¨ ÿWÀ!x–,{KC¨BK)±V&›“}§eA³|ºþ&I*Y”GþÒ˵iͬÛÖ¦»üô½Ý<é.£&4(‰&"R åt“fÁ Î\_{Žgkß…~5¡ Aš±¬ÌXjÂ#%-gh>D”PL U´¢áÿ+` £õÂ(„FÔ›àZ°l-XêàƒŒ1\)¡H%”P•tKÍ hRØF¨…QhLùN ûŽ„ªbº%ET…a Ïj&$Ÿ$ ®yB £ñ @òI ­i§¢•j²s•PDUh¿ Y â¿QÀm˜ ‹ÐË—ê鯩ݶšúZl^:]9´Ûß…£Ì-¾4MW‹`›³l8^^&ƒø½ø=‚óØz¬ËjXû{Ë›ÞóÇØ?È” WñÒ§³ié¶¼µeUNô(Ï¿ÇãkzÀI°*>HebUNRlúΘœñe¹WMΫ­ñΩòÌç®.Ê)u9†u¾S‹ðòϰû7­›h^Ä'g8û/¬âþè<Ʀ,z€.ágk¨ °þv½ÅŠÇo2¥ý¼Æfü´s9ÐÎÎ…©ÀðRXHa1‹wi'Ùiª¬ÑËæ?ßeÞzüýxYû]|ñ,M÷±ë ä³~+צµm[ŠnÄ’ìî,K¼ÑB!B§Øp#O²[½Ž¾Á½‰¡Ê<Sç p=Á0ÿé†3,½•–0û×1i,ÁiÜù[&ÖðÏX™õóîJ¦L à VíÀ´vévö'KÊ’d—JzIv¢T&™Rç”[š$"râ©,—§%Ò*3üòR›HT>|X|õÒùVfäï!p|ÁÆf§ÔåÈü×ä¬)žW‰¼p@Ì~Ùr³Ìm–hHn÷ÉŸ‹ˆÚ ÅWJKXä”Ì+•­Ý9(3ÆKóW"QÙ¶DUòe_ü„w4KD¤}³”ÖÊWý»”Ô- ~ÙüµˆˆôÊò 5VF—Ȭòñ·‰6=ò›‰òLë >" UÆ%SçF'RçÎÉÔ-Æ¿—ƒ©T¤ÎUK;~ˆ~ ‡G¯Á_Hõýüúu®ñ8áÑYÔ—AÝ"‚‰äc ‹ëqC –q'éJ±Õ€$;7ïÓuŒãGx0B܈MÍ¡¢€C]ƒû|ÕJ©¡–ÁÔ9¼¬Ùñ“ìzŒ+9œz7GâÔÖBªYÕÖ$; ÆW’g`r×ïÈÝG{ìÊ6$;-B•q6¦ÎáäºGYÜÅ K2rñLüÿ`k˜ìy…ùýcíR‚5ÉÎ<ÍÁLïn¤çGŒ‹^:IvZ„*ãìL<4>Çî•ìMìãæžÄ¦e´Ivš1£.?ÂŽF–îÄø3È‹ÍéU Cd§#¡R6Óß„JÙL‹P)›i*e3-B¥löíiÛ³i©å¹IEND®B`‚qcustomplot/documentation/html/nav_g.png0000644000175000017500000000013612236016574020743 0ustar dermanudermanu‰PNG  IHDRô1%IDATxíÝ;±{¥3Â𯆓,1íIuäÁÃ<«—Q¬IEND®B`‚qcustomplot/documentation/html/classQCPItemPixmap__inherit__graph.png0000644000175000017500000000731112236016575026524 0ustar dermanudermanu‰PNG  IHDR€»"áòbKGDÿÿÿ ½§“~IDATxœíPeÀŸå0äGi9—„áKñËT ¥štJ’É~`€hÑX32–DÍ42ƒˆ4Qƒ`Žp H \w—©ƒ ¢Œ¿_A1ááà€Ã½Û÷}gg½[¸Ÿðeõù ì>ϳßû²ŸÛÝÛåx¾EQ‡ t;X0X0X0X4””——C§É?ÊËËÙ·B“"Î\º7n4r¤ ¢££ÍJæqÄxø    €BAÙhu¬, ¬¬ÌÛÛÛÎÎÎÛÛ»´´”ÝuèÐ!???{{{//¯’’º‘ ‚ ìí탃ƒÏ;Ç4Z7«9ñ7b‡8qB$577+•J‰D"‰˜®çž{®±±qttôúõë~ø!ÝN‡˜˜Ø·oßòåËÙ³ ç+Z’2úFÌšª««™Õ#GŽ„††2]GåL”^}â‰'tuFáééyâÄ ©Têíí­Ñh讉‰ ‘HtíÚµþþþõë×;99ùûû·´´0æåå‰D"‚ ôC1-ŽŽŽAAAÝÝÝ:ip†nnnƒƒƒÌêàà ««+g;QŠ¢Ôjµ1G€F£‘Éd/¾ø"EQááᇢۋ‹‹ccc)ŠŠ‰‰)))™˜˜¨¯¯`¢mݺµ¿¿ªPô˜]»v ïܹ3**J' ΰÓ3W8;;sv±EÙÙÙ­\¹²µµ•iÔÖØØèïïogg‡EÉd2F£Õj}}}/]ºDQ”»»;sjµ±±a¢Ý¿šPì1÷ïßwqqÑIƒ3ìô/Àša??¿¿þú‹Y•ËåË–-£—}}}ÿþûoέ(ŠR«Õ …"00pªÈ ß}÷Ýðð°R©Ôh4¡ððð TVVÖÕÕy{{ûøøÐ¡nß¾Mÿbô0—iBdª°ÖÁKF ‹/þóÏ?GFF¤R©‡‡Ç±cÇè®ãÇ{xx455©TªëׯôÑGÌ;E?Ž~£»»»L&S*•©©©L¯L&ó÷÷ ;wîÝ×ßßßÓÓÃ3Bh×®]J¥’óÄvzÈ)ˆ¢¨’’’¥K—ÚØØ „8Àî*++{饗lmmé¡L¢9é½EJJJžzê©gŸ}6;;›½IXXغuë˜Õ{÷îÅÆÆºººzzzVTTp¾g(4íE˜3ìô€ `ؾ}ûªU«†‡‡MÚÊ$ÔjõæÍ›;;;gî%ÌÆx&<Ž6‰ýû÷ÏPd‚ Á¯¿þêçç7£/4ÓÌ”€™†zT¾Î„ŸƒƒƒÃo.ôvvÞ‚ÎÂ"Lø4Ó;9ý!42ÂýƒÆ|ž»uëÖéÓ§g!“ (´{·‚ ˆììsðÍ"‰ 3JÀܤ¥¥{Æý¡ššäàà%Ðé˜ ¯••­B¡P(¨¬lƒÎÅ|ø*`r’¬©i'I-Ijª«Ï=x`í§Ä³_ÈåWT*5½¬R©e²Ë°ù˜ _TUµ ÿO^ ŽáëYˆ—T*õñã̧4mCC's@ð ^ hl¼D’ôIRÓÔt *Kीª*B}ð'TY©€ÊÇø'`pP%—_ÑjµìF†’˯ܿ¯‚ÊÊlø' ®®ƒóæ‘¢¨ºº ³Ÿ…ðO@ee«]sž ¸{wX¡¸©ÕrZ-¥PüçîÝáÙÏÊx& ±ñ’££=ócg'´³²[ššº s4 ?ŒC}òÉ„ÐÏ?oNÄ|xv6nÜ8ûy˜‡‹Ë:„ÐÐP=t"æÃãÉ»•Ê ÿ]¡‹¿uršŽ™ðøÐÜ|I£Ñj4ÚæfžMYφÇÊËÏê,ð¾ 9}úšVKiµÔ©SWF 32¾ 8v¬ƒUÉŠàcù¾ ‹[™JVZ-%ó¯| /ôôÜëèèe>¾QÕÞÞÓÛ;š”™ðR@mm;SÉ“F jkÏCåc ¼PQÑJ’UÒ#ImE/ÏBüpùòë×ï"¤{ÿxíÚÝ˗d üPSsN(è· …‚£Gùw♊¢*+:µliHR#·òîÉ Ï´·÷öõ 6B¡@çG °éëêèè…ÎÑ4,ýVÄ,sïÞè¦M«™Õ“'¯"„BCÿÅ´ü÷¿£iYŸ†"\Êc9X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0Üÿ¢”——wæÌ™ÙÏÆTº»]BK– A'b˜Õ«W§¥¥é·sÿ“Þ™3gär¹Ï ge)NN¡è< ÑÕ5å”RSþ—¤OVVÖŒ¤óø1ÍžÄ×`°`°`°`°`,+¢±±±¬¬ìŸþyæ™gâãã×®]ËtI$’ƒÞºukÁ‚ññño¼ñB(""!$ ½¼¼ÒÒÒ–.]J7J¥Rö‚ÙLbÑ P(Š‹‹¿øâ‹£G¦¥¥Ÿ={–é***úì³ÏþøãÜÜÜŽŽf+©TZ__¿fÍšÜÜ\‹rŸýøsvï# ”••¥¤¤¬X±ÂÁÁaùòåÉÉÉ¿ÿþ;Ó•šš8oÞ¼E‹edd°7´µµ]·n]OO»‘~óFDDÐ CCC_}õUdddbbâåË—™1eeeëׯçwNž?::Ú^Õh½ü¡ëÜ pƒüÁ ò7È߀À0l€ƒÌ`û“J¥€Åb ‚¬¬,ã®'N…B6›=a„ÌÌL²Ã0 ÃØlvPPPuu5Õ8ȱ‡.vùõÊÅŠ‹‹ù|þ… 4Mii)ŸÏ/**¢ºÆŽ«P(´Zm}}ýÊ•+Év2¡N§;pàÀŒ3Œ‹[´9Fvv¶½vaPý‰D¢üü|j6///44”ê:uê”…|ÿì§V«6l˜I£É’†ùûû+•J@€ã8Ù¥Óéø|þ½{÷ÔjõâÅ‹GŒXQQA­˜ššÊçó1 3/Eµlß¾ÝÃÃcΜ9÷ïß7‰a±l?ÀêÏËË«µµ•šmmmår¹»^ä€ ˆîîî8Ž«TªI“&vâÄ ²ýðáñ±±AÄÄÄdffêtºÂ©S§RÕÔju_¥Èe’’’ÚÛÛwîÜiÃbÙ~ ?OOO‹]/ò`±X³fͪ¬¬¤MS(, àââB„J¥š2e Žãƒ! à?þ ‚ÇãQƒAUkkkë§”ñ2mmmÇ$†Å²ý`Gƒzÿ" ÿýwjöâŋӦM#§._¾lq-‚ º»»«ªªfÏžÝWåU«V}÷ÝwíííÇq@XX˜··wNNιsçÁ”)SÈRÍÍÍäž“‹‘p8œ~J½’¾Êvy ðø+**òõõ-++ëèèP*•~~~gÏž%»ÎŸ?ïççWRRÒÙÙY__O¶[LhÞÈãñT*•F£ILL¤zU*U`` H$ª®®&[$‰D"Q«Õ111«Y,HJJÒh4ÏŸËö¬çO‚ 233'NœÈ`0G5î’J¥“'Of2™äç‡çùúðgòÌÌÌ9rä˜1cöìÙc¼ŠH$Z°`5ûäÉ“ØØX.—ëïï/“É,nÂb)Ðïý‹Å²ý±?Š7···Û%€Eº»»—/_^[[ë¸M؆ýÙíïGÖ’žžîÐú†¹¸¸üúë¯B¡Ð¡r.Nóçhˆ7ãw­èûO¸AþàùƒänhîïøñršßÈØåSÈýý§·w<“9ÚÙ),c—W#ìñö,//ojjzý:öåÁƒŽýûoþûßc–,çì,°ËÏ-íãoh’””wäÈ%oxMÍ7 =ÿdOÛë_o/ž›[xòD{åÊ=gÇq´õwéÒÝövÀÕ•‘—wÕÙqmýåå]uuÅz½áÌ™šž½³9zúëêê)*º¡×þ™í.+»åÜH‚žþJJêtºƒAÛS(=ýåæVßp⸡¸ø¦F£sb$ACM—RyÇ Æ8nP(n:+’ã ¡¿sçj ƒI#†òãÍ ¡?¹ÜÂ¥lj˗ï>~Ü1øy Ýüýïí ¿TÂλ1Ø ÝüÞèëA7äåÑíJ·ß¿”•Ýòðpà¹BNÏdº¸¸<¿­¯W«ÕÞÞ#œÐÎÐùûk€Ï–C‡VDFNwvGA·óç›ò7ÈÜ pƒüÁ ò7ÈÜ pƒüÁ ò7ÈÜ pƒüÁ ò7ÈÜ pƒüÁ ò7ÈÜ pƒüÁ ò7ÈÜ pƒüÁ ò7ÈÜ pƒüÁ ò7ÈÜ pƒüÁ ò7Öýÿ÷¡ùœÖþ)//×éî:;…X÷\Wz<'¹/˜LoƒíìÖa•«ÏŸÖŽsä\zzþÇuÎN1PÈq‘¬]ÿàùƒän?¸Ì†Ñs›q”?©T*X,–@ ÈÊÊ2î:qâ„P(d³Ùä8©d#†a†±Ùì   êêj²±´´Ã0…BaC€×7m\šro «np8Njqq1ŸÏ¿pá‚F£)--åóùEEETר±c …V«­¯¯_¹r%ÙN&ÑétÆã¼¯X±B(ÆÅÅQ•ØÚ]ë¿0÷5Ëöƒ ãª:ÄŸH$ÊÏϧfóòòBCC©®S§NYÈñOn­V;lØ0‚ :;;¹\îÍ›7ßzë-­VK-f>Žpnnn@@›Íöóóûå—_ˆ—ŸÈGΦ¦¦òù| è:†ùûû“-MMMï¿ÿ>›ÍfcwRñLÕjõâÅ‹GŒXQQAUÞ»w/‡Ã=ztnnîž={¸\®Oaaá+_·¡âÏËË«µµ•šmmmår¹»^äøgœwêø;vìØ¢E‹‚X¸paVVµXRRR{{»ñ8Þ^^^/^ìééyøðáêÕ« RÓ jµÚx‹8Ž«TªI“&‘³K–,Ù¶m[gg§I$“iãÆ˜˜˜ÌÌLNWXX8uêTj]»viµZ¹\Îf³wíÚÕÑÑ!—ËÁ+_·¡ëÏÓÓÓb׋X,Ö¬Y³*++ ‚ˆˆˆÈÎÎ&âäÉ“áááÔbmmmA´µµq8²qÛ¶m3gÎ\¿~}II‰qAãir-…BÈb±...d#‡Ã1 öJ<: µ@WWAz½ÞxšÚP? "‘¨  €šÍÏϧΟ¡¡¡§OŸ¶ãåÜ---...ƯNss3ч?‚ îß¿¿ÿþyóæI$ó‚&Åù|þéÓ§»ºº4 Õeƒ?///2Õ+×2Ï`‘¡â¯¨¨È××·¬¬¬££C©Túùù={–ì:þ¼ŸŸ_IIIggg}}}||üó/çNIIYµj5»fÍš””âŸó§F£1>®]»öîÝ»===W®\áñxd£§§'u4)ÎãñT*•F£ILL¤º–.]úå—_>{öŒZÌbãF‰D"‘HÔjucccLLŒù¶`õGDffæÄ‰ àèÑ£Æ]R©tòäÉL&“üüð<Ç˹§NªR©¨Ù‹/’‹÷/ï¼óŽ››[@@uß”œœìééi|÷aœmäÈ‘cƌٳgÕÕÔÔ$‹™L&Õb±‚qã“'Obcc¹\®¿¿¿L&3߈ýQlܸ188¸½½ÝªµÞLlðçðç—§§§;zo2}†0ùƒän?¸Aþà†æþ:;»Á±Xýù᯿þ’ÉdŽˆâd²ûK—Žc2áx›–——[½ŽUŸáúý'†¹¾ýö7· ÎbV¡óøUÕ6H#"23œÅQÀqb±üüj€Ry»£ƒ†#“ÐÖ_[['9æ;Ž é6ì&mý;÷b N¹œnÃnRÐÖ_NN%9a0ÿùO½ZM·‘‹IèéïÑ£§••¨QŒ1 ;sæšs#9zú+(¸Æ`¼ø¡¦Á@Èå•NÌã8èéO.¯4Bœ ˆ7þjhxìÄH‚†þþüS}ûö#“ϵ®®ŒÓ§¯;+’ã ¡¿‚‚jó/ÌpÜý_§äq(4ôwòä{{ &<øûÖ­§DrtóWSÓÔÜÜf±ËÕ•A~#C'èæïÌ™ëWWó8Näç_¥Ù÷½ÿýÙ ãîΊ‹›KÍ;Vú/?¿?tÿûoí¨Q#œÍ!ÐùïŸ-‡­ˆŒœîì Ž‚nçÏ7 än?¸Aþàùƒän?¸Aþàùƒän?¸Aþàùƒän?¸Aþàùƒän?¸Aþàùƒän?¸Aþàùƒän?¸Aþàùƒän?¸Aþàùƒän^úÿÓååå©©©NLcw®^}{üø§\.}žÿ9wîÜ­[·R³/=¿ ©©)''',,lÐS9 _ßÇz=xL—gÕÕÕ™´XxþDrrò`dAX¹týƒän?¸Aþàù³±Xìì¦ØèO¡P,[¶,<<|Ù²e …¸«´´4>>><<\"‘œ?žl‹Åb±8<<|ýúõ÷îÝ£M&l¦¥¥e÷îÝK—.ˆˆHLL¤¢±¶² IŒW1_ÝÑÊmy~]UUÕáÇwìØ1iÒ¤;wî|ÿý÷'((ˆìÊÈÈøâ‹/„Bakk«T*ýðÃɵ”Jeooï™3gRRR222ì¹$''¿÷Þ{[·nõð𨫫ûí·ßæÎûêÕÌP*•ö f÷‚&ØrüI¥ÒÍ›7Ïœ9ÓÝÝ}ÆŒ›6m:~ü8Õ•˜˜8{öl777ŸíÛ·¯Èd2,XÐØØhÜH¾CÉðôéÓ¯¾újáÂ…«W¯¾}û6µŒT*]¼xñ'Ÿ|réÒ¥¬¬¬ÈÈȨ¨¨ŠŠ r–––>ø€Ãá0™ÌiÓ¦ýðÃæ•Åb±\.ŽŽž?>Uvþüù±±±UUUÆaÈ‚ëÖ­ûè£222Œ¡¬¬¬E‹EGG“›6Ù„9Æç“uûÚY«°Å_CCôiÓ¨ÙéÓ§744P]}­¨×ë }}}Éw¨R©$'<(‰ Ö®]›’’b¼®\.OLLÜ»w/ŽãÙÙÙ›6múñÇÉÞ•+W®Y³fÇŽ?ýôSuuµÅÊ€‡fdd”••Q ”––nß¾Ý|åôôô   ÜÜ\rt Çårù† |89]UUõóÏ?766êõzI€ÚÚÚ¤¤$ww÷Ï>ûŒ:»P1D"µéc¾n_;;plñçïïãÆr¶¦¦f„ TWmmí¼yóÌ×à•€ ˆœœgÒÎb±ä MM /žsíéé²hÑ¢¸¸8‹þ(y€}ûö}þùç³gÏÖëõ .H6ãMÛðÜTóuûÚÙcËùS"‘¤¥¥]»v­««ëúõ댉‰!»âââÒÒÒ®^½ÚÝÝÝÒÒ²oß¾twwôè9ýî»ï:tèéÓ§jµúÛo¿`¤;wÖÔÔôôôhµÚ¢¢"oooóÊ&tww{xxèõú#GŽ˜÷ …B™LöìÙ³ìì쇷ÛvÖ[Ž¿   U«V¥¦¦677±sçÎàà`²kΜ9«W¯NOOonn=zô²eËR0:::!!áÙ³gJ¥róæÍX¾|ùðáÃ×®];ÀHüñ‘#GnÝºåææ6yòäÝ»w›W6YeÆ _ýµ««kdd¤yÁ7îÝ»W&“-X°`ذa ^þÀðÊSŽm;kÌKÿ“ÉdŸ~ú©U·¼iiiwîÜIIIqww·aóC½^Ÿ——wùòå´´4gg€äääQ£FÉårªåuï_6oÞüš†,b±˜Á`Œ7nÇŽÎÎÒ't{þ¼qôGo»€¾ÿ„än?¸Aþàùƒôû3˜¨««3ùuçKþÆŽ5¸‘VfòwMš_E{Ðõn?¸Aþàùƒänþx~²IJ ÔIEND®B`‚qcustomplot/documentation/html/inherit_graph_3.png0000644000175000017500000000360612236016575022724 0ustar dermanudermanu‰PNG  IHDR #»@ÍbKGDÿÿÿ ½§“;IDATxœíœaLIÇg ´5"´54‹Õ ¢iDÁJ.¹FTÄ&Ц~#OÉIõÃ<"jjdee%Žã†M;KfµŽTWë33+bb8~\$*މQ¯`+° Ô—1>£F ‰„Çã‰Åâêêj™P1½iMWø€qngøÑ`0¤§§S‡ƒêJKKóæ899©T*×­[çíRBEEE{÷î¼pá‚\.w÷µX,W¯^ÍËËs8&“©ªªª¸¸˜ìÕh4[¶l‘H$[·nmll¤¼¦¦¦,Kee¥B¡ -………IIIÃÃÃî3Î8,55µ¿¿?%%¥¨¨ˆùæÍ›îîn—Ëåç\ŽNÔÖ¾øé§KÉÉeååMoß „œNÄ(„ú2ÆgÔH.—_»vmtt´½½½££ÃG&Þ´¦¿+¾ÌãLäÝèiïôGEEF¡PHÚl¶•+W~üø‘ÞõåL†âr¹ ׯ_߸q#i$ ¡èèè¡¡Ï‹~‡ãt:Éããã|>ßét†††Rmçp8BYYYGÍÍÍU«ÕJ¥’\‰¹{q¹\2”P(ìééqÏÐÛ°ÞÞ^@`³Ùââↇ‡É‘6›M L;³‡+<|ÐétZ­vÿþý!‡300@F FúþÎñsBÈŸêr:]Je{dä]]ƒa¾£NLL•”ÔMvö„„–-›vX°éûMñ/^¼ØÛÛ{÷îݲ²2•JU[[ë#þ¿+¼âÏïH:---+V¬xòäÉèèh[[›X,¾ÿ>ÙõðáC±XüèÑ£±±1£ÑXPP@}#ÓãPƈˆˆžž²ŸŸŸŸŸoµZM&ÓèîôvEEÅ‘#G(£\.¯¨¨ðæµ{÷î’’’OŸ>ùH„L&+--9uêTvv¶«ðBèÒ¥?ÏŸ¿'•–ÆÄ(bc¦]¯`[ƒ›¾Þâ3jtìØ±wïÞMNN>þ<**ÊG&þkíîs¹ÉA„J¥Z³f ‡ÃAݼyÓ½«¦¦fýúõaaaä6®)ã™3g"""Èá¡¡¼¼<¡P¸jÕªºº:º;½˜˜øôéSʨ×ë½y™ÍæíÛ·‡……1ŠGµÉ…ïâÅ‹=¾þL5˜Üäp:]ÿœ>ݸví/"‘‚Ü9 æ#‚L_oñ5ºqãF\\ŸÏ—H$ÔV c&þk=ã›áÌ®®®ÖÖV2o€Ã0µZ››KY&'zýßwî¼ln~åp8ú¼0‰]]eóèËs¹sçÊ•+³ò?Ë Ý±C²c‡¤¼<ûÞ½—õõ]¯^™ƒx7!ÐwvÌA3 ::¼  ­  ­¯oH£ùëåKS 3X ,ÀˆÅQ ÅÎ@g°<ì ,,,,°Éa±Xêêæã± €¾,a±Xèÿ“¡À:::È'ú€ èËô;éù$s¬Á€E À€E À€E À€Eþ“cîIõ­ùIEND®B`‚qcustomplot/documentation/html/item-bracket_8h_source.html0000644000175000017500000004037212236016574024365 0ustar dermanudermanu src/items/item-bracket.h Source File
item-bracket.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_BRACKET_H
27 #define QCP_ITEM_BRACKET_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 
32 class QCPPainter;
33 class QCustomPlot;
34 
35 class QCP_LIB_DECL QCPItemBracket : public QCPAbstractItem
36 {
37  Q_OBJECT
39  Q_PROPERTY(QPen pen READ pen WRITE setPen)
40  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
41  Q_PROPERTY(double length READ length WRITE setLength)
42  Q_PROPERTY(BracketStyle style READ style WRITE setStyle)
44 public:
45  enum BracketStyle { bsSquare
46  ,bsRound
47  ,bsCurly
48  ,bsCalligraphic
49  };
50 
51  QCPItemBracket(QCustomPlot *parentPlot);
52  virtual ~QCPItemBracket();
53 
54  // getters:
55  QPen pen() const { return mPen; }
56  QPen selectedPen() const { return mSelectedPen; }
57  double length() const { return mLength; }
58  BracketStyle style() const { return mStyle; }
59 
60  // setters;
61  void setPen(const QPen &pen);
62  void setSelectedPen(const QPen &pen);
63  void setLength(double length);
64  void setStyle(BracketStyle style);
65 
66  // reimplemented virtual methods:
67  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
68 
69  QCPItemPosition * const left;
70  QCPItemPosition * const right;
71  QCPItemAnchor * const center;
72 
73 protected:
74  // property members:
75  enum AnchorIndex {aiCenter};
76  QPen mPen, mSelectedPen;
77  double mLength;
78  BracketStyle mStyle;
79 
80  // reimplemented virtual methods:
81  virtual void draw(QCPPainter *painter);
82  virtual QPointF anchorPixelPoint(int anchorId) const;
83 
84  // non-virtual methods:
85  QPen mainPen() const;
86 };
87 
88 #endif // QCP_ITEM_BRACKET_H
qcustomplot/documentation/html/plottable_8h_source.html0000644000175000017500000007170412236016574024007 0ustar dermanudermanu src/plottable.h Source File
plottable.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_PLOTTABLE_H
27 #define QCP_PLOTTABLE_H
28 
29 #include "global.h"
30 #include "range.h"
31 #include "layer.h"
32 #include "axis.h"
33 
34 class QCPPainter;
35 
36 class QCP_LIB_DECL QCPAbstractPlottable : public QCPLayerable
37 {
38  Q_OBJECT
40  Q_PROPERTY(QString name READ name WRITE setName)
41  Q_PROPERTY(bool antialiasedFill READ antialiasedFill WRITE setAntialiasedFill)
42  Q_PROPERTY(bool antialiasedScatters READ antialiasedScatters WRITE setAntialiasedScatters)
43  Q_PROPERTY(bool antialiasedErrorBars READ antialiasedErrorBars WRITE setAntialiasedErrorBars)
44  Q_PROPERTY(QPen pen READ pen WRITE setPen)
45  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
46  Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
47  Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
48  Q_PROPERTY(QCPAxis* keyAxis READ keyAxis WRITE setKeyAxis)
49  Q_PROPERTY(QCPAxis* valueAxis READ valueAxis WRITE setValueAxis)
50  Q_PROPERTY(bool selectable READ selectable WRITE setSelectable)
51  Q_PROPERTY(bool selected READ selected WRITE setSelected)
53 public:
54  QCPAbstractPlottable(QCPAxis *keyAxis, QCPAxis *valueAxis);
55 
56  // getters:
57  QString name() const { return mName; }
58  bool antialiasedFill() const { return mAntialiasedFill; }
59  bool antialiasedScatters() const { return mAntialiasedScatters; }
60  bool antialiasedErrorBars() const { return mAntialiasedErrorBars; }
61  QPen pen() const { return mPen; }
62  QPen selectedPen() const { return mSelectedPen; }
63  QBrush brush() const { return mBrush; }
64  QBrush selectedBrush() const { return mSelectedBrush; }
65  QCPAxis *keyAxis() const { return mKeyAxis.data(); }
66  QCPAxis *valueAxis() const { return mValueAxis.data(); }
67  bool selectable() const { return mSelectable; }
68  bool selected() const { return mSelected; }
69 
70  // setters:
71  void setName(const QString &name);
72  void setAntialiasedFill(bool enabled);
73  void setAntialiasedScatters(bool enabled);
74  void setAntialiasedErrorBars(bool enabled);
75  void setPen(const QPen &pen);
76  void setSelectedPen(const QPen &pen);
77  void setBrush(const QBrush &brush);
78  void setSelectedBrush(const QBrush &brush);
79  void setKeyAxis(QCPAxis *axis);
80  void setValueAxis(QCPAxis *axis);
81  Q_SLOT void setSelectable(bool selectable);
82  Q_SLOT void setSelected(bool selected);
83 
84  // introduced virtual methods:
85  virtual void clearData() = 0;
86  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const = 0;
87  virtual bool addToLegend();
88  virtual bool removeFromLegend() const;
89 
90  // non-property methods:
91  void rescaleAxes(bool onlyEnlarge=false) const;
92  void rescaleKeyAxis(bool onlyEnlarge=false) const;
93  void rescaleValueAxis(bool onlyEnlarge=false) const;
94 
95 signals:
96  void selectionChanged(bool selected);
97 
98 protected:
102  enum SignDomain { sdNegative
103  ,sdBoth
104  ,sdPositive
105  };
106 
107  // property members:
108  QString mName;
109  bool mAntialiasedFill, mAntialiasedScatters, mAntialiasedErrorBars;
110  QPen mPen, mSelectedPen;
111  QBrush mBrush, mSelectedBrush;
112  QPointer<QCPAxis> mKeyAxis, mValueAxis;
113  bool mSelectable, mSelected;
114 
115  // reimplemented virtual methods:
116  virtual QRect clipRect() const;
117  virtual void draw(QCPPainter *painter) = 0;
118  virtual QCP::Interaction selectionCategory() const;
119  void applyDefaultAntialiasingHint(QCPPainter *painter) const;
120  // events:
121  virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged);
122  virtual void deselectEvent(bool *selectionStateChanged);
123 
124  // introduced virtual methods:
125  virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const = 0;
126  virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const = 0;
127  virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const = 0;
128 
129  // non-virtual methods:
130  void coordsToPixels(double key, double value, double &x, double &y) const;
131  const QPointF coordsToPixels(double key, double value) const;
132  void pixelsToCoords(double x, double y, double &key, double &value) const;
133  void pixelsToCoords(const QPointF &pixelPos, double &key, double &value) const;
134  QPen mainPen() const;
135  QBrush mainBrush() const;
136  void applyFillAntialiasingHint(QCPPainter *painter) const;
137  void applyScattersAntialiasingHint(QCPPainter *painter) const;
138  void applyErrorBarsAntialiasingHint(QCPPainter *painter) const;
139  double distSqrToLine(const QPointF &start, const QPointF &end, const QPointF &point) const;
140 
141 private:
142  Q_DISABLE_COPY(QCPAbstractPlottable)
143 
144  friend class QCustomPlot;
145  friend class QCPAxis;
146  friend class QCPPlottableLegendItem;
147 };
148 
149 #endif // QCP_PLOTTABLE_H
qcustomplot/documentation/html/classoverview.html0000644000175000017500000000355712236016574022737 0ustar dermanudermanu Class Overview
Class Overview

The following diagrams may help to gain a deeper understanding of the relationships between classes that make up the QCustomPlot library. The diagrams are not exhaustive, so only the classes deemed most relevant are shown.

Class Relationship Diagram

RelationOverview.png
Overview of most important classes and their relations

Class Inheritance Tree

InheritanceOverview.png
Inheritance tree of most important classes
qcustomplot/documentation/html/classQCPItemTracer.html0000644000175000017500000027155312236016575023500 0ustar dermanudermanu QCPItemTracer Class Reference

Item that sticks to QCPGraph data points. More...

Inheritance diagram for QCPItemTracer:
Inheritance graph

Public Types

enum  TracerStyle

Public Functions

 QCPItemTracer (QCustomPlot *parentPlot)
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
double size () const
TracerStyle style () const
QCPGraphgraph () const
double graphKey () const
bool interpolating () const
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
void setSize (double size)
void setStyle (TracerStyle style)
void setGraph (QCPGraph *graph)
void setGraphKey (double key)
void setInterpolating (bool enabled)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
void updatePosition ()
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const position

Signals

void selectionChanged (bool selected)

Protected Functions

virtual void draw (QCPPainter *painter)
QPen mainPen () const
QBrush mainBrush () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
virtual QPointF anchorPixelPoint (int anchorId) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

Item that sticks to QCPGraph data points.

QCPItemTracer.png
Tracer example. Blue dotted circles are anchors, solid blue discs are positions.

The tracer can be connected with a QCPGraph via setGraph. Then it will automatically adopt the coordinate axes of the graph and update its position to be on the graph's data. This means the key stays controllable via setGraphKey, but the value will follow the graph data. If a QCPGraph is connected, note that setting the coordinates of the tracer item directly via position will have no effect because they will be overriden in the next redraw (this is when the coordinate update happens).

If the specified key in setGraphKey is outside the key bounds of the graph, the tracer will stay at the corresponding end of the graph.

With setInterpolating you may specify whether the tracer may only stay exactly on data points or whether it interpolates data points linearly, if given a key that lies between two data points of the graph.

The tracer has different visual styles, see setStyle. It is also possible to make the tracer have no own visual appearance (set the style to tsNone), and just connect other item positions to the tracer position (used as an anchor) via QCPItemPosition::setParentAnchor.

Note
The tracer position is only automatically updated upon redraws. So when the data of the graph changes and immediately afterwards (without a redraw) the a position coordinates of the tracer are retrieved, they will not reflect the updated data of the graph. In this case updatePosition must be called manually, prior to reading the tracer coordinates.

Member Enumeration Documentation

The different visual appearances a tracer item can have. Some styles size may be controlled with setSize.

See Also
setStyle
Enumerator:
tsNone 

The tracer is not visible.

tsPlus 

A plus shaped crosshair with limited size.

tsCrosshair 

A plus shaped crosshair which spans the complete axis rect.

tsCircle 

A circle.

tsSquare 

A square.

Constructor & Destructor Documentation

QCPItemTracer::QCPItemTracer ( QCustomPlot parentPlot)

Creates a tracer item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemTracer::setPen ( const QPen &  pen)

Sets the pen that will be used to draw the line of the tracer

See Also
setSelectedPen, setBrush
void QCPItemTracer::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used to draw the line of the tracer when selected

See Also
setPen, setSelected
void QCPItemTracer::setBrush ( const QBrush &  brush)

Sets the brush that will be used to draw any fills of the tracer

See Also
setSelectedBrush, setPen
void QCPItemTracer::setSelectedBrush ( const QBrush &  brush)

Sets the brush that will be used to draw any fills of the tracer, when selected.

See Also
setBrush, setSelected
void QCPItemTracer::setSize ( double  size)

Sets the size of the tracer in pixels, if the style supports setting a size (e.g. tsSquare does, tsCrosshair does not).

void QCPItemTracer::setStyle ( QCPItemTracer::TracerStyle  style)

Sets the style/visual appearance of the tracer.

If you only want to use the tracer position as an anchor for other items, set style to tsNone.

void QCPItemTracer::setGraph ( QCPGraph graph)

Sets the QCPGraph this tracer sticks to. The tracer position will be set to type QCPItemPosition::ptPlotCoords and the axes will be set to the axes of graph.

To free the tracer from any graph, set graph to 0. The tracer position can then be placed freely like any other item position. This is the state the tracer will assume when its graph gets deleted while still attached to it.

See Also
setGraphKey
void QCPItemTracer::setGraphKey ( double  key)

Sets the key of the graph's data point the tracer will be positioned at. This is the only free coordinate of a tracer when attached to a graph.

Depending on setInterpolating, the tracer will be either positioned on the data point closest to key, or will stay exactly at key and interpolate the value linearly.

See Also
setGraph, setInterpolating
void QCPItemTracer::setInterpolating ( bool  enabled)

Sets whether the value of the graph's data points shall be interpolated, when positioning the tracer.

If enabled is set to false and a key is given with setGraphKey, the tracer is placed on the data point of the graph which is closest to the key, but which is not necessarily exactly there. If enabled is true, the tracer will be positioned exactly at the specified key, and the appropriate value will be interpolated from the graph's data points linearly.

See Also
setGraph, setGraphKey
double QCPItemTracer::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemTracer::updatePosition ( )

If the tracer is connected with a graph (setGraph), this function updates the tracer's position to reside on the graph data, depending on the configured key (setGraphKey).

It is called automatically on every redraw and normally doesn't need to be called manually. One exception is when you want to read the tracer coordinates via position and are not sure that the graph's data (or the tracer key with setGraphKey) hasn't changed since the last redraw. In that situation, call this function before accessing position, to make sure you don't get out-of-date coordinates.

If there is no graph set on this tracer, this function does nothing.

void QCPItemTracer::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

QPen QCPItemTracer::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

QBrush QCPItemTracer::mainBrush ( ) const
protected

Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item is not selected and mSelectedBrush when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QPointF QCPAbstractItem::anchorPixelPoint ( int  anchorId) const
protectedvirtualinherited

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented in QCPItemText, QCPItemPixmap, QCPItemEllipse, QCPItemBracket, and QCPItemRect.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPCurveData.html0000644000175000017500000001261612236016574023307 0ustar dermanudermanu QCPCurveData Class Reference
QCPCurveData Class Reference

Holds the data of one single data point for QCPCurve. More...

Public Functions

 QCPCurveData ()
 QCPCurveData (double t, double key, double value)

Public Members

double t
double key
double value

Detailed Description

Holds the data of one single data point for QCPCurve.

The container for storing multiple data points is QCPCurveDataMap.

The stored data is:

  • t: the free parameter of the curve at this curve point (cp. the mathematical vector (x(t), y(t)))
  • key: coordinate on the key axis of this curve point
  • value: coordinate on the value axis of this curve point
See Also
QCPCurveDataMap

Constructor & Destructor Documentation

QCPCurveData::QCPCurveData ( )

Constructs a curve data point with t, key and value set to zero.

QCPCurveData::QCPCurveData ( double  t,
double  key,
double  value 
)

Constructs a curve data point with the specified t, key and value.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classes.html0000644000175000017500000001275112236016575021475 0ustar dermanudermanu Data Structure Index
Data Structure Index
qcustomplot/documentation/html/classQCPItemBracket.html0000644000175000017500000024424012236016575023624 0ustar dermanudermanu QCPItemBracket Class Reference

A bracket for referencing/highlighting certain parts in the plot. More...

Inheritance diagram for QCPItemBracket:
Inheritance graph

Public Types

enum  BracketStyle

Public Functions

 QCPItemBracket (QCustomPlot *parentPlot)
QPen pen () const
QPen selectedPen () const
double length () const
BracketStyle style () const
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setLength (double length)
void setStyle (BracketStyle style)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const left
QCPItemPosition *const right
QCPItemAnchor *const center

Signals

void selectionChanged (bool selected)

Protected Types

enum  AnchorIndex

Protected Functions

virtual void draw (QCPPainter *painter)
virtual QPointF anchorPixelPoint (int anchorId) const
QPen mainPen () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A bracket for referencing/highlighting certain parts in the plot.

QCPItemBracket.png
Bracket example. Blue dotted circles are anchors, solid blue discs are positions.

It has two positions, left and right, which define the span of the bracket. If left is actually farther to the left than right, the bracket is opened to the bottom, as shown in the example image.

The bracket supports multiple styles via setStyle. The length, i.e. how far the bracket stretches away from the embraced span, can be controlled with setLength.

QCPItemBracket-length.png
Demonstrating the effect of different values for setLength, for styles bsCalligraphic and bsSquare. Anchors and positions are displayed for reference.

It provides an anchor center, to allow connection of other items, e.g. an arrow (QCPItemLine or QCPItemCurve) or a text label (QCPItemText), to the bracket.

Member Enumeration Documentation

Enumerator:
bsSquare 

A brace with angled edges.

bsRound 

A brace with round edges.

bsCurly 

A curly brace.

bsCalligraphic 

A curly brace with varying stroke width giving a calligraphic impression.

Constructor & Destructor Documentation

QCPItemBracket::QCPItemBracket ( QCustomPlot parentPlot)

Creates a bracket item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemBracket::setPen ( const QPen &  pen)

Sets the pen that will be used to draw the bracket.

Note that when the style is bsCalligraphic, only the color will be taken from the pen, the stroke and width are ignored. To change the apparent stroke width of a calligraphic bracket, use setLength, which has a similar effect.

See Also
setSelectedPen
void QCPItemBracket::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used to draw the bracket when selected

See Also
setPen, setSelected
void QCPItemBracket::setLength ( double  length)

Sets the length in pixels how far the bracket extends in the direction towards the embraced span of the bracket (i.e. perpendicular to the left-right-direction)

QCPItemBracket-length.png
Demonstrating the effect of different values for setLength, for styles bsCalligraphic and bsSquare. Anchors and positions are displayed for reference.
void QCPItemBracket::setStyle ( QCPItemBracket::BracketStyle  style)

Sets the style of the bracket, i.e. the shape/visual appearance.

See Also
setPen
double QCPItemBracket::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemBracket::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

QPointF QCPItemBracket::anchorPixelPoint ( int  anchorId) const
protectedvirtual

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented from QCPAbstractItem.

QPen QCPItemBracket::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPGrid.html0000644000175000017500000015702612236016575022324 0ustar dermanudermanu QCPGrid Class Reference
QCPGrid Class Reference

Responsible for drawing the grid of a QCPAxis. More...

Inheritance diagram for QCPGrid:
Inheritance graph

Public Functions

 QCPGrid (QCPAxis *parentAxis)
bool subGridVisible () const
bool antialiasedSubGrid () const
bool antialiasedZeroLine () const
QPen pen () const
QPen subGridPen () const
QPen zeroLinePen () const
void setSubGridVisible (bool visible)
void setAntialiasedSubGrid (bool enabled)
void setAntialiasedZeroLine (bool enabled)
void setPen (const QPen &pen)
void setSubGridPen (const QPen &pen)
void setZeroLinePen (const QPen &pen)
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool realVisibility () const

Protected Functions

virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
void drawGridLines (QCPPainter *painter) const
void drawSubGridLines (QCPPainter *painter) const
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

Responsible for drawing the grid of a QCPAxis.

This class is tightly bound to QCPAxis. Every axis owns a grid instance and uses it to draw the grid lines, sub grid lines and zero-line. You can interact with the grid of an axis via QCPAxis::grid. Normally, you don't need to create an instance of QCPGrid yourself.

The axis and grid drawing was split into two classes to allow them to be placed on different layers (both QCPAxis and QCPGrid inherit from QCPLayerable). Thus it is possible to have the grid in the background and the axes in the foreground, and any plottables/items in between. This described situation is the default setup, see the QCPLayer documentation.

Constructor & Destructor Documentation

QCPGrid::QCPGrid ( QCPAxis parentAxis)

Creates a QCPGrid instance and sets default values.

You shouldn't instantiate grids on their own, since every QCPAxis brings its own QCPGrid.

Member Function Documentation

void QCPGrid::setSubGridVisible ( bool  visible)

Sets whether grid lines at sub tick marks are drawn.

See Also
setSubGridPen
void QCPGrid::setAntialiasedSubGrid ( bool  enabled)

Sets whether sub grid lines are drawn antialiased.

void QCPGrid::setAntialiasedZeroLine ( bool  enabled)

Sets whether zero lines are drawn antialiased.

void QCPGrid::setPen ( const QPen &  pen)

Sets the pen with which (major) grid lines are drawn.

void QCPGrid::setSubGridPen ( const QPen &  pen)

Sets the pen with which sub grid lines are drawn.

void QCPGrid::setZeroLinePen ( const QPen &  pen)

Sets the pen with which zero lines are drawn.

Zero lines are lines at value coordinate 0 which may be drawn with a different pen than other grid lines. To disable zero lines and just draw normal grid lines at zero, set pen to Qt::NoPen.

void QCPGrid::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing the major grid lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPGrid::draw ( QCPPainter painter)
protectedvirtual

Draws grid lines and sub grid lines at the positions of (sub) ticks of the parent axis, spanning over the complete axis rect. Also draws the zero line, if appropriate (setZeroLinePen).

Implements QCPLayerable.

void QCPGrid::drawGridLines ( QCPPainter painter) const
protected

Draws the main grid lines and possibly a zero line with the specified painter.

This is a helper function called by draw.

void QCPGrid::drawSubGridLines ( QCPPainter painter) const
protected

Draws the sub grid lines with the specified painter.

This is a helper function called by draw.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

double QCPLayerable::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtualinherited

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLayoutInset, QCPLegend, QCPAbstractItem, QCPGraph, QCPLayoutElement, QCPCurve, QCPBars, QCPStatisticalBox, QCPItemTracer, QCPItemText, QCPAbstractPlottable, QCPAbstractLegendItem, QCPPlotTitle, QCPItemBracket, QCPItemPixmap, QCPItemCurve, QCPItemLine, QCPItemEllipse, QCPItemRect, and QCPItemStraightLine.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

QCP::Interaction QCPLayerable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/inherit_graph_11.png0000644000175000017500000000176312236016575023005 0ustar dermanudermanu‰PNG  IHDRk#ÖcZbKGDÿÿÿ ½§“¨IDAThí™ÏK2OÇwõÉ5ŠM딵‡Œ-Vˆ~P˜þA§‚èP‡‚ ˆèuì"E‡"°„ %‹"²²$ý‚¢“§¨°«‘nT‹1ÏaùÎws÷Imê yæušùÌÎûó™7£3º$€À  ùéÒì *ØAT~É;¡Pèäää§JIZZZÞõŒ¥¥¥ª*ïù¥úÄß/+-ày¾µµ5.ˆ¿QÁ¢‚D;ˆÊ¿â I’ߤüIÝn7˲:ŽeÙ……ùÐââ¢Åb¡(Êl6»\®T•Ñ—J’$I’EÕÖÖ^^^~{Rå}$b{{Ûd2íîîF"‘½½=“ÉäõzáPQQÑÎÎŽ Á`°££#¡ZÉŒÂËË‹Ó鬬¬LF6ɤªþ|ÆÁÆÆÆÕÕUØ]YY±Z­phmmíãaÛãñpGQÃ0³³³àý=pssc³Ù²³³ívûíí-œ>66f0òóó=Ïèè¨Ñh,((ØÜÜŒÓ!333.¨ÔüÓ~R¢êÏg>Å@Àf³Á®ÝnpÈjµ&©ÓÕÕ5==Fý~ÿÙÙñße®¹¯¯¯¡¡áþþ¾®®®¿¿NE1 MMMµµµÅb±»»;§Ó900 Eqnn®¬¬,.©R3.iÊ$ôXInnn8†Ýp8LÓ´ê„PÛƒƒƒƒUUU===>ŸOõIƒÁððð ¥0ðççg@,“·µZ­ÜNW]]}~~'û'Í„«_¸-‹ßï‡ÝÃÃÃŠŠ ©ÍqÜÑÑ‘rŠF£y{{“ ƒËËË,ËŽŒŒ´··'_€^¯'B«ÕÊÛ’¾àõõõâ⢦¦&¥¥}†„+ñz½ÅÅÅûûûÑhôàà€a˜ ihkk‹aŸÏ÷ôô ;;;¥¸Ùlæy^‡ÃStww_]]‰¢x||œ——'iš¾¾¾–ÚMMMÃÃÑHdhh¨¹¹Y¹_TÛªK€AUMyÒø²“àr¹JKK5 Aóóóò!·Û]^^ž‘‘!Ýf¤àúúzaaaNNÎøø8L133SRR¢×ë9ŽƒG“Ãá iš$YYYq'ÉÿÕ§î ª¦<é|¥ƒÞÞÞúúúÇÇÇ”f¥)ªþ¨ü»•“““ˆ éοò«îûÀ¢‚D;ˆ vì **·žçÿ~iÁéé©2¨â ò…æH€ß£¿QÁ¢‚D;ˆÊo5£@Ð g\IEND®B`‚qcustomplot/documentation/html/plottable-bars_8h.html0000644000175000017500000001322112236016574023342 0ustar dermanudermanu src/plottables/plottable-bars.h File Reference
plottable-bars.h File Reference
#include "../global.h"
#include "../range.h"
#include "../plottable.h"

Go to the source code of this file.

Data Structures

class  QCPBarData
 Holds the data of one single data point (one bar) for QCPBars. More...
class  QCPBars
 A plottable representing a bar chart in a plot. More...

Typedefs

typedef QMap< double, QCPBarDataQCPBarDataMap
typedef QMapIterator< double,
QCPBarData
QCPBarDataMapIterator
typedef QMutableMapIterator
< double, QCPBarData
QCPBarDataMutableMapIterator

Functions

 Q_DECLARE_TYPEINFO (QCPBarData, Q_MOVABLE_TYPE)

Detailed Description

Typedef Documentation

Container for storing QCPBarData items in a sorted fashion. The key of the map is the key member of the QCPBarData instance.

This is the container in which QCPBars holds its data.

See Also
QCPBarData, QCPBars::setData
qcustomplot/documentation/html/ssCrossSquare.png0000644000175000017500000000046212236016575022474 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+ÔIDAT8ÕÒ=NBAàO1¬ÂB¤gŠ‹  "nâ-ĆPÓ±M(ll,(,,H€Ž„ØRañf’ÉðÞk‰§»?çÜ{î —ÆU·1ƶs×ÜdŦøÂ¡‚ÜAßXV©°ÂìVàŸ¡\Wˆü†Mæ‰Hg<â˜6ç"Þ‘y—7Ö D‘&ÊÞ‘ë,Daò/ÎoÒ¸Aêy§<ê\i«¬•×¾Íjà ´’¼B¾AwøÀ¬bÀ}´b"ÿ‰ðT“8á­¡þßðŒO%A­(äKIEND®B`‚qcustomplot/documentation/html/ftv2folderclosed.png0000644000175000017500000000115012236016574023115 0ustar dermanudermanu‰PNG  IHDRÚ}\ˆ/IDATxí]MOÔ@~ÚúuØlp]ö¿#›Å]PYECˆ\9ù¼yÑß`ÖÄÿàÿÀÉxóâ¢C &=qÐÄ£—vZçv¶3m؃‡vžLûNç}Þ÷}Þ½ZA@n° OäNp ’xóþK°ññ€xÜj”°8sÑ€“ “€œ_¼[Âíæ§ïD'‚•yye+ø¼û 7#rNŸlïük* ¾0Ь_d«_(àñÖ±àôz=ñxõv§÷h©‰z¹€šØP-äóä’̪uý¼$»\DãJc—B4¯ãÝÖ.:£Ï-ÑÏß}µŠLEíºþ #—ûáºÀÏgN;BŠ€6ïýñ䬜…ö@’Ðåñp&™h>p9¤™EEά¨ÎÊ‘" u¥n€$R"?{¹<˜…ë…%PNtâ$‰ß¶±úá+^<é"§2 ªDq”q´\¬«Ò™a–Œ‘©Aÿ€"Ôµ ™êŸèP£}#Eàz{û.8i îp³ê(ADwD¦E<ê¬cE¦$ HdÊÄ ”.:Ù GŽ-`ŒL‚ý¾'¢‰Ä<¤CIª½;ÙÇTZd±i};>èôß‚z×;K×§8t ¤Ž q”:uvÿv•Ý›¬²ÙvEân{„M·FXg¼ÌfZÖ¨°¹‰*›ßÌß©±ù©:›j–YqèÜë#3çÏSøWøÿÿÑr'ø Ôùù‚ ©¡IEND®B`‚qcustomplot/documentation/html/functions_eval.html0000644000175000017500000003152012236016575023052 0ustar dermanudermanu Data Fields - Enumerator
 

- a -

- b -

- e -

- i -

- l -

- p -

- s -

- t -

qcustomplot/documentation/html/classQCPItemPosition.html0000644000175000017500000010433112236016575024051 0ustar dermanudermanu QCPItemPosition Class Reference
QCPItemPosition Class Reference

Manages the position of an item. More...

Inheritance diagram for QCPItemPosition:
Inheritance graph

Public Types

enum  PositionType

Public Functions

 QCPItemPosition (QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString name)
PositionType type () const
QCPItemAnchorparentAnchor () const
double key () const
double value () const
QPointF coords () const
QCPAxiskeyAxis () const
QCPAxisvalueAxis () const
QCPAxisRectaxisRect () const
virtual QPointF pixelPoint () const
void setType (PositionType type)
bool setParentAnchor (QCPItemAnchor *parentAnchor, bool keepPixelPosition=false)
void setCoords (double key, double value)
void setCoords (const QPointF &coords)
void setAxes (QCPAxis *keyAxis, QCPAxis *valueAxis)
void setAxisRect (QCPAxisRect *axisRect)
void setPixelPoint (const QPointF &pixelPoint)
QString name () const

Protected Functions

virtual QCPItemPositiontoQCPItemPosition ()
void addChild (QCPItemPosition *pos)
void removeChild (QCPItemPosition *pos)

Detailed Description

Manages the position of an item.

Every item has at least one public QCPItemPosition member pointer which provides ways to position the item on the QCustomPlot surface. Some items have multiple positions, for example QCPItemRect has two: topLeft and bottomRight.

QCPItemPosition has a type (PositionType) that can be set with setType. This type defines how coordinates passed to setCoords are to be interpreted, e.g. as absolute pixel coordinates, as plot coordinates of certain axes, etc.

Further, QCPItemPosition may have a parent QCPItemAnchor, see setParentAnchor. (Note that every QCPItemPosition inherits from QCPItemAnchor and thus can itself be used as parent anchor for other positions.) This way you can tie multiple items together. If the QCPItemPosition has a parent, the coordinates set with setCoords are considered to be absolute values in the reference frame of the parent anchor, where (0, 0) means directly ontop of the parent anchor. For example, You could attach the start position of a QCPItemLine to the bottom anchor of a QCPItemText to make the starting point of the line always be centered under the text label, no matter where the text is moved to, or is itself tied to.

To set the apparent pixel position on the QCustomPlot surface directly, use setPixelPoint. This works no matter what type this QCPItemPosition is or what parent-child situation it is in, as setPixelPoint transforms the coordinates appropriately, to make the position appear at the specified pixel values.

Member Enumeration Documentation

Defines the ways an item position can be specified. Thus it defines what the numbers passed to setCoords actually mean.

See Also
setType
Enumerator:
ptAbsolute 

Static positioning in pixels, starting from the top left corner of the viewport/widget.

ptViewportRatio 

Static positioning given by a fraction of the viewport size.

ptAxisRectRatio 

Static positioning given by a fraction of the axis rect size (see setAxisRect).

ptPlotCoords 

Dynamic positioning at a plot coordinate defined by two axes (see setAxes).

Constructor & Destructor Documentation

QCPItemPosition::QCPItemPosition ( QCustomPlot parentPlot,
QCPAbstractItem parentItem,
const QString  name 
)

Creates a new QCPItemPosition. You shouldn't create QCPItemPosition instances directly, even if you want to make a new item subclass. Use QCPAbstractItem::createPosition instead, as explained in the subclassing section of the QCPAbstractItem documentation.

Member Function Documentation

QPointF QCPItemPosition::pixelPoint ( ) const
virtual

Returns the final absolute pixel position of the QCPItemPosition on the QCustomPlot surface. It includes all effects of type (setType) and possible parent anchors (setParentAnchor).

See Also
setPixelPoint

Reimplemented from QCPItemAnchor.

void QCPItemPosition::setType ( QCPItemPosition::PositionType  type)

Sets the type of the position. The type defines how the coordinates passed to setCoords should be handled and how the QCPItemPosition should behave in the plot.

The possible values for type can be separated in two main categories:

  • The position is regarded as a point in plot coordinates. This corresponds to ptPlotCoords and requires two axes that define the plot coordinate system. They can be specified with setAxes. By default, the QCustomPlot's x- and yAxis are used.
  • The position is fixed on the QCustomPlot surface, i.e. independent of axis ranges. This corresponds to all other types, i.e. ptAbsolute, ptViewportRatio and ptAxisRectRatio. They differ only in the way the absolute position is described, see the documentation of PositionType for details. For ptAxisRectRatio, note that you can specify the axis rect with setAxisRect. By default this is set to the main axis rect.

Note that the position type ptPlotCoords is only available (and sensible) when the position has no parent anchor (setParentAnchor).

If the type is changed, the apparent pixel position on the plot is preserved. This means the coordinates as retrieved with coords() and set with setCoords may change in the process.

bool QCPItemPosition::setParentAnchor ( QCPItemAnchor parentAnchor,
bool  keepPixelPosition = false 
)

Sets the parent of this QCPItemPosition to parentAnchor. This means the position will now follow any position changes of the anchor. The local coordinate system of positions with a parent anchor always is absolute with (0, 0) being exactly on top of the parent anchor. (Hence the type shouldn't be ptPlotCoords for positions with parent anchors.)

if keepPixelPosition is true, the current pixel position of the QCPItemPosition is preserved during reparenting. If it's set to false, the coordinates are set to (0, 0), i.e. the position will be exactly on top of the parent anchor.

To remove this QCPItemPosition from any parent anchor, set parentAnchor to 0.

If the QCPItemPosition previously had no parent and the type is ptPlotCoords, the type is set to ptAbsolute, to keep the position in a valid state.

void QCPItemPosition::setCoords ( double  key,
double  value 
)

Sets the coordinates of this QCPItemPosition. What the coordinates mean, is defined by the type (setType).

For example, if the type is ptAbsolute, key and value mean the x and y pixel position on the QCustomPlot surface. In that case the origin (0, 0) is in the top left corner of the QCustomPlot viewport. If the type is ptPlotCoords, key and value mean a point in the plot coordinate system defined by the axes set by setAxes. By default those are the QCustomPlot's xAxis and yAxis. See the documentation of setType for other available coordinate types and their meaning.

See Also
setPixelPoint
void QCPItemPosition::setCoords ( const QPointF &  pos)

This is an overloaded function.

Sets the coordinates as a QPointF pos where pos.x has the meaning of key and pos.y the meaning of value of the setCoords(double key, double value) method.

void QCPItemPosition::setAxes ( QCPAxis keyAxis,
QCPAxis valueAxis 
)

When setType is ptPlotCoords, this function may be used to specify the axes the coordinates set with setCoords relate to. By default they are set to the initial xAxis and yAxis of the QCustomPlot.

void QCPItemPosition::setAxisRect ( QCPAxisRect axisRect)

When setType is ptAxisRectRatio, this function may be used to specify the axis rect the coordinates set with setCoords relate to. By default this is set to the main axis rect of the QCustomPlot.

void QCPItemPosition::setPixelPoint ( const QPointF &  pixelPoint)

Sets the apparent pixel position. This works no matter what type (setType) this QCPItemPosition is or what parent-child situation it is in, as coordinates are transformed appropriately, to make the position finally appear at the specified pixel values.

Only if the type is ptAbsolute and no parent anchor is set, this function's effect is identical to that of setCoords.

See Also
pixelPoint, setCoords
virtual QCPItemPosition* QCPItemPosition::toQCPItemPosition ( )
inlineprotectedvirtual

Returns 0 if this instance is merely a QCPItemAnchor, and a valid pointer of type QCPItemPosition* if it actually is a QCPItemPosition (which is a subclass of QCPItemAnchor).

This safe downcast functionality could also be achieved with a dynamic_cast. However, QCustomPlot avoids dynamic_cast to work with projects that don't have RTTI support enabled (e.g. -fno-rtti flag with gcc compiler).

Reimplemented from QCPItemAnchor.

void QCPItemAnchor::addChild ( QCPItemPosition pos)
protectedinherited

Adds pos to the child list of this anchor. This is necessary to notify the children prior to destruction of the anchor.

Note that this function does not change the parent setting in pos.

void QCPItemAnchor::removeChild ( QCPItemPosition pos)
protectedinherited

Removes pos from the child list of this anchor.

Note that this function does not change the parent setting in pos.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/functions_0x64.html0000644000175000017500000001646112236016575022633 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- d -

qcustomplot/documentation/html/plottable-curve_8h_source.html0000644000175000017500000005763312236016574025136 0ustar dermanudermanu src/plottables/plottable-curve.h Source File
plottable-curve.h
Go to the documentation of this file.
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
26 #ifndef QCP_PLOTTABLE_CURVE_H
27 #define QCP_PLOTTABLE_CURVE_H
28 
29 #include "../global.h"
30 #include "../range.h"
31 #include "../plottable.h"
32 #include "../painter.h"
33 
34 class QCPPainter;
35 class QCPAxis;
36 
37 class QCP_LIB_DECL QCPCurveData
38 {
39 public:
40  QCPCurveData();
41  QCPCurveData(double t, double key, double value);
42  double t, key, value;
43 };
44 Q_DECLARE_TYPEINFO(QCPCurveData, Q_MOVABLE_TYPE);
45 
54 typedef QMap<double, QCPCurveData> QCPCurveDataMap;
55 typedef QMapIterator<double, QCPCurveData> QCPCurveDataMapIterator;
56 typedef QMutableMapIterator<double, QCPCurveData> QCPCurveDataMutableMapIterator;
57 
58 
59 class QCP_LIB_DECL QCPCurve : public QCPAbstractPlottable
60 {
61  Q_OBJECT
63  Q_PROPERTY(QCPScatterStyle scatterStyle READ scatterStyle WRITE setScatterStyle)
64  Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle)
66 public:
72  enum LineStyle { lsNone,
73  lsLine
74  };
75  explicit QCPCurve(QCPAxis *keyAxis, QCPAxis *valueAxis);
76  virtual ~QCPCurve();
77 
78  // getters:
79  QCPCurveDataMap *data() const { return mData; }
80  QCPScatterStyle scatterStyle() const { return mScatterStyle; }
81  LineStyle lineStyle() const { return mLineStyle; }
82 
83  // setters:
84  void setData(QCPCurveDataMap *data, bool copy=false);
85  void setData(const QVector<double> &t, const QVector<double> &key, const QVector<double> &value);
86  void setData(const QVector<double> &key, const QVector<double> &value);
87  void setScatterStyle(const QCPScatterStyle &style);
88  void setLineStyle(LineStyle style);
89 
90  // non-property methods:
91  void addData(const QCPCurveDataMap &dataMap);
92  void addData(const QCPCurveData &data);
93  void addData(double t, double key, double value);
94  void addData(double key, double value);
95  void addData(const QVector<double> &ts, const QVector<double> &keys, const QVector<double> &values);
96  void removeDataBefore(double t);
97  void removeDataAfter(double t);
98  void removeData(double fromt, double tot);
99  void removeData(double t);
100 
101  // reimplemented virtual methods:
102  virtual void clearData();
103  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
104 
105 protected:
106  // property members:
107  QCPCurveDataMap *mData;
108  QCPScatterStyle mScatterStyle;
109  LineStyle mLineStyle;
110 
111  // reimplemented virtual methods:
112  virtual void draw(QCPPainter *painter);
113  virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const;
114  virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const;
115  virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const;
116 
117  // introduced virtual methods:
118  virtual void drawScatterPlot(QCPPainter *painter, const QVector<QPointF> *pointData) const;
119 
120  // non-virtual methods:
121  void getCurveData(QVector<QPointF> *lineData) const;
122  double pointDistance(const QPointF &pixelPoint) const;
123  QPointF outsideCoordsToPixels(double key, double value, int region, QRect axisRect) const;
124 
125  friend class QCustomPlot;
126  friend class QCPLegend;
127 };
128 
129 #endif // QCP_PLOTTABLE_CURVE_H
qcustomplot/documentation/html/namespaces.html0000644000175000017500000000260412236016575022153 0ustar dermanudermanu Namespace List
Namespace List
Here is a list of all documented namespaces with brief descriptions:
\NQCP
qcustomplot/documentation/html/dynsections.js0000644000175000017500000000413412236016574022045 0ustar dermanudermanufunction toggleVisibility(linkObj) { var base = $(linkObj).attr('id'); var summary = $('#'+base+'-summary'); var content = $('#'+base+'-content'); var trigger = $('#'+base+'-trigger'); var src=$(trigger).attr('src'); if (content.is(':visible')===true) { content.hide(); summary.show(); $(linkObj).addClass('closed').removeClass('opened'); $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); } else { content.show(); summary.hide(); $(linkObj).removeClass('closed').addClass('opened'); $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); } return false; } function updateStripes() { $('table.directory tr'). removeClass('even').filter(':visible:even').addClass('even'); } function toggleLevel(level) { $('table.directory tr').each(function(){ var l = this.id.split('_').length-1; var i = $('#img'+this.id.substring(3)); var a = $('#arr'+this.id.substring(3)); if (lÜ{wmíKaŒáñÇÅÑ ¸ˆ "D$0G;z(ÅÅÅ\>ç™q0IIIFãXdbb"·íHr "D$ˆÈ±BQÔ ‚D* ©T*¤RéþýûÍ«ŠŠŠ‚ƒƒ…BáÌ™3 èBŠ¢(Š …ááá---Lá8§íìpõ@J?AÞw·ÚÚZ±X\__¯ÓéÄbquu5Såëë«T*‡††:::V®\I—ÓaGFFvìØ1gÎóÂñ„µÇGIqú†Àx‹ŒŽŽ.//g6ËÊÊ¢¢¢˜ªC‡±¤øoØ¡¡¡ &XZìIQ”¿¿mmmcc£T*5tÕÈȈX,¾|ùrooo||¼‡‡‡L&;}ú4Ó077W,SeŠ)ÉÊÊrwwŸ?~gg§E¬amóx‹ôööÖjµÌ¦V«õòòb­ú/E„0Æz½~,g¤ÑhT©T³fÍÂÇÄÄÑå{öìIIIÁ'''ŒŒŒ9r$$$„‰öÎ;ïôööŽŠÞ'''g`` ;;;!!Á" Ö°¶&ÒÓÓ“µê¿B ‚yóæ5773…»)•J™L&B<c¬R©F£Éd :þ<ÆØÇLJ¹¬¸¸¸0Ñúûûm„2ß§¿¿_$Y¤ÁÖ6ÜŠï›àààcÇŽ1›MMM¡¡¡ôë   Ÿþ™µÆX¯×«Õê°°°Ñ"¯^½zëÖ­:Îh4"„bbb¦NZZZZUU%•JéPÝÝÝôàéÝhD"‘P÷e´°ãWc<#«««ýüüŽ=:88ØØØ(‘H>LWÕÔÔH$’ºººááᎎŽU«VÑå¬a­ }||T*•N§[·nS«R©d2YtttKK ]’šššššÚÛÛÛÕÕ•œœÌ5B(''G§Ó±N­¬amƒë©c\PPàââ‚*,,4¯R(³gÏvuu¥?þIq‘ŽS¦L™6mÚ–-[Ì›DGG/Y²„Ù¼yófJJŠ———¿¿II k¬¡Í›Ö°¶yìE2¬Y³&""b``€«¬Ñëõo½õV[[›ýºxh¸ÉñÇXD^^ž]ãSÅãñöîÝl׎œGŠ´7øIúÊ.y¯D$ˆH ‘@€/²µUÓÖvÕÑYØŽïZðcBBƒƒìoþâêýêÕ«'Ožä$‡`Œ>ùDMQÔ–-sð,22R,sŠ3‘ÎÉéÓK—æ!„**2ÃÃg8:;üYZÚÌç»ðù¼ÒÒ3ŽÎž@y玡¢â¬Á`2Œåå-wï:âÓ¥ñ²È¦¦‹ÃÃzúõð°^¥ºàØ|ì d‘žáñþ G••Až]ÁŠÖ×Ô´1Ö¦êê6æ…X‘Jåyƒáž‹¢Á`¬«;ï¨|ì X‘ªºçÁ‘¢Pi©ÚQùؘ"µÚᦦ‹&“ɼÐhÄMMûû‡••])²ªêë㪪ÖñÏg€)²´´ù!ªkм~}@­¾b2±œ‘&V«ÿ¼~}`ü³²7E*•çÝÝ…Ì?€/ðÍKêê~wtŽÜüMs„Ð{ï"„¾ýv…£±/ÏÈ'"D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "÷ü‚²sþxî#¢ÑhB%%%ŽN„c,´×|YzY$`ðx“y¼ÉŽÎ‚{,–cbùMsð?ëŸõ&×H ‘@ "@DÁ¹D:ÕÒ&ÊÛÁ>¤H…B!•JT*Ý¿¿yUQQQpp°P(¤—×¥ )Š¢(J(†‡‡·´´Ð… E)•ʇHàÑ‚yÖô¨ù#&ÃÖÏ‘÷]¶¶¶V,×××ëtº††±X\]]ÍTùúú*•Ê¡¡¡ŽŽŽ•+WÒåtØ‘‘‘;vÌ™3‡.\±bEppðòåË™ÈcéýA÷KÖôlwaÝ|Œ;½•í€Ï‘#2::º¼¼œÙ,++‹ŠŠbª:ÄÚ1ýbhhh„ ãááa//¯öööÉ“' 1»Y/H}ðàÁ   ¡P(‘HvïÞï}Ì¥7sssÅb1EQLŠ¢üýýkkkéF³xñb¡Pˆ¬”YÓ3/üóÏ?cbb&Mš´páÂ+W®àÑŸ³Gëu\Ìþ½½½ñññ2™ìôéÓ÷=þ˜MäÃL­ííí111ÌæÂ… ÛÛÛ™ª¨¨¨ÑÞ¹sgïÞ½³fÍB•——/X° ((è…^(++cöquuíééY¼xñúõëé’ôôô¯¿þzppðرc¿üò‹Å¡§÷ùý÷ß[ZZ˜ß¾Æ †}ûöÑëÏ#„233CCCµZ-ÓÖ"‚EzædffFFFvww?÷ÜsÌ‚öˆíŒ­wÖq1¬[·îõ×_ïëëûâ‹/ÒÓÓG;z÷ÁÜêÏHoooúˆÐhµZOOOÖ*ó¡"„Á¼yóš››1ÆqqqôßÔ?þøâ‹/2»õ÷÷cŒûûûE"]¸qãÆ¹sçfddÔÕÕY;óV4J¥R&“ „Ç£ E"‘Eb,Ò3ßA$ÑñµZ­——ksÛ½³Ž‹iåããÃèpqq±>z¬Ç“›©µ¢¢‚Ù,//g¦Ö¨¨¨ÊÊJÖŽÍ7{zzx<žyöÝÝÝx”cŒ;;;·oß™ššjÐ"¸X,®¬¬¼}û¶N§3—a[¤œH$kï¶Ez{{ÓÃ;܈¬®®öóó;zôèàà`cc£D"9|ø0]USS#‘Hêêꆇ‡;::V­Ze=TŒ±\._½z5³™žž.—ËéÝrrrt:]vvvBB]ûî»ï^ºtéÎ;'Nœðññ¡ ===­/64>>>*•J§Ó1Ó ÆxéÒ¥~øáßÿÍìf#‚Ea||<“Õk¯½fÝÜü5kï¬ãbjSSSSSS{{{»ºº’““G9ê–¹q c\PPàââ‚*,,4¯R(³gÏvuu¥?,’¦ Q©TÌfSSSHHå¦ ??ÿ™gžqss bn²6oÞìé鉬.WtnS¦L™6mÚ–-[˜*Fëêêʔ؈`‘3}³ãîîÎÜìX47ÍÚ;븘ڛ7o¦¤¤xyyùûû—””ÜïØÿÓ–‘ kÖ¬‰ˆˆx V„GÄZä£.Í›——÷ˆœà\oÑ"D$ˆH ‘@€/òî]#ìe²iX?€}´µUKQH&óvt"ö…EdRRÒøça?D¢%¡[·Ž8:û|‘3nD&ËAµ·æááæètìðkd}ýy£Ñd4šêë.5hp‘ÅÅ¿Z¼€ d‘}}ƒ'O^6™°É„Oœ¸Ô×7èèŒìd‘‡Ÿ3[Áž‚ºL6 d‘43ßâ1™ð0—ɦ+²«ëæ¹sæ–c|öl—F£uhRv¬ÈÊʳ<Þ=£ãñ¨ÊÊß•½+²¤¤Ù`0™— ¦’°³+L‘.\ë踎å{—/_¿pášCR²70EVT´ðù<ër>ŸwèÌÙ HŒqi©Ú``ùÄÃ`08Ð ò]I€"ÏžÕôôÜâñ\ø|žÅ?Ï¥§çÖ¹sGçÈ=ú-:'äæÍ¡åËŸg6¿„ŠŠúSrãÆÒ²3À?ý@½÷^!BèÛoW8:ûpj}2!"@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "à€ÿz~êÔ©ÜÜÜq뮳S„š1ãÖ¸õ¸aÆçŸþþûqŠ~ B£Ñ”––š/%jW<<úB}}ãÓjjjzã7ž‘4›7ovT×v%66Ö!ý’k$ˆH ‘@ "@DÁ©‹N©T*Š¿þúëé§ŸNKK‹‹‹cª¾ÿþû«W¯N:5--í¥—^BÿÞ1òùü™3gnذ! ™ÝF …B‰D’žžæˆÑØç©V«÷ìÙóÑGÍš5ëâÅ‹Ÿþ¹H$ §«òóó7mÚ¬Õj -!ÔØØx÷îÝŸ~úI.—ççç3…!½^êÔ©­[·–——;jPöÃy§V…B±víÚ¹sçNœ8qΜ9™™™?üðSµnݺ°°077·éÓ§gee™7tuu]²dIWWkØI“&1¯ccc-Z”’’¢V«™’$&&.Z´!tüøñU«VÅÅŽùæ›UUUv'G8ïùÇ„††2›Ï>û¬\.gªd2Ùh Ñ#Güüü˜fvussûòË/™òÆÆFŒqkkknnnaa!]xåÊ•üü|‘H„’ËåŸ}öY`` V«-,,|å•W¸Ç8¯HkŒÆû/Ëçóg̘±qãF¦™Z+++wïÞ½}ûv„Z­þæ›oººº ƒ‹Ë3Óûï¿Ïœµ/¿üò®]»£¢¢6mÚÄñx8ÅyEúûû·¶¶.X°€Þ,,Ì`0˜ŸjæsoFFƵk×Nž<¹oß¾ššš?þøÑÇe'œ÷™ššºsçÎß~ûíöíÛgϞݵkWrr2]µ|ùò;wž9sF¯×÷ôôlÛ¶m,õz}UU3åêõzwwwƒÁðÝwßÖ䫯¾2¯¾újFFƯ¿:õ2iÎ{F†‡‡¯^½:77·»»cœAWÍŸ?ÿí·ßÎËËëîî~ê©§ÒÒÒl‡¢¯‘B¡0 €¹3úàƒ>ýôS>ŸŸ0ZC©Tš••uãÆéÓ§;ùÔê€Ï#KJJ’’’lÌÖìܹóâÅ‹r¹|âĉöKŒbcc‹‹‹ǹ_ç=#ÍY»v­£Spvœ÷Ix ˆH ‘@ "@Dˆù Ò××wÙ²eãßïø°lÙ2__ßñïþ"gOä "D$ˆH ‘@ø?€I5â.µÊIEND®B`‚qcustomplot/documentation/html/QCPItemBracket-length.png0000644000175000017500000003667512236016574023707 0ustar dermanudermanu‰PNG  IHDRÂÈô–vÀsBITÛáOà pHYsÄÄ•+ IDATxœíw\×ÚÇŸ¥,Ud)*HшŠ*Ø@P,X.±‹b££Qóªñ^Í5‰-1Ñ\ì5±kb#*¨X HAD©»,[ÎûÇÍ0 îî<Ì÷ã³ÇÝ™gÏüöœ3ÏsŽ€<<<<<ï‹¶ž† o£<<<<ÁÛ(Fð6ÊÃÃã¼òðððho£<<<<ÁÛ(F`ÛhEê*W£n?gÊut~ù³MžÆnߥÉj9Ö5ýi,\š]7iîm£õ†H2N~ìíÜLO ,]üCמ{V^ï=3×§Œò°@øû/ÍÃ=*²þXäak ¦-:úMZ¯ÄÅS? °ÔIÒÃz.ŠwŸ¹bç·~.Í*^Ü?¿kçßxßÝÞϬ^'Ò³ôͶAõø€¢¢B jÃúê}ižÆ‹4aå‘ßÎüùÏí}ìožÜ>“øR¬ÔMÿF{m˜§*œ¨SE~ÌŠÀLý–}æʬ"NÞÑÛÎP LlÝÆl|$?ݾøJû×b~]0®ÏnÝ}‡‡s8þæj/(OÞêßÁZ(„v½B·>(©µ‡Zud­x}éëJÞs~Ýha=õr)5:ë¼ä§…ƒÚ6Ó3ì²æÞýj/Q‘ºÊÕÈmñúyýÛµ´41iõ÷ŸÊ¢¸ÿMp³VÝ?:ø´BíÒPþäèþå*3GßO޽àƒ€:6iù‹è“D“6®ÿxX¯.]z5ó›_šädÊ7WVhg"è·ôù$rke›ßúÄÎxЩ¢ÊË”DnÞ",¶ jjÿÌ6œRQþäÈâ!í-ÀÊcüÚ«oh•Ôxà‚V<üþë”À] ™I§ç wOñíC©”Rå‰?|y×÷ÇËIqG»Â?>–Wu¼¦,8?ÇwÜ6åäwÒ2’£·ÌèdįqШk“Ö·hÝÊèísñ¯?žŠÜß§Xž1d{\FúÙOõ·üçlíÝ‚ÚÚ?­ /´½<¿è_í—žN~šqoר׫F„xÁ©Æ\¤)+;‚ÑÐCy B!²ô»êÛ}r³àÎB'cï_ŸÉèï-»þqKpþ÷=É;ÏZx&Hä¼àŽ˜YæÆnF¾}TAj<–enò2h=ïfõYqÜBG°œSBik>鯢Ú/!MYÙÌÇž}Ký‡üù#ûOnŠ©O<÷VI!äíŸ6³ ‰.¡_Zþ|{Ãæãÿ|£|ÏêãáõiÒ„ˆS¶Nh †-Ýú™õÕÎ+ÏË !òg›{ØÍ¾VJ½©ìæ¼ÖT›,»9§•ÑÀ“…•Ÿ.>?ÊÂ6ôj)C£qªÚ°âÅî¾f._&–W¾¯"uu'Ÿ9 ]ÔCS‚ ½QƒúwQB ìz{Û¼¾›.söQ×{µû ÏØ9ßl¿QöÎ.šâuÌ·¼Z À2ðäÛü¬‚º ¥Ùw²ô: èPÙÅ5qéßÉXð÷:öhkòîK:÷nW99«oåæ)z}7½„€¡“w{sêdBks雲*½ÑòÌëiÄmd‘xuoÒ&®ýž^òôÆ‘5¡}šgì‰è׶eåY·3õ\wªlS¦ÜŒko#µ5NU.ÏŒM-K_áa, º~‘"ÉVÇ…§F¸`£ÕaÚuilîÃ?¿ávÙ`·YQJ#û.­áE|Z5Ã’*"èëgÛîå•V(IIÌ+=…6FÇ}C}Á»/A²jzúª€à‡ìM•êš4õ?zæm¼G†~¶fÇ_‰·–8Ä}ûÍÕ¢šN"ÝN Q€w4NZV*ˆ~ï]U{ŸiË; uò7!¸`£ò'1 o©%yëf¾­—K3€¨óа/6ºv_¿ÜßwÜë·ÚKyiMäC ýã²·y¥’¬k÷Ê»/ø¿án-Ì ò×ëþ käØÃI™&¦^J2bRª  ’Öv ù“èû•‚ìÅõo*ÿ„waܦOAò©;oysm\ÔµI3?glßÑÄo‹ z:+SÿJ©œÞ?º˜LµI=3k3(ý{P#/HË*UÂ;'íôm};¿òš¨Ò.\°Q^ù÷¼-±éY)ç¿ ÿ2¡ÃG³ºÂ½|³çB|Zö‹ô›'ÿx¤tð°‚AÛ°È5>)K}ÎÞpìòw¯Ùñß Ý½¿¸+oéÞF/õØÅì e)»­|u'8ýß Â-K~¿—ùìÁ±ÿ~²3 öyÃZ/Q»dî/WÓ³Rέ‰ø*©ãG³ºšÀ»Ñ· ú2Äøð´É«NÝÍxšzûô¶M§Ÿóaù€:6iEö®Q~ã?ß|8êÆý‡÷b,Ÿ±è¶opO+Ç ƒK~ _|ðnfæýß?Ÿ½ëÕÚŒÚ ò·Lؼ/±Œ²G>ÿö>À»§ }ûÑ_‡‰Î†ûâ·›ž>~{â§³N*g·n#X“²•HSVvº¹í‹ÁNB°é5û@F9!å©›§ûºX Œý>Þ•\VùFY–vô¿ã{:P3™íú…~•UNˆäÑÎé]EF–-¼&­ùßX‹Qç‹ëôˆ‰"uaùÐ6FÛ^oÙ8ȬåG×Ê(m]zú÷C.QßÀüxÙÍ9v¦Cÿ,d\šˆÿ¶0 9€™“ïÜc/Ï xõiÒÊ’Ä‹Ç÷ù 9Õ1wî3õ‡Ë¯ä„"}éëµ1ëmþeX3«)1%„y^Ôçýí…ú&"ÇÞáþ7¸õˆ©¶ÆIkÄ”?;µ,ÈÝZ š;÷šðÕÙ\¾ÅiŠ€ð6U©HúÚÝëÄüGqsÛÔ-7¡"uU—®‡?ytg^?ÀÃSOJ¢F·ždþdz½þæØRxª¿ñ€ÞŠ<øÒ3 §£ðåÕ›Õsýp¾fxxxêoDœºoîÂ9ÏË,:ŽX|â×™mùŠááá©ü ž‡‡‡G#8ñ¤ž‡‡‡§áÂÛ(Fð6ÊÃÃÃ]îÝ»·fÍlåáááR©ôÔ©SÛ¶m»}ûvEEEAA‘‘¶¨á{£<<<ÉÉɾ¾¾ùùùè2.\èää´iÓ¦iÓ¦åääøùù;v WUíð6ÊÃÓ¤)--ݾ}{Ÿ>}œ——wèÐ!tFFFׯ_‰‰ 111 ß±cŠªº‚œEÅÃÓô¸~ýzß¾}?þøct–––AAA'NœËå'OžôóóC‘!‰‚‚‚Nž<)—ËoJ¥-Z´xòä ËÂêλçF•JÐÓ™ ÀÐ gçe4ᵡT*õôt>ðz§Œüüü½{÷îØ±C"‘ôë×ïÞ½{÷îÝC”Q^^1uêT{{{ê¿är¹““StttÇŽY“!•JÃÃÃé2ÔY°`¹¹ùŠ+4T¥+j±X…‚¬]K "„èhÒ¼9‰ŒdÇÜy\—Áj¯ …B5tèP tãÇ·´´ ¹|ù²R©T(NNN (2¦L™BÉP?É’%K/^ÌŽŒ©S§Ö$ƒAbb¢ƒƒƒzG•#Ô–ó(‘@ZìØYYàâqq“Ú½ó2ÞSÆóçÏ?~œžžžžžþäÉ“ôôtptttrrrrrjß¾ýˆ# K¶¦ÚÈÊÊÚ½{÷¶mÛlllf̘ñøñ㸸¸ž={bɰµµ ŒŒlÞ¼9õ@ºmÛ¶ 6°)#,,Œ.CÐÐPÿU«V½w#ÑŠ îîîçÏŸ |?UºåF;u*Ñ×'$,ŒBîÝ#ùù:w÷$#66åû￟={öرcýýý;wîìââ´råÊóçϳ #>^qåJRllìöíÛ×­[·uëÖU«VÍ™3ÇÑÑQýwtt\¿~}II‰.„¡ ª3‡òó›kiÙnîܹwîܡްzõj&"ÕeˆD.sçίöýOŸ>µ±±)//¯öµ(ÃʪýܹsïÞ½[Ç3øûû;v ]ƒÈÈÈ1cÆh¨JGÔh£ï¾#7o€þ­_ÅÇ'kåÊ,©TÊŽ¾jeüþ{†¿ÿKÿm®®®zõêõÓO?ååå±)ãĉçC‡¾Ý´©äÍ›7III—.]Ú³gŸŸݳlll"##ë2lyogÎä–ìÜYÍxG.—Ÿ>}z̘1ê= ++«}ûöiEÕÖF÷î³z÷ÎŒŒ¬Ò>_¼xaeeUVV†+C!C†8p@w2zôø¸.2ìÙ³gøðáè2”””ˆD"ÝÝãšPã¼ûË—ðò%¤§W)´µícfVyªeË–?ýô“\®ó½°ª•¡P|àêÚrøðð”””¼¼¼Û·oÏŸ?ßÁÁá?ÿùB¡ý c«•!·nÓÆ²¬ÌÜÊÊÊÍÍmÀ€S§N½zõjTTT¯^½¨÷äççÏœ9ÓÏÏ/))IG2 [8:š¿~­¯þ~}}ýÀÀÀ£G¦¤¤¸¸¸Ðÿ«  `úôé‘‘‘š«Â¢ÚÚX´hK·nÎoßVÙ^ÈÞÞ¾OŸ>‡Æ•¡ŽCyª•±páæºÈ`0nܸ›7o>þWssóÑ£GïÞ½[““芚ü5?Ÿ¼zEÄb"Uþ¤ØØòròõ×$.NùÑG@÷îÝuýãP‹Œ¿Gl„²gÏ ê/:thAAŠ :sçΥ׳­­íãÇÙ—¡"77·[·nŒo_ lܸQCUXÔ«6tʣɗ¢ÅPMd¨3{öì•+W¢Ë`píÚ5WWWMÏ¢Þ17C^¼ +V•+In.‹+Ë•Jexx8xxxÖz-P“ :ׯ_ +î:uꤋIɺÈP¡T*CBBèžåââ’››Ë² :………}ûöUwÒ¿þúKsUXÔ±6d2™]jj*® u,X°lÙ2t âããÛ¶mûÞ“QÚ’¡Ž››ÛÕ«Wµv:-Q›77J!))dØ0²pá?ÿ+—Ëûôé”Ét¸Kí2èüüóÏ*w Á’¡B*•:”îY>Rxtrss---NêêêªõìP¯ÚÐ<”G+2h1”GöÁ [·n.\@—Á`ݺu3fÌÐÚé´Ä;z£b1¡¬ÿɲ};aÜkIIITpÛ¶m:SøntèÀ;wbÉP‘ŸŸÏ°­~ø}t6oÞ¬>·³zõj UaQ÷ÚxôèQ«V­***pe¨ãíí}úôit 6mÚ4iÒ$t ^½z%‰ŠŠŠ´vFm i2èòåË uëÖb-vÜ5 ¨¨ÈÆÆ†²33³—/_b+"?þø#ݰD"Ñ›7oõ(ŠÞ½{3lÔÔÔôùó爪ØA+¡êK–DEE¡ˆa“I“&;w®  [Hlmm tðàAl!LfΜɭ‰H5jTBBÂÓ§O±…hÑFƒƒƒ[µj{÷îÕÖ95„JW™L¦£e)êE@@€¾þ? ˆÄÄļzõ Q©©i÷îÝ…çÏŸGÃ&"‘(00pß¾}ØB˜ps\˜‘‘ñèÑ#l!U …!!!éjÍF…B!e[QQQ¸î "((HµuÆõVVV^^^ª— …âèÑ£ˆz@=ìéæÍ›EEE(bØ„›†5dȼ¼¼ÄÄDl!U000˜>}:«+,,l×®]\˜Í׿5Ô U&“¡W)Z´h¡ZðüÚµkÙÙÙ¸z`ðàÁô—è}ä~ýú1J Åõë×Qİ ÊS/ÂÂÂöîÝ+£vVâ ª%ñ±…hÕF;tèÐ¥KàÎpiøðáÔ!ä·ß~ÃC† ¡¿¼|ùò›7o°Ä€¯¯¯ú^o·oßFÃ& ,,Œ#CB:¡¡¡J¥ØBªÐ¾}ûŽ;þùçŸØB˜pdT¡åíÇŒ·nÝJg,ÜŠ„ÊFãzooo333ÕK¥RyåÊD="‘ÈÝÝQxëÖ-1,ÇòÔ ŽƒàààèèhôYD-Ûèøñ㩎|(O½ˆˆˆØ¾}»R©ÄR…>}úèëëÇÆÆ"jоRÓ£À‘áR@@€‘‘u‹ÍãîîNØRBp;¤vvvôeS(nÞ¼‰"†eøPžzAåÑ¢OC©ƒÞ!Õ¾vëÖº-9b£æææþþþÔ±L&;sæ ®@Àè¢ë©Í`è4…”P .‡òœ;w[>¶Z´o£ðw‡ôñãÇ÷ïß×Åùë }\Ï… Ò_¢Û(=)€âÁƒYA×p9”‡ƒãz뾄 æÑêÄFÇGp¤CJ·ÑsçΡw=|}}é/“““_¾|‰%<==%r¹¼étHч„Õ‘PœÍ£ Cüub£=zôhÓ¦ p K‡¢]»vmÛ¶¥Ž pg£ C‡¶¶¶ª—èӣݺuSÂo"O™€å©'Ôƒ&lLpóhub£0vìXHKKãȸžž>túôiD%~~~ô—¸6Ú¬Y3Fá_ý…"†}8ÊÃMÃò÷÷çóh™W×Ñy¹6®§GkragƸþÂ… XJ(Ô§Gccc›Èô(p5”ÇÇÇ=”G>V]ÙhïÞ½€3ãúª©KOOOMMÅÕðьŒ \IêÓ£R©ýÙkð¡<õ‚Ï£e +T‡4---!!AGW©;"‘HµÚpày½———‰‰ ½wªA½7 McíQ|(OÝár-Ê—¨+îÅá4HuŒ>® …t[lUïBÓX _ÊS/8›G›˜˜È~­mÔ××—Ú/ž#ãzúS¦7n ß0ŒqýÕ«W%Y[[;;;3 SSS³²²Pô°ÊS/ÓÓÓù®gب\.ÇÍZ©¶CÚ¤ÆõÜ|2ÎÙ%ñg̘ÁÁêBÉ£Õ¡ÂßaOÀq½¡¡aÿþýU/ÑmÔÇLJ­ÉÁéÑ&5®çCyêgóhYî‘èÖFûõë×¢E à̸žöUQQ(ÆÊÊÊÍÍ^rîÜ9ÄÕ(¼½½Õ /\¸Àµ2tÊS/¨É€ý/Q·6ª¯¯?jÔ(HNNNNNÖéµê}z´¨¨= gذaô—ˆ¹C¾¾¾B¡QXXXØDçàCyê7ÿÙÏ£Õ­-Ÿ RWWWjUi ôt&ê7†¢$SSSFðE“šåCyêŸGK¡síß¿¿µµ5pczhÛœVqöññ¡&=Tà:»jEA:»wïæZzNáCyêŸGK¡s544 €‡¢ç­w ™™™¸@õôôFŽI/ILLLJJÂÒC§âÙ³gèÝv6áCyêŸG ,Ø(О×sa\ߥK—:¨^¢Ï7Q¿1t6oÞŒ¢úôé£Ú)€Î/¿ü¾,øPžzáååeiiÙÔóh‰î‘J¥–––àááÁÂåÞÉÒ¥KU¾X,F#‘HTѬ%%%XzÔmôôô?~Œ%‰}ÒÒÒZµjUQQ-„‰ÏŸþ‰­‚ɦM›&Mš„­‚É«W¯D"QQQ ×b£7* ?üðCHLLäÂ&?ôq}nn.n⊱±1ãy}qqñþýû±ôLœ8Q½P©Tnݺ•}1Xð¡<õ‚Ï£e£7JQå°Oœ8‘+Ö}7777…B(fïÞ½Œ/¥K—.XbJJJLMMÕÛ‰……Enn.–*öÙ»wïðáñU0)))‰DyyyØB˜„„„lذ[“³gÏöìÙ“… ±d£åååÍš5¡P˜““ÃÎEkáóÏ?§{ĉ'Å2l+::K=˜ÎôéÓ±$±X,¶¶¶ÎÎÎÆÂ$,,líÚµØ*˜DGG#þöׄB¡prrzðà®/ÄÆ ŒŒŒFŒ\x^A×À?þˆ¥D"Q¿~ý…_|ñ!EOpppµå{öìi:4ñ¡<õ‚Ëy´lT—®}ZÅÑ£G©+ÚØØH¥RÖ®[íÚµ£×Ã7ÅTûÓrôèQ12™L}O ooo¥R‰¢Š}âããÛ¶m‹;áS-nnnW¯^ÅVÁdõêÕ³fÍÂVÁ$33ÓÆÆ¦¼¼\§WaÏFËÊÊÌĮ̀»q÷îݬ]·&–-[F7ˆ & Š)))±±±axVÇŽe2ŠžZza»víB‘„‚§§ç… °U0Y·n'X^¼xaeeUZZŠ-„É!C8 ÓK°g£„iÓ¦Q·¢§§'›×­–œœz 9zLÏ×_­îY›7oF#“ÉèѵtlllšNðÊS/>üðCþÊ:thРA:½«6úðáCÕÒp\•„††Ò bÞ¼yˆbÞ¾}kaaÁð¬V­Z èQPáîî^XXˆ¢Še D"Ñ›7o°…0?~ü–-[°U09yò¤ŸŸ¶ &R©´E‹Ož<ÑÝ%XµQBˆ*£ wM‘””$Tî`bbòúõkD=K–,Q÷¬Q£F¡LGÊåò=zÔä¤r¹œ}UìÓÄCyê…L&³³³KMMÅÂdÁ‚Ë–-ÓÝùÙ¶Ñøøxʹ ž={ÆòÕÕ>|8ÝfÏž(æÕ«WŒ•J(°n㬬,[[ÛšœtÁ‚(ªX†³¡<ÎÎÎ,„òÔ—%K–,^¼[“ÄÄDÝýð³m£„æ\\¸ïܹ£ÚxîlCµ{í …Â;wî è‰ŽŽ600¨ÉI)ÏÉ!S¦—/‰BAzô 7î=Ü~”J¥‹‹ËíÛ·±…0Y¾|ùüùó±U0áfmN±µ=·oß_:j¢6zíÚ5ê&444LHH`_ƒ¹sçÒ­ÁÕÕU×áµ3sæLuÃj×®j:’â³ÖPkª3gNp°bÕ*"“¥’ÄÅ‘… I#‹‰jÊ¡<ï¿¿ÿ‘#G ‹MôLžLFŽ=z¼Žš(‚BT{ûùù¡Ç!ÙÛÛÓ­A§Ó(襤¤¤Ú°Í¡C‡fe‰Ç'›6BÈÌ™ÄÓ“¤§³!éÿûŸ±±qMNêç×÷åË—Œ”•±!Œšr(O}yýšôê•éîþ a·‰ÖŽRY™GKo¨Zl¢86zñâEÕM¸}ûv t~ûí7º/R³NÔÚÂB¶›BrrrÛ¶mÕ «[·…‹U¨röï'¬=ÆOHHðððPSd°Z·n}óæMÕ›7o&aa, cΆòôë7Š`4Ñš¸x‘|ö™ÌÚÚŽÊ£e³‰VKi)ùüóÊcz­v›(ŽBTÛ [[[ã>§˜={6ÝÚµó– L!ׯ“V­ÈêÕ¬êÉËËëÝ»wu]??zÀ`E‰gI’D"ùÎîãTIDATôÓO«vK»T.oldd”””D½ó̽§2ÁÁPž²22mšB(Œyòä J­…Ù³g¯X±‚:f³‰ªsÿ>éСòøúõë;v¤ŽµÛDÑl4..NýW9[±?AY¿F.—Ož<™fúÎΛ޾­ìø’´4¶%‰Å⪹ÿ¿¸@ï޽߾}K½§¤„˜›6‡›eeeLjˆhÕª€!À4•>Uèž}dÑ"ö$±€L&³±–’’Jðš(¹œ|÷™7ï?ÔJe0{6IL$¤j-ûM”NE¡§LªòhµÛDÑl”òÃ?ü}®°³“¼xA”JJÚµ#(9R©400Þõ ¡OÝž8AX^J©T^¸pa̘1úúú*·œS=¢U*I³fäéSVUQ(Š€™™ú4·îX¶Œ4o^0{ö Ü&ª#”‡ý&J§sg¢ŠhPåÑ"6Qª‰…õë×ë"ÓF•Jå¿þõ/ðvuí­ ’@œL‹ÅK–,Ñ×ÿŒšòÕØ„2q"‰ŒÄ–² r%ÐÏ>ûŒ*/,$XÉŠ)))ï8òÀA_¹œìÞMFŽlTO7nøøtU(î|!dýú¦üèKâ#6QBÈÇÿ<·QåÑ"6Q#Fà`RTDrs_™™Í ”i·‰²´P^µ‚]»vwêp35õÖúõë©r‘bc¡æ\Dbbb²fÍš þíì\™Q¾|ùrÕÿ …P^Ž  Üݦm€Ú”E&ƒæÍáÀIóçÏ—J¥0 ÑÍ­žœ?óæf³Ò2„ÀÓ§àí ^^íTKâ#6Q ™ *ë¾ê’øˆM:w±23&MštöìÙ¼¼Ä&ªâ÷ßÁÃŒŒ eK[këÉíÛŸÓrÕ¦'ןŒ bg§¤âŸLMMU“kgÎ__4U ‘J+TëQ©–J‹Œ$ºLÌ­]’ÄÎÎ à5Àð7þöùàrÿ>ŽžC‡1ÒW_}…#EÇdd{ûÊcú’øèMT5ƒBåAl¢'NBuŽýü~¶¶.Äj¢5¡‹|ýõùvíæqª‰À”)SN:U\\Œ-¤ ööö¾¾¾GŽÁÂD»;r¥-89µ€ŠŠŠ²² l-LqpÍFóòòÔ Åb1ûJØDµãÌÇ:{ölAAª&¶¶¶ÄÂ$""‚ƒÝä   ÄÄħOŸjål\±Qêàòå˸JÔA·QuÔ•M¬¬¬Ô óóóÙW‚‚¥¥åðáÃ÷íÛ‡-„IXX÷^ ÌÈÈxôè¶*…ÂmUçlôêÕ«¸J(èN‘””„¨Ú¨"nþ×FÕ71€øøxö•`ÁÍÍâuÊ£9Ó§Oç`u………íÞ½[¡Ph~*®Ø¨jێب§§§ê855U.—#ŠQ·ÑôôtÄY°j{£©©©EEEì‹AÁßß_,7‰Pm¶gÏ®…Ĺ»»;::ž;wNóSqÅF¨í§OŸâvµ(ºuë¦:–J¥÷ïßGãèèhhhH/Q(±±±Xz¬­­Õ •JåíÛ·Ùƒ‚@ ç a…††8p 1!´:Ú·oïêêJåÑr z­&pÅFÍÍͨã+W®àŠª½QÐblÄ{ ¯¯ïììÌ(D¬¥jB®õÎt —CyŽ?Ž-„IDD„V K»GGGWûÈ´^pÅF@µÕ®gQôèу¾÷òÑ£GÅ€jÛˆÏâ†ZmyµP•&Ê£-èy´ÜÁÜÜ|̘1{öìÑôDÚŠãלgÏžQ’Œé ¼cÑ«W/zEánf{úôiÆg``€¸;PuŠ€……EYcÚƒé]ppI|BˆT*mÑ¢ÅÜJªcΜ9ôe'9}Iü÷†C½Q'''êæ,//稤êÊóÈÒAƒ™››ÓKäryLL ’œê;¤ÅÅÅÕnÝXi ¡w^^^ôºRmÙ†‚z¼·©©)Öì‡R©ìZÝ h¹¹¹(’PHKKkÙ²ewvdÿú’øÜAµ$>§xõê•H$ÒäVâVo´gÏž-Z´¹\~øðal9L‰;®?~|ëÖ­é%b±K’@ øòË/ÕËårùôµÎY¤Ñ‡òh—É“'s6V£v«ES× Ÿ|ò %¬_¿~ØZÈÛ·oé3’]°w ¦­:ZIÿþý±Ä(Šj4¹»»7â½íÔ¡/‰ÏèKâsŠ 6`«`¢á’øœ³ÑÇëé逞ž^VV¶2oÞ<ºG¤¡nbKÝt=zzz™™™XzjšÂ>rä–$ö‹ÅÖÖÖÙÙÙØB˜„‡‡¯]»[“èèhlL …³³ó{GãpkP...~ø!(•J.ŒëçÏŸ¯G[ ÷A“¹¹ùܹsé%J¥R½‹ÊãÇwuuU/ÿꫯ¸ö@Vw˜˜˜Lœ8‘ZŸSp3ÏÊßß_"‘p-SCÓËE%„x{{Swã£G°µücëGÅÕØgÄF)—Ë;tè n£;v”ÉdXªØÇÓÓóÂ… Ø*˜¬_¿~úôéØ*˜¼xñÂÊÊ 1y¤&†ú~?ÿµQÕèyóæak!„fë\è#?{öÌÀÀ€îY†††ˆY+5gwíÚ…%‰}k(ŽøðÃwî܉­‚É¡C‡ ôä¨* 077ÏÏÏÇ–C~ÿýwºAœ9sWÏ´iÓžŠ%F&“}ðÁê6úÁp0 RG¼}ûÖÒÒòÍ›7ØB˜Œ?~óæÍØ*˜4²Å]%„,[¶ŒºwïÞ­…”””XZZª bðàÁ¸zõõõ鞥§§÷ðáC,=7nÜЫn·Ì7bIb¥Réâârûöml!L–/_>þ|lL?~Ühòh9m£yyy&&&àááÁ…Ę+VÐ ý†™5kóƨç£>R·Q{{{±XŒ¨ŠM_(Nñ÷÷G{Q'22r̘1õú§m”2sæLênùälEdÊ”) Ϻt颞j—å·µµ}ûö-¢*Öàl(ÏèÑ£±U0iy´ ÃF -‰è§Ÿ~ÂÖBHÕ‹MLLÐ7 ÊÊÊb, ×§O\IêNºhÑ"\UìÐhByØ›y´çΫcmƒ±QU‘‹‹ ¦Ø E—.]TîÀ…¹°%K–0<ëìÙ³ˆzÃÖB!2™¬}ûö*wàÂí¿üò ݰÐrd2™››ÃF9¬kz(›Py´ äxgmóQBˆ§§'§îCzRSÿþý±å0ÓU¹ð“óǨwHþùg\U,ÐÐCyX¦æÑ6HݳgurdïIU’Z'c·NKKË’’\IdØ(GB€uJCåa™šGÛ mT&“999@¯^½°µT²yóf•;pá1´\.§?ûd={V½CÊ…9]Ó Cy؇›y´Û¶m«%¶AÚ(!äûï¿§îø¸8l-„"•J(I&&&è¡øDm·Nô®5dØh}wkhˆ4èPöÙ»wo`` ¶ &µçÑV³Yƒ ""‚Ê ¥¯þ‰ˆP(ü¿ÿû?êX"‘ìܹWL˜0¡Y³fª—ééé§OŸFÔ£§§§žÔ‡"†Mìííýüü>Œ-„IxxxM;c#2vìØ[·n=þ[HÌÍÍÇŒ£šNd²©kʶ8Òõ#„äåå©–+æBäQÛcîã?ÆÕ“••¥že¾ª 4ÜP\mCíµ4Gº~ТE‹#FPÇYYY.\ÀÕô—W®\ÁRBáèè8hÐ FaSèfdd¤¦¦b ©‚P(œ2e ;¤ááá;vìP*•ØBªàããc``píÚ5õÿjÀ6Ú½{wjÑÏ­[·r¤ÆÃÂÂTÇÕ>Qa™ž={zxx¨^¦¤¤äçç#êF ׆oºÀÀÀ`úôéÕî÷‡KxxøîÝ» ¶*xyy‰D¢K—.a a¾mÛ6õòl£0yòdHOO¿ÿ>¶€aÆÙÙÙQÇQQQ¸b(¨¤/ BÈ7ÅóK‡šãnô„‡‡ïÙ³G&“a ©BçÎÏ;‡-„ Õ!ÅVÁdÊ”)§N*..f”7l ¦8òÃe``0räHê8555++ W0¶izñâ–Š&k£...®®®Õ¦!àÂÍM“'O>{ölAA¶*ØÚÚ8p€QÞ°m´C‡Ý»w€˜˜l-• }º–};Ø‘1nܸºÈh6ZVF.\ „gÏȦMD"!¶¶¶¿üò º BȽ{÷„Bá¾}ûpeB^½zåîîþÅ_°Ók’AÉÎÎöôôܰaCµ‹Œ5Jj© Š¥K—²°8ñ;eäåå}÷Ýw®®®®®®ßÿ}^^ºŒ~ø 2Ö­[Ww ÏFKJH‡$,ŒBÒÒHP yÓ¦M–;\ê2æÍ#b±¸[·nÇŽÕA)++6lX-»Ç°#ƒòèÑ£iÓ¦%''³£„ ÔRr¹üôéÓ£G¶°°èÑ£º ‘H4cÆŒØØX.ȸvíd\¿~½¾'Ž¥.Ô…ÄD°°€ÈH€Y³`Íšaa!=zôÀ•Ñ¢¬^½Ü××wÈ!¸2^¾|çííÍæ£pueeééé&&&èÁªì£^99OwîܹsçN{{ûððð‰'6oÞQFë֭ƒƒYÈ"«E†ƒƒChhè¤I“è;5`ɘû÷¿‹Ù”ÁÔk£Y³ò‡›š®ž‚h6áb‰EÒûÃt´Ò&N}çì}$þû¯f³6j”Ánmp¾‰þCo¢œµQ‰S¿ˆïömaYe~R5wÔŠ‚ˆKo$¯ÏNÊ\:rQL‘.¿—d˜÷Ú–Y&‘H$IþþºÜH†Hò^ÛŒþþLJvnzÔb›ÃÓG¬J°]5Ê`³68ßDÿ¡©7Q-¬YªCJ/O³µ ¾T¢*(85¢ÕG±¥„BŠ/Mµµw¾ˆ}ʼ}>ͼ÷¼TèüÒjHî/icÔgž’`Õ†š ÄÚÀ‡o¢j4½&ÊÙÞhõTäÜ}TѶ¯‹)˜¶÷s*O¾ÿR†¢¥ìæ§Vͬœ¼F/;™)}÷ûµƒ<ïÖÕ×v}\-¨µA—XµÁAø&Ú›hÛÒN!y+ cªfôM,M@R(Q²®C`îõÙ¾3]],Ê’Ž,Ÿ9f øZâzo3]_–”Ý_7ùßÙÁOt3¼Ú`ÈÀª nÂ7Ñ&ØD˜ê›ˆL@R"%…¤¨L,MºÔ¦ÆL¢6ÈjÿÅNÉ…¶‹$¯òîi¢ÓkJR6ò£ÍW7þËF«6ÔdàÔWá›hl¢ lP/´÷ê |ví‰$מ™¸ukeˆªI oh(Pʺ}[þè× ý—+ÿ{ñ`x{ãÊ2„Ú¨NFØ© Ã7ѦØDu3媔²r‰$?j²Õø³¯%’r™’B”oÎL¶µø¿{Eooçknq©Pɺ EaüÁƒ—’²ó‹ 2¯m q´½¨Kå·jÑÌgÅ×bêI£TŽQ5È`»68ßDÿ¡i7QÎÚ¨$~‘#ÝîíçÝBQ\ûvd{3hÖiÜqEº½_«—¡x}nžc3€©sß·'”èR†4uµkÕ?÷ué„vk£&,×gà›è?4ñ&ÊïÅÄÃÃã ln”‡‡‡‡kð6ÊÃÃã¼òðððho£<<<<ÁÛ(Fð6ÊÃÃã¼òðððho£<<<<ÁÛ(Fð6ÊÃÃãÿ…çÖ7íû3(IEND®B`‚qcustomplot/documentation/html/AxisNamesOverview.png0000644000175000017500000003256012236016574023276 0ustar dermanudermanu‰PNG  IHDRÂ,ß4$àsBITÛáOà pHYsÄÄ•+ IDATxœíÝwxSeðû$Iw J X -S¦”-*ËAÙ C†‚€Èr€€ ‚²d)"CPÙˆ,™-{cÁ2üØ¥m:’t%ï÷GJé¦íI›¤½W/¯œúzbÌT\×Á˜ˆó‡õøðÐÞK ð¼6q"ç§õHT£†?ì€û°îfúØ5G¢`ˆÁÂOàÒ5Õpª7]1z:nhî_À¶Pž%²,£…å„Ïv¡í9Ôv†Ò }– .ñ§}%¬ø•¾CÇYˆÏ©’:5ÂìWÑ¿ê5F¿Mh]ùñŽèÕ×…ƒ~z›>‡3'L߃öPß ’=êõÆ‘¨¢ƒD”?’¹/Q>ðhÔæét–΀¨tcµm:ðÎ;·t*D¥˨msrÂ… ðõEëÖèÔ ‡Y:!¢Ò‡çFKˆÄD¬^yóàîŽ>@—.Pð#’¨X°Œ–(F#vìÀœ9¸wcÇbÀ89Y:'¢’Že´d:~³fáÐ! †#àím鄈J.6~%SãÆøí79‚ÈHÔ¨a‹cPº33»7 ,£$u§Ýqéw‹‡k›IO8¾öÇãÇŒš°9ݪ»I’äV½ÛœÐ<¾BFd^,£%YÕªøö[„‡Ûâ”B]©å[_®ù¾³§}Ö‡œ|®‰ÞØÎ böŽ ™9xL’æÀШé!#÷İϢâÁ2Zò•-‹)Spã^{ C† 87ÂhíkªêýFéúB2Ùª($¥ÊÅÕÅÅÅÅÅÅY•6µ€æÈâmŠ>3‡7ôppo0lf_»í‹kŠ9e*­XFK • C‡âòeLš„ „%KlôÒ}݉qõ¼\=ýê…|ôÛ¿zÉwO…'û·¬jPS´ðO?y'É¢iR©Á‰òJ…!! IƒúôS[ƒ’œŒ[³Ó¯nUwý•-Ó‡ô|1öÀ¥o[¹ô1z¨ÝT’i#G7'I¯Ñg;â–$©Ø3&›Qèñv–ÑRÊ4õ￘75j {wŒ‹  K§õtÎ5ºõ©¨öá©W¾úœVÍíÕžjèãÜ%@$Åé„ÚCS¯•ÛŸŠ$åzÕ *%åx~°©/Õly v CŠ€CÅA7G˜æÕG¹éÔÈ×ѲùQiÁ2JV:%R““R…0¤Ý âÎnX÷×¥ÛQq1ÿ…®óÞN‡v½j;ðh12Äð󤥧cSâÎ.ûdmjÇ‘Í=Ì•Iî½^áÚ@´Â€²¢ ±u«hÙRT­*¾ýVhµ–JDö£g2î¨eß>œ „1zßûÍ*»J ®ÔüíïNÇgslVç@g.g1ä4Þì h[弿ÅD9+‘߃*ÜY3³¿Za@9¯Å¦žrfû߃*³O0`ihÂ2Jy±í1¨‚ c@,–Qz:ëƒ"²<7JcÓsñ¥_ÈÝžÒÉß+x4JcúÔÁƒX»þ LЇ-V¾¥Ëfaýý#QÀÜv‰üc¥B*mcPD¹aSOfðè¾ýK– qcŒ–-sÝòêUT«K}µÝìÐP‰Á žÈÂò?µiÞ¿ØóËmHвMXFÉlò3Ÿ£#.ÄÇ[(E¢"À‡ŠJŽßƒZ²cÇB©Äĉ˜8±¸SbSO¹aSOÖ(Ç1((•Ðj1c,°tŠXÿÈ€VЄe”ŠV–ïA-X6¾¤ÕbâD,_néüˆdcCÅçìY¼ô4¤ïtj5V¬@ïÞÅ”›zÊ ›z²Û·£eKÄÆ"㾪×ãí·±ukñ¥aZ˜9ûýÖß?2`Ìm—È?–Q*rB`Ú4tê„„„®‚Òëѽ;~ù¥Ø’‘û•*aäïìq¨È]¸€­[ññˆE|<ôú´ÿšnؽmÚm&lê)7rö îUd¡Rù«äñ§lÆ×b@Û Ès£f¢Ãˆ*u\ÞfZ ôŇgÍúŠ¥@1ÔP™ ܹcé$È*•Ž2šŠE ¹`{tž›9 çtô¨RLIQžtgfvoXF!IêN»ãß+Î,øB —R’$GßfCV\Ô>>€0jÂæt«î&I’[õnsB5œ5£žˆLœˆÊ•kž€áƒ6‡€úÌÎÆ¼z¥3 I©(£ÉXzöX¼yýqÙá…hU¾Øò¢<(Ô•Z¾õåšï;{Úg¸W$FF—ï6û+w#oøÄoûàW?9©³wTÈ´ÈÁûc’4†FM¹'¦@Zö1\½k×âùçQ·.fÍB³f¨YSVÀ<ˆH4— eûi± =´Ûè8xÉhR*Êè?«q³1¾‹#‹qÏIWÐÔ„B)7Ñ΃wØþÉŸŠ-c৆¤€“>:‘K\þ˜€À2$¨«`Â6¤>~äþN¼à¥5zá\BÚI·0¡ \$HNxe*Šú}Û4Uõ~£‡t}¡F™ŒUвí>ýê½NÁ>e+7}kÊЀ‡ÏFhŽ,Þ¦è3sxC÷ÃföµÛ¾ø°¦°¯}ê† A¹rx÷]œ< ­ööøòKÙï)wR9ì×C¯‡>½¼Ð}gÚàÛ_}КíV¯”Q=V®FƒÁhÙ>'°åàXk>Dz¾8øßÀ¿}1§Ý“ß…î8FmÄ’ëFÜ;Œn•ríü~¾€ÔTœø«úcû#@ÖoÄgg‘ô½"Ðy2tô˜Ö»ëãŠÚ ¨¸ƒ~ ©©Bÿ¾W.¸Ž—H¾{*<Ù¿eUÓDüê€þÉá'ï$ Zpppt4-B@^z «VA«E\88 [7,½‚ö*¨TP© ”Ži·Ÿ4õuËk W ’=j÷Á”LO>„¦Þ¾õÉg¹Ù3dÀÜØEP«’pëav[8y¡¾ûC?€=PõÌÞ†ÎͬÄÞðÈpù­dEÎEÓ2(€çs ­D«7ÓnÖî‡>3°ëº<(ðÊt´* c¾À⡸4µÎâÇHü0•T@¦~ˆz+R¤o½DÓ_ZÜü¿]Výò¼ƒ>Fµ›ÊôQrts’ô}Ngp²\h 88xîÜðñãƒr|©ädìÝ›à””ÀÉÉQ©ÔpvvÖjµ||œb¸»»ÇÆÆ:: èèh^^^M”³³ÁÛÛûáǼ½½µÚ{ …¨X±âÝ»wT¬X±K—0Sa'¯D¥Vó€©ý ®ü 9Iqé¹3zÛën>ïÑ !„Ð^ÑíµmÑÙÂåg‡7Åž=¢m[¡V •JnnB«•ù^ò'^ôñ½þ|üÏÇ{ˆf«p®&.&eÞ8A ('TöÂw¨xd(–ôJ.9Ű„Ÿ}°{Xs×#ë71³.~^­;Fck}lü«:`ø;¸á”RâUl8ˆØØ»£‚'ì”Èñ ·F=Õ¨á;àÁ>¬»™þvMÅ‘(b°ð¸tAM5œêãMWŒžŽZÀ€û°-”çFó"R““R…0¤Ý€ä«ûµ}gèÖuC«)““ Y›Úqds‚¼\ú®$¡m[ìÙƒ«W1f ÜÝáîK–,ó Û—úaÔ}ö0|3ÚíëÓQÐk¼¬Üúš”è2jÀöÅðì‡Î5àãøT ‘°›Àà=X²~xu>ºœÅà5OÎÍb±üm”u€Â“b±òK8çÞ©f¿Šþ5P¯1úmBëÊpD¯Îø¸.¼ðÓ3Øô9œ8aú´¿€únìQ¯7ŽDïÀv%žŸ\]­.ûò‘ ¿w*¯Vû ;ªRþÛ8ë·{ñǧµðvV«ÕjµºÎŒ’Hžmmìñ]+÷–ߺ}²eq;/™ >ùùaÆ DFbéRÔ­‹Ù³‘˜h–·VNõÑÞÕsÌT\×Á˜ˆó‡õøCØÞK ð¼6q%úÕ*éçF‰2sþëòe8:x¼¾Àr97º¨1#ðÑ`|z{Ôêí«àŸŒ(ÿ;¾ª‡ä›èß÷FaÇpµÐŠ6ß©·y:œœ,D)ÀïÔ3 ¿S_2étà:ïD¶ŠG£V!}÷¦M1~<š5³tB%'Ê£ÜðhÔæ¥¯óÞ¾= @󿨴)çuÞI&Î~Ï€YpöûE¥JkíÇÃܹ Â÷ß[rt¸DJ¿HÈDþ.ÁÇz=ŠÙ³ŠáÃñî»([ÖÒ Ù>6õ”6õ%S³fؼàÎaÄ\¿néœJ.mHвMXF­]P–.Å•+([M›¢gOçlùÅ"%÷îY: ²ìql‰V‹•+1>|}ñÁxí5È;3^êä³qûç,Y‚ pèªU+†¼ EûäÚûüÊp1¿y– lêK ggŒ…«W1j>û µkcÅ $dVMÊMXXXBV­BݺhØß|ƒÖ­eÕÐBôÿD×:PJ”ð«‡É2-ÖP˜†T‡¡~ûʼLŽõ·ÌÖЄeÔö(•èÑaaøælÞ ̘˜K§eËNœÀ´i*à½÷pþþÈ6e}þï¹|9ªZ5¯ü?KòŠPÌû³âÊC”kŠkÐ;ï ¥rZ®æùl5:;Ýü†EWu€º-? pkZ¬Ä žKßv™v YÅÔ\‡Äd=RRÄÚµ¢^=Q§ŽXµJ$%=ý)¥DŽ;|út÷*•ptLëë]]E|¶¹Øèo‹™/ eq-9ϦÞ'm)!„þŒxÖSìŽËH+†øfX^séçNN1,%Ÿ7¥‹úôÁ™3˜7ëÖ! sæ¤-rIÙ™¦»ÿì³°k×0v,ÜÝáê ½ß|#+¬œAa•/†ƒ}þK$¨”HNM ˜aø>Òn&=@¬ <³·—²_Æc_nÑøóP¶ eÌ¥[XçH=X›6ص ;wâüy<û,&LÀÿþg霬Xút÷Ë–¡n]Ì }öE;ŠLr>ž‚¿.A“„ØëX4 ÆxV¨ÑÒ; HúóvgX{&§åj2QÂÇ ×n KItª¾ž˜¿Ì“s雇ŠÉšý÷Ÿ?^”)#ú÷çÏ[: )Ðé’ø÷ߢË%«Ôûbzoñ¬»”¢VG±õ¿´‡b‹¶U„o hØA|üjæ‘úÏEK_¡€ì.NÅå6b…t€h±4óHý¿btk¡†€½¨Õ'ëH}Ò ÑËW´úRÄsˆY"É)†,£¥Kl¬˜=[øù‰öíÅÞ½ym.ŒÖø'dŒ;óí›õÊH€²lƒË.¦/jˆ Ý5È€kP×ÙÇbr:»—ÇŸJhh¨ye@Û (§Œ²©/]ÜÜ0~<""л7ÆŽEýúX·©©9l¹iF.öüž*þð„ׯœióÓ-]ÒƒmÝ®Ž{}bhˆ˜½£B¦EÞ“¤904jzÈÈ=1lI©˜º“­3Å®]âå—E•*âë¯E\æ–pþ|ˆ>²Pr¹ÐŸSIÝzC¤é4vWg7¯¾Å !¢·¿îVaèá!„Ú£Ã| ½N=•Nrö –^’„öí±o6nDXž}}„û÷ÓU«¡VcÑ"|ñ…E³Ì‹H>îa*’ïž OöoYÕtí¹: …røÉ;™mÀú…Ð š°Œ6ĺu8yII¨Sƒãòe¸¸ÀÎZ-fÎÄüù–Nñ1UµvnG?ûj׺¤È#ß|ö‡ú}Œj7•é jÉÑÍIÒkô9]²#e–þ§eºæèhlÕ 3f\K¿§724Ë 4oÀ,{ÂÓw¾<˜ñ¨˜J€¨(ñÅÂÇG4j$œÓ®EwrË–Y:³4Íñ¯{Õñ”·ZÝÆ ðw¨ÿí­T‘tñÓjª¦k}ミš©ªN¹˜õÉùÜá“’ÄÁƒÂÇGüó™³'«%§òh”2ñòÂĉسׯC÷ø+Ø:Þ{ëÖY4³4 ÷çß_>Ú(Dì¹…õoEV|¹‰·9Ü<aºÎSqä¦CP#_ÇÄM?Zàà€–-ñâ‹8|¸ð‰f h h…MXF)«;д)4šLß~Ñë1x0¶l±\Zi’oúûüíè¸GW÷|5ðý³-¦Žª£àÑbdˆáçIKOǦÄ]öÉÚÔŽ#›{È~±ÈHù S)`Æ£b²uF£˜2EHÒ“)ã²üØÙ‰ ,›cÂÑ1 ¼ì}‚ßúîtlú塆˜c³::p ì<ëhA¯Í®O±h‘2&› §rzâêUlÞ ­ ¢£‹øø´½:ââ`4b÷n´icé\ %…"²M¡öÆ AŸ>…|­ìebÀ" (gN”GOâß²Mb"TªbÉÆÒ=‚··¥“ [À£Q2+ƒ&üL¸ÆË£J úA𠨬 tÄQ·.Ö¬ÁsÏiFd-x4JVC{|j÷7öä6)Ÿ[»õç×·s+ÖŒò){»÷ð!ÊËX¶È¦;\,–Q2+·vëoF[:‰¼¤/"òÔ-£¢P¦L£sc$6õTdŒqç7Ì[°þàUñò¢ ý/­Xu·ý»!•ì-—Q7oo\º„rårxHD¢…7Žf»¿ù|n€¢C.«ojeù¡S¢"ÃuêÉ iONiÙrâ)¯¦õ WÂ5I¥úoÅÔÕÉ–Î+Ù/Ì®PáÉ YHå°_½úHôòB÷Ðë¡×ã¯>hýxcë¿tœÍ…e”ŠF‰?ÚOÿsóì‘«9I+5ö‹bá¿Vö€21`‘”S ÙÔ“Y¹uØt_—«û›:ÈŸlTÄŸ_>´¹ŸJ’$ÇòÇM;ÛjÔ„ÍéVÝM’$·êÝæ„æpUfÁiµfB%›z*BFÝËç®Þ‹K2˜ö2»r [7,'ëÒÔÛk:?7:qìÚÅC›–Ñ]?«lË*;@Äìî_½û­ ¶½WõúâN­¿ôû%|MÏ,—±y>I¢IDAT¨qëÛmÛbà@9Ù’Í`SOV(õÞÖa5ìààå©€Ò«¬ €[·ÿŠ“Uæ—Ö?ÞIÍrôö×Ý* =œ „B{t˜ÛkÛ¢³=;>c»—˜(þüSøøˆ«W Ÿ©Mw¸¥0 œbȦžŠFâù¯ÇþöÌ’«±7íY½Ç/×cÿ·åÝF­{Õs‘Õºïn¹gήë!IveëõYx2Ö ùî©ðdÿ–Uê€þÉá'ï$åAÊ,,,,ý"Ó°°077ãgŸaìØ«ÑÑi÷¤?”ÿšåš7`–=á©û^^ ]€‰ò¢ÙÞ¾B‡í!âÿêðúï±B$]úüÅþûâeEMºøi5À®þÇ{nÅÇ]ß1¶–ƒ÷À?5F¡;1ÚOõÒVÍãßÖFíûÞq]Ö§s‡§ÜÈÙ7x4JEÃΣ¢Js7ÎûrUÕ×_O4&ܺr_›*ïT¼Bí¡†c»i´­ìâêÿêÇS›ÇïÙôO"”jO5ôq‰¦è")N'Ôê‚ìÝéG+æÂ€¥!  Ë( §Úý:º=öÀàØïm¯…ý|Ÿ ù»ÉàFò¾ìmç]÷9/»ô,ý†CÅA7G˜¦TÒG¹éÔÈ×QÖkåGê©è‰¤B/jý¸ÊýàN8ö^ívÇúoÛ6±‰á৯†¬~þðå/º!fwÿê=nt`ËȪ7¾íò Ÿ WÖtð’3RO¥ GêÉÄû|øÌSZ¹aŒ ¿P¿ŒÀ«nßŧb¦û 1ÇfutàØyÖÑCÏÍc‡·éQf”PN1´î9 ©‰×wþ¼»öÌÈ‹#9ײêôUYïWx4™°9|‚¼àD…À‡Š‰ˆü¹EµeÜÚßÉÝb9°©§Üp¢<"¹¬P˜­0  ›z2·”Û{7ì½’õnwôn¶;‰Jö8dnñ j:è¯øœr}é‡c?¼äZÜ¥Kÿ² w{J'¯`SOææúÒoåì¢%k¨Iú°lÖß?2`Ìm—È?–Q""YØÔS)‘zÊ Gê‰ä²Ñ†”-Єe”ˆHö8TDRîÞ{# msûÔ{{æLYvZµû+YuŸz\ké sa£ )Z6  Ë(™•[»õ7ÿ·s€ŸÒ­Ýú›ÑYÝ\ßÎM^üÔÛ¿ iRÅ])I’ä\¥å°•µiGFMØœnÕÝ$Ir«ÞmN¨Æ(ÿÍå {*I×÷žt|¡¹¯Cú=Æøó·+_ïSK-#¬1þßW’}ü}=íã¯ü:æµáS®åo'bv÷¯ÞýÖ„ÛÞ«z}q§Ö_úý¾¦ƒ'—´£|bSOÖ'åÆŠNÕ›ÚpM'¤FœÕ¹fãÇÊ,b תÁkV.çîâììêêäèQ©¢³€æÈâmŠ>3‡7ôppo0lf_»í‹k ØúûG´Â€&,£T4\^þñôº¶çÞ}®nï F¿Ø~¥Çäcç7s’Z{dp9IáàU³ï©îëVtñVÉwO…'û·¬jŠ®háŸ~òN’ü×"z:–Q**Ž•_Ÿ±mó0ã†Iï/¼öÚ†ƒ? ­ïf–ý͹ùòH‘cÏT¯•o Ýtßô1z¨ÝT¦&^rts’ô}N§G¥ÌÂÂÂÒPL7Òï‘yƒ­<`–=á©»]^ ½43QžR£Ž}ݵŠcù¶SÖm˜ÖÁÇÑ/dÖÁ‡)f} ]Ø(_§¶[¢…Hºøi5UÓ5÷MkÖüÔLUuʅĬOÈc‡·é5ÖP~@9ÅG£T4âvõ{}‘ýøCWvM{£ç”߯䲬ísCšó‚'aH6Hvv À¡bƒ ‡›‡#ô}Ä‘›A|y©? \RÑH‰¼rϹze§'Í’Ð_ûý÷”6Ýkª Õuèûßb¾Ü8°œ¸µoî ~Ë*þ¾¥g¥ˆÙÝ¿zÛØ2²êo»¼0ÃgÕ5¼8ROùÄ‘z²>öåj<©¡ÉNoœ3¢kÇa+þ•9ì#¥ÞúmB‡>ƒG®=kÏêî”$϶‹¶Nöø®•‡ƒ{ËoÝ>Ù²¸]Öš·ôsgæR’þþ»™æ“õ4áwê©èˆ¤{'¶þ¸bÙòÕû"=¼ñÞ¬ñ-]dETx½8soøÌòh2asøYá)QQxýuÄÆÂMæW'J.ö8d~"ñvè¦UË—­Xsà¦Ý³­{t­¾òXï“ÇGû[øc›M}!Ì‹ñã±x1FŒ°t*E‰M=Y“ø½=ËWj6awJ‹‰;.GÇEìÿñÓ7ª»Xûžfýý£E ùó`î\ó,ëhbí;7Ù¥gÐsåp÷ô±£G=¡IµtBTx‡!>=Âñã–ÎÆZ±Ç¡¢`Œ8°aå²e+ÖàTµEÃäÓ1#Μþ ÐÞ²i¥_eÍÝ>ŸºvÅÖ­0¡P G¬_o鄊€ü½‚G£T®/ þb]ØÝ„ëû¿Q95EñÃZmGÿ‘láÌÒ¯µÎÂúûÇâ…Ý»a4€ÑˆíÛ'+`AOÀÜv‰üc¥¢¤pöo=è³µGï$Üü{ùŸˆ£ÿñ{î¶cÕ*(2TIš5–ËÆŠ±©§R„#õù'*WÆíÛ™îô÷ÇõëJ¨ˆq¤žH.mH‹.`úà’£ã“ÿæ=Ðdëo¹ÐXF‰(óç#!*† €Aƒ RA«Å¼y–ÎÌú°Ç¡R„M}>=z„jÕЯ&O†·7$ Bàþ}L›†_~AD<<,¢¹±©'’ËúûÇâ ‡ðp,Zoï'wV¨€%Kpé4¹¬+`ÓoY~§žˆ²zöÙ\ªP¡ó°ìq¨aS_8¦¦¾dcSO”_¹­aýý#Q@ù‹ˆ°©§Ò…G£”…i—SIÙãP)¦¾pØÔçM=`³ )Z6  Ë(‘,ìq¨„0jÂæ½=`ú¦ðx× ®SV­ÛÄ#ÛA›úÂaSŸ7R‰ böŽ ™9xL’æÀШé!#÷ÄèoÂúûG´Â€&,£T"hŽ,Þ¦è3sxC÷ÃföµÛ¾øp.ßµ!23ö8T$_šV»Ñî)7ô+/âáÚU>msââ´ÚŽ™6cS_8lêóÆëF©$0ècôP»©L—þIŽnN’^£7æ°e–ËCCC‹#?›\Dí°5iÒÄ\¡XF©$Pª=ÕÐÇ% ¸K€HŠÓ µ‡:§SV¹q„……›1¥0?[ÚÖ[β'ðò{*õb¶w|æß?þý®™ ;önµÿ}wsGGÏÌ[±©/6õyã•-F†~ž´ôtlJÜÙeŸ¬Mí8²y¦Ä´þAa´Â€&,£T"Hžmmìñ]+÷–ߺ}²eq;/Y³M½ß·td&ìq¨±ž¦>* eË"6nn–N%ØÔçG£D@±÷«V(ØzÅÖßá–€&,£DÅMÌŸsçZ:2kéqˆŠ•4õ"$±±puž}hÜØÒ = ›ú¼ñh”Jk˜ý~þü´%à ´^±õw¸6Pþì÷,£Tº!,{@…Ý»a4€ÑˆíÛgÁtÈ »„Uô8DÅÚú¹sñé§HHHû§³3¾ú #FX4§§aSŸ7ÅÕ?š—Òk(­6¿M6Ú2—ì€&,£DÅçС´³¢ŽŽOþû获dV$“å{¢bcñ¦¾kWlÛ{{ ŒÅ‹1lV­Br2zôÀúõÌë)ØÔçG£D@±ôaÿ~ Ž[·°h,Y‚70t(öî…æi³L[‡[ šp¢<¢b‡ðpx{gº³B,Y‚©S¡ÑÀ£@“©Õ`SO¥ˆÅ›úŒl¨S¶¡T M=Q~YÃå÷ hUå_~ϦžJë9%+aÚ%8û=Q¾°©/JµÐØÔÉe£ )Z6  Ë(‘,VÔã56õ…cC©›z*5Roÿ2¤Iw¥$I’s•–ÃV^Ô¦íúFMØœnÕÝ$Ir«ÞmN¨&§Eêó`ýý#Za@–Q²) ÷ƒþqá¾&.æû?©°qhÿ•7Sˆ˜½£B¦EÞ“¤904jzÈÈ=1%ýø‰¬…õ8D RbþÙø~Û‘š—7wóVÄìèøÌŠ;ÿ]ÚÜÐ^µÃÿ–Zù:õ6Ô)ÛPª…ƦžJí‘Áå$…ƒW;§º¯[ÑÅ[$ß=žìß²ª@ÐÂ?9ü䤵þþ‘­0  Ë(ÙçæË#Ejü=S½V¾1tÓ}`ÐÇè¡vS™® –Ýœ$½FŸÓéQ)³°°°ô?-Óô{dÞ`@+˜eOxên—+êqˆrbøßw+? u¾Ž8ýþ³O¾y§?þ^µÿùæöžNΗ¦Õn´{ÊÍ#ýÊK€x¸¶E•OÛœ¸8­¶c¦Xlê džR-46õT‚)+ ;eZ-GœÏXCC²A²³S9Ü<¡è#ŽÜtjäë˜cÀœ¥­˜ –†€&,£dKŒQ‡¾[ºíÄ¿÷ccïß8eäº6tàÑbdˆáçIKOǦÄ]öÉÚÔŽ#›sÚ9*VÔã=•1zÿ¤^þ?p5:*ßàž.˜?"ØSFMèÜA¦m¹ªu ìSЮ>ž­€À®8¯MÛ$‡—# a%* £wƒÁXñìè1­v×Ç=´Pq5ý €Dì8…ïNâv8Z Œ —:â^2îmÆ•ñO®Oİ4×oâ­ëxw= y¼YË(QÁ¥bÃÛX^[gÂCº³ø1s&£’ N˜ú!Ž­D,;túAjÐžÅæ$|5åìQ®%fuÅæù8©j®ãàï¨Ð¾=nAb/G–Às£Dva.†Áª3¨¡J»'%£Ð§:%Éê@gìàç‘¶Mj ´ž¨à˜öÏ AÐþ‰”§¾˜e]ÒnÚ;"U¤æòr^J3¾KÊ/–Q¢‚‰Þ‡NÓ0bºù<¹Ó¾ ¼+bÃU´pΰ©é<¦”ö/;O8ÇàAj9Àýp8W‚}¡rÈùåÈBØÔ@Ê- è ßÏ1±’‘húI†S}¼éŠÑÓqC pÿ¶…f=Yé\ðñ|D¥"ê(>ÞŒ·ò1ÄŸ“ü¼–Q¢¸±;bpx<ÔP§ÿ¼Œ(5¦ïAû ¨ïÉõzãHT¶'»bîTÛˆòöð/1ï…ôCÕrÊÇËQq‘¿ÙKDy’$ÎÉÂ2JD$ Ë(‘,,£Dô<1š7–Q""YXF‰(×NC‡Ãÿ=èsÛ˜ó¢`%*áþÙ€Nõ ’ )á[ oÍÆíäl›n†S΋ €e”¨dûg!@ùá8ÿÚì[ïØ{/óFíð´*_Àè…{V‰Ã2JTb‰(|4Í–aÉ;ô†“j¼„/Á *ÙæB}ø¤==ŽÎU!)Q¥ þz”ç p^T,£D%˜î Ž$âíÈyâ§Œs¡>žD qß‘C IFè¬Þ”9¨G+µó¢²Œ•X†X$¨PN HÁ‚pr‚“3zïi.ÔtÚsØnÀ#஄O;Lm™ï+Åó¢r¢<¢Ké—D<Ò.€=oAÏxLn†ÛI2Í…š.5Z/TpH¨\-ß5¢Ï‹Ê2JTb9Õ@3G¬Üƒî}¡œËÂÙ.ÿè³M0eç —hRˆº C@á(%󢲩'*±¤²˜9‡cärüû‰:Ü8Kš¼žâT¯ ,Ü ts÷Á(#R2/*Ë(QIVs,N®Àí…¨Yjg4‚ÊSñý˹n/¹aίHøÕžC«hÔÆtTZX¥c^TÎ7JD$ F‰ˆda%"’…e”ˆH–Q""YXF‰ˆda%"’…e”ˆH–Q""YXF‰ˆda%"’…e”ˆH–Q""YXF‰ˆda%"’…e”ˆH–Q""YXF‰ˆda%"’…e”ˆH–Q""Yþ×bV2;LIEND®B`‚qcustomplot/documentation/html/classQCPAbstractPlottable.html0000644000175000017500000033242612236016575025050 0ustar dermanudermanu QCPAbstractPlottable Class Reference
QCPAbstractPlottable Class Reference

The abstract base class for all data representing objects in a plot. More...

Inheritance diagram for QCPAbstractPlottable:
Inheritance graph

Public Functions

 QCPAbstractPlottable (QCPAxis *keyAxis, QCPAxis *valueAxis)
QString name () const
bool antialiasedFill () const
bool antialiasedScatters () const
bool antialiasedErrorBars () const
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
QCPAxiskeyAxis () const
QCPAxisvalueAxis () const
bool selectable () const
bool selected () const
void setName (const QString &name)
void setAntialiasedFill (bool enabled)
void setAntialiasedScatters (bool enabled)
void setAntialiasedErrorBars (bool enabled)
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
void setKeyAxis (QCPAxis *axis)
void setValueAxis (QCPAxis *axis)
Q_SLOT void setSelectable (bool selectable)
Q_SLOT void setSelected (bool selected)
virtual void clearData ()=0
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const =0
virtual bool addToLegend ()
virtual bool removeFromLegend () const
void rescaleAxes (bool onlyEnlarge=false) const
void rescaleKeyAxis (bool onlyEnlarge=false) const
void rescaleValueAxis (bool onlyEnlarge=false) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Types

enum  SignDomain

Protected Functions

virtual QRect clipRect () const
virtual void draw (QCPPainter *painter)=0
virtual QCP::Interaction selectionCategory () const
void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
virtual void drawLegendIcon (QCPPainter *painter, const QRectF &rect) const =0
virtual QCPRange getKeyRange (bool &validRange, SignDomain inSignDomain=sdBoth) const =0
virtual QCPRange getValueRange (bool &validRange, SignDomain inSignDomain=sdBoth) const =0
void coordsToPixels (double key, double value, double &x, double &y) const
const QPointF coordsToPixels (double key, double value) const
void pixelsToCoords (double x, double y, double &key, double &value) const
void pixelsToCoords (const QPointF &pixelPos, double &key, double &value) const
QPen mainPen () const
QBrush mainBrush () const
void applyFillAntialiasingHint (QCPPainter *painter) const
void applyScattersAntialiasingHint (QCPPainter *painter) const
void applyErrorBarsAntialiasingHint (QCPPainter *painter) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

The abstract base class for all data representing objects in a plot.

It defines a very basic interface like name, pen, brush, visibility etc. Since this class is abstract, it can't be instantiated. Use one of the subclasses or create a subclass yourself to create new ways of displaying data (see "Creating own plottables" below).

All further specifics are in the subclasses, for example:

  • A normal graph with possibly a line, scatter points and error bars is displayed by QCPGraph (typically created with QCustomPlot::addGraph).
  • A parametric curve can be displayed with QCPCurve.
  • A stackable bar chart can be achieved with QCPBars.
  • A box of a statistical box plot is created with QCPStatisticalBox.

Creating own plottables

To create an own plottable, you implement a subclass of QCPAbstractPlottable. These are the pure virtual functions, you must implement:

See the documentation of those functions for what they need to do.

For drawing your plot, you can use the coordsToPixels functions to translate a point in plot coordinates to pixel coordinates. This function is quite convenient, because it takes the orientation of the key and value axes into account for you (x and y are swapped when the key axis is vertical and the value axis horizontal). If you are worried about performance (i.e. you need to translate many points in a loop like QCPGraph), you can directly use QCPAxis::coordToPixel. However, you must then take care about the orientation of the axis yourself.

Here are some important members you inherit from QCPAbstractPlottable:

QCustomPlot *mParentPlot A pointer to the parent QCustomPlot instance. The parent plot is inferred from the axes that are passed in the constructor.
QString mName The name of the plottable.
QPen mPen The generic pen of the plottable. You should use this pen for the most prominent data representing lines in the plottable (e.g QCPGraph uses this pen for its graph lines and scatters)
QPen mSelectedPen The generic pen that should be used when the plottable is selected (hint: mainPen gives you the right pen, depending on selection state).
QBrush mBrush The generic brush of the plottable. You should use this brush for the most prominent fillable structures in the plottable (e.g. QCPGraph uses this brush to control filling under the graph)
QBrush mSelectedBrush The generic brush that should be used when the plottable is selected (hint: mainBrush gives you the right brush, depending on selection state).
QPointer<QCPAxis>mKeyAxis, mValueAxis The key and value axes this plottable is attached to. Call their QCPAxis::coordToPixel functions to translate coordinates to pixels in either the key or value dimension. Make sure to check whether the weak pointer is null before using it. If one of the axes is null, don't draw the plottable.
bool mSelected indicates whether the plottable is selected or not.

Member Enumeration Documentation

Represents negative and positive sign domain for passing to getKeyRange and getValueRange.

Enumerator:
sdNegative 

The negative sign domain, i.e. numbers smaller than zero.

sdBoth 

Both sign domains, including zero, i.e. all (rational) numbers.

sdPositive 

The positive sign domain, i.e. numbers greater than zero.

Constructor & Destructor Documentation

QCPAbstractPlottable::QCPAbstractPlottable ( QCPAxis keyAxis,
QCPAxis valueAxis 
)

Constructs an abstract plottable which uses keyAxis as its key axis ("x") and valueAxis as its value axis ("y"). keyAxis and valueAxis must reside in the same QCustomPlot instance and have perpendicular orientations. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though.

Since QCPAbstractPlottable is an abstract class that defines the basic interface to plottables, it can't be directly instantiated.

You probably want one of the subclasses like QCPGraph or QCPCurve instead.

Member Function Documentation

void QCPAbstractPlottable::setName ( const QString &  name)

The name is the textual representation of this plottable as it is displayed in the legend (QCPLegend). It may contain any UTF-8 characters, including newlines.

void QCPAbstractPlottable::setAntialiasedFill ( bool  enabled)

Sets whether fills of this plottable is drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedScatters ( bool  enabled)

Sets whether the scatter symbols of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedErrorBars ( bool  enabled)

Sets whether the error bars of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setPen ( const QPen &  pen)

The pen is used to draw basic lines that make up the plottable representation in the plot.

For example, the QCPGraph subclass draws its graph lines and scatter points with this pen.

See Also
setBrush
void QCPAbstractPlottable::setSelectedPen ( const QPen &  pen)

When the plottable is selected, this pen is used to draw basic lines instead of the normal pen set via setPen.

See Also
setSelected, setSelectable, setSelectedBrush, selectTest
void QCPAbstractPlottable::setBrush ( const QBrush &  brush)

The brush is used to draw basic fills of the plottable representation in the plot. The Fill can be a color, gradient or texture, see the usage of QBrush.

For example, the QCPGraph subclass draws the fill under the graph with this brush, when it's not set to Qt::NoBrush.

See Also
setPen
void QCPAbstractPlottable::setSelectedBrush ( const QBrush &  brush)

When the plottable is selected, this brush is used to draw fills instead of the normal brush set via setBrush.

See Also
setSelected, setSelectable, setSelectedPen, selectTest
void QCPAbstractPlottable::setKeyAxis ( QCPAxis axis)

The key axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's value axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setValueAxis
void QCPAbstractPlottable::setValueAxis ( QCPAxis axis)

The value axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's key axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setKeyAxis
void QCPAbstractPlottable::setSelectable ( bool  selectable)

Sets whether the user can (de-)select this plottable by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains iSelectPlottables.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected directly.

See Also
setSelected
void QCPAbstractPlottable::setSelected ( bool  selected)

Sets whether this plottable is selected or not. When selected, it uses a different pen and brush to draw its lines and fills, see setSelectedPen and setSelectedBrush.

The entire selection mechanism for plottables is handled automatically when QCustomPlot::setInteractions contains iSelectPlottables. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
void QCPAbstractPlottable::clearData ( )
pure virtual

Clears all data in the plottable.

Implemented in QCPGraph, QCPCurve, QCPBars, and QCPStatisticalBox.

virtual double QCPAbstractPlottable::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
pure virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

Implemented in QCPGraph, QCPCurve, QCPBars, and QCPStatisticalBox.

bool QCPAbstractPlottable::addToLegend ( )
virtual

Adds this plottable to the legend of the parent QCustomPlot (QCustomPlot::legend).

Normally, a QCPPlottableLegendItem is created and inserted into the legend. If the plottable needs a more specialized representation in the legend, this function will take this into account and instead create the specialized subclass of QCPAbstractLegendItem.

Returns true on success, i.e. when the legend exists and a legend item associated with this plottable isn't already in the legend.

See Also
removeFromLegend, QCPLegend::addItem
bool QCPAbstractPlottable::removeFromLegend ( ) const
virtual

Removes the plottable from the legend of the parent QCustomPlot. This means the QCPAbstractLegendItem (usually a QCPPlottableLegendItem) that is associated with this plottable is removed.

Returns true on success, i.e. if the legend exists and a legend item associated with this plottable was found and removed.

See Also
addToLegend, QCPLegend::removeItem
void QCPAbstractPlottable::rescaleAxes ( bool  onlyEnlarge = false) const

Rescales the key and value axes associated with this plottable to contain all displayed data, so the whole plottable is visible. If the scaling of an axis is logarithmic, rescaleAxes will make sure not to rescale to an illegal range i.e. a range containing different signs and/or zero. Instead it will stay in the current sign domain and ignore all parts of the plottable that lie outside of that domain.

onlyEnlarge makes sure the ranges are only expanded, never reduced. So it's possible to show multiple plottables in their entirety by multiple calls to rescaleAxes where the first call has onlyEnlarge set to false (the default), and all subsequent set to true.

See Also
rescaleKeyAxis, rescaleValueAxis, QCustomPlot::rescaleAxes, QCPAxis::rescale
void QCPAbstractPlottable::rescaleKeyAxis ( bool  onlyEnlarge = false) const

Rescales the key axis of the plottable so the whole plottable is visible.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::rescaleValueAxis ( bool  onlyEnlarge = false) const

Rescales the value axis of the plottable so the whole plottable is visible.

Returns true if the axis was actually scaled. This might not be the case if this plottable has an invalid range, e.g. because it has no data points.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::selectionChanged ( bool  selected)
signal

This signal is emitted when the selection state of this plottable has changed to selected, either by user interaction or by a direct call to setSelected.

QRect QCPAbstractPlottable::clipRect ( ) const
protectedvirtual

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented from QCPLayerable.

virtual void QCPAbstractPlottable::draw ( QCPPainter painter)
protectedpure virtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPLayerable.

Implemented in QCPGraph, QCPCurve, QCPBars, and QCPStatisticalBox.

QCP::Interaction QCPAbstractPlottable::selectionCategory ( ) const
protectedvirtual

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint

Implements QCPLayerable.

void QCPAbstractPlottable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtual

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtual

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::drawLegendIcon ( QCPPainter painter,
const QRectF &  rect 
) const
protectedpure virtual

called by QCPLegend::draw (via QCPPlottableLegendItem::draw) to create a graphical representation of this plottable inside rect, next to the plottable name.

Implemented in QCPGraph, QCPCurve, QCPBars, and QCPStatisticalBox.

QCPRange QCPAbstractPlottable::getKeyRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedpure virtual

called by rescaleAxes functions to get the full data key bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getValueRange

Implemented in QCPGraph, QCPCurve, QCPBars, and QCPStatisticalBox.

QCPRange QCPAbstractPlottable::getValueRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedpure virtual

called by rescaleAxes functions to get the full data value bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getKeyRange

Implemented in QCPGraph, QCPCurve, QCPBars, and QCPStatisticalBox.

void QCPAbstractPlottable::coordsToPixels ( double  key,
double  value,
double &  x,
double &  y 
) const
protected

Convenience function for transforming a key/value pair to pixels on the QCustomPlot surface, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

key and value are transformed to the coodinates in pixels and are written to x and y.

See Also
pixelsToCoords, QCPAxis::coordToPixel
const QPointF QCPAbstractPlottable::coordsToPixels ( double  key,
double  value 
) const
protected

This is an overloaded function.

Returns the input as pixel coordinates in a QPointF.

void QCPAbstractPlottable::pixelsToCoords ( double  x,
double  y,
double &  key,
double &  value 
) const
protected

Convenience function for transforming a x/y pixel pair on the QCustomPlot surface to plot coordinates, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

x and y are transformed to the plot coodinates and are written to key and value.

See Also
coordsToPixels, QCPAxis::coordToPixel
void QCPAbstractPlottable::pixelsToCoords ( const QPointF &  pixelPos,
double &  key,
double &  value 
) const
protected

This is an overloaded function.

Returns the pixel input pixelPos as plot coordinates key and value.

QPen QCPAbstractPlottable::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines of the plottable. Returns mPen when the graph is not selected and mSelectedPen when it is.

QBrush QCPAbstractPlottable::mainBrush ( ) const
protected

Returns the brush that should be used for drawing fills of the plottable. Returns mBrush when the graph is not selected and mSelectedBrush when it is.

void QCPAbstractPlottable::applyFillAntialiasingHint ( QCPPainter painter) const
protected

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable fills.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyDefaultAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyScattersAntialiasingHint ( QCPPainter painter) const
protected

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable scatter points.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyDefaultAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyErrorBarsAntialiasingHint ( QCPPainter painter) const
protected

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable error bars.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyDefaultAntialiasingHint
double QCPAbstractPlottable::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protected

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific plottables.

Note
This function is identical to QCPAbstractItem::distSqrToLine
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPItemPosition__inherit__graph.png0000644000175000017500000000524112236016575027072 0ustar dermanudermanu‰PNG  IHDR}p¼|è¬bKGDÿÿÿ ½§“ VIDATxœí{LÙÀg D䡉ä’b. /Q 4±$¢è^%ÈS”•B5J›¨`"Ú€K©‰1¸"b)‰¡"K-ˆ‹A‘õ”ç Š<*åÑÒûǸsÇ>°-,çVÎï¯3ß9çëǯ‡Ã0…T.—#%‡º€e ôè Ð; w@È•àr¹ ‹ú¡ U–l¨n4´¿(\ºtIe\­÷°°°¬˜eÇS‡û; w0@ï`€ÞÁ½EÑ¥|¹y/..vpp022rpp(**"v•––º¸¸ÛÛÛbAEQ566öòòjkkà …  Q­­­]xªu¿7)Ǹ{÷.…B©«« … åÎ;x—­­mmm­X,~óæÍÁƒ±8–vjj*//ÏÃÃ$6Bll¬‹‹Ktt´¶åÕ• Uù{“îÞýýý+++ñC>ŸO¥Rñ®ªª*/öwZ±X¼bÅ bPa) …„„¬ZµÊÕÕµ¹¹™••eiiimm]QQqöìY+++@€ øòå‹••Ugg§………X,ÆgeffZXXP(”êêj,ØÛÛ»}ûvcccâ»®<ìÝ»wfffïß¿ÇGæææR(E¿kIwÝ÷™ÎÎ΀€ü000°³³ï¢R©ê&ÎÌÌ\»vÍÑÑQÁ5QAJJʾ}û†‡‡/\¸pøðaâܾ¾>‡)•J{zzòòò˜L&Ö[YYéçççìì¼mÛ6>ŸÏšíëëËÍÍMMMÅ"ÉÉÉîîî###Ä·\å0__ßþþ~ooï””|dWWW[[ÛÜÜœVƾAù­Ðp½¯^½«cddÄÜÜ\eöŠFFF›7oniiÁƒ ¹\¾fͼB‰„H$r¹\*•ÛØ€   .—+—ËoÞ¼I§Ó•gá©,--*T7ìóçÏØWgee…Ä‚š°øëÝÅÅåþýûøaCCƒ»»;Övvv~ðືyzzºµµÕÓÓsžär¹¼¿¿+Q&“áqA ˆmlÀàà P(Ü¿?Š¢áááB¡p``@aÖü+TÃa‚XZZÎ?à»èî===Á`ˆD"±X\__Ÿššš––†uedd$''×ÕÕMNN¾}û6>>^“„æææÝÝÝX{ÇŽ§Nîí파ÔdzIIIll,¾ JKKÕ ¦ÑhÙÙÙ‰dþœT*5''gbb‚Åb7ÕE@ù[@Ã}F.—®_¿žD"!rãÆ bWqq±““™LÆÎ#± Ê´xðÌ™3æææØá§OŸ"##­¬¬ìììÊÊÊ”§+·ÝÜÜêëëñ`CCƒ›››ºY½½½4L&#ªv9¼ý\]¹r¥ÂÏUMä`,þù ‘cÇŽùøøŒi5k9 Î»ÚëÀZ‘ŸŸ¿(y–ð: w0@ï`€ÞÁ½ƒA½—”<”ëíÕª=\âÏt`íÚ¸¸¸ÿÌÎ~]Èw U¢ÊK¦¯¯¯©©iIJÒwï&~ýµ30ð_?ÿüoе|[[Û­[·*Ux× ~ù…ÿÛokÖ˜µ·g’HÿïßšÊèåþ>;+«¨hEäÓ'ñ¼]Ž.è¥÷ÆÆWccS‚’øüÇ ËѽôÎç?64D‘JçnßnŸ™‘‚®HkôÏ»D2sçN‡T:÷÷áô½{‚-IôÏûï¿wMMýo“Hz¹ÕèŸ÷ŠŠVâ ŒL6w÷nçøøÀ’t@ϼKD¢2Ù7ŸÊdsµµ JÒ =ó^]Ý®ü¡3Š"Øi¥¡gÞy<[¹L&ðàÕððÄÒ×£3úäý¯¿Æš›ßÎÍ©ü­®îXê‚€>y:Ô]ÕÉæø|}Újçsí¥áÞ½?W®4A¯ê§¦¤d²Á×s›7o†††&Ö®]®@-Ð×ëb‚ØØ0¯\‰Ý½{#èBtAŸö™ è Ð; w0@ï`€ÞÁ½ƒzôè Ð; w0@ï`€ÞÁ½ƒzôè Ð; w0@ï`€ÞÁ½ƒzôè Ð; w0@ï`€ÞÁ½ƒzôè ßüSYY¨:tãáÇSS¯@W¡)¾¾¾ åëñæ©@«Ò2y-‰d º -Àî‘®ú>µ§OŸ QÕF#Âý Ð; w0@ï`€ÞÁ ‹÷ÚÚÚ˜˜:£ðd0¡PG§Ó£¢¢jjj° F£Ñht:=))éõë×xP¡¡3*ók5]¹’…W5?Z{omm-((`2™UUUÇ/((xôèÞuõêÕ£GÞ¾}›Åbµ··ã³D"‘@  Óé,kÑj'°ü"‘HÃà"¢µ÷ââbƒ±iÓ&SSSäää’’¼+%%ÅÓÓÓÄÄÄÆÆ¼ ™Lîéé!±e…-XAFGG322vîÜ™ðâÅ |LqqqHHÈÞ½{‹ŠŠvïÞÚÜܤ¦¦3™Ì¡¡!,ØØØ^]]­P±|½«ÌC£ÑŠŠŠvíÚ¦P††hí½»»N‚ 7nÄþÓÝÝíêêªn¢T*ëÖ­#±e%‰°‡Ãñ÷÷¿uëVbb"qåJ¥R—’’’••%“ɸ\nrròåË—çÉÏf³]\\ÊËËœœðǰX,&“)ØlvWW×<•à¨Ìƒ ˆL&ãñxGŽáp8ßs¦‚E¸ÿ ñ¹Vê Ñh†††?ýôÓ‰'æÖÒÒ" ³³³‘ooÈeddD¥Rgggñvffæ<ù;::ÒÓÓMMM#""¢¢¢°àŽ;8Ά ¨TêÉ“'5ùêTæÁKò÷÷'–¡9Z{·³³ëèèðóóÃÛÛÛíííñ®gÏžùúú*ÏÒp»”ËååååćÄa!‚=( ooð¦aþ¤¤¤ÁÁÁ¦¦¦ëׯ×ÔÔdddh2K%xº]×ÒzŸ‰ŠŠb³ÙOž<‘H$OŸ>åp8XWtt4›Í~üøñôôôÀÀÀÅ‹5Ihjj:88ˆµ½½½¯\¹2:::44tîÜ9mk#âææVVV699Éårñ1''G&“íÙ³')) ?PYÉüyŽÖëÝËË+>>>77{~^zzºÖµeË–„„„üüüþþ~kk똘M†……:thrrR$1Œ¼¼¼˜™™%&&j[ƒqþüyçè蘞žŽÒÒÒ>~ühcc£¼Ï+™?ÏÂùæ>W(Šju=’Íf¿|ù’Åb™šš.VA?*4Ë内…a‡ ú¹Ê`0£¤å¼Nè Ð; w0@ï`€ÞÁ xùüùs u,;ô÷ïgôâßÏèñ}™õ¸¿ƒzôè Ð;þ Úɨ$Î#lIEND®B`‚qcustomplot/documentation/html/classQCPAbstractLegendItem.html0000644000175000017500000025646512236016575025147 0ustar dermanudermanu QCPAbstractLegendItem Class Reference
QCPAbstractLegendItem Class Reference

The abstract base class for all entries in a QCPLegend. More...

Inheritance diagram for QCPAbstractLegendItem:
Inheritance graph

Public Functions

 QCPAbstractLegendItem (QCPLegend *parent)
QCPLegendparentLegend () const
QFont font () const
QColor textColor () const
QFont selectedFont () const
QColor selectedTextColor () const
bool selectable () const
bool selected () const
void setFont (const QFont &font)
void setTextColor (const QColor &color)
void setSelectedFont (const QFont &font)
void setSelectedTextColor (const QColor &color)
void setSelectable (bool selectable)
void setSelected (bool selected)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual void update ()
virtual QSize minimumSizeHint () const
virtual QSize maximumSizeHint () const
virtual QList< QCPLayoutElement * > elements (bool recursive) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Functions

virtual QCP::Interaction selectionCategory () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual QRect clipRect () const
virtual void draw (QCPPainter *painter)=0
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

The abstract base class for all entries in a QCPLegend.

It defines a very basic interface for entries in a QCPLegend. For representing plottables in the legend, the subclass QCPPlottableLegendItem is more suitable.

Only derive directly from this class when you need absolute freedom (e.g. a custom legend entry that's not even associated with a plottable).

You must implement the following pure virtual functions:

You inherit the following members you may use:

QCPLegend *mParentLegend A pointer to the parent QCPLegend.
QFont mFont The generic font of the item. You should use this font for all or at least the most prominent text of the item.

Constructor & Destructor Documentation

QCPAbstractLegendItem::QCPAbstractLegendItem ( QCPLegend parent)
explicit

Constructs a QCPAbstractLegendItem and associates it with the QCPLegend parent. This does not cause the item to be added to parent, so QCPLegend::addItem must be called separately.

Member Function Documentation

void QCPAbstractLegendItem::setFont ( const QFont &  font)

Sets the default font of this specific legend item to font.

See Also
setTextColor, QCPLegend::setFont
void QCPAbstractLegendItem::setTextColor ( const QColor &  color)

Sets the default text color of this specific legend item to color.

See Also
setFont, QCPLegend::setTextColor
void QCPAbstractLegendItem::setSelectedFont ( const QFont &  font)

When this legend item is selected, font is used to draw generic text, instead of the normal font set with setFont.

See Also
setFont, QCPLegend::setSelectedFont
void QCPAbstractLegendItem::setSelectedTextColor ( const QColor &  color)

When this legend item is selected, color is used to draw generic text, instead of the normal color set with setTextColor.

See Also
setTextColor, QCPLegend::setSelectedTextColor
void QCPAbstractLegendItem::setSelectable ( bool  selectable)

Sets whether this specific legend item is selectable.

See Also
setSelectedParts, QCustomPlot::setInteractions
void QCPAbstractLegendItem::setSelected ( bool  selected)

Sets whether this specific legend item is selected.

It is possible to set the selection state of this item by calling this function directly, even if setSelectable is set to false.

See Also
setSelectableParts, QCustomPlot::setInteractions
double QCPAbstractLegendItem::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.

Reimplemented from QCPLayoutElement.

void QCPAbstractLegendItem::selectionChanged ( bool  selected)
signal

This signal is emitted when the selection state of this legend item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractLegendItem::selectionCategory ( ) const
protectedvirtual

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPAbstractLegendItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Reimplemented from QCPLayoutElement.

QRect QCPAbstractLegendItem::clipRect ( ) const
protectedvirtual

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented from QCPLayerable.

virtual void QCPAbstractLegendItem::draw ( QCPPainter painter)
protectedpure virtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Reimplemented from QCPLayoutElement.

Implemented in QCPPlottableLegendItem.

void QCPAbstractLegendItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtual

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractLegendItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtual

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QCPLayout * QCPLayoutElement::layout ( ) const
inlineinherited

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inlineinherited

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)
inherited

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)
inherited

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)
inherited

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)
inherited

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)
inherited

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)
inherited

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)
inherited

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

void QCPLayoutElement::update ( )
virtualinherited

Updates the layout element and sub-elements. This function is automatically called upon replot by the parent layout element.

Layout elements that have child elements should call the update method of their child elements.

The default implementation executes the automatic margin mechanism, so subclasses should make sure to call the base class implementation.

Reimplemented in QCPLayout, and QCPAxisRect.

QSize QCPLayoutElement::minimumSizeHint ( ) const
virtualinherited

Returns the minimum size this layout element (the inner rect) may be compressed to.

if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)

Reimplemented in QCPLayoutGrid, QCPPlottableLegendItem, and QCPPlotTitle.

QSize QCPLayoutElement::maximumSizeHint ( ) const
virtualinherited

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented in QCPLayoutGrid, and QCPPlotTitle.

QList< QCPLayoutElement * > QCPLayoutElement::elements ( bool  recursive) const
virtualinherited

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented in QCPLayoutGrid, QCPLayout, and QCPAxisRect.

int QCPLayoutElement::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtualinherited

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mousePressEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseMoveEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseReleaseEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::wheelEvent ( QWheelEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayerable.

Reimplemented in QCPLegend.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/painter_8h_source.html0000644000175000017500000007002312236016574023454 0ustar dermanudermanu src/painter.h Source File
painter.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_PAINTER_H
27 #define QCP_PAINTER_H
28 
29 #include "global.h"
30 
31 class QCPPainter;
32 
33 class QCP_LIB_DECL QCPScatterStyle
34 {
35  Q_GADGET
36 public:
44  Q_ENUMS(ScatterShape)
45  enum ScatterShape { ssNone
46  ,ssDot
47  ,ssCross
48  ,ssPlus
49  ,ssCircle
50  ,ssDisc
51  ,ssSquare
52  ,ssDiamond
53  ,ssStar
54  ,ssTriangle
55  ,ssTriangleInverted
56  ,ssCrossSquare
57  ,ssPlusSquare
58  ,ssCrossCircle
59  ,ssPlusCircle
60  ,ssPeace
61  ,ssPixmap
62  ,ssCustom
63  };
64 
66  QCPScatterStyle(ScatterShape shape, double size=6);
67  QCPScatterStyle(ScatterShape shape, const QColor &color, double size);
68  QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size);
69  QCPScatterStyle(ScatterShape shape, const QPen &pen, const QBrush &brush, double size);
70  QCPScatterStyle(const QPixmap &pixmap);
71  QCPScatterStyle(const QPainterPath &customPath, const QPen &pen, const QBrush &brush=Qt::NoBrush, double size=6);
72 
73  // getters:
74  double size() const { return mSize; }
75  ScatterShape shape() const { return mShape; }
76  QPen pen() const { return mPen; }
77  QBrush brush() const { return mBrush; }
78  QPixmap pixmap() const { return mPixmap; }
79  QPainterPath customPath() const { return mCustomPath; }
80 
81  // setters:
82  void setSize(double size);
83  void setShape(ScatterShape shape);
84  void setPen(const QPen &pen);
85  void setBrush(const QBrush &brush);
86  void setPixmap(const QPixmap &pixmap);
87  void setCustomPath(const QPainterPath &customPath);
88 
89  // non-property methods:
90  bool isNone() const { return mShape == ssNone; }
91  bool isPenDefined() const { return mPenDefined; }
92  void applyTo(QCPPainter *painter, const QPen &defaultPen) const;
93  void drawShape(QCPPainter *painter, QPointF pos) const;
94  void drawShape(QCPPainter *painter, double x, double y) const;
95 
96 protected:
97  // property members:
98  double mSize;
99  ScatterShape mShape;
100  QPen mPen;
101  QBrush mBrush;
102  QPixmap mPixmap;
103  QPainterPath mCustomPath;
104 
105  // non-property members:
106  bool mPenDefined;
107 };
108 Q_DECLARE_TYPEINFO(QCPScatterStyle, Q_MOVABLE_TYPE);
109 
110 
111 class QCP_LIB_DECL QCPPainter : public QPainter
112 {
113  Q_GADGET
114 public:
119  enum PainterMode {pmDefault = 0x00
120  ,pmVectorized = 0x01
121  ,pmNoCaching = 0x02
122  ,pmNonCosmetic = 0x04
123  };
124  Q_FLAGS(PainterMode PainterModes)
125  Q_DECLARE_FLAGS(PainterModes, PainterMode)
126 
127  QCPPainter();
128  QCPPainter(QPaintDevice *device);
129  ~QCPPainter();
130 
131  // getters:
132  bool antialiasing() const { return testRenderHint(QPainter::Antialiasing); }
133  PainterModes modes() const { return mModes; }
134 
135  // setters:
136  void setAntialiasing(bool enabled);
137  void setMode(PainterMode mode, bool enabled=true);
138  void setModes(PainterModes modes);
139 
140  // methods hiding non-virtual base class functions (QPainter bug workarounds):
141  bool begin(QPaintDevice *device);
142  void setPen(const QPen &pen);
143  void setPen(const QColor &color);
144  void setPen(Qt::PenStyle penStyle);
145  void drawLine(const QLineF &line);
146  void drawLine(const QPointF &p1, const QPointF &p2) {drawLine(QLineF(p1, p2));}
147  void save();
148  void restore();
149 
150  // non-virtual methods:
151  void makeNonCosmetic();
152 
153 protected:
154  // property members:
155  PainterModes mModes;
156  bool mIsAntialiasing;
157 
158  // non-property members:
159  QStack<bool> mAntialiasingStack;
160 };
161 Q_DECLARE_OPERATORS_FOR_FLAGS(QCPPainter::PainterModes)
162 
163 #endif // QCP_PAINTER_H
qcustomplot/documentation/html/nav_f.png0000644000175000017500000000023112236016574020736 0ustar dermanudermanu‰PNG  IHDR8³»`IDATxíÝK€ EÑ–·[†øBÑmkâÄÂH—prÓ¼.‚Žó‚ꎤR6Z VI±E‚5j³„lóš›iI˜¬ÞêçJ0ŒÑÑ/Žû›™uøñóÞ¿6sH ÝõyIEND®B`‚qcustomplot/documentation/html/functions_func_0x6f.html0000644000175000017500000000222012236016575023714 0ustar dermanudermanu Data Fields - Functions
 

- o -

qcustomplot/documentation/html/ftv2mlastnode.png0000644000175000017500000000036612236016574022446 0ustar dermanudermanu‰PNG  IHDRɪ|½IDATxíÝ!NAÅñ¤‡à\ ÷à Um@`Ô5iÒ`ëh ‚ÅW7] b§ÝˆŠ&oföÍd¾YÔ4 üšcø ‡€´‹Åòù3v=¼]†§µ\B… I¿‹=B·™B¡®;¸k´µ W°ÍN@vyÍÑÖ4ãß÷]ÈâYìã§|M}]ÔÚx6a }ôdׇØYüú¨>¤||5?Ó>|žB"¡î'¡IEND®B`‚qcustomplot/documentation/html/classQCPPlotTitle__inherit__graph.png0000644000175000017500000000655512236016575026400 0ustar dermanudermanu‰PNG  IHDR‹»ÚúbKGDÿÿÿ ½§“ "IDATxœímLSWÀO_ ¬0,sç )`ac*Ó-ƒu̶'DÜc–':—…5Ó':·¸„EôÃb0Áu#ë‹ pÀ 0ÍœãEÇ·ù‚8@,h©RfÛó|¸Ïîj{)P.½ÿ^Ï/|¸=çžÿù·?î[_î_€1FÀ¹N€0 Ätˆ!èCÐ!†Àƒ}‚ë¬ììlß^j±ÏSîܹsýúõ,>óõ×_û<ÖwCëׯÏÍÍõyø#…^¯÷y,9A‡‚1b:Ä`Ž~`q i4…B¬P(¾ýö[×®ÊÊJ¥R)‘Hâââ***¨F@ $IZZZww7ݸ¨IBÇç+V­Vë}ÆÆF¹\þóÏ?[,–––¹\~òäIº+::º©©Éjµ^»víwÞ¡ÃbŒm6ÛÁƒSSS]ý ㌠I#;;Ûç+ÖE4”žž^]]M?¬ªªzùå—鮚šưԂÕj}ì±ÇÜÝÖ±±±F£Q¡P8ªËf³Éåò«W¯šL¦¬¬¬Ç<99ùìÙ³ôÀÒÒR¹\.>^("„Ž;æÚ¥Ñhƒ‚‚¨³m:,ã\nÿRO>ùäSO=µoß>×!ééé™™™ôûwïnܸ1"""66V§Ó1NÁ y=S` 븆hÞ{ï½uëÖ™Ífߦ› ÓÓÓ›7oîëë[¼)|f!†|ÿôa^:thQã ‘HtôèQ¥R¹¨ù?Zl0?ö%ïËA‡‚1b:¼2„1®¬üë,ØÆ·“t®³f&((*2r ×Y0ãïë!­VËî`…êêþöö‘/¿<úÌ3a\çâNtt´o`7ˆùâtâ””ÿŒY Ó÷ïÿ×é°ŽC§Oÿ16fE v»“ëtXƒ?†ªªºÄbBÈl¶:õ×é°O ÙlêêzìvBH,VWwqkðÄÑxyjê/jÙnwÔ×÷Øl¸M‰-xb¨ªª‹úŠÂf³77_à0áƒ!‹ÅÖÔô_‡ãŸ³‘Hpüx'‡)± 56ö¹¼ÙíÎÖÖËËW)±  ž_Ku: ½\¤Ã2ohttò×_¯:ž_g@z=vto¨®®!†/vcŒÏž½n2Mú?%v xCUU]N'ó;N'®¯?ïç|X'° ݹc¹~Ý$•JBC%¡¡’`‘HD-‡†JBCCZ[/qãBáÏ;§¡ÚÚóï¾{lxØ÷^$°·¡Gb:Ätˆ!èCÐ!† C A‡‚1b:Ätˆ!èCÐ!† C A‡‚1b:Ätˆ!èCÐ!† C A‡‚1b:Ätˆ!èCÐ!† C A‡‚1b:ÝP§Óq•+œ;wþ³ˆŽŽ~¨1ü{cΡPÉu Åí~›îwÑÔjµ¤R1‡ää丵ãtˆ!èCÐ!† óH ˆZ¼¾ ”JÅ®Sf±§ö’ɼq»âS¥b×)§óCóȳÛ¼ q^©øæÍ›aaa¯¼òÊÀÀ€g4äQÒËËtÔÂLÕ÷ïß/“É¢¢¢Ž?¾oß¾ˆˆˆåË—744xõé§Ÿ.Y²D.—×××{fâ q^©8++K­V›Íæâââ·ÞzË3r) éÚèùJÑ 3U?Þ³gÕjÕëõ‰dÏž=“““z½^¡PÌ:jrrR§ÓÅÇÇ{²ž,Š!?W*–ÉdTÁa×޹bLŒZ˜©úñÔÔÆØn·».Ó¥gåÚÈüjzàihÞg œW*fD(RC¦¦|¹?0ž¡LqHHBH$¹.Ó+Ì:j¦›GÎ;9×ÿ)ø•г²²è‚Ãô^...N§ÓY­Ö½{÷ÒcÃÃÃ=ëÝ2æ0kõcÆå¹rÍÄ;,ìå0וЩ3…ÐÐP×3…ÚÚÚ§Ÿ~zÉ’%Ÿ}ö=vïÞ½ááሩ¨[b³V?f\žû(×L¼ÃŽ!šG¼RñbàihAsI¥b?º¦1üÎ#ý¾\@@ A‡‚1¾ºwošëXÆý\îÌ™3œäÁ ý娩ÈÉYÉu"¾388(—Ëjr½8â(+Ö ‰[¶ìßèKˆYñvÅè’Þ~»¼¹ùBuõïo¾™Êu.¬ÁŸãÐ䤭­íBˆOÅXŸ Õ×÷8!ÔÒri|ü×é° ÑUï0Fõõ|¨QHÁC##æß~»þw½Bl0tpœ{ðÄP]]Pøÿo<9¸£ãæíÛܦÄ<1¤×w¸ü‰55_£‚†úûGûú1þçK‡S¯çÉŽŽ†jjΉÅBת¬£K—†¯_7q˜[ðÁVû»[]p„X,:q¢›“|Ø%à ]¼8<0p׳ÝnwüðÃïþχuÞPuuwPˆ±khh¼·÷O?çÃ:mc\]Ýe·;Åb‘çB¨¶6àÏèûmàÑQ뫯&Òîž:õǦMÿüÔ]* æ"/6!U§¡Ø{¹Gb:Ätˆ!èCÐ!† C A‡‚1b:Ätˆ!èCÐ!† C A‡‚1b:Ätˆ!èCÐ!† C A‡‚1b:Ätˆ!èCÐ!† C A‡‚1b:ìüJ²´´Âí7ÇÇCnÜ­^=Âu"!´k×®‡ŠGû ;¿4>sæL{{»—ê3~#&æÏÑQ®“@¨½½=''!„PRRUY†€R©Tl…"Ç!èCÐ!† C A‡?†X<8/jÌùâïûú455i4š‘‘‘eË–lذîjiiùî»ï### ^{í5ô÷k$‹ãââvíÚ?S£wT*•ÑhD3¼èF£Ñuj~5ÔÙÙY^^þñÇ'$$\¹råÀ2™,--ê:räÈG}¤T*ÇÆÆ4 e!d4!!A­VS¹¹¹Û¶m»ÿþ¬ãšEEEܼysXXØöíÛ}ÎÍØù|(''gttt^ïm—••]¹r¥¤¤D*•.<h¨T*­V›››»ðPœ)q5u`ÁŸw}ø 1b:Ätˆ!èCÐaílûâÅ‹ä»>‹;†XùbŸÈÎÎŽŽŽf%¯*sðr‚1b:Ätˆ!èüÙCµ¾­Oƒ‰IEND®B`‚qcustomplot/documentation/html/classQCPLayoutGrid__inherit__graph.png0000644000175000017500000001337212236016575026536 0ustar dermanudermanu‰PNG  IHDR‹PõðbKGDÿÿÿ ½§“¯IDATxœí{P×þÀO$ˆ -Z µtà‚òPË£> ‚í´jo;E*X½¾:£Žµ£–©ÞúêØªÅ«8ÓG+ëÂC,`! ŽJy+^Á' B…"$°ÉþþØßÝÆB‚›ì7ëùŒãlÎÙsÎ7ù°›³Ër¾<’$0|¶À 6l:Øt°!ðÂí¨í˜˜˜á}ÔÂa™””4cÆ ß‡Ù¿ÿ°ÛßÐŒ3bcc‡Ýü•B.—»-þ‚6l:Øt°!#ðx<3 m€u I¥R___GGG__ß'NèW:u* @$y{{§¥¥Q…<Çã‰D¢°°°êêjºÐªABgØW¬2™Ìô>‰äüùóJ¥²¸¸X"‘œ;wŽ®òôô,,,T©TË–-£»%IR­V8p`Ú´iú…¶Äèˆ/FLL̰¯X­h(""";;›~™••NWåääí–ÚP©T#FŒ0(4Ø“Çãyyy( ___­VKU©Õj‰Drçζ¶¶èèè‘#G–——Ó SRR$ ÇØ]²yóf±Xz÷î]ƒ0Œvk †FÝÑÑA¿ìèèpww7Z¥ß-I’ÆœcH«Õ–––úùù‘$9{öìS§NQåGމ'I2...--M­Vçççѽ­Zµª­­m°®¨}¶lÙÒÕÕ•œœ¼`Áƒ0Œvk»1äêêj´J¿[„££cpppEE]h°[aaa`` ££#BH $YZZ:yòd­V«ÓéüýýoܸA’ä˜1cè“9ŸÏ§{ëìì4Ñ•þ>nnnaíÖ4/cÈŠ3…€€€ .Ð/ËÊʦL™Bmûûû_ºtÉh+’$5MeeeHHÈ`=¯X±âûï¿ïêêR*•Z­!4{ölŒŒŒ¼¼<__ßÉ“'S]µ´´Pï“ÚÂÍÍÍDWC2X·Öbxb‘ÇйsçÞ|óÍ’’’îîn…B1qâÄÜÜ\ªê÷ߟ8qbQQÑóçÏ—/_Nwkt,ƒ’1cÆ”––*•ÊÄÄDº¶´´4000""¢ººš*Y¼xñâÅ‹ÛÚÚ>|g´7£]!„¶lÙ¢T*žåŒvk g9’$ÓÒÒ|||ø|>BèøñãúUR©tÒ¤IÔl›îÖèX?Riii¯½öÚo¼±}ûvý&óçϧ_>{ö,>>ÞÝÝÝËË+==ÝèF»B&g F»5 \C4ëÖ­›>}zWW×ð†3F³téÒëׯ[oˆaó2††ÿÛ‹HMMµjÿ<O =z4 ÀªÙ²6$wí‹ïËA‚6l:œ2D’ä©SWÙŽ‚i†7Ig;jã88ŒõðXÎvƱõõL&cö 0Bvö½²²'?þxô­·\ØŽÅOOÏá5ä= ,E§#ƒ‚þÝÑ¡Z¹2bçÎOÙ‡1¸ó=téRCG‡ !”‘QA:¶Ãa îÊʪ ¡®.õÅ‹ l‡Ã1¤V÷çæÖ„!$ò³³«ØŽˆ18bH¡¸ÕÛÛGm„6/¯N­îg7$¦àˆ¡¬¬*ê·Pj5QTtƒÅx„ †”Juaa½Vû÷ì@ àefV²ƒpÁPAÁuƒÉAèJJn)•½l…Ä \0”‘Q9ð±TN—ŸpÆî µ·w_¾|G§ø8’˹p¢³{C¹¹uy°›$Éòò¦¶¶nÛ‡Ä,vo(+«J§3~A§#óòjmãØ·¡§O•MMmÎÎ"±X$‹œœµ-‹Äb§’’›lÇø²pçÎ)BèìÙÚÕ«·¶ÿ¯bßÇЫ6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6VLOOg+F¨©y†ìÿ]xzz¾ŠþÚ˜æÃç‹<ØŽâe1XoÓpM™L†3³ÈÂ… Jð÷t°!è`CÐÁ† óJ²‹\¼Ã1d/™Šõ‡à½ˆµ‡6‰Å\q)S±þF‡³A –40›Å†XÏT|ÿþýÙ³g»¸¸DFF>xð``oh@J/ÃQƒe?Þ¹s§››Ûرc333·oßîîî>~üøüü|Ó­vìØ1jÔ(‰D’——70Ó0`ˆõLÅÑÑÑÉÉÉ]]]›7oþä“Oö†ôRBêü¤èÁ²oݺU¥RÉår‘H´uëÖîîn¹\îëë;d«îîîôôtÓov V1dãLÅnnnTÂaýs  ŒÚ,ûqoo/I’AèoÓ©‡l¥_hüÓÀ@CÏXÏTl>ŸO5éíÎúÀä iŠœœB@›ÞaÈVƒ-iqpú?Sð3GGGÓ ‡é³œ··wzzºJ¥Ú¶mÝÖÕÕu`¾[£1 ™ýØè¶ù­ô#1 g9’íLÅÔLA,ëÏΞ=;a„Q£FíÚµ‹n»mÛ6WWWd,¨A`Cf?6ºm~+ýHLÃŒ!šWG! Ý»×~ýz3IþýP€V«“Ë9r¢ã‚¡œœ¡¯Ÿ••$ÑÍ›­MMm,FÅ\0$“ýa!$ Μ©f%f±{CÿýoëƒÏ–„öôé?lãØ½¡ììjѪ––Îk×Ù8ƱoC$IfgW„N( ü‡:{Öîgtö}¸½]5gÎ$úåƒÏ.^løâ‹¿ÿÔÝÙÙ‘¸˜g†Ž}Ÿå^°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è0ÿW’)))l-ÅÙÙét÷®[pðVFGmذᅄÑLÀü1tåÊ•«W¯2Þ­9¸»«YÔ“‘‘ñèó‹XåoÁ§OŸ.—Ë­Ñ3d¬”A‚6l:ØtØ4dÙ«YÀ™ÜŒb§Ù«MïfQAsGg¼G3 ÙiöjXÉkg¹úúúÙ³gÓ/###ëëëéªðððÁöõõ=zÔÏÏÏDç$IqìØ±ÄÄÄÈÈÈqãÆÉd2ªêäÉ“ÞÞÞëׯŸ9sfKKË»ï¾Ke€¬+¤—”wnæ1d§Ù«M€8v q2{µU`ܹ™Çf¯6âØL´ÏìÕ&à !nd¯¶’!+ÑâìÕ&aÈÚö¼Ú.¾/l:Øt°!èpÍÐíÛ¬=ëc%¬2—»zõêÂ… ­Ñ³iúú £Úm?´õ`Þãô™ÏŸŽP*E}}GG­íG‰‰ñôôd¼[Neæxÿý½7o¶nÙ½ví¶ca î|Ý¿ÿçÍ›­¡ŒŒJ¶caîÊ̬tpà#„nÝzÌ¥ùw >ýG¿!$ rrj؇18b¨®îQKK'µMZ¹¼‚3߯1tæÌ ù [Z:kj²ƒpÁV«“Ë+ûûÿžas&+↡òò»*ý‚ÐffVjµ†ití.Êή ßHggÏåˬÄÃ,vo¨¯8s¦ÖXÖi~VV+!1‹Ý*+»ýü¹f`9Aè~û­V£!l³Ø½¡3gjãO¾÷ôô••ݲq<Œc߆z{û ®›˜dgÛýŒÎ¾ïœ*•꺺¿¯{®\iúÏ e²5t‰H$ {›ÐþŸõquu ÿý²³³!¤_Âìû,÷*€ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ A‚6l:Øt°!è`CÐÁ† ƒ Ç¢îcbb؎ׯùÛQ ¥™,þ;ÖÉ“'³²†©%¼ÏvƒB% ±‹ ½þúë‘‘‘–¶ÂP Ãþ‚6l:Øt°!ÆˆŠŠ²F·ÖZ5¦°°P*•>yòdܸqK–,ùðÃéªâââ“'O677{xx,Y²dîܹèoO(z{{oذÁÇLJ*T(VŠÂ`ˆÚÚÚ'NܺuK«ÕúøøÄÆÆFDD ÙʪXÅPeeå‘#G¾ùæ??¿Û·oïÞ½ÛÍÍ-,,Œª:|øðÆ:::¤R)e!¤P(úûûûí·½{÷>|Ø™¦¦¦f×®]kÖ¬Ùºu«X,¾sçŽL&3jÈfz•ÎrR©4!!áwÞqvvž6mÚúõëýõWº*111$$ÄÉÉiüøñ›7oÖoèàà0þü‡M-ó5gΜøøøÊÊÊÚÚÚ¥K—ÒË{õ÷÷ÇÆÆ¶´´<}ú4))iþüù_}õU[[ÝP¿ýÿ©cÇŽ­[·îƒ>pwwwttô÷÷ß±c½¿\.3gŽ~W?^³fͼyó¬÷#eC÷îÝ£Óß"„¦NzïÞ=º*00p°†Aäçç¿ùæ›&:W(ÅÅÅ›7oNMM:uêèÑ£KJJ¨ª¢¢¢    &½dɪ$(((==½§§G&“ÑçÛñãÇ_¸pA­VŸ>}šnëììüøñcj{éÒ¥©©©¥¥¥]]]ýýýwïÞ2ž)S¦Pé÷É,V9†ÂÂÂV¬X‘’’ÒÒÒB’drròôéÓ©ªÐÐЕ+W¦¦¦¶´´Œ;–þLCÿ§X¡P¬]»ö»ï¾ … , Ë§L™âââ2bÄjŽŽJHHؽ{·\.÷óóKNN¦ ×®]»ÿþ}ûö-Z´ˆn»jÕªžž…B¶qãF©TúÃ? „üüüRRRL‡·nݺ;vÈåòO?ýÔÜOÇB,[çtáÂ…íííÔ¹ÞL 0v I¥R___GGG__ß'NèW:u* @$y{{§¥¥Q…<Çã‰D¢°°°êêjºÐÆa³ƒ3÷˜˜˜˜˜˜!w+((H$çÏŸW*•ÅÅʼnäܹst•§§gaa¡J¥jll\¶lUNÅ©V«80mÚ4ýB[bΈˆéë! EDDdggÓ/³²²ÂÃÃ骜œœMèF¥R1 ¦­­-::zäÈ‘åååTacccHHˆX,¦ò'›Ø!´cÇŽQ£FI$’¼¼<ªðîÝ»¡¡¡ÍMÀ¸!ÎrõõõTÎSŠÈÈÈúúzº*<<|°†}}}Gõóól‡ÄÄÄÏ>û¬½½ýÇüòË/é¹sç¶¶¶ê/<O„PsssJJJRR½çG}dÐܦ0hÛÌchôèÑôËŽŽWWW£U4T¨ŽŽŽÁÁÁt¡ÁncÆŒ¡ßŸÏ§ Gõ×_‘$ÙÙÙI71º'B¨··—$I*a2ݼ³³Ó ¹ Ž¡€€€ .Ð/ËÊÊ褶þþþ—.]2ÚŠ$IFSYY2XÏ$IR`I’4çz°=œœB`°um †’““ …J¥*--MJJ¢Nñ¡o¿ývýúõçÏŸïééijjZ±b…E=Ï›7oÓ¦Mííí=Ч gÍš•’’ÒÝݽoß>Ó{%""â§Ÿ~êîî¶4ý2c0x<šy–#I2--ÍÇLJ:³?~\¿J*•Nš4ÉÁÁšmS…FãøFž={ïîîîå啞žNíÖÐÐ,‹\\\¨B£{êBo³>S`Çͺuë¦OŸÞÕÕÅ`FÑh4ûöí{ï½÷¬=ã†XΘ›ššjƒQx<ž@ ð÷÷§/í»Ïil¤=¯¶‹ïËA‚6l:ØtžË577³þ¸Ç`ØÐÕ«W?ÿüsfû|ÅáTfN‚¿‡ ƒ A‚6l:ÿ¯þZ –-IEND®B`‚qcustomplot/documentation/html/functions_func_0x65.html0000644000175000017500000000474412236016575023650 0ustar dermanudermanu Data Fields - Functions
 

- e -

qcustomplot/documentation/html/ftv2node.png0000644000175000017500000000012612236016574021377 0ustar dermanudermanu‰PNG  IHDRɪ|IDATxíݱðøScOx@ –¨y}IEND®B`‚qcustomplot/documentation/html/classQCPPlotTitle.html0000644000175000017500000026733712236016576023367 0ustar dermanudermanu QCPPlotTitle Class Reference
QCPPlotTitle Class Reference

A layout element displaying a plot title text. More...

Inheritance diagram for QCPPlotTitle:
Inheritance graph

Public Functions

 QCPPlotTitle (QCustomPlot *parentPlot)
 QCPPlotTitle (QCustomPlot *parentPlot, const QString &text)
QString text () const
QFont font () const
QColor textColor () const
QFont selectedFont () const
QColor selectedTextColor () const
bool selectable () const
bool selected () const
void setText (const QString &text)
void setFont (const QFont &font)
void setTextColor (const QColor &color)
void setSelectedFont (const QFont &font)
void setSelectedTextColor (const QColor &color)
void setSelectable (bool selectable)
void setSelected (bool selected)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual void update ()
virtual QList< QCPLayoutElement * > elements (bool recursive) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Functions

virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
virtual QSize minimumSizeHint () const
virtual QSize maximumSizeHint () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
QFont mainFont () const
QColor mainTextColor () const
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A layout element displaying a plot title text.

The text may be specified with setText, theformatting can be controlled with setFont and setTextColor.

A plot title can be added as follows:

customPlot->plotLayout()->insertRow(0); // inserts an empty row above the default axis rect
customPlot->plotLayout()->addElement(0, 0, new QCPPlotTitle(customPlot, "Your Plot Title"));

Since a plot title is a common requirement, QCustomPlot offers specialized selection signals for easy interaction with QCPPlotTitle. If a layout element of type QCPPlotTitle is clicked, the signal QCustomPlot::titleClick is emitted. A double click emits the QCustomPlot::titleDoubleClick signal.

Constructor & Destructor Documentation

QCPPlotTitle::QCPPlotTitle ( QCustomPlot parentPlot)
explicit

Creates a new QCPPlotTitle instance and sets default values. The initial text is empty (setText).

To set the title text in the constructor, rather use QCPPlotTitle(QCustomPlot *parentPlot, const QString &text).

QCPPlotTitle::QCPPlotTitle ( QCustomPlot parentPlot,
const QString &  text 
)
explicit

This is an overloaded function.

Creates a new QCPPlotTitle instance and sets default values. The initial text is set to text.

Member Function Documentation

void QCPPlotTitle::setText ( const QString &  text)

Sets the text that will be displayed to text. Multiple lines can be created by insertion of "\n".

See Also
setFont, setTextColor
void QCPPlotTitle::setFont ( const QFont &  font)

Sets the font of the title text.

See Also
setTextColor, setSelectedFont
void QCPPlotTitle::setTextColor ( const QColor &  color)

Sets the color of the title text.

See Also
setFont, setSelectedTextColor
void QCPPlotTitle::setSelectedFont ( const QFont &  font)

Sets the font of the title text that will be used if the plot title is selected (setSelected).

See Also
setFont
void QCPPlotTitle::setSelectedTextColor ( const QColor &  color)

Sets the color of the title text that will be used if the plot title is selected (setSelected).

See Also
setTextColor
void QCPPlotTitle::setSelectable ( bool  selectable)

Sets whether the user may select this plot title to selectable.

Note that even when selectable is set to false, the selection state may be changed programmatically via setSelected.

void QCPPlotTitle::setSelected ( bool  selected)

Sets the selection state of this plot title to selected. If the selection has changed, selectionChanged is emitted.

Note that this function can change the selection state independently of the current setSelectable state.

double QCPPlotTitle::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.

Reimplemented from QCPLayoutElement.

void QCPPlotTitle::selectionChanged ( bool  selected)
signal

This signal is emitted when the selection state has changed to selected, either by user interaction or by a direct call to setSelected.

See Also
setSelected, setSelectable
void QCPPlotTitle::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Reimplemented from QCPLayoutElement.

void QCPPlotTitle::draw ( QCPPainter painter)
protectedvirtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Reimplemented from QCPLayoutElement.

QSize QCPPlotTitle::minimumSizeHint ( ) const
protectedvirtual

Returns the minimum size this layout element (the inner rect) may be compressed to.

if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)

Reimplemented from QCPLayoutElement.

QSize QCPPlotTitle::maximumSizeHint ( ) const
protectedvirtual

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented from QCPLayoutElement.

void QCPPlotTitle::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtual

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPPlotTitle::deselectEvent ( bool *  selectionStateChanged)
protectedvirtual

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QFont QCPPlotTitle::mainFont ( ) const
protected

Returns the main font to be used. This is mSelectedFont if setSelected is set to true, else mFont is returned.

QColor QCPPlotTitle::mainTextColor ( ) const
protected

Returns the main color to be used. This is mSelectedTextColor if setSelected is set to true, else mTextColor is returned.

QCPLayout * QCPLayoutElement::layout ( ) const
inlineinherited

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inlineinherited

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)
inherited

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)
inherited

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)
inherited

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)
inherited

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)
inherited

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)
inherited

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)
inherited

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)
inherited

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

void QCPLayoutElement::update ( )
virtualinherited

Updates the layout element and sub-elements. This function is automatically called upon replot by the parent layout element.

Layout elements that have child elements should call the update method of their child elements.

The default implementation executes the automatic margin mechanism, so subclasses should make sure to call the base class implementation.

Reimplemented in QCPLayout, and QCPAxisRect.

QList< QCPLayoutElement * > QCPLayoutElement::elements ( bool  recursive) const
virtualinherited

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented in QCPLayoutGrid, QCPLayout, and QCPAxisRect.

int QCPLayoutElement::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtualinherited

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mousePressEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseMoveEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseReleaseEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::wheelEvent ( QWheelEvent *  event)
inlineprotectedvirtualinherited

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayerable.

Reimplemented in QCPLegend.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

QCP::Interaction QCPLayerable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/lineending_8h_source.html0000644000175000017500000003642212236016574024133 0ustar dermanudermanu src/lineending.h Source File
lineending.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_LINEENDING_H
27 #define QCP_LINEENDING_H
28 
29 #include "global.h"
30 
31 class QCPPainter;
32 
33 class QCP_LIB_DECL QCPLineEnding
34 {
35  Q_GADGET
36 public:
48  Q_ENUMS(EndingStyle)
49  enum EndingStyle { esNone
50  ,esFlatArrow
51  ,esSpikeArrow
52  ,esLineArrow
53  ,esDisc
54  ,esSquare
55  ,esDiamond
56  ,esBar
57  ,esHalfBar
58  ,esSkewedBar
59  };
60 
61  QCPLineEnding();
62  QCPLineEnding(EndingStyle style, double width=8, double length=10, bool inverted=false);
63 
64  // getters:
65  EndingStyle style() const { return mStyle; }
66  double width() const { return mWidth; }
67  double length() const { return mLength; }
68  bool inverted() const { return mInverted; }
69 
70  // setters:
71  void setStyle(EndingStyle style);
72  void setWidth(double width);
73  void setLength(double length);
74  void setInverted(bool inverted);
75 
76  // non-property methods:
77  double boundingDistance() const;
78  double realLength() const;
79  void draw(QCPPainter *painter, const QVector2D &pos, const QVector2D &dir) const;
80  void draw(QCPPainter *painter, const QVector2D &pos, double angle) const;
81 
82 protected:
83  // property members:
84  EndingStyle mStyle;
85  double mWidth, mLength;
86  bool mInverted;
87 };
88 Q_DECLARE_TYPEINFO(QCPLineEnding, Q_MOVABLE_TYPE);
89 
90 #endif // QCP_LINEENDING_H
qcustomplot/documentation/html/ssCircle.png0000644000175000017500000000042612236016575021423 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+¸IDAT8ÝÐ=NÃ@Äñ˜ Lz [¢I :ŽÀ9Ò RD¹VN@¢HN!Ñ#ñqB *…×Ê ÙëP!ñožôfg4oùk²}€ |¡úMð9–øÀ*Ì”ûšß1þ±¿Æо€E‹¹á÷)ó©ºn‡Ø 1#¼$¶xưëAtè>q/b*\áO-Ó Í-•êߞؘa†Wœ¥Ì î°Æc¨}»¯9æ—aþW¾Ø]Þø.™4IEND®B`‚qcustomplot/documentation/html/axis_8h_source.html0000644000175000017500000023137112236016574022763 0ustar dermanudermanu src/axis.h Source File
axis.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_AXIS_H
27 #define QCP_AXIS_H
28 
29 #include "global.h"
30 #include "range.h"
31 #include "layer.h"
32 #include "layout.h"
33 #include "lineending.h"
34 
35 class QCPPainter;
36 class QCustomPlot;
37 class QCPAxis;
38 class QCPAxisRect;
40 class QCPGraph;
41 class QCPAbstractItem;
42 
43 class QCP_LIB_DECL QCPGrid :public QCPLayerable
44 {
45  Q_OBJECT
47  Q_PROPERTY(bool subGridVisible READ subGridVisible WRITE setSubGridVisible)
48  Q_PROPERTY(bool antialiasedSubGrid READ antialiasedSubGrid WRITE setAntialiasedSubGrid)
49  Q_PROPERTY(bool antialiasedZeroLine READ antialiasedZeroLine WRITE setAntialiasedZeroLine)
50  Q_PROPERTY(QPen pen READ pen WRITE setPen)
51  Q_PROPERTY(QPen subGridPen READ subGridPen WRITE setSubGridPen)
52  Q_PROPERTY(QPen zeroLinePen READ zeroLinePen WRITE setZeroLinePen)
54 public:
55  QCPGrid(QCPAxis *parentAxis);
56 
57  // getters:
58  bool subGridVisible() const { return mSubGridVisible; }
59  bool antialiasedSubGrid() const { return mAntialiasedSubGrid; }
60  bool antialiasedZeroLine() const { return mAntialiasedZeroLine; }
61  QPen pen() const { return mPen; }
62  QPen subGridPen() const { return mSubGridPen; }
63  QPen zeroLinePen() const { return mZeroLinePen; }
64 
65  // setters:
66  void setSubGridVisible(bool visible);
67  void setAntialiasedSubGrid(bool enabled);
68  void setAntialiasedZeroLine(bool enabled);
69  void setPen(const QPen &pen);
70  void setSubGridPen(const QPen &pen);
71  void setZeroLinePen(const QPen &pen);
72 
73 protected:
74  // property members:
75  bool mSubGridVisible;
76  bool mAntialiasedSubGrid, mAntialiasedZeroLine;
77  QPen mPen, mSubGridPen, mZeroLinePen;
78  // non-property members:
79  QCPAxis *mParentAxis;
80 
81  // reimplemented virtual methods:
82  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const;
83  virtual void draw(QCPPainter *painter);
84 
85  // non-virtual methods:
86  void drawGridLines(QCPPainter *painter) const;
87  void drawSubGridLines(QCPPainter *painter) const;
88 
89  friend class QCPAxis;
90 };
91 
92 
93 class QCP_LIB_DECL QCPAxis : public QCPLayerable
94 {
95  Q_OBJECT
97  Q_PROPERTY(AxisType axisType READ axisType)
98  Q_PROPERTY(QCPAxisRect* axisRect READ axisRect)
99  Q_PROPERTY(ScaleType scaleType READ scaleType WRITE setScaleType)
100  Q_PROPERTY(double scaleLogBase READ scaleLogBase WRITE setScaleLogBase)
101  Q_PROPERTY(QCPRange range READ range WRITE setRange)
102  Q_PROPERTY(bool rangeReversed READ rangeReversed WRITE setRangeReversed)
103  Q_PROPERTY(bool autoTicks READ autoTicks WRITE setAutoTicks)
104  Q_PROPERTY(int autoTickCount READ autoTickCount WRITE setAutoTickCount)
105  Q_PROPERTY(bool autoTickLabels READ autoTickLabels WRITE setAutoTickLabels)
106  Q_PROPERTY(bool autoTickStep READ autoTickStep WRITE setAutoTickStep)
107  Q_PROPERTY(bool autoSubTicks READ autoSubTicks WRITE setAutoSubTicks)
108  Q_PROPERTY(bool ticks READ ticks WRITE setTicks)
109  Q_PROPERTY(bool tickLabels READ tickLabels WRITE setTickLabels)
110  Q_PROPERTY(int tickLabelPadding READ tickLabelPadding WRITE setTickLabelPadding)
111  Q_PROPERTY(LabelType tickLabelType READ tickLabelType WRITE setTickLabelType)
112  Q_PROPERTY(QFont tickLabelFont READ tickLabelFont WRITE setTickLabelFont)
113  Q_PROPERTY(QColor tickLabelColor READ tickLabelColor WRITE setTickLabelColor)
114  Q_PROPERTY(double tickLabelRotation READ tickLabelRotation WRITE setTickLabelRotation)
115  Q_PROPERTY(QString dateTimeFormat READ dateTimeFormat WRITE setDateTimeFormat)
116  Q_PROPERTY(QString numberFormat READ numberFormat WRITE setNumberFormat)
117  Q_PROPERTY(int numberPrecision READ numberPrecision WRITE setNumberPrecision)
118  Q_PROPERTY(double tickStep READ tickStep WRITE setTickStep)
119  Q_PROPERTY(QVector<double> tickVector READ tickVector WRITE setTickVector)
120  Q_PROPERTY(QVector<QString> tickVectorLabels READ tickVectorLabels WRITE setTickVectorLabels)
121  Q_PROPERTY(int tickLengthIn READ tickLengthIn WRITE setTickLengthIn)
122  Q_PROPERTY(int tickLengthOut READ tickLengthOut WRITE setTickLengthOut)
123  Q_PROPERTY(int subTickCount READ subTickCount WRITE setSubTickCount)
124  Q_PROPERTY(int subTickLengthIn READ subTickLengthIn WRITE setSubTickLengthIn)
125  Q_PROPERTY(int subTickLengthOut READ subTickLengthOut WRITE setSubTickLengthOut)
126  Q_PROPERTY(QPen basePen READ basePen WRITE setBasePen)
127  Q_PROPERTY(QPen tickPen READ tickPen WRITE setTickPen)
128  Q_PROPERTY(QPen subTickPen READ subTickPen WRITE setSubTickPen)
129  Q_PROPERTY(QFont labelFont READ labelFont WRITE setLabelFont)
130  Q_PROPERTY(QColor labelColor READ labelColor WRITE setLabelColor)
131  Q_PROPERTY(QString label READ label WRITE setLabel)
132  Q_PROPERTY(int labelPadding READ labelPadding WRITE setLabelPadding)
133  Q_PROPERTY(int padding READ padding WRITE setPadding)
134  Q_PROPERTY(int offset READ offset WRITE setOffset)
135  Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE setSelectedParts)
136  Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE setSelectableParts)
137  Q_PROPERTY(QFont selectedTickLabelFont READ selectedTickLabelFont WRITE setSelectedTickLabelFont)
138  Q_PROPERTY(QFont selectedLabelFont READ selectedLabelFont WRITE setSelectedLabelFont)
139  Q_PROPERTY(QColor selectedTickLabelColor READ selectedTickLabelColor WRITE setSelectedTickLabelColor)
140  Q_PROPERTY(QColor selectedLabelColor READ selectedLabelColor WRITE setSelectedLabelColor)
141  Q_PROPERTY(QPen selectedBasePen READ selectedBasePen WRITE setSelectedBasePen)
142  Q_PROPERTY(QPen selectedTickPen READ selectedTickPen WRITE setSelectedTickPen)
143  Q_PROPERTY(QPen selectedSubTickPen READ selectedSubTickPen WRITE setSelectedSubTickPen)
144  Q_PROPERTY(QCPLineEnding lowerEnding READ lowerEnding WRITE setLowerEnding)
145  Q_PROPERTY(QCPLineEnding upperEnding READ upperEnding WRITE setUpperEnding)
146  Q_PROPERTY(QCPGrid* grid READ grid)
148 public:
153  enum AxisType { atLeft = 0x01
154  ,atRight = 0x02
155  ,atTop = 0x04
156  ,atBottom = 0x08
157  };
158  Q_FLAGS(AxisType AxisTypes)
159  Q_DECLARE_FLAGS(AxisTypes, AxisType)
166  enum LabelType { ltNumber
167  ,ltDateTime
168  };
169  Q_ENUMS(LabelType)
174  enum ScaleType { stLinear
175  ,stLogarithmic
176  };
177  Q_ENUMS(ScaleType)
182  enum SelectablePart { spNone = 0
183  ,spAxis = 0x001
184  ,spTickLabels = 0x002
185  ,spAxisLabel = 0x004
186  };
187  Q_FLAGS(SelectablePart SelectableParts)
188  Q_DECLARE_FLAGS(SelectableParts, SelectablePart)
189 
190  explicit QCPAxis(QCPAxisRect *parent, AxisType type);
191 
192  // getters:
193  AxisType axisType() const { return mAxisType; }
194  QCPAxisRect *axisRect() const { return mAxisRect; }
195  ScaleType scaleType() const { return mScaleType; }
196  double scaleLogBase() const { return mScaleLogBase; }
197  const QCPRange range() const { return mRange; }
198  bool rangeReversed() const { return mRangeReversed; }
199  bool autoTicks() const { return mAutoTicks; }
200  int autoTickCount() const { return mAutoTickCount; }
201  bool autoTickLabels() const { return mAutoTickLabels; }
202  bool autoTickStep() const { return mAutoTickStep; }
203  bool autoSubTicks() const { return mAutoSubTicks; }
204  bool ticks() const { return mTicks; }
205  bool tickLabels() const { return mTickLabels; }
206  int tickLabelPadding() const { return mTickLabelPadding; }
207  LabelType tickLabelType() const { return mTickLabelType; }
208  QFont tickLabelFont() const { return mTickLabelFont; }
209  QColor tickLabelColor() const { return mTickLabelColor; }
210  double tickLabelRotation() const { return mTickLabelRotation; }
211  QString dateTimeFormat() const { return mDateTimeFormat; }
212  Qt::TimeSpec dateTimeSpec() const { return mDateTimeSpec; }
213  QString numberFormat() const;
214  int numberPrecision() const { return mNumberPrecision; }
215  double tickStep() const { return mTickStep; }
216  QVector<double> tickVector() const { return mTickVector; }
217  QVector<QString> tickVectorLabels() const { return mTickVectorLabels; }
218  int tickLengthIn() const { return mTickLengthIn; }
219  int tickLengthOut() const { return mTickLengthOut; }
220  int subTickCount() const { return mSubTickCount; }
221  int subTickLengthIn() const { return mSubTickLengthIn; }
222  int subTickLengthOut() const { return mSubTickLengthOut; }
223  QPen basePen() const { return mBasePen; }
224  QPen tickPen() const { return mTickPen; }
225  QPen subTickPen() const { return mSubTickPen; }
226  QFont labelFont() const { return mLabelFont; }
227  QColor labelColor() const { return mLabelColor; }
228  QString label() const { return mLabel; }
229  int labelPadding() const { return mLabelPadding; }
230  int padding() const { return mPadding; }
231  int offset() const { return mOffset; }
232  SelectableParts selectedParts() const { return mSelectedParts; }
233  SelectableParts selectableParts() const { return mSelectableParts; }
234  QFont selectedTickLabelFont() const { return mSelectedTickLabelFont; }
235  QFont selectedLabelFont() const { return mSelectedLabelFont; }
236  QColor selectedTickLabelColor() const { return mSelectedTickLabelColor; }
237  QColor selectedLabelColor() const { return mSelectedLabelColor; }
238  QPen selectedBasePen() const { return mSelectedBasePen; }
239  QPen selectedTickPen() const { return mSelectedTickPen; }
240  QPen selectedSubTickPen() const { return mSelectedSubTickPen; }
241  QCPLineEnding lowerEnding() const { return mLowerEnding; }
242  QCPLineEnding upperEnding() const { return mUpperEnding; }
243  QCPGrid *grid() const { return mGrid; }
244 
245  // setters:
246  void setScaleType(ScaleType type);
247  void setScaleLogBase(double base);
248  Q_SLOT void setRange(const QCPRange &range);
249  void setRange(double lower, double upper);
250  void setRange(double position, double size, Qt::AlignmentFlag alignment);
251  void setRangeLower(double lower);
252  void setRangeUpper(double upper);
253  void setRangeReversed(bool reversed);
254  void setAutoTicks(bool on);
255  void setAutoTickCount(int approximateCount);
256  void setAutoTickLabels(bool on);
257  void setAutoTickStep(bool on);
258  void setAutoSubTicks(bool on);
259  void setTicks(bool show);
260  void setTickLabels(bool show);
261  void setTickLabelPadding(int padding);
262  void setTickLabelType(LabelType type);
263  void setTickLabelFont(const QFont &font);
264  void setTickLabelColor(const QColor &color);
265  void setTickLabelRotation(double degrees);
266  void setDateTimeFormat(const QString &format);
267  void setDateTimeSpec(const Qt::TimeSpec &timeSpec);
268  void setNumberFormat(const QString &formatCode);
269  void setNumberPrecision(int precision);
270  void setTickStep(double step);
271  void setTickVector(const QVector<double> &vec);
272  void setTickVectorLabels(const QVector<QString> &vec);
273  void setTickLength(int inside, int outside=0);
274  void setTickLengthIn(int inside);
275  void setTickLengthOut(int outside);
276  void setSubTickCount(int count);
277  void setSubTickLength(int inside, int outside=0);
278  void setSubTickLengthIn(int inside);
279  void setSubTickLengthOut(int outside);
280  void setBasePen(const QPen &pen);
281  void setTickPen(const QPen &pen);
282  void setSubTickPen(const QPen &pen);
283  void setLabelFont(const QFont &font);
284  void setLabelColor(const QColor &color);
285  void setLabel(const QString &str);
286  void setLabelPadding(int padding);
287  void setPadding(int padding);
288  void setOffset(int offset);
289  void setSelectedTickLabelFont(const QFont &font);
290  void setSelectedLabelFont(const QFont &font);
291  void setSelectedTickLabelColor(const QColor &color);
292  void setSelectedLabelColor(const QColor &color);
293  void setSelectedBasePen(const QPen &pen);
294  void setSelectedTickPen(const QPen &pen);
295  void setSelectedSubTickPen(const QPen &pen);
296  Q_SLOT void setSelectableParts(const QCPAxis::SelectableParts &selectableParts);
297  Q_SLOT void setSelectedParts(const QCPAxis::SelectableParts &selectedParts);
298  void setLowerEnding(const QCPLineEnding &ending);
299  void setUpperEnding(const QCPLineEnding &ending);
300 
301  // reimplemented virtual methods:
302  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
303 
304  // non-virtual methods:
305  Qt::Orientation orientation() const { return mOrientation; }
306  void moveRange(double diff);
307  void scaleRange(double factor, double center);
308  void setScaleRatio(const QCPAxis *otherAxis, double ratio=1.0);
309  void rescale(bool onlyVisiblePlottables=false);
310  double pixelToCoord(double value) const;
311  double coordToPixel(double value) const;
312  SelectablePart getPartAt(const QPointF &pos) const;
313  QList<QCPAbstractPlottable*> plottables() const;
314  QList<QCPGraph*> graphs() const;
315  QList<QCPAbstractItem*> items() const;
316 
317  static AxisType marginSideToAxisType(QCP::MarginSide side);
318 
319 signals:
320  void ticksRequest();
321  void rangeChanged(const QCPRange &newRange);
322  void rangeChanged(const QCPRange &newRange, const QCPRange &oldRange);
323  void selectionChanged(const QCPAxis::SelectableParts &parts);
324 
325 protected:
326  struct CachedLabel
327  {
328  QPointF offset;
329  QPixmap pixmap;
330  };
331  struct TickLabelData
332  {
333  QString basePart, expPart;
334  QRect baseBounds, expBounds, totalBounds, rotatedTotalBounds;
335  QFont baseFont, expFont;
336  };
337 
338  // property members:
339  // axis base:
340  AxisType mAxisType;
341  QCPAxisRect *mAxisRect;
342  int mOffset, mPadding;
343  Qt::Orientation mOrientation;
344  SelectableParts mSelectableParts, mSelectedParts;
345  QPen mBasePen, mSelectedBasePen;
346  QCPLineEnding mLowerEnding, mUpperEnding;
347  // axis label:
348  int mLabelPadding;
349  QString mLabel;
350  QFont mLabelFont, mSelectedLabelFont;
351  QColor mLabelColor, mSelectedLabelColor;
352  // tick labels:
353  int mTickLabelPadding;
354  bool mTickLabels, mAutoTickLabels;
355  double mTickLabelRotation;
356  LabelType mTickLabelType;
357  QFont mTickLabelFont, mSelectedTickLabelFont;
358  QColor mTickLabelColor, mSelectedTickLabelColor;
359  QString mDateTimeFormat;
360  Qt::TimeSpec mDateTimeSpec;
361  int mNumberPrecision;
362  char mNumberFormatChar;
363  bool mNumberBeautifulPowers;
364  bool mNumberMultiplyCross;
365  // ticks and subticks:
366  bool mTicks;
367  double mTickStep;
368  int mSubTickCount, mAutoTickCount;
369  bool mAutoTicks, mAutoTickStep, mAutoSubTicks;
370  int mTickLengthIn, mTickLengthOut, mSubTickLengthIn, mSubTickLengthOut;
371  QPen mTickPen, mSelectedTickPen;
372  QPen mSubTickPen, mSelectedSubTickPen;
373  // scale and range:
374  QCPRange mRange;
375  bool mRangeReversed;
376  ScaleType mScaleType;
377  double mScaleLogBase, mScaleLogBaseLogInv;
378 
379  // non-property members:
380  QCPGrid *mGrid;
381  QCache<QString, CachedLabel> mLabelCache;
382  int mLowestVisibleTick, mHighestVisibleTick;
383  QChar mExponentialChar, mPositiveSignChar;
384  QVector<double> mTickVector;
385  QVector<QString> mTickVectorLabels;
386  QVector<double> mSubTickVector;
387  QRect mAxisSelectionBox, mTickLabelsSelectionBox, mLabelSelectionBox;
388  bool mCachedMarginValid;
389  int mCachedMargin;
390 
391  // introduced virtual methods:
392  virtual void setupTickVectors();
393  virtual void generateAutoTicks();
394  virtual int calculateAutoSubTickCount(double tickStep) const;
395  virtual int calculateMargin();
396  // tick label drawing/caching:
397  virtual void placeTickLabel(QCPPainter *painter, double position, int distanceToAxis, const QString &text, QSize *tickLabelsSize);
398  virtual void drawTickLabel(QCPPainter *painter, double x, double y, const TickLabelData &labelData) const;
399  virtual TickLabelData getTickLabelData(const QFont &font, const QString &text) const;
400  virtual QPointF getTickLabelDrawOffset(const TickLabelData &labelData) const;
401  virtual void getMaxTickLabelSize(const QFont &font, const QString &text, QSize *tickLabelsSize) const;
402 
403  // reimplemented virtual methods:
404  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const;
405  virtual void draw(QCPPainter *painter);
406  virtual QCP::Interaction selectionCategory() const;
407  // events:
408  virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged);
409  virtual void deselectEvent(bool *selectionStateChanged);
410 
411  // non-virtual methods:
412  void visibleTickBounds(int &lowIndex, int &highIndex) const;
413  double baseLog(double value) const;
414  double basePow(double value) const;
415  QPen getBasePen() const;
416  QPen getTickPen() const;
417  QPen getSubTickPen() const;
418  QFont getTickLabelFont() const;
419  QFont getLabelFont() const;
420  QColor getTickLabelColor() const;
421  QColor getLabelColor() const;
422 
423 private:
424  Q_DISABLE_COPY(QCPAxis)
425 
426  friend class QCustomPlot;
427  friend class QCPGrid;
428  friend class QCPAxisRect;
429 };
430 Q_DECLARE_OPERATORS_FOR_FLAGS(QCPAxis::SelectableParts)
431 Q_DECLARE_OPERATORS_FOR_FLAGS(QCPAxis::AxisTypes)
432 Q_DECLARE_METATYPE(QCPAxis::SelectablePart)
433 
434 #endif // QCP_AXIS_H
qcustomplot/documentation/html/ftv2ns.png0000644000175000017500000000060412236016574021073 0ustar dermanudermanu‰PNG  IHDRÚ}\ˆKIDATxíÝ1K1Àñ­ž ØG•â‚n‚Šà ‚âælÁE¿€‹“ (nºêââêäࢋƒÐMAá@°‹ µât¾ÄK¡à%Ü•Û ý]BIïå%áuÍ…a™€,e × v¯ç¥«ˆi‹º¨Õö–î\tòòuénÄ0ã æÜÉoV\Ì$G.&@Y=ÆË%$um·¢ûÛ6–'Úß«9Qó\bÙ)²º0Ðë-Zœ¥TèHÍ`pÀcsm µö5:>Áë‡Þ¦I µØ ‚F‹Çà]» ›jg—ìoÏáõ©[ œõ š­onë €Ô¬¨vqõ„?\Ðç”  6»øüÒTe ÃÉéŸeç ÀÅlQ ¡c”€ª¬ü3*d€ÅWTMÏ\rÿÿh6™ø1±F ‹°fžIEND®B`‚qcustomplot/documentation/html/closed.png0000644000175000017500000000020412236016574021116 0ustar dermanudermanu‰PNG  IHDR à‘KIDATxíÝm @!†ÑGk™É7À-`&séts¦Àñþòð@åk}ª2€… P%Á_Ëþ¿N² .:0Dk¥‹Â›x" Ö›)¡xÒ5õIEND®B`‚qcustomplot/documentation/html/classQCPItemRect__inherit__graph.png0000644000175000017500000000706012236016575026164 0ustar dermanudermanu‰PNG  IHDR€»"áòbKGDÿÿÿ ½§“ åIDATxœí}LSWÀÏ¥¥u±”É6ÓIP|a@u8e¾Lp$1‚fn~AÝÀ¹,0dž[&Ûš-c1]2K:2hD-²–9MxAäC (ÁWêpÂ,Pè Ðö¾Üå¾×öRúÉÃÕó Ü{ιÏyä×ÞÛ{-ç!H’D8¼ xÜÁ€Á€Á€Á !í ´´:MîQZZjÏï–ïPDÏ¥ûˆ±mÛ6;G: `ëÖ­N%ó8b¿|     @!‚ ìlt;n “ÉBBBAHHHqq1³«¤¤$""B(QA! £¢¢ZZZèF÷f5«±ÿFlÚaçÏŸ—H$.\Ðétõõõ‰¤¶¶–îzöÙg•Jåèèhww÷›o¾IµSaÇÇÇ¿ûî»ÈÈHfãLÂ:£+i »oÄÜ) 66¶¢¢‚Þ=uêTLL ÝuúôiÖD©ÑÑÑ'žx¢Ñb$AAAAçÏŸW©T!!!&“‰ê—H$·nÝêïïß°aüyó¤Ricc#}àáÇ% AÖ¡è–}ûöÍ;wÕªU===i°†µ Œ±X¬Õjé]­VëççÇÚÅL”$IƒÁ`Ï;Àd2©ÕêÐÐP’$×®][RRBµnß¾$ɤ¤¤¢¢¢ñññšššeË–ÑÑvïÞÝßß?U(jÌþýû‡‡‡?ùä“7Z¤ÁÖ6³E€¯¯/k3Q„@ xá…šššèF‹aJ¥R*• „Ç#IR­V‡……™L&³Ù~ýúu’$ýýýéS«——mppÐF(æ˜ÁÁA‘Hd‘kXÛØ/Àለˆß~ûÞmhhX¾|9µþû￳E’¤Á`hnn^¹råT‘SSS:4<<¬ÓéL&BhíÚµ …¢ºº:$$$,,Œ õÇPÿ0j…H$²jZ¦ ëì±dç; ¶¶vÑ¢E¿þúëÈȈJ¥ <{ö,ÕuîܹÀÀÀºº:½^ßÝÝýÖ[oѯë8ÖþþþjµZ§ÓeffÒ½jµZ*•ÆÆÆ¶´´P-ÉÉÉÉÉÉýýý½½½III¬ÑXC!„öï߯ÓéXOA¬amƒ@NA$I-]ºÔËË !tâÄ f—L&{î¹ç¼½½©¡t¢,9Y½DŠŠŠž|òÉgžyæÀÌCbccׯ_Oï>xð`ûöí~~~AAAeee¬S°†B6/¬am&€æ½÷Þ[½zõðð°CG9„Á`عsgGG‡ç¦pû8ð8Ú!Ž=ê¡ÈAðx¼Ÿ~ú)""£yO ð4ä£òu&ü,,,,n ho×ttÜ…ÎÂ%ø4 ÓÏ›·!42Âþƒö|ž»{÷îåË—g ‡ IôÙgÍA8°b¾8¢££%É´Ãì0;ilìÙ´é(B¨²2=*j1t:NÂák€BÑÄç{ñù<…â t.ÎÃUÆÊÊV£Ñl4š**Z&'Ýý”x¦àª€††.½Þ@mëõµº6§áª€òò+<Þ?ÉóxÄ©S\= qR€^o8w®ƒþÏ)“É\[ÛA¿!¸'(•ׯ‡NúF£©®î:T>®ÀIååÍ=ôÁŸ BÑ •+pO€V«ohè2›ÍÌF“‰lhèÔCeå4ÜP]ÝÆzóH’duuûÌçã"Ü P49Ñ5kᘀû÷‡››ï˜Í,ï³™lnþïýûÃ3Ÿ•+pL€Ry}î\!ý#ð>³¥®îtŽŽÁá‡q¡wÞ9:~|t"ÎñwÀ£                                ÌC+fÍÎ…™l ÑhBeeeЉ8€åBNÌet9W+Ç›Ïã͇ÎÂ1,–4fY3ŽÓ¶7˱^Z _€Á€Á€Á€™]fáòŸžÆIn©˜W__O„R©t"×U1#ÐÛ¯ëû€i«n¸«bÞ®]»"""RRR˜•?ì)ûáÐH{" F1ÃN;©Å}€3ÜR1O¯×ûùù]»vmþüù£££ô0ëb:åååáááB¡000ðÇ$¾M!í«•§Ñh^yå¡Pˆ¬ntèô,§ªË—››+‰žzê©òòòøùù-\¸°¦¦fÚßé.n©˜wòäÉÄÄD’$Š‹‹éaÖíÄbqCCÃÄÄÄ;wÒÒÒ˜éíikå½öÚkYYYz½Þ"%‹mfãTuùrrrFGGår¹P(ÌÉÉ‘Ëå!!!ÓþÞHÏ p¢b^||<•Ê/¿üòꫯÒì+Úeee­X±âÝwß­««cdnO[+O$Y$6­€©êò‘$i4™ÛôD¶qÛ)¨²²’Þ­¨¨ OA111UUU¬3wûúúx<óŸG•ªc@’dOOÏ‘#G¢££“““­Z—H$UUUccc:ŽîrB€X,¦ èÙ>Ê:‡©p×+æåå奦¦Ò»o¿ýv^^9EE»={öܼysbbâÒ¥KþþþT£¯¯¯uÅ5 ÖZy›6mÊÎÎþûï¿éa¬˜ÓÖå@º\1oÙ²ejµšÞmhh N²¬á‚‚‚%K–Ì™3'<<œ¾øñž¾¾ÌK(37ëZy&..ÎÛÛ›naÀlœ¶.¤š¨˜÷(a-ÀÕBnž®˜÷È3»E<†`À`À`À`Àp[À䤉»å{(X>†rèk6ííZ‚@R©:ça°mÛ¶™ÏÃ9D¢õ¡¡¡èDœ‡Ã‹wëtãRé~„еkçÍ›Ž“pøpáÂu“Él2™/\àØ’õL8, ´ô?\„«F._¾e6“f3yéÒÍ茜„«ΞmcT²"¸X¾‡‚«äò&º’•ÙLÊåÜ+ßCÁI½½ÚÚ4ôÇ7’$[[{5-hRNÂIUU­t%O ¨ªº •+pR@YY“ÑøP%=£Ñ\VÆÉ³÷tvÞëî¾åýã­[÷;;ï¤ä ÜPYÙÂçó¬Ûù|ÞéÓÜ; qLI’ E³E-[ £Ñ$—7qîÉ Ç´¶júú†xŸgñÃãyõõ µµi st W¿1Ã>žîª¯¯?yòäÝ»wvìØ±nÝ:„P\\BˆÏçðÁK—.¥U*sÃièø‹/Þ»wohh¨CǺ8» <" ¹¹¹°°ðã? íêêúꫯD"QTTÕUPPðÑGEDDhµZ™LF @©TªÉÉÉ3gÎäåå¸=+•Je4«««¿ýöÛÂÂB·Çwœ‚d2YFFÆŠ+|||"##ÓÓÓþùgº+33såÊ•sæÌY¸pá¾}û˜z{{¯_¿¾··—ÙH½xãâ⨡¡¡O?ý4!!!--­³³“#“É6lØðúë¯_¼x±¸¸xãÆ›7onlld†âóùëÖ­ÓhþYÒ†5ÔÀÀÀ‡~OÏËœÝíxDÀíÛ·—/_Nï>ÿüó·oߦ»¤RéTÆšššE‹1©·¿J¥¢6Ž;FU’Û³gO^^óX¹\ž™™™››k2™JKKÓÓÓ¿ÿþ{‹øT¥3j—5T~~þ’%KΜ9CÏËœÝíÌÐzA&Óô«üÇÅÅQç謬,Úššêëë¿þúkôpõÙääd@399Ioùå—Ìø¡àààC‡ÙÕÚÚšM•ýœ<" ((¨½½ý¥—^¢vÛÚÚ‚ƒƒé®ŽŽŽèèhë£ì|‰‘$©P(˜…)¨â‘Tm9z›^ܕНÕjsss;;;l„šI>>÷îý³"â‹/¾øÃ? õ÷÷ QCPLineEnding Class Reference
QCPLineEnding Class Reference

Handles the different ending decorations for line-like items. More...

Public Types

enum  EndingStyle

Public Functions

 QCPLineEnding ()
 QCPLineEnding (EndingStyle style, double width=8, double length=10, bool inverted=false)
EndingStyle style () const
double width () const
double length () const
bool inverted () const
void setStyle (EndingStyle style)
void setWidth (double width)
void setLength (double length)
void setInverted (bool inverted)
double boundingDistance () const
double realLength () const
void draw (QCPPainter *painter, const QVector2D &pos, const QVector2D &dir) const
void draw (QCPPainter *painter, const QVector2D &pos, double angle) const

Detailed Description

Handles the different ending decorations for line-like items.

QCPLineEnding.png
The various ending styles currently supported

For every ending a line-like item has, an instance of this class exists. For example, QCPItemLine has two endings which can be set with QCPItemLine::setHead and QCPItemLine::setTail.

The styles themselves are defined via the enum QCPLineEnding::EndingStyle. Most decorations can be modified regarding width and length, see setWidth and setLength. The direction of the ending decoration (e.g. direction an arrow is pointing) is controlled by the line-like item. For example, when both endings of a QCPItemLine are set to be arrows, they will point to opposite directions, e.g. "outward". This can be changed by setInverted, which would make the respective arrow point inward.

Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle where actually a QCPLineEnding is expected, e.g.

myItemLine->setHead(QCPLineEnding::esSpikeArrow)

Member Enumeration Documentation

Defines the type of ending decoration for line-like items, e.g. an arrow.

QCPLineEnding.png

The width and length of these decorations can be controlled with the functions setWidth and setLength. Some decorations like esDisc, esSquare, esDiamond and esBar only support a width, the length property is ignored.

See Also
QCPItemLine::setHead, QCPItemLine::setTail, QCPItemCurve::setHead, QCPItemCurve::setTail
Enumerator:
esNone 

No ending decoration.

esFlatArrow 

A filled arrow head with a straight/flat back (a triangle)

esSpikeArrow 

A filled arrow head with an indented back.

esLineArrow 

A non-filled arrow head with open back.

esDisc 

A filled circle.

esSquare 

A filled square.

esDiamond 

A filled diamond (45° rotated square)

esBar 

A bar perpendicular to the line.

esHalfBar 

A bar perpendicular to the line sticking out to one side.

esSkewedBar 

A bar that is skewed (skew controllable via setLength)

Constructor & Destructor Documentation

QCPLineEnding::QCPLineEnding ( )

Creates a QCPLineEnding instance with default values (style esNone).

QCPLineEnding::QCPLineEnding ( QCPLineEnding::EndingStyle  style,
double  width = 8,
double  length = 10,
bool  inverted = false 
)

Creates a QCPLineEnding instance with the specified values.

Member Function Documentation

void QCPLineEnding::setStyle ( QCPLineEnding::EndingStyle  style)

Sets the style of the ending decoration.

void QCPLineEnding::setWidth ( double  width)

Sets the width of the ending decoration, if the style supports it. On arrows, for example, the width defines the size perpendicular to the arrow's pointing direction.

See Also
setLength
void QCPLineEnding::setLength ( double  length)

Sets the length of the ending decoration, if the style supports it. On arrows, for example, the length defines the size in pointing direction.

See Also
setWidth
void QCPLineEnding::setInverted ( bool  inverted)

Sets whether the ending decoration shall be inverted. For example, an arrow decoration will point inward when inverted is set to true.

Note that also the width direction is inverted. For symmetrical ending styles like arrows or discs, this doesn't make a difference. However, asymmetric styles like esHalfBar are affected by it, which can be used to control to which side the half bar points to.

double QCPLineEnding::boundingDistance ( ) const

Returns the maximum pixel radius the ending decoration might cover, starting from the position the decoration is drawn at (typically a line ending/QCPItemPosition of an item).

This is relevant for clipping. Only omit painting of the decoration when the position where the decoration is supposed to be drawn is farther away from the clipping rect than the returned distance.

double QCPLineEnding::realLength ( ) const

Starting from the origin of this line ending (which is style specific), returns the length covered by the line ending symbol, in backward direction.

For example, the esSpikeArrow has a shorter real length than a esFlatArrow, even if both have the same setLength value, because the spike arrow has an inward curved back, which reduces the length along its center axis (the drawing origin for arrows is at the tip).

This function is used for precise, style specific placement of line endings, for example in QCPAxes.

void QCPLineEnding::draw ( QCPPainter painter,
const QVector2D &  pos,
const QVector2D &  dir 
) const

Draws the line ending with the specified painter at the position pos. The direction of the line ending is controlled with dir.

void QCPLineEnding::draw ( QCPPainter painter,
const QVector2D &  pos,
double  angle 
) const

This is an overloaded function.

Draws the line ending. The direction is controlled with the angle parameter in radians.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/annotated.html0000644000175000017500000003422612236016575022016 0ustar dermanudermanu Data Structures
Data Structures
Here are the data structures with brief descriptions:
oNQCP
oCQCPAbstractItemThe abstract base class for all items in a plot
oCQCPAbstractLegendItemThe abstract base class for all entries in a QCPLegend
oCQCPAbstractPlottableThe abstract base class for all data representing objects in a plot
oCQCPAxisManages a single axis inside a QCustomPlot
oCQCPAxisRectHolds multiple axes and arranges them in a rectangular shape
oCQCPBarDataHolds the data of one single data point (one bar) for QCPBars
oCQCPBarsA plottable representing a bar chart in a plot
oCQCPCurveA plottable representing a parametric curve in a plot
oCQCPCurveDataHolds the data of one single data point for QCPCurve
oCQCPDataHolds the data of one single data point for QCPGraph
oCQCPGraphA plottable representing a graph in a plot
oCQCPGridResponsible for drawing the grid of a QCPAxis
oCQCPItemAnchorAn anchor of an item to which positions can be attached to
oCQCPItemBracketA bracket for referencing/highlighting certain parts in the plot
oCQCPItemCurveA curved line from one point to another
oCQCPItemEllipseAn ellipse
oCQCPItemLineA line from one point to another
oCQCPItemPixmapAn arbitrary pixmap
oCQCPItemPositionManages the position of an item
oCQCPItemRectA rectangle
oCQCPItemStraightLineA straight line that spans infinitely in both directions
oCQCPItemTextA text label
oCQCPItemTracerItem that sticks to QCPGraph data points
oCQCPLayerA layer that may contain objects, to control the rendering order
oCQCPLayerableBase class for all drawable objects
oCQCPLayoutThe abstract base class for layouts
oCQCPLayoutElementThe abstract base class for all objects that form the layout system
oCQCPLayoutGridA layout that arranges child elements in a grid
oCQCPLayoutInsetA layout that places child elements aligned to the border or arbitrarily positioned
oCQCPLegendManages a legend inside a QCustomPlot
oCQCPLineEndingHandles the different ending decorations for line-like items
oCQCPMarginGroupA margin group allows synchronization of margin sides if working with multiple layout elements
oCQCPPainterQPainter subclass used internally
oCQCPPlottableLegendItemA legend item representing a plottable with an icon and the plottable name
oCQCPPlotTitleA layout element displaying a plot title text
oCQCPRangeRepresents the range an axis is encompassing
oCQCPScatterStyleRepresents the visual appearance of scatter points
oCQCPStatisticalBoxA plottable representing a single statistical box in a plot
\CQCustomPlotThe central class of the library. This is the QWidget which displays the plot and interacts with the user
qcustomplot/documentation/html/thelayoutsystem.html0000644000175000017500000003015012236016574023313 0ustar dermanudermanu The Layout System
The Layout System

The layout system is responsible for positioning and scaling layout elements such as axis rects, legends and plot titles in a QCustomPlot.

Classes and mechanisms

The layout system is based on the abstract base class QCPLayoutElement. All objects that take part in the layout system derive from this class, either directly or indirectly.

Since QCPLayoutElement itself derives from QCPLayerable, a layout element may draw its own content. However, it is perfectly possible for a layout element to only serve as a structuring and/or positioning element, not drawing anything on its own.

Rects of a layout element

A layout element is a rectangular object described by two rects: the inner rect (QCPLayoutElement::rect) and the outer rect (QCPLayoutElement::setOuterRect). The inner rect is calculated automatically by applying the margin (QCPLayoutElement::setMargins) inward from the outer rect. The inner rect is meant for main content while the margin area may either be left blank or serve for displaying peripheral graphics. For example, QCPAxisRect positions the four main axes at the sides of the inner rect, so graphs end up inside it and the axis labels and tick labels are in the margin area.

Margins

Each layout element may provide a mechanism to automatically determine its margins. Internally, this is realized with the QCPLayoutElement::calculateAutoMargin function which takes a QCP::MarginSide and returns an integer value which represents the ideal margin for the specified side. The automatic margin will be used on the sides specified in QCPLayoutElement::setAutoMargins. By default, it is set to QCP::msAll meaning automatic margin calculation is enabled for all four sides. In this case, a minimum margin may be set with QCPLayoutElement::setMinimumMargins, to prevent the automatic margin mechanism from setting margins smaller than desired for a specific situation. If automatic margin calculation is unset for a specific side, the margin of that side can be controlled directy via QCPLayoutElement::setMargins.

If multiple layout ements are arranged next to or beneath each other, it may be desirable to align their inner rects on certain sides. Since they all might have different automatic margins, this usually isn't the case. The class QCPMarginGroup and QCPLayoutElement::setMarginGroup fix this by allowing to synchronize multiple margins. See the documentation there for details.

Layouts

As mentioned, a QCPLayoutElement may have an arbitrary number of child layout elements and in princple can have the only purpose to manage/arrange those child elements. This is what the subclass QCPLayout specializes on. It is a QCPLayoutElement itself but has no visual representation. It defines an interface to add, remove and manage child layout elements. QCPLayout isn't a usable layout though, it's an abstract base class that concrete layouts derive from, like QCPLayoutGrid which arranges its child elements in a grid and QCPLayoutInset which allows placing child elements freely inside its rect.

Since a QCPLayout is a layout element itself, it may be placed inside other layouts. This way, complex hierarchies may be created, offering very flexible arrangements.

LayoutsystemSketch0.png
LayoutsystemSketch1.png
Sketch of the default QCPLayoutGrid accessible via QCustomPlot::plotLayout. The left image shows the outer and inner rect of the grid layout itself while the right image shows how two child layout elements are placed inside the grid layout next to each other in cells (0, 0) and (0, 1).

The top level plot layout

Every QCustomPlot has one top level layout of type QCPLayoutGrid. It is accessible via QCustomPlot::plotLayout and contains (directly or indirectly via other sub-layouts) all layout elements in the QCustomPlot. By default, this top level grid layout contains a single cell which holds the main axis rect.

Examples

Adding a plot title is a typical and simple case to demonstrate basic workings of the layout system.

// first we create and prepare a plot title layout element:
QCPPlotTitle *title = new QCPPlotTitle(customPlot);
title->setText("Plot Title Example");
title->setFont(QFont("sans", 12, QFont::Bold));
// then we add it to the main plot layout:
customPlot->plotLayout()->insertRow(0); // insert an empty row above the axis rect
customPlot->plotLayout()->addElement(0, 0, title); // insert the title in the empty cell we just created
layoutsystem-addingplottitle.png

Arranging multiple axis rects actually is the central purpose of the layout system.

customPlot->plotLayout()->clear(); // let's start from scratch and remove the default axis rect
// add the first axis rect in second row (row index 1):
customPlot->plotLayout()->addElement(1, 0, new QCPAxisRect(customPlot));
// create a sub layout that we'll place in first row:
QCPLayoutGrid *subLayout = new QCPLayoutGrid;
customPlot->plotLayout()->addElement(0, 0, subLayout);
// add two axis rects in the sub layout next to eachother:
subLayout->addElement(0, 0, new QCPAxisRect(customPlot));
subLayout->addElement(0, 1, new QCPAxisRect(customPlot));
subLayout->setColumnStretchFactor(0, 3); // left axis rect shall have 60% of width
subLayout->setColumnStretchFactor(1, 2); // right one only 40% (3:2 = 60:40)
layoutsystem-multipleaxisrects.png
qcustomplot/documentation/html/classQCPItemEllipse.html0000644000175000017500000024271712236016575023655 0ustar dermanudermanu QCPItemEllipse Class Reference

An ellipse. More...

Inheritance diagram for QCPItemEllipse:
Inheritance graph

Public Functions

 QCPItemEllipse (QCustomPlot *parentPlot)
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const topLeft
QCPItemPosition *const bottomRight
QCPItemAnchor *const topLeftRim
QCPItemAnchor *const top
QCPItemAnchor *const topRightRim
QCPItemAnchor *const right
QCPItemAnchor *const bottomRightRim
QCPItemAnchor *const bottom
QCPItemAnchor *const bottomLeftRim
QCPItemAnchor *const left
QCPItemAnchor *const center

Signals

void selectionChanged (bool selected)

Protected Types

enum  AnchorIndex

Protected Functions

virtual void draw (QCPPainter *painter)
virtual QPointF anchorPixelPoint (int anchorId) const
QPen mainPen () const
QBrush mainBrush () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

An ellipse.

QCPItemEllipse.png
Ellipse example. Blue dotted circles are anchors, solid blue discs are positions.

It has two positions, topLeft and bottomRight, which define the rect the ellipse will be drawn in.

Constructor & Destructor Documentation

QCPItemEllipse::QCPItemEllipse ( QCustomPlot parentPlot)

Creates an ellipse item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemEllipse::setPen ( const QPen &  pen)

Sets the pen that will be used to draw the line of the ellipse

See Also
setSelectedPen, setBrush
void QCPItemEllipse::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used to draw the line of the ellipse when selected

See Also
setPen, setSelected
void QCPItemEllipse::setBrush ( const QBrush &  brush)

Sets the brush that will be used to fill the ellipse. To disable filling, set brush to Qt::NoBrush.

See Also
setSelectedBrush, setPen
void QCPItemEllipse::setSelectedBrush ( const QBrush &  brush)

Sets the brush that will be used to fill the ellipse when selected. To disable filling, set brush to Qt::NoBrush.

See Also
setBrush
double QCPItemEllipse::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemEllipse::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

QPointF QCPItemEllipse::anchorPixelPoint ( int  anchorId) const
protectedvirtual

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented from QCPAbstractItem.

QPen QCPItemEllipse::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

QBrush QCPItemEllipse::mainBrush ( ) const
protected

Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item is not selected and mSelectedBrush when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/LayoutsystemSketch0.png0000644000175000017500000003253312236016574023623 0ustar dermanudermanu‰PNG  IHDRh(Üã*sBIT|dˆ pHYsÂÂnÐu>tEXtSoftwarewww.inkscape.org›î< IDATxœíÝy|Tå¡Çÿïd23Ù a › eÂ&»µE+‹¨E±Š×¥Tíb+­ÚÛ^mû»íýÝöÚzmýiµj¸`ÜØÙ!¬kÙȾÍLfžßCÄÑÏûõÊ æÌ™ç<çÌr¾çyžsŽÍc¾ÖBZ» õ€@ ˆ@D "€@ ˆ@D "€@RhKìóù´`Á½úꫪ¬¬l©Åð•©)S¦hÆŒ m™]w‹‚×_]?üpKÀ×ʪU«Ô®];M:µEÊo±.ƒwÞy§¥ŠàkiÖ¬Y-Vv‹‚ššš–*€¯¥êêê+»Åº Ηššª#F\­Å¾@>ŸOv»½µ«ñµ³~ýzååå]•e]µ@0hÐ Í;÷j-ðÙºu«ŠŠŠtÓM7Éét¶vu¾V&Ož|Õ§.hß¾}ÊÉÉQEE…>þøcùýþÖ®ZЬcÇŽi÷îÝÖãÂÂBmÙ²¥k„–ôµ UUUúè£ôÑGéã?ÖéÓ§[lYÚ°aƒJKKµzõê+*kÞ¼yêÖ­›RSSµuëÖfç)//ך5k4gÎíٳ炉¾ªªJëׯ׬Y³´|ùrÕÖÖ^QÝZZQQ‘õžmܸQEEEAÏßqÇzóÍ7¯z½Š‹‹•––Ö¤>—ª¼¼\K—.ý‚kõÅÛ´i“NŸ>­;vèøñã­]´° íüÏ ãõzU^^þ¹–_UU¥ºººÏõZ|N¦…Œ=ÚH²þ&Mšô…–ÿâ‹/^Ñë÷ìÙc$™ÌÌLÓ·o_fn¿ývãñx®¨Üyóæ™ââbë±ßï7cÇŽ5Ï<󌩫«3©©©fÞ¼yŸ»ü¸¸8óÚk¯™‚‚‚fë:oÞ<kúöíkn¾ùf“œœlÆg ƒæ[¾|¹ILL4]»v5·Þz«ÉÈÈ0·Þzëç®—1Ƙ… ^Q³xñbj† bLhh¨ùùÏn=?|øpó·¿ýí’ʪªª2ÿüç?¿zåççIæôéÓ—4ÿæÍ›ÍŽ;¬Ç›6m2-øU¼leeeæ­·Þ šöñÇ›ØØXS\\l^~ùeÓ«W/SWW×J5ÄÕàõzÛí6n·ÛÌ;×Ì™3Çäææ·ÛÝìoÏòåËͲeË̺uëÌñãÇ1Æ™uëÖ]t9ǸÝî&ÓwìØaŽ;öŬÌx½ÞVù¯_¿Þœ9sæ’æ4iRоtôèÑ-V¯Vo!0Æ\ök õÔSO}®òÎ?Z^½zµ²²²”““£µk×jöìÙ—UfãçŒ1š9s¦JKK­iK–,ÑÎ;õÓŸþT.—KO>ù¤ž|òÉÏì‡kn™¥¥¥*++Óˆ#”˜˜(‡Ãôü‘#G4mÚ4=÷ÜsÊÊÊÒ| #GŽÈn·ëÑGµæ;vì˜n½õVýô§?UNNŽ–,Y¢hþüù­ÓùÎ_‡ùóçëÃ?¼äõ¹œçÄÇÇkóæÍ*((М9sôÇ?þQ›7o¾ì²ßÿ}-\¸0hZãSe1<:¹œÏlsó>÷ÜsÚ»wï%—q¹Ë¼Ò×-^¼Xï¾ûnд™3gê‡?ü¡Ú¶m«ûï¿_•••zýõ×?Wpm •Óé Dèp8ät:›üöHRee¥Æ§ŒŒ íØ±C%%%Í–{þïÆÁƒU\\ü™õñûý—üy¾ÔqÇŽÓ©S§.øüùËknù>Ÿ¯Ù×6ž~~}† ¢6mÚMû2ŒÍhµ@››« &(::Z©©©úïÿþokcoذA={ö šÿ–[nÑìÙ³uäÈ 2DJNNÖĉ%š]§NªèèhuéÒ%¨éø±ÇÓo¼¡‰'Êáp4Û Ö¾}{õéÓGÇŽ³¦=÷ÜsJIIQ›6môÈ#í æÎ«ŒŒ 9¥¥¥)''Gƒ ÒÉ“'5lØ0uëÖM’ôÒK/iÆŒŠ•$=üðÃ*))ÑŠ+šÝ.Û·o×!C®ôôtýë_ÿ’$eeeé[ßú–$iøðáÍ^©êÅ_Ô€ôÀXÓÂÃÃõ§?ýI .ÔÑ£G%IøÃ4hР&¡*<<\’ô“ŸüDÏ<óŒ5ýðáÃJNN–Çã‘$ýýïWJJŠœN§ºt颵k×êÕW_ÕÏþs½õÖ[JNN¶v›7oVff¦ÂÂÂÔ³gO-Y²Ä*÷µ×^Ó£>ªx@.—K]ºtÑ| ßþö·Š‰‰Q÷îÝõ—¿ü¥Ùíd³ÙtÇw(11QŸ~úi³ó,\¸P Ó!C´cÇkúƒ>¨¥K—*99YüãuôèQÅÄÄhÞ¼y’¤'Ÿ|R;w¶ÊêÓ§fÍš¥îÝ»+22RwÜqGPðkÌãñhæÌ™JJJR\\œî½÷^•••I’f̘¡ùóçëÇ?þ±’““µÿþfËhð׿þU]ºt‘ÓéTjjªþïÿþO’ôÄOè¿øEм'NÔ_ÿúWI+šõë×OaaaêÛ·¯V­ZeÍ÷›ßüF?úѬÇ%%%JNNV~~¾æÎ«GyDK–,Qrr²þ÷ÿW»víÒöíÛõÄOH’œN§~ô£éÕW_½hÝñõc·Û• äää&çË×ÔÔhéÒ¥Z¶l™ÕEYZZªœœíÛ·O¸`¹[¶lÑš5kôá‡êرcª®®ÖòåË­çwïÞ­œœÕÕÕiÅŠZ¶l™>úè#UUUI ìSBGAA¶nÝªŠŠ egg+;;[{öì ZÞþýûµyóf­]»V‹/Vvv¶V¯^­eË–éðáÃ’¤ŠŠ -[¶LëÖ­ÓÒ¥K­ßÇ•+WjûöíZ¹r¥Œ1Ú¸q£Ö¯_¯E‹iåÊ•ª¬¬Ô–-[T\\,¿ß¯¥K—jýúõZµj•6nÜxåo•h©¦‡Ïê26l˜™:uª9zô¨ùðÃMçÎͬY³Œ1ƬZµÊÄÇÇÍ?xð`óòË/cŒÙ°aƒ‰ˆˆzþ¾ûî3&L0§N2[¶l1aaafïÞ½Æc¦M›fͬY³Laa¡ñz½V—AUU•1&ÐÜݶm[³hÑ"cŒ1K–,1IIIfóæÍ¦¤¤Ädffšßþö·Æc¶oßnœN§ùË_þbJJJÌÖ­[ßï7UUUF’9tè1ÆŸÏg¢££›t 2Äüâ¿h²ÍÊËËM»víÌ¿ÿû¿›üü|óú믛ÈÈH³gÏcL ùM’9|øp³Ûüæ›o6?þx³Ï…‡‡›÷Þ{ÏcLff¦ùÝï~×ì|Æ3}úô r8`$™ºº:SQQaìv»Yµj•ñz½fË–-VÉc=fzè!ëu%%%&..Î<û쳦  À¼úê«&""ÂdggcŒyá…ŒÍf3o½õ–©®®6O<ñ„q¹\桇2UUUæ½÷Þ3N§Óz/^l¬òOŸ>mœN§Ù°aƒ1&¸Ë`÷îÝ&,,Ìüãÿ0æÙgŸ5 ¦¢¢ÂcÌo~ó3qâD«¬²²2sçwš]»vcŒY°`yôÑG­çÍ AƒLAAÉÊÊ2ƒ 2=ö˜1¦i—Áo~óÓ«W/³nÝ:³ÿ~óíoÛL›6Í*«oß¾AÝë2ظq£9pà€ñù|æïÿ»‰ŽŽ6~¿ß¬^½Ú$$$¯×kŒ |~ív»ÉÉÉ1¹¹¹&<<ÜüÏÿü),,4/¼ð‚‰ˆˆ0¹¹¹Æcžxâ ó½ï}ÏZFÃçªáù_þò—æÎ;ï´žÿóŸÿlºuëT¯•+WšSRRÒl½ñÕÒÐePPPpÁy.\h*++M~~¾Y¼x±©©© ê2ذaƒÉÉÉ1ÆsèÐ!³iÓ&cL  -//¯Iy» ü~¿1Æ˜ŠŠ ³|ùrcŒ1+V¬°¾Ïï¿ÿ¾©««3[·n5Ÿ~ú©1ƘãÇ[Ë^·n)**2Æ~7–½sçNsäÈ‘&ËÞ»w¯Ù²e‹1Ƙ£GšÅ‹¿ßoêêêÌ|ÐdþmÛ¶YÝ$ .´~ ÊËËÍŠ+Œ1Æ>|Ø|òÉ'Aõñù|æí·ß6555ƘÀ÷ªa|å» >¬M›6éé§ŸVZZšÆ¯Ûo¿]¯½öÚç*Ïãñè­·ÞÒŒ3®ë®»N½{÷Ö|`Í3tèPÝ{ï½JHHº1ÄäÉ“5zôhõîÝ[<òˆÕâðÚk¯iâĉJOO—ÍfÓĉ­£Ûùóç«wïÞúÉO~¢øøxeffÊf³5©×©S§TYY©ôôô ééééÍ~ðÁª®®Ö³Ï>«¤¤$Ýÿý4hÞxãKÚJLLlö¹6mÚ(??_’”——§ÔÔÔK*ó|¡¡¡ ×®]»d³Ù4xð`µmÛ¶Ùy/^,ŸÏ§_ÿú×JLLÔƒ>¨¾}û]z³S§Nš6mš"""tÏ=÷ÈívkæÌ™ŠŒŒÔw¾óÅÅÅiýúõÖü555ú¯ÿú/ýô§?ÕСC5iÒ$ >¼É²gÏž­¾}ûêPbb¢~ýë_ËãñµP4«ùóç«_¿~’¤Ûo¿]ûÛß‚æ™1c†Õ·o_MŸ>Ýj½9߬Y³tï½÷jäÈ‘êÙ³§fΜ©¹sç~®«w6L ѸqãTYY©¢¢"=ZQQQVKÓ¢E‹”™™©®]»jÁ‚jÛ¶­~ö³Ÿ)!!A?üáÕ±cG½ýöÛ—½|)ФÛÜgØï÷+;;ûs•‰¯ŸÏ§Ý»wëôéÓ5j”ÕâØ ´´TÉÉÉ’¤¤¤¤ ¶°5çÔ©SÚ¾}»öìÙ£úúzIR—.]tâÄ •••)22R.—K¥¥¥JJJ²–q¡n‹KÑЪ©èèhÙl6¹\.«¥ØívëÀÖÑ~C½–-I.—K555*//×™3gÙd9aaaÖ¶ŠŒŒ´Z5ZC«‚ÜÜ\9õîÝÛš–™™©C‡]ð5æ"}G§N’ÏçÓ< ŒŒ eddèäÉ“AMVÝ»woöµ>ø nºé&Ùl6«IT’Nž<©yóæYåýõ¯µú„Nœ8¡Áƒæz6|à»té4½k×®VrcyyyêÕ«WP`ù¬íÒXJJŠ š}îÌ™3ÖŽ;99Y………—T¦¼íÃÃÃõþûïë7ÞP÷îÝõüクËËËS¿~ýrîc6hР õiß¾½õÿèèèf§5þ‚cT^^®ÔÔTýýï¿à¸‡ÜÜ\õïßßz¢^ò¶lNãzõéÓG§OŸ–×ëm2_^^ž `=4hü~¿Ž9rÙËüè£4uêT 8Ðê&òù|²Ùlš>}ºæÌ™#)pïiÓ¦IjºîÒÅ?GûnIÏq×®]ƒ¦¥¦¦Z?À€8X>|¸ú÷ïoíLs:Ö™Ln·»ÙqÍ©®®Öþýû5`ÀõíÛךޱcGååå)77×êÞ;‡Ý° ›Ífý~74í–Æ¿[ÿßàÀr:2dHИÍf³].—RRR”““£„„õèÑã¢ËimWíJ…%$$ÈëõêÔ©SêØ±£¤ÀN¶a‡ÕøÍkp±SW^÷¯ý«Ù£EI¼äæ„ ©¥K—ê—¿ü¥^|ñEI#ê|PÏ=÷\“×ÄÇÇ[ýñÓ°ƒ«©©QLLŒ5½¦¦Æz®±„„8q"hZãíòYz÷îÔ¯Ö`×®]r»Ý4h¤ÀÎlåÊ•zòÉ'›-çüíþ¶5j”²²²´hÑ"=øàƒ ÕôéÓ›]ŸóOO;qâDÐŽµ¹÷åb_ÈÈHýá¸àó—}þØ‚ËÙ–Í©¨¨°þòäIEGG7û£vþz7¼§ç"ú,555ºï¾ûôÞ{ïiðàÁ:qâDи†éÓ§«_¿~*((ÐÚµk­–¤„„-[¶,¨¬'Nè†nx`ú¬Ó¢££›ô{½^¹Ýîf?Ç@sÒÒÒ´gÏedd(;;[:u’8B.((PLLŒ¢¢¢š¼ÎívËëõª¢¢"hŒ—ÃáPtt´rssõÍo~S’Ô¹sgíÛ·OÆåääXß—ØØXåääÈn·+''Ç:" Saa¡ÚµkwÙŸåÚÚZ…††ª¸¸X§OŸV\\\³ó•––*--MÆUUU}©¿3­Mzô衎;Z#Ò=V¬X¡1cÆH ÁVTTXG4‡²rH¨ºº:UVVZ¯¿þz½ýöÛA?t—š%éùçŸ×+¯¼¢íÛ·K’ÆŒ£%K–íÜn·¤@3î¦M›‚ŽÆ1 “Ãá°Ž¾Û·o/—Ë¥œœœ e>|¸É—$1B¥¥¥Öà·²²2mܸÑÚ.Ÿå±ÇÓž={‚ŽÚ+++5sæLMš4I:t$=þøãZ¾|¹^~ùå ×7)&''[ÛARP×Kã#âI“&é–[n±v¼111A-£FÒ©S§´oß>IÁk[¶lÑØ±c/i}®Ä7Þ¨mÛ¶éÌ™3’ÍÞGŽѨQ£$>3ëjŒÑâÅ‹­Öˆ'NhݺuAe6t7c´|ùr :´Ùe7NË–-³BÕ‡~¨ôôt¥¤¤Hjº.dÛ¶mª¨¨°ZÒV®\ô|ZZš¨_ÿú×9r¤ÕL9vìXíß¿ß "………Ú±cGÐ÷kÛ¶mV9ßßæ¶M—.]š|†Z;šûãëéüà’aí”{ôè¡®]»êôéÓêÒ¥‹®»î:IRFF†l6[“ïDJJŠâââÔ¦M¥§§ëÈ‘#êÔ©“222¬yRSSmµª¦¥¥)##CùùùêСƒzõêeÕ-66V'OžT¿~ý¬ßÂnݺ)<<¼Éuh¬ƒ‡ÈÈÈ  Þ°žýû÷—ÏçS~~¾†ªøøø&Û¡!èØl6y½^­]»V^¯W;wVDD„l6[Pw\jjj³¡èªi©Á Ÿ5¨péÒ¥&&&ÆŒ9Ò¤¦¦š+?nÜ8“˜˜h¾ûÝïš~ýú™¡C‡Zƒ Ýn·éر£>|¸58oëÖ­¦}ûö&--ÍLž<ÙtéÒŬ_¿ÞTØø|ucL“A…ÆóÐC™AƒŸÏgjjjÌ7Þh"##Í„ ÌàÁƒÍÏ~ö3cL`°à„ ŒËå2ãÇ7Ö@–›nºÉ¤§§›ûî»ÏÔ××›‘#Gšßÿþ÷Ö2|>ŸIJJºàùúÏ?ÿ¼q:füøñ&::ÚL™2Åø|>cÌg*4&02..Îddd˜±cÇšøøx3vìXk@Mƒ7ß|ÓDFFšîÝ»›ñãÇ›Zë·oß>eln¹åsÛm·›Ífêêê̦M›LFF†¹ÿþûÍ”)SL\\œÉÊÊ2Æù8N3uêT³`ÁcŒ1üã­õ‰ŠŠ2wÝu—5@è…^0#FŒ°êtèС&ïI·nݬ²ÎTx¾ó¯CðàƒšÈÈH3~üxãt:Í3Ï\6›M»wïVvv¶\.—FŒÔ¾}ûveggkĈVªÎÉÉQVV–ºvíÔ·——§¢¢"kZmm­¶lÙôžlÙ²EݺuS»vítæÌegg_°[hçÎJJJ ê’ÈÊÊÒáÇշoß&ýw{÷îUVV–233Õ½{wÍž=[&LP||¼<¨ƒêÖ[o•$ôæ›o*66Vyyy6l˜õYlx_†n}>êêê´iÓ&ÕÔÔhذaAÛÈ£¥K—ª¼¼\·Ür‹Œ1úä“O‚ê¯~ýúéÌ™3Z½zµbbbtã7j×®]êÓ§µœýû÷kàÀÖ‘HcÙÙÙÚ»w¯ÒÓÓƒÆëH«+~üñÇŠˆˆÐ7Þ¨O>ùDýû÷·ÊÍÊÊÒÞ½{5tèPuíÚUßøÆ7ôÔSOY]CcÆŒÑ-·ÜÒäÔG|uäååéã?nvŒÉu×]§¶B­ÊË˵}ûvÅÆÆZ]¡_FeeeÚ¹s§ìv»<ºwï®´´´Ë*còäÉZ´h‘õxôèÑZ³fÍ[Ñ-•4ZúJ…× Çc `Þ~ûmã÷û͈#®ø*‹—ãÃ?4Ö©:ø|ÍÒ¥K[»MüêW¿ :¥±¥,^¼ØdddÇcÖ¬Yc:wîlÊËË[|¹h]4sæÌ ú[»v­Õʇ–w5[ZePá׉ÃáЂ tðàA•––êÑGÕÝwß}Õ–?~üxÍž=[YYY;v,÷3ÿŠ˜5k–Ö¯_¯ \•‹™L˜0A>ŸOEEE2Æè½÷ÞkÒ"¯ž=z¨ªªÊ'oµ⫇@ptíÚÕꮸša Ám·ÝvÕ—ùUó»ßý.h0SkëØ±£233õÔSO]µ}“'O–|ú%¾úú÷ï¯êêj9sF£G:-_-×ä;[ã“VHÅîÖ® l’lgÿšÌó8˜ÿö÷µÖHú²Üä¯ëX…u« ’6|Yê„Ïåü.zsþ¿æÜÿ[‡MþäarÇVëíüðÏžýk.Þ!LÚ5?DìKíš å^é±P€ÖÓB$Ùm¿Ð)Ävî\Ö¯@®ŠÆ!ÀÉwö¯þì¿~<ßÕg—#U|挴 Wz%SЏÆzh¯¹@°®ˆ0ÐÚvô! „gˆä:û¯ól(°“€ËbŒäW xý’Û'yü’÷ìc¿ |÷Z·µ—¢Ö'­*n½Æz×®¹@PÖôJ±h ;}gH G…J‘¡R˜=0Ín»p€`F0àóB@Oª®üŸä·k=Àµ¡ôÜW]sà|6]›}5ת†¼Ý&9B¤p»íâRŒ# œ!R¨-\š†.‚:ŸTUè-÷þ_ç;×J@&ør*v_ûïÍ5ÂíÒË_ÞëR¾¾·ùÚïÎþòÜf ´pžJ_nßµÞøwåê®ò60ÛhE×|— I[òëTTëSçèP(õê»=>ßÃîþ0_krk”ª÷tj2(òde½Þ?V­Ãe^u‹uhb×H¥F5ý-;Q£-ùu*wûÕ«­SwtR´óË•¿Kê|úûÞÀydq®õkçÒ°”À=2ÎÔùÔîå#ª|´›¢W§Þ; ݺé_y:3ãò/´t²²^ï©Òú5 ÚÖt Ä£Enh®¥Ç«õpïØÖ®Ь/×/p ªÒGÇk¬Ç•¿îxÿ´Âì6uŒvè‘U…Ú’_wÙ垬¬×;9U:|šv5ÖäÖªÿœZ—W«¤»6®Õ€9'´áT­5OÏhò’Sš±²PuõFmÃBôvv¥Šë>çâÓŠUØ“…µ>=½¡Xuõ~­Ë«Õ­‹Oéß–|ö ÏSPãÓ¿o<ó…×ïb²ŠÝz!«Ìz|´Â«ÿgkÉU­CsÖŸªÕûϬï3Ò´òUWoÔ>Ò®ÿÚ^ªwWµb £…WMaOnŸQ¤Ã¦5¹µ™®„p»<>£Íùu2’†%‡ÉÙè"•¿6çשÞo4$9Lv›MÞYª›:E(΢ÁIazeo¹ºÄ:ôÍN’¤÷Óï·•hÑ„æO.®õiG¡[q®e&…YgCì.vËbÓž3¥Å8”Üèª"~#ý`U¡~10^OŠ·¦?¿«L­.²Zþ–U¦¥^íœÖIq®@Þ~:óܺ.÷j@Bà´£@ËÆÀD—!6¹}FëòjUWoÔ?Á¥ŽÑ¡:\æÕ‹»Ë5,%\]cêÝ6p7‚Ÿ>)¬SbD¨&ž;ÍæX…WÑΕ¹ý:PâÑ€—R£B•g 9ÌIDATSîÕá2¯Æt—뼋D<;4pß÷5¹µ»0Wÿ9¼m“yÞ¿…uJ·k`R˜lg·Ë YeÚœ_§ÍùuêçMÒÚ¼ZÝÖ-ÐJ³èHµnH S»p»ŽWÖ+2Ô¦ _{Ïx40ÑÕl Kƒ“•õÚ]ìVç˜sëîñýeg™<>£Ì¤:õjã¼àë%©èìû-I7¤„)ڢܪzÕÕu;w‡ÕìRbœ!J‰ U½ßh[[¿†$‡Yïeµ×¯OK½AÛ|K~ú'¸ä7ÒŸw–)!Ü®Œ6NõkçÒûG«Uéñë¾žÑ ±éWƒÛèw[K4¥{+Þ󸮚wTiÙñ)÷ªct¨zµu*Ê¢q så3R¼+Dù5>mønE9B´³È­›ßÍSB¸]cÚsÆ#gˆM‡Ë½²çÖêXE½úßèÒÛ«4£÷¹íLï­ßm9£J¿I3ýúSµš¸ø”2“Âôi©G=Û8õÞÄöÊ*öèå½åòø^Ú]®{2¢•|6`HÒÎ"·ŽUxõ£þÁMÒßï«'×kßz·uêÕ½zâú8kÒØ'EnM_š¯ct‘ر ›wR§a!øö ¥D†*%®§6kÇ´Nú索ðø5ûÓ õjëRï¶môá±jMý0_£Rõ½ Nc:Dè훓e“ô?Ÿ”i‰G~céѺ¼Zý¨_œÖåÕªMXˆ¾·4_›¾Û1hGØ`XJ`'_æö+é¼K¬­8Q£Ûß?­Ú‡+«È­!ÉaZxkŠÖåÕjéñÕÔë¥ÝåšÑ'VûK 8ØT{ýú·—*-Æ¡qUxüAÏÿ`U¡þ66Qßˈ–ÛgÔgöq½ØÙM½.J[òë¬íÖ?Á¥^mj›¦v´Žî%© ¦^Y÷tVˆMúý¶=³¹¤I ¨òúõ£5…úhrªF¦†«ÂãW‡Õ=¢t{÷(­É­•ËnÓŸÎ~6NW×7»]c]!:8=ÍêþéÿÖ «õÂã7Úš_§ÁÉaÚxªVN»MÃÛ‡ëO;Jå²Û”==Mv›ôŸ[Kôã5EZ{G‡‹¾‡÷õŒÑ²5êï´BÊö‚:Mév®5Ài·©K¬C›N×ð¥Ã\U×'¸¬0 INÕª¶ÞèñµEz|m‘ÎÔù´»Ø#IÚVP§[Òš96VTë“×ot]£×›Ô-ΡܪàD•ׯ¬b·Æ Ž›Æt׺¼Z])ÏÙÑñ~#ëhðrtŽqhHr˜Fü_®Þ?Z}Á œœ¨¬×‰ÊzëX‡ðP›F¦¯Ãä0kØ«­K™I.«[¤W[§öž ¾+XØ_«ËëÇ´£Ð­÷'µ $’”_ãSN¹×Z¦ËnÓ¨Ô o·ðP›†&‡Õ'²ÑÀÄa)áV}F´×®¢¦w)ÛwÆ#·ÏXƒcœ!’¦?Ç{URçÓ‚CUúÕ¦3*÷øUéñ+ÄØÏÉ®”$-8\¥»Ó£eS iTj¸uùíouŽÐ¦Ón«ËuºÚ§ëâƒ[c®‹s*¯ªù´&®ª˜óšð+=~uŽqhXJ˜†¥„éWƒÛè^1ò©ÚkïºøÝAÎR‹rïÄ¢!ò÷^[xܸ!ÎbM¿˜ŽÑåUÕ7™·Îg”WU¯NÑ¡ ±I©‘ve—z>³<)ø;»MZv[ªf^¯§7žÑøåÉŲ̂¶Þ/»MŠm¼ö z…5êÿ·I k4osQ¥î‡ÝUøý®zR{õl¦?¾¶Þ/›t¶Aìy˼ª£(Gˆ<>£óWµ¶Þ(<4$(\]ê{ÕØŽB·úÌ>¡â:ŸnìÔrÏÍ?T%¯ßháá*Ý“m-;ø3bW½ßÈëoR¼êýMëÞÀHV×Mc‘›8»_F´ªÞm]*wû4õºhëohr˜ì6©[¬C›N7=" µ;"O·ËnS“#®SÕõjÞ`µ„p»#ìÚ^pîˆt[;¨9ûB$¸”ãÐK{ʃ¦¿´»\©Q¡|öˆø®ôh=¿«¬Ùóé£!V‹†8­±›tg(m»«£v»•Uä–íìô†õíãËnÓ΢ÆëPwIëðyuŠv(Êb Ì“Má Ë µÙ¬ú50ø¿$jtC’Enuu4¹ÌuÏ6N•»}:R~nÞmùuê}¶;&4äÒ®Yðâî2Ýÿý O¬ÆvW™ûÜ^½{œCÝãzaW™â]võ:»>½Û:ÏûŒÔ©k¬Cá¡6kÀfM}óïa¨Í&ÏÙ÷×&))"T§š|6}J‰¼Ænƒ‡¯Æ Uýôú8 œsBS?8­›Ó"u¸Ü«ouŠÐ¨Ôp=¯'Ö+·ª^)‘¡JŒ°ë®ë¢•ïÔ›*ë ÑÍiêÕÖ¥mn«Û  Æ§ÜÊze&…5YÞ³CÚê±5…Ú_§ýgÏí¦¦cÎb“^—¨Ûß?­=Ån Htiw±GóV꽉í­#ï_ Œ×êÜZ ™{RwöˆR|˜]ûK<úÓÈvêÙÆ©Gˆ~°ªP#Ú‡kö§•Öðö‚:½{¤Zƒ]:ZQ/›¤îqN…ؤqNýyg™ÆwŽÐwºDêéÌ6ºoi¾í«Íùu*¨ñéß¾sÁº_)»Múõà6z`yë«n­ðZçÓ§Ç;ôŸÛêôÖ§•”äÒÞ3=¸¢@Çÿ­‹ÂBmJy刞“¨{3GàŸºõ‹õÅJ·ë;JõCš Lаë}ã4iÉ)=Ô;VËŽ×(Öe×”n‘’¤Œx§þôI©æ ×°³a¬Êã×SŠ­2n륎Q¡š¨J}Û9µòd­jëƒóï7ë‰ëÏ9òø€x ž{B¯,TZt¨þ¶»\ÿuCàLŒn±%„Û5cenì¡·²+ƒZd2Ú85'»R½Ûº4:5\×'º´­ Î:¦Þo´³°N/ŽM¸â÷ø¢ÙŸ}öÙg[¢à7ÞxCÇ·gddè®»îºârw—KŸ6º'·#Dšrñ±>øÒ°©}T¨ú6tí Ñ=ÑÊ«öiïÃíúvçHE:BÔ?Á¥I.(ñ¨Ôí׸J‰ ÕÐä0¯¬×Ñ ¯ÆvˆP¥×¯å'jt÷Ù&ß×öU¨ÞÎ8_fR˜ú¶sig‘[¢Cõâ¸D¥DžÍÅ6›¢!Ñ>¼Éë$)-Æ¡»Ó£UáñkßædWêåuk—HkžðÐMï£ø0»ŽTÔëTu½Òã–.§Ý¦[»D*»Ä«‚ZŸþcHu‹uœ=­Í®%m+pËHz~t‚u:ÞˆöáÚQX'_º¡}¸F¥NAÜYäVz§^—¨¸³]+6I=âÖ8 ÛÙ––qγmêã°´E:B4¦CÓõµÉ¦ÐiL‡ÙClº¡}¸ÒãÚUäV÷¸À2Û†–Ù#ΩðÐÀ Î^mJŽ UM½Ñ¤n‘rØm:YY¯owŽTJd¨–¯Q¿—2âÊ.ójFŸX=ÐëÜûí Ñ g·ÿ-i‘jf×îb&†éoc¬î¾í\ª«7Ú]ìÖà¤0µ ·+"Ô¦ÐsñNMé-¯ßè“B·&t‰Ô=ÑêíPòÙ÷¼ct¨~³¹Dÿøf’bÏžë ÑÔë¢u´Â«r·_Og¶Ñ¤³í6›&vÒ¡2¯NU×ë—™m”ÑÆ©Ìä0…‡Ú4 Á¥2·_ûK<ž¦Gˆ^ÝW¡ô ¬ãâ#ÕÚ^àÖo‡µåN _1ïänUÝ gŒôE\'kîܹÊÎζ§¥¥éþûï¿ò‚›a3¦en¨9fÌ­]»Öz¹ÅÃcŸv.õ9ÛMöe¼×Ѐ@àªùvç‹_Wâj¹>Ñ¥ë/ÿRÀW§ €@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@ ˆ@D "€@RhkWàJÕú¤Û[»€¯³Z_k×àÊ]óÀH*r·v-¸¶]s]ñŽÖ®w î«®¹@0.I ··v-h^„]•ÐÚµ¸|×\—A„]z~€ôq‘TêmíÚpN;—ôͤÀ¾êZsÍ)°ÁoëÐÚµà«ãšë2_< ˆ@D "€@ ˆ@D "I¡WkAÛ·o×]wÝuµÀ5oûöíWmYW-äååiÞ¼yWkqà2´X—AdddK À×RDDD‹•Ýbà¾ûîk©¢øZš2eJ‹•m3Ƙ–(¸¾¾^/¿ü²ÞyçUWW·Ä"øZˆŽŽÖC=¤;î¸Cv»½E–Ñb\;8íˆ@D "€@ ˆ@D "€@ ˆ@D ’þÔª¬»C‡ IEND®B`‚qcustomplot/documentation/html/core_8cpp.html0000644000175000017500000000357512236016574021725 0ustar dermanudermanu src/core.cpp File Reference
core.cpp File Reference
#include "core.h"
#include "painter.h"
#include "layer.h"
#include "axis.h"
#include "layoutelements/layoutelement-axisrect.h"
#include "layoutelements/layoutelement-legend.h"
#include "layoutelements/layoutelement-plottitle.h"
#include "plottable.h"
#include "plottables/plottable-graph.h"
#include "item.h"

Detailed Description

qcustomplot/documentation/html/dir_17cee08e17148530a7aedf85f92ee362.html0000644000175000017500000001155712236016575025272 0ustar dermanudermanu src/items/ Directory Reference
items Directory Reference

Files

file  item-bracket.cpp
file  item-bracket.h [code]
file  item-curve.cpp
file  item-curve.h [code]
file  item-ellipse.cpp
file  item-ellipse.h [code]
file  item-line.cpp
file  item-line.h [code]
file  item-pixmap.cpp
file  item-pixmap.h [code]
file  item-rect.cpp
file  item-rect.h [code]
file  item-straightline.cpp
file  item-straightline.h [code]
file  item-text.cpp
file  item-text.h [code]
file  item-tracer.cpp
file  item-tracer.h [code]
qcustomplot/documentation/html/layout_8h_source.html0000644000175000017500000015101012236016574023323 0ustar dermanudermanu src/layout.h Source File
layout.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_LAYOUT_H
27 #define QCP_LAYOUT_H
28 
29 #include "global.h"
30 #include "layer.h"
31 
32 class QCPLayout;
33 class QCPLayoutElement;
34 class QCustomPlot;
35 
36 class QCP_LIB_DECL QCPMarginGroup : public QObject
37 {
38  Q_OBJECT
39 public:
40  QCPMarginGroup(QCustomPlot *parentPlot);
41  ~QCPMarginGroup();
42 
43  // non-virtual methods:
44  QList<QCPLayoutElement*> elements(QCP::MarginSide side) const { return mChildren.value(side); }
45  bool isEmpty() const;
46  void clear();
47 
48 protected:
49  // non-property members:
50  QCustomPlot *mParentPlot;
51  QHash<QCP::MarginSide, QList<QCPLayoutElement*> > mChildren;
52 
53  // non-virtual methods:
54  int commonMargin(QCP::MarginSide side) const;
55  void addChild(QCP::MarginSide side, QCPLayoutElement *element);
56  void removeChild(QCP::MarginSide side, QCPLayoutElement *element);
57 
58 private:
59  Q_DISABLE_COPY(QCPMarginGroup)
60 
61  friend class QCPLayoutElement;
62 };
63 
64 
65 class QCP_LIB_DECL QCPLayoutElement : public QCPLayerable
66 {
67  Q_OBJECT
69  Q_PROPERTY(QCPLayout* layout READ layout)
70  Q_PROPERTY(QRect rect READ rect)
71  Q_PROPERTY(QRect outerRect READ outerRect WRITE setOuterRect)
72  Q_PROPERTY(QMargins margins READ margins WRITE setMargins)
73  Q_PROPERTY(QMargins minimumMargins READ minimumMargins WRITE setMinimumMargins)
74  Q_PROPERTY(QSize minimumSize READ minimumSize WRITE setMinimumSize)
75  Q_PROPERTY(QSize maximumSize READ maximumSize WRITE setMaximumSize)
77 public:
78  explicit QCPLayoutElement(QCustomPlot *parentPlot=0);
79  virtual ~QCPLayoutElement();
80 
81  // getters:
82  QCPLayout *layout() const { return mParentLayout; }
83  QRect rect() const { return mRect; }
84  QRect outerRect() const { return mOuterRect; }
85  QMargins margins() const { return mMargins; }
86  QMargins minimumMargins() const { return mMinimumMargins; }
87  QCP::MarginSides autoMargins() const { return mAutoMargins; }
88  QSize minimumSize() const { return mMinimumSize; }
89  QSize maximumSize() const { return mMaximumSize; }
90  QCPMarginGroup *marginGroup(QCP::MarginSide side) const { return mMarginGroups.value(side, (QCPMarginGroup*)0); }
91  QHash<QCP::MarginSide, QCPMarginGroup*> marginGroups() const { return mMarginGroups; }
92 
93  // setters:
94  void setOuterRect(const QRect &rect);
95  void setMargins(const QMargins &margins);
96  void setMinimumMargins(const QMargins &margins);
97  void setAutoMargins(QCP::MarginSides sides);
98  void setMinimumSize(const QSize &size);
99  void setMinimumSize(int width, int height);
100  void setMaximumSize(const QSize &size);
101  void setMaximumSize(int width, int height);
102  void setMarginGroup(QCP::MarginSides sides, QCPMarginGroup *group);
103 
104  // introduced virtual methods:
105  virtual void update();
106  virtual QSize minimumSizeHint() const;
107  virtual QSize maximumSizeHint() const;
108  virtual QList<QCPLayoutElement*> elements(bool recursive) const;
109 
110  // reimplemented virtual methods:
111  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
112 
113 protected:
114  // property members:
115  QCPLayout *mParentLayout;
116  QSize mMinimumSize, mMaximumSize;
117  QRect mRect, mOuterRect;
118  QMargins mMargins, mMinimumMargins;
119  QCP::MarginSides mAutoMargins;
120  QHash<QCP::MarginSide, QCPMarginGroup*> mMarginGroups;
121 
122  // introduced virtual methods:
123  virtual int calculateAutoMargin(QCP::MarginSide side);
124  // events:
125  virtual void mousePressEvent(QMouseEvent *event) {Q_UNUSED(event)}
126  virtual void mouseMoveEvent(QMouseEvent *event) {Q_UNUSED(event)}
127  virtual void mouseReleaseEvent(QMouseEvent *event) {Q_UNUSED(event)}
128  virtual void mouseDoubleClickEvent(QMouseEvent *event) {Q_UNUSED(event)}
129  virtual void wheelEvent(QWheelEvent *event) {Q_UNUSED(event)}
130 
131  // reimplemented virtual methods:
132  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const { Q_UNUSED(painter) }
133  virtual void draw(QCPPainter *painter) { Q_UNUSED(painter) }
134  virtual void parentPlotInitialized(QCustomPlot *parentPlot);
135 
136 private:
137  Q_DISABLE_COPY(QCPLayoutElement)
138 
139  friend class QCustomPlot;
140  friend class QCPLayout;
141  friend class QCPMarginGroup;
142 };
143 
144 
145 class QCP_LIB_DECL QCPLayout : public QCPLayoutElement
146 {
147  Q_OBJECT
148 public:
149  explicit QCPLayout();
150 
151  // reimplemented virtual methods:
152  virtual void update();
153  virtual QList<QCPLayoutElement*> elements(bool recursive) const;
154 
155  // introduced virtual methods:
156  virtual int elementCount() const = 0;
157  virtual QCPLayoutElement* elementAt(int index) const = 0;
158  virtual QCPLayoutElement* takeAt(int index) = 0;
159  virtual bool take(QCPLayoutElement* element) = 0;
160  virtual void simplify();
161 
162  // non-virtual methods:
163  bool removeAt(int index);
164  bool remove(QCPLayoutElement* element);
165  void clear();
166 
167 protected:
168  // introduced virtual methods:
169  virtual void updateLayout();
170 
171  // non-virtual methods:
172  void sizeConstraintsChanged() const;
173  void adoptElement(QCPLayoutElement *el);
174  void releaseElement(QCPLayoutElement *el);
175  QVector<int> getSectionSizes(QVector<int> maxSizes, QVector<int> minSizes, QVector<double> stretchFactors, int totalSize) const;
176 
177 private:
178  Q_DISABLE_COPY(QCPLayout)
179  friend class QCPLayoutElement;
180 };
181 
182 
183 class QCP_LIB_DECL QCPLayoutGrid : public QCPLayout
184 {
185  Q_OBJECT
187  Q_PROPERTY(int rowCount READ rowCount)
188  Q_PROPERTY(int columnCount READ columnCount)
189  Q_PROPERTY(QList<double> columnStretchFactors READ columnStretchFactors WRITE setColumnStretchFactors)
190  Q_PROPERTY(QList<double> rowStretchFactors READ rowStretchFactors WRITE setRowStretchFactors)
191  Q_PROPERTY(int columnSpacing READ columnSpacing WRITE setColumnSpacing)
192  Q_PROPERTY(int rowSpacing READ rowSpacing WRITE setRowSpacing)
194 public:
195  explicit QCPLayoutGrid();
196  virtual ~QCPLayoutGrid();
197 
198  // getters:
199  int rowCount() const;
200  int columnCount() const;
201  QList<double> columnStretchFactors() const { return mColumnStretchFactors; }
202  QList<double> rowStretchFactors() const { return mRowStretchFactors; }
203  int columnSpacing() const { return mColumnSpacing; }
204  int rowSpacing() const { return mRowSpacing; }
205 
206  // setters:
207  void setColumnStretchFactor(int column, double factor);
208  void setColumnStretchFactors(const QList<double> &factors);
209  void setRowStretchFactor(int row, double factor);
210  void setRowStretchFactors(const QList<double> &factors);
211  void setColumnSpacing(int pixels);
212  void setRowSpacing(int pixels);
213 
214  // reimplemented virtual methods:
215  virtual void updateLayout();
216  virtual int elementCount() const;
217  virtual QCPLayoutElement* elementAt(int index) const;
218  virtual QCPLayoutElement* takeAt(int index);
219  virtual bool take(QCPLayoutElement* element);
220  virtual QList<QCPLayoutElement*> elements(bool recursive) const;
221  virtual void simplify();
222  virtual QSize minimumSizeHint() const;
223  virtual QSize maximumSizeHint() const;
224 
225  // non-virtual methods:
226  QCPLayoutElement *element(int row, int column) const;
227  bool addElement(int row, int column, QCPLayoutElement *element);
228  bool hasElement(int row, int column);
229  void expandTo(int newRowCount, int newColumnCount);
230  void insertRow(int newIndex);
231  void insertColumn(int newIndex);
232 
233 protected:
234  // property members:
235  QList<QList<QCPLayoutElement*> > mElements;
236  QList<double> mColumnStretchFactors;
237  QList<double> mRowStretchFactors;
238  int mColumnSpacing, mRowSpacing;
239 
240  // non-virtual methods:
241  void getMinimumRowColSizes(QVector<int> *minColWidths, QVector<int> *minRowHeights) const;
242  void getMaximumRowColSizes(QVector<int> *maxColWidths, QVector<int> *maxRowHeights) const;
243 
244 private:
245  Q_DISABLE_COPY(QCPLayoutGrid)
246 };
247 
248 
249 class QCP_LIB_DECL QCPLayoutInset : public QCPLayout
250 {
251  Q_OBJECT
252 public:
256  enum InsetPlacement {ipFree
257  ,ipBorderAligned
258  };
259 
260  explicit QCPLayoutInset();
261  virtual ~QCPLayoutInset();
262 
263  // getters:
264  InsetPlacement insetPlacement(int index) const;
265  Qt::Alignment insetAlignment(int index) const;
266  QRectF insetRect(int index) const;
267 
268  // setters:
269  void setInsetPlacement(int index, InsetPlacement placement);
270  void setInsetAlignment(int index, Qt::Alignment alignment);
271  void setInsetRect(int index, const QRectF &rect);
272 
273  // reimplemented virtual methods:
274  virtual void updateLayout();
275  virtual int elementCount() const;
276  virtual QCPLayoutElement* elementAt(int index) const;
277  virtual QCPLayoutElement* takeAt(int index);
278  virtual bool take(QCPLayoutElement* element);
279  virtual void simplify() {}
280  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
281 
282  // non-virtual methods:
283  void addElement(QCPLayoutElement *element, Qt::Alignment alignment);
284  void addElement(QCPLayoutElement *element, const QRectF &rect);
285 
286 protected:
287  // property members:
288  QList<QCPLayoutElement*> mElements;
289  QList<InsetPlacement> mInsetPlacement;
290  QList<Qt::Alignment> mInsetAlignment;
291  QList<QRectF> mInsetRect;
292 
293 private:
294  Q_DISABLE_COPY(QCPLayoutInset)
295 };
296 
297 #endif // QCP_LAYOUT_H
qcustomplot/documentation/html/QCPGraph.png0000644000175000017500000002235712236016574021267 0ustar dermanudermanu‰PNG  IHDRÂÈô–vÀsBITÛáOà pHYsÄÄ•+ IDATxœíÝg\×ðw–EŠH Ælˆ]!¸¹‚ D„kŒ=Æ57Æ$b×Xc 4¶ ö1FÔ€ ¢¡ˆ5PQšÔ]Ø=÷ 1ÊêîìtÞÿ§Áìyöì2γgf !À­øøx…BÁñ 4`Nf‰%'ˆ'*ædíœ2Æ£ „PBq4ŠBRÂÃÑh||<÷ƒÒ€9™%–œ ž¨˜“Y´sb©G!ƒ`©G!ƒ`©× s2K,9AU¸7xßÑë.¢¨¸!„×K=BK½V˜“YbÉ â‰Š9™E;'®Ô#„A°Ô#]Qõæ?âû!,õZaÎ׿½¶­#±Ì'ˆ'*æd–z„â–z¤7ŠÂ· BÿÀR¯æd–Xr‚x¢bNfa©G!~`;CzÃRЫ°Ôk…9™%–œ ž¨˜“Y´sÊ™Í8ƒgq"$ØÎDûŠ¥¡Wa©×J,9ÅBDó)–¨˜“Y¸RBüÀv&zXêâ–z­Ä’S,D4Ÿb‰Š9™…¥!„øíLô°Ô#Ä/,õZ‰%§Xˆh>Ås2 K=BñÛ™èa©Gˆ_XêµKN±Ðw>©ê°”í5byé1'³ðšz$5U¼xð‹ß ¢'ù½ŒäŸ ;,õZ‰%§Xˆh>Ås2 K=âBZZÚ‰'ÀËË«U«V|ÇAH°.‰g7,,löìÙžžž„Ó§O¯_¿>((ˆƒq±Ô#ÃR¯•XrrãÞ½{³gϾpáÂÚµk×­[3}úôGéþ"šO±DŜ̢_ê+R¡Pp¶Q—ËA%µ2$ÛcEGG÷ìÙ333333ÓÙÙ9;;»]»v§OŸnß¾=Û“ÉÍÝë.¢¨Ü¿‚O&Ö%Ñã¦óFDDìÙ³gçÎUÿ2zôè   ÀÀ@¶‡ÆRK½VbÉÉ~ýú%$$¤§§W~™šššœœìéé©û#ˆh>Ås2‹vN\©½¸¸8FiذáöíÛ}||Ú´iééé;wî¬[·.C#$pX—ž?~þüyŠ¢zõêeggÇÍ Xê‘Àa©×Jø9oÞ¼زeË   Û·os0¢½½½ŸŸŸ¯¯/}¨ð糊X¢bNfÑΉ7Ê«¤¤¤Þ½{ÛÚÚNš4ÉÊʪW¯^)))Ü ÍÙ-B¬KbÕ§OŸ=zŒ?¾òËÍ›7'$$T^bÄ6Ž[6–z$pXêµx΄„///HJJ€¡C‡^¾|™ïPo#ðù^oÍGð§´’äsb©+‡+W®T}×¢E óHùÛkÛ½Ö%±ŠŒŒ\±bEHHˆ««ëåË—CCCCBB|}}9Zò¥ž›«=ÔÅßG1ÂR¯•ÀsŽ=zÊ”)S¦Lqttœ9sægŸ}ÆÍ>”6Úó)Õ=‹á¿‹V‘|N,õ"6yòä§OŸFGGgee}üñÇ|Ça!$++Kª{R$ Xê‘޸鼄µk׆††j4™L¶hÑ¢)S¦°=h%Éj˜…¥^+±äøjr}ç3<<|×®];wðtãÆ»wïf)›Hé;¥|Š –_%,õHjÖ¬Y3uêTpqq™6mÚ÷ßÏÍÐÜܦ€{x*K°M0†¯…W©.d[YY?¾^½z•_>yòÄÃÃ#??ŸÕAU*Õõë× S§NÆÆÆ¬ŽUEª¯`Í¥^+}sâõo§ï|~ôÑGGŽ©ú2**ª{÷îL‡ú—K—.9::úûû{yy999½zZ®0 üW©æ\΀7ÊCµråJOOϧOŸöéÓçÌ™3G=wî{Ãåää >|ùòå}úô¹víZvvöСCÓÓÓ­¬¬ØTÚª#$ð+ñ§Ç ɯór6âÝ»w—.]úÇtìØqÞ¼yìµ{÷î~ø!**ªê_† 6kÖ,öå‹äߢÃR¯•XrŠùlÞ¼yXXX\\Ü–-[X݇@^^^ãÆ+·+oSиq㜜V%„üúë¯6l¸pá ¾E™…+õ¤W¯^§OŸ.**ªü²  àôéÓ}úôaoÄÂÂBQ£FÅÆÆôïß¿¤¤„½á{$~°Í É7&©>Á „……À¾}û¦M›öÅ_°7Ü´iÓ^¼x±bÅ ###µZ=sæÌ¦M›®X±‚½«Hõä –z­Ä’S,„?Ÿß~ûíŽ;T*Õ£G"##Y݇À¡C‡‚ƒƒŒŒÀÈÈhܸqÐë„?¥â‚+õ1 oß¾}ûö­ü£êlUQQñê©©ÆÆÆjµšíA$~°Í É7&É?AnL:µ°°péÒ¥Ei4š9sæÔ¯_ÕªU ¯ ³°Ôk%–œb!¢ùäæ,ñÅ‹ߺuËÝÝ}Á‚îîî? ÕëðÞƒÌÂRÿ:¼'.ã^ÒªmœRÚ¬¬¬.^¼xìØ±´´´5kÖxyyÉdxæŒ(Iü`°óŠŸä_A.EFFFEEQåççWyN$<Ÿ•°Ôk%–œbóÉ8}§tòäÉ«W¯îÚµk—.]–,Y2kÖ,–‚‰–z„ÄŠ›ƒµøøøýû÷'%%™˜˜€¯¯¯‹‹KPPP§NØZª7¬"‹¯Üs¶¡P(¸þþOF߯úYŽç‡³'Èñí׳'øê]ˆª¶9˜nÞ¢ûöí8p`jjj奮7oÞT(.\òäxƒþ[”p...ŽËáh?GÚ99žU^^DÄ2ŸD¢oÑýû÷wìØ1ëíÚµ‹ŠŠ¢7´Žâââú÷ïooo?pàÀÄÄDVÇ2í×Wª<== ¶oß^VVVRR²uëV¥RéééÉÞˆ±±±~~~]ºt uvvöööþ-\鑸 Hw•°æœÑ%ÕW° gOðæÍ›£Fºsç´nÝz×®]-[¶do8www//¯ÀÀÀÊ/ÃÃÃcbbX½i,_p¥^+z9ËËËËËËó¦j›ãÒ&–×ÄUßœNNNW¯^MIIIMM‹‹cu ׯ_¯<Ú­ü4vРA•‚EûuÇRϘgÏžùúúÚØØØÚÚ¼xñ‚ïDU£qãÆ5â` GGÇØØØª/ýõ×V­Zq0.÷$^—€«Æ¤R© …››[pp0lݺ5))éòåËr9žRf(©–z?–áfJ£££çÌ™óùçŸ{xxÄÄÄ,_¾|Æ ¬~Ëz+S†ä2htttË–-333+×@333›6mzâÄ zCë…ãù¤ Wê'ü)=xð £££\.wrr:rä7ƒÒ†+õ<»wïžB¡¨:¾ (ªk×®ü¦µjÏâä;ÒOFFÆùóçÓÓÓ½¼¼øŽÃiÖ¥WqÓ_Î;7räÈ„„„Ê_^^îâârøðá®]»²=4Bú’êç$|Á•z­ôÊéáááêê:vìØ˜˜˜_~ù%88¸W¯^ÜìC%9ŸüKT±äK =ŸÒ_áìݨ¨¨eË–­ZµJ&“ùøøÌ;—›qBü’ø±ýµk×RSS;tèСC¾³ $x/GfI¶Ô+•J??¿=zìÞ½ÛÍÍmÔ¨Qúž/–Æ„9'–¨bÉ)xúýëBCC•JeRRRxxøµk×rrr–.]ÊÍÐbù$!ÄÉl;88¬[·ÎÕÕµòËøøø9sæT^MÌ6ÉWÎäåAV<ÙÙP«x{þÅ,õÌ’l©/..¶µµ­úÒÖÖ¶¨¨H¯GKc’dÎÒR˜?Z4'#|5!_UØ­ZüÚ³?ÉÊb/à?$9¥è°Ô¿nàÀ{÷î­ú222ÒÛÛ›Ç:·¯H8{ýšfÙ2-¥4¥¯ªözp–²‰ž~_ SSÓ±cÇòéê§Ÿ`×͕Ӧ&oûÝ67#·æwdÓº5…ŸÓ !øÁ6/$_aØC½É™ýùí[WèòýW¯Ë=¬ÏÆP;² Jò¿’-õUh„&ÕfÇ—·ä|üFø‘-+^ê¸—Ž›–z &Ïž1”ï˜RD®Ô#›<‰LS:ijúÏCµñõRŽ (ö©”sD­æÜêPâÛÀG¡|…aÖñã0w¶æÆ¯94þP€REµïa»%LÖ« ÉÒôK=m˜“YÕæT*aÖL²æ»BzlŤYZ8}©ÐõÈzJHò9±Ô#>­^MÚ:–÷ë©_Õ ¾ªÆõ+6nd0Bú‘~ýÄR/X™™Ð©#¹r:¯iµ!só¶Qwo›Ô4ÊÞž©héK½V˜“Yoæü|.™\jà>œZªG”}9±ÿºÄ;¥Â$ùœR>ý Ù•+p1–„]*aäѾ™]ÜÚÝôÆ ÀÛs#îI¿~b©&_ÒãÃâiãK™zÀ•Í“o™Gî–æ)5HȨ¸¸8P(•´lTáfPŠ¢âââ8ë£>zs~¹Ÿ^Án¼úº8p}òÄÖo¼LO» ÎÎÎIIIn””ʇ÷Ûz½~}¥¸Þ¢¸! Ú¯;ÇMñññ …‚³áhrœ“61æ?Ž|P·ôëÏŠ™bþâÚ*³6z@*Æ)2Éç”~ýÄŠ-4YYо¹Ÿkk­aö‘Ÿ=—µq·½™KöˆS¸R¯ædVUÎU« È¿Œñ}(¼o¯ñª\»ÖÐÇÝ” œäsJöôûšs=¯¸äçCD8™5‰™ú7ÍžR²e3ÑóïÅ d,¼ˆS ’»iªˆµ/Ùâ¿“,]ºšÌ™ÃÞý –z­0'³âãã‹‹aý:˜û Ã+K¯ùüÓ’Õ«ˆRIÿD4¥|GЉäsJ¶Ô#Ú»º8W´ieèeKo×¹}E›V²:BÿÀR¸ãú! ùìå ¾ôoD¢£Ÿ™¬ÙV'ö"~ޏ€¥^+ÌɬíÛSžg“½Y߇€·§òî]HI¡ùãb™RÌÉ,,õHèEÕX&ãä'—ÃøQ¥›7s1BXêòó¡YS’v1·^]æO­ÖÃDzνm<¤,,¸Õ\XêµÂœ ŠŒ—ÙœíC I#›¢bï^:?+Š)ÌÉ4,õHÐ6o"¾r<èäÀ’Í›°l!Öa©G¬‹… ã4és8¾ŽL£æ]ìö”¹ºr:.ªi°Ôk…9™²y™4¦äÚµ$ŽÇ•É`b`)RáOi%ÌÉ,,õH rsáÄ (ãeôñ£Ê‚ÂB^G5–zÄ® àòyÕî|>ÖjаZãÆñ5>’>,õZaNFD„“`ÿR¨¼S=÷Æ”nÐïXAàSZs2 K=¢?þ€çÙ¤w7.®\Òf@oÕíÛ‘Ác$qXê‹f΄:F%ß}Áî-Þiî·ò:fK–ð›I–z­0§T*øi©Z\â«Ô@p@Ù®D­ó¥;¥¯ÁœÌÂRçøqpj©nîÀîmñtѶUE£šS§øÎ$ K=bËàAÄ׳ˆ¯S^³e§éÙß-Ä[ç!æa©× sâɸ||½þ¹=¥†*ùrrtúfaNé›0'³°Ô#aÙµ †VYÔJ×±²$ƒúªöìá;’",õˆíÚ’ÍË Üå|ùÇ/¿Õš·Ä2ñ*özÄ0,õZaNÚAYFܺükÊo©€ÞÝTϳɼû;8¥ÕœÌÂRd{ ò/ãø~Nï$“Aàˆ²;øÎ$K=b˜R ’«¿ä6iÄÝMšutûžQwo›G)¹œï(HB°Ôk…9é9|:·¯xsÊ{©€–ÍÔ-šªOž|Ç· mJµÁœÌ¢“Š‹‹…BQùlTárPÜàlÃí?yƒz<úrvýÊý¦³³ók;ЪáeãZz×Èèò¥Ënã[7˜zݱÔ#&eeA»¶$óFŽ™©@ßW…EÔÎv·({{¾£ ©ÀR¯æ¤!2|‡(«Ý‡ ¡Ô@ âÕÿ' jJßs2‹vN\©GLÚA‚ýqõç[û—îØ.Ѓe$FXêcââ 8Psó’nW\ò§òOÝE‘uìÈw$ XêµÂœúÚñ×î«%R2ù—…‡kýáLéÛaNfa©G<+) p„Ð}¥à€²ŸöŸwåGÒ¥1c×.ØY~,2Ÿï ºê;ÂzÂã#øÎÄK½V˜S/Û¶’q#µ6zR©¯4Ö¿4"¼úcLé;aNfa©G|º{nÞ„A}ÅT’‡V%$À£G|ç@⇥1`þ|Pæ—® )â;ˆ~¦~Q§~S“¯¾Ø=TØ`©× sêH­†;ÈØÿ¾cqIh¥Æ, ßoHð>¥:œÌÂRxsæ 4j nÛª‚ï zsîPai¡9žïHä°Ô#Cùù’¾ÿ)š(ŽS^³~«Ù•ÔÚ»"±×#ú°Ôk…9uñü9ÄÄ@À0å;¿S€¥Fú(ƒüŸ¦…/=³$ŸK=2ÈÖ­0ÄSeYG¬ÆÎFã顊ˆà;3,õˆ>µš5%ûà ÎúÓuú:Éx«[·)¡ýÕ$XêµÂœïtìØÛit܇ ³Ô@O·r“Zš3gþù|é™%ùœXê}7©cKøNÁ€©cK7nÀZ†hÂRhº}ºþ‡<¼&ÜÝ뮨˜jÜÉîú ªI¾£ ÂR¯Û9ss!9Ž…“'!- Šè^Ä×|nÜÁeºïC[êÀ¢6í§Ü´é¯/Åò=w.15Nž„£GáÆ ÈÍå;b™OÚ9ñïÌrêéSˆŽ†Ÿ’ßã(c9iÔ|ÐH­*§>–=|,33%ƒØ@ÊÃdÂþ¸¥¸vî ñ§Þv/q™TÒs˜IHebÂw”·R«!&vî ÇCi™s3M£šZÆäÁc£‡(µ†rëJ||©¡C¡n]¾³ÖXê¹ Ñ@T¬]CRR`pÿrßÁe½Üª9I(ó‰,ê¸ÉŽýfÏsdAÔìÙ`mÍKÞw ƒCûËOìÍmñtáác3v‚|̾sh‘—Ë—ÃΤQÍßR_/e½º¯ÿë‚—TLl­ƒÇLOž5îÐf}Fy{žÀ6,õZ1’S£}û c²|‰zÖøÂ§©9»~(ðöTV{¢eÃúšiãKÏäßÿô²][²kW5W|³‘S_›7齸$äR_iêØ’M ï-JDD€S+Rð¬,æ`^üÉÜOǕ֫«ysJ­,ÉðAÊ=› ž¤ä|Tø]ˆºs'õîw«„6ŸÚàJ½ýötì@V¯T/›ÿòÊ©Üე&µtz;·sªûþ塈ü ëÔ={”¶“ê'6JKÈ€Þbº-ž.¼=•ÙÏHBß9þ-9ÜÝÈÖͧöæo\VèÔR­ËO™š¿!ÊÄ3¹ßÍ}¹d¡Ú¹3¹t‰í¤5Ï¥>?’“!9®'“¬,xñrràåK°±KK°´„zõ ³3Õ©´o ò˜T?OŸÂÜ9äò%²:´pˆ'ýÝF?™~¹Øbù *(ˆÁ€ñìOF)Ëß ÑË–¦'/XDJ þñGøæk²ìë¢Àe†tó¨ã&Ÿ}cÑ˃Z±’zï=æò±,3ó¯ýCò5’ ðò%ä烥%¼÷¼÷4h:R;CçÎ`iÉ[Nv£/^))érìœ>^¡PèûS lÚ¡ß’ñ£J¿ú¬„‘“Òo ¶î?@öý÷`lÌLNÚÁÏGs;.G®çòdRR’³³3;¡£*§š¹Ú-_‘2rd{ž“¨`ú4{DoÏoÙ¬ú#P½¦´¨˜únUíí{M¿[HM˜Àé¦z½EÕj¸t ¢£!ú)-…ŽíÔÛ”·o]Ѹڲ±²$6Vš‚BÙóTNž,ó‰ìZŠqÒ ù4yÃdà jð`èÖ jÕb=竸^©ß¼>ŸëܹC…g/eT¸ªc…‘Q5ßfûÏÒÊ?WÈ$§Èœ6™9Íäq–l„?5i´mËAd=ܹã>&åeêߢ_êX¾tÑÚQ}åTîè©V}ûȤìí™z`:/"ŸZ¢ï>T,j“ÙSJvl¯?r$Ÿ1ž>Ÿáä}Ûò¸/ëX0s cQû¯£Ú±3êìýÉh[8Õ´)#̘7`Ë8°Ÿ84Ñx{*£·+;´©þî‹6Öj‡ÆU_•@Eü‘.?õk­óMÒ2ŒV¯á´½q}4š•æ%/¬­ ôÏGF[#MÃ2kÞ>™Jùùï¿Õ ¬] ‹‘/gϘXÊÆÁ²Fß,«½ÿ¨Ù/g©>`þñu‘’ýû‘;ñR8å^›¢bª…ÂîB,åèÈO€û÷¡Ooì_úÕ¬b6Ž+*`ÕfóÌ„PŸ|Âÿ©uåå°olÚHþü&Œ.7²´qÃ×Ï@ÐKn¾LUÇ®^=¦¾×SØ Ü»{ÕÀqh¬^8¯øÁÕ3ÇnÛRѲY¿J˜¾(Q÷e»ôtèæNŽDUÄÌ›5™•}(Èd°p^ñôñÅ=º“Œ :9 ·x™9‘æ'Â_©¯dQ› pwé~þŸHKƒÝÉÿ>-þú³wïCéM©\ŸZrñh޾ݽz’[·èäÔ‹¶·hQ¬Y-š“]áås&>¸ú"dn±ûP°µÖÐÛ‡ÖÄ•zccð¬<{ ïçmùΪš:… Ia!§**`ñbÒ£;3¼øÜÏyÍ+òÚ|úqéwÿ+òèE®_g{¨×ݾ gÏ”`éœr¯¿×ƒ#GàÁ®ÇML„ÞdÙW…ǰ>É­Z¨‹ÎóPìîFV® Üþí‚‚ fMI|¬êðŽüÓûò‡ TòÞ)i30`@fff£Fâãã¹ÙpíÑ#>%%3/¯‘£##®ÝZ|Ð,ÑÍ=çJüûS¦”ÿ™ö§[;Mzbì“»wë[Y%]¼Hoè¬ìíßq#`ŒuaQ­Ðï’[´yÚ¨3Oçv žwëÞÈg¸ª±Å•öMM³ïß7ð™ê¸±z]ãÖíž6nõ€æËÄôëÎÞ†[ßn©iONDåûõQ±=«Uï¾7`¨ì_Ü8­¡ŽQ5¦¦†<Ó¬ü¼áÍZ´¼þã³ð0c‹ŠøòÜ46žà«oÑŒä‡ï “œý,:tNTç0ÿRÒÚ5) z{6VêY]Y¾w-$‡Ãä ÒKííè„·,ƒ¾È•Í_\ûè“å+¨Ñ£i`£Gaò$rjo~yéVÀSnÊûøZ§¥S¶¶4ã3 ïà hÛ†\<šÇàRá[$Ý{XGî¦úõÓ㧘šRB <æI|+Í+2péâM•¿JÏžËVo1ßiêë _Ì£˜„´çSÄ¥¾ZÍšÁ¶p*ñ*•¯4kíf;ëk‹ÇYL>GU9µ1¬m7Û:ö¦ié¼íCÀË Ö®£ú°¾÷Ђƒá¦Ï¯³ „þ>TtÞæ}IÍ©ÃÁX7ÒäƒG[o ×oÊ Š‚qãàfE™™¶v· ÛeÊlÇšm:íË:m»Ù–iÒ5jó!îC !åkêŸ=ƒï¿‡ðm¤oÏòIcJzºt‡öÒ2jÛnÓÌÛ´¥¾_EµiÃTLƒìÛsf“˜ƒyŽÍY[{¸’Rjî·ëֺ˅ÕðwTccX»ŽšõM¥Š­SÕoÞ6ê7ÂzÍZšûP6¦´];8CEî‘?_»™«Ý÷Ížfë½—xž#[fÖÚÝnú×Vžµöí¿ºh‘ö¡5q¥^GVV0}:¤¦Q?l”ý~£¶ãG¶Ý½mVl0O¹)/ëáéã'æk4ë6ĦCOÛ;Yæg~¡¢S]ºp•[g¾ø&DÖÛÇúþCVö¤K×™»¹Sݺ±ñØBׯ´mG­ÞlÆÆƒß¾gÔÏßfÙrjÄ6Þ ]»Â±ãÔñTÊýÚm»ÙöfóÃ6³·¿ÁÊËáFš|Ùzsw/›6î¶ iµÜ*KI¥>ùj׿âóeI¹ÔWK¥‚ àÈ8y‚¨þJ­†åÌ7„›ÿEá:ìÛMŸ:P#ÿk9wjÉŒ %Ún/{ûžÑúmfû›nù‘òöæ6"â–úáñcX½¶G÷ʧ/U8—WÕüÄdùž(Ó}‡Mœ`箚{š½¾>„À1äÎøï°²Q>eÚýu^Dau9ÁxÝVó„kò±S3gBýúü&Eì#œ‹‹‹ã~P¤—³¸˜üø#éÜIS»616&öïiê×Ó´rÔ„†jîÜa5#!â™O¢OÔŒ ²`iÑ\Ó°Æþ=\N,,ˆë‡šmÛHI « Ï”J>'–úÄÜ&L€ (P© ?Ÿ*+ƒ&MøŽ%fŽŽ!!Ôƒ`f66•ºµ¦_°PÓ`©G!ƒàJ½V˜“YbÉ â‰Š9™…§ß#„?°Ô#„A°Ôk…9™%–œ ž¨˜“YXêBˆXêBÈ XêµÂœÌKNOTÌÉ,,õ!Ä,õ!d,õZaNf‰%'ˆ'*æd–z„⇼r¬P(pãÍ øû?(ä©vþþðɃø­ioÑýwêßs2K,9A>^¯×ÿT«ŸÂl6=z´¿¿ñºX0³…R<¾û)jjj\Œà Ãh4Ú78΢v W….6øRûµ¿×gy7€„B …  ™¥!´¯ïmÿ;Og1/(®ò^ø˜råÊ>¦þPëU`ö÷%ïÞ½S«Õ̆/j0 «¨Øá…ovBB“É$71ï¿Ñ{ñbä÷ßkÄÅmôt:s°ΡÉ+:݇N§I$ÝžÎen¼]è·o–‡{,›Åb}ð@û×_ }ªæ.¼]hgç Ñh&^f•ê_žÍgN¼]è½{Ý4Úÿ’¤Ñ°û÷½ý¨÷j¡F£¹µµŸ|xnµÚZZúÉ ëxµP¹|Àbùî¤i±XÛÛ<•Ï|ðj¡÷îiøîÆÀD¢ñT>óÁ{…NM;;m6›}¡ÕŠwvNO=•Õœx¯P©´—òCŽãRiŸûó™'Þ+T"yµ€*ã¥B?~Ôk4ÿ±Ù(f¨Í†k4ÿþøQïþ¬æƒ— •ËV¬ð# :ƒA·/ioãé©YGüq ðçŸÿôt"sã¥3té‚„B …  $2H(dPÈ ¡AB!ƒ„B …  $2H(dPÈ ¡AB!ƒ„B …  $2H(dPÈ ¡AB!ƒ„B …  $2H(dPÈ ¡AB!ƒ„BÆÕu›ž?þöí[(©8袩©i±; ݵk—K!\\«,##ÒXœA£ýF£ý憎222\ae±äääòòr×ãx(£@çPÈ ¡AB!ƒ„B …Œû„Êåòììl>ŸŸ-—Ëí«:::rrrø|¾@ hmm% y<ÇãóùyyyCCCD¡V«åñx³5x<Þ" a>¸I¨F£©««+..nnn>uêT]]ÝË—/ɪëׯŸ hkkKKK¤¤¤Èd²””:~áÂ…¢¢"ŸÊÊJ:ý»áìÝ»·¶¶622211ñÌ™3‹4Ü$”ÅbõõõíÞ½›Øìí툈 «úûûf·²?NNNjµZFC¬KaØäädPPÐÔÔ”Á`|ùò%00оy^^Þ‡ÔjõÍ›7[[[ÏŸ?¿H£³ÇM‡¼@ ‰D¯_¿þúõkOOOmmmff&QuäÈ‘HÔÝÝm6›ß¿åÊÊ …bÏž=Êÿ“––¦P(L&Ó¥K—Î;WXXXQQñíÛ7û&W¯^µZ­û÷ïÏËË#¯‹›fh\\\nnnee%ñÏ6JKKããã‰ªØØØãÇ×ÔÔŒ¯[·.;;›2‚\./,,$7ù|~uuõÈÈHzzzll,@§ÓUUU={–܇Íf—””|úô)$$Äm‡¼«Kd8p`bbâ§žÓˆD¢ÁÁA¡PèïïïJ×Ð)//¾{÷®+A»{ôç›IEND®B`‚qcustomplot/documentation/html/ssCross.png0000644000175000017500000000031712236016575021312 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+qIDAT8Õ’1€ Eß`8‰V'&OÃÊ¡=ƒ‰ ]¥È¤í¦¾x£J¯\@Tæg™¯½¢"ø06lJ^Áµ$ÏÀ’ Ü@šeíDÿ°]XÖÖ;K†$AkÉ® Æ'6`1:Ê@?ar-IEND®B`‚qcustomplot/documentation/html/functions_0x74.html0000644000175000017500000000720412236016575022627 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- t -

qcustomplot/documentation/html/functions_0x6c.html0000644000175000017500000001040012236016575022675 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- l -

qcustomplot/documentation/html/item_8h_source.html0000644000175000017500000010667612236016574022766 0ustar dermanudermanu src/item.h Source File
item.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_H
27 #define QCP_ITEM_H
28 
29 #include "global.h"
30 #include "layer.h"
31 #include "axis.h"
32 
33 class QCPPainter;
34 class QCustomPlot;
35 class QCPItemPosition;
36 class QCPAbstractItem;
37 class QCPAxisRect;
38 
39 class QCP_LIB_DECL QCPItemAnchor
40 {
41 public:
42  QCPItemAnchor(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString name, int anchorId=-1);
43  virtual ~QCPItemAnchor();
44 
45  // getters:
46  QString name() const { return mName; }
47  virtual QPointF pixelPoint() const;
48 
49 protected:
50  // property members:
51  QString mName;
52 
53  // non-property members:
54  QCustomPlot *mParentPlot;
55  QCPAbstractItem *mParentItem;
56  int mAnchorId;
57  QSet<QCPItemPosition*> mChildren;
58 
59  // introduced virtual methods:
60  virtual QCPItemPosition *toQCPItemPosition() { return 0; }
61 
62  // non-virtual methods:
63  void addChild(QCPItemPosition* pos); // called from pos when this anchor is set as parent
64  void removeChild(QCPItemPosition *pos); // called from pos when its parent anchor is reset or pos deleted
65 
66 private:
67  Q_DISABLE_COPY(QCPItemAnchor)
68 
69  friend class QCPItemPosition;
70 };
71 
72 
73 
74 class QCP_LIB_DECL QCPItemPosition : public QCPItemAnchor
75 {
76 public:
83  enum PositionType { ptAbsolute
84  ,ptViewportRatio
85  ,ptAxisRectRatio
86  ,ptPlotCoords
87  };
88 
89  QCPItemPosition(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString name);
90  virtual ~QCPItemPosition();
91 
92  // getters:
93  PositionType type() const { return mPositionType; }
94  QCPItemAnchor *parentAnchor() const { return mParentAnchor; }
95  double key() const { return mKey; }
96  double value() const { return mValue; }
97  QPointF coords() const { return QPointF(mKey, mValue); }
98  QCPAxis *keyAxis() const { return mKeyAxis.data(); }
99  QCPAxis *valueAxis() const { return mValueAxis.data(); }
100  QCPAxisRect *axisRect() const;
101  virtual QPointF pixelPoint() const;
102 
103  // setters:
104  void setType(PositionType type);
105  bool setParentAnchor(QCPItemAnchor *parentAnchor, bool keepPixelPosition=false);
106  void setCoords(double key, double value);
107  void setCoords(const QPointF &coords);
108  void setAxes(QCPAxis* keyAxis, QCPAxis* valueAxis);
109  void setAxisRect(QCPAxisRect *axisRect);
110  void setPixelPoint(const QPointF &pixelPoint);
111 
112 protected:
113  // property members:
114  PositionType mPositionType;
115  QPointer<QCPAxis> mKeyAxis, mValueAxis;
116  QPointer<QCPAxisRect> mAxisRect;
117  double mKey, mValue;
118  QCPItemAnchor *mParentAnchor;
119 
120  // reimplemented virtual methods:
121  virtual QCPItemPosition *toQCPItemPosition() { return this; }
122 
123 private:
124  Q_DISABLE_COPY(QCPItemPosition)
125 
126 };
127 
128 
129 class QCP_LIB_DECL QCPAbstractItem : public QCPLayerable
130 {
131  Q_OBJECT
133  Q_PROPERTY(bool clipToAxisRect READ clipToAxisRect WRITE setClipToAxisRect)
134  Q_PROPERTY(QCPAxisRect* clipAxisRect READ clipAxisRect WRITE setClipAxisRect)
135  Q_PROPERTY(bool selectable READ selectable WRITE setSelectable)
136  Q_PROPERTY(bool selected READ selected WRITE setSelected)
138 public:
139  QCPAbstractItem(QCustomPlot *parentPlot);
140  virtual ~QCPAbstractItem();
141 
142  // getters:
143  bool clipToAxisRect() const { return mClipToAxisRect; }
144  QCPAxisRect *clipAxisRect() const;
145  bool selectable() const { return mSelectable; }
146  bool selected() const { return mSelected; }
147 
148  // setters:
149  void setClipToAxisRect(bool clip);
150  void setClipAxisRect(QCPAxisRect *rect);
151  void setSelectable(bool selectable);
152  void setSelected(bool selected);
153 
154  // reimplemented virtual methods:
155  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const = 0;
156 
157  // non-virtual methods:
158  QList<QCPItemPosition*> positions() const { return mPositions; }
159  QList<QCPItemAnchor*> anchors() const { return mAnchors; }
160  QCPItemPosition *position(const QString &name) const;
161  QCPItemAnchor *anchor(const QString &name) const;
162  bool hasAnchor(const QString &name) const;
163 
164 signals:
165  void selectionChanged(bool selected);
166 
167 protected:
168  // property members:
169  bool mClipToAxisRect;
170  QPointer<QCPAxisRect> mClipAxisRect;
171  QList<QCPItemPosition*> mPositions;
172  QList<QCPItemAnchor*> mAnchors;
173  bool mSelectable, mSelected;
174 
175  // reimplemented virtual methods:
176  virtual QCP::Interaction selectionCategory() const;
177  virtual QRect clipRect() const;
178  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const;
179  virtual void draw(QCPPainter *painter) = 0;
180  // events:
181  virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged);
182  virtual void deselectEvent(bool *selectionStateChanged);
183 
184  // introduced virtual methods:
185  virtual QPointF anchorPixelPoint(int anchorId) const;
186 
187  // non-virtual methods:
188  double distSqrToLine(const QPointF &start, const QPointF &end, const QPointF &point) const;
189  double rectSelectTest(const QRectF &rect, const QPointF &pos, bool filledRect) const;
190  QCPItemPosition *createPosition(const QString &name);
191  QCPItemAnchor *createAnchor(const QString &name, int anchorId);
192 
193 private:
194  Q_DISABLE_COPY(QCPAbstractItem)
195 
196  friend class QCustomPlot;
197  friend class QCPItemAnchor;
198 };
199 
200 #endif // QCP_ITEM_H
qcustomplot/documentation/html/hierarchy.html0000644000175000017500000004367412236016575022026 0ustar dermanudermanu Class Hierarchy
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
oCQCPBarDataHolds the data of one single data point (one bar) for QCPBars
oCQCPCurveDataHolds the data of one single data point for QCPCurve
oCQCPDataHolds the data of one single data point for QCPGraph
oCQCPItemAnchorAn anchor of an item to which positions can be attached to
|\CQCPItemPositionManages the position of an item
oCQCPLayerA layer that may contain objects, to control the rendering order
oCQCPLayerableBase class for all drawable objects
|oCQCPAbstractItemThe abstract base class for all items in a plot
||oCQCPItemBracketA bracket for referencing/highlighting certain parts in the plot
||oCQCPItemCurveA curved line from one point to another
||oCQCPItemEllipseAn ellipse
||oCQCPItemLineA line from one point to another
||oCQCPItemPixmapAn arbitrary pixmap
||oCQCPItemRectA rectangle
||oCQCPItemStraightLineA straight line that spans infinitely in both directions
||oCQCPItemTextA text label
||\CQCPItemTracerItem that sticks to QCPGraph data points
|oCQCPAbstractPlottableThe abstract base class for all data representing objects in a plot
||oCQCPBarsA plottable representing a bar chart in a plot
||oCQCPCurveA plottable representing a parametric curve in a plot
||oCQCPGraphA plottable representing a graph in a plot
||\CQCPStatisticalBoxA plottable representing a single statistical box in a plot
|oCQCPAxisManages a single axis inside a QCustomPlot
|oCQCPGridResponsible for drawing the grid of a QCPAxis
|\CQCPLayoutElementThe abstract base class for all objects that form the layout system
| oCQCPAbstractLegendItemThe abstract base class for all entries in a QCPLegend
| |\CQCPPlottableLegendItemA legend item representing a plottable with an icon and the plottable name
| oCQCPAxisRectHolds multiple axes and arranges them in a rectangular shape
| oCQCPLayoutThe abstract base class for layouts
| |oCQCPLayoutGridA layout that arranges child elements in a grid
| ||\CQCPLegendManages a legend inside a QCustomPlot
| |\CQCPLayoutInsetA layout that places child elements aligned to the border or arbitrarily positioned
| \CQCPPlotTitleA layout element displaying a plot title text
oCQCPLineEndingHandles the different ending decorations for line-like items
oCQCPMarginGroupA margin group allows synchronization of margin sides if working with multiple layout elements
oCQCPPainterQPainter subclass used internally
oCQCPRangeRepresents the range an axis is encompassing
oCQCPScatterStyleRepresents the visual appearance of scatter points
\CQCustomPlotThe central class of the library. This is the QWidget which displays the plot and interacts with the user
qcustomplot/documentation/html/item-curve_8h_source.html0000644000175000017500000003672112236016574024101 0ustar dermanudermanu src/items/item-curve.h Source File
item-curve.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_CURVE_H
27 #define QCP_ITEM_CURVE_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 #include "../lineending.h"
32 
33 class QCPPainter;
34 class QCustomPlot;
35 
36 class QCP_LIB_DECL QCPItemCurve : public QCPAbstractItem
37 {
38  Q_OBJECT
40  Q_PROPERTY(QPen pen READ pen WRITE setPen)
41  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
42  Q_PROPERTY(QCPLineEnding head READ head WRITE setHead)
43  Q_PROPERTY(QCPLineEnding tail READ tail WRITE setTail)
45 public:
46  QCPItemCurve(QCustomPlot *parentPlot);
47  virtual ~QCPItemCurve();
48 
49  // getters:
50  QPen pen() const { return mPen; }
51  QPen selectedPen() const { return mSelectedPen; }
52  QCPLineEnding head() const { return mHead; }
53  QCPLineEnding tail() const { return mTail; }
54 
55  // setters;
56  void setPen(const QPen &pen);
57  void setSelectedPen(const QPen &pen);
58  void setHead(const QCPLineEnding &head);
59  void setTail(const QCPLineEnding &tail);
60 
61  // reimplemented virtual methods:
62  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
63 
64  QCPItemPosition * const start;
65  QCPItemPosition * const startDir;
66  QCPItemPosition * const endDir;
67  QCPItemPosition * const end;
68 
69 protected:
70  // property members:
71  QPen mPen, mSelectedPen;
72  QCPLineEnding mHead, mTail;
73 
74  // reimplemented virtual methods:
75  virtual void draw(QCPPainter *painter);
76 
77  // non-virtual methods:
78  QPen mainPen() const;
79 };
80 
81 #endif // QCP_ITEM_CURVE_H
qcustomplot/documentation/html/index.html0000644000175000017500000004725212236016575021153 0ustar dermanudermanu QCustomPlot 1.1.0 Documentation
QCustomPlot 1.1.0 Documentation
qcp-doc-logo.png

Below is a brief overview of and guide to the classes and their relations. If you are new to QCustomPlot and just want to start using it, it's recommended to look at the tutorials and examples at

http://www.qcustomplot.com/

This documentation is especially helpful as a reference, when you're familiar with the basic concept of how to use QCustomPlot and you wish to learn more about specific functionality. See the class overview for diagrams explaining the relationships between the most important classes of the QCustomPlot library.

The central widget which displays the plottables and axes on its surface is QCustomPlot. Every QCustomPlot contains four axes by default. They can be accessed via the members xAxis, yAxis, xAxis2 and yAxis2, and are of type QCPAxis. QCustomPlot supports an arbitrary number of axes and axis rects, see the documentation of QCPAxisRect for details.

Plottables

Plottables are classes that display any kind of data inside the QCustomPlot. They all derive from QCPAbstractPlottable. For example, the QCPGraph class is a plottable that displays a graph inside the plot with different line styles, scatter styles, filling etc.

Since plotting graphs is such a dominant use case, QCustomPlot has a special interface for working with QCPGraph plottables, that makes it very easy to handle them:
You create a new graph with QCustomPlot::addGraph and access them with QCustomPlot::graph.

For all other plottables, you need to use the normal plottable interface:
First, you create an instance of the plottable you want, e.g.

QCPCurve *newCurve = new QCPCurve(customPlot->xAxis, customPlot->yAxis);

add it to the customPlot:

customPlot->addPlottable(newCurve);

and then modify the properties of the newly created plottable via the newCurve pointer.

Plottables (including graphs) can be retrieved via QCustomPlot::plottable. Since the return type of that function is the abstract base class of all plottables, QCPAbstractPlottable, you will probably want to qobject_cast the returned pointer to the respective plottable subclass. (As usual, if the cast returns zero, the plottable wasn't of that specific subclass.)

All further interfacing with plottables (e.g how to set data) is specific to the plottable type. See the documentations of the subclasses: QCPGraph, QCPCurve, QCPBars, QCPStatisticalBox.

Controlling the Axes

As mentioned, QCustomPlot has four axes by default: xAxis (bottom), yAxis (left), xAxis2 (top), yAxis2 (right).

Their range is handled by the simple QCPRange class. You can set the range with the QCPAxis::setRange function. By default, the axes represent a linear scale. To set a logarithmic scale, set QCPAxis::setScaleType to QCPAxis::stLogarithmic. The logarithm base can be set freely with QCPAxis::setScaleLogBase.

By default, an axis automatically creates and labels ticks in a sensible manner. See the following functions for tick manipulation:
QCPAxis::setTicks, QCPAxis::setAutoTicks, QCPAxis::setAutoTickCount, QCPAxis::setAutoTickStep, QCPAxis::setTickLabels, QCPAxis::setTickLabelType, QCPAxis::setTickLabelRotation, QCPAxis::setTickStep, QCPAxis::setTickLength,...

Each axis can be given an axis label (e.g. "Voltage (mV)") with QCPAxis::setLabel.

The distance of an axis backbone to the respective viewport border is called its margin. Normally, the margins are calculated automatically. To change this, set QCPAxisRect::setAutoMargins to exclude the respective margin sides, set the margins manually with QCPAxisRect::setMargins. The main axis rect can be reached with QCustomPlot::axisRect().

Plot Legend

Every QCustomPlot owns one QCPLegend (as legend) by default. A legend is a small layout element inside the plot which lists the plottables with an icon of the plottable line/symbol and a description. The Description is retrieved from the plottable name (QCPAbstractPlottable::setName). Plottables can be added and removed from the legend via QCPAbstractPlottable::addToLegend and QCPAbstractPlottable::removeFromLegend. By default, adding a plottable to QCustomPlot automatically adds it to the legend, too. This behaviour can be modified with the QCustomPlot::setAutoAddPlottableToLegend property.

The QCPLegend provides an interface to access, add and remove legend items directly, too. See QCPLegend::item, QCPLegend::itemWithPlottable, QCPLegend::addItem, QCPLegend::removeItem for example.

Multiple legends are supported via the layout system (as a QCPLegend simply is a normal layout element).

User Interactions

QCustomPlot supports dragging axis ranges with the mouse (QCPAxisRect::setRangeDrag), zooming axis ranges with the mouse wheel (QCPAxisRect::setRangeZoom) and a complete selection mechanism.

The availability of these interactions is controlled with QCustomPlot::setInteractions. For details about the interaction system, see the documentation there.

Further, QCustomPlot always emits corresponding signals, when objects are clicked or doubleClicked. See QCustomPlot::plottableClick, QCustomPlot::plottableDoubleClick and QCustomPlot::axisClick for example.

Items

Apart from plottables there is another category of plot objects that are important: Items. The base class of all items is QCPAbstractItem. An item sets itself apart from plottables in that it's not necessarily bound to any axes. This means it may also be positioned in absolute pixel coordinates or placed at a relative position on an axis rect. Further, it usually doesn't represent data directly, but acts as decoration, emphasis, description etc.

Multiple items can be arranged in a parent-child-hierarchy allowing for dynamical behaviour. For example, you could place the head of an arrow at a fixed plot coordinate, so it always points to some important area in the plot. The tail of the arrow can be anchored to a text item which always resides in the top center of the axis rect, independent of where the user drags the axis ranges. This way the arrow stretches and turns so it always points from the label to the specified plot coordinate, without any further code necessary.

For a more detailed introduction, see the QCPAbstractItem documentation, and from there the documentations of the individual built-in items, to find out how to use them.

Layout elements and layouts

QCustomPlot uses an internal layout system to provide dynamic sizing and positioning of objects like the axis rect(s), legends and the plot title. They are all based on QCPLayoutElement and are arranged by placing them inside a QCPLayout.

Details on this topic are given on the dedicated page about the layout system.

Performance Tweaks

Although QCustomPlot is quite fast, some features like translucent fills, antialiasing and thick lines can cause a significant slow down. If you notice this in your application, here are some thoughts on how to increase performance. By far the most time is spent in the drawing functions, specifically the drawing of graphs. For maximum performance, consider the following (most recommended/effective measures first):

  • use Qt 4.8.0 and up. Performance has doubled or tripled with respect to Qt 4.7.4. However QPainter was broken and drawing pixel precise things, e.g. scatters, isn't possible with Qt >= 4.8.0. So it's a performance vs. plot quality tradeoff when switching to Qt 4.8.
  • To increase responsiveness during dragging, consider setting QCustomPlot::setNoAntialiasingOnDrag to true.
  • On X11 (GNU/Linux), avoid the slow native drawing system, use raster by supplying "-graphicssystem raster" as command line argument or calling QApplication::setGraphicsSystem("raster") before creating the QApplication object. (Only available for Qt versions before 5.0)
  • On all operating systems, use OpenGL hardware acceleration by supplying "-graphicssystem opengl" as command line argument or calling QApplication::setGraphicsSystem("opengl") (Only available for Qt versions before 5.0). If OpenGL is available, this will slightly decrease the quality of antialiasing, but extremely increase performance especially with alpha (semi-transparent) fills, much antialiasing and a large QCustomPlot drawing surface. Note however, that the maximum frame rate might be constrained by the vertical sync frequency of your monitor (VSync can be disabled in the graphics card driver configuration). So for simple plots (where the potential framerate is far above 60 frames per second), OpenGL acceleration might achieve numerically lower frame rates than the other graphics systems, because they are not capped at the VSync frequency.
  • Avoid any kind of alpha (transparency), especially in fills
  • Avoid lines with a pen width greater than one
  • Avoid any kind of antialiasing, especially in graph lines (see QCustomPlot::setNotAntialiasedElements)
  • Avoid repeatedly setting the complete data set with QCPGraph::setData. Use QCPGraph::addData instead, if most data points stay unchanged, e.g. in a running measurement.
  • Set the copy parameter of the setData functions to false, so only pointers get transferred. (Relevant only if preparing data maps with a large number of points, i.e. over 10000)

Preprocessor Define Flags

QCustomPlot understands some preprocessor defines that are useful for debugging and compilation:

QCUSTOMPLOT_COMPILE_LIBRARY
Define this flag when you compile QCustomPlot as a shared library (.so/.dll)
QCUSTOMPLOT_USE_LIBRARY
Define this flag before including the header, when using QCustomPlot as a shared library
QCUSTOMPLOT_CHECK_DATA
If this flag is defined, the QCustomPlot plottables will perform data validity checks on every redraw. This means they will give qDebug output when you plot inf or nan values, they will not fix your data.
qcustomplot/documentation/html/namespaceQCP.html0000644000175000017500000005116412236016575022341 0ustar dermanudermanu QCP Namespace Reference
QCP Namespace Reference

Enumerations

enum  MarginSide
enum  AntialiasedElement
enum  PlottingHint
enum  Interaction

Functions

bool isInvalidData (double value)
bool isInvalidData (double value1, double value2)
void setMarginValue (QMargins &margins, QCP::MarginSide side, int value)
int getMarginValue (const QMargins &margins, QCP::MarginSide side)

Detailed Description

The QCP Namespace contains general enums and QFlags used throughout the QCustomPlot library

Enumeration Type Documentation

Defines the sides of a rectangular entity to which margins can be applied.

See Also
QCPLayoutElement::setAutoMargins, QCPAxisRect::setAutoMargins
Enumerator:
msLeft 

0x01 left margin

msRight 

0x02 right margin

msTop 

0x04 top margin

msBottom 

0x08 bottom margin

msAll 

0xFF all margins

msNone 

0x00 no margin

Defines what objects of a plot can be forcibly drawn antialiased/not antialiased. If an object is neither forcibly drawn antialiased nor forcibly drawn not antialiased, it is up to the respective element how it is drawn. Typically it provides a setAntialiased function for this.

AntialiasedElements is a flag of or-combined elements of this enum type.

See Also
QCustomPlot::setAntialiasedElements, QCustomPlot::setNotAntialiasedElements
Enumerator:
aeAxes 

0x0001 Axis base line and tick marks

aeGrid 

0x0002 Grid lines

aeSubGrid 

0x0004 Sub grid lines

aeLegend 

0x0008 Legend box

aeLegendItems 

0x0010 Legend items

aePlottables 

0x0020 Main lines of plottables (excluding error bars, see element aeErrorBars)

aeItems 

0x0040 Main lines of items

aeScatters 

0x0080 Scatter symbols of plottables (excluding scatter symbols of type ssPixmap)

aeErrorBars 

0x0100 Error bars

aeFills 

0x0200 Borders of fills (e.g. under or between graphs)

aeZeroLine 

0x0400 Zero-lines, see QCPGrid::setZeroLinePen

aeAll 

0xFFFF All elements

aeNone 

0x0000 No elements

Defines plotting hints that control various aspects of the quality and speed of plotting.

See Also
QCustomPlot::setPlottingHints
Enumerator:
phNone 

0x000 No hints are set

phFastPolylines 

0x001 Graph/Curve lines are drawn with a faster method. This reduces the quality especially of the line segment joins. (Only relevant for solid line pens.)

phForceRepaint 

0x002 causes an immediate repaint() instead of a soft update() when QCustomPlot::replot() is called. This is set by default on Windows-Systems to prevent the plot from freezing on fast consecutive replots (e.g. user drags ranges with mouse).

phCacheLabels 

0x004 axis (tick) labels will be cached as pixmaps, increasing replot performance.

Defines the mouse interactions possible with QCustomPlot.

Interactions is a flag of or-combined elements of this enum type.

See Also
QCustomPlot::setInteractions
Enumerator:
iRangeDrag 

0x001 Axis ranges are draggable (see QCPAxisRect::setRangeDrag, QCPAxisRect::setRangeDragAxes)

iRangeZoom 

0x002 Axis ranges are zoomable with the mouse wheel (see QCPAxisRect::setRangeZoom, QCPAxisRect::setRangeZoomAxes)

iMultiSelect 

0x004 The user can select multiple objects by holding the modifier set by QCustomPlot::setMultiSelectModifier while clicking

iSelectPlottables 

0x008 Plottables are selectable (e.g. graphs, curves, bars,... see QCPAbstractPlottable)

iSelectAxes 

0x010 Axes are selectable (or parts of them, see QCPAxis::setSelectableParts)

iSelectLegend 

0x020 Legends are selectable (or their child items, see QCPLegend::setSelectableParts)

iSelectItems 

0x040 Items are selectable (Rectangles, Arrows, Textitems, etc. see QCPAbstractItem)

iSelectOther 

0x080 All other objects are selectable (e.g. your own derived layerables, the plot title,...)

Function Documentation

bool QCP::isInvalidData ( double  value)
inline

Returns whether the specified value is considered an invalid data value for plottables (i.e. is nan or +/-inf). This function is used to check data validity upon replots, when the compiler flag QCUSTOMPLOT_CHECK_DATA is set.

bool QCP::isInvalidData ( double  value1,
double  value2 
)
inline

This is an overloaded function.

Checks two arguments instead of one.

void QCP::setMarginValue ( QMargins &  margins,
QCP::MarginSide  side,
int  value 
)
inline

Sets the specified side of margins to value

See Also
getMarginValue
int QCP::getMarginValue ( const QMargins &  margins,
QCP::MarginSide  side 
)
inline

Returns the value of the specified side of margins. If side is QCP::msNone or QCP::msAll, returns 0.

See Also
setMarginValue
qcustomplot/documentation/html/inherit_graph_9.png0000644000175000017500000000202012236016575022717 0ustar dermanudermanu‰PNG  IHDR]#y;‘%bKGDÿÿÿ ½§“ÅIDAThí™MH*]ÇgôM +ûÚ–H…•Š…-²ZFЪ!(7´‹¦]‹ (hD A»hLrQ…ißH­\ŬÌ&²œ”²¯¹‹çÎÏ­Û¼Þ×{yç·šóÎ×óŸsæŒÎq&‘†,ÛøC‘|A#ù‚æA9\^^fe*Ù¥»»û‡2÷#AdibYFàbÁýŸXYYI7Az¾ ‘|A#ù‚Fòä ñ¾¸ÝnƒÁ P( ÃÒÒ?´¼¼l2™”JeUUEQ@ÄqÇq¥RÙØØx~~.m6[0=™Ì#8´‚ø•sÚçóiµÚ–ewwwµZ­×ë…¡òòr¿ßŸH$hšîëë:ëééÉét644ðÅT*5??o±X2uô~ pN D‘¾´´´¬­­ÁâêêªÝn‡¡õõõô&pìD"‘››+“ɤJ¥âWÆq\¯×û|>¨LNNj4­V»¹¹ Dš¦m6›Z­…]1 ÓÙÙ™ŸŸo6›ONN>Íé‹È} …Z[[a±­­- ÁÝnÿYÃççç………ššèr¹êêêø«øõõuqq‘$I(¾¼¼D"‘ÙÙÙ‘‘ $ÙÞÞ~}}-“}O„$É®®®›››éééÁÁAq Š\/ÅÅűX c±XAA2Ä_†) «Õ ù"†aõõõápˆ~¿ßl6+ Ãär9¬ùøøü’Éd@Ôh4÷÷÷ÇÝÝÝÁ\JJJ`·°ædr½˜L¦££#X<<<´X,àÚh4ÿì¤R©³³3›ÍÆ£Ñhaaáéé)P¦¦¦âñ8˲ooo°¦J¥N½¿¿07Žã®®®@züæ_CàÓ/®¯×[QQ±··÷ðð°¿¿¯Óé666@hkkK§Ómoo'“Iš¦ûûûá OïŠÑh´²²’apÃX–›(½9¼îèègYvll ЇÃáp0 ‡{zz>Í%“Ï]Žã(Šª®®ÛårñCn·»¶¶6''œÓé‰}ž':N04EQ¥¥¥eeeûrqqaµZÕjõððp^^ooo{{{‹ŠŠôz½Çãù4‘ ûjjjŠÇã_j•AR©ÔÌÌLss³¸æH_„ÿK‰`nnîßw"Çår¹Ñh„/!¾dî÷|Ï~¡‘|A#ù‚Fòä Äy‰D<Ï?•lªà}Fú~ÀÓùÿ·#=_ÐH¾ ‘|A#ù‚憹óîæþÞ}IEND®B`‚qcustomplot/documentation/html/ftv2mo.png0000644000175000017500000000062312236016574021067 0ustar dermanudermanu‰PNG  IHDRÚ}\ˆZIDATxí1Kû@ÆiƒØB…Ò¡(h¬"EÄI'ÁoàªèÚ©ßÀáâä 8ùçR-‚â B«TPˆï]z¥B’3 _Þã’»ç}ŸË]VÇ÷}€ÌÈdIæ®i쟯JØ–b¸šÍÃõ+º™|KÂ…°,[Pï\ʘMÆ¢#€ä…F`JݤìÛk³úA±àþè?ØY4ck6"¹Z)ê¸0SHM¨@ï㋺WÖmo¼4èHJ¨Àÿö+…QobŒút ¤ú’*Ð~êè8_+3Y-ñðÜå½÷ ˜PwA¶+^ý}ºì£+xìhÏ•MAE]€TD~EÞߴ^R)`ÖAùŸÏ9©pÔq-Û¾õÛ3tÝÊÆ›ˆÃTÐHÈ)€ ½Š’ICªxëd#1ôú§é€ m@Vüý?Zæßgo_½3-³\IEND®B`‚qcustomplot/documentation/html/item-line_8h_source.html0000644000175000017500000003640412236016574023702 0ustar dermanudermanu src/items/item-line.h Source File
item-line.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_LINE_H
27 #define QCP_ITEM_LINE_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 #include "../lineending.h"
32 
33 class QCPPainter;
34 class QCustomPlot;
35 
36 class QCP_LIB_DECL QCPItemLine : public QCPAbstractItem
37 {
38  Q_OBJECT
40  Q_PROPERTY(QPen pen READ pen WRITE setPen)
41  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
42  Q_PROPERTY(QCPLineEnding head READ head WRITE setHead)
43  Q_PROPERTY(QCPLineEnding tail READ tail WRITE setTail)
45 public:
46  QCPItemLine(QCustomPlot *parentPlot);
47  virtual ~QCPItemLine();
48 
49  // getters:
50  QPen pen() const { return mPen; }
51  QPen selectedPen() const { return mSelectedPen; }
52  QCPLineEnding head() const { return mHead; }
53  QCPLineEnding tail() const { return mTail; }
54 
55  // setters;
56  void setPen(const QPen &pen);
57  void setSelectedPen(const QPen &pen);
58  void setHead(const QCPLineEnding &head);
59  void setTail(const QCPLineEnding &tail);
60 
61  // reimplemented virtual methods:
62  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
63 
64  QCPItemPosition * const start;
65  QCPItemPosition * const end;
66 
67 protected:
68  // property members:
69  QPen mPen, mSelectedPen;
70  QCPLineEnding mHead, mTail;
71 
72  // reimplemented virtual methods:
73  virtual void draw(QCPPainter *painter);
74 
75  // non-virtual methods:
76  QLineF getRectClippedLine(const QVector2D &start, const QVector2D &end, const QRect &rect) const;
77  QPen mainPen() const;
78 };
79 
80 #endif // QCP_ITEM_LINE_H
qcustomplot/documentation/html/ftv2blank.png0000644000175000017500000000012612236016574021541 0ustar dermanudermanu‰PNG  IHDRɪ|IDATxíݱðøScOx@ –¨y}IEND®B`‚qcustomplot/documentation/html/classQCPAbstractPlottable__inherit__graph.png0000644000175000017500000002163712236016575030070 0ustar dermanudermanu‰PNG  IHDR³»`«ç bKGDÿÿÿ ½§“ IDATxœíÝw\÷ÿðÏ%ao°¸ ŠbQ-ŠŠR¦‚ƒªðTÄ h¨XE¾Z«~ñ×*⵨¸A+{D­âÀEÛº•bdÈȺß×^Ó# #!Âûù‡¸ñ¹÷}ryy—ûpÁpG„0è.$#PA2$#PA2‹î@+|}}“’’订‹@JŒ]€Ýš5k订kÈÏÏß»w/ÝU€.’± 011™1cÝUtŒ@zð9#PA2$#PA2$# †amœ€Ü@2*“'OZXX¨ªªZXXœ8qBxÖ™3g¬¬¬ÔÔÔÌÍÍãâ∉†a¦¦¦6zôèû÷ï“å\6 ’QIdffþ÷¿ÿ=pà@eeåÁƒ7nܘžžNÎÚ°aÞ={ªªª222®^½J®…ãxmmíœ9s‚‚‚h*…„ÅæãããããÓêbŽŽŽ.\ MNNvpp g]ºt©å*ä«___¯¡¡A™HYÃ033³ŒŒŒ¼¼< >ŸOÌjjj211yúôiyyùÔ©Sutt¬­­oß¾M®¸{÷n ÃZ6EN ÕÒÒ5jÔ‹/(eˆlV‚„„8ªôàœQI;99‘¿:;;“³Ä­ÈápŽ92xð` ã8ÎãñŽ;¶jÕ*ggç^½z„:uꔣ££¹¹ùªU«¼½½+**vìØ±hÑ"rÝÇß¿_ ´lŠ\FEEåíÛ·&LX½z5eÓâš sÑÍ m|8ñ³¥¥åÏ?ÿ,r-Ç››› lmmŵ°}ûöšššÚÚZ>Ÿrrr266NJJºr劅…ÅСC‰¦JKK‰£ŠXŒ ¯¯/¡©V‰k€Nɨ$‚ƒƒóòòêëëÙlöêÕ«CCC‰Y7n\¹revvvCCÃóçÏÚÕrcc£®®.—Ëýæ›oȉ[¶l ˆˆØ´i1eòäÉëׯ¯¨¨())™={vÛ›BEFFÖÕÕíܹÓÑÑ‘²J[š@æ •ĤI“¶mÛöÕW_éé鹸¸lÛ¶ÍÃØ5qâÄðððàà`}}ýI“& )&!éããcaaahhH.ãääd`` ­­mccCL‰ŠŠÂqÜÂÂÂÉÉÉËËKdË"›Bq¹ÜÞ½{ggg·|D[š@æ0žd§Ø|}}B‰‰‰m_eåÊ•ºººT‡ÃY´hѺu묬¬:isîܹ™3gÂQ ¤O!SBÑÑÑÚ>†aL&óÈ‘#Š‹È $#h78#J>g*HF ‚d*HF ‚dtút>ÜŠÊ îMwIII øØDcã… zq¹et€ìÁHoE—ŸŸ_RRBwT¯^ÕíÝ[ììÜÛÓ³?ݵˆ_B ¤É:bÓ¦ä£G¯inc0î|)Á猠ݸ\þùó¡ÊÊú7žÒ]²ÉÚíúõ'55M!‹‘œ|îr=HFÐnÉÉ÷X, !Äã ._.äpxtW€ŒA2‚öil䤥ñx‚¿mÎÍý•Þ’9HFÐ>YY›šþ9Id0à‚(!HFÐ>çÏߌæóŵµM4–€ÌA2‚v¨­mÌËûÏOäó™™Åt•@g€dípåJ!ùý¨$ CÄ ”$#h‡ÄD)òùøÏ??©¨¨“=tHFÐVïÞÕܾý\ ùGSØ•+Eò.€NÉÚ*5µHÜß’òù‚äd¸ ÊžµÚ*7÷W--u„þ Ǧ&žŠ “Éüë>õ³gåååuÆÆ:ô€ÌÀ%@õé³æÐ¡ùÓ¦}Nw!È\M$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#PA2$#P±è. [ÈÏÏ/))¡» ÙËÏÏojzBw26cÆ ºKôÃp§»åçëë›””Dw2¦¢bÌç×Ít"cðŽÎåÆÉÉiË–-tW$a³Ù[·n¥»  àsF ‚d*HF ‚d*HÆnÁÅÅ…îþ!ÃbD6¥P; º(HFÅ’™™9wî\77·¹sçfff ÏÊÉÉY¸p¡›››¿¿zz:1ÑÅÅÅÅÅÅÍÍméÒ¥OŸ>%&Þ¿ßÅÅ¥   H+Â-ˆ,¯]«KY ɨ@ bcc׬Ysé񴯯Ø;wî³>¼|ùòË—/GDD’kåå奦¦º¹¹EDDS233ÍÌÌ(ÁJ—–å ø ÈÉ“'ƒƒƒGŒ¡©©icc³råÊÓ§O“³V­Zekk«®®Þ§OŸÐÐPáUTT¦L™òæÍ„PssóÍ›77oÞ|óæÍ¦¦&r™Ã‡Ož|8ùëçŸþòåKr–µµµ¸y<^jjê§Ÿ~Šº~ýº••Uÿþý­­­¯]»F.Ãb±ÎŸ??räȘ˜bJDDÄš5kRSS£¢¢?~ŒÊËË#þ%~@½~ýúðáù¹¹Ä¯yyy999¡¡¡ÑÑÑÄ”¨¨¨^¾|™\—Ò¥¿Õe\\\X,Ö€Ö®]‹ÊÈÈððð@¹»»§¦¦º»»‹Í˜1CSSsÖ¬Y~~~Ĕɓ'ÇÄÄ :ÔÁÁaݺu"_²d‰¶¶6ñsAAÁÁƒß¼yÃãñŒ¿þO}øðáúõëÕÔÔÚXž°¢¢¢°°0MMM???É»)rë"÷‹t÷îÝœœœï¿ÿ!„a˜äöɨ@ÌÌÌŠŠŠìíí‰_ ÍÍÍÉY¿üò˸qãZ®%|vVYYyÿþý‚‚â¯Ü0 «¬¬422¹9â ôæÍ›ÇŽKOO߸qcËeÈXDíܹsõêÕ¶¶¶<ß¶.OØ:ŽãIIIâv àjZøûûGEE=xð ±±ñáÇ111äyМ9s¢¢¢îÝ»×ÜÜüöíÛ;wŠl!;;{âĉäÕ¨‡‡Gvv61ëܹs ñññÆ #¦DFFòùüéÓ§/]º”¼Õ£©©Ùò;Bss³––Ç;zô(9ÑÆÆæÌ™3ÍÍÿ‹¥Çdêà8¯²2‰Ç«lC ,]]g !ee‡pœÛÆíjkÑÔ´þð!Ã)moÍZZŸëê:!ôW& \„8AŽ7ñùA3Ž7 ÿËã}àñªÚ»Éà$£rxòäÝ›7U%%U%%•/^¼ù²âíÛ?6#„0 1 Ç!¤­­žœ¼Âʪo«m>{V¾páÑçÏËlmû§¤¬j{1¼ñðØÃ``ÁÁBB&±XíûÄæÒ¥+Vœ-L&“Ádb!G|¾@ À ˜_0t覺ºF³´4‰]`jjØŽAè޽׳gjhàJ~[ïÞúwïnf0àñb@öàŒ2X»v"BˆËås8|‘±Èb1TT˜gÎ|Õj,ÖÖ6]½úLs3—Ï'§Áí*†ÉdŒ?˜Åb ø¯¿þñÅÿ{­õÕ„ŒÙ/%e•¡¡¦ŠŠØ7™LF` Ä"è$ŒÊÀÖÖÌÙÙBEEô«É``,31qÙèÑ$·sïÞkgç99É --µÏ?7mo=..Cø|BˆÇù\þ·ß^8ZSÓÐö,,z]¹²¦O}qáÈ``~~cÚ[mɨ$6lðàñDœ-2 f|ü’‘#ûKXÇñØØk^^Ñu\î_×°L&ÃÞ~“Ùrš‰ã(+뱓ӎ۷_´½ƒ´´KK“–ᨢÂ42Òºví Y*²ɨ pÿóÏsscÊi#ƒ1™ØñãA’Ï?|hX° öÛo/òx|â\ääôYê16Ö4¨§ð>Ÿ_YYïí™NÙ„úúšIIËìíÍ)éÌåò‡ é|zÔ¨­»v¥—•Õt H$€dìÚpÏÈ(ž812 àhŸ>ú\î?¡ƒaƒÁˆ‹ rt´ÐÂÝ»/wäåýÞò^Ÿ/pp´®nn–”s=ânòž=Y_~¹÷Í›ÖÇ 45UOœXìã3ŠüH‘ÉĆ7=}zñ/¿„¯X1!)©`äÈ­3gÌÊz·¬@2vU|¾ 1ñ®³óŽ  cƒ÷f³CÏž]âèøqÚˆaƒšçâ"éþɱc×½½÷WVÖñx".K µü¤cå99}&òRW _œ|/&&çÅ‹ /¯±± ÉK׉žžOˆ¯É‹ˆ˜9e õ«Q„q8¼çÏ+ø|†a-ïh³XL‹åÞèÑÔÔXÍÍ>£¾èÝ[_ší‚n®¦„kg‘ÆŒ0fL+ã)ÔÕUÜØXGEE¥¬¬†ø|ÐÌìib!äâ2˜ˆE Ãp·µíûö‹ÚÚFiÚDµqt÷°a¦QQþ›6MKL¼sôèχ³'M²ž3g¬”¹ º ¸£¸ˆ{,®®;CBâ‡7ÍÍ]å/9;†Íþ-6öZh¨Gvöמž6†1˜³sïJ“ú÷ïAœ¦©«³vïžuáÂJÿ±k×&”–VË¢ê616ÖY¾|ü­[›bbæ|øÐ0sæÁ‰#OÊoläÈ­ÐÁÕ´"jûµ³ôjj\\vZYõ=qb1%+ëÑÚµñ»vÍtw·’²ñ ‹‹K˜ûé§F¡†Ž›Û®¾} âã—Ðò‡}ÅÅ¥'NÜHN¾Çb1|}G/ZäH$£b‘g&BBâ32Šss×÷ì©KN¬®þ¨¦¦¢©©*eãee5=zèÓ¾wï•§gôæÍÓ-jÇ'¡²U[ÛtîÜ#G®•”TÙÛ rœ0ah‡ïÂ¥ɨ(䟉¡´´_80×ÓsDgo‹´cGêÁƒyii!C†ô–ÛF[ð7žž:•ŸšZdjjèïoçï?V_¿c‰€ƒd¤Ÿp&úùY¾||¿~ò¸Ä«®þèêºsôè?ü0_›#ñx‚éÓ÷q¹ü+WÖ(Âxb äéÓù Œt¢+ Ë–¼yóinn¨¡¡–Ü6Jxö¬ÜÝ}×¢ENaarÞ´8Ä@È~`?~ !$#MèÍD„PJÊÃ%KŽÇÅJ›¥c޹öí·—;–ÄA2Ê홈*/¯suÝáê:$*Ê_Λ&á8>wîÏž•ge}­££NWâ”—×!ß¿¯ƒÝ$£ü™øòeŬYôd"aÁ‚#ÅÅ俆êêÒIee5®®'ZíÞ=‹Æ2$àrùé鿜:•ýúkk“¹sÇy{ÔÐö–=P|ŒòÀç Ξ½½Nii5½™ˆJL¼»zõÙøø%Šp”šZtìðá_~9œîZ$Ý $cçR¨LD½}ûÁÕuÇ´i6;wΠ± a+Vœb³ËÍ 56–êåBvŒEÑ2!„ãø¬Y‡JJª²³×I?Š[Vjk›&LØinÞóôéÅ]"e` dwÉ({ ˜‰„“'o†…%]¸°rÔ(3ºkù—Û·_x{Ç|ÿ½ïœ9c鮥` ¤ƒd”%O¯ˆ™ˆzõêý„ ³gÛmÛæEw-"lÝzéäÉ›™™_ÐÁ§ˆÓB*%HFÙPäLD ¸—WtUÕÇÌ̵Šyk•ÃáMž¼GU•™’²ª‹Æ „T&ŒÒRðL$üøãÕmÛR.^ 9²ݵˆõûïï&MŠ v[³ÆîZ:B*HÆŽ£dâŠãs$‘8‹;+Ο≳ÎŽ©—.­²±ù”îZ¤!»:HÆŽè*™ˆâóÓ§G56rÓÓCÿ*U ÀgÌ8P^^›‘¡ Wýí!»(HÆöéB™HˆŽÎÞµ+=5u¥e_ºki“’’ª "||Fmßþºk‘Ùå@2¶U—ËD„Я¿¾4i÷ªUn!!b¿lO%$Ü ‰?q"hüø¡t×"K0² dl]WÌD„—ËŸ¾€ÍíÕKîZd†ÇxzF}üØœž¾VMEw94€òדQ)3!Äfÿæïx×®~~vt×"c¯^½wsÛ5¾ý¦MSé®…N0RnºW2*k&"„jj\\vZYõ=qbݵtЏ¸›6OHXfooNw-4ƒrÐ]’Q‰3‘ŸžþK^^hÏžºt×Ò)pŸ??öÑ£·¹¹ëôôàB!Ù™”?•>BÙÙçÍûqÿþ¹^^#讥½_O|MöÞ½³é®EÀ@ÈΠÌÉØ2!T]ýÑÕuçèÑ~øa>ݵtºôô_Ž:4Ú´Ïé®E±À@HÙRÎdì&™HX¶ìäOóòB •ðá -­^}&;ûqNÎzeýÜ@J0R&”-»U&"„._~øÕWÇãâÝÝ­è®ENêêš&Lˆ03ûäìÙ¯`dŸ80RJÊ“ŒÝ-BååuÄçnQQþt×"Wwî¼ðöÞÿ¿ÿýgÁ{ºkQh0²Ã”!»a&,8R\üGnn¨®®:ݵÈ[xøåcÇ~ÎÌ\;p 1ݵt0²½þ•Œ¾¾¾4–Òa¯^é¿}«mdÔhjZ«©É·ØØ±cCBB¤ÙBõOSóáÃ^U´‰ÄÄDiVß½{w~~¾¬Š¡°Âž††ýúÕtÒ&:LÊ~Cv¤ñxŒòrÍ?ÿÔnnf V¦­-öÍÒ Q^µ%#†avvv&&&r¯J*LgHÈD„Э[·ììì¤ìÛ·/—Ëåp8}ûö-,,ÄqÜÈèŸGl0ŒV÷”ÞdìXihhTVV / ²ðÖŽ±êêj}}}rbcc#Žã<Oný†Ë÷HÃqüýû÷/^ 2dȆ È…ÉÄõ˜pËÄ"ß›"—Ô××§)y+âC__Ÿxá„ÿo(++}*y—qY%cZZÚ§Ÿ~š››[WW———ׯ_¿Ÿ~ú‰˜•žžÞ¯_¿¬¬¬?>{öláÂ…-wIx[Ä {÷î%Ï파ØlvmmíªU«ÄÙ‹/~òä ‡Ã¹q㆑‘Q«{ŽË1eÕ?â677?wî\}}ý–-[ÄõObbâ˜1cÆŒ“””DLñ÷÷÷÷÷///óæŸŸ_«{*Ïd”U¥¥¥õîÝ;!!¡¢¢¢©©©¨¨H\ÿˆ;Æ6mÚT[[K¹š&×R´d”U¿yxx°ÙìÆÆÆêêêï¿ÿÞÊÊŠ˜®««K~Þ*²Ç„ 'Š|oŠ\ÒËËkýúõ d%’ßûâcêÔ©ä G\M×××[ZZ¦§§ÇÇÇÛØØgýÈ&q‹‹4hƒÁ@?~\xÖÉ“'‡ ¢¢¢BŒ ìe[ {{û‡’÷èÑ£wïÞ[·nwd>|xàÀêêê–––ÂBK Ï'JȤÄ-œ’’Ò·o_==½ððpqýÃårMMMMMM‰³KÇ+++gÏžm```ffvîܹVwAÎO”U¥¦¦Ž7NCCCSSÓÉÉ)''GäòâŽ1‘w`ȵ-qõÛO?ýäàà ¦¦fhh8iÒ¤ââbbú–-[tuu‰UDö˜ðäD‘ïM‘K–””¸¸¸¨¨¨S$¿÷Å%qFKK‹¼3oÞ¼èèhbnDDD@@€än”Y2’V¬XaggWSSÓöUèB˳vºPÿPÐõ¬{L&‰F׳vºî‘¦D¾j,$…èèhiVWzÐ?í=Ö1Ðo2B_è@€d*HF ‚d*HF ‚d*eøVÕ¶PÊoUí<]â[UPWùVU Lä«ö¯ñŒ>>>ò-I~ìììÆŽ+e#JÜ?&&&Òï¬ôÞåȤßPw:ÒÈW ƒa\@Ÿ3$#PA2$#PA2Õÿ?"r¦³^V“IEND®B`‚qcustomplot/documentation/html/tab_h.png0000644000175000017500000000030012236016574020717 0ustar dermanudermanu‰PNG  IHDR$ÇÇ[‡IDATxíÝË ‚@EÑ 7êÂX’Ñø AADùjGü€ Z€e؈£ ë8¹›—Wƒx¾ÞìUK.µ%„0mɤ&+4iÑ$džÈt“׿ÍzWf5AZá'w¼øÆ"2¶Wœðòg%öªdæ)æþ™ÉR15F®dìž ÉБßO«×Áô»C"à@¯g=IEND®B`‚qcustomplot/documentation/html/item-tracer_8h_source.html0000644000175000017500000004761012236016574024234 0ustar dermanudermanu src/items/item-tracer.h Source File
item-tracer.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_TRACER_H
27 #define QCP_ITEM_TRACER_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 
32 class QCPPainter;
33 class QCustomPlot;
34 class QCPGraph;
35 
36 class QCP_LIB_DECL QCPItemTracer : public QCPAbstractItem
37 {
38  Q_OBJECT
40  Q_PROPERTY(QPen pen READ pen WRITE setPen)
41  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
42  Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
43  Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
44  Q_PROPERTY(double size READ size WRITE setSize)
45  Q_PROPERTY(TracerStyle style READ style WRITE setStyle)
46  Q_PROPERTY(QCPGraph* graph READ graph WRITE setGraph)
47  Q_PROPERTY(double graphKey READ graphKey WRITE setGraphKey)
48  Q_PROPERTY(bool interpolating READ interpolating WRITE setInterpolating)
50 public:
56  enum TracerStyle { tsNone
57  ,tsPlus
58  ,tsCrosshair
59  ,tsCircle
60  ,tsSquare
61  };
62  Q_ENUMS(TracerStyle)
63 
64  QCPItemTracer(QCustomPlot *parentPlot);
65  virtual ~QCPItemTracer();
66 
67  // getters:
68  QPen pen() const { return mPen; }
69  QPen selectedPen() const { return mSelectedPen; }
70  QBrush brush() const { return mBrush; }
71  QBrush selectedBrush() const { return mSelectedBrush; }
72  double size() const { return mSize; }
73  TracerStyle style() const { return mStyle; }
74  QCPGraph *graph() const { return mGraph; }
75  double graphKey() const { return mGraphKey; }
76  bool interpolating() const { return mInterpolating; }
77 
78  // setters;
79  void setPen(const QPen &pen);
80  void setSelectedPen(const QPen &pen);
81  void setBrush(const QBrush &brush);
82  void setSelectedBrush(const QBrush &brush);
83  void setSize(double size);
84  void setStyle(TracerStyle style);
85  void setGraph(QCPGraph *graph);
86  void setGraphKey(double key);
87  void setInterpolating(bool enabled);
88 
89  // reimplemented virtual methods:
90  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
91 
92  // non-virtual methods:
93  void updatePosition();
94 
95  QCPItemPosition * const position;
96 
97 protected:
98  // property members:
99  QPen mPen, mSelectedPen;
100  QBrush mBrush, mSelectedBrush;
101  double mSize;
102  TracerStyle mStyle;
103  QCPGraph *mGraph;
104  double mGraphKey;
105  bool mInterpolating;
106 
107  // reimplemented virtual methods:
108  virtual void draw(QCPPainter *painter);
109 
110  // non-virtual methods:
111  QPen mainPen() const;
112  QBrush mainBrush() const;
113 };
114 
115 #endif // QCP_ITEM_TRACER_H
qcustomplot/documentation/html/ftv2link.png0000644000175000017500000000135212236016574021411 0ustar dermanudermanu‰PNG  IHDRÚ}\ˆ±IDATxíMOS[…Ÿžsúa?-XZ(PD4‚ AWbu`b 77wäHFÆCËÔÂÿà/`vo„ˆAPòq‹P @ ­ûÝè980 îà¤+»§Ýy×^ïZï9SW¹\83g‰3'°Nâçl¹¸_b¯p ïåûÆVÜÖ¡€Ÿ×"¬Ö†X€d]Ðà3“ÉÃÄÌ™xŸ ßMàœ[<çSPkvc—hÈ'…™˜^Åm™hØ7 `Û™¦ èÀåráq›‘œ¾!daeKŸþÆÕ˜:Ì*³_דâèi?I–eP*B7Ÿ¿åô!¹Ýgr6Ër6oKbëþãðôrI”ËTˆüªŒ¨xóö=›ù¢&‰(e+ßóÄkýÇ`ëÁÜb.“¸ÐW×w0¥°jÑzN™¬|©WEãµ¢a¯6[öX†AkÓù*/œ¨‰€ÉY­ ÿV’§–u²jÂ>1W *½·°PGŽzÿ¨/Eg{ ŸÇâaoŠÁVú:è¿™¤1$ôR§W,–ªà¨@ŠË56¾ÀÔÜ-¾,mê¸Î/æè¹– òr5¥T*S(Vf8ö9u’ Õ£w›ùóa=Í<{Ò¡UŒ÷r¯+ÉådDÏF$è°…£é¿`zþ»ÎúöN‘µÜ®0Q3£~_^Ëóâ¯N=ˆvpTà±LžT}ˆîkq†Òm<¼ÎÓ?Zh¿X£ï_þÝ¥[)ƒ `gêÃa_Ô*äÔ2`'=õ´Fÿ2EâÁPú ÷»›l=8‹Wv°%THqÉ¿<"¤ïG¾ÆxH{#ÆÖ«aÔJÕÞ‡—m‹„ çñKsÿàñVŠØ¡°·MâÒ^ TÁ– Ý›r¥ß½ømüÿ_™?ªWİ÷#uIEND®B`‚qcustomplot/documentation/html/item-straightline_8h_source.html0000644000175000017500000003323612236016574025450 0ustar dermanudermanu src/items/item-straightline.h Source File
item-straightline.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_STRAIGHTLINE_H
27 #define QCP_ITEM_STRAIGHTLINE_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 
32 class QCPPainter;
33 class QCustomPlot;
34 
35 class QCP_LIB_DECL QCPItemStraightLine : public QCPAbstractItem
36 {
37  Q_OBJECT
39  Q_PROPERTY(QPen pen READ pen WRITE setPen)
40  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
42 public:
43  QCPItemStraightLine(QCustomPlot *parentPlot);
44  virtual ~QCPItemStraightLine();
45 
46  // getters:
47  QPen pen() const { return mPen; }
48  QPen selectedPen() const { return mSelectedPen; }
49 
50  // setters;
51  void setPen(const QPen &pen);
52  void setSelectedPen(const QPen &pen);
53 
54  // reimplemented virtual methods:
55  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
56 
57  QCPItemPosition * const point1;
58  QCPItemPosition * const point2;
59 
60 protected:
61  // property members:
62  QPen mPen, mSelectedPen;
63 
64  // reimplemented virtual methods:
65  virtual void draw(QCPPainter *painter);
66 
67  // non-virtual methods:
68  double distToStraightLine(const QVector2D &point1, const QVector2D &vec, const QVector2D &point) const;
69  QLineF getRectClippedStraightLine(const QVector2D &point1, const QVector2D &vec, const QRect &rect) const;
70  QPen mainPen() const;
71 };
72 
73 #endif // QCP_ITEM_STRAIGHTLINE_H
qcustomplot/documentation/html/classQCPBarData.html0000644000175000017500000001132012236016574022716 0ustar dermanudermanu QCPBarData Class Reference
QCPBarData Class Reference

Holds the data of one single data point (one bar) for QCPBars. More...

Public Functions

 QCPBarData ()
 QCPBarData (double key, double value)

Public Members

double key
double value

Detailed Description

Holds the data of one single data point (one bar) for QCPBars.

The container for storing multiple data points is QCPBarDataMap.

The stored data is:

  • key: coordinate on the key axis of this bar
  • value: height coordinate on the value axis of this bar
See Also
QCPBarDataaMap

Constructor & Destructor Documentation

QCPBarData::QCPBarData ( )

Constructs a bar data point with key and value set to zero.

QCPBarData::QCPBarData ( double  key,
double  value 
)

Constructs a bar data point with the specified key and value.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/ftv2lastnode.png0000644000175000017500000000012612236016574022263 0ustar dermanudermanu‰PNG  IHDRɪ|IDATxíݱðøScOx@ –¨y}IEND®B`‚qcustomplot/documentation/html/classQCPMarginGroup.html0000644000175000017500000003376712236016575023676 0ustar dermanudermanu QCPMarginGroup Class Reference
QCPMarginGroup Class Reference

A margin group allows synchronization of margin sides if working with multiple layout elements. More...

Public Functions

 QCPMarginGroup (QCustomPlot *parentPlot)
QList< QCPLayoutElement * > elements (QCP::MarginSide side) const
bool isEmpty () const
void clear ()

Protected Functions

int commonMargin (QCP::MarginSide side) const
void addChild (QCP::MarginSide side, QCPLayoutElement *element)
void removeChild (QCP::MarginSide side, QCPLayoutElement *element)

Detailed Description

A margin group allows synchronization of margin sides if working with multiple layout elements.

QCPMarginGroup allows you to tie a margin side of two or more layout elements together, such that they will all have the same size, based on the largest required margin in the group.


QCPMarginGroup.png
Demonstration of QCPMarginGroup


In certain situations it is desirable that margins at specific sides are synchronized across layout elements. For example, if one QCPAxisRect is below another one in a grid layout, it will provide a cleaner look to the user if the left and right margins of the two axis rects are of the same size. The left axis of the top axis rect will then be at the same horizontal position as the left axis of the lower axis rect, making them appear aligned. The same applies for the right axes. This is what QCPMarginGroup makes possible.

To add/remove a specific side of a layout element to/from a margin group, use the QCPLayoutElement::setMarginGroup method. To completely break apart the margin group, either call clear, or just delete the margin group.

Example

First create a margin group:

QCPMarginGroup *group = new QCPMarginGroup(customPlot);

Then set this group on the layout element sides:

customPlot->axisRect(0)->setMarginGroup(QCP::msLeft|QCP::msRight, group);
customPlot->axisRect(1)->setMarginGroup(QCP::msLeft|QCP::msRight, group);

Here, we've used the first two axis rects of the plot and synchronized their left margins with each other and their right margins with each other.

Constructor & Destructor Documentation

QCPMarginGroup::QCPMarginGroup ( QCustomPlot parentPlot)

Creates a new QCPMarginGroup instance in parentPlot.

Member Function Documentation

QList< QCPLayoutElement * > QCPMarginGroup::elements ( QCP::MarginSide  side) const
inline

Returns a list of all layout elements that have their margin side associated with this margin group.

bool QCPMarginGroup::isEmpty ( ) const

Returns whether this margin group is empty. If this function returns true, no layout elements use this margin group to synchronize margin sides.

void QCPMarginGroup::clear ( )

Clears this margin group. The synchronization of the margin sides that use this margin group is lifted and they will use their individual margin sizes again.

int QCPMarginGroup::commonMargin ( QCP::MarginSide  side) const
protected

Returns the synchronized common margin for side. This is the margin value that will be used by the layout element on the respective side, if it is part of this margin group.

The common margin is calculated by requesting the automatic margin (QCPLayoutElement::calculateAutoMargin) of each element associated with side in this margin group, and choosing the largest returned value. (QCPLayoutElement::minimumMargins is taken into account, too.)

void QCPMarginGroup::addChild ( QCP::MarginSide  side,
QCPLayoutElement element 
)
protected

Adds element to the internal list of child elements, for the margin side.

This function does not modify the margin group property of element.

void QCPMarginGroup::removeChild ( QCP::MarginSide  side,
QCPLayoutElement element 
)
protected

Removes element from the internal list of child elements, for the margin side.

This function does not modify the margin group property of element.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/ssPlusCircle.png0000644000175000017500000000040312236016575022262 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+¥IDAT8ÕÒ¹@…á­Wx/‰X"áíDA¡öxK!Z W2ÍX:þdr3ÅæLføuê£ö­ØÆ Üb.ÐúTÞ£û[Ìvh¾ X&rÌ_ɵ¨›’qF50 áÝêçªÑ iP å´RÊt3Œ°Æ5×€ÇSíâ:ÅhPÂ[4^ÉOš˜á'L?•S*?±ò­øGܵQ(¢<è©IEND®B`‚qcustomplot/documentation/html/functions_0x62.html0000644000175000017500000000557612236016575022636 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- b -

qcustomplot/documentation/html/functions_0x69.html0000644000175000017500000000767712236016575022651 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- i -

qcustomplot/documentation/html/functions_0x6e.html0000644000175000017500000000222512236016575022705 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- n -

qcustomplot/documentation/html/classQCPLayerable__inherit__graph.png0000644000175000017500000020562412236016575026356 0ustar dermanudermanu‰PNG  IHDRX#7&ýbKGDÿÿÿ ½§“ IDATxœìÝ{\Lùÿð33Õ”4Ý(—..*±Èb“{¹Ä¢dV"‹)eWhýv± I®)Ýè¢Ü)Y"I¹.¢¦tÑ=]gæüþ8ûï|“t™ijæõücg>çœÏç]kg_>çœÏ¡‘$I€ì¡Kº A…  £ä$]HƒÈÈHI— µæÍ›'é@jÑð°´F“t R ßÒ >¸4 ¢A‚HEDDHúß*H9A…  £d‚ €ŒB <: ‚ ´CCCCCÃàà`á]áááÆÆÆL&ÓÀÀ ((ˆj¤Ñh4Éd𙙥¥¥ ëm´í?”••‡~íÚµVvØÄAÛ`€¦@€6¿qãFÿÂÂÂC‡yzz^½zU°kýúõ{÷î-**Š‹‹KLLœE’dYY™ƒƒƒ“““8ª¢jùøñãºuëÄ1@»… mdÇŽ˜8q¢ŠŠÊ„ |}}ûí7Á.??¿É“'+++÷íÛ700PøD&“¹téÒ/^7RójÔ|A3gÎd±XƒNII³}ûvuuõnݺÅÄÄxyyihhôìÙóÊ•+ V¨¦¦&8qïÞ½ºººt:]ÐB§ÓûôéOµp8œÉ“'+**Ö›á+((9rdxxxƒUÕ+@² ¤§§[XX>Ž7.==]°ËÜÜüK'ÖÖÖ 0@¸‘$Iâ?óyA¸ººÎ;·  `×®]Ë–->—ÃáøùùÙÛÛs¹ÜÌÌÌýû÷»¹¹  2Y§N…è³gÏÒÒÒø|¾`8.—èêêJµ°ÙlSSÓ¢¢"RèÍYYY–––[¶l±··o°ªzeHX›/•Rˆh›E444¨ØD)**b±X îî– …aÆݿ_ÐXoƒ$IMMMÁ×NPUUE’$—ËÞf0õz¨¬¬ôöö¶°°´ :711QPP Bp®ššZ½š ‚èׯ_hhèW«jü%@½Y¤‰´f ߺuKð111ÑÔÔ”Ú622JJJjð,’$kjjRSS‡ÞHç$IfggSßk<OЮ¨¨HƒÁÞ>€¢¤¤äìì,¸¦L]&&ÂÑÑqÇŽ¥¥¥eeeŸŸ+ÌÛÛûÿþïÿÞ¾}ÛxUí‚ ´‘ 6¸¸¸Ü¸q£¢¢âæÍ›kÖ¬ñðð vyzz²Ùì„„„ÊÊÊ7oÞ8::6¥C‹•‘‘AmO:uݺuYYYÔeÙf©ªª:~üx½«ÏÂ{Y,V]]ݦM›ãÇß¹sgUU•ð‘ÖÖÖ;wîœ4iUXƒU — aš‰©B4áÒ0I’AAAýúõ£žÀ8yò¤ð®ÊËËSËǺmp,jcË–-,‹úXXXhoo¯®®Þ»wïÈÈÈÏOop[ðM¨¤¤4f̘¿ÿþ»Áqƒ‚‚ºtéÒ½{÷­[· veee?^^^žøìRupppïÞ½322¬J¸ìÆáÒ0ˆÄ ËÐj4-""bÞ¼yM<žÍf§¦¦ÆÅÅQ‘igg‡oi9I²èÀ’.p €¬BQ‚2 A@F!È(A…åc U¸\þ•+åå»&''Kºiƒ_)ˆ”€*)© K LÊÍ--)¹õéÓIW$ð- ⃠ÍöêUn@ÀíèèT99ºÙ’%ßõîÝUÒE@³!@3ܹóz÷îË÷ïg ÔÃÙyܬYCp‡ @G…oph’¿ÿÎÜ»7>!áÙàÁ:'O:Mš4ˆF£Iº(hAøŠ´´÷{÷Æ]¿þÜÔT7(héäÉF’®DA¾(3³pÓ¦Økמ~÷]¿³gÙff}$]ˆ‚ 4 ®ŽwôèÍ}û®©ª*>¼ÈÚz.HA¨/*êþΗËË«<<¦-^{– ãdÈ‘#7OØÙ™……-WWW–t9 a¸4 jj¸®®áW®<Þ³Çnþü‘’.ÚAéWXX±dɉW¯rCC—››÷—t9Ð^ H9§ØÁáhYYÕ™3«ŒŒzJºhGp €4{ñ⃵õ~99úåËnHP‚ €Ôºyó…µõ~cãçÏ»vë¦*ér ÝÁ¥aétþüC6;ÌÆfÄ®]¶rrmýW¾ää䬬¬6T:èêêŽ5JÒU€¬ ‘$)é@ÄŽMܺõœ»ûwwK‰¼;ÎÖÖ6::ºíÇ•666QQQ’®df¤Í‘#7½¼Î¯[7ÕÕu²Ë@ i[[[I—²A@ª8°sçåß·Y´h´¤k€öA@zlÛvþرÄC‡Μ9TÒµ@€  H’ܸñLxøÝƒZ[‘t9Ð1 tx|>¹~}TDDŠ¿ÿÂéÓM%]tXG Ãóò:‘rà€R 4 ‚ @ǶcÇÅ'nûù9ÌœÙ!¯‡„„*(( ï 766f2™AAAT#F£ÑhL&ÓÌÌ,--MÐXo£5@*!t`›7Ÿ=zôæ‘#?vÐûããã7nÜèïï_XXxèÐ!OOÏ«W¯ v­_¿~ïÞ½EEEqqq‰‰‰‚³H’,++sppprrGI_@ ‘Ð1mÝzVW×ýÒ¥G’.¤666666_=lìØ±±±±‚111æææ‚]çÎûüÁ·VEE…’’’pc½o¶üü|kkk“{÷î ŽÜ¶m›ššš¶¶ö™3g¶nݪ®®Þ£GË—/7q\ám‚ |||ttt‚PWW/(( Ú 444 ¬¡Mü½ˆ f:$Ÿ¸ãÇoùû/š6m°¤ki¹ôôt ÁÇqãÆ¥§§ v™››éÄÚÚÚ€€€7’ÿÑ\]]çÎ[PP°k×®eË– ŸËápüüüìíí¹\nffæþýûÝÜÜš2îçž={–––F’äœ9sŽ=J59rdΜ9_ª À+æ:ž  ;¿þzæ?æýð÷’®¥aÔ2¾úfMMÍׯ_«««S‹‹‹{õêUZZúù.ê.@“Ç>œj¤¾ÊAtéÒ¥°°Ú¦Óé<: ªªJQQ‘ÇãÉÉÉ ¶™L&—Ëm|\AÏÂë©©ñèÑ£éÓ§¿{÷Ž$ÉÞ½{_¾|yðàÁ ÖÐú߀¨`F ƒ9uê®§ç™ß·i·)°éŒoݺ%ø˜˜˜hjúïƒÏFFFIII žE’dMMMjj*•¿„$Éììlj‚P8)**Á`0„·|i\AŒ«ªªn§R A¦¦¦}ûöŽŽŽŽŽîÛ·ïàÁƒ© @èH.^|´n]ÔºuS.”†7ÈmذÁÅÅåÆ7oÞ\³f‡‡µËÓÓ“Íf'$$TVV¾yóÆÑѱ)²X¬ŒŒ j{êÔ©ëÖ­+((ÈÊʲ··obI_·OŸ>111Ÿ>}Ú½{÷—Îe³ÙûöíÛ¿¿‹‹Kkjh3‚Æ­[/W­ Y¶l¬«ëdI×"VVV^^^ÎÎΪªªãÇ÷òòš>}:µËÒÒrûöí...jjjVVV·6ÂÝÝ}È!Ôåc___’$ -,,fÏžÝÄ’¾4®››[Ïž=å侸ÿ÷ߟ“““““óý÷ßS--« ÍàA€Žáñã,[[ÿiÓûøÌÉjybÕ‚{ÝØlvjjj\\‹Å[]íî€6†WÌtNñâÅLJÕß½{^ûO-sàÀI— spi ½+-­tp8ª¥Å X"/Ït9 =0#ЮUUÕþðѺ:^LÌjee¦¤Ë©‚ Ð~ñxü+‚³²Š.\pÕÐP–t9 mÚ/OÏ3IIÿDG¯êÕ«‹¤k)„ ÐNÿ’¼¿ýСz’®¤h’’^mÚ³v­¥Mc/ÏhŸrsK++å%]|fÚ/>8:ž°±áîn)éZš¡ªªöòåÇÑÑ©IIÿ¨ªªª¨ü)é¢:‡£££#é*@†`Ai€ö¥°°búô}]»ªDG¯b2;À_ÕêêxW¯>‰ŽNML|É`ЧOlk;bÿ~Ï3g¢%]Z‡dccƒ¥ Í ´#uu<[[§èÊ÷®]U$]ÎWV„…Ý ù+;»xàÀóæ˜={˜–V{/:À|€ìزåÜ£G™11ìvžŸ>͸û@AAÎÖvÄ?Œ42ê)颠ÙÚ‹ˆˆ”ÀÀÛ.l· WW×EG§†„üõä gØ0}_ß––Æ øè¨pi ]¸wïí¼yþ+WNðð˜&éZP[Ë Kö÷¿ñáCÉäÉFŽŽæß}×OZßz ;$//¯ÔÒÒ{ð`Ý  ':½}¥«º:^DDʾ}ñEEŸ-íèh®§§)é¢@4$¬®Ž7wîÁ˯\qSUí$érþ«¶–üסC7**ª—/·pt4WWÇkî¤ nî0/¯ó/_~¸t©¥@’$Ï{èí—™Yhoÿ­‹Ë¤îÝÕ$]ˆ‚ €$]¼øèĉ۾¾öZ’®å_fnÚóä ÇÖvÄ©S+ttÔ%]ˆ ‚ €Ä¼}[àî~jÉ’ïæÎmï‘+((ÿí·‹QQ÷ÇŒé—ðK¿~Ú’®Ä ÷HFyyõÔ©>]»ªDE­’““ð[¿I’ »»cÇEæ–-ßO›6X²õ@ÛÀŒ €düòKħO511l‰§À—/s×­‹|øð½“ÓØŸžÚ©“‚dë€6ƒ  'NܾtéñéÓ?Iö…l$IÜÞ±ãBÿþÝ.]r31Ñ‘`1ÐöÚÚ“'œmÛγٓƌ1`ïß®^úøqÖ¦M3—.5ÇêÐ2÷´©OŸj&OÞ£££~êÔ Cb…ÏœIݸñŒŽŽºŸß»Kª ,Ì´©õë£++kZ$©XZZ¹n]ÔÅ‹Í==g(*ÊK¤ hÚNllZL̃°°åšš%RÀÝ»oØì0.—îlaa(‘ ý@h#YYE6D-YòݸqÚ~ôº:ž—×ùÀÀÛ“&y{ÛI*‰@»‚{ÚÇŸ3ǯ¢¢æÊ7…¶þ ØÇ?ýt25õ݆ 3–-‹çB€‚A€¶àë›ðä çÊ÷¶O¼_¾<ˆÉ”»xq‘QÏ6Ú3 ¯d ß±c®ƒÃ¨6:\¯ÿû¿ØªªZoïùm™_¾Ìur ¬¨¨ŽŒ\9rdŸ6:A1:wîadäýÐÐå]º´ÝSº.üíî~zèP=v[ŽKINNÎÊÊjãA¥®®î¨Q˜Ç±Ã¥aqápŠ'MúcîÜa;vÌm›I’ôöŽÛ·/~Á‚QÛ¶ÍnûS‚°µµŽŽnûq¥ŒMTT”¤«é‡A± IrݺȮ]U<=­ÛfÄêê:W×ðøøtŸæÍÑ6ƒ6!¦•lmm%]È A±ˆˆH¹}ûÕùó®:)´Áp99% +)©¼tÉmРm0"H, zÙÙÅ›7Ÿ]¹rÂСzm0Ü“'œéÓ÷Ñé´K—Ö @Ó!ˆI’nn§{ôP[»Ö² †»víéœ9~FF=bcÙݺ©¶Áˆ 5D,2ò~ròkoïùmð¬F`àmGÇsç rêÜ™)îá@ÊàAQÊÍ-ݼ9ÖÑÑü›oôÅ:ŸOnÞ|60ðö–-ß;9ëX²ŒFûwiÁ€4ÁŒ €(yxDiht^¿~šXG©©á®^|gÏ»Ž›CBB  ƒƒƒ…w…‡‡3™Lƒ   ª‘F£Ñh4&“iff–––&h¬·Ñb´ÿÕÈa­ ý@™sç&$<Û³ÇNIIŒO WTÔ88ùóÏg¡¡ËçÏ)¾Ä*>>~ãÆþþþ………‡òôô¼zõª`×úõë÷îÝ[TT—˜˜(8‹$ɲ²2'''qTE iäq ‚¢ññc…§ç‡Q£Gˆo”¼¼Rkë}/^t37ï/¾ÄmÇŽ˜8q¢ŠŠÊ„ |}}ûí7Á.??¿É“'+++÷íÛ700PøD&“¹téÒ/^7R³t‚™¼‚‚‚™3g²X¬Áƒ§¤¤ŽÙ¾}»ººz·nÝbbb¼¼¼444zöìyåÊ•fU.<¹~ýúÎ;›™™eddP111ÆÆÆŠŠŠ½zõ:~ü8ÕØ`=í‚ €hlÚ£¤¤ðë¯b\>úÝ»³fàrùgϺh‰o 6žžnaa!ø8nܸôôtÁ.ssó/X[[0`ÀáFj–N0“çêê:wîÜ‚‚‚]»v-[¶Lø\‡ãççgooÏår333÷ïßïææ&8 )—†…ÉËËçääLš4iÍš5T˲eËüýýËËËoݺu÷î]ªñKõHnË—;9††.Ÿ0a ˜†xþ<ç‡ki±ÂÃW´ý„›Žz+ÆWß,¢©©ùúõkuuuêcqqq¯^½JKK?ß%@…3“Ç>œøÂÃ]ºt),,¤¶ét:Ç£¨ªªRTTäñxrrr‚m&“Éår‰/<òyÿÂÅÅÅjjj%%%½{÷...&â矾qãÆÈ‘#çÌ™3iÒ¤Fêiýï õ0#ÐZeeÕ›6ÅΚ5T|)ðÁƒwsæ44ìËnÏ)°éŒoݺ%ø˜˜˜hjjJm%%%5xI’555©©©T ü’$³³³© BáÔ¥¨¨HƒÁÞþj,k–={öDGGnÞ¼ÙÁÁ¡ñz$A µvíºTSS·}û1õŸ˜øÒÎîИ1!!Ë”•¥d±À 6¸¸¸Ü¸q£¢¢âæÍ›kÖ¬ñðð vyzz²Ùì„„„ÊÊÊ7oÞ8::6¥C‹%¸QoêÔ©ëÖ­+((ÈÊʲ··×Ï@ÞÞÞååå»wï;ößg·¹\îÊ•+ÿøãÁã/mV@s!´ÊƒïNž¼³uë÷ššb™¨»xñÑ¢EÇfÎzäÈâ6X¡ºÍXYYyyy9;;«ªªŽ?ÞËËkúôéÔ.KKËíÛ·»¸¸¨©©YYY ßJØww÷!C†P—}}}I’444´°°˜={vÓ«jî=‚uuuÝ»wOHHØ·oÕ2|øð©S§²X¬åË— iq=â†{ZŽËå[ZîÑÔì¹RýŸ?ÿ7›jggöûï6 FÇøk[ îoc³Ù©©©qqq,Klu‰žø–˜Æ=‚Ðf¤g‚ í<™ôæMÁ±cKÄÑù¹sÙìÐåËÇyzÎîEŒ8 éd‚ @ åå•îÞ}ÅÙy\Ÿ>]EÞyDDÊÚµ§Ýܦ¬]k%òÎA$p9¤@ǸØÐyyWWWvs›"òžƒƒÿrwG ±ÃŒ @K$%½ŠM Zª¨(/ÚžƒƒÿÚ°!ÚÝ)Ä3‚ÍV[Ëõðˆž2ÅxÊcÑö|òä¤@h3˜h¶C‡näå•FFþ$ÚnOž¼³qã¤@h3˜hž÷ï ÷ï¿¶fÍ”ž=ë¿­5‚‚ ­aF y6nŒÖÓÓtv'Â>ÏžMÛ´)æ§ŸÆKG äp8‘‘‘ååu**"¾RFp8IW2A þüóù/NŸ^!/ÏUŸ Ï\]ÃÍýÕZT}JPU•üÓ§rlv&Ÿ—wŒ ø’®¨C²±±‘t ðf€¦ª«ãMœ¸{àÀGŽ,UŸ7n¼øñÇãóçܹӦC¯ýñcÅ… cc>xðNM­“µµéìÙÃFŒèM§wà @êaF ©Ž¿•“S"·ɥ¤¼ur œ6mðï¿wÔX]]wåÊ“¨¨û·o¿b2å,-Ùì‰ãÆ áŒ)ˆ‚ @“äç—ïÝ÷ÓOã»uSI‡ééÙ‹3ÆÀ×wAGœ6KK{™röìÃOŸjÆ3ôõ]`iiÜ©“‚¤ë€f@hoï«jjV­š(’Þ޼ɷ·?ÈÉ)11ÑùõWkkkSUÕN’® ZAàëž?Ï ¿ëë»@$ïÉÎ.¶³;Ô½»ÚÉ“N"1‰ø$'¿ ¸ŸÎdÊ[[™?ßÌ̬¤‹€VÁÃ"_gk{°®Ž»ºõwò}üXñý÷¾t:-6–­©ÙY$å‰Um-766íøñ[OŸf¬»dÉw3f˜*+3%]ˆf¾"..=9ùÍ•+î­O55\'§ÀŠŠê³g]Ú ÌÊ*:z4122…ËåÏ;lïÞŒ{Jº(%A€ÆÔÖr·n=7gÎ0“Ö.ðËç“lvèóç9±±ì^½ºˆ¤<1yû¶`ÿþkgϦ©©urr»hÑhmmÑ<"í ‚ @cn”oÜ8£õ]­_uíÚÓÓ§4¨Gë{“·o öí‹M30ÐÚ³ÇnÖ¬¡ ø–ZøŠø"jɘ•+'´~Éÿ?ÃÃïúû/9²>`ñä gÏž« φ Ñ w67ï/éŠ@ì¾ÈÇ窺ºòO?oe?gΤîØqÑÓsÆÌ™CDR˜h½}[°woüÙ³i††ÝŽûqêT“ºº54‚ @Ã޼ɿ»wï­\á%)éw÷ÓŽŽæ+WNUm¢òñcÅÞ½q¡¡Ét?~|É”)Fˆ€2ËÇ4ìÇ ËÏŸwmM6zý:æÌý£G=úc»z}HYYõ 'NÜÖ××ܺõ{\M˜h@JÊÛøøôˆˆŸZ“ ÊŽhûù9´ŸX[Ë=v,Ñßÿ†¼<}ëÖïçÏ)'G—tQ ˜hÀ¬Y¾ŠŠò?µ¸‡šî¼yþ¹¹¥çÏ»jk³DX[kܼùbÛ¶ó¯_ç/YòÝš5SÔÔðj8™†A€úâãÓSSß]¹âÖâH’üù爗/s/\h/)0#£`Ë–s Ϭ­MOœXª¯¯)éŠ@òþ—Ëß¾ýÂŒ¦ƒ붸oï¸óçFF®ì×O[„µµLQѧ;/>}ÏÔT÷Ê·Öü\ eþÇ™3©ïß9µ¸‡ØØ´½{ã}|æK|É@˜äã''G÷öžoc3€0A€ÿªªªÝµë²YŸ>][ÖÃïÝÝO9:šÛÙ™‰¶¶æzø0ó×_ÏüýwÖ¼y#6nœÑµ«Šdë€vAà¿“JK«Ö®µlÙé99%K—˜›÷ß²e–h k–ŠŠš;/%ëœ?ï:l˜¾‹€ö Aà_%%•¾¾ K–|§­Ý’ÊUVÖ.^|\C£óÁƒ  ‰-Èuûö |>¹wï¸ Cø—¿ÿŸt:ÍÅeR ÎåóI—°ÜÜÒK—Ö¨¨(춦àpŠ7lˆºqãÅ’%æ?ÿl©ªŠ¥aà+‚ òóËOœ¸½jÕDK©§ûú^‹O^¦§'eYx<þáÃ7||âõõ5cbV›™Iø!•ÏEFFJº„vmÞ¼y’.d” ‚زåì™3îÞýUY™ÙÜsããÓOlÝúýÒ¥cÅQ[ãÞ½ûèî~:-íýêÕÙìILf{üÛ®P7ßà )xµñáCIPÐ6{R Rà‹V­ ]°`TÛ§@>Ÿ!é3 ÓÚïÿ6ÚŒŸßu öïJ¨ IDAT åÅ‹Ç4÷IJ²ª¥KMLt¶oŸ#ŽÂñä gÍšSYY…[·~¿`Á·˜r€ÀŒ Ⱥœœ’°°»«VMhîtÇwv>YUU{äÈbyy†˜Êû\]oÇŽ‹3fìëÒ¥óŸz88ŒB €–ÁŒ È:?¿MÍΣ›{¢O\rò›3gV·åZͯ^庹zñ"wÓ¦™ŽŽæt:" ´fA¦ee……Ý]½ºÙÓ/>Ú·ïÚîÝóÚl¹fêŽ@KKo&Sþúõ_œœÆ"@+aFdÚÁƒ×»vUY°`T³Îzù2×Í픃èyóFˆ©°zÞ¾-pq {ñâömspG ˆ fAvee:uÍž¤ ÐŒ¿••U/]zÂØ¸gÛ< Âç“^Ÿ4éº:Þ•+îÒ}G`HHˆ¡¡¡‚‚‚¡¡app°ð®ððpccc&“i``D5Òh4Æd2ÍÌÌÒÒÒõ6Zìó¤ø—² Ad—ŸßõnÝTíí¿mÖY‘ååÕ.lƒD>|(±·?²sçåU«&\ºäÖ¯Ÿ¶¸G” øøø7úûû:tÈÓÓóêÕ«‚]ëׯ߻woQQQ\\\bb¢à,’$ËÊÊœœœÚ H þ€”‘ô*Z’ñþýG=½µÁÁwšuÖ‘#7õôÖ¦¦¾SU®]{jbòëС›_´ÁpbE4aÁ±cÇÆÆÆ >ÆÄĘ›› v;w®Án©ŠŠ %%%áÆzßrùùùÖÖÖ***&&&÷îݹmÛ6555mmí3gÎlݺU]]½G—/_®×ÿç#áå奪ªª££séÒ%ª±ÁQG­#Ø”#Ä3‚ £¾Ñµ«ŠYÓO¹?cÇŽ ëÖM÷"µµÜÍ›Ï.^||äȾþ¹nìXC±×N¤§§[XX>Ž7.==]°ËÜÜüK'ÖÖÖ 0@¸‘üßÐæêê:wîÜ‚‚‚]»v-[¶Lø\‡ãççgooÏår333÷ïßïææÖ”‚ëêê8ŽÏš5k¨–/Ðnás ‹òòʾývÛæÍßÿøcS‘.*ú4yòSSÝ€€%b½Qìùóœ+‚óòÊþøcžµõñ Ô–h4ZDDDãoÔÕÔÔ|ýúµºº:õ±¸¸¸W¯^¥¥¥Ÿïî– “Ç>œj¤¾ÖAtéÒ¥°°Ú¦Óé<: ªªJQQ‘ÇãÉÉÉ ¶™L&—˭׃`DAç‚㨥q‘‘‘vvvøIÁŒ È"ÿ?ÕÕ•ííG6ñx>Ÿtq “—gìÝ;_¬)ðøñ[Ó¦íUUítíÚÏR“›ÈØØøÖ­[‚‰‰‰¦¦¦Ô¶‘‘QRRRƒg‘$YSS“ššJ¥À/!I2;;›š ÎgŠŠŠA0 áí¦8áãù|~㣴[‚ s +BC“Ç5ýaánß~uøð"UÕNbªª¤¤réÒ[¶œ]½zbLÌj]] 1 ÔnmذÁÅÅåÆ7oÞ\³f‡‡µËÓÓ“Íf'$$TVV¾yóÆÑѱ)²X¬ŒŒ j{êÔ©ëÖ­+((ÈÊʲ··ÓÐ6£ˆ‚ Èœ'n+)É/\ØÔW‰Ü¾ýê?®lÚ4sÈ=1•ôüù‡3ö¥¤d.]»ÖJNNÿô²²òòòrvvVUU?~¼——×ôéÓ©]–––Û·owqqQSS³²²¾•°îîîC† ¡fp}}}I’444´°°˜={vÓ«¢ ùêÁ-@Rp È–²²j3³­Ë–Y¬]kÕ”ãóòJ§Lñ9²ÏÑ£?Š©¤èèT(SSÝC‡jk«ŠiÉjÊ=‚ÂØlvjjj\\‹Åka‡{@²ðf-¡¡ñùäÒ¥c›r0I’nn§åÿø£© ¦Y*+k=<¢bclØ0}åÊ X¬XàÀ’.@& ‚ ©®®;r䦃Ã(5µ&ÝêwøðÍ;wþ‰e‹ãÖÀþÉsr ,)©ŒˆX9fŒÈûø*Y¼ dÖéÓ)eeU+VLhÊÁ©©¿ÿ~qÆß|#úU/\ø{úô½,–ÒÕ«îH )˜YQWÇ;xðºÍ--•¯\RR¹bEðøñ›ô\B³Êðò:âÄí•+'xxL“ÍçB @YqîÜü¼ÒÕ«'6åàuë"y<¾··ˆW ÌË+]±"øùóœãÇ—Lj"žZAdI’‡ݰ²2Ñ××üêÁ§Nݽ|ùqX˜s—.EXÃíÛ¯V® éÚUåÒ%·¾}µDØ3@Ëà²È„ÄÄ—ÏŸç¬ZõõéÀþÉÛ´)vùr ‘½á—Ï'½½¯ÚÛ™<Ùèòe¤@h/0#2áàÁëææýMMu?¬ººÎÙùä€Ý7l˜!ª¡ËʪØì°ÄÄ—¿ÿnãà0JTÝv8ÉÉÉÔFYY‹%/ÙbÚÁ¯@"Aú=y¹sçuX˜óWܳçêû÷…W®¸ÉË3D2ô»wOWFFþdfÖG$}vLôÇÏ>a2õétå¼¼#$Y+é’AdÀ‘#7 ê1~ü€ÆKN~søðß~³éß¿›HÆMJzµ|ùɾ}µNŸþ©)*KŸÚZnRÒ?qqéC†lÊË+ÕÐPž<ÙÈÒÒxâĽ¢ŠÚЂ å²³‹/\ø{÷¤¤¤rÕªiÓ/ZÔÔw7‚$IŸ8ŸxGGóÍ›gÉÚ1yy¥.<ºvíiJÊÛÚZž‰‰ŽƒÃ·3f 14MÂQA)˜¤¡¡<{ö7öË/‘|>çNÛÖXUUëævúʕǻvÙÊÔMg]»öôÚµgééƒ>nÜ€mÛæXXêêjHº4h‚ H³²²ê¿V­š¨ ÐØõØØ´Ë—‡†.×ÐPnåˆNñ’%yy¥QQ+eá¦@.—Ÿœü:>þiBÂÓ÷ï UT--W­š`nÞ¿‰ïñ BiqÏ'/nìjovvñ† Qööß~õ&¯úë¯×Ë—ii±.\XÓ” ;.ïÞÛK—ÅÅ¥ç䔨ªvš8qàÆ3Æع3SÒÕ@S!‚ÔârùÇŽ%ÚÙ™©ª~qjŠÏ'Ùì0MM•­[¿oåpááw7lˆž8qÐ ”•¥3 ñùdJÊÛ þ¾téQ~~¹ŽŽúÔ©ƒ--¿ý¶¯¬Ý AjÅǧçä”,]jÞÈ1Çߺ?ãìYv§N -¨®Žçéy&,ì®»ûwwKѾ•®=¨«ãݼùâÂ…¿¯]{VZZÙ¯ŸöÂ…£ñð€@©uìXâäÉF½{wýÒ»v]^¾Übذ^-åãÇŠeË?æ:´pæÌ¡-î§ä¿„„g%%•ýúi;9™#ÿHANÿyïÞÛ3gVé>Ÿtw?­««áá1­Å£<~œåèx‚F£?ïbdÔ³Åý´+\.ÿÆçÂùoéRä?é„ Ò)((iàÀ£FõýÒG&¦¥½¿rŽñŠ‘”ôÊÉ)HOO#0piÏžê-­´½ä¿ëןBþ‚ … ÊÏž}¸cÇœ/ðÏ?y;w^Zµjâ A=Z6DDDʺu‘& ÅÅ­mî3"¯_ç/\x”Ç㇄,ï@óg$I&%ýu?>þiyyõwßõ³±nee¢¢¢(éÒ@ò0#RåÑ£¬””·?5¸÷äÉ¿RR2Îsin LN~³té }}Í“'—ii©ˆ¢R±{÷îcXØÝsçÒ8œâAƒzüü³Õô郻wW“t]ÐŽ ‚T MîÓ§ëwßõû|×»w·o?ïì<î›oô›ÕgLÌw÷ÓãÇè}¢yü8«K—Îvv#ml†w )LhK‚ =ÊʪccxxLûüI^’$×­‹ÔÑÑX·nj³úôö¾êãïèh¾eˬö|;àÀÄÄ— }útÜ_‡ Ò#22… ;»æ »›œüæìÙf\æñø›7Ÿ Lòôœ±råQ*RïßFD¤DD¤|øPbb¢ãé9ãûï¿éÚµc\¿ÉB)A’dpðÙ³‡±XõƒÈÎ.Þ¶í¼“ÓØaÚzQ¸¶–»jUhBÂÓÇY[u±"P]]wéÒ£Ó§ïýõ×MMe›ávv#q šA¤Drò›×¯ó^\¯$I7·Ó]º¨4ýÂEEŸ.<š™YËno ,SO‡†&ÇǧÓh´3LOŸ^1fL?:½£®k „ R"$䯡Cõ>e\däýää×gϲ¿´¾t=ÙÙÅööG*+kccÙZb¨´…8œâˆˆ{11iÆÆ=·m›3sæKIÒu@† Ò   üòåÇ»wÏ«×^TôÉËëü‚ßÖ«)ý<žcoTCCùâÅ5ÚÚ,ÑÚ|ÔS ¡¡Éwîü£ªÚiΜa¶¶ Ö•t] HNNÎÊÊ’tREWWwÔ¨Q’®¤‚ Hƒˆˆeeæ¬YCëµÿßÿÅvîÌܼyVS:¹?cѢㆆÝNž\ªªÚI e6ϳg9AAI.<*+«úî»~‡-š2ŘÉl¿ÿÍúøøDGGKº ©bcc%é*@šµßÿ©4ŸO††&ÛÚŽ¨wñ÷öíW11•”¾¾ø_BÂ3gç“cÆ9²¸)Ç‹OEEÍÙ³i¡¡Égéêj¬^=aöìa=ztŒ… \DÈÖÖVÒ%€ôC„ïÎ23 ,øV¸±¦†»~}ô”)ÆS§š|µ‡ðð»Qvvf»vÙJpá½G²NŸ¾›öéS͸q†ÇŽý8eб¼ `ôèѹ¹¹Û·oÿñÇ©³H’¬©©9r䈓““ «‰Ðçý“$)òQÚ ƒ¨­åêéý¼xñ±«WŸÔÖr+*ªõõ>tèOÁ÷ï¿íÙÓíôé{_ê¡°°ÂÒÒ{èÐͯ^劵Ԣ¢ ?¿sóߺw_3a®¿JK«Ä:b{`cccccóÕÃÆŽ+øcnn.ØuîܹÏO|SUTT()) 7Öû6ËÏÏ·¶¶VQQ111¹wïžàÈmÛ¶©©©ikkŸ9sfëÖ­êêê=zô¸|ùòWûÿé§ŸBCC©–ððð+V4¥CêÖ»w︸8A‹‡‡‡²²òˆ#Þ¾}ûÕ_TŸ­KÃÐaðùd]÷ÚµgK–œ4ÈsÁ‚cµµÜcÇn]»ö” ˆº:ž‡GÔèÑóæ IrË–³ÕÕuÂ§çæ–Îž} ¬¬êÜ9—~ý´ÅTäóç97Fµ}÷î+ýûw w¾ví‡Q,žùWzzº………àã¸qãÒÓÓ»ÌÍÍ¿tbmmm@@À€„I¡G„««ëܹs víÚµlÙ2ás9ŽŸŸŸ½½=—ËÍÌÌÜ¿¿››ÛWûß¿```BBÂÍ›7?îëëÛÄI’är¹®®®‚FyyùœœœI“&­Y³¦©¿/q¢‘¸üDee­AA#‚N§ñù$F$1|x/3³>ÇßúóÏu}út½zõ‰£ã sóþÁÁ˨w²½_hgw¨S'…S§Vˆã%µµÜK—%Ý¿Ÿ¡««aoÿíüù#ÛÉÛŠÛ õ&Œ¯¾YDSSóõë×êêÿ®ìS\\Ü«W¯ÒÒÒÏw P·ë)((˜˜˜>|xøðáT#ùŸ‰7Á÷X—.] ©m:Îãñ¨ªªªy<žœœœ`›Édr¹Ü¯öŸŸŸoaaÁ`0®_¿®­­Ý”¯]»¶víÚ—/_ÖÖÖ2 Á(ÅÅÅjjj%%%½{÷...Éï 5p t\.Ÿ *ÁçSSAA©©ïRSßõíÛUUU‰$ÉÝ»¯Ðh´¿þzýãÇOžtâpŠíìii©„…9 ßb(/^|8qâö¹s««ëfͺmÛlÜØ8ccã[·nÍšõï  MMÿ]ýÇÈÈ())ÉÚº[<›øWV’$³³³{ôèQ¯]QQ‘ ƒ!¼MÅįöŸ››[TTDDyy9¿Ú¡£££¿¿ÿäÉ“ëêêX,Ùúût,¸4 ŸÏÿ߆úÿç~ÿ¾hÔ¨?ÿùòå’$y<þ;¯mmýçÎ=ج˜“SRTô©ñcêêx.ü=k–ï„ »oÜxáâ2éþý;¾ ¿jÆ ...7nܨ¨¨¸yóæš5k<<<¨]žžžl6;!!¡²²òÍ›7ŽŽŽMéÅbeddPÛS§N]·n]AAAVV–½½}ë«ýô铽½}pp°¯¯ï¼y󪫫›rVUU‹Åª««Û´i“p»··wyyùîݻǎ•ÀæŸÃŒ t<^½ Xu.—÷éïÔ©»A£b"—Ë{øð½žžfpðò&¦ÀW¯ríì9:š³Ù“< ;»8(èNTTJAAŤIƒ""~3¦Ž¥FšÊÊÊÊËËËÙÙùÍ›7|>ÿäɓӧO§vYZZnß¾ÝÅÅåõë×úúú¿þúkS:tww2dHYYI’¾¾¾l6ÛÐÐPMMm×®]­¯våÊ•+V¬°´´$"++kÕªU_=ËÛÛÛÆÆF^^~ÅŠÂíuuuÝ»w4hPDDDëkh=Ü#F~~ù!ÿׂ Æwßœ<餠ð•¿ùþ©»ûéýûí¼ŒüׯÑ$ID=v,±[7ÕãÇo –ƒ>th!n„Ãåh‡¡ÃøìÁzhšš‹Š>ýo^$‚`0h|>Ù¥ ËØ¸gm-WøÅÄ”;.}ªápŠ9œ"§øÃ‡ÎÝ»WHº"hAè0„ƒ ðíV4F#F‡„üUoÒ…Á óxü{üòËÔ‰}>Èåòþ9"**… ê_S–“£7 0p)ƒ‡ë‰Â §8;»Xû8œ¢ìì’ââ¯VQQ¤Ñ”:Aè0AÁ  ¦ý º‚‚ÜñãKvï¾L§ÿ·]NŽÎåòÇŽ5tudfÖ§Á««ëV¬NHxÚà%;.—ëÖ«òòj‘/=ØnUTÔ¼}›Ÿ—W–—Wöþ}affáû÷…ïß––VRÈË3zôPÓÓÓÔ××6L_OOS[›¥­­Ú£‡š¼<ƒz¸:Aè0¨ H£Ñë 2tMÍΧN9V<~Ì¡¦åäè|>9sæPgçq&&:_ê­¬¬zñâc¼£žiŸÏˆHqv'ÚDâòòJ…£ž ù ŸŠŠbïÞ]õõ5GŒèmmmJ%?}}MUUYÉÄ2A:Œÿ¼J„œ:uðÕ«Oäähúú]ÖëêjÌ™ãG¤¼<ƒËå[Zš¸¸Lj$QTôé‡={–Ûø}‡<?00iùr êd¢R^^}âÄíÌÌ"oo;v[ÇçpŠ33 ssKóó˨¹=êcMÍ¿o<ÓÓÓÐÒbuë¦jnÞßÁAS__SK‹Õ­ @F ÊœÈÈHI—ÐBYYAŒÑ5?ÿI’}ú¨.Y¢Ÿœœ^~÷î:6lX—‰»wíªôüù_ÏŸ±Ÿ¢¢ÿg?VA§Óh´o8äóë?Ö)'G/))ß³'P_¿sÓëÔÕÕ5jTƒ»JK+K<|8±²²¦í¦÷ÙˆªªÚÌÌ¢zQ/?¿,'§¤®ŽGƒA×ÑQ§fõÌÌzkk«êëkêéivë¦*òEp8NÇýÖÞp8Æþ>ÐzXPZæˆvr«-ÉËwc±¾+,ŒéÚÕ¡¶–SZz“ øA¨«OçñÊ**Òøü¯¼Ž CYUÕ’FcD WE’Õ|~ Ÿ_C’õÿÉç×Pý7—Íç‹çæ–úù] MæóI.—GD§NÌׯw6½Û²²êwï þõÊÉOp=·S'mmm–¶6‹ŠzúúšÚÚ, άž(B¶¶¶ÑÑÑm0ìhðÏ€!Ê1oÞ¤Ñh ÞŒøçŸÏÙÙÅYY /È¢££®££1fŒAÏžê::ê={jèè¨ki©tÜi]hWDïíÛŸ¸sç¾)+W7¾ K[Ö 2A@”ª«ËÂbgã 99º‹Ëd6{^[ ’‚W&ˆLffáû÷jEEJ<ŸÏç7žðètzM )$ÿ‚6%üj8飧§ihXHD@@È£G™))o>̼wïí§O5 ½ÞÃ"\./3³PrÅ`F¾ $$ÄÐÐPAAÁÐÐ088XxWxx¸±±1“É400 ¢©åø˜L¦™™YZZÕxýúuß‚Zÿ<„p‚í¶yÌ‚ÅR47ï¿v­UhèòôôíçÏ»üú«µ••‰–‹ PT”'IòÝ»mP À—`F¿qãÆ   33³û÷ï/^¼XKKËÊÊŠÚµ~ýú€€€Ñ£Gçæænß¾ýǤÎ"I²¦¦æÈ‘#NNNT 166 ™2eŠÉb2å†ï=|xoêã‡%©©ïÆÄĘ›› v;w®Án©ŠŠ %%%’$?}ú¤®®žžž®ªªZQQ!8ÌÃÃCYYyĈoß¾¥Ïœ9cddÄd2õõõ;Fþïµc꣎Žue™j¡Ñh½{÷Ž‹‹£Z²²²&MšÄd2§ÔëáóÆüü|kkk“{÷î zÞ¶m›ššš¶¶ö™3g¶nݪ®®Þ£GË—/7å×kcccccÓ”#I’¬­å6ñHqÀ¥ah@zzº………àã¸qãÒÓÓ»ÌÍÍ¿pQ[[0`À‚ bccÇŒcddôÝwßÅÄÄŽ‘——ÏÉÉ™4iÒš5k¨–eË–ùûû———ߺuëîÝ»„Pt#s¾R˜ IDATÿ“Þž={–––Æçÿ{I’\.700ÐÕÕ•ja³Ù¦¦¦EEE¤PìîáóFWW×¹sçìÚµkÙ²eÂ?‡Ãñóó³··çr¹™™™û÷ïwsskÑï²1X $¬Í£'HÑ„A *QQŠŠŠX,Vƒ»„»%BAAaذa÷ïß'IrÊ”)Ô@§OŸž|êÔ©,kùòåǧÝÝ݇ Òàj/ÞÞÞ666†††‚F__ßû÷﫪ª Ni°áF___’$ -,,fÏžÝüß@Ç&Í«ûBƒh4ZDDļyóšx<›ÍNMM‹‹c±Xb-L:ØÚÚõÕ#ssKŸ<áLžl$þ¢†uá+8 é¤Dm-÷É΃ïSS3îÞ}ûñc¹®®‚ H‚ €åäü»|tròëçÏ?ðx|:N’|j"¾gO¯u F‚¢ÄçÓ>}R8|øfJÊÛ{÷2Š‹+h4‚Á  Þ2,X QNŽÞ«—æ—{;A‘ÉÌ,|ö¬Ki)óñãsÔKP‚ IB…Ñé4õ6¯à¿DFOOÓØ¸ ´”©¤dvÿ~†œ½ÁHárɧOs¢¢îëêjôì©Þ½»šœžâ€6…  bªª5QQ.OŸfûøÄ_½ú„Á s¹ ,FÍçó>|Ÿð´®ŽGƒA×Öféèhèêjô쩦££Ñ³§ºŽŽº®®†¢¢|›ÿ ¡ƒ¡bSûK¯‘QÏ€€%ÏŸç8pýܹ‡ ÆÁsç\tu5ª«ëòòÊ23 ß¿/|ÿ¾03³09ùM~þì¬">Ÿ$‚É”ëÖMUOOS__S[›¥­­ª¯¯©§§©££Î``ZAP%''Kº„–#Iâðáç**òAðùä³gŃ©Óé ,=ý¹OŸêÊÊê:u’SR’SP}Šâp8:::‚öð÷_èâ2ÉÏïúÙ³i  ²AÐé´nÝT ‚PT”×××Ô××47ÿŸ®jk¹>”ffææ–æç—Q1ñöíWÙÙÅÔgyy†††² Rhi±tu5:uRùÖ‘‘‘’.¡]kúºž¢…¥eNƒïêh'”•¿áó?UU½lü0MÍytºrqq,—[B‹e¡¨Ø·¢â~UÕs’ä6~.&§¦f¥¨h@A$YÇç×’d Ÿ_ÍçWñùU|~ IÖÿ“Ë-áó«ïV˜Mƒ J?}šíí—./Ϩ­åvé¢òø±WÓ»VZZ)˜>|ÿ¾0/¯,/¯ìíÛüŠŠêUÕN‚\Ø­‹Š‰½zua±”Z6b+µç?uí¾‡@R¡½ÈË+ýöÛí¿þj½t騯ܴ)6 à–’’ü‘#?Nš4(/¯ÌÌÌ«®Ž§¦¦´jÕÄE‹Æ¨¨(6r:Ç߸ñLHÈ_Ÿïb0ht:F#H’àñø|>I§Ó’’6öêÕ¥U?›/>øøÄ_ºôhÈÝK—ÜDÕ-… ˆT.Љ¥yyeÔÂW™ÿUõô4uu5š8¥Ú2Í}ŸìˆŒŒ´³³Ã÷0H . C{áïCC£³ƒÃè¯idÔƒF£ÕÔp—, ðñ™ok;báÂÑ'OÞ))©úý÷Ë>>qŽŽæË–ÓÒRiðtƒ¾k—­––Š·wœ`‘ Gòxÿ½“O^ž1z´S At?ztñ?ÿäýýw¦»¥¨ªv<¸Óçí55ÜÜÜRÁmˆyy¥ÔUf§˜Çã¡  ×½»ªžÞïA¤.7÷쩎g™¤‚ ´ ¹¹¥ÁÁwþïÿf2™_ÿ3ijªK’ÿ.ÒçêzêÑ#ÎêÕ“BBþâñ>Ÿ_UÅ?z4ñðᛳf uq™Ô¿·;Y»ÖJ_¿‹›Û)’$¨g2>WWÇsv׊ë‹úõÓî×O[=7ˆÉ”kð6ĺ:^NN 5e(ˆ‰s²²Šªªj©cW™ÿYúúš}úhuîÌl³ú@L¡]8xðO Î ŒjÊÁýúu“—güç© 2(èö›7yóç<}úÕHýóÂ…¿ccÓÆàæ6eذ^Ÿ÷cc3\UUiùò“\.šF£Ñôô4,, [õƒµoòò *ä}¾Kø6ÄÜܲüü²Û·_½{WPVVM@DA4~¨¹mh9A¼JBCÿÚ¼ù{…&ý”“£÷ë§ýìYõ‘Ï'ïÜù'3³¨ÞaT¼uëÕŸ>:T͚ɓ& ª÷ÔÂäÉF11«øápeeM½ÅŸétš¶6+5õ݈½[þ³uXÔUæÁƒu…ù|2/¯”Ã)æpŠ9œ¢ììb§8%%#&æAeå¿3ˆ]»ªôì©N-‚H­ƒØ³§:†¯€ößÎ y~~ji±,ø¶é§|óþ«Wy‚•ù¸\~VV!ƒÁ`0Èzs{Ô1Ožp/>>rdŸ°0çzK« ªwá‚ë¼yþ……ÂYP^žÁå’³fùØcñâ1sçSV–õ‹¡t:­{wµîÝÕ>ÇŸ/vóìYÎÕ«O¨Ån –D €Æá6p°JÂÂ’W­šØ¬5¢uê=hÉåòëê¸ÂKáóù ÍÑѼÁöúõÓ¾zÕ½wﮂ#äåóç›]¼èzçÎÆ îÜyÉÈèWgç“÷ïg4½H™¢  §¯ÿÿìÝg\éÚð™P"AËŠJ³`A +ËZ@ÅFÓ]z¬ìÚQª+"EEAÅ®4¥ˆbAÖ‚X±Þ’Ìû!ûfYE ™\ÿç7™òèç›:¤««+--­««ÑpSdd¤¾¾>“ÉìÙ³gXXw%I’$I2™ÌÁƒgffòV~¶Ðb¼ñoß¾ý½Çþàì€Bhæç—¨®®8sæï:ÊÀ Ë—5‡ÓxÈýç|ÿþ¹66ýš°S'Å“'—êêv–”” ¢¾žýë¯Ã ‚èÖ­ƒ——õßoܱÃîÅ‹ÂÉ“}--w>œÎ»—¾NVVºW/u‚hòË<ñññkÖ¬ ,** òòòŠåmZµj•Oqqq\\\JJ ï(Š¢ÊÊÊçÍ›×ù)Š*//wvvž?~kŒ@/‚@§ÜÜâ#Gn,]ú}í@‚ z÷VoæsïH’d0ˆ}ûfYY|}O5µö§N¹Ò ˆAƒºõé£ÁÛÄdJΘ1(!á·ØØe††]þ÷¿Sýû¯_±"úéÓ÷ß¾ÂÛÛÛÏÏo̘1òòòæææ¾¾¾üño“¿¿¿………œœ\=BCCÈd2?~Üp%·!Çý€ ˆÂÂÂI“&)((Þºu‹·Ï–-[”••ÕÕÕcbb6mÚ¤¢¢¢©©yéÒ¥†CIKKÏž=ûÉ“žsÞèPyyy222¼yÎ ´Püý/wî¬do?ø{”••nôñ~ÒÒ’’’ ^Èý‡X[[M]]©9öoϦ¤¤q—õôôÒÒÒ=Š¢¨ÚÚÚŒŒ nØŠ¢òóó¹-º†/‘‘‘!BBB¢árÃ(Šz÷î’’ï,pSC´E(¯_EGßrw·øÞ«yôô4Y,¶¤$CI©Ý®]ö:=xìØM‚ –-O’ÄæÍSgÏAI’›7O7oÔ’%‡"#oðókA}úhlÛ6ãÎ k×Údf¾¶¶Þ3vìŽððkåå5|ŸK„­^½ÚÍÍ-))©¢¢"99ÙÃÃcåÊ•ÜM^^^®®®‰‰‰UUU999NNNÍPAAáåËîò¶²²Z±bEaaann®ƒƒÃwSWW?zôèÊ•+ ›jôèÑ[·n­®®ntváEÐaÙ²c#Fx³XìPZZÕµëò N—–Vs׬^}¼OŸ5?–SuófΗ‡øû'jhx%µxÒæ¸wïÍï¿Gõè±B[û· ÂRSŸp¸'›ÅAQQQßÜ-,,ì§Ÿ~b0A„‡‡7ÜtèС>}úHIIqöѹ¸ 6lPPPà~,**rppPVVîÖ­[ttô—‡7ºÜpåÞ½{§OŸÞÔP¹¹¹£G–’’jtö¯ˆŠŠÂï0Ð× ^¿.5êÏíÛíZp›HC¹¹ÅZZ*¼åå5£Fm53Óõñ™ÙÔ!¡¡ikׯ,^lîåeý#SSyyÍ™3‡‡_{ø0¿{÷3g™9s¨ŠŠ\«N*´šs`C®®®qqqÜZJ„áA  A §çÑŒŒWÉÉ+›s)Þw9}:sÉ’ÃQQ‹FŽü©©}ŽI_¹òøìÙ#6ožÖÌgÐüˆû÷sN‰¹ÃbqÆ×wt6räOâöT‘ï-Å A ®A{ñ¢ðĉ 7·±|¯ ‚˜2e€¹yïU«Ž×Õ±šÚç—_†üzøpº»{¤ûÂ}âÌßoܲeZNN½}ШQ[.W¶öÔ_‡BÍ×7AGGmÚ´­4þæÍÓòóKöíKþÊ>“'÷÷÷w<{öïeËŽÖ× âÆOyyGÇa‰‰¿ÇÆ.6¬‡Oü€\\¯^}ŠnÐ… TNNÁÉ“w<<,Z£È¥££æê:vÏžø×¯‹¾²›M¿ƒ.\¸ïä"È÷Åq„™™ÿ6MM·\.)Aƒ … ÔÞ½ ݺ©M™2 Ugqu«¥¥²zõ‰¯ï6fLßS§–Þ»—;uªÿÇ­é3 2ŽŽÃ~;vlaïÞ·o¿4tè–U«Žß¿Ÿ+È æP‚à<^pêT¦§çøÖkrIIIlÛ6#%åÉùó÷¾¾§¡¡Ö¹seeÕÖÖ{^½úت©¾D’ä¨Qºû÷ÏÉÈXÏ}g¥åî±cw„„¤~úT%à0 †P‚àìÙß½{‡I“ú `®¡C{ØÚ\»ödYÙ7žê¬­­zú´›‚‚Ì”)¾æ Û—:t_ºtLzúÚØØehoÛvÑÀ`÷-Æ‚¹„ÄòìÙsóíþþŽ“'÷ÌŒ%%•&&N›6pÓ¦©ßܹ²²ÖÙ9ôîÝ7aaÎC‡ö@¼¯¨­eÅÇg>œž–ö¬C‡ö66ý†ôé£AoªA’¤‡‡Ç°aÃè"tÒÓÓ÷ìÙƒßa  AÅ‹=yò.!áw<º',ìÚÿþ·¼9UT]ËÍíHll–Ÿß/66‚h[~Ó‹…§NÝ‰Šº•—Wbh¨åè8lêÔrrLºs}7q{nâ÷Âï0Ð… £Gï,,vÎÌya‡š4i/›Í9wÎCRòÛB°Ù/¯“GŽÜøãÛ_.€„ÍÁáP×®=;|8=6ö„ÃÂBO<ŸJ |'±aú3€è[·îI’ÞÞÓ\»$9thŸx‡>¼ç7÷g0ȱcõ˜LÉÿýïtM kÔ¨^ùM$Ijk«ÚØôsr©©©œ”ô(((éÌ™¿««ëºuëЄ $PB«{ôèíºu1ÞÞ¶ººê‚Ÿ]YYŽÉ”Ú¹óÒØ±z:5ëŵƒw———ݹ3¶ººÎĤ—ð4Þdd¤ µfÍaa¡WRR~- àÊÍ›/dd¤ºwïÐÚ÷b€èÁ©ahu..á99 ¿ÑUQq8Ô´iþ••µ/zJII4󨘘;žžG'L0ܳÇÉ”lÕ„-SVV}êTæ±c7ïÝËÕÒR±³dkk¬££Fw.h3PBëÊÎ~ka±óÀ¹VV4ÆÈÉ)°°ØéînáînÑü£îÜy=wî.]TÂÂæuì(ßzñ~УGo½yêTfqqåÀ:Ó§OžÜOQ±ݹ@Ø¡„Ö5~X^^ñÅ‹ž´Ÿ` ¼²mÛÅØØå}útnþQ¯_ýúëþŠŠÚC‡æëéi¶^¼ÇáP/OœÈ8}:³ªªnĈŸ¦O7ž8Ѩ];iº£€B!­ˆÛ¹e‹í¬YÂòX™oúð¡ìܹ»'NdÜ¿ŸÛ¹³Ò„ †3géÛ· ?˜ø w Ck¹w/wãÆ³Û¶ÍèÑ£#ÝYþ¡¢"'))±sg¬••¡šZûæ(!Á°´4 (jË–sŸ>U™™õ¦ýLws´oÏ0@ÛÑq˜µu?&SòÌ™¿ýý/Ÿ;w¯²²¶{÷Ž8e èBk™;7¤  ìÂair±ÙœI“ö’$yæŒ[ N•ž=û·»{¤……ž¯ï/22R­‘°õð."¼@hï±e±8“&í• OŸnÉ b‚ >|(=;äÝ»O¡¡Îhó=¡€=yòþüù»çÎÝ{úô½ŠŠœ¹y›~£G÷iÎ š íB!ü7kVpIIå¹sBÚäzöìøq;W¯¶^°À´e#TUÕ-Yr(9ùñÎö¶¶ÆüGT„b… ðYfækkë=‘‘.ff½éÎò ;wÆþõWrbâïÚÚª-¢¨ÀÀ+þyÁÁa¨··íw=žPÈ=yò>1ña|üÃÛ·_¢"U(Ï÷WVÖž:åJwo«¯gO˜à#'Çò¯_%$<&f)ÝA¾ChhÚúõ§NŸvûÁ{>JJ*]\ÂïÞ}ãçç( ¯Ôk=oÞÅÇÿÓ#TRjgbÒkìØ¾VV†íÛ3éŽß… ðÍÍ›/¦Nõ‹Ž^4rd/º³|Š¢fÍ ~ýº(.nù>Z™ÅâlÜxæàÁ«Ë–[¾Ü’_ …Vvö󯯱±²²òÛ·gŽÝgüxý1cú(*¶£;4 Aà›ŸÞW_Ï:y²-µ¹>|(57ß1eÊoïi?>ÚáÃé^^''L0ôñ™ÙæÞ>Ò2ÅÅ•—/gŸ?/%å ‹ÅÖ×ïbaÑׯ¦_ËÓƒBøãÆœiÓü_2bDOº³´DlìgçЈˆycÆðáU(·n½˜7/T]]1,lž††ÒØVTW×¥¥=;wîn|üò²jmmÕ±cõÆÓ6¬'n.B(?ìì‚8ΉKèÒrîî‘©©O¯\ù]YYîÇG{ûöÓܹ!å:õï/vïê`³9wî¼:wîÞÅ‹÷ß½ûÄ½ÝØÂBÏܼœ.%(ÒÓslmýOŸv<¸;ÝYZ®´´ÊÜ|ǰa=üýù2`YYÍâÅ7o¾Ø³gæÄ‰F|“ÑÑÑ->–á^¾,ÏÊ*yð øãÇYYɾ}•¦Oï&++ÉÇ„`ggGwh“P̘@Äñãm¸È•–öì矃vïžig7ˆ/²Ùœ?ÿ¼”´`éš5Ömô‰Óüz@Œ””“ÙCZZ³¸øAà—‡ŸðK-ƒB~ÔõëϧO8sÆmРntgáƒ]»býý/_¼èÙ§¿Æ¼|9ÛÕõˆ––ÊþýsZü‘$…ž“pŠŽŽ¶··Ç/9´ .߆µmÛÅ‘#{‰FH„§çxccÅ‹ÕÔÔókÌ1cú&&þ.%%aeµûòål~ ðƒP¹víùíÛ/W¬gæ1¤¯ï/å7žáã°J11KmmgÍ:àí}žÍæðqp€–A!?dûö‹£Fé‹H;«sg¥;íÃï=û7‡•––ܼyª¯¯ChèU{û ‚‚r>Ð(¡å®^}zûöËßv ••Á¬YÃW¬8ž›[Ìß‘mm/]Zöñc…¥å®Û·_òwp€ï‚BZnûöKff½Ô¡;H«Ø¸qª¦¦òÂ…áõõlþŽüÓOΟ÷4¨›­­@Àe\æß¦ñë–jZ „JIy’™ùzåÊ ti-L¦äÞ½¾õóKäûàíÛ3÷í›õ¿ÿMÞ¾ý’“ÓÁ²²j¾O!x‡ÒÕÕ•––ÖÕÕˆˆh¸)22R__ŸÉdöìÙ3,,Œ»’$I’$™LæàÁƒ333y+?[h±œœ[[ÛŽ;ÊÈÈŒ5êüùó-¹Iòåá¨@x „Ú¹óÒèѽŒ´èÒŠôõ5×­³ññ‰OK{Æ÷ÁI’œ7oTtôâ»ws­¬|=zË÷))>>~Íš5EEEAAA^^^±±±¼M«V­òññ)..Ž‹‹KIIáEQTYY™££ã¼yóøiÆŒFFF>,--ݼysPPPËÆá{Ë=`"À÷»r呆†ç½{oè"®®‡ûôY“›[ÜJãçç—X[ûüôÓʘ˜;­4Å""**êëûŒ5êÔ©S¼111&&&¼MgΜitXîBEE…¬¬lÕŸýFØØØÈËËܼy“·çæÍ›•””:uêtòäÉ7*++khh\¼x‘»ƒ¢¢â«W¯¾œ´áÈAìÞ½»K—.$Iòv I²[·nqqqŸå|þü¹±±±œœÜÊ•+y+ ‚Ø´i“¢¢b—.].\¸ÐèM}ñ/mêË~ETT~É ÅЄïFQÔ¶mÇŒéch(Êí@ž?ÿœÞ¡ƒ|k\,È¥¡¡ãúóÏC–.=ìáYYYÛ³´¶¬¬,SSSÞG33³¬¬,Þ&“¦¬«« éÝ»wÕÔ«%www[[ÛÂÂÂmÛ¶ÍŸ?¿á±yyyþþþ,ëÍ›7{÷îõôôänݰaÀ&Nœ¸|ùòË—/7:2AÙÙÙ™™™‡·‹Å uwwÿ,ª»»»¥¥åÛ·oŒÿürÖ××çååíÞ½ÛÃu™é IDATãÑ)¾â³c¿òeZ…ÀKOhójhxÞ¿ŸKwÁyôèm÷î+6mj¤­ÅGiiÏú÷_ol¼ñÆœVè{Í誨¨ÿÛ4-..VPPhtSÃa ‚––8pàíÛ·y+?[ (JUõß×±0 ÞÕÕÕE±X¬†Ë¼?~üxúôé-[¶ôéÓgÕªU_ŽLDII ïc||¼´´4A¼qxû+**~úô‰¢¨’’’†9yS7ÌÖpŠ/¿øWŽmôË~:‚ð#ЄïCQÔŽ±cÇö50èBwÁéÝ»óæÍS÷íK¾téAëÍ2bDÏÄÄßõô4gÌص+¶m=tZ__?55•÷1%%ÅÈȈ»¬§§—––ÖèQEÕÖÖfddepŠ¢òóó¹¿Ylö¿}Y‚ $$$.7ÜAUUuòäÉ^^^)))M]#¨¤¤Ä[vrròöö.---++k8Î×ñ¦æµ›ïËc›ú²­… |ŸÄÄìò~ÿÝŠî ‚æà0tútcOÏ£oÞµÞ,**raaλvý˜4eŠo«ÎÅ_«W¯vssKJJª¨¨HNNöððà^HG„———««kbbbUUUNNŽ““SsTPPxùòŸç,ZYY­X±¢°°077×ÁÁ¡™‘¬­­SRRjjj>}útðàA--­/GþLuuµ‚‚B}}ýºuë¾Ü:bĈݻw———ïܹ³ùá¿W˾,@ ÑÓˆ„¶‰ÃጷsΜt¡Gee­©éV+«Ýµµõ­=×½{oFŒð60X÷ µçú&¢§†)Š ûé§Ÿ¸×Ï…‡‡7ÜtèС>}úHIIqöѹ¸ 6lPPPà~,**rppPVVîÖ­[ttô—‡7º|þüy&“©¢¢bii™••õåÈŸe SSSëܹóƉ/NR?}útàÀrrrnnníÛ·ÿÊÔŸMñÙOî—#7\nôË~N À )<Èš->>kî܃ññËõô4éÎB‡ó­­÷Ì™3rýúÉ­=Weeíúõ§##oüüó§ÈËË´öŒM!I2**ÊÎή™û»ººfddÄÅÅq‹!SWWçççwúôé«W¯Ò… "::ÚÞÞ¿äÐ285 ÍEQÔα––úb[¡§§¹yó´ýûSøûâFÉÉ1wî´ŠZ”’òÄÄä„„‡­=#¿øùù¥§§‹dH’d»ví"""|}}éÎÀ(¡¹ââ²²³ßŠáÕŸqt6gÎw÷È{÷r0‰I¯¤¤#Göš3'dŊ說:L M¡(ŠÅbÝ»w¯ÿþtgà‚Ð,µ}û%++ÃÞ½;Ó…~6L0@{޼Т¢ L§  ëïï¸mÛŒS§2­­÷<|˜/€I@ „f‰}ðôéûß~³¤;ˆP’’Ø·o6‡C-ZtˆÅÐC^‡%'¯TU•³²Úíí}¾¶–%˜y@„¡„oãp¨;.Mœh¤««NwaÑ¡ƒ|pðœ[·^lÝzA`“jj*=ºhåÊ ¤Lœè“•…Ö ü‚ðm/ÞöìÃòåãé"\ Ðööž”töì]M*)ÉX²dLJÊ*•ö––»pÕ ü‚ð µkW¬µu¿^½ÐüÜ/¿ ûå—¡Ë—{üø çíÚU5*jáÖ­3NŸÎ;vGzzŽ g‘!IwvçÏß{þ¼`ÿþ9tR›7O»?ÏÅ%üÂÏöí™›—$IGÇa#FôôôI úKÁ÷Â/9´ Aøš3gþvu=œ’²ª[·tgj÷ïçNêïà0tóæ©´(,,ß¼ùì‰züa«©©LK h[$6lØ@wRl6gþü03³>CéÎ"ì:uRìÞ½ÃæÍçÔÔÚ÷ë×Uðää˜VV†Ã†õ<~ü¶Ÿ_¢„cà@Á·' mA!M:sæï¨¨›ÁÁs””ÚÑ¥ ÐÕUçp8Û¶]4H§kWUZ2hi©ØÛ./¯ñ󻜖ölÀmUÕö´$€6§†¡q,ÇÔt«±±ÎÞ½tgi3(ŠZ¼øPJÊ“ <è=™þàAÞŠÑÙÙoM<=ÇËËËЄ AhÜÉ“žžGSSWëè¨Ñ¥-©©©·µõ/+«¹pÁCAA–Æ$E?oãÆ3UUuË–Ÿ;w¤„ÿBÁbqFúsÈî>>3éÎÒö|øP6a‚ÏO?u:|x¤$͵WUU]PÐ?¿ËººêÞÞÓŒ»Ñ›„ :ЈS§îäç—¸»[ФMêÔI!,Ìùöí—7ž¡; Ñ®ôòå–.x´k'=uª¿—×ÉÒÒ*ºC€°ÀÍ"ð9‹ãâ>nœ¾½ý`º³´U:)hj*ÿùç Eƒ.tÇ!:vTøùç!]BB®îÙ_^^;p ¶´4ž' îPÂ玿sçÀ¹ô^âÖÖõí«AQ”·÷¹~ý´»uŠë,{ôè8sæ’$‚ƒSNžÌèØQ¡W¯NxX4€8Ã5‚ðõõlSӭÇ÷ܹӞî,¢ÀË+æèÑÇ/8P‡î,ÿúô©* àJppŠŽŽÚÚµ6cÇö¥;Ðל<™‘Ÿ_âé9Žî "bÓ¦)ff½gÏ>ðâE!ÝYþ¥¤ÔÎËË:>~¹¶¶ê¬YÁÎΟ?/ ;ÐAøW}={Äo3³ÞÛ·ÛÑEtÔÔÔϘXTTqö¬»ššÐ=Þ9==góæ³÷ïçZ[÷swÛ§݉@pЄ?~»  7 󗌌Txø<ƒœ5+¸ªªŽî8Ÿ6¬ÇÅ‹ž11K‹‹+ÇŒÙ1y²oBÂCºC€€ #ÿ¨¯gî=fLŸ­[gÐE½zõqÒ¤½ýûk<è$´v¾uëE@À•„„‡ƒu[ºtÌØ±}q+ €hÒ@ð¢¢n–»¹¡Ø*ttÔ""æ_»öÌËë$ÝYš4xp÷ððy‘‘.EÌž}`Ê¿„„‡þVYx| AÔÕ±,Ÿ2¥ÿ”)èÎ"²ÔÕut:üùçEEÙ´éŽÓ$µ™3‡ ÜýæÍþþ—cbî°Xœ^½:1™RtG>C!AGŽÜ¸té~pðÜöí™tgeººê ²ëןîÚUEOO“î8_£­­jo?xÚ´µµ¬àà_ßÄGÞih(ih(Ñ ø… pÛaS¦ œ4©ÝYD߀ÚL¦äºu1=ztìÝ»3Ýq¾AYYnÔ¨^sæŒÔÐPJJzä뛘ÍdJöê¥.´W:@ó¡âСôØØÁÁsÐŒÁƒ»WW×oÙrÎÀ K÷îèŽómÒÒ’††Z¿þ:ÜØXçùó‚}û’¢£o•”T©«+ª¨ÈÑZw ‹»ššúaöX[÷Û¼y*ÝYÄEQ«V8~üöáà †ïIwœï“—WuóĉŒ×¯‹ жµ8yòT„m AqzuË–óéék;v”§;‹xáp¨%K]¹ò(:z±‘‘ÝqZâÉ“÷'NdDEÝ,.®8PgÆŒAS¦ @_  A!(Ö¸íÀI“úoÜ8…î,⨾žíì|03óuLÌÒ^½ÔéŽÓB55õ—.=8~üöÕ«Oåä˜VVÖÖF£FéJIIÐ ¾… X Iýã hÒ¨¦¦ÞÁᯗ/?ž9ãÚµ«*Ýq~ȇ¥11™çÏß½{7WAAvüx=kë~¦¦ºRRyyyׯ_§; >|x—.]èNb … øª®®6lËÔ©ׯŸLw±öéSÕ´iþõõì“'—ŠFEž—Wrá½óçïef¾–——?^_I©|óæ%Ŧ;š0ŠŠŠ²³ÃÛ½€(Å×þý);v\ºys.ó§Ý‡¥Ó¦HJ2NœXÒ¡ƒ(Ô‚\%%•‰‰ÙçÏß»r%ûÝ»,V݉„I’(€Fx˜˜ª®® ¸ˆN-È%/×Ó#‚⨲²Öß?qÖ¬h 5µöÇ/ÕZ„ Aq~­®Žµd‰9ÝAàsÜZPRRbúôÀpE´.‚b§¢¢60ðÊœ9#••ÑFjjí_,!Á˜>=µ ´*‚b'<<­®ŽµhÑhºƒ@“:tçÖ‚3fˆ×=‡ÒÕÕ•––ÖÕÕˆˆh¸)22R__ŸÉdöìÙ3,,Œ»’$I’$™LæàÁƒ333y+?[h²1Í<ðGæ‚⥢¢600ÉÉÉí@!סƒü‘# êêØŽŽ}üXAw‰_³fM```QQQPP——Wll,oÓªU«|||Š‹‹ãââRRRxGQUVVæèè8oÞ<þæ¡þßgË"… x ½Êb±.D;° ÐÔT>yrIuuý”)¾yy%tÇooo??¿1cÆÈËË›››ûúúþñǼMþþþrrr=zô mx “Étvv~üøqÕܶ¯WXX8iÒ$CCÃ[·nñöÙ²e‹²²²ººzLL̦M›TTT455/]ºÔhÂ/Y¼xñ‘#G¸[=ºhÑ¢Ïæf(ÅHyy;}ÉÎΣ””ÚÑšESSùüyw•ö'ú<|˜OwœV—••ejjÊûhff–••ÅÛdbbÒÔuuu!!!½{÷n¸²a' www[[ÛÂÂÂmÛ¶ÍŸ?¿á±yyyþþþ,ëÍ›7{÷îõôôlt¢/Ù»wohhhbbbrrò|}}?›@˜áÍ"bdïÞ„  ¤[·Ö)(ÈÒ¾CUUݼy¡™™¯#"æ Üî8-mooÿÍ_UUÕçÏŸ+++s?–””èèè”––~¹‰‡Ûu“––600Ø·oŸ±±1w%w.ÞAjjjEEEÜeƒÁf³¹;TWWËÈȰÙlIIIÞ2“Éd±X gáŽÓè ¦¦¦—/_îÔ©Ógó~Þ,ôBGP\”•U%Í›7 U`›Ó®txøÑü' Ne0óæ¢;ðÍ‚¦‡/8q"cæÌ¿ÊÊjèŽm A÷éSUppŠ‹‹™¼<Ú"Å̬÷éÓ®/^Lž¼WL7 |‡BPÄíߟ"--‰v HêÓGãÂiiIkkŸ{÷réŽm AQVTTÁmÊÉ1éέ¢S'Ř˜¥FF]mmýãã³èŽm AQœ"++åäÔ䋹@ÈÉ1t²·âì’úíþîYEE!!W==ǵk'Mwh] oïi;Êÿï§?|([½z"ž`ÍBPdýõW²¬¬Ôœ9#éâîn¡££æáùäÉ{__EÅvt'ú\tt4Ýà?PЦ+¼º|¹%ÚbeòäþzzšÎÎÍÍwìß?gà@mºý‡½½=Ýà?ðfÑ´e˹ãÇo߸±VV… Ø)/¯ñô<š˜˜½v­ n€¯ÀÍ""èãÇŠ°°´Å‹ÍQŠ'yy™àà9¿ÿn¹q㙥KWW×Ñ„ AtE^^WŠ3’$—,µèêÕ§66{_½úHw"F(EMaayXصŋG3™¸TÜ Þ36v™ŒŒÔøñ».^¼Ow:(EM`àEEÙY³FЄBçÎJÇ/¶°Ðsq ÷ñ‰g³9t'!‚BP¤|øP–¶d‰9ÚÀ#++íïï¸iÓ”½{lmrs‹éNÂ… H LRQiïè8œî tæÎ5ILü½¦¦ÞÔtë©x\(EÉû÷¥×–.E;׳gÇóç=–,1߸ñÌ/¿ìÿð¡ŒîD@3‚¢# àŠŠJû_~Fw^’’ŒåË-OŸv}ù²ÐÂbGBÂCºPŠˆwï>>|ÝÕu¬´4Úð êÄÇÿffÖ{öìnnGªªð A1…BPDøû_éØQá—_†ÒÚyy_ß_vî´¿xñþ¤I{=zGw"  AQðîݧ#GÒ—,#%%AwhK†&$üÆdJZZîÚ¼ùlee-݉@ ð®aQ°f͉+W_½º… ´EQ'NdlÚt–Á ×®µ™>ݘ$IºC€  #Øæåæ9rcéR´¡…H’œ1cPZÚêI“ú{zµµ xügŠÄ Á6/ àrçÎJööƒém›¢b»Í›§;¶°°°ÜÊj÷öí—ÊÊjè­ §†Û¶7oŠLLþüóÏé¸Mø£¾ž”äïŸ())±páhgg99&Ý¡ U lÛV¬ˆ¾zõij*®>«¬¬ Kóó»ÌápfÏéê:VAA†îPÀg(Û0n;pÛ¶?ÿ<„î, š>~¬ ¼~]AAÆÍm¬ƒÃ0¼·@” lÃ~û-êÆœ””U¸ÖZѧOU!!©ÁÁ)EØÙ ^´h´††Ý¡€P¶U¯_õçöív¸M£°°<<üZDĵòò[[ã L{õR§;ü‚mÕ²eÇnß~™œ¼í@¤ÚZVLLFppê“'ïÍÌt]\ÌLLzṃm Á6éÅ‹BSÓ­»wÿ@=Ñ–øøÄ÷êÕÉÆí@à‚mÆ£GïΞýÛÝ}ƒ‡÷ l3öîMÐÕílccDwþ8tè®®®´´´®®nDDDÃM‘‘‘úúúL&³gÏžaaaÜ•$I’$Éd2œ™™É[ùÙBËù‘Ú‚mãGoÏŸ¿ëé9ÿ8hˆ_³fM```QQQPP——Wll,oÓªU«|||Š‹‹ãââRRRxGQUVVæèè8oÞ<þæ¡þßgË¢ …`Û°gOBïÞ'N4¤;x{{ûùù3F^^ÞÜÜÜ××÷?þàmò÷÷·°°““ëÑ£GhhhÙL¦³³óãÇÿy`5÷$^¯°°pÒ¤I †††·nÝâí³eËeeeuuõ˜˜˜M›6©¨¨hjj^ºt©Ñ„$Iúøøhii1 ރѽ{÷øøxîš¼¼< Þ_hMMýÙPB¿Jm@vöÛóçï-[6í@YYY¦¦¦¼fffYYY¼M&&&MXWWÒ»wï†+vò‚pww·µµ-,,ܶmÛüùó›——çïïïààÀb±Þ¼y³wï^OOϦæÊÎÎÎÌÌäp8¼YX,Vhh¨»»;w«««‘‘Qqq1¯}ØÔÔŸ  $ðf‘6`þü°W¯>ÆÇ/G!mI’QQQ_³ˆªªêóçÏ•••¹KJJtttJKK¿ÜÔpX‚ ¤¥¥ öíÛgllÌ]Éýã-¡¦¦VTTÄ]f0l6›»CuuµŒŒ ›Í–””ä-3™L‹ÕpÞ€%%%JJJÜõ Ë—/òäI]]„„÷eeå/^4ŒÚÔÔ ‡ú:¼Y Aa—ýöâÅûË—£"E__?55•÷1%%ÅÈ蟡ôôôÒÒÒ=Š¢¨ÚÚÚŒŒ nØŠ¢òóó¹ Bn)Æ%##C„„„DÃå†;|¦aéæäääíí]ZZZVVö•Cššº™U €€¡v»vÅi¯Ow~Z½zµ››[RRREEErr²‡‡ÇÊ•+¹›¼¼¼\]]«ªªrrrœœœš3 ‚‚ÂË—/¹ËVVV+V¬(,,ÌÍÍuppàKàêêj…úúúuëÖñVŽ=zëÖ­ÕÕÕ¼5­15@ëA!(ÔîÝËÍòð°@;DŒ¥¥å¦M›\\\G½iÓ¦‰'r7?~Ë–-nnnJJJ––– /%üŠeË–õë×û¿___Š¢tuuMMM§NÊ—À»víš>}º®®®ŠŠ o¥¯¯ïíÛ·yÿ m©Z®js熔]¸ÐäÅìB¨9×6äêêš‘‘§  ÐªÁÚ\#‚$IwhÒÝ»oââ²""æ{W€¶ÌÏÏîb §†…—Oü€ÚcÇö¥;ˆ&t…Ôß¿IHxxøðºƒ€ÈBGPHùøÄ ¨mnÞ‡î ²ÐF™™¯³##]è¢ Aa´{wÜ!ÝÍÌz{W€–BGPèܹóúÊ•GÇŽ-¤;ˆ8‚Bg׮ءC{Œ¥Kw€–KOO§;B[…ÿê@ð@iáróæ‹©Sý¢£Ù‹î,-„áü8ü2€` .?ÿ¼¯¾žuòäRºƒ€èéa!rãFNjê“ãÇ—ÐÄ:‚BÄÎ.ˆÃáœ8BAa‘žž“–öôôiWºƒ€¸@GPX̘@Î €À #(®_~íÚó3gÜèbA¡0y²/“)½ˆî FФߵkÏoß~yö,Ú PèÒoòd_YYi¼S Aš¥¥=½}ûå¹sît±ƒŽ Í&MòmßžéBw;èÒ)5õÉ;¯.^ô¤;ˆ#tédc³WQQöðátq„Ž m’“gf¾¾t í@ :‚ô (jŸä#"æÓÄ:‚ôHJz|ÿ~^lì2ºƒ€øbÐ@Qµ}û¥±cût¡; ˆ/‚4HLÌ~ð ï÷ß­èb …  Qµsgì¸qzúúštg±†BPÐfeåÿö›%ÝA@Ü¡(n;ÐÒR_Oí@  AŠ‹ËÊÎ~‹«@àñ1‚ÃáPÛ·_²²2ìÝ»3ÝY„H^^Þõë×éNÑŠ†Þ¥ Â… àÄÆ>xúô}PÐ,ºƒ—ëׯÛÛÛÓ¢EEEÙÙÙÑ („ávì¸4q¢‘®®:ÝY„‘¨¾åˆ$Iº#4 × ÈÅ‹÷Ÿ=û°|ùxºƒü…  p8Ô®]±ÖÖýzõB;„N Âùó÷ž=û°ÿºƒü ÁVÇáP»wÇMšÔÿ§Ÿ:Ñà_趺sçî¾xQêDw€ÿ@G°u±Ùœ;.MšÔ¿[·tghó:¤««+--­««ÑpSdd¤¾¾>“ÉìÙ³gXXw%I’$I2™ÌÁƒgff6\I’¤œœœ±±qBB‚€¿€ð@!غΞ½ûæMBt IDATnøqñññkÖ¬ ,** òòòŠåmZµj•Oqqq\\\JJ ï(Š¢ÊÊÊçÍ›×p%EQ?~\±b…£££ ¿ €Ð@!ØŠX,ÎαS¦ @;àÇy{{ûùù3F^^ÞÜÜÜ××÷?þàmò÷÷·°°““ëÑ£GhhhÙL¦³³óãÇVII‰·L’$ƒÁèÞ½{||$IJKKìß¿Ÿ·’û“êêê   5kÖ$''‘°|ùò'OžÔÕÕIHHðvÞ±c¯k8wî\OOÏ!C†L›6 Aè¶–S§îäç—¸»[Ð@Dèë맦¦ò>¦¤¤q—õôôÒÒÒ=Š¢¨ÚÚÚŒŒ ccãÏ6ÉÊʺ¸¸Üºu‹ûÑÉÉÉÛÛ»´´´¬¬¬a‰ÙðÜñÎ;Oœ8¡««»~ýz\\"…`«`±8>>ñhðÑêÕ«ÝÜÜ’’’***’““=<I’AÈÊÊ0€wà®]»¦OŸ.%%µpá¦466¶²²ÊÏÏïÑ£N € ¹×ÊÕ׳MM·ÞsçN{º³´ÑÑÑööößõ[äêêš‘‘§  ÐzÁø‚$ɨ¨(;;;ºƒ4Aþã¶==ÇÑ@dùùùÑ@àA>«¯gïÞgo?XSS™î,_ƒBÏŽ¿]PPŽ›…@ø¡ä§úz¶OüÏ?£m A~ŠŠºUXXîæ†v ´(ù¦®Žµwo‚ƒÃ ¥oï @7Ü5Ì7ÇŽÝ**ªpwÇÍÂÍR^^û 11ûÊ•‡íéŽ ŽPòG]Ë×7aæÌ¡: ûSÍèUTT‘˜˜Ÿ•’ò¤¦¦ÞÈHËÔTýÅ vtt4ÝÑÄ AþˆŒ¼Y\\éæ6–î ˆ¢¨Û·_&$d'$<|úô½‚‚̸qú>>3MLz))µ‹ŽŽ ©¶·ÇØ oლšúaöX[÷Û¼y*ÝY„H]+%åɹsw““üX¡©©lii`cc4p Ž„.P :‚|pôè²²WW´‚ Êã㳦¥=«©©76Öqq1;VOWWîhð(TMM½¯o¢£ã°ŽåéÎ@§§Oߟ;w7!!ûáÃ| †©©îÖ­ÓG†A„ ÁuäHzYYÍ’%cè@ìì·/ÞÏÊÊÊ———=º÷‚¦ææ}””ÚÑ ¾…à©®®óóKœ5k8Ú V(ŠÊÌ|séÒý‹ï¿zõQCCiüxƒµkm† ë)%%Aw:h.‚?äðáôÊÊ:\b‚wóGbbö§OUƒuûå—¡¸ø íB!ØrÕÕu—gÍ®¢"Gw€VTQQ{éÒýóçïñnþX¶lüøñúZZ*tG€‚B°å""®WUÕáê@Uõõì«WŸž=ûwlìƒòòÚ~ý´–-7a‚a·nèŽüB°…*+kýügÍv ˆ6›“žžsöìß.Üÿô©ªÿ®Ë—[Nœh„—hˆ‚-q½®Žµd‰9ÝAø£¾žœüøÜ¹»ññËËkŒuV¯ž8a‚!þÔa([¢¢¢6 àòœ9#••ño$´y÷ïçž>yöìÝ·o?õìÙqþ|ÓÉ“û÷ìÙ‘î\ÐêP¶DDĵº:Ö¢E£éÐroß~Љ¹sâDÆÓ§ï»vUµµ5ž<¹ß¾tçÁA!øÝ**j®89™ mQQQÅ©S™'NdÜ¿ŸÛ±£üŒƒÿúk6žÿ žP~·ÐЫ,{áB´¡-©¯gÇÆ>8q"#9ù±””Ä„ †^^ÖÇ÷”`Ð hƒBðû”—×ìÛ—ìì< ¯Ï‚6¢¨´´gÇßæÞ2räO;wÚ[ZÈËËÐ è‡BðûœŸE’¤µµÑ±c GŒø‰Á éŽm Áf Ne0óæ¢;ˆ¯¼¼’¨¨›11™/_êëknÞ~¬8xðê²eãÑþâ¶»•“Sз¯Æúõ“'Oî{Ò@ðP6iß¾$99æœ9#é"‚÷,踸,IIÆ´iEæA0Ðá…ôûø±",,mÑ"s´áÇ•”T\65ÝjoôüyÁ–-Ó237nßn‡*°™:¤««+--­««ÑpSdd¤¾¾>“ÉìÙ³gXXw%I’$I2™ÌÁƒgff~}gq†B°qAAWäåeçÎE;~ÈÕ«O]\Âû÷ß°{wüС=bc—]¾ü»£ã0¼«°ùâãã׬YXTTäååËÛ´jÕ*Ÿââ⸸¸””ÞQE•••9::Λ7ï›;ˆ/ ¾PPPÖ½ûŠýû“émUqq…¿¢‰É;{˜›o;tèzii5Ý¡„AQQQ_ßgÔ¨Q§Nâ}Œ‰‰111ám:sæL£Ãr***dee›¹sÃe‚ vïÞÝ¥K‚ ”•• ¹ë UTTŠŠŠ llläåå nÞ¼ùÍo…ß[Bè6"0ðŠ¢¢ì¬Y#èmÏ£Go׬91lØ–íÛ/õê¥é’€àÉÊÊ255å}433ËÊÊâm21iò¦þºººÞ½{7gç/egggffR5mÚ´ýû÷sWþõ×_Ó¦MSQQqww·µµ-,,ܶmÛüùó¿û[Ü,ò¹JÃÂÒÖ®µ±wyA«ª«c]¸p?,,íöí—ZZ*‹™ÿüóNèÎ%šØlö7÷!IRZZÚÀÀ€WÃ}¯;v())áêê:qâÄ+VPtñâE‚ âãã=:g΂  üE mjÏ&©¨´wtNwh?~wðàÕ3gþ®©©Ÿ<¹ÿæÍSq éë맦¦Nž<™û1%%ÅÈȈ»¬§§—––fccóåQÔoõmjgƒÁf³%$$ª««®çVAõèÑãĉEõèÑÃÐÐ;~~~¾††Æ?:áÙÿxÿ¾4"âÚÒ¥æhг·o?W~}Ÿúzö¹sw'Oö57ßž”ôØÍmìíÛë}}AÈw«W¯vssKJJª¨¨HNNöððX¹r%w“———««kbbbUUUNNŽ““ÓWÆijçîÝ»ÇÄÄTVVnß¾½©c]]]÷ìÙ³wï^777î++«+Væææ:88ðé»­W( µkc ØP[[Ow Í“'ïúõûŸ¯oBS;äåoÙrÎÈh††ç¬YÁ©©OØlŽ Š¢7‹PöÓO?qÏÀ†‡‡7ÜtèС>}úHIIqŸÃ¶ÑqÝùìÙ³šššŠŠŠ[¶l!Ü,ÒðÀúúz------‹Å]STTäàà ¬¬Ü­[·èèèo~Ü,‰¤¾8"¶Þ½û4|¸÷úõSæÌÁm"bêÎW3gþUQQÓ±£BFÆzIÉ[æE%&f8zíÚ3EÅvC†tëÖÆ´"€$ɨ¨(;;»fîïêêš‘‘§ ÐÆ®¿ŒŽŽ¶··Çï-œý—¿ÿ•Ž~ùe(ÝA€gÏÞ]ºô0‡CQXX~éÒ}›~A””TFFÞˆŒ¼ùòe¡±q·  YãÆéãâûð¡,?¿$/¯$?¿DZZó»Žõóók¥Tâ ÿ˜ýãÝ»OGޤoÚ4UJJ‚î,@ƒˆˆëkÖœ ¨n2 I288E]]ñÀÔ¸¸, †­íÀ  _q `3Õ׳߽û”Ÿÿ)/¯87·˜»À­ÿêêXA0d‡ RRjt'k(ÿáç—¨®®8s溃 ¼½Ï\&I‚wâŽÃádd¼š<ÙWCCÉÃÃÂÁaXÇŽò´fFE½ySüáCé‡eoÞ½~]ôúuчe>”•–Vq÷QPÕÑQÓÖV54Ô²°ÐëÔIA[[U[[UQ±A$¹‘Öo îPAäæ9rÃÛÛí@qÃbq~û-êøñ[A|vù–¤$Ã̬wh¨³„„¸ß\ÏbqòóK”zÿT~ïÞ•òÚ{ZZ*]»ªvê¤`h¨Å-õ¸ed¤èŽMB!Hp¹sg%{ûÁtª©©_¸0"1ña£Wð³XœÔÔ§åå5JJí ¢¾ž‘ñjذ›±²²6'§€ÛÒ{ýºˆ[ù}øPZ\\Y_Ï&BR’¡©©Üµ«ª¶¶ê¨Q½:vTPWWìÚUµsgEiiü˜´=øí&Þ¼):zôæŸNG;P¬”•ÕÌž|çÎ+îÝ!âp8QQ·\\̘‹ ¢®ŽysÏžx99æµkkø>>·¥× Ôû§òãÏ•——éÖ­ƒ¶¶ê AÝÔÕ¸•ï|.ˆ ‚„¿ÿe ¥3ѧ¸¸ræÌ ìì÷l6ç+»±ÙœÐд LI’L°ššú#GÒ÷ìI()©äp¨¹7™Íæä啼ySôþ}iAA÷¬.÷cm-‹ ’$;v”ïÔIQ[[ÕĤ—££ª¶¶jÇŽ êê (øÄ„¸‚oÞEEÝÚ¶m†h´£££éŽÐ×füXCƒA’$I’EÎçOy“”d|úT¾sg¨¶v{þfÐÒÒ6lXÃ5¥¥U¤îߟR]]ÇbýSžÖÖ²ŠŠ*TU¿6{uuÝ›7ÅŸ•zeoß~âžÏ•`téòÏùÜÁƒ»q+¿®]UÕÕ…á!8ééétG1ùšÐæˆû¥û-êÆœ””U¢qC€ÀWm—„„œ¢âx’dD-›]MQ5N-‡SKQŸÿ'‡SK_ëþˆéÓ§?~œ»üéSU@À•ƒSëêØ_v(/]Zfd¤EDYYÍ«W…ÿ_ê•ñ*?ÞùÜví¤{öìÔ©“÷Î\nåש“‚ŠJ{¡ý;GÜþ?VÌo@Ñß Ñë×EÇßÞ¾ÝN4ª@®ïzOÐbƌ܅‚‚r?¿Ä#GÒëë9l6ûË=I’\¿þE¹¹ÅeÜË¥¥%55•55•ûôéla¡§¥¥Ò¥‹²¦¦²††’Ð|MAa@/±.÷îMèÚUuútcºƒ€Ø©«c¬[wêðáël6‡w"øK’’ŒOŸªGŒè9~¼~—.Êšš*]º(wì(/n4h%â[¾xQxüøíÝ»¥v ¿¢¢Š×¯ß½“»};µ»“£FõÚ´ij«Ç±$¾5Ÿ_¢ŽŽÚ´iéâEQ±šZ•¶v錃´´T‚ RFFŠÁh¤ÉW_Ïzó¦XÀ @|ˆiG0'§àÿØ»ó¸˜ÖÿàçÌ43¥}!¥$¥Å”,Ê”(Ùº¸*»K–,·…Ü,qí÷º7$ܸˆ(]…ÂuiÕfI%[¸%¥’ö}¶óûãÜßùŽš’¶SÓçýòÇÌó<ç9Ÿ™yÌ|zÎ9Ϲv-íØ±E0z˜˜ER’#)Éñõ]Œ HyyÝ“'ïŸ>ÍüøÝ³gù *•B¡ ø¿‚¼_Jj¼DY?MÑÔTš;w,Ùˆ”ÿVaéº0¡]uUÿ ’66L&‚ <?+«8-í}zzÞ£GÙ†Ww~/€Pýq>ìÝ»OaaO6m²í·Óºººt:]WW÷Ò¥K‚UÁÁÁ C[[; /Ä—Úc0¦¦¦éééxall,Š¢QQQ ó×:ö 4¼oÚ¼“Át*•¢¯¯ºl™™Ï¢ää]¯^ \³zµEW“Ñ3¡cÇ¢‡øÝw£É„QQQ;vìðóó+++;uê”——WDDQµmÛ6ŸòòòÈÈÈ„„b+ ê««—.]ºzõj¼$00ÐÀÀ 00„×ÐBËðD€œÜ€©SGnÙ2]L¬?þ?а~&+«XMmóédÒ- i»……Exx8ñ4,,ŒÅbU7oÞÚ-þ ¶¶VBBðºº:yyùŒŒ YYÙÚÚZ¢ÙÖ­[%%%MLLrrrðÂëׯ3™Lƒ¡¡¡qöìYìËéøÓ£Gª©©á[ñE555###ñ’‚‚kkkƒ´XyNhx‚…ïß¿·´´”’’š%;î‚´cFPAAϨpååå222B«»E„N§7.55ðiÓ¦á;ºråŠ Ñ¬¢¢Ã°ŠŠ 999¼ÐÃÃcìØ±ë×¯ŽŽìPð1¾.**ÊÐÐN§#B¥RñB99¹f5ë¡Yx‚ äääðþËËËååå…nÞöÞ…¾.b+EEEâ…Biùîµ3‚z‰þ5#èë­««bggDv d200HLüßRÆ FFÿ½!L&óþýûB·Â0¬©©)--ÍØØøãDZ±± ,@QtáÂ…±±±>|hmw‡¾víš®®îîÝ»—.]*´œœñØÉÉéàÁƒUUUÕÕÕBïºöÕðÚ¹‰PØ;†aEEEø§ö ôý(|óæÃíÛÏ6mšÖ{®%ÅöíÛ]]]ãââjkkãããÝÝÝ·nÝŠWyyy¹¸¸ÄÄÄÔ×׿{÷ÎÉÉIh—/_þᇈ?&V­ZŒW9r¤¦¦æ÷ß·°°ÀKœ¹\î† ¼½½‰«Rdddrss…vÞÐÐ ##ÃápvíÚEZYY:t¨¡¡(i£‡fX,•··7qL\psÁÇB÷.ôuf̘áééYZZZPP°xñâö„ô$ÌB’díÚ€©SçóùdÒvÆ0, `Ĉ A‹/ VêëëÓh4|ù¢[Á6£FŠ'ž&$$Œ5 k墊3gÎhii‰‹‹3™Lâ"•={öÈÈÈ -N×ÃcSRRRQQÙ»w/QUPP`eeE£Ñˆ’6zh3~±ˆ¤¤$q±H³Í Ý»Ð×EÔ–••-^¼X^^^SS344ôkï=†Á¡a½F/Z¸[½~ýÁÆæðÙ³+fÎEv,ÝEÑGGÇv¶wqqIKK‹ŒŒÄ3!Ð3¹zõ*ÙèïúËE||¢FŽT1Ãì@z—'NHÓ/Áׯ?ܹóÂße??;ô<?+«äÉ“÷Ož¼ú4/&ÆÖ”ÐúE"xäH„‘‘º­­ÙÐªŠŠº'OòÒÓó<È~ù2¿±‘‹¢(‚`ŠŠÒè&¢Ÿ>^‘qá‚L‚^¥©‰ûüy~jjnrrÎÓ§yååu J¥R8œÿÖ ÁÏßUWW 5L¢LôÁcÇ¢ŒŒÔ§Mƒé@Ð+|úT“Ÿ/[UE××ßÑØÈ£`Æãa‚ðùŸÿÅJ„ ª©©DR¤DŸˆrzö,?22cÓ¦idÀ ’VTlã75q©T —Ëdz@¡ÄĨÊʲ=€~EÄg}|¢ÆŒjcÃ$;þGR’­¯_vøðÁ“'c¯\IFQ —+ü–$|>ÿÔ©{çÏ',;t¨¢††¢²²Œ²²¬††âСŠjjòTªˆÿ- [‰r"øôi~tô«ÀÀ5dÒ£=zÔ…½aÆfó jöÙ›aöúu%‡Ãoÿ& U__îëíª©©ih(z{;ººZÿùgÂ¥KP!Î$p¹|[9¹åEE•/_FDT|þ\‹×@WWWPS“WSS2D^MM~Èyuu…Aƒd(”Þ~FlaaáÇÉŽ‚fffjjjdGÿ套/?[^^wû¶;Ùôœ®º †J•b04Œ¡tºzSSneed—tÛ'ÐhƒäågS©í]a»¾þUUUô·îÅÞÞ^pA颢ŠÓ§ã/]z€a—ûEš˜¸][{P³Í«ªêóòÊòòÊòóËòòÊJJªKJªsr>ÕÖ6á dehh(jh($3x° >›8l˜’ŒŒÄ·†ÚMBCC,X@v$ø¦%ß »‰ìŒ`zz^LÌë˗ɤGu&­çó±/ ââþ‹û÷éÓ< 566eŠþÔ©#õôTº0ÈÞ¯¦¦ÑÅ%(:úu{ÞÏ;wüÌÌ´;¹Ç!Cä÷ïŸçêj}æLÂÙ³ñ|þé Š¢C†™n”•0jÔ€Q£Ô›•ã "žâibjjnIIUII5Þ€Á#Ž2ÿš(;t¨¢ºº)“ˆ"ü‡¨P°v ·ÙDðèÑHSÓáVVzdÒÛUܽû2:úÕ“'ïëëÙ£F©³X:?ý4ÝÄDS\œFvtä–¿pa•Ÿß½_~ùE>¿ÕdEIIz­®ÚïÀÒ^^³øÁü?b/_NæñxÒÒâôö÷€'ˆ-Ë›š¸ÅÅUøôa^^YIIU^^YRRVaaÇG„NSQ‘:ôç â§!"«€ÍDðÉ“¼{÷Þüõ×:²饨lnBBftô«¤¤¬¼¼2iiñÉ“õöì™ka¡3t¨"ÙÑõ (ŠnÜ8UWWeݺKl6§ÙáZFup0îò‰455ù_µws³9yòÞË—]Ò'ƒ!†çv,ÖåïÇJ|ÊH_¼(,((oh`ãmˆ£ÌÿŸ&Êhh(>HJŠÑ%± ‘h&‚GŽDL˜ ei©Kv ½ËÛ·%QQ‰‰Yiiï9††j³g¶±9vì0˜õÊÚzdt´Ç?œ{ÿ¾¬å…½¯²²>;ûSËsø:oð`Ùæ±ÙÜ.ïYFÅ“¼–UÄiˆøæüü²¤¤¬÷ïK««ñx‚H¤†‚5wk̺&‚çÄÇÿºžì@z…ÚÚ¦¸¸7IIYøäŸŒŒ¸¥¥Þ¡Cö––zƒI“] ©9ðîÝÍnnÁ/›#VR’~ü8篿«1¾ñ¼ycåä„–í :´ÿ¡mœ†X\\ýéS5qµJffqRRV~~9~Ÿàiˆ°Ø ôr"xÕðÂ…§9îõë?’™^¼(HJÊJLÌJIÉa³y††j66#ml˜Læp3G IDATø1î Ãüüîýúë?òß)ƒ4ÅÍmÚæÍ¶™™Å×®¥…„<./¯37aooýýƒ¢ßüý‰¢(\5 èUD-LN~÷ý÷'¯^ÝhnÞÙ 9ûœêêÆ„„ñü/?¿LVvžüMœ¨­¤$Evt¢ >þßµk/66²¹\>Š¢ì6ì¿û¿54°ïÜy’úðá[yyɹsÇ::šÂrq‡Ã+/¯%®b&Ž5s85÷îíiÏ÷O``àrss555½¼¼–/_NTÿòË/oß¾UWWß¹sçŠ+ÿ¿2—N§>}zìØ±xãøøøýû÷§¤¤p¹Ü1cÆxxxÌŸ?¿3/ A€(ÀD‹ƒƒßüù'ÉŽ¢çðùüçÏóOžŒùî;_uõͪª›lm>|÷ùó|.—Gvt"(;»ÄÌ쀊ʦ)S~Ú ¤¤úìÙkko÷I“~9y2¦¬¬¶‡ƒìBBBÚóý©¦¦S]]«¦¦v÷î]¢J]]=**ª¶¶6;;{ÅŠx9Þmcc£¯¯ï˜1cðÂØØØÁƒ744|˜­¢âþøñ;r£ê••u¡¡)k׌µKEÅ]_‡‹KЭ[O?®!;4ÑWSÓ¸bŹS§âÚhÃçóïß»nÝÅ¡C=´µ·nÙòìY~OØ7´3´°°'ž†……±X,¢êæÍ›-7!º­­­•ÀOš4éÊ•+Bw ÈÑ£GÕÔÔð>¼EQMMÍÈÈH¢dëÖ­’’’&&&999Dá¾}ûdeeÕÔÔþù矯¾ A@ïÓ·/yýúCDÄKÿ$'§I6L=z4ÂÜ\ÛÔt8Ùqu >KKËŽ~””õêU†aãÆ [»Ö’ÅÒ3ÿz’”ãüy§ÆFNmP57×67×®©i¼yói@ÀýË—ii Z¸ÐtÑ¢ ’=m_—‘‘aiiI<pà@ü)†a|>?))iݺuoÞ¼Á i4Ú‡:äîî~óæM¼ÃáÞ½{×ÝÝ}æÌ™x¡@޾}Ž …ůÙÙŸ¡Ñ¨|>†¢èÉ“K¾ûn Ùqu¥’’j|Á¿‡³ËÊj••emlF²X:ææ# Ÿè+0 {ðàm`ࣈˆ—tºØÜ¹cøÁÜÀ`Ùq‘ ¿ÅÜW¿³³³åååñ§Æ «ªªjYE Î444<}ú´±±1‚  (,,TPP@nïýÿä_EE…œÜwp‰ŽŽöððÈÌÌd³ÙT*•Ëå ¶©¬¬ÔÔÔ¬¨¨À ÄÅÅy<Nçñš/0Ôœ#èmúöŒ`QQþ€Ãá!"&Fݸ1()éíæÍÓTT„ܘ«¯àpxÉÉï³’’²22 ©TÊ„ ZëÖMf±t ÔH¹è E'MÒ™4I§´´&44åòåäË—™›k¯];yêÔ‘ð¶ÁÀÀ 11qΜ9øÓ„„###ü1“ɼÿ¾]Ë­Zæ—cÆŒ¹wïž½½="ÿµDˆ ˆ“““ŸŸŸ ‡Ã‘‘ùÊ-§ÅÅÅ¡R©|¾%Ç ÷ëÉ`EE]CÇçð%¯\y|õj*~°¸o]-[\\ó:))ëþý·uƒËZ[ܸq ‹¥Óå ÔR (½qãÔ§¦¤äøû'99WR’ZºtâêÕ²²ð ±}ûvggg“´´4ww÷?þø¯òòòrvv–033ûøñãÁƒÏŸ?ßZ?»vírrrâóùS¦L‘––ÎÊÊj­eCCƒŒŒ ‡ÃÙµk—`ù‘#G<==ÿýw ‹®zu@º>œæç— -çñø|>ÿöí«Võïkbò/:úUVV1F0AkÃ+kk¦®î`²£ÝÅÔt¸©éð÷ï?ûû':÷çŸñ Œ_»ÖR]]ìÐz—éÓ§ïÛ·ÏÙÙùÝ»w|>ÿâÅ‹³fÍ«lmm8àêêš­¡¡±sçζûñ÷÷?pàÀŠ+P511‰ÚòÈ‘#ööö4mݺ/îQÉápTTTFމ_梡Ÿ#xëÖÓ ›ÝìA:l˜Òõë?öätà›7Ïœ‰÷ñYÔÎöEEqqÿFG¿zðàm}=[UUnÊ}¦¹ùˆ~¸q?÷ùsíÅ‹.]zPYY¿páøœÚÒÁvž#(ÈÅÅ%---22ò«Gl»\– l­8GЫôíA11j³›±ÒhT==•ÐÐõ=v ÏÇΞM8xð6Çß±cöÀ­Þ·Íæ&$dâW~äå•ÑébãÇß¶m– SèÍ^A?¡¤$åáaëâ2õÚµ´ãÇc®\ylooâêj £¢™'Nˆš>–5›£0™C®\Y/##Þ31|üX¹aC`jj.ŸQ(h|ü¿&ÍÚ¼}[•‘˜˜•–ö¾¡­¦&okk8mÓØx˜„LþÿÐéb‹OX¸pü?ÿŠ¢hTÔ+<¬­mŠ‹{“””ELþYZêîÝ;—ÅÒiÐ µ³=cƨë×Ó|}£gÎôqt4õôœ®¬,KvhDPNóò>ÅĨãÇ¿xquÏ̱•—×yx\‰Šz%8SÀãñãâÞ\¼ø01ñßû÷ßÖÔ4*+ËXYéïØ1ÛÂB® í'&FY°Àtþ|ãk×Rÿýîék×ZnØ0EZº‡¦ºô}õb.—¯©¹…ÇãXYéŸ;·’F£öÀ®££_¹»ÿUW×ÔìôDœ„ÍÚšÉbéÀäè/$$å·ßîp¹üœ²j•…¸8ì º@.p± ·é«3‚?VâY •J±±18}zydõõìÝ»o'£(ÒòjeAèt±~˜ôóÏßuw$ ÿ Ñ¨K—Nœ>Ýðèшß¿{åJÊž=s¦NIv\DA_½A-¾ˆ …‚ØØ0{& |ù²ÐÆÆ;$ä1†aB³@A8n\Ü›îŽôCJJR¿übïžçðá—-;»lÙ™œœR²ƒÐç}1#XXXøðáC²Bù&BdôhEÉððëݺ/ ËoÝÊãñiëH†!YY%Ÿ?×ö­;štL-íÔûØii ºxqubbæÞ½7­¬~[µŠåînÛc×Èw‡ÐÐP²C€~í‹sñ³vHŒ¦ý¤¥ÍP”^]ßÝ;BQª”ÔD §PhÒì¶°|*UŒJ¥`Âçóy<>‚ ¾¾‹[."#zúÐhi§>t¾†a·o?ß¿ÿVMMÓ?NY³Æ’Nïc§yˆÞøi'8GЫùñˆ‹‹ëù8¾Õ«WŸGŽTDÑÝ=¼ßÆFnC·¾žS_ÏmhàlݺËÙùGfMMcuucuu}EECYY]GE¢>”<µ¡Ï%%(ŠÚÙ¶´ÔÃO Kß»wΤI:dÇõ !Òõ±Y“©DÊ~ÅÅÅÄÅÅäåÿ;ר˜ef¦ìè8…”`@?'##¾gÏÜ¥KÍvïwt<5mšÁ®]vZZƒÈŽ @ŸÑW/à´µ]¾ì|ñâêìì+«ß¶n½ZRREvPúH66ÌÄÄíü±,11ÓÔt¿§ghii ÙAèí @Dà·§»wÏó§ŸfܺõÌÒòŸß½ºº&²ãÐ{õ¯DÐÊʪ…].?¿¬ö€„ýǧ>~¼sÉ’‰GFŽ¿ÿر¨êêF²ãÐu0ŒŠŠZ¶l™Í²eË¢¢¢«bccW®\icc³dÉ’ˆˆ¼ÐÊÊÊÊÊÊÆÆfýúõoß¾% ;zŸ›[zôh¤¹ùA'§ódÇBšÀÀ@]]]:®««{éÒ%Áªàà`ƒ¡­­€¢(Š¢(ƒÁ055MOOÇ cccQm6ØšAQ´Ú~EVv€—×ìgÏö¹»O»xñÁر»wí /.†s|¡#‰`ZZÚ¹sç6mÚtóæÍÍ›7Ÿ;w.%%…¨:sæÌÆÿþûoooïçÏŸ[ÅÅÅݹsÇÆÆÆÛÛ»kbïÅŠ‹«ÎœI°±9lnþ‹OTnîg.—GvP䈊ŠÚ±c‡ŸŸ_YYÙ©S§¼¼¼ˆ?¢¢¢¶mÛæããS^^™@l…aXuuõÒ¥KW¯^—¶±/ÑX˦ II1V¯¶HLÜîæfsófú¤I¿ìÝ{&§:’ºººŽ;vÀ€cÆŒqqq¹|ù2Qåææfll,..®ªªºuëVÁ i4ÚÌ™3óóóÛèÜÊÊjÊ”)‹/NKK{öìÙòåˉ_w‡ãèèXTTTYYéåå5kÖ¬U«Výûï¿Ä†W¯^uttœ2eJË®ˆþÏœ93cÆŒõë×üø±Ù®…vûMJJªÿø#–ÅúuìØ=Üzýú‚ ø*ÓýÖÁƒOœ81uêTiié)S¦?~ü—_~!ªNž|¸‡‡GkmÒÒÒN:•ŸŸÏår) ‚ +W®ôññÁ'ù®^½ºgÏARSSccc:„|yZغu뤤¤Zë çèè8`À€… .Z´¨ÙÞ[ë¶õW1š/fyz¦r8\E1 ãñ„'uuMAA¾Úg’–VB¡tä.·í-(ŠÒétCCÃ3gÎ réÒ¥U«V!²lÙ2ÿeË–Ñh´àà`KKK*•K£Ñ7_¹rå¦M›Æÿý÷ßÃŒ  EY,K'3³8 à~@Àýóç“æÎ»|¹™‘‘:ÙÑèiI555_¼xannŽ?}þü¹¶¶6QõòåK33³–[µçÎu¿ÿþ»»»»±±1—Ë5k‚ FFFòòò C]]]CCA î]»¦¨¨Øls" ÚÕWµÖ­P<ö÷ßoee­Ÿ>-CQþr‚Zee½§gh{zîC¨T©¯¶100HLLœ3gþ4!!˜Nf2™÷ïß·³³k¹•à›ùñãÇØØØ¨¨(ü.p åǪªªÅÅÅååå‚ÔÔÔ(++ n~øðáÜÜÜ[·níÞ½; ((¨£/QdéêþõWûíÛg‡†¦\¸pÿ¯¿’õôT.ÿý÷ã””¾þ± I—,YräÈ‘èééeffžì_Y)–VQQ/&Fmí¢!Cäãã·µçMè+BCC,8öÕfÛ·owvv–‘‘111IKKswwÿã?ð*///ggg 33³?ÂÞÞxöl# :Ùè^IMMMœœŽ=ZTT„aØöíÛ'L˜€W™˜˜¬ZµêĉEEEÊÊÊË–-k»+Ádâââ6lذ{÷n111Áo###))) ‰#Fà%®®®¾¾¾Ë—/—’’Z»v­Ðž…v… —Ë?þ°aÃ~þùçf›´§Û–ÔÕ¥<<æíÙ3çÉ“÷W¯¦†…=iläR(h?¿F„0}úô}ûö9;;¿{÷ŽÏç_¼x‘˜ µµµ=pà€««kvv¶††Fk™w`` à)€K—.uqqyùòåºuëlmm)((ظq#‘)"bll»v-5#£A`¡cAÁË·Ao¦¬,»qãÔõë§<|˜žôÈÏïž©©æ¼yãììŒäå%É@×èš«†»Ï7MOö*Êʲk×Z®]kùîݧððô·oKÈŽ€oC¡ “&˜4iį¿Î‹û7<üÉž=7ví ›©­å³Ù›55aÒÔÄg³ñ˜¼¼Ýñã§NåÖÔ4ÖÕ5ÕÕ5q¹üµk-÷ì™Ûù]÷ ¡¡¢pß¼GDê6Ð=¦µOŸJEfΔ¶¶•U•‘QyüxäÁƒ·”˜0aàÔ©Cz8H#¸j)tž¥IŒ¦«HK›II™òx oßq8ZºeÀC ¥!‚a|Å0 AQA¨BÛ_¹²ÎÂB·3{ìDf´`Aéo…¢í\ ¥Ó3Ã1Œ][›Ú½1‰:¥€®…Šä× ‡Ã›6íHfæGÊáðäå%gÍ5cÆ(ssm:½#GÃssK7lÌÈ(úêã ±ÌÌ_;¶úE›ÝYt¸ÿ  ;ˆæò14õìÙxˆ HEE]HHʲeg´µ·ÚÛÿqî\bIIÕ7u¨©9ðÎM»wÏ¡R)4šð‰@A¨T ‹¥ Y úÑLÑÖ´}ûl å¿CWÏǸ\þãÇïöî½9vìÞ©S½‰xñ¢ ¢(ºzµEtô %1±ÖÞ7lð`ÙêêÆ®xÝKdAAÖ¬±04"&öŇñx| Ãþý÷ƒ¯oôôéG÷î½Ùþ>õôT¢£·8;[¡(J¡4÷x<ìÊ•d¯ï¿?yâDLFFÇ@¯%ʉ •JùãåTªð3Úñ MIIjãÆ©ßÔ-ƒ!æå5ûÊ•u š&ÖÔ˜•uèòeçqã†]»–6mÚaí?üp.(èÑÇ•%Ý@”AA†¸wï¼Öj1 X­¤$ÕžY,û÷w̘1 EQ<Ó¤ÑÄlm™ââ4KÇËkvB¶GvîÞ=G\œ¶oßÍqãöNœx`×®ð¤¤,üÌE€Èh÷Ôлˆx"ˆ Ȳe-,t[^áA¡ ?ý4cìX÷,##qêÔ²_~™O§‹ÑhT‡ki©'Ø@CCqéÒ‰þùËûCBÖÏž=:55wÁ‚Súú;,8uî\baaE‡÷@_¨««K§Óuuu/]º$Xl``À`0´µµðBü+ƒajjšžžŽ¾{÷nþüùƒ ·°°¸}û6Ñ¸í½ 6h»qû[¶Ý NRRÒØØ8::ºcý@ÏýDEÑcÇ14Á/v11ªžžÊˆƒ:ßù?˜ÇÄlÑÑQf0h&h mFLFDlNNÞ¹gÏ\9¹ÞÞwMM÷MœxÀÓ34:úUS·“ÁÐ EEEíØ±ÃÏϯ¬¬ìÔ©S^^^DÕ¶mÛ|||ÊËË###ˆ­0 «®®^ºtéêÕ«ñ##£W¯^UUUíß¿ÿÔ©S¦ýçìvæì^ Ã0 ûüù³§§çÒ¥K;Üô¬¸z5UEe“ŠŠ»ŠŠ»šÚfƒÛ·_SUÝ´cÇõÆFNçûg³¹ÿüóü›6ápx¿;pào[Û#ªª›45rtô;y2&3ócçã  Òv ‹ððpâiXX‹Å"ªnÞ¼)´[üAmm­„„þXVVöýû÷-[6û*CEQMMÍÈÈÈ– ˆfׯ_g2™ CCCãìÙ³m´,((°¶¶f0‚ß–Íö"ØžxP__¢££ƒ?}ÿþ½¥¥¥””ÔäÉ“óòò0 [¿~}PP^¼nݺ¶ßÉþó è1ýèkeñâÓC‡z¨¨¸«ªnºwï †a‘‘/GŽôb±~ÉÈ($7¶’’êÐДµktu·©¨¸O˜°ÿ§ŸBnÝzZSÓHn`´¡=‰ ‚‚Byy9ñ´¼¼\^^^h•`·†555ùúúŽ3/ôññQPP˜9sææÍ›cbbš5ÄãñâããõôôZ6 +(($$$°Ùì¼¼¼U«VµÑrîܹuuuíÜ‹`B)))ùàÁ¼ÜÎÎnûöíUUU[·n;w.†al6{êÔ©ÑÑÑqqqS¦La³ÙÂßÁÿ‰  ;ô£¯•ââ*í**îû÷ß" ?|¨˜7ïİa[ΞMàóù$†‡ãryÏŸç>|Ÿ&6l >Møüy>Ù¡Ð\ÇA¡U‚Ý"B§ÓÇ—ššJ”þüùÆÐ××ß¶mјhehhH§Ó¡R©-=<<ÆŽ»~ýúèèè–µ‚åääšÙö^g9biiIôSQQ}™ —””èéé1™ÌââbaoÞ t‡þõµrãFú¬Y>l6W°Ëå>|WMmóŠç**šÿÝO¢ÒÒš[·žº¸ééíPQq75݇OVU5ÖîCÃ7nÜ ž†‡‡‡†Y,Ö­[·ZnòÕtçÓ§O²²²-«©©Ýºu«¡¡¡ºººefÖìqNNαcÇÌÌÌ–,YÒFË–‰`Û{ìDðжÐDðùóçƒ 4hÐÛ·oÛ~É$‚€îÑï¾Vªªê…–?|˜=fÌîqãö$'¿ëᾪÙ4¡ºúæï¾óŧ {Ã,&è·Ú“Þ½{wèС÷îÝ«©©‰‹‹ÓÐи}û6^¡¡¡]WW—½råJ¢Û–ýÌš5+>>¾¡¡¡¢¢âСCx¹ŒŒLNNþXQQ1>>¾ººÚÍÍèD°Q¸víÚ¬¬,6›ýàÁEEÅ6ZΛ7ÏÓÓ³¾þßB÷"tFðرcÄ¡m;;»;wVWWoß¾?4\[[Ëd2#""®\¹2f̘††¯ü‰  ;À×Êÿ”•Õ._~VMmóáÃw¹\Ùá÷ùóÓ„úú;TTÜ w®]šRYÙ‹æ2A?ÑžDð€€€#Fàwâ¹xñ¢`U`` ¾¾>F×!ºmÙÉíÛ·Y,ƒÁPPP˜>}zFF^¾gÏ|“€€%%%•½{÷6 Ïœ9£¥¥%..Îd2‰kY„¶,((°²²¢ÑhD‰Ð½´|øÀÓ§—kj$;œoSYYŸ””•””󺸸J^^rÒ¤,–޵õÈÞ|Èô!ö$HÝÁ¯x÷îÓºu—òò>ÿò‹½½½1ÙátPffqLÌ+|šÃáéè ¶±aÂ4!è$H{$‚€î‰à×±ÙÜýûÿ>>iþüq¿þj/)É ;¢Ž«¯g?xð6:úÕ½{o>|¨0€nn>ÂÆ†ie¥7dˆ<ÙÑ>Áž‰  ;@"Ø^‘‘›7_‘—púôCȧ äå•EG¿ŠŽ~…Ojh(Z[3§McŽ?¼¯œ ȉ`O‚DÐ ü>TnÜøôiþÎv«V±PTD–h©¯g?yò>*êUdäË º±ñ0 [[CmíAdGz/H{$‚€î‰à·áñøÇŽE;=iÒˆãÇ— (MvD],/¯,))+:úUBB&›ÍÕÐPd±tX,)Sô‰?zô¨  €Ä8»‰™™™ššÙQô(Šº»»Oœ8‘ì@ú…G;v ¾±] ÁŽxø0ûǃx<þñãK,-uɧ[44°ÓÒÞ'&fEEe¼}[".N31Ñ´°Ða±tFRwpp¸víÙ1v=˜ßú&"3)Þ‡À76 kA"ØAååuîîÁ÷î½Y¹’õóÏ߉ðµ·†½~ý!.î߸¸7©©¹\._Ww0ŸÿzРú«W¯’]W‚ú¸& ƒ$/^\íÿ­§Oóüü– ªHvPÝ¿y“9äǧÖÔ4&%eÅÅý›–öŠì¸ÐY²èÃP]½Úâï¿ÝÊËë¦M;|ëÖ3²#êvÒÒâ3gŽòövTRj ;t$‚5j”zTÔkkæºu]]/74°ÉŽ ] ìRRŒ“'—úú.¾sçÅÌ™>ÿþû‘숾Á.ãà`á!&F9ÓçܹD²Ãÿ·BA"Ø•´µݾí¾dÉÄŸ_»6 ºN¤Cuuuétº®®î¥K—«‚ƒƒ  †¶¶v@@^ˆ¢(Š¢ ÃÔÔ4==h?uêTiii 33³ëׯ Ýä|@ûA"ØÅ ±ýûç?ïtÿþ[kkï'OÞ“™¢¢¢vìØáççWVVvêÔ)//¯ˆˆ¢jÛ¶m>>>ååå‘‘‘ ÄV†UWW/]ºtõêÕxɽ{÷-Zäää”]QQqøðáË—/ Ý#,‡| tÜÜR[Û#Æm9>‘Ïç“N³·····ÿj3 ‹ððpâiXX‹Å"ªnÞ¼ÙrbLÖÖÖJHHà'MštåÊ¡»@äèÑ£jjj(Š nž““cbb"))¹uëÖvŽsABBBÚÓ 0#Ø]† Súûo·•+'íܾb…yyÙ‘ ##ÃÒÒ’x:yò䌌 ¢ŠÅbµ¶!›Íö÷÷×ÓÓß>yòÄÚÚºµÆ¯_¿NOOçóù‚…nnn¶¶¶>| P`ÂÁod7¢Ñ¨?ÿ<çÖ-·ÌÌbKËCÑѰ3Âãñ¾ÚEQiiéK—.9sF°x€#ª¼½½ج“ÄÄDOOÏ®Av»qã4¢¢¶°X:+Vø{z†66rÈŽ¨ç$&þïê„„###ü1“ɼÿ¾Ð­0 kjjJKK366ÆKÆŒsïÞ=¢ûòD@99¹®è ì 22â~~ËŽ[ž>cÆÑ7oúËBƒÛ·owuu‹‹«­­wwwÇÏØCÄËËËÅÅ%&&¦¾¾þÝ»wNNNmô³k×.WW×ÐÐÐÏŸ?755½|ùò«»¶°°8räHMMÍï¿ÿÞ5/9ö“ˆˆÍtºØ¬Yýe¡ÁéÓ§ïÛ·ÏÙÙYVVÖÊÊjß¾}³fÍ«lmm8àêê*''7}útÁS …öãïïïëë;tèP—ØØØ¶wíëë©¢¢ÒìÜAP –ÛèYïøñhŸ([[ƒ#GÊÉ ;¢Žppp@äêÕ«íßÄÅÅ%---22RFF¦ÛâêECBBÉè!0#ØÓh4ª‡Çô+WÖ¥§ç[[{''¿#;¢râĉGõÚ,è‡ $ǤI:11[˜Ì!~Þæp¾~--@ׂD4ŠŠR«~ýÕþüù¤yóNäå•‘úHÉ„¢èÒ¥ïÞÝÔÐÀ™6íðé_ß ‹@"H>Áwîlrt4ݸ1ÈÕõr]]Ù _€D°W`0ÄöïŸwþ¼Ó½{o¦O?š‘QDvD}ö"¶¶ ’ß}çøìp âÄÈ|AMM>,ìÇcÇ¢½¼®Çƾ9rd¢¢ÙA WXXJv kÀG)ÚzÛê˜0Þúuuõ‰'’ø:XPº—zñ¢`ãÆ ŠŠº#GÚÚNs×®]#;Š®×o”FQ”ì@7êmßó0Þú{{ûoºé $‚½Wc#çàÁÛþþ‰ööÆ¿þj/)É ;" ²à®*¢*44tÁ‚½í{Æ›ÈëÀݧYàÁÞK\œ¶ÿ<§ØØ7Ó§}ñ¢€ìˆ R ìífÌ0Œßª¡¡8{ö±#G"x<>Ù@D@"Ø (¸æçŸç?3w.܃]Á¾EÑÕ«-"#=êë›lm‡…=!;"ôyö%zz*ÿü³ÉÁÁôǃœ/VW7] ÿ\CÚË_iAA9Ù!ô.ü „vÕÛ>èÞèU ìcð+HΟwzðà­µµ÷ãÇ9dGú‘ÀÀ@]]]:®««{éÒ%Áªàà`ƒ¡­­€¢(Š¢(ƒÁ055MOÿïVÚ±±±(ŠFEEu €Îÿž ö@â¯#±ëÞð ™YüÛowLM÷mÞ|…ìX¾Ð%ãMhaÛº{ÀÀ½ $‚}Òôé†qq[ut;8üqðàm‡GvD@ôEEEíØ±ÃÏϯ¬¬ìÔ©S^^^DÕ¶mÛ|||ÊËË###ˆ­0 «®®^ºtéêÕ«ñ’ÀÀ@ƒÀÀ@^PXXqòd,‹uÈÊê·?þˆ-,¬èU×¢uÕxk­ð ôY|>ÿìÙ -3gÍÍ-%;Ї!Òv ‹ððpâiXX‹Å"ªnÞ¼)´[üAmm­„„†auuuòòò²²²µµµD³­[·JJJš˜˜äääà…ׯ_g2™ CCCãìٳؗ+ááO=ª¦¦†¢(ÑŠ¢ššš‘‘‘xIAAµµ5ƒÁ@Z,ª,áÓ§OvvvÒÒÒ†††?Æ ³³³%%%·nÝJl"´%‚ ûöí“••USSûçŸðœœ“f› §µ>÷ïß/''§¬¬|ýúõ½{÷ÊËË«ªªÞ¹s§íÏ Òìe¾ÿùðá»ææ¿¨¨¸ꡪºIEÅÿ7oÞ‰öôÙy=6Þ¾Zøþý{KKK))©É“'çååa­/¸HlØlŒ ½_'Í"½goooooßž–€t0#؇áWDDlnläL›v8(èÙQ–‘‘aiiI<|°¶¶vwwÇKÖ¬YãççWSS“˜˜˜œœŒ|™ºám^¿~žžÎçÿ7…a—˽pá‚››^âââbddT^^Ž ü öÐŒ››ÛüùóKKKûí·5kÖ…Ó§Oÿðá…Bi»%‚ §°°ðèÑ£Ä qss³µµm¶9°`<­õÉf³ Ož<¹xñb.—›ŸŸïëë»iÓ¦ÖÞp¡>®=w.qÖ,3³ƒÇŽEåæ–"ÂáðZ{+H×%ã­íBA\\\ÌÌÌŠŠŠÆìËD ùrÀ´cˆ°ÑKhí3mO3Ñx ÷ƒ;‹ˆ‚ÚÚ¦;¯‡†¦.X`ºÿ÷RRpðmÚs§EEÅììlyyyüiEEŰaꪪZV v‹ N744<}ú´±±±­­íªU«CBBüýýñ3Q­¨¨““«¬¬ÔÔÔ¬¨¨@dË–-qqqãÇÿþûï­­­‰‰¯,b+üitt´‡‡Gff&›Í¦R©\.AyyùœœÁÀšõÐì PII©¬ì¿å™( ÇCDNN.//OVV¶²²R^^ßDhKEÄÅÅy<N'6ÿþ=þêˆÍ‰] ÆðÕ>ÅÄÄˆÇ m YµjçÂ…Ûcc_ñxŠ"|~«ßùúúª+WNújŸ·r¥ÝåË~=0ÞÚ(ÄßvyyùÜÜ\99¹ŠŠ --­òòr¤õA"tŒ ½ÄV­}¦"?ðàÎ"}ˆÙ€. %Å8vlñ”)úžžW=zçë»xüøádDAbbâœ9sð§ FFFøc&“yÿþ};;»–[ þà}üø1666**jÁ‚‚P(”>¨ªª ÝÝáÇsssoݺµ{÷€   –mˆ,A'''???‡###ӱ׈aXQQQk!µ§¥¸¸8‚ T*•˜§ìüÞ‰>ã¿ÖmkjâFEÊÊN‰Œ|‰¢†!mÿáÿéS§gè·†Ý †úWÛt~¼µ]ØcíQ"6ð@Ó‡—A¯QZZ³bÅ9UÕM?ýRW×Dv8 Ï@ÚqÎÖÝ»w‡zïÞ½ššš¸¸8 Û·oãUÑÑÑuuuÙÙÙ+W®$ºìÁÛÛÛÉɉxºfÍooo¼ÙÎ;«««·oßþÝwßáµk×®ÍÊÊb³Ù~üÎË+LOo»ªª»ººqR`³½êÁηö ~:sçÎÅ ?ÁÇBǘÐÑÛþqÒF³>=ðàÁ>Aš2bÄVë—gÏòÉŽô íùaÆ0, `Ĉø)G/^¬ Ô××§ÑhørD·‚mFO[¾üÖ^,Âfs£¢26n 6l‹ªê¦!C6õæDëôxkO!~±ˆ¤¤$q±öå‡"øXè:z‰ÚÖ>S‘xö!pŽ h*((wwNMÍuv¶òôœA£QÉŽôjí9GP‹‹KZZZddd‡Âö9l6ûĉ7nÜHJJ";–oº`Á‚fßóœèèWW®¤$&fâUø‰ƒ&h……ýØQÁxk¿>:ðàÁ>ÎMêê ×®mô÷O:pàï‡ß?¾DKkÙAÑqâÄ ²CèQ(ŠR©T&“I¬]ܧ‰‹ÓììFÛÙ.*ª¸q#ýêÕÔ¬¬é½+ ÷·ñF±z'HE¾¸ ‹¥ãâdcsxÇŽÙ«V±`5y:@Tœ "¿qãÔ§¾yó1<üÉçϵdG¾ ªô*Š8]ÝÁÿü³éøñè½{oÆÄ¼>vlÑàÁ²dè]ôõUôõg“€° ´è£Ñ¨ÓoÜp-((Ÿ<ù·ë×ÓÈŽ½$‚ýŸq11[L\]ƒ/VVÖ“H‰`?"!Aß¿ÞåËkSRr­­½ïßKvD $‚ýÎäÉz ['LÐZ°à”§ghC›ìˆ@¸X¤?’‘‘8yr©­­ÁÖ­W?Î9qbɨQ_¿ãm=êÚ1 +)iPRƒ?8IÓåkWéµ.QXX¨¦¦Fv ]`Aé~­¨¨bÓ¦¿’“ßÁºÓý\W­+„¢btº*®J£©Òé*(J+/kjÊï’ÎA‡õ¶ïyXǪ?°··‡¥ûHû; Ã._N޳熞žÊñãK†HvD ápxÏžå''¿KIÉIIÉ­©i””dŒ7lüøá'j£Á`À‘è¥ ‚ oß–¸º^ÎÌ,†u§A{TTÔÝ¿ÿ6%%755÷Õ«"¯¦&?a‚–©épKGCC‘ì´ $‚à?\.ÿÏ?ã~ÿý®™™¶¬; š+*ªxø0;557))+/¯ AÁ¦¦š,–Ž©©¦²2 è{ _xö,ßÕõò§O5¿ü2ÿûïÇ‘ YffqjjnJJNjjn^^…‚¨™˜hššjššWV–!;@‰ h®±‘säHä©S÷fÍ2úí79¹dGz†a/_âÇ|SRrJJªi4êèÑCMM‡[XèŒ=TZZœìtHpÑѯ¶l ‘”d?¾ØØX“ìp@7âpxOŸæ¥¦æ¦¤ä>}š÷ùs-ƒ!fj:Ÿö;VCR’AvŒº$‚ Ueeµ[·^ŒÌpvžüÓO3àÚOQÂfs?ÎÁ¯óMOÏ««k’‘?^ ?çO__Ö€þAð·o?ß¾ýš¤$ãèÑ…ffÚd‡:®ººññãw))¹))9E lyyÉI“Fàçü1™C¨TXùúHÁ×}þ\»mÛÕ»w_.Y2aÏž¹ÐÉŽ´Wee}RR~Îßë×E\.Èù‰a‰ h¿¿ÿ~¶mÛ5YY ŸEãÇ';Ъ*¸ºçä”nÞgÒ¤’k×®öpœ½ƒƒÃµk×ÈŽ¢×±··¿zµ¿ ‰ÚµÔ-èÓBBBÉŽBñùXiiMiiMqqUiiõÇUŸ?×U|üXõñcUee=ÇG„B¡54À]à’žÈÐßA"@Q(¨²²Œ²²Lk÷Yþü¹¶´´ÆÅÅ“Jm~51Ð@"@wQR’RR’’—o$;@8¸j Ÿ‚D Ÿ‚Dˆ”^r•tÇ44°KKûüUÕúH‚ H`` ®®.N×ÕÕ½té’`Upp°ƒÁÐÖÖÀ QEQ”Á`˜šš¦§§…ݧà.Ð/u÷®Ûˆ¤“8^lìk—ˆ†»bb^uU·}W—ŒÆØØXE£¢¢ÚØQÛ"Ñ­±±qjjê7½„>ý  _D QQQ;vìðóó+++;uê”——WDDQµmÛ6ŸòòòÈÈÈ„„b+ ê««—.]ºzõj’G0dÅÐa|>–œünÛ¶«;—-;{ãFzc#‡ì È×U£100ÐÀÀ 00°}}uØ`VSS³jÕª5kÖtîe@o…‘† HHHHÛm,,,ÂÃɧaaa,‹¨ºyó¦ÐnñµµµÍ ›µDQTSS3222..NWW—ÇãáUjjjoß¾}ÿþ½¥¥¥””ÔäÉ“óòòZö†´øÍncwøƒOŸ>ÙÙÙIKK>~ü˜¨Ý¿¿œœœ²²òõë×÷îÝ+//¯ªªzçζ·Ú·oŸ¬¬¬ššÚ?ÿüÓ2’¶ÙÛÛÛÛÛOù|~bb¦‹KЈÛTTÜ54¶¨¨¸ãÿÔÕ7?új‡}T³÷¡5]2ëêêäåå322deekkk1 [¿~}PPÞ,88xݺu‚^¿~Éd2 ³gÏ6ë¶®®N\\,t„X[[3 ¡µóï t˜HFF†¥¥%ñtòäÉD‹ÅjmC6›íïﯧ§×Fç†q¹Ü .¸¹¹MžÆÎÛ³UiœP¹¹¥ïÞÉWTˆcØGE¾ºùõëi¡¡ßv]B_¡  )'÷õµµ;??~üµ`ÁA(ʇTUU‹‹‹ñ¿1jjjðDpøðáÜÜÜ[·níÞ½; ((ˆè¶¸¸xÑ¢E)))x"ØÚ€¾ªÛ>R!í8GðîÝ»C‡½wï^MMM\\œ††ÆíÛ·ñªˆˆ èè躺ºììì•+WÝ ÝW³EEÅøøøêêêÿkïÎÚ¸ÖÇÏ$$ H@Ø‘(„Ū¡ò5,*\A+r[K¥ÞZYqlÑ^A\Àý'W7(¢¢µU6+‚H]¨uAÈ"[Ø$$ä÷Ç´¹)D!’÷óøø$gΙy#cæåœ3g°_¬033ÓÊÊÊÁÁ¡°°+qss åp8[·n]´hVhff–˜˜ØÚÚº}ûva[‰TRR2Ú‹G³ IDATV®\¹råÊÚÚÚòòò+Vôn"öõÀ[‰FÒ?ww÷%K@"†ô@‹BQÔÎÎÄÎÎdçÎ%™™Ï._.3†(í ÈH>ïâbéâb)í@ÈXP@NA" § S0G€¡ÔÕů«kyó¦éíÛÖªª¦·o[^¾T£RÛ¤ $‚²/77WÚ! Ÿ––®§Oét …"©ÛoyÙlöÝ»w¥…ôéëëO›6M´AÙwàÀH;ŠáC"9©¨ØòùÍïÞ•vv–q¹l k÷Ã)ªª:(+["­†Ó¢8A{Tl]@>¿…Hü°'˪{÷îaÏÿBîîîÒAìÛ·/))IÚQŒnôèÑèîÝ»ðýƒ ˆ»»{Eì!”qr¸n_g'oöì¨/UÕI**¶x<ÎÖVßÅ…áà`nm­ÃõÌØ>Î;//VW7wuñû©F à?ÿ|Ö¾}ŸÉAG5x~¨Þ—70p(:4_Œ#Ÿ^EaO3ên²FQQ!.îkee"‚`rÝ”íÝûËܹûMM7¹»>|øÖãǃEš>}ü;Á›6ÍÁãq ø¾ªñùÝööfƒ< !Ð#d‘‘fxø’ÀÀ,D„ÇëF¤³“—›[œ›ûJ ¸®¯¯æâ˜1câŒ?î(þ»ïfΜipþ?*ù|1¿hvw ¶o¿ríÚC&Ó˜Å2g0hCÕ% ôÙôùçvóçÛôî«°¡AEEãÿ›“—W2ÈM˜@½qcÃ?z()zNCc¬§ç§MMí¿¸ºî›4é‡5kNÿ÷¿9þYÕÝ-×#Fè2kÿþOžT°ÙM<^ïi|¨‚nâDÝ  9ƒ?‡zyMsp0ß°!áÞ½â¿sMÇ99Mž ×ýôie~~éýû¥QQ©mcÆ =&ÓÄÁÁ|êTc%%Âà#>$‚@f)+_5ožø;¦q8ôðá)( Y§¸FRÒÚk×nܘøî»‰dÚ4Sl«‚ÎÚZßÚZõjAÊÊêsr^äç—\¹Rxøð-œ……ÞÔ©ÆL¦±ƒƒ9™¬EQ>¿›É4[ÍÐPÃËkZtôÊû÷¿ÏÍ ŠúÜÚš–“óbÍšÓ Æ6'§=›6%^»ö°¡V¢`(ÅÇÇÓét"‘H§ÓÏœ9#ºéüùó CQQÑÌÌ,..+DQEQEEE&“YXX(,”tœ=‘™™9sæLUUÕ1cÆØÛÛ_ºti ­†Ð‹Õ¿ØÙíô÷?'¡CŒ£å$*Ð#dœÃ;/33Ÿ ˆ ¼²2áÂ…{L¦Ñ”)ÆC~D==µsçÖ\ºTpèÐ-SÓqï­oh¨ah¨áá1AšN~~ 6‚|îÜ=@`h¨Áb™Oj((¡¥å„ŽËåòÓ¼®®%-­(<üÚ‚ ©Ô[Ûï¿ù&.>þî³go†*Hd€»»»»»û{«988\¾|Yø699™Åb 7]½zµwáU²µµu̘1= {ÔDQÔØØ8555##ƒN§óù|lÓ»wïh4ÚË—/_¿~íèè8vìX''§²²²Þ{Cz%s`úôé/^û‰Ù·oF bå%%%S§NUQQÙ¼yó@.ô‚$$$ß–•½Ý»÷—éÓwS©ººë©Ôì›Û÷îmdJHHÈ?…äN’ÚÚZ777UUU++«¼¼<¬°¸¸xÊ”)=~Rbk"F&“i4ÚÏ?ÿŒ~èZìÿ²OCclt´'v—.Š"?ü°pâD݈ˆeqq_§§ÿ1cÆžœœ’8.Ðçú‚¡©9ÖÅÅ2$dþÕ«~OŸîJHøÖËkZSS{hh²³ó[Ûï׬9}òdöãÇù^"€***rtt¾urr***nb±X}5är¹±±±&Lègç€Çã:uÊßßßÉÉIGGË<9{ö¬ƒƒƒ™™™¯¯¯½½}ee¥¿¿?»Bþ¾¨#òàÁƒY³fõUùéÓ§………ÝÝÿx|‘¿¿ÿìÙ³«ªªp¸¸Ê¿}Ûzòdöüù¦MÛuà@ZII‚ ]]|¹ú†‘ÜIâïï¿téÒººº={öøøø ]]]{ü¤ÄÖD¤««‹ÍfïÛ·/ @Xó#~Ð= åRF²°°«ÇŽe:9M8wîáìúúÖààKׯ?Z¹òÓmÛ¨ª*I7Èèèà>y¾¿4?¿4/ï‡óNUUÉÖÖ»ûxÒ$ÃA& Œ:ØóÞûd ââb5µ¿¦X466577÷Þ$„}W‰D++«cÇŽM™27+?===00ðùóç\.Çóx¼¬¬¬µk×>yòEQ++«ÄÄD 55µÒÒR …ÒØØhjjÚÐÐÐcoÂ×¢…ÊÊÊl6[]]™y&¬ÖØØH¡Pz4§P(¯_¿¦P(MMMjjjý_è¹\™<ÑÑñ‹?ÿlÆ–\í§þøñÚ>>Ž}mÉ ô{oÎ#¹“DSS³¾¾{Ãáø|>‚  ¥¬¬ŒL&‹þ¤ÄÖDQ´££CII‰Ïç‰Daóÿ ‘>þ§ÀA /‚ƒÝÊÊê#"–‰ÎáÕÐ{üø—×®= ¾”žþ4"ÂÃÅÅRŠAĘ1D&Ó„É4ùJsøðí¦¦vÅO>1d2™L;;"þðƒ‘½páBìmVV– öÚÒÒòÎ;nnn½[ ¤»ÄÛÛûÈ‘#...]]]$ AGGG--­¤¤$eee:naaÑW[ìJÇã;::ÄV˜4iÒíÛ·±ÇR ó?áVaøq¸\ÞÁƒédòŒÇPyïg­­ålÚ”8˜#JÕûoàÜI"*++uuu?º¦’’‚ x<¾Gð`½wD™Áçw÷µéÍ›&/¯ãzzëCB.µµugTC…Ïï~öìM|ü]_ß³“'o§RLL6-Xp0<üZZZ‡Ó!í”Îüå—_ nß¾ÝÒÒ’‘‘ahhxýúulÓÍ›7 ÓÓÓÛÚÚŠ‹‹¿úê+¬\ìU²w¡††Fff&‡ÃÁ|±ÂÌÌL+++‡ÂÂB¬ÄÍÍ-44”ÃálݺuÑ¢EX¡™™YbbbkkëöíÛ…mI$RII‰0l*•šPWW÷îÝ»Ç#"Çb=Ð@.ô‚þøãÿ Mž8q«®n€¾~ pR`?2?GPr'ÉÊ•+W®\Y[[[^^¾bÅ ¬pîܹßÿ=‡Ã 6[St‡ýƒû?AþçâÅ<:}«Ýά¬gÒŽe°^¿~›˜˜”àèø*5@_ÃìÙQ¡¡É))¿76¶I;:†ÒA@7~üxlBÕéÓ§E7ÅÇÇOœ8‘@ `+ƒ`…}]ã{ô§ÄÅÅijjR©Ô;vˆ6qpp˜;w®ð-v³ˆŠŠŠèÍ")))zzzd29<<\ØvûöíXÏ"ööÆöööcÆŒQVVvtt¼uë–Øð„o?úfŸý|ݺxcã ]Ýõzzëå-Hì$©¯¯÷ôôTSS366NLLνxñbòäÉ***~~~cÇŽÅ ÅÖ›ÉÍ"0G€xû¶5,ìjRR››íîÝK54ÆJ;¢! º*Í“'l55ÕÂloo&ŸȳÎåëë[PPššŠå[’Àår}||‚‚‚ †„1TPMHHX¶l™°äÝ»®ôô?ïgf>Ãòì~»)SŒRRú¼Íe$KLL\¾|ùå<Ãp’`¸\nLLÌ•+Wrrr$z ˜#ÀûijŽŽ^¹pá¤Í›š>ýÇù^^Ó¤Ô`ik“ÜÜlÝÜlyû¶õ÷ßËòóKóóKò»ºø††S§c»30Ðv° ‡˜˜‰îEQ<;ò³@±””Ø—FUUÓ•+…?ýtÿùóê̱“%’>I0Ø©bii)\¡z˜A"€3gZܾ½92ò—-[~JM}²gÏ2]ÝAÍÈ9°Ui°{bÚÚ: ˰ÎÂÐÐd.—§­Mb2M°%¬Í͵GÑâø@nuvòººðBïGŠK“ÌŒ¶éêRÖ®±víŒçÏ«/_~P]Ý,íˆdÔOHDRÚ¹sñüù67&8;ï šãíÍÂád*1RQQd±ÌY,s䟫҄‡§p8ïÆSµµ5ÀF šŒ}v0º´¶v–”ÔÖÔpjj8eeõ55Í55œòòúêêæÎN™¬Æ`¼•vŒ2ŽN×Ù²ež´£CAúcgg’ž¾1**uÇŽ«×¯?ŠŠZnj:ôO( úY•f×®ëcÇ*NšdKI{û¶õÍ›¦ªª&6»áÍ›æÊÊÆªª&6»±®Žƒ-q‡ÇãÆS¥ÑÔuuÉ––ºzzjzzjÑÑ?J;pF+Hx%%BHÈüY³,/Ι³oË–y«VM—íî1œµµ¾µµþêÕÝÝ‚—/kîß/ÍÏ/9uêή]ו•‰“'aK2™&ŠŠð5>@w· ¢¢A¤KS[Ë)+«/+«onnÇê((àôôÔ 4°¹ ††ZZ$™¬Ü{Ÿ±±]Ãû!ð À€ØÙ™Üºµ)*êæŽW““DD,³°xÿº 2‡Cét:]»i¦¬¬>?¿äþýÒ¤¤‚¨¨Tœ……‹eÎdÛÙ™’H£àÑ,`xp8¯_¿-+«ÇÆs±aÜÚZΛ7Í\.AE Ôµ´H::dËÜݤ­M24Ô04Ô›í$AJQQ!8x¾§ç§›7ÿôÙg{==GÍSé†vö𘊠HMMs~~i~~iN΋#Gnãp¨¥¥ÞÔ©ÆL¦ñôéãÕÔT¤,¸övnEEƒ°K¯ÇÔ=¬‰¤dd4N[›D§ë|ö™%Öϧ­M¦RÉðä¤þðaŒŒ4/^üwRRÁŽWÓÓÿعsÉüù6ÒJ:´µÉbW¥9sæ7lUìîãÿû¿ñ½ï¹NL½O©,ÑÕÚF>¿›Ínvé ;ùDsÇŒ!êë«c]zL¦±¶6ÙÐPËù””Ã$›Í–ç“ œŸ$l6›F£õ(„¥øHMMí»w_?wîÞ¬Y?þè.3ëË žèª4yy%\.O¸T!‹enh¨üóa©òæ½ßºMMí–;9Mžx0 ¶ö¯ôNtê^MMsCC[WA<G£©aƒ¹††XßIꃹIIIR @ôXPZö` JK; éswwï± 4$‚ Jnî«M›ß¼iZ¿þ³ÿÛÇI;¢‘…Ãy—Ÿ_’—W’—WòèQyWßÌLËÎÎ4&fó™3{dûÂÓÛ{Ÿmðömëñã™ÿýo¶•íÊ?IÄÐÒò®´´®¯uX°:ØÐ­ðþ aΧ®>n@ÆÀÐ0ƒ2mšizúÆÃ‡oEDü’’ò02r™µµ¾´ƒAH$¥Y³,fͲ@¤£ƒûàAY^^I^Þ+"‘*íÐF–êêæC‡nÅÇç Ý<^wEEÃ`öÆãuWV6–—ÿoÞžpAýA¤шðòeMDÄ/7n<ÆãQl©<AêêZº»ý¯RÔc±S÷D×a±¶ÖÇîõég€¼D€¡ac£ãÆ†ØØì¨¨›—.„…-Æã@_=ªˆŒü%#ãO</x¼ÿ óxÝuu-ÚÚ$dë°àp¨¾>¬Ãø0dpkÖ8-_ÎŒŠJýê«ØiÓLwíZjn®#í¸ÀˆSXX¶k×õÜÜb¼@€ðxbž“»nÝÙööΪª¦ÚÚlZ!€×Ñ!ëêR 4ììLtuÕôô(4š•J¡P á| HbŠò΋Ýݧ'¹¸ìýâ‹ÿÛ²e®ŠŠ¢´ã# íåu"#㇠ˆøAE::¸“'-\¨N¥’uuÕh4ʸq$Ù~¤ `øÁŽH„þµk{÷.ON~ÀbýøÓO÷¥ѨO§Ó‰D"N?sæŒè¦óçÏ3 EEE33³¸¸8¬EQE™Lfaa¡°PÒqä%%uÇŽý©©¹âöí?DÀç÷·b€_¸pRXØâo¾qts³<ÙP[› Y `ÈA"€¤àp¨‡ÇÔß~ ž7Ïfýú Ë–yù²FÚA&iiiÁÁÁGŽ©¯¯?zôhHHÈÍ›7…›¶lÙ²ÿþ†††ÔÔÔ¬¬,a+@Àáp¼¼¼V¯^-¥ÀÅ31çéiÖØxíÛo?ùÄ[‡…HTèkA–ªª¦á  `A†ÃÇåÁÁ—þø£FŠ1(оw[GGÇõë×/Z´{{ùòåýû÷gggc›,XÐ{·ØwZ[[Û¸qãÚÛÛE {ÔDQÔÈÈèØ±cD"ñßÿþ÷Ó§Oq8‚ fffáË/¿|ðàÁ”)SNŸ>m``ÐcoØkÑîÀþ¿QE×ìêâ?~Ì~ðàuAAé½{%oß¶àp(‘Hèìä Š¢óæYŸ8±ê}ÿ0(Ð#Àp°µ5¸zÕ/(hÎ… ÷\]÷ݺõTÚEEEŽŽŽÂ·NNNEEEÂM,«¯†\.766v„þžÌ!x<Þ©S§üýýœœttt°MgÏžupp033óõõµ··¯¬¬´³³ó÷÷ïgWØßô{5€Ÿ<Ùð›oOœXõøqX~þ÷‡yyzÚM˜ ‹Ç£€ÍÔR‚0p³Ä@À¯[7sÉ’É;w¦|ñÅI''úŽ‹ÍÌ´¤×hÂç‹¿µBŠ¢D"ÑÊÊêĉ}ÕIOO |þü9—ËÅãñ‚ìØ±cíڵ˗/GQtÿþýØIsrrΜ9C"‘6oÞljj:„¤7MFS[´èAÚÛ¹U¼zU+Ñ#=‚ 3]]ÊÑ£_ܼ¹¡½ëäô?¿suu-Òj„b0Ø@0&++ËÆÆ{miiyçα­AgggAAÁ”)SúÚ³··÷®]»š››9–\:::jii%%%ýüóÏt:Ý¢¯¶8kÒÑÑñqŸë½”•‰Ó¦™zyM“Ðþ@A¤ÀÊŠvù²ï©S_çå•°X?>| [ˆÚºu«ŸŸ_FFFkkkfff@@ÀæÍ›±M!!!¾¾¾¿þúk{{û«W¯¼½½?hÏ$©««kÛ¶mÂÂíÛ·‡‡‡GFF†††b%,+**ª¥¥%22R8Hmbb’œœÜÖÖ!lK"‘JKKõiÿVVVŸœü $ä’OÜìú‰ Rãâb™•µÅ×wæÁƒéÎÎ×®=”vD#‹««kXXØš5kÈd²³³sXXؼyó°M³gÏ÷óó£P(®®®¢S ÅBE åîîN§ÓÕÕÕ…uÕÔÔÆŽ;iÒ$¬$&&&''‡J¥ææærtôJooÖ÷ß_ùì³½Ÿn·eËräH}}ýÑ£GCBBnÞ¼)Ü´eË–ýû÷744¤¦¦fee [ ‡ãååµzõj)€ÄA"€ìÓ×Wß¹sq~þ÷_}5ýäÉœ©Söm»\YÙ(í¸&»v튉‰™9s¦ªªêŒ3¢££wïÞ-ÜtèÐ!SSÓS§N‰6TTTüú믟={ÖÏÎQÅáp&&&iii™™™&LèîîÆ6uvvêëë—••999©ªª:;;——— ŠîDôï}x(Šîܹ“B¡èëë߸q+LNNf0JJJFFF'OžÄ ëêê,X@"‘¬­­óóóûÙ'Hššc]ïßÿ~Ë–yׯ?²·ßåçwîùójiÇ€Ä9:: ß:99 7±X¬¾r¹ÜØØØ ú»ãJ ðx¼S§Nùûû;99éèè$$$`›Îž=ëàà`ffæëëkoo_YYiggçïïßÏ®°¿{ßÇÙÕÕÅf³÷íÛ€•øøø9r¤¥¥%;;ûÞ½{X¡¿¿ÿÒ¥KëêêöìÙãããÓÿ>@à®aäS[[çÙ³¹ÇgÖյ̛góí·Î66úÒ €6Àåc444Š‹‹ÕÔþºû¤±±ÑÈȨ¹¹¹÷&!¬ÿŒH$ZYY;vlÊ”)Xa‹fzzz``àóçϹ\.çñxYYYk×®}òä Š¢VVV‰‰‰jjj¥¥¥ ¥±±ÑÔÔ´¡¡¡ÇÞ„¯û*ìèèPRRâóùD"‘Ïç#²qãÆŒŒ ;;»%K–Ìš5 k¢©©Y__½ÆápXÍÞa‹w Ë'è@©¨(®Yã”—·-"£¨ˆ=gÎ>7·ƒ—/ Ÿ€,a0ÙÙÙ·YYY666ØkKKË;wîˆm%:;; °,P,ooï]»v577s8,ërttÔÒÒJJJúùçŸétº……E_m…‰ZGGÇ{?‚’’‚ x<^8î¼wïÞ¤¤$:þÃ?xyy c®¬¬Äúÿ°Ð?H_~ÅŠOïÜ ¾ysƒ±±f@Ày+«ÐmÛ.——×K;4†ÒÖ­[ýüü222Z[[3336oÞŒm ñõõýõ×_ÛÛÛ_½zåííýA{îèè ‘H]]]Û¶mnß¾=<<<22244+a±XQQQ---‘‘‘ÂAj“äää¶¶¶ˆˆa[‰TZZ:C¯Y³†Çã­]»622RxïËœ9s6mÚTWWWQQáééù¡ûòH@ ¨©á:ôëÔ©;ôôÖ/[v$-­¨»»[ÚAÐwwwww÷ÔŒ‹‹?~<‡CäôéÓ¢›âãã'NœH °åc°B±×ÇÞи¸8MMM*•ºcÇÑ&sçξ}ýúµ£££ŠŠŠ““SYYV˜’’¢§§G&“ÃÃÃ…m·oßN"‘^sûDcÀ^œ8qÂÔÔTIIÉÒÒòòåËXa}}½§§§ššš±±qbbbï}öA„„„þëÙsÿÀåò®_÷[AA)ƒ¡·|9sñâÉêê*ÒŽ 1>âs¾¾¾©©©Xn$ \.×ÇÇ'((ˆÁ`Hè’såräö§Ÿ†»¹8y2»¦¦YÚÑøÐ#ø0S¦O™büŸÿx”^»ö(::ýûï/››ë¸¹ÙxxL50Ðv€ AÀÇÀáP&Ó„É4 u»uëiJÊïGŽd<˜Îb™ÏŸo3{¶Üh #$‚€AQTT˜;×zî\ëövnZZQJÊÃäM›~š6ÍtÎë¹s­´µÉÒŽ€x††²2qÑ¢O-ú„Ëåå啤¥ýqà@ZHÈ%lÔØÍÍöáÃì÷ïEÎÀšmƒÇf³¥£,( ”ÎN^vöó7§¥ýÑØØÆád·µJ;¨‘¾ÉÃÃ#))IÚQÈXPZA"8¯;7·xÆ »sçŽÃe“˜˜¸|ùrøH,8‹eÎã5I;ÿ‰ €œ‚D@NA" § È EGÅ>`Ø@"Yâããét:‘H¤ÓégΜÝtþüyƒ¡¨¨hff‡¢(Š¢¨¢¢"“É,,,ì§°”§G…¡ø  }F´´´ààà#GŽÔ××=z4$$äæÍ›ÂM[¶lÙ¿CCCjjjVV–°•@ àp8^^^«W¯î¿p ëýz>!Œ$F]»vÅÄÄÌœ9SUUuÆŒÑÑÑ»wïn:tè‹‹‹ŠŠŠ©©é©S§D***~ýõ×Ïž={o!‚ eeeNNNªªªÎÎÎåååÈß|ÂÎ?±Dû{׬««[°`‰D²¶¶ÎÏÏÿèNF¢¢"GGGá[''§¢¢"á&‹ÕWC.—;a„÷"âëëkoo_YYiggçïïüÝÛ'ìüëG_5ýýý—.]ZWW·gÏŸ÷~R àYÀÏç¿·Š¢D"ÑÊÊêĉýbrrrΜ9C"‘6oÞljj:$q¦¥¥]¸paÕªU‚àpð;6`t€D0‚0Œììì… bo³²²lll°×–––wîÜqssëÝJl7Þ0Oé•••ºººÃyP$øµ0‚lݺÕÏÏ/##£µµ5333 `óæÍئ__ß_ýµ½½ýÕ«WÞÞÞ}‹ÕÒÒ)‰&‘H¥¥¥i.¶æœ9s6mÚTWWWQQáééùѱÀp‚D0‚¸ºº†……­Y³†L&;;;‡……Í›7Û4{öìððp??? …âêê*:•ðCÅÄÄäääP©ÔÜÜ܃b…6l°µµÈÒ0bkFGG :îèè¸xñ⎠† "†Š¢ Ë–-`}__ß‚‚‚ÔÔT‰$ÑÀ¤"11qùòåð .˜#¡bbb¤È8SÈ)Hä$‚r A9‰ €œ‚åcÃ'77WÚ!ŒðO `AiÀ0ÈC;ä |¤ A9sä$‚r A9‰ €œúÿÀ0ÀŸ)ô~~IEND®B`‚qcustomplot/documentation/html/functions_0x68.html0000644000175000017500000000352112236016575022630 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- h -

qcustomplot/documentation/html/qcp_8h_source.html0000644000175000017500000002512212236016574022575 0ustar dermanudermanu src/qcp.h Source File
qcp.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_H
27 #define QCP_H
28 
29 #include "global.h"
30 #include "painter.h"
31 #include "layer.h"
32 #include "layout.h"
33 #include "range.h"
34 #include "axis.h"
35 #include "plottable.h"
36 #include "item.h"
37 #include "lineending.h"
38 #include "core.h"
43 #include "items/item-straightline.h"
44 #include "items/item-line.h"
45 #include "items/item-curve.h"
46 #include "items/item-rect.h"
47 #include "items/item-text.h"
48 #include "items/item-ellipse.h"
49 #include "items/item-pixmap.h"
50 #include "items/item-tracer.h"
51 #include "items/item-bracket.h"
52 #include "layoutelements/layoutelement-axisrect.h"
53 #include "layoutelements/layoutelement-legend.h"
54 #include "layoutelements/layoutelement-plottitle.h"
55 
56 #endif // QCP_H
qcustomplot/documentation/html/classQCPPlottableLegendItem__inherit__graph.png0000644000175000017500000001437712236016575030345 0ustar dermanudermanu‰PNG  IHDR«ë€dbKGDÿÿÿ ½§“´IDATxœí{PSWþÀÏMH‚ <ÄÕÕ Rºø‹šky,¶¤[v·XÜí‚ÌB¬U¬uQ°)Ë”¶¢í̶ìÐ ìc\Ý0Ë”‡‘ nAÑj±¢`W$Á›œßw{½M.‘g.ôœÏ8νßsÎ÷|oòIîɃ\B0Ã㺠Ç`P€:ØÔÁ t\åì#..Î1w“Ã)55uõêÕ›nVóé§Ÿ:l.ǰzõêøøx‡M7«Q©T› ¯P€:ØÔÁ 6` bŒÁÈÌ2   @"‘…B‰D’ŸŸÏl*,,”Éd"‘ÈÏÏO©TRA‚ ‚‰D¡¡¡mmmtÐÁeÏnó¶ ¨¨È~Ÿºº:±X|üøq½^ßÐÐ ‹kkké&oooFc0:;;7oÞL§…ƬZµŠt$¬3N¦Œ¸¸8‡½#4ƒ ËåjµšÞ-++ §›***XÓRƒaΜ9VA«žAøúúÖÕÕ566J$³ÙL5F±X|ãÆ N3oÞ<ÿææfz`vv¶X,&Â6IKKsuu éêê²*ƒ5­}5`þüù}}}ôn__Ÿ§§'k3-„Ðd2å9Àl6kµÚåË—C#"" ©ø¡C‡!„ J¥Òh4ÖÔÔÐÙÞxã N7Z*ªOFFÆÀÀ@zzúúõë­Ê`Mkl„öõõ¹¹¹±61Ó„BaPPPKK ´ê¦Ñhüýý…B!€ÏçCµZíÊ•+Íf³Åb‘J¥W®\zyyÑ'GGgëïï·“ŠÙ§¿¿ßÃÃê Ö´öq¤3h%(“ÉNž>>UUUTÓ±cÇ|||êë뇆†:;;·lÙB§eË*âåå¥Õjõz}JJ ݪÕjýýýåry[[Q( …B§Óuww'$$°fcMÈÈÈÐëõ¬gÖ´öAô,!T*•Ë–-ãñx€#GŽ0› V¬X!¨WƒtZÖ¹¬W*• ,X¼xqff&sˆ\.ŽŽ¦wè@“œœ6000}%™L¦M›6uttL߯‘8îÓáq‘››;­ù ‚àóù‡–ÉdÓ:ÑÌg†0Ý@üµ¥ï˜A¯0œ€ @lê`Pi „……g¹®‚kó¢“ë£dG X´p᮫`ç‡ö~@QQ‘c&jõ­¦¦o>þøð3ÏÌåºk¼½½31c ÓÅÞïë3lÝ*ß¿ÿU®Ëá t×§O_ïë3JJZHÒÂu9œ®eeçœø€ã©S×¹.‡35Àh|\UÕN’f€“O­>ÏuEœ¨׆‡G¨m’4WW·¹-‰+5 ¬ì<õ- £‘¬¯¿Âa=‚¢z½Q£¹l6?YýñùDii+‡%qŠÔÕuX-þIÒrâÄ5½~˜«’8EJJZmÿ¬Èb±ÔÔ\⢎A΀û÷¿øâ†ÅbûuB R¡x"@΀ªªvXþ°BØÜ|S§t|IÜ‚œeeç-öw-X]}ÑÁõpZ|û­þæM‹‹ÈÕUäê*rvòù|jÛÕUäêê|âÄU®kt4è~2¨¬¼¸}û‘Þ^Çýp× ­çŒ-ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔ™Ô&Š‹‹§ªN¸pá˜ýGáíí½zõꉟÌJ¦î(¸Ç  ¹®b²Lòz4“½ÊLQQQ||ü” flذa’ð:u°¨ƒ @lê`Æaû£ô³GPPP ‘H„B¡D"ÉÏÏg6Êd2‘Häçç§T*© AAˆD¢ÐÐж¶6:8Ýu2§ ¾ÏtOm§’ig’ïÙïSWW'‹?®×ëÄbqmm-Ýäíí­Ñh CggçæÍ›é´B£ÑxàÀU«V1ƒÓ s ÖéPÃx'Š‹‹›äûÓn€\.W«ÕônYYYxx8ÝTQQÁš–Ú0 sæÌ± Zõ$Â××·®®®±±Q"‘˜ÍfªÉh4ŠÅâ7n|ýõ×sçÎ]»vííÛ·m³QÛV ûètº˜˜˜yóæùûû777Ó­û÷ï÷ððX´hQiiiff¦§§ç’%KjjjìÚ·oŸ»»»X,®®®¶­Ä>³À€ùóç÷õõÑ»}}}žžž¬MÌ´B“É4–ç³Ù¬Õj—/_!Œˆˆ(,,¤â‡JLL„ÆÄĤ§§ ¤¥¥ýö·¿µÍFo[mï z#!!A©TÆššš€€ºõ½÷Þ3 *•J$½÷Þ{ƒƒƒ*•J"‘úh``@¯×›Íf@DDÄÂ… KJJª««%ÉÊ•+GËãñ¨!Ãù¾„°§§‡º©<ÎÎÎ>ŸÏܦ;9Âl*((X±b…@  ^ ÒiYç²W©T.X°`ñâÅ™™™Ì!r¹<::šÞ¥V‚®®®Ì•`eeåO~òww÷?ü»wï^777`³06§‰$&&zzzúúúۖͺ=öQÌJì3;  INN ˜Ì¤ö1™L›6mêè蘾)f“7`²Ÿ‹ÜÜÜiÍOŸÏ?|ø°L&›Ö‰~H8Ô€éÎþ/­8ü¹ê`P€:ØÔAÝ€¡!×%pÌd_ œ9sfJêà„‘sEÅí žåº‰s÷î]±X<©“y3aŠŽ‚3œý~üã1»_sùŽÐl—àõ×Õ×_Q«Ïýæ7«¸®…3Ð] µÚ«µú<×µp ºTW·›ÍÐÐpµ¿ˆër8]TªVjBP]}‰Ûb8Q¾ùfàìÙ› µŽ%%-ĈPUÕÎãýïÙ liùúÞ½‡Ü–Ĉ Rµ|÷|>QQq‘Ãz8EnݺßÑqÂ'_Ê3›-*¢' ¨¨¸àäÄàÉßå@®^í½ySÇaU\¢EEçHÒú[¹NNüòò6Nêáä øòËÞÛ·ØÆIÒ|ôè9Ç×Ã9È V· |Ö¦žžþK—î8¸ÎAË¡Z}ž$-NN|Û€ÊJä^ÌîÅÆËýû†_\AïÞ¾ýàÔ©ë7>ù)6!uq 1Û?ß› ••·o?ÒÛû)×…p ZgŒ-ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔ±þ™ìììY}á˜qÑßïÜÕåô ×…8Ž·ÞzkõêṎõsÀ™3gΞ=ëÀ’¸ÄÓÓˆÔÝ_RRrçŽõÏå±ü–XXX˜J¥rHI‡B„m¯P€:ØÔÁ ÎŒ3€uµòƒd†éÄ (((H$B¡P"‘äçç3› e2™H$òóóS*•T ‚ D"Qhhh[Ûÿ~É¿¡¡ F3& 23pxÐSsSƒÕ5HãââÆrÓºº:±X|üøq½^ßÐÐ ‹kkké&oooFc0:;;7oÞL_¢Bh48°jÕ**øúë¯Ëd²72¯d;ÆË¥Ž½çX2L>Û„g·Ý˜¾‹ŠŠ¬ƒVûc4@.—«Õjz·¬¬,<<œnª¨¨`žÚ0 sæÌ yzz^¾|ÙÝÝÝ`0ÐÝÒÒÒ\]]CBBººº¨`ii©T*‰D>>>ÿøÇ?à÷ßǤv³³³Åb1At‚ |}}ëêê¨È;w^zé%‘Hl®— Ùn}N3oÞ<ÿææf*ØÙÙìêêš––Faí Ø·oŸ»»»X,®®®¦‚]]]!!!VÃYë-çþýû=<<-ZTZZš™™ééé¹dÉ’ššš§Þep&x¸|ùrDD½»víÚË—/ÓMááᣠ9|øðòåËjµú…^J¥kÖ¬)++£û‚ÞÞÞ—^z)55•ŠlÛ¶í¯ýëàààÉ“'©·,á÷:€/¿ü²­­Íb±Ð7"I’ÿú׿RRR¨È®]»ûúú˜7:3ƒ)))±±±÷ïßÿøã·mÛFýë_÷ööòx<û=?¾{÷nvv6} )))¿úÕ¯¬†Ó3ë-çÈÈÈÝ»wóòòI’ìîî>pàÀž={F»ÁŸŽ•c|˜?>uSRôõõ¹¹¹±61…   ––á/ùKJÉ£GFEEÑÝúûû!„ýýýTðí·ß~î¹çvìØQ__ÏLÈܦFQh4¡PàóùTÐÃÃê0`÷,àååEßJ< º»»?|ø*ÂÚ0<< !$I’9œ>:`÷,ðÔœÌmúí¦ö,P^^NïªÕjú,^YYÉ:=s···—Ïç3²§§Žb„°««ë³Ï>{þùç …mB«äb±¸²²rxxX¯×ÓMã5`þüùTILX `íÉš|ìŒ='kñ¬L¥µµµK—.=qâÄàà`cc£OUUÕtìØ1Ÿúúú¡¡¡ÎÎÎ-[¶°V™•••””DïnÛ¶-++‹ê–‘‘¡×ëÓÓÓׯ_Oµ¾ùæ›×¯_ùÏþãååEÝÜÜè…‚Ur///­V«×ë©S|õÕWßyçGÑÝìd€* …B¡Ó麻»¨`ttôû￯×ëß}÷]zkOÖ{(&&†>:Û;žYÏØs²ÏÊT!T*•Ë–-£ÎgGŽa6¬X±B P¯Y« ÐjµônSSS@@e%xðàÁŸþô§ÎÎÎR©”^îÝ»×ÍÍ °­ã”Jå‚ /^œ™™I7ݹs'22R Ы V'Ç$&&zzzúúúSC®_¿äêêº{÷î¹sçRAÖž¬÷• U=cÏi{ø£1ÅÐ$''‡…… ŒkÔ¬Æd2ýùÏ^³f ×…ŒV¦àJS¹¹¹“O2‹ ‚ÏçK¥RúÍ®Y Z×›àëÚ\3îsŒƒÁ 6u°¨ƒº_}…Ðw…Yay-pöìÙ 68¾Ç32¿~}¾LvŸëB¸ÄÚ«?'øaóßÿÎÑëE##|¡ÐÌu-Ž ..ÎÛÛÛ*ˆô•§ñ‹¬«W{32bvî|‘ëZ8ÝuÀ×_ÿ÷êÕ^@II+×µp º”–¶ <Àµk÷P^¢kÀÑ£ç?¶œœø¸.‡35 ½ýNOO?µM’f•ªÙõ¢”—· O¾¡ÔÓÓáB7‡õpŠ˜Í•ªõñã'¯œøååm–Ä!(ÐÜÜÕ×g`FHÒ\ZÚj6[¸*‰CP4@­>ïäd}àýý¾ø¢““z¸9FFÈòò‹$iýpwrâ••ç¤$nA΀¦¦¯††L¶q’´|þùE“‰t|IÜ‚œååø|ö?Ð|ôh¤©éšƒëá´ ©«ë°³âS«‘{E€Ö'Cz½±½ýÉëþ3gn~ö™¦¨h‰œBCŸå¢4Î@ë»ÂnnÎááÿGïö÷?0#‚ÖYc 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6u°¨ƒ @lê`P€:ØÔÁ 6y¬®JŠÁ‚yóÖp]…£±ºª°õïÅÅÅI¥RN*ãŽ_p]€ãP©TVk¤RéÚµkTÆáhµZ«^ 6u°¨ƒ @™e@ddä´¦šÂüSÂL¨g"h4š×^{-**êµ×^Óh4̦†††-[¶DEE)ŠcÇŽQÁÈÈÈÈÈȨ¨¨;vܸqÃNÐ>ÌÛk:n;ïzjÇ×0nZ[[:´gÏžŠŠŠ·ÞzëСCçΣ›<ø‡?üáóÏ?ÏÊÊjoo§G566ÖÔÔDEEeeeÙb̸ (((ؽ{÷sÏ=çââ²jÕª]»výûßÿ¦›RRR‚ƒƒ—,Y’––Æ(¢££»»»Ÿ|ûí·©©©ÑÑÑ{öìÑétà»GäwÐÛTÿÈÈÈ_|111±µõÉD<øòË/ïØ±ãÞ½{Vù>|øî»ï®[·nëÖ­×®zMÖn½½½Û·oùå—..ŽÎ?^ÆmÀ­[·éÝŸýìg·nÝ¢›üýýGH’dMMÍÒ¥KŸäääÈd²’’’+Väææ©ÿ)èmªcccCCCZZÕ™ÂÉÉ©´´4(((//Ï*^^ž\.///óÍ7í<±vËÍÍ ---åñxö{Ìf³J¥Ú¹s']C^^^HHˆÕpú(˜Ç5ZN’$U*UJJÊþýûÍfsQQÑ®]»þò—¿Œvö™‚_—7›Ÿ~áîÈÈH''§gŸ}öí·ß¶¤¸téRzzº‹‹KBB‚B¡°Ÿ¼µµõoû[ww7I’Ì›5>>ÞÅÅå÷¿ÿ}BB‚Õ–––†††?ýéO‚`¿äÈhÝ:::222¨Ìôóßh  …P(”Ëåûöí£"íííÔ¡1‡}v:gxxøãÇém:ÿx·¾¾¾—.]zá…¨Ýööv???º©££ãù矷E?XŸœŸ|òIjjjpp0I’ëÖ­ËaII‰——×”t³ÓS(x<Þ>x{jNæ¶Å2ÁKåû, P(rrr.\¸0<<|ñâż¼<ú¶qãÆœœœóçÏ›L¦ÞÞÞO>ùdb5Š‹‹=zTTTDŸt\\\è3:sÛd2¹ºº’$ùÏþ“™„ÊpôèÑ€€«ü?ÿùÏÿþ÷¿?|øP§Ó}øá‡£•ÁÚM&“ѵ7! 00.̶•y\cÏ9Æm@hhhRRRvvöºuëöìÙ“””F5…„„lݺ577÷•W^yçw˜Ë…ñ²{÷îK—.ÅÆÆ^¹re×®]T0>>þ7Þ VIÌí;w~ðÁ›6mrssc&!I266öüùóÉÉɶù!„›6mJMM]³æÉÄ‘ Fë–œœ|öìÙØØØGÍ™3Ç~B[’““[ZZbccYµÌã{ÎÉð½ë ñÁŒý³Áœœœ¯¾ú*++ËÅÅeZª›Á$YVVvúô霜®k{÷îýÑ~ÄüŒxR+ÁÝ»wOº¤YIdd$Ç{æ™gþøÇ?r]ËdAëJSSÅT­ag3ësŒãÁ 6u°¨ƒ @”ÿ^Mìý½ómNÌoooæ.Z×ÇØ‚רƒ @lê`PçÿFùïx°:çIEND®B`‚qcustomplot/documentation/html/AxisRectSpacingOverview.png0000644000175000017500000004350612236016574024437 0ustar dermanudermanu‰PNG  IHDRÝ¡›sBITÛáOà pHYsÄÄ•+ IDATxœíÝw|SõúðÏÉN“6ݺ ÊV•¥ · Ž«¨?¯Š®+èUˆ ¢¨×*â@T({µ¬Œî•¤ÙMr~¤-)MÒ´M3Ÿ÷‹?ÒÓžïy’'ç»™ >›7o!Äëq<!„8‹!ÄgPÂ"„ø JX„ŸÁ°,ëé!Ä)Ü””Œþýûz: BiU !>ƒ!ÄgPÂ"„ø W&¬½ ò´ŽkðPÞï‚kzW½ }Ë2uù˜‘.CÞBƒ .â\÷ŠuóðôÑVÇÛØå7€ÿ‚Å|:ÄÇqlÏËÑãÙT0L㿱­ÌW`æ2ÌHêl1æ2<÷9ß aË2÷¿Šã 7aßcàw¬h îOôh‚¸‚‹^1o!À]‹ñÕ¿Qbòt$Ä7q6nÜdïwÃ>ƒ¡ò³˜X„Û¢¶óãx¸nFÆt¶˜óßàH?Ü}e™•…ˆ ÓÙòÝͳ½_¹èóQ7`àq|Yäé8ˆorT%d¸àñ KÇ»¡=¯Ÿ@fâ$<¹F€b?¦¦ƒá"é쨾|®íãÍõ5æ'`öŒ€ÔXdNC®ºñOä{19 É7â•¶ê˜füõ’§"”±*s/¾žŠ¹ÿàÀBDÆáµ“Vo¶'[E®ÀØP¼Ýô±Ù}/ÒClŸµ%X=áᘸ&@u ó‚Ç€‰;ßCýY[ù ¸k®OÃ`Ð"ÅÂ!à1ˆ޵öPc~f=‹Ñ½‘˜…¿Uvžx›¯˜ßÿ ‰b0Åáÿ\ùŸ¨?'o€”„ / Òd¿(›qÊÆu‰àrÐë6S9q ûo F†iiøòOÐ=逶۰Ìõøá;ðSןçÁhÄç°áNl­”X<U÷AnÀÞ'ñÉ·M-GöŽ[Óa[>Ø‹ÂbÜ]ˆ…›aX%Oƒò!ÈõØÿ 6oûÄÝEÈÊl:3¾Ã'ÃqÕ{¨.Ãÿeµ8CÒ·UävŒÛ€û°hjkñóM›—pðà £/ŠÿÎî!v9JX»gC^–iðÁ»˜|'ǃËEŸ¹˜†_ÎB} [Mxù!ȸˆ‹F4žhïx |L{)B@„qãP¼:@s?²Xþd\DÆ’Q°Q½3¢R‹ð §Ÿ"#ï¸2r'©â;=þ³Q|DÀëÓðÝG-?®¸˜²×D@œŽ»³ÁŸˆ;²Á ÆŒÙ(Ý­ƒx˜ò4zˆ'Ÿ¸­WŒá£Â±£¨6@–†«b[œ¡9ŠUXù<º‰”†žÆžõPØ)ÊnœLX†‘‘à…ã_/£þ[œÐ¶q‰R‡oI8´•t‡E:ÂQ¼ç Q]ÅQÜ‘‚ýï`DBeÇêb(´0ÖAŽX€A÷ ðÀîñ¸ˆ”6>ä aÔ‚ŒuP…"Šßxb\2¸¶N Béü´ÙFäN2ÖA†Xaã±= ¾ØêÞ‡‡øÐÆ€ÅB„&4>YAÌ:°à!1ôò…œyâ­_1ñ`|¹ ;C´}¦`[i‹3ªPYƒÙ=‘€„ }Œ“í¢ę֔…1Õ£ÎØÆ%”ÕŽÞ:%„a4 †t„^B€0 q±—‚t¹˜óf~…jjËðh2ð UAÞôö­)müÚ´w¼M¼0H娲¤eŶNaH"N·ªšÙa3r0qahŠPUkÕìÍ yz%/ ’:Tè,χ¤[»ûmÐt­æ µýÄmâ`è"ìȇ®÷ªqÇS°nbâG :ߟEI JJPZ…šH´‘ ÆiDAEãC}R„Y¥›—HŽ´ÿ`Q| C!rò bÅQ/¡5³:1z¥€TüŽ/Š ¨nb±j;L€þ Þø½ñcoïx›‚úa°äC(ͨ܉å;me%.FÝ‚s[Qï\™6#‡#ñãN4úsxs{Ó'Š‹¸ œ-j XÒSxæ-ÔQ“ƒg¾Ãä»á|eÔQxâ¶èÎàË¿¡h_†Ø0ð¸-ê’ApG0]†"5`By¶ìµ› íÆiÆ//`w LuXõ¤· KÜÆ%„Þ*lÉÇ”ëmÝtÒgõcÅDÜÙ ý¯ÆÜo1ª;0!Xù5Tÿ‡Œ¾ù߀ÆJ€ãmbdxóHVA&ÀU/cÆ$y6Zs2f#%»ë:9ø¸ï]_FJ\û0jºobÞÓ(¾\#>„)oüˆŒoÃGô$¤½†7¯³ÕºÔ:ôÄ[3)°îD À‘àYÖ¿I‹kcÙ¯—‡!`øè;v×´?N!n›ŠgúAŽÏ’ñíKm_ÂÁ@¾ÿ$âŽN<7BZa¼wMw_Ý€W&ã࣭¾Yì¸Ëá·ýñ‹ÚÁ÷uF¬‡ÝOáãqíÎû„À ç–ìÄþ2°,.mÃ’½˜~£­-ƒÑïà³[¼/úNpê‰û:.&oÄûc)[‘òº…*·ÝŒ‹Zp£pÇj<ÞËöŸ1"$øW³­“OÜ·1ˆIôt Ä—ÑŠ£„ŸA+ŽB|†?µBü%,BˆÏhlt//ÇŸâÄ œ?½ ŒF(Ðë¡Ñ@­†Á¹nhïâp “A €D‰d2ðù PˆÔTdeaôhDGwy$„oÃlØð™Ù<çᇑ™‰1c0x0$ˆÅ ‚P©´1Yp¹ÉÀéú2³¹1]Ö×Ã`€Z Z-´Z¨T8xü‚¼ÿ>æxåè1BH×aX–Ç×_ãÚk=‹ÓþüóçãüyOÇAq/ÎÆ›ÊÊpÕUž¤=®¹—.y:BˆÛñw´L¹–H-§DHà¡^BBˆÏ „Eñ”°!>ƒæB|Í%$„ø ªB|%,BˆÏ „Eñ”°!>ƒz !>ƒz !>ƒª„„ŸA ‹â3(a¹[ô½;Dr†5è®u'ÔM-„fù¾•·ö a&¤ç­+÷ÊÍm'„´F Ë¥êw=yÓ¿ŽÜðÙy¾bË­gž¸ùß{UÀÖýöðä¥U÷þY§—_fÙäE¿Ö±ŽBlb‰ëhþ«›xÔ—Uf–eYVñËÔð9;êY–­ÝzsHìý»T,˲¬:çÁ¸›¶Ô:8N±…³qã&OçLŲ0Öæ«4ÂPz(ß2"= NžbÈ?X¢·{œb“×mUïÓD“dž¬YþŸ_†.#>²fù6 ºÕiL0ië´‡ˆ# b´r­Ùîñ®Ã0Œã?`]4.¯Í ‘@Öá·%,— ùÆÖÿ·É8iѵ¡Žû>ëoÔ6ì̹T”ÏÕœyóh?Rj¸øÝ㣓"dQ}æoéöÊŽ/ïìÎ&ìÆw~x>ôý‘¡ÙˆwCžû~õØpÆÁqBˆ-̆ ŸQÎ X]׆¥Ñhœÿã+Ú8:ƒŠòþ¢$ 5º“öiîų<躦wg¸°Ê°wï^W娨(‹Î4·[PV€² ó~àAyyyž À&FEEY¨ÕêNfIJX„ŸA ‹x^vv¶§C°Á…QQQ®B½„Äó¨JHE9‰æB|õ(¯ê%¤*a€E½„¤ƒ¨—°MÞYcò風—@(aÏ£*!å$ê%$žGUB*ÊIÔK †±4·7? ¤«I$’N¶»S/a€²4´wé~Σ*a€eiq§üˆo£*!å$JX®ÅjN®¿wH,Ÿa~ìÕ÷\Þ˜ö%$¤ó(a¹”!ÿ­lï³ú´ªAuúì_Ì|ë´´/a¨JHE9‰z ]JñpiÄø»'¦Ix’´›î™Yrè’€|÷ê-œÙ¯.* |ðÕ9¼­«wÉ0T%¤¢œD½„.”=s¤ù×u[Ï(õÊü-n7ŽœÙ'^´/!Ó’Í#.‘——gy;óMïøveóA®î†þ%-uøMZ"Ùå EŸÞ1üίJ næ'»?½#EíÁÇ2Gä­)ÿc² [oŒ[õ×Ù·ûœ°}ü*±›¢õ’%’](//Ï;+˜¤Yg–H¦6,Wb•ÿükÌ¢ ÷ÿY¢5jKþ|ðâÃ×?±«Vû¶÷%ly<Ð4K{FEE¹Jà}8º’¡hÛ¶Ò¬ŒŒqEñ×=°0«tÛöb=íKHˆkPÂr%~Ü€üc¬ßSÙÀ6Tæ¬ï(¿GÿXA îKØ.ÞY‰óÎN4¿/Ê1ê%t%NôÔu› Ù01FÀÄLü8ä±Ík'G1´/a¨JHE9‰·qã&ÊY®ÃO¸ù•m7¿ÒúœÐ¡O~—ÿ¤ÓÇ»šW-àGDç𣹄Šæ¶É;kL>]Í%$þ€ª„T”“(aB|%,âyT%¤¢œD½„Äó¨JHE9‰æ(Zq”¸­8J:ˆz Ûä5&Ÿ.Šz ‰? *!å$JX„ŸA ‹xU ©('Q/a€òªFwªHQot§^ÂŲ¬¥¹½ù!]M­V[ÚÝ;Œª„Äó¨JHE9‰–KÕþodË%ÒCfíP m¾¢*!å$JX.~ËöúFŠ _Ý>ñ®Ð6_„¸mBÑEÌ•_ML$ñ§sëFHº'%ßÿ󹮕š= ÒÇ_ü øÇIaöŽ»+JÚ„‚¸_g6¡àQ¶ê¦Òßù;lö߃¥@Ó6_·YoçõâÁý$‰ãa]¶¬{ëÁ+ޏ*YêÙÙÙîફ7óȳpÏ åž'8tèн‰l ;¬.a,xëªÞïN>˜·´ m¾ÚàÂÛ"*Êû‹¢m¾¼á̦÷Oõ¸nÆ;%ÚæË1ï¬Äyg'šßåXà}8Ü@w|ýúóýÎLå7 m¾£^B*ÊI”°\OuàýMUÞ’Èm>DÛ|â ”°\•ç¼û憇ÇÇX½¶´Í—CT%¤¢œäË!÷ë¢ÎÁfÔèNEµÖ<‘°ãî4—00Ñ\Bâ~4—øªRQN¢„E»jÛ™õc‡h›/Gò|¹ç‹ŠjoQÚæËçr»Í]ÿVÿoÆÆFNø$÷ói‰‘7~wõ;Nïêl€#C8véS7v—§L|æ…këýö´Ž¶ù"Ä5üóÃ!H™³átíÙ]ß~ýÅçŸl˯:ùÑÌnü¶Oë4^t¿¾á¼æzUóÚæË1ê%¤¢œäŸ ¸²ôk&NŸ5cÒðÌP·ç—^8'ò¯¥oþY¦Ó^úíõe9²ñ·öÑ6_mhnñ*.ŒŠŠrÿLX¬êä¦'nÊŽ3 #ŽÉ¾iñç§Ôîiª“}õ§7{ÿ8#AÔíöí}ßøé¿£BÚæ‹×`6løÌOFº73W|3£÷]f¼òüœaIAšó9›–=óuòÆ_M‹ñÏüÜ^55Ç…\ØL\ÎÛ|ù[¶ :²1§×ªÖ,š<|`¿Ã'/Z³å^»7Qy:0oâU øQ•0@ŠrÁ~~ØKÈH çYY–å…§D¸£ÙÒ…ühys}ÑÉ¢z3îMsEÌxHõäíC»‹µö~þújÑüé×ûæ+¼³çh~_”c~”°T»Ÿ¸aÚ/———ùëéÙ/ÿ¶ðõ}|;ž–—ñJÞÙðäC4}±(Çü(a…Œÿ¶Ü3 ½„÷ð£„Õ’YSròØ™2¥ÞdiÍâE 5(ÊoŸn»5÷Zx¶ÝÝ o¯à­5&Ÿ.ª“ ៽„0•oYÐG–8èæ[Ç¿yηL˜0á¶GÞ;®õt\Þ„z ÛäÓýqÞYõÚ¢ËýïãÿK~øë™=g|U¨¸øýÂÁ£në/õt`„ÎñÇ‘”ú’cêÁ gdˆÓ Ò³‚Ä 9ýÙáNevÒ…¨JHE9Éux¡ñ"y©Ò„è¨tqá®BÝøîçO•«ûÝ::~é>&“¶¶¼¬²¦N©ÑÍ`¸±T)µ»Ò™Y¯¨,¯¨®Uªµ†'’Ë£bb"¤üÆ“LÊs‡ŽW­Ocx"IHxŒ¢®bÈ€¾WÉêËóªNhAYÎŽí³ñMu'÷Ÿ’s£ú Êqr3'“òÜ¡ã{Ϧ¦¦6ã $ÁáÑ ‰12A»o>¨—Ð;õ™;)ø“=÷ÌÌœ{OøÀ«?)xÓ·¾ÝÙö>â1&Uiþ©byðD’`>cÒk4Š*¢ª´,¾g¯¤Pþ•Iˤ.?wº°Æ²"O(–ð8¬É UÕU¨ê*.Šc³²SeÖï~^TÌeÖÜ ×èTµ¥ªÂó5©YÙQBë’Y]u¹eÆ„YQVgx`êçåPzV-//’WÕ¥öíÛ+kŽïÏWò¢û Jw6±v%LXLè˜U¿Žd>ú{Á˜½ÇÕ‰WI öÇêo‡ùP/¡YSz2¯¸ž/´{fZ|¨ÐòÉ6¨*‹ÏT©JOæ±½û¦X§³®<ÿx¡ÜŽ465µ[¤”ßøŸÏš´ŠÊ’ ªT:3+Ãål#ˆJï“"mü+“¦â܉$EÕ†ö´º2k«+4OdVi”嵆¨X¡3ËÆäˆc’ºË‰°oËÔÔžÖ¡šuÕ…'ÎTêåÅEµY‘íšÍA½„Þ‡Æô½îú>U«½v˜iYñ™^BV[~®¸ž'$5»gbèåÏ7×Ƥg÷Œº²³•—·Ðeug‹ä&pB’ûöInÎV®84.={@ïD Ç~¦áŤ¦†šäU*«Ú¢YSY©D±)ÉQ|@U^­sñQD|bB\˜S ÏJaaõQdrJ80+[„ÚÁ¨:Šz ]‰ÕþüùvwìóÅVnfµ@ºð¦mM#ïi›¯Ž1©ÊJU‚º¥Å´®ñ0üð¤”0`¨¸T×ôÿkV—•Ô³€¤{Z\ÍûF.u\¹àIdBf½ÎØœ“LªŠ*= ŽŽ”†DGMEµ¶åk¨Éߟ““sàLMƒu.3ÕÌÉÉÙwªJßxØTwrONÎþ³Ö‰Ö¨ª,>}ìо‹½ç*,k+qƒB„Ì«P€m¨¯(:{hßžœœœœ½.®R·.‹m¨¯(>wx¿åÏö:vª ¤VgX}Ù±œýùJÆÊãMQå,Ryî]JÕ$—“ \“/¯¯¯¯¯¯¯ý¦q¯iÚæË!û ³¶¦Î@)²}+—ņµ¸Á`µÕµÒØ;§8ÅlNKM…Õ²±0ÕWÔ4AÑb†#‰ŽºÊJM‹/#ˆHËŒ ¡úܹæÜÄ6Äñ* àGf¤GÚ½£2Õ_8ž{®´VmÊÂ#"#ÂB‚x&U]y…¢EêKMM»òLÖlùëƒLêÒ“Gò ÊjU¬($,<\&fÕµ¥gåÔ5—mR]:y8¯ ´¶¾' • }]ÅùKò /8¶{|¸•hÑ-!¬uÃõú.†+’K¥-¾ ,Ûyý¼`P¨|uÎÊñ«wÉÇO ³wÜS±{ˆý>&“N¥ –¶jUo ’‰P£6kë æ0`Ò6ž"±{JÛX¼æDaajæ ¦>H£¢¼ÖH¢#D ÀEE KKôÕênÒ`ëÖh^hrf¼âxi]áÙòà¬81£¯:·}ÿ™ä^Ã2SÃí‡dT–”iÀ Mëß+ær¢5ÔjS‹üPXX×w u¨zy­_zù ŧŠF®,)«G|°å°†Ú¢ã§Ë+Ά èÎwt·¨Q˜ ŽíÑ+9Bt¹OYÏò€+Iñ䥵®4&±»ƒFwê%ì†K¿}ùÛ¥VU?V™Sê¦}Ÿh<Ñ?üÑiÚˆ¹Ï½ù­éb¦q;¯Û¬·ózñ`‰~’ÄÎñ0ZX‚5ŒÀrí~Òž€Ï¬Ñ`d-§˜,§tp_7³QW_}± X @+iü”6ÈËå&@a¹G∣¢E%u5åªä`Y‹27¤{nŠc•ÅgJƒÓ¹Åuf2“d>m¬Io0âà·`$ØÁIF]}MIa± `$ñq’¦Œ£¯¾Pa7<=3!¸ùšŒ <)=¦æxEm©Ü%k¨+¯ÆA’Ü3Åúf”áŠe^»N·%,Ý™Ï_{qG½­_¥ŒqG/!#øÄ§?'öK—iO}¿ì¾™£;O¼;2Ĥ­ÓBÒø¦`„!AŒV®5ÃÞñ. °Õ΃]´ô¨¥Ö²ó]›Ðô}å¯údœ:WX¦CŸ¤yyyŒíÓ³N-,ªg{D÷9ž—gùO.,,é„ýâµ}õ¬¤3…µ&†Ý……RSS dcRŸÌCvvvîᜂ“cÒúÕ–æ¯b²³³óNœÓÕ– (áÀß{ÕÉ!ý[”|lCJóÇÑyHMMÇ&Ë‹O&µø›“……EQQ'ŽçI9ÈÎî}¾äBa‘#•UÕ„JEúÚ@YîÞ–¡òŒ§¯)8Qkùã£ò‚“ÜèÔòê‹§óJ­ŸòÉÂòÒ¢¢¨ŒèÃÇÊ%cRTü/G ‚º‰ÄL¼Ý×§WüÙÂB5WÞgPzGþ³³óòò†ê’7üs_B/ÁÖ|;1iAÂöÂu×òO,í3xû’âÝsc€­Ü4<éÅ_šyÎöñ>îºÃòú} ª8£„ ®ïÀ©íoœ¦¡œ¢nýûw :‘w$ŽÑ¶qе¦£Mƒ›Àpx‘$$<ªüÒ¹þQ±ú²¼CE*&$cPï¨æ«+=v¸Xcg)«+Ë;R¤bÁ§ðÙêÁ}Û8Ê6ÈÏŸ:]ÚØ ÍJd²ðˆè˜Èæ¡MG3ûôsÀlÔk´IlFÏ䈦TV{éè‘ fÎ2¡½®Î ãh~ÿß·A =¢û t4ÂʹqXnÛ—·qã&?Ùà) GÀã˜LhÜæëƒ]Ú¹1A­¶ù²qœ4ኤB(õ¥ª•Ún¯6kZœ ©å“Í[N©WÛ=ņã°,ª.5=buÕ*¬¶ät^Ùå¿`MzØBjÖÕV[v>auõ:^ÛŸO†šÜ÷ªEMM­\¡P*Õu•êºÊ‹—¢{ôI‹°.œojã0¬òüœì~Émi–dÀH¢âBmŽkåu¦7³ü«Jèi¬òèW?Õöѯ›D}òÛ%ü,»µO·óšñì÷¿(½hís›Œ“¾¼¼Í—ãÆþ—3G&(-7¨+jt1ñbŸ³Æ¶%NHTã@¦ñUy>:¾Íæ¨ÌÚª ËýbƒFe£1”m=„Ô¤.É/®g™ ˆ†E5_š¡gáDöäŠeщ²èD€5jjK ΖÔW^ŒMk¾»iÙKÈE¦öÔªŽ]Ô”ž+ê×M¾ˆÏ@ ^xB’£¹Cüþ½ÒÎ(´::=†ö%ôM¦š½«ïº¦{¤,›i|B0¨/”Ûnd ÊÚ¶GY6EeÖTTênD¯«‡µrU¦ŒTå5ÖÁ™”ó/jÀ‘¥ôÌèÙ3^„³‡~=[îä ÓF /("±{8hÐè.Õºrà(À‘Ä§Æ mIq^p„`•eµzG—ä¯*PïxãÒ7k IDATø+ciä4;žö%ôILØõÿÝ}^ifY–Õ\صî!M/0'tè“ßå«X–­ÏÿîÉkBÛ:Þå¡2ïÄæ^ŠÇf$30+ Žç—( ͈5ª+ Nœª0¢¸ŒnVC QLz²Œ³¢(÷DQ•ÊjkÒÉËÎå9qIÝÆG°™IUQmxa1!6ê#|Yl(Д_BÚPW|¦TnxZzŒˆÃ îÞ£›¬²øL‰Æ~ «¯+¯TXg&À¨®SžHäøˆœÐ]ÆYqþR½ #Šê-«,<]\«oqM³¡¾º¢Î’ÇAX\Poùg¬I«k›"aøb>`ÔjŒ.hë”H$œã—U†Ò]¿¥ÝxmßXöëÊ%ks‡<¸ì±1Ñ~ùd;ÈÒêÙuîíâ¸BÁ JÈÊfòOËkÏŸ¨½ ’ˆxŒI¯QëM8Òø=¯1ÀÇõÌÆÙSEµõegsËÎò„b!ŸÃ Z] € Š9˜šc•©¾¼¦à…ÅÛL|YL(·®VWY©IH–rXCMáYË Ñ´ÆA¢IÂMcú-®¿QÖ7Év1¬QYr®¤ðW(‘‰ø\õ*e½Þ ^X’u2¶5pŒ02)îRn‰®¢¸2>;NÄðBSz¥4œ,ª+;}¨B( –y0õZµZg„ ®oT˜²û3©.éO\P–>T) âè×iÔ:£4uÌÒÁ Š ã—W¨‹rsëBÄ<Äuë~åøW'«„–y9ÉYþ8—P›»òÞ%û4€¹j˃·¿YW¶fæÜ/JMmŸJ<¢Í WŸ5p@Ϥ˜0‰À¬U)•õ–lÅ Ïlcä5À•Äõ8¨wj|Dˆ˜oÖkÕ*µFÏ ¥a1Ý3ûî—âhP”UTFEyàGÄHíÜæðBbB¹€¾ºRmbõ•çÎÕ!ˆÉ°$Ê9WmH åB[ræ¼ÂvU”#ŠLê!Á ’×TW×ÈÕ¬846¥wÿ1-ÚáZU -§K㓹`U/ÊMO@¿ÌnQ!B³FQ[SS«P70âð¸¤Ìñ–òòò¸ÒÄÞú¤Æ…K¸ *ym­\©3 Ãb“//Á IÎJ‘‰X¼¦ººªª²ª¾¡ÕwœÛª„þØKh(;©î6.šÏÊ÷|¼7}ÙU:Ñÿó<Íñá/LJ'¤…'X~` µy§+õµEçk‚3ìÍwáe±É²Ød‡Å†¤_=,Ýî¯yá=‡ s/¬Çå?‰ÉcãoAtÖ è× ËºÆº`®$2152±ÍPµâ<›£5øWÊð$‘Ý2"»9ŽŒ $6%$6ÅÁu%±i½c[ߨy‚?¶aqƒÂØ’‚ÚåÁ͇£§ŒŠå2<‘ &ÏW}ˆmíïcb᩽ÓÃyh¨>s²q¡,ÏGEEu9LX’AL©z|PÏ>S·¦/œ•&€æô/ù²AÝi|“·êP…‚#ŠÎè“Ù=1!œ«Q9ìsgTTT×òÇvhF6êÜã³sŠYÃwãì‘N\ñþÀž”°¬xÕ~Å ŠLìéé(ˆÓ:¿€³aÃg~Ò†e’ç9gJê›®É?’/¿¢‰Úc@P/XãÕ«xÉÔòÎM¤‰µÎLÍñŠ^m×Pþ:«ï=Ê¥{¶ÞrrNßY¿*[þ6dìæÜÍci«ú–¼$ayçnTTEs !c7_$n.®õp0„.àîúÂßv—¬˜ës¿þüíüì­¼³çh~_”cþ˜°Š>šÒsØÃ_žÕ°ŒU¿>5ëê§v)ü¥îëh«z*ÊIþ˜°¤×o<üÅÇöíwû+o?z]æ¸õ¡Ïï9¶zX§ó&>3—ø‘ÎÏ%ô£^–Xùߺî­BDÍùáøÆÉÑÔ?h‹—4º»õz¿Î4ºûã\B˜j÷¾5½ÿØ/Ò–|ñåÒA;fš¶âŸªvîÙÖ9 …ïŽ0Ì€5ç›.KÛ|9@UB*ÊIþ¸/¡ò—¹7¿Ã_üÏ©_–Κ¹ä§S9ÏJ×ÞØ÷¾¿;µc{˜.m~t¥¢ÄåQ¹´Í!®àU†ªSe’žÝƒ.7̰ڳ?ýÔpÃô,‘.o®ü~ÎðUCW[7yóƒùJâu?NJ¾/þçs\+4{¤¿øAñ“ÂìwC˜¨JH<¡SUB׆âøQ½.g+CÅáoV>4mÒƒÓ»ãâlÝŽgŸ:7oÕÝ©V‹ÓZ¶ùa½WþÁ½Ýㆪ„T”“ü1a«/ÛÿÕkܘ.‹4ýå}¡·½þÒ©.«Ú»ü‘œÉï<Ú§ÅF^µÍ—5›G\"//Ïò&væšÞñí:Ëæƒ\Ý ü JZêð› þW%du—ö~»aÝÚ>ÝYÌK5cZVþú=·ÜÿhŠ;¦yk½pÍ´‹¯øhl¸±àͽ?m¬h›/wÉ£*¡×£^Â&õ¿ÍŒé6ìÉí ÃÿýãÉZeÁŸ_œÕÓ‰½é\ÄT½ç§c…ŸLI”ɲž8®?º(3qÚ/JËv^Å» ,cí¯ØæËÆñ@Óü-íU\å*þÕKÈ ëÑ7 ¥‡÷ääìÎ9T wëP€›0o{YéÅ‚‚‚‚Ó;—ôàg½ôÏ¡u£ƒ·óúüÙ+”G×>·É8iÑåm¾l'„Øâ_mXAƒ_ú§\ynëÓCu¿<{cÏ0YÆøgÿ¬Öë[¯AÝ58âˆØ¸FÑ2>G.dh›¯6xg%Î;§Úù}QŽù[ÖefuÑß_­_»ö£/ö”q“oX¸üýsÓžŽÊk\Ѿîò–,Z^†Šj­¹Å†5´Â‘¤Œºkù¦œUñ_ëæÅä\¼á°,kyÓ4? ¤«©ÕjËN_æ¿wXÄ ÔKHÜz ‰o£^B*ÊIþÕKHñkþÛ†E|‡wVâ¼³Íï‹rŒV€òªü¨J Eu~jŽ?îKHœ`iõìºFwBZ³tv&gÑñ<ªRQN¢^BâyT%¤¢œD½„„ŸAUBâyT%¤¢œD +@Q/a›¼³ÆäÓEQ/!é ê%$îG½„^Æxé«û†&ɸ Ã0’¤®?®nL´Í—T%¤¢œD½„.Å‘ ¼wÕ¶¼r¹²îâŸÏÅ~sÿë‹ m¾Ú@UB*ÊIÔKèRœàô!Wgu’I%’àà ah·x €|÷ê-œÙ¯.* |ðÕ9¼­«wÉ'„ØBUB—Sï¾7Šá³æšþÅG·Dsh›¯¶P•Šr5º»œäÚuUìªâoÞyë¬û‡Ÿøzz¬Wmóåøˆ«Úà-u„ììl÷?pÕÕ›yäY¸ç…rÏ:th‡ÞD6Ð~]G»ÿ‘ŒÑ§×\úuŠ„¶ùrȧ—ý¥¢Ú[íüìX“ÁÄðxÐ6_m *!å$ê%t%sÍ?ï°åÀ¹r…¢,÷›%‹6jFÏ$móÕê%¤¢œD½„.ÅÏÿïÉñ½âBCã‡<º«Ïë¿~2=– Úæ‹× 6¬€æ%mX.D›Px?jÃ"íFs Ûä5&Ÿ.Šæ’¢¹„Äýh.!ñÞY‰óÎN4¿/Ê1ê%$žGUB*ÊIÔKHñÔ† šÚ-<Û’EUÂ)ª“-î 6¬€Å²¬%I5?ð ªHQjµÚÒîÞa”°!>ƒñ<ªRQN¢^BâyT%¤¢œD½„„ŸA½„Šz Ûä5&Ÿ.Šz IQ/a›¼³ÆäÓEQ/¡waUGVÍ¿.3œË0Œ0aØ}5ïòEÛ|â”°\‰ÕUÕÆÜºbÛ©Òªó;ŸKÜzïÄçjÚæ« T%¤¢œD½„®Ä‰ûâ™2$3.²û5w/¹?­b×Ñh›¯6P•ŠrõvcÅÞ¿Ê¢†d‡si›/B\„ª„]C{bõ‹Ïݲúù«‚»Ûyyd›/k6¸D^^žå[×™húŠn×Y6tàêöX¶¨rI`þ%-uâmEK$wÝÙu³F>Û°ä¯ÿ-è)móåPžïo]EEÑ6_¾IîãÙ×ýŸêéß¿zÐ’­@Û|â"”°\ÊPôÉÜ‘–ÜÿÃ÷gpõ:Î`bÚæ« ÔKHE9‰z ]©áÂ7¯ÿ¯¬~ÿÒáѱX,‹³_9mmóÕ†æv¯â¨¨(Wámܸ‰r–«ðÓgÛü'tè“ßå?éôqBHk4—0@Ñ\Â6ygɧ‹¢¹„¤ƒh.a›¼³ÆäÓEÑ\BBH¡„E<ª„T”“¨—xU ©('Ñ\ÂuÅÔO‡CBç§æP/a€²4´wÝÔœv¡*a€eiqïL΢6,âyT%¤¢œD ‹â3(aÏ£*!å$ê%$žGUB*ÊIÔK ¨—¸-àG:ÅKð“H$œ±AEùPQ´€Ÿ÷Ðyuú5™†OÙ®´úmóEHçQÂr-Ž¸Ûˆ»_ûôéa|ëôÍ!®@ ˵D=ç>zß´ëzE´ÈW¸Í×MŽì̹T”ÏÕÔKè´Í!.A+ŽºƒWmóåøˆ Ûà;óM?ú÷Fs Ý+C«Ô±1«WjXq¨˜c÷x×qÛÌAo˜¢Hüµa¹móEˆKPÂr1Ö¨×étz#Ëš´Í!.²aÃg,qíÑÿK¶~y#ïÙ¥bY–eMu{^Ÿš) ÍœúzN©ñ{Ç !­yÅrH„⌀›KÈçÃdr}±F#—•æ¶ }âÕ ¤YÀµa%'£¢ÂõÅ^º„ôt—•æ¶ }âÕ ¤YÀ k;cÇbáBtë†ðp„‡#"ü¦qéd2»ç*07 ’2P[Ûøï¬^‰}/HŸx5ip«5øálߎÊJÔÔ4þkhhü­É¥Òî¹28M·¤|>""‰ˆDGcÂLš.×Ç‚ô‰Wƒf—°!¾‹z !>ƒ›’’Ñ¿_O‡A!m ¸^BBˆï¢„Eñ”°H[ ز F«# ؾEEDVÀÃrоˆ“ºÇBã1ìf\Ÿéi¾CAòùÐë‡#˜L‹ah3ïh±æ%ÄÜ‚˜æ7‹kŸÇ· …†³÷¢Gm3TbÃ*ü™•Uùظ ».àôvLï‰éÑÐvîÐ “’PSÓø¸ª ©©/`BþAì;ˆ:5ŽÀ¾}ÿþø‡Í£/;â~´Zƒ ìÚqìÃ;Øæ¥jw°ýDZŠlÕÏl·ö€Æ“Ñ5êPãÆ±[¶°r9+—³ß|ÃÞ|³ÃK(Øé l°”X¡” fƒƒÙà6&½k«uõ"¤Mô-i‹ߟÀÂA—kUaƒx'5˜0WQnÄž è`wÜE‹PQ†AL V¬px‰|} Ðà¥gpÛ dPxšW´Æx²ÅX¹ Ë\93¯CNâ…0Õ¡ŒƒoÈó rΜ?Z-Š‹1c† Âsÿ…öÜ3#&㨊ƒx{‹·Ô‹I@¡„e‹O} v9BeÈè‰D½„Ç>F¶ÊŒþúy:B¸5ȃK0âß¿¦S› á£P@½„Äíh.¡]¬ÇspªÂX †¯\jÝAªpG/ þ FcÞµ¸k7F™0±7>‰ !]p9BìãQ¶²‡"{4²=†cîÒ …‰Vḛ̈:¨Þ•†Òåh_BÛXþü[¡N‹ÆÙáb<þ_ôóx[»7)ÁÔL,_áOkÂ_oât6²]¶›/!Îò†ÖcïcÂæ™Xp·Ebï$„èÒÛ­A°åk ¹Íjh¶oBæl‡C@¹˜»Eì ÀŒ-‰PÅaÓˆõªWƒJX¶¨±ù¾ß‡QÁžŽÄÙÑ1ë‚l8çöãèy1b(BéC<Þw¶ð‘o_'¬]AšrEã˜uˆ«Ná°´õ.(Ý…¢4\{ ’“±r >ý .ØèNOH‡P²EˆiãðÈ=ø¿‡Ö4ôƒƒ”,{O=¨]AªñÜTlW ^…Ü›!°T Eaâ2\í¸5J‹•÷"ñ'\kÆ–ñ¦·K0s.r·!žA&îE+ŽÚ¢Ä´LürÅræ!øö Æ{OG~‚ìØ˜uÆ÷Á¿Nbl&÷ÂMð@nì'Oaœ7W™‰?¢^B[Bðm¹§chS‚ Âso·ÿB\„±(¨…2‡£±"ŒÀDßtÄí¨JhÅ„ü#0%!+ùG ¿b‡Q.z @¨Ç+A R‡^©–+Ò@„{žC/‘í3@‚¦`ü ¼ªAúH@sù2t÷Ê‘´Ä¿Q²¢Æ Ó¡\Š­·à…éøµUmks.Æz¼JØ™ YhU¨×6þdãï-LÅ<›÷J:|ò.†/B* âÀ,”‹0|0ø€FŠï£'%,âv45' éÏàÖ§°æHjýÍ¥ÀØÞX| cÍ7Ëaˆ7Ì $î°š0 ÊqBƒ¤Ö7e" “ᙇq0g˱ñMìä[Ÿ‰é F7YĽh.¡[‹_&Âý/"ËA[{t&HµÐ7UYÎüŒMu˜j³ÓPˆÿûÒ·°÷jêql.Y7áúû;úé(ê%lÁd„Ѧ|¾ñ×cXÊñûž{=žEǃTbF"vXµÓGfãÉõ`3Áé±õWÌ\‰ÅŒŠe_S•xU ­ˆ°`%Àˆu7¿`͸Æ™º|Ìxbw¢sAÊð‡Ñþo¯ ÃÚåÍF÷N…Kˆ+Q²ŲúðÐËËŠR0T‰|-ÒøŽÎs«Žyi'ÞÛ„¼RˆâqÃ\Ì¿¶‡‘Š0XŠeÿF~Š*ñõ‡8dýwÜt'’hÑdâ^Þ3ÓÄ›Ñ7ÿùu–Ú‹âñ™ ^ÕÆÜ¡ Ï®AÖ Ø­G¿«hÀò0ñ]Ø^:TˆgÀX=¶oC©;·à»ï¬þýˆrZ#™¸íšcSÝöúb6­›Î"’}eÏåýi¼D»ƒT³vgù‡57Püæ%±{Ô/£bÿ}/{J窨 é8šKhŸ'öàD)Dñ¸æDygõ§]A*1±8‰)aMGê0. ä㦶Ä:[‘$¤+qSR2ú÷ïëé0¼ÑÉèÉxCs»Mí ’ƒÒÍøP©ÃÄŒøg%Þ,ÁS áðܳkÐo6ŒY¸ºÄ5xïIlĬ«àµ¯ ñWÔènÅïÇañ±à#ü1Q¯")ÚK¨ Á¿"ÃqO‚o¾Ž»vâ­áëš¾xÎÅáùJˆ{QÂjÁÏÇaÒØV‚“98QætU׈ó<ÐÍ›N„ôFš5Î ÄE(aYñûqXF€Þ£ÐÛù+Š1:¯®ÂµÏ"’ñÏ*ŒC†7íÇA k°EƒïO`’­!N^ÄmAò±à#„®F”É鈑bä<»¾­Š$!]€CórlðßqXc©Hÿ¯/ÇÚí¨¼„Çûƒ¶%$îGËËØ&ß‹é7ã ÒºÃX…ó¼²Oõ®;RŸ’¢6,ÛB‡â÷Ro‡åAâB”°ì2Á “‡v< …(/{ÁÚ¤OìhMˆ=^öùóå[0æV„ÀX‹ÐHÔV#¤¾ß‡ÑÞ´OL»ƒ4aó Ü™‡;¦yñŽÖ„ØG Ëþû8’ßÃáÛp×Õ¸w?zìÀ¼íè/õt`Ö:¤ŸíŚø¿[û.Õ¸‘jŒeX¹‡¹´‘*ñ ê%´Ecj,œ¦z‰0æ4«=˜µ)@¯h˜Û;yT‹•÷bŸ°l¤Z„¸2Ìœ‹RSÛ§âZœ7y:ïÃC¼¥J€t1v©r½jž¸óAšQt¹¹È=ƒ‰÷áý»ðño8z ¹¹ÈÍEîqÔ›^È€“jôŽ+ÇÇ{±l=ÞúýO"OÓUÏŒ{¨JhKæNÂ'{pÏL̽¯ÆÇ"ð¦ãmÇ[º»™óAªðÄ -öˆ~hŠÕoÛÜÑš6R%^ƒÆaµ…EEŽ«qõ{mãt—Ébç"ŒÿQ¤¾ß a/²ïÁ‡ÑÇ«FÒ’@wXmaÓ1žŽ¢ NiÀ–¯1ä6Ä4ÿ·7`û&dÎFŠƒ\ F½ƒã³Q$ T‰‡yí=ƒ‡±*lzÙ1`ˆcpÓbœòªwR‹5/¡ØzEdÖ>\›ÓMÈ?ˆ“U€ ù‡QÃCˆ¹û±oN«‘ †Š݉ÛѾ„¶˜ñí|üŸË?Aÿ8( ðÉ2Œ(Ɖ¯ã=¾]AšrêÔ8~hZ0Ku ‡ÍxÄæ}¶/L‡r)¶Þ‚¦ãWeË߆`s.ƶµN)!.FkºÛ `oéËîR]>`¼Äa·)<Rkí RÁNO`ƒ¥,À ¥lp0̇°1iì]ëX­»B&¤“¼ç†Á›ð(ËÝs#áU ª´+È|} Ê ,y5P*¡TB©@ù9¬¿m¬¢ªÇo»[î¬cFî×8áU‹íÀÀ:u­é~%.ÄX°âP˜UÈßWƒö6ܪ TT!(B¯®Ò ù9¡åÛmÐáÙ¡Xq£G!‚cVÎÆìM˜µݼ*ƒ“@ÃlQbZf‹K-´9pÉ=:¤­õàBã1ìf\Ÿi· F/ÎÅ[ex~~z5“ðÅj ðø+@ k°%ß–{:†6u(HC%6l@Ò8\ÕÚ øy;Ò§#=o.ÆõãËy°yÏ$ìŽW¶@7Ï>†¨98þ1¢½aµhxh.a áATŠ;ÿÀ‘mX÷6mCá0*ñÚO(ø —â˜f©Ú½˜Þ_¤á‹/1hMÃ?Uîœ4—0°hðý Œt¹ê6‰'pRƒÈá¸Êˆr››Ö+1÷fðãÔ/˜5?³RÜØ{ßÀ4â÷¨—0-ÆÊuPXf;›qxr‚/„©e„Øl!ãÃøbÂ8À‘áÁÏ·‘T+$nG +ˆðÔÇ`—#T†ŒžH”aÐKxìcd ¡,Á衟ÍQùèÕýò–‡±ò!Lzçôî œ jt·bnoÆ = Ôã· 2ìZì(Çñœ*‡0C‡!Fa×àåk]V_†6bí:ü^€ÐxäuŒðªå I` „eEmkJ3/™ŒÒé !²G#Û¹«±:ìýëÖâÓà¥bÆ4 YÛÿ‡GSÚ6!®À°,-k@Ú· E=f$âRÜq7æÎƘ^à©1? vRÂ"žA½„v˜‘û“qT ÅA¼½ žêJí Ò„Í31m5tÁHìŽî–‰ö7¡à¢G_ {r°;ò®x„´U m;¸×oÂýÀôä&ˆDøèŒžÞ´ñ_»ƒTcó9|¿£œÜû'/ýƒ§ ðåz¬}ËîEúpª‘åu™› ê%´E…·7bÙX±A ì†Ä*éÚ:Ñ:$ého@pî}ûJQø'fuGƒO÷Æ¢Àæ -Bº%,[ÌP˜‘(»|€ÕA ð<>áÙZ‚bÚ8,¾_ÿ…£¹NoBaÁAÊ(,ß„þZ‡¸\ a Äí¨Jh‹S3±|†? ¬ ½‰ÓÙÈöªM(:¤ o¬Æ)%æýhu°s¹™ Œœ‡‘ó:7!G½„¶ŠpÿXl,Ì•B‡M`f;÷íj>$!.DËËØg¹ý8zÂDŒŠPï¼mofä~‰·7ã ‹w¾DÊ l(ÅÂɶi ÄÛxç§Ð;p‘~ ÒŽÿö¼v齟„ØCî¶ùç®9>ÑûIˆ}”°l1ãÛyXð7X‹CGñÛZt߉óPáLošÛt HŸèý$Ä>ªÚ¢ÂƬ:„ùñ€~6ÇáˆÊ VFnÖ }¢÷“ûh_B[øH o1À’eÁ ÷²]s:$s×ãﱈ]˜±%±±c1–àmܸ‰rV#3ŠN6Ž¢¼i.™Õ“ÚÚ øüuˆæ#Ý6gï\‚l8缿÷“[hXƒÝ,Ç'Öù"Ä ôõjÅ_7Ëñ‰u¾q%,»Ìœ<†2%L–†"B”—½`N‚ÍÅî×ó²ÏŸ×(ß‚1·¢ ÆZ„F¢¶!½ðý>Œvra·ð‰ q!Ú—Ðþû8’߃¢3{â«B\üƒG¡¿W­bîAâR´â¨-zScá ˆ0 гHœ€1§qØ«»ûD„¸À±…‡xJ•ébì*„Y…Så0zÕÂ>$!.E Ë– Ì„œ=0 1÷¬º Éøk({Õˆð©Å÷¡Åð‡>À>UWÇJˆkÐ8¬¶°¨ÈÃq5®‚`¯MïN©Âì,ÄmÀŠ1à0cß+˜°?ÇP›[¨âe¨—°- bú"¦//„•èñ¶ýQ RNv8 TŠ5›pýt,ß‚%W!g)nÞ€wÿ¢lE|­8ê¶ Ã3ðÔyL‘µýÇ]K‰Y};5 ´ògŒ¼ #Çã«°ö/Ì J‰ï ¹„¾¦£@­¦@"Þ¸3Wáé/Ñ£¹ ¤dyqm—+T% *ˆF’@E+ŽB|íKè›h( HôÖöM4 ”$JX¾)›h( <ÔèNñ”°!>ƒæú$ƒƒz !>ƒz !>ƒª„„ŸA ‹â3(aB|€Ï%.e6C,ötÄ1,ËŽŒ Üw22ÚzM8BœV[‹sçðî»(-ů¿z:âwx7nÚ¾}ÎêÕxäœ9ééGp0 •"8R)BBÀçC*½òü°°+H$Z i¹1Ãtaf”JÁçwUá]Ç`€ZÝU…Ëå¸bøŠZ ƒ¡Xrù•EÕ×Ãh„B• *êë!—£¾ÕÕ(,‡ƒŒ LŸŽ?ì‚§A€@€ÇÇã@M Μ\• 4h4¨®Æùó—ßß*Z”rÅçÁhD}}‹?Ðé Õ¶8byßw…Öáù„ÖiÝUZӈʼnZ ×j7ÃÖß(ÖáY‡†"" BBŒÐPdf"<¼+ž!®\q4"×\ã‘H!¤ ÔKHñ”°!>ƒæB|Í%$„ø ªB|%,BˆÏ „åR<”„‡÷{: BüT@&,=žMÃàµü¦# øo0 ?Ô¹’˜¹ 3’: !Ä&μys<ƒg§àÓMÐ ç°¡aNfoÌö~ÅÃuó02Æ%B®ÄÙ¸q“§cðŒì»À~‰:8õ)t· ¿eê‰ ÛžDfâ$<¹FjÌOÀ¬g1º7³ð· ò½˜œ†‡äñÊ ¤<-¬ª„jÌOÀì%;©±Èœ†Ü.›'HHàÈ*!@ÔsDXwÐbýט5Í ¢Húâó<8ð6܉­Õ~<„÷âR>®3cñ4(‚\ýÏ`ó÷°1yQ‡myø`/ ‹qw!n†ÉmÏ?¸ BÜ6Û>DÙl Ɯ̦ã\Œ¼ƒãÁå¢Ï\ÌÃ/ge¤ÊÃm7ã¢Ü(ܱ÷òt@„JXÔãa=ìé  0´â(!ÄgЊ£„ŸAA ‹â3¨ ‹â3þR¶PÿHIEND®B`‚qcustomplot/documentation/html/classQCPItemText__inherit__graph.png0000644000175000017500000000705312236016575026215 0ustar dermanudermanu‰PNG  IHDR€»"áòbKGDÿÿÿ ½§“ àIDATxœí}LSçÀßCKëp` ‹n¦HpxqBu:aÊ.’Í,:É\ÝÀ±,H$Ó¹É —-#AD—lÌ%HP™€XÛ9]¸|ȇހ¼RÅYgBBÛsÿ8»'Çöý <÷þÂç¼ï9ÏûÐ_{¾(ïC$‰0px@'ðw    €†´ƒ²²2è4¹GYY™=¯-ß¡ˆîK÷)#!!ÁÎ-ïT2Gì€ÏÀ`À`À`À`!D„óÎ< ÉdÁÁÁ 88¸´´”ÙuîܹÐÐP¡PTRRB5A„P( ooo§ç7«Eý7bsnvùòe‰D񯯬×뛚š$I}}=Ýåïï¯P(ÆÆÆúúúÞ{ï=ª ;99yâĉ72Ö]IÙ}#6Ÿ¢¢¢ªªªèÕóçÏGFFÒ].\`M”Z{æ™g¬­¶$"00ðòåËJ¥288Øl6S]“““‰äöíÛZ­vçÎÞÞÞR©´¹¹™Þ±  @"‘aŠn9tèÐÒ¥KÃÂÂúûû­Ò` ;;0|}}u:½ªÓéÄb1k3Q’$F£=Ÿ³Ù¬R©Ö®]K’dttô¹sç¨öÓ§OïÞ½›$ÉÄÄÄ’’’ÉÉɺººõë×ÓÑöíÛ§Õjg EmsäÈ‘‘‘‘ÇÇÆÆZ¥Ávv‹Ö.f¢!@ðÊ+¯´´´ÐV›) ©T*B<$I•JµnÝ:³Ùl±XBBBnÞ¼I’¤ŸŸ}hõðð £ ÍйÍÐÐH$²Jƒ5ììØ/`>O¡¡¡¿þú+½ªV«7lØ@-‡„„üöÛo¬{‘$i4[[[7oÞ++‹îU©TR©4**ª½½jIJJJJJÒjµ‰‰‰¬ÑXC!„Ž9¢×ëYA¬ag‚H’,))Y³f‡‡BèÌ™3Ì.™LöÒK/yzzR—¡t¢,9Ù¼EJJJž{î¹^x!77—¹KTTÔöíÛéÕÇïÞ½[,–——³Á Ízf ;;`höïß¿eË–‘‘‡ör£Ñ¸gÏžîîn÷ á4ö pàq´Cœ°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`°`ž˜1kqNÌ4 !T^^ˆXOäÄœF—sµòx¼e<Þ2è,ÃjJc–9ã8ýo{‹Û©Õð9,,,˜Å%`Nÿénœ0/óššš‚P(N$àº*fzà`{0gÕùª˜·wïÞÐÐÐäädfå{Ê~8´¥=£˜Œ‹açÔê>ÀóR1Ï`0ˆÅâ7n,[¶lllŒÞ̶˜NeeeHHˆP( øþûïÉ'oSHûjåi4š×_]("›:=«Æ™êòååå‰D¢+VTVVæææŠÅâ•+WÖÕÕÍùº‘ó%`^*æ={ö­·Þ"IrÇŽ¥¥¥ôf¶í|}}ÕjõÔÔÔÝ»wÓÒÒ˜éå9kå½ýöÛÙÙÙƒÁ*%«efãLuùrrrÆÆÆ***„BaNNÎèèhEEEppðœ¯é>NTÌÛ¶m•ÊO?ýôÆoЛÙV´ËÎÎÞ´iÓG}ÔÐÐÀ È\ž³VžH$²JlN3Õ囘˜ IÒd21—éfgÞAÕÕÕôjUU}ŠŒŒ¬©©a˜¹:88Èãñ˜¿UªŽUI’ýýý………III¶­‚K$’ššš‰‰ ½^Ow9!À××—. 7û^¶9ÌÄüp½b^~~~jj*½úÁäçç“3T´KOO¿uëÖÔÔÔÕ«Wýüü¨FÛŠk¬µòvíÚuðàÁññqz3ÖÌÆ9ëò ]®˜·~ýz•JE¯ªÕjê Ëz...~ñÅ—,YBŸü=êããÃ<…2s³­•§Ñhbbb<==éÖÌÆ9ëòA  Y€ŠyO¶\-äæîŠyO=‹ëQÄß,,,,n ˜ž6s·|Ëe(‡¾fÓÕ¥#$•úB'â<,>牶#„†‡ë qOÞ­×OJ¥GB7nóö^Ž“pøÐØxÓl¶˜Í–ÆFŽMYÏ„ÃÊÊþmµÀE¸*àÑ£Ñk×n[,¤ÅB^½zëÑ£Q茜„«.^ìdT²"¸X¾‡‚«**ZèJV YQÁ½ò=œ00ð¸³SC_¾‘$ÙÑ1 Ñè@“rN ¨©é +yRðxDMÍu¨|\“ÊË[L¦'*é™L–òrN…¸' §çA_ßC„¬ïoß~ØÓó$%Wàž€êêv>ŸgÛÎçó.\àÞQˆcH’”Ë[­jÙR˜L把Î=YᘀŽÍàà0çÁçó¬~x<ÁÁáÎN tŽŽáê·"˜ÇÇ’“·Ò«W®ÜBEFþƒnùóÏ1€´\€ÃOC.eˆq,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,‡ÿEé÷ß/((pS6ŽÒß/B­^= È_8p`ëÖ­soÇÀáÒÓh4r¹<::ÚÑÝ·÷#„УGÐy „R«Õï¾û®ÛP=zÔ¹ŸbbbbœØ Ÿ€Á€Á€Á€Á€qã\ …B&“ýñÇÏ?ÿ|JJʶmÛ讦¦¦³gÏÞ»woùòå)))o¾ù&úÿUŸÏ :pàÀš5k¨F¥RÉ\pÖK{º8K@kkëéÓ§?ù䓵k×ööö~ùå—"‘(<<œê*..þøãCCCu:L&£ „”JåôôôÏ?ÿœŸŸ_\\<ùÐ/¢»_PGq×!H&“effnÚ´ÉËËkãÆ?þø#Ý•••µyóæ%K–¬\¹òСCÌ===·oß>00Àl¤Þ¿111ÔÂðððgŸ}¶cÇŽ´´´žžz™L¶sçÎwÞyçÊ•+¥¥¥±±±qqqÍÍͬÚ),,lll¤z›ššŽ?n5®;p—€;wîlذ^}ùå—ïܹCwI¥Ò™v4™Luuu«V­b6RïY¥RI-œ:uŠ*&—žžžŸŸÏÜ·¢¢"+++//Ïl6—••edd|óÍ7¬ÙÙ¿}}}[[[GGGmmmFF†Õ¸î`áæ 2›çžè?&&†Ïç¯^½:;;{–ÍZZZššš¾úê+ôdÚ¤¤$@9==M/þùçváóù999YYY|þB¼8î#00°««ëµ×^£V;;;ƒ‚‚è®îîÛ½ì|£‘$)—Ë™µ)¨ú‘Ty9z™žßÕž :Ž*€8>>.‹íIÆEÜuJJJ***º~ýúÄÄDGGÇ©S§©®ää䢢¢¶¶6£Ñ888øõ×_ÛÐËËëÁƒ¿&E|õÕW¿ýöÛááa­V{ìØ1ç2´ 299™——÷é§ŸfffæææNMMYëÜõ OMM-(( êa>|xË–-TWXXXZZÚÉ“'ïß¿¿bÅŠ””{ÆÇÇïÛ·o||\©Tfffž8qbÏž=Ï>ûlzzºsÚ9~üxlllXXBH«Õ Data Fields - Functions
 

- h -

qcustomplot/documentation/html/LayoutsystemSketch1.png0000644000175000017500000007153212236016574023626 0ustar dermanudermanu‰PNG  IHDRh(Üã*sBIT|dˆ pHYsÉÉçã\6tEXtSoftwarewww.inkscape.org›î< IDATxœìÝy|Tå¡7ðßì[&™¬$d_ a‘E²°¯¢h\k¥U¼jKÕövѪmõÕ¶÷¶÷½mm½¶¾¶Zµ¨(\h+¸±ï$@{!!ûdO&™53ÏûÇ0‡LfÂä÷ý|ø9sæ9Ïœ™9çwžç9çÈ„DDD4¤É»DDD4øˆˆˆˆ€ˆˆˆˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD@9P»Ýn¬^½ï¼ó,Ë@-†ˆˆè¦g0pß}÷aÙ²eP*f×=`à½÷Þ÷¿ýí*žˆˆhHÙ²e ¢¢¢ðÐC HùÖeðüc Š&""’–/_>`eX °Z­U4ÑÔÝÝ=`eX—A_ñññ˜>}úµZ]En· …b°«1äìÚµ µµµ×dY×,dggã“O>¹V‹#"¢«dïÞ½hjjÂüùó¡V«»:CÊ=÷ÜsÍO;$"¢~=zåååèììÄÎ;áñx»J4@ˆˆ(¨ÊÊJ:tHzÜØØˆÂÂÂA¬ ¤!ºººðÕW_᫯¾ÂÎ;Q__?`Ë2›Íؽ{7ÚÚÚ°uëÖ+*kåÊ•HOOG||<öîÝtžŽŽlÛ¶ +V¬ÀáÇûMô]]]صk–/_Ž7Âf³]QÝZSS“ô™íÙ³MMM~Ï?ðÀøàƒ®y½š››‘’’PŸ‹ÕÑÑõë×_åZ]}ùùù¨¯¯ÇþýûqæÌ™Á® °þvþ}CÂù¸\.ttt\Öò»ºº`·Û/ëµt™Ä™5k– ý[¼xñU-ÿÍ7ß¼¢×>|X999bܸqB«ÕŠûï¿_8Î+*wåÊ•¢¹¹YzìñxÄœ9sÄ+¯¼"ìv»ˆ+W®¼ìòM&“x÷Ýw…ÙlZו+Wа°01nÜ8qçwŠØØX1wî\ÑØØè7߯ELLŒHKK .YYYbáÂ…—]/!„0›ÍbÍš5WTÆù¬]»V(•J‘——'¢££…R©?ùÉO¤ç§N*þüç?_TY]]]âïÿûU©WCCƒ êëë/jþ‚‚±ÿ~éq~~¾ÀŸâ%koo}ô‘ß´;wа°0ÑÜÜ,þò—¿ˆ1cÆ»Ý>H5¤kÁår ‡Ã!‡øä“OÄŠ+DMMp8A·=7n6l;vìgΜBÑÔÔ$vìØqÞå8Náp8¦ïß¿_TVV^7Ó—Ë5(ßã]»v‰–––‹šwñâÅ~ûÒY³f X½½…@qɯillÄ‹/¾xYåõ=ZÞºu+JJJP^^ŽíÛ·ãÃ?¼¤2{?'„ÀsÏ=‡¶¶6iÚºuëP\\ŒýèGÐh4xá…ð /\°.Ø2ÛÚÚÐÞÞŽéÓ§#&&*•ÊïùÓ§OcÉ’%xíµ×PRR‚/¾ø§OŸ†B¡ÀÓO?-ÍWYY‰… âG?úÊË˱nÝ:?~«V­:oúêûV­Z…/¿üò¢ßÏ¥<‚˜Íf¬X±¿ýíoQPPpÉeþùçX³fß´Þ§Ê !ú=:¹”ïl°y_{í59rä¢Ë¸Ôe^éëÖ®]‹ýë_~Óž{î9|ï{ßCdd${ì1X,¼÷Þ{—U'º1(•J¨Õj¿A„*• jµ:`Û‹sçÎEVVöïßÖÖÖ åöÝnœôÐC0HMMõk:~æ™gðþûïcÑ¢EP©TA›Á†Ž[n¹•••Ò´×^{ qqqˆˆˆÀSO=å·ƒøä“O•••J…”””——#;;ÕÕÕ˜2e ÒÓÓo½õ–-[†°°0À·¿ým´¶¶bÓ¦MA×KQQòòò Óé™™‰þóŸ€’’Ü~û퀩S§½RÕ›o¾‰‰'âñÇ—¦ét:üîw¿Ãš5kPQQøÍo~ƒììì€P¥Óé?øÁðÊ+¯HÓO:…ØØX8NÀ_ÿúWÄÅÅA­V#55Û·oÇ;#Ÿüä'øè£+í, ““­V‹Q£FaݺuR¹ï¾û.ž~úi<þøãÐh4HMMÅ_|_þò— EFFþøÇ?]O2™ <ðbbbpâĉ ó¬Y³YYYÐjµÈËËÃþýû¥éO<ñÖ¯_ØØXüö·¿EEEBCC±råJÀ /¼€ääd©¬[n¹Ë—/GFF xà¿à×›ÓéÄsÏ=‡aÆÁd2á‘GA{{;`Ù²eXµjþýßÿ±±±8vìXÐ2|þô§?!55jµñññøßÿý_À³Ï>‹çŸÞoÞE‹áOúïÍÆ­V‹qãÆaË–-Ò|¿øÅ/ðýï_zÜÚÚŠØØX444à“O>ÁSO=…uëÖ!66ÿó?ÿƒƒ¢¨¨Ï>û,@­Vãûßÿ>ÞyçóÖ†…BèèhÄÆÆœ/oµZ±~ýzlذAê¢lkkCyy9Ž=ŠãÇ÷[naa!¶mÛ†/¿ü•••èîîÆÆ¥ç:„òòrØívlÚ´ 6lÀW_}…®®.Þ}Š/t˜ÍfìÝ»(--Eii)>ì·¼cÇŽ¡  Û·oÇÚµkQZZŠ­[·bÆ 8uê ³³6lÀŽ;°~ýziû¸yófaóæÍB`Ïž=صk>ýôSlÞ¼‹………hnn†ÇãÁúõë±k×.lÙ²{öì¹òáJ TÓÃ…º ¦L™"zè!QQQ!¾üòK‘œœ,–/_.„bË–-"<<ÜoþÜÜ\ñ—¿üE!ÄîÝ»…^¯÷{þÑGwß}·¨««………B«ÕŠ#GŽ!„X²d‰ˆ‰‰Ë—/ÂårI]]]]Boswdd¤øôÓO…B¬[·N 6LˆÖÖV‘““#~ùË_ !„(**jµZüñ­­­bïÞ½Âãñˆ®®.@”•• !„p»ÝÂh4täåå‰çŸ>`uttˆ¨¨(ñóŸÿ\444ˆ÷Þ{O qøða!„·ù €8uêTÐu~çwŠþð‡AŸÓétâ³Ï>B‘““#~õ«_O!–.]êWÎñãÇa·ÛEgg§P(bË–-Âår‰ÂÂB©‹ä™gžO>ù¤ôºÖÖVa2™Ä«¯¾*Ìf³xçw„^¯¥¥¥B!Þxã !“ÉÄG}$º»»Å³Ï>+4xòÉ'EWW—øì³Ï„Z­–>£µk׊èèh©üúúz¡V«ÅîÝ»…þ]‡Z­Vüíof³Y¼úê«"::Ztvv !„øÅ/~!-Z$•ÕÞÞ.|ðAqðàA!„«W¯O?ý´ô|LLŒÈÎÎf³Y”””ˆììlñÌ3Ï!» ~ñ‹_ˆ1cƈ;vˆcÇŽ‰;î¸C,Y²D*kܸq~Ýçë2سg8~ü¸p»Ýâ¯ý«0Âãñˆ­[·Šèèhár¹„Þï¯B¡åå墦¦Fèt:ñûßÿ^466Š7ÞxCèõzQSS#„âÙgŸßúÖ·¤eø¾W¾çö³Ÿ‰|PzþøƒHOO÷«×æÍ›…\.­­­AëM7_—Ùlîwž5kÖ‹Å"ÄÚµk…Õjõë2ؽ{·(//BQVV&òóó…Þ.´ÚÚÚ€òzwx<!„bãÆB!6mÚ$ýž?ÿüsa·ÛÅÞ½{ʼn'„Bœ9sFZöŽ;DSS“»Ýð-»¸¸Xœ>}:`ÙGŽ………B!***ÄÚµk…Çãv»]|ñÅóïÛ·Oê&Y³f´-èèè›6mBqêÔ)qàÀ¿ú¸ÝnññÇ «Õ*„ðþ®|ïÉç¦ï28uêòóóñÓŸþ)))X°`î¿ÿ~¼ûî»—UžÓéÄG}„eË–A§ÓaäÈ‘;v,¾øâ ižÉ“'ã‘GAtt´ß!î¹çÌš5 cÇŽÅSO=%µ8¼ûî»X´h233!“ɰhÑ"éèvÕªU;v,~ðƒ <<999Édõª««ƒÅbAff¦ßôÌÌÌ G†_|ñº»»ñꫯbذaxì±Ç÷ßÿ¢ÖƒÙlFLLLÐç"""ÐÐШ­­E||üE•Ù—R©„N§ÃÁƒ!“É››‹ÈÈÈ ó®]»n·/¿ü2bbbðÄO`ܸq~—ÞLJJÂ’%K ×ëñÍo~‡Ï=÷ ¾öµ¯Ád2a×®]ÒüV«ÿõ_ÿ…ýèG˜¹¬«wN™2YYYËå˜;w., ššš0kÖ,„„„H-MŸ~ú)rrr––†Õ«W#22?þñï}ï{HLLÄÇ|É˼MºÁ¾Ã¥¥¥—U&Ý|Ün7:„úúzÌœ9SjqôikkCll,`ذaý¶°SWW‡¢¢">|===€ÔÔTTUU¡½½ƒmmm6l˜´Œþº-.†¯U×`0Àh4B&“A£ÑH-ŇǗŽö}õò-4 ¬V+:::ÐÒÒƒÁ°­V+­+ƒÁ µj †A 555P©T;v¬4-''eeeý¾Fœ§ï¨®®n·?þ8²²²••…êêj¿&«ŒŒŒ ¯}â‰'0þ|Èd2©Iª««±råJ©¼?ýéORŸPUUrss/ø>}_øÔÔT¿éiiiRroµµµ3fŒ_`¹Ðzé-..f³9ès---ÒŽ;66U&à¿îu:>ÿüs¼ÿþûÈÈÈÀßþö·~_W[[‹ñãÇC.?÷5ËÎÎö{?Ç—þ6A§õþ!ÐÑÑøøxüõ¯íwÜCMM &L˜ =–Ëå˜4iÒE¯Ë`z×ë–[nA}}=\.WÀ|µµµ˜8q¢ô8;;§OŸ¾äe~õÕWx衇0iÒ$©›ÈívC&“aéÒ¥X±bï½C–,Y ð½çÿï·x¿Çiii~Óâã㥠0à=X˜:u*&L˜ íL{S«ÕÒ™L‡#è8„`º»»qìØ1Lœ8ãÆ“¦'&&¢¶¶555R÷^ß¶o2™LÚ~ûšö/¤÷v«÷ß>LJZ­F^^žß˜L&“5 âââP^^ŽèèhŒ1â¼Ël×ìJ…½EGGÃår¡®®‰‰‰¼;Yß«÷‡çs¾SW|¯ûç?ÿôh@¿—ܼûî»a0°~ýzüìg?Ûo¾ À{DýÄOàµ×^ xMxx¸Ô>¾œÕjEhh¨4ÝjµJÏõªª*¿i½×Ë…Œ;Ö¯_ÍçàÁƒp8ÈÎÎàÝ™mÞ¼/¼ðBÐrú®ÿ¾ë~æÌ™())Á§Ÿ~Š'žxJ¥K—. ú~úžžVUUå·c ö¹œïb0ð›ßü¦ßç{/»ïØ‚KY—ÁtvvJWWWÃh4ݨõ}ß¾Ï´ï ¢ ±Z­xôÑGñÙgŸ!77UUU~ã–.]ŠñãÇÃl6cûöíRKRtt46lØàWVUU¦M›ÀûùöÀt¡ÓÂŒFc@°Ëå‚Ãáú=& &%%‡FVVJKK‘””À{„l6›Š€×9¸\.tvvúñR©T0¨©©Ám·ÝHNNÆÑ£G!„@yy¹ô{ Cyy9 ÊËË¥#r­V‹ÆÆFDEE]òwÙf³A©T¢¹¹õõõ0™LAçkkkCJJ „èê꺮3ƒMFŒÄÄDiDºÓéĦM›0{ölÞ#ØÎÎN鈦¬¬LÈx7Pv»‹Ez|ë­·âã?öÛÐ]l€×_o¿ý6ŠŠŠ³gÏÆºuëüv‡€·7??ßïh\­V •J%}>ååå~Ë:uêTÀLŸ>mmmÒà·öövìÙ³GZ/òÌ3ÏàðáÃ~Gí‹Ï=÷/^Œ„„ÀøClܸùË_ü^ï;RŒ•Ö¿®—ÞGÄ‹/Æ]wÝ%íxCCCýZfΜ‰ºº:=z€wðZaa!æÌ™sQïçJÌ›7ûöíCKK o³÷éÓ§1sæLÞïLïº !°víZ©5¢ªª ;vìð+Ó×Ý „ÀÆ1yòä Ëž;w.6lØ …ª/¿ü™™™ˆ‹‹¸žú³oß>tvvJ-i›7oö{>%%“&MÂË/¿Œ3fHÍ”sæÌÁ±cǤ ÒØØˆýû÷ûý¾öíÛ'•Óûó ¶nRSS¾Ã¾ÖŽ`ßcšú½^/í”GŒ´´4Ô××#55#GŽdeeA&“ü&âââ`2™ÌÌLœ>}IIIÈÊʒ扇Ñh”ZUSRR••…††$$$`̘1RÝÂÂÂP]]ñãÇKÛÂôôtètº€ëÐDGGKƒÁ/ˆûÞç„ àv»ÑÐЀɓ'#<<<`=ø‚ŽL&ƒËåÂöíÛár¹œœ ½^™Læ×4]358áBƒ ׯ_/BCCÅŒ3D||¼˜8q¢ß¹òsçÎ111âë_ÿº?~¼˜|ð0 "##C,X°@Lš4IzG!!!"77WÜu×]âÞ{ï2™LØív‘ŸŸ/²²²Äc=&î»ï>a2™DII‰Â;ÈG­V‹‡zH¬^½Z!Äoû[éý„„„ˆo|ãÒ¡7ÞxCLŸ>]ªSYYYÀg’žž.•ÕwPa_}¯CðÄOƒÁ ,X Ôjµxå•W¤çŠ‹‹…J¥÷ÝwŸxï½÷ÄÑ£GñÖ[o !„X¶l™Ðh4Òü111bÊ”)böìÙbâĉ",,L!ÖÖÖŠ1cƈôôt‘››+"""ĶmÛ¤²^yå)–.]*Ž9" *ÌÌÌ”þ=ú裢³³SÄÅʼn)S¦ˆ‡~XÜsÏ=Âd2‰ºº:©¬¿ÿýïB¥R‰÷ßßo]¼ôÒKB£Ñˆ;ï¼ShµZ±lÙ2é¹êêj!Æ'/^,.\(t:4¨°°°P¨T*ñÀˆ>ø@ìØ±Cèt:a³Ù¤2Þ~ûm‘™™ÙïgA7—‹T8òóóý~×›½{÷JÛ·Û-Ö­[wÉ×=¸–ƒ eB\æ Î0{öllß¾]z¼xñâ€s››ššŸŸððpLž<Ù¯ùµ§§[·nEGGæÎ‹¶¶6èõzé(Ël6cË–-HHHÀŒ3x¯lUPP€¦¦&Œ3Fêo:~ü84ßÑLww7öíÛ‡™3gJMÔ(..Fvv6BBB „ÀþýûQVV†˜˜̘1ÃïœÜüü|œ9s)))ÈË˃L&ƒÕjÅ_|µZE‹aùòåøõ¯ãÇC&“aÆ øÖ·¾…êêjh4š ë®¢¢ÅÅÅHIIÁ­·Þ*Mw¹\ؽ{7&Ož ­VÛïºïîîFII Ž;†çž{o¿ý6|ðÁ€ù:;;QRR‚ªª*ÄÄÄ //OêÚ¨¯¯Çž={Ž9sæ`Ïž=˜:u*d2:„ÒÒRh4LŸ>ݯ)¼¨¨¥¥¥˜>}º”ªËËËQRR‚´´4¿¾íÚÚZ455IÓl6 ý>“ÂÂB¤§§#** ---(--í·[¨¸¸Æ óë’())Á©S§0nܸ€þ»#GŽ ¤¤999ÈÈÈÀ‡~ˆ»ï¾ááá8yò$Nž<‰… ðúàƒ†ÚÚZL™2Eú.ú>—©S§J߻ݎüü|X­VL™2Åo !°~ýztttà®»î‚ð«[xx8Æ––lݺ¡¡¡˜7o<ˆ[n¹EZαcÇ0iÒ$éH¤·ÒÒR9r™™™~ãuïÕwîÜ ½^yóæáÀ˜0a‚TnII Ž9‚É“'#-- £GÆ‹/¾(u Íž=wÝuWÀ©tó¨­­ÅÎ;ƒŽ19r$&Mš4µòêèè@QQ¤®ÐëQ{{;Š‹‹¡P(àt:‘‘‘”””K*ãž{îÁ§Ÿ~*=ž5k¶mÛvu+ê3PIc ¯Tx£p:bâĉâã?GLŸ>ýН²x)¾üòK¡×ë¥SuèòÄÄĈõë×v5¼ôÒK~§4”µk׊¬¬,át:ŶmÛDrr²èèèðåÒà:yò¤X±b…ß¿íÛ·K­|4ð®e Á  *JT*V¯^“'O¢­­ O?ý4~øák¶ü àÃ?DII æÌ™Ãû™ß$–/_Ž]»vaõêÕ×äb&wß}7Ün7ššš „ÀgŸ}Ð"A7Ÿ#F ««K'.µÒ͇àHKK“º+®eð¹÷Þ{¯ù2o6¿úÕ¯ü3 ¶ÄÄDäääàÅ_¼fûî¹çþ§_ÒÍo„ èîîFKK fÍšåwZ4Ý\nÈOÖê6™fÇ`ׄd| ²³ÿæ¹ &tw|Û€ëå&is M›ƒÝv_/u¢ËÒ·‹^ôý_œû{pÈà‰GX7>nÐ]xö!.\̈¢‚»®Ýp Ã<³ß hðø‚€€Bæý§”rÙ¹sYo‚@tMôBî³ÿzÎþïþó]{ ¡@çg$«k€·sý ÖC{ÂM ƒÍ·£—ÃÔr@söõÙP ` º$BxC€Ë8Ü€Ó¸Î>öïoop[ èbØÜÀ3°ðë]»áA{à•biøvúj¹7‡(ƒÐ*¼Ó²þ»ˆÈŸ€7 ¸=Þ`uÝ=Þ xdçZèÆÐvî«n¸@Àãýà8-÷ «O2r4Jdô-´!:„†hªÓ@«RB¥”CÙM1~àF¥ŠƒÊpuÏh>±mÇy˜z•  Ç —Ó {w7ÚÛÚanjFCcZÛÚaéê†Ãá€Ûãñ»+]äJ2} ±3vU®È Ê?øzû•Á®Æ!“É —Ë¡R©‚ÈÈH$&&¢'5Ú”„ÅÆB­V ¥RÉÓ“‘ÞÙ„éÓ§_Õ27jEÄðàwÔ¤ËçñxÐÓÓ«ÕŠv ºÛÑáê‚ho€­¾­­èîîFOOÁuJ¶ò÷ ƒÍÖTÀ{Íì+¹q ]œ¾ ::IIIHMMEZZštýq­V …Báwç/º6„7»Z|WY3™L<ýì*BÀãñÀårÁf³¡³³mmmhmmEgg'l6\.Ün÷ïNI×ÖÎ;ñé§ŸÂãºø{ç\¯nš_ô¢E‹î_OÇ·£—ËåËåP(P(Òcß<7"‹ÓµBÍ :2Òív_•{ªÛÝÚ>ë ::rÕ/r%8Ýâ†]ïWJ!ýs»Ýðxâòîöð— ØVcÅ0½ÅßL YméÁç•Ý8ÕîBz˜ ‹Ò ˆ \7ª¬(l°£ÃáÁ˜H5ÈQ}mn.*—Ë¡×ë/8_«Ý¿ñžGfÒÈ1>Jƒ)qÞ{d´ØÝˆúËiXžNGˆê\½}åÊåò«þÙ7:0ÿŸµhYvéZª¶ôà_§»ðýñÁoA;˜Ž·:QÜäÀôá:¬?Óo ˜G!­ÏÞûÈd²Ë óÛ%ò”ÛÓãÈ‘#سgÏyû-ƒm¼‚M¿ZV—uá«3Vé±ÅéÁŸ×C«!ѨÂS[QØ`¿är«-=øGyN=–‚ƒAÂÀ¶&¬¨ÂŽZ†éȯ·aâŠ*쮳IóØÝ÷¬«Ã²Í°÷Djåø¸Ô‚fûå7áÿtw3/á\[™L¥RyÁA£ÍŸîn†½Çƒµ6,\[‡Ûh>ïk|åöþlÍV7~¾§å¢ëw5”4;ðFɹÄ=>» IDAT.üÇÞÖkZ‡`vÕÙðþ±s'ë»°ä«Ø{†ø¯¢6üãT`ëMïõyµ~7ÇÇ®]»¬ûˆn> Ô¯ŠŠ ”––¢©© û÷¦×Û¨5Zݨ¶ô ÕîÆ?Nu¡ÉæÝP9Ý;jmØ^kƒÓídqz°±ÊŠ/+»Ñjw£ÃáÁŠÛPPoCAƒ¼}¤©a*Ü–¤‡I#Ç¿O0á×ûúß94ÛÜXÆ{ï鵸Cͨå2nq¢¡ÏØ#€ïniÄó“±bA,~2)ËïˆÅÏs#ðÌÖ&iÐýŸKÚq¼Í…â%IøÏ©‘øiN6ÜÔP,NŠ›Î]^S(h°Ãu¶·ÀÆ*+ÖîFµ¥pªÝ…7u  ÁŽ#-çú(ÍV7¾¬ìÆþFÿËuVvºÐêð ÂâÆgl¨íò–SÞáÂú3V8ÜG™¯NŽÄбXóµ8¼¬uÝ=A×[£ÕõU6hrJ—Ÿôà’v4ØQÐ`G‹ÝV»ÿ,?·Óûôt7šÏ~Ög,=h¶¹qºÃ…µ§»¥úõ§ÚÒƒÏ+ºýÞ»Ó-ðÇâvÔ{—iqž]“ͯÎXñÕ«4oMWNõ9‡¹´Í‰ú³ï½Ç#_oÇú3V´;Εßíò¬óÂ;n[ÀŠÏ­ [À?OuÁâôàÑQF(å2¼”_]ƒàRUU…cÇŽ¡¥¥ûöícW]¶%QP (..–WUUÁ`0`ôèÑ—]æ¿NwaÃ+Nw¸hTbL¤!*9殩[á9¬nìþzBTr79pç¿j­S 9T…Ã-N¨å2œêpAQcCeg&ÌÓàã“]X6öÜéuKGñ«ÂXœž€fú]u6,Z[‡œaZœhsbT„Ÿ-Ž’f'þr¤NÀ[‡:ðÍ,#b“Î5»79PÙéÂ÷'ø7Igl^ØÕŒ£-NŒTã#xöVLšÀ¬} É¥ëPùx*ïŽmÊÊjÔ; ‘Z9&}\…8ƒqz^ÜÝŒýK’ðßûÛÐéôàéÁØÈ|YÙ‡¾lÀÌxŠÌvÌNÐãã;c!ðûí8Öê„GTr쨵áûãMØQkC„VŽo­o@þבaRÔoJœ2í†õ¹ÄÚ¦*+îÿ¼Ó†ëPÒä@^¬kÆaG­ ëÏXÑdíÁ[‡:°ì–0kuâÉMf4}' !j9î]W‡×fFã‡Mx½¸ ‡špyBTrl«±bí¢á˜—ØÅñá –m6c~’;jmxdT(^ŸuÝ(¨·C!Þ:ÔŸçF¼Ö§ÃáÁÔUÕ˜«E»Ãƒ'79ppIŽ·:ñÔ–Fœz,€7œÍ]S‹UwÅ"L£Àmÿ¨A£Õ$£ÇZXo<ÆGip¬Õ‰¯}Z‡ÆïœëÖ˜ºªeKS°«Î†ƒM„©å°÷üçÔH||Ò‚%™Þ0ßÌ4âÛ›Ì(ms"3\¤ÆW®o€¯­­ÅáÇ¥ÛÁõ‡€´··£°°0à¨âøñã0 HNN¾ì²×UtãØ#ÉHóî^?ØR†-÷'f¯®ÁûÇ:ñ½ñ&<¿«ßÌ ÅïgDù•ñò.|{lÉ2¢Ç#PÒäðÛ¸&UPÉe(jt`N‚ÿµ×¿·µ ¿ž…ïÞ—G çãj¼{¬ß†_NŽÄÎZÞ¿}X@½«-.ć(¡Wú·|è”2$„(QÞáÂè5Nwº0á2.b^méÁ™Î/I‚J~nÿon Þ>Ò×fF#!D oKÅßn†G„ÀÖ#0jy%þqª ÷gxÇMt:=ØûDÈÜù¯Z|VÑâ%IË€{?«ÇgÝøáDÿ`Óíòàÿµ!%T…&:ûuwK#þ<'ßÊ2Âá¸åÃ3ø¸Ô»³{hd ìÒz›­Á˜H5¢tÞP‘ÿP"ÆFžû|ÌÖ”|3rðë}­x¥ 5 t¹<øþ¶F|uO:*ª¬®–BJ‘ÙŽûÒÏgQ+dH S!¿Þ> Àb±     ‹¯¬¬ z½W}™tó`—§Ó ‹ÅÀûƒr¹nÀKL]Ejµ³fͼyó¤i999˜7oÂÃï¨ì[£5R€Ýu6Øz~¸½ ?ÜÞ„»‡š½ÍÃûÌvÜ•rþÁqM67\‘½6®rnR¡¦Ost—˃’fæž *¹ ³tØQkÕòuux¤£ÁK‘ªB^¬Óÿ·ŸWt÷{ÝŸ*Kª,=˜›è}:¥ 3âýßC^¬VÚŽ‰Ô g˜¾*‰TãH‹“·öO§ú^%ö7:ðùâá~¬n”w¸¤ej2ÌŒï½é”2LŽÕúÕÇÐk`â”8TŸéÃu8Øx—²£-N8ÜB䪖#/V‹—ñYµÚÝX]Ö…—ò[ÐáôÀâô@.óîÀW”z÷«OuááL#dð¶"ÍŒ×I—ß¾=Yüz;z<—Þì^ßíÆÈpÿÖ˜‘&õ»J.—R©ÄŒ30oÞ|ø ßÙ¥«¯¯Ç¡C‡.j^½^“É“éÜQdHHL&BC¯ìÊw¡}šð-N’CU˜§Å”8-^ÊÀãcBá@·K \sþSÛ|]â!*ÿXˆJwŸ ¸­Çû¸w7‚I#—¦ŸO¢Q…Ú®ž€yínÚ®$•Ë€xƒ¥mw>rïþ|… Øpo<ž»5?ÝÓ‚ÿ¬•Æø¿2@¯ìý~õê}ª  €¶×¼Á¢Šý{hüN>_<£"Zm=È¿³ Âú,óRôªBTr8Ý}ߪ­G@§”û…«‹ý¬zÛßèÀ-V¡ÙîÆ¼D½_WÈc£B±ª¬ .ÀšS]øf¦QZ¶ÿwD€+ÈP…O`Ý} uÝôfPÉd(ÇU¡Óé¤ß®oÁ`€ÉdBXXàÙ ÐÒÒ‚üü|lÚ´ ;wî„Õj :ŸÇãAaa!o—bEEEвNœ8!ͳsçNìÞ½ç¿+’ÇãÁÁƒQUUÀ{¦ÅÞ½{¯ù€H—Ë…-[¶\Óe^OnÚ@pâÄ ÔÖÖJG¶™™™~Ï_Ê ›Í†Ó§O#** MMMÒ}ÁcbbpìØ±~_wúôiéhÛív£ªª F£­­­RÒ¦ws_°Ñýýø÷x<Òûò]èÄ'66cÆŒ¹¨r.Õ• X©A‡Ã‡F¥“cµPÈ€ô0ò땲sGäÑ:2qÕu÷`xŸÓ£u Äè(2Ÿ;"Ýgvø5g÷gb´)¡*¼u¸Ãoú[‡:¢DîÙ#âodñúÁö ƒ÷BTr©EðžŽÖ›\<8"û¾‘ˆƒÍ”49 ;;Ý÷~ÓBUÐ(d~ƒ÷™íõ.W’Q…µÜo0]Q¯e*e²€Á ¢Ÿ¿ ¬×`¾â&ÒÂTèÛ¨2*B‡wð¡Ï¾;ÆžíŽQÊt÷õæ¡v<6:ß½% st~3L*d˜Txã`;Â5 Œ9û~ÆFªû|GìH SA§”Á¨–£Ýáµ'øg¨”Éà<ûùÊ Ó+QðÝt#Îp}ܯµµûöíCVVn»í6Lœ8:ݹn¶Kým …B††Œ5 ===(//ØívŒ5 jµ?~<öîÝ µZ®®.¸\.dggKëçrõýÑ;—:˜Ýj¤Uxè‹zÜ™bÀ©nOÒcf¼?Í Ç³;šQÓÕƒ8ƒ1z¾1ÒˆÌp5>8Þ‰0µw¦è1&Rƒ}f‡Ôm`¶ºQcéAÎ0mÀò^Í‹Ä3Ûq¬Õ„cgÏw~à˜¾ä2à­¹1¸ÿóznv`bŒ‡šXuÒ‚Ï —޼ŸŸŽ­56ä}RG„ \«À±V'~7# £"ÔЫäøî–FL®Ã‡',Òp‘ÙŽîFvŒ=È0©!—#Ljü¡¸ ’õøZª?͉À£ëðô¸04Øa¶ºño£¯î= zSÈ€—s#ðøF3ž†ýf*:]Òùô™á*üç>;>:aAö0 Ž´8ñÄ&3Îü[*´JâÞ>×gÇà‘,ïwì@£ÏïjF´NßîoÃÿÉ 8L¯ÀwÇ™°x]ž† g¬Ó(p_º®Æï´aU™SΆ±.§/în–ʸ7=‰!J¬*ë¸(56WÛ`ëñßA<6*?ÝÓŒgo=×öÉáÈý¤ ßÞ܈£>Ôÿšæ½ jz˜ Ñ:–m6c^¢•ZüZd²"ÔXQjÁØH fÅëpkŒûÌvÜvv€jG ¸ÑŽ7çôß|lç3P;¤²²2Œ=Zê ñŽwp8(((àí†ÈËË“.8ÖŸ¶¶6(•J„……¡±±‘‘‘P«ÕP«ÕP(°Z­A¯¡P(››‹úúz8çVzz:¶lÙ‚¬¬,¿ù·mÛ“É„öövÈd2DGG£¥¥===ÈÍÍ…Á`ÀÉ“'Q__·Û˜˜Œ;f³õõõhooGLL QTTFƒææf¤¤¤`ôèÑØºu+æÏŸÊÊJ466ÂårÁáp`ĈHLL¼¢õ}½»)[ìv;T*•z+..Æ”)S0{öl455]ÔÝZZZ¤æ6‡ÃÆ{”¢P(ÎÛeÐ{^F‡Ã{ÔŠ––Àó¶ÛÛÛ‘››‹¹s碢¢ééé˜5k„ho÷žs——‡3f`Ò¤IR“V«sçÎE\\ÊÊÊ››‹éÓ§Ããñ 99Ù/- !`00}út¤¥¥¡ººú‚ë ?—²ñš£Å#£üw\à JX’„[¢4ØSo‡A)“š­—Ž ÅÊ»báp Ttº0Òäþ«)‘È‹ÕbW á=ª^Uf‘Ê\yÒ‚Û’ô2Òÿ©qaxoþ0˜­=È W¡èáD©9Ö Ä‹ÙýXŸ Cñ’$Ü£ÁÑ'>.µàÿÍÁŒøsGTZv>€ç³ÃÑêðàH‹#M*¨å2è•2l Ž´8ñæœhü~FBT2d˜Ô×ȱþŒÍ67v< ©ðɱð£gF_ÊÀgE£ÊÒƒìaZ=œ(5qß•¢ÇíÉz) Ýž¬÷‡17QEiÞ~”VW'¿Ü·^)Ç+yPŸ ,?™Ž7çD£ÖÒƒñÑjì8Iªß)üŸ¼쬳¡ÓéAf¸ßi„^%ƒZ!ÃÙFŒéÕñè(#F˜T8céÁÿÌŽÆ÷Î^L(ΠÀ ÙçvÌš—r#pºÃ…ùIzìþz‚ þmt(Šm5ÞS)“CUøÉ¤ph2éŸB¼˜ãí‚ÚVcâT>Z‹ Ñç}.J3 ÉêÆÃ#Ïâ$£û¾‘„$£íV,ˆÅ£g¿·*¹ ÛHÀpƒ%Íüqf4^›p­÷;ôýña¸?#Ûkmpy¾>ÒˆUeç¶1ŸUt#ɨÂ-xÚûª…½§]m~&>¥¥¥HLLĬY³`2™¤¦üóimm º¼Û?»½ÿkƒhµÚ€÷§V«áv»^çp8€Ù³gKWËœ1cP[[ 1bfÍš…9sæøuC˜Íf̘1£GFUURSS1uêT„……I—åî½t¹\˜6m¦L™‚S§N]pÜènʹ\ÞoS»ÅbÁÁƒ\üÀ‡Ã!%g¹\î÷Å=ßQ°L&óûrù¶Á`ÂAo½/«Õj¥£v½^«Õ “É„ÚÚZ455yï|Ö«©+&æÜ gôz=¡ÓéüšÿzóÐëõ0›Ï1šþøZzo¼ÎwŵI1LŠ ÜÆ”x©ŸSÇæ%êF Géø¿ÓÏyðÌxÆ~pGZœÈ0©ð?ÛÏ{Ô¬LˆÕûï‚I2*¥Ø‚d=žØÔˆqQ¿&{µB†%™F,É lu¡Æo{5Ñ{¤yï£ÔÞ&Dkðç9þ7Z˜jÀÂTCÀ¼w¦üîe0?Éÿ}ö>ë"J§À+AŽÎïÀÀ¾aáÎæ'øÂ°Øê{…À·æž«oߺ{‚^­/ΠÄó“üׯ©/µB†Ÿæø×½¿pó\?ë6U[1'QD£ÿ¦0ѨÄËý|'G˜T~ß¿1½>{ƒJî·N¿12¿Ù׊¯ÎXqG²ÿ½¿ /åFŒåèÝÕw-›§ûnÏ|ÚÛÛÑÚÚŠúúzØív váV4»ÝÞïv²÷öïRø¶•}î|c™ôz½ßßMMM¼­µµµp8p¹\R]"""¤m¬N§CKK """`·ÛýŒo;©Óéú[q3¹)Z­†L&ƒÅbñk —ËåRó—JunäoCCÃyËS(ÒŽÝ·sSp_ƒV«Uú2ùšË<OÐëÀ÷wÅ?ŸŽŽTVVbêÔ©èììôœØ{ÞŒŒ ”––"** S¦L Z·+½Zï0à{Ü÷¨ær/·z©Lj>¹3§;œBàåÜÌxÄqµ-N3 qj$>)íÄ/&GôƒÇ#Uù6ÐW‹¯\NwYx€ükòïot`[ ¯lÇû·°ú(eÞž’&j,.|c¤K2C–×÷wä4ÐÁd2¡±±1 ËP¥R!%%qqqÒ´ 9ê»ìÝòØ_wÁ…ô·­<ßwO`ÆŒÐh4¨¯¯úºÄÄDTWWKcÍ4M@‹ïz?–ËuS3f òóó1jÔ(èt:¸\.ÄÅÅ!11%%%HMMEww7âãã/XVhh(:::`2™˜˜ˆ‚‚„……¡²²R:'ÿÈ‘#HHH𙟒’‚'N ++ ¥¥¥R_˜Åb¹¬Ñú¾´k±X‚ŽðõiiiÁ`€Z­FgggЮ“«©÷F¬÷e‹¯å§Å fc"T×l‡óä߆Tàzwär¹¤3e®v ð•«T*¡V_ú@ÆÛ“t×A œn>¸=3ã6<ŽPal„÷ä{ãBÏ<z(#GŽÄ®]»àñx›Í†øøx$''ãĉ~g* -R½…††JMöááá°Ûí¨««ƒÃá€^¯‡Z­FuuµÔy!BØl¶K6› ÝÝݨ©©é÷L…®®.Èårh4X­Ö~ÏÂJnÚ@””ƒÁ³ÙŒ––DEy›øÆªª*TWW#$$r¹!!!>|8`øðá_üøøxœ:u ÉÉÉÐëõ˜8q"êêê¤[ÿ@uuuÀà—˜˜!P__‘#GJç×ÖÖ•J…ÔÔTéqFF†”fãââ`0`4a±XpæÌ¤¥¥¡£Ã;â}ذaR×@OO:::!ÊÊÊ`³Ù!•/ýÈôzýE…¢þôÀ¹VÞ7¿j){°Ùív©ßôj‚ò•k4/ë¦9·%xÃéÕ:ÃårMˆTaBdØuQ—` o Á@£ÑˆY³f¡¦¦555ÐétÉd>|8”J%¤‚2™Lº°‘Éd 莌‰‰Á¡C‡àñx —Ë1eÊTTT@.—#''PWW'õÕ÷î÷Y455!::: 5 ضðß]WsrrP]]¨¨(Lš4 2™Ìo;x·Ã¾ýBkk+êêêí÷{ê#F\òú½ÑÜ´"##é߯(“Éœœì—PCBB¤>ØÎ1::'OžDGGÂÂÂîw»Ýޤ¤¤ ÈaÆùõ¿9´´´œèk¢óé}E±ØØXéïôôtéo_¢í]~GGär¹ôzß}ÔF£Ô,è;KžükkkqôèQ¿i………P(HHH._¬ÛÀívKý‡ ƒ£»»ÇL›6íª–í+7%%¥ßñ)tiú‚¾]—¢±±Q#åkþÞ¿?”J%bccƒž¥×ë1räÈ€é111~c“€s;Å`GÓJ¥iii8}ú4222 Ñh’T*U¿ãú^ôìäÉ“?~|À|½·½»4zoãbccý¶›€ÿvðnçî¸ãÞðQVV¹\.•ß·>ÁÖÑÍæ¦WS^^^¿?N­V°ƒïB¡À´iÓ.¿ÿõÂÃÃQQQ={ö §§F£1àGy!ñññhjj’N]¼}€‘‘‘罞ƒ¯ËÀânta‹%%%R¶¯ÜéÓ§_ñU+Éÿ÷Ó·E wP¸X111ˆ—.x L&Ó݇äb1"è€iŸ[o½õ¢ÊB ;;{@»;ÓÓÓ±k×.Þ±¼×ÁE»Z÷è{“Ëårdgg_q9ãLJÍfC]]oºž:ujÐ>½7\½ƒÁàèêê:ï³®„¯Ü®®.ÞV÷*vZá冟1cÆ »»[Ô§×ë1mÚ´ßöÞßùÕØ‰_­rÎ'##ƒ÷v胀‚’ÉdÈÍÍÅöíÛÑÝÝiÓ¦wYßS¯ÕÈf³¡²²r@Êö•k³ÙÀÕºî@vv6l6:::0mÚ´ß¹ÒÍ€úåëÞèîÑê×útC Îår½ðÕÕà+·÷¹Ýtõ\­uêÔw¹g4ÑÐÄ@@ç¥ÑhÎ{­…`¸£\n·{À.¢â+×ívós¾Î©Õê€AÕDçÃ@@t¨æ|vݼzq `c«uŽëãNd4´(eÀí‘vΝl§{¾»¼]©Þ—â¾Rf§[µpîehˆŠV{°0Êô–àCA/G»UXÝxé—×$ºZl–Å_ø†[7ƒ•f=u©.<#Ñ©ïA¦Þuᇂ^ìoVTƒQòÖA® %f¡G£ÐÃê:Ç+޳¿·X™Ѳ›ÿÆ1tý8î‰@äCê÷v1‚ÐÈÜX¨ìÿ^DWÛNw<ÝC³u*KÞŠ)Šú ÏHt•œv…¡G ÌÅánd\#DDDÄ@@DDD DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0ˆˆˆ DDD"""€ˆˆˆÀ@@DDD` """0 )­­­0›Íœ¯¬¬ .—ëÔˆˆ® DCDmm-6mÚ»Ý~Áy°iÓ&Øl¶kP3"º(»D4ðNž<‰@›Í†ÎÎÎóÎïr¹ÐÞÞŽ 6`Ö¬Y0™Lר¦D4XˆnrÅÅÅ8qâ„ßãâââ‹z­ÕjŦM›0}útÄÆÆT‰è:À.¢›œZ­¾¢×Ëår(•ï–*p¸À7ÞDÓ“„ … 6©P¯×7IuÊ®PP寍…(£–ø°sßÞ¿N8yfK5©Z^Þàmo.r²ñ˜“û{„ñæ©Z†wôï¾¶»aK±“~íõ¸ØtÂI %è1Ö39~[‰‹‚J79ñz¢ŒUºQ€”ðÚOTç @íª­ ë!èÖ­[È @í£ Ô߹ƴ㔋$‹–%.%4¬)~vK59¸¿‡™I ÿÌžþ¥škÓŒ\­cÚ† –]Y{‚i~¹³-ZŠm ?œp’aÕÒ5ªþ+bÖ(׸¹$ÚóØM'œ\§GämU{{ÚJ¬µ&’´@ÃÕCðÙ!;YQ:2"=AûÐeü>-Œø0 þPÉ'£Î½ëøÅí<ØËÂï è´ ¯g™ÓÅž27:Ž• ƒ¦Ö¥x_ÜZ…Õ a`³7UPjWH0k™¿«†#ê®ë¢=5,ßoãŠÏm­àãQQ iëÊØ06S@+å;0°çFýÛÚªÈÈH"##›»Í.XÞX= vVsG¶€Ã•nnÞXÉÆqÑ,Þ[M‘&¥ÛdÎ.VrðõïÛ¡(ÊyÅÛ®R7•.OŒm:á¬k•N…iÊX5:š"»Âø–q}º‰—wÖp{¶…ñ©uŸÑò»ãîü¶‚A zþûwV¾8RÿŠÜÜÛÃì÷XßɃê¼éi>’´@žÔFJ]çë§"ñfë l¤Zu M4’WæâóÃv2¬ZFw:ÓÈ|yÔÎ/ÅN:GêèÞNÏÜ-U O2rUG#-Z~-u11=  ÛRÅ×Ç IôüSv…ûjP€IéaD5ì,q’Wææû.Ãõt>Ó¸(Àªƒ6ö–º¸¼½+:°¹>Øg£Æ©pm†§ ß×êû¿ªÜ¡ðA~ ßOŒå”CamƒŸ¯E«ÉkKù±ØE¿öÁ)ým{5kǶ#.L‹C©dåA;ÿžeæòö>Üïà]Î\î×·w -†¶mÛ6Ž=ZçúP½–A]‡ZuÐF÷vz–ï«áæn"V²s ÜÅèNFÒ­ž}¿Ò©ð~~ …k:™ø±ÈÁ«»ª±´ä¦˜X¸«š[.1c6è˜}i87n(ãÚ 3[üñ„ƒï t‹Ösu’»Káó'n4,ÙkcFWÿ/ØÂj7í÷Äç„´0ÌZö”:ù¢ÀA—H-#’Mµ^/Ô>ÿÄ;yUŒL6ÒÁ¢cÞ¶*nÈãÁÞáLíâfÚÚSLL~‰l§[á­½6¹4œ¯Ù½åÞÝ#œ!Ÿä¶îá˜}rß# ÚZ¬µF¡s’V(Xb¸lõ!;ÿñe)§ì qf+ÝL][J„–í­áoÛ«Ðh4,ÜUÍýXI¬IK‰M¡Ænb´D™t¬:dgd§0´§ËÝÉĪƒv¿mÙÜpͧ%©rs´ÊMî§%ØÝž$Á Ó¦Åbð¯ãìMüï¯Õt°h)±{‚þß6”ñë) ûi nü…þ¯ÑhXÄÁ¥q" Zö”ºèÖNNëYwi¬ží%®ZïF£¡Ò ·B{³§¸Oœ­ÅN4 cRÂXuÈVï{Ü–dee1hР:o¡|-ƒ`ûOàíO?Tð—Ÿ+‰7ëÓkx~Kïì­&.LËÄ5§8VíÆ©À˜Õ%ì(qÑΤ¥Ì¡PíƒNC‚Y‹I§áã6Ƥ„¡ÑhèÖ΀íð[©ÿ>¼ú{¾-ÇjÔòòŽ*^Ú^Í­ÁåV0ê4$Xt~/±+ŒZ]Ba‚Q§Å憽e.n\_F¤AÃÿî©áÕ]ÕõÆšF£á“ƒvoýv–8ék@£ÑÐ)BÇñj7 Á߃NËëC¢ˆ ó£8³ŽÎ‘z¾9f¯÷=ÍGzÚ€ñFîíé·ŸûK%Ã’Œät0ÒÞ¬ãéŸ+¹¯g8¯ïªbñ°hz´;ó‘Ç™µ î`äÒX=¯ì¨dP‡3_]¢ô|~¸Êo;ÿÛS¹Cá‰Ë"H=½ŸÿÏî*ÞM;“†Ëâ ¬>h§s”³^Ë­ÞçEµüï¯ÕŒM £Ò©p¢F¡Sø™¸K”žÝ§\t>Ÿ¯ïªâ±¾䦘™lbè?й¿§…!M|vÈFnŠOÎÊý6&y¢ï™ùÞ\ÎÈd XZþ¶­’Û²-õ¾»N9ér:ÞÊŠ_ ™õÊ ÑÆ†í+YÑzvŸrz{)@®!ÑÒHBÐtŠ8ÓÑs¼Êů¥.ìð|™Hò|É«r“i­{2PK¡£OÕ1\G•ÓœüDâo©£ ²îCñŠkÜĘ´ÞdÀSNoýÆ 6Ó(€Í¥tº~1&-Õ>ßãev…öæà]1aZª}^G¹C!Ò¤«ó5†ŠššÖ®]Kbb"ááá?~œüü|®¾úêæ®Z³ðâ;lLòéýЭ@±Má½ÕD5tŠÐzb-²î¦ÕæRˆ7kñúO4k©túÇRaµ›ŒÓ1›hÑRîPp¸ëÞ_U¹ÈŒôñÂ…ƒåÊž²‡%[Í¥ÐátLņiýâ¤Â¡q߉-•Aòo9 QË! A ÔÐ3uù6]êö¼ßùOK±êØYâä2Ÿqv½N·D™tûüÊV¿Ì}¥Fèx?¿Æ{ÇI'C:ÔÝÀÄ…i)µ»)±¹iwº¬4«Ž— ­|ZÄC•®³¾ÆH£g¦3@×h=¿•:q) ÓxæQ<Ð+ø‘ a: Q&-Ç«Ý$˜µüxÂNvž÷¨(ÈkTù~m±±*(( 33“nݺy—mØ°ŠŠŠ;¥±ïñð§­F]ªÕ@§p-·t3Ó=æL\}{ÌÎÎÿ^/Ö3¾®×pÊî9ÊE-«Ø¦ÔÚÓ¬:vžrrI;=ùežáÃY&vŠÐ±¶Àî·,3RG”Qóý­u<+8«ACq›öf-½cõüRìdt'+\´7kÑŸÇDÆâ·wŽ…*0k«ñÖZHBЂ빽}×Oïbfôê“ÜúU)Iá:" îïiáÁ^nú²”ñ©&\ <Ý/‚ìvzþ¾½’)™aô‹Óó¯nÈðtçýPh§oœÞo»Wu4ðòvøÃÚS´ž_#’ATð4vö²0zõIrS¼u™‘efäªF&ÙSêâ•+¬u6ʪþñ^ÚV…¢(„ë=ÿmý)ÌZìn˜`à»c6fÿPÁ—ãbüÞŸzZ¸qÝ)~×ÁÈšÃvVñÌÎþWטÔW¯ÖÊd2QTTä½ïr¹¨¨¨¹9Á>ïú>_EQPñXÏ„Àß§š8Yãæ?º™˜` Ú¤åÚ5%ôŒÑsy{#“œ¨Qø[*¸6#ŒÌH=»Kœt;=÷ÇvþßÀ¿m?ÐËÂÍ_•ñ¯B;ëŽ8xôÒð³î‡“ÒØ¿£Š›6”ÒÁ¢eBš‰ëFîg§¸}c),:bLîênñ{íÁÊodó £;¹>ÝÄøÏOát+¬-°óP/ Š¢pÛÆ2ÄjMl |_U›O8˜”f or ƒ–A‚Æ7@Ô›ËåùõìË2˜tï‰=¬zø"·› Ô8Äëq»ÝLL5riŒ§— ݪÃívó§ÞfÖqlÑ0(^Ïó[*y²¯£NÃûù5¼;,²ÖÙùÞÉ÷…ÄëÑ(nÜ ¼Ð?œ$Kí³ùÝ×ÃÌÈ$ùå.º·óÔeN_ ÛKœä—¹ŸjÄ Q¸,VGJ¸·ÛÍMY& þe ˆÓ‘_æäH¥“f-]jæç"U.è§Gq»ù¥ØÁ¸c­:LJ3Ò;Æ3áòÞîaXõ n·§«÷^–Z|ÿ}¯tØV¬¤¤$:ć~Hxx8•••ôêÕ+¤‚À3åùÞêšG°ì*+œÞçÁ³o]§cK±“ÙÑZ·›†Gò]¡ƒ2»ÂïâõèPX5*’í%.¢ô09ÃȲߪøóeá|yÔNv;=q&üöÅKct|::šŸ‹Ü”Ff¤'nÓ#4ü¥_x­ýÖ¤µ¹Ñ|{ÜË­Ð=ZG˜¾¸&ŠM'œØ] ã ¸Ýnž¸ÔL§OyÁâü†t#ËöV12IO”>Åæ"'7¤½õØvÒÉõ­?—ÅêH‹0{×啹(³»é««u5Ã`mž$ÍC‚¢®¬Ù÷ºÁ¨d3€âMŒÀàxµûñ̺ ¤X<¹ËåBŒì¨vá¹¹½›‘%¿yfLëd “¿rUãN—­¸QW÷ˆÖ.‚<œ®‘ºFžÙ.À%‘.9=¼ár¹ˆÔCd„çÿ‹§>eýW3 wVñÄ¥ž_$½Ú©¯ÑóX«~ßÉ´Îiá®õ>ö§"'ÌÆik=>ðL…m±+S£Ñ““ƒÝnÇf³R—>VÕ•€×õ^\[{I2CR²gÿvû¬óÆÉé}Î:ÀÍôL#ÜPAa•“ÿÙ]Í“}ÍA÷Û O<'aOü{¼â}O<š4¾Ë¶­ÇZk" A Ø@^z·1Íè|ftLÇà_¬ÍéêD-W'Ö]¯kS<í¹T»w; /õ«³ ¼°Q[i \.[¶l¡oß¾Fo¯ÀîÝ»éÚµkHÍø¼•šø^\§1è€w†š7o ò$¸--Þ^û]ÝõÒÿÑYÎu~¦¯)hYêûïr¹¼7Iš$-L°dó{7‘À/ˆÀ_.­]II NgðC-‹‹‹)//‰3ú~–ñ&çÓo: AàUÛB̵&’´@¾_Hjï€4PM§®„ -ÐéüÇp}…âUæc ð;3¨h|¾ ™ô4/IZÀINj÷Z`jvS <¢ XAko¨¢¢¢(**âäÉ“ÄÄœ9£¤¤„S§N…ä!‡ÁâMN˜Óø‚µwmmˆ®µ‘„ RDu¶YÏââ œÇÑ•V«¥ÿþlܸ‘ˆˆÂÃ骪¢¬¬ŒœœœÛÇ|?kõ¾ôÆ5-9 儠 l¤“i¬ÇÙŽôhK T||ÿ7[mBÚ©g¤s+€ÏÙéà ¥öÙÞBE¡biÞxÓ€†Óñv:Ö$ÞšŽ¢ÞEÏ߯äTdÒh0!“œKÖ¯;ý:V:3»Juò=Wº'!¨½N4ßvH=ú·)~·è4þûjkúµÔÐ_Öêéðwºcš-!PkìM¾‘xk*¾{¶'PƒÚëK`¼MkŠÅó Á¹ÎîauÒÙâ¤ÄÑüÙ£oC%š‡oü7ES`Ô* ‰±ÝO[rct¾3ò¯Š±qÒ¡¥¹/8é[k‰·æÓÔñÖÑä¢sxõmɱx¡Ú|BàÛXÕ×p…káñ̪&«›ÁikMºòWÒ’4$¾õvÑ?º¢Ñê&Dýê j-±x1´ù„< ”z(‘L­Eàì÷–$p¾cë„hí|'úÞo‹ÚtB 6T¾ –œpD´tG5¨G:´”_&½¾±%IhK|cP«õ¿kKˆÅ‹­M'ªÀ†K]&DKì0¸–’ ã[_¢- ¼æEKŽÃ‹!$aÑzø^ݲµì«½qB´­1/DH$žBáƒmÉÜn7¯¿þ:¿þú+#GŽdôèÑTÞSO=Å-·ÜB‡X¶l©©© 4蜞ët:QƒÁPÿƒ}TWWc67î¹ZËðV°!Ñ2:tˆ×^{ ‡ÃÁ¬Y³ˆ?ï²¶mÛÆ7ß|Ãm·ÝFUUùË_˜3gŽ÷òÙõiŠ˜i,­%/Tó_ׄZú‡¹eË–ó®®ÆjµbµZéСW\qŸ}öÙÕççŸö»_XXHFFû÷ïçæ›oæÙgŸ=¯r—.]ÊË/¿Ì€.¨R½ôÒK°bÅ 6oÞôq?þø#]»v¥¦¦€Ù³g“’’Bzz:?þø9më³Ï>#--Î;3bÄNž< Àƒ>È#öþûï÷ÆTAA999dff’••ŦM›Îi{ÕÕÕÜtÓMôêÕË»¬²²’Î;³mÛ¶ z-ç£5íãç+¤_]œÍ}˜4iN§ó¼Ë°Ùlìܹ“üü|n»í6î¾ûn¿î®†Ü\.'Nô[öÄO0lØ0ÒÓÓ™={6sçÎåÈ‘# .{ëÖ­Œ3†)S¦pÙe—]”÷î\w÷Ýwsçwb6›ùÇ?þÁ'Ÿ|®]»Ø½{7Ÿ~ú)+W®<ëó«««ùãÿÈ’%K(((à²Ë.cÖ¬Yh4fÍšÅÂ… Ù³gÏ¿–Öälunë¶nÝ:æÍ›wÞÏw»Ý 2„²²26nÜHMM .<ïòV­Zå÷ü²²2yäyäâââ˜:u*?üðy•½uëVî¹çf̘AXXØEÙ7}ï×µÍE‹qÏ=÷ Ñh¸ãŽ;9r$GeáÂ…\ýõÞËM×u;|ø0C‡¥¦¦›Íæ]ÁÌ™3¹ï¾û}?9Ÿ}¾µ Ù„ ±TVVòÀ““äI“زe‹wÝܹsùðý÷W¬XÁ3Ï<ƒÝngÊ”):tˆ &0gÎÀsIÚ™3g2pà@î¸ãŠ‹‹ÈËËã‘Gáã?¦ÿþ,]ºÔ¯áááLŸ>§ÓÉÆ°Ùl<üðÃäääpã7ràÀïã÷íÛÇŒ3èׯ¹¹¹üöÛo\{íµ;vŒÜÜ\ž{î9Nž<ɲeËxôÑGÈÊÊbìØ±¼ùæ›A߇={ö0eÊ ÀwÜÁ©S§X¼x1}ô+V¬ 77›ÍVë¹Ë–-cäÈ‘ôë×'Ÿ|ð 3<óÌ3 4ˆë®»®Á¿6mÚD~~>3gÎ`ùòåLŸ>èèh¬V+7Þx#ï½÷ÞYËX³f  <ØÛЭX±›ÍFRRÓ¦Mãµ×^kP½µ•Ʀ)^ÇæÍ›™8q"999<üðÃTWWžÌÍÍ¥²²ÒûØÛn»ü‘ï¾ûŽ»ï¾›µk×’››Ëwß}Àúõë3f W]u•ß>=þ|þùÏr÷ÝwÓ»woï6ÔטœœÌÍ7ß̲e˼˷oßÎĉ¹âŠ+xî¹ç¼—Uø¿ÿû?FE¿~ýxüñÇY·n?ü0Ÿ|ò ¹¹¹lÙ²…ŋӧOrrrxàX³f ‡ú>¼ùæ›\}õÕ 6ŒE‹PZZÊ]wÝEee%·Ýv/¼ðB­ç•””0kÖ,ȰaÃøþûï8pàS§N%''‡G}Ôï5Ÿ‹—_~™3f@YY_|ñwÞy'Ç'**Š 6œµ «ÕÊŸþô'î¹çžZëî¼óN¶lÙ®]»T¯†j+±Ø’\d7ß|3û÷ïgþüù\qÅŒ5ŠãÇž!ýû÷{{àÀ~ùåôz=>ø ÿûß½Áó‡?ü½^Ï’%Kp8ÜrË-€'Ø-ZÄÒ¥KY°`#GެUÇSR4ä¾³IDATRB§NO—v^^o¾ù&;wfüøñ(Š‚Ýng̘1hµZ.\Èí·ßNjj*÷Ýwz½ž pÓM7ñý÷ßAfæ™S:0€µk×ÖÚvEEǧ{÷î¼öÚkTVVrÝu×0räḦ#X°`A­ñÇ?þ˜‡zˆë®»ŽE‹1bÄ^|ñEÖ¬YÃüùó=z4cÆŒ¡ªêÜO"µaÃzõêåÃÜ¿?éééÞõìÝ»÷¬e8p€ŒŒ ïýÔÔTìv;G`àÀAßqñ=z”ÜÜ\†ÊË/¿ÌîÝ»¹õÖ[ϼ5kÖàp8¼ÿúë¯)**¢{÷îŒ?ž°`Áz÷îM~~>“'OfæÌ™Ì›7§žzŠU«V°cÇn¿ýv.¹ä/^t |Ë–-¤¥¥PVVƈ#¼Éò|ÀüùóOByï½÷2~üx-ZĘ1cèÛ·/£FbèС,X°€®]»²aà à-?..Ž´´4Ö¯__kÛï¾û.Ï?ÿ<÷Þ{/³fÍâÙgŸåwÞÁb±ðÐC¡×ë™3g3f̨õÜ3f°sçNž{î9æÌ™Czz:.—‹1cÆÐ£G–,YÂ/¿üÂþç6è³ñ­ÿÑ£G1$$$x×gff’——wÖ2¢££™4iRÐudggK¬5‚˜TØTNž<É|ÀŽ;ÈÊÊ¢oß¾,_¾œ·ß~Ûû…ŒV«%99€””ŒF#dýúõìÞ½›¨¨(n½õVìm䊋‹ùûßÿîƒW³ø{ï½—ËÅÖ­[yþùçÉÈÈÀår±hÑ">ûì3¹ýöÛyúé§ÉËËãðáÃ9r„… úM¬KJJB£Ñšš À¯¿þJ—.]üêÝ¥KvîÜYëõ¬\¹³ÙÌO<À_ÿúWÙ¹s'ÙÙÙX­VÌf³·l_‹/fÊ”)Þ_òª7Þxƒ§žzŠ´´4ÒÒÒøóŸÿ̦M›¸êª«Îþ¡œXÿ²²2¼÷ÃÃýóêRZZê÷ß祥¥Ñ¥KvïÞí=fY4ž¥K—’Í}÷ÝÀ³Ï>KŸ>}x饗ÎzçÈÈH¢££9yò¤wÿ{ë­·¸òÊ+½ûÒ¸qãX¹r%¹¹¹ôîÝ›;î¸Ã¯œmÛ¶1mÚ4}ôÉÉÉ\{íµL›6•+WrÏ=÷ðöÛo3iÒ¤ZeEFFb³Ù¼õÙ½{7¿ÿýïý“••4Ö^{í5nºé&ÆÀ®]»X°`S§N%55FCRRqqq~Ï+..fÕªUlÙ²…ììlïòõë×SVVÆwÜF£áßÿýßyüñǃö0c·ÛÙ¿?YYY@Ý1£övž¯¬¬,vìØqAeˆÚ$!¸ˆöïßOXX˜ßOß¾}ëœt¶ „êsÔF <™uII àÉ ƒMÈ7n‡bß¾}ÜtÓM€gROMM 3gÎôvƒeeeQZZJ^^={ö¬w–}II‰ß/j€´´4N:å§ Ú·o½{÷öÞ%%%…üü|¿Æ'˜¼¼<&L˜à·ÌårqàÀžxâ žzê)ïë÷í®OII‰· V­“:¹<ÝÌ11g¿ÀNlll­FÙ÷yiii¸\.ÊÊÊˆŽŽ>纉†ËÏÏ÷›l–Édbÿþý~½XªúbmãÆ\qÅÞeƒöþ˜$$$0yòd^|ñE¦M›FçÎÏþ»oß>¿²ÔÞƒ¼¼‹…K.¹¤Öòòòr¿×oµZë-O¥ÖQMnã <1{Îe“––& A#„à"Ч¦¦†cÇŽ‘˜˜xº™ûöí xz|gå p•šÑóÍ7µf>|¸Î_AW_}5:uâóÏ?gÞ¼y<üðÃÄÆÆ¢Ñhx÷ÝwéÙ³§ßã<è7ŒQ—ÈÈHÊËËý–UTT`µZkµ%$$ø•i·Û9vìØ9Q[«>:ŽvíÚ1oÞ<¿©!¢¢¢¨¨8sÞ|õh Õ¾}û‚~‘øÊÌÌä­·ÞòÞ?xð ƒÁûYWTT ÑhÔ€¶vÍu’–„„~úé'ïýcÇŽQSSC||¼·wÆ7ÖÔ9,ÁÄÆÆrõÕWóöÛo],Öâãã?~<))) >œÉ“'“’’BûöíéÒ¥‹wn‚¯˜˜öíÛWïk³Z­Ac-X’ï7èÀ´oß¾ÞmÄÆÆRUUÅñãÇéСƒßò¨¨(¶mÛv^cèj[UQQAll,;vÄårQXXèÿ}ûöù ½òòr"##/¨ŒóÕ–OL$ýšQRR½{÷fÑ¢E8N¶mÛÆ¦M›¸æškÏpÀ×_Ë墼¼œåË—{Ÿ«’:q¨k×®¤¥¥1þ|ïÄ;ßÀ?Füyóxæ™g8xð ááá 6Œ xµ¬RQQÁ|€¢(TUUa³ÙˆŠŠÂf³y§êܹs­C£vïÞííô5bÄöìÙÃ÷ߢ(,]º”øøx¿^ƒº >œüã|Øo²V}233ùõ×_½÷o¸á/^LEEUUU,^¼˜ñãǰnÝ:Þ}÷ÝZe 6ŒÃ‡{ûW_}•k®¹“Éx†%233ÏÚeÝP­¥ñ ¬gc×ûšk®á‡~`Û¶m8N-ZDïÞ½IJJÂjµÒ®];ïĵO?ý”ÂÂBïs£££9tè÷þ¸qãX³f ¿üò 555Þy?õéÓ§×]w³fÍ`Ô¨QlÛ¶uëÖžÞ-5¦‡Î'Ÿ|âMDÕ};::ÚoÂ`—.]üöUðì[]»v­µýÜÜ\V¬XAQQÅÅÅ,_¾œ±cÇÖ[ïÔÔT222xýõ×±Ûí8NÊÊÊ×b±0yòd ÄôéÓ1 ¼÷Þ{¼ûî»$''“””ÄìٳϹ. `„ Üÿý€g¬qçΤ¤¤––Æõ×_@bb"o¾ù&wÞy'III¤§§sìØ1¸æškèÓ§·Þz+9998pÀ¯áÚ°aǯµí´´4.\ÈĉILLdîܹ,Y²ÄûÅy6÷Ýw]ºt¡[·ntêÔÉ;ËøùçŸÇår‘‘‘Aff&C‡õ›4VŸ!C†ðõ×_ãt:OOÊĉÉÊÊ¢sçÎôë×É“'°`Á¶nÝZ« £ÑÈ’%K˜úè£ .÷í°Âçè›í/ÞÆo½Ê”)S¼³yUêñ¤Z­N‡N§k² •””trYaa!111èõµGl ‰ŠŠòûò,..F§Ó]”qéÒÒRG­IFŠ¢PXXH»ví¼¸ìÆo$--'Ÿ|’ââbºtéÂO?ýTk¼Ó·Ì’’’zÇæƒ©®®¦¢¢¢V÷gee%ÄÇÇ7øóëÓ§>ú¨7Oãâv»ýfwîÜ™>úˆ=zÔYVii©ßPNee%üóŸÿôÓmˆÀˬºÝn\..—Ëûkí\ÂuóæÍÞdób‡·SŸþ9—_~¹_|©×2ðÝçûÐ-·Û]çœ ›ÍFYYYÐ.t»ÝNII‰ßìw·ÛͱcLj‹‹kð—T EQ8~ü8‘‘‘X,¿u555”——ûÕ«¦¦†²²2âãã)**òÆVzz:/¿ü2«W¯fõêÕunOT|>g,**Âb±Ôªgaa!f³¹ÁC`›6mbÒ¤IäååùM( Œ™/¾ø‚9sæðÍ7ß4¨ü·ß~›W^y…o¿ý¶AÏkˆÀk¨·`±¸páB{ì1âº`ð«ß{Ÿ71¦×ž7Ý`&Lð&•C‡­÷°Íó2sÔPý5šÆ½H…Ú@Û†Úœë:õ õbÔWw V–:Æç»ÎwÙ³Ï>Ë Aƒ˜9s&sçÎå®»î"55õ¬õj×®ÝyÕ;,,Œ°°°ZÏõm¸Zîüùó¹å–[7nœ7áòM~ÀóÅ>uêTºwï~Öò###ýÖÏ;—n¸ž={^ðç仯¶–Þ`׌\Þ4 QQQA·c4‰‹‹ ºÎ`0ï·N£Ñxçƒ\Œz«ÉF`Y&“ “Éä·Üd2Ѿ}{E!66–'Ÿ|’Gy„… ò׿þ•Õ«WŸµNêïùÔ[àøÜ³µSgÓ¿rssyá…üÎ3v»9sæ4¨üªª*ž~úi–.]Ú$±¸_·um>!ðmTÕÿÕd O!kŸD×ûæ×ÿ@< A­eÒ^‰"X[s¡£–'lX@€ìÙo’=ûÍ ë$¾D[ѱشº„ ÝÙ¯Ò{VÁ>И'"D“øâŒè ø®j.­îâFÃÀ|ñ.&'„B\T ©ÿ*Ô-N«ë!°èào}`ã (9÷‹Ý !„.ÎW'x¾«Z›V—€ç Ÿ˜ÜܵB!ÚŽV7d „Bˆ‹O!„BHB „BI„B$B!„@!„B B!„@!„HB „B$!B!’!„I„B$B!„@!„B B!„@!„€¾©6´yóf¦L™ÒT›B!Z½Í›77Ù¶š,!(((à½÷ÞkªÍ !„¢mÈ <<¼±ŠB!B’Åbi´²-!¸ñÆ«h!„"$Mš4©ÑÊÖ(Š¢4FÁN§“W_}•åË—SYYÙ›B!B‚Õjåæ›oæºë®C§Ó5Ê6-!B!Dë!‡ !„B!„BHB „B$!B!’!„I„B$B!„@!„B B!„@!„HB „B$!B!’!„I„B$B!„@!„B B!„@!„HB „B$!B!’!„øÿ?oWA=FƒIEND®B`‚qcustomplot/documentation/html/QCPBars.png0000644000175000017500000000530012236016574021102 0ustar dermanudermanu‰PNG  IHDRÂÈô–vÀsBITÛáOà pHYsÄÄ•+ cIDATxœíݱnÙÆñ+™¡°R$UŠ<@JyÆð¬¤gô³¸\$ Ç€¸ö¤N‘&†•bÖf±NÌ{é9ó?—ÿ_u ¯÷Š:>G"ožŸŸ À<ÏÓ4m¢Ž™c˜9†™›Ýn@’r»l£’”eçyëÕÌÃÌ1ÌÜŒ2F%))K½$]„²B–ó*fŽaæfnF£’””¥^’.BÙF!Ëy3Ç0s 37£ŒQIJÊR/I¹çyYŒ=xðàÁCòΌ·¨bæfŽaæf”1*IIQn1-»q.fŽaæfnF£’””¥^’.BÙF!Ëy3Ç0s 37£ŒQIJÊR/I¡l£å¼Š™c˜9†™›Qƨ$%e©—¤‹P¶QÈr^ÅÌ1ÌÃÌÍ(cT’’²ÔK:™Çqë¦ÇÇ­#”RÊnë?ƒ¼SK3Ç0sŒÏ™§wï¶Îr†»»ùáò8[ê%é"–zI'ó8&ÚF!¥ž²Bî¸U1s 3Ç0s3Ê•¤¤,õ’N,õ (Û(d9¯bæfŽaæf”1*IIYê%XêP¶QÈr^ÅÌ1ÌÃÌÍ(cT’’²ÔK:±Ô7 l£å¼Š™c˜9†™›Qƨ$%e©—tb©o°[¶âišŠDÌÃÌ1ÌÜŒ2F%))K½¤K}Ê6 YΫ˜9†™c˜¹eŒJRR–zI'–ú”m²œW1s 3Ç0s³ÝÖ$±ü'ÃX¸-/¶Žpb©—t2ã÷GDSþªÃ0BJ=eŒæýå¹­SÔ1sŒ¼™onÊßÿ±u”3|÷]ùÝoËá€xœ)¯JRR”mTA®m2½(Û(äŽ[3Ç0s 37£ŒQIJÊR/U˜Çqënd[êP~@,ïÍ­SÔ1óåÎù%Ÿãñ8 C@˜ÿiyWã´ÇùÌ–zIºˆ¥^ªÐý¯œ[êP¶QÈ·*fŽ‘1óòák¹d|œ!™)cT’’²ÔK,õ–ú/€,çUÌ#cfK} HfÊ•¤¤,õRK=„¥þ Ëy3ÇȘÙR’™2F%))K½TÁR*õ»e+ž¦Éƒ_=”O…}òáy¿/Ÿ:oåNOO?–Rîï_’ûýÇRFÂSbš&Ê6:3Þb Š™c 2Ÿ¹BÞš¤jý‘V”1*¥`©‡@•zÊ-&È·*fŽ‘1³wêc@2Sƨ$%e©—*Xê!,õ_YΫ˜9FÆÌ–úÌ”Yäú ›òöíÖ ´ßüþ×gü©?¯žãÿúð¼ûáå¶®«Ôwߘ”]÷·û \ƒ¥¾™cd̼ü x.gHfÊ•¤¤,õM,õתûÎÛý®²B–ó*fŽ‘1³¥>$3eŒJRR–ú&–úkÕ}çíþ×@ÙF!Ëy3ÇȘÙR’™2F%))K}Kýµê¾óvk l£å¼Š™cdÌl©ÉL£’””¥¾‰¥þZußy»¿À5P¶QÈr^ÅÌ12f¶ÔÇ€d¦ŒQIJÊRßÄR­ºï¼Ý_à(Û(d9¯bæ3[êc@2Sƨ$%e©ob©¿VÝwÞî/p ”Ïbšçyš¦rîÝllù ›Ï™1sŒ§§ïï“}RÆÇ’™2FßóüKøx(ˆ×e$m‹Uê-‚ëþ)Úý®a·Üꚦ‰p(eZnqÞß¿$öû¥Œ„G̃OÑoûíþ×8P¶Ñå5Ž\ÿˆ×eª@^Kª‚Ê|æStó×F–5¿›QÆè"×—ôÈ)H÷OÑî/p ”Ÿ…üm3ÇȘÙ¿É̺S¯ìæq\å¯]ã/-ÅŸüÕ7a©o*(ÝÿE÷OÑî/p –úvfŽq<·ŽPÍR’™2F%))K} T¡@±ÔCXê#Q¶QÈr^ÅÌ1,õ12>7 ™)cT’’²Ô·@ K=„¥>e…,çUÌÃR#ãs’™2F%))K} T¡@±ÔCXê#Q¶QÈr^ÅÌ1,õ12>7 ™)cT’’²Ô·@ ”yÿòô·­S|݇çÝ/ßXê©û \åžPoÍ{&3ÿÒŸ¦µÆ[ /Ÿ¦µÞ÷àæoÛÜÀçs3K½$]ÄRßU(Pºÿ z¨ïAÊ6 ¹ãVÅÌ12ÞõΘ9ãs’™2F%))K} T¡@éþ+èB ¾)Û(d9¯bæ rÆÌŸÌ”1*IIYê[  J÷_A/õ=HÙF!Ëy3ÇÈX3fÎøÜ€d¦ŒQIJÊRßU(Pºÿ z¨ïÁݲOÓD8”2ýôÓ±”2 ÃòöhÌÃþWKyÕp¯^M‡ÃûRÊëׯ߿çnoË›7¯ý zØCó®q l£Ë[ ÜÜPþyùª››r8T¿-ÂæÿÔŸù–—ì2ßü+¸ÒÛO´E=ó¿"¼eFí^É÷à*I côJl>FÏ„jLåäŽ[•Œ™½ƒÃÌ1 ™)cT’’²Ô‡²ÔKý¡l£å¼JÆÌ–úfŽÉL£’””¥>”¥^êe…,çU2f¶ÔÇ0s HfÊ•¤¤,õ¡,õR(Û(d9¯’1³¥>†™c@2Sƨ$%e©e©—úCÙF!Ëy•Œ™-õ1Ì’™2F%))K}(K½ÔÊ6 YΫdÌl©aæÌ”1*IIYêCYê¥þP¶QÈr^%cfK} 3Ç€d¦ŒQIJÊRÊR/õ‡²B–ó*3[êc˜9$3eŒJRR–úP–z©?»­ülžçiš¶NQ§!óaÿø‡¿®”çúð¼; *åqë ¥\ÍscsfnF£×ã_ÿü÷†ÿ÷ãñ8 Ã×ÿÜÝÝü°~© –úPó8NïÞmâ wwóÃÃôˆØF%¸Ýr«kš&‡RÊñx,¥ Ã@><ï÷åÓmPÈCçÁö@ÙFgÆkU2o¾Ö”zÊ6z%ÏÍ™¹eŒ^‰ÍÇè¹HcT‚£üÜèçΛHÆÌKsÏ%ããlæÌ”1*IIYêCYê¥þP¶QÈr^%cfK} 3Ç€d¦ŒQIJÊRÊR/õ‡²B–ó*3[êc˜9$³¿Sn·åcþ¼ÛàÅ‹õ³H°Ô‡šÇqë,õÒ9(còK]UÌÃÌ1ÌÜŒòÚ¨$%EÙF%))Ê6 ¹ãVÅÌ1ÌÃÌÍ(cT’’²ÔKÒE(Û(d9¯bæfŽaæf”1*IIYê%é"”m²œW1s 3Ç0s3Ê•¤¤,õ’tÊ6 YΫ˜9†™c˜¹eŒJRR–zIºe…,çUÌÃÌ1ÌÜŒ2F%))K½$]ävžçe1öàÁƒ Ê6:3>  Š™c˜9†™›Qƨ$%E¹Å´ìƹ˜9†™c˜¹eŒJRR–zIºe…,çUÌÃÌ1ÌÜÌmT’.ò_ û-ì¸S IEND®B`‚qcustomplot/documentation/html/plottable-statisticalbox_8h.html0000644000175000017500000000455412236016574025461 0ustar dermanudermanu src/plottables/plottable-statisticalbox.h File Reference
plottable-statisticalbox.h File Reference
#include "../global.h"
#include "../range.h"
#include "../plottable.h"
#include "../painter.h"

Go to the source code of this file.

Data Structures

class  QCPStatisticalBox
 A plottable representing a single statistical box in a plot. More...

Detailed Description

qcustomplot/documentation/html/tabs.css0000644000175000017500000000221312236016574020604 0ustar dermanudermanu.tabs, .tabs2, .tabs3 { background-image: url('tab_b.png'); width: 100%; z-index: 101; font-size: 13px; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; } .tabs2 { font-size: 10px; } .tabs3 { font-size: 9px; } .tablist { margin: 0; padding: 0; display: table; } .tablist li { float: left; display: table-cell; background-image: url('tab_b.png'); line-height: 36px; list-style: none; } .tablist a { display: block; padding: 0 20px; font-weight: bold; background-image:url('tab_s.png'); background-repeat:no-repeat; background-position:right; color: #283A5D; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; outline: none; } .tabs3 .tablist a { padding: 0 10px; } .tablist a:hover { background-image: url('tab_h.png'); background-repeat:repeat-x; color: #fff; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); text-decoration: none; } .tablist li.current a { background-image: url('tab_a.png'); background-repeat:repeat-x; color: #fff; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } qcustomplot/documentation/html/functions_func_0x74.html0000644000175000017500000000523112236016575023640 0ustar dermanudermanu Data Fields - Functions
 

- t -

qcustomplot/documentation/html/classQCPLayer.html0000644000175000017500000003542512236016574022510 0ustar dermanudermanu QCPLayer Class Reference
QCPLayer Class Reference

A layer that may contain objects, to control the rendering order. More...

Public Functions

 QCPLayer (QCustomPlot *parentPlot, const QString &layerName)
QCustomPlotparentPlot () const
QString name () const
int index () const
QList< QCPLayerable * > children () const

Protected Functions

void addChild (QCPLayerable *layerable, bool prepend)
void removeChild (QCPLayerable *layerable)

Detailed Description

A layer that may contain objects, to control the rendering order.

The Layering system of QCustomPlot is the mechanism to control the rendering order of the elements inside the plot.

It is based on the two classes QCPLayer and QCPLayerable. QCustomPlot holds an ordered list of one or more instances of QCPLayer (see QCustomPlot::addLayer, QCustomPlot::layer, QCustomPlot::moveLayer, etc.). When replotting, QCustomPlot goes through the list of layers bottom to top and successively draws the layerables of the layers.

A QCPLayer contains an ordered list of QCPLayerable instances. QCPLayerable is an abstract base class from which almost all visible objects derive, like axes, grids, graphs, items, etc.

Initially, QCustomPlot has five layers: "background", "grid", "main", "axes" and "legend" (in that order). The top two layers "axes" and "legend" contain the default axes and legend, so they will be drawn on top. In the middle, there is the "main" layer. It is initially empty and set as the current layer (see QCustomPlot::setCurrentLayer). This means, all new plottables, items etc. are created on this layer by default. Then comes the "grid" layer which contains the QCPGrid instances (which belong tightly to QCPAxis, see QCPAxis::grid). The Axis rect background shall be drawn behind everything else, thus the default QCPAxisRect instance is placed on the "background" layer. Of course, the layer affiliation of the individual objects can be changed as required (QCPLayerable::setLayer).

Controlling the ordering of objects is easy: Create a new layer in the position you want it to be, e.g. above "main", with QCustomPlot::addLayer. Then set the current layer with QCustomPlot::setCurrentLayer to that new layer and finally create the objects normally. They will be placed on the new layer automatically, due to the current layer setting. Alternatively you could have also ignored the current layer setting and just moved the objects with QCPLayerable::setLayer to the desired layer after creating them.

It is also possible to move whole layers. For example, If you want the grid to be shown in front of all plottables/items on the "main" layer, just move it above "main" with QCustomPlot::moveLayer.

The rendering order within one layer is simply by order of creation or insertion. The item created last (or added last to the layer), is drawn on top of all other objects on that layer.

When a layer is deleted, the objects on it are not deleted with it, but fall on the layer below the deleted layer, see QCustomPlot::removeLayer.

Constructor & Destructor Documentation

QCPLayer::QCPLayer ( QCustomPlot parentPlot,
const QString &  layerName 
)

Creates a new QCPLayer instance.

Normally you shouldn't directly instantiate layers, use QCustomPlot::addLayer instead.

Warning
It is not checked that layerName is actually a unique layer name in parentPlot. This check is only performed by QCustomPlot::addLayer.

Member Function Documentation

int QCPLayer::index ( ) const
inline

Returns the index this layer has in the QCustomPlot. The index is the integer number by which this layer can be accessed via QCustomPlot::layer.

Layers with higher indices will be drawn above layers with lower indices.

QList< QCPLayerable * > QCPLayer::children ( ) const
inline

Returns a list of all layerables on this layer. The order corresponds to the rendering order: layerables with higher indices are drawn above layerables with lower indices.

void QCPLayer::addChild ( QCPLayerable layerable,
bool  prepend 
)
protected

Adds the layerable to the list of this layer. If prepend is set to true, the layerable will be prepended to the list, i.e. be drawn beneath the other layerables already in the list.

This function does not change the mLayer member of layerable to this layer. (Use QCPLayerable::setLayer to change the layer of an object, not this function.)

See Also
removeChild
void QCPLayer::removeChild ( QCPLayerable layerable)
protected

Removes the layerable from the list of this layer.

This function does not change the mLayer member of layerable. (Use QCPLayerable::setLayer to change the layer of an object, not this function.)

See Also
addChild

The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPItemAnchor.html0000644000175000017500000003143312236016575023461 0ustar dermanudermanu QCPItemAnchor Class Reference
QCPItemAnchor Class Reference

An anchor of an item to which positions can be attached to. More...

Inheritance diagram for QCPItemAnchor:
Inheritance graph

Public Functions

 QCPItemAnchor (QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString name, int anchorId=-1)
QString name () const
virtual QPointF pixelPoint () const

Protected Functions

virtual QCPItemPositiontoQCPItemPosition ()
void addChild (QCPItemPosition *pos)
void removeChild (QCPItemPosition *pos)

Detailed Description

An anchor of an item to which positions can be attached to.

An item (QCPAbstractItem) may have one or more anchors. Unlike QCPItemPosition, an anchor doesn't control anything on its item, but provides a way to tie other items via their positions to the anchor.

For example, a QCPItemRect is defined by its positions topLeft and bottomRight. Additionally it has various anchors like top, topRight or bottomLeft etc. So you can attach the start (which is a QCPItemPosition) of a QCPItemLine to one of the anchors by calling QCPItemPosition::setParentAnchor on start, passing the wanted anchor of the QCPItemRect. This way the start of the line will now always follow the respective anchor location on the rect item.

Note that QCPItemPosition derives from QCPItemAnchor, so every position can also serve as an anchor to other positions.

To learn how to provide anchors in your own item subclasses, see the subclassing section of the QCPAbstractItem documentation.

Constructor & Destructor Documentation

QCPItemAnchor::QCPItemAnchor ( QCustomPlot parentPlot,
QCPAbstractItem parentItem,
const QString  name,
int  anchorId = -1 
)

Creates a new QCPItemAnchor. You shouldn't create QCPItemAnchor instances directly, even if you want to make a new item subclass. Use QCPAbstractItem::createAnchor instead, as explained in the subclassing section of the QCPAbstractItem documentation.

Member Function Documentation

QPointF QCPItemAnchor::pixelPoint ( ) const
virtual

Returns the final absolute pixel position of the QCPItemAnchor on the QCustomPlot surface.

The pixel information is internally retrieved via QCPAbstractItem::anchorPixelPosition of the parent item, QCPItemAnchor is just an intermediary.

Reimplemented in QCPItemPosition.

QCPItemPosition * QCPItemAnchor::toQCPItemPosition ( )
inlineprotectedvirtual

Returns 0 if this instance is merely a QCPItemAnchor, and a valid pointer of type QCPItemPosition* if it actually is a QCPItemPosition (which is a subclass of QCPItemAnchor).

This safe downcast functionality could also be achieved with a dynamic_cast. However, QCustomPlot avoids dynamic_cast to work with projects that don't have RTTI support enabled (e.g. -fno-rtti flag with gcc compiler).

Reimplemented in QCPItemPosition.

void QCPItemAnchor::addChild ( QCPItemPosition pos)
protected

Adds pos to the child list of this anchor. This is necessary to notify the children prior to destruction of the anchor.

Note that this function does not change the parent setting in pos.

void QCPItemAnchor::removeChild ( QCPItemPosition pos)
protected

Removes pos from the child list of this anchor.

Note that this function does not change the parent setting in pos.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/functions_enum.html0000644000175000017500000000541612236016575023074 0ustar dermanudermanu Data Fields - Enumerations
 
qcustomplot/documentation/html/classQCPGraph__inherit__graph.png0000644000175000017500000001017612236016575025513 0ustar dermanudermanu‰PNG  IHDR˜»˜ÀîbKGDÿÿÿ ½§“3IDATxœí}PTUÀÏÝ]vUp,›Âà……$ÂqÌ)K&GÃ`ů¢ÂutŒ˜!Ó¦¦’&Å©‰4‘-G–OIEÅ7-^VDÁÆ„^Y@Av÷¼ÜÞÛº{YPî~øt~ã{ÏÇsž{ÜÏ]ï¡0ƈðäówn "@Dˆ Ìö^•'‚‚®¶¿€ó̸ ˜Õ«Wsc‘ Ü ·"É9D$ˆH ‘@ "' EQ,´ v)—Ëýýý…B¡¿¿~~¾qÕÑ£Gƒ‚‚D"‘¯¯o^^]HQEQ"‘(""¢±±‘)´qÚŽW7¤ôä¸Í*++%IuuµV«­©©‘H$L•§§§R©lmm]¿~=]N‡Þ·o_hh¨q¡-aq2i NØZdLLLii)³XRRÍT?~œ%Åÿ‡œ:uªI¡IKŠ¢|||*++kkkýýýõz=]5<<,‘HnܸÑÝݽ|ùr©TZ__ÏtÌÎΖH$E™‡bJÒÓÓ,XÐÖÖf’kXË<Ù"ÝÝÝ5 ³¨ÑhÜÜÜX«þN!ŒñÈÈÈDöH½^¯R©0Ʊ±±G¥Ë<˜””„1NLLÌËË>uêTpp0íwÞéîî+Ý&33³¿¿?###>>Þ$ Ö°–&ÒÕÕ•µêïB …°°°††¦Ð¤™R©”J¥B¡!Äçó1Æ*•jÞ¼yz½Þ`0^¹rcìááÁœVx<­¯¯ÏB(ã6}}}b±Ø$ Ö°–áV¤­/v‚‚‚Ξ=Ë,ÖÕÕ…„„ПþùgÖ^ã‘‘µZ>Vä7~öÙgýýýZ­V¯×#„bccgÍšUTTtòäIÿyóæÑ¡:;;é•§›ÑˆÅb ¡Æe¬°¶ƒ«¿ˆ î‘^^^gΜ¨­­õöö>qâ]uúôioo着ª¡¡¡ÖÖÖ 6Ðå¬aÍ =<wî\'''úöã¯Çiò瘗—7sæÌÙ³gïٳǸKLL̲e˘ÅÞÞÞ¤¤$777…BÁ:k(dñb‡5¬ežx‘ ›7oŽŒŒìïïç*sFFFÖ®]ÛÜÜl½!nErü5Ö#‘““cÕøEñùüC‡Yu GÀž"­ þ'ýd—º‚944rút3óe½^o¨¨hfvPx€©T^Ñé:)êtúªª+öÊÇÚ€Y\¬Fè¡GŠBEEj{åcm`ŠÔh†êê® ãB½×Õ]ëë²WVV¦È“'/±>èÀŸ}Ñ¢E·nÝÂcßg5:ëz1í»»»—/_îââ"•JëëëÇÝþ˜MäãZ[ZZbcc™ÅE‹µ´´0UÑÑÑcu|ðàÁ¡C‡B¥¥¥ . |饗JJJ˜6NNN]]]K–,Ù¶m]’’’òõ×_ œ={ö×_5Ùôt›ß~û­±±‘y÷5ÆX§Ó>|˜ž!”––¢Ñh˜¾&LÒ3&---**ª³³ó…^`&´Gl{äX£³®ÃÖ­[W®\ÙÓÓóå—_¦¤¤ŒµõÆÁØê÷Hwwwz‹Ðh4WWWÖ*ãUE …°°°††ŒñÒ¥Ké¿©cÇŽ½üòËL³¾¾>Œq__ŸX,¦ wìØ1þüÔÔÔªª*ómgÜ‹F©TJ¥R¡Pˆâóùt¡X,6IÌ$‚IzÆ Äb1_£Ñ¸¹¹±v·<:ëz1½<<<<Ï|ë±nOn­eeeÌbii)shŽŽ.//gØx±««‹ÏçgßÙÙ‰ÇXaŒq[[ÛW_}%“ÉÌš—H$ååå÷ïß×jµÆ2,‹´ó#‰dݲHwwwzõ'7"+**¼¼¼Îœ9300P[[ëíí}âÄ ºêôéÓÞÞÞUUUCCC­­­6l0_UŒqVVÖÆ™Å”””¬¬,ºYff¦V«ÍÈȈ§kß}÷Ýëׯ?xðàܹst¡«««ùɆÆÃÃC¥RiµZæ0ˆ1^±bÅ|pïÞ=¦™…&…Ë—/g²zã7Ì»fu½˜Z™L&“ɺ»»ÛÛÛÇØê¦¹q cœ——çççÇãñBGŽ1®’ËåsçÎurr¢o?L’¦ V©TÌb]]]pp0㢠77÷¹çž›2eJ`` s‘µ{÷nWWWdvº¢s›9sæìÙ³÷ìÙÃTuttÄÅÅ9991%"˜äL_ì8;;3;&Ý?³ŽÎº^LmoooRR’›››B¡oÛÿÕ—‘ ›7oŽŒŒìïï¤^„Ib.r²SóæääL2ëá±!"@Dˆ ø"GGõ°§É¦a¹ýöÐË—5…¤Rw{'b]XD®^½ÚöyX±xBèîÝSöNĺŸäL«–J3B--Ÿº¸L±w:Vø9²ºúŠ^oÐë ÕÕ§4¸È‚‚ÿ˜|€ d‘==çÏß0°Á€Ï»ÞÓ3`d‘'N\2šÁž‚:M6 d‘…… ̯x \Xsšl°"ÛÛ{/]ê`.É1ÆMMí»&eEÀŠ,/oâóZ;>Ÿ*/¿h¯|¬ X‘ EƒNg0.Ñé Ø£+L‘W¯þÑÚz!Óg7nܹzõ»¤dm`Š,+køæåÿøq˜GW€"1ÆEEjŽåN_XØò©$@‘MM]]wù|ž@À7ùÇçóººî^ºÔaï¹g²¿¢s@z{׬y‘Yü÷¿¯#„¢£ÿÅ”ü÷¿ƒvHËÊÿö!ôÞ{GBß~»ÎÞ‰X€‡Ö&D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$ˆH ‘@ "@Dˆ "D$lô_Ïùå—ììl dN[›!4gÎ]»Œ¾}ûö_|qüv“ÆF/ƒèèè(**2ž>Ôf¸¸ô „zzl?2ª««{óÍ7A‰¤Ù½{·-‡³;qqq6‹œ#@Dˆ "r¢ØòÊå1p¸wÑ)•J¹\þçŸ>ýôÓÉÉÉK—.eªjjj~øá‡Û·oÏš5+99ù•W^Aÿß¾À××wûöí~~~t㦦¦üüü«W¯êõz??¿„„„˜˜»¬‘mp,‘jµúàÁƒ~øa@@Àµk×>ÿüs±XAWåææîܹ3((H£ÑÈårZ$B¨¶¶vttô§Ÿ~ÊÊÊÊÍÍE]¼xñÓO?MMMý補oܸQPP[¤cZårù–-[æÏŸ?mÚ´ÐÐд´´ü‘©Úºukxxø”)Sžyæ™ôôtãŽNNNË–-koo§>¼yóæ%K–¸¹¹ …ÂÀÀÀO>ù„®Š‹‹+,,LHHX¼x1S²xñ⤤$µZÍ”äææ¾úê«©©©üñ÷—óóó_ýõ„„„úúz«n‡ÇÀ±DÞ¼y3$$„Y|þùçoÞ¼ÉTI¥Ò±:êtºS§Nyyyыׯ_ «ñ­[·rssÏœ9C/ÖÖÖÖÔÔ¤§§Oü-Š‹‹ÃÂÂ8ÀêõúÂÂÂM›6:Žuh5G¯êǸ¸8@0gΜ;v0…E1µô‡ÚÚZúÃûï¿?}útú³Z­þæ›oÚÛÛu:÷÷ŸuBB´iÓÞzë­ÄÄD¦P&“ …˜˜fÿvK¤ÏåË—.\H/^ºtÉ××—©jnnŽŠŠ2ïÅbðõõmll¤íÒµÆ×œŒE„ÐÞ½{·mÛ®Óé^{í5Ëé …B„ÇsÀ—Ü:Ö¡U&“íß¿ÿâÅ‹÷ïßojj:pà³C¬Y³fÿþý.\éêêÚ»w¯…8k×®ÍÉÉQ©Týýý£££mmmcµqvvÖétßÿ½q¹B¡¸wïÞ±cÇ‚ƒƒ9Y5kãX{dDDÄÆ³³³;;;1Æ‘‘‘tÕ‚ Þ~û휜œÎÎΧžz*99Ùrœ;wÊåò/¾ø!0Ö—h›6múøãA||¼q¹N§[¹rå³Ï>»k×.ŽVκØèûH…B±zõjóc öïßíÚµ¬¬¬iÓ¦Y/1Vâââ)U q &j\k4fË–-öNáI±Α'»£!"@Dˆ "äWt@°‘HOOÏU«VÙf,ÇaÕªUžžž¶ þ$gÿÈ9D$ˆH ‘@ "ð?­ðT»”cjIEND®B`‚qcustomplot/documentation/html/item-pixmap_8h_source.html0000644000175000017500000004275212236016574024254 0ustar dermanudermanu src/items/item-pixmap.h Source File
item-pixmap.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_PIXMAP_H
27 #define QCP_ITEM_PIXMAP_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 
32 class QCPPainter;
33 class QCustomPlot;
34 
35 class QCP_LIB_DECL QCPItemPixmap : public QCPAbstractItem
36 {
37  Q_OBJECT
39  Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap)
40  Q_PROPERTY(bool scaled READ scaled WRITE setScaled)
41  Q_PROPERTY(Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode)
42  Q_PROPERTY(QPen pen READ pen WRITE setPen)
43  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
45 public:
46  QCPItemPixmap(QCustomPlot *parentPlot);
47  virtual ~QCPItemPixmap();
48 
49  // getters:
50  QPixmap pixmap() const { return mPixmap; }
51  bool scaled() const { return mScaled; }
52  Qt::AspectRatioMode aspectRatioMode() const { return mAspectRatioMode; }
53  QPen pen() const { return mPen; }
54  QPen selectedPen() const { return mSelectedPen; }
55 
56  // setters;
57  void setPixmap(const QPixmap &pixmap);
58  void setScaled(bool scaled, Qt::AspectRatioMode aspectRatioMode=Qt::KeepAspectRatio);
59  void setPen(const QPen &pen);
60  void setSelectedPen(const QPen &pen);
61 
62  // reimplemented virtual methods:
63  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
64 
65  QCPItemPosition * const topLeft;
66  QCPItemPosition * const bottomRight;
67  QCPItemAnchor * const top;
68  QCPItemAnchor * const topRight;
69  QCPItemAnchor * const right;
70  QCPItemAnchor * const bottom;
71  QCPItemAnchor * const bottomLeft;
72  QCPItemAnchor * const left;
73 
74 protected:
75  enum AnchorIndex {aiTop, aiTopRight, aiRight, aiBottom, aiBottomLeft, aiLeft};
76 
77  // property members:
78  QPixmap mPixmap;
79  QPixmap mScaledPixmap;
80  bool mScaled;
81  Qt::AspectRatioMode mAspectRatioMode;
82  QPen mPen, mSelectedPen;
83 
84  // reimplemented virtual methods:
85  virtual void draw(QCPPainter *painter);
86  virtual QPointF anchorPixelPoint(int anchorId) const;
87 
88  // non-virtual methods:
89  void updateScaledPixmap(QRect finalRect=QRect(), bool flipHorz=false, bool flipVert=false);
90  QRect getFinalRect(bool *flippedHorz=0, bool *flippedVert=0) const;
91  QPen mainPen() const;
92 };
93 
94 #endif // QCP_ITEM_PIXMAP_H
qcustomplot/documentation/html/classQCPLayerable.html0000644000175000017500000015707312236016575023341 0ustar dermanudermanu QCPLayerable Class Reference
QCPLayerable Class Reference

Base class for all drawable objects. More...

Inheritance diagram for QCPLayerable:
Inheritance graph

Public Functions

 QCPLayerable (QCustomPlot *plot, QString targetLayer="", QCPLayerable *parentLayerable=0)
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool realVisibility () const

Protected Functions

virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const =0
virtual void draw (QCPPainter *painter)=0
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

Base class for all drawable objects.

This is the abstract base class most visible objects derive from, e.g. plottables, axes, grid etc.

Every layerable is on a layer (QCPLayer) which allows controlling the rendering order by stacking the layers accordingly.

For details about the layering mechanism, see the QCPLayer documentation.

Constructor & Destructor Documentation

QCPLayerable::QCPLayerable ( QCustomPlot plot,
QString  targetLayer = "",
QCPLayerable parentLayerable = 0 
)

Creates a new QCPLayerable instance.

Since QCPLayerable is an abstract base class, it can't be instantiated directly. Use one of the derived classes.

If plot is provided, it automatically places itself on the layer named targetLayer. If targetLayer is an empty string, it places itself on the current layer of the plot (see QCustomPlot::setCurrentLayer).

It is possible to provide 0 as plot. In that case, you should assign a parent plot at a later time with initializeParentPlot.

The layerable's parent layerable is set to parentLayerable, if provided. Direct layerable parents are mainly used to control visibility in a hierarchy of layerables. This means a layerable is only drawn, if all its ancestor layerables are also visible. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable, plot does.

Member Function Documentation

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inline

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

double QCPLayerable::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLayoutInset, QCPLegend, QCPAbstractItem, QCPGraph, QCPLayoutElement, QCPCurve, QCPBars, QCPStatisticalBox, QCPItemTracer, QCPItemText, QCPAbstractPlottable, QCPAbstractLegendItem, QCPPlotTitle, QCPItemBracket, QCPItemPixmap, QCPItemCurve, QCPItemLine, QCPItemEllipse, QCPItemRect, and QCPItemStraightLine.

bool QCPLayerable::realVisibility ( ) const

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtual

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

QCP::Interaction QCPLayerable::selectionCategory ( ) const
protectedvirtual

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

QRect QCPLayerable::clipRect ( ) const
protectedvirtual

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedpure virtual

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Implemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPLayoutElement, QCPAxisRect, QCPAbstractPlottable, QCPAbstractLegendItem, QCPPlotTitle, and QCPGrid.

void QCPLayerable::draw ( QCPPainter painter)
protectedpure virtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPGraph, QCPLayoutElement, QCPAxisRect, QCPAbstractPlottable, QCPItemText, QCPPlottableLegendItem, QCPCurve, QCPItemTracer, QCPBars, QCPStatisticalBox, QCPAbstractLegendItem, QCPPlotTitle, QCPItemPixmap, QCPGrid, QCPItemEllipse, QCPItemBracket, QCPItemRect, QCPItemCurve, QCPItemLine, and QCPItemStraightLine.

void QCPLayerable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtual

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtual

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protected

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protected

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protected

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protected

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/ssSquare.png0000644000175000017500000000030312236016575021454 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+eIDAT8íÒ1 ƒPEÑ£ˆEÖb)ö’5KJ!E°t-V6¿úÄ!…o9óÞmfø7Å—YGÐYñ>t1‚O| Ê–5 `J9PÁŸ¸'ò3nhð :MÊá„O¼; t~`IEND®B`‚qcustomplot/documentation/html/classQCPCurve.html0000644000175000017500000042057412236016575022524 0ustar dermanudermanu QCPCurve Class Reference

A plottable representing a parametric curve in a plot. More...

Inheritance diagram for QCPCurve:
Inheritance graph

Public Types

enum  LineStyle

Public Functions

 QCPCurve (QCPAxis *keyAxis, QCPAxis *valueAxis)
QCPCurveDataMapdata () const
QCPScatterStyle scatterStyle () const
LineStyle lineStyle () const
void setData (QCPCurveDataMap *data, bool copy=false)
void setData (const QVector< double > &t, const QVector< double > &key, const QVector< double > &value)
void setData (const QVector< double > &key, const QVector< double > &value)
void setScatterStyle (const QCPScatterStyle &style)
void setLineStyle (LineStyle style)
void addData (const QCPCurveDataMap &dataMap)
void addData (const QCPCurveData &data)
void addData (double t, double key, double value)
void addData (double key, double value)
void addData (const QVector< double > &ts, const QVector< double > &keys, const QVector< double > &values)
void removeDataBefore (double t)
void removeDataAfter (double t)
void removeData (double fromt, double tot)
void removeData (double t)
virtual void clearData ()
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
QString name () const
bool antialiasedFill () const
bool antialiasedScatters () const
bool antialiasedErrorBars () const
QPen pen () const
QPen selectedPen () const
QBrush brush () const
QBrush selectedBrush () const
QCPAxiskeyAxis () const
QCPAxisvalueAxis () const
bool selectable () const
bool selected () const
void setName (const QString &name)
void setAntialiasedFill (bool enabled)
void setAntialiasedScatters (bool enabled)
void setAntialiasedErrorBars (bool enabled)
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
void setBrush (const QBrush &brush)
void setSelectedBrush (const QBrush &brush)
void setKeyAxis (QCPAxis *axis)
void setValueAxis (QCPAxis *axis)
Q_SLOT void setSelectable (bool selectable)
Q_SLOT void setSelected (bool selected)
virtual bool addToLegend ()
virtual bool removeFromLegend () const
void rescaleAxes (bool onlyEnlarge=false) const
void rescaleKeyAxis (bool onlyEnlarge=false) const
void rescaleValueAxis (bool onlyEnlarge=false) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Signals

void selectionChanged (bool selected)

Protected Types

enum  SignDomain

Protected Functions

virtual void draw (QCPPainter *painter)
virtual void drawLegendIcon (QCPPainter *painter, const QRectF &rect) const
virtual QCPRange getKeyRange (bool &validRange, SignDomain inSignDomain=sdBoth) const
virtual QCPRange getValueRange (bool &validRange, SignDomain inSignDomain=sdBoth) const
virtual void drawScatterPlot (QCPPainter *painter, const QVector< QPointF > *pointData) const
void getCurveData (QVector< QPointF > *lineData) const
double pointDistance (const QPointF &pixelPoint) const
QPointF outsideCoordsToPixels (double key, double value, int region, QRect axisRect) const
virtual QRect clipRect () const
virtual QCP::Interaction selectionCategory () const
void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void coordsToPixels (double key, double value, double &x, double &y) const
const QPointF coordsToPixels (double key, double value) const
void pixelsToCoords (double x, double y, double &key, double &value) const
void pixelsToCoords (const QPointF &pixelPos, double &key, double &value) const
QPen mainPen () const
QBrush mainBrush () const
void applyFillAntialiasingHint (QCPPainter *painter) const
void applyScattersAntialiasingHint (QCPPainter *painter) const
void applyErrorBarsAntialiasingHint (QCPPainter *painter) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A plottable representing a parametric curve in a plot.

QCPCurve.png

Unlike QCPGraph, plottables of this type may have multiple points with the same key coordinate, so their visual representation can have loops. This is realized by introducing a third coordinate t, which defines the order of the points described by the other two coordinates x and y.

To plot data, assign it with the setData or addData functions.

Changing the appearance

The appearance of the curve is determined by the pen and the brush (setPen, setBrush).

Usage

Like all data representing objects in QCustomPlot, the QCPCurve is a plottable (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies (QCustomPlot::plottable, QCustomPlot::addPlottable, QCustomPlot::removePlottable, etc.)

Usually, you first create an instance:

QCPCurve *newCurve = new QCPCurve(customPlot->xAxis, customPlot->yAxis);

add it to the customPlot with QCustomPlot::addPlottable:

customPlot->addPlottable(newCurve);

and then modify the properties of the newly created plottable, e.g.:

newCurve->setName("Fermat's Spiral");
newCurve->setData(tData, xData, yData);

Member Enumeration Documentation

Defines how the curve's line is represented visually in the plot. The line is drawn with the current pen of the curve (setPen).

See Also
setLineStyle
Enumerator:
lsNone 

No line is drawn between data points (e.g. only scatters)

lsLine 

Data points are connected with a straight line.

enum QCPAbstractPlottable::SignDomain
protectedinherited

Represents negative and positive sign domain for passing to getKeyRange and getValueRange.

Enumerator:
sdNegative 

The negative sign domain, i.e. numbers smaller than zero.

sdBoth 

Both sign domains, including zero, i.e. all (rational) numbers.

sdPositive 

The positive sign domain, i.e. numbers greater than zero.

Constructor & Destructor Documentation

QCPCurve::QCPCurve ( QCPAxis keyAxis,
QCPAxis valueAxis 
)
explicit

Constructs a curve which uses keyAxis as its key axis ("x") and valueAxis as its value axis ("y"). keyAxis and valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though.

The constructed QCPCurve can be added to the plot with QCustomPlot::addPlottable, QCustomPlot then takes ownership of the graph.

Member Function Documentation

void QCPCurve::setData ( QCPCurveDataMap data,
bool  copy = false 
)

Replaces the current data with the provided data.

If copy is set to true, data points in data will only be copied. if false, the plottable takes ownership of the passed data and replaces the internal data pointer with it. This is significantly faster than copying for large datasets.

void QCPCurve::setData ( const QVector< double > &  t,
const QVector< double > &  key,
const QVector< double > &  value 
)

This is an overloaded function.

Replaces the current data with the provided points in t, key and value tuples. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector.

void QCPCurve::setData ( const QVector< double > &  key,
const QVector< double > &  value 
)

This is an overloaded function.

Replaces the current data with the provided key and value pairs. The t parameter of each data point will be set to the integer index of the respective key/value pair.

void QCPCurve::setScatterStyle ( const QCPScatterStyle style)

Sets the visual appearance of single data points in the plot. If set to QCPScatterStyle::ssNone, no scatter points are drawn (e.g. for line-only plots with appropriate line style).

See Also
QCPScatterStyle, setLineStyle
void QCPCurve::setLineStyle ( QCPCurve::LineStyle  style)

Sets how the single data points are connected in the plot or how they are represented visually apart from the scatter symbol. For scatter-only plots, set style to lsNone and setScatterStyle to the desired scatter style.

See Also
setScatterStyle
void QCPCurve::addData ( const QCPCurveDataMap dataMap)

Adds the provided data points in dataMap to the current data.

See Also
removeData
void QCPCurve::addData ( const QCPCurveData data)

This is an overloaded function.

Adds the provided single data point in data to the current data.

See Also
removeData
void QCPCurve::addData ( double  t,
double  key,
double  value 
)

This is an overloaded function.

Adds the provided single data point as t, key and value tuple to the current data

See Also
removeData
void QCPCurve::addData ( double  key,
double  value 
)

This is an overloaded function.

Adds the provided single data point as key and value pair to the current data The t parameter of the data point is set to the t of the last data point plus 1. If there is no last data point, t will be set to 0.

See Also
removeData
void QCPCurve::addData ( const QVector< double > &  ts,
const QVector< double > &  keys,
const QVector< double > &  values 
)

This is an overloaded function.

Adds the provided data points as t, key and value tuples to the current data.

See Also
removeData
void QCPCurve::removeDataBefore ( double  t)

Removes all data points with curve parameter t smaller than t.

See Also
addData, clearData
void QCPCurve::removeDataAfter ( double  t)

Removes all data points with curve parameter t greater than t.

See Also
addData, clearData
void QCPCurve::removeData ( double  fromt,
double  tot 
)

Removes all data points with curve parameter t between fromt and tot. if fromt is greater or equal to tot, the function does nothing. To remove a single data point with known t, use removeData(double t).

See Also
addData, clearData
void QCPCurve::removeData ( double  t)

This is an overloaded function.

Removes a single data point at curve parameter t. If the position is not known with absolute precision, consider using removeData(double fromt, double tot) with a small fuzziness interval around the suspected position, depeding on the precision with which the curve parameter is known.

See Also
addData, clearData
void QCPCurve::clearData ( )
virtual

Removes all data points.

See Also
removeData, removeDataAfter, removeDataBefore

Implements QCPAbstractPlottable.

double QCPCurve::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractPlottable.

void QCPCurve::draw ( QCPPainter painter)
protectedvirtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPAbstractPlottable.

void QCPCurve::drawLegendIcon ( QCPPainter painter,
const QRectF &  rect 
) const
protectedvirtual

called by QCPLegend::draw (via QCPPlottableLegendItem::draw) to create a graphical representation of this plottable inside rect, next to the plottable name.

Implements QCPAbstractPlottable.

QCPRange QCPCurve::getKeyRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedvirtual

called by rescaleAxes functions to get the full data key bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getValueRange

Implements QCPAbstractPlottable.

QCPRange QCPCurve::getValueRange ( bool &  validRange,
SignDomain  inSignDomain = sdBoth 
) const
protectedvirtual

called by rescaleAxes functions to get the full data value bounds. For logarithmic plots, one can set inSignDomain to either sdNegative or sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to sdBoth (default). validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

See Also
rescaleAxes, getKeyRange

Implements QCPAbstractPlottable.

void QCPCurve::drawScatterPlot ( QCPPainter painter,
const QVector< QPointF > *  pointData 
) const
protectedvirtual

Draws scatter symbols at every data point passed in pointData. scatter symbols are independent of the line style and are always drawn if scatter shape is not QCPScatterStyle::ssNone.

void QCPCurve::getCurveData ( QVector< QPointF > *  lineData) const
protected

called by QCPCurve::draw to generate a point vector (pixels) which represents the line of the curve. Line segments that aren't visible in the current axis rect are handled in an optimized way.

double QCPCurve::pointDistance ( const QPointF &  pixelPoint) const
protected

Calculates the (minimum) distance (in pixels) the curve's representation has from the given pixelPoint in pixels. This is used to determine whether the curve was clicked or not, e.g. in selectTest.

QPointF QCPCurve::outsideCoordsToPixels ( double  key,
double  value,
int  region,
QRect  axisRect 
) const
protected

This is a specialized coordsToPixels function for points that are outside the visible axisRect and just crossing a boundary (since getCurveData reduces non-visible curve segments to those line segments that cross region boundaries, see documentation there). It only uses the coordinate parallel to the region boundary of the axisRect. The other coordinate is picked just outside the axisRect (how far is determined by the scatter size and the line width). Together with the optimization in getCurveData this improves performance for large curves (or zoomed in ones) significantly while keeping the illusion the whole curve and its filling is still being drawn for the viewer.

void QCPAbstractPlottable::setName ( const QString &  name)
inherited

The name is the textual representation of this plottable as it is displayed in the legend (QCPLegend). It may contain any UTF-8 characters, including newlines.

void QCPAbstractPlottable::setAntialiasedFill ( bool  enabled)
inherited

Sets whether fills of this plottable is drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedScatters ( bool  enabled)
inherited

Sets whether the scatter symbols of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setAntialiasedErrorBars ( bool  enabled)
inherited

Sets whether the error bars of this plottable are drawn antialiased or not.

Note that this setting may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

void QCPAbstractPlottable::setPen ( const QPen &  pen)
inherited

The pen is used to draw basic lines that make up the plottable representation in the plot.

For example, the QCPGraph subclass draws its graph lines and scatter points with this pen.

See Also
setBrush
void QCPAbstractPlottable::setSelectedPen ( const QPen &  pen)
inherited

When the plottable is selected, this pen is used to draw basic lines instead of the normal pen set via setPen.

See Also
setSelected, setSelectable, setSelectedBrush, selectTest
void QCPAbstractPlottable::setBrush ( const QBrush &  brush)
inherited

The brush is used to draw basic fills of the plottable representation in the plot. The Fill can be a color, gradient or texture, see the usage of QBrush.

For example, the QCPGraph subclass draws the fill under the graph with this brush, when it's not set to Qt::NoBrush.

See Also
setPen
void QCPAbstractPlottable::setSelectedBrush ( const QBrush &  brush)
inherited

When the plottable is selected, this brush is used to draw fills instead of the normal brush set via setBrush.

See Also
setSelected, setSelectable, setSelectedPen, selectTest
void QCPAbstractPlottable::setKeyAxis ( QCPAxis axis)
inherited

The key axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's value axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setValueAxis
void QCPAbstractPlottable::setValueAxis ( QCPAxis axis)
inherited

The value axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's key axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis.

Normally, the key and value axes are set in the constructor of the plottable (or QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface).

See Also
setKeyAxis
void QCPAbstractPlottable::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this plottable by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains iSelectPlottables.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected directly.

See Also
setSelected
void QCPAbstractPlottable::setSelected ( bool  selected)
inherited

Sets whether this plottable is selected or not. When selected, it uses a different pen and brush to draw its lines and fills, see setSelectedPen and setSelectedBrush.

The entire selection mechanism for plottables is handled automatically when QCustomPlot::setInteractions contains iSelectPlottables. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
bool QCPAbstractPlottable::addToLegend ( )
virtualinherited

Adds this plottable to the legend of the parent QCustomPlot (QCustomPlot::legend).

Normally, a QCPPlottableLegendItem is created and inserted into the legend. If the plottable needs a more specialized representation in the legend, this function will take this into account and instead create the specialized subclass of QCPAbstractLegendItem.

Returns true on success, i.e. when the legend exists and a legend item associated with this plottable isn't already in the legend.

See Also
removeFromLegend, QCPLegend::addItem
bool QCPAbstractPlottable::removeFromLegend ( ) const
virtualinherited

Removes the plottable from the legend of the parent QCustomPlot. This means the QCPAbstractLegendItem (usually a QCPPlottableLegendItem) that is associated with this plottable is removed.

Returns true on success, i.e. if the legend exists and a legend item associated with this plottable was found and removed.

See Also
addToLegend, QCPLegend::removeItem
void QCPAbstractPlottable::rescaleAxes ( bool  onlyEnlarge = false) const
inherited

Rescales the key and value axes associated with this plottable to contain all displayed data, so the whole plottable is visible. If the scaling of an axis is logarithmic, rescaleAxes will make sure not to rescale to an illegal range i.e. a range containing different signs and/or zero. Instead it will stay in the current sign domain and ignore all parts of the plottable that lie outside of that domain.

onlyEnlarge makes sure the ranges are only expanded, never reduced. So it's possible to show multiple plottables in their entirety by multiple calls to rescaleAxes where the first call has onlyEnlarge set to false (the default), and all subsequent set to true.

See Also
rescaleKeyAxis, rescaleValueAxis, QCustomPlot::rescaleAxes, QCPAxis::rescale
void QCPAbstractPlottable::rescaleKeyAxis ( bool  onlyEnlarge = false) const
inherited

Rescales the key axis of the plottable so the whole plottable is visible.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::rescaleValueAxis ( bool  onlyEnlarge = false) const
inherited

Rescales the value axis of the plottable so the whole plottable is visible.

Returns true if the axis was actually scaled. This might not be the case if this plottable has an invalid range, e.g. because it has no data points.

See rescaleAxes for detailed behaviour.

void QCPAbstractPlottable::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this plottable has changed to selected, either by user interaction or by a direct call to setSelected.

QRect QCPAbstractPlottable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented from QCPLayerable.

QCP::Interaction QCPAbstractPlottable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint

Implements QCPLayerable.

void QCPAbstractPlottable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

void QCPAbstractPlottable::coordsToPixels ( double  key,
double  value,
double &  x,
double &  y 
) const
protectedinherited

Convenience function for transforming a key/value pair to pixels on the QCustomPlot surface, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

key and value are transformed to the coodinates in pixels and are written to x and y.

See Also
pixelsToCoords, QCPAxis::coordToPixel
const QPointF QCPAbstractPlottable::coordsToPixels ( double  key,
double  value 
) const
protectedinherited

This is an overloaded function.

Returns the input as pixel coordinates in a QPointF.

void QCPAbstractPlottable::pixelsToCoords ( double  x,
double  y,
double &  key,
double &  value 
) const
protectedinherited

Convenience function for transforming a x/y pixel pair on the QCustomPlot surface to plot coordinates, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y).

x and y are transformed to the plot coodinates and are written to key and value.

See Also
coordsToPixels, QCPAxis::coordToPixel
void QCPAbstractPlottable::pixelsToCoords ( const QPointF &  pixelPos,
double &  key,
double &  value 
) const
protectedinherited

This is an overloaded function.

Returns the pixel input pixelPos as plot coordinates key and value.

QPen QCPAbstractPlottable::mainPen ( ) const
protectedinherited

Returns the pen that should be used for drawing lines of the plottable. Returns mPen when the graph is not selected and mSelectedPen when it is.

QBrush QCPAbstractPlottable::mainBrush ( ) const
protectedinherited

Returns the brush that should be used for drawing fills of the plottable. Returns mBrush when the graph is not selected and mSelectedBrush when it is.

void QCPAbstractPlottable::applyFillAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable fills.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyDefaultAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyScattersAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable scatter points.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyDefaultAntialiasingHint, applyErrorBarsAntialiasingHint
void QCPAbstractPlottable::applyErrorBarsAntialiasingHint ( QCPPainter painter) const
protectedinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing plottable error bars.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyDefaultAntialiasingHint
double QCPAbstractPlottable::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific plottables.

Note
This function is identical to QCPAbstractItem::distSqrToLine
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/functions_0x75.html0000644000175000017500000000441212236016575022626 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- u -

qcustomplot/documentation/html/core_8h_source.html0000644000175000017500000014405112236016574022745 0ustar dermanudermanu src/core.h Source File
core.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_CORE_H
27 #define QCP_CORE_H
28 
29 #include "global.h"
30 #include "range.h"
31 #include "axis.h"
32 
33 class QCPPainter;
34 class QCPLayer;
36 class QCPAbstractItem;
37 class QCPGraph;
38 class QCPPlotTitle;
39 class QCPLegend;
41 
42 class QCP_LIB_DECL QCustomPlot : public QWidget
43 {
44  Q_OBJECT
46  Q_PROPERTY(QRect viewport READ viewport WRITE setViewport)
47  Q_PROPERTY(QPixmap background READ background WRITE setBackground)
48  Q_PROPERTY(bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled)
49  Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode WRITE setBackgroundScaledMode)
50  Q_PROPERTY(QCPLayoutGrid* plotLayout READ plotLayout)
51  Q_PROPERTY(bool autoAddPlottableToLegend READ autoAddPlottableToLegend WRITE setAutoAddPlottableToLegend)
52  Q_PROPERTY(int selectionTolerance READ selectionTolerance WRITE setSelectionTolerance)
53  Q_PROPERTY(bool noAntialiasingOnDrag READ noAntialiasingOnDrag WRITE setNoAntialiasingOnDrag)
54  Q_PROPERTY(Qt::KeyboardModifier multiSelectModifier READ multiSelectModifier WRITE setMultiSelectModifier)
56 public:
62  enum LayerInsertMode { limBelow
63  ,limAbove
64  };
65  Q_ENUMS(LayerInsertMode)
66 
67  explicit QCustomPlot(QWidget *parent = 0);
68  virtual ~QCustomPlot();
69 
70  // getters:
71  QRect viewport() const { return mViewport; }
72  QPixmap background() const { return mBackgroundPixmap; }
73  bool backgroundScaled() const { return mBackgroundScaled; }
74  Qt::AspectRatioMode backgroundScaledMode() const { return mBackgroundScaledMode; }
75  QCPLayoutGrid *plotLayout() const { return mPlotLayout; }
76  QCP::AntialiasedElements antialiasedElements() const { return mAntialiasedElements; }
77  QCP::AntialiasedElements notAntialiasedElements() const { return mNotAntialiasedElements; }
78  bool autoAddPlottableToLegend() const { return mAutoAddPlottableToLegend; }
79  const QCP::Interactions interactions() const { return mInteractions; }
80  int selectionTolerance() const { return mSelectionTolerance; }
81  bool noAntialiasingOnDrag() const { return mNoAntialiasingOnDrag; }
82  QCP::PlottingHints plottingHints() const { return mPlottingHints; }
83  Qt::KeyboardModifier multiSelectModifier() const { return mMultiSelectModifier; }
84 
85  // setters:
86  void setViewport(const QRect &rect);
87  void setBackground(const QPixmap &pm);
88  void setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding);
89  void setBackground(const QBrush &brush);
90  void setBackgroundScaled(bool scaled);
91  void setBackgroundScaledMode(Qt::AspectRatioMode mode);
92  void setAntialiasedElements(const QCP::AntialiasedElements &antialiasedElements);
93  void setAntialiasedElement(QCP::AntialiasedElement antialiasedElement, bool enabled=true);
94  void setNotAntialiasedElements(const QCP::AntialiasedElements &notAntialiasedElements);
95  void setNotAntialiasedElement(QCP::AntialiasedElement notAntialiasedElement, bool enabled=true);
96  void setAutoAddPlottableToLegend(bool on);
97  void setInteractions(const QCP::Interactions &interactions);
98  void setInteraction(const QCP::Interaction &interaction, bool enabled=true);
99  void setSelectionTolerance(int pixels);
100  void setNoAntialiasingOnDrag(bool enabled);
101  void setPlottingHints(const QCP::PlottingHints &hints);
102  void setPlottingHint(QCP::PlottingHint hint, bool enabled=true);
103  void setMultiSelectModifier(Qt::KeyboardModifier modifier);
104 
105  // non-property methods:
106  // plottable interface:
107  QCPAbstractPlottable *plottable(int index);
108  QCPAbstractPlottable *plottable();
109  bool addPlottable(QCPAbstractPlottable *plottable);
110  bool removePlottable(QCPAbstractPlottable *plottable);
111  bool removePlottable(int index);
112  int clearPlottables();
113  int plottableCount() const;
114  QList<QCPAbstractPlottable*> selectedPlottables() const;
115  QCPAbstractPlottable *plottableAt(const QPointF &pos, bool onlySelectable=false) const;
116  bool hasPlottable(QCPAbstractPlottable *plottable) const;
117 
118  // specialized interface for QCPGraph:
119  QCPGraph *graph(int index) const;
120  QCPGraph *graph() const;
121  QCPGraph *addGraph(QCPAxis *keyAxis=0, QCPAxis *valueAxis=0);
122  bool removeGraph(QCPGraph *graph);
123  bool removeGraph(int index);
124  int clearGraphs();
125  int graphCount() const;
126  QList<QCPGraph*> selectedGraphs() const;
127 
128  // item interface:
129  QCPAbstractItem *item(int index) const;
130  QCPAbstractItem *item() const;
131  bool addItem(QCPAbstractItem* item);
132  bool removeItem(QCPAbstractItem *item);
133  bool removeItem(int index);
134  int clearItems();
135  int itemCount() const;
136  QList<QCPAbstractItem*> selectedItems() const;
137  QCPAbstractItem *itemAt(const QPointF &pos, bool onlySelectable=false) const;
138  bool hasItem(QCPAbstractItem *item) const;
139 
140  // layer interface:
141  QCPLayer *layer(const QString &name) const;
142  QCPLayer *layer(int index) const;
143  QCPLayer *currentLayer() const;
144  bool setCurrentLayer(const QString &name);
145  bool setCurrentLayer(QCPLayer *layer);
146  int layerCount() const;
147  bool addLayer(const QString &name, QCPLayer *otherLayer=0, LayerInsertMode insertMode=limAbove);
148  bool removeLayer(QCPLayer *layer);
149  bool moveLayer(QCPLayer *layer, QCPLayer *otherLayer, LayerInsertMode insertMode=limAbove);
150 
151  // axis rect/layout interface:
152  int axisRectCount() const;
153  QCPAxisRect* axisRect(int index=0) const;
154  QList<QCPAxisRect*> axisRects() const;
155  QCPLayoutElement* layoutElementAt(const QPointF &pos) const;
156  Q_SLOT void rescaleAxes(bool onlyVisiblePlottables=false);
157 
158  QList<QCPAxis*> selectedAxes() const;
159  QList<QCPLegend*> selectedLegends() const;
160  Q_SLOT void deselectAll();
161 
162  bool savePdf(const QString &fileName, bool noCosmeticPen=false, int width=0, int height=0);
163  bool savePng(const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1);
164  bool saveJpg(const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1);
165  bool saveBmp(const QString &fileName, int width=0, int height=0, double scale=1.0);
166  bool saveRastered(const QString &fileName, int width, int height, double scale, const char *format, int quality=-1);
167  QPixmap toPixmap(int width=0, int height=0, double scale=1.0);
168  void toPainter(QCPPainter *painter, int width=0, int height=0);
169  Q_SLOT void replot();
170 
171  QCPAxis *xAxis, *yAxis, *xAxis2, *yAxis2;
172  QCPLegend *legend;
173 
174 signals:
175  void mouseDoubleClick(QMouseEvent *event);
176  void mousePress(QMouseEvent *event);
177  void mouseMove(QMouseEvent *event);
178  void mouseRelease(QMouseEvent *event);
179  void mouseWheel(QWheelEvent *event);
180 
181  void plottableClick(QCPAbstractPlottable *plottable, QMouseEvent *event);
182  void plottableDoubleClick(QCPAbstractPlottable *plottable, QMouseEvent *event);
183  void itemClick(QCPAbstractItem *item, QMouseEvent *event);
184  void itemDoubleClick(QCPAbstractItem *item, QMouseEvent *event);
185  void axisClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event);
186  void axisDoubleClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event);
187  void legendClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event);
188  void legendDoubleClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event);
189  void titleClick(QMouseEvent *event, QCPPlotTitle *title);
190  void titleDoubleClick(QMouseEvent *event, QCPPlotTitle *title);
191 
192  void selectionChangedByUser();
193  void beforeReplot();
194  void afterReplot();
195 
196 protected:
197  // property members:
198  QRect mViewport;
199  QCPLayoutGrid *mPlotLayout;
200  bool mAutoAddPlottableToLegend;
201  QList<QCPAbstractPlottable*> mPlottables;
202  QList<QCPGraph*> mGraphs; // extra list of plottables also in mPlottables that are of type QCPGraph
203  QList<QCPAbstractItem*> mItems;
204  QList<QCPLayer*> mLayers;
205  QCP::AntialiasedElements mAntialiasedElements, mNotAntialiasedElements;
206  QCP::Interactions mInteractions;
207  int mSelectionTolerance;
208  bool mNoAntialiasingOnDrag;
209  QBrush mBackgroundBrush;
210  QPixmap mBackgroundPixmap;
211  QPixmap mScaledBackgroundPixmap;
212  bool mBackgroundScaled;
213  Qt::AspectRatioMode mBackgroundScaledMode;
214  QCPLayer *mCurrentLayer;
215  QCP::PlottingHints mPlottingHints;
216  Qt::KeyboardModifier mMultiSelectModifier;
217 
218  // non-property members:
219  QPixmap mPaintBuffer;
220  QPoint mMousePressPos;
221  QCPLayoutElement *mMouseEventElement;
222  bool mReplotting;
223 
224  // reimplemented virtual methods:
225  virtual QSize minimumSizeHint() const;
226  virtual QSize sizeHint() const;
227  virtual void paintEvent(QPaintEvent *event);
228  virtual void resizeEvent(QResizeEvent *event);
229  virtual void mouseDoubleClickEvent(QMouseEvent *event);
230  virtual void mousePressEvent(QMouseEvent *event);
231  virtual void mouseMoveEvent(QMouseEvent *event);
232  virtual void mouseReleaseEvent(QMouseEvent *event);
233  virtual void wheelEvent(QWheelEvent *event);
234 
235  // introduced virtual methods:
236  virtual void draw(QCPPainter *painter);
237  virtual void axisRemoved(QCPAxis *axis);
238  virtual void legendRemoved(QCPLegend *legend);
239 
240  // non-virtual methods:
241  void updateLayerIndices() const;
242  QCPLayerable *layerableAt(const QPointF &pos, bool onlySelectable, QVariant *selectionDetails=0) const;
243  void drawBackground(QCPPainter *painter);
244 
245  friend class QCPLegend;
246  friend class QCPAxis;
247  friend class QCPLayer;
248  friend class QCPAxisRect;
249 };
250 
251 #endif // QCP_CORE_H
qcustomplot/documentation/html/ftv2splitbar.png0000644000175000017500000000047212236016574022276 0ustar dermanudermanu‰PNG  IHDRM¸¿IDATxíÝ¡JCa‡ñç(˜ ëƒ%±Ø4 b±È˜Í¶3˜v^Á±˜…ãó–ŽELƒõ…¥•³ ,ÿb;íç{Ã/¼ðÞÀaYÕ¯åóøq:¼º¹›\òIIIIIIIIIIIIIIIIII-Òçl¹›«õ抢è_t/Ï»ã£ÑíYQVõðêäíã÷´×ùY¬Úÿµ§¦ivók¾_íåýÛ£I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$I@$ýC[Vì=ü[„fÆIEND®B`‚qcustomplot/documentation/html/classQCPStatisticalBox__inherit__graph.png0000644000175000017500000001103012236016575027375 0ustar dermanudermanu‰PNG  IHDR˜»˜ÀîbKGDÿÿÿ ½§“ÍIDATxœí}TSõÿÀ?w‚Ò&jé™pPù Æ¡HÒ1*Ì“O0̇¤ŽÓ”(K9f–"xzðœQ<J"0À MË@âIó£‚9tÄxá¶ûûãÖý®í2Þ9üôyÿØý<¼?ï{_ܧÝy?Žãñäðuz@"!‰„$HXÀi"''ÇÖ«òä‘““C×ögÑž½!féÒ¥4F£Yä’%Kè 1ôŠDçHH@"!‰„$HKÁ0ÌÂB›`‘R©T °Ùl@päÈêììl‘HÄáp¦M›–™™Ib†a‡Ãñ÷÷¯­­% sÚ#ºnH‰;ȇ6+++ãóùjµº²²’Ïç—””U“'O–Éd===ÍÍÍ+W®$ʉ°ýýý{öìñõõ5,|œPŽø(iZ¿xÜ"CBB ÉÅ‚‚‚àà`²êĉ)þ¶§§gÔ¨QF…F-1 sss+++“Ëå@§ÓUýýý|>ÿúõëJ¥2""b̘1b±øÂ… dÇÔÔT>Ÿa˜i(²$11ÑÑÑqæÌ™7nÜ0Jƒ2¬yžl‘cÇŽU©Tä¢J¥âñx”UÿKÇ5%{¤N§S(8އ††fggåˆŽŽÆq<***33³¿¿ÿÔ©SÞÞÞd´5kÖ(•ÊÁBm¶lÙÒÕÕ•””i”eXóÀ&ÒÉɉ²ê)`³Ù3f̨®®& šÉd2±XÌf³L&Çq…B! u:^¯÷òòºtéŽãÎÎÎäi…Á`Ñ:;;Í„2lÓÙÙÉårÒ  kzE>î‹‘HtæÌr±ªªÊÇLJøìååõã?RöÂq\£ÑÔÔÔøùù yõêÕ;vìèêêR«Õ::a„üüüââb@  ‰PmmmÄÊ͸\®™Pe°°ºþ",Ü#KJJ\\\NŸ>ÝÝÝ-—Ë]]]OžŸOK(ÚDŽL.\¸±paàøñ8ÿ)¶NÇŠ@~ŽÌϯf±,3?ÿ¢­s±.0‹Ð?^§ÕêµZ]aa탶xºô¸€YdUÕÕÞ^ ñ¹·W£P\±m>Vf‘ÇŽ]d2ÿ^A&+(€ùè ­ÈÞ^Mii#ù°^§Ó—”4’;(|@+R&»¤Õþ뤨ÕêÊË/Ù*k­ÈcÇjø×#†üü[åcmà©RõVU]Õëõ†…:^Uuµ³³×VYY8E×S~ÑãxqqÃãÏç1§ÈüüêaT=Ñ@(òήšš?ôzŠ=R¯Çkj~¿s§ëñgem )“]rtäÿØl›Í2,)/¿lëéò/Ío½•øæ›¶Nĺ@¸Gþ7A"!‰„$HH@"!‰„$HH@"!‰„$HH@"!‰„$HH@"!‰„$HH@"!‰„$HH@"!‰„$HH@"!‰„$HH@"!á_oP™/Ï}DZ[[¹¹¹¶N„fŒ_Úk8-1-d0™O1™OÙ: ú1šŽ‰âæÐ¿L_ëΑ€DB H$$Œ,‘#jj“¡ EïÊS¤T*l6[ 9rİ*;;[$q8bz]¢Ã0 Ã8Ž¿¿mm-QXYY‰a˜L&F¾ #P¦7¤î˜ ˜ÞG>tز²2>Ÿ_QQ¡V«+++ù|~II Y5yòd™LÖÓÓÓÜܼråJ¢œÛßß¿gÏ___¢pÅŠ"‘(&&†ŒlÉèCmiIÊôÌaÚÝÂÆ–÷2Ðè>r8"CBB ÉÅ‚‚‚àà`²êĉ”zzzF…ãxoo/Çkjjzê©§zzzÈf¦R;vÌËË‹ÃḺºîß¿ÿ÷m.±˜ššÊçó1 #ã`æææVVVF”´¶¶Î™3‡Ãá“eÊô ÿý÷ÐÐÐÑ£GÏž=û?þÀ¿ÏltÊõ"Û+•ʈˆˆ1cƈÅâ .sæÌÏ?ÿl´é‰6—/_®­­%ß}ã¸V«=|ø01ÿ< ..ÎÇÇG¥R‘}"¥gH\\\```[[ÛsÏ=GNh¨öÈÁF§\/’„„„×^{­££ã³Ï>‹lë=C«î‘cÇŽ%¶J¥rrr¢¬2\U›Íž1cFuu5ŽãáááÄßÔ÷ßÿâ‹/’Í:;;qïììär¹DáÆ§OŸ¾víÚòòrÓmgØ‹@&“‰Åb6› `2™D!—Ë5JÌ(‚Qz† ¸\._¥Rñx<ÊîæG§\/²—³³3©ƒÁ`˜n=ÊíIÏ¡õøñãäbaa!yh .**¢Øp±½½ÉdfßÖÖ†²Â8Žß¸q#---00P"‘˜4 Îçó‹ŠŠîß¿¯V« e˜i&ç!‰¤ݼȱcÇ«o9ôˆ,))qqq9}útww·\.wuu=yò$QUZZêêêZ^^ÞÛÛÛÜܼjÕ*ÓUÅq<%%eõêÕäblllJJ ÑlË–-jµ:)))22’¨}óÍ7¯]»600pîÜ9ggg¢ÐÉÉÉôdCàìì¬P(Ôj5yÄq|áÂ…›7oîëë#›™‰`TAfõꫯšv7üL9:åz‘µ‰D"‘(•Ê–––¨¨¨A¶ºqn4ˆÄq<33ÓÝÝÁ`²²² «¤R©§§§qûa”4···B¡ «ªª¼½½ñA. öíÛ7uêT{{{///ò"kÛ¶mNNNÀätEä6nܸ‰'&''“U­­­aaavvvd‰™F9;ŽŽŽäÅŽQwÃÏ”£S®Y{ïÞ½èèhçææ–››û°mÿw_zD’¬[·.  ««kH½ˆ©ÈGš7##ã# had}E‡6H$$ ‘€DB ð‹|ð@÷4Ù·ý´¡A…a@,këD¬ …È¥K—>þ<¬—;ð×_§lˆu|’3µº_,ÞhjúxÌ{[§cE ?GVT\Òéô:¾¢© \dNÎ/F`f‘ÝçÏ_×ëq½?wîZGG·­3²"0‹wcXX‹Åš2eÊÆ‰’E‹…‡‡766Þ¼y3===(((66Ö¨WMMÍW_}ÕÒÒ¢Õj s‡–W^yeïÞ½B¡088xÓ¦MfZÖÕÕmÞ¼ÙÐâCG!­EEEû÷ïOKK444$%%988DEEI$‹Åúðà Fjj*‹Eó–§9œ››[CCCPP±X__?mÚ4²ª±±100дå)ÊÉÉ)(((((hþüù111¦"wíÚµ~ýz???­V;oÞ<3Y­]»ööíÛçÏŸ?|øpiié|`ùY8 ‡Ã‰ˆˆ8xð ™P*•J­Vúúúx<žå9XÍçH‰D’žžþ믿޿¿®®nïÞ½QQQDULLLzzúÅ‹5M{{»ùcKRRR}}ýÀÀ@OOOIIÉ„ ˆr‡Û·ÿž&@£Ñ8::jµÚC‡‘ |ñÅ:nÁ‚k×®ýå—_Ì´ôõõÍÎÎÖh4d å(¦h4šââbòÔàíí››Û××—““Cœkúûû·oßþþûïÇÇÇ''' ˜‰6 hÞ#ýýýW¯^ššÚÖÖ†ãxRRR@@Q5sæÌ7Þx###£­­íé§Ÿ^¾|¹™8 ,8tèÐo¿ýfooïééùÑGåK–,Y³fM__Ÿ\.ûí··nÝÊb±"##ÉŽ† ÈB@˜˜x÷îÝI“&‘‡VÊ–qqq;wîœ?¾V«%Ê)G1„8Gr8wwwò .>>~çÎyyyIII€Ý»wGFFΜ9 T*ÓÒÒ6oÞ<¤mkž¡=ÆÚºu«åO?ÒÓÓ¯^½š’’âàà0ÌìþÃO?¬õkHÄÇÇ[/8Âô$ ‘€DB H$$ ‘€~9B±âÏ!-Z4¬”ÃaüøñB¡ÐòöðOrö#!‰„$HH@"!áÿ’`öE¦ƒIEND®B`‚qcustomplot/documentation/html/tab_b.png0000644000175000017500000000024712236016574020723 0ustar dermanudermanu‰PNG  IHDR$ÇÇ[nIDATxíÝQ Â0„áàœR¥Xc±I7IÓ¨g|òÕÙœäãgY˜3˜Ï÷‡u{£ÔW—ÊSíŒ1Ü ¼CjˆiC†G¬ýççJ+| ÖÝs7ùŒ+Ù›`t‚3Ü‚a¢K¤Gq°ûQÍZÝT=@*éC݇LIEND®B`‚qcustomplot/documentation/html/classQCPItemTracer__inherit__graph.png0000644000175000017500000000714512236016575026513 0ustar dermanudermanu‰PNG  IHDR€»"áòbKGDÿÿÿ ½§“IDATxœíLgÀŸ£¥u X`êf: Š/¨‡Ì—½à0YDÉ\Ã/ÝÀ±°ŒMf¦sÌ-.61]¶1· udÐ"ˆ ZÄ–9Mx©È5 _AqÂäG¡BáÚ{ÿ¸år¶¥-máËéó Ü=ÏsßûÒOï®w”çKP…0p¸A'𤃃ƒƒ@CÙAqq1tšÜ£¸¸Øž×–?©ˆS—îcÆ–-[ì9 ñññ%ó$b¿|     @!‚ ìlt9. “ÉA```aa!»«¨¨($$D(ÐA! ÃÃØF×f5£±ÿFÌæ°³gÏŠÅâsçÎiµÚšš±X\UUÅt=÷ÜsJ¥rxx¸½½ý­·Þ¢Ûé°£££ e7N'÷èLÈî1W ˆŠŠ*++cV?Ét8qÂb¢ôÂðððSO=eÒh2’ ÿ³gϪTªÀÀ@ƒÁ@wŽŽŠÅâ›7oöôôlذaΜ9‰¤®®ŽÙðÀb±˜ óPLKNNާ§çªU«:::LÒ°Ö:0|||úúú˜Õ¾¾>ooo‹]ìD)ŠÒëõöƒA­V/[¶Œ¢¨5kÖÑíGŽILL¤(*!!¡  `tt´²²rùòåL´íÛ·÷ôôLгk×®ÁÁÁ;wÆÅÅ™¤a1¬ufŠ///‹]ìDBàÅ_¬¯¯gM†)•J‰D"B<¢(µZd0ŒFcppðµk×(ŠòõõeN­nnnL´þþ~+¡ØcúûûE"‘IÃZÇ~®¼‡„„üñÇÌjmmíŠ+èåààà?ÿüÓâVEéõzF6QäÔÔÔo¾ùfppP«Õ „К5kæÏŸ¯P(NŸ>D‡º{÷.ý‹ÑÃhD"‘•P6™(¬k°Ç’G@UUÕ¢E‹ÎŸ??44¤R©üüüN:Ew9sÆÏϯººZ§Óµ··¿ýöÛÌ;Å<Žy£¯¯¯Z­ÖjµYYYL¯Z­–H$QQQ tKRRRRRROOOgggBB‚ÅhC!„víÚ¥Õj-ž‚,†µ9QUPP°téR777„ÐÑ£GÙ]2™ìùçŸwww§?†2‰ZÈÉì-RPPðôÓO?ûì³¹¹¹ìM¢¢¢Ö­[Ǭ>xð 11ÑÛÛÛßß¿¤¤Äâ.,†BV/ÂÃZLÇ~¸zõêÁÁÁIm5)ôzýÖ­[[ZZ¦nc¿€I<Žž‡š¢È4Aðx¼_~ù%$$dJw4ÕL•€©†z\¾Î„ŸƒƒƒÃmÍÍ]--w ³pŠI| šéçÌùBhhÈòCN@ØóyîÎ;—.]š†l&E¡/¾Ð‘›»r¾9"""Äb±Íav ˜™ÔÕulÜx!T^ž¾:áð5@¡¨çóÝø|žBq:Ç᪀±1²¼¼‘$$i(+kwõSâé‚«jkÛt:=½¬ÓéÕêVØ|†«JK/óxÿ$ÏãÇsõ,ÄI:þÌ™æSƒ±ªª…9 ¸'(•×Hò‘“>Iª«¯Aåã œPZªAè‘þ T>ÎÀ=}}ºÚÚ6£ÑÈn4¨ÚÚ¶þ~TVÃ=§O7Y¼y¤(êôéæéÏÇI¸'@¡¨w kÆÂ1÷ïj4·F G€ÑHi4ÿ»pú³rŽ P*¯yz ™€/ðÙ-ÕÕסsœ~‡z÷Ý£¡Ÿ~ÚˆãpìxüÀ€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€Á€ydƬ™91“ºººB%%%ЉLÓ‰œØÓèr®V7—Ç› Åä0™ÒØÂœqœþ·½ŽùÔjø   ÌÌ0§ÿœjà’Šy555A(•Jp^;³ ð0¿°YuÃUó¶mÛ’œœÌ®üaOÙI´'b“q2¬ÍšÜ8"À%ót:··÷Õ«WçÎ;<<Ì 3/¦SZZ, ýüü~þùgêÑÛʾZy]]]¯¾úªP(Df7:Lz&ÕåÛ»w¯H$Z°`Aiiinn®··÷Â… +++m¾n”«¸¤bÞ±cÇÖ¯_OQTlllaa!3̼¢OmmíØØØíÛ·ÓÒÒØ™e›µòÞxãììlNg’’É2»q¢º|»wï–ËåB¡p÷îÝCCCr¹<00ÐæëFM*æÅÄÄЩüþûﯽö3̼¢]vvöÊ•+ßÿýêêjv@ö²ÍZy"‘È$1›&ªË722BQI’ìefGÖqÙ)¨¼¼œY-++cNA‘‘‘wÌ^íîîæñxì_.UgQEQß}÷]DDDRR’y@“àb±¸¢¢bddD«Õ2]ðñña èYßÊ<‡‰pç+æI¥ÒÔÔTfõwÞ‘J¥ÔíÒÓÓoܸ166vñâE___ºÑËË˼âÅZy7nܱcÇÇ™a#°mÖå@9]1oùòåjµšY­­­¥O²/ÂùùùK–,™5kVpp0sñÿòË/½¼¼Ø—Pvnæµòººº¢££ÝÝÝ™‹Ø6ëòA `˜†Šyæœ-ä6Õó{fÖ£ˆ',,,,n 7p·|…¡úšMssA ‰Ä:DZ `Ë–-ÓŸ‡cˆDëB•Љ8‡'ïÖjG%’]¡«W¿ž3gt:ÂákÀ¹s× £Á`hjêb>¾QÕØØÙÕÕš”ƒpR@EE#SÉ“†Ç#**®@åã œPRRO’TÒ#IcI 'ÏBÜÐÚz¯½ý>B¦÷7oÞom½’’3pO@yyŸÏ3oçóy'Npï,Ä1E)“Z¶4$iËë9÷d…c»º»x<7>ŸgòÃã¹uw45uAç89œýVÄ4óàÁprò¿™Õ n „"#ÿÅ´üý÷0@ZNÀá§¡—2Ä8                                ŒQÚ¼yó´¥â"„ÐâÅЉXC.—[éµ!€ ˆ   yóæ¹:«'‚ÞÞÞëׯ[…mÿ—äæÍ›_yå—%õ$¡V«éÜ­€¯À`À`À`À`À¸f®¥R)“Éþúë¯gžy&%%%&&†éª©©9vìØ;wæÏŸŸ’’òúë¯#„¢££B|>? àã?^ºt)ݨR©Ø ŽA7Á™€SŠ h4š#GŽ|öÙgË–-kkkÛ·oŸH$ §»òóó?ýôÓ¾¾>™LF @©Tªñññ“'OJ¥Òüü|çÓ``^k'EN.8Éd²ÌÌÌ•+Wzxx„††fddüöÛoLWVVVXXجY³.\˜““ÃÞÐÝÝ}ݺuìFúýM/ |þùç±±±iii­­­Ì™L¶aÆ7ß|óÂ… ………qqq›6mª««³˜att´\._»v-Ó²víÚÄÄDFC·ôöö~òÉ'111Ì4Ñ®MB9‰ ܺukÅŠÌê /¼pëÖ-¦K"‘L´!I’•••‹-b7ÒïY•JE/>|˜®—žž.•JÙÛÊåò¬¬¬½{÷ †ââ⌌Œï¿ÿ~¢}ݾ};??ÿüùóÌ^jjjrrr˜"DyyyK–,9yò$sÐL´k“PN2%ó ¶çôŽŽæóù‹/ÎÎζ2¬¾¾¾¦¦æÛo¿EÖšMJJ‘‘‘ãããÌòW_}5Qœ÷Þ{oöìÙô²F£ùá‡:;;I’¤K¡!„wìØAWû´¾kv(çqÿæææ—_~™^mjj `ºZZZ"""Ì·²óìLQ”B¡`—u¤¡KEÒ/³ÌLåjû%Û¿ÿG}F’dllìdwíÂW¹ä””””——wåÊ•‘‘‘ÆÆÆÃ‡'$$Ð]ÉÉÉyyy—/_ÖëõÝÝÝû÷ï·' ‡‡Ç½{ÿÌøÒK/ýøã===_ýµóÙ"„ôz½§§'I’¿þú+ÓZTT¤×ë™–©Øµ9.8ÂÃÃSSS8@—¾Ü¹sçêÕ«é®U«V¥¥¥:tèîÝ» ,HII±'`||üöíÛ>|¨R©233<¸uëÖÙ³g§§§;Ÿ-Bèƒ>سgŸÏ‹‹c322öíÛ·~ýz’$é£s*vmŽíÇÑ{öì±ÿih^^^[[›T*õððpAv‡~êìãèI‘™™éÚ€=øQ0X0X0X0X0X0øk)Sˆ ¾–²iÓ&—¦ôd1oÞ¼   ëc¸=y÷c¾ƒƒƒƒóP¹CœtIEND®B`‚qcustomplot/documentation/html/inherit_graph_7.png0000644000175000017500000000250312236016575022723 0ustar dermanudermanu‰PNG  IHDRƒ#8ã.ßbKGDÿÿÿ ½§“øIDAThíšK,;[ÇÏ´W©òo=C#!("U¯4¨„BÒÄk¯Ï "kQ*Z!(¥^!$  i„(‘ˆ–Q©Ò:w17“ÑŽëÕËܘÏjÎ÷œó;¿9ßsæÌBhë§`øÆ ºÀ8Aþr*onnžýH*¿ ™L†¢è ¾D¡PüPn¿‹ááa§™wÞ…B1::úýÉýq™s‚.0NÐÆ ºÀ8A'èÂçP©T‘‘‘'22r``€\544ëéé®T*qAA<==“““÷ööQ£Ñ5 å{Ňx3ÂÊÊJVV–¯¯/—Ë•Édccc_Ñ=¸~O( øóóó(Š...b¦×ëQÕjµDUHHˆN§³X,ƒ¡¤¤×ñ±º»»% !ŠÅb‡Ã!t8b±Ø5%÷¢×냂‚///­VëÆÆFQQÑ:¢+€ê{â“NdddLLLÅñññôôt¢jrr’rxüÂb±p¹\B”H$jµB¨V«ÈN ›ŸŸ'”®®.E †ÄÄDWSSCt$_477óù|Egffp1--M£ÑPÞ”Sð““¹\îãã“™™yzzêÜi šš—””t||üæìQ:ñɧÓÁÁ\.'Š™™™DUzzúk{{{£¢¢¥£££¥¥Ån··´´ttt8íW»ÝÞ××WUUEˆ‡‡‡{{{ÏÏÏ€ªªªœœœ‹‹ ‹úFžžžŒFcWWWuu5®ìîîfgg¿–9xEE…L&;??OII!'@‰‡‡ÇÅÅEvv61Їqræ{Âßßßd2E“ÉôçÏÊ*òBp8©Tº½½M^V999 …"77—¼Ðt:]\\‡Ã°Ùl¢½Ùl&bòùü››¡ÙlT{Âjµâv²X,\är¹×××ä”ÈíÉÁ^4™L~~~NÁÂ[šÍf@ðæì7î‰ØØØµµ5¢¸ºº_ÇÄĬ¯¯¿æºÍfÛÙÙILL$ëííí“““íííd±¬¬¬­­íööÃ0‡ÃAèàýyzyyØl6¾Ì‰dii‰È¾üCÙ›ÁY,žŒÕj}ïÂÉ™wî ­Vº´´tww·¼¼,‰¦§§ñª¹¹9‘H´°°po0JKK]W“ë²rUVVV0 ß ”íóòò0 «««sm¨Ö¯V« …ÃÃÃWWWûûû¯ÏÏϯ¯¯Ç0¬¶¶¶°°ÃÃÃGFF,Kcc#¹#Ѳ  àÍÙn<±!„J¥2""@÷÷÷“«T*Utt´‡‡þKyŸ¯‰„¢T*…BaSSÓk“utt$•Jy<^ee¥SJ' „³³³2™ŒËåz{{Ëår½^O?±y<ùÄžšš æóù­­­ä¾~bÞ ‚òòòÔÔÔÛÛÛõr#6›­³³3--í§ \dÿÞþ]¿Š”žžž¯ù4‚°Ù옘âòŠœøY þ7Å-90¿;ÑÆ ºÀ8A'èã] xw2###ߟÊ/‡Â‰­­­âââïOå—ƒÐá}œ0ç}`œ  Œtq‚.ü «ÃPÛMœlIEND®B`‚qcustomplot/documentation/html/tab_s.png0000644000175000017500000000027012236016574020740 0ustar dermanudermanu‰PNG  IHDR$ÇÇ[IDATxíÝ ‚@@Ñ£?Q…¤"š¢%¦I‘—Šf–6[´HÃäQƒ<Þâõþ]ždr Í’s?ˆO=Ñññw'ÌF‡Ž íðö-~rÃ[œèŠ­ì¬mƒÖ¬ƒݯнŠÕF)Yº% §`nÌ,9B ™’©!ÑŒ\ý<Å#üîî•IEND®B`‚qcustomplot/documentation/html/namespacemembers_eval.html0000644000175000017500000001233712236016575024356 0ustar dermanudermanu Namespace Members
 

- a -

  • aeAll : QCP
  • aeAxes : QCP
  • aeErrorBars : QCP
  • aeFills : QCP
  • aeGrid : QCP
  • aeItems : QCP
  • aeLegend : QCP
  • aeLegendItems : QCP
  • aeNone : QCP
  • aePlottables : QCP
  • aeScatters : QCP
  • aeSubGrid : QCP
  • aeZeroLine : QCP

- i -

  • iMultiSelect : QCP
  • iRangeDrag : QCP
  • iRangeZoom : QCP
  • iSelectAxes : QCP
  • iSelectItems : QCP
  • iSelectLegend : QCP
  • iSelectOther : QCP
  • iSelectPlottables : QCP

- m -

- p -

  • phCacheLabels : QCP
  • phFastPolylines : QCP
  • phForceRepaint : QCP
  • phNone : QCP
qcustomplot/documentation/html/inherit_graph_8.png0000644000175000017500000000165112236016575022727 0ustar dermanudermanu‰PNG  IHDRc##®bKGDÿÿÿ ½§“^IDAThíšËJë@€gÒcª £µn”ÑR°T±UDt粸 HíFÅ¥àê"¸Ž³Pµ¶Þª*‚OP\xÙ¬ØV¬xùÏ"bÓ±§G{8ó­&ÿ?“™ù2L ƒî§ðÏÀLÑÂLÑòËp}rrr}}ý#C))zzz!BðQhl¥ÅÊÊŠÁŒÉ¯OEø¿1uÇö)Z˜)Z˜)Z˜)Z˜)Z 7‡½^/Ïó^¯wiiIŸZ^^öù|v»½©©I’$5ˆ1ÆÛíö®®®‹‹ ‹ )コÅÁð‚E‘æ”F !»»»©Tjoo‰D´TCCC,Ëd2‰DbxxX{õ@6›››ëèè°ö^/¸­éÝrÏSšêëë[[[Ó.WWW{{{µÔúúºi÷j!“ÉTTTXÕ8ÆØívG£QCM„ÐÌÌLUU!dss>@Q”@ PYYé÷ûÏÎδV³³³„ŒqÞÙÓTMMM2™Ô.“ɤÃá0M黀çççÜ5eª¼½½Åãñææf}Mµ099™N§eYöx<†,ƒAI’²ÙìÖÖV[[›VallLQ”¼Sƒ¿mJÓ”¾{„ÏóçççÁX,æ÷ûyžGÙl6­¦Vxzz€××WŽã Yp:ÚÓW¸¿¿Ï;/­r®)ã2%>Ÿïèèh``@½<<>ÞÝÝýððð¥V¥Œ©©÷)=óóó~“Ò‡}ÍÐÂLÑÂLÑÂLÑÂLÑÂLÑbrJ¸¹¹‘eùû‡R☘:==üþ¡”8Ø]è`û-Ì-Ì-Ì-¿!—ã3(‰oIEND®B`‚qcustomplot/documentation/html/classQCPData.html0000644000175000017500000001416212236016574022300 0ustar dermanudermanu QCPData Class Reference
QCPData Class Reference

Holds the data of one single data point for QCPGraph. More...

Public Functions

 QCPData ()
 QCPData (double key, double value)

Public Members

double key
double value
double keyErrorPlus
double keyErrorMinus
double valueErrorPlus
double valueErrorMinus

Detailed Description

Holds the data of one single data point for QCPGraph.

The container for storing multiple data points is QCPDataMap.

The stored data is:

  • key: coordinate on the key axis of this data point
  • value: coordinate on the value axis of this data point
  • keyErrorMinus: negative error in the key dimension (for error bars)
  • keyErrorPlus: positive error in the key dimension (for error bars)
  • valueErrorMinus: negative error in the value dimension (for error bars)
  • valueErrorPlus: positive error in the value dimension (for error bars)
See Also
QCPDataMap

Constructor & Destructor Documentation

QCPData::QCPData ( )

Constructs a data point with key, value and all errors set to zero.

QCPData::QCPData ( double  key,
double  value 
)

Constructs a data point with the specified key and value. All errors are set to zero.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/classQCPItemLine__inherit__graph.png0000644000175000017500000000670412236016575026162 0ustar dermanudermanu‰PNG  IHDR€»"áòbKGDÿÿÿ ½§“ yIDATxœí}LSçÀßCKëpb93ÓIpîÖA«Ó)ó² Žd, ~d.ŠÁ‚Np,.þ ›3ÓmL—-kb&²dc.Aº™A‹ SÀ"k;§ D>Ô€¼Rň“B…BOßûǹ9÷Øè'Gß_øãœ÷}Ïsúë9§çPÞ‡Â#AÐ <éÀÀÀÐ`7())N“”””¸óÚ =Џt3¶mÛææH¤¤¤x•Ì“ˆûÈ5""""!„(Šr³ÑïøY€Z­–Éd"‘H&“s»Nž<)—ËÅbñÒ¥K‹ŠŠ˜FŠ¢(Ћű±±MMMl£³šÕ¸#6í°sçÎI¥ÒóçÏ›Íæºº:©TZ]]Ív=ÿüó:ndd¤««ëÝwßeÚ™°cccG]¹r%·q&q¹G_Ò@n߈ùS@BBByy9»zêÔ©øøx¶ëôéÓ.eFFFžzê)‡F‡‘EEEE;wN¯×Ëd2𦙮±±1©TÚÙÙÙ××·qãÆyóæ)ŠúúzvÃ#GŽH¥RŠ¢œC±-ûöí›;wîš5kº»»Òpvj`„‡‡÷÷÷³«ýýýaaa.»¸‰bŒ­V«;GMÓƒaÙ²eãuëÖ>¾²²Ò厹«½½½€ûë1¥ê\ Àwww÷ÝwqqqJ¥Ò9 Cp©TZYY9::j6›Ù./„‡‡³ô¦ÞÊ9‡Éðß+æ©TªŒŒ võ½÷ÞS©Tx’ŠvYYY7nÜ¿xñbDDÓê\qÁe­¼Í›7üñÇ>d‡¹ŒÀmœ¶.˜ìsżåË— vÕh42'Y—áÂÂÂ^xaΜ9111ìÅÿ‹/¾ å^B¹¹9×Ê3™L‰‰‰ÁÁÁl‹ËÜÆiëòA `™ŠyÎ|-äèŠy=³ëQÄ    ¿LLÐü-ßÃàâc(¾fÓÚÚOQH¡‡NÄ{\ضmÛÌçáI2Bhp° :ïáñäÝfó˜Bq!tõêáyóæ@§ã%<¾œ?¦í4m?žgSÖsá±€’’;,ð¾ ¸øÒ¥N»ÛíøâÅ÷ïCgä%|pæL §’ÅÇò= | Ñ4°•¬ìv¬Ñð¯|/ôôÀã§¡ˆ”2$ø                                ŒÇÿ¢´uëÖ¥âÝ݄В%ƒÐ‰üFãÑxP½`Á¶z¸ÿþõë×=}=½ù/É­[·¾þúë^løxc0˜ùÚ=‚\€!€!€!€!€ ”N—žžž”””žžîP¬°®®n×®]IIIJ¥²¦¦†iLLLLLLLJJÚ³gOgg'Ûè°à5Î|é2YGccãñãÇ?ùä“eË–utt|ýõ׉$66–é*,,üè£äry¿Z­~ë­·˜­ôzýÄÄÄï¿ÿ®R© ‘½^è]¸C@޵Z½jÕª•+WîÝ»÷×_e»rrrV¯^=gΜE‹íÛ·»appprrrOO·‘y«2‡BhppðÓO?]¿~}fff{{;;F­VoܸñwÞ¹páBqqñ¦M›¶lÙR__?Y’Ü븸xÆ )))ìx—{ póæÍ+V°«/¿üòÍ›7Ù.…B1Ù†6›­ªªjñâÅÜFæ­ª×ë™…‚‚¦’\VV–J¥ân«Ñhrrr:DÓtIIÉÞ½{¿ÿþ{w¦iZ£Ñ|ðÁLËd{ñ;34_MO?Ëbb¢P(\²dInnîÃêêê¾ùæôhõY¥R)‰âãã'&&Øå/¿üÒô˜ñ ìøÉöâw" **ªµµõµ×^cV[ZZ–.]ÊvµµµÅÅÅ9oåæIc¬Õj¹…˜â‘Lm9v™ÜujØñ쓜Éöâwr R*•ùùùW®\mnn.((HMMeºÒÒÒòóó/_¾lµZ{{{¿ýö[w†„„ܽû¿_}õÕ~øapp°¯¯ïðáÃÈÆö‚tÄÆÆfdd9r„)†¹ÿþµk×2]kÖ¬ÉÌÌVtÉsˆm9(ê„䜥k‚-@ȧ-Ü$ó b Ò[he ¿Kp-ôl|CùÿApRG'rÍ­aIEND®B`‚qcustomplot/documentation/html/classQCPLayout__inherit__graph.png0000644000175000017500000002221612236016575025725 0ustar dermanudermanu‰PNG  IHDRûPö¼ŸhbKGDÿÿÿ ½§“ IDATxœíÝy\gþðgH¸O‹G,-4È!Z‘õ¨ mÝZ[\mQ˩⵶*ög·k+¸µnÕzÑ][«6He%Š ­±EQ …¢²²200°§‘ccc7nÜØÒÒ"•JI’D…„„¸¸¸dffæææ …Bz¨úúzzgЫÑzê‰zà~ŒÏÏÏwss+))imm---uww?~ü8½èĉîîîEEEmmmÕÕÕ .¤Û5Û½ÑÙÙY"‘H¥Ò¸¸8f©D"ñ÷÷®ªª¢["#####jkkÃÃÃ5ަq(„кuë¤R©Æ³ÃöáqŒÇ=ñE‰D"///‡ƒJIIQ_”šš:räHssszv’nì)ñ]Ž#"‘hÈ!ÇOJJRïvâ®T’EEWت[x=ÉʪDè± x‚@™™•lÕƒ-H¼>45µ••]U©Tê$I••]mnnc«*Û…` Žñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€3¶ 蛺ºº³gϲ]ŀܾ}!$‹Ù.d@&Nœ(Ø®¢_(£’žžÎöl ¸\{.מí**==í,ô“‘ãi|[«‚`»„þƒóx€H<À $àð‰7tFý4Ñ™lâSSS…B!Ç …P_”––æççÇçó===E"ÝHA|>?((¨ªªŠiÔuê› §ëM÷R‰)c{z´oèùø'®VPP Nž<)•J‹‹‹A~~>³ÈÕÕµ°°P&“UWW/X°€n§‡•Ëå;wî3fŒz£N©oBãæô¶´ß2æùxÓL|ppðáÇ™»ÙÙÙ“'Ofåäätï +“É,--»4vY“ ‚‚‚ÒÒR¡PH’$½H.— ‚ëׯ߼y3$$ÄÆÆfÊ”)·nÝê>êöªB/›£o444„††ÚÚÚúûûŸ;wŽYú¯ýËÁÁaèСYYYIIIŽŽŽ#FŒÈËËë½×† ìííAnnn÷Jz‰×-ïääÔÔÔÄÜmjjrttÔ¸ˆA«P(´9Æ“$)‘H¼½½)Š IKK£Û÷îÝAQThhhBBBKKK||ü¬Y³ºÆÜîÒØ=yÌððp‘H$—ËóòòFÅ,ýè£d2YFFŸÏÿè£Z[[322„Bá{µ¶¶ŠÅb//¯Þ¬ÆŸ$^Oúx;;;‹tÈx<ÞØ±c+**˜Æ.«úûûóx<„—Ë¥(J"‘øøø$©R©|}}¯\¹BQ”ƒƒCss3õø/›6‰×X}ÃÙÙ™ùeàp8ÌÒöövŠ¢”J¥úmº6mz©7jþij*ÉxošÏ\ýüüÊËË™»eeeôm__ßÓ§OkìEQ”B¡¨¬¬ ìi䨨Ø7¶´´H¥R’$B!!!...™™™¹¹¹B¡ÐÇǧ§¾‡îÒÞÞÞEQT}}=½Ûèqh!.—«~›YችT*U?Š1b,ý¦õ“–Çøüü|77·’’’ÖÖÖÒÒRww÷ãÇÓ‹Nœ8áîî^TTÔÖÖV]]½páBº]ã°Ý%‰T*‹‹c–J$ÿààપ*º%44tݺuR©4!!9«ñôô‹Å2™,11‘ékggWSS£M ‘‘‘‘‘‘ µµµáááÝ»h¼­}/õJz‡Œùoš‰§(J$yyyq8„PJJŠú¢ÔÔÔ‘#Gš››Ó³“tcOiërt‰DC† >|xRR’z—ààà3f0wég®ÖÖÖêÏ\=úôÓOÛÛÛòÉ'LßÄÄD;;;¤éò¸.…566FDD8::zxxˆÅâîek¼­}/õJz‰×íÏX±bÅøñã[ZZtTEQ …"&&æÒ¥KºÛ„A1êÄåÕÂ}’œœ¬Óñ ‚àr¹ûöíóóóÓé†À 0ýÄëëÓœ« 'x€H<À $à¯odg'ùäõ€nå\QØËÅ‹MüýØ.SF™øyóæ±]Bÿ98Ì@=|˜Çv!˜"`:YŸ¤R¹¿ÿ:„ÐåËŸØÚZ°]Žà<^¯Nž¼B’*’T<ù3Ûµ` ¯Wéé?t¹ô ¯?÷ï·ž={]¥¢T*êÌ™k÷ï·²]Ž ñúsüø„˜Ï rs/²Y ® ñú“‘QÁ¼áH¥¢22*Ø­Ox=©­m¼pá631FQÔùóµ·o7±ZŽ ñzrôèy.÷±Ÿ6—K=ú[õ` ¯'bq…RùØ{¨•J•X '6ú‰×‡_½[]}¡®/ö]¿~ï×_ï²R¶ ñúpäH•™·{»™7'Nlô ¯sEefV*•®—T*ÉŒŒ ¸ÐCŸ ñ:wþüí;wr¹33n—\.ç·.Üf»FŒ嵓ƥ±Q5¹{êÔ5„ÐäÉÏ1-ÈX( Wpí¤¾-[–‚úê«ùl‚)8«xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð‰xļ`ú­8sæÌakÓ55¡gžyÈVlmÚ`šx‚ |||žzê)¶ Ñ«û÷ïÿüóÏxîq¾ßõ7gΜ)S¦°]…^I$’¤¤$¶«`œÇ¼@â^ ñ/x€H<À $¾7………ÑÑÑÓ¦M‹ŽŽ.,,T_T\\¼páÂiÓ¦EFFž8q‚nœ:uêÔ©S§M›¶|ùòëׯ3º®S›0øÎN>QeeåÞ½{?øàooï«W¯nÚ´ÉÁÁ!((ˆ^´gÏžþóŸ~~~MMM©©©Ó§O§{•––vvv;vlË–-{öìaõ àߣÔÔÔU«V=ÿüóVVVcÆŒY¹råÁƒ™Eqqq#FŒˆWïhnn>cÆŒÚÚÚ^Ÿ:uê‹/¾QYYyþüù˜˜æ…¡ÎÎιsçÖ××ß»woõêÕ3fÌx÷Ýw˜Žêƒ¨ÿGzm@â{ôÛo¿0wGýÛo¿1‹üýý{ê¨T*óòòÜÜÜz¼´´´¸¸8>>>99yôèÑNNN%%%ô¢¢¢¢Q£F=ýôÓ»víòóóËÌÌ9rdrrr/CÑÿÓ7@ïଦH’|â:S§N533{æ™gÖ¬YÓÓ:•••»wï®­­U*•!´páÂíÛ·¿øâ‹¡ŒŒŒÄÄD„ÐÅ‹¬¬¬ÂÃÃ###íaà ß#‹/Nš4‰¾{áÂOOOfÑ¥K—&NœØ½—6ÚÍ›7¯^½:00P©T¾öÚk¡€€GGDz²2>ŸïêêêîîÞS_‚ T*‡ÃQ(ýyT؃³šEFFîڵ맟~joo?þü_|N/ŠŠŠÚµk×?þ¨P(îܹ³yóæ>¬P(¬­­•Jåþýû™Æ ¤¦¦:t(::šn5j”X,~ôèQzz:s~5bĈòòr¹\~èÐ!¦¯••ÕÝ»wôh±ÇøÅÆÆnÛ¶­¾¾ž¢¨„„„ñãÇÓ‹Æ·hÑ¢äääúúú¡C‡2í‰úsÊÒÒÒ·ß~{ýúõfff3gÎdÚlll,--½¼¼è–U«VmÚ´)##ÃÛÛ;!!n|ûí··oß¾uëÖ·Þz‹é;wîÜÅ‹?zôNåŸß«…ׯ_¯ýµ“»víºzõê–-[¬¬¬tT’R©Ü²eË[o½åáá¡£MÐ×Nâ¹ÇpŒ×ʪU«t:þÔ©S9Îû￯»¸$Þ ÀÙˆÞÀ3W€H<À $àð‰× ¥R¥çŽ@KøÎÇëèÓ;”JóFØÙ5ZYÉúÑ$¹÷îýÅÙù.ŸÿhÐkƒOï@ØÎN†…… ú˜EܹcS[kÇã©ÜÝ!dÙ¿q¤R³ÚÚç\\¹¹Iy¼'_»¦½§žzÊÇÇg4F˜ã]nî…?>òûï) }øáëï¼óR¿‡úᇚY³’B|¾ÙŠ/-_þ¢•oð*Å$~ ¾ÿþƇf_½zW¥BQææÜóç“­2æË/oùå—»E™™q,,xqq//YÂãaúypÁ3×þ»u«1:úë7ÞøâÚµ»*EÇýµ×F 0î¡ØØÉBJ¥J&“oÚ”;iÒ¦cÇÎÃáiààßR©|Ë–|‘è4AJåc§ÚYY+&Lxv€ã··wŒµ¾­Mδp8EQþþ‚¤¤Ùýë3gpŒï¥Rµwoù¸qRRN“¤J=îA<óÌS;BÈÒ’dnÎeZT*Š¢Ð•+õ³g'GG}óæƒoOø>øî»ûÛçë×nmmï>qÎå‘‘k[QQ:;»NÔ$…’H~ ù÷§Ÿæ¶¶Ê5u½Äk«½½cÓ¦Ü_½Óói 1wî¸ÁÚÜsÏ z†ËÕ°ƒHR¥TªŽý©©©m°6‡H¼¶,-yYYïÌž=–Ã!º/53ãÌœ9ÚÙÙf·¸dI0}Pï¾­±cÿRPðîî΃¸9L@âûÀÜœûÅ‘«WO#ˆ®¡W*U11Þè=¯¼â?dH×_!.—3}ºfæÛööºz7–iƒÄ÷ Aï½÷êË/äpæ`O„§§KPÐ O¡˜™qæÏŸdföçóW‚ ÜÝ6l˜ sóý‰ï³ÿþ·¤¤ä×÷Þ›naaNŸgs8Äüù“t±­¨¨ ôô1AA¬]ûš…/"â«––Á¿êø¾Éʪܸñø§Ÿ¾¹zõßÒÓ—ÛØðéƒýoŒÕÅæ†µ{ùe‡ ôÙgsÞy祃—ÊdòØØýJ]lÑôQ@k§N]ss[“˜x„i©©i7.éí·èn£ååW=<þYPp‰i¹zõ®·÷ÚeËD$©ÒÝvM¼æª­êꆙ3w¾ð‚×—_ÎWŸ®il”56Êž{n˜Ž¶KQÔÏ?ßñõ}Z½ñûïo„‡þ×O?ü‹@M$^+ ­¡¡;† ³‹ßæó âYcaáåE‹¾Y»öõåËá#…û€K¨'èE[›"<üK•ŠJO_nccÁv9xöY—!Clׯ?âææÔå/è…A® ™R©úÇ?RîÞ}xìXÜÀ/Š\11oßnzï½t»!Û嘫y‚„„Ìï¾»qàÀ77C|síÚ×Þxcì’%ß\¾\Ïv-Æß›ÿü§øÐ¡s»wǸ²]‹fAlÞ<70Ð#:zÏíÛMl—c ñ=Ê̬üôÓÜO?}sÚ4_¶ké¹9wÏž..vóæí~ð ?o'Ç $^³Ó§¯­YshéÒèèA¾ZFlløiiË‚ˆ‰ùúÑ£¶Ë1h0;©Á/¿Ü={Wp°°ËÔ»»yóÁÌ™;GvÛ¿‘™Ë4ƒÄwe€SïÚ;¾6,ì?³f=¿uë<¶k1Pp$xL[›":zg&-2º¸#„FvûòËùbñŸ^Àv- ÿ'¥RµlYÊï¿·|ûíRC›z×ÞË/ûüûßs>ÿüÄ7ßœf»Cd|‡1ÝùàƒŒï¿¿‘™ùޱ¿·("büÝ»?þøð°aö¯¾Úã÷Îâ Žñصëdzú»wÇŒÝÛ7‹5k¦ÇÄL|çÔŠŠßخŰÀ3W„ÊȨX½ú›6… ú;÷XD’ª¥KEß_““³ÊÓÓ…ír $:u-*jÏÂ…/$&Îb»–A&—wλ»¾¾ùøñ¸áÃØ.Ç àžø_~¹3kVrp°ð«¯Œiê]{ÍÍm3gîâñ¸‡¯´³ëçÇ›¬÷îÃ×^ÛáêêdŒSïÚ«­mœ9s§§çд´eð–p|Ÿ¹J¥ò¨¨=ÖÖ|#zמ››óÿþ·üò庸¸4• ß ÓÄ+•ªåËS<õÔ»öF޾oߢüüK7c»–ašøøøŒsçjRRûÔ»ö&Mòܱ#üË/%{ö”±] ›Lù¯yOvì(‹Ø¿?Ö4¦Þµ7kÖóuuÍII9NNÖaal—Ãì/WlÙrbÓ¦0¿ê]GV¬x©¡AºfÍ!Ûà`ß(ˆ×\MyùÕèè¯,x!)ÉÔ¦Þµ§RQÿøGJYÙÕìì¾%£ÄÿüóÙ³Myê]{ddäžë×ï=ºÊÕÕ‰írô —Äß¹óðõ×wNbñr s¶ËaŸT*Ÿ=;Y©$srV98`ô1ÅXÌÕH¥íQQ{¬¬x))‹ î4;;‹ƒ—>zÔµ«7 š~â;;ÉE‹ö?xÐzðà2¦Þµ7l˜ý·ß.½qãþòåºÉ©2ýÄÇÇgüôSíKð™zמP8ì›obË˯®]›Év-zbâ‰ß¶­ #£Âd®z×…ñãŸÝµ+2-íû; Ù®ELy>>=ý‡Ï?/HLü;žSïÚ ÝÔÔ¶vmÖСvááãÙ.G·L6ñeeWß_¼xqð’%!l×bæÏŸtûvÓûïg8:ZOŸnÊo4ÍÙIú›~CB¼aê]{E½ûîÿŽ=// ô`»]1ÁÄ××7¿þúNWW˜zï³ÎN2&æëK—êrrV=û¬i¾QÐÔ/•¶ÿýï»:;Iüðk£ “)Þx#Y*•=çâbËv9ƒÏ¤æj::”±±ûe0õÞo66üÔÔ¥EÅÄ|-“)Ø.GÔ¿*==ír„ xNNoðxk àWsÂ^03svvžËá˜ÂÕ]öˆ†¹Cø‰ k¹¸}ûöÁÊ0ö›l0PÝ÷ˆ†ÄÏ;W/Ř ŒŒŒÁ ö è¾GLê<€'‚ļ@â^ ñ/xm\­` ú™øÔÔT¡PÈãñ„BáÔ¥¥¥ùùùñù|OOO‘HD7AŸÏ ªªªbP¹VºlB"‘¼ôÒK¶¶¶–––'NÌÊÊÒ¦—Á2ƽ0X›ëÿ8Ý_ûxâK$àäÉ“R©´¸¸X äçç3‹\]] e2Yuuõ‚ èvzX¹\¾sçÎ1cƨ7ê”ú&Š‹‹‡ öí·ßþþûïííígΜ™={vÿ†êIXXØ`½õÄÕŒt/ Öæ´§ûéO⃃ƒ>ÌÜÍÎΞ­ù+æ(ŠR(•••=~âallìÆZ¤R)I’¡—ÌÌÌÜÜ\¡PèããÓS_‡Cwioo׸˜1cJJJ˜b(ê±?ŽFöFºÔYXX „¸\®JõÇ')lݺ533S(®_¿>**Š©¹¾¾žÞeôà¢-.ùùùnnn%%%­­­¥¥¥îîîǧ8qÂÝݽ¨¨¨­­­ººzáÂ…½üFvotvv–H$R©4..ŽY*‘Hüýýƒƒƒ«ªªèúdC*•&$$0O===Åb±L&KLLdúÚÙÙÕÔÔ0e><==ýþýûr¹üâÅ‹HÓAˆêvVCoH›ŸŒ>ñFº4þÌ™ÛK—.½víZGGÇ™3gœéÆÈÈÈÈÈȆ††ÚÚÚðððîcöbpÎj(ЉD^^^!”’’¢¾(55uäÈ‘æææô¼X÷‡§þ8»üî‰D¢!C† ><))I½KppðŒ3˜»ôs&kkkõçLG}úé§ííí?ùä¦obb¢s7//oâĉ–––VVV!!!ÅÅÅËcîò3WÊ8÷Bï‰ß³gϳÏ>kaaáëëËö¥Ò$©*,¼ÌVIÀxAâss/0ïüe¢'+è#H|F††Sv’¤NŸ¾vÿ~«þëFÍÐÿûï-çÎÝP©4¾0Läæ^ÔwAÀÈzâóò.ötIª²³áÄô¡¿Ïµ¤äkk „þ½\®47çr¹ÌÛTW744´šä׎1¦+ÉB#F¼ûå—ógÎÍv!ÀXúY ƒ öpµQ7IDATð‰xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð‰xļ@â^ ñ/x€H<À $àð҇磌«;{ö¬îJÑÒwß}'—_c±WW× &°XJkééél‹ÌÍ]8>»5„……iÿC†¦ÏßõGÕ7¥ º9sæ°]8xļ@â^ ñ/ø?Áv @çt’øÔÔT¡PÈãñ„BáÔ¥¥¥ùùùñù|OOO‘HD7AŸÏ ªªªbuQÀÜà'¾°°píÚµÿýïwïÞýᇞ8q‚YôÁlß¾½©©©   ¬¬ŒéEQ”T*ŠŠZ¼xñ —ÀŸ´Ÿº§_zâjÁÁÁ‡fîfggOž<™Y”““Ó½ 3¬L&³´´ìÒÈhhh µµµõ÷÷?wîÝX]]hmmÏtѸ&BhÆ ööö 77—n¬©©7n\—î½ ƒW ŒÚàã/_¾ÂÜ2eÊåË—™E“'Oî©cGGǾ}û¼½½{Z!..îÍ7ß¼ÿþgŸ}¶dɦqúôéwîÜáp8½¯‰êì쬫«Û¶mÛêÕ«™5_yå•.Ý)Óþ—CËc¼““SSSs·©©ÉÎÎNã"] Ç;vlEEÓØe5ggg¦l‡C7ÚÛÛ?|ø¢¨ææf¦‹Æ5BíííE)•JõîÍÍÍ]º÷ŽñÆnðl~~~åååÌݲ²²€€ú¶¯¯ïéÓ§5ö¢(J¡PTVVö42EQõõõtÝ$IöRCOkZXX „¸\®J¥êÓƒ&cðŸ°jÕªÒÒR™L&‘HV¯^MŸ"#„>üðÕ+Wž QCPLayoutElement Class Reference
QCPLayoutElement Class Reference

The abstract base class for all objects that form the layout system. More...

Inheritance diagram for QCPLayoutElement:
Inheritance graph

Public Functions

 QCPLayoutElement (QCustomPlot *parentPlot=0)
QCPLayoutlayout () const
QRect rect () const
QRect outerRect () const
QMargins margins () const
QMargins minimumMargins () const
QCP::MarginSides autoMargins () const
QSize minimumSize () const
QSize maximumSize () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide,
QCPMarginGroup * > 
marginGroups () const
void setOuterRect (const QRect &rect)
void setMargins (const QMargins &margins)
void setMinimumMargins (const QMargins &margins)
void setAutoMargins (QCP::MarginSides sides)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
virtual void update ()
virtual QSize minimumSizeHint () const
virtual QSize maximumSizeHint () const
virtual QList< QCPLayoutElement * > elements (bool recursive) const
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Protected Functions

virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void mousePressEvent (QMouseEvent *event)
virtual void mouseMoveEvent (QMouseEvent *event)
virtual void mouseReleaseEvent (QMouseEvent *event)
virtual void mouseDoubleClickEvent (QMouseEvent *event)
virtual void wheelEvent (QWheelEvent *event)
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void draw (QCPPainter *painter)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

The abstract base class for all objects that form the layout system.

This is an abstract base class. As such, it can't be instantiated directly, rather use one of its subclasses.

A Layout element is a rectangular object which can be placed in layouts. It has an outer rect (QCPLayoutElement::outerRect) and an inner rect (QCPLayoutElement::rect). The difference between outer and inner rect is called its margin. The margin can either be set to automatic or manual (setAutoMargins) on a per-side basis. If a side is set to manual, that margin can be set explicitly with setMargins and will stay fixed at that value. If it's set to automatic, the layout element subclass will control the value itself (via calculateAutoMargin).

Layout elements can be placed in layouts (base class QCPLayout) like QCPLayoutGrid. The top level layout is reachable via QCustomPlot::plotLayout, and is a QCPLayoutGrid. Since QCPLayout itself derives from QCPLayoutElement, layouts can be nested.

Thus in QCustomPlot one can divide layout elements into two categories: The ones that are invisible by themselves, because they don't draw anything. Their only purpose is to manage the position and size of other layout elements. This category of layout elements usually use QCPLayout as base class. Then there is the category of layout elements which actually draw something. For example, QCPAxisRect, QCPLegend and QCPPlotTitle are of this category. This does not necessarily mean that the latter category can't have child layout elements. QCPLegend for instance, actually derives from QCPLayoutGrid and the individual legend items are child layout elements in the grid layout.

Constructor & Destructor Documentation

QCPLayoutElement::QCPLayoutElement ( QCustomPlot parentPlot = 0)
explicit

Creates an instance of QCPLayoutElement and sets default values.

Member Function Documentation

QCPLayout * QCPLayoutElement::layout ( ) const
inline

Returns the parent layout of this layout element.

QRect QCPLayoutElement::rect ( ) const
inline

Returns the inner rect of this layout element. The inner rect is the outer rect (setOuterRect) shrinked by the margins (setMargins, setAutoMargins).

In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if setAutoMargins is enabled) according to the space required by the labels of the axes.

void QCPLayoutElement::setOuterRect ( const QRect &  rect)

Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function.

Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot.

The layout element will adapt its inner rect by applying the margins inward to the outer rect.

See Also
rect
void QCPLayoutElement::setMargins ( const QMargins &  margins)

Sets the margins of this layout element. If setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in margins.

The margin is the distance between the outer rect (controlled by the parent layout via setOuterRect) and the inner rect (which usually contains the main content of this layout element).

See Also
setAutoMargins
void QCPLayoutElement::setMinimumMargins ( const QMargins &  margins)

If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins.

The minimum values are not enforced on margin sides that were set to be under manual control via setAutoMargins.

See Also
setAutoMargins
void QCPLayoutElement::setAutoMargins ( QCP::MarginSides  sides)

Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with setMinimumMargins. If a side is set to be controlled manually, the value may be specified with setMargins.

Margin sides that are under automatic control may participate in a QCPMarginGroup (see setMarginGroup), to synchronize (align) it with other layout elements in the plot.

See Also
setMinimumMargins, setMargins
void QCPLayoutElement::setMinimumSize ( const QSize &  size)

Sets the minimum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of size should be exceptions.

void QCPLayoutElement::setMinimumSize ( int  width,
int  height 
)

This is an overloaded function.

Sets the minimum size for the inner rect of this layout element.

void QCPLayoutElement::setMaximumSize ( const QSize &  size)

Sets the maximum size for the inner rect of this layout element. A parent layout tries to respect the size here by changing row/column sizes in the layout accordingly.

void QCPLayoutElement::setMaximumSize ( int  width,
int  height 
)

This is an overloaded function.

Sets the maximum size for the inner rect of this layout element.

void QCPLayoutElement::setMarginGroup ( QCP::MarginSides  sides,
QCPMarginGroup group 
)

Sets the margin group of the specified margin sides.

Margin groups allow synchronizing specified margins across layout elements, see the documentation of QCPMarginGroup.

To unset the margin group of sides, set group to 0.

Note that margin groups only work for margin sides that are set to automatic (setAutoMargins).

void QCPLayoutElement::update ( )
virtual

Updates the layout element and sub-elements. This function is automatically called upon replot by the parent layout element.

Layout elements that have child elements should call the update method of their child elements.

The default implementation executes the automatic margin mechanism, so subclasses should make sure to call the base class implementation.

Reimplemented in QCPLayout, and QCPAxisRect.

QSize QCPLayoutElement::minimumSizeHint ( ) const
virtual

Returns the minimum size this layout element (the inner rect) may be compressed to.

if a minimum size (setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.)

Reimplemented in QCPLayoutGrid, QCPPlottableLegendItem, and QCPPlotTitle.

QSize QCPLayoutElement::maximumSizeHint ( ) const
virtual

Returns the maximum size this layout element (the inner rect) may be expanded to.

if a maximum size (setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.)

Reimplemented in QCPLayoutGrid, and QCPPlotTitle.

QList< QCPLayoutElement * > QCPLayoutElement::elements ( bool  recursive) const
virtual

Returns a list of all child elements in this layout element. If recursive is true, all sub-child elements are included in the list, too.

Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented in QCPLayoutGrid, QCPLayout, and QCPAxisRect.

double QCPLayoutElement::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

Layout elements are sensitive to events inside their outer rect. If pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if onlySelectable is true, -1.0 is returned.

See QCPLayerable::selectTest for a general explanation of this virtual method.

QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour.

Reimplemented from QCPLayerable.

Reimplemented in QCPLayoutInset, QCPLegend, QCPAbstractLegendItem, and QCPPlotTitle.

int QCPLayoutElement::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtual

Returns the margin size for this side. It is used if automatic margins is enabled for this side (see setAutoMargins). If a minimum margin was set with setMinimumMargins, the returned value will not be smaller than the specified minimum margin.

The default implementation just returns the respective manual margin (setMargins) or the minimum margin, whichever is larger.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mousePressEvent ( QMouseEvent *  event)
inlineprotectedvirtual

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseMoveEvent ( QMouseEvent *  event)
inlineprotectedvirtual

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseReleaseEvent ( QMouseEvent *  event)
inlineprotectedvirtual

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented in QCPAxisRect.

void QCPLayoutElement::mouseDoubleClickEvent ( QMouseEvent *  event)
inlineprotectedvirtual

This event is called, if the mouse is double-clicked inside the outer rect of this layout element.

void QCPLayoutElement::wheelEvent ( QWheelEvent *  event)
inlineprotectedvirtual

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented in QCPAxisRect.

virtual void QCPLayoutElement::applyDefaultAntialiasingHint ( QCPPainter painter) const
inlineprotectedvirtual

This function applies the default antialiasing setting to the specified painter, using the function applyAntialiasingHint. It is the antialiasing state the painter is put in, when draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint.

First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function.

Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the draw function is called, and that's the state it wants to draw the line with.

Implements QCPLayerable.

Reimplemented in QCPLegend, QCPAxisRect, QCPAbstractLegendItem, and QCPPlotTitle.

virtual void QCPLayoutElement::draw ( QCPPainter painter)
inlineprotectedvirtual

This function draws the layerable with the specified painter. It is only called by QCustomPlot, if the layerable is visible (setVisible).

Before this function is called, the painter's antialiasing state is set via applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to clipRect.

Implements QCPLayerable.

Reimplemented in QCPLegend, QCPAxisRect, QCPPlottableLegendItem, QCPAbstractLegendItem, and QCPPlotTitle.

void QCPLayoutElement::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtual

propagates the parent plot initialization to all child elements, by calling QCPLayerable::initializeParentPlot on them.

Reimplemented from QCPLayerable.

Reimplemented in QCPLegend.

QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

QCP::Interaction QCPLayerable::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

QRect QCPLayerable::clipRect ( ) const
protectedvirtualinherited

Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects.

The returned clipping rect is set on the painter before the draw function of the respective object is called.

Reimplemented in QCPAbstractItem, QCPAbstractPlottable, and QCPAbstractLegendItem.

void QCPLayerable::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented in QCPAxis, QCPLegend, QCPAbstractItem, QCPAbstractPlottable, QCPPlotTitle, and QCPAbstractLegendItem.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/functions_0x63.html0000644000175000017500000001072412236016575022626 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- c -

qcustomplot/documentation/html/classQCPGrid__inherit__graph.png0000644000175000017500000000444212236016575025336 0ustar dermanudermanu‰PNG  IHDRppI‚cbKGDÿÿÿ ½§“×IDATxœí[LÛ€×ÐRÔbð’ Á”¡h‹5Æ(‰&¼ €pM¶$‰† nÑh$!xÙc¥J h”[ZŒ1!”ri8!pDðBbI UºétÎÜ3é.C¹tµn×:ëŸù×?_g¦3‹²À‚xx¹»€¿H(dPÈ ¡ABaCXQWWçîr<ºº:k‡lÚ5\_–‡röìY›¡))).)æïÀr¡è $2H(dPÈüZB1 [cã†Ù P™LÆçó9ŸÏ¯©©±ÕÖÖ '•JÉF Ã0 óññ‰D†jt r¦²üÆžXŽŽ.—ûúõkƒÁÐÕÕÅårÛÚÚ¨ÐÞ½{ ÅÂÂÂøøø… Èv2íââ⃢££­] mŽ”–ÝØoD¨X,nnn¦›ššŽ9B…^¼xAÛ1ùbaaaóæÍ66kbÚÑÑ¡T*ù|>Žãdhqq‘ËåŽÍÎΞ>}zëÖ­B¡°··—Ú°¬¬ŒËåb¶<ÕRPPàçç711aSmZûÀº}ûvNG-êtº€€ÚuÇA˜L¦µ¡8Ž«Tªððp‚ kkkÉöêêê´´4‚ RSS¥Réââbkkë¨l—/_ž])¹NQQ‘^¯/,,¤||5?Ó>|žB"¡î'¡IEND®B`‚qcustomplot/documentation/html/QCPItemLine.png0000644000175000017500000000772412236016574021735 0ustar dermanudermanu‰PNG  IHDRæ — ‡sBITÛáOà pHYsÄÄ•+wIDATxœíÝ{TSw¶ðo Z+–ª¼$‚(V¡j}¡¨W´:¸@­ÏVÔ*­1Ê]½«³fÝÕ;­´#KéuÅ5Xk½JqD >Ä*X•"h}"‚8"$„äìûG«U(DLøÁþüå:ç$gŸµ¾þ²CvrdDÆÄaaîkŽ, G– †#ËÑe‚áÈ2Ápd™`8²L0Y&Ž, G– †#ËÑe‚áÈ2Ápd™`8²L0Y&Ž, G– †#ËÑe‚áÈ2Ápd™`8²L0Y&Ž, G– †#ËÑe‚áÈ2Ápd™`8²L0Y&Ž, G– †#ËÑe‚áÈ2Ápd™`LYI¦þŒ5—é"[Sƒ•+±l$%ÁÉ &;9k;,Mv¦Š h4øâ \¼ˆ9sàヮ]MvrÖv˜n•uqJ…éÓÑ¿?œ‘™ //?­Öd%°¶@fš{Ø~ö¼¼PY‰%Kê·ØÚâÖ-Œ‰-[0|¸ J`m„‰VÙ¢"Ü¿¢¢ß¶¨Õ8q⚃ÊÊLSk#L´ÊÞ¹{{ܽ /¯ú¿8;ßÒé†XY%ÇÇÛ2A ¬m0QdÔÕáìYté‚M›àîŽÙ³am]ûí·ÛU*•­­mddäìÙ³­¬¬LS ™ÊÏ?SMDtø0 D‰‰DD’$¥§§¸¸¸DGGWVVš¬$&"Ó­²ÊËqó&|}‘—‡k×0}:d²ßöÄÄÄìß¿ÿ½÷Þ[±b…B¡0YaL &lS”––ÆÇÇoܸÑßß_©TŽ9Òܱ֥ÕEÖ ¦¦fëÖ­±±±J¥rúôér¹ÜÜE±V¡•FÖ@’¤ýû÷ÇÄÄܸq#""bñâÅ:u2wQÌÌZõ$—……EPPPVVÖwß}wúôéÞ½{GEEݸqÃÜu1sjÕ‘}lðàÁ)))yyy ôî»ïþÍÚ¡VÝú¨[·n ,ÈÏÏÁKa­™‘‘Õß§ÿžHN.äîF>‹©BOéKÈ ä9„ü‚é\%ÅL%O¹ö¤s¨à‘TF£»ÑÂ…4é?È¥Éü8€:ÚäOóŽiòÉË™Ž=""Ò‘OwÊxHDTWBC=)»æùUUVVFGG»¸¸¤§§K’dÜÕ±ÖÌÈÈVì"ç`*—ˆˆªÊ©Žž^eõtû.é‰HOé¡äÿwÒIe4ÒŠ"‰X’ÿEÁ¯SÒm"¢‡‡Èqj‰ˆèt¡Í·ˆˆ¨†–÷¦Ï/7V›V«MNN4h··wbb¢F£1îYëdd/Û±\N!äC¬OE•ý3_Ç!\Ú„1>ð} Q? ð44‹W1c(dÏ>@ÿw$tïØè‰-Ñ«Šî5vˆ••Õ¼yóòòò¾þúë½{÷öêÕëÓO?-//oêµ±ÖÍÈÈvðÆÑˈƒ’d …ŸkŸÚûè8î€êÎå!5 Öºúí2+X5XÀÂVzÔX¿ŽW+Q¦€º{(³«ác/B­›Tä¸qãöíÛ—™™yûöm//¯°°°ÂÂÂf_*keŒŒ¬ú6n[aÜDÇ£ï5«9ì$<¨ý#èºÁÕÐ u;jž}ü?&ë„Á]Qp:xbŠ þ =áì&”ùÁ×Þpbœ{€ánÍ(ÕËËkýúõ………ÎÎÎãÆ›2eÊ?þhÜU³VÁ¸~¢l? u'·^äâB3â¨J"ÒÑþ¥ääJÞc)·Œþ6…Œ¦É“hñ\ršO o¿œêßE=yð™'ÞK#ÿDÒуÓÔ‡^s$W:p§þ€GÇÉk,]×Ùi4šÄÄÄøúú&''×ÖÖùDÌ|L7âݵ—hÄHºÜP$Úÿ.ÍO£üC€a¨|âĉNNNÑÑÑ÷ïß±çc&Õº>ê´öBB(®U4°[Šø|BƒoàšH&“½ýöÛüá‡~ù刈ˆâââ{Vf"¢~`Û‚JKK6lØ0jÔ(¥RéççgîŠXc8²õjjj¶mÛ÷Ê+¯¬^½zÚ´i––¦û)ÖtÙ§†ÊãââJJJV¬X±xñâÎ;›»(ö”ÖÕËša¨üÈ‘#ßÿ}^^žB¡ˆŠŠúõ×_Í]û Göù¼}ûöŸ~úI.—2dîܹ¹¹¹æ.ŠÜ4EUUÕ–-[Ö­[çää¤T*ƒ‚‚x¨ÜŒ8²M¥×ë÷ìÙVf*ïØ±ñyöRpd›íÔ©S±±±™™™¡¡¡ááá={ö4wEí ¿À5Ûˆ#vîÜ™­V«¸páÂsçΙ»¨v„#k$…B{åÊ•7Þx#((h„ iiiü’eÜ´€ººº]»vÅÄĨÕêÈÈÈsÕfqd[RVV–J¥ÊÉÉYºté²eËÍ]QÄAK3fÌÞ½{³²²îÞ½Û¯_¿%K–\¼xÑÜEµ5Ù–×§OŸo¾ù¦°°°W¯^|¿¨–ÃÁËU[[»cÇŽ˜˜¹\9wî\kë¦} ˆ5€#k Dtøðáµk×^¸paùòåaaa]ù¦gÆâÆÀd2™á§øžž0Ù:rdYcâããW¯^ýtójô.Èdˆú°°@q1އ½=¦N}é%qcÀ”˜˜¨R©ìíííìì ¿Ö¡CkëIrù×vvc y Iظ••øö[STÅ«,k†œ9#mß._´èÖ„ }µÚú%oÇ\º„š|ùåK¯#ËŒ´f Ö¬Au5±knÞ„¥%\]_úy9²¬Ùˆ°`–-Cÿþ¨¨@ÇŽÈÍE` ‰Îν,k6™ S§"<66°°@ïÞ8sÆ„gçU–‡2$ uu0å·Ë8²L0Ü0Ápd™`8²L0Y&Ž, G–¯¶o ÄϵOoUã/~H¼è°ã(º@&Ãÿ^ÿ÷ÞGˆŽ]w?)G–µ°»û°Û ³\ œ‡½§0åµ'vÛ㣹ø,cŸŸ#ËêÝÜ‹€¾pq†óÄåºÿ׊ÉðöÄŸB@ÈO@ßnpíƒy‡úwÖ×ãÀ7x3XÀ{ 8ãw÷Œt ‚õNœWY'G–€î*æÿÊLܸ‰ ذj@ÿÖï!-Çã°õcÜÔCû þÿ™‹ë—0¿%¿[-«±¯};—ew¼%áÈõÆŽiìáF>޵-•§qêþg&Ö Õ¡L ò®˜:2 “'^»{u°ÉÃí·ðŽ;ŒƒûÓ·ÓÓ?Ä Ý¿×“%zuÂÅ{€—1¥rdÁvR3ñºì‰@ŽúŸ3°€Œ`øt_n]ÿê,³„¥ì©ç±°†•µjtèhìo¸1`ðê0ô-ÀW'!ÐáRª¤çÙe0zœGN%\þ?\}úûá²NÜ·=™ç`¸›‘¥rdX)ðÝ6œYWw¸)ögÞWý›ul^¨1xûOøk1ºÿn±´Å¬ñøçI¾Ù˜>{"õÂûÁq4 µP}=àßÍÈRy’‹µ0íeŒ]Œ-?Âë¹/ý„ó°s’&Cö¼ýˆWYÖ¬½Šk ìV£b>Ÿ`d^Á«,¯²L0Y&Ž, G– †#ËÑe‚áÈ2Ápd™`8²L0Y&Ž, G– †#ËÑe‚áÈ2Ápd™`8²L0Y&Ž, G– †#ËÑe‚áÈ2Ápd™`þê°ÍNzøÓIEND®B`‚qcustomplot/documentation/html/QCPItemTracer.png0000644000175000017500000001012212236016574022250 0ustar dermanudermanu‰PNG  IHDRæ — ‡sBITÛáOà pHYsÄÄ•+õIDATxœíÝ{XTuþÀñ÷€"*iÞ]Ô¼¡­â¦(Þ¸ˆ š´fòdþjŸý©µšývó)3eEóÉrkuËRñ’›BÜð‚ h‚eY´jÞS¬ A¼€:20óýý1–šŠ3œùÂçõøGÏ0sΞw‡Ãœs昔RˆêâÔ©SýúõËÉÉ1z'r3z!ÊG’š‘d…f$Y¡IVhF’š‘d…f$Y¡IVhF’š‘d…f$Y¡IVhF’š‘d…f$Y¡IVhF’š‘d…f$Y¡IVhF’š‘d…f$Y¡IVhF’š‘d…f$Y¡IVhF’š‘d…f$Y¡IVhF’š‘d…f$Y ]$¤› ÁLÂ<Ž[®?˜q©¢Ë4óZ_><P´—ǺҲí²ù —˜Ô›ug1|¥I²ò⟠¬fÞäxñõ{Ô­à"Ïlà“ÎŒò«Ä=‰gŒ{žs ¼xþIf½ËUÇ}&ÉCåÓÿÆÄ0t(ø3= 8¸˜€–4mB»`6þ `;ÏŒpZûð`[~–s .11’Ý—Ø2•¬\&4‚oÏ21’¯Í@Ý[¢òéß„gŸ%"”®yu'¶§±’²ÿXBñQ6˜†» ÿq4ýŒo.´ŽÇ¾5Wõê6”0‚-Oõ©¥bS”U)ó•߃ê³"U|Hù7SïVʪ¶¿¨š SyVU°Nµ~Tµ)¥TÑYU¢”º ‚›ª•*Pš«-…Jýòà²9¿këBlyª‡úßmʦTÁ§ªu Ê)½aš‹êÑf*á´RJnUM»©Ã–kË õVK~RJ)uEMh¯âUáÏèd+k·ûÝ7ðìHXmÒr¸°—x¢¸Ñç9š}ÃA3õ»ð»ÝÄŽç½õyQën‹µYBo]àÞˆ=1AƒŽ49G~Éõ—X ùÙFóúe.·mp4¿’ß´H²†Q6J쿞–ÒkšÀtóÓêteç!þo߯ [Šï¾ä[àŽ»ý?Ü0)n¼C¡›µ­+fÜž< @I>yžø4¸6ä•Rê{”ãtIÖ0ê ±À¹,þSBh¼hý ‰ßƒ/—‘çO—º˜Osº6ƒF3ç]|OrüƽIwêÙ¸psÄni·.¤l¦4bßi€:‰òdA*VÅ׋ÉëËÃ^˜É¾@ï6Žü TŒ$k÷ÆtØÅÃíñGì2úxáщ•q,èO«ÖÄ~Á’÷iâÆ¥oxܶíhÛ›¯|ß ‹ðbÂc¼ÀCƒØûKʦÚËn]È]ÔeT©YXO¦}Ä•—iÑœQY,þ'M—÷ó]ú?à„D9™”ÜÃÖ©JKÉϧ¨ˆ¢"ΟÇl¦n]¼½UI«yOÿ¯)¤‰§×Vá{ØZ1ðXºÎ·ýÕ¯HÚ1$DÜn—£jÝuo^”Ó‘#dfrø0GŽpð ?ü@ÆxyѰ!ÞÞÔ©ƒÅÂùó\Hþ|FѲ%;Óµ+¾¾ô쉟nüêóèÌ‚g9Y@ç·û²™‚@âÃŒïÙÊ:Æ?°};é餧ãîNPе»v¥Cj×¾ã KK9y’C‡8|˜C‡ÈÌ$/Aƒ&$„NÊ;HM¸S¸$[ çαf Ë—sôèµÈ ¢cÇJ-óôiÒÓÙ¶ôt4`Ìbbðñ¹ÇWׄdåPBùY­*)IýñÊÛ[ÅĨ”UZz÷W•—ͦ²²ÔøñªqcÕ¿¿úðCe6ßõE999>>>ŽÆ•H²åa6«… U‡*0P-]ª «b¥‹JNVC†¨fÍT\œ*((ã¹5!Yy“ëÞG»vlÞÌÒ¥de1v, TŪk×føp6mbëVŽ£C&MâÔ©ªXµK’dïÆlfκvåÇÉÈ 9™  c&éÖ„öïÇÓ^z‰³g™ÄP’ìÙl,YB—.dg“™ÉûïÓ¹³Ñ3A˖̙áC˜Ítéœ9˜¯EX»–+WLÀ¼yìÝkèÎ$ÉÞAV=z°b«WóñÇtè`ô@7kÒ„ ؽ›={ðõ%1qêT^ü|wÀd"&æ×’«£w¦]Ï… jüxÕª•Z»ÖèQîÍŽªsçœÐqg¾ùiæÌsõêm\·N=•ÓH²7ûäÕºµúóŸÕùóFR[7ZJ_›ñlå ìÿ/V»v©W_5z2'0½¡w %%œ:ÅÕ«´iƒ——ÑÓ”ƒÕêµoßF?¿Áß~›f³];cÁËëkŸ7{«[·(cÇs8ÓW_}eô . 3“¸8† a„²Ž¯º$›—_~pΜcÇú~÷]=ûƒOõÚÝ;¦ÉÒ¥Í?øà°±ã9žÑ›y£™ÍjâDåã£ÒÓ¥²RSU»v% ‚z\>ÞeèÅGc~uÁ衯f¿c°?={rö,ÙÙ=M¥¼ò dzmÛéV­7fÔKyn}ƒöM;Dwcûv£Gs4£ÿŸ1ΪUªiSµ|¹Ñs8Æ‘#jÀ•‘ñ“O»vêé§•Ù¬TjªjÝZ½ñ†²ÙŒÐajä™\%%¼ô›6±n~~FOãHö3¹NœÈ¹~Îmn.£FñÀ$$а¡‘Ã9HÍÛ18}šAƒ8q‚={ªY¯¿ºéñæÍÙ¶6møÃؿ߰™§†%»gø€:uŒ¨"jÀŽÙÌèѤ¦²{wîÕ®eK22¸z•ÐPòòŒž¦"ª{² €›Û¶Ñ´©ÑÓ¸†ºuY½šAƒèÝ›Œž¦Üªu²'OÒ·/aa¬Z…§#?.@{&3gòÚk³k—ÑÓ”OõM6;›  þòfÍÂä ×ß»ž±cIH :šõ륪éŸ_iiÄÄðÞ{DG=Šk‹ˆàÓO1‚¼<þô'£§¹'Õ1Yû›Y‰‰†]¤¥—^½Ø±ƒðp~þ™éÓžæîªÝŽÁâÅL™ÂÖ­Òk9têDV‰‰LžŒËÀ¯^ÉΛǬYìØÁïoô(ºiÑ‚Œ ²²xî9¬V£§)K5JvÚ4–,a×.Ú·7z=5jDZ'N0z4‹ÑÓÜQµHV)&Ndófvî¤eK£§ÑYƒ¤¤P\̈\¹bô4·§²V+ãÆ±o۶Ѹ±ÑÓèÏÓ“ÄD¼½]¶ZÍ“µZyúirrظ±Š>n¨&¨]›+hÕŠÈHŠŠŒžæ·tN¶´”˜ HI¡~Ù·SåäîÎ’%øúÎÅ‹FOsm“µX=³™ädêVôž‚¢ &ÿú„„PP`ô4×陬ŨQ¸»³n.p_ŸêÊdâw8à`ò]à–_€–ÉZ,Œ‰—«Vi÷™ú1™xóM"# q‘ju;`k±ðØcx{³lîîFOScÌž›!!¤§Ó¤‰±³h•lq1ÑÑ4j$½`Ö,©VŸd¯^%:šÆ¥WÃÄņW«I² ?.½/.77BCIK3ªZ’µ÷êå%½º„30™ ¬Ö哵÷êéÉʕҫ«xýul6ÂÂHK㪾­­k'kïÕÃ>’^]Ë̙׫­ÚS;\8Y{¯µjñÑGÔrá9k¬¿ÿýzµUÙj]õP‚ýøðïËñ-×OHaa\¸PeëtÉdKJxòI¬VÖ®•^]ÝܹôëGXX•=ãzÉZ­<õW¯’˜(½jÀdâí· ¬²s¾\,Y{¯—/“”$½jÃdâÿ gO"#),töÚ\)Y«•ØX ¥Wý˜L¼û.þþ Ê¥KN]•Ë$k¿¾àÜ9’’4ýD¾šÎ^m·nDD8õZ×HÖÞëÙ³¬_/ž¥1“‰ ®Uë´=HÖÞk~>IIÒ«öìÕúù᤿ƌNÖÞk^IIr=L5a¯¶{w† qFµ†&kï57—õë©WÏÈI„cÙ«õ÷gȇï×—li)O=E^6H¯Õ½Ú€‡¿_kP²öëc ¥×êÌþB¯^Ž=¢kD²öó]JJHN–¿·ª9û±±xey•'k¿~ËÃCΨAæÎ%<œÐP‡\£[µÉ^¹Â°ax{óñÇÒkÍϰa ÀéÓ•\R&{ñ"ááøø°|¹œ¯]ÍœIL ýúqòdeSU§N0d}ú0¾Ül£æzå¼½éߟÔT|}+¶Œ*I67—Áƒ‰Š">¾*V'\Ù„ 4lHp0))øûW`ÎOöûdìX^~ÙéëZˆÅËëÚͯ{õ*﫼/›Mÿþ¼ð‚ô*nͲe ΦMå}©3“ݱƒÁƒ™?Ÿñ㸡©ðp6là™gHH(×뜶c”Äøñ¬YÃÀÎZ…Ð]¯^ddÁ™3üío÷ø"çle-â…زEzwáëË®]¬\ɤI÷xË1G'k³1e óæñÙgøù9xá¢ZjÕŠ;ÉÎfÔ(Ìæ»>Ý¡É^¾ÌÈ‘|ù%»wÓ¶­#—,ª·ûï'5•zõ8ÜܲŸë¸dss ¦~}¶n­ÊÏÕ„‡ DEÈe<ÑAÉ~÷DE±|¹\l(*ÈdbÚ4fÏ&$„´´;=ËÉ&'ÌìÙL›&cEeMb"±±ÌŸÛ¯WîM.«•éÓYµŠM›*vðMˆÛèÛ—Ï?':š½{Y´è7Vb+[P@T_|Á—_J¯ÂÁÚ´!3¥ "'çÆ¯T4Ùìly??6o–;Ç §¨[—•+3†À@>ýôׇ˟¬R¼óƒÏoÈ™¯Â¹&Ofõj&NdòdŠ‹)w²ùù ÎÊ•ìÞÍO8eD!~£_?¾þš“'éÛ—£GË“lz:=zÐ¥ ™™´oï´…¸E£F$%ñÌ3ôí{oï1u*II$$æä鄸ƒ  º‡­ì–-øùqå û÷K¯Â`Ý»—¹•=ž_dÇ-’X…‹¸ÃV¶´”… ñõå¾ûØ·Oz®ãv[ÙÍ›™2…¦MÙ¼YŽWss²ÙÙLʱcÌKt´A# Q–_v ví"2’¨(ÂÃ9xPz.«72{6¹¹üõ¯rŸáújñÖ[<ÿ<#Gâfô'z qj•q.­.H¶¬B3’¬ÐŒ$+4#É ÍH²B3’¬ÐŒ$+4#É ÍH²B3’¬ÐŒ$+4#É ÍH²B3’¬ÐŒ$+4#É ÍH²B3’¬ÐŒ$+4#É ÍH²B3’¬ÐŒ$+4#É ÍH²B3&uowÂEü?ÜC¹Eõ÷7¥IEND®B`‚qcustomplot/documentation/html/item-ellipse_8h_source.html0000644000175000017500000004212312236016574024403 0ustar dermanudermanu src/items/item-ellipse.h Source File
item-ellipse.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_ELLIPSE_H
27 #define QCP_ITEM_ELLIPSE_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 
32 class QCPPainter;
33 class QCustomPlot;
34 
35 class QCP_LIB_DECL QCPItemEllipse : public QCPAbstractItem
36 {
37  Q_OBJECT
39  Q_PROPERTY(QPen pen READ pen WRITE setPen)
40  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
41  Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
42  Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
44 public:
45  QCPItemEllipse(QCustomPlot *parentPlot);
46  virtual ~QCPItemEllipse();
47 
48  // getters:
49  QPen pen() const { return mPen; }
50  QPen selectedPen() const { return mSelectedPen; }
51  QBrush brush() const { return mBrush; }
52  QBrush selectedBrush() const { return mSelectedBrush; }
53 
54  // setters;
55  void setPen(const QPen &pen);
56  void setSelectedPen(const QPen &pen);
57  void setBrush(const QBrush &brush);
58  void setSelectedBrush(const QBrush &brush);
59 
60  // reimplemented virtual methods:
61  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
62 
63  QCPItemPosition * const topLeft;
64  QCPItemPosition * const bottomRight;
65  QCPItemAnchor * const topLeftRim;
66  QCPItemAnchor * const top;
67  QCPItemAnchor * const topRightRim;
68  QCPItemAnchor * const right;
69  QCPItemAnchor * const bottomRightRim;
70  QCPItemAnchor * const bottom;
71  QCPItemAnchor * const bottomLeftRim;
72  QCPItemAnchor * const left;
73  QCPItemAnchor * const center;
74 
75 protected:
76  enum AnchorIndex {aiTopLeftRim, aiTop, aiTopRightRim, aiRight, aiBottomRightRim, aiBottom, aiBottomLeftRim, aiLeft, aiCenter};
77 
78  // property members:
79  QPen mPen, mSelectedPen;
80  QBrush mBrush, mSelectedBrush;
81 
82  // reimplemented virtual methods:
83  virtual void draw(QCPPainter *painter);
84  virtual QPointF anchorPixelPoint(int anchorId) const;
85 
86  // non-virtual methods:
87  QPen mainPen() const;
88  QBrush mainBrush() const;
89 };
90 
91 #endif // QCP_ITEM_ELLIPSE_H
qcustomplot/documentation/html/functions_func_0x6e.html0000644000175000017500000000202512236016575023716 0ustar dermanudermanu Data Fields - Functions
 

- n -

qcustomplot/documentation/html/layer_8h_source.html0000644000175000017500000006152612236016574023136 0ustar dermanudermanu src/layer.h Source File
layer.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_LAYER_H
27 #define QCP_LAYER_H
28 
29 #include "global.h"
30 
31 class QCPPainter;
32 class QCustomPlot;
33 class QCPLayerable;
34 class QCPLayoutElement;
35 class QCPLayout;
36 
37 class QCP_LIB_DECL QCPLayer : public QObject
38 {
39  Q_OBJECT
41  Q_PROPERTY(QCustomPlot* parentPlot READ parentPlot)
42  Q_PROPERTY(QString name READ name)
43  Q_PROPERTY(int index READ index)
44  Q_PROPERTY(QList<QCPLayerable*> children READ children)
46 public:
47  QCPLayer(QCustomPlot* parentPlot, const QString &layerName);
48  ~QCPLayer();
49 
50  // getters:
51  QCustomPlot *parentPlot() const { return mParentPlot; }
52  QString name() const { return mName; }
53  int index() const { return mIndex; }
54  QList<QCPLayerable*> children() const { return mChildren; }
55 
56 protected:
57  // property members:
58  QCustomPlot *mParentPlot;
59  QString mName;
60  int mIndex;
61  QList<QCPLayerable*> mChildren;
62 
63  // non-virtual methods:
64  void addChild(QCPLayerable *layerable, bool prepend);
65  void removeChild(QCPLayerable *layerable);
66 
67 private:
68  Q_DISABLE_COPY(QCPLayer)
69 
70  friend class QCustomPlot;
71  friend class QCPLayerable;
72 };
73 
74 class QCP_LIB_DECL QCPLayerable : public QObject
75 {
76  Q_OBJECT
78  Q_PROPERTY(bool visible READ visible WRITE setVisible)
79  Q_PROPERTY(QCustomPlot* parentPlot READ parentPlot)
80  Q_PROPERTY(QCPLayerable* parentLayerable READ parentLayerable)
81  Q_PROPERTY(QCPLayer* layer READ layer WRITE setLayer)
82  Q_PROPERTY(bool antialiased READ antialiased WRITE setAntialiased)
84 public:
85  QCPLayerable(QCustomPlot *plot, QString targetLayer="", QCPLayerable *parentLayerable=0);
86  ~QCPLayerable();
87 
88  // getters:
89  bool visible() const { return mVisible; }
90  QCustomPlot *parentPlot() const { return mParentPlot; }
91  QCPLayerable *parentLayerable() const { return mParentLayerable.data(); }
92  QCPLayer *layer() const { return mLayer; }
93  bool antialiased() const { return mAntialiased; }
94 
95  // setters:
96  void setVisible(bool on);
97  bool setLayer(QCPLayer *layer);
98  bool setLayer(const QString &layerName);
99  void setAntialiased(bool enabled);
100 
101  // introduced virtual methods:
102  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
103 
104  // non-property methods:
105  bool realVisibility() const;
106 
107 protected:
108  // property members:
109  bool mVisible;
110  QCustomPlot *mParentPlot;
111  QPointer<QCPLayerable> mParentLayerable;
112  QCPLayer *mLayer;
113  bool mAntialiased;
114 
115  // introduced virtual methods:
116  virtual void parentPlotInitialized(QCustomPlot *parentPlot);
117  virtual QCP::Interaction selectionCategory() const;
118  virtual QRect clipRect() const;
119  virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const = 0;
120  virtual void draw(QCPPainter *painter) = 0;
121  // events:
122  virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged);
123  virtual void deselectEvent(bool *selectionStateChanged);
124 
125  // non-property methods:
126  void initializeParentPlot(QCustomPlot *parentPlot);
127  void setParentLayerable(QCPLayerable* parentLayerable);
128  bool moveToLayer(QCPLayer *layer, bool prepend);
129  void applyAntialiasingHint(QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const;
130 
131 private:
132  Q_DISABLE_COPY(QCPLayerable)
133 
134  friend class QCustomPlot;
135  friend class QCPAxisRect;
136 };
137 
138 #endif // QCP_LAYER_H
qcustomplot/documentation/html/plottable-curve_8h.html0000644000175000017500000001340312236016574023541 0ustar dermanudermanu src/plottables/plottable-curve.h File Reference
plottable-curve.h File Reference
#include "../global.h"
#include "../range.h"
#include "../plottable.h"
#include "../painter.h"

Go to the source code of this file.

Data Structures

class  QCPCurveData
 Holds the data of one single data point for QCPCurve. More...
class  QCPCurve
 A plottable representing a parametric curve in a plot. More...

Typedefs

typedef QMap< double,
QCPCurveData
QCPCurveDataMap
typedef QMapIterator< double,
QCPCurveData
QCPCurveDataMapIterator
typedef QMutableMapIterator
< double, QCPCurveData
QCPCurveDataMutableMapIterator

Functions

 Q_DECLARE_TYPEINFO (QCPCurveData, Q_MOVABLE_TYPE)

Detailed Description

Typedef Documentation

Container for storing QCPCurveData items in a sorted fashion. The key of the map is the t member of the QCPCurveData instance.

This is the container in which QCPCurve holds its data.

See Also
QCPCurveData, QCPCurve::setData
qcustomplot/documentation/html/functions_func_0x6d.html0000644000175000017500000001441712236016575023725 0ustar dermanudermanu Data Fields - Functions
 

- m -

qcustomplot/documentation/html/classQCPAxisRect__inherit__graph.png0000644000175000017500000000732512236016575026176 0ustar dermanudermanu‰PNG  IHDR‹»ÚúbKGDÿÿÿ ½§“ŠIDATxœíPeÀŸûG`È¢Åp.,RLk„h*íÐBÄB‹7ì‡ )DN…€üQ N‚(wÀ Þ¦üäU)DE숎Sîìîöýcm]ï–޽ÛçÎç3޳û<û|÷»|n÷v÷îöËÂ0 †Ítˆ)@†`‚dv!èÁÌ‚é¬mØØXóþÔ\³WùÑG­ZµŠÆm°cöíÛgöXó ­Zµjýúõf¨ …fEïC°ƒ Á2;Èì C°X¬i6ZË*--ŽŽŽàçŸ&w•••òx<ÿ’’¼‘Åb±X,·bÅŠŽŽ¢Ñ¢IÂŽÙW¬åå妗ihhàóùJ¥²©©‰Ïç×ÕÕ]>>>‰D¥R]¾|ù½÷Þ#Âb¦V« ‚ƒƒÉÖ„r³I#66Öì+V  ­®®&f«ªªV¯^MtÕÔÔP†Å'T*Õ#¤Óéd2Ù3Ï<ƒaXXXXYYÞ^\\¼aà ÃâââJJJÔjµX,^ºt)mË–-r¹|²Pø2»víËÈÈX³fA”aMc3†\]])»ÈaŽŽŽË–-kmm% “H$AAAŽŽŽ‡ƒa˜L& Ðétz½~É’%çÏŸÇ0ÌÓÓ“8˜³Ùl"ÚÈȈ‰PäeFFFÜÜÜ Ò  kšÙ²à™B``ào¿ýFÌž8qâÙgŸÅ§—,YròäIÊQ†i4š¶¶¶åË—OyóæÍ{öìS*•:æååUYY)‰A@@j``ßN|1777¡¦d²°–Â<±`ûP]]¯¯ïñãÇÇÇÇ¥Réüùókkkñ®úúúùóç;vìöíÛ—/_NLL$ÂR®Ë ÅÓÓS&“)•Ê´´4¢W&“…††vttà-ññññññr¹üÚµkqqq”Ñ(CvíÚ¥T*)r”aMéQð’’’E‹±ÙlÀÁƒÉ]¥¥¥‹/vppÀ϶‰°”ë2xI•””<öØcO>ùdvv6yHhhhTT1;<<¼aÃwww??¿ŠŠ ÊUP†&Ï(Ú^CÛ¶m[¹r娨˜y«›fÓ¦MÝÝÝ–[…ÙÌÆùŸ>̈ýû÷[4>‹Åâp8 ´èЬ• YÌ~?öE÷å`‚dv!ر+C†••ýÎttcÞI:ÓYSãà0ÏË+‘é,¨±öõPyy9½@ ÕÕ}'NÜúúë Ìa:C|||ÌÈ‚v‡˜)z=¶tén…B•”š“ó¦Ó¡ ûy:yòO…B¨¬lÕjõL§Cöc¨ªªË寯ÔÍÍ2m؉!µúŸÚÚ.­VàrÙÕÕíLgDvbH*환¸‹Okµ:‘¨K­þ‡Ù”èÂN UUµãŸBá¨ÕÚcÇÎ3˜؃!¥R-‘üO§»vÀá°jc0%±C Ý'oZ­þøñ¥r‚©”hÄ UV¶-U¯×‹Åç˜H‡flÞÐÐÐxKË%½Þøë @(´‡Íª­í€â‹Ý†>}E.·~Jôb󆪪Úõzê;z=&uZ9Ú±mCý¥¼rEîìÌsqṸðœœ9>íâÂsqq:~ü"Ó9Îû¹s 8r¤óƒÞ¼iþ¯!Ķ÷¡‡dv!ØA†`‚dv!ØA†`‚dv!ØA†`‚dv!ØA†`‚dv!ØA†`‚dv!ØA†`‚dv!ØA†`‚dv!ØA†`‚dvx`EESyÐÂÙ³ÃÀö·ÂÇÇçRÄð?sú°Ù</¦³˜-ÏÛ4|Šfyy9ªTÌ ëÖ­3hAïC°ƒ Á2;Èì<Ô†l¢¯9†l¥R1y¬±ôªMd2c ®‡ì©R1y”«³B3]‘q=¶b¼RñÕ«WÃÂÂæÌ™óòË/÷÷÷GF%½L¬Ÿ˜¬úqNNŽ››Û¼yó:”íîîîíí-‹Múâ‹/æÎËçóE"‘q&¦¡Á㕊cbb222ÆÆÆÒÓÓß|óMãh€T’Ühü—"&&«~œ™™©R©„B!ÇËÌÌ …`ÊQããã‹-2½±ÆXÄ•+»¹¹á‡É/Žé¢L Ÿ˜¬úñÄĆaZ­–žr¹‘ú¯i„±¡Ÿ)0^©˜6›™˜0çùÀØ$eŠœœ‡ÜÁH>ôbó†.\¸Ùß?lÜ®Õê~ýõŒõó¡›7T]ÝáàÀ¡ì9wó¡Û6„aXuu»V«çr9ÆÿGŽØümßR½òÊbb¶¿¸¹ùÏïÿÔÝÙÙ‘‰¼èU†Û>Ê= C°ƒ Á2;Èì C°ƒ Á2;Èì C°ƒ Á2;Èì C°ƒ Á2;Èì C°ƒ Á2;Èì C°ƒ Á2;Èì C°ƒ Á2;Èì C°ƒ Á2;Èì C°Cï$O:•——GK6³ddÄ©·×mÙ²[L'r¡P8û 4üÒøúõë•••aaa³5{|}¯ 1CCC.\ %m¿ÇËÊ pd2^fö ÷!ØA†`‚dv!رª!‰D’‘ ‘HÈ]MMM‰‰‰ñññõõõxcxxxxxxDDDrrò¥K—ðÆŽŽŽððð¶¶6+ 7Ý‹‡}ÿý÷{zzf´ ¦#[ëjkk+..Þ¾}{MMÍÇ\\\|æÌ¢ëÇüðÃ=š››ÛÕÕEŒ’J¥b±8"""77o‘H$~~~‚ J¥¦“‘J¥uuuQQQß~ûíì6ËâXÏPiiijjêóÏ?ïì윒’òË/¿]iiiË—/wrròööNOO'tppˆŠŠºví@£Ñ´´´ìÞ½»¥¥E­Vòóóñ%›ššöíÛH¯ôæææÄÄÄÈÈÈwÞyG$‘Ãr¹Ü×^{íúõ{ ݹsgtttRR±c }úé§‘‘‘x@âkîIÖ3Ô××GÔÖ<÷Üs}}}DWPPÐdµZ­X,öõõ477.X° ((/Ü»mÛ¶ºººöööÎÎN‘H”’’B›››»}ûv±X\XXhp‘¯Õjñ²ølQQQhhèáÇ·nÝJ쯅……O?ýôÑ£Gñ’øÊ}”F˜|¾¹ðd„‡‡s¹Ü… ~òÉ'€†††èèh@dd¤X,ŽŒŒär¹™™™iiil6;//Ë}`‹^ýõ¢¢¢€€€Õ«WöÙgä°ÿ={öà-­­­MMM{÷î°X÷jÛÙÙ¹cÇGÏ›…õ ùùù;w^Âg»ººüýý‰®îîî_|ÑxùÕ:<<ÜÑÑÑÖÖ†ßPa±XÃÃÞžž …B©TîܹãîîNžœœ<88ØÒÒòÓO?Õ××ïܹ“«P(rrrzzz¼¼¼†UVV’K}C‚õŽrñññ………gÏž˜˜èìì,**Š‹‹Ã»6nÜXXXØÞÞ®ÑhnÞ¼ùÍ7ßPFhll|õÕW¥ÿÝØØ¨V«srr>ÿüóÔÔÔììì»wï’‡|÷Ýw:níÚµÉÉÉĉ އ‡Gffæ?ü0:: xá…¾ÿþûÑÑQ¹\ŽF—••i4÷ë‚9;;Òøg™ëíC+V¬Ø¼ys^^^í<##cåÊ•xWHHHRRÒþýûæÍ›—@A"‘¤¦¦³½½½kÖ¬ Èåòüüü;vË‚ôôô¿ÿþÛÛÛ›|”Ãñððxë­·òóó³²²RSS 6mÚ4gΜ­[·â ¤¤¤|õÕWo¼ñ†V«Å÷æõë×oÙ²åÎ;V{+¢áó¡ŠŠŠ·ß~{Fþñǹ¹¹ÎÎγ\;œà÷¶iyB)3g ä]at×v!ØA†`‚dv!ØAßõ±Cô}%ŒC>>>±±±³cO<þøã´„²«Êv z‚dv!ØA†`‚ÿ½KœÚKµIEND®B`‚qcustomplot/documentation/html/ssDisc.png0000644000175000017500000000037512236016575021107 0ustar dermanudermanu‰PNG  IHDRóÿasBIT|dˆ pHYsÄÄ•+ŸIDAT8Ýѽ Â@àíüë-°ÑÂÎ÷ Å&…/"j!FÄ‹\ Hc%80l±;ÃÜ¿FÿÃ~‚%.¸c3óù¾Þßy>®¾Šã¼¾ßýì{ÞïùÌR­V3Y–•Ëå¼S„!sdNƒÌѺò¾•DºQpJ¥Ͳ,ïÁÈœF3ÏÍÙÛoÛÀ€½óŽ]¾ÜîP¡À×¹ÝTÊ(ÐúûíìY{ñE›œ´‡Î; b1Ôù·^°/¿¼úÇíàA»ÿþ\3!ŠJ7*Òœ!sEÍ|ú´õôØ™3öÖ[vö¬­^mgÎ$ˆÖPQ¯s*eè4Û¶Ù§ŸÚ¦MöÓOÖÛkÇÛÖ­ygB†z gÏZ_ŸÝ}·MLØ}÷Ù©S–e¶jUÞ±î–G}tzzº§§'Ë28à ÙÁÁƒS·Þúû±c·mØð¯-[ÎÎÍõ|ÿýÔí·ÿ;÷`„XMC¥RÉ;B02§QÔÌçÎÕî¹§våJ­V«ýñGí®»j.´=ØMõ:'ÀPäfï^;rÄ|ÐFGm×.Û·/ï@ˆ¢²Å”iì¸!sÎüê«vò¤ X¥’ -ðun·%y:ÚwÚÎy‡@sê ) õñÈœ™Ó s4•2 N1Ô@STºQ‘æ<™Ó sdŽÆN=N©T ú÷ ‹.0Ô9+•ø5ô¡>™Ó sdަRFÀ)¦ 7ssvè}ò‰íØa;wÚm·åQTºQ‘æ<™Ó(pf©ïb*ðun7vê|ŒÛÒ¥64tu‹iãF«Tø.&—ê=áå2Eòá‡öùçvøðÕ2úÌ3öÄöä“yÇB8†úxé3ßð#cýý k(×9ÅdÞ¶ÍNž´ñq3³ÑQÏù»˜ŠzP)£@§éî¶ááúÇŒþº¿ŒXwwÞ™…¡Þ=^¼íÝ¥K¶lYÞ!ЕnT¤9"’9¨†ŠdRøÌ"5´ð×¹}TÊ(бBw¡†yÐ=†zïø z§ÒŠ4çAÈœ™Ó s4•2 N1M¸ÇHäK¥i΃ˆdf§^™ÓɬRFŽÅN½w̃î1Ô{ÇOл®,Ëê1Nl~´ÉÓÌA)Bf~‚¨< fYV.—óNF$sP/#’9Há3‹t£…¿Îí#ñóC3D~ Ž¥²Å”ÍO7Žˆd.üN½Ç×™ÌÑTÊ(б<>N`!æA÷ ?Ôs‚§ÒŠ4çAÈŒF<^g2GS)£@#•J%ïÀÍ0M¸ÇHäK¥i΃ˆdf§^ÇëLæh*eèX'°ó {…ê9AˆSéFEšó dF#¯3™£©”Q vê!ŽiÂ=FB _*ݨHsD$3;õ‚<^g2GS)£@Çòø8…˜Ý+üPÏ BœJ7*Òœ!3ñxÉM¥Œ°SqLî1ŠØµëÙ÷Þ;œòwîÜuøð¡”÷ˆZ’w€«D¾S%ˆHæÐz…ÌA¼ ‘Ì*eœR)£"Íy‘ÌìÔ b¨OC$sW–eõƘ§6?Úˆäéä¬V«õq~bb¢ÝÕjuvv6÷SæÀtÞ ši¼!ˆHæ 7ùˆdâ%sooßààÄïbmÝèã:/$’™¡>™Ó𘙡> ‘̼§>^k3ÿã‹/¾ˆ¸áöí;vìxr‘ÿxfffÅŠõã-[¶<÷Üß#î11/ï©_(A7ÚrüFS)£éë{xíÚ{Úz/SSSkÖ¬1³ÉÉGFF\”Q@œJUxH Õò̽½ýõgÖȲ±ÑѦ¹¯ä®5~› òÜh6¿'ëˆÇÌ_î‘Çëìq=‹dVéFQxÑOþnÞ<°ø'òòä/¼S)£"Íy™s6Ó<ù{M¾Oþ2Ô§!’Y¥ŒŠì¸ñ˜9ßä¸'ã2çûä/;õiˆdVynœR)£ )¡(Õj5i|Ã_Öfîíí<Ðî-¦k/ ¯¿x{ll´­w·Pô F3hŽ'˜ìå÷-žÇÌù›cc_]¸p>â†ÓÓS¡7™œü1âŽZ…¡> ‘Ì*eTä©â 3'Øú¸‰¡¡—RÞ]ŽŸ½’ïuŽãq=‹df¨€¦¨t£ )¡ 2GS)£@ÇâÓï½S)£"Íy2§Qø¡^™£©”Q‘æ<ˆHfvêy¼ÎdŽÆåé4šßý½ÈînN¥ŒŠ4çAD2½F$s" õÊeÑãÚÉÌPÌi0Ô§Aæh*eœR)£"Íy2§Q¤¡^™£©”Q‘æ<ˆHfvêy¼Îdަ²Å„N06öÕ… çCo5555==z«ÉÉCoÄ‘ø C4CäÓ*ÿÒÈÈ¡ãÇGÜðÈ‘¶o_ìWŸ.ôØcíÞýlÄ *¿"¿D$³—mŽæåqb!×™ÌÑTž§ü=Îã:›µ …?Ax§ÒŠì¸É\øúJ¥’w„`¯3™£©”QpŠqɽÂϼ…?Ax§ÒŠ4çAÈŒF<^g2GS)£àã’{…Ÿy ‚ðN¥i΃ˆdf§^Ðâ¯óô´½û®~‹lëy\"™UÊ(ОÞì»ïlófÛ»7ï4ˆÅ¸ä^ágÞ¢žà¹s60`?ü`¥’ýù§­[g'NتUyÇB¸®,Ëê1Nl~´Éà .òàÍ7¾÷Þÿ”J–eÙ·ßfýýöÆ?+ã ô@åq>Óøˆ "™ùhA‹¹ÎçÏÛ¦Mvê”uuÙ•+¶n}ýužÝ¨Çµ!’ÙßÅuÁÁA;rÄúûíÄ {ê){ùå¼!ŠÊS6?¾9"’™zA‹¼ÎØè¨•ËöÍ7ù×PkC$³J:ÐÜœ}ü±}ð=j—/ç± ;.uŽϼu>Á l`ÀyÄ>ûÌ*;y2ï@ˆ¢ÒŠ4çAÈŒFsÇÇméR²M›ìõ×í–[,ßg/<® ‘Ì*eè4§O[OÏÿþ¸zµ9“_4¡°ãRç(ðÌ[WÔüí7[·ÎÞßxÀFGm÷n;uʺ»óŽ…p*ݨHsD$3;õ‚s»»mxØöí³•+mÿ~ɹ†z\"™ùžz 7ýýÖßo—.Ù²eyGAŠ9.u”¢Î¼×þáC}<2£×™ÌÑTÊ(8Ÿä^ágÞŸ ¼SéFEšó "™Ù©äñ:“9šJ§—Ü+üÌ[ø„w*ݨHs„ÌhÄãu&s4•2 N1.yR*•‚þ}1~¸ õ§ÒŠ4çAÒg®RÈÜ˲r¹œwŠ0dNÃc7êñ:“9š¿ŠN㱌¢£¨l1eóã›#dn¹Ò4úûÐjIIü:ß™£©”QÀ|öJ¥RYüg¯é1.@STºQ‘æ<™Ó sdަRFÀ)†zhŠJ7*Òœ!sdNƒÌÑèF )ÿggB pï eIEND®B`‚qcustomplot/documentation/html/classQCPItemStraightLine.html0000644000175000017500000023544312236016575024653 0ustar dermanudermanu QCPItemStraightLine Class Reference
QCPItemStraightLine Class Reference

A straight line that spans infinitely in both directions. More...

Inheritance diagram for QCPItemStraightLine:
Inheritance graph

Public Functions

 QCPItemStraightLine (QCustomPlot *parentPlot)
QPen pen () const
QPen selectedPen () const
void setPen (const QPen &pen)
void setSelectedPen (const QPen &pen)
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
bool clipToAxisRect () const
QCPAxisRectclipAxisRect () const
bool selectable () const
bool selected () const
void setClipToAxisRect (bool clip)
void setClipAxisRect (QCPAxisRect *rect)
void setSelectable (bool selectable)
void setSelected (bool selected)
QList< QCPItemPosition * > positions () const
QList< QCPItemAnchor * > anchors () const
QCPItemPositionposition (const QString &name) const
QCPItemAnchoranchor (const QString &name) const
bool hasAnchor (const QString &name) const
bool visible () const
QCustomPlotparentPlot () const
QCPLayerableparentLayerable () const
QCPLayerlayer () const
bool antialiased () const
void setVisible (bool on)
bool setLayer (QCPLayer *layer)
bool setLayer (const QString &layerName)
void setAntialiased (bool enabled)
bool realVisibility () const

Public Members

QCPItemPosition *const point1
QCPItemPosition *const point2

Signals

void selectionChanged (bool selected)

Protected Functions

virtual void draw (QCPPainter *painter)
double distToStraightLine (const QVector2D &point1, const QVector2D &vec, const QVector2D &point) const
QLineF getRectClippedStraightLine (const QVector2D &point1, const QVector2D &vec, const QRect &rect) const
QPen mainPen () const
virtual QCP::Interaction selectionCategory () const
virtual QRect clipRect () const
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void deselectEvent (bool *selectionStateChanged)
virtual QPointF anchorPixelPoint (int anchorId) const
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
double rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const
QCPItemPositioncreatePosition (const QString &name)
QCPItemAnchorcreateAnchor (const QString &name, int anchorId)
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
void initializeParentPlot (QCustomPlot *parentPlot)
void setParentLayerable (QCPLayerable *parentLayerable)
bool moveToLayer (QCPLayer *layer, bool prepend)
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

Detailed Description

A straight line that spans infinitely in both directions.

QCPItemStraightLine.png
Straight line example. Blue dotted circles are anchors, solid blue discs are positions.

It has two positions, point1 and point2, which define the straight line.

Constructor & Destructor Documentation

QCPItemStraightLine::QCPItemStraightLine ( QCustomPlot parentPlot)

Creates a straight line item and sets default values.

The constructed item can be added to the plot with QCustomPlot::addItem.

Member Function Documentation

void QCPItemStraightLine::setPen ( const QPen &  pen)

Sets the pen that will be used to draw the line

See Also
setSelectedPen
void QCPItemStraightLine::setSelectedPen ( const QPen &  pen)

Sets the pen that will be used to draw the line when selected

See Also
setPen, setSelected
double QCPItemStraightLine::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

This function is used to decide whether a click hits a layerable object or not.

pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if onlySelectable is true and the object is not selectable, -1.0 is returned, too.

If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0.

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods.

details is an optional output parameter. Every layerable subclass may place any information in details. This information will be passed to selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to selectEvent will carry the details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in selectTest. The result (i.e. the actually clicked part) can then be placed in details. So in the subsequent selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation.

You may pass 0 as details to indicate that you are not interested in those selection details.

See Also
selectEvent, deselectEvent, QCustomPlot::setInteractions

Implements QCPAbstractItem.

void QCPItemStraightLine::draw ( QCPPainter painter)
protectedvirtual

Draws this item with the provided painter.

The cliprect of the provided painter is set to the rect returned by clipRect before this function is called. The clipRect depends on the clipping settings defined by setClipToAxisRect and setClipAxisRect.

Implements QCPAbstractItem.

double QCPItemStraightLine::distToStraightLine ( const QVector2D &  base,
const QVector2D &  vec,
const QVector2D &  point 
) const
protected

finds the shortest distance of point to the straight line defined by the base point base and the direction vector vec.

This is a helper function for selectTest.

QLineF QCPItemStraightLine::getRectClippedStraightLine ( const QVector2D &  base,
const QVector2D &  vec,
const QRect &  rect 
) const
protected

Returns the section of the straight line defined by base and direction vector vec, that is visible in the specified rect.

This is a helper function for draw.

QPen QCPItemStraightLine::mainPen ( ) const
protected

Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is.

void QCPAbstractItem::setClipToAxisRect ( bool  clip)
inherited

Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with setClipAxisRect.

See Also
setClipAxisRect
void QCPAbstractItem::setClipAxisRect ( QCPAxisRect rect)
inherited

Sets the clip axis rect. It defines the rect that will be used to clip the item when setClipToAxisRect is set to true.

See Also
setClipToAxisRect
void QCPAbstractItem::setSelectable ( bool  selectable)
inherited

Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.)

However, even when selectable was set to false, it is possible to set the selection manually, by calling setSelected.

See Also
QCustomPlot::setInteractions, setSelected
void QCPAbstractItem::setSelected ( bool  selected)
inherited

Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though.

The entire selection mechanism for items is handled automatically when QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually.

This function can change the selection state even when setSelectable was set to false.

emits the selectionChanged signal when selected is different from the previous selection state.

See Also
setSelectable, selectTest
QList< QCPItemPosition * > QCPAbstractItem::positions ( ) const
inlineinherited

Returns all positions of the item in a list.

See Also
anchors, position
QList< QCPItemAnchor * > QCPAbstractItem::anchors ( ) const
inlineinherited

Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item.

See Also
positions, anchor
QCPItemPosition * QCPAbstractItem::position ( const QString &  name) const
inherited

Returns the QCPItemPosition with the specified name. If this item doesn't have a position by that name, returns 0.

This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as name).

See Also
positions, anchor
QCPItemAnchor * QCPAbstractItem::anchor ( const QString &  name) const
inherited

Returns the QCPItemAnchor with the specified name. If this item doesn't have an anchor by that name, returns 0.

This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as name).

See Also
anchors, position
bool QCPAbstractItem::hasAnchor ( const QString &  name) const
inherited

Returns whether this item has an anchor with the specified name.

Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor).

See Also
anchor, position
void QCPAbstractItem::selectionChanged ( bool  selected)
signalinherited

This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to setSelected.

QCP::Interaction QCPAbstractItem::selectionCategory ( ) const
protectedvirtualinherited

Returns the selection category this layerable shall belong to. The selection category is used in conjunction with QCustomPlot::setInteractions to control which objects are selectable and which aren't.

Subclasses that don't fit any of the normal QCP::Interaction values can use QCP::iSelectOther. This is what the default implementation returns.

See Also
QCustomPlot::setInteractions

Reimplemented from QCPLayerable.

QRect QCPAbstractItem::clipRect ( ) const
protectedvirtualinherited

Returns the rect the visual representation of this item is clipped to. This depends on the current setting of setClipToAxisRect as well as the axis rect set with setClipAxisRect.

If the item is not clipped to an axis rect, the QCustomPlot::viewport rect is returned.

See Also
draw

Reimplemented from QCPLayerable.

void QCPAbstractItem::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtualinherited

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing item lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See Also
setAntialiased

Implements QCPLayerable.

void QCPAbstractItem::selectEvent ( QMouseEvent *  event,
bool  additive,
const QVariant &  details,
bool *  selectionStateChanged 
)
protectedvirtualinherited

This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing.

event is the mouse event that caused the selection. additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see QCustomPlot::setMultiSelectModifier). if additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected).

Every selectEvent is preceded by a call to selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The details data you output from selectTest is feeded back via details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked.

selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if additive is true, selectionStateChanged must also be set to true, because the selection toggles. If additive is false, selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state.

See Also
selectTest, deselectEvent

Reimplemented from QCPLayerable.

void QCPAbstractItem::deselectEvent ( bool *  selectionStateChanged)
protectedvirtualinherited

This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately.

just as in selectEvent, the output parameter selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively.

See Also
selectTest, selectEvent

Reimplemented from QCPLayerable.

QPointF QCPAbstractItem::anchorPixelPoint ( int  anchorId) const
protectedvirtualinherited

Returns the pixel position of the anchor with Id anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor).

For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor.

See Also
createAnchor

Reimplemented in QCPItemText, QCPItemPixmap, QCPItemEllipse, QCPItemBracket, and QCPItemRect.

double QCPAbstractItem::distSqrToLine ( const QPointF &  start,
const QPointF &  end,
const QPointF &  point 
) const
protectedinherited

Finds the shortest squared distance of point to the line segment defined by start and end.

This function may be used to help with the implementation of the selectTest function for specific items.

Note
This function is identical to QCPAbstractPlottable::distSqrToLine
See Also
rectSelectTest
double QCPAbstractItem::rectSelectTest ( const QRectF &  rect,
const QPointF &  pos,
bool  filledRect 
) const
protectedinherited

A convenience function which returns the selectTest value for a specified rect and a specified click position pos. filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits.

This function may be used to help with the implementation of the selectTest function for specific items.

For example, if your item consists of four rects, call this function four times, once for each rect, in your selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when pos doesn't hit rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit.

See Also
distSqrToLine
QCPItemPosition * QCPAbstractItem::createPosition ( const QString &  name)
protectedinherited

Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based position access to positions).

Don't delete positions created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with new yourself, because they won't be registered with the item properly.

See Also
createAnchor
QCPItemAnchor * QCPAbstractItem::createAnchor ( const QString &  name,
int  anchorId 
)
protectedinherited

Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based anchor access to anchors).

The anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id.

Don't delete anchors created by this function manually, as the item will take care of it.

Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with new yourself, because then they won't be registered with the item properly.

See Also
createPosition
QCPLayerable * QCPLayerable::parentLayerable ( ) const
inlineinherited

Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method realVisibility. This way, layerables only get drawn if their parent layerables are visible, too.

Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0.

A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user.

void QCPLayerable::setVisible ( bool  on)
inherited

Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible.

bool QCPLayerable::setLayer ( QCPLayer layer)
inherited

Sets the layer of this layerable object. The object will be placed on top of the other objects already on layer.

Returns true on success, i.e. if layer is a valid layer.

bool QCPLayerable::setLayer ( const QString &  layerName)
inherited

This is an overloaded function.

Sets the layer of this layerable object by name

Returns true on success, i.e. if layerName is a valid layer name.

void QCPLayerable::setAntialiased ( bool  enabled)
inherited

Sets whether this object will be drawn antialiased or not.

Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

bool QCPLayerable::realVisibility ( ) const
inherited

Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not.

If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's realVisibility returns true.

If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility.

void QCPLayerable::parentPlotInitialized ( QCustomPlot parentPlot)
protectedvirtualinherited

This function is called by initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time.

For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements.

The default implementation does nothing.

See Also
initializeParentPlot

Reimplemented in QCPLegend, and QCPLayoutElement.

void QCPLayerable::initializeParentPlot ( QCustomPlot parentPlot)
protectedinherited

Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one.

Note that, unlike when passing a non-null parent plot in the constructor, this function does not make parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(parentPlot) in addition to this function.

Further, you will probably want to set a layer (setLayer) after calling this function, to make the layerable appear on the QCustomPlot.

The parent plot change will be propagated to subclasses via a call to parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does).

void QCPLayerable::setParentLayerable ( QCPLayerable parentLayerable)
protectedinherited

Sets the parent layerable of this layerable to parentLayerable. Note that parentLayerable does not become the QObject-parent (for memory management) of this layerable.

The parent layerable has influence on the return value of the realVisibility method. Only layerables with a fully visible parent tree will return true for realVisibility, and thus be drawn.

See Also
realVisibility
bool QCPLayerable::moveToLayer ( QCPLayer layer,
bool  prepend 
)
protectedinherited

Moves this layerable object to layer. If prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended.

Returns true on success, i.e. if layer is a valid layer.

void QCPLayerable::applyAntialiasingHint ( QCPPainter painter,
bool  localAntialiased,
QCP::AntialiasedElement  overrideElement 
) const
protectedinherited

Sets the QCPainter::setAntialiasing state on the provided painter, depending on the localAntialiased value as well as the overrides QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via overrideElement.


The documentation for this class was generated from the following files:
qcustomplot/documentation/html/inherit_graph_6.png0000644000175000017500000000176312236016575022731 0ustar dermanudermanu‰PNG  IHDRu#%±ÒbKGDÿÿÿ ½§“¨IDAThí˜M,3AÇg[ZR4¸nRÒŠHK-7œ¬Hz‰Õ77RMÄYRšHô@DHÅGD"Ä©')ËA£E7¨¯}ûfÞyw·»íÖûÖüN;ÏÌÿ™gÿ.Á²,À(†ê» Ès°¿Ê‚ýU–´AÓôñññw•’ †ÖÖÖ?mauuõû Ë(ŠB--ŽÀ' Ùô÷÷ó"xÿU쯲`•û«,?Ô_‚ r3‘L}>ŸÑhÔh4F£qyyíZYY1›ÍZ­¶ººÚëõrA‚ ‚ÐjµÍÍÍççç0ÈK+㶉¿‘!—*‘†ðü˦b{{›$É@ ðôô´»»K’äÖÖì2 ;;; ÄB¡ÁÁA.Î¥}}}ŸŸollDƒ"/IV¦BQïü+Ç_»Ý¾¾¾›kkk6› vmll%0-Ã0ÅÅż p`zzZ¯×“$¹¹¹Éïîîz{{KKKëëëONN%I$¿ººjjjÒétèDI$¡PÈjµò$Iú+gƒ°ÙÙÙ a—ÍfK$|{{[\\¬­­Mg–÷÷wš¦=Ëåâ"ccc}}}ápxfffxxŽÝDå]]]···*•ø]‹Jº»»“HRƒšæú­¨¨ˆD"°‰DÊÊÊD»ÐÐh4‹åôô”·vÐaðâåå…eÙ•JÅ+++aÙ0(Z°¨\¯×G£Q–e£Ñ([¿¢’‡‡ž$ ÙY¿f³ùðð6¸k“Éttt”臌ÇãgggV«5YŠŠŠjµúëë f¸¹¹áêþüü”*—1cæÈñwrrÒétîíí1 ³¿¿ïr¹¸í 0555::žŸŸ///‡††²U( §§g||<___;©r»Ý>77‹ÅfggÓ”´µµy<žX,æv»¥N÷t1§¹?°,ëõzkjj¸]iii íòù|uuu………ÜùŒ÷¢+‚ǽ¾¿¿w8åååUUU~¿?Q’Dò”ï7¡äââÂb±èt:§ÓYRR’Ò–ìœPFFFZZZ%©þ/âñ¸ÛínooO9Rè¯È÷II,,,d˜á‡ µZm2™à%IdêoÞÃfö5ü‡~ÈØ_eÁþ* öWY°¿Ê"r~ðûý¹¯#? iš$I4"âïÀÀ@®êÉC(ŠB›D†ç;Lrðþ«,Ø_eÁþ* öWY~¢˜L_è¸D©IEND®B`‚qcustomplot/documentation/html/QCPItemBracket.png0000644000175000017500000001034012236016574022405 0ustar dermanudermanu‰PNG  IHDRæ — ‡sBITÛáOà pHYsÄÄ•+ƒIDATxœíÝyXSw¾ÇñOVÙ]X¥ "Kµ® ¶.Oq›¶sõª[Û^¯8®Oë´ÓÞNíL«Ó;íU«}¦ÕòhÕ©myŠS½íÌh(0 "¢˜ÈŽK«(ˆ,„äwÿ8" Ô_ý¾þ É9' ¾Ÿ“ó;œü1Æ@?ÄúÒ3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,á %K8CÉÎP²„3”,é¹z$ Åÿݲý «AlŽ6t¾×€”ÿA™ñ®¥ x3ŸVmøë‹‘;«ÛmÄšH|uµÓ”,é±67l?­{OÖ1 å}”µv½ûê!¤†á9 Æã‹‘–§}­öÀª…øÃ6´XÝGɇ°ÄúbÙ2ÌšŽ_à¿f#» `(܆0ŒƒçVaÔXœ¢lÃw¡~ žþx=†ï‹¬Ÿ‘)óPx'@3ïÀ„%ð †&c íü¼Ê9D¡¡ãJ–8Ê\É¿ãÈ?ñIâínŒz,ÛŒ7O¡â ^6£¢½Eó ”G¡ð"Šßç¯â’3ÞEÔ0l?†Ìo0Î¥}‹M8¤ÇtUwO*†p ŽUwÜCÉG‰ã™' ²ºçf>~ G¢#* #åíKzãÅDÈa‘^‡“í šoá' †u€!E 'Jj¬^FŸÞý…+ #¶+X3 ƒ]àâ õ<üX ÀöÈãÁÉ u»@û£"iû’ˆ³½¼X™­v½¡¹ îòŽ;(Ù>³3°°©ÍÒq»cä!BÄ:”6Àpk[ñooÀÛ#‡Í IzG.ük/Ê»ù%HàfÁÍÎ ˆ<1iŠ®tûœ¾‰HeÇ”ìmÕ©ˆÆ”jì(€Ki˜®Âc‹óÁÚ‡ Ë—cÖthBð;[ {kݸÆíh­FR,L„· "7<5evÙw<6ò0|¶ÿ=!ã±­JOÈìå• °nFOCþwäŠçð÷,˜ß= ¯áø¦ÉjøÅ@o€¦³(F¬Õ¦aÌXÊ"ýØû§™…1s»ÚÄLålÚvø'Æ«;ÁÔcØ™f¹Æ¢älÅ1faìÆ·,@˪Ú»Á↱ïo1Æì¯%c/üƒY¬Ÿ²žÍÊR®tz–z¶>Œýêkf~nf+G±?êîÃ/ ÷Zš˜…1fa§ÞfËXCWo=Ï´QL×jça ûv[z¤Ó¯®Ë)…GÔÍ\”M ã Dnðjþ…ìJlzï°À؆kF Á¼Éž!ð­E «íÔÙYëî‹‘G >YŒïžÄñ¹íŸ}Rz¢¸ëÇ÷Þ' ékœ± –‘Øù9ZŽÊó·õ°7´øã“~u”ìm]ÆŒÁu"¾9Ž¡V°@‰ðƒ¢»öÖº{àÒuäÑŠ”%xßÇ?€äΚ]Gžü ô}Û„eöuÃÒä®÷ѱ, Š@ðiì-X ®08ª"lÍ‚@Îç¢Ábge«…ãkuy˜pày¼-Ã?>Æpë}È]#ÚË dA8°Kñ'¹;Ö§bE¾ÜƒçŸ‡Â‰Êøj’O=¬\€—'á÷AØsÄáµ\ñ\^ËÂF5Zó±v?®¹a¬xÄ¡ CÅ·GÿëcsýæÖ­[åååUUUF£QøÑl6{xx„„„„„„ 4¨¿_€ˆÙ;iFú™Q‡©/à³fó£Ÿáðb\Œ”Y]Zî§úúúÜÜÜÜÜܳgÏ–—————_¿~½›åýüübccW¯^=eÊ”~zI”ìƒÃP‚k31ÃæÈ£{v#á?1âþ~ÆÂÂÂÜvz½¾w…„‡‡¿÷Þ{ñññN…”죎1VRRr§ÑÓ§O·¶v÷w¹\ªV«ÕjµF£ñöö “É<<<TWWž9s¦  àÊ•+iii3gÎtî ¦dEmmm'NœøñÇoܸaoIOOO•J¥ÑhÂÂÂT*ÕèÑ£ƒ‚‚¤R‡öü©©©+WfOœ¸öðááiixã |ø!ú¾Û¥á×£¢¥¥%77÷ĉ™™™YYY6“H$ãÇ‹‹›0a‚B¡°¹˜#¦LY TÎ ØÕÜü⌢ÐÜÜëu ½ì/YCCCffffffzzz^^ž½O|©T:yòd!Ó)S¦xyy9ñ5üæ7ÆÏ>“xxH^yk×¢®nn0 ÷¤dijjj„FÓÓÓ Íf³ÍÅ >uêÔ˜˜˜èèhw÷}ÇàÞRSa0 (QQ·ï‘ÉPU…E‹°q#fÌèý–éÀà—àâÅ‹éééééé:ÎÞnÈÅÅE«ÕÆÅÅÅÅÅEDD¸ººößKÊ˃»;®Z]%K{Y§1›±?/€×_GRBCûñéôz½ÐhFFFee¥½Å„ý„„„iÓ¦EGG»¸¸Ø[Ò¹t:X,4J%ÚÚÀ×—.áå—±z5Æïý–)Y§Y°MMøâ ¸ºâw‘ãǹ}³Ù\TT$4š‘‘qõªÝË¿Åbñرc…Lãââ<==ù:zâòeTVbûvxzbõjŒí„mR²NSU…¢ãÊ|³I·+tË`0ètº .ët:½^¯Óéº?c*d:mÚ4ŸÿwÞk×0n6lÀúõ(-Å–-5 ¯¾Ú×ÍÒ±¬47#'§ëG‰û÷£¶Éw]‹t·šššóçÏët:N'ܨ®®¶Xì]‰Ó!444***>>>>>~Ĉ½}ýÂÏ'O"'jk1t(V¬pÂfi/ë¹¹HNFn.Ô××§§§ #›ôôa߯ر£D$¹ººÖÖÖÖÕÕÕÕÕݹQWWWVV¦×ë»9™ß…»»{xxxtt´V«ÕjµC† é¿÷õp¢½¬ŒÈHœ={vÇŽ{÷îµ:K¿PMžüR·¥Õj£££ÇŒ#éËÿ(Ù¾2™LÙÙiEE{ü®S€ÞœHòôô?~|TT”Pª¯¯ï½×ydP²½wæÌ™¯¾új÷îÝ—/_Rƒ‚òwïÞ}åŠdÏžõõ›óòò„S<öˆÅâaƩکÕj•Jp_Þ—èX¶Çòóó¿þúëÔÔT½¾ËWH´¾¾)þ^^ž V¯Æ[o¡±±±¬¬¬¹¹¹©©©®®®¹¹Ùl6ûøøx{{{{{ 7D¢xA,(Y‡ †ÜÜÜC‡¥¦¦Ú.†l1²ãðRëí©ÔüFࣿ¶Ïy+Ì”ö¼€Ö2àÓ'!aÂóð‹AA#<¡œù ¾ŽˆÞ^ºi2™*++»ÔYUUÕÖýéÐÎd2Ypp°F£¾Þ¤R©ÆŒ#“ÉzùšHr(Ù¶ ,ý6Çìa¸™Ž¨$$œÄÜmÈÌÄ/ñÛ0 ;ÿ†×Žá)ëËÜšpHù*0^EÝ`øÉ@æ ßT7žs4G80íT[[[UUU—:+**zT'wwwëóö&88˜å…CÉÚží^ÿÄŽÏÑls¦4ƒÁP\\|îܹsçÎ_¸p¡¢¢ÂÞ™&{ÜÝÝ•JePP°U*•4Æç—CÉÚœížsõZÏ”&ŠÁu¸fD¨ ¦\sBØ·Ï”f4u:]qqqQQQqq±07‰#Wß ¨P(FŽ)Ü2}.%ÎåP²ƒ# Z‰­YØ qΟBÀdtºÒýÎTjV÷Þ™)mÎ@ ÁÓ.øèïÐÎé]¸ÇÝ,ùùÿü¶ü/e¶ø×Wèù|—J¥J¥2¸¨R©¼SA‘‡„CÉÊ‚lÌŽÖ)ÙÎS©MÆRV3¥I\ðÆ>,]¿Í\¤ ýƒÊïXmm-ð1ð!JÎÙxR™,00PH3$$D¸H¸þ½ÆàÎLi¾µØ·o_vv¶ÕãC€£@P+‰T*•V«8q¢P§R©tpVòHéçËb¼}i{Κ“Çþ&Ìíhm Wd€üSÏJŸŠÖFFFÒ‡;qD?îÆ®_¿þÚk¯íÚµëÎ(JØ•FFFFFFFEEi4±˜æd&=Ó_ÉîÛ·/99ùæÍ›ÂÑÑÑË—/Ÿ3gÎ#ø]%â\ý’ì矞””d6›ýýý—.]𔔤Ruû¿>â0çË wâ– 8ùÀ`ïÞ½!!!ÙÙÙú2#!ö9gÀ~õ*vî€]»ŽªÕÇjj¨WÒ_œlk+"#QQ³Ù²hÑ|¥rлïö}«„ØæœcÙšTUáÏf ¦W^‘ÇÄô}“„ØÖ×dËËqñ"&MÂcA8 +—£ª |€˜<ý´s^%!wôuøuô(òòpñ"Úÿh£_~ ©?ü@Éçëë±ì¸qˆˆ@l,¬¯`™:P«û¸mBlpÚyÙ­[±e L&¬\‰7ßÄ­[Jáææ”mÒÁ g DD@­Fe%*+‹={àåE½’~á„d]]±e öï‡TŠÂB$'ƒ®"$ý‡¦‘#œ¡ËU g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(YÂJ–p†’%œ¡d g(Y™ÿUd~J'ìieIEND®B`‚qcustomplot/documentation/html/plottable-graph_8h_source.html0000644000175000017500000012007612236016574025103 0ustar dermanudermanu src/plottables/plottable-graph.h Source File
plottable-graph.h
Go to the documentation of this file.
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
26 #ifndef QCP_PLOTTABLE_GRAPH_H
27 #define QCP_PLOTTABLE_GRAPH_H
28 
29 #include "../global.h"
30 #include "../range.h"
31 #include "../plottable.h"
32 #include "../painter.h"
33 
34 class QCPPainter;
35 class QCPAxis;
36 
37 class QCP_LIB_DECL QCPData
38 {
39 public:
40  QCPData();
41  QCPData(double key, double value);
42  double key, value;
43  double keyErrorPlus, keyErrorMinus;
44  double valueErrorPlus, valueErrorMinus;
45 };
46 Q_DECLARE_TYPEINFO(QCPData, Q_MOVABLE_TYPE);
47 
55 typedef QMap<double, QCPData> QCPDataMap;
56 typedef QMapIterator<double, QCPData> QCPDataMapIterator;
57 typedef QMutableMapIterator<double, QCPData> QCPDataMutableMapIterator;
58 
59 
60 class QCP_LIB_DECL QCPGraph : public QCPAbstractPlottable
61 {
62  Q_OBJECT
64  Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle)
65  Q_PROPERTY(QCPScatterStyle scatterStyle READ scatterStyle WRITE setScatterStyle)
66  Q_PROPERTY(ErrorType errorType READ errorType WRITE setErrorType)
67  Q_PROPERTY(QPen errorPen READ errorPen WRITE setErrorPen)
68  Q_PROPERTY(double errorBarSize READ errorBarSize WRITE setErrorBarSize)
69  Q_PROPERTY(bool errorBarSkipSymbol READ errorBarSkipSymbol WRITE setErrorBarSkipSymbol)
70  Q_PROPERTY(QCPGraph* channelFillGraph READ channelFillGraph WRITE setChannelFillGraph)
72 public:
78  enum LineStyle { lsNone
79 
80  ,lsLine
81  ,lsStepLeft
82  ,lsStepRight
83  ,lsStepCenter
84  ,lsImpulse
85  };
86  Q_ENUMS(LineStyle)
90  enum ErrorType { etNone
91  ,etKey
92  ,etValue
93  ,etBoth
94  };
95  Q_ENUMS(ErrorType)
96 
97  explicit QCPGraph(QCPAxis *keyAxis, QCPAxis *valueAxis);
98  virtual ~QCPGraph();
99 
100  // getters:
101  const QCPDataMap *data() const { return mData; }
102  LineStyle lineStyle() const { return mLineStyle; }
103  QCPScatterStyle scatterStyle() const { return mScatterStyle; }
104  ErrorType errorType() const { return mErrorType; }
105  QPen errorPen() const { return mErrorPen; }
106  double errorBarSize() const { return mErrorBarSize; }
107  bool errorBarSkipSymbol() const { return mErrorBarSkipSymbol; }
108  QCPGraph *channelFillGraph() const { return mChannelFillGraph.data(); }
109 
110  // setters:
111  void setData(QCPDataMap *data, bool copy=false);
112  void setData(const QVector<double> &key, const QVector<double> &value);
113  void setDataKeyError(const QVector<double> &key, const QVector<double> &value, const QVector<double> &keyError);
114  void setDataKeyError(const QVector<double> &key, const QVector<double> &value, const QVector<double> &keyErrorMinus, const QVector<double> &keyErrorPlus);
115  void setDataValueError(const QVector<double> &key, const QVector<double> &value, const QVector<double> &valueError);
116  void setDataValueError(const QVector<double> &key, const QVector<double> &value, const QVector<double> &valueErrorMinus, const QVector<double> &valueErrorPlus);
117  void setDataBothError(const QVector<double> &key, const QVector<double> &value, const QVector<double> &keyError, const QVector<double> &valueError);
118  void setDataBothError(const QVector<double> &key, const QVector<double> &value, const QVector<double> &keyErrorMinus, const QVector<double> &keyErrorPlus, const QVector<double> &valueErrorMinus, const QVector<double> &valueErrorPlus);
119  void setLineStyle(LineStyle ls);
120  void setScatterStyle(const QCPScatterStyle &style);
121  void setErrorType(ErrorType errorType);
122  void setErrorPen(const QPen &pen);
123  void setErrorBarSize(double size);
124  void setErrorBarSkipSymbol(bool enabled);
125  void setChannelFillGraph(QCPGraph *targetGraph);
126 
127  // non-property methods:
128  void addData(const QCPDataMap &dataMap);
129  void addData(const QCPData &data);
130  void addData(double key, double value);
131  void addData(const QVector<double> &keys, const QVector<double> &values);
132  void removeDataBefore(double key);
133  void removeDataAfter(double key);
134  void removeData(double fromKey, double toKey);
135  void removeData(double key);
136 
137  // reimplemented virtual methods:
138  virtual void clearData();
139  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
143  void rescaleAxes(bool onlyEnlarge, bool includeErrorBars) const; // overloads base class interface
144  void rescaleKeyAxis(bool onlyEnlarge, bool includeErrorBars) const; // overloads base class interface
145  void rescaleValueAxis(bool onlyEnlarge, bool includeErrorBars) const; // overloads base class interface
146 
147 protected:
148  // property members:
149  QCPDataMap *mData;
150  QPen mErrorPen;
151  LineStyle mLineStyle;
152  QCPScatterStyle mScatterStyle;
153  ErrorType mErrorType;
154  double mErrorBarSize;
155  bool mErrorBarSkipSymbol;
156  QPointer<QCPGraph> mChannelFillGraph;
157 
158  // reimplemented virtual methods:
159  virtual void draw(QCPPainter *painter);
160  virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const;
161  virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const;
162  virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const;
163  virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain, bool includeErrors) const; // overloads base class interface
164  virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain, bool includeErrors) const; // overloads base class interface
165 
166  // introduced virtual methods:
167  virtual void drawFill(QCPPainter *painter, QVector<QPointF> *lineData) const;
168  virtual void drawScatterPlot(QCPPainter *painter, QVector<QCPData> *pointData) const;
169  virtual void drawLinePlot(QCPPainter *painter, QVector<QPointF> *lineData) const;
170  virtual void drawImpulsePlot(QCPPainter *painter, QVector<QPointF> *lineData) const;
171 
172  // non-virtual methods:
173  void getPlotData(QVector<QPointF> *lineData, QVector<QCPData> *pointData) const;
174  void getScatterPlotData(QVector<QCPData> *pointData) const;
175  void getLinePlotData(QVector<QPointF> *lineData, QVector<QCPData> *pointData) const;
176  void getStepLeftPlotData(QVector<QPointF> *lineData, QVector<QCPData> *pointData) const;
177  void getStepRightPlotData(QVector<QPointF> *lineData, QVector<QCPData> *pointData) const;
178  void getStepCenterPlotData(QVector<QPointF> *lineData, QVector<QCPData> *pointData) const;
179  void getImpulsePlotData(QVector<QPointF> *lineData, QVector<QCPData> *pointData) const;
180  void drawError(QCPPainter *painter, double x, double y, const QCPData &data) const;
181  void getVisibleDataBounds(QCPDataMap::const_iterator &lower, QCPDataMap::const_iterator &upper, int &count) const;
182  void addFillBasePoints(QVector<QPointF> *lineData) const;
183  void removeFillBasePoints(QVector<QPointF> *lineData) const;
184  QPointF lowerFillBasePoint(double lowerKey) const;
185  QPointF upperFillBasePoint(double upperKey) const;
186  const QPolygonF getChannelFillPolygon(const QVector<QPointF> *lineData) const;
187  int findIndexBelowX(const QVector<QPointF> *data, double x) const;
188  int findIndexAboveX(const QVector<QPointF> *data, double x) const;
189  int findIndexBelowY(const QVector<QPointF> *data, double y) const;
190  int findIndexAboveY(const QVector<QPointF> *data, double y) const;
191  double pointDistance(const QPointF &pixelPoint) const;
192 
193  friend class QCustomPlot;
194  friend class QCPLegend;
195 };
196 
197 #endif // QCP_PLOTTABLE_GRAPH_H
qcustomplot/documentation/html/ftv2folderopen.png0000644000175000017500000000112512236016574022607 0ustar dermanudermanu‰PNG  IHDRÚ}\ˆIDATxí]?oÓPÿ9iš4i°;ii“¶‰ZЉ‘‰ÀÀ7`bèÔÙ¬Øù,HìU'ô$*Tµ]‚T¡DPÚÄ6wÏ}‰;¡C; a¿ÓߟûÝïîž¼jAÀ­InSþ}€9H“ÓŽ|?íÁ÷ =_ÊÆŠ­†¥Àue*;¯YEäsYäæB¢Ÿ¿þÄ—£sÙ½½ÙŒ† É«›©ÀYÇq !GÇ¿v̇¹ÑØ®š °Œ‚ÔF¹}q¥b]÷7í·0)Úd›¾ÿð-èº}Pfä£ÖY{4™ÑÂ@}úæôñ2ÛüÔ—ñúåNŒI‚ÁǃcçÁº%£¬UаI³mc±ô˜å¼ÔÆüÈ>é¸xþt9Æ$µý OæVE*õU´Ì‚ç#ž×ˆ•ïûr@l$øPÿrHaaÇ¥ ²›dZ®rè‘ãqI„o¼øT\Ž,tªj2FAxv-LŸp׌p TÄI/ \¥sfí½; jViTƒèú¤o^cpÅü¼ûû»Ïb]”€¢¤<†aþÕœ²“ßÓ˜y“£§9:Œîù+À³€ñà,E žf³6éNˆÄE£KU}Ü^;¶ØnZ¢uß­US4— ѬëbížN¶.Úk¦ØjTÄöº%µªâ i¯VÄÊÝò§™ Èù¸)ùÿG€™òºJ@T x”IEND®B`‚qcustomplot/documentation/html/functions_func_0x71.html0000644000175000017500000001314612236016575023641 0ustar dermanudermanu Data Fields - Functions
 

- q -

qcustomplot/documentation/html/inherit_graph_0.png0000644000175000017500000000164412236016575022721 0ustar dermanudermanu‰PNG  IHDRh#÷áØYbKGDÿÿÿ ½§“YIDAThí˜MKã@Çgêš Eaz­­ Q‘ê—¨wOÒŠ7ô(ˆ ªA«½”ô{Šøöä¡…RE${˜&iÚκ¶.ó;ež·<ùwf: 4 pÇÕì~*\8F¸pŒü2onn^^^šÒJ+ãñx¦¦¦*LF%¡P¨I½µ4¡PÈ$”yÆá ³³³ïo®e™››³ùÇŽ.#\8F¸pŒ° Ç}>Ÿ >Ÿïèèˆv‹¢800‹Å°B!Eqrròþþž6BÝn÷ÄÄD&“©¿œ(IR ˆF£5ƒx¶z°žã¬g+Š¢ „²Ù¬ªª¹\!”J¥ˆËãñ¤ÓiMÓççç±ßëíímwwwllŒ6†¡ëúÉÉIOOOÍ[p®ªª™L¦¿¿?Ö fÃVFáfff‰žŸŸƒA⺼¼´¦Ö5M“$ÉdÄ Òñ¾¾>EQˆegg!!4*µH¥R@ Z®u¢X‹;ð•Âuuu‹E2,‹¶.úa Ãx7Í8‚Ûí¾¾¾¦S>??óù¼ßï'Á‹‹‹¯¯¯tAL©TêèèpÎ5õc pàß '˲­ëÏ‚0>>~{{KŒøB×õíííÙÙY44ÔÞÞŽ#Ößœ@Ú$izzúááïîîîííÝÚÚÕg@ÅÑÑÑýý}º1kîææ¦,Ëxhà€­&Шܡñ—€†¾ŽD"‘»»;EQpgÿ¶šØ|Vj”½½½¿/òãà¯\ŒpááÂ1Â…c„ ÇŽ›ãH¡P8==ýþVZ–B¡€2[­§äfôÖêÔ~sàÔ ßãáÂ1Â…c„ ÇÈoã–Fkâ5£%IEND®B`‚qcustomplot/documentation/html/functions_0x6d.html0000644000175000017500000001514712236016575022713 0ustar dermanudermanu Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- m -

qcustomplot/documentation/html/functions_func_0x73.html0000644000175000017500000010721612236016575023645 0ustar dermanudermanu Data Fields - Functions
 

- s -

qcustomplot/documentation/html/item-text_8h_source.html0000644000175000017500000005533312236016574023741 0ustar dermanudermanu src/items/item-text.h Source File
item-text.h
1 /***************************************************************************
2 ** **
3 ** QCustomPlot, an easy to use, modern plotting widget for Qt **
4 ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer **
5 ** **
6 ** This program is free software: you can redistribute it and/or modify **
7 ** it under the terms of the GNU General Public License as published by **
8 ** the Free Software Foundation, either version 3 of the License, or **
9 ** (at your option) any later version. **
10 ** **
11 ** This program is distributed in the hope that it will be useful, **
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of **
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
14 ** GNU General Public License for more details. **
15 ** **
16 ** You should have received a copy of the GNU General Public License **
17 ** along with this program. If not, see http://www.gnu.org/licenses/. **
18 ** **
19 ****************************************************************************
20 ** Author: Emanuel Eichhammer **
21 ** Website/Contact: http://www.qcustomplot.com/ **
22 ** Date: 04.11.13 **
23 ** Version: 1.1.0 **
24 ****************************************************************************/
25 
26 #ifndef QCP_ITEM_TEXT_H
27 #define QCP_ITEM_TEXT_H
28 
29 #include "../global.h"
30 #include "../item.h"
31 
32 class QCPPainter;
33 class QCustomPlot;
34 
35 class QCP_LIB_DECL QCPItemText : public QCPAbstractItem
36 {
37  Q_OBJECT
39  Q_PROPERTY(QColor color READ color WRITE setColor)
40  Q_PROPERTY(QColor selectedColor READ selectedColor WRITE setSelectedColor)
41  Q_PROPERTY(QPen pen READ pen WRITE setPen)
42  Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen)
43  Q_PROPERTY(QBrush brush READ brush WRITE setBrush)
44  Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush)
45  Q_PROPERTY(QFont font READ font WRITE setFont)
46  Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont)
47  Q_PROPERTY(QString text READ text WRITE setText)
48  Q_PROPERTY(Qt::Alignment positionAlignment READ positionAlignment WRITE setPositionAlignment)
49  Q_PROPERTY(Qt::Alignment textAlignment READ textAlignment WRITE setTextAlignment)
50  Q_PROPERTY(double rotation READ rotation WRITE setRotation)
51  Q_PROPERTY(QMargins padding READ padding WRITE setPadding)
53 public:
54  QCPItemText(QCustomPlot *parentPlot);
55  virtual ~QCPItemText();
56 
57  // getters:
58  QColor color() const { return mColor; }
59  QColor selectedColor() const { return mSelectedColor; }
60  QPen pen() const { return mPen; }
61  QPen selectedPen() const { return mSelectedPen; }
62  QBrush brush() const { return mBrush; }
63  QBrush selectedBrush() const { return mSelectedBrush; }
64  QFont font() const { return mFont; }
65  QFont selectedFont() const { return mSelectedFont; }
66  QString text() const { return mText; }
67  Qt::Alignment positionAlignment() const { return mPositionAlignment; }
68  Qt::Alignment textAlignment() const { return mTextAlignment; }
69  double rotation() const { return mRotation; }
70  QMargins padding() const { return mPadding; }
71 
72  // setters;
73  void setColor(const QColor &color);
74  void setSelectedColor(const QColor &color);
75  void setPen(const QPen &pen);
76  void setSelectedPen(const QPen &pen);
77  void setBrush(const QBrush &brush);
78  void setSelectedBrush(const QBrush &brush);
79  void setFont(const QFont &font);
80  void setSelectedFont(const QFont &font);
81  void setText(const QString &text);
82  void setPositionAlignment(Qt::Alignment alignment);
83  void setTextAlignment(Qt::Alignment alignment);
84  void setRotation(double degrees);
85  void setPadding(const QMargins &padding);
86 
87  // reimplemented virtual methods:
88  virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const;
89 
90  QCPItemPosition * const position;
91  QCPItemAnchor * const topLeft;
92  QCPItemAnchor * const top;
93  QCPItemAnchor * const topRight;
94  QCPItemAnchor * const right;
95  QCPItemAnchor * const bottomRight;
96  QCPItemAnchor * const bottom;
97  QCPItemAnchor * const bottomLeft;
98  QCPItemAnchor * const left;
99 
100 protected:
101  enum AnchorIndex {aiTopLeft, aiTop, aiTopRight, aiRight, aiBottomRight, aiBottom, aiBottomLeft, aiLeft};
102 
103  // property members:
104  QColor mColor, mSelectedColor;
105  QPen mPen, mSelectedPen;
106  QBrush mBrush, mSelectedBrush;
107  QFont mFont, mSelectedFont;
108  QString mText;
109  Qt::Alignment mPositionAlignment;
110  Qt::Alignment mTextAlignment;
111  double mRotation;
112  QMargins mPadding;
113 
114  // reimplemented virtual methods:
115  virtual void draw(QCPPainter *painter);
116  virtual QPointF anchorPixelPoint(int anchorId) const;
117 
118  // non-virtual methods:
119  QPointF getTextDrawPoint(const QPointF &pos, const QRectF &rect, Qt::Alignment positionAlignment) const;
120  QFont mainFont() const;
121  QColor mainColor() const;
122  QPen mainPen() const;
123  QBrush mainBrush() const;
124 };
125 
126 #endif // QCP_ITEM_TEXT_H
qcustomplot/documentation/html/namespacemembers.html0000644000175000017500000001430512236016575023344 0ustar dermanudermanu Namespace Members
Here is a list of all documented namespace members with links to the namespaces they belong to:

- a -

  • aeAll : QCP
  • aeAxes : QCP
  • aeErrorBars : QCP
  • aeFills : QCP
  • aeGrid : QCP
  • aeItems : QCP
  • aeLegend : QCP
  • aeLegendItems : QCP
  • aeNone : QCP
  • aePlottables : QCP
  • aeScatters : QCP
  • aeSubGrid : QCP
  • aeZeroLine : QCP
  • AntialiasedElement : QCP

- g -

  • getMarginValue() : QCP

- i -

  • iMultiSelect : QCP
  • Interaction : QCP
  • iRangeDrag : QCP
  • iRangeZoom : QCP
  • iSelectAxes : QCP
  • iSelectItems : QCP
  • iSelectLegend : QCP
  • iSelectOther : QCP
  • iSelectPlottables : QCP
  • isInvalidData() : QCP

- m -

- p -

  • phCacheLabels : QCP
  • phFastPolylines : QCP
  • phForceRepaint : QCP
  • phNone : QCP
  • PlottingHint : QCP

- s -

  • setMarginValue() : QCP
qcustomplot/documentation/qcustomplot.qch0000644000175000017500000764200012236016576021301 0ustar dermanudermanuSQLite format 3@ Ñ-â%û û  ÞÞ Gcom.qcustomplot.documentation ôô doxygen  úqúpˆn }ÑûõïéãÝ×ÑËÅ¿¹³­§¡›•‰ƒ}БHÏcÎ~ÍÌŽ4ËOÊŒjɌȋ ÇŠ;ƉVňqĈ Ç'†BÁ…]À„x¿„¾ƒ.½‚I¼d» ’É@ ¥“index.htmlQCustomPlotÿÿÿÿ index.html>QCustomPlot 1.1.0 Documentation$classoverview.htmlClass Overview$classoverview.html4Class Relationship Diagram$clasÅ BB¬)—¤ ƒh)) tableNamespaceTableNamespaceTableCREATE TABLE NamespaceTable (Id INTEGER PRIMARY KEY,Name TEXT ){55tableFilterAttributeTableFilterAttributeTableCREATE TABLE FilterAttributeTable (Id INTEGER PRIMARY KEY, Name TEXT )l++tableFilterNameTableFilterNameTableCREATE TABLE FilterNameTable (Id INTEGER PRIMARY KEY, Name TEXT )h##tableFilterTableFilterTableCREATE TABLE FilterTable (NameId INTEGER, FilterAttributeId INTEGER ) !!‚ tableIndexTableIndexTableCREATE TABLE IndexTable (Id INTEGER PRIMARY KEY, Name TEXT, Identifier TEXT, NamespaceId INTEGER, FileId INTEGER, Anchor TEXT )c))tableIndexItemTableIndexItemTableCREATE TABLE IndexItemTable (Id INTEGER, IndexId INTEGER )x--#tableIndexFilterTableIndexFilterTableCREATE TABLE IndexFilterTable (FilterAttributeId INTEGER, IndexId INTEGER ){''5tableContentsTableContentsTable CREATE TABLE ContentsTable (Id INTEGER PRIMARY KEY, NamespaceId INTEGER, Data BLOB ) ûû È"©.– ŠÈX''qtableMetaDataTableMetaDataTableCREATE TABLE MetaDataTable(Name Text, Value BLOB ) 33/tableContentsFilterTableContentsFilterTable CREATE TABLE ContentsFilterTable (FilterAttributeId INTEGER, ContentsId INTEGER ) 77#tableFileAttributeSetTableFileAttributeSetTable CREATE TABLE FileAttributeSetTable (Id INTEGER, FilterAttributeId INTEGER )f '' tableFileDataTableFileDataTableCREATE TABLE FileDataTable (Id INTEGER PRIMARY KEY, Data BLOB )t ++tableFileFilterTableFileFilterTableCREATE TABLE FileFilterTable (FilterAttributeId INTEGER, FileId INTEGER )| ''7tableFileNameTableFileNameTableCREATE TABLE FileNameTable (FolderId INTEGER, Name TEXT, FileId INTEGER, Title TEXT )t##/tableFolderTableFolderTableCREATE TABLE FolderTable(Id INTEGER PRIMARY KEY, Name Text, NamespaceID INTEGER ) ûû ûŠû‰rõûõc~³ÄûöñìçâÝ×ÑËÅ¿¹³ÃuÂdÁNÀ9¿)¾½¼x»iºX¹J¸;·.¶ ÝÝ!G com.qcustomplot.documentation ÊîÊ"%3CreationDate2013-11-04T23:19:42!qchVersion1.0 ~ úôîèâÜÖÐÊľ¸²¬¦ š”Žˆ‚|vpjd^XRLF@:4.(" þøòìæàÚÔÎȼ¶°ª¤ž˜’Œ†€ztnhb\VPJD>82,& üöðêäÞØÒÌÆÀº´®¨¢œ–Š„~xrlf`ZTNHB<60*$ ~ } ~| }{ |z {y zx yw xv wu vt us tr sq rp qo pn om nl mk lj ki jh ig hf ge fd ec db ca b` a_ `^ _] ^\ ][ \Z [Y ZX YW XV WU VT US TR SQ RP QO PN OM NL MK LJ KI JH IG HF GE FD EC DB CA B@ A? @> ?= >< =; <: ;9 :8 97 86 75 64 53 42 31 20 1/ 0. /- ., -+ ,* +) *( )' (& '% &$ %# $" #! "  !                                           eÙùñéáÙÑÉÁ¹±©¡™‘‰yqiaYQIA91)! ùñéáÙÑÉÁ¹±©¡™‘‰yqiaYQIA91)! ùñéáÙÑÉÁ¹±©¡™‘‰yqiaYQIA91)! ùñéáÙc äb ãa â` á_ à^ ß] Þ\ Ý[ ÜZ ÛY ÚX ÙW ØV ×U ÖT ÕS ÔR ÓQ ÒP ÑO ÐN ÏM ÎL ÍK ÌJ ËI ÊH ÉG ÈF ÇE ÆD ÅC ÄB ÃA Â@ Á? À> ¿= ¾< ½; ¼: »9 º8 ¹7 ¸6 ·5 ¶4 µ3 ´2 ³1 ²0 ±/ °. ¯- ®, ­+ ¬* «) ª( ©' ¨& §% ¦$ ¥# ¤" £! ¢  ¡   Ÿ ž  œ › š ™ ˜ — – • ” “ ’ ‘    Ž    Œ  ‹  Š ‰ ˆ ‡ † … „ ƒ ‚  € HøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPHz ûy úx ùw øv ÷u öt õs ôr óq òp ño ðn ïm îl ík ìj ëi êh ég èf çe æd å ûL­óQƒ&Àxœë ðsçå’âb``àõôp ÒŒ@¬ÂÁ$‹Ríž.Ž!Œoïžæmr`p½ÈiþêPĤ‹?89]~rdI¸ÿiàjH½Ñ±˜ûµÅÎÙÓÛ+öÝ{ê­·UµÅ ÷ä5m“Ì‹òr*ÇÛN”L¾¾ÿlU¸`š©cÔCõò=?Ž)m ŸóáS:»ê·U)Ï4Ÿý›y2ÈÐÔm]Ê›y<'/L¼ï¿úúA©/»åœ•8¬O·:‰ÁÓÕÏeSBLXLo7‚r§xœë ðsçå’âb``àõôp ÒŒ@¬ÂÁ$‹Ryž.Ž!Œoïr2hyø`NÐÒˆä^žæž—W¤‹Õ|ºzsΓÇé‘3ŒgœÿÞ^Z½øJøôSÁo{ 'ÜQØãœÕ‘é<¡Í}ÍßçϽ´k®Ý-6ÿÙ£}svBI“ñÜ;M‰‹¼—°ºKn`üx6ênH½­ƒÖKç»í>@›<]ý\Ö9%4âYD‚<Žxœë ðsçå’âb``àõôp ÒŒ@¬ÂÁ$‹R¡ž.Ž!Œoçzs58«ç/Ñèêˆ>º÷êŠÿÊ7W®}ÎÁùsîÁoŸ—ɇ/KUæ5.áô”T1Öž°ç‡ëãº~¹½ò–ëo?x1©Üwûþoÿkë#¿Æ¿rd2‰œ÷¸hƒ§«ŸË:§„&[ƒ4Fƒ,†\‹xœ½SÝNƒ0¾ç)š3M€À–eW&&óÂw0z€»–´ecš½»e° S§ÞH€ç§ß%´Ÿ…m˜öqÆÞ<掲—B«Zò€VP`Âj-®&®å9 +YL®û¾ q[&,Ž¢Ë.ñ䨴©¸ËäJÚÀЫ[#žUÍ ™ÃŠÄ6a“§:#l©ÁÍNü%J\ƒÿˆb–2ðï5ð HÔ”/¼çu¼{¾C¨Ùy#=ƒú]WÞ×Ûw¬@$u+àœdq|çd*Žl;…ãP„›0¹ýj*ÈPˆÅŸü$1(‘ŠÒ­;»9Ø×ÂÆn…”JžðžÎ=*{9ÕŦÑèklz”T þ É#G3ä8hÓX¡s@ªþéSC¥ YR2Ñ-XWΔP:aÓÛÙýü¡ËYlœÀ¸Ú8ªUÃâþÒE WÓùÜg·(¼»ŒqÌ”†=JoN[RµmÍ<ñËmO¶ ,:쥷I©Ö¨þMÊóu!hÆäyþý‘Ó¼?ã0:¯|¼MìÖå‡Ô3üáÿøï¼wJf`­ 4Å'‚R™xœë ðsçå’âb``àõôp ÒŒ@lÁÁ$73±îR ž.Ž!Œoïzó5(ð¸^œ¶=š½íG£ÓÅÜìGGyÈHL/(º¼G¯©ïsÓ«¾%ÒAfQ až¬…\'4™fmnÉù~¾·ß¬˜ÙCBá.#Ã×J ] ž®~.뜚ÊG8óm^bxœë ðsçå’âb``àõôp ÒŒ@ÌÃÁ$u^:IMOÇ Æ·w¹8œ×2³ožu{ö…E}ëh*h¾þ«ð2ñè‹;ûå³´å\¸Òåéêç²Î)¡ ¡äIƒ¸xœë ðsçå’âb``àõôp ÒŒ@¬ÂÁ$‹Rõž.Ž!Œoï6r6908\\l($ÒºDiÖ"Õež§w¥M3‹–ÞâqøI`³Í=©G_ÿMˆ—R¤p¶~R±½T‡¿íÅËÕϸµ÷)¼ýðM·®èpoôœ]kßH­Ém–¼¶¦Yêîú {»®ºiFîRå^ž'~FÇRÐiÁÌI+/öÄüeµ9ªüçÝ»©ò@§0xºú¹¬sJh‡ÄJN BB…; Šz¨xœ¨Wý‰PNG  IHDR /ð9ÐoIDATxíMLAÇßìN»»¥ívKùPJik±R5^ŒChÂŃ!Dzƒ *U4VƒbÄD1~`8xà@ˆ^¿?ð𤡸Ý@јÝná`JLLÝØ¦ƒÜXi v«9ê)·}aV±&Ò0)›¼ð(‰zÛküNcFPÛù'@é¨KZK%!13§5£}Ý€ÒdÀã°’>´Åç´çhï¹G…ÉZ ïz×Ú—Éi£“ì–º=…@O¹«È‚1Ó¯¦3ãF«[ºä’d²¾JÒã`|^3˜Ý\›¿¡]²ó•'fçÓùyˆÄîçâÙ@¥Cos˧d:?$lhûnÝ× nm\†$cÔL6Ñý »Ì´x@N¦oPÀ®Î‘òÕ”€GÔ÷>9¹¨Q@ã±á“.‡qŠÜ´¼°Ø ”PCt(á«yŒQ$±°hÔNý8¤¥Ë MNjÿ$þßþŲo_ƒsLIEND®B`‚Zö<ó±äÄ ù.¥Be. Z¬Ð×ÇÈöå¹­ù'Ù-PëìŠyF.ž‚žÝÚ€lp&.êˆð•jò7’re’z19»ã§HGíø%œüq°ïüz׈c¬_k_")ŸHJnÐÑ~ˆÐÖ˜á´äÕ5 µÁq€ÿ5#¸·îà¶+9T‘‚ ðŽ÷Rܸrz“Ï´Ì =Ï…{ðáO£Èf ¡Íwg|Ž’Ü/¢Þ$÷¯¢ëðúÀ;¿à¨Ö™âÒÆ­]¯ÜW"Þ/< ‡÷DÏà°½üB}çyIEc^—ƒ=[V“Ýh²ëMä$l];Kû®¸ýr¦È*Åò ÿtÒõ$]•MŸ÷´;×I€1èó!‚œõ¸M õ¨(fÌæ<ÁÎÎò5~z¿ù¶ž mÌêÕ >–âÚ©âëˆIÎÞçz;ãu[i·eç^ÆÜÙÓ³NÞëF6B\}7†»+üŽÓ,Ã'a ½˜-yHY¿,‘^—ñfú~ß?Hcø¸…¸ñó{Z+4\såƒû·¯Ù·nߣð«íFÆ¡sغëû§D¾?ò<–Ævkx0ÅM±ælذÁIÓxÿd”žÜÉ÷EE»AªM«g*È£YEí7Û™^[uíý®v[wGå†=Ed¼n×¶ÆæÖÅl¡'¨pGÚk+‹æ¢À¬¨C8ªâš2 dz3H£ß ¡¨BÒûSÃÅù[wŘ ~xpçútÁæmö¤Å£¥iQæ­‰AB1ÉfÙ‰›4u¹ïìIÒ]Ë6äò%ÿ†† 1t.’NJph¬zÌ ÎR1Ž"3-"¸‡‹&ìó°1âüžìó[:‡ï„¼‘……N m–“W0®_èÜœ ×õ6ùò&»)Æìꦬýæ}¬ñ~»{múù]z½£M•ºP~^Îá:eQTÙ_*7ÕÄ9É8—·Ëï 3°¶47E•î¿u÷“SÉ»U¯ _ NíºôW¬e¸ÄNÓ|»;™¿;ŒæÅd"ȉôøòÞµõï¾®½"èÄ´ÖMM+bYµ‘_ÉæEÝüÎ]P»¹XKÐI½Þ¥oE<_¹(„EP±Œ|mÇÁ¡‘Ý,ŠÓ©ººZ±Îߺ§×kÝ,kÍMš`Äø…jzeU»æ ™Át3ÓÀ½˜6—ÒöùË·r¨¹Ñ}““wö:Χùë¼ ¿|‚TܵÉQˆKßç_ÁâÀ™œ”pÑÐóໃ¼Ydâ0!®àa –øöçW$ÃÁ‘Á$/\¬$ð 2ÞímÞLH‹Ÿ èd£HVÜ,:ò½»RÍZšJ­a„z*>‹_…NT(ù‚^SVF­U¹8ñEþôñ܈óùnd;«®8™\C]ø=Èêm¬Æ:‚´ÆbãDd=Áãßžˆ‹UU5O‹|]þð®Pèêv‰á\]2ßìÿ"yÈ[ïyʧz£g{Y«{„Ùø5©ÿ;w{N3é­nâĨw§Á¢ÍK¢Ý­ûÏ29Id¿’ì y)ìPÞò8ŒÅ©¯‰±@mPÔñwjl,6 áhWÕ˜d öà uõmÁp®.™á£Ç…twöR x­BδYcŒxg*vo  yò‘•“[¬?ÜVœ˜0ÒN¡O난~Žó’¯·h#´Hkýœ±8kÓß^Àq@]àÓ“ø,56´¯÷Í-κU»n…[>]@nîøÏœp›[œ6# €4tën¯:ŽÒþ}…—8äT9_žY$/´G’K™©ù†•(óÑ’Mø©`ŸÉdѺ;ùO‹B Ó&P{qöhJÉ+Úé–§¦l2«MïöÝ_1ÑÓ«’t¸½±l€ëØya ¦ô©«®½ÆL^¬žêñš¸ùy.¾Û½Š[ u/]½‹iS}øN>²e1™q‡jfÚ&¢©iT\=kÏ›ÀXô-.84V5ðu!TE˜ þ.ŒOH´¶4—zwTr.ï‰¦Ë xõµ·œÖ„HÆù£žÈHùg Ñhñ’T$ßyq¸zþ¨p¿´ë< q•ró÷š‰wÿÍÑð–I]´–æI²é²˜sÂ"×:Õ–bÕ¦“ÈÙL6¢9VÊÓWž§<æ;”3?ý©Mê3AV#µ±ËÞ¯‘ž K£UrÝ9!›qát¦H£Ù+6ÇV…/TS^pÃùqgLP'Ú5E ‚–ÀÞºîÄ Ën"2|Ÿ;®W»Îý"Ö¬TwÖâµtúŽO'› á+W Ã+¦âZÌ–<ÕÆ&nOÝ,IŠ£06.ÁZ.Çñúøh*INÚ’Oe½ÉgBXÐÔZóäøä9èü“hÒíDSš¥¡Ê µA¯/Ôc¸ö“`A§¯"zå|‘ €ÅŸ¨ú;HÍ#‚Î|%ÄOˆƒ«OàÌÉÐÜD ž mÜðâc–ƤÉÂqm¶uË&~÷núÒË £ÇÏ€ZÕj =«_n[‡‡÷nN§ÏÝ$_¾bE˜‚€Õ)ù8¾?6‘lú“ÍÙæÖ}#bW( œ³d-®•p&¡ý’œÖa”"9öõņÐ$’Ú›AÜ!ä;ÐÑõè{~á¹8‘ÛÞ£1ÛÓÉ0ž`²#´kÒuäNÅÖ Q¹bhæ ”8ûÓMáŽa›•¿”w±h²¢®qŠæ°(bK ‚’Z¾Ò%ÐÆémáãÖË(Éý‚ÛJ)@> þ›7% ï{y Á“¾ÆÒîohfòô>{pÿ.­_Î%±ÉèägëlZØ\B2B #™¸ÚüÒºp‚hÝšü®[¥Ü<‹#SpñÌA7’ãØHƒt4:Ÿ|g¨tÓL¶*($Æ©»ì…®ù’ó÷$;b›ÔÙ`=¶£¦M„MÌÄ5ò«·Ç¾“H·ÌH.¼žHeAîº5}r­dõ¨±)ÀT};€Q5iÖ2…O0ü…0óñÃ;óæ,Š´²µ냔}g‘£]‹7å9ˆà©_{üèîêžC>úhê{Ž .ÈìðIIð€?[Kswz6Òuíý¬;µ€ç§OåâJÉa˶zv°éd† ¤µâ‚l´é舊«Åüy¾c÷ÁèÖÍ'ràúÅ™TWÕôÓ°¡L €|ʽŒ¼ì­høBã ÝTëî'ò]Kø£ìâÏ(=¹Kx €¿ LÌ,Pý¤Êµu‡¹…׈ §Å¾÷à1Ý«Äý;¿pGDäxZYÛ kfæ6¸ùóæ7®œ®þ6·ÕoÚ¾ÔH~ò®Þ¸â 8Uø“p<ºw3¡a£ÏÑ’‘3èÏ"€bˆ-ÎܺÏ_ªÅ]+ËM©zü°s“f-êçhÇãÑýÊãôÿ5}ZQNb{Ó?å%ÿ\SUõعIÓæ}~}p[œoÔÄ„êÐMMZáNÅå@>Œ„²á6(?¡Åé âK½+ü?À%ÝÝ·/Ç1‚9áUø?B)”ÕèâÞlÈÒêÏ @=àùÄÞžk­®ÅIEND®B`‚=Òz. „„ ‚$„xœë ðsçå’âb``àõôp Òœ ÌÁ$LdRÞž.Ž!Œoïæò:(r´]tÏžy’Éü€n‚ZñË’bæe|ü÷éƒ £ÃÓìZ†UF ½­œªãOÿÛï·‰WÏÊÀ%{i÷¡Ù|Jœ×fk.¨¸dúh,ƒ§«ŸË:§„&Ø',FV »0ÃxœÃ<ñ‰PNG  IHDRh ;ˆØŠIDATxí]y\•Õº~45%TL Q”PE"q–Û11±]8a„w*©¨(*â" ˆzÀè`8 ¨‰¢mÅ,’òà„p$%”œBó(8k†Ü÷ýÜû6lòö»§k÷Ç÷[ÏÞß·Ö;?k½ëßÕÕÕPxÑêÏ't´ÏùÈ€zÀÇÅ3_€Q4€g@œmÿ ¾ò‰âci‰ôçÿ{ ðÇð¬ù~½Á€4:õHcÂü ðŸÁ³„ª'ÕPÆæ P7^h،♠zb„cóP¨„ 3‚† Ò}çÿO²qÁºNkÝTÛ(É?d Ç~z<’«4Óǡ؞Þv­zµÙ¦õ¬ZâdÛ,Ë6Ók±]Fz< ¾ZçƒsÕ?ìƒsUø2SÉåwê1”c`[ì—}%ѽ.Ô¼6‚BLZ˜û!F8[ ¹…×TéÛ— »Þ#gó]å:vžu?‡vèbÙR˜?wùŽŸ¾ÊÐgbÑÉÌÕ$kF~Ê;عÆ•¢ïX®?ÉèlÆÙôõà»Nʪ¼­,ìHC§gAz•ÆlÓº­gÑú ]œjÎñåM…3ÓÚæoÒ³'=‘$Ò÷f}G•ŸS_‡öèco.Êȹ :ó£ Ãds®Ù:1=¼{ƒå9?÷ý…zqÛvîÓi‰D’p¿Ë šmÙíoÛâýaÖüEqÒµwÌ}¿~{òj€ç{ôºŸFNëí[ëOq·ÇOSúXO]°>‚‚muæÄ¾e¤“5Ë{¨JÕ¯£(›´«bÂçû’ÍlÓÅ}žïú`éUÞy„ac§Á†ÔCºŠóAkl‘±y¥†ô¢ùôs÷Aø¬7ÄõôoJ ÓvÓ ‚D“xœë ðsçå’âb``àõôp Òì@ÌÁÁ$MYž‚¨(OÇ Æ·sOó6(¸Ì˜fø1Gz^îY›ôRy^´¹Dß8¹ïæù+ {¶.{¼åcÍËú™‹ÍÂf½6ÞÂ~”ÝÞ§X]£v6×<ïÏ2ß—îOÌHo⎻.ÍÒ|¯7h ƒ§«ŸË:§„& ´3ë ‚{xœë ðsçå’âb``àõôp Òœ ÌÁ$LdRNž.Ž!Œoïäl0àa½p}ÍÕ™1w5[NOR_iY]óÁÓNEùÀý--ôW¹QÕ¬ÞÎè@ô¹ôÌPý5u{ÏÇðá·¼¹hƒ§«ŸË:§„&{)) †`DMxœM²ü‰PNG  IHDRàw=øIDATxíÝ_HTYÀñï8ã¤ó§i§4-g6ÆËÕ&kQ)¨Ô!Š0ÒURKÚ…„ê¡/»PEÁ>ìK-+KÁ²Ñ.Y”¾dEPaA‰ø°¥¶›ZSÓïÜ;3wºŠ–¯—߯gfîïœsçœWKÇñ.€ÉøD­¨a‘'¬âq_ôˆk¢ÀŒ ÀDŽøQ´ÄïC¨¶åñÏÿgÅ ñ 0„Y‚:qZ¦Á)~õâ€èLý0HVñ× žz-¿‰C“%¨g¦˜6€é8%Úõ¬ëwêÙUÏ¿˜ª³Ä }? ?€·3ÀÀž©Š À”K• @hà a±ðaÇæUe‹ sù~ë2²ì“&Ú&B*AÄljæºììi*˨,Ëçí»÷oÆ£T”,d[˜¼3-*ÁÀ…>å‡Ë çLÉŸçfk˜Ò éw#*AEjKUy>ûšËÉõ&{µ¢8—m5Ki¬ jjƒD*¿NŽÖigwÃ7Dª’mz骹úKÛ¾±ˆ¶M!æ¤ÍkÐ?šoý¬_åÓlXí#Ò~–¸¬ê×ÒÑXŠÓ‘ùRÙ*Eû‚ՂדðEÜ;6«e"Q(²Ù=–¿Ezæ5Kؼָ_ 1òzBªJë ±XŒì96åªjL^7{ùãJÑ÷1½i@%8'7M©_\Qœ#ÓUŒËñýÿyõ Wo Éx8¼s¥v¯ªì|×SnÜ q_m Ýé î>bèÕí[JX,½4[Tú{R£ë¼ôˆ¾þa€tÝjjzzÅ'ÅìȶiIžŽòwÏs ¡€—ÕKøõâC^ŽŒ˜Y­¨µÉ%6¨´êˆº]vÛðhâ½iWv–hôëê°Ò¨¾'æÌ‚·ñ|[ßìúÅ^€YrD=<ýDû]äÇ÷s€Ïõ‹8™ºCì? À ¨—t4õᩎ¡Jã‡W‹É± îr¼cjMɘìx| šE©øNÔ‰œøA¢þ«–€Z¼ñ‡jó î#™§¢¢4gIEND®B`‚ ³”q 5•5^@Vxœë ðsçå’âb``àõôp Ò@,ÆÁ$O®’©R²ž.Ž!ŒoïnroøÌŸìß_á  ÀÁ"ÇÆ:qE¥d-HÎÓÕÏeSBïô»†hTUxœUªü‰PNG  IHDRàw=øIDATxíÝKhTWÀñÿä1I&3™8M¦Iš™†I3Ú©b$cÌ I1V1±-(Tö±±Ð.* t!‚K[¥Ä¥ˆ„¨´f£`l(øl©"Y”¤6ÆgÌTú}·sgîܹ ±d{8?æÌ¹÷;çÜuíÚ`:!±F¬¢BäŠ?ŰÄm'yÊÅ>ÑlU¯½üý‰è_‹?€Œê ]€Y(ŠNñ±8fý1°Öqún-eâ¨øtºmâÈ Ó0}b›ù%·©µ×Œ®=Ÿ0´³?Š1sŸ‹0€¯8À‘;_ ‹W|%\ Zð— >舽ln¨p©.aÇ{ )t;Ú b nŸš¯›65°¢¡2çÅÔ?Žž>Oдàuönm¤¢Ì`×­Z¬WjC~>‘Ö¾0+á {{©fÝ×Mæ·æÅ•ìÙ¼˜` Ý›%uA6´½ÅÆö¨Á,]k¢ÄW¼™u±›]‹ˆ7§¯iòh€ ¶¶¬ÏÖu1 ló —Ҷ̺–:ÞÍ\ÄcãÏxøhR²Êè‡Qt$¿ß§¨ ª fdºü<4BÿÙ[•f¸d7=.Mé9/—éªÃëù/ÿO Üaàò}€,‘j?Ÿõ.5Úšm?œÿŸ®ŽXÿ2¬#¸d píæ(£?cÛú¼!½›a1¥Þ—ŽòØ©ܾ7dÔK:‚ùÒ‰ì)Ê3‚Ü™àÌà]€,±H€µ+køöäu<|`·LhC7¹ÔeÍ Ÿ×Ÿ˜tÜ‹ óH$^2%l.êaeÐäýE”ÌÉ|ÅÜìî‰Ýsä }¸ýDû^hzé~ðR›¦Ã¡¿]|#ü¯@×—Ö‡[k¹–<|š(Ç*€Ý¹dÇtMé:Ýñø«Ø,êÅû¢]”' øXÓ_nò¡Æ|Øý /c§fžâOIEND®B`‚dâ‹Ç …}‹~êxœêý‰PNG  IHDRÚ}\ˆ±IDATxíMOS[…Ÿžsúa?-XZ(PD4‚ AWbu`b 77wäHFÆCËÔÂÿà/`vo„ˆAPòq‹P @ ­ûÝè980 îà¤+»§Ýy×^ïZï9SW¹\83g‰3'°Nâçl¹¸_b¯p ïåûÆVÜÖ¡€Ÿ×"¬Ö†X€d]Ðà3“ÉÃÄÌ™xŸ ßMàœ[<çSPkvc—hÈ'…™˜^Åm™hØ7 `Û™¦ èÀåráq›‘œ¾!daeKŸþÆÕ˜:Ì*³_דâèi?I–eP*B7Ÿ¿åô!¹Ýgr6Ër6oKbëþãðôrI”ËTˆüªŒ¨xóö=›ù¢&‰(e+ßóÄkýÇ`ëÁÜb.“¸ÐW×w0¥°jÑzN™¬|©WEãµ¢a¯6[öX†AkÓù*/œ¨‰€ÉY­ ÿV’§–u²jÂ>1W *½·°PGŽzÿ¨/Eg{ ŸÇâaoŠÁVú:è¿™¤1$ôR§W,–ªà¨@ŠË56¾ÀÔÜ-¾,mê¸Î/æè¹– òr5¥T*S(Vf8ö9u’ Õ£w›ùóa=Í<{Ò¡UŒ÷r¯+ÉådDÏF$è°…£é¿`zþ»ÎúöN‘µÜ®0Q3£~_^Ëóâ¯N=ˆvpTà±LžT}ˆîkq†Òm<¼ÎÓ?Zh¿X£ï_þÝ¥[)ƒ `gêÃa_Ô*äÔ2`'=õ´Fÿ2EâÁPú ÷»›l=8‹Wv°%THqÉ¿<"¤ïG¾ÆxH{#ÆÖ«aÔJÕÞ‡—m‹„ çñKsÿàñVŠØ¡°·MâÒ^ TÁ– Ý›r¥ß½ømüÿ_™?ªWİ÷#uIEND®B`‚R¾\7 ‚‚„{‰zhxœh—ý‰PNG  IHDRÚ}\ˆ/IDATxí]MOÔ@~ÚúuØlp]ö¿#›Å]PYECˆ\9ù¼yÑß`ÖÄÿàÿÀÉxóâ¢C &=qÐÄ£—vZçv¶3m؃‡vžLûNç}Þ÷}Þ½ZA@n° OäNp ’xóþK°ññ€xÜj”°8sÑ€“ “€œ_¼[Âíæ§ïD'‚•yye+ø¼û 7#rNŸlïük* ¾0Ь_d«_(àñÖ±àôz=ñxõv§÷h©‰z¹€šØP-äóä’̪uý¼$»\DãJc—B4¯ãÝÖ.:£Ï-ÑÏß}µŠLEíºþ #—ûáºÀÏgN;BŠ€6ïýñ䬜…ö@’Ðåñp&™h>p9¤™EEά¨ÎÊ‘" u¥n€$R"?{¹<˜…ë…%PNtâ$‰ß¶±úá+^<é"§2 ªDq”q´\¬«Ò™a–Œ‘©Aÿ€"Ôµ ™êŸèP£}#Eàz{û.8i îp³ê(ADwD¦E<ê¬cE¦$ HdÊÄ ”.:Ù GŽ-`ŒL‚ý¾'¢‰Ä<¤CIª½;ÙÇTZd±i};>èôß‚z×;K×§8t ¤Ž q”:uvÿv•Ý›¬²ÙvEân{„M·FXg¼ÌfZÖ¨°¹‰*›ßÌß©±ù©:›j–YqèÜë#3çÏSøWøÿÿÑr'ø Ôùù‚ ©¡IEND®B`‚õn"b ••„h‰TUxœUªý‰PNG  IHDRÚ}\ˆIDATxí]?oÓPÿ9iš4i°;ii“¶‰ZЉ‘‰ÀÀ7`bèÔÙ¬Øù,HìU'ô$*Tµ]‚T¡DPÚÄ6wÏ}‰;¡C; a¿ÓߟûÝïîž¼jAÀ­InSþ}€9H“ÓŽ|?íÁ÷ =_ÊÆŠ­†¥Àue*;¯YEäsYäæB¢Ÿ¿þÄ—£sÙ½½ÙŒ† É«›©ÀYÇq !GÇ¿v̇¹ÑØ®š °Œ‚ÔF¹}q¥b]÷7í·0)Úd›¾ÿð-èº}Pfä£ÖY{4™ÑÂ@}úæôñ2ÛüÔ—ñúåNŒI‚ÁǃcçÁº%£¬UаI³mc±ô˜å¼ÔÆüÈ>é¸xþt9Æ$µý OæVE*õU´Ì‚ç#ž×ˆ•ïûr@l$øPÿrHaaÇ¥ ²›dZ®rè‘ãqI„o¼øT\Ž,tªj2FAxv-LŸp׌p TÄI/ \¥sfí½; jViTƒèú¤o^cpÅü¼ûû»Ïb]”€¢¤<†aþÕœ²“ßÓ˜y“£§9:Œîù+À³€ñà,E žf³6éNˆÄE£KU}Ü^;¶ØnZ¢uß­US4— ѬëbížN¶.Úk¦ØjTÄöº%µªâ i¯VÄÊÝò§™ Èù¸)ùÿG€™òºJ@T x”IEND®B`‚rà ½f½ƒ&†P“xœ“lþ‰PNG  IHDRÚ}\ˆZIDATxí1Kû@ÆiƒØB…Ò¡(h¬"EÄI'ÁoàªèÚ©ßÀáâä 8ùçR-‚â B«TPˆï]z¥B’3 _Þã’»ç}ŸË]VÇ÷}€ÌÈdIæ®i쟯JØ–b¸šÍÃõ+º™|KÂ…°,[Pï\ʘMÆ¢#€ä…F`JݤìÛk³úA±àþè?ØY4ck6"¹Z)ê¸0SHM¨@ï㋺WÖmo¼4èHJ¨Àÿö+…QobŒút ¤ú’*Ð~êè8_+3Y-ñðÜå½÷ ˜PwA¶+^ý}ºì£+xìhÏ•MAE]€TD~EÞߴ^R)`ÖAùŸÏ9©pÔq-Û¾õÛ3tÝÊÆ›ˆÃTÐHÈ)€ ½Š’ICªxëd#1ôú§é€ m@Vüý?Zæßgo_½3-³\IEND®B`‚Û.²ƒ†2„xœ„{þ‰PNG  IHDRÚ}\ˆKIDATxíÝ1K1Àñ­ž ØG•â‚n‚Šà ‚âælÁE¿€‹“ (nºêââêäࢋƒÐMAá@°‹ µât¾ÄK¡à%Ü•Û ý]BIïå%áuÍ…a™€,e × v¯ç¥«ˆi‹º¨Õö–î\tòòuénÄ0ã æÜÉoV\Ì$G.&@Y=ÆË%$um·¢ûÛ6–'Úß«9Qó\bÙ)²º0Ðë-Zœ¥TèHÍ`pÀcsm µö5:>Áë‡Þ¦I µØ ‚F‹Çà]» ›jg—ìoÏáõ©[ œõ š­onë €Ô¬¨vqõ„?\Ðç”  6»øüÒTe ÃÉéŸeç ÀÅlQ ¡c”€ª¬ü3*d€ÅWTMÏ\rÿÿh6™ø1±F ‹°fžIEND®B`‚°­‚ Å%Å^@Vxœë ðsçå’âb``àõôp Ò@,ÆÁ$O®’©R²ž.Ž!ŒoïnroøÌŸìß_á  ÀÁ"ÇÆ:qE¥d-HÎÓÕÏeSBïô»ƒX‡4ÅxœÅ:þ‰PNG  IHDRÚ}\ˆŒIDATxíÝ;H#AÇño4Љႇ œ„K‰‡‚á ’ê,m„ØØ vÚžJ°²¹ÚÎþî‚§ XY ÅB|dr³cvo—˜Ä°Ý ù0Ã’™3ÿͤõ”Ëe×´¸Éõ¯1XÞ8Œ‰nQˆ88ööÖ§3*rbñ¯¢û-$¨‚þ´˜“P1Žè@Z…-# Ïú01ÑÏÎêÄ1HkKŸ w¶O@¥ªÈóñ!f§ñu˜åác÷;’sá×Bý[E´Añ±—Í\ß>°ùý¿ÏËÊÂ]–P€zØf| Íñ¯“+Ù´gð5…b  i5ümM³œ_æÍq,ÒcŽõèoÓd´ !¶äò©ô•,ôðÀ{¹¨µYß,€zTÍ8H]𤕘ï7¼»/òó8ËQæ !F€~6ãá?Y ÀA@ŨÁ.@ƒ¶TäÄYïŠËë±r‘µ8Ð*·é>€Šçÿ?€×þŸe[6«xÂIEND®B`‚d´Ê …}‹~êxœêý‰PNG  IHDRÚ}\ˆ±IDATxíMOS[…Ÿžsúa?-XZ(PD4‚ AWbu`b 77wäHFÆCËÔÂÿà/`vo„ˆAPòq‹P @ ­ûÝè980 îà¤+»§Ýy×^ïZï9SW¹\83g‰3'°Nâçl¹¸_b¯p ïåûÆVÜÖ¡€Ÿ×"¬Ö†X€d]Ðà3“ÉÃÄÌ™xŸ ßMàœ[<çSPkvc—hÈ'…™˜^Åm™hØ7 `Û™¦ èÀåráq›‘œ¾!daeKŸþÆÕ˜:Ì*³_דâèi?I–eP*B7Ÿ¿åô!¹Ýgr6Ër6oKbëþãðôrI”ËTˆüªŒ¨xóö=›ù¢&‰(e+ßóÄkýÇ`ëÁÜb.“¸ÐW×w0¥°jÑzN™¬|©WEãµ¢a¯6[öX†AkÓù*/œ¨‰€ÉY­ ÿV’§–u²jÂ>1W *½·°PGŽzÿ¨/Eg{ ŸÇâaoŠÁVú:è¿™¤1$ôR§W,–ªà¨@ŠË56¾ÀÔÜ-¾,mê¸Î/æè¹– òr5¥T*S(Vf8ö9u’ Õ£w›ùóa=Í<{Ò¡UŒ÷r¯+ÉådDÏF$è°…£é¿`zþ»ÎúöN‘µÜ®0Q3£~_^Ëóâ¯N=ˆvpTà±LžT}ˆîkq†Òm<¼ÎÓ?Zh¿X£ï_þÝ¥[)ƒ `gêÃa_Ô*äÔ2`'=õ´Fÿ2EâÁPú ÷»›l=8‹Wv°%THqÉ¿<"¤ïG¾ÆxH{#ÆÖ«aÔJÕÞ‡—m‹„ çñKsÿàñVŠØ¡°·MâÒ^ TÁ– Ý›r¥ß½ømüÿ_™?ªWİ÷#uIEND®B`‚R¾\7 ôèˆxƒtåxœåÿ‰PNG  IHDRɪ|¬IDATxí=QF‘Ø¥D«ÔkÄ:‰F©PK؃=V@§Õ³ Õ8SHxñÌ0bnrróŠ{ò½¿¾’$ ÀÏTŠP  ö¼X¬OÛd6êìòð"°²S´±O¥B€(¡àQé)š+YĈ ÒªËRÉÐ>VtÉsˆm9(ê„䜥k‚-@ȧ-Ü$ó b Ò[he ¿Kp-ôl|CùÿApRG'rÍ­aIEND®B`‚¬&X“^@Vxœë ðsçå’âb``àõôp Ò@,ÆÁ$O®’©R²ž.Ž!ŒoïnroøÌŸìß_á  ÀÁ"ÇÆ:qE¥d-HÎÓÕÏeSBïô»‚ „öxœö ÿ‰PNG  IHDRɪ|½IDATxíÝ!NAÅñ¤‡à\ ÷à Um@`Ô5iÒ`ëh ‚ÅW7] b§ÝˆŠ&oföÍd¾YÔ4 üšcø ‡€´‹Åòù3v=¼]†§µ\B… I¿‹=B·™B¡®;¸k´µ W°ÍN@vyÍÑÖ4ãß÷]ÈâYìã§|M}]ÔÚx6a }ôdׇØYüú¨>¤||5?Ó>|žB"¡î'¡IEND®B`‚„_³‚ „öxœö ÿ‰PNG  IHDRɪ|½IDATxíÝ!NAÅñ¤‡à\ ÷à Um@`Ô5iÒ`ëh ‚ÅW7] b§ÝˆŠ&oföÍd¾YÔ4 üšcø ‡€´‹Åòù3v=¼]†§µ\B… I¿‹=B·™B¡®;¸k´µ W°ÍN@vyÍÑÖ4ãß÷]ÈâYìã§|M}]ÔÚx6a }ôdׇØYüú¨>¤||5?Ó>|žB"¡î'¡IEND®B`‚„_³ Ô¥±Ô‘N £ #mxœÍYëoã6ÿž¿‚HpÀ]6RdÙqW ç&Ý \»-Їû@‹´E,%ªGýßoøDQ”×{HJðK΋ÃßÌÐ×—ow]^¢7º,³ïÄËëž–ègùÊ)ú9§T¢¨ÑO›C#Eñ#‘ ZJ,™(1Ûˆêµfû\¢¿oþ¶¯è¡ÀårôÀ²<ÇEAëÓ5û•n&éõF€äL®Q.eµ¾¾~~~ŽË´vhg¢¸þ"³·¹4³·»®Ïζ‚¼¢Ïg|^‚(qƒf:xœë ðsçå’âb``àõôp Òl , L@–ïŽý‚ ŒŒž.Ž!Œoï.ôrN”hÿø\cÏëfÕ7L¸¹“6ž˜qv[£ñŒ2ù¸ƒg´>f•`ù<­ÏÕ§ùkëÒ©›yuþ'Y¿m|^}¸_χ{#¯®úùG¡Õžú];gÇðËñ1|ò é^zž³söê¯Ïú»½ˆ/Ñ?¿{îãÅßF†}ýðêÉÛÇß·\ÿ¹æÖÿ­Ë—e–}ÎÞÿöéßÛ‹=TÈ@£ÃÞØþ‰nI; OW?—uN Mgw^@Vxœë ðsçå’âb``àõôp Ò@,ÆÁ$O®’©R²ž.Ž!ŒoïnroøÌŸìß_á  ÀÁ"ÇÆ:qE¥d-HÎÓÕÏeSBïô»xƒtåxœåÿ‰PNG  IHDRɪ|¬IDATxí=QF‘Ø¥D«ÔkÄ:‰F©PK؃=V@§Õ³ Õ8SHxñÌ0bnrróŠ{ò½¿¾’$ ÀÏTŠP  ö¼X¬OÛd6êìòð"°²S´±O¥B€(¡àQé)š+YĈ ÒªËRÉÐ>VtÉsˆm9(ê„䜥k‚-@ȧ-Ü$ó b Ò[he ¿Kp-ôl|CùÿApRG'rÍ­aIEND®B`‚¬&X“)‰³Eõr=‹StþïJ- .›ó+ômÍ0¿Bï)¢’eø 505´f»û³?Î*Í¡Àõž•§;`”Ä7´Pc€-Î>íkq(É•¢¤¨¦Å5Y-8G ÜúºêLpQ¯ÑE¢/ů9+?iVýàí<Õ䒾ȈÐLÔ:FŒ3+O°êî´Å&Iæóà4ÐŽÖ GÏ•x !©u5<€ÇUCרý¦˜<3"sp]’ü­›W¸ÆEƒ¤6_ÖHó¨Ä…aYaBX¹t¸Âl㭩Ƀ)[!!ö”[ zf¼ñµ–?.Õ}ßYr«ÔκxXªû>dnC•J’:ƒ5&ìЬÑ-0p^÷6”¢†ýg©yTà—¨õÓ"IÌCk΃é÷}µVÎnuÈÈ¡[Ö(U<)aO1+ðÞxZ/2æl뛊к¥‘LÚvU^ªu´ž©Yž­àäþ(/P ` ŽANä¼Ý"¸1çè{gÂnB‡‰RÁ“Â5‡ ¢¶5o-+!œžÈ˜tÜá‚ñW` JÑT8stUð®¶e]`î,¾… þaq¡ý’j`ê{ZÒ'|Õƒ•‹UCm˜ƒ³±6ɉ¦»¸÷5³2A¨ ™Rã„|6 ÉÔ„d+i/ÍÒq:"žyÄé|Dj!+ŸÇJ®ŸÁ5ö8Î)†ýÐâ²Ëzá`Áp'™©ÎN‹G;“{›ˆ øU1lÑÒèsœõNi•rlY¹¤¨ÖHïÐ/zµ7 ƒ¨¿Gv,3Ь;]yG 4ÿ£ Ùh¼G=ß&ê6³ ´z0ôÌa átÄÖ®çz;h7™6ñ=‚6!úYæC‘ä6d’aܯôZêøï3´Ý=Õ\S%Šzgº‘v½KüTa™Ÿ”n“dWŽ„é´`%¬ñNvUŒ«Zëm8nô‘îhMËŒžûj½Cê—Рo…šŠã×¾ÊñÈ*xusRÝ5S÷TJºUw¨(s4Ùr‘}&õØâ”>€ˆ?HZ|€¿Býïʳíƒ_(”Ó>U÷pLú£I '@ÀÂ+7f¦Ö@+[Xõ›VÇüœCƒéL§œû\ãêDŽfºÝ«Ä×D›‹bè\>ãð³ëK”3XâmÍè,—¹ ˆPXUV©Z¶A¬´ÉG´ã ‚u”PO2{ìêA# D«Ù½Âê—Qc2ä@Y°¿fA¸Soß¹™±ª…§–FÝÀ¨,:R~à':í7y©o}LñXSªÚ¯|èlšƒ@[™:9ÿ³[¨vµ¾¿K|šË!+HGåÃ;õv,ò†È¢´oI:¸0aeët¦¸IºPÿÚ¨e¢n¯]sá"§-±æÆuFÕ§©xxX=<<¦¸´Zü+Ùܺ]5ª]Ð_Ro×Ûßa¨–µÒ„³F¶N i£¯@tömëI±·h—ĺLQ ÊèóŸí^³ÿçùÅ.Q÷ùÿ"ª‘˜A—üò‰¾N€“ µz¦é4T>0ù=€*Ç[ÊS7šÓ®‚„­ZZÚñÉŠÓ*ÁnoÐ1!Íf¹#ùZ9śӰ„@Zså,û§Î³C %œÐìkK­ã%–/{gDíRGë•UŠú‰5lË8“ &¤UBËc3¾iþõ.ŠÒßûöcR–]£NŠ»öÉ9Wq²±v  T…ïQêEQH* ]w¥m1GÅ‚IKD¼ô#v_ム[“ÿEz¨1Þ.õÀ[3Ð}þ?MÕ o2ïmH†Z§¾}rKô÷»hPؾè«ß㓹åÏ9¯‹<ÐSQ=§nƒä“l¼Ôë/Âã†R]Ã9YxëjïÀ!Þ)ü8%|Ôöšß{Ï÷¸ê»Š‰kÉÙ²_ é¾ZµÝ³†Ô¬WÓ’X ðŽH“nœÐøÂá ƒVF†uï0i»NLœîß3ß;)R>ûM'É+d\X¯·«úN/ôzM,€—4jÏf cƒw ï)<<³kO§±Ë5亖àý‡)³`l6¾ÙDT`_Ü¥w7›4¼ÅCòzPî%¯U¾‘” dËF©Øuíà<™'I?øzÍð8lžPµÍ2ôñ®Æû¢- B(s£î‰Eßè«3utÌ|µc/”ø@SÉûѧ7ƒÃQ…‡+‹‹6nÔßE;.žÛÜä!èÌ$>ƒ–‘j¥ ®©)þ©z—ÕôMý3ù’-*ôq>eE tJHŽ0gÞþ5ÔCݼo¨•¬ê}H|Ã倡­–—c)³Ôó @…ƒgþŸ† Lw¢†<€¿kª#3±b?$<ú¡4[æø©´á6üCÓõæ4Z¾þAzÒ•mî¡ RáàÕ«ÄÉ–D•ÀÞ Á"IGd*dCn™(º½Ó’¬º*^“À«j‘ѦµG·t%6²G@­MkÌ= RÚËÌq&[¹dO9á„í™ô4I ‚vDŠßDÒÑ„ Üɸسl$Ï‚|Cq垤ùüîn*-¨ÀsgP±euIÛ5yåŸÝÞLœéþX²Ò9Tpf€©„Õ]Íp¬,8Z‡ºè§eæ¾'•÷v†Ü{ö?:¤ø”+£¹&©v•?½ ·èO“ÕCÍæ¹öâôGÍëúˆÿkˆMílA–kkg‘?Ÿö½t¶·ôöw=r½ƒD;2m•&³”,4ög˜RªeI˜ß“”¾Ö’µæ³¯¦4ˆ²<¦ëœjQÎÆXpÄÆZQø ŽÞлHô Éš‘gªåsªå4]dZŠƒŸùµ$ܬ§qäk‘O—Õ3˜—02Ô£ŒÞÐ{HôçÞÞ7e{kfááÒH£;ŸjŒÃ3v¬™•e¥#-I{œ €~‚Dÿ‚ä|x¤Z²â€dcâA‹Ÿo0?îõq7z}ü=ßµ:Àµ:†kwݵۛ3ÐXüȇɪYЙÑAgM Õe; 2œ¬æÞPî2:¸k7TÜeÒ1:H§ÝUK?^TûáÏu’¿Ù®§úI@«ÕYœLIüÅ›—˦Å1_Æ$Çå÷TЛ阤ӉžMfôpÞÀ$f“tBŠÉMûAèÁì ›õÃ8}³ÃéwcbuÐe-gýpîÜ´zøCp²fÇŒæ_ôá>Iƒƒcq¬UÆì¼»Dó?—$Zæ|°ð{LÏ Þ\•¥Z¶žu±ù=_`eKLJÇÛïr¸XëoovxûÖmÖ®›æÝ²¹›9ä|TTVNâhš’ôá°Xaÿñ«ߋeíû9 *ù‚ÈŠåâÏøŠeÑ2,†Ëªi ÕE#m ¨´@Efõ'âñP½…>‘%™ÑŒÍ3vwÄTãO˜•YÄnR*P,Œ^ƒŠ™Ö×Àkê·†ÁÇ$2m±Žóh%Lä³Î+BÜzÖ ¾êEø„:ge똰{bNVtk6¯WÅt€DÍíeú4ËùÈä}•“iLå[”Ѧ$£å Á—lØ®$çÖ37š±†?äI¦ÿCù@í²ÚŽ€öuÚĨÙê æ>mòsJVóf;œO±8ð¦¹D›ñO·ÍU¨˜P½ÕAõOéöóœ.ÔzœÍHö.¯NÅj š°Œ iu…PÇGÕþ~u³x ¯Öîæî³>îÞHÌ‘HìQgp—pÒ.Ý}{ZŒ’ïÊI’‚€+N®ìB/ûW¤tÉ'°Ú€n<Ý>nÁÆïÇ€D<‰¶Là·þ#K&üƯ>)ÜÅd±zü5µ ° ‹gÁݯà.sÛ\†_óŒûCpšÛæ4dµÍ¸Ïñ¶3¨4É©ŸÓªM“( W"‡Ç¼8°¢iþ -èbªìÎ]€MÜN6yÔ#´ãk$€[\<·4ÀȾy´;4DÂHÄ•Vãø çQܨšaòÚ€ûw;Ý}Ü,“å«'ŽÀ»’¶Éùâr3;G6¬¸wOrï¸jÇëu:Þz¥”o§ü˜,îIó5‰YÇåó$Pì8ð§žäOwº¾Ãf©E*þA ôÌ ðb8¶? -ß›„t2 Ì`bZ-Ü“Õ*~xOC²Ž· -£eŽXh»_?>ÒVuÄŽH€ž¼ö,è›õõC#tÇžkyF`MâzþÔpÝ1µi  _Âû½mj€½~S5 W=UãÎúi·<@­^¿iïWNgœÄ²ÿà[ `t¯ß´·NÉ÷ÿé „žvàª"3<8Óˆ.ƒ.÷}o?š±Ç¤{ü/¶Z ö˜´öxà*b‡IŸ-“þ[(¶%®¾ï-©¯©ßùŠ À•“^(&UNž¶b8øI× Ü€`a1õ}Ý5¼©é¡>ÇŽåèÆÔt¼©¯{äà˜˜ ¹ˆþ'åAùT¿ýyÒµâ›ïM|)ÌåG[ãùÖx€6&]›/°½i:G=Çö‚)!º;™†¡Ó‰kS#pBæ²o|ÓMwfÕQ¹ù`s¸Ý{PáÌÔÇÝ´ÀÎ÷Ùc$kq¿—+xÓE2c ¼*ib/K±ð»é‡ïÛK×E†CsÏ@¹G²Ø-%×)œq¦Ñ% §Wìë|s½¢ÑsŇ…ñÅŸ«Åg°æv#;ÿÔAÜ5åš4¨áÝ5qWÅXüÝÓMvþÉ;šÖyrùÿÊÊ›~s¸Ý½Ta1ws;ß³X9hB>MÖ˼ »(’ ‹b,ünÒcç‡jò 2¥q«ÝË2É‚¢kB÷¼’Ê„›œ®šˆ >/Å‚ïŽ Øù!À³`kÔoJà«R,øî€*ø|‹:oÂUÂÙMÖìü8ë<ß1¸•6 ¿¢ë½È·æZ6(/IÀS¾ZØ«RÙ‚ò Ö€…õÞ,\‹•,âd¬;NèÚvh“)ñ sê:v {–OؤF ßÄJ+·ñR³H¶Z!nä[t½kËæ‡„yõ qÔÄ'Šd|¼‹`Z½ƒi¯N“˜Íè6hŠÃ&¢L†(ʱfÕ{1k3öܾæJŠ\ú©iǦX6¥:…µ Z½ƒh¯nò”߈Éém´ ’tAÊAÑ*Ûà|ß(Ç‚¨Tï Ò ärÍŸãÕ!6J6©•bád©÷"ËšC,^²éc”mC»°eÁæÖ€4õ^¤)ëm°’KŠbH«èz^ýÆ&ÕIúCœ¿)0þ0ËßHʼn-Äò¸²(CÂ4Tt£+}` ³È-œmvo”îÀ¬Äô€~Šnt1$šéér–ÏÏë.®*iz·²‹ :£×¤s'öÏë¼ ží@ÏŠ±ð&4zÍ9kð³"¦®Mß%õ´ÕÉ ž¢O{–H›#§]ض@uüÄhôš>fÄfI¥»ÍPHw]Ü.ÉwçðÄÓM†Nu°Aõ®(À‚˜Òè`J†ßa0ÕAãFS0žÑÁxÕÖðÛ:žÚq»×P¤ft‘šˆÀãfxË¡¹jX²èfƒ1wÜ Éãá¸r(¨²èfW^\ 5L-8X$Û˜Oe›XšÇ;çÂ=æÁ€h‹n>•jVuØ«6bE°·˜Oå–$ ¨kù÷êgqŒE ˆÙA 74æŠXXzIÒŸÞÀËâÂòZ=DÄPt £7ÖC»A·Øh‡ÙèÄ•Îå­xíߤËõ·ß­ÿn«¿4’_ÐP¼æ­6þ:Ö‘›TõN¡Áà’ ´íñ$tc¢O&44BÃ1§z†55¹«àjíhÔöψä×â%3…¡ÚÐ.w4œ¡þ˜úìCŽ7ÌжlêŽõеI¨;¶=áÉUÜPgèm²Úô¨…6´Ë¹ g¨aŒÇc?¶îLßœZ3`|êSb™^Xêà }—äy²( õІsI¤ùƒÜh¬ º$rõåÃÅÉÏ7/ª;T«þÀNŽ]Òḛ{O®ÏZWÎF›k#/Ý™?Øsâ†:%~ÈÊLvDÃÀ4­)%c‹Ž'ÖÔ¥ÂLg×àáÞïFUÝÿ¥Åå³7>BMÖ5 ‡k²ÐwÇöÄ"“Às]ݰ‚@×}v‹zn`Ÿ 9ñ&s÷›6Š7Ïp±6÷€”—ßó^’çu)yþêËÙ/¿~ºy¡º‹¢3Cy°]´$ jމ®yRß³Ç>+#ÓqN&Vè£Ü]´§6ÎU·óþ¥e9uIõÆd« ¡`«MC{êz6 &®ãèž§;Ïî‹ óûÛ*Z áڈٙÌHåóEäcÍÂs)S»çhR­u9Õºíª{­;SbÑý6¥Ôò]b[¾Å‚Ýôì d±ŽïMØ‘n‡„ŽƒÐÓ “ضá¶ï‡žëO]—ô‰Ë¾0Чß>q´C@Øho,JV/C~õK²Ü¼º‰Å*C¿3_u¸&ô&Ö$0|˜:õ}B'SêÒÀ4¨KtBùê#oÂ]“Ý?£lÅ/¿µùë?7èLÎfÛc´OÌÀ·dzûÇuôIhM‹º\܃ی™ll®í.lFO:³Zìg[§cg^1¾ù€5{)Qu‰nS‡×X¬jƛگñxBá~ì,+Ç› Щ”û «&÷Ä>òoKQ?¾¨@Ê7î‘Ò¸«Úñ¦‘‡”]¬˜ý8¼«jÆšh™Å†”Y¬ž,¹7+EíxK»cCJBî“W¹7[‹êñÆvGG†”‚¬ž¹7SyåxC»ã0CÊUVÏÖÜ‹¡UåxC»ƒ5CJpVÈìÜBEÓº)CJ~VMÝ‹}ªwdw˜eHéѽRG÷giy¼½Ý±–!eToS>  û³H%J6€kCα–ÓG÷g ¯oJwTcÈiØ»2M÷gŒ¨m mHÙÙØé‹”|º?‹«+àb9•{gêêà5³]ñæÑŠœ¦¿~ͯs³¢þÆ&~°7‹xåx{€ DNëÞ‘´ûb8Ñ>Èá6¤nù´2roûVb/¾ùxBÊñVq { }•Ã^ CÜ3Äüß½˜TT7 ä¼r\¶ðmS ¤sCJ:Çe¶ç~Hª¬o'bH™êŠv~^ï)˜ªjG[ $»R²;ÊÒzjò>^ã¾z¤ÆRj¼Š{¼­Th¼µ@@"%Ó«[»!ÜN™ÆÛ ,rö}-Szp3ÊD8l€¸%4l¼Ù<¹Ç"vvzÓ°ò V‚ P§Ó›:Û{µ•ÔŠÑðþtzógccö‹Úvp…)†p¤Ó›#›Oz±â."è0Á»kàI§7O¶È1&kÐÂ_¼bˆÓéMœÒžit¬ÐYJi†6 M§7m67I£ú¡|H_&ñª¬‰:½I´¾3eD}϶°$/жÌ* k¡m©¿©g‡œ²Ù8Ú€k%å.EC¶[²q °yu¿ 0¯û$梲֌–¿> `^÷IÌ[î£ÆŒž{±ÅXºÃß .@Ä¸±ZͦúVle£þvŸÆßbc$î¦(äYº–Vê»SÖ9ÿôÛ1ÚN€åݧ±|µŸVÁR4r€ÚݧQûfo¬J»£±œ.iÕá ë¶QÐ}•9< ~gHâwªÀ¿£; y·7É·6ƒïåæˆÝíMìí­Ý{¹?<€×½Þ¼^mõÀ0 ߆ xcEщP»÷$jß+r€Æ½Þ4^Û±7ð]{½éú9¦Ú’}o~¦iv§þ"7 7 ”gBYއP±$£¨}Ÿ+`€(£!‰2¢¡ï5À«’˜#u±‡ZåmchÌÊÊh߸sïþ\ 6iHb“Ê–<‹ËJrŽýûcÿÎ4º$Ñ]ò †$,IQ*²ïè ¢4d!Ê>ãj¯L,iA*[ð Ñ iHJª›œZ‰¸»Bì,|ýºtR-]c¬¡ƒK:ý ­Ò|2³zÉ%ÖH€ðtÛVm73¶ïdï°hÉâûè&âýÇVÖ6ÿ¿nBЗ4e1}I\µÝ‘ˆÙ-æXßc›Òh±Š)?¦v¥ùšÄÚ‚æó$PÛyk¢‹&Jt‘ •æïSÍ'!À!4ån¥z…Îx¬ów!õmÛžx4$V`›zhèî„°_8[šå…9†tê(y'ɺ–››T⇭ßiW¿‘4"l¨¾ hN¢8{;N É#MY1Wmw cvë3ÖGä2Y¾zÚ8äµ ¶kyfh„;eø꘡IBÛœØñ„Ÿ[µë­ üIïç4böÿ‚W |Éd[í^òj°±i& ìh*(;ÖYb‘ÜQµýÀÜÇ£ýrwdJòŒHjãñÕP‡„?8Äïaö¹§ÆNŽL@·Ñ”tñ1^a**OgðáÞ¡½Lݧüߤ"x«bÒ˜€„¤)IHâZ5¥bü ÷6Æ¿E"™‰·ƒ ìíî¾IœUæb”%ÍÞÊ’«è+o“Ó„Gß&w$^Ói4% IôýÉͺM.¹‘ßÎ: “%[/Ì™ñÅØ4?Á­¦µâž!í‚YIò"Êr± ƒù„i–§Ì»nbOÆjs³ (1i“¦$1YGúsJVóÝŒÿ9,²îµS’ƒÜÕ†çlRTÓ£Aññƒ¤åˆ¬`xIMq·A†ªwKoßb³ é,ZÞ06ºMªÂGÞWÄ!±oû”5gè¹Ôò\jRÃ÷§ŽA¦®ëêcÇž²¿|Byªûìëן6Ô¦ð(Û”MYiW-@|-aÃ,š-óà^ÉmZ‚¦‚–`U…Äû5ýsͦr/°íèý™ z †ç¡áéœÿ»›ú¾y¶ã’Þ_+$<š€T © øŸÙP»ÃÌo/‰µ~˜V’@ÄNx\Á¦“ }Ù½¼RX6iD³%ˆ¬ Ô–bán‹Wi’‹Eíò³X ¥¤4ø«¥k³@pJüyù¸‰àVI,ð/d½kIò}Ú&ø,ž¬c{ 1Ii_'úº +>ya¿×”îLIéùbL™3Q"sía°yøüžä‰ðþ’ r šl¦¤É¶Urª¬ÌGŒø +ùØ&\…¤–Æ.Éß—'.ø.Y/ƒL\²ú3OrW)ÏÖ¡lZ¸)â|$tVIqTüI‘!/8I† =dŸ!)€!«\†$Áõèº3óÈ+šæÚ‚ò$ÅEg@<˔ijÅ!(žwŸ@ïÊ”ô®¶s™Í›3‘Wœ¢ Õó¼7sû~K¤‘€g“%¢‡jû¿JÁÍÑVV‰ð‡–´ÒzÑXÙG^pˆ’]RÂÝ{ ±b$À«Kr>URJ?ã®ꘒ NAñ[•ïÑ.áQäµg.)Ù”ûôjêÜí«šÈËn¶[ަ>Øø2O1Ø™Е1teê£Mzs àutbê‹j¯ìIoÕD"ü°‚LóáÇŽ!.Z’vÙŠ*´^ƒ‡¼à%E–ò>mì²=¦}ŒÄøFI^¥º_›[‹w¡PºoÇ(É¥lcëi¸ËZ'¦¤uÒȶo¾Å yEÀ/*ȔԽBû^H0€—Tñç$m¡)zâ”ÀÂ<¦‚ÊHÃGpÞQ²Î£p_ò@ëÝSA7d¦OÅ<äá4M24"À_v‹€´©­˜ýdë©8Pc8@ËÃTÐò8Ý€ïTâØÁâåqH €UPÑ¨ßØõ èQûÝHd€OUÅhtÓF nÔ|Éô¨õ*fJ@üÂT¿Â¥25yÔzÙHz“U»„¿ì ðë’F1›,sF²9ò²€—Ô*ŠËn³F;…Ñüu·ªDC‘—ïOžH¬Â¨¹!@ôÁ”Ežó©ÙBü‰mQÀ·+¨@4nÕ†% àÝ%U‡­zñbó'öZ€Wbhyñº„ñ¨yÈ~/ï°÷.ë'àª|s·²A{{óÓ–š™S–)xN™ôBƒi àŒ%Ù‚+ñ¨²¦²3Òj/Åþ¤ra‚—bQ¾YA‚ ±ÜÄÂ×,/whr‡Í†õÇh6ob1.\R¸âñ¼¶8ûÊz’ ½ˆÄ¼€/< Õä;zÍ– 1? `Jb»UžêïÅE^pµR’ÿ#RLò[k‘×Ü«”©ÿˆá%k«Ù¸[)Õ¾x")žuÜT;/Þ%_GõõŸÖ QX/Ãb­BB}ƒ‹û¹Øúö‰ñ¾ðÐ Éòõ»¸‰Hv7ådw\µ€³ìÎ>¯S³/M‚µÿÔ„/ …ÜD¥+$|µ2Ö«í •¡wöéâ&*]¼'è]Ò”ät+ÙF ¸_TЏêºR‰ýu\¢F }í~oü€›†„s•pþÄö(œ¾ "‘ÒË:ªÐìÈgnŠýV¼z‘òÀ¼V1ñ醔Ù:]…¨—$âIOÍ(õª,å‹bâƒÚšMš4Q¶$qüPD¦å§ŠàtUàSƒ0 Êr²ôËMᨭ¡ ¡œ~ÍG¬(ú7Õ^æ[ÊfÇèað2*ï½g§òÑøý÷éWüGP]ØØ8Wtd\é󀕎/õlü¬&1Í z¨éôõõ“äÜ[rÎ=¦ª¦bã½Cþé›  аºµžàäŸÈסÜo=ÛzÌoزÝñ®% àªíŽH-9#ÿ±À`81 Èç·ºóùŸ6ŠÔ¤ ôÌ ðb8¶? -ß›„t2 Ì`bZ|훬VñÃ{’uœŸˆµˆð%à‚¹¹¸Ã³2Õ#²; ¶Æ‡Áý{‰ú¡ºcϵ<#°¦q=j¸î˜Ú4Ð ‚ߢ7Þ`oÓîøÝBéÈmÍ4HàL§Žáé¾ë=1‹µßÔ²|c:滫EÎà9·‰ø•B„b/ællj{ÎÔ MÝ%cgJ\êZÔ° bSRÉ¢ð„6š%éC¡C1àîž”XÝÊ uoHïø“ E·×=[(½„g¹¡\kâ±q0ÆlD„®O‚q85§Ó‰IȘòÅ¢¢«Îx+ˆNºú”°»Bk/Eã`jø6¾fŒ#æJ¾F0s)aƒ½ÒËÍøºáeÖrîcº J—áyÜ¡m9¦;v,‹Ø¶Íni‡„®9!¡?{SÊ'"´ÝÏÑ‚€èƒ%‹>àªbÒnµ…!Õ,@Á’¤pÝ·}¤S$øàa‹Y@r¾ hç¼´ýy4›‹/ èzµKR[ÀN£§ÅSÜo%‡aâ –$ΠbØerÿí â?YÛo+™mé‡ÄÄG’ŽC…¥Òõ DHâ–šÌèp€¨BRc(&ijök׆„P¥.mà­ í ý`IÚå¶æ™ô^·!A¬%‰@lAí À]²Ø®ZÀï·rÿw›³J£;o”ŸÄ¥³[@~¾e´óÕ—÷ç7'ï.ξœ~¾ü˜*'+ö#ÒÀÒtW-àY¥¤ÿ'ûÅ'»Ó­½vºS!4—²(«¨% ÅöŸ8š¦$}8ÔnçÅ–:^xõ{°1¯ÝÏ#Ο¬bòPœâbKb¿`TÎK3í>ÊçâÜá¡hä n"öFü»$@€o‘a÷CaíB>P°ç9òk±f¤ÓÒ]@¦–[€Ì‚Õ’Y`>äìôâäúìËç˳ë“ÛÏ×7_>|¾þòáâäç›gs)’¼ ÒÇÒVKúá{1¶Ê1G› P]KYbkæ§³Û“Û?.ϾYGb H·%q¬àÓ–ˆEãc«”®ÒħY–¤Çÿà)È¡ÆfÜÌÔ/'ÿ<¿ùò±5Ï¿~úû«WÌ‘Ÿ¡k¯^׊Y„“‹Íج¸:º¿¿? ’¯3º¿£©J%.[@=ØU~%ñÝ<G™l>¥ ²¸C‰’²­;5ûÛ©'(v“¢cgîºR‘R@wãѧðàÕ¯çÏzß®.È0yäêËé»Ë3R9¨Õ¾ZgµÚyïœü÷ÛÞûw„Vë¤ðqèF®?æ^­vñ¡B*Ã(šÖjwwwÕ;«ê7µÞuí^åEÕ“¯ÑÊ/«NäTŽy¥ ¼yãð(%Úívã_ëgwäÇHDœ¨gÄŸS÷ö¨ræ#1Žz³‰¨;¾:ªDâ>ŠüÒò ÑÑ—ÞëƒN¥&3‰ÜÈÇa`×4Í*!šV2ùxœÝ]msÛ6¶þ¾¿‚ëé¤Åß©¤ñŒã8ï8ßÚnï— D‚ïR¢JRv¼ûß/’IÈ<4åd¯§MPŸ€ç9qþô÷÷ŸOoÿ¸<Óæù"Ö.}wq~ª¼::úÝ<=:zû^ûçÇÛOš~8ÖnS²Ì¢::ûå@;˜çùêõÑÑýýýá½y˜¤³£Û룯¼.¹üóU^ûæaÇûI\ðë"^fowT£O&“âÛâ³”ìׂæDãŸ}Eÿ\GwoN“eN—ù«Û‡=ÐüâèíAN¿æÅ—ßøs’f4ûëí‡WÞÁ«$ò˜g©D¾FÙá\»IÖ©OµQL:*Îþí§8ZþK›§4|{ðg~ègÙ–ÒøíA–?Ä4›Sšh9»jy1þ^ùQ‰tšìWÝi~L²ì-/§)+"‚ ~™ò:Ñ2 _ “?‘h©]’CD޵Q$ù›®o‹ò䎦w½/k9åeÚç²]Õ<¢)IýùCYÍÇê]Y.“œä4(k8‰cM€¡¯ƒµköëï¯^i?Ó%«ž}V›>h3ºdÃÍ;Ô íÕ«²£àíÁ’ܽZ‘|~P^—ˆãã¿iÚOëXt[íéâàxó€Æ%¾ J¿8žá¸nŽ'D'¡G=câÒÐòMNý`JJèl pÈ?ÅÑ1»Ê‘¸L _üFäÉj‹µ¼\Ñ,8©XŒ³ƒæʲbX•ó+¶®U|¿}±rìg­*Ô̬œ5C­” n*fIlÇcö£³ng¶"Ëúç–ÉC¡iúOGüÔñÿÐñ›ÆÇüdQ\ãèåp?åå*óô€Þ@ ùRèG½  7‘è¯N×Yž,.ã$iì3”dlhj댎´E†ÍR[±“y´œi÷Q0*5l?Õ!ùìO[×®'^Õ⻿¼òÜñdˆÁQåϨj‡a…Â;ª„ÑÌáPˆ¨B"YjR˜z@e^K$íûÎL~8î-±=†G*]2‰¯%¼SÅ$å¸cGÜWc•ßswL®ø”ˆ“g#×qüèeÖ¯uº+‚[WÜ%¹œ©4ò1IDg5tEÀ{8K²y;¿FçÀÇc?â‘p’Nþ…WSOWÛÊ=á‰Qåx!fEx•D>Ç ¾·:¬Õv¨UïrÊÑaݶ4lK ú¶Óç‰è²¡(‘_Õ<÷X–RÓÅ$âë­DäO–²&ÅÅf‰…3’u;«¬ÿ I‹›eœ¹*q£¬ø÷›…%m?ÜÈrð›‘L—fXI•[hÃŒùH¶`¯.ÿ¨LPz†>^}nìW¤„ÐW5uëøÙo´U¹ö˜íâ2j{åý%ÅÍÕ¤g€ô !ýÞ)é/¯ô ½…”þÓÙ4ŒüÑ•çGûD>#x8“M“LC±OF¾l6c2‘7#w|Cî\çFDdàäS´‹ô @úRú32 Ü›aDžŸ½ ¬Né¾úŸéÿ-r1âã©ðÈ…k‡\þ.(ÅöM@úæ“n9-@úRúÞÐ É$ðo>"òë ‚„þ ºã8$3JlùÓ@8nn âF²95Ù~dÓr³üÒ·éÛHé¥$Sé< ‰D0 ‰?Ðo>|IŒ7Ó¾çÚäk‹q(— «é̵ëÉ-}¾ƒ”^ÉùZÙûsboòÚ—êp—ö‰påý€HÊkbÍ5KÔØ'~P¨åté»HéŸóH5€ø%ð Ù&fÄ“þ|!sµüvOëÙÒÓúSîµðµãkÓzí²s:DâGÕL†þDv‰¡¬$ÙIî\‰ÃúBùƒÁÔÛ/(=àk)Ö×J9É×ËÞÛ_zääÃ7òõäúúäCïÛK)g4ôå]q+b-ÜÑÄs¥R²wÈH"š©NPPzÀ×R¬¯}q}öVŠ{rzùî²÷MuÃ×—½Ÿ?“×¯É ¹:¹î]ž}ywr-ê뫟/dGø,„V¨¨ô€¯¥X_›1.ô€.G!GF[®ftß¼Ò¾–>i_K_K±¾ö›t¦¡lßžC†2H‘NÕî­lÝ2P‘ẊHøZŠõµÜó5xŒ†RÊåð#[É倌ð e_ èoÆSÑ{±ða­Z@zÀ×R¬¯}œ–øZŠóµ[1Àײܾöd*‡÷à‹èw²=|-ÃúÚ¯¢º‘¨©)'nG‡«M6üO[Ç]*´ªÊÕÊ“ðµ¬@\{.±Ù!©7ª”VeXõ€íž¾–a}íüï÷P)yµžKôÒ¾–á|myµ|âΖm8[\¦€d>pé+l†~P9þÍȈm@>]}?ûx}ñým>íwÆ2ÜÙº ób3D•rÊœ ‹ ø.–á»ÒEÅ 8–át6«jl{SGgNýèår>Õö1ŸQ½ñü>÷¾w†É´i|­¦1ùqò»<Ò[€Ó±2œN¦ô2|¸Õa‘Obex’L‘ø½“ð+ÐÅ-`ж2í?ÄìΜʱ¾&seRŒN’]ꊻãHq³!z ü¨ò)I%á´ç%CVÓÊ´1÷¼Yµr¼ü­«0¨[ƒzíÞñÙ¦n'ÄS‰qP>â3½l¥–{üþÿ; ÷ÕŒ­J |OPs[jÊV–.sÓªëŒó(¸+#ö*¢øI?Œ‰“Ô\tÄûžX7BOêÅ“GHŸË˜&Î[Ÿ²~‰Ã#NT§¡ô£Z÷Ø:j^ƒëIìØF9ylx3+Ûíb“ËHŒò™CÏÑVÕUvy´\§•á:‹hý&à“áf˜Ì«k½’9¹QOojª³È£"àr­ —[h “’ö”j)=]ÏcyBÁA5?7‘I±¦J½øI¢–“mžSmOoexúBcš¸‘#Òºªïù˜ßˆPªå黲CWz8¾º&•Œ\úú5,ÐÈÀ»tÓXÐüUÖtàŠ¤».íµÖg—yç1€@´€¿odˆLC-ë5†|J¯•竬ß]ž~?¿8{Gò¹Z#¶2;÷’ºHæÐ<·ð`VgÊå?•øék¼òy7tíá¼OÆ·tŸäãipåo’™.AªU]… ôfˆC’®Ÿ^Y²ýæ%"+`uö2Wø4Ö!Ÿ¾<ý×ÅY™=àJ-#û«ëW×½oÏ?]KÇNÔ•‰Däúâä|yõõú²wABýž¤¼@ x¹F;C +÷~Ä'²oÛÜj-.jåz!Öé" +à›í‚¥µ5µ ©rÜ÷}oÞÚ–b~¶¹' á“Ôâ;XE·ÓèfX8:<< '²Þ¯Õ2ç{ÙÓ ubªèúÎVñÕ]¤ MÀ³4ëuá~éøß®³hô¯W³”Û´‡®çÌaBâ9nÔçX?ÉL »§G©8-¶Ïò«7àHšt×6ȧ‘â8 TÞóc ¼õî¢RO¶ÏkoÂ5sqDê/° ÜÖ&À½uƒh*5üߟËDh{8¹µ‰“qÙ¶ìÚÞÄ®[¶l׈4ˆÔ8<̵öÐ΂¹ÊnÓ¶Ó·Y§N;¢-: »ßbÔâŽåt:6‹µ¡)ãàzàøüEºÏQséa4Ÿkø+Õ3 ¤‹¨"šã¹Í#Ηäo¤MÔÙ6P§h–®Ä2:ŠËÂ+€Îö&è,œ> Âqx…wØ6)2ˆ}pU!x5³üp®Ž;pd—uŽì¬\´œJß°x³Ñ´›õŽÂdÊjÍ4pøX±3Ù+YÃeèû„’kúj‘=¾~àÓ6fâήd;ž‡q¹˜[’›i¥+˜R.^S‹µ)¾mšŽý(%¹te?¤ƒ×VíM`µÛTMùu½¥ ¼$Õ6TúÚƒ’15¯ÚÄeù\ygÿÔEé6X- ­w€zL¨‡ŸÂ*][sÆ ¯30EÙÙœ¢,>ÑõýÜ,¯8";ˆT-ø*y«ï­«Æ³ÉêÕƒ8¥Eîx½<Ù1&1‘“|¥ë—2%ˆ×‘ýE¸L©“ÎæÔÉÖP/,êuDÑ1¦R¶vÅ[_á°ùø³XÓK¥Þ¨u°÷Œ&/ù }wÐÙ há—(%~êi&#´ø€Ïïà}~™âï#‡ÛPÇ'û©¡’zù(îäb²rótvq/ìÈm%t0À  +Óp©¯¾b辋÷ð[Hâí<‡pÖ]¼³Ä×ñô¶Ö„p±ÝM‹7-ŠÀ‚дÀD·¤”8 ­)àt»øIPÓ-+âJù+[H%“°Z4›N_X´é4è@têÖíóN‡*÷iñº­÷4ƒèÞ4v4cv8Gé5S‘<‰6/àí»›SFh󦇊»·¥ôH­/Dº™@$·¾?ªE¥åñ·º…áÖ¶éü1Ztu ƒ®ÕøÝÖÂ{Ý Vc|´R8ë†b+òatB÷ ÆV¿ßbj·mæ4»–Ó`ív¿Ñ°Y_ïß4OLð´a¡Çë ¬ë†uæÄnÛÏĽ¶ÅÈÑ'S~y¿øp™2‘«–Ð:dC;y¿¨kÓè¾¼>Ñ¡›êÐÅ»0 0EÉûeèƒ÷\ÍF½.š»ßm²ŽÓeõ:sœ~×êØtЃFÒGW3×T)ýX“„Uò~Q#¦Ì½lÙí5߬…9ªÉûEVá)@%ïc§fÆþø`øD32ÑÐwòÍÓP€ JÞÇʲ|;G»l±9EÉò~®ÁG}™Œì-ÌsšÇÝ.³Q…¼ÿsZ ­¶—÷‹-j­À\`«öS1Öb÷¥xT±j±@Œü[ñ5ch±å$Ãh¥Û¥x¼²"‚í ,Äѽ`Ï¢ïøWQõ\3*±Ó ĺ-V^ÀëScOÏ;7ŒžyÑË´¶·÷ì&z™¬› gÕ|%J jŠŸ¢ŸžàÖx®|Ù,^'« ~ˆ¸þ؛ŠQ•µç¸.€n‰ .ŠŸ®YUiÈßn,.Ѩ~Ü`+C‚u€EŒÒÌœµuÔ‰°Uøýï9)…‚È1•nò¶z>¼ 0„Qj  öÊ=ÙÓ÷ó¸¶òÚÀ=F™u~¸]ÊÔ)Ì)?P[‰¨ßÄ !{0Òd6éÔj®J¬øn2øTq‘Ò–ê⨾y¹ ½åÞTÄÅbQÀÒF£™àcôh×hÝDÈŠm_Ó½tP P»Q†_·ÛÕZd< XÚ(鶴H¢k°t0 ¿Qfì,^ÓÚ.ëznª%`Ã&+.S504jP,>EgÔ:7Êò!„¦""{ê±ÇÁ uµòa†c©2õP„UlªCúÿK]§i­=ývpøñ¨µ‹_~|cÄMm ÀQ[»8êËœ½+3à§­â~ZIŒwÓ{µ ¹iU}¥{i€ÔŽZY^zµ‰­;ëÄ^%Ê øj«Øуöµî,À˜G­bï yødÆÉ`1«ÐÝ๣ ôÝ1ÁhA¤ °ÌÑF¾Yˆ‡g@%{:;T×üélâ½Rå[E&‘ž²›6ž°Ý¥,w´aÀ‘G·–= †N)ÓÔ|Ô æÃ½¡ˆÎV%.Ô=°*ø¨ÇG™*ß0¢‡'™8ŠØâÎBׯ°ñ¬¼{µ—<•$›`)Ó¦dkš<ÖŸß}ì!7¸B¿W{"{ú+oö»º}o¹Ë0ÄL aõ`_Ó€}¸lpÓ4H®7ºÎúä£6X™µ ¦A]½"^üÎܺ€qZ©2¶WÚ2¹©s´DGÄ¢Ÿxz¼xá–á…qÙ®´Ul•&ä·âÊä<®'>ÄÁªœ±æ‡#¹ö•#zfV¾+îìÎu¢¡Þù‚yz(Ô¹éø+™4·ÊæÅƒ´ÍÇéo¢íjóm“õ¸ãOõ~ÆD 5HÑ*¶„?§Üs£ÙÑEÛ€õ.Þþÿšü¿ýaûÐÉ #ÆÛÿt4ùÇØmN5™dËhs^s‰ƒ-¼%eÛ4—EsÚ3ýñÍW»·æhy0jOAlž)Àn½…Éõœ(òã/¸ˆíé5cµÌÕ8¬%­ŸSL@•t¢âìÖOiPÛ`¿ÎP©e_4‚8³©É™ËÆí|+¦eîf¾W_÷ÉÞ,ùÔ×lžÀ°v ºAl Ì4”u€Ù‹ƪ ^“Ò—-æ6ˆ£C÷FvÜwØͤkV™£Üùr9×Ãå™çÚ<ÿô^¥\Ü*²ÿ=¡>Ð pþáp ¯†»Èx2ƒ"8‡lïý[±‹h€³ÉÁækˆv-c{î$0l£¨v·H÷u(„÷ü“þ("@‡KM:\\¶À(žƒqvUååË­ºŸý¯òí“âM °¥mN;®ŽZÿÖ|–A›‹³¦ÞzšÃ„º5o'ûηƒŸIÙ´Oþ†öt­ ˆlá­VR0eŸ-×@YÞo¼/DÃnófÃn´:}jušÎÀÌîtåm¹.÷Þ^ñ fYšÈ/;ÙÀF©“• r´ÎÿXëè¯ ÷ss`,_z šþ‡]]ÂØá‚×±Áð½äêêŸXY@\Pi[k¼-…½ª„žÊ`ËqAÉÑ@óãÞâ— õqoúI‰û¤9ÅÆÒ·±–(¼iA o-Cv þ“دLŽp\¶@´Q˜Ë;!=ª½KÎéìK¨v}c•P{AÞí¾}_F÷¹&=’jZ¤š"䀡&4.[euQ'ñ~¤÷r$Ï"ççªcšMu¼Fº¸$õóÒAvbj°Ççi,9DŒÿ&%ïãõ¶zzJ;ö²„½k;·ž|…+{èd/‚Ål´ÜN†•"{¤esîú‡QÌûðr{Oþ&KþZ溘F‘8Ì }Uë+ÂÏ[ˆÐç¾JÓ/˜òt0Ú2ƒÑ6û­Ù‘~]kØìšÔ´k»ÑÔæí¤Pý]jöXÌ æÚ­ ¤â·¿õ´;¤tÙC:3¸lM¢÷ÑÚYkÈb³GsfòÖbÖLÓÎACÊ“=ª3“7 ¥žP†)Û0ƒ°59gåÔR€,`;eÛé|/‚yò-²@`°5˜BÆ'Ô-]sð|®Õ´q.R`<4ˆ>SÏäI=¨)0(ÌÿNÍhõ]E¬šÀ(lÐ}¦àoȇ,` ÚÊtö´³òCí&Å#.`Ç#Ãsw4‰m+rëÑ”{…N7`SC1åUŽ–[FÝKGåŽÝÑt¤¾ëÓ;Ê{ƒ¤yÌ ÍË!vøòÃ2à `C^ä¿õt|o{,0Cͺ>–M×·›r•U’hp½¼È«à7L®¿òTØÜ–(StÁ€l|Ìdã+YíÚvÖpx(N½]´P›ÍvVp[(:¼]”H¶¥í¬àõPLvõ¸[lZ+¾´v̤µÃe xÈl’º5¢Rô8S{WŸ pÑ1ƒ‹®Äšr~÷ƒ7Ü£ëð±&õ]yf‰ßDWœÎÞ6‚¶àÀQTt­¯ÜãìSú†´xPŒ~Žôs O?§"çÆ €‚Ž™t¨ÚN‰„îÄqíR_*gÿ+ÂÿfnZ=MÙ§*G:ÍóžÃ+SËͨÞüòGrXî“O¿óÀåÊC.VÔÏEÄ]/,“ªƒlrÌd“CûÕàŸ¤7èã˜I‡Ë@(J·Êñ põ0·}–® 3!~Ì ‹5.€`Pn¥[¡<׌5€XPìpå7†ŸÔÇš€,(.·i%ÍÒ„5Y6¨ÝþFf б º1d¦øØ [{l¢^ñ%°ý rü›¬Mw@$"’Vû~öñúâûÛ ¤?^ýzp@¿ÑÛðŽW’U[Õ«ì2yMòïK'Q!µã7b,]»š`½s£¡‚q;FÑä°V»»»«:þýLŽ|U?¸©i¢¬¸MŸÇéÚïÐj§J«l!YßwfêS=yüËÿS u;IV³êê:Õƒy›RTŒâ)›¡9Ub‰R ãI~9Ü…ŽeF‡ªioé*ˆ(‰;¡c‚Ä‚ ÔÃù”NÛMÒŒ!üj níýò3ö¬—KÍX:®Þ1øµ»ŸúusjÐ zb€þ×_QG?mÑÛô¶!ú³¼HÇçIZl#h#h~§&Í,ÛhœÂÄ› )Ü,âÉÝÄ|( $Ó },¾½£Aï¢?H§wY<hëà"ÆÛê7)ÛèhL'3‘ £˜FžË:¡½«Aïþ¥gާARdš¥ÃŒŽ‘R&™(OeqC3±‹îÒbðh&xœYÍ âæÀü©Ë»öè} zß= ™ÎJíXˆlœWZQ ·>ÕF \¤Y”Ä ÆLLr( X]‡ 4_­Ñô!z…óXÑû²¦7:Na8¥vßF"†û? WÚÞž¬Æ6J³fN¨A¢ß¢…šJ§ ð ˜w(Ÿàs¿ûy­fôØú+K-ÖØZlbk“Úáä|P5MFéDbL!¹‰Á—‹„²r–loˆ^ck±©­œè÷“«wgŸ®Ðþ‡Ïè÷ý‹‹ýWŸ_Îb”Â]ñUT£ˆÇÓ$†At@ l´diô²³¡^~O3pÃ6˜ÊÅìl¦˜ÿ/qÔµ‡£QÌÎfŠ9‰Çq±q4zÙi¡—!ƹºþíèâòäìC‰iáûõÁ»£ƒÿÙr·‘ÿ^´ÂèjTµk¬ª  „–˜<™E³ øìjô¹k®Ï—1}<Ï6s+]NwÍuºHrÑîÝ îkðÖ<üX|¨˜Øž`-ïškùUH%/gÓišµ÷|]¾wÍõ½˜ðX¶{¹F½»Æêý1Nêƒq@ܯFý»+ê߬SwM2ê0D.X‚ÊœK¹I0/—òÍGIe4»CÐ~'%³œÅn»ñk4¼ÛJÃWù!¾õñàÓåÕÙûóÓ³«ëø<9=º>=ys±ñ¹r÷4ÊÝëV¹/ä·îõáÑÁ)úX~\ýóüìâªxŽ÷Œu¼x‘|ƒþŸ.7¥½Æ xÆá{iò¾=í5ÅëÒ¢´¶wžÆtxƦcSÒ¶ƒ«±(ž±E1!fk›ãilŽ×Úæ½ÖoÒM›kYÊÅ|{­zZ3¬¨wž>ߪ6Ò~ ãqw“f¼·wÿ8ªC7†X5ªÈ_VEÿ1ìµÉxRàgê 'ð…-c‘Ghäû>†)Áÿ®CCײXIÆBXQÈ¥´h ,Kž/ÕF75߈œöºê £Ú˜®âÏ˘W;ÓÿÓ]ßúñ£rƒôëžuka”Y q‰¦·7ÎOák‰Hý¼FeCî6y1ŽÎf>ÝÐŽ"…ŽàÄq¸KXàñÀŽ”êQÜ Ö¸»¾¹ýŒ HNPµ±öæê{Mô’äÄ”äMÞXw£syÈÈâVd &-îägj;¨U‘<|^’kA-Ü)Ï<ü*.ÏqÇàA:ÜdlÄÁ<”¸Â7jAJ×÷°2VF4Ij‚çŠâûI²4Ë¡…!Å›<ùîX”:Ø %ö8 ̵DDØÜ!Ì!¼Òäy^ŠkA-Ìr MÒ…þ!ˆ9ÁËn™Ò[|vãøÿ4L3š("XŽ"ª`jÿâèúøtÿíåփǒo?'ôÂp,š#X 1Ì:Õ·A§aRc2 ì°±Ë,Á«“$Œh`ÅU›Z•v Ý5YQÞ=«9³ôoÙŸ1Mbš ~”•yjë¾êÞA…¤!AȸíK0ä–œX¾KÕñBß–KÞéþmœ£!EUu °/J0¿€¤bÿ¶:-¹ 2•x»¶aÓÄèn䎌"ÛÇ8à!A@%\ó,,%‰,ŸY1Ù3Pˆíã÷ƒ[b Ao³˜—)y ¾-ó f©«v;jGI—m{!†!b—z¡ Iãã2úQÅ‚õØñYX ·Ä]Î"4\b\YáDÍS8ì$ÈÓŽ4&>õÀ÷‰\n¹¡Y6¦N@˜ËdX…ð¡I÷lЂ[bC€NÅP€RŠÒ[Å‚êÛ¢,Ô,0õ‡ÃN‚>í(1eÔ§®Å08ûŽe‡nàÛ6uಾoW,0 úž€Zp‹,ÀÖœq!ÆùNÔן[55b y‹€W8ÄÅHmÁ'‚ZT¹¥Žô õ²:p‹L *k1”ªH«)Ï>Ó(o[âV­Æ©ƒÐ"ËÒ ¬y–WgWDåd *ŽÔ7pã…bàùýÓË71f`'Q¥–FÜ]B—ƒŽ`¾Ƕ0'R„NàðÈ®hU>µàè¬2ð^˜ÅhQ£9Ƽè$ÞÔ;–0]yÀ8ö|=ŸûÒ±8u"†}²Š&ñæðB n‘….-Ô¹Þün¥IƒDåë U½”çÕÖÔRœêÞ¸X±00faSÛ¡éåLÚÚÈ&üQË•>„Ì’V(=›W,´_ ·˜w·,tt¯ë îõÛJöÝ4‹€k?t7J?PߤEiÚÂö¹ð(÷S™nn«€^±Àù1,Ђ[ÌÃeߤ‡i¯„BÆI¢§?ì× sDq#ļh:U–çXµ[×vÄœOÏ’ ÄÃ2@˜”,t=ìÜl)©ms¦Ž+>­g ž…OZp‹É{ ì¿D–î”–§r àU*ŽÙÝÍE¡î­s1Qü™]QeŽ9ž'اAè3bjIÉÛ „Ïà.|qC!ÕÅŸìkÁ-摪KU»jUÊe!õüÀ„²©!ž)ÜEhñ¡gCáú]pª nôµ ó!œÊñÆfŠÒ\Evk::¦yqž&w¥û°°þlšýÇš‚xµà…Y§dñô²-°!TRKX2¤¨ä‡ÌÁ)&œUþ›eñºä›ð-͘¸S:—Ýû!ß4Å2ðj± ³N;Éi @È/…+„Å\ÆmsŸ2•\¶C*eµË ³¼Q‡|ÓÂZÊ!ª–æ¶ÔjÜ ”ÐH@€5/{ÅÔi0^~+Ó`¬ã ËÍUÒ"*™¦"“i6¦&újJ”GÈNËŽ–Ó~†ËXSïÔðØÜ™Ñ”ÛÀ+å6V™E»ÕÆio M¼Z€Ã¬ÓæE|¸¿A§ÕŒ I(÷¢È#fq7T@|?rF"Ëö)aŽc“(„§¨ŒB »‰€ãÈ BR&CÕ/[O&¶ópt0z{'êðeê­¦É6‡ÖªaÂAS2 ¯–Œ2ëT“•Y­üdÖi'bjAŒæ[˜Yà"„VÊж#ðñì€z•tÖ¥0ž”»Þ;»ª¶ùôö¢4MZŸ_Õ£‰ó“ÉWšÄüT¡Úú6žÎ¢d~âÁS3a8 4ÅzðJ±³sÈXSL¯ÓARW&éMo/Å,›WóDœä臭j„è¿ÿUN&²¾`8Ÿ4…uðJa? {ÕLýÕ’9fvsþ”¡e —Ùœc?püHXÒQ5sBOVøÖ§þãçµ+¸ŸñÿÏäo7@~¤=1$Maìm$HšŠ%ØÛTž”!¡Kù|ú÷S±×”OÁÞFb¯©k‚WëšuÚE%‹Ÿ©Œ¤'l+pÀK$‰"Çö ¶üÐq…ªÓNظօ©ØMcÞz–顪 XyŽñ7Åô’ýóƒè:ž¾¬ÏåvzrÚîî®’Èá?M:¤\öioˆ5AðFA°¯™óþêrÜ·õG~l4Ú–"ƒéÐ4"⯞¾5œfÉÌwÖüþoÑ\´ž¶OY)¤œ{åBvçÏû êâÜçiS” ú¥”©æÑ¬úî§éw”©‰z_d‰ªåÕ'"kóÁg¸ÿÃɺy¹š¨uÍ%’µ'"hs™@ìû?ž ßSΣ¦éCM%²V—Ÿˆ²šÍXþú¦Ôç¦ìwí¨éZoŸ¾'*zæÞDEÕmôÈGç¤ÖlÈõäæBÒY2÷=v»EÚX–GýEªÕ›¡÷ÜXzFõ‹7ñÉË«¨^7Im…øäĦÄóCn;¡ËµvJ~yXØnä–ÇßáUûä >i‡H‡ë.ùã0Y:Éïü8¯ÝÐ] 5s2ÜÈ5s2|O<Ôxâᆞx¨ñÄÿ—'nšd™[lÕÛ–iš¢±œ¢åßÍoKͲ?srj<ïðïäy·%%ôeNHÇþý<î¶ä¬z4§¨ÆÓÛxÚOêþ5VDQHWU3G4ùPlsÕ­4刡SG‹T(›øŸ¤±Ü‚êuÿ“4P.Ûî?—iµXÅ^jI%º—0TV-.Ÿ5„ÒlÁ^uÒxj[uºl÷V×ÏÎ.ö¯Î..¯Ï.êµöR˜9°hæ'‘ÆÊ ‹×ËÒySÍ—X~[ M14ë(²rDÕÃâ6SÍꇬ\5ëTsb”¬ž]löX…t’Õðw8ËWÿØÙA2£Ã²äÎÎÎÞÂe’ 5EÕå%ì2Mb=4Ø«þ@¶ú{÷å.qNe+þ8/Ooï†bRþ êxÂÅm]Õü°º^ÆB¸ôqŸÜ#‹R~§>U˽Ÿþ9‚U# ¼¼¬)#ØV‹kxœÝ]ëSÜ8¶ÿ>…¶§jŠLA·%¿IBá‘P—df³_(YnoÜíÛàîÎÿ~l7ôƒXrǹC¥è´-Ë?£ó”txõóƒ«ÏçGhTŒtþéÍéÉêí ¿ÛƒÁáÕ!ú绫÷§÷-t•ÑIq:¡É`pô¡‡z£¢˜î777ý»ŸfÃÁÕÅàVõ…ÕÃõwŠ…'û¼à½½Ÿ^•/¼'“üõ#Ýà0 «§Ë¶‚rø‹‚"ÕvGü1‹¿¾î¤“BLŠ«»©è!V}{Ý+ÄmQ=ü’h–‹âõ§«ã 7€NЏHÄ^ž±Á0I#À3B—é,cljx5¨îÿô*‰'_Ð(òuï¢Ïò¼‡2‘¼îåÅ]"ò‘EðÞúuªê~PcR~<þŠXBóüµº.2¸D—.œª×Ôï‰'\Üö«A¿§ñÓ! ¢{è—qÌyZ¼lzº¼ž~Ù×XÜÔ½¨k謾hÜÕ(ÍØè®îæÝü»qt2I Z^÷°Ÿ$¨#rÕÐ (ÿØÙAoꇶ(ºC‡éíÝPL`Â}Ü'hg§¦bÌ_÷&ôëΔ£^ý^u¡ü¾÷B¯fIɶ…{"ãÞÞ=ÌžHz5>g×^@<ŸcÛ )¦2 }!f 1Ñ:LùÕ ‰÷à-ƒò55üò£D‘N°Ö¯«ÈR[»\γÞòõµùĬºWï\y[ÕÃêëêùŸ÷Ê:A6Þ²0j¤96B½M¤~C$J="NÁo@'æ,<¿¥¹½~½çÝjêy÷%ÏZŽ`-§`í}³önrº üG¥&£p Sbƒ“äÚ?l(x³àmCê¬åT¬:Ù÷ãÁÇ/_lÿóö}ÿü|ÿóàÇЙŒB¸*¯dÆ…?ž>0³"‰d®&ACê¬åT¬ýtt~ðÈÝ|r<ø¡¦á‡ãÁ磋 öáË9Ûg§ûçƒãƒ¯'ûçVŸ~¹8‚‰p!eÊPSê¬åT¬­°‹^jÐÁ ¹mùA\1}ëR`-ÑXˬåT¬ý`ƒ~.A êHÿ ´pÐÕ„zk9kE¦Îc2*ïÌhɱÇ&ÊñŒAÇ—úËÉ,背ø¸Ón@=‚µœŠµÏ£9ÖrÖ>Sl¥!X«ÕÆÚý˜÷h›êÑ?Jö‚µk¿Ëa ‘yG¥œ„“l/«ø/'»ThÕ†‡:ë£ÁZ­A\{¾Ù6ëöÚœ·!¬zB½×¬Õ¨X»ø|ËÊm”·»µHo@=‚µ k×÷éÔ#[­¶´F Ô*0pIÀ GÆqµö^ùDl;;8ýy<8úôóc=î8Ó*àl•E·¤ÐrcRìÒ*°ë~RiÝ" £U€Nq¨&N0s%{ýk&;wùT'tå"£z„Cü´FyÚ4;ViL±—?W‡z½t*©Ä\FíQ’$Ñ+¤’$qãÇÍ(BÐA×Lq1Úz…ÑþKίÃÈmí¥ÇlÁ̽ “ž‚)u*üI¢†D© KSà»­³ü,‹gì-YUL ç&"æíÖÞݳŠ\*wˆQ×+ŒzînÓ±«ì À½g8Q®}ÖXîóþ0ѼEöðO<ûžej¯Gà'© Jœ]R‡JÂe’·$^xæ’µÛ©nI¨#%;ôŠ@­‰'r|f „«’ú$&âRæÌæw(aAé2IªË×á3½Ìšp¹?Œ5FÇéúNQD~• DxY³*mOYUFG¤#žq½Ü\®äÔ+³×`ÝÎ¥S˜ÃÀÙx$þ4æo`Œ•§ù|ÀÇÇ'pn0#1•9ûy»uXGX·šØË*œÅÕ~â@,”ƒ¦¢ÁÎVë rMNŽßÿ<<:8aõ:]ŒÈ>È:=½4½ÔÚQfus/N—†0b DA*sž„w“0k7c€"»‚ò½U”ÿ›Ø*Ô½  ¾oº4àä7n;F𸷊ÇìEŒÔÆ? ÀØæTDÐq¶Äù¬övAŠ:R0I>èìì"‰ÔÂB«R˜ûPJZ{ ŠÅ#Ù8»»[ü Ñõÿ­§•ð^ʯü(™‰`AÈÿ¾U%Ëñòz½¢ hÍ"nQ¯_%Ú»]³Ô=Þ®åî÷¥gº_V¸7÷3KUt#ß« ^^·ö"™Ì¢ÉB!ÆŸ¡Ñö"éˆÓÑ3›(åÙiså›ú72H¿o¼!LDª!ÞBÏj¦DH\Þ«ˆËïÐ) ð}¤[ úÞö»T¦2Jæl,ÇÃÚšÜGºÏÐäLëˆ hÜ/¡1­Yľö+íë² 'ádë‘rDì\¿dçþYX?>½{ê #&º_2ÑÏëBäªTèQ€ähä({ìR©@ z¿hÐÏ.dò:Hv áúæëËd‡F~à‚ ¨½#¦¹ßÌ4÷ÓÜ·©S$…îÌW&Ç,˜àÉ(tkNp£Ê`×rÉ^ §ßªít]ðí~Wë÷…¡÷-“Ûº;ZFÊ¢Ñ-…ŸD0þ­¶¹væ“ðž~ÀŸ »D]²;d øgñØ,‚xF ñª éqŠ‹ ¤A‰B2+uú 7‡ ×MMEuкnmÛT·¾ÙyX\X|˜ê^ŽÕ­~é¾%?^D?ð-PT[S{_O–Ê%”'É2’ãðJ>ƒ8!pn N?YoI¨‘Tb…ïê6WòÎ%&ÊñŒ’¿@kiƒ’ZžFþ•Hd=ß@€Ù(óÏÃã‹ý÷'G?¾œþ hÂÓÇùoˆ¬"^€ÑÌ 0/À(z^äKðjó„ì \è0‘°Ï\ ûþCmA1³g¥5Š`˜ÙdMÓDÐÈÔ›4Ze–ëªAJE¯ä{e:µ’Ý/<ζ³]ì΋H&%‡]sÕèÓþ&bsM’Ímö·ª´«¦"¼µmÝp4mèõt©»à¥öûšgHËp‡®c‰¾Ñóú²¯Ë~¿+…Ë¥Ó÷þ¹Ý¡©Ënʬ¥“ýx9™:ñ8µ­½ÅêÍýÿfÓá0Pï䢠×8らBX¶#…3Ôm£o »®á pßÓ²E&èò¤½÷ÙÛiòÍ—×Ó0JÎÕ«d¦«&Ëú™îò®ÕõÜ.¨–×µ=¡é–ô P¬áГžš¹Šé>éÅ:m=¦«æòú™vûž7´\Ƕ…kêš¡{&ÈÁ1M½§ivÏɘ6èL«ŒÕAÓ+®£Þˆëf]·ò‡ Ýâ:YÍ\' q¬¢ëT¯ÿ_‹|޵Hꪚ¸‘våêÁƒ+‹E “ƒ¸Ÿv³$Š8 69‰Òh‘ÏF\U»˜8YÆ×´"ÁÚWú–{ §¸l$ia“+¾äBŸ³£õs´Ô8#Äkµ+WWÒ0nnæ"C°gpiíþ[ÎéŒ!޳M_QXeìJ³õ«ã7Õ*9TíR>$_TvRø^7õyëj€Þæ¼¼¡3ƒÀ¶]‚mtkÞýYÁb@‡tcž‚ÎIì»ð}¹¾ÀÝ&¼ €guðŠœ’éŠDlÔâ‰Ø¥¥œß&©tV<‰¬¾-Z®)-Þ­Fv¸^[ZO½å“mŠüh{>8R®¿¸}*©}×›øA)Jש~PÜÀâHU¸ÞhÑhQnÌFÉk"z©×Ét Ã0X¢kÙ)Ù¨ð†ª¶.7ù—”ÓÓLã2^wïW9Oñ²ÉR¨vàzÓÑÉ¢æ¾S•<îñGÈ,V;pý X,Fi¹áx-ÆÓÌ!!“_í*Àõ¦äïƒáF–‰Ö—›,w,Ð{]Þ"4YØÕÞ\o.ìä^âRÅ‚Tiᜒ0¸W,§wHZwÝ0™ Ä)à ©£Â«ê¨õÛö“eÏBã‰*?!5W |_¦Éĵº‘…Ãÿt3¢nŸ'ï¶áH) ®7yÉ–#Õ0¸^z…çç—÷ÿut0 6X1½è žý<=ÿrzt>øQ‘;XN8?„ ç‰íÏ}??¥ûÊy¢aBJMp½lïXxöho3FY<÷ §®h›­—œðº£Ë@ñ¨æOJúÒñ-á·ç¨d#˜ —üöfdƒÛ·D4H–.•`ŠpóFt*‹"¨Žk.¿<­eÿçn;¡¦0B ¼×lëÆóŽ™yªzÍò7Hµ^®öðPÄ×d£GÞóç¤÷ü1X\ûå*’’c%ä…~^~¡ÿÙ”m.Ãå:ü2¼º 2×>êwHKqkKÅêì±(]:ƒH$X.‰@kürÕ‚‡¬R£e[¤ºï5^ Yµ5œ|*L ÅxuqŒôµÕXÄAj5ðR­²Xî¬Bm§žL<‚ÑåõˆCRÏî Gн\e‚Ö,‚£å‚¿!KÔlàåš 町l‘Ì@Æ –غ#œó;}Ëξ‰È“„mæUöw»í2jþ©ÁËu"hÍ"°U*üð =ös^Y¢fhòJ¸ž! «ë8š-Œ¡#-½×wô¡!<]Ø\ðŒ;ëžÕ³?~¸¶ÅrûV^­Ù“Y“]™Êºµù·zýÞж{Ü6ºC«×5º–è .»Ý!·MÓÍ¢œL.D¶.Øpp2²÷&Ÿf2ÒéCPY(Dý6EÑy)­¶MoßÁ!XÁüí‘Ô ¦¯¬/ºAjcðRmŒÂšp6*ÏÎâxT—âxFF"Þü!þI¹¾­YÄ?)”ºˆýˉbbR©õÀ˵ˆÎ ‚u˜9#åŒ?•Gˆ””àF3M¸ÆphhwLGsû¶îö4ÓözŽ6L+§Ã½ÛÛÇùBÍ¢žÑˆD^†Ñ|Ù^1Ðf³Ò©é®J­;;m"Fݤl<¯ͯ”›Nƒù¡ôÄ,Hö'‰/_¨ÍßÓ¿ãg(Ôâ\z°N‰"ðdRà©¡DÕ.”ß.9z’ÃBÀÒ"ïºT?5™Ô´V‚”V£·ÅêxGŠê³O!H7ýÎ6SF¨i)ẀÍW”#/Æ‹œUPäy+jO›·FòBý0|î+S_ ñ ,J8Õt ÈeYÿn/Äj\U–ÏQÍ’“¿k*oÊ+kÛ(Še~9Ú,€¼*ò`Éý5ðÊj6ŠÍf¡R/†—êÅ<]*©'ÃËõdŠÕì¼úEã‹_Ñ <Æj'èãDDØÂªÇäÄ­ÿÐ4}¥hJƒ ~©–U¤jñï¢Þ¢‡òs6ÕÓM„C ÏWÅ?ÓÍ„ë&Rº†—J×”Ò£N$ÁŸ>*IJ%q+J…m ÐŒÔGä kþ8 ™/ÄË•uhÍ"hi?Ù H^®qS§ÖêoŸ#n!EªÞðrÕZ³$–jÎЋ¬¾´ýšÔÙ y©PÍŠDVLµG´ Õd¨¯¸ ¥Wx¡ô ©Q ©P¢ué¿ Bó=^σ¿çšþy÷çÖÈX\*/‰mmí-ó™¨pQ^¡Ü CЉëìe¿Ü®b©r3™’.ýj´ÞÌ/å$ýqtâÊ›ü]™Ãì|ó¶Õæmí–²aèÎÕ_uçÞÿ£nÌ tt¦u$Ín¾xœí]íOÛJ³ÿ~þŠ=©TQT’¬ø ú”ûЖ—´½ýTmì5ñ=NœÚ=÷o¿³¶‰ ž± …#ݨ*ñÛîÌììüffדw~9ü8=b£d°Ó¯ïOŽXk«Óù®t:‡ƒCöߟNowÙ “ØOüp"‚Nçès‹µFI2Ýît®¯¯Û×z;Œ.;ƒóÎj‹«‡ó¯[ÉÒ“m7q[{¼K;¼“x÷žf¸mÛÙÓé½R¸ðg,ÁÔ½[ò×Ì¿Úm„“DN’­Á|*[ÌÉŽv[‰¼I²‡wœ‘ˆb™ì~|زZh$ñ“@îÅ‘Óñ9nØE8‹É>ø|×É®þñ.ð'±Q$½ÝÖ¯¤íÄq‹E2ØmÅÉ<ñHʤÅè5ïLÝ ïä”Cw\ÿŠ9ˆã]u^FpJ¬œ8QÝäýøWÞ´3–? ÂNÅ%P$öØë±ïºa²Sõtz>¼’Ñ•/¯óVÔ9ö%?InjäËHDÎhž7óqqLnAL&a"éæ-ìK‰‘±jä’?nm±É 4÷²áœ†7óK9u³Ú¼­±­­\о»Ûšˆ«­©HF­¼_u"=Þûƒ±w³ ¶¥k2ãÖÞ-™-´rú\?úiXšaº\ïÚ‚ Ï’–f›Òë9ºô†Ž;9é (ŠäwÀ߃^:i79ù韔‰$œÞÑšw—‰%#®t:Õ³Öêù¹L-³ÆU…¾²ç‹åºšô"q9†ó †¥³ Ü2ÌDŒAƒƒ.|8œP|ÆS1Y¾o¶€ Æø»Žº´÷ú7º;+·9á8룳¹¾OÞÝ‚}„z ¡^#P¿¹ÉÖô©K½ŽP¯©?;˜ÅI8> Âä-ƒ{¤ˆç šlË·l‚ÚLØ.&þä’]ûî¥L˜Fì,y õ=„ú‘úƒp:üËQÂ6Þ0­Ëù[õ¿–þ¯³£±˜ÌdÀŽ|g4ð\´Ù÷êû/Zs „zƒHý`äÇl…—‘3øêER²8ô’kÉm6gÌG#éúqùÃY"™Ÿ€Ž¹ÐP-ß›×§ÞD¨7‰Ô%3ψ%#ÉczéÁ¿>Íœ›Ù0ðvâ;rK&€auÀ<…žÚÔ[õ‘zEç%ï‹\ÞìCìå.½eÒ‡ë á˜é Îr@FØ=]?ž¢ÿ~~¼DfË@ÃgeÂ’<鮟}Ò6flz¨ëwww­;»•#}8ÐpY&¿¹þyÀ–îlF´Î«cÑáIš•'kĘív»º[\K1¯ eñkè÷Yr{¢õòŒÑŒ çSª¡¨::ÑýÁª›¢1.JÊN>ÏM!,a)í”E¤'ŒNJñ÷ ,pôe­1ºÉgEDÑy’Òc½ºöÕqšd¡qAãí;kEe©¡‚¦'ZÉæ)-Ç”2 1ÀPwÍ/à]é5î0'sø"É-ŠR\–'¼Є5\ònê~’ŒÐ­Êq’¡>"ÜAo& !9;Út·hÏoiq›Ð»ZJ·¡«ºQYÔ8¡.¢ñ¼óaq¬,gYÎ0£¤–ÐMS$ÀÐ’Ë;eàë·ƒô;Í@<\‹Â9:ÍÌG4ç ZfËBµr¢eøö`ŠÙX«ûå â¸ó ¡ãY*†méMéDëÜÃÔhªÕøHR|óËó‰imlâ8 ÕöiìD6È„¸†nÃ!ëiÒi"Þô#J€š¾é®m`Snܶ(µ=«/<ò¾PCzÔö_ÂJ,Ÿ>£î°²{¥ý“fáÈÚãê¶Çþ_uÂ{^é³’³Úi=åÊÑqGhƒ,µÂ,¢ÂDžÀTI ø˜ÐÀõ-§8[¾.Ë5@y¬óS7¯MÏ8ztY”Oª>ôw»ûÔÝ-Ô— ·$è-ôïÞ¡}š¢·%èmEô×½YÉòI?ÍÙ>‚k(.çà¢hVÒ}4ÉÁm24…“,ÉFè.!#ÊPœèšý zG‚ÞQDß˧ó"zÛÛC–ašûü¯%þÚèl‚³MÑYÇî+vb{W‚Þ}ÑžãIÐ{Šè‡ã¤DÓ"x‚àg\PŠÊˆgéþ–è%\kªr-àD_.†®>Q÷ÓWô¥;t? ¿N6Îá,½¥•Édš& Ì(`ØœO‚-ÑK¸ÖTåÚgƒÞ€Û}qy1üʧáùÅðÓÙÍ :¿ .êwËÞçËAÿêæ & ¥B¡mÑK¸ÖTåÚ q1G¢"/IË Ó·)z ך/škM ךª\ûÈ´ÿN C¹¤Ñä¼JH¨kô®5U¹§¹HÙP>„ð’‹e<ñ,ÁÇ—ÖFÙL,$¤øRom^µ¦*×þ;ž#áZSkÿ¥ÚÊ’p­Õ˜k»3ïÅ¡jFÿK¶·$\k©rí–P¡ë|¥ GìpÙÅ¿G¢îâ¥U nÒw‡^µÖuí)äf‡ÈpZ¦Ù‚²êô{Kµ–*×.>V å!ä-£ô-ÐK¸ÖRãÚÝ}ôfð%dk­­šP Z8pZPàŠˆ–e^h×I [Œ®{ýoóßÞº½ÿœ ¿}h¦¥„Ö¬ ´öÐ¢Û /HþeÈ.³6pÙzÈjÝJHÈÚ@B«C—EéŒPôæû,gG­–>Jó§­qÕЖ-a{»È`ñÕí@IHÃ6·˜;¶$–Ûbù_t~—Dëˆc´P?ÄBµåðÑ>N2¨Â«m$Ö˜O´ëº•³°’µ /¡-Ãi:oi‡{9\Uí$±ÞÞë·Ðî~ó±zCÈ›!Ëd…Q†ÿƒ³î©øñeÌ &ƒ3{j Ã8†@IS1Jú Ë ÷€nUIXÆ1Ÿ¶Î£ù¾·Ö!9¸5]xuJ³„-»þ}øR«‚•°—cmÛ(¼Æ>Žl#´ì¾á:Ô·LËp|â¶IS·¾þ†ïú‹9.öÿëÑ?Æ…ª*) ÏΆ”}X9Tìxw!\n>ìÇm;Ø·ÝvS›àÈ$!u¢(v‰eQ¥ëS@ÏRšÍ&jat'cý…åÍ÷ß(AŠæÝ8wn^»íx–m`Ë£Ô¦6¬{>nÇm¾”ÅÍë­1ïºÏ~Xøv²®›ÂùÎuu¡Lލ¥~d‘€PÇ²ÌØŒˆ˜ŽH­«¯®koV¤se]7•R;×5ˆ­vìÒØ‡3‰Ú¸McBIhÅ8¢FlWº t…ü x ù§ªÆ6uVÙôoÅ$Ò•°¤kl‘™º†sWî%å›ië¥ èhóã=Õá‘pº»ÊéëÃÿmR°N ð¿5ˆÊ¶Ô¯®½j 5±’ŒÂu6™øáÁ*Ÿ€#”‡2\É" ë®fmuÆývoýXóG;K¶¨ù~®õˆ8Íï´NAÙ¬ÈN1¹GèoEÔ’:ÇõÖ¡^ÊÊwŽ~)¹W×BRW¹«uU³œ~ç:V债z’eL7XQo9«’ôÝ—ª®„KÝU.UëI˜Ô[­7Ÿòe5å›­]zÎõžpî³nw›'daÛªä^[wj1^‹+Åd|ƒ'Ó#ˆ#ªáדP‘§BEkQ/Mݽ„<¼'䡊¾š” Ë}eØrò6’ÓF£‹éýtÆ+#“ð–·Ê[Šb%Äâ­˳S³ ü‘$Ê)Au„&”sÒ£= Ox*<ñ$ Sõ˜†Ëž¯qÛ#®eÓˆãÈpL;lcÛó"/öc(•¼PëTD<¤eF«LºÒÜózÞååþøažß+™g鼚ßTÚG×â"ÁCïêg—NŒ½g̵ܿªSJÏ[eì8Ã#Z—õ¼<^ÅNÙ}þ¼¸½ª+ q'fŠVô%ôè?¡Ç—§®xJ]U_ ûÍkànó•½nŠñæ%ù£ÿUi¹Ð¿Oq‡aÆpÄ|fùƒ!*¹êfà….-Tí axÿ 뉕P¯¯²ï8-r&’„f«¶¾„?}åâL¡®ƒLÂÆUž/aKÿ [J—q+W¸à¯¾¡Ÿ8鉑V]Kò%4믭ßx‰¸ÿ¸ÔRìNB þ¶…Ö¢$R„!¡cAT×.Š]I(Ãß®r $¡9P®\v˜’ø¨Ô3 Ò£åL¶qrD ®{®ÙömÇt¨:±az¾Ccð°ßÉWwõð_ª‰w ‰ÒÁVK‚‹ü®y²é„„zV`+ŽLMDa¶K(¥ÐSEzýäME'ϦœÕèŠ+*PÕd‡b !£`»EÄ@Â32Ïdyvðk³QB5ÁÚÅ 8¡X–Û¡©%<æUê $\¬ŠQçöóåE %Ó¼sZ¦yÚ;Eÿ9ï}¹DV¹‚z 'iÄ#šàØ4Û_ d 9šæt:-O2e³×5Y–¸9ÿYâ+w–wDzã8IOžcdwËk àkD8FâÚù>‰OŒM8Ix©7ùÙщÁÉžÝ|ä1K ?¹í•ê† BxÄcÒH™oFœŒRù·äOØ#)Ñ 0Ÿ ³(&Çfvå»ã8JþDCFÂã;/ûij Fâ#峘¤CB¸8 È;ˆŽÌuŸ3ø ¢GäÇ8MOD;aЄŸ4\Šnò~¢$ ?Ê™ú_p” "Ü@FQP~Tt·l§„=FdšKi‰6t•7j‹F„aæg¹˜óù±¶œ$”cN‚\B3Ž‘CR!ì–¯ßJ%ô;I@<\‹ú3tJÌ$׫—­²J¥ÜŠQpb$ø±4Æ|häýŠyÜx‡Ðñ$–örŽÄdd40 9¾ bnÝv½Àr*ØÂaÔí„Uß!aßú8‡N# ›qÔØF¼åù„TêÄò¬j½æT°‡IÖkáMˆãÚ¹xé‹@ Sê‘ÛG~I+q:^#ï0³{¦ýF³tdãé yÛª÷g]ˆ~×z̤¬w™O·tMpÈð`í`Ž•V˜CD(Á#˜(q>4mÓ1NV¯K¨(²ŽMqªñá½åVŽž\æÓQÖ‡ùéõ>ywsõèmz[ý§Oè•>Û¢wèMô×­IÊé¨S¾à‚Ó8(š¤d(¸M‚Æp’GÉM£`@8 )C×ügÐW諚è[I—x%¯t@úxœÍ[koÛ¸ýÞ_ÁU¢)ëýp\'ÙfoÚ8Ž»½ýTP"e +K®D'5н¿ý)9qǤ\/6F[”4<3Ι!¥ãßN¯zïý34f“õ?¿¿¼è!í@׿EJt$ˆ6J åÁï_osƒ|jÒ#]F>IR‚0(,Z g ·5úº}]½Ày&ì}“ÛQP‹ m‘Î3©B ÇÈ™k–«±(ÛÉsè4ÑÄ\¸Ct,ïOÌP iÃsùõýÞª£·*oyÖZ ®µt¸ö¹Y»œœ‚4U¸ÉŽaJ a`’L#H÷úDðA8‰÷wD¯àZK—k'º»è_ÝöPóë=ºkv»Í¯½û#ÀɇÎ’G’iÆqJÁì€â…ÏÄ$ؽ‚k-]®ýÒî¶ÎnóóÅåEï^Ló‹Þ×öÍ :»ê¢&ê4»½‹Öíe³ •\·suÓ†‰pCˆThWô ®µt¹¶ .†2 C  À‹â´`ún‹^ÁµÖ›æZKÁµ–.×Þ™¦àßq€†P¬©ú$zR êÚ½‚k-]®Å1•É#Êeø/¹Q"Ï||e aLä"BœOÍòè\kérí¿ã9 ®µô¸ö_ª­l×Ú[smsáêfô?e{[Áµ¶.×Þ‘~ õ¹)V¹°ÏW]ü»/ë.QZ•á&óõÐ+¸ÖÞ¡®=…ÜìUªeË*CYõú½­àZ[—kçŸoYByˆy¹²ôÐ+¸ÖÖãÚ×û˜ÛÁW­½F¶zBhpà˜à Ÿ¤)eFã}BÅ¢ëVçá¢×þòкí~k?œo§£‚ÔìR{ gÞm`@ ’°‚Çì{°^· ² h}Ø?ž}ø>¡ü¨\61íã¸<̶‚å(˜Å)`,±”º(a8„¡%Ä$ˆ’ÁnÐlàØ;LiG¤‚ ý'™M) Œ†‹ÜìYÌvƒ%‚õåÅç‡ÓvëmÕç|èšH> @ŽBFGˆÂ1…KëJž!¸³ôÏ… ù<î=P®:ú9Bªf?åbœ/d8[÷)œŸE} Ua¦¹(ßaÆ ùüJ¬aé5ÀUq™=µFRA³ÎSšýKSª‚ §\ˆÐõÃÕç?Ú­žžøª‚\ª• ñîU§Ýíݼîá·Ý<•?îºÀùPÙr8³§ @A$UK %1ñ9 :s « @7ËF]` ©Ú/+öÖKÒÎùmÕWÏ!dÅ$ aA†„A0D¢€ø”ÉÅîÌy’RýI2Îw)YN-ñ 4³‰üµ0Æ9éZAÁ{UçÍ[A,ÏeV¿VèÁ‘®‘¿Z°$÷|@;ÔìXQITÝ5óÿâè]<Æoçѧ1Þ$Ž÷4ù¹ªˆêUo}žüLjñ Žçtöß_=NÚê*覺N7šb¥Uõ ÈŠË7'L®cnUÔ,WÛ`¹œÚ>î=?œâ½­”Ïó§¿žô0¦S£ÁŸ°d>î#{„þÖD­ ÆÚ5®ñá«£_aQ}-¬mð¡.z t`¿‘I- 'b¢¶å”_+¤ü"ˉPðÿf9u-ç*²w=[Ñ«H'ÜõtâÅèňxÓ„ˆcHFóÔÒ`ËÌÌUdîFv “^¿ìJ…*Œì¸ªô¸AͶ«†~¥j9ý츮ï†^•‚Û7YúÕ#)Ïê#¸$ò÷³<4Ñt¿~ŸÒ…’4‰gYÄ Ò>ºþ†Y„ÁW?寤œTö^0×jÿºN©HFÜdDO¬‚©Ý ¦VNšmÛx:­¿àòi=ίu'ô*‚,j¦ùíYÁ¨a@”r̸®)„»‘B¼Q}O#¦«²"mq·_Ãøå*CøßBaEÆãndUk; p­&˵ÿŽå¸V“ãÚ)·Ò\«WæÚÎ Ü{r(Ñÿîu×ê²\{Cœ2t•Uº°KWMü›Ëó.–ZÕà"õõÐ ¸Vß!¯=ƒØìÕ5M«AZõí^p­.˵ÅçÏ, j5ø²Õ7ÈVN¨€õ-8Mp…KÒ4N”öï›®ºƒ»þ¨÷ù®wqÑ\÷î>U¥€Öô-´¶¨èv dÀ ’²€Ëô-\ö¼ÄÍeR3gÂò`: œ'‹Z–2Ã?Öxu“•@çc@Xò< ñ";ĨœU·2Íß§EÈKP­Æ•ô¡Š–œb4v1¬mž~»ôa…ôŠ;üÆÑÌn|T›.æ/ú§wg½îªØk1}÷?¸®œÈïq¢çð:ž›tÞqRÊ&´Ïæñàü(r0äYÙYB Kñ{B¬®‚¹ydWÅej“š2ë<ú]Rª€ u2Dèêîòô?½îHR¼€AŒVIü`x9è G·®$BSø?ìuÎøÆÍ8rE Göä4\Ѩ ¤$$.%Þ ²ÚðèzÙ( LÀ m °Ód–Ž‘ÃÿrPÙæ~\ˆ€cºH¡’Ó% õ¦’ž*8ÀÆ– úùå~(Ù± n474ós\؇7Åjèã'Ð1Ûß“d£†Àµ5ÌME?;ÇABg8,|úÿ~ÒtHJàZ›®UR¬ hØÛ”µ¼ï®"˜q˜Òô°RœÛxôFÉ£çnüÃÞó³ÆžüIi|vný0ž+í„ÐYÓ;¹Gèo9ÔM 4K4°áû_ý cÈBÀÍg¬Å«€Ë–Ç. ™f‰fžá–Ÿ6 Ç"H\šÆN+») ºfCve§ÙÊ®–Á6t×,ÑÝ3ZfÒ'ޝÐq®}x!`óVœÉ×Ü{<™»õ²Mw4e¸ãYÔ++ôç¡pD³Ä²è³õ"ƒ;[g9wÒØDÔÜJD2šÿÆ `³æ&›É‰5tcnÒÍ‹+9!ì>6aûÄCy„ƒ&„Žc¯"s›ö07ÙC*ÊzyR½bn²c†ý;n™^S×=­îû.dK†Ó†iº¦oùZ™ŽÒΨaDRš…É2k4†0ö<_¦qº¿¾ÇOƒŒ£p‘%†!í£«?qàˆ¢ù ï“úÞ êZí_Ò(MUš›T))VÀZf‰µ„ñó Î _ ?ãß“<}ÈÏ`éôÊË«OQuqy–7H(=;{A|*«H¡š%BýõFìIJ«!{ÆQvÔ7«§­ÈÇI)M¼ye ìÁÑ,‡,´òg‚0¥ØeÍÑx©ŽLnåéY]¢³¼%]È*Ad˜¥ ã-)/ !ˆZÌRÔòf”‘Tq‚ÀÇ,>oF +SÞ,,AÄf•"¶7¦Y=‚D«$¾1=TãKŠY¥Pìͨ#”£,AähU-°9Idõ ˆ'­R<)'V°Y[žq]ÞàHbÊ“æj÷8,A€dÉ•ÞI4›*ͦ Ï~‰¾ã`ô³í#¾—šíòm¶qºæ»—-Ë­Yl“}wùþ-;‰‚hÈÚ­,o â Kº,39% ]@–?q*×ç-±[ÏÖçY1}½(-×-àM»TXÏJ5Yõx³+Ù©€¤ìIɉ8{»äìÿª-ð½vÉ÷þXÕfµW¹fãÕ=·Þ4}³Yw [FCkÓiøuÍ´ÄWÚ^‚ç⛚¯õ »Éwdë¶ÀÃÛ[Kð/i»(;U¯5˜ºccÝw5Ã0MÓsÇ®M=e„9IÈ;y±–Í.?#•]Ù÷^±pe ˆÌ.UäÄ 8ÊÞÊQ«ë2Š£ƒ[ò°KËpï FÈï!¾¢ªtcoÒMáwJ~+íÁ8Ç^çY¦n ¸¥µñœ§œPw´¶<Ü¿ñð(‰¼ÀG`V§{—?þ/~\ÏÞ°Ò\ü¿ôb?†°.QÚ^¾\?ƒÊ_ñ°üM—½rÿtfõù«¸GÌ_Çð„,½…ÊÎl¿û?ôP´ ``—'®&DSxœÕ\ms›¸þÞ_¡eg:M'1lÀyñŒã8[ßIÇq77Ÿ2DÌ,ä8žÎÞß~Ä/$–pÓÝÆÓÆ àèÑÑÑyÎ9`Ž;»ìŽn=4¦“ ¾ž^ô»H9PÕ£«ªg£3ôßO£ÏH«ÕÑ(ÁQÐ Žp¨ª½/ RÆ”NUu>Ÿ×æF-NîÕÑP}d²4vq¾y@W®¬yÔSÚïŽy‡“0JOž£µZ­ìj~.Á|Mň{@¾Í‚‡¥G”Dô`´˜¹ÙÞ‰BÉ#Í.>rÇ8I =ù::?°„Ѐ†¤&®P2Iù߆Á4%µ1ºŽg‰KÐy’c5;÷ÝqD¡qBüå­¹iª „„'JJ!IÇ„PQÀwÍN`]©9n'öðåÈ qšž°v’@^k¸`Ýäý‘Gk™>ã B|ˆp½ŸžÓ£mWóöø$™çRº¬ ]æÒ¢ÆIp⎹˜Ož´E1Å”x¹„N"†¤Lè 4_¿ ?Hâá\ä,ÐYü¸¸'Ÿ]Ój::8ȵx'J„¦˜Ž•¼_ÖÀ÷Ûï:ž…|ÚVŽ‘L”öL…„JŽÏ ’;ÓÖMËÓŒz kØ·‰­·,â7\ƒøŽë98‡fà «aЮ"^³\Bê6Ñ,­a7:¶0ñ|»é·tB SÏÅs‹|ꆡòqäúá_\K4ž.•‘w˜é=}©™²²~AÞ¶nÿY'¬ç>39›æK.Ýí'ø~í •VXE„«(ÂX*a>4°ñ¦S­žÅ  @H;VÙ¡öûß5³~´všO²>Ô¯÷É»+†/@¯ Ðëè?~D¯ô©ŠÞ 7$Ñ_ug)'ƒ0¦ûÎ!8]€‰¢YJöÑ$³‰ÐÒ ºGóÀ»'ùq‚®è oÐ7$Ñwãé" îÇ}èî!½®iûì¯Îÿ¨7ÁÑŒ„¨¸ã1†ë’WÑ}S€¾ùK[Ž)@oJ¢ƒM“ø>Á›~BJcŸÎqBÑ"ž!.Mˆ¤4 œ%( `cž ö¦ø‹êè-zK= ™K'ˆŽ ¢$™¤(öùÎ_¾æL1ÕÌ ].‰R‚0 ˜µ@ÔÀ9®2z[€Þ–DÏpž3}_çúFç1 ³(m‘Ž'‚…ö‘QŒ,Æ>ŠKObÔŽüÑC?¶Û×èk¯Ús\zW}¥hÂèá1‚Ÿ!#¥4ä3ÌÈ1šÓ)ò¡+#A”r ¦œ ˆƒ&ø¸VηGï)Ð{šèÉ(š!>"ˆ6N åÁïןsƒlj:ˆ#]E>IR‚0(,Z e·5úº}]½Ày!ì}—Û]PP‹üì‘Î3™B ÇÈYh–«qˆ(ÛÉsŽè4Ñ¿Ç\¸Ct"€OÌQ YÃæòþýÞª£·*¯yÕZ ®µt¸ö¥U»\œ‚,U¸ÉˆN`IŒ`’`‘Ì"ÈöDðA8wD¯àZK—k'ºïô/o>÷QóúÝ7{½æuÿápò…³ä‘dZDãIR°: tás±vD¯àZK—k?µ{­K€ÛüعêôÄ2¼èô¯Ûwwè⦇š¨Ûìõ;­ÏWÍÔq½îÍ]Â!R¡]Ñ+¸ÖÒåÚ‚¸Ê€Q(€ò.ŠÓ‚å»-z×Z¯šk-×Zº\ûdš‚ÇA­¤ê“è¼êH4¨kô ®µt¹ÇT&|(—ἤ¢D$ž)øøÊÂ0™Ê-„8ŸšåÐ+¸ÖÒåÚÇs\kéqí¿T[Ù ®µ·æÚæÂ;;ÖÍèÊö¶‚km]®½'ƒÊsSìqaŸ¯ºø7_Ö]¢´*C'sè\kïPמCnvŒ*Õ²e•¡¬ú…~o+¸ÖÖåÚÅçK–P#@^®l}ô ®µõ¸vs;ø ²µ×ÈVO¨‚íœ0\á“4¥Ìh¼B¨ØBtÛê~íôÛŸ¾^u®Û_/·SQÁiv§=G³¶/€É?‡WÁbv‹½ŒWoXýØô³>i‰O‚Þ}›R~R.›Ã˜p\e [Ár¼âðŠ –ØGÝ ”‚.œºPbHDÉp7h .pì´£ÑNAˆþ“Ìg”FC£…2xb¬ÞµÓÅQ ˶ؑÜõ>3nóV”N™,(PE m ŽãyÙh,û ¸ºÚ)B¸SÂwÐîióõ¹z}Hæ!õå"‘Ï„å~ fórVÇÃ?Ñx{ŸíËÎF‰Š~ãyvJäbË-³ $!é"'¨\–Fz‚°•LáìÂNSûH"ïÃnvf»¹¡úªóñëy»u…¶r1qM$£Ñ1¢ðcBÁðb?C3/–n¹è+oÁ£—ÉF?¦Ó¤\ÌnG±uOÂùY4ÀP f ‹’Ö ’·¬ÄΖ¾’á[—™QkþÜê<çÖ¿4¥*Ðy΀Ý~½ùøG»Õ×_UPJµ²!¾Û»é¶{ý‡÷·]’  üïµ›çòÇ}ˆªYg4(è£j)¤$&>'Awdµá ÐݲQ˜‚<ªö{«pývÎj«¾z *&Yà ¢0$ B ÊøħLnpgÎ+”âèO’¹pæ¸KÉri‰ûž™Mä¯'c\‘®lWu^½Ä–\fùëÉ }8Òµ‚"ÞW ¶á^hÇš+ª‡ª»fþ&hOík#uôa‚…‰ãM2®*‚yÕ[7ü‹sþ1>Åñ‚ÅþûM¶– r©®“‹¦XEùT=*2ÞòÙÀ§Ç[¥ý5§Õ68-'²÷/Ï¢x.+å‹$é¯ç:ŒéÌh0§,YL÷äž ¿5Q+ˆ°¶A„kì·wô+œ©¯…‚5kë¬ùJHBäÞ (xVßr ¦­­3í+±œ Õ½[Np³¾å5k­ºS«)H¿VÓbiŶۼ¨)¨¿¶Aý/W<Õ ,D£`aÚ,9ÿƒbPL×âJ_ÞáñäB£.£Ô¼YÓáÍQ¯D£_‡^Á‡µ >ÔE/BìW²¨¥áDLÔ¶œ‚òk…”_d9 þß,'b¢®å\E¶â®g+šbé„»žNü0z1"ž%!â˜(Ïhјð ¶ÌÌ\Evànd:Yõ]) Ps‘÷Þâ#7¨Ùv`UÂЯT-gp„×õÝÐ ¡@pF#K¿ú$åYY¤—Dú~‘‡&šÀPú¤$Mây1¨tˆn¿`aðÕùC'g•ƒ˜ku|]§T$#îF2¢'VÁÔîS+ë¥.Í^Ëx¾¬?áóe=ɯå&Œ*ot<•L‹îY¨a@”r̸®)„»‘B¼>}!êj«ÈXÜŒEO¬"¥p îY.7_å2}ØnÿÅU$naB°EÀ„0>‡À9l]Òº zu×éU¦?¢þ<|^Çé ç)8ÉÛà¤×A¾²â:ÌËMU<émð¤žXÓy…L÷‹è×SDuo#ªÿý®fr[“oP |(‚B·Vñ{NÕªwP +–ëUIìÎðL½¹¯¨bQè&vž‚ì¼ÝÊROÁ)žvYšÐ¤ôsþ¤øÞzÀ¿ëõBìêõ "µâh2!hÓÊœ¾@Êìó,w’<üröTÜâ‹^71ëÂà׳+OÁhÞz‘œEsp?¹Í·G zóžÓÛߺblå­=>£%´®à¤ºþÃ/‚aB+ øÑ¤å ‹‹wÅ[‹+Í‹77^f )dÌ@fcùB¨¼E寥.… ²×Då¿«¯Íæ¯ÊØ“¿Bú„,%×W6Þü­0õï   ˜)°BEêxœÕ\as›8þÞ_¡£3$“6ÆIì×I®¾7iÇm¯Ÿ:DÌ r¿{û»;Ʊ„ëÞµžÖÒ³«Õ>» áô·³ëþøóðMè4@Ão/}¤©êQ•c(«J=xœÕ[ïsÚ8þÞ¿BçÎtšNÀØ›üb†rá&M¡Í›OaËà9cQY„27÷þíïJ6@j Jïò2mÀ²µzvµÚgW¶O;¿iõºm4âãu?¼ê´Q2Í{§ešçýsôŸËþ§+d•+¨Ïp’F<¢ ŽM³}m cÄùäØ4g³Yyæ”)šýžù]ȲDçüg‰¯ô,<0oNå€ßÇq’ž½ Æ:::ÊzËk àkL8FâÚù6ÏŒM8Ix©?ŸùÙÑ™ÁÉwžu>ñG˜¥„Ÿ}î_”ê† BxÄcÒH™oFœŒSù·G )Ð2Ÿ ‹(&§fvá›S8÷'1žßxÙOS1Ÿ)ŸÇ$ Ä@>®¸@Œcæ 4˜ÃW="?Æiz&Ú ƒ&ü¬áJ “%ù^δÿ„£uñáz7Ž‚€ò“¢Þ²>ö‘Y.¥%ÚÐMÞ¨-j†™?šçb.ÇÚp’PŽ9 r Í8F I… °X¾~+•Ðï$ñp-ÌÑ9ý>’<¯^¶Ê6*•r+FÁ™‘àÇÒó‘‘+äqã B§ÓXNÛÊ9“±Ñx‚iØÈñûêÖm× ,§r„-ÖIÝ>òHXõü`€sèà3ò©GmÄ[žOH¥N,ϪÖkN{˜a½Ù„8®‹—îø4¨aJ=rûÈ/i%N'KcäfvÏ´ßh–Žl<ï·­86‚vmÀLÈúˆùbK×ä† ÇÐÖXi#Hû$x ë$®ÀÇ‚¡l:ÁÉêu 5BÖ©)N5Þ½µÜÊɳË|:ÎÆ0?ìï“·P_ÞV ·5Ðø€öôÙ½£@ïh¢¿mMSNÇݘòCלÎÁ?Ñ4%‡hLÁm4“Œ/Ž,E…N¨OÒMGõ)™¦üû(ö§8®MÐm4K‚.ü€œªÙ©¯N?ü Mâu”¯´æ¤©‚t””Î’N¡ ¢!™ÀFRsØväÎáÇõï‘à4í°v’@~ÖpɆÉÇñC—<Ö2ù¯°¢!¾D¸‹ÞL}×èɦ«y{tO’{Ÿ<ä½ôYºÎ¥»šø$Á‰3™çݼ+ö¥{ÀaQL‰›÷Ð ÄÁ”õzÍÀÏoGGèwB÷p.²çè,zœß‘lϪi5åZôÝŽâû£Ó‰’Ëø~÷B§³€OÛÒ1©Ò}‚©@Éñ¹~òÅ´t³åjF½5ìYÄÒÛ-â5ƒx¶ãÚ8‡Và Ÿªß­Ò½Ör©[Dki «iÔq ׳š^['Ä0õ¼{nO€*—#×ÿáZ¢Q¼PF>`¦÷LúR37dåùyÛ3óÏÆ`¯ ™u³:f¾àÒ•ž½ßM¡ô±Ô ‹ˆp …x +%¨ÃGƒ&nãpù¼0RBÚ©Êuß¼ÖÌúɳӜhš¡ìî“Wˆ/@¯ ÐëèÐŽ>UÑô†$ú›þ,¥ÑtDôÁ9§s°P4KÉ!šF`6!Šá õÃ;ôà»w„"/JÐ ýô ú†$ú~ÏÿnBÑ^éuM;dß:ÿ6Ðù‡3 sß™L0\—ìD÷MúæOm9¦½)‰~<ñS'Ñ]‚§6½„”F}À 9Fóh†¸4!®ŸÒÄ·g” Ÿ‚¹*ؘ–ïÍ«£o з$Ñ’t‚è„ J’iŠ"ïüþþCNdQÍìÀwÐ¥ï0%ƒÀ¬‚Nq•Ñ[ô–$z†ó‚éû6×7ºˆ@Ìb´CD|8ž ˆRØGF!Y.Æ!Š’­,§-@ß–D¿‡)3E1¼61GÄ O˜k»·{­¾½Vÿ™W­&àZM†k×­ÚÅâtÄ©ÌL&Q Kb“‹äÁ‡xÏ&Œ¼Yp¸%z×j²\ 8ѧÁøÝõ‡1ê½ÿŒ>õF£ÞûñçÀI'%÷$“ŸÆBÁê€ô…ÎÙ"ؽ€k5Y®½:õßÜÞÛÁå`ü™-ËÁøýùí-º¸¡öFãAÿÃeo¹Ühx}{ á–.жè\«Érí¿èqS‡^È…ÏÒ Ë·*z×j?5×j®Õd¹ö3i ö¸hÙ ªCü{°nÈX ’ ®mÐ ¸V“åZD-^‚j5®¤'U´$`£±amòó›md+d˜ßnà7=†fvÓ£Úl1Ÿx9xûå켉ª ZL^/D8±}Ê& å7A¸5..à·¹ŽÑz<¼–çäxzvJÙ´¸‹X5!œE6†\+““%Ű@¿-Äj+˜I†p¹»L{R'àRã9—~“ìUÀˆÆsFDèæËõÛ?ÎûcÉîù‚"š^ëBÇ&®8¹ðŽoð4>É\¤,¿4üÒ,ñ‹,üÌíT Õe|I‡óBâ¥ó¤¥Ð^s#ímœ,XdR3 3›&d%Q›¶4WÙR~Ž–\ÄC/ K³D–rÝ hÊ\¥©—}BØ „íC†˜‡hJè$r+Æ5¦€^ÌUz‘ E_žN7‚ü„lY6yÛ¦ÛÔuW«{žI®a·±ašŽéµ<ˆªM[éf2&)Ír ‰ Ö¿ÈÍ$J%ƒŸ( æ™9b <ÁGœø8¤è ’¡SßA]ËãË¥€QÍUF•ìV@qf‰âÄIF”=ïÿ<͸Â!¾#yŽ•ŸÁr4•WÎ)G~0K®$Èž‰¾$•U¤€}Í-’ÝZb;¢‚ŽØÃ«²R Hß,‘¾Pê^èL¢¤œLòæ%AÙÁY¢]h!åwÚ@””b‡=I£…:²~+M¿¬¡ƒY ~%%T2AXa–Š_FI5´qJ«§ü2jÈ\„¬O«ñübz¨À-A˜Ö*…i¿Œ.‚ ZÄ…­R\(×­ ŠimxÈeQâN"Ê“€jUî– Ôi•Bµ£“p6-šMÀ€ýÁú†ýq"þÃ}1Û~ÚxËíp±Å,’í±ß¿e'Eº´J¡‹\·‚Ø µ± °œ˜ÀÌÄ$¡sÈE¦våkK@Ï­Uz.ªE5Tr÷µJ÷‹a²A¥Á,ÃXò™ðrîQ”H%AÜ»Uº¸¦¨Qª`JŽ-p§V©8ËRvVl<|^´“Nà·¬íü–%ð[V)ûúrwKàÐ,9‡&»/—b*gînÝuêMÓ3›uÇppËhh bÚ ¯®™­ñ”®›àñý¿]=iÄîÛñÙª%p¾ÖƪíKÚ.ŠÕ+! Û%¦n[X÷Í0LÓtÛ¶êFÓ%„ÀHYxÞŠ|ë!Ùìò32PÙ•w‡å KÀ1V‰cäºP†µ±¼¼.Ã(<ú¾Õ( k»Jí,v1%Ë̳w3§ˆ< ›muøþÞ¾lÝÊ üø]”ü·³~r=¤E®J—ø%º”]nmq¶K7\¹Vî½(#YÉ?`ècârÔeE.®âbï²Ð×u»DÖœ0Á™ñÛf;"`îösæ– bÛ†n¯<»)ש€ŸÛòŠ•{Ièú zðzñR†â­ìÍ KÍÅ;J/lð"H`©ÝÅK/øC& SþêÅ{¸Ù«0øß4-¿$Eç²ü5OÈò׎¨ìÌî«ÿ†7ÙÌUjâF¡‡®CÄAf-2p‚+Þ w$Ñ3œWÌÞw…½ÑUê`–Ÿ!ÂùA¦Á12æšj¡$ÝÉsŽè%Ñ`ÊÜ#Eɘ>Ÿ˜¡²†ÌÕýû½VÛŽ^«ýʳVp­&õ›fíbrú²Tæ&Ãd Sbƒ“dB¶çÆÁ$:Ú½€k5Y®œè¾Óÿtóµš_Ð}³×k~é?œN:Là,y"¹áh… Ì(]èŒM‚Ñ ¸V“åÚÏí^ëÀm^t®;ý6 ¯:ý/í»;tuÓCMÔmöúÖ×ëfê¸^÷æ® áŽ®Ð®è\«Érí–¸ð€Qȇò.Œ²-Ó·,z×j¿4×j®Õd¹öÈ4ÿŽ|4„ZHÕ#áx7Ô+IP×.è\«Ér-Žž<Ò! \„ð’N€b–xfàãK+ƒx—¢|¦Vw@/àZM–kÿÏp­&ǵÿRm¥ ¸V/ÍµÍ „÷ôD6£ÿ)Ûë®Õe¹öž¸”ç*[ãÂ=Yvño¯»XiU…›Ôý¡p­¾C]{ ¹Ù ª™UM«BYõ7ú½.àZ]–kçŸ?ò„òòj­ôÐ ¸V—ãÚý}Ôrðd«¯­œPê[8pœà dY’*÷a[€n[ÝÇN¿ýù±×nõ?•SQÀiúN{fÞí¼$ÿ^‹é[Xl3^¹nô£o¡ŸÕA‹½hâôáÛ$¡§Õª:ˆGÕaÞP –!àc ¯ˆ`±uÔÝ@ èÂÐv˜5† Š[¢øŸd6MR_iðc4W/"O”åpÐ.c¨¿óulÄ—–ϕۢe7—U +¡-ÆQ4«*Ž ®¬v‚(ol‰ò;h÷²ÂùZ½>dÌ_R–-çŠ4: ݧ³j^,Ã?Öx{Ÿ/~N‡z°²yáY~Š‘8[×Ê-LŸÍ“]‚ªUn¤e¬$`ÃÜű¶Åøí>ÒÒã |³ƒ!°òÍŽrcÅâáuçâñ²ÝºFeºœ\“Õ?ǃˆä8¿Œoi ÍøÊW`ôÛt3ʲêÓàâ,r1TV¹n¬†)ø[IÁÜ-r|Ëâr‹I •€9×Ìù]Rª€× ˆÐíãÍÅ€¹$Å ˜Ã8^ßíÝtÛ½þÃÁm—Äh ÿ{íæ%ÿqßâ„ê™C9¦€#Ìš@F"p%âwç@–^Ý-e xÂÔ¶»H'Ù¹ü/•ÿ|ÃÏËp‹© ÌMr±ôºiÍN¥ Ÿ¹%Þ<ÝO$;$À¦µb™½G¯ƒ7Edèã§Ð1;>”$ SÕL{ÕÆ‡÷)LéGópþ¿ý„´B‚€j®TI±‚Ìßt¶Ùi±¿®"lÍì¤TVk ⸹Ç‹à}p¸yÀس=çß7k%S¥‘:IãùÈŽ@î)úKµ%þÖZð_‰ø{G¿ÄòZ˜ÂZcŠ%zØ»\¶³ËÕ«–€ä¬5’Û`eö´á$ôç6Γ´ƒäÿlÜæWò9÷Ƨ.d£¬%  K†66¢^š¡zGXk!‹>Ÿ/2¸óyÆ‘ó@!]@DÖV"’±ü? ƒ€Í¬U6“k èÆ^¥›Îä”°ýjÂŽ‰Šä&~Iæ¶ìa¯²‡T‚õãAõÈ´ÉŽuõ{|lû–®ûZ-<¨‘ ÷¶íÙA=€ÔÊv•FN }’²ÌM ƒ½*¦i’mï&É‹’IÍr§Ä Òºý§!Ž)úXllŸ×`®åþ%ÒP¥½J•’b¬e¯±–0uî&ù£ß¯ÓçÏ8ÆRTŬò€^ùbêKJ=¿=/$ Ƚ&•5¤€Pí5Býõ4v …U=Ë(«µ€ÇíòÅj3ö†ÉÊ"p3õXó’¢ìѼ|œ[!ãÏú¹aJ±Ç£É¹ÜRÃ/kAZ`¯¥oÉ¥ÜAbØk)Æ›±DZÆ ‚lÅ^ËVÞŒò!kAÆc¯e!zÊé¯>“ˆwòÃz=]~E*¿³ãï±¼vÄäìV^;Îq¶rÎò¼Œ“¸òs³Q@Î*yäÑœïtìÑÔºqVéfwJ±à¿G0Îq^sŽ,S;nqVž”*àGúñ¾÷$öÃ[mÜpñòü=_ö&òRóü­àµ”ƒr´TAjcñ’7ߊWÍ7ûù«ßü)þåWá‹WÂy8,^ AV¼f¯²+ïþar& ££–N*­ @ØxœÕ[msÚ¸þÞ_¡ug:I'`üŠóÆ !dË´!„nn>ed[Ï›Ú"„éìýí÷H6E2ew¦ X¶žsttžs$ûì·Ë›Vÿ¡ÛFC:ŠP÷ëÅu§…”ŠªÞ-U½ì_¢ÿ~ê¾FZµ†ú)޳†IŒ#UmQ2¤t|¢ªÓé´:5ªI:Pû=õ™ÉÒØÍÅÏ ]º³êS_i¼;ã>¢8;ß F;>>Îïæ×ìÃ׈PŒØµòm>+­$¦$¦•þlLäåGç %Ï4¿ùÔâ4#ôükÿªâ(*¡!H#K=5¤d”ñ¿•”x´:DwÉ$õº #r¦æ¾;‹ÂøO4LIp®|£U/Ë”’è\Éè,"Ùª Š~Ù¬µí&þ ¾üð yβsÖNRh¯®Y7E?aì“çj®ýgƨ‹€7ЇQèû =Ýv7oOžHú’i!¥ÅÚÐMÑ(-j’§ÞpVˆù4?––€ã8¡˜¿ÐŒ"ÄÁŒÉ;eàë·JýNb×"w†.“çÙ€ÄàyNU«ê¨R)¬úçJŒŸ*cL‡JÑ/kàÇwM">lKçHDFJã¦B"¥Àç‡é£íèvÝ׌Ú1ÖpàG?®“Àô ¸žïâ:ø ƒ|¦Fa£Œx­îRsˆV×LÇ2j¸Ž‰8Vp¬bØz!ž»ãK †Êõ(ìÿ¸•h2^£è0·{®ýZ3wdåõ EÛ’óç=°nW:Ì…¬öXL¶lEnâÁÚÁK­0…·OŒG0O¢|4h`Êfc/_'  @H;S٩Ƈ÷š];}u™—Œò>ÔûûÝÍÕ ×èu ô?¢=}Ê¢7è Iô·­IF“Q7Jè‚kÎfàŸh’‘#4JÀmb4†“4ŒhúBQ¤è–þ zS€Þ”DßJƳ4 ):h"½¦iGì¯Îÿ¨=Âñ„D¨zÃ!†ûÒ½ØÞ ·~iϱèmIôýa˜¡qš R¼7œÒéÒc.fcè÷÷ɇ›©/AoJЛ è?~„=}¶EoIÐ[Šèïㄳa;düðJ’)ú)ŒzC†nÁoò êÃ$ðú”ƒÏb¸ã¿‚Þ– ·Ñ7Øh‹C0K†q$~šéO šCiÍÀ ö‹÷bû²}ùM{Ž#Aï(¢ï‚F1ëÇdø§S óù„Äô¦l .v©`˜ zcN!àècžŽþƒ®øÓíÑW$è+ŠèÉ©:> Ài1…³‡ÌÅýû½QÚŒÞ(½åUkH¸ÖPáÚ×Ví|qz€Ùªp“á’à$á"™˜õõ¨àíˆ^µ†*×"Nxhu¯n¿v¡~óõN§~Ó}@”óðƒ^Òò!‰g‚>¾°£ÐÆé–B˜Oôâè%\k¨ríïñ ×j\û›j+SµæÖ\[cxOT3ú_²½)áZS•kh/Á2]{^Äå'‹.þÝMë.QZ±“¾?ô®5w¨k/07;’]4Œ"–Uÿ¢ß›®5U¹vöù–%”'€È‹¥­ ï€^µ¦×îï£o_B¶æ Ùª •p ¹G1E®pi’°X«½|¬Ø|¸k´ŸZÝæ—§ûn§Þú|Õ½nÝ4Ÿ®¶SUÂmæn[F5vn’÷ƒ[ÂjæV{·Ú°:27ÐÑê$Fn8ö(|ø>fü´XÔû!ë‘°8ȶ‚eIxÆÚÀ32Xbu7Pú°ŒV‘%‰êÖ†¨þNXìiµôfÊyäñ¨¶xŽÚ&A„õx¶¿ é–ó¹v—·B2îe²°*e#¶E$ §E­6ï+àªj'‰úÖ†¨¿ƒv/;žËêu1ƒÆ|“‹ì9–§ÕaЋI<-fÅ3þwÙfèd€©ˆ(£G!™f·©‹}®Ì2ÈüÉ,ù¥P,¦Fz°•$ìbÙ»8Ö¦˜¿ÙGZ¸Bîóˆëô"= HÊÙaÈvs&âãuëÓÓE³q » =›È:ÌÎE@h’íeˆ!pò" Ÿ´Ã©Øíè1.¦«)±•dî»*;=/;×H·Ý\ èzOÀry+,«žGò»Ð#X®e†u5®+HÏ—`’úV†sQ\fn¥ù–бµLÇ+J•ЩµL§wO·Ÿþl6ºŠâ%ôc¯‰ownÛÍN÷ñà®M#áÿN³~‘þñÐAÆ’“ãC5¶„hì’@BCt2êµg@^ÝÏUIxÁVá…%'>QX²mkÅ"okAü_|‘ׇŠÝ–°…m¯NЫ¾ñÄ|LÂY„ûï›FekHJ»¼j 5±’hj;›Œ#ä¿_õ ?d­S>Ž£™[ Qî)ü£ˆZRÃØÕ×P/̽£_ˆ»êZH8É^å$5±e Ó”W™æ§•dµ]ñR–/eC!jˆ¯Taä`7³pF¶?IŬ͞LçúŽNÑMUWwY‚esWÔ žñï¡—PiyJÕÄJ ¼‘=)¦â0Šk,÷rF€!åæm±Ê’8\^‹Ã*¬ôóéôæ6tÇüü=9v¼²izFÉ÷Ý’mX½cb9Žëøƒ¯ÓÓjYXêÒ„gi…Š0¤ýËÜMXr´~±%YN3w$¨ÒÜ}#q@"óS·óÒáO̵8¾ªSJ˜­¼Æljb%ŒU^e,y¾ÑfÙ÷T—s/$"}š§[ù"]ÃQÓ—”bÖ=˳ ˆâpþ U;JÈ®¼JvoUaSUa /–wãEG‹Ά­¾y¡3ž†óíjGBŠÎFR\Œ¤`Dc>Åà9ìmî9šsVi.¥#‘›-ç8ŠÃIxÉÙ— /9¿ƒ— /9{æ¥Å4ckVòJž‹ÚwÊ%×rIŲ ›:=Û/NŦ>Ò^L&ò2w_»¼¢Ã”'Ö@¯Í_ÑI÷Q³üE¡ù—R¼ìÅô»W‹/2å/ô¤±>©çYþ’”.ž¬½û`Xà µµ”<+¨|6žxœÕ[msÚºþÞ_±Çé$€ñ †¼1C i8“&„ÐææSFØ2xޱ¨-B™3çþö»²MxK‘ œi.Ó&±l­ž]­öÙ•ðÙ·îc» > ¡ýõÓu«ZA׬†®_t/à?WÝ/×`KÐI”<` u½y£6à|t¢ë“ɤ8±Š,îëÝŽþCÈ2DçüÏ_èYô¸§ÕÞ¥þ†QrþŠãøø8ë>K‰‡¿†”Ïè÷qð|®5XÄiÄ ÝéˆjàfWç§?xÖùÔ8¡üük÷²PÕtÂÒZ»zÀé0IDô< "ZÀ=Ç.…Ë ¤gzÖáÝÞû 1õϵï¼è&‰1 ϵ„OCš (åp’/ãé9øó¦øË žÁ I’œ‹vcYj¸Ãäã‘G3+|!AmÒGD¤†ç1~º©wÚΞiüÐI.¥!Úà6oT5hLbw0ÍÅ\Í®•%(bœpêåêa)šh'´ þú£P€Ï4Bñø,ô¦pÁ~Lû4B¬¢ …BnÅÀ;×"ò\>ÐòqECz]{p6Ói[¸GC:Ôj/05j9>/ˆŸœªéT<Ã*ƒøUZ5+Ô·]‹ú=×ë‘:úŽ€|¦‡AmñFÅ¥´T¥FŰ«e«D*„z~µì›”ZŽ™‹OÝòeTCOõÈí“þJ­ÄÙhnŒ|ÀÌî™ökÍ©#kËò¶WW[•2² S½§Ò’UG®m¾¥­uþ´YíV…i!Û5fƒ-Ù*׋Ùx é µTB\é'dS'Aþ($Ha“ ן £  „¾nȬþ³ß¨Õ|µñ˜MÓ:/÷—U—‹ 7ô†ú—/Éþª¢7ô¦&úÛ³y"¢éM‰#Ïp–, ’yÂÈ4‚n’d ?“ßsA¼(&·â{зô-MôgÑlû㉠ÏÏ^£Ié‘ü4Ô§I.¦,œó€\øÎdÂà½ø ºo#èÛ?tϱô–&úÑÄOÈ,ŽÆ1›¸ôbÎIyâÅü„,¢9qàÕ˜»~"bßž N|}Ìm@ÿ®å{‹êè;úŽ&z@2ŠŽ‰˜p"xI*Á2^1Kxƒ%çQ÷…Ð…I÷5&bÅÍ+þ_­Ýf©$™ÛiYÊ0ÒB‹z­¿zWÂÕ•±òf‰•ßCºå ç¦x#ð˜Á¿Ò[N ËÜèÀ·c/êi° ÿdâí§tòó\a®‡ ›g[¤Y’Äå¼Vª`ú$wv9©×•’–ªh a³µOÇ*³ñå}ä FÈH-4¨Å‰ .vTk+i¯¯Þ|9¿8»&UªÌn@äz ˜Íƒ´ æÏ©5­²„šºs2HÅ;²%¯”UØî5,Ë%6ƒÐ*NÆÀ0&ˆZ’S)Lõ‹ßzq©Ê´Ú ¡Ns“:ÿÖ,¡@s“ ¹ýòáÍ.ÎFšÅ#Ôaö Åß ?Ü\ GŸŸßžE¨ÑQŸÃ‹Áyvùiü A¢Pù/ô€´²h5Q ¸#¸{¶´™´v·ž¬ !Ž-xÃC2ƒÿ ”¼XB]É´ @®Œ›ÈzBA7€!üÐ2K€½‰çÉ„ØêSJ/—pT¾.Ä·Z(\%oV€6“ zªqÙ[퀗—‚Ý‚K]-ÑÈL]ˆjYˆ\#—K0)U‡˜»VÑÜ­À݉X®{*ºQ°ÔÕޤ]ˆ#ßê–À''ƒÀ‡2@$³(݇³JIm@!ye¶³t1#¦¼UfÊ70KµmáÝLÚPiUœmÄÒ·K,ý.WAnªõÝüž» ±Ü#WÓøåÝ÷0KÑ…ŒØþv™íÇâ±&dÆ\WvÏ´ý³›U«§ º€“ÛÖqÉ7<¬ÍŠÛÞ6±‡÷ŸÿTÑy9c1T,ï_hzým„&ÚÛ4±»}ïýXÌY‰ÿ>AShK„pN{›s4‹EØ¢½ÍìjjhmhÎä¤Ò\Ba‰v%Ö<æç/v·šÜU™ˆ<úú{gÛzAôPëÇ\Ìã0oÞ©*ûùG;Âí[ìp².Æc®-‹…0ŠU`”Ì?8~(W5B*VT¶œø'Ó~%)¨Ä*D%kÿÁ%PeëcGXÔ*.;‚„'k…в ÄlbŸeÞõî#ß͵›ÏïŒïk}Õfù³™úŒMg¯”#­ƒt†ìBW]ì^ëÓÊ€eG'2Ü)ƒô'uKTá÷Y5ÂŒBôWUóOŠ!ÇNiY†>õup§~§B®gmìûu¶Ù¯²æÿ2 t×ѧ»-”ï¨]yœ ¹ô—uwën“Xeå?µ‡u ¦+€t|´€g.²‚.}1mèOvKy²ÔPœÝM‘-§Ãu¡"œÚÝ›S7ÜËÐgwoú̽CíÙ}—cÎmäiv÷'ÍÌÙÔéɹƒšÒO6Û¯+B Ýý¦O»³uµ§Oc.ÀÁå=wI6ñL¦\L"·â¤j¡¬®e&¿u»VÅ}&¿±žå¶ Ã¥MÏsš-jÚ=fZ–cy¯ÙêXv­ŸÎTŒx’­^è¸)‘ŠË¬«DÉQ |;Š–BFa°H©HGäöû ûË엧ͨk½~ÝN‰ðr·ÀËZÅöÖìX]ÖÈMöæÒÆ;²1ÏVu²'äªÔªv.W;ò×Óå VïE^‡š­¶íÒvÓëvÙÿåÏû¢© MÁMša-µFOˆxœÍ\ûs›ºþ½…é´™ÄF€yäá™ÔINsoš§{zûSG€ˆ™bpANê{æÜ¿ý®vü ®û𴱑@úvYí·Zÿ8¹êõ?]Ÿ¢&èúÃÛ‹óÒöÚíf¯Ý>韠ÿ¼ë¿¿@¸¥£~NÒ"fq–’¤Ý>½Ô6`l´ßn?>>¶ÍV–ß·û·ío¼-Ì/®~î±¹+[! µî‹CÑá·a’GkšÁžç•W‹s) ákHAüÜ=úu?i½,e4e{ýɈj((Ž4F¿±òâƒ`@ò‚²£ý³=WkC#,f íyÐŽâ/м5@wÙ8(:‹zØ.O}q˜Äé4Èit¤}e­ (4”ÓäH+Ø$¡Å€R¦!ªžù ¼§vÛÏ |…ñ RG¼œæPD .x7U?qÒo­Rþ÷$NÑ5¹D¤‹^ ã0ÌØAÝÕ¢<{ ùC^œ,,¸\ZÛxœÕ\msÚ¸þ¾¿BËÎtÚNÈià ÍË6wÒ6!t»ýÔ‘m ëid íÈ]À—ëß'`Ir*Óy Il#áZV“Õã‡.ÿVO¥Çüܰ1 b}òlê»n$^•½­Ò£{ßûü!+åL¦‘Y¢vQŸÇ,v&‹¬˜·ù½v , #Áw³A@žÈ2@O øúõø˜üÎC(ž%ö‚œGßcBÏëÖiÝ ÇÇ™}÷´²ûã“ZV¯LP÷ý_y=T³­åñ€Oký%Ìj>׿X]Ãê¸Ôlöe^—w^‡{-Çäží¸6Ë CŸ‘_7¿_¥xÚq8ov9íÐV·m6Y‡q×ë¶½žÁ¹iYñª;.+1JŽL?êKiID³Z_L«Vz¼ ]U…ÊM bš“<LªfÞM•[ iš1ÂhXµpœ$H€¡oôš¯?ööП4…æá\äOÐIömrOS°=·…[ÚÛ«´‡GZJöF„ ´ª_^ Ž»/:'â¶ÍÕÑ„µî ¦F­ÂÆùgÛ5l'ĦîL"—º†çÐÈ LùAè“ :X ‡|ØNân“æ±Pª»;Ør;¦NBÃÈíDžA©iUó g€m!G¥ñ%´Ä²Ñ“2ªK½—Ò¯ CÖ/¨ÊÌ¿ìƒw¼ÔeÙÌrŸÕ€+–ZŽrr?„rÐÇ\) "*4”’!Œ”D‡†.n1"éüyi¦ „ða›Wu_½Ä¶~°pZ Ë>Ú;ÛûTÝMÅ— 7$è ô;;hKŸ¦èM zSýMo\°lxdlÁ9”°P4.è.f`6)A%‹Ó{ô‡÷”¡(ËÑ ûô–½¥ˆ¾—&y|?`èuï 2tŒwù_Cü5Ñé¤cš Ó8 \—oE÷ úÎom9¶½­ˆ¾?ˆ 4ʳûœ üŒrJQ‘Eì‘ätM²1 àÒœ†qÁòØ3Šb6¶Á~À´âhÒ½#Aï(¢$c é±EŒæÃe‘8øóòCEdQý$ÐEд ˆ€À¼‚AqÑ»ô®"zŽóŒëû®Ò7:Ë@Âc´]Dc¨ÏÄ #s*Y%Æ.Êò,Ç“ ÷Ñ¿&Œ›G޲ülb‚ˆf˜[Û·{¬×£Çúïž÷ß]}è£ãËOèãñííñeÿÓàdƒ jé-¥ˆ‡£$¡`tÀô…Mø ؽ„k±*×¾?½í½¸ÇoÏ/ÎûŸø0<;ï_žÞÝ¡³«[tŒ®oûç½Ç·0—»½¾º;…pG©hSô®Åª\[ã#áÐÁ …0Å‹“¢fø6E/áZü[s-–p-VåÚO@¦Øw¢ÌV€T?€uÃŒB êÚ½„k±*×’$Á#Ê'÷Vr¡”žØø\á>‹4BR‚/Ú­ ÐK¸«rí¯± ×b5®ýEs+CµFc®=ƒ{Ï÷U#úïÒ½!áZC•k?R¿€ z›ç¹HÀöçMük æ]|jÕ‚‹ÚÛC/áZcƒyí ÄfûH·Z·`ZõíÞp­¡ÊµÓÏ_e@¹yKo}ô®5Ô¸v{Ÿv3ø²5–ÈV­Q 58Ê)pE@‹"˵îË8‚[„nzןÏû§ï?÷o{§`·Ÿß5RÂjF «-â™v[ƒàBËß‹XÂdF “­G¬Ö­„‚Œ Z¾qiŒCŠ^}gì Õjß'™O’Ö ,hË”p‹YÃ-2X<›º( e˜xƒ‘cJ<¹YãÉ¿ÐÉc–‡ZW£©0äÉÛ„T›_n½&qÊx™g³‘H0i7U)*Æ~ÙÌùTÊR’$“–Ö}º–ÃU•NâéÍO¿t³,ç¢x}ˆš!ÆdZ,ZÑS#€÷oYÏ\7öùcZ7ÌÀÐéø/âÿÒ 8ÿõ„ŽTaJ\¸Õ©ÙÄ/¾$F¤wÂÐǦç¸àå#O7bßrtÇîè0æÊÓïøÃ ŠÇ<*ÅÏ' ù¡ªˆ’iŒeo*â6)w§ªÒ–?gÒŠ“T¥•8\Ëù~»ðþM's`ùÑ"^(Q…,ñæÖª7W€ìgY2,"»Q–q+êÅ¢ôóùbEü ]tjæ5ë™}_±ã­…JòÑIH`8–mއáËèøq#ŸVhPê«u5ÚBÏ„24Õ™-x’¿+.³t¶£¨ßº±´mýš¦aF>ÄüY%›Z®Û¡º««ãYŽ‘R¿Îý®ùì²â:ͤ­†Û–6êØ \LÓ'žG ›FnÇÒƒÓÛQ)­«,m/ÏŠb@â\YÚºɶ¥¥0^ŒÀp#˵ ×ÕCS/ò,j{!…¯RZO]Ú8ÚàÞÚu.jÛÒZ4ìD:ŽŒ …®zü4;t<ûž/¤µueiホùs ¤•„Ïörø¼òùGq²jKâa{5>½üðþîõœƒRd[ñÚæ“m[¥ÚËQêÏŸ ×Ç`¿[ríŒÀVSÆß¨ÞI n/ÇàqÎÆ Ùÿ~ÁÝPJuÛö&æ* níåàö™'WÛn7ÜÏb¿Q®Ø–ªöJ Z%^¿Yñ'ç 6M:ý½6RŠ’ìQëæ”ót/ ¡Ýô"jÉj€í­C=—0Ø:ú¹¼ƒ²Ž$ÈvVr2s醭K ÚVÇ.á#g%³&CñÃîBCY$Œç,3^“dÆöe„FÕE“0¬³œSš#ñ2A±}ü¼Uu$lî4cóm¦7ÐŽ¨ßº‚Dê ’0­³Ì´M3"?F>hX]D ï:ËÙ® 2([—r!ë¢.ª$p–žPkTÂñÎ2Ç?beˆÑl9Ú‘µ³LÖÏß¾‡,gÎU¬>¬Í–i]qצg òE†£ˆ[Tƒ=WBÎî29+£ž ~z =»Ëô¬Œ¾$nÜ%á ä"bQÆ.¡cWŽŸÑüOA»î2ïªËÀcŠ&ˆ2d Óº+L« YÄ+‘…20 Ã¹ê ·L0ÑO\©"eÁ%¼çªóÞ:Á9·«T)£–P˜[;¡­C½@©ŠË$4å·)T/¡J×Ý€] ºµ8Ï¿9å/’P~LÃYÎdHÙ Nü= ¿y*ü·¨Ä0[õP´§†y¼$žv #Äzº…Mß#¦mväDºåؾÖ-g–}Z°2Ŧ¬<'tV‘kVì*ŽYšLJ*á¶µ‹nþ"yLR†vª7NŽô7Ϩk¾Eëñ$Tî­P¹Z³–õjYvÞ(Ó,Ýû>S”¥·YŽG!aô:+7‹PÎòyô¬ \€'á0o…äiЩ`‹Üôž¤äžV‰Þê ž(†^Åó¤³üçôò’—̵ù˜lZ?Ä=rˆàа,Ã5ßu|Ÿ¯Væ@¨jRBŠÞ&IXOÂY^ÍcØOËÝyÆDxÙlÅÛ“Pާ<;#š³ ŒÂ¡ß8ìIXÊ[›SåiÛÝÅô§RwX¯ç¨_Ÿ@,ó”»Ë¹>ÅNë})Ôo˜,)³rŠ ê=/Ô×ääªô™bOõŽêaò¬Ês)JR~Ó7ËF)©wäP¿Q.j)]¤ˆ¥ÞB}sWˆ%{@ýÏV±d«¨ßn°:F4¦½P½cGvGÌ€8¦…-jûV¤cÛ±h&˜“Gù:ð¶^àë·â@1Â’­ ~»’ìx€qí|c›ñ&–l_€ñÊÚ•`:P¢X9ÜZh%;`¼ò¨EÅ¥Z@Û" Y,m, ø8 –¼ñ—ßøWkTâ…ë^Ä_z튦a!0+ÙkqO[fM÷¤âûfÍOw°ZÙN+Ê 0Ì5Ôî>mI&ž¸™ªÑž^Å ËÊÄçó·U˜‰]mb6CVm ׿gv_üÖ°±IbDðxœh¨.~ÿ!cpo¦ƒÀwÉ…ïò0á„A‡e °¹âž­ÑÛz[½ÄùFÊû6“7yAw˜t˜ö ÷á~L€Ä¸&æ¼gY7öIWÒAïh¢Á„T˜D ø%èÄŒ@è ÌõÝë=m–£§ÍŸyÖR„k©×nšµËÉép ¥šŒ¢ L‰ L’±—|0œûÑ#\Ku¹p’çý·—úäôý'òñôææô}ÿÓà£îò{žöÂO:³b 1““ "z„k©.×¾ëÝtßÜÓ×ççýOr¾9ï¿ïÝÞ’7—7ä”\ÞôÏ».No °º¹º¼íÁD¸å\u¨*z„k©.×–ØÅ¡2è`…<ˆ·ü )™¾Û¢G¸–þÔ\K®¥º\û È4ý<2‚(HÕåþ=h7D*àiPWô×R]®eA¤œG1”KóZr>$¡t<Ðñ\HNUL¤à“F½z„k©.×>æ \Kõ¸ö‰b+áZck®=‚yu=úo’½p­¡Ëµù ñoȤsÅa^Å¿¸*î’¡U^jì=µF…¸ö |³CÒlÕ)­CXõõÞ@¸ÖÐåÚùÏ©CyHy½¹ô è®5ô¸vw?íà#dkÈV¯R„œÄ¸ÂåIŵ“gþ"¶!¹î^}¾8ýÔ»ùüv»î!|f”ðÙ*’y³%X(Ô\+Â^F {mƪ×,B;F í+tƒ©ÇÉó/ÓH-SªnäñyRõ.ˆ,øl²Ìiz-™ì${oô&B;f³‚þš˜%lð'Ÿ=D±W;Q×dÞ™²PE .WÌ…ÌæJ‰•à=®]g¥$™Òº “”…,fõÚÉò] W·w[˜%lQ¡w‹\ãj÷úໂ§'¤ßšV–9´?ˆY<«§a+ü“…×Ó4äÜÀN6KoI:•¦T2À¹ÉÜíä¤^WBZ@ØFJ+™%¬TE.d>Ÿ ¾*¦× ù´qÁ¸/fòA þË¡»©,Þߦw™%ÜU±¯÷.Yo]Ø rÉ`½ÓY_ÓŽS]Q’d–>^ÈaÙÆ6²@ˆÐ,‰:«ËB_iW“|'·éÂÈf§Š™,#W mÏ@6o¥«gÛ XíùëÏg½îÑno.ìS¢–ÐR³™Z– ª™ªíË%YGR¶˜Ëä±\(PÛrÚ©ÏC²²Ê»dr}©j×0☫Á_šµ"„o®>!ן/_ÿ»×íëUßBȳEת¿º¹¼êÝô?½ø¥ˆdLèc„×ä¦wz–»~©)+„Š[Æã²º¾Jemióò“nûµÌ’AÚ ær“CíÄ—7ÕsµM!…¥>êâB©Õ*È…Ÿˆç8ʳáÞó;qDÜ‘x06) ù•.&Äv¶J¢™ÍVàP³a$xiYa<µ üuçïþ#Æúž,tz>ãž³ñäH qšlÙBŒyË.Œæ?O>œÚ]C¥Ud½jÛHl×n«Ý˜\i4h ¨Dr¸UhÙFˆ¬]$²_JûÉÞRû_¼Ü¬ýD©ÿÜÝúkãÑCí$æb‡ó‰2¾ZT}DþÖ”6B…í5*ÌñßÎ; '¶>ô22ÕÄϘ×ö¬&mÚ†Ã:ÇšFgд<‹›–k»Ž“ŠÁ\ó”ÉÆn­1ò.(JOMÄŽ.kÖ—|™» ßa§åCèq“·l—™gxÜòæp0hš®Ì!JÉ·6H¾ÄçØeós廈¼›U®/u$Tn·«™{ÄÏjkùYq$€ê¸·«ÕF\­öš«õÕ€ ÅŒŒùx°=ç NB»è$übœ“gM‰ ¾E{-ZÍx!µáztO£Sêi¹/Mjmq N†SêdhˆcãÌÛáÆqS}7¥ ¹Y®©…<”¼¡›‰¦ÍrîW1 9Åîëš_*7u!¶ù–õ ŠœL÷5ÆÆ'ŰXòtL¼hª|„ùP0ú<ZÚxA·ß¤Ú8‰ÝUˆ( f·ª¥tíâúû@Bd/ûb[4¶aéªN9iÂýjªSNRp›5­Übq¥)g6¸_É2ÅœŠ[|Ag/v9&å\÷«I9aÁýï¶q€"Ç{Àý²q€"uÀýJº°õP nPZ2n½9€"GdPº–ÒS¶‹ÇÅuótÙ¼Þè‚@l7ýù¢š,ÑìbIiµðc%FÐD‚_Z)B È”jG»rC$(Õ ¶pò~Ý2qsúj„þîÝ#¹]G9W‚R˜b½C'’lî»t>ËžÌë æ®å^Û1½–aYƒVË5êï˜àÙÃÃól‘ÔÔN»Ì/‚«.ü.ŠwJ†Èa”êÄk"¹¾Äð?‘vŠaªÃ0u’M&ÁìŒÙ4X`ÞÞ„CâÉým­Tzu¡#QrL4Ws)rl5tvžU”ª\?ÿáÒÛB4¹ÚQš< Jli‚‘35¨±ãˆl5´–v§'Q¿¸~tÕg²§:¢o1Ïû}ÿÈ.±bP7ÆTT—dº-í- å­<ϵ;bá~œÿA ÿ¢êàyYÿÞ">ŒQ͇AÎñ †¶óíq)rü5ª¥<ý…;²Œ¾Õ/AΡ†~®³+ÄåÛ´á">ƒQ-)÷eö£Ÿ*;û}¶¶Rä°jTË…*ÿä‰]‰‘Ë‚\쵯ïFóvÛp“¶½r»94œ³m*wg˜¬éfnt®òÜ9 D;ûÏÊvèš"‡ÀP³Zš9†jSe¿.EŽh¡æú6•ýºyc£·¿†"çP³Z¾9b„šEº[Ù)š³îºª€ð YäÁ-v¦ž~õU­NÙ·Qà%d ‘‰? 8a_y¢vܪ3Hï¸Ú‡;–ç¬2y„£€²iÀ`‚Ø„§³y^¯þ†UŠœçA çyhnX¥¥'zÈj ™T½JÒ2µÏµz#å 8)Ÿ±¥~©Óöç‡ÚË#÷sÅó#ð×NâF˜Ñiœ,¿l@m–†Þd_y°<ËÏK¿‚@Y™ÿJ†ì« ”Á˾ž`,ûº‡†|òä·ÿœÍkþ ÊÊž#.¼JcVxœÕ]msÚºþ~~….é´™ ØNšÌ¤„žæNÚ¼ÑÓÛOa‹à{ŒMm‘”{æœß~W²cˆW¸´i3˶ôhµÚgw¥ˆWÿ:»ìö?]õÈHŒrõáõÅy—Ôf·Ñ8럑ÿ¼í¿» ´Þ$ý˜…‰/ü(dA£Ñ{_#µ‘“ÃFãáá¡þ`Ö£ø®Ñ¿i|•uQùröñ@äÞ¬{«üöJ5øu„Éñ†j¨ã8éÛêYÎ<ø5æ‚ùìÿ2õïkÝ(<ýل׈›^×ÿ*Ò—Ü‹.Ž?ôßصT"|ð“$v›ñ¸>"·Ñ4v9yãüU#½ýÛ«Àÿ$£˜k_DÝM’‰yp\KÄ,àɈsQ#šÍZ“ÈÚÔAäÍà—çß7`Ir,Ëy El¥àB6“µã‡ÿZOûüŽù!¹bw€ˆçcßó"qTö¶*îy|ï󇬖®,#—Y¡vU#ŸÇ,vG³¬š·ókíXF‚ îe5œQ`x"ë9dà׿Èï<„êáY2˜‘³èë쎇 ovÖ rpIÑ÷Žk!»?˜01ªeíÊu}ò!¯¦¶Ü=ðqíd³ÆƒZ†ÏóãÏÛèX5›£lhsÛp,>l¹&\oÀ2è )ò«FàŸ@+ ÕL_ýRÑd‰5k.K n­XéYmõ…¬,ÓË´vÙd¡±´‚bk™ö'…:‡1»C9È!W ÚÍ•dB6šðC¡@v4™°0ÿ\Õ!ôUCÞ:yþŒvšG+¹Ñ8m£±·»Ÿ¬¹y÷ô‚ÞÐ@¿·Gvô³-zAoj¢¿îN¯‚Hìx†³dºI¦ ß'ãÔ&$¸)üðŽ<øÞdÅäZ| ú‚¾¥‰¾Mf±7äE÷%1š”îËÿ õ¿IzcNy@z¾;1x/Þ‰ìÛúöO­9}G}ä'dGw1ø8Œ9'I4,æ‡dM‰ ¯ÆÜóûƒ©àÄ c^ôTËζGo!è-Mô€d ì1âafâ§Ã¶ðLøbÔ8œ‹Ù~#—Ïõ¢–ͬ®K;í§|` ›õºb`81è;nŸç¢KSQ"¿mùÞ¡l¥•6“‹ŸþI•HÂñƒ¬ysY·dÂiÅ©5–?—Í 3«^µYh-«¡Ø\nÿq¡ÒAÄoF²\vÄB©4o‘vMÀGÒ†ý¶ü¡²@iy°ø¾ lH)¡o[êÑáËÔj¿Yz›޲6Z;›ûÉ››©HÏéBú²¡ŸªÒwé;Hé/Ž'qŽÎý0Ù%ò=‚ÇSiœd‹]2 ¥Ùd,&^pCî<÷F$dFä"YGzÞ@Jާ‘w3LÈ«ãׄµ)ÝU¿Yú»CNG<˜ŸœzÎpÈåç¢ô½ Ho>k˱é-¤ô×C/&ã(¼‰øˆÈ‘$ÉÄ>‘.‰8ò£‘p½8‰¼þ$ÄK¤¹-i?Ò´¼Á´ºô]@ú.Rz)ÉDÂgD’¡ ‰ˆF1 é‹ß?Í!F8“¾ï9ä£çˆ „K…U‰„ó|*KoÒÛH镜ïU_åýMÞ‡R®B¦]"<ù<"Åcùštfšåjì’0ªe9=@úRúW;þúñèR.­.Ï¿\ʉp%DªP]鬥X¬-ñ‹ƒÔ¡K/äÊ—çÇ%Ó·ªôÖÒgµÀZŠÅÚïLciß¾K†r™"AÕÞ­´n¹T‘!ºêH`-Åb-÷Ã4xL†RÊ÷#­äl@xÆÒÆõ7Á$]Õû™ðq«YCzk)kŸÆr¬¥8¬}¢µ°–UÆÚ£‰tïÑ>6¢_«ï€µ ‹µßD?öÑRÛNÜIöMü/']w©¥US~¨µ9é¬e5Öµ'26Û'm£IiS.«¶h÷ ÀZ†ÅÚÙÏY@¹O¤äÍv%ÑkH`-Ãaíæ~ZÕÄÀ–ÀW)€¬Ç‘Xáˆ8£Æá o Wlrq|þããÑwþøPM?ÐX  -‹2k¶DX)©¬y aüb%øµZX\³ð°à)WàøW—MÂäÍb¶¯zã‡}îÿ°‡ùæiöZmeòÃüsU¤ïÀÓ)žRé}>QsXG$M:´Æ¤êN¾SâäÿÓ»g0r‡ék2Sfåð¤EÒ„?æ;ÌjŒHºë|и–'ïËÕ£„6Òç2ÆÌ*T‹lG:n6çVâbµ@ Sõµ;õ…rÀx%¹\‡ýÿNgËeY8JãðL}OãDŒ;!o£J_Ò)”}1ß Ö»A†â‰ZXd•å+ßëG<š6³}/N /¾eûÄwC¥©†±ì쑊wÔ ñ‚D¨NgëAšÍ´«æ"Té%¹:u«S†\åõ‰G7^ð{NƹcSBXÙ¹PµáJäìÝ“Óã¤b«³á;"£ô¹QÏ”á†w±4ÏÀFaàýîª!Íß{®£9 Rž?½ÙÚm4ñoìÏÍ[dÆçã¶Ø|zî·OV«—n¡:¹zäâK:…C xgÁÿAÖ @mgj ¹øñåÝ_#« µS©«;m×° ¡Ñ.èõ+™×«_Ê‘1dÃêõk¤ÿ1€ÈÁ …áûÏ/5~ènbƒ­W-dbµ+Wk­ Â`ïÖ‹’‰4ª‘H†¡ïW 2Œ¯6¦/8tz¢C{NO8¢cé~˜ÃÞ1ÛÚ¶z™r†EÒ«}ôâ䥟¼)†+;/o’7F™…”LgÕIRHGÈ&òz»Â°»¢#˜ãô-ÆûÝnWVgö妑Ûþ~&Е4Õtþ)›}½ÚµªD 8™áí?+Qk §Dã0É$ fÈ5:z¾+guó–ûñ*mâ ù7rÐÅ0Ëì/K%5ûaèÏ„òâÓÑ8™¾zýðMuÍߌ€À Þ°Ð’Þ†ž;“Ôñð^@~£[Ï Ðo”¬²°9 ·"<qÑ«â¤c%Sé‚F}UtA&*˜•B…燾£ó9ü" ÎÐ×,¢ïÅs÷¹è~v!Çšþš;¬x*šõPÑPÑ|ÕEÄYˇÜhµgmuµV p–î:Ï/¿œŸ^^CnsCç_;³i|yzt’ÿô]Àv‹>pA·‹Ki *g,hoXý‡mð‘]mTlVª(¢ËyÛ/¿]ž]Ÿ’X$_fEX™ÿÕ-.}eÊ(Îa,Î„š½˜‹”¿ +àùºÅEÓJ¼ÀMFŸ–äZ.{o©+%àJ»ÅõÔ¢”WÞßb&Núÿ¢|iAQ8Uˆ• XØt‹ ]2~_l¡`aTï«J8¬nIÆÈZG7] þì¤V7-îDzio¾ú-"Я{ˆrÐÆ®º*tK·Ùæ]™ïeÌzò?ZWbå±On׋fmÀSÛEOýÓ9ZIå D»Ì)W©^p‹uÌÙ± ·owéÀ±D§cw9í;¦i÷Ûn¦[qŠñ(@Nv¶¡’?¯ÿÕ¦*²íÏL,ô…]†kÕ;`0p‚«”«Ç¹ÓqÛî˜CÈ•XWvC6¦U'SiÀ°£4õ` ®$Æw4ͶÍË¡ÕÆ¥Ÿ‡dx ·5 /Db×!¯¯°ä±‹»z? Ý6¯ÈRõx}€ØÅÖ[Ë…1á“$Ü–RGuã5‚"[ËÓ)†­ÛU7^ ±µej1ÆÝÂ\¹¯¬Fˆcz¿rvÙ=üй úÄ ù »ä—Ú ÞyÝÆgTô€¸WáÄvI’ì˜vÁ ¶VYåx…^½3à°ÑCŸÇuV= êáÏ}O×7š^Ág²yˆõ’ÆoÒý2äê®ÄA½z‡´{R(Ùg‘I*~`¡5â ^½ÓMmÛjûŠPO;Ä*²¼¼Ò¢¦Ôñ¡eBšfŸ§¬³ÓpÓÓiŒ‘vs¬öǰò±L³¹RK~-³ãÎs“á.. d(i RIÚ.täóúsú~ûƒD¢&ù|[ò?æ •ƒ¡|¾žãÍ"ÁÕ³J¥x^AÙI[Cwly8 Ÿ×‰2(À%Ÿc£ i2QèNá’uÎ(Àë$Ÿ×Ù(Æ™ÙdìòD`÷)@â$Ÿ×U[.ðÔ¾öÆ2Ø(ÀÞ$Ÿ¯!öƒ+Ú¸Øå -Ÿ×»<+t6‰KüêbÞ·ŒQ'QìÝn0á„Oòy­™01QZ §‹3?Šå'í§u'?@°D)#+L~7œ¤ 3”ñåãZĸ¥Éy(-ü}ŒÃ¸ Om$ üéUÚ’J‘«Ü?xäñ !;9oÏA{ƒÖ>QZkuJ6&ZÆÆ´fÆ>¸”(EcÖZÙú`E¢TCªÇ9[>fBê@Õ¶Ý3w¿°>Ø]ÞÀD¶ `Õ¶ÇÓ ô`gwñ„Ù€!TÛ»žŸ.äÿìj'È–/NµíæbŒ»´Yk`¢LKWª¶·´_† ððLóð¸j7ÇJ×ÛˆcÊJ÷ïªCÙâíi î;Åäø`1²yŽ5À3´ÿV4ƒIÕqÙdÚé Î\› Îè@´…°˜= Ýn_–}Ǥ\%î)ôÄÔ®[¶!ö(œÄâ<q|z›g6¿ºø¤ Ó×d'íü×䟋_?½:=y•àvÍi)!Qu}¨10¸30mÇíÛ®ËË1»ÔèöÃ1¸º‚¯†A§~xâa€ÅN‡áSx+¶3 eð[]a2‹;6³GPaöû=Cpn›Ý®åv µ× F¡ûÜF;…K´óxKQ˜T׈Û1° Û’>ÜÒsÛÌé»®Ùî;&D/û¹ ,v:'éªíØ÷œ?·3e±Zu­:êž(uÙÀ¥6·{‡öms`õ¥Ž`ýA6½ç6°ØwC!ü…ø6½î b´S+;“,`´ƒÎÎÜàžG)‹Xõas-—õ~¿ÍzÔa†AûLP‡w\“õ,w`fŠ®ÌÙ|JkƒÅæã±?=>ñ“£ ñ¸ïñØ n>x¹ý•7zÎÓüæåõõE^JâI?[YK’gBÜ÷§Ùê:×,û9}Ì=˜ÛÿìcÈ´ZJ¿V½M£Ûw*,9u…i¦Ã»62þ³;†¥.œ+³X•öù¤f‹­.[=Åð“uÆXu0É5Çà!yÿ,ðÒYô·øÙMç¼óžó ì¢ণu¸éh)7ª´„Uu­ûÉ `£ýßÒýäâtÃÝÄ¡GÕ8ÚÕ›câæþðs³]¤e¤qT#«|+ú‘hD)ÀŸF5þ´ š<¯}l‡[•F­‹ß`R£F‹ß´”MUZãâ7-åÜ›nÚ~µßW½õ‹û(ÉoÔ¹MR-ª‘jUºMr-Š#ת~{’ÌZ´œY ¾=‰ÎÓhµ¨N«…«ðl7Õc¬&F*ª3Rm.´¬˜>°\Ñr–«_7¡ Ô¢:¥®Z Â-'¦ÚÆÀÐDQ MõŽÀòa>'È$$r@°øQìe·Esép´:ES9ýÚM« `‡Y/çJS5ኊzVPÀ!ËiM3\ôJ1m±5Ú*ZôKT§_ÚœcÓ¯qLÑ® u¢©²ZÜ,ô)ÿº¼ˆàY¢¼VábŸ«6°cÀŽ…ÙtÒ%^mf™ù{J&VvÛ¬z÷y*‘ßR€‰ZœáªàÄB±›ÔK¥³ÿn•ú÷mÄ {ÕØ£6¿V\\”PT£„BV xPòi{®`z¢ÓTþÇ*,‰Ôîy|<äÁp7™10BQ '8wÃñœoFc“Û>Út¬qAáä‹ò<…MHjø]êé…ÂH­¿ä ¦+®‘\ÉB/ T^hüjÅ[Fü>}¶»êó#/Ðf‰Ûési@"q†ï¹zVš…½€œI˜p?¥ Ú ¹øÐ­‡ûű_Õ9d诨Fõ³CäéÀE‘QÙry|’ï.gï)ÎäxR´@!…ÝÈ(¤¨]ã«Êh)1”ª”Õ©tÝ#êß#Ï}ØÌ]A:„<ì73}8-È7øS²×ô›ªoDLÅ=ß0RßËÍÉúðÂAˆª,=’Ä}ÍÒ£Ì ŸÛr/ ¢:Q¥½l€M‡êl: Ü¢\ˆÂ»tÏ(§èÌ_!ýÀŒCufœŠÒ9¡? .`e|¬N{³Àò8ÛZ]@ßL‚«% ^”­ðdÎy¼â)R€ò†j”7€ r”WɯÏ…¿,>ÂJ¸v¥–\¹£1‡!/*öVŒ餯ì[’}áõRßW“pt&“Í$$EB¢Ÿ=Æ¡—Äw Eq—è\Ÿ¿€â<é\'¸j\)§'Y—T”ì"´»È ¤Ýà‚Ÿ!¬EÈjÔݨ°å`À4>,ünœkVcé±ÀÂ4FDož)´Ø^Áò]&¦3sTFòmhV;^Ór$eåd!0èoeP«êXÚL§ÁU[‰¬œ*d]67P~0åÇJZž¾¡J¨Z¶]·LÎ0HëF"1ÈBŠ,«0ŽDm…[K©#ù«Y93«YÑ¢cöm "@QÂÊ)Jª¨ú¨#œ0ÉI™mæÞ5|cï^øxÑ0×ÙDªŒÈå0šÖbÏb Ã3‘l.´$L§%Á¬¾¶w‚Êî¦q¬)ð:ibX•¼ÕhMjæMm+E «&€²JM5«§‡aÀTceYÓô*¤†!5(^˜Fñ‚‚çžD˦óÈlÎËUM‡c; +g§y*¢@Pذz6Û& d¿ ÓùepÕ¸ÊÐùÕëfä°Rò%ŠÆÖµ"$ÿê© ÄøÚªn“ƒ )ï\]wÝÓmöÀîÏ»í4peø%ì¢æCoUs´zô²zëXq/ÿ¸×!N¹@Ü]æûÐH%å'Ž]‘Ê|Lç³@)뱈ÔÒ ­íY•è Ë`åt€ÔY/nIpo;µH/Y)%ƒªv{¤—   `å”#½dÀ=zÖÑ<æ¡dyL™åúåEH6A\Àg Wìá¬>ß@ À“~•úá²u"ôëø˜Ù¶|:°»´Ž” ðíÚ}~\µÀ¥x¦]Šß^ÜjgÚ­vœk¼™ãB KþO3fwdØ/ŸSDþ«ÓfÕ;d%RúþxƒpõöoæßcªÎï!ÕùývTÀ¨·ܲgÅ[ö?Á•꾬ô*¾jYO×[Êð}²” \î.ì³Â…}dŠ.nì³Â}d¥€3/ÞÓÇUº.•Ý™ Ö˜¡ÓÔýdv©×µstZ]m4cŸ;ºÉpß» „K’0å_éKIDDÂHÚXßK"yþ”ŒÃØS·Ä’a¥-þ’™¼  7`z\&/Ø ˜ÆnP)“—<¬ÀS€¤Ë+½”^Í6_p»ß´ëö8ëZ6ëu\Æ»n— LÁz6í1Î »-ÿµgŽà†Ùô:¬O©É>7{"ÓÏK+‚ɍРV¶q˜¾û\M­QNêHþñÆï#!ȲŸ×¥–­ÖÏ6]w`ð®mº®Œ±·F×1,a«ãÕÏ«˜gWþìzãw©ó8Ê= ViÀ‡k÷åWý`Q¸×Îô{í¨j‹æ yѼNÚêº}ô^>pµéWÛWvOäÖ_¢{¿®_ÑÇU DÞå×í×MeÀÝy¦Ý_ö¤é–×Ã˧9¬îÐ3íýE²¿Ÿú¿æ/ŸH œ×nà§ßò>“ý§_9º}±å‚U+-œ—÷þò~­œBà¦>CÝÔ_™ tVw¶ìçÝxöÖ}·ù™~›¿’RuæÏna"òÙhÄ*§uª8¯VŸ³¬úÚß÷•¿÷—TL§*ÀU  O9‘À–ò¼ö†bxÌëôÌí:¦Ýå6ï‹6sÛ–)¸hó¬OžÁ7RTz–—•-XÈ?È+³7̬öþK'@aÁìZôo ±`ö£Ñ¿±Rê %J]j¡yZÒOó‡ÖŽæfc‡º²o1ø¸'˜Æ=¬ÀxGò_+ëà»`ßÅ–²>f ¦3[”'{TÍóX+˜ÎZ1kyA˜5¾\†``:ëļ §ë‚ó2¬€WÕÙ#æ¤3j¡iüW¦2€ôi¤ÈjÚÃåRÕ8óø X¯èþjœy?áN-òd §`r ì™@ýÀ ÔÈJ/Ø+a@GBº>Ù×q5_ˆÀõDúÃôHúèû—¯×?>\aúçí¿ööÈ â7)~íí.K´JÒñ’ÅK²Béå£iþ.qµÆO¿IBª“™É0IÆû­ÖÝÝ]Ó ï§7"h†ÑM+]Ìä§ì'YyzúF›v“6Ù\²~èNÕ_õÎÃßþÖ‚‰S ³F/çÒxœí]ïsÚ:³þ~þ ½t¦Óf@Â6&m2“&éiîôG~õôöSGØ"øcsl“„sæ}ÿö+Ù†€E½kIzçæCdv¥Õ>+iõðö_'_ޝ¿ŸŸ’a2òÉù×wÏŽIc¯ÕúÖ9nµN®Oȸþô‘Ðf›\G<ˆ½Ä î·Z§Ÿ¤1L’ñ~«uww×¼ë4Ãè¦u}ÙºWuQõáüß½dá“M7q‡¿½M¼ùA|°¢Úëõ²O§ïÜ•F"áD½wOü5ñnÇaˆ Ù»žŽEƒ8Ù«ƒF"î“ìÃoœ!b‘|½~¿g7Z²’ÄK|qGNËçÓp’4‡ä*œDŽ ï=_¼meÏ{ë{ÁŸd‰ÁA㯤éÄqƒDÂ?hÄÉÔñPˆ¤AÙnÞœzƒª¾•ËÚÝ©üãz·Äñy¨rÉ"¾TðQ5“·ã®¸ofJâ^@Îù”ˆ’—#ÏuÃäMÙ§ÓòðVD·ž¸Ëk9VeäK^ˆ®j艈GÎpšWóaö]‚0á‰póŽ|Ÿ¤ÂˆXÕ!ûIöŒüó¯½=ò»dõò½¤?%'áýôFÒàì&m2²·—÷¢ç4~»7æÉ°‘·« Òׇ¿òvem 4Ûªå¸ô®"ú×´àÍ#Cé„~mb†bÐO˜»»o÷XkFµ¹×b ×b®ÝÔk3@ ]y3¥è#¨$è$h@q>§ñÁ–è%\‹U¹p¢¯çÃO—¿QÿË7ôµsÓÿ2üöp#EˆÝ³ÒŠh<‰#0 z sŠï[¢—p-VåÚσ›ÓO·ÿáüâ|øwÃçÃ/ƒÛ[ôñòõÑUÿfx~úëEÿÆ|7W—·è·Œ ƒ¶E/áZ¬Êµ q1¢PCÁ(κo[ô®Å?4×b ×bU®ýdšCûŽ4‚ ªÏ¢{hÝ0Š ¤@]Û —p-VåZ§B<#@¹?ÐJÎC”pá™C¯Í6Ü%S1Ý—àó^w ô®Åª\û×´ ×b5®ý‹ÆVDµ¤5×ö§Þ³#UEÿ§|O$\KT¹ö+óò¨`=>Fýâ¨ÞÄ÷Ÿ‹­ºpSowè%\K¶מ6;BšÑŸ ê=¶{"áZ¢ÊµóŸ¿—‚òò®Ö úè%\KÔ¸vw?½vð%dKVÈV-S ’œd ¸Âgyžf“Ÿ£Fl!º>½ú~Ñÿpp1ø<ø2üÞÿÇùíÍàtøýS;{%GnÚ¼Øð€rÞ!x ¿‘~Û ^­X 1‘bZ­ÎħC¯~Ÿ¦Å»n·w§»£2¡,]Â8zãÈ`ñ Öí@IˆDo ¨rx;X†ÐÉÝ\—n½!pÿÆfitNÄg47†.BcÀ:õç%Љ®h”,+§ã‘˜?î\W©(Ÿze^0låãZHKhϺ“Ž®ªu’À®7ö-¬{š’]6oqÁå}™Y¥ûãÈËh6ë–£{øÇ¯¿–³µ#ÐJ|œ?6S^⪃OÄ•ži’ÏÕ9CÝ®pÒ„6^’ð‡Þ0XÛ¦ ôEǬ{è3MèËaX”GÉ]Ìï»`eAß¡õÉî²%ðÚ(á2½Ë¶2ÐË ^=pA½˜­·Z}yFyeÞ|8­´ ˆÇ–C«áø©÷?Œ×v”€7& 7¬–ÓÆ'ÕHtŸü’ÑÉhÙýò ¾l.EwüÛ«æŠ,Ú˜(¡Z½jÿLµŸlÜ®Æa´1~¶vyvÂj¤h¶„êuw ž0šˆZÞÝoăNñZùäµó…;ÿðýlpzÚ9¯…Oiäh<‹h"b 8MÅL#?GÇe-ð³6)ÒˆNØ"îð|Å“ù#´´xÔàW %@/„”„Ûµ™yL3¾8.)EdˆòYΡn½TFéx¥—¨ cYýK1W‰ˆ1–E B×ß/?üÈlÅì%„okÙ_Ý\^ n†ß^__Ec:_û¿Ýeü¹ ºôÏꟿޜ(gҧ´7ŠÀ$k˜ÏÛÔÌøb˜Î‰—¦ñ¼¡-`Þú4fkà«Ô &”WT ‘p©a5x¸8:êçh¶7ü‘×gèkEâFèâʳðùUU$ÔgØÍ&\fô$ñÐ.G"tœeô®½øø„ôfž¤ OB[†ÓÞ?Ót\ƒ'>.ÃãIŠðLÉÍl²mŽ‘GŠK’‰Wü²¹hö8¢£B-@¿“¼þ?5¨@o'4ƒ‚Ë¥'j± šÙtrÆB 냳Ž7WM‘MYuËE]bJøÄ\å“Í%ßGY1¥Oxÿ÷hÊŒàM}ÕjÙJ˜Ô\eÒgÖ‰õ´;hXùQ«ÉS—æ_®±÷ë7›ëš¯lÍ‹¹ªüׯÆéCç$ƒf›%óF1^PNYÖ;ôoEc$œi®rævŒ¿GƒËÔ –0¬¹Æ°ŠÊ`ï&òBÔÍ”0µ¹ÆÔϪ‡ö¤:Ô­‘ŒMWÉ.%öc ÏYÙK"S,mµÏ½ÐœzûT鶉ãé ± ÀÂÄÓ-Çó±CŸ:#Ð:üÏwt‹nÉË~óÌh]w©V¹D¥Øk*åÅâÿâËø³).ÔjYì7?Övè}G"ºœUÑu}åÅ«¸xWóöÕ]ñNLT¿^3/¶å»„+‘^Ϊôj€»KX¡å¬ ­—kÃAбf¬æ‰@rVÒ3ÕÈmkjxªp$ºÁQ× õÑZÆÆé=kãýÅ,e»›ÔB‹ÇW?ScÃql߯öL×25φ„ÐÕo5×Õ™YºÑ\[²#ë 库óÈ꺯j•ŠXº2‰©ÞòGQ ùÉ ˆÆÑ]¾¥?ˆô ’XÆwÞÑÌ‹ŠŒfQ*΀C17ÁŸ£>óð8¤qÞöé±#ÑsÎÚœz,[]}Y¶§5»e)‰ÒrÖÎÔŠ…“%:±°r§È\‰ qUHmc P,…Ü)>‰ìp×f|Ô²•È·q~¦>,É Óâ™Xƒ.¾ :âóEb-ì5QíÆ)nG· ЦééÌmBuj™žfê¡m™ØsœÀ3L'(mÕ7‘ƒŠ(Þ1–˜…û‰ÌÏýõåÈì6)“V†[ºŽú¦I(%žié~Ï }3þôW‚ñ"• Ç"vÙ_-ˆìÛTÃ΄’o˜”…˜y¶é3jX¡`éš®‡Züˆ^ …ÒΫAŽ¥H'û«ȼM4i”Vf‡Ðà\‡0ÙÌ m{®bß×m VNYÖ‹T‹J ï¯ÊüÛTD“ªk'–M/4a¨>%.Ö±g3O <Íb¡OøR^ö‹T„ËC£ýՃȾM54ÉÎV¦cþê Í5ììMÇ–ï–ËÊjp^¤äXFl¿ÔPæß¦"šTu+ãºÈ —¹ÄÓ]ªû#.5]ÊÄäÐxE¸*âú6úƒµó´¼°òÜŸŸyîê^ÆÚŽöáSmly~hj6±]Z¡ Äö*üCq›¼|•B»néfii@ƒ{•œUmœÝ4Üie>щêɰt×ð‰dgh¶ç[$½¡ÑÊÙxGΖ—¾¸Ùoü˜—ÐÆÝMÃÀV°‰áiº®»6fÔ¢ºî„ÀaƒÀwmÊJw“¹[^Z).öÛ¼e´qùη@!vÚA:ºá6#–å{¡Ø.è9Ï-]¾ip»Ë奕îØs#¯ÒÆé;Ì2j2K3ˆçSì:1BŠ=_# Õ@L›•Ó7 f·qº¼4¾‰¦-Å›Ÿ$c¼ú$ù©Àr!í¶ÅJÂ=V_öUïZë›·áHh¯íïÞ´txã¶*EJÀk”ð£?…^z®«è )`éβŰƒúö)Åâ%1¯=mÒŒeµe‚g(>¥Ù<ù –öwFõ4Žpõ{ìp8#9!ë*döb5e6_Ê,F<ãcÓ§¶ƒYÈ4G7,~TEч¿¢FTÝ-ad]íew+?lÛämM3}7ÔBæžMSâ‡Ä7¬00lÛNñíOù+:úÓ"ýL3Ñ Îçn,>ƒòæóÄÌpl¦3âûžE¨gÛ6Ö,Óƒ¿|Êø!!‚ˬo£ dk¾ÔUÙãÝ¡+/¤âï(ZBÉù§XWÙîõbÝ‹a”`èOŒYÄ 1T3¤Aõ›˜ò½ãºÄȬ|p_÷öúú3OŸÑ[á$庑È]eqõ‹y¡AýÐtüÀs‚€ø–oÚØ°]ßð ÊO0ÞùœÞ³8G"¥t)õbÎa&±¨ïÇ÷f¦ç¹£Ô1mÛ lƒOï çÜÀØ—æ»ñDãé*í_Ì?:?K $ °CW÷±ç˜¡å1Œ} ³°sò0b,®9æëÓç¶Ž‘M};¡)9îëÊBóOo”Ã’3H±¾Ýöu.êçü¢ñ¨Tþâžíö—øxæ2 söR›U–è&c«UÖXr\(6ÞŠQ›wîÅS™6³î†Dk3ßÏÎoû.ßO/¯¾)ÔξOS;ÏKŽLÅkG¦*f+aǵOC>{”ßlŽß?Ú‰ˆª]D‡+'§þ[5[ ›¬œfª˜©„KVÎ UÌTB †ú;( ¥D!ªjñ^ñK¼Ôwþª\þfßZòüźk/ü ÓBõNoO-Ì«Þá¼xCPP¾SY¼«þŽéê]Ë"²Vï[~BV½¿ºÇ¿yòÓ8RŸÆ II§ 0ÎD|Gxœí]ksÛ8–ýÞ¿£®J%)["À·»J±•Žwø¥žLæK $A‹Û©&)Ûê©Ùß> eQ Zrg«Ö•Š-Pνî9ðýßÎ.O‡ß®hTŒctõ뇋óSÔ9ìõ¾ê§½ÞÙð ýãÓðóÂ] 3šäQ¥ {½Á—ꌊbrÔë=<FyÆü¢;B·é4óúÅì}¯¼ý§÷q”ü†F ;¿]?Ï;(cñq'/f1ËGŒT¬ ÿ/½W™â¥Á ~Ñ=òcšçǃƊ¦9;@ãšM‚&p±ˆ’;ôw¬@aš¡ëâÏ 7$è Eô§éd–Ew£½>}ƒˆ†ñÿŸˆÿu4ÓdÊb4ˆüшÂ}ÙN|oJЛ?t˱$è-EôÃQ”£I–ÞetŒàÏ0c åiX<ÐŒ!Qȇ[3Dy‘ED,ÐÆ‚´hZQ8kÞ– ·Ñ’)w†ŠCËÆ9JCñá—/¿VäÊkêÅ‘."Ÿ%9C æ) $íµFïHÐ;Šè9ÎÜß·•¿ÑÇÌ¡\Ë Áõ ~Èá3Òç–UflrÇ"$Àë÷¹ü\¼“¶oè[Ïzä´ôm$ún?HÈ(Žîb> òÏ^,I¢^úÀcqD¤ƒ"žüh,ü IãÀ•þŠ©c~CŽ9´‚Þ¤:z @o!ÑK$cIÛ1Iû‚¤"$$êe/>|þZP›ŒºÆnxä2ðÄ0„KƒÕFd¤W½  ·‘èÎ÷ª½o‹ö&ï#iWqܼ=$ò51¦–f(Þjä8z‰þ%OÕðˆI4R€_É11!¡Œ$f˜ë»÷´YŽž6Ÿó¬¥×R ×®›µóÉ鹪aÒFrJôe'ÉIòÈЊzãð`Kô×R,×JœäÛE÷ã—¯]rúù;ùvzssú¹ûýÄ™öeHDĽȭ£0FÉÙ!Sœt¢&Á–讥X®ýÔ¹9û(áž¾»¸¼è~WÓðýE÷sçö–¼ÿrCNÉÕéM÷âìëåéÌ÷n®¾ÜväD¸"3h[ô×R,×–øÅ^æÐ¥òe„IÉô­ŠàZú¬¹–\K±\û]’i"Çw蓾Ì_$©z"¸—£[æ02BP×6讥X®åa”i_¢œ»9J.zd¨ÏDŽñ…•†»á8[jsðI£¾z€k)–kŸfä\Kq\ûD¹¸–UæÚÓ±tïñ6¢ÿ¥¶g×2,×~n¤¢¡Ö¸—-ñ?½,ïR©U]~¨±;ôײ-òÚs›‘¦Y§´.Óª=Ž{p-Ãríôçy@yD$òz³ô-Ð\Ëp\»»ŸF5øÙ²²Å p +áÀQ,$Wx"I¢¸vò"èÉŒ­G®Ï®~\ž~—1`ç²ó©ó¹ûã²ó¡óùüÇÇjÖôÆJèmØ´Úè·,ygÐnc%ܶ:®Z€”X )­våРǾ ü9ŽÒ7õzã.Œ\Öûù…J° €mŒ¶`…|"âíP,b”°•Ìu¶ƒЃÁ¶˜ã൯ýO1yˆb¿v’½&ScøÜ/ú¢¶ø¨DΡ+ SÕ/j%ždkâǵëâ*IÆn^–ÌYUR+¯ yN굓ùg\¬u€W7J¼úÖÍÖc—ÍëÊø^FéŠíóŠ ? ܘǓzžÚËêâõ·|©ö¡/%•ää˜Éo©C­Âå-#ã’dš R¯g4ƒP¥•ò0J2µmÆÀ©›¤ ½‚™r7zsñâ-Äå2ÊËV©ª Äç)'jš‰D6ªZÜŽÜÿª1‚¡Ìª²¸,/Z=UÚà>£„û¶i“ËâAÐbC|âC~'iSþ˜HÚ—Ò™ðÅ¥ÿÜÔüãUì(Ô°¶q&e䆹!s©ë;FW­½3¾x÷ã¼svI¶«;"ÕÜD1þæ¹4çegOtÈz²Ej¯0€}™qI'”X ñtÆdk…òâ ÷GY$™$ª òµXGÞ ¨‘ÄÆr¼ñ®TÌåpë_ÞýW笋, X“iÅ_Ý|¹êÜt¿¿|¤ÙýšŒx,{"¿Bn:§çKW^!-Xß46[zý^æÄrÌÈÿ²ê³¿¾Ý\t;$©º‰³i–€8‹B9”Õ>ü¯ Êüå Owz àB³µL"B9µ„ÿ~ÖBKWfÈn®bÁ¤d¶Á›bé.·œ~YÃY¹%†1­’Ù´Æ7ª?µ7ŠÂ©wÌA+b_4"{½‚^]ÃÂ4ÓÞ lá/·¼ÞàHÀ-À)¶Jr¨õ´s„¬H“Zt¥¥ÖW-~ŽdÕAŠã¼Ç§êÇríäuîÈ_!ƒ­ÀV­U¶B PCk•6lj™ÄÈ,%9ª”ä¶Rh­’Â#÷N~åå«õcYí–LÒiú×Úß £‡ÚI,Òq<œŽùÁÕBáoÈ¿‘mpUKãªuïÜU28Àc-ÇVè~çðg䆷 ·–FoZt°s+C ¼!áµ4ÂÛIìÍœ-:H?Z‚šÊŽ=ÙªŠFÙˆ¿½š U OöÖx£­¸bâlkʼná’m® l»”`—ºí> üy·e¹×Ú´v’õÙô­¹'úƒFo`Ž6@Ímš±Àç.ƒ>w?|/ËG°øºl¯Ò%ÿ¢ßÝg´Ù^¥ÍÊÖ˜ÃÂ¥¦†Yfº±_ühœ=^Àd°úªí îô¼^Ëo Nó˜á2·Ål×Ìk÷šŽt\yowE’æ9)bz^EÁ0}ŸÏÏQ” ù?†“ù<: ×ÿàqÀ¥¿z]l,€­m‰P5z Ïú|x·7?`4hi4ˆ+ ' óÀlGifLµ•( «”P}0q:‘ngàVí,€,kñbyi @Ö*aäaM¾€«ÂÈÃÖèä1ÇB¾Ž¬ {• [–2jdU€G³µ§H…Mzº‹¬ðu6>¡Xô+ƒE˜'oHL€‹´5‰+ð]vi¿§`Ã<Ÿ Ëõ`c­kPµÊûžó»ˆ÷Û®Ûf6õ,ù-ÇðMfY®izÌÍžóË÷t][F$¿d. Rä»§[3^pn6–hÙm×êÔâͶË-a™‚™Œ·Ÿ(нx*î¢8;¸ür‡‘‚ 8y“5Tˆé©¹zDç·}æš®Ûdõ˜iR— êqÃo1§í÷ä8æ£Q89=>ÓÓað0àI0¼û SÄs‡m¤RëÚÙ‹]ö@ƒ6&EÒzêúFޝŠÃ¶iq»g™í¶Ùô «iºMÇ¡M¿Ç‹÷<—«-#ÁH¼óÑ §Y|´ÑÚ2-×ó¨h æŠVÛlyܲ©è I.f[=òcþð$£ò˜`w9@0á 3Qu-­Èa8;N9+uøÒ¤°LÇ–DÑôeTäõ,ûÍžk¸®cpÞÊŽÜ—wî‹-?/¯?E²Ç²×äuÖ8Ød’û~÷býûW3Öi¦™¥¬E¶‰­éõŒ€n• F‘Ca“"ÚœÒ5áÇì=Ñ2ÛÒ•µM“·Z-ÉùmÞ³ Gº3ét\¡#Äjÿ=J Q¨£E¡¸b@ÒÁìàÅÁ½´¨ZR鱦£ï:¿¸=}wÙùqöå ÚöøûÛI šu´hW,½9¸è­'úeóëYïºu€ÈÈYŽŒþ-6œ•Ó˜Bi³œNåým -cI ´˜îâ^³EX–»ç-ÂkŸ›ÓÙp‘·–·§ç{ÒóiÙ~}‰+Ì—måŸîëÏo«–*¢!½Âm~|çƒå,,ï/õ0n×0wä}Í‘WØ5LEy?ûï( f#ïWZm|.#ü±÷Û 'Ë“œV‘ §/‘T‚äýmœò=òþ>÷R@GÞ¯4ØŸK§¾|Eªìœ~ »…†Â?òþVƒPä¡eŠ<¿ø°‡z:”–&Ú;{ØCeJµ”ñ9È…±…4`UºU¾GÍJKŸ­îg…ŸR6”bvíeu`C$÷‚;–/|¯i›^[©a:möhÛ5¨ß4Û>õŸnE;¾£[=U¹¾ þ%¶X ® fϵhÏnÙ^³çØïÙ¾a2îØm“×NÁ0ŒªüÙ þîÖ“) èC©F¿¸bZ¥¥Kõ‹Óm m’TEµÇÍWb¨‚‰ Ùœïd»ŠX^Øe›Z8”mx:}·¸£q—xæcëbß;Cw‰à¾¥ä:$d誄 ®P€QV•]p…–1>ÉêoíyébwÓî-ˆ_Ë.óÓÇÙ‘äLùOôúAè“©VsÌÜ©/œNV…áUº¢jƒ\d$i(ÓO;VYdô[(ÓœãÂÉOå'Ý©ƒÌOÎ_ÎŽÎ\(n¡˜Ú-ÔÐcÏ!½‹ÇIŸ¸Ùÿ9 uìÏ9õ p‹†æw˜™â,Ô(9;¾¯ÃÌw¡FÙ1ï,RR‹8٤٫¢‹â à‹’#ß›Ãå,ÜÊ}B¨ZéJ=x”IÐ öâÅ%ô 7°FÙ€QvD\M¹`1`™C|§ÏɥРðoFÉ!ñù–¯+Kw›¬¼^9f_\sÖ:»Å xN£äœøz¼Â×ÐN/i‡¬+!‚e£ähxÖñS,+¯_Ö`V__L1]ècuý- ò6cø k>V9eÖ˜snY¾¤·m®1®1A®ÙŸ<ôKh™~ÉcËCP@ýƒšûzlRª—€Ž¤Õž©¦é Ûõ¨0¹ã˜7¹h;‚yVÓb=Ê ËfMê5-¿Õlòž%#KaÏ¡í·23•:ÃJô¿Q(a8 cì*8k'Ë^4‹ôÿ"Éès4œJW“æÏf³‰]U(U†Øe7{Ü´Z¶ÓfÜl÷8õ=Çç6µ¹Ë3<3obýÙðÍЃd”×ÿ.ú95š¢.›}»4ÚjÛnÏuZ=ƒ¾kzí¶i†ÕjÌSã,7šU0Z­&‹=ÍÐF¦¦±î»<hCPMâúÇûËÓ·+aÙ.NÔ¨®¶%ç§7µ(’ƒX@x§i' ‹¢0MÎ`*ÛòX‹/± Ç€žÕô ¦«–ÿ;«_fé:¨b“ý´üdÿ/?kÎÝSíÜýò ÃÎ…fQ$ú±'pÄŸjGü$v_•ŠÇ¸TMà™¨ºP@€júÏOÕ…TÓX^&Ù¹Óõ¼=TÐؼ¬²3ÊÇ[ °–¦$ ¯¿ìÅ–-<ÀZš¬°T³Gš¬|¼aEj²¥k:»|ˆ(PM¹`ýÎÞtrª"@ö€j²›—zöfÕvÓ  šLÀºÕ ýõT%‚´ ¨µžàŸrt¨¦ƒðü•Ã( Ž@·SG €:µJiùW5§( @ËÊDkæö˹»ÉõHÄ›c¢ TU@cÏœwîL2äYŠ€ÆŸ&¡€Æ¾_©) 3PM˜ üQ$¦( ÷@5½4þiDŽ‚Ÿ%úD=$Å‚ÈNSØ x-êü´_vþrá½}¡¾Ëm!@$+ÖX¸˜© ÀŠç¿XôïéâUÐïߣ*´\E§¿–Gë VÃý|¶¬¬Ðb X¥ÄQªÍ¶ ³¦±FÜÒ½(5êFÀá(EˆRiæ|ŽRu(Ç$€L-—IxzL (-P”ÒÂÓË`R@s€êš¸bnÕâoJ5vx‚8ÆO eþ-ȸAF ÈPMöY,@ͺ¬À¦QùË )ªK<³ÃÔäµ:‹Ü9ôÅÏ]€Éjç0ŸË¡ã¼I¿ÉRfoÀLég}¤o~rx‡Ý@>Z¤²íÏ¢ñNϨ0@¿‚5·“Çïóä"›}ÏÒ)ì²ýÊÃ,ÖćYkÚïï©¶yxÈšøU E®ç<~±Sä2MÓ×8±D÷â¢"»b1—ÇÀ¬‰_6Ú„ù?»OË#O¦ë™ ò:/<Îv8b·u1@Bƒi×—A’þ¦oÖ6Åë?îÒ7óǬ9”:Šòx–éʸbË#=¶¢¸QIBºL×¥@æð+ê³azt´~_|/vT¢Œj®X€giÉ·ÿ¢–4,˜®a±)+û%- ˆI0ML"[½›o If ^ÙêWPˆý'ù˜ºW¯g‘ú ÂT”gj6 „˜&t€ëÊ¿¿í`¥™ d[ièïkÆü?þ¶Hs0MšãI{êù*ý#›ašìÈF~ÛBåŸZ#LÓyÌÎþ[åê= œÔDZž¬÷ž©Ê?e˜¦(ƒ,ˆ…5]˜½=f€º ÓÕ] º}HÐ1@Ì…éb.y¶u7ÝݼK,@ä§ µ ‹"U•Më_Õ¿á")lHJ…oxØÙÉgÜÁph§0M;Y,ÀxšâIþ E"ó•!ç ³Â4™|‹<Á3¬Ñ€ã7—?RÒ*0lEf.© dkN»_nn¼ÿrS,<Ò|Ô%`'(À,fkƒ­Ÿ:ÝÓî÷«ÎSˆµà*så`q…¤cZ›Ùa¤žèGžH’(®¼Ö="c„L;óôû—¯ÝÎeçSçs÷ÇeçCçóù+‘Böëír ó;cÃÓ…Ë’EÓL—R^^²¤EÒåÔHãäƒJߣVÐ2ß#Ë{­Ÿ¦££Fãáá¡îG?'²íëQ|×Èž(â çùõ,M¢u»Nël†Ìü‰ú­ÞyòÛÿáHy” ää®1ܰrxœí]msÚº¶þ¾…6ÙÓv@²ÁvÚd&Mh›;i›zzû©#Û"øƒÙ¶IÊÙsîo¿’m^^Ë’œ¹;Ói‚ Ò³ô²žµdéáíïç_κ߯:¤ŸBrõõÝåÅ©6ߌ³Fã¼{Nþûc÷Ó%¡õ&éÆ|˜i yØht>×H­Ÿ¦££Fãáá¡þ`Ô£ø®Ñ½iüTeQõáâÏÃtá“u?õk'¿½Í*ü9‡Éñšb¨ã8ù§³÷ îË_‘r¢Þ{(þ÷ǵ³h˜ŠazØŒDxù«ãZ*~¦ù‡ßx}'"=þÚ}hײ4HCq’Ä^#ä“hœŠP ä§’å—‡¡¸C¿Þ'·Ñ8öy„âm#ÿðooÃ`øOÒEï¸ögZ÷’¤Fb×’tФ/DZ#©U`QoPu7 CÜÈŸÈ_~pO¼'ɱº.by‰/]¸TÕõC_ü¬ç-ò‰CrÅï$"~Bþ¾¥oÊ>]îE|ˆ‡¢”3u|).¢‹ê"æ±×ŸÅ|œ¾F—À‡Ã(å©ð‹NÃd`D¢Êí$[Fþúýð|CY¼|/q'ä<ú9‘Ý"G£]§uF‹V üãÚߎxÚ¯õª Ùë“ßy;³n[¸§zºv2ƒYa­Àçñ¶ÍÚ–O¦Ã)ïÙÂfŽ%z¦gˆžëù./ Ëq¤ ¿m„ÁI•â-›;VÓ°-f´¨!\CÜŽir«gÚ¬W¿'i4¸ £ô€È÷žLäP%ãDA$‡ÍŒäÍ4Þ‘‡À¿)éE1¹N½  7‘èÏ¢Ñ$îú)yyöа&¥ê–ýo΀qxBóK[#t“LS ³0"Çrqÿ›ã(ŒÿD£”'Ò7Úò²LB)‰N¤ŒÎ"’¡¢€«„Ã.`ÝËåXÜÄŸÁ?|@^„³ì„µ“šðJÃë¦ì'Œ}òÔ*”ò ‡1à{@„;èí8ôý„ÕÝ·'$}Éc)¥ÇÚÐeÙ(,j’§ÞhVŠù8?–€ã8¡˜¿”Ð"”ƒ!“zÍÀŸ_Ðo$ñp-rgè4yšÝ“Òn)-”Z ý)ÆLGRÙ/kÈ;o:žF¹Ù–Î1cKL‰DR‰ÏÓ;ÓVMËW´¶ƒØÄV‹º§‘Àõ|—ÐÁ•äc9 ;MÄ[6v¬¶f[ªf(q5¢a‡8ºŽ­@·Õ ¿ê¥‹ž` RQùŸ\]4™MÑkôš ú«Þ4£Éx^´à‚³x+šfdp›.ߣÇп'IŠ®è?A¯sÐë‚è{Éd–†÷#ŠÞõÞ#µ­(ûì5ÿ_Cý1ާ$BýÐ0Ü—îD÷½ñS{ŽÉAo ¢ŽÂ MÒä>Åc_ƒ””%}Ä)9D£·¦Ä3š†.„,Rð1_ÿ× ƒYsô½%ˆL¹SDGQ’Ž3”ùÁoŸ¿”ì¹×ÔB]„‰3‚0 ˜µ@&‘ó^cô6½-ˆžá"!œO$#m>²rû(I·ò‡ƒÞDÿSæ)J& ð{ð‰Š ™X`níÞï•v=z¥ý3ÏZ…õŠ×nšµÏ“ÓG¼27%˜#0L’Ç’@—0>¦Ñþ–è9\«ˆr-àD_χ/¿ Q÷ó-úÚ½¾î~ÞN:‚¬‘RŒ"O¢³ :c“`Kô®UD¹öSÿº÷àv?œ_œoÙ4<;~îßÜ ³ËkÔEƒîõð¼÷å¢{ Ußõàò¦á†|@Û¢çp­"ʵ5q1È:D!ŠÁ0Êj¦oSô®U~j®U8\«ˆrí-iþùh% ªGÂðn(c  ®mÐs¸VåZ%yòHG€ò9ü€—œ(f‰g>¾´ÞpO󇨟ɭ-Ðs¸VåÚã9®UĸöÕV*‡kÕÆ\ÛBxOE3ú¤{•õª(×~%nR"³1ìyÑÃeÿæåu+­Zp“¼;ô®U·¨kO!7;Dm½¥(-(«^ÑïUת¢\;ÿüQ$”‡·Ú ožÃµª×îî#7ƒÏ![ulÅ„r8P­áÀIJ€+<’eI*u~ ¨ØtÕÜ]to!ì_ô?õ?ï—Ãáùð¢÷±Ù€9 §Ö0Ü*¶y·5è:HÞ%zé5 ·½X·jRk¨iÝ ±M}‚Þ~›&ô¨Õ’ï£ÄÅQkT44‚¥q8G«á¬ÏHº*—h5\"€ *ží`qHBS·˜é'vk5±ûO2{LR_êäÇh>ü}"-ï™À4à0¦Ì.lIåkà'ÒUÙŠ²©[Ȃʕ•¶Ðã(šµ¤Îó½ ®èè8±]«‰í[Œn±*»:¼!dùS–áÂÊÔ? ݧ³VQàÃ?ÖxõµX°}AºÄJý øLqŠ%l-®Ð d'Ùð‡ÅîH¾qà ˜Å~M3cåaûüÃÝi¿wõ97]•;7s{°…u\Ø#¿±­ÉÒKç’ò-¼C´g¾$é•89Ø.rýAÕµ°›Qæ ÈÅP3 `Å=L”¸ÿ&ÌMò•!h~WŒ)›e”Œ Ô+}º²2‡ŒµU2þKP*‡$µU’DèêîòÃïýÞPL¼Îa½]?¸¾ô¯‡·ï®nhÊŒÏì®ûÝÓâÛ×ëóa*b:„£÷‚084£+50Π<ƒÆ%ˆüÛ;) ‚C*ºZ¢—DàgLÅ·…>ŠÃ¥äM¢ 8¤¤k<Íd0_=Jü³…†VZÈn–ZEÁq8E×¹›c®j®Ú\ÁÙX“œÐ®/ƒÝ¸ØsRÇM’hº ÐØ…¸4ˆüx =k…Í©?ts7°!ÉXÑ|Uᢀ9K¯Ië7s¡`ÇœÄ^wÖ4µ¹kò4®C*FH¯D–ïþ§’+´7Á)tÌŽß &E‡yŒuæù¿µ^ÁZû/¨ÕKâl¡Ó9Ñ¿ÅãÉS°9´n¬Óº XQëDý£;2‚ʲÃFŧÁ¡d£BÉK‰Ò»÷›Žrϳõ¿6š%ˆ’G©“:Mã¹mÆŒÐß‚Ð9„mT{‘\í8“,œCÞF…¼×²WÑ{.Y| &7*L^Éßv>Šå¤O| œJǰ6£’Ô½Úp¶0'k1Ö묦)á+•‰$'C2D2¤—ÈW3§ðMNRaV’ 1±3+<öádÛŽÉá;³–ïVÌö„þ³Ùòjtc•°« Àäp¥¹Î•ÂÐóp(=¢9pFcÂÀ9Li®3e#ÑO}9sø^^ìŠâ禹N˜Âø—)ã5 ÀaKs-à;‚C–æ:Y6GÎ-MÉH<‡MqV|Á ×(„s˜Î¬0X‹Ã/VmѺL)aøåÕ&ñÑC˜Ò)ÔcBG‰ß,;Yµì´p÷â~Ñ.~2uYÝ+RpW×ëÅNà†ß&XqÕS5Wu Õv=¢zfÐv pÖ’ŒÕµÀô$Pýžós’d›ëÚª_%q4{žGûè꜆âÕ^ù(àIû½@‰,蕇ȭ ‘‹‰å¬µJ²Yxã(\U³8DhmK„Léa÷F8¾µ8`qhЪР˜X9Y5…<¯q¦ ÍÓl™ÓâŠUK(Ë1LHJgvÆnã¬ÔâpƒUÙ™*“ÈbÉB°N·Öãx‘m‹ b]Øœ˜nW¶ÀŠT`i@°#Nœ¶+›\ÅXVjtÁ®8Æ®le•cªЂrB]Y»†~ ~`?ýÇ`-¢Ýq‚’-”–£Ëx™ ž«OALœPcojlN¨±kóàWJ9lN ²E’Ú)Ç2s4O8|ÓW]ÝuÛª£xª®+®Jk¾¡:¦€ÝðdÍNI€§íÆ4ÄQˆ3pÉaLù ü»z’‡-Ìç;L9lN”¶E2øïf)C·\ÏSˆIT—¦nxز0ºÉÞý?þ‹ˆª›ÃW¶Ø䚺¯nÂÿ-ÔI\¢èk)mØ^;pl¶¯é*vlSÇRgÆáx:fò¾¾Cïs8ÜêˆmòíH¾ëk¸Ýˆ§ëžcYŠÑöL—Xšê×f?ã§WU'p„×ÙÏÄhàíp’GdñµBIë–†²tðTÕoû3yåa¿¸šë:Æm´XÔý‡ò ­wWŸ˜Ëù1ÚË•#Zbßiø@ÄvBçåa^g–%¢hO{‹šç†½¥¢,|D#‹Ãɰ‘•Ôïb=bè¦fµM]dža(žeâÀÒx]ÂVȺý¾‹9I£SIÅÄrò>§v¥uyRÇI|ðÒ2‡“+:›wÇÀqÅîâC'Ct^Ø#dX–öwˆ“9•DHL,‡ðš_,­„àÏÖ”v=·Âùʃa§ç7Ýý»Þåà–—@½Î“2bÏ)œW³Àù•±ý-æ ç)p~ÕXbBë3œßFh}¬‚óÛ­Tpþe_]û1Š=@³šüèùuBówô°w -5ÏßèSyÕP$„KHî<¿·)Æ ÆW¾=êù§‰~ñ6§ü¸Ëo·*ßò”çõ回ÈÊ7gÉìÊΛÿ¥ÈB õõ™x2³tLÂxœí\ms›Hþž_1ËV¥—-Ä;øEUŠ,o¼åIJ­lΟ\ ·ÙÖmí¿@²$dfÐÊI®êT©X ÐóLwO?Ý3ˆã_N/{ÃÛAè8Bƒ/.Î{H:å¯ZO–O‡§è_‡Ÿ.Òj£aŠã,¤aãH–ûŸ%$(ÊòããcëQk%é½<¼–Ÿ˜,…Ý\~= Kw¶|êK7Çy‡Oã(ÎN6ˆQÇ)îί%؇?cB1b×oÓðáDê%1%1=Î&DB^qt"QòD‹›¼N3BO¾ ÏlI!4¤éd©'Gx–L)‰ÈîÊV&Qw|çYäO9C‡£:Ä„VΛ£w$èEô€d š!>bˆ³lœ£4,>¼¿úXÉ lt¦~è2 X’3D€°hI/¨1zW‚ÞUD/pž ßWþFg)Ð!bë´‡Xßg”<‡ÏÈZ0«hì¡4Û*r< zOýkÂExd(Ào &æ(Uÿ‰¹µû¸ÇF=zlüÉY‹%Z‹U´vSÖ>%'E°‹a2J'#˜$H’Y»1Ÿ =§ñÞ–è%Z‹Uµp¢ÏƒóëÔ»ú‚>÷îîzWƒ/‡€“Rø–=²’E4žÄ‚쀪‚ÏEl‰^¢µXUk?ôïNÎnïÝÅåÅà‹Hó‹ÁUÿþ]ß¡ºéÝ .N>^öî Äº»¹¾ïC"Ü3VÚ½Dk±ªÖÖ¬‹a± Ã*D¡òŠâ¼&}›¢—h-þ£µK´«jíÓâ;¦h¥ ˆjÀ¢Gˆn(W` ¤ ]Û —h-VÕZ§Åæ‘åÓòQr¢Dl.Áçzk ô­ÅªZûßDŽDk±šÖþGµ•)ÑZ³±Öö¦°¼gª;úßò½)ÑZSUk?3?8ÓÅñ øÁrˆ ŠºK”V-è¤ï½DkÍ-êÚSØ› £Ý¸eÕ¿÷¦DkMU­]¼>•ÊÈ[F#è[ —h­©¦µ»{éÍàKÄÖ\[5£ 4k4p’1Њ€åyšiÝ—Q[ˆnOn./®úý«Ó‹«÷çÍ8JDͬµçpÃÖ´`ù7Kt̬ѱ̀Ն•Y#@«Ó–ñ”2ôêÛ4å‡O'¬AJÙâŒu§>‰ÜQuZ~Gš¤[õk‚Þ’elÉ–D¬]øÊæ³4£Z·øŒd6ú¢h‚˜¹!Q5qéTœ÷k·U+ʧ~i *3QºA[BâxÞÒºO}\UvݰÌm\V·œ×³¿„«úÕÁvƒUž®7ór™~ïNû'—¨Ù  ¯Ÿ“„Æ,/6Ù4 C–ÁRÊsw(z‚4+Ž^ò¢üöãè«8îb㼜'Ë%%ïIäÄz.'?­JVyëù*ÐíÃûÞéûþ@Ѽd½·jÖûŸóWœ²Õ…j·% eÛ]ãÕ¿úøáþu£xI:,Ä6³]ÇöÛ¾Óö:^à˜6¦.mf@Á»åå÷âÇ?è"þºwÇI@°I;†vŒ€Âuرm×À> ,#ôů ÂcÞZº!úé¸Ymá2ô±ü*MžN=š;u ÿ®hQ‡Œ˜!6 \h:ÕÆn›¸ÓݰpbÇØàÄ ¯=–ŸÅ„÷²,5à[§I»æë{žÝ¦5¬Ð…ðÁÌñ(ÃF}æ›_ñÅÊ|ï'°H.+ò­S©]óµq踌¹¡åtBßÄïQ³c@ß|j–|Me¾AÓùÝ™€*ðeÒmÜö°íB0w\?l /Ûè€:AÉw]ƒÅ÷4ʃ¦ù['y;ç‹]ËîfHÚu=Ïð}ÛôMÚö,‚Û)ù¶ÕãùÛTüÓˆoï|½rÜæØõÛmcì~ë~ÇÄFÈÓ0J¾óKÆiBñ­Û욯„¶¹J,ˤ¡iÃ$û¡ãx zmÛ«Ö+[™ï;²tڤȷ®ÜÜ5_lÚå¡X/ à‹‡A‡Y.î¿äë(ó='qø“³"ߺMØÎçT'ðlætœ€x~@=úŽaš˜Ñ¶E*¾®zþ~e3F+ÆŠ|%erÇ“ü·b)eKJZÛXIѬ¤¨µñªÙ?¢€zýFÕm’²Ö6ÿL~KbTÜF¸‡6•Jâ®B­KS¨—XEDÜ¥ÃGÇ®z‡˜%Cèº.~šÆ‹QòÈ2Îèñæê-$q¾0®Í’ÅÔ Û‡èoE’jÞ¶ëü' Ò“û,¬ª““œÛΖäÊ„Ú9»Ë¬:=Ɉ½z Ò,ùwNï¢2¬NP"¾öªøª™u$Jë¬)í¯ÖŒ|›5Ñ(²³¦È¿œ¶Ç4¢ ÷–"õוEu‰v$Rê¬I©*°"m_7Z:”AKtÅYÓUÐe6*£.×eØÝrju«ö"Ëj€oÊveàÅsVOѬD‡œZZÎÉ$Mö'Y:Vs4f|”Ò¦ *‘ g[ÙðÅ=œ›§QÎI€öoìªu‹¶ê¥:/1pÔÅà9茑¸J…]•,íÎÚÒ®ÿ4#3ÉyÿŽ~uCo'å‡Í{êçNA·ŸXÀÓÌ{èöáÃõ§Þ»Ëšê¶Ë•襻r»Ž’QO¢^Ímœ+÷ „²Wr/ÔÓC’‹ÇÅ“’KÍ‹‡×  SX—2 éݧgD‹[ŽRõ¤êÓÝ—´|r´¸ÉxùIÚê‰ÒB=ª§J"«žÒÕÅ•Ýÿ½u”× ùù•x3«t=xœÝ[íoÚºþ¾¿Â7“¦mjIœ@^ú‚ÄZºVêúʶß>UNì@´°Ä”¡éþï÷8 +;Œ«;ýøPЉŸçø?>&9úëôúdðå¦F|£›ï./N¶¯ëŸ­]?œ¢ÿ>\"Ü2Ð #Iñ(MH¬ëý+ i#Î'º>›ÍZ3«•fC}p§¶°è\ý»Ï—z¶(§Z÷ÅQ1à÷qœäÇÌ`ÏóÊÞŵŒPx3N¸vŸ}›FÇÚIšp–ðýÁ|Â4”ŸŽ5ξó²óa0"YÎøñÇÁÙ¾«é`„Gd ÛÂ-íïW^Œè±–Çý á#­W4Ÿ»/:šÆÅ´-}Çb6Öº?aj,Ö*|4Êl×´Š-Ã#˜„.sMÏaa;°XèÔ'tùb¦ £èÅ0üâ­ ÁÓÉÖj¸Ò-%¸µæ"δ窶åà,‡㮌XZY²Êƒ|Åp˜‘áÚÁK­bœÂ= CǼ04¶ù„$Ë×%©(ÂGºøªûê%¶Ãg—é¸C»»W5Ü‚¾½)Ao* ûíèÕ½%Ao)¢¿=™æ<ßÄ)ßCp #ùMs¶‡Æ)„M‚&ð%‡C³ˆGaš¡[þ;èÛômEô'édžEÃG¯OÞ ÓÀxOü5‹¿êI2e1êGÁhD _¶ßw$è;täØô¶"úÁ(ÊÑ$K‡#ø7ÌCyòÉØš§S@׌Ñ({yuP¹¨aÈS’Òá´*æãì·r $Ž“œäœU%D*ÀðL”zÍÀǯÛÛè¡x¸ùSt˜|ŸÞòzœ»ƒwt´½]i1dû˜ÜmI>ìTõŠÅïÞ/½›DE³Íãuz0;<êTøX˜ÞØ®n; šG0 \îêžÃ“<ð)óIúŠ€ü®…=¨¥[TSÁ/> !òdüˆµª®TK népÑÏ:Oo¨Ž=ô̲|QéBue‹õU# [(5HÉ펃&æŽBÿæ…nb2‚Nið‡á€5“xþº8é „ð»®8Õ{ó¶µ½'—ÑdTÖÑ}»¾¿ªº™øôº½®€þí[´¦¿¦è zCýe’åÉè"Jò-×p’M¡w¢IÆ·Ð(n£1œÌÃø݇ì–ç(HRt™ÿzS‚ÞTDßOÆÓ4¼æh£¿‰t ã-ñ¿^üo £‰'ä¬ç(CIPüøpö¹ò1@q&~RtRgX^xŸÆè] zW½Ày,ô}]é' ¤i ñΧÜx¿‘1“¬c %i«žãIÐ{Šè7H.ºGŠ’±¼ }bŠ"pé˜wÖßï±Vk?ó¨Å_‹U|íªQû88 )ºÉ0ÃB#Á ¹Šù\øƒ`mµD/ñµXÕ×NôÇÉàãùç:8û‚þ8¸º:8|Ùœù0³üŽ—R„£q‚P0:`>‘OÅ h‰^âk±ª¯ýttÕÿpÞŸœž ¾ˆax|28;º¾FÇçWè]\ NúŸO®`ruuq~}ášóB ¶è%¾«úÚ»¬ƒ9We5÷)z‰¯Å?µ¯Å_‹U}íp¦ô!ÌSÀ©RÞA P ×Õ½Ä×bU_K¢¤ ùP>šè%'ŠñÌ ÏMëoãI1¯JðYw§z‰¯Åª¾öïé9_‹Õ|íß4·Ò%¾Voìk&`ÞÓ]UFÿCº×%¾VWõµp? sÞ'BóÝù.þó.1µÚ›ºëC/ñµz‹yí!p³]¤™;ïÀ´êû½.ñµºª¯ýý^Ê]Èw´FÐ[ —øZ]Í×®ï¯Û ¾ÄÙê ÎV­P‰Ôk|à8åà+(ϲ$íô~ ˜±è²qsqpr68ººùØL@‰GÓk<ÚS,³jkÐT(ùGÐJ<˜^ãÁV£€U«Vâzô׳Ø`1&Œ£7ß&I¾÷X¥ ã³Ðêm”ø$ºq‡Uü´ü-‚™¤WÝ×½!q=†Ö¢`Ôx„¯|zŸ¤¬Ó+~£™0+uQ‚s1‹è  "̻߹¬Ž¢lâ—eÁœLLÚàXL¢hºÓé=Þ+àªJ'ñ†ÞFeu†¼^úkJràZ¬œTB 0ʰz3=‹Ñwzòþæð¨ŠšV;Óütjž‰PyÁ²ïÂl›ŒÇœÀÔ’rA¿³òn4N@ýYÙó%–à•4'q"ÆS'ò§b©Ûn<µí]Þ|88üp4P,^bå+ÿÐrElVîªUlJ´ešKr}þt½Ñ°3üF˜o`K·H`û¶«q;À¾c::7 ×ò ¬æì¦!í½©(B]Ó¬&ñ6Mª{˜Ý1ÇÑ,ƒSۥķiA…Ú¬¥Ñ†'£¦ƒ¨ÞП(ËÎ’xóPTc]\¿5›c‹8†å;žæ3Ïó¨f€J‰A.Õh¯P㪿­,;LòfòÖ‘™õËëqB™­šå1±æé`?ÐM/°@ vÀÍR^G]Þ~š€n oZ¿¼:sÌ Š 6]ßcÃN Ì£„[ÜwJy]uy/¢IÖ¨}ëxØúåu¨§Œ5×Õ˜Æ; ƒX¾°ŽWÊë5hß0¥W—תcn/о.86 ÓölF}âàµ}ÒÀ÷5—òZZƒñf´IûZu¤òäuæ¥VûuI—¥›66|b1LM,Ú21sL†Çt·Ô HWÑÚLDYì×å^v’b¦á¶=Üsày:x-ÛjbUk7à^¢µç¥VÛ~] ƈáëžërÊ —bƒÐÄô-Ms¸¯¹¬Ûn@Á.`ŽÂ›ÈûºÌu°ë»&Ì jhŽÿ\®y˜¾F ÌKyP°‹ðûˆŒÈûº [Ìó)L™÷LÎñL@XºxÐØUû6 `å^ÅòJV“lCZï_ŠñN[‡²ÍAT[´³ƒvw„scSU2I¼Ð¶6ÉæƒT(ÿo¡UaL±É¿ÓcÉÄ72 ,ü7ß·•u#Y¥²ªn:=šÄY>SËe?‰’½!£ñ_›iTYŸ’u4ÛýÿÒgÍ]AE/Ô’UEÛû_i„ —ÊóXíŽ÷é$–÷øâëË´€#Yu´Ÿ­”´]R RáÅwe}HuüÔG¹ü{AòªG•ûŒÄï×ê¾û—ùîîYò¾yWV÷‘ŽdÍÚÑO­X at ã35uÑ-m—í6Ú¼àHH¤³¸˜ÙD¹›«­9[0ÿse™A”Üwz)Ï'i<+st …î¡¿E“PYg‘Ê.›ßõ JU—@BYEÊZ %EkÇ åª£–Ig‘LVùÉkG^”­Ž]BÜœEâ6ó¥#X¿Þ‹bÕáK(³HyžïG»½v9úE+ËâJȃÛf[•+ñÀî’~ÎÚfm¬­+ñ!î’yÖÚÞ%!{°µ<–q¥·þQçJü“[ëŸj!vÙè*#“¸.WÝu- k§Æ|戋2j‰Wr—,ª¨ K§„{‘>)c—ø#w)„¢¬ñÒ|¾,ýv%ŽÉ]Šr¨Â4o?ʘ•e‘8*×mc%îÃ]š1?gã$ާɘ§ùx>LXCSé­ua€®uWl6aa>÷Ån4W×81<Ý*·"x«âþÏ÷?I¢Y“¾ °ØV†8_‚…¢ýýjÏ›²KöÖºxáØp-â2‹›A±&廚ó,#ð™”ë¬Þªµ‰j9 0“Xì²g/Ò2Å«7Š„Sxí8£é ‘lZ]Ó¶qô¶Ê(Ò0`Àx@&‘ð×› 7*ZAOÂx¼vŒ‡¥ä¾¤<¯­ÒË â9Fã$[§š$ôËkG¿þ>5©²çïê—Nשo qôÚ<*åI§´‰>MrNs>kCÅ}ôž„ŽyµtlžmÌ1‘ßxRæI¨”·´X£Øúe¸J„„zy‹Ôëɼ©Š+)U…µú‰5œ_U*B@ŠÔO²áüêP«Q¬¤ÞíÁùg"5³˜Šb5õÎÎ×ETæãŠõÕ[U8ß&ÊŒ% „à|Kfß|¼aI: 8ߊîÍs'E õÎ?¢¸/KRîÀù'Å^OŠ\݈<‡'gÇçMZû²P†›O翼?-A)NJ±$]œo$‹^Ì¢£Vhû™ÌâQXž¢<ãô FR]Øà1ÁuQÝgÈÈ“‡à ˜¢"%fx!ÏŽÚ£ƒX’ÿã%«ÛäÑA,IPƒëÔüÈ£ƒ¸6džz'ø`˦¶MÓ ‹kÌÅÄ1¨­€ùpNls$Ôâ®Ã f¹–%v=:>|“s®Ó*å\µ¿sµ´âA<µ‰u3 ^uý'(ª|o<:,§uÕ~¸}¤}×4Õx¸6ÈZu̱2Ëb”™¶k˜˜i3]bh¾MüBǺÚfÒ­ñèwàÐI ”‘Í„ÆêB¯Çž©í¸GLîëŽC¬ÀÓ5'°4×Òˆ…‰æk¥Ðj;JA賤OèPdzœ ­« Ý~oiC¡)榋ý€¦æºÏtN38…& »jiµm¥…Ðq?ÉF<i%´©.´Ä4êÒ ¦ªŒ€Û4XÖæ8XZd3Å’DØ®±I 9qyÌÂAWªK \|/ ›½K¼-lîðìÝ]K/ 0|iu{ïI+2ïƒ<ÕÛÚ“³òíiE®ýù·ÉUoU+V€ª7«= «ÞT×Wö~ù/d3Ÿò (‚(¢C5Å sÄxœÝ]koÛ:¶ý~~Ç(Ú ±MI¶¬¤ ç4÷¦“¸§ÓO%Q¶fdɕ䤯Áü÷Ù¤ä§\mJur2c õ"×Þ|¬µIšzÿ·‹ÛóÁ×þ%¥ã€ô?ŸÝ\Ÿ“ÆA«õE?oµ.äom¶É faâ§~² ÕºüÔ QšN[­§§§æ“ÞŒâakpßú!Ò¢âáüëAºòdÓMÝÆÉoïe†?ÆA˜oI†Z–•=-ïåÌ…?cž2"î=àß§þãqã< S¦ƒÙ„7ˆ“7Rþ#Í>rF,NxzüypuÐk´ ‘ÔO~’ÄNkDiÊì€7Gä!šÆ'W~Àß·²[~{øá¿È(æÞqã{Út’¤Ab7’tðdÄyÚ )dç(n9´r¸väÎàë?'`Ir,ÎóN±µ7"›<ƒ¢g4ÅRpxœå]moÛ8þ¾¿‚ëФHbQïJ©“´Ò¼º»×OER±PYr%9©o±÷Ûo(ɉc;"¥:Ùî]PÔ¶^Èg†äÌÃ!5z÷ëáyðåâ óQ„.>¿?=é£Îv·û‡Ñïv‡è_ŸNÞÑÐ %qæa“¨Û=:ë Î0ÏÇ»Ýîýýýν±“¤·ÝÁU÷»( ‹›«¯ÛùÜ;,gÞ/ïŠ ¿¢8Û_Q ö<¯¼»¸–#ž$®Ýæß&áÝ~§ŸÄ9óíÁtÌ;ˆ–¿ö;9ÿž—7ïÑ!I3žïo».’‡yÄ{YJ»c éÎ]'“”rtFü]·¼à—wQEÔûoùͲJy´ßÉòiij!çyåPqUŸ¸@”ß­Àú ›Â ïH–í‹ã<…CäÉSQMUO3þ}§”ú Cä‘z3 Kò½º»‹ãÉOïB~_•ÒÇÐ~„?tùff÷G懤φ€ˆ7cßu£ô¨ìiy>zäñ£ÏŸòTÎÅ9r›ŸTNjäó˜ÅÎh–'óa~¬œ Ã(e)wóNƒ€H0<i€ŸÀ3ðçoäï<„äá^bÏÈEôc6ä!Ô¹^“65rp{Ñw!{<˜°tÔÈó'äñÉo„¼Ÿ²ØV®ñ€' ˜ 4r|®ëö´®éR½m1ʼïi–É=Ãѹg;®ÍrèP[ä÷­À?\Z2›¾ü#H£Ékž]æ– \á´¬gõòs+u3ËAd»‘a–ÈfŽy+H6Òõb6ÃyðÅÊY¨á\z'dc¨ÆA>Nc“ Wï £  „¾o‰K'o~§ÝöÑÚmN4Îòhííî“g77A¯!è5ô{{dGŸªèu½®ˆþî|š¤Ñ¸µhŸÀ=œ%3¨Ÿdšð}2Ž Ú„DV1?’'ßò”xQLîÒ_Ao è EôçÑdûÃQJÞž¿#Z›Ò}ñ¿&ÿ×É嘅SKß<ïÄ÷}çUל.‚¾«ˆ~0ò2‰£aÌÆ¾z1ç$‰¼ô‰ÅüÌ¢)qàј»~’ƾ=M9ñS¨cn êT-ß›UGo"èMEô€d “tÄIÊãqB"OüýÓçœe@æLíÀwÈïð0á„Áâ 0ºäŸÊè{úž"zóJøû!÷7¹ŠÀ&„Ó>á>\ yÇDŸ[–›±O¢¸Vͱô–"ú·,Õ#&ÑD~ubF õææîë=m—£§í×Üj)µT…k·µÚeãt ˆHQMFÑšÄ É“bÌæ‚¼i°_=µT•k'ùr=øpûy@N?}%_NïïO? ¾ÎtÁUþÈ3+üñ$ðÁ(hS¤3Ñj¢G¸–ªríÇËûó÷ôìúæzðU4ëëÁ§Ë‡ru{ONIÿô~p}þùæô¬ûþíÃ%4„Î¥AuÑ#\KU¹¶¤_ôd‡½ q—$%Í·*z„k髿ZŠp-UåÚ¯@¦ ÔïÀ%#ˆT€Tî?Bí†h$uÕAp-UåZDR<¦#@¹ì~ –\{$Â3:¾ÚéŒíƒ |ÒjÖ@p-UåÚ¿¦æ \KÕ¸ö/Š­4„kµÊ\{:…î=>TUô¿ä{ áZM•k¿p;ñSÞƒOÌIW«øwGÆ]"´jÂC­Ý¡G¸V«×^€6;$m£Iiªg¬÷µš*×Î?d‚òòf»ôè®ÕÔ¸vwŸV5øÙjd«–(ÂZ Nb\áð$‰âÆÉï¾›GîÎûßú7·ÐQ7…—ß>T3á4­„ÓÖÑ̳-Á `!å_˰˜VÂbÛñªe‹ÐVB?›…:ÁÔåäÍ÷i”-‡WÈåóÖaÙ,øÖ壨ٱÐd'ùsUÐëýè%ôSЉ!oŽê@B8E/á”RH›ñ¸$„(ô¢(…Ä~øI=DHç¯ë5úé“õ’>ù_|öÅnãD“¹1[ë°<M½Ïü0E"j2‘ƒôÇ»ü,I¦v–ÄÓ"à†s! ‚Y³q²|VÀUµé²õ:]¶^Öe—[j'i Z§¿œ•-Z@éf3#Õœ-:Ï›ë³o—ç7¤VÞó2@€Äò[ˆÍ &Ê2Á+qYʈ¨×<ÃÝ‘ýOar<+¥B>r¢ël·F:¹5ˆ7¢1‘Ÿm³'qãc†lñ|æi¥²FQ_'Ä?SEhK_§-Bî¾Ýžýßåù@-yéàv!ùþýmÿò~ðõíÝC‹Â©‘ûËÓ‹ìÛ—ûëÁ%Ä¡é'8z§éÔ úsÛ*‹˜!nœØQÌ« ƒŠÈÊß½qïæÉôÓõ ªV <`h;´âÁa)ôpIÁ’Å…mÖÌ/ªZ„ðˆ¡ïТË8Žâ3¶Å¤å•m6-®ª…ð˜a”Ôù>ÉþIˆâË\Q€PÑA$<€®Š»ý9Õ @Ë“ªÀÃè–;‹§ÉˆØò *ûº€#¯«AúRÃDÌ]r¶´~ªà§J‘nÙ(vˈQνRó­’ÖG²!O€9èn©„,*M|ŠluÞ9gU¸,°íhuâ ³~~°°ûÿ³ª#Œa½‹Y0åK›—‡ «ÿ˜ŸR´»ƒ0d§„!ÕºÀ¬ZJ ²RMåñFçTa#ŒÚùeF·¦õ¶UlVª€ªé”ŒWm—ˆ‡Š#tÐÙ¤ƒW¬_¬¥‘½¼;ÙÇܱÃ,­ùbøÕAˆ¶³I´ŠÉ"4Ù٤ɟ,Øj‘!—jì°RpßAȱS Ç¡þöÝö–#Vr&éÂúæ&ë׿ÙÏcBþfaü¡† KÁü<6 ¤oH_Õ!/U꿤²òƒšVF°YÇ—¡^°Ï‡!DS7ÐgrRw&C%r©£•±#Ô˜Ûµí®Ö£ŽéhnÇÒ]\h†£ÙòGpïááµ0‹ÉFZZ­ ˜ÑÖ;¼ÓëÚ¦§S“µ»63¹ipÍÐX‡³ù€¤˜XʇQ<Ûy­Fȗ֛ΪæÏõzºë:]¦u;ŽíNÏò¸e¹ºkȄΟM&Áì‚{l,ç·Ah|€zõ—Tä²Õ Õ”ÇíÄÎ]iÅŽÙª…j*#u/Ò©™PšÛvÛÐ$=ÓanÛ³uÛ¶tÆÚ\Œ8fmåRxAV‰»¨<&{Ò9ªƒóÌue´±ýþÍ€ùȽœÈGïUsÚ[4ð±o>,¢8ÎA‘­j¨¦2Êø2”Ô1º@×]Ã`NúÔ.óLÝÊn·{6;|³ü^ăˆ°Ô ÂR-YDj/=³H‘­i¨öŒ3‹Bmdó(×Ðr^¸«VkÃB0æ“x1|ÝíÔE¶ð¡Z½IÒR?Þg[­¬zñ~þû²Dnv'7c[g«&ÂC¨yxˆ5s¨LDºs(×§Ècņ)ùDíʧöÉrì nypœgíÚåˆZ×ê©õv¹Œ“ÿ‹œŽhv­ ÙÕ’E4ªVªQ7§6©EvF¢z½UPN§“AÔ÷ð lBk}ù\*ë7ËÅýê·Ëšô£âý³ cdÇ'ª«IÓ­«5^Ìß»ô"öôzSÊé‚At.]¢ìŠ 5£‚Ïd%ªäåy‡·[W#ªP¯7q­àêÒÕEâñ~ù£×éND ë›j8%š’¿2Ü!Dë…Xòñs€’ÿØn‡`Q¨×›b—#%b¾cs˜ä¿wˆÙb‹êõ–¼KOÍçþ‡¼…ˆ°ÂÖa¼µ˜ûr".uõÐõ®T¼àá{<ˆn ±Ê}’²ø'ãUeAŒ]ý¡‰ø¾C—"»ËÑÝåEä Q²èÊâÿ‘¥ó"R\zƒìïF·ìïvqýp*öª=¿í£Û ý•ǨmÒC‘ýàha?8Åd]Pؑ͋}¨à¹JݺüáGÁ›øIì’oüøvÌâY3{½‡ŸEëw_²×5=|g$Úó$`³ì’ð«xOÖ[1áï|{~NšMéña¢j%GJa‹8uìðç3ªÆ §°­\cµ8WLùxݶSÈ+ćKë $kÙN[²ÐÝœ,Ïyáf—…19 3¬â DÁlll§ºúÙŽŽnlG§˜(Bˆ†úÖÕà(ß#­²ƒ·ü#ßë7užx¹ßÊéù‹ö ïüó¢š_ƒ´N–¯5”E å/W\¾1ÀÍ^v(_Œ±úòÇü%ˆR`ä/B\ Ë_,Ùwžüöµ±þ݈fxÈnUVÎB·$Üç Cß‹;ðQá{8Ÿàdù¾$U >©‡mv©ûú•juVnóÓqQF{g{Ÿ²¸¹#è5zMýÎÚÒ§.z]€^—Ds2Íi:¾†ÚEpÁùŒÍ4'»hœB&ˆ‡W” ÑC Eaš¡ú#è zCýI:™eÑpDÑ›“·Hë¨ê.û«ñ¿::ãdJbtù£†ç²­øÞ 7_täXô–$úË “,fxŒX2ÉAyÒœ‘}4K§È‡G3D9Í"oJ Š(ÄXІøÐŠÂY}ô¶½-‰Lö3ž)ÉÆy‘ úýÃÇ’A«M½8òÑeä“$'C…Ù!œ4k£wèIô ç9ó÷méotžBuxvßE$‚ëõ‘³l¯ÏkVVc¥Y£Èqè]Iôo0eá‘¡t¿…˜˜¡”È#æÖöã^íT£W;/¹×ª®Ue¸ö©^»èœåËÂd”N KŒ ‘ “_ Þ]} Þ‡/ès¯ßï}|9œt”ÂUrOŠZDãIA¥ wÀÀˆÎX'hˆ^Àµª,×¾?럼¸½ã‹Ë‹ÁÖ Ï/ÎnoÑùUõÐu¯?¸8ùxÙëÃ(±}u{á–^¡¦è\«ÊrmE^ yB‡,Àà1ŠóŠî[½€kÕ͵ª€kUY®ýdšC|ÇÁøHÕ'Ñ=D7Œ@IPWô®Ue¹Ç)tT ;ÊôQr¢„ Ïb|i~b˜LùE\€ÏÛ­è\«Êrí¯‰תr\û‹ÆVš€kµÚ\Û›BzÏöeýù^p­&˵Ÿ‰—G”´Ù öéþrˆõù¸‹ ­ZðP{{è\«5מ‚6ÛG£¥ª-V=cÜk®Õd¹vþùTÊ}È[ZРp­&ǵÛû´ëÁЕVAW“Œ@Z÷Iž§™Ò}…0¸ ÑÍÉõÝõåÕ$ÏåÙÝq¯{÷®$i´ i^lh@ –·Z@=Zõ< Z®Xghœ±Þ|‰O‚^¦ô ÕjãÔÃqkTœ¨K^A"X ì‡¤*A’×+’¼Õãtl3d‚®¯%p9£‚¼ªWäÕ?Éì!Í¥ËѼ2x‘¹¢,/†@ºÆQãùbñ™ï#å¦<‹ò©WØ‚Q%v¹Çñ¬¥tÏ2¸²µä]½"ï6©]ï[”¯Ví=Nðä Çó(Æa¸j–Gxy–µ¨#³P§‚‚an6‰‰ªt_í€cœ&˜¯Ô0V±ŠRÏË,‰Ó^^ßž\¢%νþ.ƒ¼X߀kl”Bþ.[€Ÿš¤Kè ;íáìm1uÍ­åEC”v ôR^0’¾ÊHIZP†^A¾ås“~yã¾dÁÒÐWIýúfzóV2¾ ñWµ§Ú•-v+Ý …Æ%%`—v‘ìÍ÷8ži§ xÑP×V2‡"‹DÀƒÆ*þ-kVÀ„Æ*ÞðäÔëŸÝ±78.>œ_½ùåa²‹nîÞ_}âò”¡’n[MF1«šéiW=½\ý cǰ|Û6lÍÇÄÕAŽ»!qƒŽoÚª«r¦&É4,ÁÄ<þnÞãÉë˜Q¹‹.}=¤ßéûÍ‘.ÌC¹5˜Þ„§)#Ôž¨úeïz¤Y… V Ïï—…--SFmÀžrß×F¿ñ˜l%*Ël¢²LÁ Ú´š­!Âü”/t›i?¿n[“Ê=ôØ«H‘œ$üíÌ2b/“Q¶…ù}ÉËe´ÿ$߬I¤ž—Ó ûôz1L[Æ7€,Ë[QN [<#à ¥H×+ÀSïßħù:èräE¦)ƒ¦ÓDdš­g®k½›»«ãž äÌ[é`­K‡›»ëþÕõYðEZøUžÉVSÀ%–þ‚ªÙóÒ{òXM~$[MAÚ¶*Öhìd R»eIhe¥K¾M èˆÊe¯íº^ÐÎÛ›è@;P_v°+ÊÎ[,’7Ø¡¬B¶ƒ{Ë–jÑû(£SÏô??µE¥ë*àËY¯«œYÉX O®‚´ÛhH(è·|¿Öì©-ôÛƒþ:ÌóæíÓ Î^‹Ïé\ýõ¤Ñ·ÒÍfÉÜ蘳Öú[²rU +d¯°æ¶Ë÷pàš¡êt|¬ûqÍÒ]«fÙê†0”˜ Ù¦ÔÛÙb…æÄYt-·áqi¼Å”!t?éÖ¬?r~¢ò® [¦m›Žåhfà˜^à«¡jÇaï ³ÖÜ4¿ØÖWh®ž«5¹ñÚ­)[öºØzö´STaËb%È{E0/`HÆH>Û”%™¼É„Ÿ-#ü ’¹O£`îÚù(¦ÞhH–ïm¶±e´Í“ YD|GHn=œ«¦½½4}Ô\쵸£§#?Äq>w¡´óbÉÞKõœ÷ôœ 롳aŸˆ¿2Æg½^ãñä໫ò&j­Ø‰goH<)³Ž@º9•Òm¹S'i²7ÉÒ Éè ¥AÍîæ2ùeåö±p­ðSÇ×h‡u>ÙÖu“#Îúäˆ|Õ9±¾äª 8ÜÙàp©ªã íåÏŸEywŠÒ~°¸³Áâ?Ç/K1óÜkn ¿I;M QœJÒÈi?w©Ø¨ §™ ªÕœ˜o…哇@_9ÍôUFXæd9& ¤NÃKC¨§™ºY@ï… ²Ÿ¹@Š8•³MÈ¥A‡Y:þ£N_£éòõtÚÈ•ŸÖúÁzÖhW ¢Ü %gV PÜJ²¬3Â~%FØ1 P9kÛL0ºéàÊH‡™c¹Vl²Üù ;1=' Ï C#4€å‰M°ÒA}ö‚“¯]¹±àʈ…žX Ïf¾Ð×2ÔÀµ5×Õ°†Ö1<ßé_89‰'„Çw^ÔZ'–k&/Î *™¤ßa£Í‘kšÄ³[^.Þsø„³ƒPÙ)]wÔy+Al²­%P)î†J‘3+ÐnÅO krYJÁ dè’Ër®€ˆÝJ"^ÎKcȱW{–Ȱª»ÁªÏ?…RÌÞIâp«+Ï­«}´\õB¡vª™®¯/bó~G¸¢+Õ<—tóô»‹I^Y ÕD×›tU° \ÿùD¦ vë/È|{&Ñ;tŒ0Ð;šg`ÓíhØ×|ƒMg~XíÞÒÐΤ8dLU° \i.w±avlG—¦îÓqáÎw;~Ú…Ë/É$Á°Ò/p¾Üà¯üRRt_·G¬ª`—¸Þ¨Q+}Ø/~µìÁþ|¬˜ á?˜bûüïPäˆ$G&ðx” gr#Ü•ÍbÃÆX3HÐñt_w½ÀuuÝñmÈÉ0±­zJwH( }Ë©z,ë¢ù< ø“»è6&§é˜mØ%‹ƒ£<8Néh›MY-fàúÿiS’@7ýxÄ4 +$Ú6Ô,Ý Çr3äMù‰Í’ü5fµ:„ë͸¼ZìÁõ:‹?ÆàÕº ®o*¦x6L“söÊ H£òð9§·×ž‚}}Tµé ?Ü9áá½-W,wF4ºßª/:U•Yµ‚±.Û&Я§#mÊÔöO~w=gûŸZèt2‘×w‚íTuCçË™(uUN©‡Y*­ªµëü6vñ.æÆKõ>8˜íLS+·¬‰#/ÃÙ¬UlLÔvó¹Øhðaù#¶EÕ$Ƴâk ¶‡\¡1{í¾ÜX† V‹7Ó#ùŸÝ¨‚]’TUN‚o×—×…€þÞÛ°1¿Zñ"lñx/4ëÚnK’?¹SÛ ©ëÛ ÉðxÕîDk?à'E!ê•Øùa±'ì|ŸT¶1ìÒéùþ¬ûņi « vw±ñ.ÝÃù6®KÛÃÅv¼|¤åí‰Ëmz¹¦+·ê}DVn}Üfwvû/Ïv–  wwœv6¹pZvxœÝ\ÙrÛ8}ï¯À0U©ÄeKâNzQ•¼u<íͬ$“'H‚§)R!!;ª®žoŸ ²6‡9ñŒlq»8¸¸¸ç pøÓ«“Á—ë34¢ã]<¾¼8AÊ^»ýY?i·O§è_ïï/‘Úê A†“<¢Qšà¸Ý>û  eDéd¿Ý~xxh=è­4¶ýö7fKe—_÷èÒ“­€J÷·C^à·qœäGO˜Q]×-žæ÷À¿1¡±{÷È×it¤œ¤ % ÝÌ&DA~qt¤Pòø#œå„}œï9JŒÐˆÆ¤›g~{§”b/&ùâëž÷·Fè6f>AçQLÛÅ#¿ÆQò'e$"¥•v]•'¥M"’áÌÍJ3ïæÇÒp’¤S”zqŒ8’3à'ð üûÇÞú$`îEÞ ¦ßfC’@ :-µ¥¡½½Ò‹Qp¤$ø~o‚éH)Ëe'øq÷7„§1o¶¥k$&c¥ûS!±Râ ¢ìÎr4ËT½ãb‡q4×&¡áë$ôüÀÃ%tˆù°GÝ:æ{ŽFl=´m?×u:Žoi¦gv ôKó‹À|,êÒæ•)ÄÿqWÑt²ðHYjáü§y4+«”çÖ»AQ +{­ÔÂÒz±eÌÒEµWMÞ9£²Ž¿§€ÑAAêOÇðfù¥!œŒrBÏkñê/‡ŒJQûÙ=IèÇ#ä­ õ‚4Kg”Qdàc^ü\+ðÇë£7èMIô€dÄŸðè˜ÑdæQ‘¢Ïß r¹6rÂÀEçK£”" fG@ˆpÚ\½%@oI¢g8O™½o {£ÓšÃ£û¢œOè”E{mÒ²¢;(N*yŽ-@oK¢ß"sÅCø#øÄ… E¦˜k›÷{Ü(GoyÔb×b®}lÔΧ‡@û27éÇC}è$$÷hH‡2>ðGáNEô®Å²\ 8ѳî—Ëo]ttñý8êtŽ.º?÷gÖá,½£y+‚Á0  Q0: 7ÊÆlTD/àZ,˵_O:í/÷èÓÙùY÷'†§gÝ‹“›tzÙAGèê¨Ó=k;?ê@¢Ø¹º¼9pC)oPUô®Å²\[}Ð! y?aZ2|×E/àZü¦¹ ¸ËríO Óü;ôP2 U—wàÝ’ ®*è\‹e¹–„1Y?O;Šð^r棈 Ï||nŠ¢øE˜ƒOëµ è\‹e¹öu7¥-W—`7Œ«q¢`›Œ_ƒ»`üæ8ÑuˆcP­á¹^C÷=­¡::1ì†J\ÕÕÙb{ BbYzC/Û íâµ%YòlÙ€ñ†É÷ù&·‰n4LKó=›z†fSòáÆ·®ç›¹ÉÏiFÞÜ+_.{ìUlŸÀ¿ähÁNËÌ@¬vj© ;ùë…%1š¿€ÈvÎÊvH Ž áö êåÆä…pSVó “U§^ÃN³϶5ÍrMÇö±n;J«G³Óñ´ž’f^bMrúÀãwî › Ç¶ bÍ~¦Þ§8ëo²+ºË=™óÏëJêi†ëS‡†Þô)…¾õÕ¦fyžÕ´=Ãç]ùM³üƒ:S 4ñŠÐ”+V qé,Ì<—CôJboä>›È2Ë̯Tdý MÇ|êM†þÙÄa‘ôñ™Ãm.T™ÚÞ¤Ï ´*®´Ž…—`u­u¬g9›`¬V[Æ‚ð2Í…¶žê1V͆;L°- V«¾Ÿ—{Wf,?ZB"x !?°É¶ Ô§ºòê@)eìYÉv 5§ÝøŠK_pi¤ìr4›íñ}¹¶ãäØÙ¬²웂Õj³/ª@e¨r*ÃOÝeázWôgÏÀ®¼§ãBð`[wå…{z…“d\Ëwî r¥rý#߉õ¾¸}¶‡ß0$ãü›'a›læq°7yŠ·(ªÕxˆŸB· ö†ÁªÜ·›µåUž=õrÈÏ–<€œß¾Žšdi7ÉÕ±`»¼¼]Œ\¡Š\c30Rà#`5™qfûfOv’f›gÏžla½²§¶Çಠª·f›“sß=˜ìt=·–—oYÎ÷‰›ß½ØÊœË—b;ó)²b{ø:»²õîÿ X½ ³³ž:7¼x_›xœÕ\kSÛºýÞ_¡ãÎt(IäGlóÈ Ðr/åÒöö#Ûrâ{;µ sæÜß~·dç –bBáä!~HK[[{­-Ù:øãø²Ýýyu‚úÙ DWß>Ÿµ‘²[¯ÿÐÚõúq÷ýçK÷ë9µê&$Jƒ,ˆ#Öë' RúY6Ü«×ïïïk÷Z-Nzõn§þÀÊÂìæâßÝlîΚ—yJëݯðaFéá#Å`Û¶ó»ùµ”xð5 AìÚ]úkÜ*í8Êh”ívÇCª 7ÿu¨dô!ËoÞwû$Iivø­{ºk)u($ ²¶ÒÄ­Ã8ˈÒtöï®;Jîh­nâQâRt„ô žßóî ¢?Q?¡þ¡ò+«¹iª „†‡Jš¡”>¥™‚2ÀR@`°*ë~'öÆðåwÈ Iš²ã4CdáÀ9«¦¨'ˆ<úPË ñ•º"=@DZèà ð¼8Û/»›ïhrÐû¢”6;†.‹ƒÒEõšÄí‹b¾L~K—@¢(ÎHF½¢„£0D MY`'° |ý±»‹>ÓЇk‘3FÇñøG#pB«†k*ÚÝ-¬x‡JDîv‡$ë+E½ìÿÝz‡ÐÁ(äÝ6wކt ´¦0*>/Hn›–Ú4=¬5l‚‰oQKµMêë®F}ÇõR@÷aêaÐZ§xÇR©©ù¦ézžgÛVÃr›ªá ]7Ì¢ø™gNk¶Ôyc #ñ/nª,Î,RÔš?7ÁÊaîÍÊâ ű•q×Ã*_ª6/j¹Þb¦ ÷é¼ÝKeÞZý¢•ŸcÀ޲>E^ìŽpa!Å> RäÃØ«qÌÕà'¤Ç.UŽÂÀ¤ÜêÀè ðÁp€ÝœI4]+Ð „ðAj}x›ý…ËÜx×QßÞܧ¨nbIzU€^•@¿½6ôY½&@¯I¢¿nÒ,\ í ¸†’tÌœf”Ò4ˆÁ#Äý+ˆzè>ðz4C~œ ëì9èuz]};Ž“ ×ÏÐVû#Rï°¿*ÿ«¡“‰F4D'Ûï¸/Ùˆí zãM{NS€¾)‰¾Ë"È0‰{  L‹¤­˜ÜìH>h•ýòâøð„^#1l ×XĆ­Ã™-µJúh˜^[ŽfÙë]—`8ÌÑ\›†¯³Àó©GJÒA}8ɯ:Qx¸MóÏј­¶íSJ]×é:¾¥™žÙ5 Ó.›Ÿkæ¬à¥#˜)…$þQåÉh.‘²×Bø…ÖN mn-?Pž[›E?¼ó•n‹¦Vû-§`Ö:]ð½Òæµ3(¹|—í(0D<„ç7( àd˜¡æ^[`¡‡ %}~kké,LL&¤“!̾¨ ? 'øÃوċ÷ÅI B¿êðK‡Ï~ÃV÷åÒm~2,úèì4÷+»›JRB½&¡^S ~g5ôÛ–z]B½®Hý§ãq–'à P¡]÷0’M¸ÒŒ3¶‹† h`Œ„~…q݆´Ïr$)ú”?„zCB½¡Hýq2š¤a£çÇ/ÖÅx—ÿ«‰ut2$ñ˜Eè$ôÏ¥ÈÞ”PoþКcI¨·©ïq 2J°9CÄIÊÊ’ ¿%)ÛG“dŒ|x4e4Ìò4ôÆ9Ca:F; ? Za0Ùžz[B½­H=P2ÇŸ 똳t˜V‘¡w?—ÎàÚØ‹B…>‹3†0ÌÏnskê õŽ"õœÎ·\ÞW¥¼ÑÛØÖ}±®§ðGÆ­½>å¬dc%i-Íq%Ô»ŠÔ?'9W%#Nð Љ Š‹Ìhn7¯÷¸[M=îþȳK|-Vñµ›fí|rRØ—«É Á”À Á$¹ CzŒûƒ`íÖ¤^âk±ª¯:Ñ×ÓÞûóÏ=tôñúztyyô±÷í%Й¸ÊnXÁE8E!0³b£|Â'AMê%¾«úÚ'—ÇïÜ£×§g§½o|¾=í}<¹ºBoÏ/Ѻ8ºì>;º„@ñòâüê&Âc‚¡ºÔK|-Võµv1¬…ø1Œ²Šé»-õ_‹h_‹%¾«úÚoàL3ÐD@àT}Þ€vCHÁuÕ¡^âk±ª¯%Q"Àc>(ÂŽÒü€–œ(æÀ3_HQôã±ÈQDñY§]ƒz‰¯Åª¾öi4Gâk±š¯}¢ØJ“øZmk_{4óžî«"úÉ^“øZMÕ×~e^æ¬Ã“hÄÏ÷UüO_Ä]<´jÃC樗øZ­F\û°Ù>êmŒÛV=¢Þk_«©úÚéïK(÷PÞînEz ê%¾VSóµÍý:Û‘/qWZ…»¥ ̺ϲ,I[‡¿…Wút|q}qvÞÈsvrýîòèâýõûíh’8!­Â -Ó4í¶‚j Zn‚j‰óÑ*œÏfªÕº•‘x ­Âk¬`ìGcÊг?ÇIþ²Ýîô£Ä#Q{PœØŠ,]âô w # °}ŸÕ£Jbæõ 3/£j–‘­G™Ä„ë&\J c´ëÑ%1ÎúŠqVkTb3õ ›ù›Ü&)mŠc4e†Ìm*e­Å50³/¦àr$²ò­OåY”½¢-ˆwy@ çbE“vëpþ,'W•;Iü¢WÄ/u¸;º ³eÖ>˜ôY‘BÆýˆ!·gYjAó¿¼…m”ø ݪ£UF¿ZU¦¯xïvñzg;sûvúúúÍÉñRín*ï÷ID³â \ã‘Y.¥”½85J@‹Š$úñÅ;ñHHž·U«$#‰‹Ñ—]Ì_Š­J<ˆ^áAfÂ9R¿¼q_­cCâ#Œež`\ž¿PT_CâY üô¼l9þb½uH>VRˆàÒ.R½ù†Dc¦,%‰—3´U)mC² E•‰_3ôú”œ¤i’^Dãlwvô!ŒÇ™*iïh5IòY n~¼y÷f,»·ÿ¨6+q*ƲSù$,õÑåÉ5/´9ýøöüù÷ŸQ»èÓõ‡ó/"dàd(OI€cØ5¨Y5.›esOÁoÄ1ˆëÄð5 [¾Pß3½kÙ>%¶ÅtA¥i*:Z®‹fMÕðÓ2zå/ åÜE¥@Ÿõó—÷XÅÐY6]npL‰.šAq×§9/¿IÒû¸Ÿ;½S•`‰B™óý…Ì· {íUò%¸ÆtêÌ ¬1ÝZU¥ÚöcS­î#ÃÔ…þ¦ïÍfâ1#ËX,Š<‹¿ $âžÂΉ&D%ÚþF'³û$yYž?¿˜Ê‹ÄõÀ“ò䑌m ó áXa‘—¨N¼ÿe~ž­R½Ö:À¶$(ÎÂu¶%A=Ö*êùt}þúNŽ{ŠÍKð‚µŠ>]_\ž_œ\ö¾I|æ\…~#ÔêbÛô©ë™>ñ]ÝöMÆ,ÇôuÍï:|²A—W¼fShL4=B—'Go¿^žöNPÆòÙý/ù”ˬËç•Or°X‚˜e¥¼œê[nÂlL"DF#FRûŒ£†¬xº@ Y¡ƒ‹- qd ' ‰,™ eñAU¹H¼•e52þšî™Ø0º†G5ßÓÁá¦í»]·kP‹­C$yѰ`˜M nç‡3Vg÷«ò)qr–}?ŸŸ.X\ÐÀÿ3§ˆ-gTé‘x-Ë©»"dD¾&éUøïEANÏ,“^žU%_â-·ù^’DkÄÿŽ®&C/‰VX˜Ÿ_gdvM‘[’L°W“ 5fÁÃéò$ŽYô6Œ"q¶ÉÚÙ™@ŽW®¨Š’CâsìŠ|òƒ’:vÕ¬hÎÝF\ÓÅž«ë¶®û¾íiеåÙ˜YÝ€ðjSÎ¥³²6‡Ë­C‡j8æ!^ñ/ey˜Yþe*™ªv(ë4eJ÷ h¶‡Mÿw5ª»n×ÑBÏ6y±pଣáõ7³»QÆ¥¹ìœ*Hפ>bÓvtËplêR7ySË·XÁ&Vcó*g£3ä[°Y5ßdÓõuÛ5q`SŒ «‹»Ý€Ð\ÝôÝ’MMÍKQÊ­ÌfUÚ®A6MBÛdC4Ð[£KlËð5¬¹#¶ÎgSWgó˜‰wMªlVAúÙ$º§›Žgfû>q â3æ9ÌÔ\kÌó 6 56O‡£qT–)²)AôÎ*¢_ù©æ BvÖòÉÇÏ®žo¢¸ ÙT ÖçÇlÃ䃆mËò<Ç4,¦›Ôðl‹Ø¼p¸r7ÙTîæ¶ño[¢þ¿ËKÿ¦(±†Ì³Lb1©ãúÔ¶Ïñ,;ÔÆžXåw£ÈhºJæ™å¿³‰º’» Yf‡Ø°»šæûÔ7ÜÀò¨ápÉ÷ŒÀÂŽ­–ÙU²Ì,ÿÂ_ (sØQ–qh[Ø÷ljaËîú˜i,`>ðë¸6<ä’ÂZ¹JF™å¯“| >†’‹»šb©i¨\‰At×S…¡Ú6–v%Ñ]µˆŠÍJBtw5Dgw#ˆ0Âü;æ2%Ñ^sÕh‚ ~°+KŒ6Ø¥x§ÇUßE¹’,†»šÅ¸ Óœ'Áþû‡L™I ä®æ4”šˆ[Ù,\¯ 1çë^;¨Ïxv/Ûߦ KÝÂõ•îý$Îî›R½KC;<#ÿüÅæpzJCAØ_ƒî Jn[‡)ËÇi< ½‡¼‡—è?Š’©ÎrÀõÉÌÝÔÙ¨.F€ë[|çtvã\ìM]†Õ.®¯Èpæ2ç¹éÆ9™õ¡ÎF5€ë«`1³ý8 @ÃêôW ¸^³xe1ïý8l–«³Z vàº2«ÕYóÇcwÖ…:ÓÕp®oeª}I½³šEo\p«ÉøváÕ¥WOàz-|"Y猱2>ÉêàÉBeŒ×jï7IH§ÒZ8¸¯7Œcª g'_zy°Y«eSs¥X±d•4Æê‘E·‘P¡ý³2Ÿ/Ì_*í=ÏÈpôòÞ:Põ&¶©Å’E׫×dnÆïe)æ"”‡62­,U®aõªÒŽpE]lSñ¢[åÑ’À@¼ ·­/³Âߟd¼æ•ÌÊ–àT¬ŽSÿYndJ,W¢+™pcuÀ½aÌxBøg²©Ùy‚¹%‰ðZŒðÿãô¾æç˜ó’ˆ ¯ELª“º4KÓÍßò¢H™.ÉvX« ¹ªèZÌ~©¨ø“çÅèŠÍZ•…' µÚã,áö|CzO™°VäJU37¶‡'”^⮵zîúÁR™ÎŒÇX:”ª”$›£`½x¨’Òw]ç%û¬`½žƒßB ª1r3`V,J6wÁz=@‘²arÃDLÄ@=ÕÝ2\R&](ôz€bNúQ`òQ(—à ½ž˜S®Lt&Ãß·™kyòû|JP‡^uÔàs›Á‘½@¨ÜD†7« RÆ7“eü˜ÑYÍS-¤ Ùµë*H§ aæç”F±ÎŠ\€ 3=' †g]Ç`6è`Úzà›:_” Qâ¶›¤`ÉN3XWA[HbY=ëÉBwXÀ\ËÀÔµ5×ÕˆN Cëžït™œŒEà'zŒ;Ž{vYY í8¤x[FwÉ=Þh=Iâhr%z#Åü/$ €“rÞƒî Ǧ8Z’íyðúö<{s,õ°1°™øºÇ Ý×øBŸÚ]b{Kmƒ˜>ݼì{¢ŸDìèŽm±½–låƒ×·òy,¾1ñ™Ã:³€éÝnà{|•ãXºc¾/ÊO·a]T”öçi„u/ ]§k2æiú¼È€¸nW3,Ëttž+¨dýË´ væ%Pg‹-n‚å*¿¢ÜŠ) nBN∇ôªV§ÜOpšEÉ”LÌýž•8)J] ›<ˆ=öP÷­<«d§$¼ÅNI1ùd]Ÿ–ÿÈA“àU£^},3³É ü#‡M‚Øzˆ]²^Ý k£4Fi’(bSeP[ªŽ 07*ù¢œR‰Coëú9C‹5XüØqE¾õ¦&šk/ðóÊbÅ^$ Ì\eó—z ùŠ}IP¹†‚žúÜrɼ"—¸c®Âùµ…ºvž$ŽÚ¬»¥árå¶"1dª; EÓ½©ªZ‘ ‰i5×–'‹ø‘‰Ìä4'-r“kʪH¬°¹–7QkVb`MeÛ`:F²/6NB<¤ŒôL¦w©O»F@õ®æA (…øšoðhJnÖ66´6Ú)wWÍûTîšÇ?‰£–IøŽ"w‰avmG¨Ë¨©»Ìt\øðÝ®O»ù볘ž{᫽¸\T&šRøoƒé!É^yØRK“¬j¥ /‹ÿ+|¨ø6ÿ¨e±b6C,;2‚Çø_S4"DY34'D3ízº¯»u]]w|Ûs]ˆ½Öa_l0ëG1\˜¾X ©xr]…ýøM2äß'ãùÁAFy \“C)”å¹?*ã¤h×[ªZ2.öÌýQ9—`8»Þºˆ’óbÝ•u ¬²ë-~ÖœùÈwåNâü«ëõ–3pS.ôýë›Þ>ީߪ¶ÖøI¯4¨PæÔ[þÁÓ0a‚T‹uàã˜fÏç¥ ûû‚Ôë°üøTÁZ”Ü H*¹m<U<ˆq)­ãC÷M¾N©ÜÀˬÞB)ϼ&`=DÔv4É“º:Y<ò„lIª³öÁ¥²Þ[èâÝÊk+Ä£|UHƒlHéÚîëS6Ä\©Ç†x´a6$smsw•צI4é'ñ[nsj*ÊÓ[.@{t}”€MGl.X¹ ŒéiLÙÝkÊ÷¯‡ð,Û`mÅ«6) uÔÑè&Ñy`ˆþ®¢‘ UG­Þ«5›¿õ(¢iÒ¤T~ÆDãªÚ{µæï* ´sÕ¡Ý2‘E`f9/|Ü~UxÇ"q¢I^%Ì]ƒdjÍJP‘«ö‚>HCÏËœ63-"Ÿiº±*¸˜o(¿öQNbî”DÅÃ<ÆàñFz)I'mÔïeùÉO_C ÝB€h˜"2).ñâdDâ2#ü³·a>×Úm“ÌHØbÍŽäà xíà ßC–E]Ø}[úGâjÅnþÅãÛHA‚äÜZŸäÆ’Dà•D(6*+nEÁÿˆï\’ø,Ë’´uø) P§Ãƒ»ë‹³ó^ûÝåÑÅûë÷+IvñçÕ¯{{(HIŸ§çÑÞÞáÂi0¹(;€ÓKLI*ÛBÃw,æ1#£…î_Ÿò|´ßéÜÞÞ¶ir7Ñk'i¿rc_~ñ÷Mq^„ܸí´q[›Qæ%tÂÿò;ù?*Ä¥! //«68Öp >xœí][sÛ8²~Ÿ_ÑT¥—- ¼Ó‰]å8Nâ3NìØJ²yr(ñ EjHʶvj÷·ŸHÝe¢é8“9zˆÃÐÝhtÝl€¯~}s~Üûvq‚ù0BŸ_Ÿ£Ö^§óU?îtÞôÞ ½ï}8C¸ÝE½”ÄY˜‡IL¢Nçäc µy>ÚïtnooÛ·z;IûÞe玷…ùÃå÷ò…'Û4§­Ã_^‰ï†Qœlh»®[<-îe„Ÿ!Ë â÷î±?ÇáÍAë8‰sç{½Éˆµ_´rv—¿ô$ÍX~ð¹÷vÏiu ‘<Ì#v˜¥~g%yN¼ˆeóÿîõS2´è*§>CoȽêÏüò* ã?Ð eÁAëϼígY ¥,:heùZ0–·P´”$ðx—’~/¡øCÃäG$Ëøy–Â)²tâŒwSöƔݵ A| aŒ.H("‡èÙ0¤4É_V=-Î'7,½ ÙmÙÊ1?‡ÎË“ÊM B–’ÔLÊfÞO•[ qœä$g´lá(Š †e¼ Hþüº·‡Þ±š‡{‘7Ao’»IŸÅ „N·5´·WJ1–úR Á5g3Öi¦i¡q]1F¼£…ñ݇þP$)º¢ÏAoÐ’è“É, ‡#ŠÞ¿EZWU[ì¯ÆÿêètŒã)‰ÐièFîK·â{S€Þü©{NO€¾'‰~À"È$M†)#LRBP–ô§dÍ’)òàÖ”øšÒÐR‚B }Ìï@ÿ®³æè-zK= ™‚Hyt¤$gyT$è·OŸ º%7u£ÐCç¡G⌠³&œH£·èmIô ç{æï›Âßè}æðèÞB$„ó)E’±h¯Ï-+Ìh¡$ݨç8ôŽ$ú7˜²î‘¢d¿…>1C¨“æööû½Ú­G¯væQ« ¸V•áÚÇFírpúÔ0ë&£dCb É}ªÒ%Œ‚iÔÚ½€kUY®œèölðáâó~ú‚n¯¯? ¾ìN:Jà,¹#¹áx…`ŒH›èŒ ‚ Ñ ¸V•åÚ§×ÇîáÑÙùÙà †ïÏŸNonÐû‹ktˆ.¯gǟϯ!‡¼¾¼¸9…pC7hSô®Ue¹¶&.< Cò!µ £¬fø6E/àZõ§æZUÀµª,×~2Í G>AN¤ê‘ðz7äE $¨kô®Ue¹G t”§Eø^r ˜ Ï úxiöbOùôE”ƒÏ:í Ð ¸V•åÚÓs\«ÊqíÊ­4×j¹öp á=Ý•UôÏò½&àZM–ko‰›…”tØüöèn¹‹÷xÞÅR«6ÜÔÙz×jäµ' ÍvQ×h«jÒªì÷š€k5Y®~Ïå.äín#è p­&ǵÛûtšÁЕVCW“”@X÷H–%©Òÿ5 ¹ ÐÕñå×Ëó‹HžóÓ¯7ƒÃÁÙ (œÃó£‹?¾~hNÀFZ ­‚›7[°CÍ[…/ #­†Ž‡/׬€G´©>ÒØ‹¦>A¯¿Oº×nw†Qââ¨=Ê Áҡׄ¨ý!Ù • ðë5_„j1Y»2AP×k‚ºcH½7Ã%×z%\ËU*ˆ¢zMýFf÷Iê+}~ŒæÆàe”õ‰R^Ì!~9w›3G|æþ@¹*JQ6uóº f)2”Å8Šfm¥¿¼—Á•µNÑè5Í&Ö>„ÙªiqŒ‡$ƒÜ! ãaD†KÀ²,„nË3¹¬†& XDïmÒ'ꢽn–‹#GÉ|éá°òÅ fÎf”p~vôõäôø5oxþ Ñ" 6>IÜϦØ¥´¦ƒÜäMÎ`~SþPV+çk†»èqü|ÊÒ+ð 0º—MA«^.ÃUö’L\\‚\ yeî6ƒù˜âU{÷?Ä£YþZ;ù³ê &ÕW™ôOÉZD©¯%BW_/Žþuz<«ÞP‹¡®Uy}qyz=øòæ±§ÊVÅ•¾ŸL¹ëò' §Ðõéá ÿr{}68…¼šþ›ÌÞJbŒ¡=ã8ŒÃñtœãœ,°~Ì dñ ÈÇП7JîIz5Å) aLrÔ«E ìçåbY Lg[ð8ñC¸0wxþ}éo~, V@\†ù|°ÓɤêîÕ¢ôÏåbY Ìdô¶àn Óe/–Ï dñ RÃzïÕïv“ôuD÷r€¯‡t%S…çðG |E‰,@A(6ìç;ô>ôé(Ç›]€½e‡²HáÝXïÍ‘ŽÂìIoK€Ë%KÜ¥RIø¦ _2»5=á’Äs$ìk;®â‚2YTR3kH­Œê¯+ŠªØòbYx>3køŒÃËÃåÚò°@@P–YGYõbÓÑö˹UÍv=—c_#¸ ³)HJ ñCªì¶xåw£IéLV(ÌR\_Ⴌ¼¤Dx©¬_ÜbÊ$E+:wW²a%˜UJx¼iò0¦C*'²ÿæÄ@Ðs¶— ¢wàvÐe[lòGSÂßJ¦’¦€UÍ*«JV+àB³Ê…Oü®ƒ†„»l·ÑLŒ) 8³Jp ²Š7oïõì§ÂgÆ>ZerYé§„NÓx¡‘ 'ÙCÉÖP_¯J} S‘­W$1ò X´WeÑr—­›¹’ïÈ+àä^•“›¥9Û˜¼ZyóüÞ«òûF‰ÑÖ­\I¦äd¯½jöÚ0‡ÚþÃÌë•7P JzkomÒµu{æÙš¼AµÓ“Q;O&i[·gHòÆ x½·ÆëäuÛ·±T¹¼©­Ñ[Ë»WsÀ—²ª–·A XzkùZÆøRfäµK[b е–œ¯$—/ÄY,HkM‚üL¹èKÅU^¹¼Êƪ,ÑÊU*ÐV­ž('Ù&I…%`xKžáï’П;8_•h²®!›ÛYƶªŒ- ¸PõÒ yZ* [ÀË–Ï5ýË P¨U›®×¡^Ó/^À–|²_uy!½_¶- J[>•¯Àž+áGq+}NóËé¯ñx²Ç­‘žH²¬iË'îsN0ÅMÂc«é¤‡ü +“ ÚáCWþú•ü¶A3Åzšìp´-?ûPybyrÐ(]’-жüœBt9±yìao, –‡Ô˜gŠ›ñ ‰¥Á Ä„½±˜XÉ3^¿@UØ«ŠE†ñrØ¢ÂÞXT”Ž üžêp×ñ1¤'Ð6öš¶‘«V :ìZÕQNFâ$Þ™¤ „|:ª £Äo˜™8)áÈH èaJá±,žµT'Úät¿b»GL×|Ãí‰E°á™–xlaØ‹ k0êç‹v²Û¨GF…4ðÄ*læ Ý&qz†ê;–æ8Ö}Ãк†ëÙ]â©'#¨´aã­`Ê„6ˆÞ‘&ÉêD„›$ K“8šÝðÖÀÈCœBp£è]ñ2ãA÷í>+·/û´ ÄYS rÕ 4‚SóÚÌrýCŸß)üõÞðz=Õ2tò±êë^×ñ5›xš¥ª¾Õ3uþ&Æ'ɺ÷B/ 2ÿ(¡£mv“zaçÿG» ñuÓ ˆKLÓè„@¿ ´žnû¾Ýs|3àÝäw6ÕýÿŽÂ;J½†ó›izE çe5DÝ4ñ§Þ³H½¬…ó/džŒµæ)ÊQòð·SVÁGï¾/1l3±WÛ‹©ê NH1ßÎ×Jÿ^¶Eÿ uËÓXUÿéZöö  çQe·žáÁåì?Öƒ‚M]KÐäª$!ª\¤!hþºçÒd_€åûk/x{À;l±¼²bk±(tSœÎÚù‚a.f®nó aïG¡7b[ N"<ËO±RØ^Ÿù3Äìðb0‚Úmþ8ä7PûÁ©ªœöß®//ótì©7Z"~¶æe–üö&^HÛʾrÉV+BÕ ßä*È º}Ø*[—€“ j´/ÏrgïùÎÖl{ïRñ|oíµ]¿ƒ$¾« N¹}:ïÄûó-¸Kzùù¦ê|ߺò&óÅfë >ž#µÝEƒÇYHÃ$ÆQ§súIAʈÒÉn§sß¾×ÛI:ì ®;¬.•Ý\|Ý¡¥;Û>õ•þ«}ÞàÃ8гƒGªQÇÉïæ×ìÿ1¡±kwÈ÷ixw '1%1ÝÌ&DA^~t Pò@ó›÷¼N3B>ÞïØJ*¡!H?K½Î$J(ÅnD²å׌bf4ôpä&íºI¦©GÐû0"ûüæWûQC£”ÊwÚö²LA)‰”ŒÎ º!TA@XجíNaˆ›ø3øç‡wÈ‹p–°r’B^)8gÍ턱O÷ÈGÆèî£×ãÐ÷ºWw7/OîHz’û¢–cV†.ŠBéªF!IqêfE5æÇÒ5à8NÀÍÄ/j8Œ"ÄÁŒÕ~ÏÀ¿_vvÐo$†êáZäÎÐIò0’z£ÝVÛÚÙ)¼úJŒïv&˜Ž”¢]VÀû¯ÚŸFü±•ΑˆŒ•þ¦B"¥Àç‡éמ­õ,_Õ»Vq`[s,žN×ó]\@‡~Ä ïw¢°ß¤z_Å®­K,Ëó}ßqì®íõ4Ó5»†aZEõË.ºhlépc 'ñÜU4™,=R´š;?wÁZ1ïÍÊê EÙÓ"o¡¨´Ÿ×YP ÊLá;wÀS•µG…Ý¿%` ¢#‚üěޡÌ¢J( 3Àhls—”š R±ŽrþÄÜ}{¿zÍôAïg^µEkƒ6Zû½Uû¼8SÀí£q“\”¸$rü‘p‘Ü3܆M¨ÑƒlÎ7é-Z´ÕZ䄯'ããóë1 Ïnàëðòrx6¾ÙEN ¼KïèÒ 6+9C£pu`¡f8Ò[´6h«µŸ/GLj;üãäôd|c–áÑÉøìðê ŽÎ/aÃËñÉèútx‰IÕåÅùÕ!.„+J+ƒ\é-Z´ÕÚ†¸˜U£Pйãªaù®KoÑÚà§ÖÚÀ¢µA[­½A1Uèß<…sÕ„²;ônÌSp ÔBº\è-Z´ÕZÂEµyÔ9R>‡ô’“ ³ñTèã+éü´˜Wù<_Â+¿ë@oÑÚ ­Öþ?žcÑÚ ÖþO¹UhÑÚpm­Î1¼Ë¶;úšûТµa[­ýJ'Šiê›N$Ñ;«.~›Ty—I­ºØÈ;z‹Ö†yíîÍv wƒ ‹iÕè÷¡EköZûøús¹¡Ü$ïöÖBw ·hmØNkßî寇oÛð•Ø¶ëÔ¢aƒ–’¢V$T)!½Á¯,ÃŒ-ƒ/£‹oÇëfQ²°AÉ^2<Û@‰ˆØ³ ¥E±ÂÅú>e»a-R6HÍë¨Hø<¥ðþv.ôîóCÔD¤ôñ1ꔋ áß¶òúYéòÚ<¼$ƒºÝ:ô‘Ej¢©i¤/ +0#íæ.P‰¤Š“…+’E¢Y°!aÞåÆd öQC°od„oJÝ,_Vv7Ö¢y±«æ™¸©|󎨒˜?ÅL·N"¶¨`쪂+îpAŒ]q®^©.t]ŒDk:I· Wl‘ÈØU"WàÌÑ78‹NÆ®:¹G9g¥rüe-ª»ªæ _Éf¤tÂë[”¯ïª|«¿­$‰cþÑ·¨WßU½Vð&ˆ÷7uó¾¾E„ú?–™cEæ¬ÿâ²c²çÕÜ·HIßUJ‘9âfØ Ø"+}WYi^ž^ÑŽyNߢ6}—gb}‹HôÛ‹„IL2ðýï>oz>köx¨Ë8[)~<ö¯sh™šJüÁóQ»ê´£>ð÷ü,;]À«þ²Y=XÌ«NÖ‡óžÈêÃŽ¾©9x÷µ :¨:%; N-åxœÍZmsÚ¸ßO±çÎtÒNÀøòÀ %¤É Í!×Ë«Œ°e¬9cQ[@¸ÿü¿û­l“’C‚ãš0ËÒê·«ÕþV‹Ž~;¹lõî®ÚŠaW·_;ç-0J¦ùÃi›ŽM:*RxœÍš[SÛ8Çßû)Îzg:»Ç—P®™É(ÌP ¶ËSG±åX³Še$È·ß#Ç@`;–£²³ÍC˺üŽrtþ:Žö~98o.!×3לžŒÀëøþ×häûãøëxüù‚nÆ’Ši& Â}ÿðÌ/׺Üñýûûûî}Ôrê/ýÓW`×_;z¥e7Õ©7x·W ø0ã…ÚÿN7Áööö²uU—’?fT0u;ôvÎîö½‘(4-tg¼(©ÉòjßÓôA/ï&9‘ŠêýëñQgËó±Í4§%ÿ6)»9\‰¹L(1N÷üåÍw{œC.i¶ïÝên¢”’ò}Oé§*§T{ qÐz,SÁôí× ‘.ð#ewp¢Ô¾)§‹È‹‚S3L=+RúÐ]Zü™°.ȉÈÞÏXš ½ÛÔº*wTÞ1z_÷22ep^¶î*gT™ä‹º›ãÇëÖ=¢šhšÖ= 9‡ †*ÓÎÎ ~üÒéÀ'Z`÷X& 8‹)-ÐÛ¶ºA7„N§žE–î{¹ë”Dç^=®)¨®ïöæ¼úÙVîQNgÞà ӣܫùR&¿mn…›Ó êm“€d[t+ÜþH³8‰h6IÒ ©ÑÑO òžÏÙGñ«ajüê£2B‹ò™µn9-K¸W~æ½lP—U^¹ìÛ øj¨eó×cÕž¯^õ˜I2a9ÎÂJ)ú6­æ¥ 3t`ÞÃW€ÆLU’bµ^!<¤ö|skðþ×`³·û¢Z"fË1üo÷ª‡{4ßBZèÃô>À½Ö¥,ôQKú/£¹ÒbvÁ…Þ¬C‰Z gÂ\Ñ ˜ t›J¼©Y1…{–N©†LHø¢„>¶ÐÇ-éG¢\H6Í5ü6úÂ^l˜÷°zàpFŠ9åpÈ’<'ØN¾ÉÜ÷-ôýŸÚs6-ô›-éÇ9SPJ1•dø5“”‚™¾'’îÀBÌ!Á¦’¦LiÉ&sMiô±ÔGÿA×bÙb}úú-é‘dŽÚ)Aç4•3"«.>]×ú‚[›ù„³NYB E Á¦µ¼Ržµé·,ô[-é ç‘™ï«z¾áH 9Äl–6€2¼/%\ᙜ™æIïþ8ë}ï€U®@/!qÊã1‰L³}a€ 1:0ÍétZž:ež Ì^×|²,9¸ø³$ž,ûÂ7޲ †Qœ¿"ƪ×ëùè¬/%>~ © û–èÏ1›- ‹Ro6¢xùÓ±!èƒÈz!IR*Žo{§¥ša¢ÁDDiâ™j@Ë!ÜðqâQ8e=2ó׎"ÿ aBƒcã§({ij@B£c#³ˆ¦!¥ÂÓ³ÉRºY@ís†_>›€‘4=–í4Á&²ÐБÓ󰨧å\çï„ÅpEˆˆ4àÓù>‡«Fgí|B“ £ÓBJK¶ÁeѨ-*d4!‰Î 1gógm $޹ ‚ú…„fA†¦RÚ -ƒ_¿•JðÆ(ûB'üa6 1ú[­l•m(• +2ÿ؈ɤ4""4ŠyeCöÜøp4޲e{öŽFth4a42 |>Kî÷jöÞ¾o9•:±HP£5»¾O×shÐ÷ü>) £§HÈGfÄ8‹™MSÀϾ2%=a-¦ËÍ’ƒ{Ñœù™±8 h+ü2—.§\š,°<[áýé’Ì !ƒ!¶£žµ¢wÓÌ21¢ GüXØ MG$~Þ/械ŽLùªñ飵W9\èæña>‡ùe{Ÿbº¹ú ô¶½­þËØÒg]ô޽£‰þº5N^E\ìö¡$¡oÂ8¥»0äè61Œð¥`ñ¦ÌPOàZüô®½«‰¾ÅG³„ B;­Ï`W,kWþogÿ;Ð’xL#h3/ ŽK¶bûª}õ]{Ξýž&ú^ÈR%|!àŸAB)¤<S’Иñ1x84¡>KEÂúcA ô1ßDÿA×bÁl}ôû ôûšèÉÙ3R4¦ÀƒìáÛÅmÁ0˜ÞŒûó Ã<§*,[Í3îY}M¾¦‰^â<•ö¾)ì §Õ!2aÚÊð}Hâ)>ƒ3׬Pcx²‘çÔèëšèwˆî‘IÀŸÑ'f!¡?b.oßï­ÊjôVå=ïZKÁµ–×¾¶kŸ6§˜@J7 ù·Dˆ‹„›dÊ0ëSÉÁ8Úݽ‚k-]®Eœðã¼wvyÛƒæÅühv»Í‹ÞÝ!â!Ç·tBs-Øp1T w¦Gb&7Á†è\kérí÷v·u†p›_Ï;ç½;¹ OÏ{í›8½ìB®šÝÞyë¶ÓìâÁª{uyÓÆpCi¦Ð¦è\kér트d£ç-¥+¶ïºè\k½k®µ\kérí’iŠþùâ)IÕ£l‚Þ'L4¨kô ®µt¹–D5Ë Wp­¥Ëµoã9 ®µô¸öÎV¶‚kíµ¹¶9ÆðžèfôÿÊö¶‚km]®ýAû)Ô”E'≃ç.þÓËÎ]òhUÆAæöÐ+¸ÖÞà\{‚¹ÙTܲe•ñXõú½­àZ[—kçŸßó„òy¹²ô Ð+¸ÖÖãÚí}Ìõà+ÈÖ^"[=¡ ´Wpà(¡ÈMSž,À[×­«{Ìú¾µïÏÖSOÁgö >[D2ŸvVŠ’7Ǫ`/{{½ŽUoZíØ+hgy±b/û>ýsqøTRõ¸OçEÕAÄû$º¯…Eå4–…LÒ(Æ­ƒÞQÐŽSÙÀUlðºZY®|7/ËfªÉé­¼,üOü“Φ<ñFö EGéAó¯÷'íV´çƒ¬2|ltqMh*«¼Y‚˜Še™<`†ÿhŒqg„ÃY<(¹¨–ytã,ÒÍÿ4¥*hÀYAfÌJ5^Ññ@sbEw#8ÀkSË_yŒ†Ïq~Zt‡ˆOi² ãш&ºž§ÇNu‹žXE@vö–ÅþB§Ûù¬kE0wößR‹5½B·{æ=ÚRPˆSÛÌ}áÔ7Ü!)û‹î|~µ;†D§¢è©©¿«`·²!P<“ šlªâÄáZÚP'œùs 1O†$Ê̪ DÍ]{# ô¿üWwÅ¢½~é.…Od8:ä²VžµiIAN®ó†¡§°5}ÿÖÞâöQ¶û‚´¥Þ)‰™ÀMèŸò¤Ã7‰¶çi‚û"Mx3íY¼}íÙŒû"›ùLjÕç±}¯ê{ß­Wí}Ò·ö­€Zä«ò²®ñŽWE­Ò]þœß±”7@Ÿ5Ïod¾¸pŽGNÌÆÓÝ×ì÷TÔ¦¸ûôÓ’ŸßˆÍ~A}~C¸¸)›Åùâ¶ì#²âö±){6>ü 8â !!…\<‹<}xœ­UMO1½çWWâ¶k’T”ìJm¥„‚ÚžcO²Îz±¯_ÛkHC•Hœ¼žyïy<3î nûÃ?w¨°S‰î¾]ÿè#œò«Ý'd0 ßWÛkÔLOÐPÓÒ+TI%!?1Â…µÕB‹Eºh§JOÈðž,=VÓÇÏľŠL¹å8oôár*K“í€iv»Ý::øån™‚¥Èû&ð<ó ÷Ui¡´ÉpUF¬ÞeØÂÒÖÁ笠ڀ͆—Ib…•ÍSRVUèRH@÷0 %ƒ©]=)Ê'ThgøÙ¦ÌŒ4È »’` ‹‘uÔ‘Ñ;xåŽ_¹…‹9b’“y;hg¢o מ&òˆ’Ã2­Ï}CE‰îèÄ)¢9:ž Ε=ÿ_t°«9è¹€EDé{ºÆ½¡ šjV¬"ÌÕË~oZ–ÊR <"|•1`<†Ë“ËŒ[Ž’}‡ÒÁ;_4Z¡Z®&Pºšë¤Í´…’$fQð —tžTÔ8òzCØç „z3®íÕ?0ÅùZ&‰£>.ôãi§uzÆ›í“.mÒq:­îŒ?³6ŒGŒh”îªÅKî)rÇBM”–p«ªÖHW§¥÷9Ô~mïÖ¦gó¶ÈkÀmöØf›ÃUëH*öäÇü“(™œq@ÇÏ3w«¼¨¿{$xôFÚ—ö.ïÊ•©½€¤«CÜéR˜ƒÀÕÌú[÷'o¶‰‡ÒÀìÁIpeÊ?¬’ʆË? ó>„Ž ÙÕk˜d¢iU7)`˜•UÜÈm½_â5ú¦O_ºâŸf+å #’oæÑBØ9iq*n*^O©ðZ½žÚqz…1'غ[ã‹@¼gÞø .L†ö¸Ìô²mýäÆx Ó€ÌhñqQ}„Î à¶kEÔ¦I¡xÌ…$f<¦-tÜ- òÐÌÄ£˜:L _?ô$d¹Ø`mÃ5´4යëežÓêÖÐ{¡sXÐêePãwë÷†îCÛñN¶l9$¢€^y U­¶ «Êl¡XæË3l)ª1°O–ÛØŸckcLÚYïΦ™¤Îcwúm߃™¦œ­n¨lþÊe›ßõ¯10÷â¬dßq™YÉa|( –-9£Lž|xÿLÍåÉÐÔãJeé=¦ÓR`„ª“íWÁçÐÑ-íîVÛž­pšÌ¯Êe Ýͧâ&§‹N¦_´²æO²ż“és|&rè6¹e&ÅUG¼ç×Ý0@¼ì†¶áÀ™td²ï,O)K;2@«¹(:MëGŽ"ØO»˜f"²WòR ÁºOqÈOËÅ¢¬îÙm’/Æk©idá[˜~«ËeÅ UÛ7%J)‘)¦›(/¤L°KÔ$A é7j¼PÇ9QRZ)hT‹Ë´HÈj[¡p¢BHŽî2ÔÖbd8ØN…Gi¯:.6 ¬¨mV†¦äê§ÚñA…„üx=úÃé´ ´6¸@ƒKHð¾@31ÇЕ˜§ØZµM<:ŒñÚÒäuÒ„ûÍÏÇÝ¡q)eùÀ· ©%ßò6S15‡ãÿ”ÊÝCG“¹{ò쥓à…¸à0A`[?Æ7FÁ÷űÂõtôv¶ÇÇMb¼¹Ûía|ŸÇàÚ>÷ìB+q¢˜†¡mY¡çR‹=K&öƒÖL¼.¤À´~†W5<ɺ0â{–~ÂâÈwB9–åpGnÈìÄà ܳdd?hÍÈ4C·˜aoE7.Ê1n¶Ðfs¸¹Üs‚ ö<æÄ–àêã˜Z•‚?!Sû1k¦jÍÉ÷E1ÑPuwÉ%G4_œäMãyÒó¶Æ—WõµÛÞu\ê ‚ˆ»^ä3Ïó(cÎ6¸~ìÇZŒþ”úº²æe~Ï‚àgv-Éÿµ,/ï‘øƒµ>sT ´ëRÐ]Cë´’ñ‰îN&P³J,šcÿx°^ÐT6%œ»Ãouœ¤,ñ$2ˆ9Þ”ª®…LÉúcf«†É›–.dnôÚ–žk[ÜZ—>Úb¡©,Ç?ú™ ™ EE‹0=–d˜xœÍXÛnÛ8}ÏW° lÚº[RbèÆI iÝÖmwŸ ŠYÜêâJ´“ü}‡”âK›¬…`ƒÍ‹%ÒÙÃCÎ!5Ó÷§³¿§g$•yF¦Ÿÿ¼¼8%FÏ4¿º§¦9™MÈ_ogW—Äî[dVÑ¢R”ÍLóìAŒTÊűi^__÷¯Ý~YÍÍÙGóFù²Õàöµ'·Fö¹äÆø`¨ÞäYQîqcGQԌֶ@9>r”(ÛüXŠÕÈ8- …ìÍn`Ö´F†„Ù >a)­j£Ï³ó^h˜èD ™Á¸®˜9ÏÊñ¤ä\d@>B †fcr0ÌDñ¤$#ã‡ì³º6HÙȨåmu "1tQ¨f 7.ù->¸X–Ѻ©~¨°‹ît\ª0mQp¸é7ó¾¢¢ S:GDtLŽrÁy)Oþm´î/WP­\·^NUyßvvv• ¨hÅÒÛÖÍÛ»vg´(JI%ðÖÃë,# ÔÊò„ÌàãE¯GÞ@îÑ–Ä·dRÞÜΡÀ=öí¾Cz½–EÁGFAW½•©ÑÆUº=> dž1­ZªPug­ºfhOÖ¬Z _À¥?ÄË4þPVq”—ñ F4.„»YçSdïdz}S˜GyÑüÚO¯y9­b0!µmG±Sé¶áw”Ô~TÉ6±I²a÷¡”gpÔØlæ2LÂ:@«`®Ùþ±Ä$#"¢ÉDJ#e‚¤Œ“·užNd‡•ræ°è˜3ˆs­¨–ã›#ÄU0—ó -V ×iKÚUÐ1vч¹©ÚÄZ‚JG0ù_µ¢µgÆûFKMüŒÄ3H°YÓ<¡Þ*¥¸º5K¬(+TÛe*÷šZüšŒ«U¶A,)~EøztùVÒ~ì‚ ñ{Ä <~à„$)ÂG,”´}á§2g\…Iè0ne¡DøsCš”Y!È[IÆxG’²"OxÁµ D•ãÀ:$uá‘8Á¸`9¡B¥D"bAðô¢jŸ=w]µ›:7á´ËðäÏd—ضN6™Ëÿ§°ó•˜ó_ðgc3üüØ;JWøªµ¿vĨâ_œ3OV=¥~§{^ÇkÅ‚6² B°fÜõÜÀ}Q~³È×s:ÙËÅaå~ÿT½cn\#~Þ¥YœþƧI•§™àÊ-›h Y^O<@õTÂA&1á7r˜óÓI mÿZû5à>yüñyUµ;í.¥‘@“vè€u܈µ{ÔgA/ªqÙßç êØ¡Ÿ²û±<ÜY-æãµ9RR–x(ZÄ ¹»L¤‹ÃÒð–é1šà.-ÍøN™cFxµ f$êÈáÎF`Ò ‘‘Œd>™L‘xœÕXYOÛJ~çWL„Z©±ãl¶!±DYÚJP(Mïò„ÆžãØÂ±SÏÈ¿¿g–8 % Úêö¡aŽçlßYfæôß_ ÿ½ Ïψk7ɰ¢ÏDV4wœ“/±R!&ûŽswwgßµí²9Ã+ç^Êr%³ù³!–8m&˜îô•Âûq^ðÁ1nš[íÊðg ‚¹·?¦ÙíÀ:* …h g°H¬WKÀ½ÐÌqJ+bð}xÚð-…ˆLäò*v&y)rà‹?î·Sršå@® ŠúŽæÚéçYqCÒ ’õCØ1ç© X\ÌPN ,"Ðc„Ü •:ƃ¨d3üaÙ-‰sÊù@Ò¡B]!œI5FOV0¸·5ç4+È%¡E4${㌱RüŒ[ÑË[¨n3¸3RŽ$\âÖ¢Ò *ZÅé̈ù4_o-E)¨f$æ9QÆ—2'DÞ4ä#(÷’hFŽËûÙ LCßvíi4 ŠX½mL¨H-£WÔ:Ü!¤?ÍUØ–¾Ac+¬Í´ ·Œ},«®{~«ç1·Ý ¨KüVàAÒ‰ÛD1‹¨1HšÜwò,|ŽxæÒÈo×Ni5³TÆi«v às#Ö°ÂcŠeöMTÓXL+mÙÛu[ƒ%&™ä ’ÆÆTÈ5Ô„G¶'Ó"^ì=Å•ìz3 ­zjÐûÎY ÍÊžÞ´Jk­}—Ñ|0[>ªûÆpÇyÉ.‘RVrˆ¶³‚åsdçëÓý!ž'yÓü"H/ªr.XN]×3_ÜTÅm×{Zë~,TxÈ.Ãú9A-ÏXQƒó¼UX^$ˆ‡×XgQÍê=Ö~Wbj™1b¢Ô‘2AQV‘ÙrMvÏTaVŠî°4™Âåš)–³"+&H†ä¨.¯f´8m§måXA§X{ïg´..ki­Vx’«ÿÄŠ´žI˜îZ+µð !ÁOól‚vE6Iqte‡¸HOW ßÜ3ê×tœ¯.‹Åò‘’¡Ÿ†gC°ŠÀB»,2>‡ŠÝ D‰tÑ#^ª ÆÇè}™óJSÈ|È]Y HAnE³s†$¥ Oúo|'zÿœRçž¡3¤·*&¨“ äQŠŒYO=ª§»‹ÐUØ.!u6> Õ6Ç[C¦Òè¤àº&ãTFÿ¿¸¿ÇûäüeÄ<ÆÄ3Xð´ÍèUKÁÚ9¥kÁâ°z²Ðn·Ë;>°Åí°×Š;ÔO Ûí°N—·ú½àE™bÝ"ŸNèl'—{„—s ú APê£çÄ襾B~Gq ;¹÷ZY¹^ô Ãà´ìÆýÍ6ØCÜá1 “fƒ0ìù1}Îû8 šþ"ìQÑ‚¥¥pô-r[*u–™CsxE-Å/Ì`|õ;Ÿ÷½ø)ôyÐcI¯ï÷ü^¯Ùd,|?áýÞ†{q˜Ä¯‰þ¶VÑŸë$\èÜWÉùHXwý?¢®ÞÀ5˜K×ð§Ë`Ûï2N[-Úï ø\ñÃ>k²¤Ýƒ„÷¸ÿšÉ°-åÿK¹¸Î/TëãÃÇ£S…?ùý{rã ùtqrúçÁÛc£õèܪ¹¸; u´õѨë!1Ò|øŽðLÙLQ¤zôabž68Þkø^fó)žÚtiíÃPopºé—ù’e›Κt&JYê'§ú·–½*öú«ú.5äksÿ£ógá’·ðiÁšAw5T^2G?†T _M ô¸ÂͬnJÏH¥»ëðsnÚõÝê"¥¨©Ì½¬*…êŸ$´J1 \2Få—pk^`@¦tF2cRSî>ýLÿ‹Jb†ª§áL#$]Ö$f<¦ÖuÌ åò¾—gÑsÔóƒ6øÄ÷ç< ƒfÀúí^Ükv»=ߪ_$gmcñt0$ý£¡’ålˆµjÀ7,‰«ùtJÅ­£3Îxµ]@…07˜!‰F÷Ùg)æLÎ…q€ìl·Úݽ¥E*É9$)Lc¸jlLOæ[Ì=‘*f2±¢Ö£U¤Æ]wΪkVörÑ*­µö%_FócÂlû¨ƒ2ŽsNn ¤„SífÉ甡½ïsH÷Mqžæ<Æùu˜^W|.³1u]Ï|qSå·]ïi­£X¨>±É,ƒþ9-¯XQ“óºUÐ^$›×X˨Žê£¬9üCj"™2dÄH©C<QV¡¢åšì.UcVЏ4™BÉu<¤hfEVL!’‚º¼*q1v§VàôÞÇ­›ËZZ«ž¤ê?±b¬g’Íö­•Zø „g,ól vE6Matk‡P‡N¤§«èûFýšŽ«Õe1°ÈŸhZðåèR·¬Ú‘aî ø”Uä|%Òà£'°© Yô‘ç´Ò£Š4ˆ/ ˆ@|nE%‡LA è9ÔLa*ØHWíØ9DuÖÀÎYB  è@1ÂH'‚ ë9®vU«P¾ºÕ‰·ÆÊ.…³A¦’åœ æº&¯TÞþo"ÜàjÅïŸãWbóK´ÛQïiCÑ›VùÚ¤Ë|¹½Xß8ìâ!éâ. ‚vŸ„’¸—tü>ìÌxÐgJ }9Çå^.åspúݳ•²¹¾ÑÞT¼U¢­wk¿-X°À¡g3Òê'tˆÃóq{vp$ÝÎ0öYàûq³Þ‘ºt$åÂÑ'¿ml©œh†ÌÁ±’‹ÕÐĵjn,¾Ñ÷_²¸AóÈ‘¿Dww0 cÐ êÓ.éöqØï÷HÐö@Îð[Ò½…­Uºç:áš=AôV(KÖ×±>"ÿgô°Õs±f¯q8~¹ƒ±>ñø´×&ÌïĤG HÐÃmBúoý-l)ü?†ëã“£³Ã«“kõ ñéóé…âýþúdx‡¾\Ÿ_üyøþÌèúcCwꚉë~ô´Ýñ‡¸“…ÁpÀ’.é°$&4Æ:d‚<òò,zzÚÆq°A' ¥t8 ýôƒ^Üó»ÝÞÀª_&gm|ñ´3–$ý£©’¼\2b­ò  q5ŸÍ°X8:㠪݂U@s‹˜@8Ñ1†:û*Ŝȹ0ÐÞn;è4©$§,iÍØ,fVMŒà‰éɼ ˹§0RíÀLF¤%éäÇdjxk¥“ºåбOPBkçï[¯×ùú$×fΦ7ìÞcu¼rú›¹=Í\8A‹ƒa0xߨ֎^€é ƒ¨îøhÀqâïfp·”«ëÖAë²éf”Tñ4¢î]T¾¨jn,¸ÑÏéç¬O‚8éÖTl¡´s¼T`w3븓ÖÉŠ«Rßç5ù,˜¶‚!‹úC%Û_¤60Ñ;—WÖRb@¨uD¬%ýJîø Þ(E‚3`=ò„Ìàã]–‘/Ð"<Þ%å†Lôýf-d?ïä]’e‰E)F´å«lÁ]M“]/çâ€áR…´í½ -¶nRP4ù'¤¹=ïwÏ{¢sr<à>ëC¿;èÁì´:YY‰’'×±”¼ËC¦dñxÑáe¿ ½“Y¯W !ƒþq¿:ïž•gǧ§g½¿«Ò­Œ……`Iá¨rz±c$YäG öÄvÙ4Ülh¨¸èÕa iΪ˜ZL86Üg–•[šè€·¬>F‹FBoÐÇæ“ì æá·fvÁEO£KMoŸZÅž+•®~!ÿ•PʶRKäèn‰µùRRæJ—\Ýöë[«—¦‚”€ ¨ÃÒø¦~ɪáÔ›#Ê4¶,½M gó²N¢qQlÓüZ*žEþEcAW‰bâq‰ž¡HZ2ôå±&~®zÄRhJ0*ãÌ~ÈvŽYqá”]ðvD»x®»ÞÖ781ŸÖa ÏŠÑk0'üyd­KÍûde+ü†ÂK˜á`æJÎÑ®‘óO«tÄî¡E¸NŽ;çÇþÆÍcµéÔ¯4zü9¾þ±cú£~˜áÏä‘ÍWB`«'!yQ¨xÅ_!z[| Û¼ã¢Z ƒØ6˜ ‰ÅJ÷ª`9\0<(åØüÿ:¸Ÿ¥Ïø•6ç±8|îÇÄ‚ aêÄd?h… ¾…º˜áIàìŸ`(F.üGDHý«íÆn&>Lˆgƒq¦5v %¬Øm˜µtõ.ؽï÷Nø8ÙßÃi…јvÒvr¥ÏüÍâà_~9%V ÎΆ/BŒboxœUM“Ô8 ½Ï¯>ì‰Äôra–Nª ›ª†e B±݉&vcÛÓéüû•óÑn˜­9%‘¥'ééYY?Û~Þ?nß †Ûooo>n€%œ¹á|[láßŧX¥/ pÂx”5BsþîL†ÐþÅy×ui÷2µ®æÅW~ˆX«<½&a™V¡bùÕzHxh´ñÙo`V×××côà‹¢¢GƒA@ôMðçƒÚglcM@’¢o‘A9~e,à!ŒÁ¯K)œÇ}+þN^1N AùF ïáóÝ^a·æ£õj­•¹éð.c?CZzÏÀ¡Î˜½F/ƒ@Ù¦$Ñ!‚ò©Â­zzTjeÌE;:2‰3ÃML3åQ¦ÂC:¶úI(·¢Æ59üѨª²áõÿEv;õ1¡\6÷D(©Ð WÊ~‚ù0?AcƒXMo´†¡ôƒx"fèñ,Ià=‚'_Øõ°µ‡¾FC2{•®Ò?!IfçÁ7Øv4ˆecvRÀ¯æaœì<`²“c€¹´cÒè2ë¤1‰MbØi[Þ³|Ýæ…D¸³ZÛN™*%j'èA¢n©¨ã Tˆ-:x 8„©b€½ƒ@¤;¯Œ—ªõ°ÃÐ!1TŽt’‡„xðÐîDZ0Ôl)Ž/›ls«mÇ‹e–ÔŒz 3kµ£Á÷)RyP~0~ù®ªtR•’šò­ýxÔ4Pñ ˆ'Êà¡SAgiš²|Q ¥E<ñ#éð ù«=>oÁÝPsëDZC²i¬‘$Ü †`/mgÒ5oãÊXå'F„)¥u Tuqa’#É4¸¨ÐQ_ÔÃv¬îøê|誡‹… š¼+36ÇÍêJ[S3:UÓZb£3 ‘obE¹“P&ñŽJ†§R ŒD§»Ä3>žì´úŸBÀ"æ7Ï̹+.“™õ\Èâû¼K$r[S¶Œ¿o(r[T˜ïuž¦H5ë)§%C;GäxõFk™fæxÅn¸k¼mà"ñ«~y<˜ŒlEìXê«xë¿+¸¯Î®œ8»~¬–¸àŸÅÚ09|$fØ4Zƽ²¡¯¾âÕO©Ÿ]UÈÙ:ôXþ¶$…ä0¤n.¤­{Õi­gV¹{“&p(™ât²å™ÅÈÈ™’ÐCòÏè&ÌÃ2÷ýkƒáÜl ]b¾‰O¼ÊfE7Ô-²¾}Dýþ$_‹™=+W:ë”1Qä‰2RÿŽ3‚܆¸º€ßÝ“]Ål÷œp øëŠ€«ï+ñà’A À6Aï6dìv8Ÿ>}**:Ïþœó,û~3ô‚°_ïzŽVýÊ&·²êhXhÜÈOÐô/b8ÆB¿àÕÂÄã3ÔÀcŽ™Ì­<‘<ÝX_ :¬„ž$Ý݇"ßQ­UgeeM«lc@À÷”R èæ8ˆ÷Þo)x!Ù"O42`¸Þþ''—O_ÇÔ8KL‹B6'd+kmÆfdGÌy$TÖX÷^++cÖÐ`ÊÓ¡œãͦ¡ Í`‚GuÒÒÐ쮯¯ïî.TƒŸ—H-槤ÓÒ궸oRðpNà(R‹¹[_Ò[ 1õegò‡CV¿YXX`ç™Ù-6:èW¼:ùóçp¹CFG6·B-}àCñÑ5??HȽTÀŸÑ,A4*ƒ/–}%%Ony9Ÿ¤ž†7ØfðrЋ{rrªx‡Žon2@†ÙÅq!Ʀ0®a¸®æßÞÃìÌ”5èsaLEÜH0 ¾ìŸïÍjhj*¾Qqgxæ<_ a"++()Šæ°Ò6ì¡#Ì%)™+¤³?W-s±‚æ¶‹mMòä¦íXÎÔ˜ÇV£ËezªKË‹|i«þÄÂ[Õ|Þ¬ ŸÁæÁ[Ã^ý òš˜fºgÎö‘°3¢ÎY=Ò¾þt®—ÖXö¯‘Ð1? »$Ì­jx@–=¥³„Ä]ÍGJ*Ïïφzê~Ôïßêè»V¹u…c¨Ò™lW™4qËs¸°JThÝPêѺ°æfpê†7+ÈË×:Ð-|qßnlæÈ(å{Ä"ør;Ûó›ïÉÚúÕ$ÒwwvÏŒipw 5Þ—€P ö(bm‚>ÿS,Õ¨ûËòg3eI0Øs¹¬è~OŒŽ&ÆÆŸŸJ»®„žæ222Ê¢/öcJï‘uŽ€T”âÉ»´oJoSSSeù6}ôaÕ« ÛÊÙVxà:ÈÉ` QOÚœíðHøgaîˆ ƒêÅV¯ýBŸcCï'æËíAwww¶çÏw:c9"©&Ö\}ýü˜ãh7@®¤òO\Xݸ+]W»Ù¯au…p“ÙWD}° öh¶ï10º«¾k‚´À? ï›~ýÍ›y™ÕUEY9þVWW76±àѱ¹yÁi.»&ñ: (½§nkŠAˆ™éw*%=b$lç{繺—ZžÍÚñîz7ØŽYZZ†’¨ª£éŸBóó™‚å3`‹MN*jätÓS¶â™Û;ð ª#¾¾Ç‰ü˜]pÈfŸ%1ë”HƒGȹ»Ûk§¹ªÝÃÃ7ŸõJ1ð(coÁÍÎ]ÁDDÉ“““½½Š›bGˆ6‰À לüX‚“Fí£Lp"2&2’œÿ üí¯Öo>GýãºÅÊZyâ³¢fʘ¨¨©ª¡¾*?§ñ\±7oÞˆ#ÉÚÚÚ°ˆyó´>{øimÛ®Rü*eÅaY°SÔæaà‡¾«««A±]Øàß‘+˜:xìææö{± y~2iä¼k¿XKØIÿtnµ'¸1#5u,¦0ñIÛÎÔ9$e’ͨâý˜éÉɉÃϯ'õ6#èÎSÁp%,ä–L9Âp‘;ð>©æÜõ¨ ..®‚ü—åÚJŠŠæó_¬Já"VýøÏŸÃ2ßøïáÄF|³ì‹ßû ™z&Ê.-Ý®œDÛx‘ÛÇhÔ;¥|ë?,œ3ÍivÏAA`óªº:…§½ýItV2“‘æN@£ð¨jÌ:¤/†¶&Èi0ì:ï#D’T·~=Â}î¡Hâ­Œõy‰Š‰‰`Zÿ1]sÓÛ_âGó_XOæ4øÛ"“r o2®UŽŽ~” ÀDGÿúíÛõå%°†ƒù/ ¸`ùðÆg.‹è[<ºE‘11*ÅÊIÏÞþäÄà÷ô €z½b@7ÎU?}ûóëéæ«È:ÏÅ€À^¾xÃ¥”(õ7«›œ~¬Qí–Ø›\'§FGþ+qN¡{–å0‘ŸðÍõu´·ƒÃÃïO(±q®G2xTàúÍÎÆ£ƒƒ“«ÕÝQxN'sR1¿õ+ Â|ë¨øLç^æÝ: RY”:Å?‹ucJ«§&´O·lä =òÚ™|$v—öBºË;“ÀÓ×éGÍk“[pϽýN‡öGÉ8‚@òÁ È-ØOÐèã?Mky+Ã|Ì\œH+Rá‡Ü*ÕÈäë­ÏSuhK[[Û ¸ ÆR}²²¤õññY‰ãKxùŽŒi%ÀÔ¡¼q¿ó$|*Æ5_RJ¡S¼^M¸ˆÍBˆ߈6‡ñž¥!s{FÆLRó³þl.á YnÏ“~»ÔLÀD'â¸ϘH“ýäCh$~zz›4nŽÅ( €èÌÂW½g+ €(;;;ËË£’‚¨¤Î b·–Äß;0¤u~/ŸþýË8=?Yè( ›W\sÕΦþ½æu€ù¢„?__s"ìˆ\”°äy®uP)‚_‘VZš›¿óûwõS™Ô`ÚÇòLhÎfFÁfö±×0#J¼0>>>qqñ'OЧ0]˜ùÈT'}/WiPÝÝÝM¬Ù"lš ÃuĦíh² ¤T›u ~ž€è$a %0ïþÙ›åБ%ÂõGFlîSsÕƒÅyò¡0ßœƒb¨kiaxïL¡ ÆkDøôË£€4qv>è‰!j@ÐZ0vìÃó™AŽ…ŽT“&Ç Ï`K ËwëDúw޲Âd,Bú”S(±ªåT‘Ò¼Y½µZX´á©Hû¶4ðcœ-à#E’©;ñ5˜í—`Fœ=DGENÞ;Ø·Ñû,‹’ÏtP© ®_Ѧs‚Räs„(‘y[¡Éé6Ûµ,Ÿ)Á¯W¢º=žçp[ÝØØd(á¶2z1ÜGö`úÊ—åïÒa®Ô“bt~>=ÑóËEJx]àÍ‘Ìò.£ú“ÓzSü\ºŠõMd8Ì.ùic(mhhHøU~ÿ™ùƒÀb’Ì¢ZŠt3*ÔTÊÿlÅÝQŸmienrìÛì„ÛA*ÊÎ7G  ¼æ‚®­³2…B¯#įåe&,__ßWŸt˜²÷ÝGNÈ ÐÀápI))ºçoá–}¸\¾Ÿ½ïC?~P™áãã'ÆÇSÂE|Msî?™u³ª„2êä¸KÅÂW@_Ño=€­Ï”6QeÜÐ;»µ½²·æylÄ·ú€SH:Â|﬷ÿöÛÙçáIöŠTÄXÂæcÈ67ãÆÿn)_*æ¡ø-\%Å×S•µ!¡3ü˜…WeŽ%Ê´pýrm† g'Ä«êêeá^øf`‚À€Uºªª± ü¤]±p [Î 25•1ðLG$¬ŽhýļU}cŠ$6©¨¸x{"þÐãˆaä80Õo{?ÝEÜÇ1q£`¿þ\éˆÞ¾>ú 8 –kñP< ÿ„1ÌÊ 0µà¿oÒ»×I"¡¯¥4­–Æàã¢ÁAU&&¦/&.‹Ë¨$%%•WP’”ä6¬y/À¿¾=wß<}ªø§üÆõèËÝ>=ÝÝ+÷'ë3eZ•z¥ñ0˜ÏýÝ-ÉßôíÆ KQ !ˆ ðj™Ü‚ô-(kÞw)ïô¢Íÿœ”ŒŒ¤—X-š€î™ýäãE&bbb&&¢xùU"zQ¿q åäéåô«õ‹)ðñ8= IwÄ %Ù €Ö‹2vã¹Í.KEs‰Ïwgìé9ìa(˜Ë–ý°ð$˜ý èìß–ˆµBqþÀŸ®ÇMFN®¸À¾iù£½Ø91 ïqe ]Dšg{!…wÓÏ4 Šq qpÂB¦ŸÉmgœ×.T%¬ò)Ú$…o 'ÈÍAN,‰ÿȈ¥úˆ]Átº]iÌŽíááQ|›MBBÒÞÞÞÕÕ´°ÎÇ™ž´Ô”æ/aÉlÒ¨ðŸîŠ•,ëµ§¹”føvj[ ‡žÅˆÕ20W Êœo``e?x¶B y† ™aÊÌÃ%Ø ¯ß:kÌ2U7” ‰´‚Ú©Çß‚^~ˆ€–äDÇÌý¸ ¥Á)¨ÛÃüxjýð.ê~ð)>óåj»Lÿ£¢¤ÔEF|*ö Ÿ³ä—gÊÆ€N?÷sº»¹eœë[¥’¤÷qfí¿KŸ}ì¸ýWƬáBˆò¡Xr³ZFs×GˆEóZum£—¶–ß0xÁ±ûnœ¶„k‡vB,v„„Bñׯ_<úæ]¨_B€öž?Z]%¡¥ÍÉÊú$Éѽr¼ÚãÌò¬·A „ð¿¹g"%ÕƒûžÒóÑöÓNànx‚¤DBÓŽç.ü>Jܯ*ÄlÞà‡SE¸tò ΰ„„„\o(oȼ’:4~ï— 5$æ‡çRÈ®›í#º¤€#ÚçÏÏ— ±[|Ý‹n4¾6ý{´Üáµ? nðõïçÍW{<ÖáUUUøä¹›‰î„#E¶y€7:XhX>óBæÖóòÔ¦Ñ{rËï☠Å+KJã¨"¯™•…P×Íìå¶ÈLJîy}÷·#äþöïQÇý;úãÛ¿Ë3FÙHBNÑ ?èÓaÞqŒQùÛVÀÔvÜáηúŸïý^‚1Iúv‘!AAöc‚£÷N ƒçççJßK“]qáÞ¿iÿm†òßk,­~HöŠ«;d> `¦Ì]/® Hr· ÑÝ@<ÕŠª5!7'ù!wq¦·W^s·×™¤ü{óÀ|ƒ`íñ äØóÒ€«¿G÷Cù®PåîÀÔSU¸m3èüH¢{îi‹ºØ²"iøŸ“SãïwÜßUƒa“ƒ~Ç+z }–E(€<9¡,lw&oÐÏo>ÁÔÆhÊgÇ'!/Úuy~^ÿ†Z´º¼Üööþùç…úù4sÙ†½öÌy§åKÍ.Ç+r»©×~ŠŽáß5s”óõÞÆ1±8;´}]dFßnéqW‹±Ñ­ÖéЉmœün1_/ªHØ™a®ù,!›xÞ Íaµ*’e Gˆ¤/:Íï þEU ÞΓ:‹LÚȼù,é q׋ãUí“rÒ,MMMºæË ‡õu%Hƒ5öÛ·oÿ­ôϘwbŹ=õôFÎYì½NÞu«««ÌLóÅ!¡­j/^@þµ°R×ÿ@' æá~O?'áshtL6|W=’Éïq8@uçÅôAmÄdï)Ÿ%þ…Pð™-׺n¨1m9šè†+W:¨°ÅåÚy{?jóï^ Àß.·k-eò½&µK¹õ¢tÿ¯žu€&DëêçýŒœ¡A—h“‘ý 1oÇîHKWýÏ\صsU¯oonÆóej× ÓûÍûw+ÐÉ2wÔ44\R€¼æ‡w±8 )2n°2”¼< Ôûh¬e¤|>BÃT ¡e¢â5êœ óK@ãùg ^uK>sîdÿõƒU¹t¾^nfCÎ9+Äckôäô®ô½ôzÚýÏÿ@ѯR)W}‹ïµt0‘qûs°,À¥gð>Ô(WîÏŒaéÉù9ÿ´ŠóÊ: äZÄ næ@ÜÆÍ·Ý´¶uïj_ûÉÛÚÚººÖi½]þ¹Yœ ØÏ{•L^c¡à_º®Ãé\¿Z½Š]œ¯NˆÃ{=÷)àÊ´;ÁƒÅÅ*Éã ­ëõ",÷GûWçû"Žß‰é> âW€é=ÇÍä¿ÿ­Ëg¦vMöˆØ-œˆ§àIßþn<æ>ôží‚²Ž’ÒûÏñâýÅÉ:-ýÏz}KKßBî–;N—à\uù¸%fffvtÜÆÎv4+ ¯Òè‹¥žÞûà—ŠNcš»ÑwWùâ™݃\zÖ€FþùçÂDí¨Gi&^/U1b(ÿèÑ#À"‘¹¿Av†¡eGÄIùz{4{Ðx€/kóoúï>QÈÝ%7^ucä!Ðàaÿß½¢’悎»ò¹Í/àø…ã$Éc\@ÂNÒ á*•Ôä5Ã)Œª3ï 7 ¾TÚϯ4~Óê× ¦×ÿQ—Û_ÎÓ~tò0ÿ³æö€Ía Gl5XÿÛ _Sf÷/÷OÿÃ9¦'ýbvFÙ@6¾†h4«8]Žj ‹EDDÒ©@²¼¥Ò¸ˆ´eó“j*ËÙEÜeå¢+ÎŽÊV­_S&Õ#Vnýùbn;×BÜŽ^&ø`Чj»!_è5–Ëû ô!'‡û–ÿ¶µ¸)mÀÙ$¿££ÃØ…âí±Õ—@eÀd$_­CÀ_•ÍådW8—ÑçO~`ß‘¦F·uåãÈé´7++«×6îãuíþÙ äääãÓöÜD@ÓzÃPî¯ÂáßëCnÏÈEЊ8ZÃíAf4L@}Hïi?l ¡64|¯@nO œšx@¬ãætäM›ÿ-¿]¤  CÏ÷<ÁNŸ5«Ež–bíÔÞö÷ãUÑ ”tŒœ>[š."Ôs*9ÈDX\<'7Zǯ ©ÁœŸ}b ÷§òòòö+?~˜…$Ð+$à²È»mºÛ‡UšÁbU4·Ú.µ^E[+a2bøv¡ãzê6–¦æ«»Ö9G¨‰×6 ŠEeà_|OÖ*þÕðÜû°¤½ïŸû÷ßÍée›8ÙroçØWÿ;?’ÅìÁ÷öΓÖ\B<,OñiIHºnÁ¼O¿Wèóˆê,ÔÛ]­¦Ð²Û•¾ó:(ñSF”8Ɖjb.®üH²T!¡(l´>–´;é· >1H¥Œ´ËÆó$z†c¯sí}ÍÑ’\*Hb?]xqứã¶ùr¿´æõ7Ìæ4±‰¦àÁhÏ°ÊØ‘RÚçoé3ñ)€kZ:úÞ>°µÖðܨà©«ëëIœj0Í829è<·H)!~!“7†rG’Òwò9:R´~O ä.ðE 9k}Oš¬ñ*(Ǭ £nWáäæŽÇ›;äƒh©ÅÃŽ :Âýì™ ƒ¤¤¤©K `Q\¿,'ÌŒ~Š“¨­Ö+ÅÍÄélG*[CCC6̈r¢ eû)w‡ºÑ÷Ô¨_=wõø8xUñ III›Óæ-_§gf¸4¢£¢Zœ™ Ê^{ßWË11>…¸ŸÍ ŠXt£óó×)é› š¯ŸTa ÚX]=ÙΩ·1æM¡¬/1ÚÈöY%û]Œ:Ž7 m¸¤8ZÙ§òóñá€ý€ˆûz”õ ™9|$ÑθÝüX¦qúong}ÇýÝ5Ò¶) r¶4†*pH$4ßú‡„Üþ@ÊÝÈ8û žX#2uBW´Ý°àêú¨苉·OŠžLg4ô«üüÈ0ÿ­Ñì zS•wông`Q·5Eeåþ刑o>Gzo›GO̰êã}P)å¼Î½(9Cã–¯;‚ƒ€ïÿ¥7£,ÿ!O¸ø—IÒ¤þw`ï'ÖäÛ3îR÷iw•?-<`ºX¿/N6è/Ì.,Jãlcgr¹™ ”°†o«ƒJ¬£TˇJ‰–VÐTµé¯ôÜ_);þ55jž"††îgÓ®x ïSw&L_ì¼W ÙØûkz[VfÆvÅf(S¹[nú:eG%*8eçÚ4èoIûå]+†·sõßKf… ³ˆG„< UšJ}MÝ"ºàæ/ÂÓ&þ"å{ñõßÇxÿ\/ÿx›`ä,Ð2~”ÄÁ–ÐP]Iam³ªÏS§§ªŸôqåj&­5‹gv’‹ ÇØ,°Í[Å$XâZ[4O™EŽYÔ8PQ,I—écíßpiTxJŸª–¦…Ú2k´™à‰íq˜gOØo.&¾ÖI«¸çŒ*¹vyמº³ÏÁæÍ"¸ÎÈÀ¦öb~Lžï³ †Â>ØÀñg`CÕôWBãÏnç  ¥GE£ Ãkã”iûˆ÷yØ>Í.FÕ&GÓ UŽÅŠKæjÚŽŠ]ª¸t/EŽ“™›AI`­À›Ý¦ÖÓ»ÑY»+í+|˜Ê8‡—PÞ\5ï…£_†Ù\°6AY·ƒæ3Ís)…ek92‹“Jär'¥‹zÏæêÜ G.«ôPøŠêC,‡±Ä`-Ø“é¡^½Ì¯ìyèU¦%ÁE3¥…‹•O¾šêU<ÚÄŠ²ö3ÜS]–äJõŸÐ8Ë_yr36<¬®¥Õ×Tˆ®Ó-ä6ùÜÁX½ÞÙUOlLiE*Û•cc ÍÒn²àÒðÛú³°/,£Y4kFz«¢Åþ©C†ËIÜÍ+‡É¤úÝÑ÷çÎL% Ûã°oV«ýnfœ|äßRÏöRàç7tã·®J’£sÃõ&Y¥hÀJ›êŒ†IÕ”Šz6gßݰWÉêc[Ü3-Ü´M[žý×g—k†O:¥2—õ­4e/âÉmÿO ‘]úEƒ2ëuã… Œ<9öéW*¿©$3mmò&‹'ÀVžgÒgO¿_íXÛ`Ï vf»pº¾Ò€ÛÀ ú OÍÍyõGhq½m[žKìﮌn‹ޱV—¾_×$ÐH¨ŒÐF4\ZÀÅÍÑæ††‡»ôüEhvpÅ,kبÈóÀË)Bljl­¿¥Ã?¯f˜j²G˜hkhôø¸Ep‚#ÞØq@ET§ÙÉLþ<ìqR Õב ¤ŸH¼5Z´C¢ÍÉŸ9>™¤pï5Mø@~[i¢ þŠA{ËÑDÐЩ¾0u´¹cø™n×ç-ÎÁJ IsƒV쨰t+*dwà1.Œ²+ã.´û±LÜØø>5Í‘z:Y®yxØLõI½ÐáH4¼ÚD6²Æóƒœë¿·uA*”þLOÝ[ùgc€ÛÜ‘œB ¨›,Ša£ÃïºÁÚ2½ìÈìê]+C…+ÁÑì§sHèÈI.ÜbD²ðâ†,îüÀ”þ&Ék` ´•Ò|µ Ê‹‰'yvÏÄN» òï<À…gP X»Çéôüøñc¨_8kiàm>¼ÔÆØô‰¦íáJu`³ºz|rrò(a­Ï!*å}ƒÁä€ûl÷é™–¦ƒÖ ‚1.tóa§kE”‡l$´j K!™A¢9ðòtPüöê¼xöå à;z±‡'.Öy–}ñR× •ÕáU¼Í ù(\§¹*’`÷›‹¥x@]à,xC|ÛÍÅ&§£%Ø»íG¿­ì×ß¼SùÙ88Öçñ+ô+ ƒÿ|Y‚ÂÌurWó|ÌiÔ(Qü¼RR& °„Œû61áêÝ4_™¤é®7ŽL`!…YAñ×r£ÃKÀ¨¼3dËxWV5c¤Û:àÏ󇲲²xV¤é„V!Vnð…¨PE|@Iþü¤[œ˜èj˜Î©‹ºÕ¬‰†J %Áb&¿†.›Âßårl†Mp¹0ðÖ±˜VÀ»EqÆg¾ñljҴrï4º H¿Ä,àÄ㹓¥êð‚© öG5Ùƒ(AâÞó­^N©¯û“™ˆ˜NÏÐ a6—l–íÊM.½@Ž®£e!ÔI9HZF/hÙ ¤Â˃E„/1*™30hd-ÒqÛ<]E¼_ Ã7úHûl¬Tý*šzž²URu/ïzUC-?+=Øñ³¸y2Áö»ç¼'àúÄËÝò|–=(ßëV@÷–¨ó@]‘É]$Ô˜@ƒj 4ÕáØµöxxÎ1ž´êÝÞÞ>ÌÄAÔƒ)ÍbÝ3Í©ÞëÊM—‹-7 ¸á¸#;­)Nw}L\ý£ í~ð´ˆþéÜT±ŠÜ´+Š{"ðo8ƒ§‡§N·Æ´¥ªŠ×摟ýt‰Úw4\«Ë‹ ƒ7@áV›4‡¢¢¢*ŸôQqhf…z®®†Åzo ’œfGFFFÐYÚ­÷²'1ˆ£P¼ÇFÄÎ :7”¾Ë£ùí/õ{ýzk5ßÅ»Û롨÷ii^{»»»››"~§Ö¦/lmËÎ^}ý¼¡º¢ñ•k7$O:ˆöãñ¢Sí#7“,SƨÛRçßižÖu¼ú¬wÔ~}ØuÑ- E¾˜Ç&ŸÃÙšœ--Yø0›Y_®m bÍw…i^žY¦03?Ò÷‹tÏJä¾¼x¾ßM:5®ñ< è¾:~W¬¹09 ®p¹v±rRÙ&LŽ!ÒV]×åêl×Z(2p<õeZº‡ÉÉ&ö¶<ÍÆgvÓ5~ÙµIH[Tv*ÑZÇËç0ôžíÌü P^ª¾u„ªWß?¿T_ïž)a:)FÑZÄŒìú‹RL.˜òI9™1© õ-HTÔèYë9ª7¾¸ß×g¾V¯^½27ü¶Ä¸Á°L¶ˆzD½ùñÜPGêy³óêÒ*sÚû÷Ÿ(Íјž;χ^¡þGÃFí¡Ü3IŠÒ/=,ÖÁa: )V––:üÄÄܺQc´pÈ*ZGBBÂróeG:OĉҤ?]å‹`Àg›ÚÏ+ ì~é5P䓯náTÅ)vYÉ( b>’8Ø Öà#‡cÒ^鯩‘t.2\£¶¿“|ü¦_ëDˆÈ²aÖ;›™fÊ3Z¢˜š‰”¤ð"Èrû þ¬´÷ÀÍþíV3 r ‰¦Y“ã,€=ÏÍmt„üð°QÄœ—Ûƒ„ ʃo¯6T‘ÛÅ_Èb‰hC—xÁÍø•ßF {ÖjÛ¯½½ŸµLÆ’°J_í°fõç‰y؎刄c­r»â;?ö\SçD)ôÃÂ&[yǤD~ÔŽáªäÎ]@]CàÇ€Cgç‹{žê¹ª‹m¤”@‰aÐͼ=š!œˆ‡æReÒ„«jÑ•…¹tJ©cu²Ö×]_‡­M`¾ 8¤Zq <² *£fÀŒ p⿪61ÇÒÄI뢴6˪RN¢Å"bTü’Ì$Ã8f£. @ƒK)1u¨rÛÿºÅí&5z¥–“FĪòN‘º T¬J"+»ôÕ‡šœ-Ü ?’§pNò›˜?˜œ½‡­KY€GþQU&Ê$´Âè K Μ܉²Š ZzFÔNñ Ÿ§;iU¨G8Ò5™\ðææf¥õB,’õ«ež¸×`Õ|²&æò§7mâá¤T—Ρ&dîáÓõ£àËì^lÏŠ˜N†¥••£"f¤ÌKP'憘¯Æ1eä|xÇ&ˆË¶Ëƒ8*åœXKìdùײ9 ®áùi:$®Œú §¿pš]³µ¹œWYo)Š\cÌäð_1ÀÙÆ>LßLñ‹xÞóò¡è=†Ð8µÒC†$_$ÚÀõ?뱥筀ÈéÿC˜[»8<}®`Ä3q?1 8&*<4‚´¢ÇˆÎ÷0°üדž›;¬=œ¬`…–N•ÛÛ"6èØW4€EëÔ—ÕY;,p›@|.wêxy_ŒxBÌ7a%±e ÆÙx LT,tt|zQâ²ÈüÇimk gƒ8C§3/d¢Ò:\äåQ/q, †6“D¤DX¸Mm)X‘Dª|D#GÃY5 :ˆ%ß}bÃÏUÏnšà›ÀÈÝuF‘òq ‘FAC6l9Þ–©†Ò£•í{¥a²$®æÊÖæ@Ï3TûÏz¥¼Ô3æ ˆp !Ój,¨Ù{0÷¸L„†¯TµhúWOÆ0Çz 7ËE`bÒtŠjž¹7Z ó ,ülñ°À Á’}»e­S@éýÝß5m•¿â~ ÒQèªú›³©“þððгK•ÂÜ?Ã(Æ¿Å3%mÓŸ =–ª(Ù„ˆLJJÊ¡N2cR­M:ùº´ëôBì†/›Ä¶ï‘+éh{´!J­ýDn¾Í}s˜|GQþûH”TÞ ]«Ñïw€‹O‰ 1µð^¡;?ÖM*{ïJ÷µñLz‚dšIz"´*‹ã¡NËüÖê,z>Š≴9Ì”©#„|J_ê2˜FÁJîìºÔ‰c…TKÃaÄ<$Åq°ºGÛ:ãšäéI䌌ïB?õ§¥õ²É Ñ­°01»qV•JŒœ º‚.r§-iÅ¥àÆV ³3º䇯Üázwo· ý'2úˆNÕ…–(Ê_­^6‚±­a¬½`{±°Rû:INSQüxÌRbo@]idò%Ej½E[) S™Ü™*îÒìö0—ذ"¦~Ç‘‰Fص¢z,Îi;îÆã1¬y‚XT ÐcŠjmF 3³–‡_Spé¡‹Fu¨¶Š‚Ürq;¢µ›x²Ë‚6V›Ì~ÒeÅëžtž‘¢ÑƒüzüÚ¹ÓúÌ@Ç8\.*|Ⱥš7?§ùë!î•\1`–z±u¼9RœŽêuìÙÎÝ‘8äX‹ =˜B;ó_¬Rƒ{gÈ~rI‡wÊ:t[õÉÂ,JĨ»(5|òƒDJ¥uÏ)”ß Q¤„çŒÂ÷"W”¹¯›X GÙÑ›)“ïµ: šÏÕ Ǧ ç™6÷&RÜ ¼WŽØL½4W ä}ϳú‡Ý`JMítB„|F]‚$öQc ó0æˆFãƒ&¿òÓ}´|D8Vw*ñ&q튯«ûw á'+Á®tu ?³öºõÑh{BÉBÔÕ»‰ƒ(‚s­ƒnÖÚƒ®9cT2`¼N a|, »Ø¡ô™#ÆV¸ÏxªƒíC8óÌ:íuc†Å·0L£åþ1ÖÞü—õ›Kä*  K§Æì%Z7±§TÖj¿ëâŸBµ·¡•'Ð!êÈV‚õ÷V‡|(cFY½ª}ÃP(7ž)Ó¢u-H„MÚóœ•`Ð*Flpö6.q8R²½¿»uÚxvüÜÚò4766¶Åc÷þÑfh§k„°|àéÆÀ`1x«ßêŠßÃ\¹;™Næ–HþÊî‹· ÎÅ—‹;Ž)cøÎaçg ²Ê¸aP´³µf2‹Êß< ¦Lt¨A Ä‘+ëý,›öá9¤ÿ™¦÷Õ™ƒMx¶tø(3Ø;:%û`ìùrI×i§…q`¯OiÄæ£Ÿé¥;n”4í…pFÂJËÍMŠq˜_Üs'4`ÀGwE>4Ù^ôõãþLyr"L9‘úv¿2 Ut·Âa® µmh¥¤Ri3¥‹v«h…Q”ÑÊW~ °ÁQµiy—«ÁÏIÄIvÔ"6ÝÖ9íL~N—ØdÃR`š5ðÒƒåp¦ø;Pà«ô‡ôx¨¤Ã£r¦á~sŲ?>¿äðç#ºŠY¶D“V¦#~v<µvŠw×ûOÚÑM3Ý9# !ÙKuž Ä{„Ð…É![?$5`,WŒÌ8†¾ÒéGÍ—/_ÄálÞ²p¶¤rÕ=Õ|Ì܈*TÏíñ<{Á‡£dýv²(üî £Š}96›Ù°F8ªäT©ÕXAeþrµ[~¡{¡`È 1ê±G/ø8‘8÷~{ŸË×ÖÖV(VâÔÒØ3ø^û̉•S-2lDo–>nÚóyR³%RX‚ì_ð÷ʹWÔÕ “ âÛɦ­d¾QÓÔŒ4 ÀK‘Sg4.^{äÖ)Èßqs v¢F¸˜ÿŸ5[ VTÍ%qŠ :3ùͤ½ö^eQcYMöåž™“¤w<Þ€y“–—(AÔåþzˆ#c•ÑÂ8 ß\ `!Æ©i”.koωòÅcD(»²²2æ5;Zë*bõ•¬¹P;v$irœ`‚J)…{Žy„'>Š”ê¦êmF€P:Hò¨xwJ ÀˆY„/HÒ÷ø±¾éàsÝø9G}–ƒ¨~ M0˜–d6Úµî!’ÁÇÆî´™4÷‹äͪBtýG*øFtT:N5*ßQÿQï¼  N8},ôX««ììŠÒà«1Wå=Ž·båŠÿ*0§™ˆù¬°¾3Sǃ«ÝáÒvâºÈZy82©á‡ÇL¨ENQC–ßS@›†Ìý¶@Å#ìŽ ñ÷§ozÙ•bÅŒÂ,^ †–)u'ÄÇ¿?…º³=gƒ¬îÇ^ >²bÉÂE„§0çtÏRŠB G¯Ï÷UØÑV»«T1~z|,ëöH¸þ¤C€¦Fqì²Ô¬¡¾è‡§p^ÞuJ$Dƒo­ }ÝìL36xز"nyC™/ƒžV(¬¸ò]Ѥ¤§¿éÂbêœÜÿQ;ÐÆZÛh-„’½J!ËÃmZZ^f*Kõ‡£ê·: ¨}%åç碴'_<ÿþu:ùëíBƒ]1½«Ôl…>Ú¥ÈÛŸÔ>(Sñ¿1-V&øÉˆ#¨‚Ū\• 1×1™À/ˆC~zpÜ$~ ¶›ÅnŠ „K888–Á,¡[eåå/ËkW@›Ã`X4»`SŒ;ß?§Nç0†6̬ä"z’ƒ¡#*¹ü½6¹5.‡ˆˆ Õš<ÉñµÐpƒãÇF91•`Àá+ËÞñª|šBÔûS"¡4@aÏUÏŒ”ɤñµFÜÃ>_9ø;ô±?×o“sú4òVT›4Úë–„q½,ÃF„×>Þc†³XNÏ0õj)ÚÑ'îD?ŽÕù´ñ`Ù… ç_:þ,: tŒÎoñä-¦À¬¡A·ç?ʵó{þöÒ/NmAAŸþž.Î=ˆø °­oSÚ¢Ë>ó˜Ú>ª/¶1Q6¶qòÜòô6è³ɳ·?±¿ªÌ)ôX¢AaÒäH±Ãô‘ÿ#óŸ£åü-Ž".ŒŽRÚGŸp ” sÃnîoÿ.«|Ð TT´VÝgÅw“βKÊù°•N]]]QœI-1™©µ.pMØ$bsÌÄ€ñ u¾€…ü¼˜öí #6w%*J?2ÓwSøŽTa8LFâââ’Þ‚1.þØù0b¶<¡Ìk±ì‹0 ƒsŒc,TZoÖA˜ò$|> ;èÝ ó>œÑó=6/w6jåƒß¼ÛÕ4çOZœñyÕ#i/^RRBm¶õ½þá0ãå±±wÆÿtü%¢Þnd‹Am© *ܘóiÎÞÁ³™™™¨Â›ç2Çd€XÐzñÂg8º´ ýÕ^œSÆÔßÛ»Ñ#Q‘W/1Fþ1ØþE`ö2éñ[2Ät]Û-<ó‡ÈéÄžb t½ úæh¤7÷A:¨µáïë(XzdsI¢œ•9úd ]àj€ =¢®›]ûÅ&ç?lk>Rk°iâoÀû4– °¨6AGŸæÜùYóÀÒš£ß|^íKjzº!Ö˜¥/|„ÀmnÍýš«Œ‹õ³`¸PØW ‡ü1" LYYGŸ¼åî›À'Ÿ–u©2¼9†j)WÖÙ¸hL2­ü³Ž÷ÓÞÊ4<ƒˆˆìÜOçãüa[N;úBtÍÜ/!æB‡º{9pÔìü&Ù@·‰i wBùœ÷w…Ån<Ü ¹¥õAFSXÔW£#B˜‰‘}¡~+É#ñò”²m¤ïçÃvëÄ2n¶DÙj2GF¾mÕ®Õ½z‘iö쀶ö4== žY³Û5W¹¨TÎOÖ×qñò¬á ¡VÀdœ—êÈwg‡ü*å¾Cøn@7/òa¨5©]`“/"÷Lìܬe©ãÕÒLþ.¿•Ûja’*H÷ìN‹¹8V/Ç왌£·±¶^¹ùêFþÍ !ïèf0²õË>#°ÙÙß_|üHø¤÷.í—ÌëÍ­†g¼†oÅÂÎ ='¾x$—y-\Åv Û ½`öeÝßÄDd.MU’bŠ×°µåÛ !&m{ƒ‡[†ö½|ùR÷±À—=ÚÐçl¤]ƒUÒÞŸa)=F“| *ì×ó!ㄾ48 êjA£Ösq*Ý'éd%«ƒùAŒÕÕq%‰ ÃßË]²ºPoT«$3®ú~«¯š³§°) äÐñ Ô_è’£ª# lŒ)±ZOz½I‘d-2cD%?Nþ¼D¢=[r¹ê нù‘qÿÌßk;6[Í®£íÉZ-ï鞤fz´IÄîK›azû³©i_îsf†ò)Ü<“ºÒÅ6¼tר‹ rq¢…©µ¤ê¡r½™˜o \…¨ ]X“ïCÜœ†††òÅÚ¯Î÷ÿf¿Ä6¦á¢Ù¥yoÊiÞ–¦ôëËæÝVWW·I}MìM<—’aaÌËA˜z <.~2û7Ľgš1‡)´šáú¥¢¿H¥ÅnÊÃt6yXí‚ jžåC÷o˜ÊGl[îý·Þzé«`kËN÷6‰6j+µkÔnûá$§$Ý]Rlh|üz¹ ûÅ râ…DÙŠd9ƒç}cccUo$(R Ý228EðÀfî)¹¥“6ÞK§X£Mž‚ÐK5KfOý8É‹¸…ßîDåèïÝö¡þΡ|Λ0§ØW˜tÐ(ú)<’Ô®ó¯ æBÔ”ßã–”u´yt˜mÊ’thihhõCAÂ䓲rß¶ïn¯ûŸæ+(²”xü¤ýÉÂß°µÙïÕEßÛ¿¿ìYžìUÄ£à¢9x|“´Y­ uðÿV­žS„*Õ5Í×ó&0q}Rª¿>áÿͼ ¦mÔ÷o ¼¬ïжaÆk’ÅrD¿ÿ³ùjé[-ݘvP½ŽÁ“ŽÉÍaRô©ô1©°ò¢m_ó„äcÒR—³ +u×ú*Îô[ÇÒÜm»òÉÚŽ»øÀÄxœL…²3ƒ¦½åô ƒ^›Ã*°ª™X^|üÖÒÒ2uØKgü2?äî³qà^Î*[î€ÚÚÝU«L¶DcúB»-fQŠ_Q½™%b¯Xš;žûõÍÇŽŽ‘‘±Mó #’rä™Ú”ˆ”šßo}Âììì®®®g-rÕÔ½ð>K17ëÊ Vÿà'Þ•.€Väw¶C2Æ_v[þ"ÿíbãîç—å@2íês>H.UÖ¶‹ü9H–¹ŒhÄ¢ö9YSZïRô¢Ëõ¼þã²Øî¹û^¨÷á(,&`Ý9¯a3€ê/v„Ü7LHƒ«ŒÉo›qÚÈQЩÕßt…UðÔÿl¾ZjåAR&ØÜW;}™Y^ùQóúïá¯ë“&VVÖR¬çÄMÕQïƒ,7Ä´øÒT±ŠÓ†*þFŽLH°¯ïÅ%rûh¹ã~3ÓìÏÞì*Âq®Šu@>Ó¯“MN†6±H$²çŧþNïß‹SáØó+DÖXYpÉ-Ј×Ö( 5æ;wäÖSð…\ÆNׂ$»<¬ö¼‘é «°0¹KÕpO­Ñy?íÞ¼TVèɳcÝ\c/ï‰õär­¥êÈé¬ïb_Š8LG¢2µ'XÁápâÅ? O­úñMúâ)ÒÞ¿?S`vQÝ>à$Êq2hqßtí.Tˆa™$œl‘$Tà…²žþ?U%B´øèè¤ì5ŠT?.öj¹»,WWBFá&«ªªz²Ö·?W°\ ##‘áB}8}K3³5š¡ó™lŸx“ˆ‘7i“?ÙoÄýü`ìrb8ð󨵉Ÿ‰£×,ÜI(u?×øÇ6Úê{u\ðOÅ0–-!«Ïô:>Ÿ’NJ)tï çb‚9}ÔƒTzûúÔ¬ðª÷œØ¶j¶@¼-@~ÄÄÄl;â[\\älgͱu‚¸wÁ{y‰_f ET¦ddP ~²N9Ò ê Ž Z`³¨ñÇÐ9é,òݘíGÉ…EEfÓªÕ9’7«a¿Ûûâh(â|cñy_àû] E;4vø(ÅÓö–tþ]v2_. B³—c…˜êŽM”¹A¾?¦ÜÖ×|š>*”žeèñµz.Û UøõZº?›rBñl{=‹Y´åääf6*EŒìk«ÏFÀ„•A‡ZÒ¾çÁgù­×‰È]Ö¯JÏÏ݇þœ €±Å6j€¼Qðf±íóEÙ§!ouä¥U5ÆârDSŒ¶!±òOU0vÐý×M9páõ {„›öš–ìÐì‹[â,â£%XC©m„Ûë}ëÏÆ”xÅü4TTýp[ägëû2‡ÉÂÆ·n_+â`úeÃN9=›#Æ9°§ϧµÖ×ìµHP ÞKx¯³»_½9'‘Úcs/cÝߤ ²¥õwø`dP²5B<ûø{ޱܔw›ÛË»@ɶ—\äxs1sùé»YïËŸŒq¤¾„\__O6î•>»1Ö¤~̦áûd›¸>255™•Põþä&bn;^?ësUPî•È u{?t!¹‰õìëCñ¯­}—Ú_›»žµ.[»¥ò£“ñtOkwvMj·÷‡Ro$‚¶ve[oÎTÍÆ&KLï“«VòÈãa÷¢FíRyï/ô¶wåkGf‰ZoþªÚæ>kç”9Šøû Ó?)ŠN‡øŸN8×&èÆäM¿ž•Óuwwÿ~ÖÆmÑA‰‰n~= íî\ ÝÛOÙ.Ná°FMÖ;-g»jÍè9ÒbJ¹>ßågÿ«H¥ËMÆ™J)LÏçcè 5嘽05NÇÿ‚nR6·ejæ«+ô5å]:~=º¾™¿®PãÍš*Ní€ÑŠLÄÍýWUør©UD€ìO¨üó‚w‚T±é5¼YÑû‘La¤þŒkÂ¥™­¢¥¥¬­øX¡!Ÿ“;E=ð˜2'„®~kcƒÍœè °º$·‰Ìüüÿê61Ë4••༹ž £ç³=øög™È¨ÜgäëYñùõ¤¹&®’ÃþO UÔXöGü³ U+n%CSæ|5|¤þºéU6æunM¬%ÇZïP[ÒUFv^uY®&á5ñô"AÓ‡6@Ì›)•𬪮ú)?Ï¡)iÛ“ª*Š2tó»D÷í[^¶‚†¦Š‚© 8•qÐÊ Ã…òðgººº(R-^=/b““ŽnÀ...¨¨¨{¢²ðgñ ¹ß+UòV?`ç´ï[ßþ@ĤyFö™…‘v(PÅY¢69ˆ‡êà­i7éøªVÌÞþþùJä>›«oo—ÄH"µc›!+æeš wóÓZ²ß½O¬qŸZ'€h©$=¸‹£Â¤Émëåt”ø¬ û¯;ËÞ³û1—Ï\|—o¡æ0ÂA>êÔ­•øS<¶ÛÉ!z¤Qrùé˜Â”ôÉVä©Í¼õçÓ¯5QN CÜŒœC¹\»¼tñJjsÁié(üºG_æ•ùht*ã“ ÒIËl4m-áÇÅ‘þeœ³Ú×MYÄbZ9õÑ·òï âñ-ê3?Â…- hU|bYÉ1Šfff)‡öEûAÎhA‰¢P%œÀ¹Ñ‘l-¿`Ôä^–¶1’åÙáãá¥ZQŠqÏ•ËpÌisã Hzýª†Suˆ u$Ö‰$2ñÄîHñ°DQ·¤¸Fr$žý5;¦ çÖ„**UfQKØÀé¯o¿ «?PGG§üÜŵCò7|cooogæ{áD¿±µEAM}ø¢§€øÑl aw$6ßÕz£ã4¯~¹6ÜûP#Lâ®ÁÖ¸¡½I,/\1³Éì‹‚CÃj7GüjÑ>ïç{"Å$@ÃÿÞ´=ÛŸ.Ó²³ãD¥43Ä/•¿ÊF‚v$ ªž­âg|˜zLjjÌýŒ§sðeü/dµÂ^Ák²÷ZͧnÏ>6ÂèhëУyͳ5!ÂÝoš²æ?ð«±É¹·Ÿ=·­MIIq}\»hY'{Ý2iuã*ÏèÓ=uy3[I‘‘(]€û·š ê@ÎúØ Ö”†B«‡G_ì° \¿B—CŸÝöMÊ%$žúI¡ãt©.‚u3¥ù:XdÒˆR±ú•m%ðöm'¤ŠyÒ~bù5íWHæòókX¼órJ¨©ÃCøžôRéŒë)'Ð/Ö[½Ø_¦•öuOå|™À(•›› Œ‡À%"ÒRQy®÷f¡Þ PžÌZ)ïã÷ãÒ^üÊW†îî«5s5à×eö|’’Ÿ¼ñŒB£DÒÂ}b{‡°)—£êßvš¼Õ%¦}Ý·µ_žLæí¾Ð=êŸÊRz`"ñº&P?Õ­:Ý­/ÿ‹C‰„©Á³,yܸ…`b““oÜX(µƒæA€è˜ÿszÊköõÀG¦¤*ËÜíÑO߇ÇRaÆ¡°âIÜ @Rc °ª°4XEp½a.-?¥ÄÁŸp\¾‚´³Ü÷bWò0mÙ°ÐPtH!Û9±üZ;±;±x Ÿ¼ÉuMþŠ´7Çn4k­hµð½žvooíjTävJ[×Ç9ëxëh„¥ºŸ­{¿ûýÑEn¦¢’ÁEHº\¤4¸¼RR\lù(#Ä8ÎÚDLëб×Ä´x,ÞêqsS¾îåÝ`N嶃8O£-Pj…ÒM£»÷ðæ†|ŽÁ›¸3¨›FÄ”*D¨eNc£²À»A1Æ 1ôȈ ìïß—Ò-¹Â9ŽVä½å/ø,Úà»+]Ê9A‹òD&p û$Ч·z󛨖KQ’€²Í} aìÍi}¿³^ôÑ;^üJå3fpÔóüM‰­«äù36Ö£vîšcʦ¥Fo¼¥+³må°/K.;GIA «°øÏûÀ /àvŸ6A5öQpÛú÷êy°Æ¾.ºMн}ÔÜ1tpí•î¥®Ì ‘A°ÈÚSÅ"þ°Sm ÎŒ€ëÖÇP}Õ~‹@ÛîN‡­ïæî®Ï@ÿ¾8ÝÐøüŠ®ç—ƒcÊ,_Kfk/b:Þæ4÷6¢R·$Æé*҃н„èÐäŠCä ç4[â&Ëqxáœqp ÜòBöm^£B B­ñªˆ)‹¹tع$ìM/ØBEQ¥S3ö©"dð¶ýǤÁÜàæÃË£¥Þ;…¦mÀ_¶†Ò—à>Â¬Š††sÎußíÂaÄÑþ'f$‰¥š9?Œ&ãÒÌ—çääô<ú‘n$y™-þÐ|´¾¾—‡Ï¬ºÐ…'`œ†p%üâr {~ùI¬W™¢Š5, ùlìÃUì³U˜Å¥•«Ð ìÊŒH°yýC‡,ÚCO"ªià%Cà›pTÌøºoU«áãíϯ¢ìì=££ñæÅ¼ñÚKÍo‹.`•†5_&YÃLôJ5h²òTLÞiu±?ë](pº5)©€­Wó›ÅÐ:ÀÜ¡Š@DT¾¬lÇï÷÷²qp'1û¨ÖáÏo^JJ‘2ÿ×–!¶·Á}âe¬{C¥[-G1kA¤Ý4oÆÇžyh7¿J S½º¸²ÕQ¢±À?¥”Ö8¤þ~–“y;±ÚtâK̵5èv­?<ˆÖ]ÏQ,¾YIÝØJ‡sàY ß»ôt_M±?øQ÷ðÌŽ Qç9”UbŸõ dqyp¤4  ”Ÿ¿˜1ùæ ¢âÕÆ·æ…m½kâPKëéM€&cÛÊãüØ”â¨%Ü ògÇÇ(Xøk/u§ Ýñ\ûß A‚o¤½Õís»³9¯wŠý߯A Sûáó¾M2=x¨ÉÅÖôÂÃë›"¥æ7à5C<•V¨¶óÓfŽœNúæŠÉ£d®j?FwÃ{ÝxBüˆù´t"JL=N7Uõ Øõ_Ìö *r9ªÆ­È/aZ¤õ fxV‘ý{̾‰Rb|®®æ7Q&¦–¡ß1=l ‹ˆQÊqŠ=Æ1˜Ž‰‰éÍ„& Ðý±¾djP~JÊÈy›I'§§òÏ‹ ii䤤¡#Wö¿p~ußbÕÖÎΚK ÇO¡ºûÉ•€˜Jq­çjGÈF¢á?e&)êõ!dm5T^ËG(\¸©³-þ §%}1©Ì¯žÎ{ðû}´ø #ô5"ànà1@ZèC]X„ûœõô(„ öPeZ òåÙ¸Êʶg Ûw%ÔWœwif‹wÂ/4Ó÷ßÉí6Í›ó™4rOmn„ÎÉâ¾; [ÛËXùK/voüqé_iX3÷ôàË,¡ þòÍ•Íyeî:^ûø‡-]Óz"Fù,Yý4^£AÊwžsw íM—½›m.$AÄDE7:$;<ñ@¿½<º­ ºW÷86,RŠ¿üõ3– qá½od@ÈÉ ¼¤# ¥Éèèb»ƒ?¾ß«1¨¢å<˜©bA Õ˜§Å@ÖÎÞ±‚4„~@eî o²îi~»„‹øÑúÞÞÁ» ”!`ö£Dj²¹ç/ÜÌ-y1œÎ‡µ‹Z>[®óCSžß÷ö¸$*¸§¿ŸíY«b—äª=@~÷8ÏUŸœŸ£¿)))ÁÀÂJ2 ¿¸Ã33•7Ÿ€@-Àö$ÜÚƒd5Û€ä/d;¤ý0—ýì}½ÅƒUáð å$‹Ë<Ûœ9”ˆ›ŒÐôí¡Drâb*m½ïFå!QïÊaeGϱÁQ„eGÒbÄÚ¡ QrøŠ= ¦mïwÛë²¶ªM#†Þ×N‘.„šì™œé"¦²²±é¯oê0 !ìwwwÄ'¡¡¡Ä»iðì1n€®uEîîQñÉŽg‰âÑGžikY[¯.¬¿ØþY7ÿûûÀŽ»±i•2~øâ“ØÛ†T>Ô»¹5Ôò¼c4Á E“RE¹LTBŠ8LPNÓ#–ü‰éð/—ì1‚ ÏEäF Ÿp«h"sÂù·h~,5JòF²`r*Óç…¦çø\Ÿ'ÉQX’ÓJ¦ç”‘µ¸ŠãÅ…©ÈoÚòXJ*Û<õ±®Œ†”ÿ•+²Fö;˜õÛ@—ßHfœ‡˜Y{~2ˆ½Ý#›&çyÀ¾äùꉶx¼ñ8è©©£òI€èßäöÆñ=wXGRÔ:óïYÞΖ´ðn­Ö ÜaNœÌªèpäÄ*€yŒ…èÂù@È GîN^Æx»1ð-¥C4½¡¶Ý½=œ§°ŽPëã9 Ûg‰8ÊOÖùœms+m×ß‹ÕR4¨ì.é…ãßEðm~gMJÆ D«Ë7÷jøM!™D ú”–†®üÕÚ^ž§ Z[PÛBÛ—û…¯üèbŽ-Ä4‚6|óƒé.±i„Zx\0ßLåË>ç‘O̾y*&<Ü©”È(]>¼Z”(ã4SNâJm¹Ø`ûäÉ“òIqÌ¥”¨>Ãê¤JmGÀV¯,c+ôÊd.fônæÛœ'òå,--­­Y·¾ÎöÈk·¸+²éÉP§×p°ßå›Íj½2M€| ÿüðñ=í4†J0¡N¯í`áóF(ž>Ö° I#6ݸôŸå|¹0Í<™øCÏãU¿¹l\Jå_È^̦¦ô2¦4Y›e¯7Éèé))1±Õ551UÖÊü.}ž´¼¢A~;¦7‹nï®{À-é+VZ·Há·ªZZÊCÅVàuE,ÝVÇ‹×{ðõç1¯nðø+6>ºÞÉÃÊJûÓG 6ë¹;ѨשÐ-ÃáxB““åîñ€ôuqvö¨å/¶Ú_Ýëc©Û#6bÉyÐônnoÕóÕ3¬ë¥pC\€¸èzKÉgx¸hŸ‡¡®£‰>®3޶ytÏZòÖÂÂâ £l üÅÂsÅd‚ç– åDµ²ÎkÃ#dC -¤ó¿"¥â4#í¢ðÁë þT<Ú—Øž†ÇYBÝ2ÍØŒqQÔƒZISåjŒ($jm>–|5©Eáß’ §o‹pî-Ì÷þøåcÏÍ!ú7,DY¹»wU¾@J™iýǪS•ó>F_/Q!<”aqHtòiÀÍ9*Åâ¦è,§‘D„b‡VI¬‘„Çò¼þ7\ˆU„wDYc†Áv ‡¡>© ¿t~³{.©Úuïôέ´â¿6®Ï8Öžró‰ãâÁÂtåg·zeåcµÅæQ5Ë}Ù½cÅVí$=[ݶJ_~ZÅb[ÛTN äÕ,QgB&™¼ã†Cåc%£ÉoÎIß~ª—mò2Ðë—I\D Ôm‚r毲¥|„¸¹±9²çë*ú"<ög’Xj¯³œ¨ÖAâyçé{&zðpdý¤¿AДÈÒè‚4B* (N>nP½äl)芺7Yuc^Ý1½..fßJ^‚A>héÆijjJGö9×ÊTQØ}±*o‡¦3Ø‚û žóKÀX¦<7ªOå‰È®ÚÅ}47·‰/B’éÿ²é¥7À3=]\\jLšä™Ý:ãQBhèålZ]Aˆ©WwDÑqÇP'´õw—ÞˆíwB^§CBmæåèuGí¦zBiµ|³J_'È£¡¯PÁJhÛÈú*ÑØÖÊüó«“×›lÅŘ §‡‡oL$DÙØQ0Ñ Fc²˜¨™Ôq¡âBj’áV=¯O·VƒæóRôûÀÖˆ‡Ï0gý“gvê³ßÏW"¸6@Ÿà~ â¹dNWüÚxŸá@ô§¥ŽûÇ/üÙ3"ÃV%à@&=‚Yn ,ØW€ÖíýhrÎØr¸>Ý2ýÁÏ¡»b̹ś„:Ú¨ìúB%\˜ù›x0ë§ ¼ â?"Q’’I5åËä—™im²$OP9T¿djâë‰!û² u›^69Ù‡×`B*NõMye„L®‚@T– 0"²³µŸÝ˜LœN'ÐŰCÃcú–õ# tÇæÔêÏâõ¡Ä…³‘tiöˆ[<ÿH'™¿¼íÖ4k¼Þ$ x$a¼F­Þìr„…0CæÜ¢±Ò²²0¨¶v#3Æ(nÆËgúéÆ$˜OLà9dÃÒb•·÷VAzG®a[¶È½€ü>?ýfl>´ZLå ð÷ZLJûJÆ¢-¾°çmšÜÎ1ôø=¡¦¢|°~`PàãFåDÆÎ³Dúg]ð^¡1žµIWUv r*\.>>¾ÿ(xvAÝÄ3¨J÷Ë•ƒšC` oõª÷ÃŽ˜Ãt4ð­)8Ç…ÔòYË»¡ A"½ù:¦ìÞŒnZ ÿþý{,Ÿa{à½A•aç¸v›ug".oõ«/˜Œ‘nç ŽÑêP~ÇɈ ÷“õÞó—ç?#|†YØ7@%èbZÍ.?¿ºm 1Hzv2Êù°ùxZÑß¼Ÿ!»¼fZ*TÄ#"J\]]QÊt£Ó¬rW(mv½×o³Š©ÆÙö(@G†à¶™’‹Ñ–¥A‡º‡ì„eš9òiE„ÔÛ¼ ,/™ëÙìÙÁls¥|H·" ÂMÕ‹QîêîÉiA ù7ûVkàÆ{3œa[ ¾%zë Jÿõ;̲I)ˆ*DQAߤQÅ›q¹MÜù〃TI“¤}±gô¦Ž9¼˜·HŒ‰é‚ÑŠ½iñûãBfáty¸ø˜å† *sÚZÁÄ`U‡êp†à‡ûçf¿¿ÿaäy;†‚Ö^tp挻>Þaw¢€)ðŠ#îiÀ»¬TßøxI“æÒûת;r¶œ‘‰ì¶Ö¡ü…&ª& ­bÎsq>Ãâ–Òc³lßH@<ö|ùI6ŒÚpNâçìå›Íåf•&˜e˜kåÏŸG•ýq?Qg‹ÃîMÏÎæei@qè £ˆ§SùR‘‘%rîÕ"˜ÿ×Û_« E“•xÉÅcëJ À­l; :‡±!<¶‚©ð’éIÝJ·cJ^6Kõ‘ñÞô|í¿œ0w^¯Q-=®ÎýI0Z²cŸöž«k uCBp©艉Q\Câ׸9ԡŶ MRøõK5hÖkPaʆؼ Ð ˜´©HÞ‘éÊfªMÊáºÝú~'4u•Ø„ˆì&-âê1I¥½­m­c=<#ƒjl®Î¢åE$¶ÔøÀÀñññD–A'\Ñ÷j7ciL9Nâô\ý h~i©½3õÏšAAµo¼ÖÂñÞSW:v®&MĈ!{1N±*º.ÛŒ£xXÒvR+ñ jlÞçC%ªt^žòäí¬ꂄ!ðzz·.M*dT¶Ï•çOÊÈH8€R‡’’÷ÖH"CvœŒâ®ù÷7 àŽ€úÏ”ëlT”årÆŽ0ió†‚ÇñwDxüÍJÜ @>‚U1¦¥µuMpëQq˜M9!.!²Coí5òx„ æá´åõÄ„ö¤hVR eqçéh–è#»µ¢Ã»ÜÜÜÊð­Y‚H–üâ×ç Çv‹Ö@eøÞ]›ü7÷§F ÜxéÒìJþúç¼úÜðL.)î¢É<¢VVSþÀL×äh€)WŽÊ²3뻚’š¸q©Ã|7çtÀF-…^*G€aÄ]ø=ÜL 7ÊmjÖ²D­3y=u´&®p¸“ñǤAu ëAåÖzM‘­ý·¼9Ø›–Fuú4I\C&Îó "Ez¼V·7&XˆéôÕѦ§€Á*UUUÕ‘ÑÈ{û:6ÿT­9L0¿"rÚè‹ 65ß5yùìøóke5«Þ\?1±æ—ŸÄÒ6¥¤¤¬lGzj;åJƒ7›¬º¶±éðC3Kd¯—Ê0ÒÏo^Tã€úG”i1Ñò?ÌÂ!â²ñ!³8¡>êÛûÂ\JDÄLÛ*jFòB#ºm_ƒw÷#åoªö².Ƹgå*ÔjSP¡ ï¡*ˆ׳×óÝvçëæ7Ë´j¶úž[f®²£s¿Αw#,(×!¡ÏÓ™×Þ ötbwzÂ[:÷HȰ '„¤6")Ö8Þ7ÞÆjógf/¸H9sšù[°üW÷½©"e"µpa»À_tuII©±íTÕ+Õcíé\ }KÖÿ ¶„§ççq‰‰ÊÖÃcc}^y¾û'ý±äÔ´´´ÔÔÞ«ŽË>Ü}‚´©ê\¯uëèè`7”sËÜ"Ÿ×+6w«‡µ0Þý¾ýÝnÜX§HiÒòÐë}½½køLç:ÏŸwD“q9ÔßÝ]ŸYí4öò÷ “dˆ/òüƒ·ëeM‘WO kŸ.~úýúÀWVÇ5öbŸÚïŸ2‘1 ¯4ìOŸ“øZyž8Ø¢æ¼ÛÁU2d0B8Ô:Ý0ï^»œus BLÇÑ YkÄož°ì¶ˆ¹;\–Ï”™ÇÝ,œM Örx> ©F£e±_g9E;ÅöÐÀ+[-­´ÔÈþèžraÁB¬¸J-T‚æô–"6Ä›Œ‡èC6vvC)¬ž”)åþ×§Ç¿‘Mþ˵;þ”÷>ÝDJGÀW‚ºêÚihx׃!ûáÃùmÇfj¶CiªêêdpQBÊìÀtÿ üêTS9u›ßyšßPùõƒçU@fŽé<]åÝlßèO²\çÏÞo;x¸<Ü ÚÛêäA*Þ«ó/a-|.2¬1á~q‡¥~û¹c ½AÒ÷çÓùï»ø×H¹¯$CáѵõPðè8çëCÎW| £™N//‘½<´r$J.žk?ËQΧhÓ Ž à1Z+šÛÌ©ËMs?wpú‘©vôt²r±Å6ÑëÝ}ÐQޱÁLû0Žˆ' ¹"Ù4¦zDö!¿ºÚûÚì ¡iLÑ—|£"Â/õ†ifôµ'é“užsî°è ÒÐk+Ì´=üþv0þ—Ð~…ª…jîöê8Û¯%ÛoÌœn~˜ñUsË»ªÇéx^“W4“=±<¬ÚWü6¸ÔØMèF*çŽÀ ƒ´…$…íÈ"µ{k—Œt£„O¹?RŸýÒÉÙˆ3dˉ>?¼6YÃlSŒËOëp’ä`¾NYƒ,®$Q<ÇO¿jûü9ŠÍîjgXÀíeI º^A úµ°àþ‰ú_PySÜçPøƒ´A¡SL2p`•nF *4gu(øgEÓÈÞ{àØF½ö‡~ŒîÞ[f¾‚ÄØV©DEEÃq3æ4‹T™Ø¯òè}´É"Ö‹ŠëŸŒ P36ÿ±f!üôéÓÍ®PDmk%~Ý‘Ãg §&›Û>‰NŽ ät„iÆ+…¸/Ú8r^Ÿªú¨ðt$S¸Ì¨Î\?ùæ ´•í[.íKQŽ›l§º¤P+WÉ©ñqõ×/óV7[YYY…ìJbÄãÀ»+µt^ƒ Ý-ØJ`·ßáá¡©™™cFB"‹|QáMØÐc×Õç\dâÏkòy&kŸ0××Wê{±ot/šIé=¯-§\ ®$ÞïxÊZP;‡Îh'§fvÔm'F^Ðßëxº§S)ÂÜÝWWÞwÌìla/h*C¸Á³9(CKØî˜^79“Qj­ðfKWR ȧݾiKÒdx.‰N‹ëo8–a«èÞ6-¡Ë…NzË#¯+—¿<>οÑ+R"H«w#‡ƒìÏw'Dƒˆ^¥j"GϤùMtWo²ÏË,ümG0jÔÀâWum4Wþü|?.Íå[I|*¢ßön£O?âîþþÓSãÛ®þ~,Á Üg’’ãy²L,`\¿ß+þFÙ„@:Ç)&_\·ŒÌ}lßú]:þhä1Çý§ç9UÖ¯_+ÇQŸ¬Ç â®ÄDGwÒ¹¾ž)h³E¿Cœ·Ð/À¨K[® “ë¼…Ž)„µ¥¿¶g½¥ÌFIàðWãêòúõ‹í8ôø,ôùœå7PjÃY€'‡‡£3¬Èo!ÛNöD9†®oo+DÅ}(¥]£^{á M6”ÎÌ¥þË—°æPýæPI¯_Å7gýLA«N³•/³DxXYåM‚¾G¸üóçSB£‰ý‚ˆÈH]ü¨œã„õw÷ýíŸ ¯Ð2¥' šÃ)Þ +êKPd@•e€zót.³u¹û«*ø²\ ‘ùqƒqv*k¦ ¾ØfÐäd0Ù!4ï´¢›ð0} ƒ—¦8‘õþµªcN¬+¿ ÁRJ3d0a?lBï¾Õ\——Ðe¥MzŸHQO îŠ2PêÉ“d'’e`tªÎ$æjxýWî— ÍkÓ+üî6•œh»•¢¯Ìd‹°´6E>î~ÈÅá¢^ÜÊÍI?Sú°tù eür!ïùfª–ZÀðô´°ŒŒyÅ¡Ï%ÈËËköTpˆ,RNMM¹U¶mmo—ζõ¶`ó0u®wñȯ¬ŸÚ/ÀN·ÀŠˆL×cÃΈ㵡†þÌæŸ• edƒ×ää³…»»öö;ÁÁ(=´¾“€§TÊ?»½Ö×O+Wœ.}é<[i  €î¤èàÀí¯yußÃÚhuÛTÄyxndÞ©^©øó«GX K KËûLÈ3qñððp0"â üû÷• ‡€ H´I0BàóÀ±¾K¹.qNôM,.L²˜ > ë!WË (éøÜMÎ8WoÕ ïl­ÙíN^Ø.È@ij)܇äkåÉ|×Ì‘hì™r£¿º´¸MøÄŸö~®£<)19ï&’©4îëÛ^´Ï3ku+€òü“ö ?¯êÙŠÏNà €»«»½…ÅT1ûãÍ"kw$3ûbG¸’þ»§îàNPA‹ÞÆ÷;šŒvæÿùÜŸOLŒ²ý‘I[ÉlæÇª·îÍÒ‚Ùc ™/!£tP&dRl‹ž{­í"e¥TöA3ýº«q8YÔ¹~úO¸Ù”¢8úcÙšb×ê•9Å&xHÿ0U8H¤¸Š7È6Þ²‘+†[’VåÂçX/€uÙ÷û(uK™!ÛÝV²VaTa·>¾6LÈÔ…¹{¾Ò2”s礥‡ÛNÀlr¢“““IHHêL±žZX8ß=ÙØîQéVÏT´’`%VúZü{ž‘2_¡ˆ1©VÙäïŸÐ6kë=Ñõõô¬â»àÔÈ}†ÍU¿ ;í²Vª”€û^8 ßü;Ž=ð•ä#’‡ ¶XæÀÑäøùò^ÛºI†9ê6Ó¶$ÛáTx8Šºppr®k=¹ó"c`ÈIK ÝàÑVãx»#it0Ôôé%çÆûòoª=„;`øŠ¸ÃŽ5슭­© Q;+_I¼>;ñ¹rõïÝÑÌj"¼D)×UD´ß‹cß²íSÐL ‘oðÚÕvšSnhB³6ÿkANJAó‘'¥M$à`²Hùj‰¶‚pEˆ¤¯œÄm(‚>º‘Ts²‚+Õ=À¸Ý‹Cê¾;sg¤ôíwÄÓ /‡¦”š‡ùÝÑ&¶Ò7‹T”!í®Ì¿?3fóoDwÁ7xÞÆi`û182&-99$¦'œ}ÚzLSªpÈ¿ªcšã˜“I¯©Ò·.p ç3Ó Ûc¿J?ÆÄ©|ÜEÈ7ǯ¨ô*£œµ`¢…õÝÐN—ýGÒ0k4î Q&ùsÆO«è&V-)Ôuê½ù¬Ñd‰¸xÅwÊŠ=¯qί u¬{‹ŽA,¡ø·†ƒ†TÖnF)JÃç ?$þ·ümùýᛓÇ+0;žþƒÛ{š­å_Âã•5\LRÞI™™Žõ> êÕÞä$JIV+ÖÔ‘<úBL2¿¶Û»!]ˆ¬¿/[Ó5G=ÀDì66ïV|)§:q'_Ñ>•l(ygû‰˜;£ÏÀEÑÒæ×"¦vè åSŠìó««,¿ºßnôì†Ò«óóÿ%U‹3y%Ä!¥ýÂ0rÊšœƒç MKÏU9Ôí ñì(cš"H l²ZÉ&Z§’T«RÍdËìNÉghvkBC»8G25h>µÈ;øA«_MK‹P”Z.2 ÖŠº´>ód©5µKáÏ“=y%ÏFuƒwtuèaú‘ƒ­oÎQW1Yf ƒçéÌžÆ}ƒìWá;o“·ì…=õE ¹¼ ê¯â*#*øµØœJ–ÈÉš‚êÒÓám?*1åiñ^‰§9•4= ß7g«¤{BÆõðFÔuº°)Z‰u ò¿›œWEeëͳ£˜$ÐÖÐÕ«¢X <µ §oºc‰P¿ÙH²ÙȪ³Åd»Ó£=vÏ©»£?-ŒÁïl—)@y¥_}æ~ò„BUÚ0«¦^£¯®[&EP9ë3´·Péd[ÿ™W¹hʱz Æ]3QÞ§ÒšúÉ]Vr`§ðߪ½a& ¬1Ô•ŒÿØ[ýKß“—Hû­‚ÎQaÊ…êÖ·3³ÎσÌ/¶·vŒ*RºE´ðž‹äú“âJu¦XR²Žéi?§rO5¾q†Ð)Lù(ï,¡ÜìÑZ:GÞëî‚“6Ù-hKåmUeúÂìy9­r}t¼¬ ;à{”Ý5¬žºÈÑZÉ3„¿áQ&¤µÀ×ÿÖÿÃCEš¿œkZñjjŽ|Ö0õËbrÓë½Æ„ZÅâÛd6«"nR2²wŒyê`¿Á†¦Æžžž™ê’öÍ„Gõi é…‘ãùsŒÇ}ýß|vÆ7©«,øQýqÜo«ùDy&´ù>޹àøzèmŽÏcHãÁ•|µƒ"êö–”8!úýp¼G{OØõEÕËúµÅª•«âÃZøƒŠ¸Ä$dwž"üØ@È£c½ ¾ ‘0›mÔÿ†wÑ߬þdAûíôЃ1ß+<¨îýEqÉ"fÅmXû±…ÁøÝ#ŽdCÈK¦[JÞÌéÞ„Œ]yeB*<íö4@i%þ ‹¤/y$Ú8Þòë Q6%((*"–DËRc£ÈâGgk¥¯é¶åûàÊî/ø žóyVù? ˰¡f3 ù~ÅK´Unz©®Þ<;gûÏÙB r_Â!“Çl9} ûWL~F ­è6·ìV3Xú‡8y1”qÐa²ÄÇÄÅR­?qõòx•›&¢íx íì«¡P/ S^™Úט9Í^ОßÜ@7 '— ¶x0`€—GZÅ `§™å³;â9Ñ èy;H²6Ú"°RH)'|[­1­ÙÎÿ Æœïz7íäù€)If ^E3qTüÏ=ÕVtà¶ÅÂ:³°F ²&ZØé"pUÀhŠÑ¦Ï~HÀÚ ˆÃ„9èØ0¡-}éBå"`X òøS6þÙú"¬ÓôN}–ë½z ÑÓïÅI™Ù²Rô¾ï«é¢á·`ƒ¹jجXÿsËܶ¦Àû››‹ƒ >£±áag 뮘É’'rÍ“ÍË^æ?<:’ô<ŒQ&e–d¢£«:ͦ%>Òx§U9¾R33Oº†žŒõÜÝþc¡ÎS×j€Ü’‹SÜf‰:·E@{}WN¯¦=³é¥£¢âJ¯1á<Ç‚¬Ù{ø«ûÞÏÕ€‘‡{…Á¸%ìþÔ¼ ]€ýc^þy˜O&„ÅHQYYòÙ3¹/I¹'ý½bÇï6¨2dyÊÅο¿\ê‚•ïa,ά¬¬,-¯(·Ù'uŠ”DßþHsk‡B¢ÿò„x&!µ2lÒú‰QǧIGDçéÚÚ7Ø’‘Éskw—š’R©!âÜô³5ƺîÖÎ ’†^‘×%Õ€ÀÍ3OB¤¼8×oÈC‘aMÀ |¨ágÈ·+>Ôüãÿmü×m%ôð‹›ƒºñ\i0w µ=ˆï{y á‘$‹€È¡%ùòé—3ŸPžvù¬Ó.’¿)ùÐ Ë›hú¼Ƭ¾¢AcvEév¹;Y„,¨Ð-1ÿîËÂÄG‹™ƒ‡Á´IšÃ½”)lüMX VT¨Û1LðÂÆÛ‹ƒ?ý¸Ù+gžÔ…MBLÀýÍÅÛÉÍ LL1‡‰Ç޾>Ì^ä›™Tò´šZ„¬ç¡ñÓ§0@ü„nK•Dn-‘þÙÔì,†ŒUúì± , FÈ(5ðßtÚ Um#³†¥"ê<Çþ¬–´ïî‡3¾²Òî8]:t ²Yç|™5à,Ö™4F OV¿†÷Q8–fÜ@EEœ£eBâ™dýýöóµfŸ?þùÍ‹é±ep«³¡Dz:H;ÜûçÏŸ€KƒÙ¹ÍyÎvÆ—––¸>v Û¶½ßôLŠŠè›…ÇRR¦ûà±±±XJPhãÑJ{; ]„VÔÔÔä¯Ì½×0p{u“`À|'ËÐL²ÐÇÏPètÑSs¡yK@þBÖŠšï ¤‹NGG÷ã&ceÞ^…Ð5Ø¿tž“cv{y´ötf—Uz¥ÖLrÓÍÉ™¤ £dá›—`‰Iæ6x Á,ñOÛ6!‰kÊ/ Ð`o—”¢¥XY»fg D#vúa#âÞê&ÍÜÆô@0&KÉ-b°’Bé¨Çë9Áö»©J>ÚÖÙ[õ(rŠÛƒºvÇ©âÁT.":1 ±@¼aÛ!rS9 có,a…:ÌRÒÒ,3sQÆ€çä°†Gñ– Ïý˜ò–™âJn)+Â4È;ª4c\Qžæ¹Ù±6AxŒ¸“.¹Ô°\ðVBm˜µô†”]úÔ_ «¹àÑ]AkjÞ:’•¨¥w©úŒ®`ì€[Möô´E4D¨æ/(ÞRVËW¨?}~»Ô ,NZÞS£¹îç <ögB–`ZÛà%ä÷DAØ÷ïÈ–ÀP˜3MM†Ÿ¿úÝF•@ñsn<(0è5w`õ1ÿäJ û³Î—‡‹]Dv£Y³EÊDS¡¹Ò~c™ÂÊ­‡,r€½SýñÍ´5®€niÐé Wü-%¢z¬ýp©ƒ ~“•”8C{D²Õ+À£{®j~·?˜·žjv-z(‡ímV×ðæ¦ ù·ÄD"ëý™ È÷ èÌ¡^Jí/l%yÌ Ûe öλwè…žG? ê1ç9|AžiIqñÃMêbt þê#ämO!KÍ/÷Áií²·‡_ŒÌ}00ƒÓèÉÉg*ô¸lqŸ }{顸¥Î–’2²;ø:&& 9 Ñ`—GK¬-ZÝ8àX¶Öó'5ì•åM}âÉÀ[‘ÿÑç|ü­ û÷9K»^:lKÏKל¯~¥Wg.Í{ $U#‰’ Økݵ‡­¶ªþv¡^nì*##D¡‹©ÃyU]ï(œÃöõë0­NûŠ›9@¿˜‹ö½Àò]7Ò3óóG>Ðm¯¯‡º>÷ä‘ ãÔÈß%ïQ+;ÿCu Áò„‰ùœnúÿZÓðãܷЬáá¡fçùÚÇŠˆÒÿ,U' i²äz†ä¾ó€áF ˜}!é¶¾Í/´ÓShFú[kë°°G.ß6ßèåìtžþïvÛàëea4}:Øi«}¡æ´SÚwóGlV‚îÃÎìTÌ›ïÙ³Ìÿœ‘7@ `^3ŽË¼?Æz–o Üh?JDA2>9½º-¤UŒu«•µÒÂ{ÿCwѶt(´ôG&@Ážjë‘”BWŒi{dðŠhûaÓ6ƒ‰°ÿ­uõLÍξ0ùMÖÊÐø*h£ÍV1l ÏáÿÀÇ㊒X€í#ðÔG’¬éôéÖáÇ–âý##ªÈB÷„ÇO×Z:S+;±ýnõÁÌO—ÜO €¨‰G^@ÿåµõ«³Ð_3jKí5±NOÝSIVä£s$2RÀ+ ᧆ"Þ|°°­äÿبâx#(êÚûòïíŸßWP×P:R€ÁÓ"øOvÄuü9Ñý I[š±žZ¶PÙ¼ïd‹,,¨T=÷Î×”éÔ×”>N±†W´ÙŒÂ`¶;8P)ïcÏ´ÛeØÿ© ´y±¯¾÷†©^¡}L‡ç“yÆòd¦”¦˜Ìço»üá|¬HÈñß]X¡²Ào…Ä\–½oÎ÷èµÿñ˜ÈÏü)©©f¦¦v#u¤z&­3Y¨Hoøß—ä¼ëH#’MNõîESÿÌ}1QOž<é=l]ߨÀ Ú»æÊõfíþGËãë…æWD™››#/B‰Zìǹ¸ÊºL}sÿÅÙH«¿DY1 µfßÖ¿+í755Å}»çð"˜˜_[]Õþ—Лµš©X)Å¿yûÖy®ºÕftKTXH¨/ŽFoðX×Ôg­+âŠç®:1q<™My÷îßÖ3ÛkkVˆ¬ÃDþ7¯ß¼u™;Ÿþ5uÑ„>2Πá%•Ûc9[[i…åþ×;yD/µ´‡²–ëi_¹·/IÞx0þ|šBøv±jj~/•à ¾§›ƒëCmmmÀÃt^æH k_Üê„¥´ßå''§öÀû¾†*¸].ä_KZáëd—²ÒÚ,·¼Ö; çšÑn;¢ÎÅÅÅýð×/ô÷Zù «Éy^Æóšé™[Ïô´ž?ÔLÃüútkÚ Èªmn[j£Y¢¿Ÿ=ýoÅŸéÝ—/¶h†ñ3·lº‚‰i¥ô%ŸŸ_JýT‰úô5 Ë–?½|Y©…—ÖÔÔ,ccyWÜʼZçè©jŒÖ-Q[coûXŒÿPöœ0M …d®×ƒ·ÄÒ€RûˆßàÜÜ\>ÃjUUd¤¶!ÄõJÐC2._]Åt[ɲ üšÂÿ¦ÿ¹zÑj½¨éÔÚêÆðs^ŒC8S” lñÏ*NÌçÜÜÜtŽd Cà'‘â¿wv°r|WQÉû à3 D—ü?§ Ç·Õø" ‡#ϦlÙðö|¯èÿoæÏ„+CÝz›+Âj]ú lSgSºêB–šß"Uâbƒ­óLùBêÌãÇÄ;oß¾¥u"§¥­„oßßþ¹¿¿w d%TX)„B¤ï¨çû_ÿXXú³üÌ!çík»"ò#Zf|"ŸÆ'±Q@AõöÚžm®øŸ¬ÿúDumÞåîóg.&¾H8²··7uÝH&b”Òæ£çº¤{—"L1‰ xÎFÉο0‹vR#¥ÜO¡Gý@áõ dÕýÕ+‰@€wÆ_AÿÒýhröšD',ÕÈdõ K޾¿I먈RwÛÄFÿš”‘kÿ/R&4EL¦6)%åT¶Ô–«¤_LLìúè á ’‡ÞM´æ,õh*Š Ùà qÌaÛþËM¯ s™À2Ìõ.ÄeÛJdÇWzAj§ú a : >h¨ÿøØk;€o _ÑàåºÿFHK´ù_7è~Éõ?U­ŵ›!4™ uáe¬ÛCj:ÚÍK‰'[Èeîq²*¥š9Cÿøêæ!Ø'%¯" AÐ/îþúùÍþÿW×{‡Ãuï Aô½E7-]ôÞÛ‰èm½÷èB%¢÷£ ÂÑK„QbÔ¢“èÎó÷ýóó培.bfž½×^÷}¯µöZ#ï6G ^Ž!ËõÊÜÎŽ\õÑë_ò0ãÑ!î9ЇüµæXšòCRv¡ý±ýŸÙÊ™3q· à³M ¿~nul  ó+ùžºÚ#ZîÒùU,Š GGG_ˆ×`u6#uu_3rlÿàä²&ÙåþÔÒ¢ì]Lº°8ÅkO¶Ž)`óÙo»]Bp"9'ÑWÖÅIà™ÎàÍeñ.ÄîøääÏÆ¤¦'8‹%*,R¶)ïÇ+@‹™{4[IºOàsL *««{¸¹‘ÄfYZ[”鬺Æå/ßóž/Éf"Zå­E{€yžö2)¡©HHÀÛ›W>¶øÖqšÛðÜìõgM®K…ì/~§¥¶ÇmÎ6¿xUR¦[ò>÷ösEõ£ü†!Å„MX¹Cæü< ‹…Ï6×tZ$l¶’ 6[¨¶_9Wy]¯®PŸvÜ7ЬŸ\ô§´ôÇ Ësà ¶\ò gŒ›ÛË]^Tè•Ý$Ny·ðoY’Þ¾Uk¦À'¯eq] ýú+ sÏÎδ>[ ¤ŒC:çÓ–WïüÅDX.·¡XÙѱ‰ôrw?4ÓZœÁiÚÄ4+"Ñy¦q³Ñi¦ÐÆûìjõ@ÞÛŽ2¿‹1’–SP0kä#põ¾A³`«¿`åñ¶ý¼ç(iuÒ/ùò±†æÛsm{±¼¨ÿéL­iðŒþ]° ¸2ï§kŠK+€öºö‹šjjqéŠX4àxð&µ¡ÛõB¢¢>kcEÀÙ¸¸'yíOû¿ÿóa¦Âr^h Vì]œŸ^\\Jcçõ6I¦K E Ð'­ÞIOoðêêê^ÛÿâˆCM›úG Ç/ À®+ }i¶bzÇ3<L›\ÎŽv­[çS8u}×å{EæW¨€?$é@œÖ;ÞXl‡l柽¨B&öôôô€ÊÑWM©†åОFÄY2 ®Ù[b5Ò–Ã  ²¨ú-tÞ~À àÀ•ëRö%µ 7¯Q)CºµÈ£÷Á˜½×ôììMvï„‚­mißyc#š¦Ëþñ Ã}φK2¢Ô¡L¡Áî€¿[?cY L¨®µòe–2q߃_yÑj]33,ºc¶[÷Áà–Ž®î°ÛðKã\Žm“&; ~í>™Ö«ŸÁ^Œ€Q‹gCa^YÄv7¢Í dà5 šýûɬ¡¥ÒöaÌ÷rêøìà`Ÿô7ì̾ÇÁ×à÷ùîgò¬Ä’’KKÆ%æI“§ùݦ©1ƒeW¹;•-+l)FWQãþlG}ô‚ð³mæeñ¬Ê›G1––«¨èž­Œ¦,y /Ä‹™®*çL¥afV1aD“ó¢ hïÉÝ+<¬vk¢c§š_uK±}æ>šéjæùl½Ý~qÂ}¼Ó¿B³dNG&h;ödVê™|ˆ¢ž§"®@0—øbþ\ ®Îò¸J —ÔÝÔH# «liîçUw‘_<Èj޲kd)AÝCí;?Fû Éð@:®œ±-ÿ2 “-‚É&ê®zóq g=ÁÊHàÁÞX6³ûÓ–!¸mÏj6.Ç=Ü€8ãDŒ ùBc¥êDR»wIKLðgëÌ>Äø×+wl¤ÇM¹%Ç0 U® k^çÌù¥–»j~à– µ…UŠþ¦ ÷Ä€ 7KõÝ–±Òúü ÎÚ%ö2¶y×Ü,µAÇmKpk_±g~w;¨!ã›UœJïK® ÜO姪h´7N0øY)ñ8Í55Ú ÓY>ðœ[Ì$C?Í\3]Äyqò°Vâ ¹HêzÉñ=nEÐQiI©øvŠg¹º•´‡E9µñ8[E®Û¸RY=w•QE£áy‘toi½,a‚•«8Þ·ð­‚ÆùÇ»rg)Cl®L»€QS¤ÞDùÓ2§fì?¯–êÄt^±!‚…œgÜüB&ÉÙ£%\ƒ;×½B­Z§ƒ$úOitSø'!huG–+¡· YR„ ã—>]I…Æ‚šå,” ì´êtê ÐR{Û,N† ´ª—†ý*ÅÆ&®”y† æ*C!a¥8Þ„[·Föx26~!@ƒ½'¿l7z.·vììi¹fliUµ%kÜžÌCÅM#jYe,Wí‹SDe˜á~9”`;ôªÈȸšüøP‰‚,t\D4ù¤`áËúã?éÒ®×âÃ}q×–>òÙÚ_B®¥Š»µIÒܰ÷îUÔîV³²5Ô‹ïqRn¿œ[X‘é \¤Ï5ÖAëd;–.Ázhn0Üaä]‚!§ÙíÆpxwW×ü áH‹ù«å|(z”v³f:£tÍŽ†rs3Ðôw!œåÎ{ Iñ‚ÎÊ£ýMß¿½íÊžO‚ô"]Ø;‘¶ËÇs–܆¨¢vÅÑ“ &RŽM€=2ˆ{ý ã— ©»z÷ã½*ñÊB«÷|Šè1øþÃç6ù=©+&x#[’ñH}™9·#ê à†gGß^†ú° ãZ\••gäq«´‘Q¥ ¡Â§üð¼oÈ·ÙÙ«#9‰TôôIÉD Œ®û«–ËtìÇ/v"\™¯¹|ýŽYÆ÷ Ÿ ?¯ìÍ΃[í°™0¬Ž¬~°8ëk£,Ü{(È×µÎzXòlçñºšÞ!düd¶9ƒ$ÄÃ{œîçm; ‘oUIå¤Ô§þ€Ó?‡[?²BfvvwÁ¶C²Sm~âöï1óNÒx”WˆS¸ ~Þ÷Çë'·á`Xº1¥7޼#ŽŸœ–——×^š‘ºœEX©®?—5xòþ)ÆÊSss4ð3ÿÅ®h@2 êÍqô* œ5OLL|¼­Æ3‡ÃÛ¿¢Ò™¡"ùº1BóßfpÐX{ÍÄ`9~oyë¶þMO6_9"ýÅ^hyAb«&º¸ ÙV¿¿Î"æïð&K>wþ`K:]»£¥ì¯ v³À¹Âw(ÉUTPhiiÑ9èGÆÝ³¸N3÷Ç£՟º­ÀÊu¿¿’IÚ)ܳrùx¼©_'JT›Iä²9ží*ªôHí`>ÑùcÖêí ¨”Wl^›Ó¬ûU€à¤<ýÜÏ……Z€°ÖI±ý®\Ï#Ò Põ°f>NÓkôüýCªÚ´™ÿØØ ²sðöWG]$$$D‚g‚eã0[ ;`Gœkó+]kIJ]`ƒ;浞º•>"óúntÛÛÏ…ãLÉâÛ\?_|Í‹M…T€$±¦fà½ò*ïøž+€­Ï¼¶çC8A±öh±³²¦rê*@˱x—––’‚ÛÚÚÚÏÿÌô¿fÌcV0y+™UõíÛ·C •­äÇiÎth@-QÆ£óÓ™Høä¾ÿó{ŠÔ³Â§³ .ã¹:œõ’¤Ã'¿Ý{c¢*žZ—€ pX˜s`àdEÉ,‹"§¤TDEI/¿>AɇP X=UMëm‰×1»Û†ÄcuàêznH¿ù2µ3©°Xçån‡£%{oÊH8zÖ•-æ¥#©`]¥S“žókuUñëÄ+ºÔxØk6õP eöʶà  NïÞ½[iöáëäÉá2[‡¹| ód èOÖ0ð\B'i0mmm€Ãµ9ÿ€Ò²@É&¢¢î„Û†ã8<<Ük· x`Åm9ŽŠj³*«¦¿õö¾”¤<:=Uí…ÇÓKdZË :Ï$J†b.XO78°ûvt`Œ÷7Á¾>–•%â=¢ØŠ‘½œ²ÉiÛàI –½€zm©¡¬àðv«AŠÏœY|[mÒPþ¤Íl; kv+rw!DˆTµëÂt–4ñ8³MdâÒ-Ԥɂ¾~~¼•÷}sóæM°ëaØrkàÑ£G€«ä‘œnÍŽüø¡ñÁÁØÎðä”Hý– 1EtòM´l `rÄ ÖÌ‘Öt© öãZ¾d¶÷Æ®[Ì;Éøe`“‚aÀáeîTCuŠTÊ÷I‹¸eî€Ú<¡”Ô‘_XÌýwoWÒ Œ åHåä_ö³çˆŸ|”ÒVlü CÛ°æuµ7ºH•ò~óT‰Ãíâ3w6 4 ßæDÕÌrÿk<›™.xû¹'€MÖS=%Jê÷§þsL àý{îsPR+NQ&¦`™›Êÿ–R4§!*YOÓ>«Aùº D¡Ð|\_†Lš{ 5Àf¯À³þ•è£ô—ýôVÓƒÁ*|‡ƒ*ÓMm3‘¶1µ€8™.Gªÿ+<ák‡ïÒhu ¬T­Çš!uŽY¶]Hܤk¼eÛFý~9ðØ&? nlb“Ï¿F ® ¬ÎW‰Ã³lµÃóFÿr`Ö;Uâ<Üæ¹ÙÑòÆ @Ì×°ÉOê8Pý'‹¥{ee—… _iõ ¨èÆ“»ÛX<#øŸâ+“ËÚ䣮þ¶#•ñ•ñóÅdÓ™*.kTwÒMÌ[õÛ­ez4¡˜¥‘­J ¦Æ¬ v<ÄH9©Ì“µêÁì‘H¦|Bò•qŒrÜ÷Ë6ÅŒ9áø Š7np¢è·ÑÏùªç$n•7z Ú¤ó0‘0±+aðÌíOÕ®T—¿¸_» šP…È`:ã»Ï÷â]$8{K*⃼Q\Â{Gºk4n&î­:Žl¹KHýws"=ýž?%2&T¶öšÏše¢lpzQ··­k÷^¶( nïÕU¶6CIq’"ñ«o1=üS ¨’£9PtÔ¼œO;Ÿ”—S`gc[ mò!#àÁ¶²ÅqjuÛ´~íškJÖkÚŸÆz”fß„2‘3Å÷6ù -«¾C×Ö<|øl!Ér®Ég~Åñðn£"ô\×TÒ©žñ¶x\‘êsaˆ²®9;k2¾ ÿ"!èûb3ŠÖÉ’f«‚“öò¨ß½$d0‰‚/hä¬òšî^² æ¸òÐ3qçé‘2Âjkké"–ÎjJrÀ ¹¢f² +JäJã“Õf§§Ûí»ŠA§¿pIŒŽžÊQ‹¡ÎåÕ1~`ª` IJ^|É{\¢‘Ýâ² kooïë u—Eðl-Âl6ÿĄѤ9 Ùòiï~Ž3Îf¨¥.â½3xðàè%'»mÏIàýç #ZÈøùѨ€•rJÿÅïµÏvÆ Ò‹âzßÈf%hEÝnñûžØõMnL~£÷~*j¦ô­(ª+ñ hw±ð x^±~’–»F² ýäGãyïR Àñb^[Fzÿ4É,Ûƒ3ÀË‹JµÅ±"Õ˳ýD÷ñ2¯DF(„n{>ÔNŸ“à+ȽòAçh¶÷/ÀnÞÅŲٮȦÕ:ŠDV½¬Ù‰[g¡ó“Ë=ñ4¯ g‹F&ÿÞÞv%ô1#ìS‹­vðFó­è}_m]—¿Á7›}öÙö6b’+D‘nQVFò7íÝ»„Ó®\†#iž¼éårê\½]¼PsÒrÖ:ök1³=ᘑÁiv*hÈè:Çmû‹~L=׈£=¿’G {±Z)Û5çýªø­ÚïáCó/©ÏÜ×f*ó¯Ë{Aõìïúvã¨ê„XÝjfCiü€•ü%¡ÕoHîêo‰_©æ3ÖšDn(àm<5SJbùõêü †:7XÎa¾¾|EîÞ@ þºÚt)¦ÿϤKöçí©ºí…ÆÆFM–Ñ{™TTTÏ{âÊìob{sV·6rF8ÑÛ»Ú—ÄâN4¬™õhøÓ§Oss_reÜ/ÚF»Ï~ñ^ ØBú7,Ž p%š9øSùò±¥Ôz~ãë¿ „v´Êu˜=04T©S40^ahE©w>α‡–ùÎU«9A’‚‚‚`E8ÞêΑ]cP5 ðÏ©£ÿ=Sà¡"wòÿÌÕ|ºü H§¹VÑl€¶{Î4:¼“ˆúVcÞ^û¼7æw”óZ‹_`Õ¢É[×›ü|®‹]§·c_u÷ö>æ›­¢ºï•¸.õÜ}ELët —>ØC‚–øÊœ1ÿ ýµq¸öµÄfäÝíz«¼ïM{é6¾#y %ïYèáéé œ®='Ú°¯×êÔ¡˜¸½…OpcÒ[’ÝÈË˃!‡94½˜mÿÎõ=n<ºõº»RòÞ­b!àìß]Á)w4¨½ú‚ò¯Žwv;{¤fõ+M^pWm™k` ž7BL²¼Oÿl[:×İFT›zg YY#Yoj-šZ5ùr&臷‘ НŒ½¤¹J±ö35{þ7h P͉t /eaב.3Ò>A¯û³Àû#z¤œlΖ®?º„H ÕMûÑѪoœ;,ZPP>0=<ãç¬#±ØlŸ3E^w›³%d¡øPãÕÏ%„hvdÏ¸î› XÍ"Uæ5>!NrÇQW÷1Öe„ä ”å$À­P'›f®z˜ÿ¹¯<¾þgÔÀãCEãˆBreã7)B*&e…úîAÖIÞ;GðöÞ<þ‘…°3ÍH„ÛÓ•k–BÕNGû3Î7¡´@®P'ã¹6¹±®t³n¡š]qŠhZ_B #'Ë@r~_lùšVÚ™F†ˆÝâ¯ZR¶ãÛâÔoºñç R›à©³#Ë$?Ò[³6pt´dwWý¾3œŒ›VÙXŠ›¦Vuç™^¹¾’ℾCJ½N´/kùDôoZà,ö.•:âMÐ~T_Õbäx°etŵ±©ò/‡/Uò–¹ÆÊÓìú©ÙëÝJ:xFXùó+‰7jxä dœZ™w’.2ŒžAȤ¬]zSR¯Ð¬ÞÇT»Ø›v6ïcÀ´æËîÃø)JŸ+;DÕ'Ûê“Ûá¥!6UÊ–;ê 'û¦"˜•³*å*Ru¦¬cÊÓJͺFy´¦Z§C7–"wç~,ü‹.{¼b¢5©*칫R}âdbòCšÙk€ú~J1+õ}9¼pĦL¡‚ñë0D­Ìr; ›Åáø¯&6QQ*ø'›gýºÜÝ?UÉ_ß—î@ì§HðM¼X ­˜¾èlr|Û670¸gL™‡øÙ·ž¨W§{o9Pè|CÝZï‰CõáMÜ@äßy¬Ó£ªQ*þ«ý ÕL-ÀÑÌìtvqº °2^ÃjZlîw™R«ÍÛQÒ‰±Ÿ#9škºõ8ªPÏßÞó12Çöf㣢ŽC/^ñ؇h©ÇôÖåºs¨‡ˆ|\êêéY¼7)§Ð»Ä!æwj=m—Îv?æDúB]ÑÙ3å1BK³µµU‹oGˆ‘Qzvd†…¿!$Ls¯jª6 –Ëî0¬*Ö ,© 4K²íç"w–6hÛ$¡¸i•š’rËï“Ä'I}ݫĺ ”¹]dž™uàÿìììÞä$ô¨E.®Kn~~^Ã*“Ç7¯^íü™ëÂnë5è3‚`Êí¾“ ÙOIªí‰£ÚßäÜ+BÁí„dK%¢L£z;ðA!Ð[cÚʓ΀æÒÃ/HÑ2йLkððWtÈû¨Íw“Øø;y@‰Ê„ð°Ôá6¬–kZZZÒvîD–ºâ%V𨤠›€]î¸všV~>ÎTe pNrÆ 5xg<[¤í,Qtÿ ­S=ÙÀlºÔÙNX_:è²­¦†÷˜‚Àzä„.ŠeR¨y¿—œÒ+ª7I(iÌÑɉÓ82"Âckvêóçj‹î:1ÏpíЮSpª Ï{õ¹kuZ 8b=e—`8go7úæÃçvÙIÒ«$—I………õ‚‘s¾xÉrñGe¨€Ó| ™m6µô`²%4Øèw¼âÀExL1÷Ðj€ìE¹à™YѲÙæzR®Ø ª¿¢€×@°N`ïñD„Æ÷ðóxô²Iµú2Ó@™RQŸ„ÈcÔíU铤„>b”|]iU¾òk6~´¬,µ„¯`2í±ÁùÉá÷™e kþ®}U<2¼ö³ç"RÖCéožøFû;tEƒ·]…G[}^,À”N;Þñˆ‰›?G‘ËT¹‹Ë& º£N‚Ìh@@¾áëÅ=ïMÀA˲Êdç©„ÂeÔS>5ZnÂÆ ,ûU€NBÚŽ2C¡€«cÀÛ Sðüi˜|+4аR]€äЧÎzX+v~÷}[G¶.ŒsîKµ™XŸ8NqC¬¿Ãr_8=B’´TcàD µ …ÖìjÌ’ü >ðÇ :ÿZ.›¢•Dçé‡ÝÅNNè®­« {ØÝÕÕ×ǰ±YœÎÒÜÔtÝ9¢ƒMôyfz:Þüá8âû$ @N…ïßÊõñx9Y˜[ZZÆ^Qÿ©ºyY™‡èÝí{½ gOüãLY”F»äs|¼L{Onœ“³Ì÷p]/詛ߟßyŸÁÐ.zïà`¶ÍOø]6r'pöêQ¹¶ë·{S솨»Àùì@ZWÏŽ÷½]þfàÑá1÷õìõUŠúÔ”d;‘rXä›0D´uНi9ù8Àô»c)u'ä|&*WR» ¥`c0oå)bQŸnQQã#ŠÏoBÔÂÉÃá+"Fï¸"ëð|!ÓH"1}´Nµiù:ŒˆejHº5âWó+øh«l¹üÀ߯óílÛŠ'Éðh©Þ2LïCÜÝ4›ÿÆ„´ÝŠvaÌyŸ3…*—¢â^a釒Z=wµlÖ½ë£`R®S„«Cí§" 6Çl¼4£–äT¶T)ƒ+“~øpÚè4c«Ug‹–U8ØÙùÞü¢„‡_A#mÅsPpeJ!ýôú\Û‡{íB6ŸiWHš°ð„z¿~`cS5zRPñßâz4sØ›F¸ÓB ^ùør[…u3þÙFkî“&mÚZØÚréxß} û|,óÓࣦÓkduÌZüO7‘GƦËoÌe¦ñðð6¾•…ç8$e`#3Á@¼møh~D_)›ÚÎî.†šÚl“+`ïtSȘ.¤íâ: »ºÏäÒ‰Ž)ò#]¾žÉݺíÁ†D Y ¤€]¥Iò#O7à±) *ÆSË/!Ÿ>/¥Ï§PÏ,óÙÿùða™`›Ãdõ JÈÿÈ¥5§~¸„»¼ÿgÝsx8©:\f-‚nšOŸæºgèú«V¶³š©*¯Á”2tвl‘¥ 6IÀ§|ðÜä·hji˨TÐù©Œáp¦60P›Ê¥ïæâ²ó÷o/!°³g69‘bçߪ`^W2ÕúrÞ´ÌúsëÖ­o†‰ëàð°³®˜žMé†ñQšc‘î×e}õÚ·2] ;ך"Õ7Éð<‹(Ÿ†€bûˆôœ(ùí^Ä´IË$;ýZ¢ÉPn&(5geg¯»¾´±<ˆ”“Ýœk;]îé°) Q›Ÿ*Ûèì8u|œSR9Ÿ>'7—p Iĩͯ*¤TE½U…-v˦žYø¶«¼á¸~éfº¦gQJá„FýøñÃÌ¡HwMÖ:¸ªB9:ìúß%|⯚i*/+oïêî.g=0ŠLÉŽFr¥öë4+­¥¤Pj—0vºÎ&11q$Sï+ÓÖ#¶e¾§ãàÒTÑbúã1‡BÃ:yÑÉÕîP@n*­¯¯œ(!’Ã=È- ùò¢÷hÒ³âŸÞ=þL:NÌÂja’™j’oÖmîxÏcþÓ‰&̱ٗ´ùýÕPRÒ:¡`í»Ð!øÙüÀÖˆ\XWû«6ÊÆÿæ¾E£@û}&CîAÍwâSÝÝ·}WWW_r%U¤®X¡Xg¦£àç-öB6ìÚtŸ]NxÛ%}lÏù†cHPE³¹&͘®ïÄH÷›ã'£™‰=éˆÏúã^ýúe»Ví)ºµúIéœæpaiêTþuIR ð¥NºÙ𕦙íe–î£§Ç Ûð{R/h†žü^ýtO- ûÿ­¾§–`9û¾V± +4E2ÛÑyâU}–³[Ô;I4·?N &)äáŒñ¼cÇ"·“Ðôî¢ãº‹@a|€‹k¡Ït õŸÜ%˜7æä­ô¤îV®d\UÈI.m;k9¶ñDrŸ¿ª,?aÏâ´¢C×ÊZ%+Jp‹l ©Ç:†¬7i. hºÉ)èoR–ÉsJª)QÑŒ¡' ¬©WÒãøu8߯=é("pv<·AgRU??g*f1¶Uúýû÷ÂÂûËÚ…öËà…€OL²²²Åš9Õ³]DÔ²ÜiÝw¬ÆéDòóó?0W§`Ê_|œÙƳjýä7ˆÛúDé¯ôðð[}TõšéÿHŒoŒ|²t¹’²r³÷.ó…N/z7::zww×u¢'ûÕ%ôÖ”,n«ç¦‰‰ µè<•™©) Oëž÷ìAÞ×Û&egƒ÷û›¨96>ÅÓ_¯æè–hä‰k3h5ÊÓ˜†åÛSÊ$¿~ͳùü¶Ùÿxos¹Pö^ÿß­’6¶j@£É6_œÿE×ÙŒt¶äòôVÆ/õ&~"|uɈkXóD·°¢¢[¬–Çš öj„èÿýûáÁ•Ñx‡å¾ç'"ë˜*úÓ“÷¿0#Ót¿j¼÷99°³•°Üø9œµ¶¶6Ût}I„£{øÀ‰*XBpÞ útŠë#>Ø™ð–eee€Ó qTÖe¤/WËàG¬Jˆ‹7Ý´ÇæQ»¹b‡s2!Ùð63òf3À΀ÇÍ=|U54¤vö#4p_/ÎBüeØUdSÄi'hùDôp(9Ö-ñ¸î)Ž7î¯PD[ HùÑ'£=99”©$Ô©?Äèà¿€d gÕ"&oµóPQQ•Ú݇é8%ë&@¯“:ÒŸ¥ÓЦüëÞy„øõd/]ì’1_*O!á9zµ¬1oÿì:©S_Eø’€.t=úMÔ‘â©ØrôôùŸL6®¬Êb»c äUÈ«y¢|Ô§>ŸM-âÂØ;m±ñØÖÖv©'þ/€N¼Ä¼&  Ož<Ä—=p.l í½„ýR%• €« `¹Üÿný8z¨Ëd¥ñ @ähö’£NÖ¹ÅÄÄ()ßÌÏÏ×´_PSºzyâá½ O³Vnxr™!`[ eQLGöÏÝÉzä”ùòå˶¶ó\™0Æì« K\*_Ð…Ò€¡7KóP%/å=~ù¤=›OpðÙ@ ç äñâÐþˆ!\õ¿•â.œPs€+âÓ<²´´|+Ø÷Š©¼JE!®)àôÏX‘jŽï:ç]ûÙÞ`9Cùº¾ Üv²šò+s—g°?° qªÎFWW÷ôpCØó·ÑuÈ€’ªj…Q-ó°æòØ{ ÑÆº:Ò4ÓbµŒÁ7¼ƒz Ñ{öDl&@=½¼r„ásR—gew4Å“’“C1׳ɮk«lÝ-P@Ê ¾³·õÙ»OgÞìV¸êë‡>ä³ÿƱܸ2øæ…¶Q,­êÚȱøúÏ]½½àäݹ¹wîkcî’||£“““££µÎ?ZfpÃCÈùÒÙQš‘%vcc#B8…×õŸúñ«úš-Û‡Bñ%PàD///»;w³EÕ?÷gQúG¯ÎŸÍ›Y¤¸„„a¥ø­›æ+~gGi+)EÅÆªÒûÿÿ×WÖ¤;yôµ½ä |ád ŰU>nUu¸u¤)LëðçªxïºW…ÝÏÌ Ze6CZQ79.°Sß¼X¦¨šôþï€_u˜RÒÔÌl6œ%œõàª<ÿ=U'á{ uÎ0M`ª^‡ÑAÝswa"éâ>ˆßø/V?;ûHôº^…êSÿ¿m0˜qJǤ ¡åZ¢ýŒ•þŠSÌö/6âLA5˦’œCü%bH,ý˜¥ÙXçÕ± ÜÍ8mÔû°À¾ßS¾øöýd2ß*úØ×bÔ¼×–wú;\œ7ïUÂ\Ç)„ý·taø;†{÷¢ö}“âøøÃap™[þþ¶‘K#R—•U€½}}/P=“óó;]øôrIXþ–-Ôy|pìMÔ¼ú€Àúê ”ÌÐÑæ|°ò3 u6FRž"kœ¯$ ¬‡\!åO‹,]‡ª½¯¶v•uá)3éŸÀ~S6ŽžJòMÕ«* õ€ÆêN‰.~« ¥¨Ñì ›ïЖ¬4=¶ü‰FÎm GŽð=öÎïZþBí§w¯»`àúÇf6„?-²QœN(*2FÞ·ÅIC,¨p½©{õȼÿ–ê„%+)O†I’Yܺ&Ng…F¦HRö[ ÃÌ ÷;Î8„ù¹©ùM¸+TÓ´™üößJ®í=.Zo¢ûö’cºvËJ±ÌØBøÞ’Y¸lUµ¥bC쎅çÞö(2ày²‡Ôª¬ÁÇõ‹ù§ñ .t³4ô-6ž2]E÷wVÞ˜3+€Ó)°FòM³…Fbÿ^Y>™ðS@âj×[ÿHe¤If¥®×Ãýß*µ±’ôÈvÁ*  ²±°Àçµe:ÆÃÕ;7‡zü’ð8ùœà$§éú2£ÚüøøaUÞ¶z@;fX'=]°)*f¥Å[G>¥`º¥:°À£eàMØY—k”"&šÙ]_ðáÛ/#Ói¤ÓÌ£º.F ®ìÝë- r'G’Vvº©(2ý]¤7iû>X¶¥¡¡±Ã¥„ƒ‚B¡‘‘‘:u×e[ZÌJú9’ápí0Špë몭"úO~æÏB PÄ—Áïø™e˜BÏÓÅp¸2M}á¦ÑÍ2ÇOS¢)·¸øøˆ)›Ý×HT0Y­{ü£UÊéÅï‘““X¬úù“‚‚+kÿnld»SeÀâí+{½•(ÕÍõž”Á×ÃK››£·Q§Óù Õµ DÑÅŽ;bD(ÝEùt­\ò>$xËÔuQn4ÖžÃiª3qöàÁMÉãû‡4ÉŽ ½€Ü‡5»Y‰ ÙsüC÷M†M:kõ²ô¬ðØÂ1±±ŸN]ý¼]R¾Œ`˜Ï”Û&¢G"…щÑ'7ÒÍ$ÌÑ-Ìñ({V‡jÀ‡‘;Ø’¨ûM+›$ï­g¹ÜÔ$φkÚ°jê°¶þç-‚CÝ„ãך9ãÒ¢aúP­HÇ8F.z.’‹ïÒ•Úïëá^2õÉÿll5K-d/M-¨®¡ÑC¥R±µµu´ô$M&õªv+Ïríׯ¦ Ë@•4„{ƒ%âî±Ó¾ ‘ðuôõÄ6@á¨Æ|CÖS#ûÏŸïÒ/Û‰#¨ð#hˆ¸‡U6UÆ‹ÚT¨ä ½ùÁù–OKMŠVôM ©†vkz OXéFJZ–_UÔ›ª Vtvv¾ÍÎN…­ëë¼–…¸MÜþÈWþëöø‘1·ÓÊ´0ç*W€êÄ7¦Á.zú’˜1XxÓ¸ <¯ôTOV›‰}'Y0‘¥B›„|›u» 9!¶äòt)QŠƒ22<Üö8 VLBmóƒýñB¢q¸ß,éDlÎu-° ´ñzǶ9Û\×Ö&¡Ò¤] †×úvÞç™5¨y1Åe5-×+KbQŒaÄ´ö„Ò 9óÌûgŸÀ«î•‹ÏZ3Êe°fXÞ€=ÑŸ9øëã@Þð)x(`–iœ|ÕŒ[æ<:*JZ4öYÐáÆ$úý³0Ç̈rÕ²?º±ô2½1v^bs‘¼»³¢@÷õ'‰×v;BÆ;`ÐMØ{Ò¤èׯ_gggsž¶|ø°Tdpš†ø!;…’GÉc.qêQ8öÇùã•ß÷çîí€ÉoÀš”Œ¾_BBØ„ LúÒc0üô%XL_[¬l“Z‹Û1àÍö:Í[x6`ÿSïIÃ*“•ÅE曓+US ¦Nágá‰RF¢zÍPêûeŽŠJ3\ùeÄÆÍ~·ê¬‡ù·`.¡¼íg:PoÕuƒl®1ö‚*‚zW¸øã­¢I¸OU­b ¹ë\Äž×w ¦©0iàrÖ™2q[îçžjE†@V#ä0!~ú»NYYy¼\Ÿ4œ3fðjKÍÛ/P§}õó·€ÓÓÑ_¬žµõã%+çpv6¶Ÿk%9`…cy†4‡°ó¬׺\+/‰HʇþÚÅ¥%âs€uNMM7us5Œêþ«$'ëÏÛmt»Tø^YÉ;ßÃqÃt¡1CÀÏœ)yŸð@1HII2÷òï–Iƒ=91qÈÀ«W¯‚OÏ'ÍÍ}×XÅU2¡EØ_›_P -•x_Rv ǹVÑzB!ËÁ`aë¶o޶¶öQøÁ÷pý(ŠbðìTìUnƒJ‘€wCCÃY°•5˜M˜ÃLJ5`ºÉKìJ;ÿGË9êЃ՞kž„&±{Ò‹¼[MȳøëGvNÓ‹U=È}Ç€û=Ž{Õsvv–‚bÝŸ®}ŽHÛy?†¬É÷Оÿ(8^L·™™F9Lð\‚ÕúÒ(ym"«ÙMõ#à´µ^Û¯#»;F-yyöbÜukçþ=væˆ8?ïÕl/¢J‡Éj__çézÃ`†Ü‡œö¯mÞù`%Éö'GøˆÂÁ‡‘·ñ(æ—»Ñj¼Örøýù­ìdðMEœ¿›3”EŠy`§Ö<~›Ò¡¿è B*YKm_ÀO¾§¢íêî^8'[”¥é”£°üüþF¢ôñd…!!‰çüGŒ”càìçjE‰ÉÞh˰!Эikm}SŠÕßßï;+…¯t9F6:í}yòq굇ݕ0wÞTnC…ªàÛÕf~á8_D8Øæâtä‡eð}"( *dÆŸoÍ6C{'«`^¿¿×FQJZíÌwh š’ê·ÊîHÎ7>õ,½'‰W^r æžÇrQ×ó ïo}av•ˆŽi†cDY®%ÅV›rš-éUþ· ¯%£Þ0ªi½<Ùˆ½•A??¿¥Þ†Ò~ä«6°4ÚR7*Ó=0ßkò-ª§y p*ªÖÛê©p™w;®ÌÌx<¶º(Å¥ ïµúÎO£1S‡šš’RØ‘ic¹ œBb~#ǯÅêòG$¤¤?fg9Bm˜¦vw 98Õ5ÞèóÆ‘1ÛäºCC¬Köû×hÁ³§ïט!i*Cš ÛüÝp]µ´¾Ê’7¶©¢‚»ëöbBÍCYS¢›/¿,…dùÀ샧‡@xœEËg^z¼4K‡í}Ymö!Žrnb—ú”ñ‚‹H¨Ðj0 lÉñ¼Ï¡ŒçK®s)á«÷„’GÁëCÀ±Úåq?ämoL»sÒ QòÑo§Ãç*îN²3‰Íþiÿ^œÕ‘Ï›ûºÞ‘J¾i¹?ŠÛÜ{dDoÇÏö ¿áG9ó.„pö®ü­?ß ,Ó]ý‚©‚…Þ¥ƒêQT2=ŽOÊ쌉F*ðlÞqéÖY¥{ÜY£ç2 °pym-Aó óCŸýŸÑéìÆ–F0×$•öXäÙfÐØyÛÔÊïßqY%Dš™‚v_reQ3ÓÓÌOŽ#ßkÞÒ¸û=T/)P[÷µ[°?àÉÛO·Ä´©#¼]hç¡Dè »tœn€#»r¢H‚ãb¨¹š ÈôQ>É› &¢ôA&¹CeŸçOÎOÿ– „áЊhMg\;Èl°¶«—Œ Éì$¥ÂV¬PEí”sæ ì•#RG:ö”^ƒ6$~ýeÞ­ª}Þ V*3ÄÐlô‚ÍÜG3D_°ñ°óó“Åc›#,û Í". ÇRò¦aá!ñáÒ¸òsM®Ïc) ¶ïÅ¿­¸-Ít Pggg"Ó÷À¡Ý HàÑÂËÕœ w²8>1 Ŷì¿ÙnLT12ýþæb"à_5¥ð]e\Ì­¼ïÝÄ §°ŽûÅßS4ÏGfq4pv¼oE Ÿ¨¤ê┤Ol°@Jª½´”#œ¾%š›Öèh7ÛT{çr€»æ#çna”}‰fŽ$ ŽŒgϦä¼ìÛ5ùè1tÀA97[¦[‚°{êCÖWi\'‡ßà<ÓŸ0ÒÍ&žr9@ooϵymNGˆuT™È{`M‚Ó›õéiG2^^ÝG ØX8b°èŽ&>öùÞ¿ªàié`6vWËlXÇc'm}`ïäëEüiZRêŠÕkÒw ©¥^ÀLMiçi&Oö-¸=?¿ÓEªù±è&1]á>°å€‘ œNŽðþñqr$ä° `„²Ÿ Õ“9n±³³Só0…uûî]B%âðÚK@IÌóiAù7¨çÒ/'[ÔdYÄNˆRôO!ÙüV¸¸¸¡ó²å¹œàÔNŸ;Q€<™á2½puMzÔ*“·Ãø…ØûÞ»Óf7À1ß–%Ý=8èú±ÈIÈ0×à`XŽEÔñ9[ì멹÷Bp´r±j3üÞÜdafvyo÷l¾0ÜÄw‡bN!lE›ñƒ×6ê6ûc¦yÉ<•¼¼¼÷|&ëw©±kò¡˜“ááÚÙµuuŸuW\ÝÝ»ø®®ážN|ÚàôÊl%½µuýÙ’§bàw-j¨v!U¬ÜþÜ€U‡]Dþ·^uww·éÎ0'· š$6¿ítëƒyÀaj9Q–)ý’ßö=c–'6fÞUã EÄÂo;Àû¡./üÎo#SÎU(…e ?_ ‰Ü—yˆg~…o*D}»G‰èAaÉ·T‹0Z“ªå  Þ¶ç®Èi'³mF¡‹’‚‰I¦ñ„3:&>¾Ïþ˜bJ_O/åÇFQÜ9(ÇaâG¬·ONw–§ÉÉÉX„ôq‹²&@ynN o[ÿUJï&F;ÓÒùG¨cž§ñ¥+¬»WW¤ À”"šû“}LÚ{JË«ØÛåô“ýƒˆ'º½õBœ¯Öãawa4_g‚tYY÷7_õë.&œ’›±‰‹Jy é×÷ Áj„ëׇ׽eþï×ëþ(ÿ×M<þçõŒ÷’0¦)ö§kŒtÓ àŸ²¼†\µìÓÐÿ´êä˜ ÁÁƒˆsC†‘hÌgxœt{TT]ß/ÒÝÒ %(Ý]JJ78tw§€À‚4(-5‚Cw— ¡C7RJsÏó¾kÝûÝõ9k¹ÎbföÙû¿ØgOœŽ¶ .-. šª¢  Ê£dlTà/c‡;((¡(jŠr¯|Ú°|)fÿÜEÊrF“£ªa+=&.Qý¤Ÿ®šjùø1‰n­?E-ª¼,ñ“ô„3q…§¼1©¦’Ü9Ví4_›ßýÿþ‡[¦²<1¶!®ý ßÓQš­Ñì§ßMÒˆÜÛä>Ë/F¼” ™Ü½Jÿ^÷Áûþç…%â¿„ü¯_²`ÿóÂhÌË1-ÃKÉ3ÑKý0L‹¸•Ôø+0»"“þ•¾nJÒœ‚Â(x±Òqý÷hydê¨ÛÑ~þü:ÏWÅO<\Z¹Tv¾ëˆ¸ ¨ Ç{Z*Î[Ý_òúc{Ž_Ýu ®ï’ªÜC7*»ªùõáãÇÉ">R:W%J ÌO¯í),É †}45=SLŒQÓ·Vå¹}› Vè}ìuuið¡× j[EñT[O&1Rd­•a…²‘"íLe Îã2› ›ã¾d“)ä9ÕG›yšh燱¿ài°¤VìÜš å Ê(ʽ¼÷k°ˆüÓó¹& ]®\ï˜ýâ¡Â#¯Wé¾öŽEÊ;~Œ~{X…ó.XÎ`¹™êƒÏ"ÂÃñÅ=Q#K“………M6ôµ !ª–²ƒAY^¡§/sœV#P BZFv‚ãvòMËE†Ö‰ókk³u c!ÐåÙYÔ`…´ÚëÐ> sܸõñãBä[ÇrêëJåÏw5²QÂ"#"|ˆ IH*7ûô€ìä7,ŸŒk=Mv°¿1Iâ}0ÅäÀ&iÉÌ7ÕÞ´âëëK@v$¥§Þ‰À% ¿þìÕ&õß%®ìADGG'É…+ jll²;ssx#D¨;^;É"ËçMÚ°Z©í1‚i/~|¹qã†}”q}ÀýN©'PÙðk à^½‹²ìÍìíø|¯±yõž«Å¦ùñÑ¡¤åj÷Çs_ËÁL  „ë}p¨`”´´%f­4$¯¬°•wþ^§U&¤`ÎêáT‚4ÿ%¾TGñs#f ã—>Y|c¹Vç–qœ…M炲¹ø8îã>À/(@‘.—˜¯¼}ûV9Vˆ‚4 ŸZ“m¿Ïgÿ Œ-®Áy¾Ó¥ŽêZFÕ†× Ê¢`{€:×—±E¸Ãв•UæˆÇz1¯{ÄËËKe‰IU¶´ÌÈ¿…”„†¢ìŒhá ÂW`¾ë\øuÅ]¬Ñ¸¡)ÙÙJºð¨_ð ìø4òF‚ò¦lµ} $??ßÅTø­SíØy}Þ®½víZ•q=¾{ã0´>52¢¯F Ö)Ü"""¸Å2wCöóHØzž÷a–Vž¡ 1¼ÝÜWüm¥Ýæ Ô{ÌsYò"Ý=W@Þü°~þþK£ýQXiiéÊ­!k>ÊJMGÇ5(Ò Ûú5¯ •”’*±Õ¥D=RU]*ZœiG(*(ØË=zôèß¹Fa_»,öݸ~}gŸ±)¿8ÃdMÏ®ì33³¸øQ”–a×|;&趬Ÿ/¢¤©â±7Ÿv „KPß](jó£ J§ÈŠú¾÷¥øù±jo5µˆNDŒà |k®4Ë,É<íü‹Z£.ý222í_‰ÒgQÙ_­'›Š±BùÄ}Š„%ɤA†2;Ÿ@™ùÂ%ŽÜõõ—/M­¬ÿP‡ž«Ô6lýèæÍ›ôôôº(þʸèx'˜»õ´ ÐKÍ"âN‰®±sp¤™µ~”„*!°Œ9²æÐ°è K ØXøï}gp£:_£¡ ø:Y9\Úañ-R‡è–ð÷‚1–D(zAóÐQ»ííÊJJ ü#3@¢ªêEµwÚVRÀLyyBP±@’ŒæfªÔZUõ0½üV êÕmšk¥ þ'°¸§hv}–±÷±¬ÐÄ öª©Èã¿·•‰UzÕ!þ2õq#µŽ¤±E( wÄM„Ú!Nü0I™èÆJ¬QÏ@j¹* Ý»tX8È! Äåhâþ·8p¬çþ¨êç•уĺ$Ž[=°u&Pp”¥ás(Ì´| ˆµhMí}õÌ~Q¾&­I]’ñå¨vúY^yp˜’’â.3âef6ÝB›q®´&¹ÂOÆñÞ»KlÄ¿íÀG**m.ºñKåúTÌÙo—çÓëm þ[å‘g6þ»"<w?Ïþˆ?žO‹¯Ú[È2m »*æþ­´ÔøÝÍ€4ÿ|FiD3.bffÆä}°FûÌs ¬¸{n¤ëîsêêAÓòlW礧ïá ±û3’L“ÅåÑ£·I^Q=Þ|GÑ—Ú»’äT¿ˆ½œi‹iiQ°«(‚ùmê2p=—¨àN iŽg“Ãþ!B Äá&>“¶˜òóÝnÓs°ïQB¬ ÔÙúaåcîݼ¨™I…™êÊë–ÃËß!3¾÷$'"ómÃÊú¬ÄëµÍ÷JéŸØè ÿà/î¼ãù““dvssšŽ)el€svPÔÖóª]Oáâî³rçG3¶¡ìIsÙ²ñùÑéü±¡4ê‘üÊ]Ú–ïMÛÚÒ/¡mãÙž˜S);"¹6n!¦CðU‡‚‡.˜ðüC­§5V’9Wì|çt®ÛêO¿Ð¿aåü¾ñ½ wªõän:'ݑܻë)1¬l9²\| QæríïÄ“¨é؆úâw î0ß½IÙÿÚ¡†ÙÔ5ºæ|œ¤…æà¶¯-½dóÚœ'b,½Ð ‰²¨î¶^AÛ`ôžB!¥y32”+F-[HP¹ƒ.g†MP<{Æ·uüB¡¯D·QƒbÄçooâJ"[Ïš~q%©7šG2õî99ù땘˜ݬïvý¹W¯Ãá¯&üi¥Ñ©…•"Ê ·xxh4}ÇKj}¢4^ ‹^Üͪ}éÒÞUúW–‰÷ÕÀѼ|¡­ÇJ\hÊ׊TÓwð&/oS”‘6ßoýxÙ¿—pJ¥öÌŸRbr¥Ëá2¨ï­­ÄÄľ½nß-´~úši ¶È-æ<^ãäW€ú\p!t^ž³Ÿerñ«iéC°Ö=+q~©H p©®×L‹­3LýÉ“7ýoúk#ÏöfdÎ=£‡ŠÈ@Ôúðj{û¨ÞHùÑäääÛú¥ÚøÊ Q×_ÚI²pä ŸÁo¸Æ8U)¦»À¬•]9väÕöè*ˆEĽÀºØXY±îS 1Žëד_®Ï,öå8!Pµµqwœt^¢£s_Ì)™ùù“0ŧF)Vèru“e éU]CC»£×c]P>;möwBÿƒ4à.LŒòêUø€Á(ÌÔÄÄ‹´ê%¢¨”„2㸷ғ9?)S#l­~í>1qùã°$`-Œñmd[¼S˜Ÿ©{cåËõ¡h^'8¢¤öa¼ø+08 ®ȉ2ºõkpÊ^ôë StèZ–±‡yŸ£ÖöÉyúýI´¨ldÄì' \ îÅ‹'h¬V‘%”””§s­0È‚8:Äö Dl‡j¤&‘4ܺò(‘8±—¿aåáå=þUøã+§»Ì·Ÿš ó•@'IèäÔ”Û¯–°í•1&jêil騻¯b öÌ/7Sw‚1G"¹Â1666ns¨ó%ŒþõO=¿÷ ² t‰F‚Œê¶¶6àE{ûûRWú²uÖ?ã[„Ïy”¹=ÂðÅnÓØ¿ÚÚÚGFóޏ;¶CHŠ—ÜzæP$p¢m€T+½¦ µ;E‘{.g†ùë8Ÿ¸ÁLós_w‚¿¿ÆÁÇèîrW¶¾ßïÄèØÀÖc({wŠçádY’ÿ4ùl*²Àò.ê&pZ¥²óœÀê¨Ý!ÕMô@§z¤I¸©ê—pýû(G³ Y­ñý±'ô¦ èr¬§¼ËööBûeVöÃ3|‚­É‚tlÖ?Ö€ÞM¶=Øè ×Ò„"Í0¹WP]•ÕK•sÚ ~UÞCÛÃ|õþ-³÷ê·‰Gû&™ûÀŸþÚ|ûüXb'¸ \]~éZu'{â>ïûn­[jǘ.""§°ü¿þâ“Ú|{LpáçåÁsؘ2 /€Ð’‚ÕÖÑŒÌì,/¿h„ÙJü°†€…ézö˜°·ÖÌèÁ-..^ÃJù¿øí„zXzÐÊ[í¹ÖóhÝÆ»ÜZê¿Qº”[d*Xüs†šQÔþ‚,—/I*A¹ô¿7ˆSy¡¡Ñ;Xø¢úho8ùlï]E]+Pß¾Ù{&?ôÅßÏ»ÌGB&¾3œ5Àóõ2 ÁË6Ú5Š0¥ñ€HƒŽW¼™î8ⱸè .ÁÔ]•_ëˆzîðÅ­™ @ÈŠ÷qk”å9ÈBãTfý‰i½Žv_ÐuÌcÒyûN÷Wš„.™@Ÿ³F?ù¢ýˆï“^,ÉÈÎÎÎÌ4Y8Ïc#àŽÝÌÅ F!qvK3LƒÂգ̲$e‡h¾8ûêRÑÂ3&^½ýÞh^Jèè7gå‰þgÞ ’ÝÞGN ¤ÚÛ}Zž»*_>Vy@×hÇ<Ý4ŸÊ Úš˜ê.ëL"¯ÇæóÅ&.æÂså‡n‚Ь–ÁV–åÝ?d{dºC{»•B‚[S-4$m½ÕuvQ²9L¶ˆõÙÿ0øýÿ¡ž•Ú×*l#Z¬*9©¹‰eõœ“¡m|°.aG ±¡DÒùÐæ ®}ê÷"4áâ6²¤˜¼Üçx“ UåÅT¦þü³“BgÑäPŸW}4ôªç£TSuµóüûNðà˜új½ì®Ì°!'%)÷ÏÄO<ÂL†šžºëoß~_{ Uòx+ò=‚ µoPcf|_ú±2ûy=KÚ3O²TD4æ•/‰`_/¤'Já/bŽÓSK«÷¨5g~„йÊ &´= Ÿ*dЪ4@9[£I”îó‡·´u >¡3üLßÙìf,Ü NvGŠ*g ¥j®£NÜ»•RÉçÖ²lˆ‰w«`’:CããW•Öh A»ÆÝ¯±¾ŸjqÌåŠ7œRwªnü wŸ^yT׌-lʵº}¨ÈšòÊ•“Ó}..Å,ˆûÜG=»Z)ÀAò¢6Þ7¥§F°l¤R'5¦ |‚»%üv…jsð>+ÍlmŒ2ÄÀûp³««‹˜æ6_0œ 8Â?•P mÑñüÜÜÌ›øF®---ö8tD;×ûÓ(Î’€"ªÌ~âM'XçéƒævuÔ÷?ÈÈÈ~tthß srr’ùˆO`llœ¥™óZcÜÝÝŒ ú1ªó» À4ÅKp¶tHw*k3Vu_Hh£¨ßÐ $ãú€Þ/ØÒöÎÙ4W%ž#n˜eâßô8uaLö"|Þ Á" ¶ÿ«ÐÑlèÍ%â'êê2 øîò·1Ë%°õ¥’±:Na«ä^€/¤·ð]z4st…-»Ÿï¬Nv‚æË¡#pCTT”•Õd÷÷ôüü< ‹ššÚb- Sí}œöÖ¢ÍwÁ;Ý|À9‚Oxzë¾ì˜øx&C¡*M_¦›Á‹ð!Ë'!4Ü«‰R¤Ü\\÷L„W6fj|pE/ë“N)ýÍ5¼›hç)¸.41)‰¢Iõ‘‰’Ø2– þyP¶ì'ÔüHYaxB°¼Ñ²ðÅ室ÀQ»@‘·®¹ãd@Ëáw¹&c\>I.œ¦ii¸¸J™êê$Ã7RÝV°ûÛ+‹¬ûí¦[¢$¡XÏuåƒ \º§¸®` ôõãÞ¿g5ì Æ–Ähþß*•ÁI ä".®1û¨Û`ãÄ_ i_ÐepÈÞÆ<®ÆãELmÿþÝÐ"dq!Yæ¶b=ƈ4Þû¨Œ’ÐW”” \Ñ·ù9pI¨‚ó°^^‡{—QTTL&˜ÅŽö·–Lt:yú”êQÿllîU¿9”•Íl _"vn9(¤£¤¢úéO²x~‚±mcǵ—QµùmØ%×ð |¶ ô„½ÝHiz:ዟ2ÓÊ+'wóg±õ_¢ò ©u DÚK·Í;¿>t\iŸl Auþ%†Xãl®¯ê :Z”WïµgišÖQSó 4PScS”ôþý—€4î®Ë‡›êör&*úú#€¹YLÆàžµš{Ó!vY’³ÓÓþy4†>+¢X”GI'bdd@—Þ,­K6ÙP¾^ðàšì‚²¶6 W–䉽ﱅ´!§Ž»q£1k3\ ê_ß[Ì«'AÈûh=žÉkÇX›À뤤™„mæ†ä¢@Ø Á¨¨¤Ôöý»O\åþrÅáÞæzù-dnî…¿{êù"œAÄ]þÒÜ̬Èv¸olŒ ö.&&Ãvúò„e®Áƒ€ ˜ó0• ¼ñõm ïG·”9 #-Ùto?« Æ_,XQ> °þ'ö°xØŽ˜„Ħ+±`p€=Sͤ/ {º´E󳉋_Órœ‚Cxt ´þéŠ,5Y5´ }p ŽZßKÌ"z•ÊtR‚ù属‚Ï¥ Ç|Õ‹›ÉJ…ˆמð·"PÕæÍ”\ÜÀç‡ë'é”3<'‚uÏ„ ¾X¡î蘣´9SŠ¿„3-À‡á¿¸Q&KâF¤bÀFJ£;úЪÎÇ/`NO}l¦ˆrÞ¾ÿWbL9¼K `¦JÀL̆¨{ǺÂÚ ûñŸ¥fKs¥]ˆ›!ÄLzOµP»j¾="A±n†¡ª{¼ X&D¸°×CëŇ9Gd•Ÿ«Œô,-oRHù§ýMj@:u_›誜çÆà¡œêÓžo·œÛ !c{¨¿åB®Ü¼c8§)™ÚÀ’Ô¯–˜ajж[§D¶Ërª¯JLÂøD£/¶ÑþÝû¶2çùî2§Ù*±Ãц[‡{†Y ûý+&ú¸n‹ß~9¨VX¥ýäÉEá7_’²ÄGóVY^>SjÆ4Ìˉ: ù ¾èðÜ|!ƸK7QÆÆÆF™ÍH|UïiéäÒÈÌØñÑ6dÌÓ àäÌÌ[ÿå¢@œo]•8ÜÀ”Œyyüþù]U|ï}’¿Føk¬çããÚ¦»Î„N8³@Ô{¬5=óÚõçœH%ÒA0qH‡uöU;“ÄòaY97µ$:Þý/:˜Øð¸²ÞN&q°ºþC¢0ýÂߎÛÃu€ŽxóîÅÝ?,=²>/¹¤¨´½¼QW¬¤z—È-ÿ«‚è—Î1ŠËéî]CL97†ºqAƒ¡¼“/Ü|Ñ:ª7ZSw=Ñ8¬±»{á½µ¦‚"¢¸³«×Ãr’ñ5ú4 Cj®»{‰†I°Ø*âí ü»nËŒƒù×'è%6Ø7É|(N…ã¢Å¼H÷óŽc]±! áÜçè¨n‹Ù/¼BÊßmXâʦti|ßÔSº4ãGÜ­ÛCOI!c?èJ`ã‹áK‰!°¯¦SЍI˜ø'’åáCŽs;Û„ŸVæÄw?w¾É~E8•Û!ùG4û‹ž«EGx©–ô2PF-$‹pS~îõ·ôÝ/”ô&é<¦‚ð¿B³¹•bV¯å’ã¾yðp>ç«ê ÖV»Î–ü¾b~@+[ÛÈèôqlˆR¢â#´•Z9³gAšŽhdhÇóì43<¦˜ë mýk!9M¦ò…FÓþ;B=`mxˆSôLµùÜZ#íÌÏÀÒQ Ã…R=,CÙ“TzæFÐHÏË0úÎx×s%JáòƒÐÛçÆsP‰`Ìᓵåÿ¡”˜ò®^¾rø¦‹9âׯ_~~~¯__ðl_O®T½ÔÒPQýbªÚIìDà÷ Ù ݼ9¨·¤ù* Å¢?‰;©·™–èò岩°{@”'õ17^ì8™¢e„t³v;_¯´×ZñÝ;©„r‡ââÇM'\þ[[\^YfàL¶æD<ëêë Æ©wÂLíì¿ED ‰‰=sJVÉÙ¹¹•àò£5äèp¦±EÚˆÜÚ•iŸùX!.X’Á»€õ JÐO^çaÛ’]M¨ó Ø x„`hnk¿‹½µÁ~ãÆ%2ú,ÂÿéºMˆ|ûtS=iÕ›ù(’Ýmìäƒ'è ßËß?ÇÇÇ3ký¨üù®ðßú fôߊ‚Šêz>ïÞ\Rx±ÍàFºkW`¸Šô÷\mqïˆùò…gD6ÑÌ»1ó¿tƒŒ£öðoÑ£ÁÅ?ênjpJC­í"Aã¦&&Y^6q3½ƒc°•ªž¦‚þq(âÚ} äµÒ«{áÞR íÍlWD©-{ÒÕÜëN«0¼[Ã…)4|t}Ã|iùöí[¨:0tÔûøÐ¤¿ý¤± $Fƒ ×;Àºµkl¡±žšÐ–ÖV˜/â¼8òÄÍG L!ÝåÐÛÎÎÇG.ɺ9³1È„ÏÎÛ @‹ù_ímä/Yýi÷ØÙåjÄ¿a1XÒ&Ä% c’3u¯ûÉÁrÝÝ ò¾¹Y>NzNX@·å‘›š©ÔÔÔE]’s †ÛrZ·ÎË!ÍEæÂ‰W6Zñ¼ãòaôn»dÞ8k±)[\±–€¥+„_ŽØú šd—ú§ÅõæÍ›^Ì7c)1¿•'ПX0c+ "Úgçpkq Š+¯’uí.™!Ô—8ã®wÖ‘Ä´Ÿó²%v&>;ö³^œê: ^úôªÿçg(ÊÏ뢚O.á÷ STW”2¥4â{[û›@S’Ð'OžÐpëþôÇîìîQ䲨çZ1ª °T{†zŒí;Z¬¬ßøLíì¸#ÚÍm-cQµÚy\'ͳyø¹à‚ð¡tMNYÉ¿£â}ŒáEW*Gù81 ¹Ù\ŒOæ!ì+¥º,¤»éô²ösK­X38±.-$Z9Z•s·o"ò?\+ø}µiiZåÝgHB…¦1õšï¾áÂi“ ¿‰`Oeƒ@´4UZ;:ÐkË£·°Q¶¤n‰Í“‰ßįl»¯’tÒ›€Nß;²‘(“¬ H¼ø‹ý+i_êjÛb+ÜVŽŽöWê5ÆqñIÈÍ0×^þŒèø|ojo R¶°˜ëËÑ{•)/°<Ç…°—\¤a±–‘­Ý~Ýqy3qô²'nRK€ÍÄÂ¥U^ÝG šè–œï<¼POäÓ•HC—óÎCîšðWP6ÙÕ£^STq.Iý5ÿütÄHÿlóà÷¶6€sª«%œ/6™Ä6„6WAN Ó'ƒŠ¹ïájoÏçE¥ð6"þž›€ìÒÖŸ3\Ö Öák ÕÌÕB…1oí-w±Ž#×:jáÊ#Dù¤ˆmtJµÇ ×gI¬5Pšðtc0;ßlΰâÝÝK]Ûjz¤W Ëá¡¡.ìI2ŸãÕfq”¢Ðœ‚ÁOC³lB»Œ¯/©×óyÍN†)ß=wÂþ·'ó"©=0 ‹íTZš×†.T,VNërIÖc(22ݡۋ˜¶^ ÓçŒFå¹W¸NeÎdayh¬‚‰°£O¤«âhoÑÔÔð`/ËŒ¥:‘–˜ªWûCK®ô4ÕÇGûÞ‡‹ÏÀ;F:ºY‰ãÝ^­gÂ]ÏhއI’°ÚÍcÓÅ?S ð¦ùðv’M^Åv"2~ rð÷¿Ç>žè HÇTË$@RcFÅú¤¡J½=÷PóÛèŒõ’»@úd, ý ²“¦(ŠÖ˜¯T8ó«:zÀ¼Ðßß?G§ãßçfÕ”û ÅÊŒÆñX Bñ…†šÄ$®ïW÷äð:Úq¤Ôáó=7cþ/L×®ô°““ñ|~¥*#ÞGF敞”JGÃy6ñqø /Br*ŸµÍ”ŒöìbÛùo‰Á%s UÝ=±=«òÐÊ/r¼"ØMuˆ-/ƒØÚè¶þééÚ‚àa­Ö[§¤×p’Ög ¯Òx Òó;XY-ì®›i‹A±•>PQO] »ÙbËr[öúPº9ƒÅL[Lª1ÿÑó¾lvd{}]J‰„b¡?¼< 8‘ïß+(*Êh‡¦¥¤¥Õg¬v¾Ú ŒTDžP ¡á¬5µ©iöah8ðÞùq—IÇ5¡|áÑ?ª¶".½,yÏ2XàlTD³ô×8—zŒ„rxÎÝe§…Þ©\í f>Åêm¨§žb$G·HòÄo^^Þð°0˜o ì¡L»Š(ŽP0$PIèש(fìÆÒpIi©¶çÏøÓá‘Ë>ŠgÃ#O ån+†îôŒJq¢j ʧ- É'R¤.eL£!ºz…Gé¼&¾zÏ•Ä;Ìc¬ÚÛÛ uIý·òk}#Ý5»Ú ªcÎU¨²Á<â4Í6Ð!‡s888„µ)Xf×&èI_ÃÜ$ò¸ÀKÉøawö÷ÿ†›gåQ>»Ñ¹oT„¬û”Ú÷Wªy? . äã&ÞØÄÏc±y@ ˆ\®ª–’OŽÎxDœœæÏõñÃQ§¯U>7EÇSÔ‡­5Ý6âYÕ¼ã²@…]ŠŠq?=IÍEIô/åçϓ۰ãr2[²%ÆõѨ®¸k=ú#·ÞJJ„%+¡áõMü#æ |ŸrÄDâ®Wv«£à½8ý_Jo„>DLJÙg”£l†îNX_¬|ÄGëî=y5Ìû^4› …Øéh¡¼ò&¦aÿKî“pÛmt¼ÆÇq¥ðÐ9‹'Õ†?¾äÄÒmbbè(žÓëüQQj BC¿@¤ÈADì"¼¸üí"<³®Aûé¹÷9›j›eTÙäɬ!K?š_#ŸW8¬•à?/ä–ÝÚ@kMo- ÓÒÐ|Œ‰¹œTãÆXÏå‡ý5XÈÁÊj2ÝåÞlW’–’b¹‰Ö¶³žíø<11ñî'N6Wkv™‡ÚbøbZ8¼"¦ð…jþ6>%»Rç<|•^ 6é¨W^~Ñp±Ý?¤ã¯zkì6·jXŠBÇiAè H±}¯mÅo!ß4N×ÉU±îNþŽÚÆJ¡ÖÒmbûa‚ÐÆZ5AÛŽV ›ÙLNÒ°{&Ä®½¯ç¹Õµ¡‘¦Åª\ÝP³ÔpK#ZCäÇZô_Ó›„—ÝßåÒÙo¤²›aœl}NS·Ëÿ"±ªî1JÑ f Žú¢^o~óOm½ˆ‚ŒÊÙÞq>ððëHüÑ<@§,û9¿KÎ*÷‚_ÍTˆž;UÐ.61¿ûzStŒqè°ÈWÙŸ¿*>ÃÊ„(Æ>åÉÍ’ËN=[ÕTÃâL#ŸB=ŸP)°5¿ÿ¾³ó±ßŽæšn*sS¶‹°û)4ÔúRÿÕ^«AdìS•úuÿá9F†uÁÜ+Â×ʲXÕØ8twÑ$%Ybº–©Íß›éû‰Ba)ƒj‚¡ízd1 ŸŽa3•‘a%V®Kñʧï~¹¤ðÑiX®ÉBy +ÝS'mš(ÀL:ÚöÒ2£À隃Ï õìÎÓk~ºÞ>ýÅ«J’ãW.$€8ý,sèz`1½îU¢¬{ÿ3æ¼î.I{ê)g¨Ü›µ¹$@5«ù,ÈÐó¶FÀ0idi*Ç Ñ‹{ŠhµÝüÂgÖòáÔPN·~JKK ôó“–‘±øöp>¿Ì ³…OàέÃDFÉ’ê$ª“‚’‘s‡„Û²>ZtÞ[JŽb‹®‹ý¯^÷}£úâÊ¥Ïx¦ç`ƒr?æV̘²§ùS`NÞ 7U\öÝN¹‹öV)ÇX+/çí›7ŠÙš•èå¡ÖšÒÎÎBoÜ3 „“ºÿã,Ò«D(ŠA€ó@ŽFh¼‹ˆèJ’#«%µ¥»ë<‡K&Ƽiþ³9¢ó‰éܘër¿6\}F‰z¤¤t»”„Ôþ¥$Ôè1oÕë²ÝXÕ«ú% 7aa¨hxÏà`|Ãuž¯ì)«•\ëÊg›B@-]VAÁ–›‰²x®ÓÓÓ¤I¥¥¥é^o8‹Ó|ÿ(¹ ÁA½EÅž¹@šNÜä7ŠYN©J¼¸­R“å6°¦n }'C?§§ß:3ÚÈÏz50­–Þž‰W¼º;?%ÊÌüàùD倇¯/€!Îú**¤$ÊsÊë3í/Ú¢ ‘ôe;;;¶ÃÅ—ã¿ÿøœ9a~ë¼VãâÃYâ/JWKê†FxDîõöë’/Œ0q€lA‚ÎÓ¯‹°Jbÿ— Å¼zÛ4ªgóp}[‹6¬´¬,ªVj§ë)T‰–±¼ñõ+óq«Í9ÙDE¸lœ¼É±(aÀ1©k¡8‘±‰_¶_O,E +t˜Bœ„ICCC%º’ÐPZÙ3ó˜ìÅ<4ÌFJà[C<‘ô§&X~íó&)Eˆé?qЊñ¥ÇÄ]á)-÷-–nK $?§  Þdc5,)‹šeýã‡*@Qz%<·n Ø¥^±E¡±'ÃI¨Ár—¬6,áW¡¼ª=+w÷ÒN°+£nCJ2ýë%œ¾ÿ¿£Ýÿôìl¿¬Ò¥ˆIlºµ °3,#Ï*\s²ãŠ_ü¸–Î7…u_¶ƒÆö¨?>ù æ‰ð"ÚñM}T’““{2±@¸%}ýzöµ/°(—óéùŒ.Ø|¼ˆzJ¥ÁúÅ}ò­ÝhùôÏŸ5ª"PìHÞ³êØ£OÜþOUS"$Eù´ªÉ€ÉÔG‹D”ç\ý"Ò–¯­«kàØ®@o‚¡¹‹f¯ûüíÝSƒÀv [¹Á„éÅ+jµÇ3Â&K–8Y,\þ(Ë-eµ  `èT›!Ímm=!¤9mÉÃT—Hõφ½ý7ýÄ€ÚvÈzýà),¸Æv+mââ¸içþ™Z^47>>0 'ã¡`‹6 °§¦¦ŒOf+ÞßP´zògläe]õ™³:/¤¦Í}b‘m»#¨ÄfžÔ[úž^K! þÅ…Ýi¦$øQ¼ˆÑS™yõêÆ§F*Ñ éœ92jCÚº Æra5öLÕšðÉ\lšÄ‚U7ÑΩHJ!ûñßc5÷ŽT|û£ª ÚC²deSÍ0=QU k¨üä¨ó¢Moʹ˜w-¦Z'Ÿ{"t톕’Þ¤|<¿rGú=¯r«Ã›wÓ£ï†fæ FµqMq: !C³æ9ùd‰ã±ÚzÑ÷õYðñ|C-L¦…òÈòn0Þœ±±q©A‡ëÖ‚b½à$'@ÑïéHB©(~>içÉžµ“—Gð5ÙöF¬[m/gE´þ5Îo”†‡†WC¤„rÅ>ý)΢…Ä5¹àY~¡i–ôµræs“Su“¿ç’•â(!—šj*{бÚÏøÓ-º­  =Ä—rÈ~™ ‘Þч¶ðúâz8è<]é=·åVjPr"EÔC%›¶è€Æ»(‡¨tj0°‚å{êÞŸ±éZBô”'æXCÛ&XŠÎ:/ÙY‘rÕC‡×ƒµnúWИ„¶³)Xw³MôžX_ ¶ô}wyÂlð¥[è €å%ç­Ô†m›ø m…ÝóœœØÃ½"Aròææìׯãáá!m‡]7z‡¢éÈ \Þ[Ì ‡Ã_-—ÍúµYTÈpÜoWÒúm'§[¾;ƒX;ˆŽŽ– ¡‰±à…ô‚EžkÛ8ÈD’„(GÉ^¥Y±ižVúSÖm¾€¯OA2÷w&é%2b·-­3è®ùrã)´2ZN y0~ïDà?|×°_Y¼~ -îy\†‡'&šßb3`SüíÛ7aë>f’F7Æ•ÁB¹†ÑšphÕ.ûµ7õ$€9ÆkJœ¤‘”ò‹ÜåâHYaÐ[·å‘·³¼zÅ$>¦^^Gn£ÓY‡s†‹ÊíÛIŠg^辬Žn¤~qo´p>_Æ_Nõiú&šXySÈãdÉÕe6Q‰›µï‰1h4µˆÙ ~ðRÿ±ø›˜(án) ‰¼™Yʰ•»ß„cÀ%û]½°ÈØØ»ÞGžô4?Þ7dü}ñAuRèhíÐE¼¤“wþµÜ?TíÛVD­Ú"еµ§sÌ3³³ý™\~Õ èp½;™ñýf¶p$î'5gìK“¾òÛ%.}GB—]ïDj[ÍïOf RÆn§UˆôlIôËÒ²yŽºöåÓë9®ñEEÃ*q×T/¦ðøËÉi>¶çÛÈÇ=6ï ¼:·Ýï—/_:;#;ÁbO55³E>òK9Må3 ÷»¹²¹Ýï/×}€/H,mZ%@²4sʧ?ê1ß9í²"mnܸÑùßÝãPƽbe{çsGfæ-1Tàp-ñÄ îD‹ÜÑuÖÛÞÔOÔÜöÞ›O[u:P¬•€È$žºÂfj xe+‰ïÁÓd,³ç©#ÖýçˆWƪŸÍ¾„[`ÙNf*hCbðIè˜7R½TÅw¯oœZï¹-S…Ä=äÖE¦ïû?W7 šç [íeéÐÔ”¨UŠ:oÎaU¢å¸jªÙr•ØNsͦ¬lžàî· å 0·^±®{2„ð°1Tù:EFRÒU¶lvNÎæÓ‘ÀÈ5TÕ3ßàÄçF÷2´7C=Í/¹laÛ1Ê·ö8ùÈ·¶éöøUÂÙ Ÿ–…'Ó³a¥wYP±¡pž-¬<êåLÌ |RFÎmìÉ4(€ÛISd³íˆ#á×èè·Éíp=N¼¹Ä]ÃåµV@ÿ‚®Š®­­‰ ÚMʸC\.-<€6Ä}É+/½¾ŸÔóh¥i«u‹à:¢ŽŒvïîûTÈè.1õ9Ü[tG ÝsN.É'å`s(pø9¸ÒÌÌÍ'w·Çh«ük’‚"ßqZ!:`ÔNUQQ}tÄ'&æ¹û{š<ôàà b¥JoN¹)ì*Ó« µR¯Á4U&-X¡Uofik²¨{½ ¹ó öðŠá¸¸¸£Ãýþbì\‹íËÈéPUÄǪ¦Qƒµ©&ƒÆ'£Û–|[ŽÂçùE ™[¾‘Õq'¸*—£ý1UŸ íêBæå÷[W'9ï!M¤Öž¡mî›BìhØçú/óðáË‹sÒ€/><<œÛ“ØŠríckîºO\JÂzfà¬eJ W¸¯™P´. ú¯u?Ræd0ºØ÷ñÅžÕ«] Ù:…€Q–Qýòé™WYGKjïcèLލ¨Ujû¼s°f-©•ÀÝ þO¡^_Eô’¾[¬!ÃÔ,År8s²®Ø5Z)+Ëu³-€†Ú%}Qý-¨:ÛîPÑÝÑ›H*çÈBÊìfŸr¢©à0Á¨.+q¯u@%#lïó_¾y¤tÚàgZlï™ýI;lýz«m†ñŸ¯"vá´1ë/…n¢…6Uþ÷QÓ^nV,©}x盦´«««¤¤äƒªÑ´Š¢>ÑIÒ?vxg2ÄDÄ,+ñÔSÓÒZ[{†à†ÏôôX1D'D«cˆzŠªã¾ÍèÅU ݹNLrVö@ínUÄß«Øý+¼É#uË#ò?"ž=}ê·CÇ—ꢠ™ TZ @À¯?ìú¥[NgÌü±@6gI*P@ᬞöOe6&¸>1f ­¹B–ŽÛ£nõxÏû¾GrÈIKW®¡Áêi* Ë—-±•»å.‹T0_-Ï.¹ÆÁ±æ¤þZå¹ëh,œ¥•Wu¸5\ôIM1eÕÙŸuÜñœ³<Ã1óÒŒ¡hÖúòM›È}€äB¢û†Pø8öBáë2N^^¹šÃFÚg5<_¹‚Ûçì6SgŠXOº«-Ÿ‘ÿ™5K,¹û:D}¾òù®‹cŠö¯»ZÇô¿ÝÕ÷»ë³õÀmúsÅ@ †û[KÔ0AÛ!dCƒ4¢]SW—ˆ²âøh?²Rµ‚õF7E‡Û!c•N³*Zƒ`&»Ôß¹m3`3E= å£}xËĂ޴®p ï[EX‚Ô¯nƼ·â#zOa×…¨ø±ŽÎ|ñ-¤ê†l~Ì->¾UÿŸ@íÉÉOʲ©ÔQ~~~À7›ìJ²6ñ'qÀ\£K€¾ƒùvÕà`EnÕX}½án`›CøùÏ ×ëŸ^넉 †‚‚ ¶G©*¶¶]}l/zÞs•¿/õa833Sr#T”Zödƒw9÷ïM†ŒÀE :ï†ÁhbéÝÇ—æœe ,²H7ØïÞeð©ñ ¤§¿Y!œ†#2!äpºþ¼òãÇïŽÍDl‚W àÙÔ>¦ek²®½à©A?låÁïV¾øôôtÀ€«COŸN/ë#™õìm¼1È”¢4B1Ì‹ð€æîh)9j.4œ xH‹ãÅâ(:虵"CÔ”7ÐÚ\&'}šÛË(z!‹w#…]¬¼§vöiŨ]6óÆéã„«ôŸ± MMÃ6"¦7+;>ß“ØìQǤ©V¯wÜóÇŽ Üî£þz6Éæ¨á4‘è4îwÕrÞÃ& C-qt»bT±üx£²¥Æo·´ ¤ûD$²¸5¸üg¬eµ¼é,cŠ ÞX¡¿‰/ŒîK…k"/ 2šjVM•µ'½ø…n7¹.³€ž…MYÞ¬9îqwu s[ºÁ•&#-­[¤ðTÌoâGª =íÅ:ÿ§ël6Ûñ¹3-v®ý¿é-XGGG^ßÔFÁ\ôõã:£€¸ØÆz±110gLóYT¦÷Ͻzàÿ¯ç›€Œ4,ÙÊ®Ü.¾c¸Öcr[ðÕÉM‘ÜØY:u‚ÀpFÿ‰Êâ\Sÿ‰ÆätÄb®š)yü•EP°Ðv¸øèèˆü2£5‡üÊGÌb›~þ¬ÀP‹¥ÓL›%&n‘Sh3( Žêr­T›¼êËÖÉÑ+AÚæUþ&ò”9½Ðÿ’×—$GƘœ–ÒšÿoÓSZë_‰øYðJÄdFg%bŠBË`´‚µ©¹,7ŸÝðk†)×gúG~+­ý´ /HêK³Wº@Ü( >Ññ´²b„r\oÅ©7Ï)‚4c±=ÏßÜøýHÃâßƒŽ „Ú Iž ‘reôAh–4\n-ŸUÍÔ ³£2¬ñâZŽúÏçÏ;³áá½\ía±,õf95t]2m[¸I‘ R3ó&c‹$lOå-¤ŠtkK ÉíÙRYßz”Ñ–‘RUGñç’ PjS¢ò»ÿê?îÞ€¹%õ­øöPô€­¶¾—yùj›Ðíâ÷éù¿3ªòcDÄ‹«ºùÑ ¸Þ Ž2O­Í?‘K)Z¦© …¾ÕuQ¦ FˆàIKñ.ð"8ñ'Éž&T)Y øÒW_ÉZS/£nþÏèßI³UÒ8Òmë©g×j¢]iÞ[l;lè}¸¹Sx[íÐ@Àšœv[… w$E=mmN“ÝýãÝøãGJJ#nyCVÙ¼w Gx+o%%6iã·ÙDÑ—PóýÞ´”ôßÃØ$RÕS•,ǪPªèÉ`vÌ7íü¥|&ƒåG.^´{£…×`"’v›ÇÓFͰºÖÊ›éX߯v54÷“MucÑÿŒ3v-Ù\9˜Ê~°œù•†]+Íâ»°°ËÑÁ®»× ñƒ®×™0޳ÞÐÚçaìžÕ¬àââÊh“øþO'•ܬEö¥ §ãÖM8ûe ­¶È£*ñJf+iñÏ„µ¦ø mYé‰Ý Øi®{“Äq Y‘FÅE2Í*¥º)[Òü8_@Ù CEÏèAÄŽ–f°óÐ(e‹H˜«*,²ï,…ß—Ëå€6…—^+)=µjA+›hŽý®œ9eÀ ¶´¶šiëkjÒ\½Êmb"†G­6gõXß™ ŸÚfeP‘—oni‘êž ?o§Â¶— €˜¸8ÙÜÜ|Cñã8tý÷ïåòÅ\.m»Öö¹O<u$^›.gƒ™{XìÆEwpž^ Y¸Çïû¥'{ÚÝ¢rëÌ7jdB45….áá1{~‚áÞ©ýã'¾:H”˜ž45$nrrv.¡(†¡@Äš$3ñteëf@øèw_zŸ”vÛc£âã½ÍZm_jY·Î;O^ŽŠŠ¢{2›K0ë ÊØ¸IÓ¦²&ŒcŽãäãö&Ý70ãi-ÛiÑBŸ•ñ²ŒÛt‹]@à‰9t5)½,÷i,úý$».Ý1¸çìÑù™©•ÞM|¶M|ÕELÙ‡›""®ƒfZ€)§…±)L_YS"a[fÐ «vÙ Ö’ˆþL–wyõZ¾ÂwäÔÒJ=ó z°¤%wõí?…(Vl ‹ØèDð:ëü‰¹à6PÞ×îx—.]F¯ƒ´ @âà>»2º µl‚€`ÝÙXYg`I£™jðõc{>D´´±èN€c*áýª~ž}n«©u÷È¡òm„G–ãÏhBˆÎZZs'-­ì¹vÀ˜××Õi›+mi _j®8d ô 5ÃK@¦·BùD>þiݯ2Rù=d÷PÑÑÉ)22°XH"^šÏI¦%’33]\ÙƒU-Lvj?@ƒ@fZn÷#Ø«`»‹Q{;›š¸‹óQ­yšÞ¦Ê8¿mAì1°c;hƒ³iêžìP‡Ë/¾ˆnÔ} (Ñ*¼ SÔ³SÜB½ ñ8Ú]€3sr¦›6…ÙS'@È“wvvs+xnݲT*wcÆŸÖ°s2™Pµ;Ó›¥µÿ*v 1S„ý[/^F5>óZÕaÉÊ}b«™ù°4s:§I‡l@öÃS!i$J¾ÔbÒkß³’’ù½MKó õ%jÌéç^ÆÕhŽï`ÃcÏúvú°©úËòRïã# y: ßž>QŸ”žëT¹û™†+¨˜’Éñô‘4ÌËùî”ÌV#]ï ´³®ËtÂ}G-RK]cñ!M·ƒ§J%\³]Ê%®he­úé¦Rò.g4"A8žL\¬Çz㞢 ™‘_%«Týyqt#U$S²Â /£,½žô»Z¤^µ¶éeúMoÛ c•ø¯!먇%Õ«ÿØ­%)ÂF³¿¼.‹âo_âLÝOÆÏÛœQ¥ÞË^>/ò÷EC}Þ?àkŽVÐT9-²üÌÄ bû©í{‰»ŸBoçZ<™ƒ[~[ÌÀö¸ ›N ‚9ƒTvlŠoŸ>RÞç.Ï*/K‹úîÒ;†yjYÅgä+i©´ïëQnð2ý[lx[§²Ý韵éx«W#j#>Ÿø[TDÂã¿ì­µ,Àç;à\Y!-èG³ÙQ~sßNðHÞŸ§‡jýJÖ`*¨\ꉬ;¶=`U-°ʲó«3x‘ºKÏEçìܬÕ:Ûþ·Éy2¤U’š´‹È_õ˜FUÊØ«=滬f€ƒYí¿‡zäµúyãÒ0ÀÚ«’¥n$ºPiRà4›ü(ðôFàáá{¸º»ª¬ur—Œ¼9‘Õg°ùüˆ‚RŽŽ¹šm7½ØØ©†î¸'®x8G˜Ÿßa{yTxLÉ¿P'^]lp/nADý{JÀ騭/Läòé•.´ŸÍÓÛ¨MtQR[¡2R2;S¹0=.—*’«·lz»ÎYié¡Ö²£ H@+/§ß¸3pÒ‚ÿºÞ*Ê® VQ¤CšAP@R:D%¥K@D†”!U@zhîFÉAzé’Rº;å;c<ïóüßÿ­åZºXrß'ö¹öuí³÷¾»O&„-?óçžl?«yÉ…"›´Oz÷ŽŒçÐ~oyZG¤#€”©9‰q‘ª4ðy¼ˆ½Àõ·Ù½¤ ÈÉ8y‚ù¹¶(Ìõ ¹S}Xì›{¨i»©²ÊœÎ›zR¥,uf+¼#¹øjk0>°{õ¤_Bâ5xP4ÙBP…½>S^ó=´s82QÛnªþ¢TwÀTúÛe­ÀÎnJúÀ‹ÐüþŸŠˆ^Ls¯ÅAÏÏQ8¹Ð`1¡£µWèíëïúÙj0ëQTY™ Žÿû]ñî`)8µ¦D ü¤ê;–í÷§\fw'ùñãǶuGó_?œQ"J Í¾?%ñ¤4 3¤ä¥Â‰Æ ß/)lxû—ŒE}³jÂôÒ™T‡mz’ºùø“´BúíGW;}qÉ¯r¸3í²01ešw§´´´ÞÝ@î¼¹Jî&`5&ñ“ZùŠ,­¸›`(Õmž/žîÐ8oRV‡ÕþDk¾¢™™™MÌÌfD{#˜dÑžaôž»½ÜúÕ«#¥­`ïÞ–¹í,ùùùŸišÀì¶?ê׬~Æ×àµè¹¡xÇ]Ã]I÷¦ÜÜÏd‘Á ¦¦½ÈhÄsÙçë7n ÝÉûººR•nDúÝ ÷“«œ\'«Å% ð —ždêO—Aȃßü2xSÿÈnàåIZ+[ìc¹žÊ×¾˜2“.zlÑDõÌã".Îoÿvßχå÷Ru&‘¹a©ŒU;Ú Pü| |XDDØíðàþ™ÙÙ ›1­œé`˜!c¨Æ2-’¬ìûçi#㌘órôpöæ£3©šÄŒŸÞ$t¥vÛsDXogý^P ¯/;\ÖQA5ñÝ]%|ø*¾¶!,ha+ÃY‹‹‡·]§ØäG¸EòE¡6³»}€ÈB»caÅû‡% ]o’5fFV=­°ÅÐF_ªknXâM{=L ‚øÞaZ9yÊ^þŸbóÖ&ÑgÎöK£’ùQè°µwµPíSNÑ›YÜßÇž"¶#øÎÔx—qçžÙ×ð›Ý÷NÞ¿§(±›nŒŽ&¯:˜¯ZHÙy–]æÖ_íüÂ÷U} °n]„Hø-FCœp’|èè¡ A…ª®.‚tD,Ó'gSÊÇ®‘óµú’½½=8Â߃êÔ‰ÎêE|uå?Ý:~7y£TH,üºùL:ÓÜ8QN?WN2oüÁuH¯Åè×=ë§ýQs367YÚ»¾ËËÅUеÿ|…<©Ö¯3±ïÊ\Ç+L,Ó½ýV[Uõg.D­îû«1ýŒŒŒb‘;áØ-®µ‹ÝOJI›šÊ³`Ú•$Zë¶×8bGŸDw<—6 À¤û~Ô¿«QÛ i©N–Ø›”t{OfÓ.«È~ƒ›XÞ‡§Öu&(èØ¨(,Ѥ«c×™/Ú×Ïï ×ÿ¾Vþ#©û—¢'Ö¥ín‹˜ûåQ@Åtè°3xù¿›×„Á>«Ñ»}BÝ|‚êu9ÿÕN®·~Ó­B¤S£öâÈÈ... 38g¥Ÿ>••2 ïcÇrë¹ÈÏÏ߬Î÷Dt-?7Ū?‡°Ë±_ úA§äaG0E-)àΫÃöcå69n¥GÛÿ¡:ê0^$¦K¢Ð J::‚7½\¦¾CŸm'Üfšá£@#媤†FMáÁ[(@Øhâï8/o¼:w/‘ýšùÿ«Æ“ÇâX¬˜QRˆüÁ¸„ü>ÕÃ|¹ÊervÕ9“2cMZi mKšþZAT GŽ’ÑY,ô;eŽrGDö•Þb]ØmaËÁ®Q a;ÏNfï—‘Y~ŸÀ˜£Ÿ4ŸÿR7þ†>Kçð.ªw;c QLûO †oÿ’Ô×[ÐQqHõiep mf›…¤If_¥Í.{I\¬šBÙl|Óuoˆb¥›ˆ’O%í¹/K¢pB¼ù²æÁ“<‘‚‘„ú¿};*fóç¢Ðåü'ÿïè€òœ„m&Q°³Ûl¯ mÿsz›,í¾ …Ì€@¥2T 5kŽ<¦9|°siuQB 4¼^ËaX¡Ö+KªäÔ$ÿÉ}nuË‚Ž>ÒüÕj`ûó‘KÈÈß®ZY”˜¾)»2cìÒ Œ7 €*A'˜ËUÞë×hAÈfoVI·EÞ þ<¡öPRðliÅøÖÇšõ æ LªÍ:i…žkC,Nz[R[‚XÄ ƒ[R¯Óuz™]^|½ œéG1VVYe"Böy‰^—¦––_äÅTͲ/¤n{¢'s-û¿…zÁÁÔK•h] 7c{zñÁÄ„îÌD/b›¤;¯ ›¦ëÛìÛ©_þݧ{ß!%Ir¡¶™˜0­˜˜ÇDµs€¬´ç‡ÓSR²Ù ê›$tó)î뤩ǒXͲ?xX•“†³¨HÉ&½NÖi—^ X€–å»l Y¾ )ðM?€ìù&£á䔉ËœûÄ(%«¡ÉcJBôk²ïÜ|^Sy×h½Bó˜íŒmx-;uç´RRЋ«¥‡ôW_¢Ä—È+…~oqÍ‚.»§teº™&ŒuªÑ[.ÿ§£ÓC-û«'·þws}<^ƒìOt½Ú¢—‘†LâdµÔç*1ås>"JëqLjö @<í_38?/)—¨Åy{S ›÷èlãÕdÑ3 ß@ ªW•^¾ö`âå-–¦ÜY覲eê5…‘؆2HÜãà¸ö| xÖȨ¨DA˾JûÙ/ž'€$TõAž‹À¹Hɘ’j7¾œ4rû`WßQT»Ÿ€ ý^§·P›gÅ)V`Úkb™pžTcÿèÝä½O76ʧ7þ¹Bvþ'³Ì[šN‹ÿ[a®žë6k%­áä$xÉ6*Š!Lncœ»ØF¼ö3Í]ÉwñkŒŸÔ×VVêT<—4ͱžA'=vÆ`u„\ ©a4˜=åÓ"û¾¬db2WXôO¡dl­ÉŸX›G™ìºÚþÚ˜60±¨àî ÝxcAxÎ^ÛU¤ÂOâü¨û!ìçQ÷«™œ}}ì\Š*v=•ïZ³m«ÙYYs…iÜIVVd4»èƒeÞ”Ï[ÌÛ„©:ÆÅý}P_6Cè“ß,wúTCû˜åÍx»Q1 }_n’yK­-ØÖñè7ËX±™C'ªeʱ-"_ìIøª´'ƒIJìY!ÔA:j 1//5ÕãS^ž\ÍsÉe„Nó¶m¹çÉKé*.je@õ~³×…ëé˜ät·Úƒf‡—IO*‰ i%L)µ˜ëv4»†¡êçf;^Y@þ¨ ©C{J#ÝðQås È‚ØQOîò5xþÕ‰kΪ¢¿=}B¿Q Åd“ @„7µ‰ÅwUŒ2òÑ«Ã%™²aôw™7´W:ËmÆ"##ÓÔ¯æÔþ¨¹BMP‘ÙŸ¨”( ˆÒIÐÇOÐððÝÝ]åä;¸µ #$íxµ ½ÈÝvf‚yP­­’åÖ#êînŽZÀ!ÕMmrŠk«ªé|WO¢áÃÇsÃãÍ{ OñajÈÁ-œóïäÒY½Ð dåq:ÂFÉ­ɸŸIL/vø›x œÓ Y1ÿ Õjу廄3"=LLE`REs† t¸ù°®ìÊ(Ûv ë1|ªêêÞõÓvdr¡•€‚¥¥ÝpÞÏ@ACCH®ˆ_^ì®LÇÒïž òñ•LåÏ„Ðz[Eqsï¢Ê¹;Å^»¼ÿê:“Jí2ñ¿([Ùãß´âY}«ûÁ:…[Tj* M||<îW-pûƒn€§v&BgÛì|pÉXœÀ’âáã7åg¡§’H(ƒ&lx _@Äl&¿xÊÔ¾±])½úÑ»®¨ƒ_ô0åö_$£³ä_ïý‹²lø1|zvFúÃÜÜüŬîÈ˽{^À aô+%I5ÓFóëêC^)œÄˆˆ›”~¸µOJÍ0%~Eu?)¹t;’ïj/w¾Rêíトé½ýÄ{á*6vù‹!¢w¬ŒCKý¹Á`›±#‡KŒ;ñÓnv”š«¶ùTYYù‡¿ Bhrܘpðð–{Ò›€Îšó”KÎKòÛ¸­[&§¥¬ ¨øþÖßÐÉ‚©ïõÞü8ŒñrÙ™K¯¶¢•ÿHÚReO¦wèqp¯UhbúÊ®Õê–Õ{¨çáW5ꮕ•v¾{ÔŠx+Ã_KˆW i/·ÚQ %+”ZÖZê_¤ðÊo/%w&_‰2c§</LDãn¹m(ý® £O/]4eŽFYðë*æŽY9 ^ J&çñ)WPöçC©9•”ixçÍŬ°¬¤&xe¿Ð8ݵ‹ý•Ê^ȆlØû(øŒÖYu ë»}›€4eìñ£ ôûÞïTö’õ¯‚(!/9ØqƒæRƒI®_rö¨ÑÆ ŸqD³Hû¶†–u´rY±¶OñnïrYˆøGD”Z–ï©^¶QhÂó¤-I3 sºÉ`:)VÓZ»vj"²?Í’õœÝŒ=û¥¹–K”Á£ß!ÎÅO%kÙëˆþï\v͈<ÒŠ@ZNÑäÁ¸ê˜3Ö^¥.6~ðbacAš~ºä¸'˜hJE¥CµuTKÿ?Ñ|'¹1øêñç,(…¼lif¶•ŽÖy–2^ŒeŽ÷Š…©ÁÐ_¿Õw`û7½‰šø]æáÌÞÔëÌ~Né#÷äÉÝÚI#ÿÇÖÖ« <µÌ,šclìì¸ÚÜóšÑG”{_ô?;Õ,+šYÓÆM[Þº9ÇÈ/¢e’—Qž›á-…;‡àʤ¬üodŠOô‡3VcÉÔË=”Ñî´xCåèJ·µ=ª{\Ko*ú©¬9¹¸Z8göùV­jI«DJVP:WUj㿉äfÜ3^^濦Siú{L•óÓÏV2•YY̿ʜãTC:€|¯vZÊX3b&Ò;* r,xa2·Ó©™ómÙê(¾ZËw¢f5þ¿Û…ÞÄ`*ž”|‘1ûf”?Õ`5éé:-ÌTü®ÐêZšeŽú ÇŠ£—°–U‡×æÐÚrÌDyÍ^c1f;íúÞøÆxrIÈʳÁë®Wóžaô@êAMßr>š€†nÄ<5†¬Ú°Á{`@“/W¤^…I¡¿ðñÉK¾kn™Jå_³ý4r•m ÆåGÌú†âÿÙAPùÄ»o™|ÏÓíw$…7æO$…áO$…È_R‘mÕø-HW˜@»kÒŸ62íé’þ±11¸-¢[IÛÊ‹ »µ|•aDt"†·¨þfºù)¼ã¾‰ósy%9š-ÞÛ«};ó¹çÚ³ ¢vúƒ9w»Ä¾>õª§XÙæµ`·sf³ÐR²²L€#Þ¸ÇÂ"³HHÿð2¦mݯ¶3Z°)LÛàIÄÝv‹ÇÖ*eåZþ_)ïEßѵîT””xJrr_;:š¹¢ß½›nü©èI”¥w½L ާ;O-Ó-öópÐ_Òêêê›Aê°ŸÇCu£Öå´±;ÿËHRf5zœ¾o ißMJ©am=Ø1]_Uf7â(?—“¾°9Òƒ]ÂÂ’¦0Nÿw¼žMÞ„;pS ãoua˜þÐïÞ±^³¯‰åzäD—‚m^ß°5ÛjOðÓÔžŽ„$­³·6‚³“©Ë,!ÔGSz¶HÈÌô@?×[ÕD@DT:_Hÿm¼š/UÅÕÜ€SNÈ uzðJçUMkýø®êÙÕÙ0ÌxCß%«|X÷̆:|Nçû•*°‹M<-«Q˧o·øUm{KŽ<¦+ÜÃfaðj1Û™ï+FÖùü¢ô"á8Áqz?d6F®¶AOõw¸áãgਮ:ÚÍ£SÆ2l!ÔT9{оËKÅæ.ß U|Å{ðúæ…ð«Í ÅäéÅ–ñ ‹ûδ>¾è¬œn¤N:ôW±ÈߘÈJF£1&5JÝòý B†uµiï]tt½Áæõ0¼Ú@BÈ 633Tµñí·þuü¶9¿óŒKH¹.IçàÏ}³/¡íxkGŸº`GBÆDûñý{rçK^y©7èÏÒÕ4ÔßI»EBÑQ3Fn°ˆÈøxák{;þ¯@ë‡÷IØIÜ¢!¤¤%@é‰Ú4Rî±Wã&`Þ•”"î>j-¼øm}¢FC]Ý#ZÙ¨ýÌ“‚Ó{nÎ$j´Ah \sð§ü(„·ñzä8fCÑÿˆZ½ç$ 7‘õçaøxxÖsò€ö<Ô|“¨—£QKJzÙY^HíI’Þé'4ØV=ñ…SS^ü‡/¸FßW?*¤rÃjùöí›Õï2l!§x*¿n^ú÷kù¸Þ²î±011‰ˆèp«IFK¸¬Ÿ›oˆMeæ}¯ãáÚ¼p3=ð5Þåò‡°>ŠÆÚnFï×éË–}wµÝüÔ\Á*BÕr ??ªÛ8øq*ºQ)p÷n͈õµíÓ{Gs#«]]I;Iñ“.]¢Ý®åVƒV–ÉB/¾’†Ÿþølè)`±€X"/ªÉ„P“RR¢"SïéO~ÝÚíWÙñ ªC·Ü:^ VÚ”a¾†$ ”Šï{lƼ7§óè€Y¯"RؼŽÚÄòCGa–{Ùe~¢§ÜÉë¶ö‰‚ͱøöÃ<Œ–¢_¾&>D4zMg\»öóY¨!ž/¿æ^$)Öà§©ÓE.aî^׉£è<òwpÙËåËùŽøX|š‘ ¡°ø/„mÐX›ouÁh¤ù­H„3œéš©Â4uå+NŸì|–[í²]fY|w8²ŽÐÌaÌÆ¸¼\dñ)·®ˆsgÏô:‹>Ÿ°(×#g`è†)§öe2ž¢ý9Ç5mÛÓ+(Ü‘[Â6 øhÃ…ØÛK.Ÿä o¡O[åÑ3ˆ3&,Hy/¢Ë!âûî"JZ÷ LŠ3‚è6vQQšVcÍ%ª(±—]Ãmq2\¡ëÍ#<ð "3=Ê·e—ã^=mûÄ€êÓŒ¿ˆBk‹–hf•šw;„G_¸eÊ®³)³‰Z“†˜&x!K\+§H`Ö éŽÈ­ÂcÞ-™i¥‡Fº#ß!_Knñü]w’hæ0Ê4ôS•£L;2¥Ö±ÛÄI¹KöÝÙ3S‡N(÷É83«ñ'?ýÕÈøÖȪݶ¸ä¨ê±œã‰ |²ÒÒ%œ¡ñ3Ûq·u6Yr§•’SÜ-¹ÄC÷Uèø¯ÀBJ7Íö¾/Rb¹p §£ÿy¯*’¯Q«òÉ$ÑI9eëyZ0>Z„ÁrÞ¶'X²É$ö¥r,³±²Ð‹øˆ6‹ôè§F>£ [µÑXW¸‰m¢ T­*O’ÂÁ ­KµßÏíô¨¶·’(³ ufMÐ}¸±í‡uú;‡¯¡kþ)åSªòòxÏš«4VûàÒ¿_ãy˜zK&LfgèÆÏûºÙ»•·üõ“º5÷ß=Ïx5xHùM •‹‹¦Þš_á”Xùl¾­°ÅàáÑBëKín2NtŽÓ®EWŠ…mÂ:ÂnZëþˆÂ1nߋӾ°&îQÞW«tbˆ¸ê¼[ò•ˆñZàe0ûˆBÉ™ÐÂ-Ô¸ól‘÷½,Ãí“ûïBÜ©W›M‹6çWGJ‘©iÔù7 3kïïÇGïž…¹oíz†­އO¼ÂC£Ï(E‚Gì!BîÏ4¬ÕÕ¯&­¼»Kó„ã.:@*ã=Xÿ°7žÔͬ ^mäqé§D[~Ú"˜§fø® õX2ùrÚÇDF>,k6ª–¸Uá›weÙÛ¬]Ú'˜B[úãÇ>‡ß«}7žtž=Ã5‰sN™‹°¼÷>=‚´Ý‚zË/ƒ IŠ´·¬Ô¥åòæeAáÄ8Žh ÌW=}8p ‘̉=t+kH&žå÷ØîÏvnÔ¯s¡ERáÆ&õã[ ±Šæx,©CWËÃÃIΕ‘Èyj„f;Û¢X}||Öjl/Ã.ÃVÇxî·gç÷ÍXP5‹¦¯p_”ùNõÙ•ýnpáÅ:öWÜ´‚:ÜeO-qÿ~UG+„Íty ßô[tÃ;bZAœK½Ö>ì»Å¿ˆ±±åi}Ðëàoû^1¡YåðCØz8m‹åÎ;.ëã™2ˆ>x©ëÎ<øO¢Ip À­šü‰ïÆÃgIaVy[ßŸÂØ‘ääz®ÒÑÓÿ}QôOûƒ. eŸÌÞò ËÚhvƒÌ™e´ý¬/+Ðu¦³/[Áu˜‘ÅùHY9…ß/› eœ¸ :×ù²7ÑeL4޶õÜ<+º:YÇX¹õ¢ñμ5Õ›âŽY?Ó…î‡U~·…‰d•ùW\-Kõ ¼dú=QŦÄÔW?JZéÝÓý7Wt–¯2x`}6[ýü£ýÝUËû8¶h÷ýU )ñáMœ¼Äª¾ç^;ЦÆFA´ Íh¦£ nY|§™LE1A°­­ 8jÜñÞkÎÕ õ3á²í±\?Ó®”_œƒ7UÚòÏÊ„ÑÛðZ_æú#†ÎS£m¾sÂðʙֽr¡Œ,÷šÄùT"/km¿}I÷ea‚FÙ+SÎö|ûXÎe¯ç‘¦w??Ñò\’Õâ7·>¯—ß/TY°s²žíÊù0Nw}ä•ì9,ÎÄÔÿM-áŽ`ßpÖ¿áYÚ Çp<6ò¹ ¥®‡íL•©eÊt&)¸²ÈËÉ8¨élbÚ7æäøùû¿`,·‹0Hu<Ï ö8Œ5:ùŽç±S­Û¼ävkC«Ç¸™ª‡‡Go†4fÕ7!Â`™Î UÓB„Åæ¶ëïç*'QpjeHV9.Ì$ÙÑ£ô³³³ éÅà`hßXíed©Í71÷ õ@síìì¦ßb¤ ÕÕ±¬¬,j‡Õa¾ÙT\\\ÀóUÇxUS{.a—…ݳŸifQJ°³rA».„^¿-nõý=Ic‰´¬ì 쓾Zm·»¨A¦ë9¯U É¾§Üvö˜Ãûù⓯æÏŸÆ¾ãUU¢^ÚÊ&¢úàp/°+2˜Ž§¤á¦‹+:y6Üô I¹IÚÇn>ᕉ¯ žé#¯Å‹` ÙlŽ4IÿœiľÌa×ÏÏCýè€1ÇŸ§G#Ô"vS*⦢[9^gÇW‰èê¯MlLÖ¸Àn“ÎçÈÇpTz¨F0JÓ~#ns™pšnòßbSÛ’ së’/ Ô¨à±rˆ¸› °8Wú5/+/N5øPÜó<6¼MC+áuzz´cO¡ƒx‹O¥U¨Eˆå´>^µý£½;ŽÏ‡0܇IÍ,@ÀÛµŒpF¡Âz¤ñæ-VVJb‰S^l6AAò¾ Æšy˜Ša /¨”(ü˜Þ¢-ò&4$,¾¬bã)J' è`s³Ô>®–}(Lþ·>@ŒO+¼]ínÜÏØôzÀ?œ˜Ñ&±&®!­àâÏ“ŠfÈf>1€!£ÇŠŠŠÊuùs«UPâÝI—éÌB!%¢|ªbþvS³dWOHWI7팭8§‹¸Ä~’q¿ä ƒk­Ÿ*Zœ<”Olç’ÇȪCï¦iàMHaŒ˜BÈ1o7¢³5°° xg¹S!U/%ÆÛùf¬ ûûú:„qN®‘“7{9üøFAOÏä+ÉéÕ/ U )/™ä¿ï¼< ê´þ³~¬xõÛÙ”´!ë7A”\Õð-£Ó áû0%‘1½=.`#½k¡-ÁT îo Á%²¢ëÒ¢?Ý;Œñ8ÚÎÇ"ÂÇ_«àÙ¼ ›wnÿBžÅdSóåí<â<Ë>f·Ôu49§–⊩§†b?Üï³tiƒ¯ »Öy ‡ÑO6BðÈÙ õIlé ¶z-A0²*µP›“Wg{ÚrsØ^…híNa³ÈŽ (×Ðp‚åZû7ñÝçÜ'­S㲞£>e¢ZT¨"]Ï7®òr;ÐTĆ;}1ªéŒ¤ÖýM6¿L)¹¥ü¬ÞER¬—?À@s!äÐ.„NÑËnñƒJÆS)°ûddd1dË5 <µYÛx‚=÷OÒ€aq*”=oòÓ'•]ÝBó û³õˆÃ, ñ W)EÌ(m·B"‰‹ôir®zû>d—´o\@ ÂÐÀ®¿­¢kkr‡9Ÿ1Xf©!lXµ¸h±4E§Ÿþõë×Nm+Ö¬Ÿš^×…­u~‰x%=øA‘§_Sžw§z?goüÕùüÆÏO×$ ¾Á!ðR›1aJþ1·J¹‰Vy®\tÞGÓØ°ù='š¤ùµŒÇÊóËpE÷ŇBûìš³}¢³%*(þ˜¤’W¨œ§¨Yf:„ JYûóƒµESñ|¢G¼7þøÒ†Dp`í µÐ85oÈõ´¼Xÿ³Õ  Ÿ [óG © ü&ÁPZ1xq0ç¼oœ=…Ú<èi›9bñk“]ô¶ 8f4b—¢wÛÔv–_<Þ[QIdÖúp›²ýµ1ã°ÃÛf-È% ‹‡½?IMiL~ñÔß4¯´g’ 5É@+rm-\d`›ûå#)iiK…æTòäÆÄ;ÎË!ôâ´n¢.ët±‹˜܉êÏ`,µî.`,¸KùÈKI"?:.6¯oã-6X¶µµ!·å¼‡H\50xÇn¼ågV¸‰ŠÛÝ^{Ý3Xð(·™ƒïž"फ़'/?^8] ½»®Í%Èõ77oÞ,«‰Ž&ôr•þl$ìñ4|(ûÇ2‘mŽ’“S™U#r¦õGÁí»V/ÇŸ˜[ó{³©ÝÕk¨tR%ßÌ Q!ûÅ Õæ§‡{>¿R‘8‹~ê0†ÞuŽÔ4d¾;5¬640ð¢‚A¡Ö‡„».Üèh© dUä;ÃN:ÃÙúèçÂGQ,E²ì{nþ¬qZê†:K±)ƒôÚœz@Љi]¬› æ»wÕ0š³@¿fÿ‹çI™8‡nÙbWòÝiÊ÷ƒÝbYr¤r¸î˜V¾ÀóiÞhÎØòÓO¾ã,ïšItýÎ&7Ó pŠRRQ³j1<<ÚiœÙÙÙI#Öžwå²§®‡›Ï„‹¤ì­ 9r“Ï—Yö‹¤lͶ"/eËÇŒ"]ôŒf»Å©è點ç!/aб¯ Yô¤½:ÿ™«’ŠÂ^§nÚŸaž³ž©ßÜÒò&¸cÕò"àºû.;ÜF÷˜uÂE‰:±alÉÓ6mŸMBN«%¡%%ü ]d@ ˜ÅÕm.1ÞÓ¢¢û‘aKÆy´ç@ó¶½Ö !¯È‚Â틨h|ÑÔ{v+ wÀHSS"ô”.65ɵk)®WJC2¥ƒ)\‡é—[?¡¾0Ö iïº>€¹|f“bo‚Oy1à¦A 8Û<¸ lw¹úI•ƒ©””Tú÷´PÛü>GwÒ]Û/yð­™J<›0àä´>êU$p]Hg«ñl¸ø¢»ÓöÜ£­ï+˜"QãV¢Ú4Ö´Œ—oqðñƒƒ‚ìåîSý¨ÇÖ»eÇ|K>úõ¸æÕ9&™)ç—Þ‰|?Û–xô*æàšù—,‹ž¥ ¨»^1p_û\³ñ%qç­ H w2« ‡[³iɺ²8%¸‰Úøùß*êÛ…ô.fSÌ™ ù”“C¡Õ+9îë͑랷.Õ8¯äÐòl¡¢« úá>šþ¹¤°ë!n‚ìÏÒ^ÑÝ2—y¡nÝÉQNÖ}¯Ã—Ð4úù…+1"ôE;°7ýMì^«CFã Bªpç•ïùûí³Á[obºox~ùy¼Ū2¯`™˜(l£® ¯÷åÚè–` £e–M·äÞ2Ìuêjo k-}¼û~Ùx„°ÊÊÁÖw<;vÎoÄÝ[„¾jýÕkà‹ëÔ{ÆOgÞ)ëØë'Åi¹—h÷U^!ðݰ½<ÚOã^qûJª³ ÛGr–¤ˆäƒNw-µ—,£bÒ«Æ y|_H¥ª.9vý.¥mÅjm¯ÍËýÕÌ×TçÎ0-b‹Ÿ7 ¢w7&Ÿ™Þ»¬`BÛî}Ê-ø‘“ æ{x€fCŠÚM]ðUÈrýž§6;×…;Þ]’lrÝj¡Â§¼ýU:¤ûÞùé))iA'&O ØqZ  /;]²ô®R³JÀã¨L’@2eÃ^úC‰ž~$…‰<ùDŽQ(­<Õ75Ÿ:órTRï£BÒ%ý PíuêêêøkÊ6ýðA¨ÁO%eÎæãk ëca ©.ƒñҶב%P™.ªõ‹eå&f¸±„Ýä5Øé'Z?Ï!DÝ&ÊÔ#x Ávn¼^‹KHè<ì>Ûç51­ôæÒ•íqU°ÏGTuBèÅýörÛ:ëš]t¥S­œÁ[«šåÖ#Æ­¡–È^Ä; ¬m­]6Ðyj™F-Aìv3y‚è<äÂeÌúaœžèتvÛ&ºR}ÅÃàÓ]d‰ÞÀ¸™‰î\–“©pÙÓˆ÷=ÂŽ0ÍYýJ»ç±wÇO:y ô_xšãqÁÔvgm7ܸƒmê2ÌâPÓo©0IR™²Äþp¬ÒÎT >¾­6˜ô]œî 9JÃDJ0/Zr å5ƒ8c|]±Ü a ‹œB|Ý€\„‘eòçö”Ã&»öL~|‚ åÖ¯ÞT_s¾  °áƒp…ØÛm¶Î¥ÉpLL˜Ý3Å?9n¶ñÀKMÛc¿ÅpJ[hy—¡€Tûðx–l»Cò`S”Xlóu‚{ ¬ORwB©ïMø_µ‰‚dŠ;@½º9ÿ‚.`gÀždn¡ÆÞ÷PÀ€ÇäÈu{nÚè’u"ïpæPí2±§5OÚBhh¹ÔgêJàÕ’¿ý]$<ô) i‡)¾¾—×tèÚ« ^©p²bä%y™¨¹âêDml0Ùœøû¤)L’¯5EË 5ûÝGêÔOìå¿o^ì÷ÎàQ)@0¦ªÂïV Ї±ÒÍ Z“ü¿ˆ'ª†÷Û´Ä'ê ?’QN5¢ú;%¿YÂã•¢:^šõN{{{s©'’jÐËcÌ,,êB"·gëi¾(ˆÆ|àìÙ³£tƒ"q2ÊfÍ­˜g¶_¯£õä$Cµá™¸²mþ7¸'Dè·PÛ¸o#“¦O“²œ\†™–­¦ßéF=y¿ôçMDœ¹4£nm²¶öJ²«]x'hðEÐyæõãn˜´àq,è^Y™àmç‡"Ù4œ„ÏÍ™¬ö^eðx}Þ¤gdÀWÌû–7æk&gÛÚ¨Zø1šþîCF¨ÉAªw…KÝ•® ­°™ «þ6êUÞVì8{·pþÆS„Ð L’•?ƒ×áraÑ$Œoh|‹zC™Q¼ýj!ÙeS“1X"[Ÿ+~ƒ &¥{¹i£î\ÙÐãlo¨lü`òUê׋d¥*n¡¯É?z˜í8€‰Ÿ‡³ç?êÀß™œ¿—ùõæüù8Ým°ÔE†1‘ëW‘xÜ$ñóÖ7fµCÍ‹†;©àmàäëèhVÛJÍ›“üðL\ Ÿ÷´á*CeÇÞ7™«—7O‚·¯ åãsgwºLz²ž}ücElèÓTHØ›Á>(&{Œ®(’%¾¿.è‹| G£ÝGÌG‰ñk¡´NQ:=œ T¬EñÕÑwë±o¾ÏXíp¥ó|9ô®NÃí÷z‰çgý'ˆÀHG Xñ<ùæ±¹ZNxZÑ)çg¦}¹¹P;‹ªfÜ‹Žk£B§e AûÖÌÍ&Í^©ýœ|u.^ÿˆóçZŤæIÌý?˶%sļ;DxÆþöZ1©¨eª•¬n¢§hDU¯Ó«s^ý­ —*Õ¶áÃ?·!ÆðT2t Wú%¹vi-îRux1ùï‡i5$ž“š^|ž³b¹ø‹^P{;©!ìíF2: ”ÉÚ™‡wù./e$tƒ58=Ú)))1—ŠÿG½ìM«æshz¹Nî£ãïë†À›vï1_oFÎW¨]TÐòX“¡qê 7Ž'複­ÖØÞÞBMB¸üq±:à³|ñžå å[q\õãγ—aš~¡©‘YÞ—ÿ»á<˜Ëã@hl`/]¨" ûñÉ\CÙ%©°YÌCOßBa¬-?¦ÜÅÿÏoš#{]¯_Ê’ Ç#o)ÌoBÿ;Ñ÷áXŠ)bUŠñü@uca\DÓÝ}ù^¿æeCC`£Ÿ­uKÍ¿ÓA_)ÅpjÛNT;Ó”Sï´NÊ$c)~. hÆõPÅà€øfÚ3ô@žš1x0#ccQ!t°P{òó‹wÝpã$/0pC1wät7 Âj~}$¿ à×fâ¢u¦;ÈKa÷Ž-é-^½pÿdU)!ksE¿6øþQÿa==xóêx•À÷$mCzá4ªa–Û·g•¢X”†%wæ;÷¾–±kä(Æñ6ࢧNóÇñÊz5ƒ)Ù¦0ÏÚ4[êË2SÝ«v“'¼ ÈèX}(ЮÊ;m¬©Yþ4ŒîÿÛh½¡ 6ÊI"@8l`,ˆ°dggÒå®u“Œ………®n‚«Éè×&ó®¤|™œb°A6ÂÖêµn{sss››vL¦z,>9›*x= ÎìÅÓî+ß?´|—pÛe˳K|ÐÛÛ+Dèå!áEá± ˜ö9‡fžª6!½XÞ0 7÷Gð›-@A©e4 t‹5mèSµ\¸àµúHêfVN­KËÉ7oöÙº)Dssó=Ïãûö«å–ý9¹*©Ø0x­EoróR·è? C³£áÝùž_9 ¡þÄ ~`!Û#ì6ûœ™" ãå~3x#±YÀN•Oܼ€]Ï|´³pv|°ö¡" ®QdPëy²ß ~ò‹§ûþj Ðùv;§öGLs‰ý ñzÕN¦•âùM1ßǺJä †W,ù/‹$Yéº3¯–)ã Dø½Õ¾ìàåŠççäràÑ@èæÛ ( -¦zñ£áìz͆ŸM}Ìöv ’ÃÃ:¡R{èÛOË æ{a‡}\OËóÐå}€¨šBáÄ­Ø%õr«Ï{Òø•§³î³ça)ÈË»-e¿3ä%"Ø~,}x¶©„¾Q8 õþ\?·ÒÌá”v¸Æ…ÉŒœBO*¼ã&|Mç¾ãòŽçÞŒ…ãï1|Ó ‰é$ d·¦ú@Í1½¢~PLÙ°*'©ÊaYÖ+[A”1ß?LgE‡\¿»lPŽ)WºD¿:2Ñœ8Ó¼3éuvÜÀ<ß`¹y-{x¾öÍ©S|ƒ$cÛ"^Ð2²S`J/®¦8kq3 +PžGh÷"Ú¤ØððpV•à4ËÓÓQ:ÁÜZÞ8XÌ S¿Tq¦?ÅHÁúïéÙ²Kò‚}ëK¿ˆ…m´OѾ õæ‘SW8=å¶´H5:#T"“lè86 ]ñØô¾¾¾S?)л˃/¦ßrÝ?;ÞÛkN†çðã[þ°î¡‚Ç…rŒý¹*Úðþ é`複Ætgs ÙrBážKt—67½œ?õPÁÉ())`]œ=@iÌàDŽT9šw&9¼ùÇåÈÂ|Ót*/Ÿç«å:%Fª„“W®äÇ ƒ³T³ñåd`?AèÅ}RôÐ\·½åŠ@)QI‡GT¿©ÆBÂEåL'8Ë^ëã¢o¡$ RRÍ@çÕ'‚q>$š°ì¾w²:Õ࣯þ˜VðkË8 ¿Ô øjI« Z1ùNL7íœ$TNFK›µ™ó´Â6˜Šç;Kó‚XÒÕ­Wç'ñæ)–C¯Ã›Ìy (ÈË+/Ø‘®Ëù¹Çûk…Á!ºÃÁ!ÿKn_ Þ ÂôvIxõåa.K=ÂÊýôp+)Ÿ˜ ¶;UöáiÅþboS6ÖU³ÙèlÜ©0^ Ãw3š¨H@oØ?RïQ݃9ߪ ÷¦IÏX˜u§¢–ú~ì =ƒÎ(Y[[ç«gu›¥ùây‚E,–¶wŸöä`c¡¿j›÷x5|È5‚G¿Ì¢Wü`"SîNÿÏì³ða^‡ÓWod½:ÿ —îBVò %·žÎ]!xšõȧLÄ% 8Ÿ˜˜WgÓ1ímH¡ëÌÒ zŠé·è‘J{c­··÷úû÷Æ.( uòTo^˜ˆè¶®ŒÚq¡«“Š‚Ç@•â¾Bìíij€8@næ¦zU‘ , æ<šöÀùÇû þöq,×ÓGذhM5|‹±õ~›’†ÏÈ÷˜*‹”‚âÊ©Ý:&þt•çÑ |V•¢ïòÕ«MbV‰Q3‚§¸ùó5X¥EL„kݸö×aÃw È*¯³j Ý–”š¯\Gˆö‡øôG‡0õkjY0¡ß÷È+Sîjn·{§è2Ðd Ï÷e+0è¶y§ÜSD¾é_}·7'…ùloÖ#2Ì}Ä?Ïž ‚ê˜Ã¶° ƒ‚8ž}ë j+m@Ï…¾ÞD{؆wã»éÎ Ö«+òÒëégB³má™r>`¾ö‡tl¢habÊH¾DŸ öˆÓõÖü º™Îíïj[ Ž¿N·Š^“!·¬f’­ðÏ6†BQ–4þPàŒ÷á;ñ1Ö29¢­“†MT[3äW^ÑoQШˆ‚œJŸõ˜A  uŠÈ’fÈN3$ >k?ƒ€á»a–ÿ{r´îl?±Xr…Á›Žd8†8þv”ÜXb u æ<¾rÚ½PAò-`¿F÷+µêÚä-òRÅ~3ÄßõJô¯Ä“ßxy†¬‡Œï¹½;žxa¢ò3+:‹µè‚¼²rhPP\2ÿ?cž&¤¿^·Î…†'ý┬hÀ)?¢"¬6 'fêt‰½i¯,‹yï?«JûyºÓýbèãó4ûåÍÀ[hÀg”̸óM|é`²9ì|߯—̺ì#µo qs•>RV6ÓNâ‘>ƒÕáþ{:øE!ÆØvÃ[[[˜È Å„ud×®¥]gïÇâyu~æ’¦ÙhðŸ}µë^ÿ8¦{@)ãSqgeeæÏÎÌIÇsÜàãããâZžéd·_¥H¯j{¨6 #~S»_äÁú]}¶ß ÈpÒëàÕñöÃê΄?ÞyÉÁÔÿ_í±ÝÆZ¿&ñ“ “‚ðÏR‹É9O á!éÐ:‰ÁèÙ0 ánQÒ+: ž»¤†;-TÏ02_ât ‡Cÿ߯¦÷5þî»þ»× €}DÂÊ9ƒK`c.^NÜpÌA6Y+ÿ^söiôÇn‹˜”Ì)))t‰ûñ¶æEŠΪ옟îŽý„ E_¡IòvjØvv[•Ô¨ú,ÿmb¤¦ÕÌHéÿÍå÷´þú$9æíGMk„O,«Ý麫]dðØO§-kÊyfÕÃ}fÝ£‚­_ÃîÒÖüŠwÑÝçKM>Œ°ÚMR[ñ•VDx¼úœóóÅ­Y7¥w„Ç}i<ïw«¤ÒìæC€8ƒ-?³Ýxp.øÕwðs°Æ¡aa* ™&l*ËÞnä¤ÿL5Zc=$\mA][2Q/|^ºg<ž| Eýh¾àYÈÑhVÁ¶=J‘G¸r;ðCM„¬“}C1lÙ'Ñm®¹)<33“§Ñ•`”e•§ú7íð÷$=zTìŸâ Äë0ëN)ä(Dp²:‚5¼‹ªÜTÄvnŒ»ˆ á[¿c ¶__y!$Þ-°˜ѯÌ/++;<„‡¾!Ë-Ëo­/Ê[‰¼n°-nbä‡ï}ëϾe$1*vJ§7Œr(QÑÚÆ³ Ðþ0ÇÕW 1žì"Þ„KѶ{Qk‡àw€×ÆEÌëCÝrÐÀüòòØ ¦7Ù9ØÂ¯‹p‹rH=yncú¹øÓýP¹?yœ¶öÓpr4«• Ä¥VP͈0åAZ#&œWFDX%9uU®dÛÇCfMÜBÎÆ©Ý³\»åcůsÖž¹¨}êd5Þ1—ñÂбÉóÃ-¡ÕJ"/[}Æ2B¿ªÌÿÔ\.þÜ:—¹rn1¯ØŸóæê2•¿«—ñ¯Æ‡ø;ñè¡ÜZÏž©HýRe¢ôlI+êúu‹>Çå݇[G™x¿ž>€ŒÍÜ i%-ÔÑT’)ý(÷÷>%> ú-äø5ôM*|ÖYr‰žAh3õ¯²¢_C`lõð¦.IFhœ£¦÷Û,ÓÔ„Æç7FˆmËT¤¦‹Ÿ¢¼^Çó9x(Ü}žEë?Âr[–wÙ‚OæJÝ,Y÷cëŠxO¼hêÁ›×Eþ"äÖSƒ‹bOoü¤ipqR&§jç=ÑÖüáÖ,F4@RYÑ"Í‚±°7—Ñ‹Ï-ïÄ®f~½û µ.S©4WZ¿„º[•l™Õ¤ñOvµd¦3K,!¼~“»¡ûs¶ÿµË"Q)rÿä2‡AãÚó5rcÙ5X˜™MzÒPËÚÖ²À+椹¹Æ 7Xîx$–TÇnÅ**?áð)ÚÑé7ƒXjýŠ„¶Ò»¯¦ûÓ7¦çè=6Ø5rØ$ª_®³Þñ7¯qÇk¯ûrdv²¿6rAû¦£Wž«”(lJ|G@UĶš³E%Mj½7lðž’=ÞÁ›’¡˜W? àÔ*³ìgqÜÁ#€[wÄñé ¿{æõÄž¨±˜’Mõ—¸ë•ñiBÖ½¹(•XŽÇA+k@Ø-±5²‘IÐÂôª/únͶ¾«J/1n½†E ‹ ÷‹:˸}ë‹¢ÚœM™_<ŽÖGO¾ëÂäûRéyò’Bt}Óˆãâ5n3 µ®XÃ'ø•édmõ"#°>Œµj¤&XèJÖ€cõí™ï3“7÷~ÔýÌ!(¨? F¯W+ÁÏÏçíyBRR‡ýÇ'¥9ÊÉw’–ú²©¸õònß¾»:\ÂdK_?^Êe€O]dí{uHÆú©A”6L€……EX¸øjÓöØœ ‚–˜ÆÎ"*vu_Ù= èU€æj ½-°/æúézu¬"¬¨+Z4êŒøL„¿“–÷bJé.¿”Ÿ›¢n½ó³¨^8š‹¤Ñ~©_v–°Nt("hwÙ œ ªJZM÷õ=|teñG$†-©4ù ì¯ w žEØ‘:XŸxæ¾&$žƒÃ/ñÊK›ˆ.¯6¿½˜±xˆçJu:³Z— t¥zˆØÁýÕ‘&úâYøƒ·Ðáþšõê•ÅÞÌÊ6Öx0øo)F=ïxžü…–Ž9Çg|x¸ç;óÐBHucú¡Ï5ŒÐ ZôœLvÛm]Œ™nò/-¼‚OYœ ¶þº„WÒ†÷û8ŽR꽳лë•kwæ2¿^Gç‘0b«kh<VÅ¡ ÍaÎÌÈèðéD“`ûe! O+l…fFq,²”Ù»ÇÆåZ ``:%3å6cäèûó†7«ü°B>—@@ óÎD×ø W„5å0¦ w:Ëpžöþ¶`ú ™Qg<+Þ#2ݰ2Û–›p C|}Ú›Mv´€Ó¢*dSvÕ”³%Œ&8d7Ê/. 'i|pe áG™@'ýå£ó­¯Ì,ë__äÆÄDð, °nýÂâ›@u;cù.ÆØû^¶³–Úœÿ“6évº×œš¼„$T( ã0Ãwù¸‰é7Ý$¿ÜºIýàµütç'ÓözÜ ¨‰¯‚lÞçwÅvšyS™ß;^dcëê €JúÐ@m“¼8ÀšßjHF´]íEé]„hð¹ZªrfM¿™q?CG ýÿ0uÕqQµÝVº$†P†)$Di¤¤‡féRB:¤”–©¡a@º›!†îA¼gÞï{ï½þéOä<ÏÙ{íµöÙ%SDQ«ž È>.ÛýÙYè¾mQ$`A÷²ó¬ÚÕ*f)!$Ùis†MO¨å•Ô¹öÂ?§ ˆî!± ê¥O5 Â®¯¹#u­­±q³ÒDíîëàÆƒŽy—ùŽ‹ŒÜÎUfÝ„„ÏWHJƒ ï-¶õ:T ^¡ý¿Ÿß׳¯êöšužýƒðÈ|UuxÊ?áýrÁ5¦î7úõåQü—/Ôÿ¬¬i-ߥÞ[l¢åß*µŸ­rz‘)åuEP)%€¿ä©ÇÞ©x}§’Ì£¶š(Ôð^ÎÉ fß‹{(ë±—‚HßÌò7¬›­²T‘—ñ¨¹»•H㺔ð›P‰à{ W `\É %›\Ö_½®¨ªÖæùyÄ_!*R¿ý9QY…¸dzBõ¢Og_3Ø X~éÚ! >¢>B“X¯HòeËųîÊç‹Çln]ÇtKrÐÇ•íb­×Ôç/µæq!†yGa1…N³÷ÿ×…â–ÿö  Cß¡ž7±›úñ çC“ídñŒ–0ry"œ˜~5ŒGæá< „*-/ïó<Õ ‡‘2Ùð8­õR06ôùë俦H=)?¤’d]¢ßê÷ˆ|XÌäøþ€h®fzêÖVq¢gŸ'ñÈÍÚÚÚÌ,÷E hHÅGp N©)J§„¦o¼Þb‹· ôõ›Ý¤ê‘ô<€›¶cÂÀtœ½¸7èÂSûNÒÝò²BõY•”ùø»¦4„# 0\=jÇãr­¼hKÉê–Z[ ÑË0ÙÍT,mºÝU@Ó!é6‘ÀQ‰CÍ^'ßÓþÑYÒ{|œ¼ÖiåŤ3•DqŒJ(É|BÔgz%:ýü4òŠî†-1’‰*y½øÄ‰à³6¼<Ô[Umö>¿2¶}5Ü¬Ñ †çzCfž²ÒJ21J ÚY`5œ©J0&Ú‡â«;Li…S=d>ë!óå:, ò_–þ ¾UŽçpߟ£Q /ÚËëg‘ʽÝBþD~è+øL ¶… Ï+ÀÛ•ÞWÌe ››€pñOéÕÑ{ûUÅú’ùc˜,ÂæJ»m‘¬'› ¬¹áíK§î}«À³/•ç¿«4ÂÞêƒÄ= /^ÑM5ºïºÜÖ+ ü< T<ÏõtŽÊ=ÚÓo[YH•ÕÔ6&ЙÇêÃ33ïìyâ¥QD—ûóá“^8 `Gâç|r"Å»ó˜ùãrÆ[ NÔ„vœÁÃÿ܃’“BÐ;¯   còã0”ô(»#=ŒÄ£M¾YDðp¿¬ÎÖª ¨pó÷ßÑ>Ñÿ¾Ç;Þ[K„ܰIð*Pûª½„ÓZ9JÞx ‰À£#ÖÔq}YfÔ”_Ñ7h*”·B³;ÂŽ@ì+Uª'ìŠÑ¼†õ;u£ó]Ä•gœj¨MB…½Ï¬EÁþa'£P¹‰Z”âØ>ãÒ é^Ú+**¬Þ°Uq°¹ [>ߦi¸±‘êDˆËw«°4ŸÎã¦æçÏêwØÍÒ‹c¢¢&š(ÿã_f‡òlŸüë æ†Ÿ)d?[2 ˜>SRÂWÄá^­e1‚CÑÓ+Ñ›;‹Í³Ó€fVe„®H º öÏO:é2,^ywuÅ¡šöƒ£X-]§äí1›©}ħOP¬¬eÕóÄŒ=åÇV×'ëŒX±¢Ò>bYÇæïëm…Àå¯FD3•xà4‡„†Ò—rwa¢gØHgÔêãm–fö¡dJ´‹:FOh ëÑL’Üp ¿§n[ÙHÿ¥—Oôªä¥3{žUó8¼>n_& ßdœ Â!gJÔ À”ð»­G€È#^,‹kii‚‰à¶ðQX6‡€Âµn f‚æü£W âdVUà`1Ï„|,Yâ*Wç¸øTú¶9'=ò–¿åª• N"êÐ/ÛØžÌ3'+U™ŒŒ¿ŸÙñþ}¶[Q§—³î]*W»ßLñ$@­T Dß¡¯’Ó‹šQzTßäÜõFÆsÞ¸WeHÛ6¨ü Ž‹‹kÊh=»K£=;«j>Å‘^œÕK·”þ;<˜(=û±Œµ¿öš ùN!Z óØöí›ZÛɋåC‡·ÖáPsÊ táà¿Y4èiëg¬T=³eœê:ù0вxþ&jþKŒ™ö쵊 HÄš¼E€•õ=@T«Læ3z5”©@{“ ò ìýF^éÒ‡ƒ/ì÷háÎtOølÆ…ÌFAá#»4ÈŒ&Öÿ ™Èwï4YŽˆÌ9Ì­õ}mbOË@1ÐàG:¨³rr€¬ÈLHX[5lîÅIäúîü2‰uí rF«RšL² t#^ù>=ªø^›ŽÜ¬‚¥ö»0à4ÿUÝ}ÎPóLþ,¤8cª•ðG6i(j²W$zÊ>!„ÀR7n%>¾íL*}y{:~(„){÷‹ÞpëéEÔ)Æ>Ž®$;r"ˆŠôO&£‚ˆ ÌÞ7[زÌPƒzÅÿý"J¸³È^ƒó=œÇ2oàÎŽ (c1Ÿ•A*~Î×úÔ›Âș˻kpyÀ#²äHñžXŠf°þ~ø¡ŸÙ]ûÚšÅEç¬FÇt¹IÁÔZÏÿ¦Ë¢Á€À~€:B(c,…1ãCj’©á¬±e¾>¥ÆåÒ¨MÅÖ¿å¨Ôq^¬í9ÕíwÀÉ¢X¿çO#艚yué‘`>V ˆŽŒr6ËÒmËõÐ=ä;®¸1õÝõI»˜g¦e%%!ꜨÅ÷þ?~Kð”ôp¡ôÿ„ËŸ-ãVžîN—ÿÝ,ô KºBb˜Xã@kœ<·;•îg*T]\„(^B©ˆkÓàËÿ'GÉ‘JÆQméQCž|Æä ‚]=쵑¬‘ßnü×ÕFŸDƒg¥¬½N-¾Â1 ]ÌÌÍÛAm‰—Nš  (GÆ’ß L<ç¢H±XA§ëCîkÊÐ7MÙ©#]Ö™"ún‹ÿfÕ¶’`þQ¤Ñx,QYˆ/¶Îá`>áŽPŸ.j µçz¨GùÖoáÜïȸ 5çêo@]@Qc0”#eƒ¥qàÄ„öÌ ¼o§R«0“ðßQD¿°Äéäce%„[çhcÃÒ耨.âðÿ4$‰5VˆîÛŸïihh^êb7HÚI7@ØòÏ0 †„øö’ã–.ºt­ÞïO#fú3DÀãñGÿfàï&£ŽLü®×ç!­V#ù'¢ŽÍýýû÷êÜ=®¶0†™Û£NôG@Ibd:¶Ó®|§Y)üA“Û¶û›¤2Ç6pçhöÄ[ç°xçeê#£E%pÝD>™×ÿÉÀ†^ér}ôÿ½Í)Ê~kò÷÷4‹¯Óñj·çËY­ &Ñ«QE–w×›K¾§ƒµvÓ…KmÄÊ¿ÿÄ´¾Ýƒ–χ˜{JÕ«~úðûM©ËWoßΖKÿ›}p·ýD û¹_ÿDÓ•À?^×H³j² ×îhý½ÃSÛµR»W_œ“Ã%Þž)1È÷Í>ØÓgÓ7ŠoO~"—üÿ~Ô9,ñÈøö.ãÃËÚ'ëÔnw¯)ûÒz£Žöd É^¼»•ñ_ )cø†OO¶G?05eä!óÄÕJ û£Ø=Ô— …’‚“ #Á¤¯6¤ÓZ.)‘Ô¦{ZG9ÿil{¯õ ¡‚ÅUn×[7^zàü.2ñÖà0 ÛNk»wIwSFçšg°‘v iž/0†;­•yõ^{+®vþǹÞFúuÙä×ÓUf+ª)­á~ÕxFUµîê}ƒw14ý¹ÖK­|±t½^(ÃjÑ>æ!jÿ]•¿þ/fÓ¨7ëƒ S¼Éثʛ|qy§'SàyÕf 2 /áô’[lüA¼ëœ"©URZ:³é\cxßžy¸É€êW=écúOs+o¢Ã…rÖþ|Q~Cb;yî¸w>˜àí)>6Ðz~W™èÖÜL/¿ÞÒµ2¦å‘>J—0%ü¼“ÿo¯»U0«|°ÆT#)±L4‘^Ìô£8Ÿ˜®êê˜J×ÜŒazÑÊüO@*ë««“·ÖÙÏšÕ4Ü–X ¦Ý–hæ½t ÎÔÅÏttGØt™‘‹K•7t˜GLlzû Â]è½küÿÞm ¦Óri>ô¿»œÔø§}êzÌÖªcb{m¨óŒO¨üòÕ>þjI.úQÏUS0r~"‹ÓÆ´™Ã³(ˆŸ ˆ9ÌY|OL+Ê˯õ'Ç´AÏ'uuš›°ù”Ë`ìœr¯-Ó6ƒLÂUs;‰èN_vêýFE5ÏECýÖý×îò÷¸t?­ªúðó­›››­-7±Á§~â³è$±i«¤PÅtÆ$nÛÝ©ÒÓ0ô#ûƒDÝ™ÇzUk-øzunÜìm×`¦­˜Ü ðwú«ƒë­ý%RºÌeDHF —¹¯ÂÔ|}¥n€ü4Çy A$JËÚ>Œuvf`ª\é‘Õ83Ö²\ª@h,×-g69ëã)¿R?œ±Ô9lì2ê¸çš'ÙZÔøfË•³v=x±=^ Ó\Ýž•Aêî|±7ÛÃìó+¶#t8Û%aQe6…;÷Öl<·ÚýãÅj:¡I¸·Îû/r³Ý5Ì¿¨—ΠCoöäæL‘o·€Ô'Czm35A%nÍI¼¥)•Žý”Ì¡grý¬ËÄ]£…Mâ‰ShÅ^`ÜÆÆ†›Gäœò^Ç1 ÄÞÞñò`-Lx>¶á ›E‡pÿ ½­!B>è+VÏyQœ;Ø $“¤¯F®ühîKI·­­.Õ°lmM&:Kœzkõ"Y°™n-BFÓ“µS—tRïÛ¶=þÄïpÅäýû÷èf”§FѦ<Æpq<Ë>êd$(üͱ‘}ôZöSˆK¹ÅídíWFòÓå4Q;Mg=B¯7@²ñq¶O7wÇò"‹ÝÄ®’]=wlرÚmºkÑŸ<øM2OüÏF‹H'c‹jMM.@=ÿF¦È6‹¡@]‰\ú¦HÖ÷vR’"éé<ÏÉæ° à.ÁxdÅÞSÞ—ƒé³d&keýCù—Æ4E¸ò«WfœBÝ»cvœÿR«[×’‹¢d8Z¹º‹Ž%ÁlÄ+ˆPv\‚,ô^Ѩ üj¾ òº‚Ì?ü)IdùÚ‹(““†…(1´¾®9€øþl áyÛ5°­Ô6°èw³ÏMy•ü™†¸qÌÈ b½LŠòPi7ÍÇáIÊ(NÞ£ «t˜ÑYLC'‹iD%ýnÿ‘UÈò¦Ybè~$ŒÔ¡ )äêsJ ]2Þõ7ÅÇ…zÁ,ôü€Î0’Ř®Ø4dªÔÀ€¦ù;¾è®:ïºP¸‘ÇбÂd €Â‘ºÚͺ…ê¢uÞ0p2EÐ|gºü ÉKw¹Ö„192i·-õÉ6‚.¨°¨MÇóUE‘)‚Á…ÙUcccËeíÁxvè@$åÕ,fèŒZ1òÚÉÂÄÄp6npðÑü9D\ñ_ÎÎu<¬ÊÀ¥WJJËmÚˆ‡,B–‹Í„Hä".ˆ§|w{]$ÃD—S^xdŠåcû ìýgƒRض äyÚÏ…<:r²eyÀ«[ÆX«¼¨O@{jKO]¯ýŠç&Žf‘%5Ä×ÉZŸvónç¸V[J×1 ”Q}òÏ”$ ’Ю¥Z€^×;£ú’žø¤·æíH¤ýÊM}“s.êê± ÏõVašŸ(áÏ…2glŒ]FG_¸“CAfkh»Ýͤ5 +Ö.rYí"ЙîNC;ë ½ žR?Îf¿‘€e;ÛJbÆI>÷ß d×ÕæÛ¦ÅŒéÉa”Ö¹ïÎ2…¸6 0ÁÓb9³ÍÞ©Ù,;ÌR6ª‡žö€ƒ$¸aÖäStùòX4ýÅ)«V’.Ævå% Ýn¯¹}ÙE!''§ñ2LÖH!¿XMX!‚Í(1ö]9~µ;’gš(¤°pk¦(ýÂö<çݸVú…¯n·ƒÀO¿t"AìHõm+ø OÅ÷âçBæcį[—u7‘w oXf†8Ù¢Ž®wVïß$ªÖ¼ÉH®¼ ksšñA|ïŒ;)e‚ú¾J‚ÿ®×{s‡&•…=ƒšûµ"@¨—²:d'¢‹ÅÐ1±Ò“-®Ë? ¿bj>°¹{<Ú¤ê ëi·bnæ¾1‹ùëÌîIÕó5Fе.7´)µkhQ¿ ûØøs<æ±¹ßi«ªªêžÌÅc· #¡@¹–~•ô|û| Ý‘´xnâ‹_”}¯ Lk[ýý÷çjÜDït-|à<íü&ÏC[é!‡-üW"O² À\DÖAì 5ÿnØLÿxsqM™X®¸v²±÷§q‘UU$Ü+>>~üA"… ¸Bžºï|ßD’ o·ƒ*Ädd¾–NÓ>ZJ¡ìç9 Vvvv†¤KoE¿ü µ‡_®Ÿn`wÑsé+çæh ,i¤ÿ¶ ]TâåVˆ\…Õ5`/¨ÂÊ#Uö’ ¯dtÍ? ³n/LäÕû¢éB',3oØ’ë²Þ÷ë×/5{ǰU˜¿CüøZÆ.øŸûÔ<,**bee͈kò®k•ïélã’`Rš™›³@—x7?Ñ´ŽÓÞz~ïç#‡vX¨n1æQ˜-J)wÖµ[÷Beë‘À…ƒ>©½µa¹]š+63,ó~|E‡$@άÑ(q"¡¢BƒFÆåHh(ðäU¢zx¡¹ ï.§˜®e‹7 ¡™dº/#À ¤Õ/¾…tÕT•‚­TÑuçmïÁå›}$]tt~ÿЫîèèhÛNLuV|IÜ2ë­ç¨ñ^-œ ¹[ÌÞ=X·H´æ$z™¾¾ÿ¤oÝu0†rê(ÔP{ã‘*¶#°½ùÁqÍ‘Þ&y7¹³é«`ö§‡«Ÿg+ªµ®¹÷Za^2¹{F2øÞ@eóóž˜Ã ‘œ«5ÓOQN’ÁC9×U†A»:Ÿù‘…GÈõÌvt«1CÁZ;ŽÄl‚“ )r&æ5ûÇërFÆ…rÙUŦ$Àj !ÿ‰ˆÌM—HÝ2Cå‘ü¼¼íÑSËþ$£foQ´/_‚(œŒÓ?D6KJ{ጃ7X•/ ñ±±¨ mExѸ밬ì¾à#ŽÈÃͯ>z=¹µóæéd3qÏ¡ßv¤]×r±“MMÊNUž{ÿ;/ÎîüåùhÓ yw{ÜvŽB¥yé­uµŸ;gÿËy×H2žòƒ¢¶1+ ½mV¿0ÓCg|¡¯>T窌½©…¯:Ø*‹²fÜ›‘ 'Ì/Í;m';X}ŸQ#šŒ3׬OÙµ1HR'nc}Éütå>Ë}2y:Qã"†ÐÚÙ8§*^$¶xù³féF·m̧jÈtÙâÕ1JGªü]%¦·^­-͹ښýb#º7¦K ¼MÊž¼¦Ý,Ro÷L@t cŒèbÓö ñÞ/ºmLHõÖòÖ;ïRýÚˆ:V¹°«ºËOÉT­Ô‡ÂÈÅè?Ý#Èzí´¨¹¹ëbÞèiû†]åæ§k¼Ê†½ðj×ê% ¤ú¡Ö}N r¤øOÜÙø^d…[úÜ1UrÔ«¹Ž¥Åg.HŽ‹‹Ë—hS­RËįä‘‘ñc:DìéB»óÈD¸Ñ£¹»ã Øà«aö÷áìßù›âšT¢š¿ºŒ]®Z°Š­í{㨽µ`ªOSǤ®ecL Ϲ²›£>…—)3Ð9™ðçËÆR üiÍΣ"Í5n÷†Þ*;Wúò­Âoº­h09ÅúcÌÃN‘ /‚wQóŒ”p4ÎÇã/†\ŽÝ=wË}ì­™³˜,ÎêUþnÛX#~n8 ¤¨¸NØÏÍဲâ±8¥-‡Šw¶ ÜŠfO']ûbeèf:º~òÙGÞ^]œd帇%KÈò³%O¡AÝÁÁbÓlÛïËíñÍQE–GÄ;E‘|ïeãuºq,†iðúÉb­v çßg64׃é`ÿ?çÓãccè1Zî;Úõ¡—1@\úòÀ¿vZ¿Æ:ǜٸñ°åF»†ßàçÀWô8Ë Æý¾DƒŸöÛ_p“ÇÏ Ï\öùñý½Ü¹òúpàcñAi ÷ú¡l-ˬ˜í…Ì .§Z„þýýi“aƒ7§Ñ«Õ0ÊXê#$†IsYo­àmLi1 u aNÎZ³+ÒHFÈéN\˜×¨Èfyy£u?é><Álž5ç)´ÚÃí7‰ ?Wí]Á{uY¼©µðœËæ] ½Åá“–ƒ/m=ù¥ vÖáãô£#ŒÍç8rÂÃW•ÃãJBw;§"ž#>övÅ9•í¿/‡˜–¯†yIèÚ à¿²á˜èËžŽÔ¦ EšyÖ ë}‰‘0˜(˜¼CܤÅ7ãºä¢£—”Q)Š¢-”†cŸ% ݲápTôH%i[ÌaN»ÉÃAF-0ŠAôU¸4ÆÛ Óç˜~3ïª7qÜê´ÒÈÈbŽ{˜ª™R³­^8¾é§às@9ß·ìK8–ð¥+ÞrÌÑæËóG>ÓsÎP¿%ù*ís?FÅÞéy¾D¡¨ñŸu…úMÍÛ‚¦ $o¼¼«1lüÏSÉii}/ƒ‰¨íªâ t—IÀú1‘ù³(Õ§þJê={òu—X|@U9<Ýí~íü*Ju8»ÓS ‹mqÁ]œ9O¬˜øÑH×£Ô¿‰ï±6–Ž¿xò(ò)Ç7eb‘nS´ÒM??æ?„L'îã!§¦–'ÙÁ=9é篳Ÿý2Õ¾+_ÔྷÔ*ËÆÖ‘ç¾7_‡®ÇwµaÀþÈctcÛËÏ[|½&¿-3”°è%gkõ>ß™¯ƒl¶`Y>×j|©.³²²Òå¨ðér“òt¬#ÇñIÆ4Q» bÇ´A—Ð>Ñ?kÃ"KiÈ8v?–¦ôÀ£|¬³µ=qSRÜÖtî>â¼EòögÔ©ò’¥­ìPf*5¯¯¯ ©šÅóFâð‰¶×s»ì¯›t!7&O‰O;ëBq|¡jŽfI¢|ªæ…¨sËúñGÛ¼û7Ãä&½ÆÒjZe‘ï ·¢s:Gv2ŠGæ÷Ò¯…·Ýߪ°›Àƒ_4ìÅEŦ‹e€€~éš6iò“‰-Sþ¬û3Mü—/Ú»æì& +Ÿê+¢'ˆ)¹b¥X€eh¥%u: @ª‹  '²ÄÍÜÜD•cR… ÉTl´Œ^QcÚŽ©þJ4üE(!½k+¿èFkλHÄʶž€>ÛyÉÚ®fffUJÆ¡`ïtBH!†ýš}EêÏÙ¸™RYgë­÷Çí$ÏÆ(I͢ηô¶eiæD~—vÛý5±(~Â=çϳ›ç›&ñ(ûÂ2¶º‡')¤Ÿ +Z–y¿.i¸òu¢‰<¾ÊmþW~6¼)bø[F³wîžoÛk…eÕ§ñ¼^7Ôƒ¨A„Ka€"zƦU5…”Šþ+a)&²Ô¨ iÞÄ#,ÙÄGdøµúo>†ÿúÇ´^¨GçÙj?#kô<,Óï©–1(Pû Ä*ÄÄ ¹­†2”]·&ŠÆOÖûôñXÖ^&çkÔXîÏ×Q!~”ï35—€€‹|¶“Å4ÌÌ~k½ÿ˜˜˜ÇÞ»ô†ÒA€;?h´Æ$ïˆäoQ:Ó4‹‘:Qjñ½ö8D–¦ÉèÃ$¹Qþ ¼=À³殽ú°Ï‰Ý7ÿô܉ëÿÅ];ô¿´Ù‹ËWËTû}Òç) ŠoOu±gæÜsöKŽ×ƾ¸ÖßÓ¢÷j[ú4ÊÁùgËä&Áîµ³Hr¬úê£çùEHþOÙ»5 ÒDÊì‡Eø­1ñº!™EŠ;J–# l}Rw5˜i¸ûJ¥iËG™[àkôå'âxVm¯ïûæfÜÑL)ÀR)àRÈ^ׯF ¬>±…_DHh$!©mµNóL~#ËÌÈøÚævƒ-¶¬¡ó墧…S/ "X‰‰ˆT^¿v³a‚[ïåD O¾5† .÷”ÓzþMÆÐ|½‘þw¢àMV8‹ß»:¢Âl `É­‘+?]f¤3'":›ï¶=Æ(·Øè>]j€Çž÷ýûV.ëy°€m›¿ISÑj>P}ñ3”YYB¶bHüSYÿ÷/¶R(Xlöâë2LZb;¥s¢üBÛ¼ú(¹‰ñ‰Ø8Ãx–Í`Šý ¢ÔÙŒ¿Â;ŸÐ+¡iHí£ÿ!œÐÅí瘉|*·m{ýFí¸¤FRGúë,h<ÞÀÌ;¾ötÆHð ãÊ}¿èÐx.(ªމ+ÑåÐU’•´”þòëS÷ÕÕÕ±ñ¬íJ l¡òiäãã>@ ÞÖþ(hÄ_Z:,%b1šd›æ0ɳ´¢íqII“ùP#Xf?Æ>û0ËmŒç ÚV¦ê‹DÈ^õ«Æ`ú~Ò#ðÏnOæê˜àF!‘˜’ Ææß©òlWü{#%ãÈ æö;'òœÄ)ð†î#Ž&ΣúÚ,v|$61Dèqy@%,CÜ9ÐÍØpˆ'›¬-õû©¹ð•Îð›‘ÇðÜ?ë4N`À¥=˜)Ú‰¶ÍϬ•¸µ°}®þ²§ûôgÖ”uuY%³U–ë˜y[=¯Ž½ìÚ€ËT®¥ŒròQÄ)ÝÊE+Ç·£|B%4¾SKÂrdgÃEÅ'ZºŒ.ãeiT¶\|rÄøüq¥Z†cªM}¨±y0¤HnS  Ù›L©¸¸¸®ïuP”«kï35ŒM 52²aQモöW3­à•9 7Ú7O¡{æ+!(ÜÙ,þÙ’òp&ŒS#g•’Ò^]Ò~k©QõÙKµÎ+iªpÄ1~¬Ð¨\½ØÊB_Éäö‹Øà¦¦·£B‹(IÌ~ÿ×ÔÀžX.è·²6HTÓ6Ã7ëùŸÿF FW+Û•nÞ«Ä$>£âUÅájô—Ÿ¥–¯^}& ¢`MÚ¤æˆÅ(†–~:æßoŸ›7( T€AÅÎõ¤”µßð7•X?ôì]çþˆÛF¶{ÑOµ¾w%¯wÄ¡²{ oøç­Yð!¿Ë–?ó>Bl~_hµ ã@ÆRuð,Ã,ÿ6ÈÁ?Á`OtŠ©éäöÒ÷·¶¬idí60Ð5-ñø?Ó¹ý#+Í{ÄìgFp!Raè^yÌZ†4q~4¬IÂä±BæãÍmµ pjøñpzè*lYÕjEw¦—Þ`yBhÁ¯lÅ40†6y¶X²1½$¢åÛ›*Mÿœ0•~W|8«½ø,OlàΟ2êë룙$“käZæ2=uËá:Š%ÿ¬‹C§^e¡Lû‡˜A¤p‚¤òù“"®\b.í ±¡¯ƒº½>.ÖÙ]næ~8UnbòMĘ×àçžë°tYp0=Ø‘Â÷öÇŒ™tBZZñŒB?+òÕØ7¨ÙSˆ<}$Xèxã¾_./4¾Ê>Lᢠ.ZV5=â¸ç…“Á«´š _f¹%àÀ³ î·?”¶ç’;¶þñ yq©%vy×p†.}ÄÝ3ê&ýÜÏEÔÙyž‡Hì¶@¬Õô|Lt¹? ùØL1,Kß•ã»@ïn8_§˜v˜¸ !öÞëñ|÷ö¸êáF÷ÝâØÇFg_©N¼¹Ü•ëÆ -Ôø„¢Ó¼¯’žÌ¦MHÐM9œ‡2a­ —Ë|L„´`‚Çmâ×ݺb·ƒþ.”¥û@JuÇ$=ÞÈx¾Ý‚è]!¼À¦è ½ÓKí§å…äfÁ<9l¢Ó¯^ ¡`V…åGGN˜ašÜºeŒ‚ÏÎþ“£Ç&~ì~²¦LÃy„±Ž…$g¶øða¡xN :Uþ"¨Üï÷vA»yˆv™á5 ö¸¥bЗô$] .x±A€Œ¨ÂFövú›ˆ’s€}J¢Ðœ9™ùX²t€=–Q%ƒ\(¦¨?srÁD:Õhg,Ã!Õݸ㿌~ù-]Ð4YûÑš]Ìî×à…\ð$A›² (/¿† ÎÀ_ß{‚¼rÂù¹Ýì Þ@¦Œ¨/úÈi¤”×_"e­à.kJñªŸiùËœ(ÂmÿÔc¯Þ~Vhõû«DníG lj·ÚÌò›óŒ^<¸ ‚À¿¸p¦úÛݩR•„ÇâÍÇ·T@–8AÒÓù Eù2=li Vad§·B¦aÒΫò|Tõ©~~zŸ¯£%/p«y©ëýÉhÚŠžï<3ìǦùÓ~VÔnÊÉFIE…G¯Ê‚C ¾2ÃÆÎ>NIäÑ=ñ~›Žný¡^Lùr-þÍ+×>yøñc •׉Ť.1ݳÒí·ÿ™Œˆƒ‡‡‡ƒ3êdÍ."‚)ÎpYï+5¨‹–v²ËYÁ¾’x!/ßu÷çFGË<ŠLO‚vrª¾TÌnŠ·}¼X§ä§yi«¬¢S8”Ñ@)Àbó.Lȧ¯ÈеD?âuŸÍÎÎÌÌ>f9\ù>¡É©Ç‰`9]Hú*¹ÛޤåW#CjkÛüúòˆÛ‡®Õ+˜Ä—Xk7}×#{wŒÎÖTî5³ª-3ʾxÄÅ¥ŒRÜÞbÕ'\»è¨-©–!þž”̃ÊÞ§¥êÅ–ö>[{1rdAÅñZ=9˜†ç­i‡“„ašMº»ETÓ˜Æèo] šÛÉÝðÐPg›¾+{ÒÀù¶F¿÷ \4ƒ(w‰´†G8XPP`Áé`~%eAàVñáÇÓ®!Š,k ê'ÄsBU2hkVƒÃ@ª$—@¹&éy°ÆüZÎÐbÀ¯lØó01’Àîw}À’8ûÆý®âLeà…6Cab~·PíTPõ/8„ÔÀË=½qŦ…¯€9Àr†£S31˰¼ qòWo¤…¦ÁE±ºmð0à¦ßñY­b!ëGd\2ÑmÑ:•$`†™=Î{©UQ€¥‚Tà+î5ã¬&±*$Ì6™¯Ùfœ#Q¢€œ$è7öž(pNNŽaR‘3f úЈ$\Û‰ˆCŒà"¡ævŸÇãšåÆÒ˜ ¶nnn€m‹"CBB¥½'˜[F¡u,RÐØ4ˆ87 óésmFÆ(þl°C€huö!¯Ñ6.({#Î1â: •]1z¢P#xªì€- HIÜ}n.®_¾’ô2¾âOT¨­?···ÛƒÄ¢h2ÎÕªHSòý§yÉfÅÁ:êɇ·ÓÒ±¾}ÐtˆÐEþ¾<òuG(°QVÖÀ]’r¥86ׂ&Ö2jƒŸö£7?LZ|ôͲ?I«@ Õźè>mi>Ojlˆ9&VOm°ëöxYK<ZL“ÙB;¥S‚®žïq×ÇS®d@xyµ0„!…Μ"bå2û§ ŠM|àh¾ Mª&G¬ÿìBDP°CG×§€àflÞ)á¼bk'Âøâ¥¨ ã&ý¿Q´cæj ©¡>úT¾á7@’©[ˆbÎg`zn½W²‚Þc™)æF±VçyûÃ4˜éb>9ìWûHK…"£ÿý'úèaWÅíC)‚ÁIJ÷N39³|5k¹þlÜï‰ô%/,Ñ* U¥QìP³ÆáûªäìììgoÍ™a~êöx©¤Õº#„ Îã¶€ R¦ØO`uQH¤q—y¯}ùöq$Át±Ñf¼rw¡Ñ'Œ€@€љà àÏà‚Àezu¾=Æ)0@|Ô—ó×aúc«Á4Q@C¿ów—èV#fW·T3–¥ÁE9¡·‚Êúû]íUÛÂÛxäšF‚ä5†§h™Ê.˜ýÓt¤ROì’ZjØ Äѹ‚=¹~ü‰3sùs߇g G +PÔC_…¨×»cyDjú²ÜßÇ¡õ„¦ÖÙ8ýœ}î»S‹ÕÈ@"¸{ýæ1Òˆ¼@Úc >² ¦Æxæè™™Üç3,\ ûý–ìW[ŒNÉÛQŽ+Õ,¦ù®Á :®2Ú¾Ícx™átŠ y¦ÿ×ÜÃýÓPZãe­/?ôk¹ŸukÀ@à¤Ï¡4Ø?7öZ\{("]dþ]‡jšÅjÆ#c^û]ØsÃí Kú¦s¿Ì19Ê·›.SIæ›,}ýÆeºœ¥Ætvjg²Ï}¼/‚gNw8Sz6å(·¿ÔsµëS -[¼R…¿Y»ÙÛ}²ÊZ»bWvªÌHeOçÇ;ŠÜmøFúŠÕVƒõ,ãùÚ_X1ð^M®ûÿ9G£-k6<ú‰Š„„›ƒ#L’…$\xuCqPç†$‹Í>žH¸×õSäz$1 Š:Åœ…7†â¨æ=‘^ ÝK-_y^‡“2E3JtJЙˆŠðÉÿŽûîŸÅîDLtŸ·Ð¤µ%²€€ˆ¨µÚQˆ¢=Ÿ“JÞ,O1©è¥Y-`ôØçsØk’âvCŒús­Ö —€cDx ßE>à†ÀSWmß«Vy¿t¸9¶}¹É@o_ÝKˆT~vEVùÖHÒUzµ5 *{EdÛKËqº¼‹4óê øM˜ß˜4æ<ÚìOŽ™w"„ÞïÑ—9/B­(Œ#Áë‘lÀH+Kžüœ(Ò 'Yˆé++|êeÓ†Ctß…îQxèLà>ûX ÇdŒÙùµ2(bçe¼øDùHüE O>?}†ÐÍp‚èÄy"Ž’ÝHv»Cn€u[†ñ ¬ç¸Þ¿Ø¸Nhçk¾<Õ·Ó»˜B`©. §””ïÑr{ˆ,(Lî´’Å].¶$IÔ¢7vÚØFòƒÏ,øO“äÛ:Ñ Ô6+óµÞ8­ü×£`Tw$-ÎFµü ˜õ¹Ž¿’ùŒ4ggrO±ñðÆû&îΟ\ÿýéÉ1¢¡mó—ù9%Œð¡ÒăBBfZêΊ.Œç"ØØ‰Ý–ØQ»,ÏÝÂDcr =}ÿžæûò˜¬_¥í1°ñg?´Þä÷w)ÙÇåž®îá×%W—§MŽÍ:‡®É—«OP×Ç÷ÆÜ7¿z~žw}þü9zw:§YÔYqIYG[âJ¹ÿŸîUr“by‘Å.}+« ÑiCvLt½T=>Îò¾=G|¹Ýóf×׉››Ûɳ­!dãþ8¾gÜ2¶Cx%ÊyBl‹_ÓÁRåàP˜ (ã•æùmn̬‰ð¸“e;Hñ?u"_ˆ‹‹‹øáwÓï¦ûÓןï=—ï}œ.üa=‘È K{óår¡c#z²ÓnY“ö¥QF¬ø~bàx•¥ …z4‡ÉÝ -¶nÚWM-­ãS½ ./ΰŒeíž`@!¡·¤!£(>¡ûTù&NY·àØ¢sÓ\Óɇ¬S•ÁÞR§“õ“Q^Ètn\5Š<be“ÛvP]6ÈÙÌ×fo¦Rhä(ÆÌÜüåY¿“_œÌ‡ŠÏÆ!s5 žãªà"L]²h¤8 ‹E^‡“<C†[ª¤|¹`'!-•a¤“³ÛîdÈ ç@Êw²}l\¿¹²2¢õäÉi¨ÁýdûO –‡ðÓèkå²û³Õ-Ç%ÍÎO…Uߎ¥·J•Lò‚»²¼Q°/#¦ÕŨ¬¦Ñd1ĉ%´_lÔ)CZ®7zãØuhq|©RmWHª2’Mü$xxˆœ#U:—î.꙽• ™Èõ[ÿþ9ü0”AH©‹§ql$ÙËó“-‰6Òç /u)é‰9¢^ðrô²¥ŸÌ>{‚^“m‡èìfnY@Ãi6{dIb¿ŒívÄõd±çuŽâ#$„ÛËÀgìœ̳õ‘KÁÖÖ,Bè0ñ¢sHD2þËÜüxAzï–¢w$ß|¼\¼lå)#iÆ)~MÝ’ßÍJ8Ëý¸Ðê<€3¶þõË’ùØ%-ÎÆ†YPÇÈ*E'ˆI¶LYùä$÷xÑcÞ¡úÃðýJŽ(¥…/¯S…l'/6bš#¢Ú±°£#Di°ðHåM?;ù¬'êMu11P†z†TŒÁÄ»t_¼èˆ¢¶Èf}q|Ãö# ‰¹€Ê¹ì“d8`„¾´iäŒ#6igk}bBœ©ðþ~½\ÅŒ{ÙïíÓ*ꌓyˆúû1ÖÜ2P§V¥¡³Ï¬/=jзxSV³Û-£, é,ÝU½M™ žZͽ|^D Ùz¦ð:¥²¹$@Ò§PŽ8ÖéÁçØ’•öo12Üe˜è‰63ÎHJ 3U(DÏÅs"0$:’„þùRI4Ï£ÒìÊ®ü'?ÂÁÁÏWíL(|,mDÓa‹$‡@+Ww¾£QJáë{ ðÞ¡!„èêä!5ˆ ²;Óâxµ»ž|¹½ävRׄ$˜Ò'´²Äj'µ’zLToq¶3¹ ß)G^AÉÜ»vXþ^õpáyÎS|{gÖg3œ[#xc\H|ßÓ0co¿–µ|îƒOÑÑw ãÑÜ—Dk:u .DøÛj..Uðg诽øë“×Zïþ¤‹ÚÝ¿ßcÚȳ=»+SaOɘ ›¡´Á›ðëtÎ7™Œ ¤ÿ¯†îrõ°LÓù”Áñæ•bº˜%-é(K^jj*™ô92&Üâboöîkjþ$HƒŽA5 ¦¤ÖÓÙ†[ÇHþÁßÏòÚ §''‰ÚSô½\ô bsBD3EjQ†µqñòjoÃlU{~Sö¸—OOë¿9É_·ÞXÖ*Œò¨U TÚÎÕl/·Sð®ªÝÞÝ¢Özìê/‘>´Oô±ʧ‘Ë— ë€xš'=Ý{¬ÁxGTcñ±9´å˼:ÝŸ-ä°³³¯H­r|ܯv\l¤þ§0‹­ÛÛ³§·»2á—Œ~ST”—_m‘’|]ÜtH2žÈ£‹.iVŒažEæ<”Â3dkÿd-3šÐÂøGná£ÿÞZ¿pÝ¢ô^a½…v‡âfNÿßßSþcu«i†ÚÚy¶mÀôœ]½Í}ÈÎ93¡f;E-³rLÛè©y('ñ‡9Ž–ºuÚDÏšã õõìä|t R“1GZoTÓÅmdƒšK¥´+Ãî–-×÷Oi¾õ€ <ž›Ò ˜ØÈF¾3þâ¨t¥Ìÿ¤‘™¬eXßáilŒDO`ê‰W‰?~ðZ˜ÐPXýÓSdzM±ã¿|¬U6˜^‚¢`.gŸBv»O11þ ›¼oukêŒj/Ô/‘ o9LCˆEÂJ*…xăÈ@+Ÿ‚•‹ó3•楗ì)özJÍEdœ­=Ý Q÷"ôlÒ½$F]¹ÜÃûKMkŒý L£žý3‘3ÞûV‹YpäòšúbÔÏ -’xÍõ•·BC›È12þ·‰$ʵØÞ./G³?ì{³óD¡^E¨Üç­7\Ö¬H¾¢Á([©g_Î ò¡"!]$/ß‚ñÓ"­‰¢fÒÌ-­8Ô!·eàb’j¹&–öLdˆ­,æ9BL4ÙOz·»Rî0Ô+ë±³×Í€Ó'È-ÍÇ­^æž;ýžíŠ+N¢PWÈ}eÕ"úy¼P„@®àømÀê‘$Öù¼ïN=HžÓ–ħ.¯¢iHë ÷…;)Î/G¶¬…•¿+øâ½Á6à ‘çuÝ ÃÎEÎCÍ}:¢J„Ç}eßsÐ",ï)ê¢obþáÐ’ ™m/göYjßS>S›!ºlÛÛ‰n›-›à¡BÍŠ’fµÉnë« øH¼I9Jᕎs]…ÉB¯ŽkòjUfu¢iþÑîŠ[Xß–Éꇣ°%çz5æNp&ÝÇ*ù>Ì›jÂuérÏJð¿»»{Þ–1Ì„ô‡ÎGŒí¬†Y~|å&ª`#t¥¢kc¸#ê¤O1Ók‘ a%ƒï:s/ò8Oò~±mAzn -éýËòá$K2º:Ür< EæÒOˆóYúGaÎ][YR_#ã¾ýh1‰|¹ó9“"€RSÞ2ÝÓ !v<ÈQk&°h&_„)ÏÆù1;; ò 4ÄÍC’¿€ç‚=‚'ÃCÁ9ß^785¿Çˆ!¼ü¼ù8ñbø~¸ã… Ÿöoò< <Û<Î…OçãcÚ‡|j¾çŒ›½PZÞ!¡EbëÆ#L¼ÍÍSþà?×§LóF=ov¶±JÓ™Í\ÙŽ3HLLO8/¬”.mc÷6Il C.ÇjBðY'@j)E²Ò}é&AìêB0ß6,ý[öÅS|øwðÁBzn$äL!÷<Œœò™wg(˜µ"üé9‡ÀyØüœiÀŽ“ã>r ¢Wµ6e!!"êÜLH ¶$_QüúÔÝv¢PˆvVÙOÌ6=Ýå.v§ùÁ`]¯,[ƒH/#ŒÛRå‰ÇY­ºåÆÛÛÛo_(LÒÈzÖ–HÝ›ÛÊîÉ7,6…U‘ Ë§à¢•ÑBßûL 9&ŽÔà Ðá6¬n—ÐÂÊJÌnÊ \âOŽécêìgÙ:ðÈŽ,55)ý°ÃéÅìS&@¼â‘Èséãå¯#½fïóÁÚzÕˆ‹TkDZGGÇf–‹ëæØaÊ.ú?Eo‘6ž-x:zjAneÞ#Vï¬äŒvHzê]µ ¾ù`|ùX’æ÷²/Ž.Øï$†¾øcK£ÀçÁ¸Í7MB”TTx¤ŒÑOÃ܌QO$//ß˾me€seˆSÉOtuwç}ÿQ¨WiöòÙœø ¬’Ì·?Q¤…BÑûÎËu¼ƒMÛm¼ºit#¶ž=€ßžôƒ‘Psàç™ýoo•ä sï%ÑPQ×;›ßÚÁ¿/q©aì°víz³ó}PðFYŸ¤ þôIô¤ÄO%æ$®¯FÁ&ÒÑyáÅÆÚìì{ü÷zÈ÷Uš‹‘?=´ ¯SüøŸª®;žêïÿ—²g qP"Dֵɸ”QöÈÈ&ãZÝD6qÌŒì=Š.73+r²¯q‹¬¸2*¿÷¥ú|þz?Ü÷=çõ~çëužÏ×yßsΧiü"ëÚ%C„ÒSW¤ÝQ êîí¥Óÿ}shR:f¿¦B±Ô°] ânØ%{ èšÜ§Z»Â¸ªþQ^ò""5ÙŒ²-ű-ãUVí‚õS\¹³{“ЮâÜ‘tÖ9ªr*„f1xP·²Ç™¾¾\›ï =ÓHاîî–Vv‡Ã¯UÞ´<„!Љ9–ñ\PÏY~e `¤©Üà0›÷@¨Â±¡Æy“Q`ñÒÝ'E””” žs7 ûdM‘mK{¸ð߸QÆ ƒ$ÛÏ!(¡Jçdb¡—鿞X\^Æöx¸£ÝÕ‡Ct ??&—“6æÝ´¿S þ¥ ¡Ó~â¯JËž}†‡ ëœ†?<=„Õºd€ß^‘{²×‘ÂåCØh·X¯ð íä~d<Z×ÒÔì{E…9܇ ¾Ï¶¾s›¾A´PîF8‚Ý/#=} šøÉiQï–ù¨hØÎW&ÛÎÅŒŒŒÌÒñ‹ßTløj?ó]ÐÒöàÊùµ›’ÔñÊÂ~M#A›èªqúså¿«Þ2†‚††çç­/{N]aã¡®Ñ~e@ÇbZxb1E~³A¤ò?·”sÀ^K}­)JPÂIMéÐÌ5vŸ“1Їø5&fæñw®“oÞ\F…Š¿EÊgõƒ Ç•œ*柇¿%lšÓ2 mkoçäÜÛíÁˆ;vO0 ™$q»ÜðËM™aü"!9ùšýÍ„øóˆF` ÄÄÜD½Åä´Ÿ=̾¨ÂÌëj`` ªJòxÜ.åqSÅBÊ£ƒï4Ãv†ÝxùùÛ“/JšÅ¸‹B6’Õ”’‚ƒƒ´Š‰¥~hO™ºÍŠÍN|œ…»Û"Ⱥ2RmÓïuE°Å•ݵ՘Ò]Óð’+_Y:RóR”ˆË®UR“EŽý„$ºÂÍ­l¨ý Æ–œ:Vu§‡KXϵ…íëhkÞšk×Ú]êÏ°ŠØFz^PÃoXÖ°RÞÑQË&ã6Õ S .ª«s$ß]B®U ¯RûíÏEbßU½ H#¾›±)¤ª&õnæ€j Ã4}ï寮®ö{k½ŽˆOtÑÏXËÕ“„÷ š’Ri¡"5²0Ó²J^©ð@®¹Ý¹"¡Šàc|7ÿ«÷±‡}Z½¨ìTSB.çueÆ0oRk¾ç,·ÐJâè“ç|¢œuˆSà*…Ð0Å(ƒFA¬b?ð>­ªÑŒ0:Ǫ=\’¬§§§7ßÍ^½©d¡å¾T›\pý´Ïdo22À' j¢duÒW(à?|x<<|QÞ½éû€‹/¡¢’Š3‘‰ÒV¦íA3­émƒÿº$ÿ•ÈÁ=XÙ1ÏÒ|z€Z?j>j–°’ÄçT(:±ÝðPƒê}­ Çâ‘DÅk^$K6°µ*dé]S“¬,-†/Va*è6Cxö«»ø‚’’ÕŽ{…– —ã…rç_\áð¥5‘ØëwOÏÈȲ»1ã.-ÅsÃ%C—P:ÀlÀ3J?Ôzèéíì (¤¤¤pHyÚÑ.ãó­ûÓ'eÏ ­à‹€éŒ¡“ß&ë+ëêêÊʨ֣ ÿßSXRÍêëëgÈ>¦÷šm zñâ‚ëWnwΔôq¼]Ç=µÔÅ(ë»afgwÍ¡àÂ_Ÿ3]o¾Ür›$F¶¡¬ìÛþ66žµºûwóÕ1ÅÒœutpW,[He0;ÎŒfEr¾<ªnœv€“¤ÂñOQzk.“Æù×ç%s{Єn°;˃)7ÍçÑÿäö½Ý=žTÙ³¤¤$‰!÷:è2e.[ii)§kýI£ä T›Fô·¨hÝëSÃ2öéÉ=y%NÜ““8×󳬠  m?=Íô”ø¦ÊùŠüäëU"M«i–ò&Õ¾èhÐd§–ærÀ±ã/ô‹.‹ßðÛ«Y”L7õ •` TWâñ)o==Ò_²8$½ ”HæÒ *ƒåÛC&¯Êã·F%8ø¼n§¿6Xñ¨Ž¥¤Xðyoò$,Ø îèë>:ýeW#í ö8Ö ÙßPàÝ·Ù Ùȇw¯OÒòíkÓ®ólj ~~zÇr© a&¨W2¶«¤‚Jíäb(«fEGÿºÇ~+ñFà›f¨6ŠÓ'ŒŸ»v*M™²œ/¨‰†¿âE =òÖ‚Æè%2\öJ¤ˆYxE´"júDg^ÿaO^™ÄQ9ÉØ§ éÅ6ÍìOî˛˜>w‹¼=[Dxò/¢ÂÏb,ÈÁu¶"ýl!WMß¹^ކϼè· ‘©2_æËx\x:ã4Ž_|¶Šh‡ý|¢°l‘Ú\,ŠÒpiZáld¤¿Æ“寧DÚ•‘SO;Òäf^F›0ëºÄèÞ ‚%²%j½¯{œ\ãYúØÂîVÞ ‘¼t ¶¯ÊàhÝõW9wÓëörU&>É?Áóòñüðìzæá¼%ÒÐóðÌ*âºÂXt“E˜e§nP-»TlIŽ’I ¹à`+¤¢-Cñ(³¥è¨Nlhc«¾V µêÁüÊU>A‘öÇ·Sç8E£Ÿk¼[ÑNä( zÈâê“€OÒ¬eLñbšÛÖ:tÚ>0H¹‰“ªmò[Ôbr{x³cà1$ ™>Œ—þÒl¡·XˆÄ7%…S;‹× DÎÀÚû}‚E.«FYˆÆÒÿõ—1´Î-o2Óe¨òÛïyæD7›è§_Ò˜¯ó0'Wô8z ðÛˆÜÈ/·­0—qn=W§íáqë71F$Ö ÇóÐí’”g¯3݇Q¿údƒ¹ý0W¬PÌ8U©®0Ì›Ô*N“ÔéȘª±Ó\4]lm⸠‘:ÏQ$„*}sÖXÂýb°ˆ”è(h'´¯×;0ï±#£Ñ ¯®Àéf#²ØçQÝW=µrÃpÉønê`M-M¶…ûoÆMš®—Ó=gsÁ½V÷n´hF/kIÔž˜aøµOÒ€eÍ«/¦ÄÙXŸÅ.É$J(oãœÁ”ɦÊ}>„›Q°È”JG 1+©EÅóÓI#þáÈ1ZG#`(˜xí0¹“ví­rÌ«e+‘_žÒé3ojRa¨[½ÈºÔ—z(€e´VÎá±Â¹AEà <°gÂsª¾ß mmsUâ&bŒ¬h'nˆ¤¼P¦)!ZŠó®Iæ¥+¬&ñù6dßßßÿ‘c~znVtþdH”,¡}d¸UÄÇÐáýã=²¾,¹ ˆµ3·ÒÓùw!“zÙC ¼T§}bf“æae•D*þrÌyý%Ìbê¼kˆ8&Œì÷n¨šÚLJ»+çH¨èà!¤¢ö}è=1 ÔYu_...•/ãã []LËÛÿ$ðX¬¥Ï¸]ï èÖ=…_ÞÃZ•¨½‰¨‹×WW›„e°TÖÂH±œššŠö3¦þlÕMÅ^XXÈ/C Lâ[Ü íáÔ‰pî`2lƒá,'ùb0W»6 g˜D‡Í†@Qdü®3A#  &7P۳왢í°Ü;ÿŽÝÄÏFjúÎÅÄÌL_PTTdPjÈõ£-؀ܗ‚‡”QF±Ñ_âF­LÖ ÑË'<¹ƒbVð†wÛh²º9ñ¶”µ½Oð)z·FAÅ"†›öIÎIzõJÒ}Vñ‚–ß3'‡‚;¨³è¨ÈH²dLwQ2æ ]ÖÓ½qg ­ùGUéÆQ7ô(©¹lÔ1¨!„ÉU%TuöÆl$ל°_ºy™³dÌÆáU]øNˆyÀ–muD8•¿‡nFNQÒÞÕÐx{-ká# ¤^Ë?­©© ň¹ŒÑI%Òdt¡[Ξöiß´ÃïºrLÖ¢9eõoÎ)Ôb.¨ Œ—ò×3:s]ð3óÝ?îǺ9B;pZcQ \8!ÉÂ/G-Žýý[ﵯë™,/¡H&AãÎFÓï$òÌI ¸ã´Ïƒ ¾ýƒ‰»ƒp#ÈnXÖÀH‘Ç–‹–ÿÆç±±/óÀûºFPï5™btáËxeÙ—ô­-÷Èü-vG&¹£|€=ó„â;!‰Ð*AT×Î}È›4ÉìáF×C-#Ú9ñq½*@„*?CŠ z`©üA½á*âÑôRøp…y#~þ¬­96*jû?›~ *7ü¸G1‘².lÉÉÉÛH¨.Î#rºÎŠŠ‹{-ášøMš#öVƒ~ø}è Ç®¸>ÿõææ†üC#|g-Œ¸.<88È“¶¦Os[\³3pÌ“qí7³^øxΟïyy#€Î†ÿ 3Í# -òNÉjhfßoŽz¬éq­ñu„7éëm¿_‡x®_À¸:cšÞe„÷)?Ò2hd VˆT§\[mñ.¤âÉ˃¯þá{ßRÍ5l ¾,ƒ©AËî%ç`Î_Ùƒ@eÎx=f3‹ÚóŽöŠì~ ÞDýÈzwµ®yhúªÑ*Âg‚ë·K1·7‡n}êeƒ¾ÁÔ¹Nú™' òD7ð[??å………½õI0­MG@Ï÷Ri6n"ŠLër– {nÃÖ/\ðXL6êìì¼iRÓa–;XHÔJ bܹb‘ÂHou¨¿`YRBBÐ0l{þcçÉTÄò ÁP ëíP/ÐòÀÖ\{9á£|¯< pÜä¹Þ0ñ0ŒŠªj~~¾É览EŽ!´@35xÙ¬ÞhAáøàž¿ÓŒ8£“åOï ˆ»ãçÖ±aàA²„Í,YßãÛ;¨/0çÑ´o%n °f¦„F<ÏC<¤ž'ºJyß´ÎQ'‚†M%NÑÓ³F$mááìLQ‡ØLäx–6žDGøÑ¯Ž5íV~$ß«;ØNÄ[/ùäÖkx’Û‚&ù`²üb½ÂwΣ7Êžíy-Ækü/ü6]qÅ# [ÑZSÞ}ƒq ¼bÒïxeîôHrä0²Hž²„$*<5ùk‡ªZϨ¥· ”è"Є¹ü…¡ªKçQÇw‚ýœ‡Žê›Á!þˆl Ñ‚&}t•Ó5jq¼U7F¨Ü?fçIŽjÚn ÏI¿2*<šƒçU<;@# Œ˜±õa¸MÞ_• ÌšZ³BMä{H¢‰T§‘ôû_@q£ [y˜PÍžï^ý{ #挚›ŽækÕ‘t:4¨ò+àŒ2þ‡v¸ð?¾äú«¼'@÷›ø†ÛóÃÀ]ÑL¿Ê Ũ`9 ³ÌT’%¡UñUJõo (©Z2\ƒ °€g7Ð æü r7TêV69àgQÅUŠóÝm鯈[uNLM™ÂùB¬°ˆÏ€ZæZ*æÆÐÅÀˆß`ú,³¾'Ü(£|Êí ÀÝC½ÚSG%)ööëÇš¾ë!ðùÙ /¨Êa~Ç—T§ +V~x"RÞa¶a$k@`éúÄÊŠó÷Œ$ŒÀ¥òN/yº]È.¥"´ïG;¬¶B1õ¬#æ2uÜ êß([%ŸºˆŠúW*ØÄ²éœW°&ôÌÆTrrrW ,^ɺ“-®2ò¹Æ’Úÿ)9Ûñ1ð¨­[o¿ªDø¹³ª*ñ §U­+ÏZøž~ø”X,Ô\o¾KùJŸª®Øs³Úãb®´Á(``é½×(ÞT 0‹À¦"˜S'¿ÿ¾UŸAs÷dX’àÜK…œ‚ÊŸC'¥j"æç­§¦ÙhÔ$¶ù¥¤¤ˆ‰‰»[â·8WT ÂÎåk´o0Ø2< KæÊFºÝÊyÊV†f‡îÔ¡–·%-þ¶󾦿ûÔ{/Â‰Ê Üj4ì²Æºº\Ò’ÉÑ-V]­3¨'`—Ihsؤ¢üÀkKsóþØ…3·ë-¯€ÁL=Û>ô¶yÄÑÏŸïmL?ÙßšK¼~ ‡îýë§‘·ó )ülà-àIõ×ð§¡‘¡‘O›Å æ]×΄­^*+)¹A3}þ’µu!ŽéÙœÿN?øÉÞ· ”¡Kƒ…UÇ¿•#h87>gÉEï©¢·õ¯Ÿ`L•rþpùu és¸ëäëc¯°M=ßGަsŒ%È~#£aW"j»æ3kÏZ4V–['ËÝ÷·¬ê¸­éÜB°§5 õªÕþã¯ýº_ä•WýIlz¶X4íâû'¡fá~ EôÍ6÷ϯ—ú˜ù²Mçï Ö>cT‘1Ô׿r¨2µ}õÔ$CT‹ Á”GÅœD¤Ç)Ò¼A18&ºÆ™+×%ø² D¬uÓa”LèXVk'_`C ¸uXnuÐpµ_øEôíÙž<ñxyKmÚI>³þèvg [8èo\éø(}bï4ÿ Noä•ߥ?eµ›÷Íw>]çߣ{ØLîÛMÍlr¸²[H/|APm2|!]F»“qþ©6i¸%ným·œÌH,ûÙG,åÍÝu±d·¨ ›L ãe26ñÐŽ«…eè¸#cõ`Ik:†]wˆkšjÞI‘w­IÌ’RÏÿ”ŽÑ)éš“¦áÛ׎;þÊÉ?ÄþSPUæÇµ§©ÇE#3ê] ­­ @$ŸÔ W×è—7/ßW(20A>ôÖ‚XWˆ9ˆó&CFm½‰;§lëˆlÜDfFsDB#©mR†n¶Ë¢v òÁûóA†Wíp\lûO#Z>a]ÓƒÊ+ÂG«c¥jwîô4§ÈÈs4=l`N Ïüç8QTÔs—‹çßLâÒbÞ(•÷%‰Ø<õ'§F¶‹ÌðK–´ö¾Š޲xoÛëq9ÿK+ÄNäŞ㘹†öïφ¿±Å[óh4#k Ðèi Ž*hŒ ¥ƒDŒeÞŸÑŒª˜ÄÑŒ[Êæ½eIt²GžG®Ùö‘>Ò¯ý¤Ùi øË7»såUÌ]'ç1ÂB™2¾_‚¿¶Ú4a%eÝZ]}DHþ'uXx^Ș;y+2¡v°ñ•BD"*ÆÆ,T¹w!oý:Í Þåþ½©‘ˆƒ$Ñé –äÉ¢2ûv™5ŵ…åeìøÖ†{ü „Χ•<ˆ%ô¡¸.t¡NlúÑÙ%8Ö[É4•Ä(ú<ë‘àÄÄ™ âÀ“eP&Mò~$ P³?¶ÝÕ!fÊdÉ•&tJhÍEór\=æîkf`꛳÷ÝíÌtv‚ÜÉp—d&(kN ùÿ+êÒÔ³Èò7›n ‚¦ÃÀ—”k%Eûõàµzooòd•þïѱfÐ’ÒRó/ 0°Ä.OhjÂäy:g““¡nUò?¼v-H0ñ¶å…Û|Ì,añ»-„CöÈPæl ¯éÿüÙpUkÒ´Oè,ïÍïúr——:@ߨØ1ì¹ i ®»*""RÏ(û,U‘ökùßO‚õŠú[ÃÚ™ÒÁåÇóHK–“Â3\&ß¹âÐ9AU[Êñ û–Ðo®8fFFŸ]œN1¸ê’¿/5{ÒË—4”>½k¥K¬Þ34|‰Nïµ¼÷m\Ovc0´I•jРŽßzô 4™åàuÖû©ÁS®b²ÊÏ\pïóÿbá fq"'G@ÉËpÃ9¡*žùìv™Æbf5ÌQƒÓÛ¾›»²qýiaBaÂÏo€L㥩ÙG8ô^kߟöáé‘R"˯IÛÎúkƪ2p› 0ƒÖ+C%\Ë)¼÷Óø~Ï~©/u‚ ê'áò>XLág ±d¼t‰UÚ›WB‚ñØh+NáwƒÛ¢o?á}ã¥þô£§Ê÷þµëþ¬ÉYþm·X—”téDÌ–e,ê!I™™r.cÂæ¨ íâz…Úa(^ð.¡éï½W†|Ö@z¿þnrká.ꎺúX•Õ9bøE6¶õÔrÅãjžµÝÙºíééy´·’p![S¿{W×m±xê‡ý×2“ÜÜgEó—B–Sè‹–óéÕÕÕ·g¸–“"`BÏÄT8’>^ë ÐÖÞ.ãó-ò˜ìtqî¤qk5(@E\pR&ŒzG_Ýþþ> ›ÙF³3RytVô‰Ôr™~Øj9[ÿL²ÖƒÆK§ãFà]ý÷ÔÝŸ>äB)`SZS<Ä®·ÓÜQ,› 0ñËe³!uÞ žÈÝ[AÔ +ÒvÇ‹ È/3Z/”TnDOŸ˜9j{?üîï€cµÍÏÂ/¾¡$`òêO~¦K‡ë™˜¬”hð3Š<7 ü/J€²½že懭;åå'FM}IW,⟭ #áØj¹0Ìë\'±i€Z9}ÃÝs]«åfS›>ûÀHñ³æ9š žx—$0Ì7(ïî?3Dÿ‡Sk3a’œÜasýÕ3ô0â»—¾é<´±7=}ziii~`;ö¿(P6 ¨˜¨pÆÓc¹âƽÎ.^UñL‘Oªâ³æÅð<6¨9áÏèý/܆§½ÁËÛ²ƒý5ßÈÐP÷¯«T8z»_ÅeòrÞÂVäðçÖ¸ÈNÖ¸ì'Vcú\nZÅfÌXV™››‹D²èöî¼üãš]< óÎÁÎr `@ÎM`ÍÈlïà½ðqÎ}aq±Õuos&p¡; ‹¹ÿ_Ï·Öç?F;|Îò˜?OEÚ³»1ݸHA7/ä³1õÞa ë) =”ä2eŒ >¦:ýu‰ÈRZZÐ^‹{< .?"h9 Ëk¯XnÜü2ös«öú½¬ÐIÅÛœ¹„u®S§k™›;$ÛÅÅEküq\ǽÙYÃtÿ¼³<x¥ÍUÒûO:ã4¤&%÷†ÁÄEœ¦:º²É¯d8ÒˆQ˜F`%þFQóW.ÙÂðýt·÷]þBO´Dù'å€òPú>ÉéUÎ jþØsz…âüsuš+þô~zõ·rÎß …ágøÞÑÄŸþî¨j«T(= þ?Ë}ºÙ DDƒÝHD‡»ÿ1xœ|¼ 4”ÿûÇa,Ù²JöeT¢ìY“ìK–È>v"Yä0Jö0vc7d c_Æ–=[öý¹…úþþÏsžs:'‡1sߟÏõ¹Þ¯÷u]··Uä@D D.\=’—~rážÂ… 8‹„ïhé¯è]¸ðúÂ#é‡O݇~}¾ìL¥1T}¹ëz}“ß;eÂw ÙÄæPlcúÏ8WŠñÈoÌq„¼½ªIËÜÂP«FS ÒÇ¡¯K|MG£sxÞ¯ã QP3séWýèPÉ×[ÇǯF"=Z2†{?«0Ç99:ÞšWqéEÁ«T«·« ¾Çr„,~ä’„,ýx Q¼?_ù‘/€N¿ç÷zöS?˜ÔÙW=`ÉÓ¯6N_,™9û5IËÿ}ƒÿ÷¯%`ÉÿûeD»E eDäNµ%7Î^åÎ&ò‰Ç Ü}mÒŸ˜6³™zºÎŒ6šbâŽgÈ•ÓϺ‘_fßµÛ²ÇæË„¥ï÷¶µÈÓ8(/xÆÿ]GŠiðh&UJâø`½ÌivüÎ;FÒ³÷-%°´¯ CnÜišfò®r§·eŸ¨ôqê=Hœ˜µ:ÒSN 8¦ÍšH³òÊž!y¿j„îæÆ 2TåÌ€qŸi9éÖkõzZ¢i{= Ûo ªh:%Æz#*cU…W¿›)´å <>øÄý1O¨‘7i³=[ÅI|é¶uMFFaÌŒó]Š!Âjº)w^t=G $ÑЕ°³uÆ´ÅŒ™X ¤’&ñÑçÔ”¾§YÕæh{LÚ÷ܯœ1gÆT0Ìbg®3Â0 RõÞàÍãnû³õl@a™Š¦;×VsÁ1¹ßcâÛsÂû¬’¿Ÿ¡„‹5ŠÉr îºÚõ<ôbRctp—e¨Šy2ŠQdê±0“Á ¼Èÿ&%¶¾×äߟª6çòìâM–E¾Åvf=—ÁÉh¾ñâX؈_m]p 1±© hÄÏôAK é1ƒÖeúðnîçâSõVâ¥JÆ/Ÿ°«„!êøL H9[‹'P#á'ÐÌÌÌÐGˆãØùžèÜ»‚Ô`—DtéO¥.«Pö©[jSš1ø º’–¹'B©Äm¡obâw;CÉ2ï¸Ó3¹®^ýäçSçl[*? ¹¶Í™:bIèóY=Žñ¥’±ªùTÄÅ‹W_îmê–ÔJ- —4I988ðV#ð{ý¶ûó*+õç@^ld¯¥oÊ–$¡K#ð_\±ÚØ"Mï.xâL\wÎOW´KlvÑf—H’ô*_bÅÂ,g«ÌøE”.O%Ó‚ÇøÙ>¨b•àFL—bɸfü–…î²X¾¤¦çVqV0:žf€ÎjuTÜiåçËRYò0&2uP^›å<6²,d" ›>»ZÂæðþ5’ U°õ2Éd¤W ²ù‰dA¡"ÐRÎAV¶ŽŠ%ýÖï÷;ç-ýÓÁ Ü=o„æ©Xfy‡Eò¬ctatØK°|¢À¹ÓH'`‚–…mÝüŽéÂê{ìp ðËRŽº@yiÔêà=¾7zmldñ¾;LdèYðÚ vâ`*~ ŠâyÖ*îH˜‹n!y–À¯ 'mÙe ô¨rP7B Þ0@ÄûÍêquþ1J…zªämܧD+ß= &wÅï߯ZÅ¡=œ6§{DJÀ¸Ê–nÍ.Øœo; Kø†Éœ¯q/–­Ó*)ôÙÛl­ vá4üJå¡Ñ!¸`ãw,2@ÌÒIy Ý”¢(s볃7¶OvB’ÅÌÛ€á@ÍŠVÁ~xìÉå-Î?þÁ9w…¨ »§ˆPn\ƒ§‹2æ¹µ"˜B‹< L.Ö™ -s2i”Bt¦vô4,½àa(CÅÇù3Î…'‹q8RŽïNÜ@ÜÈ|Ž;áùŽÉQøõOKàMg“±â®§<_ª©{ÞÌjäÊÙ(NxŸ@~Â-?T’`ÈÛRz"¨³/!Šñ"‚!@h¯Vñ­ŒÒ'<_€s?Yòi8;zál6är<ñC¡†Â÷ä4˜ÌÄ>ɤí´Ñ`”®y.«øÑÖä}GJOÉ—Aæ¨v íà­£ð\qò0†ð{B”ˆ9xÜ8 .dê<-ZÁtH+‹œ¯ _è>{sÔ-OV±ê>. á¡=šPPH©Ïdž0+íø-&‚‚Fu0¯’Ysò.Ó™‘H3È£¬\Á8#DAÊ·1Tlò ûºþž«*z·ô$·6ÏUŽ]›Ðºñk©õž·Ê³”“7iãÔ6¥“'Qª(ÞØúìÌÉ)ÎèšÌB|HÇè:M?³Ž3³Ð ÕœËÏ\>áPŒüPŽ&“`tfkGº¹ÍÑɤa™ 4©¥˜)õB“òø V·’LÔh:Q8Œü!&“‰ëøã> ®ÆF’ùÜì÷´H{¢is1=E3qYLnx\*+G®V@ÞˆŒŽ$(­²;"ž¶R" #Ð$âȸZm•jò:‚, ®S¶˜‡hó8L{ª „%AÙ4‚Óûrì*éB ñ œÉáDî òµ¡*ß!tB^ÆE•*aÂë€<9ñ|WŽG#Å)fþкA*›æóDi"ã`x¢º«É A–‰¬™ EÒ,ÂÞò( 4HÀ1¢¤Lª•ЫÀ$xRò'ãŸO¹;á€}bôÐ…˜øÎ4œü‰·/f)Zúh7Ä=îƒOãòÝa••cœéޮހc8:pC«‘ ^tR”¤5ÐKø¨ZËÕrg ©ºíÐGá.P{ƒ:1‘äYŒ61uÃn¢K“Ï”kf ÇMÙ¤:°š ƒ9ÏsàG m …1?Ìq©â€…±8ôGnaC FÔQü£¹s”·ÒŒFPbZ²h4fn¨I´XlÉ!wÊ| GãïšEÛx]ê’â{¤Óo DÓ&Ö<^²¥|ŸgåªÉ¨­Á:>ÕHc×Wc?œø^à8@¹&®ô†³©ïOG{ÃÏîÖatkŽj2"Ï [½šÁþC5¬“ÚGexŠÌD‰K좱,Q ýX?)5›/63Á›Ì|¤)Å]”ì>\m¡Z JˆâHK‚¨Àž¥e.ÁY;y§Í`ªv@PÔ0:2­B$ë U™ç"¼'<å 5°^Spܬ[-Øô ÖËŠ•Á¡•õnIM£D|= "˜­nþûL`ËÝ DßÖPBôCçm¨D„± ªÕä#‡rÉÄ øÊU’‘%¥ÕùýÖë¬ÒCo¡¿«w8Ä!Š{V0~¹Xbhü†qߪ¤BÈ ˜Võ n·:º,Ž®!Ÿßç‘ÜŽ‘€†®YTjb¿Û 4 ²Ì?0Òý€pw?loˆÑJ3¨zƬ-Ã\) ÚUašx;›C@ü) x·Ëa ÚÎlx"¢$0%¾zEãÔk%„Ȱ„»eUã8RºZÌŒUr¢ ¤4ÔÉ‚Âtj·X èE`/•Ú즗ڣŒ:Ǧ$¶yYûw[`Σ4ÇéQÛõÄf„V¥sL õHŽ)–† ¢·Z¶Qî„mÜ(Y0‹³Î»Vøx­ ±tú«tÑû4mÓJþB²ºÊê>.«ˆÏçSßÁG¹í­#Y,çùÕí k™ï·RQ¸û!ªJÜVOr÷ ÷MܘRûú>?ïß' bR¶ó÷+Ýn˜¿à¡N9’þÐåÊq¬oFÆbìLåd«Ã=Ÿc?¼ñ?ÃÔ¨oBez‰q£éÒ˜\÷g¬¶(\ÙCÛÄÒôg1[ËÁÔÏÛ“æó]ßÝ¢bÀ íEm Çš9]æ˜.~tûÕûûÞä0‚…jÙ"Y¨|ÍCõ›·±U[Õ¡ò7zµA‰Hbë\VÁ(ÀfõÜdWÓŸ/ƒeRVyKÏ£û_KDBÀý,¯ÖÇÄ®viÛi# o7L¨tilÝö¨ZMPEC2Dr ÞdEXf±Ô¶œ¦îe´Es(ÛO­º‰¯í×Ú{Nƒó )©“Òz_x:,'·R‡9_ ·S&Ñ+ Œõ»ÕÄÌ  Ì5X©âæM'°g*Ö[gØÁÑüt€+žWYîÙMª]·CÓ^á²{rNEšZ=î-a0÷™ŒS¯DÎò­ùùŒm÷Zm@—P§øžžäf_D¾#Qûød¯êh‰ÞËEqò!_p®Æ|æ©éÔ;2 †"}.…3Œ]:t;ç@§¯@2eKC€;t˜ý‚àËßˬ8ÁõmÀ,Ð͸Uág8;›…bâNœ©3TÜ;Ž/¼‰ ðF3åMèo2SüýŒŸ8‡æ©Þ’ê°Ëèñùü;ˆ Çœe¯ç€K¦è8P?"©®ƒK+±>ê( $HaMô?:¦ˆg*/>dë#çø„í•ÆLúP%«bÃr`'<Èl_¡ŽvÏ•këo¢(]ƒ÷C)ŒoØdÄ4Z1d°U9³#csA¥ pxK…=LÛ·¢6§Œg! ZüýÑi-"o¢;ñ`êW-²æ¾ÅyÈgU÷дmʬº:Ÿ ˜?f$*0Ž2J¬Š—/¼Ù‰†¢oH˜>·€äƒe6½©I*ìTEÄÁÚ»+z ½C¤œS¯‡ˆÐ ’·$Ôát] xï³Ý§X—ûḬ̀ý²´J o‰\´ aïÈÔe;1ÅRûŠ€^ò•êßyåÚN&2U©ÉàV·Vdõ86¥ dl*fFÿœeä·p{™ìÙ™ý3ʹßRôI"¿à2 ñí/÷g®’SOåpÄGBº¡‚Üé;ç ê O&T×Zü3˜"ß…j·‰vU o¬]ÒR9ò(¨j™þB=üïD€¿\{îÿµgµ§¼iè¹|ÌzÌäD)ÏuFÓñp<œ†ÁØ!ªz™Åe’~,rlʽfå•&½‡ÓsØÎpLÙô’Èwþ ‚:ŸÕ·žu>€Éð¡ó™f6mè…×uä͇Ý}g>rŽ?9¬…:¥àµÞ?±aUÿ­©º¨|çêt˜eØSgƒóævuóÁ^oîäKs5›.æ·¯ªÛ+Û”íµíZ+öügžõκš ›NE· 0hxœíZûsÛ6þ½ªÌ¥vGR”¨‡3®“4I¯iâNï~Pb͇J–Õ¿þvàC²eËuÒ\on&K,v¿Ýýv‰Ó¯_ýtyõï÷¯Ù²Hböþ—ïÞýpÉ:½ÁàWïr0xuõŠýëíÕï˜ÛwØUÎSQ–òx0xýÏë,‹b5 Öëuíõ³|1¸ú0¸Åµ\|Ø~ì­'û²ó¯NiÃÛ$NõÙ=˸³ÙÌ31VIWïkÖÚÝff2ÁuAøÎbª,LÆ­‹›2\µðâmci©.™ˆ&–[WU‡ìú ö&㈉Éj¦×X-˜“æýîÉg-<ˆNy4ýî]Rr2!_YÚÐ`«‡?|£þ­vO4ÌR­àQ XÜY›©°ã©þ|žrÐÍ|Žm†Š°°·?ªKv°°(¨¯¯ï¦BB _ÅðªŒhW ¤n¾J>ž~wǾ—¼ýwØY ¥£C¿ëípåêUWxÓaÀÌÚsTñXÐÆ|Êô´ùËäŠ<(‰l·òFLIY™tII‰+Xcî ¶öîÆ òâÅ W²¢÷„ò..ØÞoÜuMLO÷lŽårc8>rÞ¦1¤NG__Æ ‹@”µþþ-~“PHÉf–O¯Î³Ù›p°U=_sºÂÉéñú‡ÓåË—õ¡ÐâÝÝîp¸ŠZÈÎÓ lÓ!%¡­´´Têø`A­é=bnaKg~s©)s<ß™ÖÇ£TÞ’&ç%%¶cÑàéââ2_`HÝZkáKzdfkëi¶ëÒ_fuÇÌÊŠ¨+ûspŠŠˆ¥ÈÁ±£JÄŽé–ÙùyNìèø_ïîõ¹öÎJ—öŽzrÇÚLK,˜*+k ØT;?Þø–ÚñeÁþÀ¿CŽà²[¿Ê;N?ÇOXîr£š&Ò|çæ3dÜM{ý6{Å,Ñ–Þ×%šm·` Ô3£PÔz—ÄÀTVV~LLÌÃÀˆ[‡‘®3 1’© ¾…RîzÉ·{»2”¨ýYGæâH=#ÕÝüÌõÖî¿Q0xJAAˆ¨hÿ›Kü?}ºõãÒæÁ~-¯•í1ß¶¶¶¾3|!ÙüZq¿áX2€-f^)àï'8žjy¸Y¤fah—|Û:÷ä&èÑÁ.[Eÿn—CÔîÆù³ZÃ,µ.}ëgK lc¾SäÖ­°¦Íµ#“4yïÆ¿•“áÇ¡b¶µPÈŒ™K¬$›²b]z·§ï†*¸ð.på&òY]{CQ̾áÑJã>¼§:EÚ¥v3RãU¶¿Òä””„8¤Õ¬2žzedLê_ºÀ©±øôbÚÁ–¶©‹KÀOQLÌÊÐõ›7ov&­4‹ßW Þºzœlïý;\å?ûû#‡”++«®¡!áçÛ+7O§Úf”..Bý—ún/í|iáíçònÈy{E¨íÏS™Ñ „ÆÐ`êR¿˜KU!­úº::&Š›¿ùãOQ®Íwe”•(p3=ÒŠ¤gìkM’õ’€2HØìÓ»ã¸3:66I@å`õ‡ˆ°po4«hê¸ø(Ö›øþº: //jsÓïìpœ °½d3¹—,ླú§Ó¾„ô‹ÍaàßNn~=Éü¨ÿûÔ"µCólâ½yZ7uÂw~ðÉ@{²sD”•m6³4hý,{¸úçXdrËÌÃÕp+]Ýètâz¿¥\HÒ •Ã`wø‘/žJ°Ãj®‚Ý·tu-üþýû@•›‘˜uåO‘m Ѿ?/^µô ïó{£võ~½4ÜMma£ß¾5\JE6 SžT ûµðÞ’”4É Ûs¯Ú¸m[kÌÁÁz¢¬°Ú¹… ¶ɬZ\ ‡QP°?˜áóß\4ùõó'PNB¾PVˆi†R`M©¿(Þµ3µ`y'*%e8öLËxÖ1³ú¨««kjk›¾Œß¶ ÓIpíø”Cƒ5@ï—„ÄDLøñ‘k;t•Øtdæú¡ÉÜãô Á(aóç£E¶¦Íž†+B†Ç{V:¢©T2ÑÈÑÑ‘4ŠE[V@\:·Ó&ªíõÆ—·`‚ÊX†…5ÒöX‹7H´¬‰OåÑvø±.€Ò·E¥‚Ój'€Â†mæñ-ªâ¡ãkTgìhÒû÷Ù³³³‚ íÄèR_¤Æ3ePÓ)MO禌bÎ0q×>®³©ñì"²ù'Š4ôŹ…"vªX\™¨ÝE³ÒVÝ[äJ¥Ãð׌óÖýû5ðñÒèh77Q%%›à­¿ç G‡û˜  × ;œå;¶;–5–hû —öä%€‡„|0\̦FŸL¨èï+Ы˜lIµòØß¢@ê| b$GjŸåÐhÍwWÝçÚ’€H³1·µ½Ý4‰;çq¸G…`<’äàcÏ缿'AK £ºIRìržŸRýK›Å»«?˜ º2:ÆH6—C0m€iÎtª=_}¼±Þ~‡Ë9fˆêÛ7oÎ"Ž÷—¥¯êK€”uáº2ofw.4Hs½|å í,úŽŽ9k¼%ò¾…E’¤`ÏØx—M´÷†sŒ$ØIW@d…ùù?Ÿ¸º¦Ò° NPã= »²ÛîpäPÓA¨°‰rê÷0AÁoñ½d3{V·[n^^šß¥ R?¦Ùš •míí`g;šŽ÷›ÒB6öÈè´ß¿µ«Üºyõ³w €^U̧yËÅ«=¯ê~•¶=ÜÍî¬Úgw|%Œø7¤™]:to3Û‡‰ûîc”úzE3Ç¿8kP=°×öd1K¶VçxW^Äâu²?Àš ¸x—òþߪÂìì¯ À€ Þ¸ñý‰›(XПWl1®ÒÞxjr %g¤¼öòYí|N¯XÐ<~{BÚ°¨õ޽'×òu£,U/°zZ¥%kÛƒF¼}»4ݱ°5óÃnY²çÎ+ÌÍýÎîÜá¶Á%ýlZ£¬¼²RÊw!#0¨9‡sŒõçÇAÀU,\[‘}?R€®µ­M PœT¼ÊÖ'ÉBwä7ÚÑ4Ý­‚+V…‡mP¼ÃGõÓä:Eʼ'ï³²‘¥†°žNý»¶2¿~Œ{'Ö4Yn`Ga1çBÂ(¸ÖÖVɺº:Ae屃îãƒxáÛ·eî4¬¾x‘ïƒÍ|>}n¿Ú yøc¡ôÏ®ÃÑ:r¾Ki¥:óx#ëØ(úUs4@uêû÷ÍLMû<ñkƒ}=.ÆÆÆO¿]·…]5=mÝðü Šs$©!P%Úu›Ù}{®W¹÷ ‚>/vçZ'(wá ¬I²ùhœ*`éæD-Ë?7v¯47Ò<“ . ¯ ™i‰·i·ÇÂ3„ED¤šO…És&ã} }glŸÀ¢‡+]ÞqyZñ©¿Þ±q5Mz#ܵçÉ‘×hõ¸ õê°ó„@ @ûp«† O tŸJ«;)'++Ûüéëv©cgÈîŸj¹AšÜÒRQ–%’Úχõn²Cã·FDºgÖMê‹á¦I …3ÄoÀwJû-¯àuµµÏÖKþœmM”ElB©Ëã6ñÊëo§WýsŸþùV×ÈÙéÚ¤²"oPmॽV£°Üç.®®m®U²%D ÑæÖÖ%›››ÙKàÑÉ˶úí ʪºUËòóÆÃ9e ï'žÏÄê0êêë{nÕ ¿¥¦æð‰,ÐÙÉÉÉa`f&¢ìp@Sdk`@i†ƒØîØßÎê.´M‡Ф¤1tŸÞQeVd˜*ç•zãÆ ¿n•íß”Šè˜˜ÀÆ ž_¿~¹Ò"€ºí¡÷îÐìÑ`OŽº¬{Ÿ#ŸjCk¥[wf8)â ¯±“Snáö™µSc™«\\e´%;4…%äÓʾ?:ùb>EÒù5à¦Aà« ²TÇ=ð “€¦üVðÛ`«IÃUE®]é%u¾ a¨²@&.9}šž;×[ûl†V¥Üܱ¼* ˜Xêõçj¾û˜’RVëñíÅiÑšŠ°­ª,áë×ï«üaü⬅?ÜEâC„{òGÇ܆V¶Õïû&½Eó‚jŒãÉÀ#sÊz|œÊ®®68NÈó5ŸeJÌFCqÀ{æíí!tL‘âv~Ó?ÏåÊ ô8À•ÉÏràïôz{J¹@ÒNhØS®ÎV¼¬`ˆ@þq’ЦŽçLÓG€2Š€Ô ÇðÀØ„Pìjˆ,D½ìÔ‹±1[à„ŒFS“ÁºÔ£˜ìVeço„jŠOè^è?ɬœ Ü’Ë“'‹r÷ ,Á¼·0̪;Ùðú%Apå2óÃLåR¬ç©èpÌÞKÃô»9À†Ï#äB¦p~K—eð0"ÊòŠsPPi°ÌÊøñn9¥ï°8 ©¡ËÀí─ÏxõêÒ¼¥ò§£ýr¬ü„1ͶÄòÝÞÞnÖvÈrÙgÙY¸¨lªûd#žz¼¸¸èZ${ô‚ÝÙÜÞ50`NsPMSµQ`}Ô•ÉI÷å˹'ÏØ¯×xÎ hö°È(+™Hö’r°·Ï¤¿ÀþX…àpG·‚Ïpûˆ—2þ$sFî»=$ÁõÝÊaÏTÕÐzU~á§+ïÝû u<ê—û~©i±íÃu"ºŸˆ,,(,„¨}ý—åî#vÕÚ½íoŠ>—¯b!EŽÅ ?;Û ô€4_öñW:*e”˜: ‚³°¼<‘4¡5þùBZ§ëa˜¼ %<¹¹É&öxr ì©b§Ô히O®ULíÄ‘¦¦¦´°òòå)êbïLn»»—E÷UìMßd* @ ¸“¼ü¯†5ŽQƒ;°§_̬8í·Ñá‡eÃyš:l ³ó/Ï] (>D3…ö!kš:ü$@7Æ 1m‰ÀØ®±õŽ,+)1ÑבÅ6#P_ÀE3î>»eݱ½Ì3€&<ðÁÓX#ÿk—'°#@„ib ”ð£>y¯ª PÙ™Šd`df—µad¤¤¬'S·=çäðh÷áæðÚ©XdèÑЋöáäÎ’ââÏGáë³:šZZòûyGù†¢æ{·¼ëA¦Ùœ^q_ú¦H;Síë¥þ"ТÒV‘œæ \Ôíârà$_sÁß³<çb~¼WÞÿæ(6ÏãíëÆ—]ÕZîùöõõUó ˜´ Eÿ–»ÄoÝ2ëÏÍÍMm袴“©¥€ 1ÈŒýüª}|}©Þaf u¾n4«ØÌ>7;ûh ¢.x2Ÿ¨P‹â æóçÍ€;“ Κ¼zýº´¶öÀ¢¥­­mÕFRr²ˆ˜˜A3;° ¡%MÒ— ›‹9 ÖBøûTxã-ËåH:7k3p³47¤%ÅÄSIï£ÁW <‹…¥%$Ýt„ qÐ}5?dê©›K» YDQtC.˜–^ˆ5y7õ’OQNÁ±ù÷¤—o{×+ |â?ŸãAĹƒl/HOOÏván½„ˆe—|¨‡0…~Ãk¬¶wD|øÚSÎ&qEpÝôôô@¡WAQù÷~У‰RRRåA¦ff¬<<^˜ÒBHùùÕwwwI=9‘*ÉePLNÎRÈ(Ó^ùäwøx½°²rC«?”æ#£~ÿþ}mâsæáþ6²{Á ¸¤×L<¥;;;‚£9ׇ<å‚ðö´da¶YÍRCã%˜‹q ­‡‡GUÎb©{É·sY²ÅOAØlŽáVèË/,Lýç$ý© Q5øØÝÄOŸ ûã+©a‡{)9êQH†q8v  €†ì]oK C÷·ÅÄ:õ3•‡ý–ú~•;4M°_a7Ú ñwÖO¼ÿª™}£G9å~$=pðàÒ`_¡7øù;uL}‹ììÛ’vÖüy ¼Ó>'Œ™<Ð`½ä4x}k~QQÚþ2®{€HLûÀ¯•:y|´M QÍÒÑÕ­ŸÚÝëV;nx¦˜áz°³&¨¨8¢Ÿ"õk'DÕ¹ÃYDFP‚] Øô'Ož|úâÜ’ <4Ø\Ø=ƒHùÉ~‡SAlM[›iIâ!c¯°²ºÐ3ózÂëæ®úŽza9Ólè}°™uÇGû…ÍôA¬¥YëæSô»w3 ¥VT=þvøMZT® ¾Ž– ÷GÊÞ[|Åf/Áÿ0æ3Éo±'GpE /¯ìâ3Þ¸V_ŠdN¤'vð|ÆO±Sº[ÙY lèÌÓ»à:dtäV7¤=¢¸àA‘*çôõe~¼f”vnŽ‘á †”*þ,ë9R-¼¸¿êRåO¶$~[ØHœe»åÏŒšÏ~&™µqj¡[µƒ@›€PvïË\ccešlOn12ÕL&cT$$6Vû °ª€¿ÿG cãl‹2KšÓ¡u{þפ 9ï‰rÀæTÒ`;É[¤[q«ž^}L×h¡IÞCkƒ Ñ#u¾EôŒœùÅÅ·8œi7HÙi¿}ûœæIB(q`ðÂë꯻V•>ä Y¹NÐ0½ØºÊui»éæµ´ÎBZžÜÏÖIÙ>ø·F „ñ€å±’êj»ðC*ÁM,cä’ƒÌrÆMÕ Q(KKËä­•I4í^’•}oFàÄð“FÚ-—%`ùiNûýuõrTl‘l¦9–VÀ¦˜g3y¶•K3À®Ðn2ØŠ#ư_`N:ÀÅÍ öóÍ%ËÒ®ÖVp‰ú ç6x|PÄË«¢Æsøòf¦çp¥& Z3¸ýæ;8ÀaŸm  ]À”2~·µõýù|ö¤àa`ðö2Уd)iéA|p`g¦ŠÍA}ã&^åâÈ3Ì$‚w »À&Hæ"€å€3ä”óüDµö|î𚙪 ºÀIpp` "ßýÑßìyÀ«Ðî¼cÇ|ÞÅHîÍ&½ ]åãCz¢‰À899ùÍÄÊ{7B»3…IÜŠðAÛyxxxĺ¾þþÈf²vD™hØÁZKô›7=4¡1RÝÕc±m`ø`Y¸ü)#“;Íò›fFÖvê ÓzŰc}³Z!þ³ss´¿=ÀbZý‰vE€?jTœQ*ú«¹b—ãðì 6pʼñõ+¨êêêvçõÙVH5ôõùæb/¤Êµ“ͦ—^,I²§ûŠÈßâLó£aû^3Ûûo.ñ£vDÞ!g~0«É\ºt‰P¢¸B»ÕÒW gƒã48 Y51(|)¸mß0ˆŽO(·vV \ö³± ©ƒÚaæ•ñï8·gƒ ¨l‹J”µ9 q1þC|ûãOÏ‹ÓçýV§îä’zµøÇ &«>¢mšµµ5§RÀíméãèO²°dÚݦÓç¯Ú&½KÑÿ$q_5ËHSSSªy¿=ë»ÎäUA—–¶q ±ð!ñycX¦Ë¢î=eõ£Œ ’Pµ©ŽÙß¼°ãƒÈ]‹ Üä¡8T Fj@B»o‡‰M2Jf ٻٸÜ3šDòÈPð}8“¢§ƒqVÉf&Ñ’Eû×2uÎ3“骧ÛqjÇëÝOg·¶1í½Ê±Y4ùÑ+ž2ƹkÒËî¹q„ïQÓüرM”ÁѬ£O‹%™r°ÚyŸ¸«ÿ~DVMã¯%õü©9û¥/<Æÿú/žz 0ìÑÔsQøgÀ²-}‰Ý|ý+{kàúèoSØåÉA7$ ¿EÈ|ÌûêkVˆ›fѵÍ(ºîÞgÔ‰ž΀Íë /éÜÞÌ*î£7ôúñ`3   š¬¾0ÝÏm1t"#ñFUŸóÈŸVÑ^6XñÎhi2™-dë|·™ñL“·òÆ+âŠSeô8âzY"¤ú{Ù±¬Õ¢BÝ—U:ȵßQ¾"ÝW¿naå= Ú‡:±/ d²Â81FœÏ{EgeàkÏ2ÉÿQ([‡áLáD½|ŠSVÍëÜõ—Jx}3ªuxñ=X¥Ü±dÂ[F@A? Í |º4MQóVkî7G„‹w]ýOÅÍNÃK ù|Ûñý+Ø$hïËy£â(ª»VŽ ØÁWÖnêÅÚ9œú3¥y ~Ýý8¶Xz#Œÿð±EN˜"¤„½S4¶P­©L?¾B¼rå(Ù¢ðd=% ó uo"Lqc¬ž[|ÛãÞƒ©jö¼{íÍ_5Ü×åêB’×=hKSûV×›£h;?ø×.{û¦­3i\î©ü÷œYªÂåfNÅô‚™Jó^Yõv]Lª;T4žîý÷Ò4ïA’[v¸Kí»f˃¤ÐÍ~g‘ä†wÊJ2O'·iµÁIX+4x%qN4ñ¼ò×=‹…=6ýäé†m?oí2’îPjFº´ðÞ o¤2NëÑ­ZÔÆÀµÏ™ážâ⬢R… ñÁÝÏe$z=ÏëE&&QGìþZ.|ò%/¯qº¸¥€Êwä+R=f¦È7Kÿî‹éÈç¿áÈ+E rùÇ+F þ5wJ¿®ûö‚~jaÃÊÛôZ ÊzÅCDéáï†è…eì ÕÎÊ÷e& _CÅÈÒº`_«ÌbiܘÙËÀøeÉ*rt1ÐFO¦ Xtbƒ·–îÄ?¨ÔÀxs÷á5NáíRg¿bÆ_¤íRî³ó¾sÒ¦ ¢»²ª^;ð3š ª«~W¤Mvš=¨µËpæñmæw{cÕŽ¯\ iâ÷&ûFÏ”Éäm×qQôW8*&½òtã›t¤÷Ì0©µ;¥¿oº—h©ŒÞ¥NüÜjÙZœÃÏ­ïÄÚØ¡‚¥r“Bäk÷uÝÀÆY<§æ}3è›\á)"²Á&9âXÒ ž1½wv¦oHHnàŠvföûÀ2ô…1-дˆo¹´Æñ:çÎÖ¹×"7¿£ŠäX`-Õ†{+<¥«;²ûý T²éJ׿Ÿ/‡y¦?0ølCgEEJZ¢Kâ¦ZÖG÷ð·ZaÎ,Kg{ë ‡Å鄹ÁRƒGo±2i£’P­¡Çt 9Ìo‰.5è•WÜ5ÉT«à‰-û]q½Õò òXZãd ŒÏ¥ö Yîë)# šÑ“&]Çkf?fr%e·œù¹´›QñèÍ2w¶7uŒS,sÈ^> jš5œeéÑÜvb|@ø@¼¿w7»Ššâ}½8KØÆ’â°z>2Iž<ƒu_¡Ÿƒ7½îV+Éiuñݧö0` Èù'oòªT–G­%²œu›¹:ï~$Öí?Lí ô±x4cV´hL¹³]ò*!» oò†ºõ ³†Ûb›Ww…ü¡ˆTŸ n`2®—–Éïuÿñ¢n}Ó5Ðc~ùN½ „}Ë8 DkiYêëàÃk_-0³PÌÖä¨õ¸ÓI¥ü…À$aåB là{Xë÷eò[V‹Q‡Ó›ï¨¿ê…øKWÚ#s¬Ìš/ý™øR/Ï¡†å•ß쉇A£@£{ÝñƒyFMÁÐÇOý?„…«+f•7„åu`H˜CÖ½°•G‡P›Ðt«2ùƤü !Q¼n,ƒ…tõƒïóbž.Þˆð¼X3-‘Ò±‚xÌ3Àö-¢$Œ/DHÓîëŸc.d±ÕV2¹Îäé"«HÞ=½_j)ùJÁ%5Å åΈ…§Ipµàë?k0²K¢ß.±Å’ó/¦ùQ'z=TT¯Ý2>Ü Ç"EÄšsxŸ1YcÎ=˜¡’ë¼}«¢µ"©ÞŸÕ&ghE”ÇÙ9Û]W¼«ÒI:Z:&œ+£~Ÿ‘Iu(úÖê8ò¼ÔÒgðc4Šl¤¤;W9úQEÅ m3ËFosFV¬õ®1j›Ó[yE–ıRý më…¢ÁRJö«;¶D¯\=ÍxéìjÁö¶D¡Úr‰k:\†ƒ¥5‹kMDˆ× µÕ¸!~Kã"›¾T^9Ksr"ÑÛÏ.x1m@¬+g¬t*C#‰ˆ.wÂ6g0ž‹»˜H—ZÍN¸{¸w-ŒŸ ]õñ‹{ÕöùôðÀ5¡ ýv>=½¸œø¶ Kfµjœö°ýãý¬ìÌPY…^ŠŽx™M¾•MÑVæ¹FÑGCÌeíä–꼞Šm! 3ƒ@ÂG‡3Ã:"¤Tªxà¼7œâµ`ÔéA¡ÊÞ¯?…ÿX†>¬f&¢r …G›ù±Ý"¹Ó¯s&pÆ«µ[˜.ô¿P·Ø,”ÙÞl*úóêPDw+ꣀØ]Û\ž‹Y6«»¹G­ÿ.ÅÛ?®§°?^Öî_?RDžŽ´qF½óA—îÒ¬|[úi#uUT%̬ò‘î§×/ÿ›•#ì%×9JF`,+õ;ã÷9»LßùœZù™Ë}}=cû¤½ ßó±Z®ë]¬NMŸâz™æ,åS°]n­,І½9 _tJ>¸ ªUÊÂ;,J8H€M©«=ºH>³w'|®u´ƒ©¸fâÎ ú¬WÓV6â•,é«Ã“ñö5)XŽ·Ø9D!ÂMƒ©ž…j`d‹_Íý¿Aí ܱ¥y·´Þ™Ú°ÂÔLÜR–¸ekG Š{€ÝëPÍ™VÌ‚ÿQ‘Õ'¼›½SÍü&zúçÈx"¯—˜ÒŽ´“~ò7ÙÛ´th@žøªmI4pþÀ”vwÙáá©Õ¥^vÀÉÉPë$¡do¨Ï§¿r%64¬É«Ü¸€ÉPºatÛ7KäG™ R=Â'c€Y¹ÌÿwÄþéò?›¥b…ýôµ¯Îôè·E6UãlKLr8C¶Þì 6¡*MeåÃKyÜ×-ß½f¹ËSñ4®[ü-/\Y^+.Éb6™òwó5•Â9óÀ£+·™l¨C^ ò¸ÕÆáÄØ‘xÂàcûÌpùž¬ÛN“‡Ÿzð‰þ±þ2uþÝr†I¸PEÓ0ø„p¡5J‚2³}(ëÕée©ñãXvk5œµJٳǧ«Ïp#­R¦í¨Š8Uü¨b÷~Ì@ ¬\ýOŽì««AèÆŠcq§`÷ð6QPXø†yQjˆ\¨îÛ†fxdútóÅl‹Ãͽ»Œé¾ÌÔîV¤õßð¯+óöî)xª’Á"°ŠbKí…?äèÆ|&£È¹I¼+igDXÈz;Ý/‘ ^§áe£ÙÙÍEcm`Ód­'ªÔGH_d_8\.:tëf§:Ów±9%Ús"‹iú¦ò ΨíçøEkƒÙ’„K©à_q¸C$AS‚M·Þ˜†|²*·×ÿ;€4Ü\rVëMØçRcþ‘(ØVQáÒ*`|p>$ò²"ÄäNZþò3ÃWCù¼Ï ƒÜRšãzë5HKrõÞî¼®2`­DŠ×–&/ù~«wÆìQ§äƒ"xÉle<§á<«…þ¢¥Í¬QÒ&¡(‰óãlß„4¯Jmî½–ãŠwßxéͽÉäK,–>¡5•ÅROÊ<9^I—ʧžÊÄ ý™|&tFƽUXe@ɲ=Žx‹àBüÿó¼èhS§džø¹Ê±¼m†hÆ]!'_-ˆ3ÉI /Ö UÀ¬?©ð G2o¬¬päÉ_%¿%wg(¬ïüûœ13ø3ú¶9įø¨g{ì¯>¥ÿÂtó娬³Kh˜l¥h$ä‰ÔÈ]Y!œ)~´^FQÖ–(T_]‘Ý¥x²p»ºê³á8ƒÚéíÓ;¹ÃY¡[Ãn6¹SòÏÕ[âù°¼nOž,¢pËõÓ>H½,¹z!,¿FªÏÚÕ¾Ï%¡æÅ{rœ~l” ½*½me[î+ñ—Pö´5Ьs„Ž8Ï­µâ ±–é0–ƒ=³<èrb/º9àq='äá·=,8Iܲ(ž8ÕEw×ÁÕôÓ^¯»Û›Œ\uêt­FFfç/¹´\žëœ½ª ­da €€-€d×6ÿÄŠ4ÇuņԆe®ö\4eÚ‘ÀÅ™Íýñ}3œÉ—Å‹Æ mp"¸Ÿe/ YGÎÚ\ 륫Tt¢€ñ}Ú®ó{á¯8ñfëψÉ#¡x‡úœÐÚ‡ô†÷Ǭg-\E4ŒÖVÙ‰Êé¨Lgî2Ž''ó>몊÷"]žùL_ ,S¨ÞOÅ´ö\t×:;¬îI;Gß ÏˆÅ¬åvíW©Ñ×§“‡ù»JV{¾^뢬wÁÂß›ÿà3ä¥hmöŒ3×}RœÌ‹6i:…”šÎhßðx˜õH¥‡<¶ÏÊÌè†=sÿàÁåJ\vЧ|½äí|¥|9¾‘b ¼px„©| Ì9¬èž÷¾ák†K—ÄГ‹‰°‚~oÀ>‘X(ÆëÃÛ À†‡UÕiï¸&8ugr\&3ôsýAÐóÁ:¹ÕôæWõ‘êçìïó[ÇsÍÍÉýc‘I{”žš±å]ÎJ`dëd÷Ú»¤«Rúõ›n'2?ž^^î¿^JòDÈ8Ò9@N¹)ŸoJÕ"Û"ÖCp¾³ÈéÌ5¹Óô²ªu¿~8gˆSF ¶\ˆ'zþ½G7Uº°ðÎÁjÚ£Nµ·€|åÎñ Ó¯V´/2ÓѾ±}íÿè›ÜÿöŸaÿöŸaÿ†™BaVSºƒ{ù£6¸«tÿ¢« 0âT›ÝFÄWml€]m¯ýZNÇÆȸ\†ª»'!®Ã€ýïÏ¡ö/í8“zF0µ!D[äý—vˆ°7Ÿ}0'yQFèèž*!7;ó¿6’ ¾§OþæMcéèç’¥Àl”ÿ'Uþ_®K'Ç vŸö¥l»ÀqÌÕ3t_e½÷·(V^ÖVbgçæÜ'‚¬`ÏÀµ¥ª!ï?yòD•‘î+ÑTCCã]Ò¸SÄTãþ2¬$÷ºHª”‹î»$/éæOÉ·jíï4TN-ðXXYaÞ #ÞÄÅÔ™Uò•–kÕpxÍä^'Úœl•îR.þÿæC÷ÿr'ŽÂJËqê¬Qçéhk×4Ô@=xüâ¿·Nð [ZÉ[°4Hàllxœ˜eXñ·ÇAY””éIéN É¥–R)énDº{A‘Fº»»V…»èÕÿ½oî‹;ϳ3»3óÌïì9ßÏ9ßÝOŠò’X÷ÝK굸2 ° ßAØGƒ°<sZxœì»UTU_ü/ºéNéIéîî–.énéîPi¥C@R‘î¤CbÒÝHÞ¹ÿqƸ÷ížqžƒØ¬½öZs~ãkÍ«®*‡…N†@°ä¥5!xDÎlaZÚ`=$´QÁWªU øÍUþB5 û&ÜsF¹h5[xœí{gTS]Û&, TéHWé½Ih@Pª„ö *Š!Ò{‡D ¬ ½'tNbè¡—o盵fÍß™Y3¿Þ¬EˆÉ>çì}ïë¾Ê!¾56Ôbdàd ££cÔÑÖ0¥£;qŠŽîèYzðέ±ðë”ïó³àröÉðïsOµ­}éèx¿Ó~þ÷ø«‚79ü4ù™y»ú:ú¸ÐŠ»Ãa¾ÎŽO]Ľ}ÜÒ–•9éè®ÑéhÜ7žN 1ŸËi9^y"%=ÌvËñ\Ú9¶ï‚8Œ¦è»bÍ/ÑÄsŠ“hÅȨ½×>Žr8¾5‚ð:tÇx\ºTûøôØÛ0Ûõrú³°ÿ;õ]3'ùÔ™8._üy±·{ŸÚv~¾#eAy¡Ã§q!(Ó7®“Ý,©‘ð‚;AG—M½tL7ü\/þ= >»w |píÄ?à-Úûoî'kàéÆEðtéw˜)TõïÆnõão'ð{¤²ÒòrÏ’_tt«Il%Âf…ÐæF¯»Àw§_Âí˜Õžê±2Ó}%¶•Z”  ì” 21šmÞ_Ä#'‚Š ¢éé¦`î„rk1ËpLjjj²'Ý¿è‰tU÷«þB25µôÿCÛŠ_ÿÐ5ÞSÍ2 Àá1ek˜ª°CÄÜÜœ]’‹æž´çZg†Ò¶‡Ýêéázÿ²èèh¿~ùÖ%¿šÿFKA£ÌÁÿñœ ‡N6†¶µ¶šhj¾R=ÚqÞ=<" .C΂¥÷”;·Ä¹o/f¾à5\YÀ {™¼‰a}úôÈgÇH]== ‚JM4‘i¦'ÛÞ0âI=eô=µ\¬=}ÌÝßB|||Øìœ<,Í]ß²¹¸Û|>&ƒ@h ÒÚ¾ÙËï´7 øN † Y•Ï­LiÌ?È|¯­)´Å3r(Ñi³Wš¹òžøêt9ÓpÝpÝîäÔÞÐÑ`P_ÆddËÒôíøy¨8ª?*-í•CÏëßwƒÑÊÖ=Tð¯nÞ xl üÎÎØöÉÝØŠÀ…—––æ.FiýïÅ j ø ¿þ{‰Š‰¶#"ÃÓÑÑÁ#Àááá…þ÷f—¸8ØnFC¶sàâ‚íÿ?vPGj]v®4i';n;Ç~E4"γóņƒÄxm¾ðý­:3ŠõœˆYèjûõJocçÃa(snLŒ­¦§§G¢«˜–µ¥¥ådFÏt­¢¦£|FÃÔTÌl„ëóè|»?ߟ?j½ögY˜6¦É«©É_-“{æ&%a;.6`±èVv­õFß©\Ï×;ƒ'%’óõX×k,#hi¥\d.Ô¡¨¨¨ý;éB¸Y Ç©~×þéóç?â«çÅÏLL„^îÏ™nþû÷¯¬¦fðñáÎmëWVw56Ví£÷c TÏ¿OOO£Ù³Ö–³ÆEöýzϬ>HC:„æÁ°Í÷T‡õi”ÚV8G- Á°Xjr“¬˜‰»;î4åÏcaö“(ln~ãwpêÛ—-àÑÇRÓFwàÝ“œLÌ¢WÝvp¦Ââ{½ì¹àˆm0—Æ¢W[ËÁé¼Äï¶ã7?¯Ïésd41?¿ÃH$—QVNWRz†AÌFðæÍ‹µžÈ cvÚŽÏ££Ÿxô´þU·ê2¥)~ÈÈ`,,*ŠÔ,'û7¬V¼]ªšÃüx¿-fªýÄmý8øéN§\OJ*B³·¿Ïnÿÿ-ø)h×-(¨ƒ¤+oý…ƒ‹ 1uàÅè!ذ&––^=žetÆpZ ¶.‹Êó;toº£E÷ÒR`GßüMQë‹#d‘VQItå§h!çs& çuÄò>ÀµËÆ“D˜ž~î}0ﶲɟ£ºæÊÿåÚiª­«k’Ã7…“1ÂÃÝ0nõŽMOO(ÿäsºÞt7ù¦ÎK¿¹=RÕm¸ÆÎѱ/ž½Ã÷Íæ¥ˆÁJ‹‹¢¢¢º‰IÒábãF/ŽX[1—¿cD—Ço‘è†^»?-^ûêFF Ô;rã¶Ü¾k‘Ä'=ìFµÔló\‹þŒ¯¬$íN•Ò30 3§ý<þ7Uªf9üñ…ïaýœº¦f{Ç |©Z^”dA×”šë¨Þ›7±‘Äërb·x?GF¾9/ RˆQTèV ºäÜîÝQéVD²wÞŸB—?£¢Ja͵®ÔÿØEC]Ýuømðã¿mý:ëDè•ÒŸè´·"‚ͩǎµïLýy(ÜÿŽ4M¿5ÙÝŸ­6Ž~Ø7 šÊõ?8ö‡JYY=§ò?àÔEÔv½âŸ¡ÃØÂ ²]6cß)Áœ†n_/h¶ˆ!ŠGòØ“ÑÕ%º:†&ÏÎÎæo^-;g ¿Ã%®LÜhÞ9>ïOò(«¬”åÐùûÚØ¤v³uù(¿æP¤Ý%ðìì Öß¡ÉgNÛÐü/_} | ²ôë§Ð§èäÏЭ²‰d›|OÆ>Ë‘8b÷¸ T²&&T‚BBxääñ2ñDp'¼­¢ãRd‰ò**—‚A[Y6'wÇ–…2êåÚŸ»£p¨“ ›‘ÒÒÒ&Ì™øc¹¹¹ÁÐSKMd³1VTïÓÒÒ#SS R32è…„Ègff2¹Þ¢ONMÁA\Ú/‰ÒY £@yBºF:ýhh°˜ú¢"1§¤¡¦‘?µû>++6øñ<Ú)èîR®UŠÜ®9óÙ¥#6öãúé uÆ—]OÁû#ŸÎÞO<êp›Q— ðƒƒƒõ’©]Dì¦çä'Kü”ZŽ`$èLPÂ.Ó§[½¾þ~‰*]zÂÅF—A¡ã¶ð¼û¿Œ7;Eɸää,‡¯ÐÑÑß§¤ TéÆkÉš/·xi6wܱåÝÚ ?Þl€ºÁé'6 5í…Š…%#+‹üx3(†l¬Æ•…‰#|±°°p]ï‹Í?¯|S‡ :ܾ~hd¤ VÉ®šð)âli2ÒýUc§ŒŒ ’¤”Ô7÷MEH{[Èß¿Vå•°d°Ë#c"#Pù®Âu®Î}žÚíƒuŠyoT·×Ú9* !ˆ ýz{ÂÇèå·oßø½ôǹ/JÅhÁ$íëÉÜ€"0…tÕýßÎ ^qYé^S ¾}9&H¦ÆÓuÛ0Ig è¼ég?y86õ[úó†jÜÜÜ«€bºA–#ÚÓòò=‹=…‡£à–•¡þ½{¯Òݸƒ>‰®¼ÛÎ9ŸÍ‰¢Š” ÝÙ±í)@Îfw©7øôàç8_+±Wèèà õî@•HÜÆ`òµ¡³¹9mƒÓbèD|PW;GG×|M2Ð}ˆõzMðCÀUX@=»æÞ»r\#Y€ Yá—/²;ž‚§ …L¸yyãøV|¥v.ý4´´è#p×lò¡·³Åoo:ô:¶ƒ¯êòbQ¨Ôýq‚oÂ˜ÛýiÄF Ò-±¯ÂGlšºàxä“Ëã0‹ßOGFFÖú!rÆþ ¬Ý¿‘‰XUCW—áìü<w…íÐr!g~>¤¾ÂT  ¯,6Axþ<È{º÷Ùì<Ò@8W$Yƒ+ÐIÒ@Äáö´.Ÿ°¶65ég‹ š-È%QàÁj•–™™ù¿3này·œöÃ/6ªí1­øƒugg÷3¯¾$ªÛÞôK·Õ.¸ÎÛ¦eçS€ò*3Ì'ÕÇÃÛ_޹` {:•÷HðòåKýZ3¸£Î§ ¶»£Ö \€Ž N"ÞŽ¤K”N™ÿú@"äýªãfÃ.w8…q—žž? ‰´GÍÛT¿>ñ`€¬õD{QÏ;‚þ[<®×¯A¹ÕÚNÐíîxÏ|Õ!è$œšFX˜èÅ÷ÃVp—_+*Âû-$¬­¿@/~ýú•/epŠªót¯¢Æb¾ÖÜ÷àÛàûœœÄkhðSálø‚£¬²²òø6ðãããHYU•L@À½LÚB†fy„jiow8 8éûϟ㇆†òÏ«[‰€Ò`Èhä¤ï™š¬ 2V”{>¾PÊŸÛ?T÷ ;á·È5 ‡Ž«ú@æsÕÆ“÷º„O—¦O‘0 •)üŽ‹ˆÝ$FŸ¯î€ÞêkrÛ8¹ÙH† (Ø ²UKM1d\ÌÍÍa£HÓÓãÝé¶ØÓ‚K.ˆ$-ØAïd‰RÉìç˜v—£z‡øÚúWW™FÑÉ’Çï5˜õ¨¬ðQÍâBL÷~d3SȇíƧOŸ8f_EDDȳªäݾtwwŸž5S¡GÏÅ…/öxšŒGI™xxì/¯¬Ü7H0<‚Ò¦ÒÒÝÑK•Œ C‡a9`É™ðèë_ÙZönv€=_AÌ@¨j‘´ôô¢ é(DHDDD !ÓÓÚÚ::íí”Èápd‰ÈNNN$¼Ž™?[XÙ¢jtæÌ8ºl¹%R$Š&äYûA“©3’®/ÏXÉ!ÜdX•º,‚‚‚ã““ðáݸµUº,U,áÝ4õö˜Qhˆ<<<@ ¨äfedDyûöíC‡lvéqYu56H[²Ø#ÿ÷ïߊÜÛ³ïd¨HHHȯ \eä~ ²â*W €€‚ñ}y›ØÃ®šfžºŽ¡»‡ûh é ~ç®æ3w`ñH^['˜š5ûí²²±a[× ìx°²²N&  Ì@¬Ã°Úyä%H) º³ ¤”Pôñª1ÈTÏÐ0@°›Ø5ÏÈØØ•¿Xo4NÆ#/Y¢Déåc(*í8°U77¾÷—5Á‡>KR**X Ê™4"é ƒÜv“25#f~sûé†Î"Flz]`8™ün…ü@Ô ùØñ÷mÐ匞ïNA4‡ÝäóòÏC‡ÞR )滓%úß, ÇíRé¯ÞÀÓœ´#l?Qå7"ùv‚ÉM]Z‚Å·*¢Ÿ)èÅ ;ñ¡²¿VÅÌd–2v4ý„è(·ƒyNål~]±_{W\CEA£ ª€¤Í…†f*3¤`+ãòa­¯¯Ã ÀÛÎõ¶RǹÅÈv9¹ÞM÷´ØØXH›Ð(vÅuô¶G‡–^@Í¨Ò [<ñÎŒ%4˜sÀÄÂýX/Рh]þÒ /WëçL0|U|}›¦©ƒE;(³gìelm˸—íë_âþú•¹Ó®}n$2Rh¾ÑíÕîp`¶¥ ¯.g9…ÁÞv"9î~[ýÔ± -ÓË—Ý¥yAqŒ¹¾ðŠ%øJlX·A·¹¹º::›–XWÍÙÇ($'Ÿ¡÷_ Ûþì­ÇóaJo2º¡)ëééõJ_.» „vüþqLSˆñÍ Ê÷bBîð-±ŽŽNРç8P½Ž¼–wW‡šJšžžÜ¼Žó«zà,„_T>#wÝý»¢êò,˜êIµ®Ù ë]C½a@gxñ)‡ZXE%¥©©ˆ]þ޼ŸñÈÈâÞ¿2'@ 3âÞÞ·‰§šåÚ€ñÊÊË»—‘!òªªEr´âïÞ5_ø£a`ÀT :°f%ôî@€ ÈJËÈŸù,X×I”k'NzyyÉ‘¥,±íº^Q=wgo¯¥:øu8¾ŠlIh_Ÿ´t @~0lÿ+GÈ ýüؘênÌ—ÊJe²!8_>uïVJ¢x¿€ýªÆõd±«ÅqcG|Ä9Ó`J—ÎÞ¸¸8¤Îæ÷°ž÷ÞðBIùÄĠǶF¨pUºiŠ/(q¨E)–ž*¨ ¢œ'J ÀerµñêÊû`¡N΀ø ȃՓµÞ ¹C aø Ã߈DH j)Ç¥&¼` ÐîMŽ…4Óf Õ+r}ñÄìÀ—½8ô•’’z0 ²ËŽmi¤ñ#ñ91 T‡‡Æñ¶â¯Ï|8 mRJJ—ºk`‡9=¶”!+ÇÊÇ-è´µÞ‡å<…_¿¢Â25·LÑÔ4绳¿ù#¹šA¦i"¿Â´vVVVL|<nSîm TVC¬vŸù\®üEAšSTzFØ;H_[˦zlýêþf9XL39?ópw}÷Ðqu¸È˜6uwŽÕ଩¥…ÐÑÛ1›dµ$ût‹ˆi7a?L•)úñƒ{znf·€¶E„X½}+Á‚tÏÓŒ+ ØÖÐ_¿”f SPPúùóãVlrrô„mªŽ–¦& G£¢Ÿ?nö+“Ss¹§§GÝØ8T¯ÒbÏÅ…çŽgKÈþ¸´œœ rx7{ÌÝÊvÚ³UïÖ‰ññ@ûôÂÂÂf"7aIÊ á#›=`Ì@v½ÏÎÆl7ÁÉRÞš£$¦¦¦æ&0~Àÿ&Ž>Wc,ÊìX?˜¶t@@ ï ÍgÀrrr®ï›>µˆµbýÎ]6¾æ Ôƒë LÌË(*Æ5mçúKÛÛV"·G¨¬öúßždLˆPC§À!ǹæÝ ¤!pÏÃ%–¯—éøøôî‹$’ôEÁX$‹&b0ˆb*+_ÙÑŒÜÿ;—šÖÍ2jjÉ™œ–Q7¹YY{½ã#¼ôïxܯéd›¶¯º(4ÞzÇÝÑ3çFCT·5pf_©OÊ ÒÒ^€B¢ïéííò­ŽG”:à$”ƒ“Žž^ê•~­¸ò'n¿`¹d*BZZZؘ–¼æŒ×Wü Ü+ö!/\Ÿe²ÃQë±(ÐîÒ ±`šCr …£©üä+MÚ €Íq ¾3Ü}üã°A> )€IZÐ4Æ_µ€Pè²ù˜›Ë–6ã£nnX#Ó9¨€e‰^éÓ€)øn¦éoÇÅÇG¼^öÉó=n¿îè95tþE¿Á1 XñÉ{‹Ÿ©/-®,€ç¦{õ 懀FG!œƒItP(>f ¬øÌâï&ï6 ñHI_ dN¢ ÃbB.õQäv§¨°®N«¯¿?ö¥Ö—˜hê } pDz¬¸`½X^Ùùôp,Y¢ ”ÔŸíbR –#¡ã6-[ào¸v›éãááÑ‚ŽcÿŠˆÍˆÉS0‡»¬¶¶V½L›ù´ 'GôFü`þ›ûæu Å\+AwN²²Žm$ø2âIµùI€È}™ûÜî­¸ˆÔ¸È:[eè3<'Ò”ŽþVÒh mŒ†vŽÐc¿6ßÓõÏŸ?}zŸ——|r⪜+¼P󯾴ŰÑðÊÖXN|C/p»L#ô“——ï%ñ­qÔQWùò…ü'»ç"tÏ tBÙLJ4KtÖkE•iJJJ&66Yoo^III(wÀ8Def’€®ì=Î^º¿å„ DùÐÈH8èµ{ظzƒD™x"óg›°bMv&€¿™mì€)$[îOùûÕ……ðýýýò ÝU+Ì*>ÍF°kË j¹˜Uº‹Ç-ÇGG² hÀiDΆÁ6pkÝ!ÿ…„445ÃÍöõõѰ³«íý]ÎñÇ¥¢JðØ‚z˜À°â"…©ÈÉIM[n2PƒË5/ÛÊÊPÈÌ lIý:22;ÀªÎŽÃ? ¸yx¦yÉÑ10DS€e-.-¥gfFÚ‹‰•õ°Ñ°¬©‰Lã|ÿ#Œ²Àæp^j yl—_\ŒÌL‰ Ši=î _[[ãwö\5Wv=-þÿv5—ˆ( œK9‹Kæ–íV4EŠÓºœ¢©_¥ ¶÷»P¢Ñ¤‡§§çjuëQ.< 6ÅI…¡¯/?PëÉééDŽË-„™|.TØTÂ1†ÎÍ2c©azlW¾¸L™BÀ`}Іäx†Ðçh ­Ý$ùÝùÖZW(B&‡y˜¶3,¸a0¼deÅ*’Kˆgï`òÂÍ!÷YöÒë*Oö<Æ¥,G(<‰“TÀý9ƒÊ'nÔú³½q <€ËÅÕãûþþB i Ô™V=?|ø \³óF®ÿLÕ0‹3J:ÐÛ‹eﵺ‚e~¶o‘«`¬oaÜLD•,’óWóÝ÷%ìBJÁÜ~‰–×ÎÈnÌåþŽ7<¬ë‚J¹±Sa–@ãš§`?8¤´»ûw`$IN6'Wßù í<\lTª à>©~‹ÑÉL¡¨ÍL¨[c’˜Â¨VXU…<>7UÐÍšCÃ=ÚU`”¡|ì½Ë‚>‡™ãVoó˽™¹¿ ° ªÀŒ[À&/hœN‚/^6¿¢B‰Œ‘€ŠŠ­ž`r4:t•L^I)¥…¥ú-ÉIóõŠÍ?.ÞÎÛ™š{ä×X €0þþý» º£ÍáfE!¥¦“£.=h; Î­[~Úô1à^6rR›ÝCæÍ µ4›‹°‚ `|¯{‚ßjFÃfðô @YD Ùßd¶óÈWù¾ ñ6e÷*™lŒ7¹x0;ówZÍ—Óçu7ö½¢e3Búƒ\†ƒ×Z½ìšß‹$\%G·=¹ ¡‘Üz(MEp_höxãF!î©r ' 9ª{ò{<Æ{<7öG‡ˆo#Ù<‡T8„4z@°f¥ü{‘Â(U0ÂG‹2zÉá§ÝÅ=®‚/ÔóÍÈhZžKB¨|¥BFø—B¦šÆD¯P]\\ 1v,æ—ºˆ^מ ï·®ÁKø¯¦YØáÞxßÚ7ó!E3Á…ã3·M|lÅÊ áÃlYÁ5óBXY îÁòµÚ6ÀÙ÷F8ªpnÇíÚ}XEæg ½FίPC†p‘¸“r+"Y‘^ ³þ Œˆ²Åû:%^¡)Y’*…½ Â´*[’þÓÕë7¢­è7j'ÂÁw™~ih¨ùƒXShþ>|ÿ˜;ÛËJY>3¯v÷¢z×B7N[ÉXŒ©ÿ*rQ¢}{M„ã­S=„EúSì‡Âï.­»zà=ðò4#šå¸øøaCCòÏoaä!ü“JÑ? IN„ 4e‰æðT ò‡•… ßLg¸ø¨ìeúNV}¦‹G¶O}ǧ¦*fâ¼ iZ.'ÖöÂl]Bª:°sªª`õ¡¦†ƒÐí¥Øpv‰>:«Òå?zÀÒì†eœÝJ#(“Qò**2Ÿ<ÜÀ¹"%×|¶Ù[x#páøPZ ôÞ¼ÎR~8`Æ—ìÚ8íÚtï¶®+¨«{¤¬­““Œ #À=#6â%çk¤cU…¹YÐ󧻥y=-7þÛF5ΟL/ eâáLÕAÖG6çWg"ß“–Pa>ºø)„zIäQ,A®ÉCoÓ4ÿ¯‹ËðD÷acƒ€˜¸Ï°»¿€ð/¯Gë)¢Ò>x´.Ÿø »¶.OB;ÞíÜ®»òß³±зÚÁÃaeçææbPa݇±#^<çòÎOXyÐ/”õòwˆ®Ÿ‘\d`ÍëZös´ã÷C•ÑIÞ8ívo§-óÏIúe¢ÇObÆà ñ‘­dr¬-ê]ëΔç¡B Õtrfc™šÛgç7­XNì¤:Í•³žâU é¶âoõc~9ævÄN?WU.fϨ=póçæYÅ㟠ÇS^½íï]bƒ¯ «¦¥­'§Ý.B™I‚K».Ö+Ŧ]’±02åPi«~¯ß Y}AG >_|qFšºH=•¸1ô~8ww¬áNma*º^k¯uw¿õïv#äÍIU¼§(ëÑ2$Ó˜7ëüë^Á*r#÷ŽXU$=,\¢§«Œœ¡²¬'É€XmÜŠ\yã,Љ8]‡žšž^X^Žvw}ÜY<‡¼XÆc°\Öp‘?s4 ¦êU0¼µ¬.° /dï4oâ>uL`åæWûíg;K넽,™Ôq‹êê.Rá”TpmÅåæÌKéÅÑ ôƒjksw·PîÅ%ýàÄãÝú&©Qì²M. g·Â‚ߨóô!ÇÎv}ç)=ß,$^q½¤9ŽéÿíAòk–Ánü!Oé[Ûhäú …›ßånìTy—È“§Õ _©âÄ}36Ñ‚0ÙÖöz5àc7v 0³ÌæÉÖ— @\¿.Gòáxåçw'ѳnß2@vT <Ê>xéz·Œïä÷¬Û8–ž¥k­¬õܾÖå_ •˪QMê‹Cú¦^Ïß\ùÌkYDbΰh&ñR‡—ÂÖ]1/#ïu5ñ£7÷¼Æ¸™\ür¢n+ùÓ+±Æ©» O¾O¿ƒfm^‰Ø64»µôFÖ—¶–Ü^–þ™ ÿÍÒò°Ò:Åz2¸îM0íŸaç–üÞ8e4±fLÿt†´‚ÛEEGõR ºùÇhìmÝqû ý{S—A0¦BciÐÃ3ÄÊód! g8Ãä.ê¸ßU௘šW÷úÅꄆ,Ó&W[*y¨©qøª¦ŽN$ìîKI 0¨–zÆ /4Ô±°°€xL§ÒÓÑé6ã0»Ø™È0ÞêTõ1ï%eQõizo«m¡\LFË,°U]jY# «t>xôƒ—Ôv'àpÝî´Ç«Ò¢ÐŽìeUÙËÞs•а”zkƒÃðkju#ÅXŸ÷ji×KIŽô´¢‡H?;7ÄúÖØ‹÷•at¶¹A¶­‡…vY+YÒGkÆG÷bÕä.ÃhÁ“ÑWô)c<­Ä|ê »=׌7| Á6Ž$&ó3 E¬ª ‰Ú9ô9¾WºÏ”?uU懖쓫ÿóe†'9ýüi?,„õÁ@€!Ð(’?ßÍÉdi9áAéã ônq|÷bµ÷Yɳòîù!Ô€7 ‰ÑŽ]¿|)ã~yÿRߨ²¤E8¹C8äŸÝ‹C%Ñv?(«_»ÛP™×pŠÐMr©rœ{öÁ\iÚE1›ˆ rˆuÙÜ÷ç 3ËÑSÕTÔ¾úä_q“J"¢s¹*¬ýßúV‡Ý`bµé^ëÃ*ÖÜŒX´öGÆzÑsÖ²ÑÏT|Û›°¢?帾CÁu¬øfqX¸–™A2ߺ††‘îÄkô‘ ´›¯•6“Ia¢á2SY£-ÊŠàthÞ¶,bÛl)hºi™LŠ ™ÖÞpFW|{§Óé²Ù~¯Bø²Gµâu|ú锋ºœžÊ$@?/Â4ÈÑv³s­œ‰­ 4ˆ8ÎÞŸÍlùJöVI«¶b,*\;¢|@Öýö´|@ÀdØ‹¬ú‹{}ñó/&'º×F”ÅzÕ.!5@Š®õF—,v?»Œ ÿÑØXT[˱Z¶~sº̬¼ªjÇÁ÷9Ïyúayœó£÷&bóØ9šQ¬×ŒˆuMu÷Ý àiû)ƒpg)ôzÿ±ô¿´Óä3¶Gªa®ÂAzß“Å&Rõá·LöžfªaOõsõh¹D‘Ç+øÈr4Ûömþ•Ï ¤äQ¦ wÇ ÈW:õÅÛ+XÙú¢™ ônvR¹žG0i€.ßAåQõiáXãb³0•5FEÀ®¦äLúä⌹": ’DO+ç¢Ôu&B‘‹èš¥ç°÷âÑí+Ƶ§ Èü]¢0ôdé_A€îD"§÷#!þbƒ6„Ë7kÒOfS‡g«ODõ´/´#ñï(¼‚}”è…‘¡?¹zÖˆš6{_Fh­ó·µBE'?˜ôûŒ[#ÅBÏõOêt²¹w¿f©R^“º“žìVù–äóÐàz6 ß<6Èx© [÷탧Ys!ôu•F=úÚ Èˆ4ÈçªUªV!›)›”¢¤U|”‡F­cî_…uý%ºko~ÑLι’ÈÏQÅ*SÐ(zè.K+µ;IÀdÕ|äÔßéâÐs…‚?vG**ÈL8›„°:]RñÃBÒÝäïD +y,-ÚÎQšÐ.‹oùùù4ùñ5••˜~íT¤¤¤zYžçfpÒ)´ø~ø®»p÷fç.%ecûz²:ëÑž¶wçÅvÀ›ÁÜROooMÙa& $dÙ‹wÞ1¨©Mli%‚¨•<úSûhïÝ/ï¥4÷Çn7^>#ªÐí¼Õî¤ï5 ¾¨yxfŒ„´FÙÊÅBcnƬ{æ Z·7íÌË˱¸¨[éÅWIÐSOÈyzž×þËyÌJ8__‰d~Þ Ä,Á|½þ•2©Ôý—;Mc“‰ÜÁœ«½!œÒx¥VúþÖäÅŸàÉ¿õµ PDÄTŸ¦â·ö\¿ŽƒÛwS¹”“fngÇÌÖSùs´óv{½øç |3¾èâ_’$ûKò5ž]7>'ãôMýŸe}ãÙÈŒ3Ãñµ‹®õ q¶ó£.½T¿àë 5¯µ5ez«“ºÑ„9… h‡È›ä{?!?ጕèáÀëÓlæ†K¤VE¶ Íò¾Ò×.+Âv˜Ã}±Ï8Á«]Ì,ö\ù)€<íX?Û¹u×B Ü~°Ôüì3¯“¤††Fçy}CÃúßáHÈ3FÕüª*V³Üïß¹¸yyá!ŠJJßï¼qDDžjE¨p€…„m‚ùVITýWD¢7èÐ…’ àí ¤¢ÙìMÚMpR†Sv—4¬äåQ•žIJÕüô)ütªŠóQJ'¿´?•ŸÕägb׆¥ä‘x£‘Ç£Öb€ñ:-óSŽ~Œ"¶OVSÕà]“_˜}Æ—<µBÈ?Õ¹!ïCÿTS='M­å_âDì#ê~ü‰9ïê"œÛÊC!¶<†ôT™6@tÓ‰‚CÀ%^sð@Et¹ø53¤a®­»0îÁŸÔö^•LÔT˜¢ˆ>ÙÀI„jÒY‡Õsûê\óâ+6@`þeø@è×*9ñÒԻȊø‡J¿EèN+µnÁÂÑ@›t»©Þe‘ä·¯•lÉ]Ÿ´Œo¬¿h4<ùH‡R%‡° ©GR1©™-"Òx-_X«ãZ1 êLíC«](’»ÍB†­$õõW° ã““a÷÷°eB>G3öX‚yƒææ´— ™ñïªÙü´£uÛª+íä99Û,7º»ÃQ4ttºü¿ÀîûÖü ‘ωd5l0šzk¢æüGÜu½mzvVQ®vá·éOòÏ£QS¥j°‹%***“Ý–®óß‚L}n/ìvm½‹¾~E—-«ªªÒœÄþâãaZ;ñðxsí+rÁAx¶ŒšöÝCîï„ "…ی׵™oÞ\‘zß!Wžݲ÷ ͵Åä—Ìm^M½.·€!q© ¥è×]¬ÈNo»¯òïA*ÊeNr“f?! óÓ!Þu|ˆ ÅNå Z¾š’Ôg² vuH|IŦ÷Q#·~É…ÃX£æ-óÛï!Ýù…ypù•sfë (“=Ú;‹e\Ì’‰ØÑ>'¿;…r“4~âyR^_nx ó @Û_`zà{! ¾Vf¶ÊÔöÝ0êáAO¸ ýz w ¡%QšÚ]–^´¼ZÏxcS–:¼*|÷ï'sŠEƒødÙ“~Ì5p ¹¦¾žvK@W—ȹõvËLp¹Ù¹AéÁ‰ZØ×ÍÍ ¸+¦—/%LL¨’©ƒW¸[½»×\»¬ÏWÞr‘&ÈÒÿüùó6p9²!%°140ƒôÀ%M12ëµ rêkmä·+?,QÁ°»˜¶õ+Xõ;*O¬¬¬ü®«mfÂÂÂBïƒyŒt ‹‹ŸmºgŽZ?î{‡ÿ _ÝÀàϱeÝBl]ä}ffL £€éîî.lM›t_s·ºn!¨Dõrm˜Íõôüq Q® »x8aËÀðn¥òRÆÈˆ›Z3R24* 9Œ]DD„‰2è û`}bb"‰Xl!*F½Abu5[“›•Òþ¶ûåâP†`&õ²}O1¡ŽïN¼ßR–EW96±³Ú¤¥u¶Ø(Ú`Ð'©™p ë8ý:8'c~¹òˆò¯ÄrÔSø|ÙádÐ ´Žžv2khѰܕãpê:3ï{½HæV9aió'Ø'h53´ã/×jU3gÓÓ¹…³·™E2_ú^“a¿‰°2’Úòò’ªxxÿj&®§1ªèú¦ËÄG^D7=^ñ÷æ(]V™ºº7šñÕ$ž+àÀ``0¼ sDÞà q”ÓfÀÑ+Ûß4Qb|¼¼1ø '62ÛU´O~rÑÄ<‚yCË©KQÍ‘†ŸÖPH°57²¯sI©£¬Q˜'ÿ]d­1ßo‹ ‰ šK\q`%ýà?ícx=voÈüC‘t}E4qÎfpõëcŸñ"„ßÇö²?TC¡G.½OÃüÊ5]>ƒYµ¾Æ”¹äQX6•¨SL®¦-p÷„ÕÇØ?Ìu²°µÆ¢¾±•¢°9§ÿlâAŒ¥U¬dÞïibâáÕ[4Û?…Jó20M°q™#¼ê]z(F‡®,Åá‹N‡>}ÚjG·>´9LŸšRQ§ÜX}§›ÖװDzîßwuH@†‘µ·wˆ}²\~ÓDßö4€ÚqûµºP1`š*ƒ=tL´Ó$@TLLLÕè¡‘‘6þÙ¼†^¦4ňÈÈ‚oßð>|ø ^1ûf"¨5¨’¨I.Pg‚-θ½õãÏÙ†×õólp\«¬|Õù¯Ñi9e8âêÊ{ÈŠKZN®XPC££‘Ýf]Ã)Œ¦¦8 Õ23I(…ˆ¬ë`÷3m]\䔕1ñŸ=ÓÐÖFL” ßÚ²...†£ù/–­ßyÉ?*nìÙt jÖƒ'¯¬ÜVxØÞúÒõÀ[H›9Ù…m õ¥ìF7ñ4á²Añot/\â€j¡:ÓØâÛq“DY„è^ÿiØ-Úôô®ó†ÅÅÅ`>ÍÛ káAfò8EàÚº\çzäddD“¾¶6›,VÐLÉÁ…= [™ Zô>, »S¥½§4 쬴f$·žÅ%%--·aûùbßO?õÓÝûõb)RèŒ0,äž×r‰–x™ò©*# ½ÿg«Åš+†¶g ÇäߜNJ—†âg,ôr°¨ÖD¾šèXøiôn2lñã*×äS¹›¹¯Ë#Gf•Ȧ^ÁΚt9©Àl~_üÂC²~^N¾ÔéÇçKdEÝDŒ¢lõ«O£‰Ý 7rÚxHÞ¢ïC¶ëz'öNVåãèU˜uÜIãr ¦Ã#C‚ûV¶í},¤6—Uæ4êÜзÇÂQ^>oá÷49å'Ã9ßNPC‹l’eMˆ ¶‘)ú9~`n@ ’ÍÄãM+<ö{™¿œ[yMÍɧ‘,c·’”ªªÇˆÒ¹ÔhòråžzÖ+±,PŽÒE³“á§öÁü _¡9/‘ïóÚP*ë_KX7‘AIì"L^„ÐööfÉ&ìΞî0ÑËfjó[îv?ýJ¸3QfËïÂXØöþü‰21ÃÞøü ~À*‡ä?:y2QQSÆ9ñ¬h½L‘Ò¹.vµ%äÚÍ“DnËÜ83 û£kÙ[¨ j€6±Ȧø:xo —þ7Ò:°g€ð"À`3u_ÅôÙt6U»H%ßåŽÿbûÞÍšÛä3i¢kÕµÐÅéy“=⢃𑢓1:o·8ót<é‡ËzX‰I|ÿÜ}l/5vÊÉÉ Ba-))­ð©|SgÆ•UüåþÜÎÉ «%±mQ¬µýÉ!ܶþOÈu©nÅšw+‚ɶ+?l!ÁB’ÞH6§%2>àCC  §¢õè§H­/)À.¿29Šä’eut5µ´`waA +dlµçx6eò:‘}QÎ Ó*U5v¥\ÚqþIßl´â¢ÕÚo“5pF÷]$ѽ´/lšŽ®ûE µÊ çwîÿðºÍÞ÷H¸´³£TÌØ—y­Y1ƒÚüî ½;˜­(gaØZ²¹ð!#')¼ÿôäwžˆ3¾Éñùw0ç§Ç8?—¶1ŸþzN2å8´%ÜÒTßò<­Á­{²ùr»7S¿sÞüò}6äŠ,g ýD eñ·ÿ4u¥2$fæîø}˜s å|˜•HîütŒ›Y'ƒ½dÔ‹,ÙWØŽ^¤”.þ9<þÅ¦W¤N¶ù 2í»z´¥ºÚ|¾Ü½å~ ¼ݧS,íb‘Hƒ;îêê0_#@Øb¼é© žßóìjÜÊ­p¶ø#†™T±å÷§ÜÏ…Ö—³ƒæmÝ̵wºž‰íBxu 95’¥‹ž¾pL”õ<0ÊejA;9ÛEýÃU;9¹;æâjÆôÝä¾S=µwb±oÊ"&lî,Ïø°~.½sþðgqqâÏŸ8«€·1ɽ×t¹[—W޽¿__kÞ4¤âXf]øµC¡@HBÚªëëëx»6iÓÑÑ;Uª–ÂVA€×f‹ð É.BåS»·”†n¯›_"„TE)3„÷[œ: gŒljžg(z9ÿu‘’ê}7¢ÅD0™´Üè ¯åjЧ[¡sËõïÓˆ0•Úø~×µO¿X^R¶¶®®ÅÞtùÎÁÁyö¼ÿJBfjz:P¶Z_”Ñ YÚÉ Ž9Vý—®Ë¶ÜÙýÊ•íIE›_• eãJ®n.¡þ"¡òís«gU}ïfÿ\ôåa;ƒòE8Qò =¥Î?Þq½ø£UŸ7ä¾’{‡³cO3ÃD¬jÇÁ»FòÚ[¦·+D¹Pì_±Xã)qIÁ§Ï]ûü%Çá‡ë¶â”Å™?¢^¢Iûâz“?0öZs–ÏæM}º#/«„¡>j¨¡(Øf ¤ã¶Üe558·4-}}ÒÚzzJ–£Üd*âñlj~bé#^ZÈð’×Ö˜gççœöÓL;ž‚@8õõ÷Órrâ½xñv_ÁLJo}cƒ]_×Ö–IPPt4LÎ……ÁÃøóûwMAƧ¡ôòòò'äYy?†¿GÂ0@Ó4³ß¢¹râ¶ã‡Ã7ý°¤“K;;»P`S ªdmllÆ«S*ʯe+¯ßÆ×læ`—öç`X[ÒiÏ9FŸÿ%Fi¯ú‘úüuo.~ý¶Ú›æ$­B›¹@×ôV|`1ÅwN‚‚˜íŒ#Ú$‚üz…W8)QÝÜ1âò×Cò79²0U2 L|*&z¹¤¾jãÖÕS_\**làUnn|Ÿ32n;dÃL‚ʪÙ¥¨rµ¶¶V»xXVQÞ»bR[YæåU?øŽVuÞ±A Ÿ*…÷3ÖòòrYyùîµ2le:н¶ÜdúU³A¿{HAzŸšŠÞ Ò7=HZæÝçØ}Û¯_™AðéŸ?Gto¦ ¥¥% à‡˜Ýœ¬Á™Þƒe z¡4Éäw£ÛÛÛ+6|‚÷òòêZÍR•VÝÔ4ù½œâ6ÜÜì,2"êÓÓÚ»n²²Q©Öë뀗͸ÉÌ¿é»ný"…±sQ¯Ðzà|­¹æœ¸šÈ.-" u³ºðš6˜ššýaèÂïA&²ðñ¡«Y7t…¯“Ôþ¥í¡w9ôÂ'ì,Í›Œ}ÿ‹@ã ßÞÝÁÞMw•msI«y/ ³Ð|Œnq$„¢‰˜7uÖ_¾ óððŒïz¾¶‚M0UñYqhW–rKí‡a+ô¤„ØØnàèA:h2F8ßþ$ÐÖÖgË gdD¨ëé1^Î\RQ]¿ÀK †ÏC3߀w‚Œ5Öópw‡­*+cRþÄÆ•õËEÇ·±·ãAÒÁí}NÎá5•?ʽ¬ÑÙmûÄÒP„ŽžtZÔ2ü>;û C]JR²Gt~ŒSPŒQ-¨8”žžPG>¡T­ËI@šå“™÷Fý»ì Àþñãb6üŽCáùn Ì·ùyýÝã‹ Ï]ÓÂCã ðYP¢~ÐÀéDÙ¢éW;BJð¨¹÷n;v‘‘‘@V‚æxÏfJQ¹Øuè­ô‰^ÔÚJ>˜LQþÌ{ø5ý…ïÅ‹èéKO»[ä°cäŒÂoß4Èè7W:ƒÅ@ -,-ÃsñJæö9Ýÿ…ìrrrY¦„xõ›ÉM)–àƒÆâ¼åæââÊŸ°…Çþ¨Í¬Ó¹wkrqðw88£€®€öÆÐöVn?— p¨‡†Ï!OÞT'ÎÛGMØ• ]5]äf#¶4h£h÷ìÄèÖlD=-“N1Õ*]òÚðãdÉ‚®vSlO—ð=½½¡"þWù¥¥(²Eœ«rïhOOOmíí?ª#¶†M½Ýž^3ÒEŒŒ¼ŽíìiNðA³¡f vôT‡eøézªQ&ßG½IÌ&&99ƒ Ñ]™aŠp9ú¯E" 'ÝNˆ]ž¡KûeáOqñí’ Û1ÿªH³¦"#çFÿ.¶Âu–¹Cïsޱò™½‰éí^qqÏgde[ÞÏp—ÛHPýÜ0Ì,+ˆ¼’ö7T­¸0½í:üàÝ÷µÆ±Ô¿£µÍ¸|%c½CÓºžÜ°Þûè-Ä6&N׿–ã'ÑEúª!‚»\«Žþ²ïnÆÜóG*Òô~Ó›(C¾ð4kl¯r6aú iù±Ä—¯5ÒhTä0“*]ížp³Y‰j,¬ÖrEã½{T‚ƒ,IuúY„ß?? pz>ðÅŠãü•Ú»öæ$A ZÒ/;x2“Ö[Tõ&[–ªóbVZ‰{w‹ñ[Þ3-Û;²@óWÿ𳕽´´tßÏîþŸxøÿîþwÿß½;Ö˪ª*ŽÏ£ÄÙ°;lûdÓ11ÕÄàÃRÒNN¬¼N[—ƒºß‘“‘ÕÚM1íá þš®…Š öD<÷ lQwâ¨p@ÍŒ»7ÔÅ"ç5›­|Ñ¥\-¾K‡›Àýïs0 ÁƆ »òË?TO[¸&„Eâöó§b§ŒŒ puáZ´tdž°À¨ËÉEC‘b!ÇXÉ•ºû4311ÈäàX ƒÎÎÜÔ×woºw;ò•—£õnÌCGöœB ̉VD„è, Ý9Èa—sÑõÀ&Tvqq‘ÏÇ_ø] ”ÓÙŠ§~Rþ­Ì¥ /))/R€¦8L—O3Ú¥ù*Õ¸¸ÆÂEß•5£}9º~DØçÞâ§ó^GýÍË8,b ÊdŠò¨»Y~AÁ˜6™YʨpšÛwAí[i¿^ÿ~g½÷oì\x›‚V2å9¢d“׸Áñw%öví1m&é˜`k>(-uõЇ‡ÞÏ #R©É€¢JF0+ F Jèèè—–¦¤§G [ѱ°Ä×Ör033jµ—Œ±¦C Å¥ìÓÇøÊ ÏJUs,“()Dü´£0"PÍ?â¢â…«¶;Q„عô»½>f/e%¢‹)À¥UÔ €-úµ¦g`ˆò…Ï'-wTžVRÝË‹Ça®ú¨ø~IØ3â9IÕ-_›+"lþ;2::úÐÐPa‹­ŽË-^©–õŸ¿YKÆlÑyÀ†D_З:R» ;lƒù¤4ê¤}ýÁrkÌrÀ.ý×ÌÕ™÷"Èв²&VVVnUÁ-DS»Æ%%YÿúàUÑ‹‰*Âe¶¹óShëèàQQ%lZÌU?ŽOE¥êëË/[ô­¹‚)ÂÖâ¿Ñ‰I¾yC ݱW|0ÿ !ºwâÏ3Inâÿ»‡”ˆM%,ïèø he:ê::3ÿ¯·s½Ö¡A–Ûc9 ÏB¾çzE¤ôzNuÂÈJoÈŠ‹Óï¶óm8 N7z%:^Oq4€`šá\ZUÂ\IyIð5 L[Þ½ÙÈq¥- hÑ»œ_€yî·´’©°ÂÈ/’K.œÛ'ò~ePåI€Nk5$óþ¯§`l\ÜG+qÔµ"°½€Ó€­ˆÍõ…ú½®nSÕƒ%KŒ:880)ñ_UÐÑ… 3bË€Kæ¨Î%ÔãKr3þ·³wkNMÇmìɤç0Çéž öWü/ép FîÃ/F i¥1h¢$#hâûævìQi pwim»¹ÉT<ô$\·4»ŒŒ(Ä.žÝ]Zq½ËÀ¡œ>búàëäÄ9kðLÕ€ : @öu«€W•,ñË(v46%3sÜÑrëñô-7¯eÕ'9³…6¨þy;û§ô爬ïÉÈeÉJ‰Ä5Ry³ Uò´OÚ~Í÷=oââ9­mè´•øÇ°­"^yçFr¶àEôDÙg¨áꂜfg¬ ç)p<³ñ_èÑ$0Öiìê ŽUÈÊ¿γ¬º7·µ#8•dˆ‹pj”a$ð) 21ãZ]Ô¢ùŸÿáßõ„-øWwÊžFÌg}°š¥}sþ[ìŽõ5 &&9ï«â$®d°ÓóÕQšZ›.> \%ØL®‰ã?áÊÓÏü g¤´xx¥„ý'ìï_+AïƒvS“1Ð¥RÖâ«mp9ªÑ&5×û/qU¤@H"Äù.;lÉ>âþàE ï\á—íËlœæåóª³e`Téîó5,ü)7 ûº³c{á'²¹¹IëõW 'Ô¾ºš8±×ÇVU¥ƒPæ{"ö #˜øÚ"n&îPM:˜·Ð8‘¿­¢’ÒK&¦“•šêê­›Ó #ï…·£ú_ˆ3qËNggEÓ™]›ºøV¤§R"ò#ÑxËÕkæø¼~V««o”E2¥ßÔz@W:UùßY+ñ”㘑¬¬:¹°¹?ÍL¹ó8Ý¢"›£|.Ž;ZÍ•¾¥^6Î{ö($b ¿Øáœ}-d¦È'pêW˜@†­Ó¢’zòGM{Cüùk&9â>íÎl•á&©øaæ4<”ªyàÇFjüóøtÊlÈ/¸+_y+ñ' 4uFgá)`=ýÊ},ùä0•`„_eù' =Ýø˜]P3y6>«AœºX¶ëGó™Iž¯,D³LsMÍÏÿœÏ«0fQ•ÊÿuÒñG‚÷Gù£XYñ‡xh/râŒÔÉ­Ð A.:‰8»qœ·÷¢¬ 7X8êÃŒEcíû7ý‡„Âó#=Çø˜;?°jl²¦ús¹øÊþ?­}eT_ø.ˆ¢H J‡H‰´t (ˆtwHÃ!¤»D AºABòÒÝ Ò}èîn¸{~ÿûå~ºë®uY > göìýÆó<ï™=ï D?Å÷û3žå¢7«é?–öYÿ1Y·Š¼…ÚGVX|c~À ª­ÂítANÆy›å ‡(ƒVð…e…4_óížIV.b¥w «ü¾¬Åëâ·3Ó$y]]_QQ%Ö÷3«?@¨ >DwRµ—¨ òi¶¶F¨wwØ1"´d~‘Ñf%Ï  ¼`V%³;8ÝŸùýºÇµ}¦P‘;šY.ÄŠo±à,ZÖßœ¤G“/áUmË…wŒ­gÍXçñ/îþ‡¹Ž©CGµËX{7_EÐÜî®U‘x[ƒfggZwÎÕç»ý¶ê7“Í…þ3^ʨø'õíìWMȶŸZfj:bÈpD¨­-·:½-Ðwæéòp`i—哨Ú@ÈÎ2©`ȽµS‘ "cÒôbrdcÄÀL›QlŸèLÆ<Á¾Qròqm!ï#¹ùù= ç£-ní·õÔ!Th¤êuSž×YLMU]½/aqõs¡IÓŒŽÜ/VÙó[×y³¿D¼0çåBV£Ä>[ùú¥…~È÷í†I]–L~hàÓ ?Ðʽª» Ovo`ê´=:úùFwZ7´Þ¼ªÊºÅA­îàÆR¢©#ú9ô«BvûZ@½1³µ¶žx¦Hëý^îâ˜ÎØiG‚xÆb¤Ÿ“Í­S Ïæ Ø»Œ¡ô¢‡ÜO›ç)üd{·ÅÒ1Ã2xÊ~ürkà5):Äï—p{2íƒ|(¾·»IT™z-EÓ²âÀ:Œ(XÞLe¨.2å)ÚÏ38,6sûËü«3¾cOeX]°h'ÇHþ;»ªNú‰‡WU ÿ½€e†ŸFï²§àrèŒ,Ÿ†ýdG•ò`Ñ ?±äžÈ»Úç.09ÎK¥¼ÏÝD²áíX)[ëôËÞ^pXIb¢ª¬MD5*{ÄkæyêJT‹QgæsãêH¼Z\\$öJº¹ñ(Úi­P³ì o‰ßò¹ôÑæí?ø»™Åäú1¤÷ÄœAÿÜ ˜J÷þŒ­)rÃÉ®ä8`¹WŠŸËCFØ͆÷ä¿Tm#ôÂTª»BNÂ[ˆýýV±zÈRJ¿Ó$ka‡÷gý[tn0¿]ÊlùcK>OúŸ)ZäȆM¡—HÑ쎗\:[guó—r„R%[“K+oSmêQe+ñ`<¿¾éQmìóÌßpnìp÷ãkjó7§/¯¥/©6w®)àÈÿIÛ‚Ž'ôÐl‹.,kèø˜aú‡ýÝ„™`c4Ÿ-}ڈ˚‚À?†‹_˜Ÿù0h™:óç¨:ãÊo\ZdÜRÎs^wÁ”/½P­JJÞ¼~ý’=Òz®Æ5Öj²ØÈËpþ¬’ýÃßl8–¸NÞØ»ì/L•ì#‚kÒÚžî}¸÷º,Éãì X8…_zöx{>0åOþ&)àsJ±³“ä¼4NY|ܪA‹ãô¯¤¢i¯’‘]Q"J¡µìî(ÀÀ“/"fšxfÂToxz£¸cä@‡÷˜Aû/7l(µó}Çq¥óOÿ7¬Ï`ù‡ãš ˜¾&oW×{NÈ혜lEÎ^©ÐK.ò½Â ÞÛ7_lÖÅ·¾*:Ì¥Õ~*0ÇòuÇÉí®¡>‚>þóIðÈq–u×Ãú­¼Y¶M¦VÍ‘ãàÈé¢uZ‰ðoŠÞ3ªˆPå'ì³RV·SI;¥–:Çø_Æ&+y¸â´$SJ[KÑ Ž\=yw‡¨ºÓªþ鯿m âß[ÝÒòÙ±&ŒÓ_¨5ä2¹—oŽ]6¸A¤>vÓ¬²£÷šhîJhuR ;ì¸S Ÿ Œ{2ªV4ÞcôVAYy¥~ß®èþ'Õ¼›…ö¯„ô>(ÈSªS ~kšÏNàÑX^®‰'ŠÓ9¹:ÍIs2dïêŽBš”£pá­õ¦Š‹*¤ï£`­T’¿ òy'žÓÝ|Ó“F+á½-ýzчE¢üÛ?y\N†Êö¾G·Æ5f%rEF4Møá½+¾gš]åiHOÆÈg M¼·e}è¾ÛÜCŒcctŒö8ƒŸ¨Zh®íbPnÑ¡€©øXž=(ýËLÇ[Ô6 K =•D9ž¸(“§Ä6v˜~1"Æç~7šØ»zyJºCÐKñ64Îxÿ‡`ÛÅ«J²Ä§d£ÌßÁ¾x„Øû¬~úÔº2;ÿÜW7F3 ÛãÞ³ÈaR•¸ 3“‹Œ¯í;…×GPœGGGŸl1dâ~mb_½Dl%Hï¼aHB¬7—Ùèg­…25¤ù¼2;@âHç·ßÛÚ–ý¥Ó yuÎ7»4Ìé'¬¼­]¥óyÇÆ‹@Ê:ñ ÚÒÞœµK:xðñ%¤“ÎF½7ɤ³¡â¸ÉÒsߎgú–Wy¸ÏúöÂÿ jJÄa5TÑá>©óe³jÎ:¥jT:û‰œkóÒM€Uï™*;Û[I¹(d!òík¯è¸3IêO'†»½OádÂH±í[ƒYÝ'V£«Emâåç;r¶ê[¥P?î®M/,˜:^ÓLœcÄî³$CŒÒ´àR~}ØWó=S]€¢ºwU;d'Çi±ºº>ñM£«‰tضQZä£F;”eÙXx•‚Úyà8óW¤Â_Ä5â)SÌM4¿ˆ™yëíªGÅŒ¾­ß?Îò5¾U£`GwV=lËJÑ£®ŸÎ-:VÏ'÷šï&ü;`¾Ž_x*t–ýŠŽ¬µÃ&(t íoU ”1é7gÝiRöŒœœ\1VHu,ÚgâTW›\ËÝ[ò­˜b©é½ÓuÁqG÷¦çž7_Sÿ‰4•÷¬¼ÈçèÈû)þHÏ~‘óB 9<:¤ÏÄr7ÝëÈ —B=å8z7‰sïæYº`Ä)9†SºþÉt»¡ÃŸ‡Rè[Wí¿0H÷rà*§RܯÎÝÖÒh/‹Õú*TïÔ„½à7ùî‘®[%[ÿ†‡ ©ƒtç‚^AÿæÖ{&5ºq"˜’@ènµr­3?&Ë)v~™ïÓºb-ó4mf­ Ëß6ó H„¡â6EM{sµ›Óå°ýXuáÑ O.tµ³Ù6|œ¹m0ލ«˜˜º×:s§Ãî‡4¼½þÑ›il]È©ã–|’ªyéb#¤ðcwî_M,MzÌpII4YÓ1¦àà`zìì„W^1¾‡´ë#6|¾h" *Ø3¢}ÿS6è}´Ø÷á—É.ü–Æôoó¦ó‹§ÿ’ÊÚCÌ~ö3´øÉ'šáM’²çšú(/,B”ÐÒ_ªc‹ÀlrÒÓÓ_¿yíšokKâ%ÎÈÌü¦”-ë¿Bù½yIF6näâk¹³•U`aù¯oiQÞ;Vh .-¡'uáã"G«ægyßßYÎVý |ÒÒÚš›——^P’””>Óé! ;m8éàdâmI[ §ƒ ìA$²yqçÔÏ3)LeÃΟ«àâÊjjxøøâ–––pD¹ãÖû¹¦o/¿ˆþn›iW›¨ž^¢l€ÿÖ ±¡z*<£ñpýú®²õSöÈPƒçõZ¡x0! ×F¦ˆ’.7T÷ëˤ ˜ä½¸+ŠÉ9õ„î¹µ¬DæIsM3í|§6‰[ѲΦ¢~˜#\F|FøÆ© ?ÓÏ}@~48ß±¢l4lÆJ‰“$5^ÄKH§ÊÇNRûÉñHP­†Ž2§^–kÞé£ IòU%½WåÇݵìª|ôŸÞøÖæsa¥‡@¨“è÷Öæ²À°0áýRP>wpÏ{´ZUÎAûû ž9qì¦?ϦN̓âÌá4ø,ÊÇzß4¯¾W÷ÆïýÌû¯&0(×Üü÷EMÛöQªçÙÔ£±õõTï³Z=uõââ¨×çûëk‰6kS¦©‚Ev±Ì:=½,}>È(Ì9¾Šõ'ÃRÏ_¼@.6hÊeƒ =±¾» Ò©uÊúóÚ‘!êæÆóZm— Q11…$ó³´=‘M@kòÃê¢ °k.¢‘—š7Ug¥ a}÷Û©L=?Ös]}Q Êðë×/###è–›l-bUEM­ÌýÜºÑØ¦îV:­ª*îäÄáèøx0gs$[IQQ´Òz.0(ˆoŸïÁ¢>‘F*Æeû¦E¿rÆOèìîzÿ¼CYD™——×ÈÄ$":º§7`î>666ë0"˜··¶ ´4Ì´Ìj¦Ýi=ƒswyðñ=_¤~O”8s\ÙìãºÞâ)ËÙêHP @Oì5\[7î̀ţ“=Ñ:kÓcµœd‰tç²_XíúE…Éì¾=!b WúóeÊ8V'ê|O›Üù|ÎÙ~=ÙÙ€+ñ²Sø®™.Õ£¥P§jíõƒcP+Ø>ÎÏÏ¿\¦¸ïŠ ‘zýúõBi/³áx†±IB{‹?:0ûà£Æ˜ñKG뽸¼í ë9¾µþDgÄ síÑÛo¥¥o¹¬g?ÊÈ`¢0 ì©Â5WÏoÀQrוgÐïÒÒt[øæÀ5ºÞq[jº`Ò'¢®>ùaŠÛs¢¼ÿC0¾í àyÚYÕòO~B^;j‰0rã=ÅmïÛSD¯Ì„#¿Ç«Øw,(û×tÈŸ=kî‹g‡:Ã{ ó¦z6”£O}K+QVU=jBÁ4Ûš)9Yjì<7[myЊ]®V ÞÌ>(Ø´'ŠŠ{4¡ “¯PÝñ‡^·x:žÇöˆlh¥;PRûúû³JK‡¯'g¬kC)¼o~ü¬ÝoH,‡MD$&ö:Ï{>nº:Ý&b7ÁPÓqŒžô¾ó¸»ô¶9Rël³Ï5:—”Ô×Ï=ßlQ×[i3?Ðö¯z)ˆÁDG]¬ êEãýµ°x(ñ‡F¯[—›ÃNJk2B¬©GhÀ²–S¥þíÁ#ÙrvvvH. ¾¡E}ǦÀº‚ ªíy:†AµU–×ÔìÑqžû`lLS9çDõ|ƒ¯GGEAýQ±H»Š?·^€,F†¦OCG÷]‚ÂstŸ358VÏ+,$<<ü†ÔiÒáJ‡Ôú›îÍ› L®¤rŒü±žÔ»:0ñÍí½ºcÙ Ë)(ш•‹,J&q"p´š²ô3½»¹Ô¶mBÌ 5ßEI¡ô½½>w§pÑãu¹Jpâ&ˆ-tñÉûþz¾¾ùø»ð r½î HÎ/<¤³v½L>t“LšmÃYRÅúÈú T {˜ŠOVpË ½Š¢Ù²ÉHr±Nººä6 —´ÉüÎ&7‡¯ƒ¾‚Èï‹c3+×ÄgÖîÚ­œ—µ°xœBáVŸòÿˈ ÷áíù<Þ³g"&kñJ|Ø„¬>À«ãÓN><—Év?ß«;›†,³›sœ@fµ[ùˆŠMÞøŒJ½X_~Ø °9î;¹‹?éÙ2#éz~˜ÒzsyL$èÆaØò;okVîUùçVT·Ó­U²ÖÙFoáÍÍMÄ)ʹÚócRž/>!!û·££Ê;Nü é/4ùŠÌcÛ’ ºEl À"û=€Ö¬>×B¬ ç„/|á© »¿Ú>.¢ó&L7„B8µX¿ùÛùž HŒH:9“µ¾ø¾Dî°ì· •|UäbÃN,ëÆ['æê\|]R f™YYÈòªª`uuÝG)<šÀ åD]A½õºqÁŽˆc3ܘ©dÉ5Øø÷›Q½Ø8¾, ¤ñ“03óÏ¿9Æ‹ôô`3PëAá{s„;K™I?ÔSv5ÙÑlP½šà÷Ä6@ ,v“¾œÓYqÅöë²^€™ŠÎcŽ f3ìø—!èÑÂÒxÓâ}·î͵Qv¿Ê`#¥¦¦v™0üë<þ6=##žÃ\ñŸã³gÏ '¯ 8¿†Ç)O*Cð­ä'?@Ÿt Øõ’*ç½f®ý)BTóixy‰|¢¢ž‡ˆS=Æ&7º½:…/'çµuý©*põŽÕ @ÇËëùû=2?µ² ÷ýz‚ØÞöq¸–ëÝåzwWWÓª]‰ÙÐ+¡ëv\<¼jhÂÕfv7@ÓƒÅVR^»oþèW2RŸ>‰‚j(!áiÐ1Ÿ€¸ÙšË’"pÚ›ÕØ>-ЮÆ-›êÓ@þ¯e8iªÚžnjjJ®ÚgRVi©LÀb@¡w”pÍò$°ôðððÅqê} ભ¼ü»ßIøê÷€ŒZZZêÎ[[[ë‘·55·ÎIç׳²²† Kî#vM48R²¤b#’“û=ÏçCº¥R…<]6³b܈ֻº>‹òºe:ß»oÃ+«Žzꯇ«l—Õ«íh!ìÍ%òïUµ%Šg³šæ€noÀÙo¼B‚0¼»»¢h‹ih4ƒš »@ìæÃ™šÆÄŠʦêN§7C]ÎnÉ#££_pŒëºïrZ×lÒºyÜ" j¹ !'ç‹Pq1Ù¶¶¶^ƒ ÌÌ&cy*&îìXînO(¸,â+ž±µŸwêwÆúаrf 䚆†Æ»9¶Œ3§”¢‚Fè"ÆÓÔ”Ugûórêêqóró žÛI8hß¶ìGÅÑâAùµÐæ'ÓEÂmM 4¦ø$p|LåýÂ9qò366VÐÔüðYsŒ§¤äy àÙd¾Õäì´éJŠz÷ó3DXh( ?Ð:tquu´Òq •}«vPâ—%´·-úýíó]ÜB90J%º*<’¯G`®Í´±I*‰Ä§Î]ÍÍÍ«´™{zzþZ¯ùÐ;8xžh“œÚmdpwëU¯žwe`µÜ A/Ú3pvG÷ä «ë‘P bÄ×’‘ïjmæ…KGÐ+–ù©$>ÇžkR ‹?<î3O %÷=¡”÷¾ž™ßš€‚ì/Å\9~ttd×8aS®¹Í$—5® cý`C€ „Ä}À52&†M„*üÛ« °°ì?@}÷+.î‰KMüõÙ.º‹ÛÓUTô/Ñ CÞÇýÜå&)„<ªôDÔô<9¡ýǃ¦ˆ:WˆˆÛ::̠҇alN•eÏ/c“ lp‡(Ä‚0íéí½QQVÖ/ׄ…–ÓPS_D›WÎðó’)àhå ñ%ÿtÚ†žo|˜K ÊÜœ{„ǩڨ¿zýºèéë[W"ŽÂ./Qýš¯5Ô”•8#õ©pêwŒˆùöí¡×Õ&Ýþ-X„‚’’˜‡G]¥s÷ø(/c3˜œÝé˜Ú1îÇ:ŒãKËËDÂ^ôôôBIÝ‘tŒKÞÎ v¶þZGx¶;£¶+Ó„‹2©GQPìsSl4ù¢üø„°*ª¨´.w‚ÊÂoþ ÔÄL×pÃBKEAAÄÒ’‘Œß©mÕNA]}#ôÞóúì³>9 xãKNÈñXŒœ4õmHy&Céx’e¡‰µÒà—¦ =ïÐÞÕôºº¤ÕÞX÷Ô|Ô>ÛØD!`6 _öÛøç›„IBÅ[ë\]ÖâMy€i€„4 Nâò_”ÇŠ Í_}Ò_+«¨|.›eC‹I™+vöP¡p± lv‰O8/žíLµžÏ{‡¥¿â2êâÂ¥Qׯ2‘÷Í2©€ NÓLhÑÏî¼ïäB“6¥ªžoÙÙ/O'ôêÏmªQOIVVQQaÔ­‹ÆA)Òj\©i M е;É5žhXa5jd÷C—0Àà´ñœ<<ë­ÀÔpâ:V¸øÂK¦Â XÚû}D½ä§O-åÃ…:üûmår·Q--¢ûöÿ6ÂÏï ÐR«ñ打“á*| Ê$ì g2@kôGs,g*B·Ç‘SLœ€&JuIæý˜'?ß´M‹>÷g*;Z ¸ƒ—ß2W-PQPxÖÞÞñQ‰aç¸Ö> þ·oߺܞN”Ìì‚é 'pae£VEŸ{%'þàuuBIIIÄUb¿IÇO²^†¢ºM@´uƒñ9¼^à5â)Öá%p?ÛA»òÒ––©—«|HÃqö8oÈì?}íuA a³ëj´ÀÙ¤!ÐÕØ>€‰K÷u#"#7ä~$4aPA*&qÛÉæ!ôB¨915]dTTÛÎTÙ`53 *†~Ë7´Yïû[Ó[(™™™á11ÀmØï ^Ar R`Î@™ÙÙö;“l¸¸¸PnV"Ü€ÔÚ§©hqºø3 ðaQù.€NH®,)-m´7[ͨQÚvÝîÊ)7‡ßZ•Ö[£Ýü½—ë©«v Ä11¡åÒi"‡j*¥XÀ¸þ²²œ\¦0?(¡¤# ¤@Y§™‘1ÕPÛòÜÜܲ×ã5׉"½Æ”Ï­ÉöÉ_Ñ*ÂDÅFå.X.é$_îa(¢æåaœ &ß{ÖM—jÔBä°7¯¦ëê®í’Êï´£^a3/ëäÄÕËbzq°Ø—"˜ø[ì{D|<¶§ 2låXÍÍN1èÖ'0ëÔtذ:n)+**~Ë^í‰ö1uò(Ò­ï ¥¡içG³–öHs²1䔫QN£Æ  ››ãA‘õ^‹?€ðáÑÑЫ]TóO“¦Ñ’e;Á ÕKЀϡM€ŸS&'Õ®ëdЛb€Ë!#ƒÊsýFׇn܃îÝŠcùjÀ;(îýõuÈ,3''èÜ$9ËÌÒ)KëÝJRX:WèðGx´šn7ˆÁÍza …®62ЙÏwQŠ[Ö7wY€þ€rQª+sUÙ:ÌÔ„ã'Ë~—͆•¢“‚šçÅ‹vŸ?S²±±mœ–KX>EGÿtt}ÄÈÌ,ž=¢e» 5•Ä’€KŠ¥Ë««¬uÚ­C&®Ú£fb ɱ´dPã°Ù²WV7RÙáÖ¹æ—[Xø¾ê¹)&àJmÜÇÛ ö„®r¸‰È-/9ÕÞš„9ÿCä‚n£ªææ¹óò²à Ïo€¾:!± lê-¨™³Öf&`Ží½†íj·8¯õ#ŒŽ ¾W+¥zßñTëyäN¼=˜['¹þÇT9£³ž„ JMè,̵s²6Øq®œé  ;ˆU~ùAÇ놄°:#~£#˜¨ØØë±|@˜@Æ.ºþ¨z j Ÿ¯Vdrº5æh-—¬ì!dú€ñÍ›ƒ’Ñ+àÔJÙŒ!—u?í·ünq} ÚH´Èî•ÊY£·C žîÏ?PrqÅ@¡#Aî ‰ô£‰Æ»h÷©å²[û—£ZÉ ³eåJ¦#ÞÞvöö®‹þ7HÄ„ìNµÉÀ¤Àœyyo ×ôÄ0ëLS—<«Ò«t´¢<°R»3zù\NÀ–ÚJ—üüÒ¤ýÚ‰½ÝݹçQå€G‘”œm—tò ^Ä;ããj?JŽí©Ø‚_äQ÷>/©“­ü¢ñkPqupTi·ÛéÚcç5¨[æO;ˆ.\¯î»o~š¿ÏjÆeò·¡ÊtR¨hCíªL± ÍuD½ À îxóÜ`fÅ×Ò”Öe´â£Ë®Tœ‡²XÈÕKͦ<µµ” ÒÎêr¡ÁþìÍøÚN*˜£ùöœ·F#‡Ëÿè>Ðs¤AˆþU…ÆŽÖÜxwÊBî²à«Ù;†@úoß`§>kÚÄvýwÊO4šæu‘³G6í«µ1-ÂG#%9içè4|?Ïó»§ix[! ³ÀÑ{Ü@Wm±«é)ªx@:‘KàÀU¸ Ë|W4!Fz>úQðÜ'#§±Šä æ ê(xá¾ÿhàäÁEʶ˜L4ÜsÂ` Òq’`+}a›S4‘­òów2jX–É^!qh2cšO¾ûËšðä¹ì½c­ϸ†awG(D»f R·=“û’øKâ¶>ÃÀ3$¡§c¶ÒŠ°È€[NØï:?öÊ$Ï“! _¢ e1exŒ¯ò˜Eïk5ZNUº˜þõÊïi&éP ™•=#Ô¢öÜÖ¯HjÄ&PŠùBÐ$Ïú(í:“WM]ÖåÛ¹øÚ”©÷ÅÕn÷ç ½»¦ÂC9¾Ötïlå‹÷ÄT%zÙxçkˆ,$º¬µH¬“è–÷ãÒs®¡jà È>®f\_^l·lwÁ"äìîïø4lÏfÿBVA)`¢Éx»4[˜\õ±Ó%×+8ÆÇOÞ_|ÜS¯0×$ÐPè´ÒÌX/ïÉ_ŒObV&ÝZ5 0¸²]¾] ¤µ‰Ö_ÑD§`ŒÆWv°@kéE³fàä×4<=ôôV€²“ŸdG[a£öTâW‹Pýµ‰^aîÚj?ù.ioì,ézéx¡!³Éxí±ta aaG¿`,½Nÿ³ösmº[N@3Qpâ<Ï<%’Q-pÐl¹$y—HÓ³M6¿íýöyœ,zbºj#¢Ì)÷>LÕÓƒx´º zäŒ/ •™ÛÆ&2hæËîÖðn’(¦°Æá…eâðS»{Àâ…¼v²³’‡#yU¾¡÷à ¾êߨeJ·‚ó…n‡Ž%ênH¤ïðð‚ðÖñèMç†Jíšéö|$»>úYþL8ƒ Ë þ£Ä\ðjÃ`è°ùsÎê2aï Û:µ4: ‹5ßQýD8 8³•Xíê÷ÓP—GõçKúå.mö†'ê¶(fÍsÓº“ÃS­'ûöÚñ¡C/O(‘áX=tNpÚ”~Õ1 îh~ué¤o'óšàf²áÏú¸Uo ½¢ðî?ú÷-­;³ÔýG ªŠåF›!—ã…Í‚— ÜÒß-#/â’)Õ¡v9siL—û?>5œ–RÞ)€¼o©8t¥®IÃIÏõ$aGÄ«_Ã}w‹êÇDATâ:Ž×\ZÆà‹>¶üš²½üþu‹Ê–žþ0 ç~ ÕÎjñãgÂm‰^=‹“ʨ!Óªå§\Ýó[OyC,G6c…qyWÉå П÷J;9—ö¬ïF)M‡ xþœ™ã³—)8ç×!ûѪ_"Ýò³úÒ@±Í›\¬ÅžiD<#ØÅçhT®PÓ6Î^äT?Ö²ú}ô—™U:•º)@tbP&eZë0dEëJKLÛh´”nœ~I†×j„úÕ~Ï´UÍ2Td>+c~2"–Ý{Ã-Ø¢ EU5÷WèQÁüžU“¬ ^¨¬ºJü{ˆL}ú\¿ÞN®=_Ï8ƒ‡ÛëQôÎmHÇùŸÀÒ)q…&9 DWù ŒwÚM\\/œÖ¿½#cóaŠ=À§¢âé¦=\_رm¬ ÅѪu´EÉ»‡«¦ÎÍm£1 ”Lç©p>ü C©}ÎCû ¦î” –,¯¸Äã] ª®¢É‚Ö’%= UÌkɺ€êyUf/’:ŽæÊ~¸„ÛXíÚÑ&šO]æQ\Za*ÀýÎZKÒôËBŪ¤Os¸Je¾¥ñK@‘^–:sÆü¡ìì `x수ƒÃW›kyîé<}É"90ÖT3¿1 "ñ™ÑžμWGiƒƒí¯$dÛ_ä5éI&zÆ?‰5wJsQrÓ˜rvºlOV@†H\É/Dy à£ó“û¨­CËH˜¿ª2 %¾yŽP^^“¼sxòT€”Ÿ&‡˜# sAõYN ÌíyTÔq¾à™A ÁÞÞ}ËÄ*ÒÈÂùÍÕüj%X#­FCÝëf5‰ŽËBÒìÄЗL^Žâƒ–ÊX‚Ê—Ú³¡PijóH(—øcÆôsnxTҜҞ¤UA¯'=ZÙö3áÃþŽ ·A¶dçFIöÉÈ$B‘¾àë]ãõïßäœYAÎé"LXßT§]¥AʃÁ÷íÑpÇÖÂöç.“ «6’_†± «`Ùéõv:ÈO ˆn `{ˆd„ÆÎl†¢‹ì¡NÂóGƒN=MYX#5w@#•ۨ꩓7ï…Æ4>¼á™Zˆ½ƒl½Ÿ QÊMì3b°¹Îóôõ Zqåñü|øªÎ?%Õµ´» D r´mš€•òo²®1"w‰¸Tþÿ×èMðq`Fÿÿn Ið%ÈÖ"¤Ê™"ÏåðbÐÝøhÅÈü¶“†P‹ß®U¨˜)¨âÔªnéŒØQã;Ø+\'šÆ èM´ˆRTw4[z¥'Â7ÏN°°À餥,ÔäëmSï}øÁüÍþ'¬1ßÞžåæÃC|±ê»៰ø¹o®OêW 禘RE¬êÞ¼…úøÃj…:„‚½í=b¢Á#êD¯6ÇTe².¾ѹáuÕ1txE5ÞÀÒKðŸ+²FÓR\4¦õž2îöe忢о}ûD(– Þñ w‡§ÖÀ_Ì+Ußv0h¹jxÕÉ\¿q«þ\šoÃê°rX—QÉN‚GéålƒøD„µI4k™„0ôkÜñ±£Ã+19³vAóÒ±¯— ÑÌkâž{Ün.a…ƒ|Líwò¿<7î{oo›l2Cøó¾Ÿ`¤ð<ðm8¬uÉöù1ݪ¥ ?Y×:dÃ7Á‡•XTæ^¢Oj&f;êê¤`ôQ±ù§}ßÏËÖW6ïŽþp…Ü Ä™îZ—%õŽ4§º Àbnïât˜ì"ŠæWœMcOˆËl¬=FdLnû^ù\aƒÞ Õ\ÞÀÀú%-s2™oè†`1 åÎ&ôÏŧ±=inïÀ‡r÷ãë†/™¬js#¶ùˆœ‹”e©oÃØ¶YQ³}|²ð&Ó1Á¤Êó>x½#p!w%þdþ!•Á¶r%œ~ÒÙO+ÞåKâÂ/½ðM‚ Ìúl_öµÍ5 ¯ô®fv‚¸f±ˆNRj³»)SåÒŸjH´½;äÀAe³ø`ÖßòÐ[–“DOþ½îNkð£ý .8iÈ­ý¼ÀP±†\â5× y£R¶{wÍÍ­ª|_>Ù‚Áhzî§÷²Vü¿…¥%&þ^PW=äÛBtÏóÕ€¨d½ô‘÷îT„Mo8›Œ«ÂTëY W¤<óccc0|Y #9R˜BDPrÞ¿B‘lBG,¶£0ে'•ߎˆ*ŸlHŠ4Å4|))ü€«,1@˜‰Ÿ Ú’/‚²Ô±öªF¾çΑcÔÉÜN»lh† =KvF2ìN'èB@忤¨ùð-»HîdADîà@ÍÍOté}¶]E¡?”0Ög‚8BR¹¨Ô™~‡ó@ˆªíÙï f'*j;¾“W$&– Ê` `k9ZÙ}JÿpÉÔúò]Bx!„Rµ¼wªÐÔú/‹ÒRfKÃÞ§Õm3 ‹Â´¬¢cA^>ÁÅô¸Gxêªn²ó®E_³–‡Úc)ðMÂß$R=S ÀåäÛÖWö„OÆgRCª×¯xkS§Â2”ÑiÙúÒF†”ÓÍ‘1e¡Äv«y»U ¬l“9õ°CÅÆLŸøÀXÊg¢Þ2'0á’ºè–î`oøit¾ZlµRẜÿ¢mêͽãL`Âû;–GÄîöÿ‹­{·xœ«ÐÇùò"¿==·²GãðûŒkHBän(eÆEÎ ¯ØßêhI‹Ñ†lW˜ZT[ûàE+XÙÓ‘Räµ£-ŒÎzkZ†%qwוV ŠIó?¤ç†Ç 5”îG憘 ¦*ùN–´f^PËÿ³%ûNI¾vaµê…)¶}RÕ×,§e7œéÝïØIÞÿ÷°í‰¨»›?½Wý®=VY¡í Ä û0x™÷r*–îëhÝ÷q32òj´ˆD4cÁg<äÛŠ’'˜wqNe-ù¬7æîâðΆlÏ àR±öà6·ä+ËK biUòœj;_Eü‚Cñ2âéy«¶u–¦ž…!Jø#à­y'²Ÿ’#HÙHn•‰§OçaÅ úÄj·¸Ò§©åÙï i¹KÐÆÆ 2u 4»pÄWÁëdø œ†­ï½ñ(¿–®’HI"p·p~Ûðÿ“e£t$ˆ·È]1áË€“—"´ð“R¥#0Z~§úP9-Œ;‘'©>ÜVÛ[ºËèßýåÞà÷nqÎÄç}W’ÆÙÕÙ÷!ã9~´Å˜Pø¨q{?ÅìPXã›ð¯ÄÙ¡Ó2VåF±†í8`×1уF˜\×›Ï:e-2›ìý`›ßB–dîÏ/8TÕ]y-_|¢°Â£òí ­#4B¬MÍ-”²¿àïÐúõr©/»©e¢©Ö›­á£ý¯Äx¹[¹`mVpоÑXž?ÿÞ¤Ta1Ï´"¬mæàüC“MBÌ¸ÊØ)#]9ç&R˜öò(G˜ü&{ácÍ™NÌéËòAüúœ)4•6¥â×ò`ow|Ë|v¿¸D×w'ðR›åºƒ±W¹m!¥h.мI­F¾ÉS§XOÖ¾t‰øý¿i@(õ:‹:]‘1ê!5¤»/„òûŠ»h/ â%ËDx?¨ÿºŒ·Ïxw•osŒé”[´ôë&?tVgNc$r:‚·‰£Õ(‹Ó|,÷$öHÕÀ óþŸß½Õõ–”Ö4ο՚Jô%â²ûâ¶– þ-ìm´˜.’H“$` þ›Ê?üÝvcÙvYÆÒÚ:»C²~ þf7#÷Рʾhÿ”š©÷ŸÇ $´ MBOyëõœ’hî¬ ÀDG•/|éÖ•4Å4–‘ìðtÂ_œ^ãiNäùu\þQÔUü€î :ƒˆ&–±W°Ì{LõΚ``³D:aq—Ÿ/VD•%låÝ8È- Ë—ûÜ{’ª­@éà–+cf_<\»ÄüHĤ”‚ÑNÇ·\÷ †òáTsmg\A}8gi¼ªŸÉ“~QW…Þ¨ÊF9nr‹\ªÿbûWˆö4În´±;‹Ïg† Ì1Å•BtyxŒ,°ã˜ñH9Õ´`iDÞ¿ZO™!”†é ÎèHË2£—ƒ”7Èlê_^¦ ‹ÌÇÆS¸v–˜ŽZT­6ÜxNño&ǾWUL©0‰ùÚ%s;ºù‚~(%c# S9ë?©"¼ks&DÙgL:)ééãÎÙø`S³u Ž„OX¥d™U5+8ƒ( ~ÛŒ\˜@ÅCRêKxМ÷mßY‘ #â‰ý3â/æé ;§(E6{aõÊlTQ‡°]¾bèÉQø´õÊÍ>FMÿ—AT8*ðüBö‚ªXûÕ l0º†Ñà—¦Mu~åÙäZnp{Ï^ž%9U𺑚ÿ­äv¾úðׄÿi¿Ï³·E š<7îÛñÛ£Ï!¡ïèOŒøöwTæàÓûLåÏ /^‘Í{ÉÁ¬;KâqR½ K§ÿcs˜0 l’içfˆ(:dñ×GZtâ¹ãfSþàµÅÇV¿q†7ÿñ#…îQJíAí!: æ{~¸Ã!"ÆàLCÅc£Ž«… ×P£Î2£ Ý£9\ݨÁ¨ÔÚT(Ä÷}-È@?”ØhBÞpþÁô÷ò†Í^Yq0úFŒ;Jƒ úòö4ì¼õTÙaÌo5Š›M¨O¿:ý$‡ø’˜œ;Hò&æ¨Ý1wÇàcåùß=ŽBb»Âp{ßLR)¦¸s&xøüþª×* óÈ®*‹±g|'• ‡={"ÕÒÿ–,èþäÁëïw€ùP$ÿK]¦  ò:´p•°bµ³cÓE”m’.\8‡X¬„¶ôÅÑWç°2Î >^,{™ÑÙ ÔOû^1»õR7 xWo˜zÓŽ½ø½@Öšzo™Þò…3Y‹{ÿÜ ’îèó«éóÓðzã±5›”úó. Ò˜Pª0ÞR(Ò«9kYiº?ÿñàÖVN¬ð§´Á¾V¾B¯!¿‡|êÂ>¹æ$D^CNõE÷X“+j5!#w‘2ÔŸ(ÛD¿CeH§×P‡T‰&é~—Ó¸ÕÚ¥Oâ Å×¹t”}ïA®¸+T 'ù=‡‚ª_D,‚wîrŽUêæ´’çªÊVÒó‹nöëªY¢lçþÖ@ê(sÕ¼Ñ=½°êénîRäÅw„[Ò³õóÚ“ñ2JêV—ž0Ö¦‹Nµÿl×ÚŽAäöƒ§q«–ÉSsÓe;ìι,–:ž­Ö²¿ŒmÌê‰æ…X¼_‘}9}yð˜Ëö¡…§­â~ÅÃc=6g6›Þרv…I25¤MÐÿž |¦ccëûd‘''çì쇘ç(R×á ƒ›j6LˆvŒ?6 šý¸’ë8®ªuqò>u14¡ašÇúbvEÁøÅíªäÿVmL¼÷Å/Ú\›7¿ñx ¾Á«÷Ýê:z@’E¾˜ËC_µlÑ–ÿ­€{_”R*Ej]è›&w[ÝÃ(µŠ­74•þ±õâJïÆˆh¹«EF”‚9}5 *‰*¡ònkÒit‚Ld‰¶]G­‘iÌYŸc ü®gpT–ää‚<-µˆ†¡2«°»!§‰?ÇÞûòÅ»TbLkH{ÛGŠÌ‰tUwö°¤ÊÔYpèö,èPt0¨Ž¤§!.Ør[M·îMeá®wøU»•ó—Ú·Ê\¸N€Œv@ëÒ FOÒ¨Vzf^ÀÜ>cÃÓJ†ê T‹G]Oà™»a/°n^…&Ä×® m8|Ší˜¡P#ÌÛÿîHœŒ—kŠŒ¥ Ýùæ¶Q?ÊY®£wQêòÝ=t/ú$®Ü>XáošM“4Wj,òœÐe- ئÐ>Ýõ®÷záÆú–“³:>ÔŽØKa g‹åÅ)n‚ú¿ËºMÝ78G«>§ÔIìXÈ7ÅxÛ‘Ï‹ë%røV¦Ù‡„bøü7ò²â>dwÏÖ ’'w?=wƒ¯? ýíŠÙ±fÞ•õ‰i­ùÓ ì6Üiýš­ÁÔ¸hQoÊâOþ…è=&â±ÑZU³/™?ïØ ,ÇqÄŒi§èpþï¿1NoÊJ ¢tƒr“’/¿ýð_âaxHjKJ³®I-N(wEd>9ó‹s¼ £³BÌÚ•6vö¯ôÐŽQÓàÚä3æ0DÍi=ÎÊF³Žâ>ïóq;ØIZlËOçå§6$ÄÔÛŒ,ó™5³ºÐ4¦QÊh‹52¥fÌ{—ÓšÚÏ ”ë§6ë$Ý_Xüú€™hªS=70¿³Vë•ÖGÇz…¬{0»jT.àÙ_ áñï ðöÑçwºÂ©|1î4\ ]K=4GØö”G¤íôƒ‡uUU?7 yŒ>ªz%/ie@DÔíÃÍØ”ê>k1ß ×ó¬É0[÷¿Û#˜°™Fæ-&Ý[œÎ¬D»á€N­œŸó{k§ Zà²þO 4¿óÈÎQüºg»qíÑúMD¦Ô1ý±š_í 1g¿¿§‡\éÖ '&LZÃ’YZ#$šßʇYuñ‚ˆ”~nÖir|‰*]Ë¥ªÎúYÁÙ3Q²E½=ém[ÞÍÆï¥]b±˜Éf[ßi*ðç 1Ñžy³²¢®Ÿ¨ßà±7ÿmãì´­Ñk×â,ù¾ô'·‚šbQiãàÑ=ƒŽ¹>›ƒ£–÷¨óCZОÍÃ;÷)Ô]±æë¸¬§=«5·_Þ¡ª˜Kûbª3¢Ÿ6“Î|+ÍÐìËR|Z1µÙ ýCL±khBÔM£­l•V{QËH£kñ;M.­Žk~5%Ð!\h:ý]Œ„ÓE O4†ƒ˜½÷ùZå(oÑ#/¦xùS”ÑÛ§ñËÆ5½Ÿ™³€}_Ø,E b^]pDai€îãá ˆ¿j’ƒHNTE¥Ÿ:ˆ<( 9ÃÒ_‡ÿŒÁÄlKo­Ã“l|¿]¿Æ@zä­N˜ŸcÄ…Å2ø3, +¦“àD gß•öƒ´)ŸèÕ¼XÃÆh^Šà â×]¡$}¯ ™z;^bòÊe0m ´o¶'ÈzT`&fzg ‘WÖv¶Ÿ¹^Œú‡CùêúžÜUŸáÔ„ ¬xÖ9(täy4õÝ9Dõ ó‡×°BCC%çÞÔ H3Ÿx6¿1’GÑPj‡;\3d® hO]DÌ*Èú† @/Ö”þþ >œnÛî‰:·ÀcÐÌ|ù‰ÅÊk¹¶‘$@å@ÓPÂBÁšž~ÂrOAE—¡&í³ƒ­FÑ5mÚÍœðzièA`nA¡àK霯->µÛ˜àèã½{8¿5”0¦±gQÔÁ!CwïôPéHü’šU»Öt«Ô8P´Äý@C&ƨCõô6T²dã? ø¢P=0ÿ™¬i6ºìûÈ`2—hŽìMe7x9¹YÀ„EgI#çµ&rf7ÂcÆ ¢ëmB.ÏkÙÀgGÛ#©õL¨ã›»Ï× EeÅmBRhiUᣲémÃ*æóNkðYÊÐx0“¹¿§ÆÆÑbá¥0Ǭ¸ÿªp¾#ͺޔ+¥æø“êz0 %÷)zß>w|É_¨KÖ‘.Íò& !–Æž´Á½³À¿Ô°y/S´L¶·ªèïÿ B[ùöÍ~VE4¼âªŽ†Å=á¦õ§É4·`#qn€¦æd¯=}4Rjso ~TØŠå®Å&ÈÂVw•=£ÁDv"=ùf"º„Öz-¶¯ù:^§Þ£©…LbIm&“/U|ïíûù•ó¸ Ÿ„ÇY“ËÅåϵ®÷ Õ!âß}­\Û@RNöSš»nÙ.¨/‘{©À½ƒDÖÊ:2+Û¥Öâ Uˆ“¢µ¥ë Òù]…áþ½ô`…&Q)>f†÷ç¤ÜÊÑ4¤5^÷îqfo4»Ã'—­]]Ú3AzÇÞ8BtâPÀ§Ó!hmŽÚÏ8>)åí…éw¿ôjÖº3䲂ˆô¡]\¤¥VG™¯‘K+' ð$rxk*Õp³ðó òæÞ¿:šJ?Άô½ÒTÆgÆ,e6Bò+®š¸¥H©²nØË¶ÅÚ¼WÐ1”®X—3;Ýó¿|6r@è³› õq'íÏr+°šØ…°z\ȲºíÂKÕr\‚f^Ø¥êÿ)Æœ£es@ ®¼Xc„/Ê‹UžW°Ÿ±Õ!¦M.Òa]ñQ¯nB%¾û ¶~Ï¡IHP¾§Nv$ý ÝÁ‰Ö¯·¨Iø™Ñbìâuå äûiîƒPŸ½­lª4·Ú/ +³€°'ÈüGIp.¿©Jô­È¶s¨©R¹ãüá¶Fj?Îÿ ÌÙ¦¬‘ÞwmGEEi“†dÐ÷$Àµ»±èN¼ÂÉÆ¢>¼žÏgÌÃü €X×êàŽ×£–{^R¡h,|5±ÞÏ0ô5ºJÄ@œÔ„C«4ÕÕßÙëO6½æ6~BÅHAF6ÎÊÇè¤8ñË—«„QñÙg K€[ßte–>9Š5±ØÊ5y~’ÍÑÇþŠïûÖ2Þ­ÐAÉ܃îJy¨[ϤW¹Ô¯¥¦Bóû铨cΦݢtŒ#Û7’L &}ï—«{Žˆ£>ÄBê«¿qÞÕ°IK§û²d‚qí-Èãܬ Ò”ÁfxF" Qu”ؾ=)le¸ßëî¨/¼Oe 9kfÞòSG¾0‰k‡nÐFLkõTŒt¤&¹iÝ=:õl&vâ1MƒÿÊ\Ó«: ì–u¢°¦ß@ë=:§" &vW“'e|Jø³UU úZCsÄb¯ÐÔ]C>PÉÎ= æá›Ñ&pßhm­m²c|hÓ¢ñ” Éý2ÿ7i!5ä¯(‰Q< ßc!!ôÕUJAö!ö#ów¡ØøÂ9æÁ麼 ™3ÀËIOÉqÓé¦eˆW¤Þkå¨Êdrð;”2#ÙM% (†½rZë Ù¡;ÜiÝL9OÛZ¨è…£;Û˜²M ؾ [«õÏc&$´çdƒ毫ïàåGBž¼`=ª¥K,8àã积Ŧϻ‘’N Ú&;ÙrZaÝ^­Á~ØÆGªÒæ³r æuºRÝ”»x97ð§…ÈÞxeÈQ‘þäIgÄ”*_’KWZt#}bP`ÅŽmUv¨q¤”$Ù»SYXcàï×96¯—!òª¦Ô‘C€‹<*ÿw_äuaA-:O–¦~¢=ò2Øíï£"d‚ `eœ=Õ4õ&™C¢%Ë7qÜ2{úCÍ?Æ Q¬ü93ØÕJ¤<ü‹`RË›kñ+R#:RáÐba¶ÊŸübÊ®G9¼Ð%O¤ >–—󛻨4ˆz²î¢íbëL®Ž#;¯@ɹŒ>|0Õ±^‚~‹a ~ÑA¶r©s‹Õ§2-TÒrcY"–²éî›tù~¹]©·•xJpG |«ûÐSR¿@5îòBå&Á‹ä7B®ÍÇX÷yQÐÈýw[ç '¶!àrÌ÷´¯`tèÛÌè» ®Ntäþô{ùþ¿•k̼Mja[˜}D%{«l@¦Ãˆ Ô½•¶À+4sœÿù†dGõÏ MajN=ÛÁ`ªË@ª`œm)“À’D“(üê=—ޝm÷‚|¾†ñ{ue"åË9ïójyx—• 4j|„•éûî¶xá”Ó®ÑTåÒ>–€q”ŽÛb>“2¢ú]Ôz `-’ª–ÇÞZïìä×ê; Êa3´yì ˜*5aÕŸUëvú°‰Õ3ÚǪ–ûÍø•ç$]ð–0Š­KTÈ`Ñ<@!Ä$©G³ÑßîÝ@«=-H`”nòBÎa1mSO0±ÑÙî…5leâ®?WÁãÉ^ ŒÒÈLå)g:g¾«l Ø({¸®óÉ‘¥/6ÃßüFmðõ1´–ª b–Ãr©ˆÇ5ýA†‰©"ÒõV$íOÖä9nz“ôxÐQ…òE—IJÕÿœûZ6;\=ov—î­A<‡&Ñbî +äGc€þ‰GøÈ8õC Ë·RvûU3xY¤êà¦[HSÿ¤ j6*¦ÿ«Tui8‘Ò9(ÊÿH8×r˜&­äib™M¹Æ9²Ck祛Øêuð ¶øÔ”zŠO®wpÆÆ ׎7V÷¾:b˜ÇÙš³á٢ȯæ–èd ï/î{Hg×B6Âô Ÿ$tUÿàXÌÏ©Y@ÈlÓ&s4öšÑ^ þ{öF²,+î ~0ˆy>²a_&eR,à„2Ýß7¶Olä"šÞj?U¬¯®þmxm¢¶¢HèÈÂT^*êŒ/þp¡Ë'MN[~Š/ì#ÚÐvÀíÆßÙ×o{f*ZEÔs±h;’øÊÕÔ‰J>¡ƒÔÝà :,;y‚ù„B]€ =Ï×â”tC¶¿ !ó¦òêä|]uávÚõªœ-† ˜‚@Í™wpòý±!¶¯»z “¥õî÷=~«+Û!u|‹º.JÀ¶Ó<\±ëÀÉè³ôžoCM\‡I!_aL¹õ‹¶±Sêwslƒ} naD‰öÕÙ¸P ÙÆ=”÷"N{¿~,^T÷†lÓm¤ª²}”0³‘ FŸ´ÈÉ0Ê×üoio¡½¶Uè4“BçÌÂ=#%«wOfq=É::†Ò`8AÜýõt{öq^>‹ÕpŒQšˆ9ƒ6˜ßgŠ‹ËêÕjJ2U¦Šž›~i‹ñ}æ¢_lÇì ácjkÛ*Á±ƒÀ͸àöNºŠªz©ï b^3zèxœWå¡ =ö6S¹:xÓo½¹m9ŠÂ>jÍçašX0Ò.ÉÀydü°ÿ²N=.T$v6-_pròcšÛÇM.â˜c3.£[‚é—/l`Umw_ö¬±äÏrH‰¿kL@ä;ú¶ŠÞ•þd8Úæ©çS†‡ö¸Û'¹Ýku"SHkdÉÐà*0>BU(_Û@µ*þ¦pxS"ÆÛŽ{4œÝ°%(½°}Ó@Q½¨™ƒüp"iã—ÖM> ?‡Ñ F Pð¡Ó 0ðöÿã…ɦŒ2øó#aÀÔG}Aí>f½8~<¾Å-òŠñŽaªpâ_$±†Ò×ñ\ª£q˜ÆÆr°³«‰b@,äÅqÔ‚ŸÖY”›f~³) ¡ =Ð8ïk2Œ%Étë°>ДޮÐIíOÎí"ÌàõˆºGÙŒ6% $Y6ÉgîwUÂ¥`­ÙÓÀk/3„”ËUÅ»s9ijÜ8o•†ÚJ—“û!xæÀáºW6J3Eܽðú­Œ)—íÈ ³È B¿hW¼š¶§ ©óÜ´ê@©˜?|Wš˜„dkú9§ËìGrön¬B ŸÆ<ÛÈdwü|^“¾Ä¼B°ãÖÁ¬¹ÓS¡Ä,fÞ>EÄgm.OÒ)MJÛ SÈfKG5¬ú¦ ˜Áù{¯¢ô­ÉK El†3IЦ«Ïû%+.¬œnÝDCÝ:ãÍŸ^Ñ© dw‡†8‚Õ-»ãîkXÊÅeM=OŠH˜ÅòÝpw„¡zžk'ûi¿ï†p+æƒÜÍͰSÅígžçíQû5a›i=JjßXIÒ|îÒqycÇ÷„{¹§g¾ÖQÕuÚ›o7'(ÞX!A¬7笙`3_ŒgC*Ö±÷B©†úWÚ¼©BJ…*ûFqùfD¶‡íª^„Û³^Ucg”‰`'sµ®ü•^äб\Q,@r†N"³ÍgÔ—´d¶²åÙ€xåñŵ¶ :ih{pŸ_B‰,Ê4,*Q\M¨Úäq¼ÌîI´rE£?àGfШÛ|‹*€(©ªR€O¦k@ø”QTwŸINƒš8÷§·ÜCl/mÀ}Æ[—àG4ÑaóÅ ôB™ \YÀ¯¢79Õ˱ èCàÛ'¦+lÛÉ@4Ñs1/ímÖÓA>s»ßcp½&¾æ0«¨çfW3doyµ¨Õ{?í‘óÝ’Ð pÆSìcIF§RRµæÝûÂ*ƒ÷ŸŽ•cNs¨P(w‘îh%lØ=ïöºõœå4Ò ‰Upj®ËöNêž".ì¡\©  Üì©×ìÈ­¼û ägRÐøQЧ{fgŒ0í¼¬¢&*´`¹™Í¦fpšA#­1D€6æÙ¬úTù+‹qÜEÊ  ”Ž2ò´lÍ·/wÝãV²PWOæ•€›h¯š£¼èÀ}3ß|_& ȨF·øž‚-ä‘jä°¿~Däeås¡Ü)»¨b×½¿TxUÛk‚8ë÷ZO—t¤u£ŒPdiÔœŠãÛí­^A|x­è‡rº)ŽÍŽÚÔQ¶žN.p{ä`T¥}9`—*í®P¸óqJ „HW-÷OÔÊø‰Z]—áÕï®=@š†¯SšÏ*=©’¸@ZFJÿê†-¾ ̨^½ÝA—kâÇêL[vQ‹àd@À…¯Œ?ÍìÐó¹øÙü˜»“S;©aïÃæÂ÷â¦íàBY”'ji¬ûÔ\ë§çB8{Ô1×?hèß[«ÐWºç WÄg(Ò,ïPR#gÁ'ê%“¤EsN34f TŸׇ¿ N5².öEGê÷ï¹½ wÒm=u3£mô&×-`º÷ UÍŸRÞÕ®úZt} 1äϘ”ušɤ®²ã¨ {Ë(;8ËŽÄXWDNdHÒ1½¿@ãz*’@–ËLÁmÐà±ü£ÎOÒ±”^*Ü\õÙÒTëþ†”éÞÎ 8Åö‚ÓƒáîïvËéÖô÷¨&rW.MÒõ8ê,'ú–³hÌ>ÏûªØOÂ(M•÷ºm–µš¶°24ƒ ð¤BïèÖvó¿€·µÃ'áJ^,Wú”CFyV§ÓØÉË~ägH,KÉ4·te±oÔXCj<ïï¥×”›ê$‚§Ç$^МǗ : Œ6k`‘ˆü­td™6IE,Þjç'BIðG¹Od ¾-Od‰ëþõÎHgc Cº‹Žää.ñÉ콕g>ˆ}šÓ“ñÑÒë\žw-ç‹JúêÒuyw²™5þÈáúÔÛ/a†«¥°ÓŽ­»°_AÕ“C-˜CV¨RÒ¨!¹~Gï¹ýá×Eã"hB~൹·)¬»­Ý7¤„ÌbÌC•ÀíÿÓy §K~.ub´‡eûÌÜ‘Žð ñÛ|ÕCcXµT|Û»…=¢Å¼B7C^­Þv¨J 'þYçOH±|‚ß+¬ð·¦0Àc4õªŒ^\¿ 6 8ïË*ZJ ¶O/È;bD™¹š;¬"à€øf!Œpqh ™ømò¼:{  –Š"XÌZ?±\¦<¬â¹ñ˶9Ÿ¯/·žÂeƒ±ŽlÀÏ"h€ªÀׄEǯ&$KYÕ’$ˆ€8µþ–ëiÊ:–`‚ þ„«Ww%šÛfPÒQ½TtO´ŸV°xNhYþ ›Çø8}d²ý)ÞÌÓ*Ø Ï&ϳ –+eÒé>øoÖZuwöGkëæ»ÿ±ÙÂno\SZéÝ—òobïÎ7ù†ÁYU;ËÖIâÙñ ùŸ{[Öpe† ˜ºâ=ÞžyˆØõr)$Èg8q²¼Ur?(&YGŒpëL†;_gÚ1Ù,µî¸ç̼³·cñ}P„«6‡Ýó9þ¼¤wÐInây54Df¢Eþ«'¾Œ)Hà8,ëùöÛðÊïïDÉÎÙÂÎW^`J\t ê:O—÷E£ËB»!¦&:‰ ~oñg|n†\=ºEn*ØQ'ÖOÆÍJØ=lƒæ36¢ò‰o¢¶ì’³&~ꥆӑqä'¨ŽÃ«d[)‡¬:TK»,×2ÅI.šÛF&±XÍKdž¾;”ì¨Nþ»‡¾a¤¯ê"ôKd¢6°s-‘‹jXDŽäÖ¦D‰S°`N¥ð*`¾¹ñ7îFžüwHúsüM:ïû¿2Òÿ@+{HÀØCôåÏI±—…´›ÄJI; О14 x—–hÂ÷­S¬™àg=ñKµi¶…—VgǦ؇Ô,Ìð~&ÿŒY8îAAËóå0uæõ FìµO$q‰êdשûŸb0ÃG™üc’¡·:‘/¾âW~ÿ1Öè:æÓy~¸GËNuÝÄM/ésE/.^;A¨qµ£¬ ¼€§UWõûšoÕÙ´7WsZ«ÔôrŸ¢¥&e1ºrP»„ÐþJ^6{—A‚S2îðIyà)b $Q¥ÜïðÂ[ê—ÀF´½á¹J}R4™¸ÔœZ7ï” MÁ5G´5%Ŭ<ßÝ_øL9é!j¢j\EØÊ#9(C‘—iõꛀ½x¢¨³Ü;xP¹o°^7Ä­¬B?ÞmD /Èî'£^|¹çv'ØD/ƒvZ¨7ùjÉò&ÿ¡>Šý ùV™ˆñgÞvòÄŠéð#ì=3Ê`œÕÏUü­"ZÑ’Q¤W¨oœS“»ü_#‡ðî€$šÌ¶^s¡k?yeŸ *™Ê¹^=œÚ3[IÍûZÜ[¥±ä¶£Õ–é¾ú%&lçÇ­EŠô“~ Àå³ñÍ_…Óiôxl#.9¢Vg›™ìvú"eÕz#_C­£)kµÀnÆ }ݽSë?˜¸y¯¶n­p0úÂ?Qœ{¡¢ž„uOÖ/ÌÿCIÊËÃ&6M}˜N\`N.r챑™Jž•?>÷#|z”ן~—\Õ f·2 ;=^9Åý£†üôzÓ»stKä_âœZpí8–ºuN|;l §z ;³U=}+n¬ÿ4Õ\+Sê£H ø~U%$ù¿fD”©{ß/mû=Ã.å™§ ­õoO&šP pÌ~x7iöoŠ÷ÚcÓ¶pÈWkœ™—¡wr¹šeçF±l¯ã½AŸÃyÓ.·xX¶Ì/Ó¦Ÿî?˜VoJE® óù5¡ür³‰í3 çEsO„–ñÌà° =mâ¹GQSÌU¥sHãÞòŽñ¯W¥Ðâ3àYžâ½eĸº~©T“‰ÍP¾Ÿ¶àµÃ¦­x‚àÎõ£—*Þs£Ê°.j—Rñ7ÂK x©\f¬ˆ—MͺëÜKÊÄ=ýkM-ŽºSáý׃cÔ™mmW©ÄµÍóß¼ŸïÊGü;áq|¶Mm¨ÊÖ?_í)êt'Ä[pì °áŒÈàe‹üOûe—I¾¤Ñ1Ôó8ÄöÌÙ8‹¸Ðq—`SÄÌ ™ «Q±¨¹D®I]§âð<ú–aW`âr±òn¤AŒ«?P‰Y̬ß·|Ö+pЂŸ:R‰¼S)ÄÁ±YBZrãX©ŽsÅmêÚ_­¤»ó]{C*ª«çÛ2ç*WZ¹¹®À©¨Xõ} ¯Øä ßEÌi ¹8«‚ Åü€ p;º³¼Ðœ Õápgùˆ7îí­à´~ԣ˗­ÂƒÃYI’;MÆ× {RG •´åe?f“Ù­ùÒ¦ýå„e°qhøY· PûȬ%›üžlxÛÒìœÀ¦G¸4dbݦÿb½aÌî/|Œ5ÌÒ‘ÄíÛ+\`†?þË–økÛJÕ²jèÊ&Ìв‚ï(Ï¢v1‘‚ñá_.{ת¢Ì¤z<äüsåg%Òoþ ôL7 ÁðpJábN~xœí½is×±0üÝ¿b.U•ˆ.œ}‘%V)^nô”È–?ù”:Ûxf yëýïOwŸ30ä ‘Šsobs0s–>}z_^þÏwÿöý?ß~o]U×3ëí¯ùñÍ·ÖÉÙùùoÞ·ççß½ÿÎú¿}ÿÓ–3µ­÷›—Y•ås6;?ÿþo'ÖÉUU-^œŸßÜÜLo¼i^\ž¿ÿåQÊI”*(VxœÅzw8œí·îèDÞ¢D ¢÷„$Z¢‚è½w„è¢GцÑGÔ`´ŒÎè½·Ñí_~ß·÷ùÎgÿs\×¼®cžõ<ë^÷½ÖýNè+eYü;Ôw¾¼Ü35%ùàÄFE¾b sJ@þBs––WÇÆÆžœS™E>ÅqÓqÚn( 4À}€ü³§êi[ÓÞúê¦WX»+ïñðÜQj×¼º‚fsu÷ˆS A…¦®—¦uý¸ëyª§Ã£u_`#vV)ŸˆS'4­ÍÀØdcaÂ6) V{-J T˜f”fËW”¾ˆð¥‰¤Mf" ±–Óv|Ì¡I!+"I+<œ=ĵ[:20C‹2À{êÿå…XP¯UŽ‚öÉÝ+ÓZ›²ÅGRüŽåàÇæ_ϪΗSYÉ“‹¯^Ò„Ÿ®góòÕÀ0N’$úkzW1 ÿ¸V³ðÝ3õû2ûøêäÛ|^©yuö~µP'–н:©Ô§Jü¸bE©ªW¿¾ÿá,>9‡Aª¬š©‹Ÿ¿}ûš—°.Q½©Ôµõ팕¥õ‹JU¡æB½<ׯ}õr–Í?XW…J_ü^MEYžX…š½:)«ÕL•WJU'VÓ›YñœåÜ,™çrÿÙGKà¯ð¹*àë=ø§1óds©>MõÞbÙÜzË.aEìÂúÓu&e^}s××ô<ÿ¨Š™º1£èÝýÝ<Üz¨«L¬W+3Ì_ë¿·ÍçyÅ*%ͯg3 jUâ'€ üãÎάÿUsÞµøÊú.ÿ´ºTsÀ»xêL]ëì¬~™Þ­ò…~ÔöDÏèbYÝÇåòúš«¹^ճŒŸ2]å²<¹x»ä³LX?,ç1´Ô›{æ¸þ7OÊì^§ÿeø­E‘w.òJ ÜPlË캿N½|B»“þÆÌ³Q”ÅA›Á[`éסe. ,ó«¯^..Þ_)‹™Ñ-ÎJ¥ß³Ò¼°Z3–à"³³¼šZÖWV³mzumytàÏ$ÜØ ¡öS^¨étŠûy¾è/E®æÍÙ½-²ŠÁ†,™±Ë‚]ÓÖFQï²?ŒÙÔü<ÂÁ_f×—VYˆáÿë_™žû_ÿ‚YWÓÅüòÄây {ubŸXËR]³òú‡Íwðó @ (Pw4…zÉð–5g×@1î(“#o FŠYåCúS®é¯æ¹TÁÉÚáà÷>¨J_F‹ðêÕÉk‹ëÇèÂàS6¿<¿Ê.¯fðß þ° '£+*„ P†pÁì 0@ îyî$˜ø~4ñlÜøí«Œ†Vùí²ø¨Ö×(ð¡´€++-òk+‡YäÙ¼b`1 3™¡¥D“Àƒµ8“(¾{-ÉÐZ¾ŸÍ²E¹¾š¹¥Ìó Éc;0£7qÜðî)ghN  Ûßyß8½ŸL|\Nä,ÃZÆÛì`ÙÆÎYÁ3@Èbe-ô  €¹“@L\×™{QwÖA€ß±ùålè°[fÃݺÑÎ9ƒH÷ö„¨>üÒü¦O¡ºb•U.@¢[fs ³^gD gCZ?°Lמ¸ `cLÛëXø…®ô>ý)+‘‚¾<çÇSTŒÊÊ„¥q:qäÛ<°ýH18¥$w¥²C‡[ÌEÚÁ]xföØ`ÀÛv׈÷à^àKœ8QQàÚnx°µ$P „ZÛ¶g}Hðm1×=ñ¨T3ä¶@wÜó8 b;}[Æ2a‘”N’ª\•x©{H l1×A€ än×(QvÀé;QÈ&KEä‡Ò  ™½‘þ˜gò„z|í¥ª¾]#1HªÈ^1jI©àB:¶k‡©²yÈ( 1Ï3tÆ×n Ó‡Í}ˆJCc Y¬<—~óØO¢ dQ,\G©ÜïÎ ¤ãk¾ëТÙZ5×ö@·ó™r!„ï#6'A¤~"A;Œ3|Æ×ÞÀÉÔt”ƒMÊÀuŸÓTؾãÁ¥%A„i”Wù~°ÉŠjÉ@ÏAÆUÇ/Gw¡áñ^•æNjJþó[ÔQ~°þÄ®ß,òrbðòùlÕâÜÄúù¬ÈèÛ_kÖ+»æ¯ìË4dal á&,äBÅžyYêgûI—?ÿ˜•ÕŸfÕ7Ö]€">×V÷–¾tŸjcýé²úæ§4Š…Y—¶’nËpc?ðy’øNÚ@AìÐŽYÀ†8èw‘|`¿&™¤`ýì¸àƒ–žvn9pL\:EfŽt}ß½ˆÇçArOn¬=DÇ÷¾è.©&*ïªÍ¥DTPûßÒ\É$òg‘¶ §'"G2é‡^ gï‡Æ÷EÞ#@y|߬]Ð=a ²›JTÀYàÂÿùè ’Û·Q¢ýTܽŒÝà4¾ö+V¾>¨›yB$®²SzÊg‰›¨Ð‘ž¯Ü(`û ê·hr[ÌuOMîcVf»ê²xïø×Qo K—¥OâÄ‹7  ;òáù2ÞÓ{dŽïA“Àï?ªcþ)_–ŠX_+ü‡ñ„1)³*û¨&#O ÂÆfÞýº¡¬ï0àß°ÚQ¤“Ú‰-Ã(ôDª$·#?qD„^ÇLígd;2ÄÇ÷ ÕÌï3ŸKº¬Æñ…¯W¦‰ã O'rb/å ŠÙá~7ùh0_=†â¼#@QÉ@ ߺ”5¡L³hÈøÍ–Û á …/}å*‡Ý|à`¡ ìÞ7¨îQû`Ç÷.@á®ÔÛ­<±cÎn/‰¸Ql»víKÇ‹#?]'¹·ÏëѺ`Ç÷­¼…wqbõÈó¨Ñæ‘ä2uÝO” &yº®uÒ‹÷ ]{@î¿iNÛ@ë?{3ÏH]øOm€8N|{,¸ ˜-€H «LPß,HqÑ{UÆ%¶ã ψ¾íx)Zæz¤ì0rR'…5úL¸^ R×µ}‘zû…´ã /UõvÈ[y?샻SG)|âû1l‘G iJ wW®«®"G&ìñú~Æ~T Äýc$•E¡ Ždx®t˜0†aãÜõ¹çØïºQ²Ÿ£õ×`|ádíy 3ò,lÖq¦L¶5ª \y ùNªb;uÎâØ±íØ÷€n#lgèïgêºV@±@@‘IežÝá¡øª±a×ÉÜäón2»)¥ûʽøŽ(i}§JQd -ŽÁý\võ©â°çðáYç:w|qñf~W`毳q6Ì/ØÌÌ“§”Å<Ë8&´N­÷WLWÒßË䥪¬›«L`Zg¹€»Q6YÏ äH+3îҺɪ+úm:n0•‰Ù,«\NÌa”žXJ?+uR%¾8W¦öÒdtåH.ãÛúýÍÍßjJÚ„ _¨ÖBIœì€¿—¨×ÌC„ךã8ŸFù)+ûëú‰ÍÙ%|Æ,¼_3Xä'<ƒy È »‡Ù$HÐŒSë·+À·.|llvCÇ”&V¹UÝäzYx\ÕÕ²Ô‡G9 Ù„Ú²>Á`Ÿ³2·8Ž WMÒÎy™Ï–•ê~aa¤Œh0bóÍ1µ¾g€*åB‰,Ík]1˜»²fŠÁõÂÜíÝ4¯u0ú™7ôÜ4ÍtXEÓN+ƒÂX¡Ègý1æSë]~­:(*UšÍuŽë¼ „ç9-½…A Î+öQ”áüéíãïpî˜]}-öÇV0’\~ÑyfÁ#|©®/€1!ßzyÿNÀ‡šñ7¢N§5"b2tå4|å¯ðD$%) P£Êúظi&ôÈ,ôYeXS¢Â±õhI•ÿ\!ê(l˯X¿Âôx††ä•KNŸÃ2tZ¿Ã;h[«|Y”j–â2¿ÎÕF’Εŗ٬:Ëæ-þ¼0Tºç>•ù'ú[ûNñä¨j¼O„‹Î·ºØˆ–.̧܆ݢEŒà h÷Y7µ~b+×2K©F…¿"MÔU`nKÑUG"õ\Má\XQä7åétÍš³ÝN¢øÀÅÀØké}hÚQkøü:'=ÆùM4¶öšõö>Ëá\p¡xMç¹9©r¿ƒ¸Oé‘‹îk¦!º6ÆXE¸'‰€¸V/lM¬ë2 ÇGɉdg¯Í[{Í;Zpå¢ÿbòæ½½æÞºâÉEïƒõ%¬¿¿×ZÆ }\tÞ[;€öµ½f~ "Aýá×Ö\®E•kÀvà`ËR qõtªìŽV™ö÷½Šœ\ôFYLJ¬eLØU\é½±;É(͵~ÄÛ—×™V'Öåu‚ä$4íN2[gë2û¨ðÓjÕ‘ô¦Ã:!¨`¼äLêˆ-§ÉÎãOˆz$  _åð胪¥:ËäeXù²"º¥•Ÿúý j]FˆÐâ|p7¼—Ôn„œ+ç–˜owΖ¥ý€®_ñßµz¯C@ú!+@ìaª+hhÿøÃ Ó|]ó[)QŒ3Äs¬ªŽìòš*uŸ"‡êš@D.ÕC1fëkúâ•õ¥‘zFÀÀœ“‹9–Ä_.¬ã¬ç¹hÅÓoªÃiØ´/a^&ÀÇxŽ?¶_µek0c­A8ͦOzšJcI S¥;‘/çÍ5øtF'»:C«_Õ´ê]nÝ(¢ ÿ†¥Y€Š­…¡«rÞÀ¦•1V<Ê«|9“ZŠ8A`GÁÿ%Ðôoã§ÔSÜž1–Ä1g¾Š#ÆÃ؉í:¶IÁ8Kü Õ÷Šj-ÑùœÙSgbÙÓøŽãiÖ[:Ϊ½(w›Ó“âYÉõ+}kë㨴ÕÀ,E[6Ž/+¦kù­£M—«¶â ‰mµÉa‘]ÓLî ¾@Ÿ$v‚€›+Í…¹ô5}¬ ª_Ôl?6ûQÈx9JÆ)óEàE~)Î>£°© ËÌÖì>¼L/®ËSßSžô‚8Ü4Tq(¹1 B? Tà© °“ް)øióÈSvs–)”‰®ý† Qx8AŸåDc¥Ô™JÝŠ¹*ê“Ç:°‹ˆÇ ö¦}åÅ‹EõÚ`"ÙÛôÖþým¡;y‚[>¯™IÍGzvN2UÚúê5?¾áØöÄrmûQ± ?€Ey®=z.#òcmok¥ÈoÑØFæ÷›ùš0ù¾1Å¡=Öü<ÑÒåµq*tmx€l;ÉÊ[û ÖÝ2ƒü©(”iܲXˆø:8#­Sôò¯QöiöP#årFõ·¼ÌËs˜dŸ™¶_6SœÓ–‰ÌÅ’\Aµ¹»ºÊd tâ7¨ÁÛ«†ƒÊ¼ÖNÜ;±«C¦ v½žÍòÄ®FX]]ŒËnqñº´piôPûH:¢j£|j‹Ög°ûO­UõgXMYiŒÚHõDSÉd†}:Z+I÷mf{òüÙzŒHa¤„’_þ ³~¾Èg«Ë|~:µþ È[!ÝE­ ~ÐU=ÛÏåšcB†VXæ/¬1r‰_ߢ2’ºV¯Wõ7ãœO3:t_£q¡D¡³/INÅãFWFã¹ÎA GaçAù¦óB·G‹CÏGÄíWƒƒF ^Mc–ŒœÔf£zÙHƒæ”¨¬ÕDBuIV¶û‡«Ì¤²+W­À~ŒPÌš’M­ÿƒ$9Ý¥Öb U-‹9Æo,U³àúu¼‡dÍ>.ð­“Š¥¨ò#è«£¬" Fÿ VjÌ(f…ÑXÌG$1A$®2J\†ŽiŠ*0ö‡˜¶v4ajõœ¥[® ìúÄ´™´fyþ¡£¡íD_ú¾xÑÿûnyþÑ©´ÝAk¨Þ³5b÷z`éëyg•“;ÙÒÙµê@þ¼Gû5–Ï2„üìäâO¿/óê›vIúoÃNOoÝÆÿw×)tçùµÆÑós‹ìˆ=ÔÇm›Énðÿ“÷ï–ÈPl¥1EЇ€}0G…öLVè"BSºÊ>ò`‰+%> ‰™®È󒢿ö@©ÝŒ'„N$£÷N£¦ˆÜ¥ c#^q;í§I®ëܶVóÛ¼sÿ¤»VߥŽ$µ3vÖ@››…ŽÏúf]©Ùƒ›Ž.FÁLŸ15µ~3¬µ4’Ç0¸›“³*<)®€n£\²#Ö±yÈRÒ·±Åëí›dݪ[?ø!vtõöDƒÐ…× h Ó´só-s·µP<†Þ¦g[GâcFD )ðizã—»c3qïÝl¤n=îˆÐHW´0ÕÚ6Û­ Ý¦j+)Êk©Ñ§¥^c3H¨Û´‰Lë©ÖÚSr`÷á÷¾ê«# ÇÕ^Š Ôà!’½!Êï«éí‘V#òĨxÚnéÈñ:ÂÎ@2“Ös%ð˜K¸¿j×´Ð6O¤÷5®oWkãDÚØ·â§tíA€*¬c#ëÌ™˜X^6_‘&àž(\ígøsk`Ò‘»ÐæFñ ºMk~+À EAœfo È;RÙ½8É^IÒk9ÒÞ‰žW µé@Òq Ç.Z(àpf+Ë`†„+V:$ÄpXù¡ì>ùu?)Ê1¸¸ ¢T'Ö_6«nŽõÃ<¿Yw•Ôyúê5ý¶s«(דêßu!¾·ôíoàC…;ÄËdÙœl<t¬rjvˆÿÙ¨U„÷®ù/Ú?ðO¹ñîX’–Þë7Hq@ýA@Û|XLœ  wfåìR¸ôŽyô0 »[±þl±N‡Öߦƒœš7¡N úÐáâ„®R§óTôj»M“ XvùÆzMXöUÐÛÿIÛëºP;`ØÝG>†aN×F#ÇÑW÷A´µ\¼­•‘c Ê;U•’Õh9ÚOÁU7tŽu‚æ,¦F3k^oBç4›D‹ßÝÉͦ-×í> §@Ï5}wŒî,µ9k RFï("‡¬ÈS÷zVæp´<¸;ô`Mc`6D89Û$Ã÷~‹¾:ôÞâÖß§ÅήԢ /D-H. uchßTM‘4E¥…¤›LS†:jš>lè IEÇ EbQÛS±TÉö]çÎ×l‹^KðšµÍlŽÍZ»mä>ƒ%¯.ò•çRêÅc"^ ¾Â;">P´Í“­œZϹÛý¥?cÅÃMC¦ÜÈw© <‰ 7RAo.B¡N)OÝ@ó“X ^ïÍL£¥LOkuó¯ù *ÉT•z6€Ö kÈFÊfh!D³)æZÔ긶ÖBxÍæKtLè8áßð4w¤;·Ù:,I;üñÜ{Fc;ÓÎ-ú°=ZÚ‰®ÏA9ÖG§›5y$.nvLW JS?¥ zMÙX”¼Ò‰m7¾J ì M:%q¡´œËòêÔ„¤êdúÆâ×ÏŸ¯®òååU/åØè: 0¦<+µIÈøÇ15}.± [Â]a•‰’„>±$W&9Áš0yTôúQ1´tÊÊÊ«µPú%Ö’lèb?½ ¹â_w(õn„dŸŽŽë„¿Y2^ÿ½<{Ö×õÓ×9”¹„ˆQ-‚·äB}Ìòe¹‡—z÷õÎ|aXÚÙÂ-(wf k RaKb†tY€þõ £ôÊQz]0‡xK㉾k¨4¹³½4/ ¿'ÖíŒä®ÓpÔêäbœ9’CöÛt~ö-´]Bw݈©¤¤‰Ì+ë%ú'/ì—çôÏ¡Áƶ5¸‹ÛEüËx G% «ñÀÒ…¼àþuœÍõxzrÑÍ hb¯´´i-÷øNa¦Ïæ²²1‡ãF÷]-ç0­ûYWÈb˜5«kƒ™²GµÄS³¢îM¡’+&˜|0¼è)+“}øé€=f D›â1ô†1Š„$»^´qífÓPœbÎdû'.ÜTµÊæ[ëêÍpnjµ%N\g”pæLm‹¬`¸$,ióòÀ±&"t E P˺^Qw!pº.Ò›ãƒpšç­Ë´“ßK/µ¹8VôÐå«fd™Ã\ONÎLV(fmU.YeײD¸C‘˜4×Âà")î F¦):º}IùÂú*rëy7¹#U¾Ïgªh‘£IŠzJ7Ä$d:ÛÅž&ÉiƒÞfð[Ù)e !7Y“ák@"º5ØÕ‰ÔY‡/Eýâ Ô娦ð4â&|BÈõ¯­àNC˜§“óR•Õeg–‡îp“žLÌ0ýÈ\aÉϳ)Pú/*`4nýëÍ£=íéhP”~@ÕÉlë]ZÍ0×Pbr_õ!Õžd­ÇñÕSÅú@¬kì´ð‹Âjp¦áB.àpÊIC ÒŒ¢_;ªw—bé´ QmÁIãœ÷z X¦ÕP}õä dasŠ5ÍQå¬]Éj‚Õ¦Ö÷ÖÒ²Å&LÃp(¦†êÞesŠQ­Cm×ç©AÚy«vS˜Àa@¶ïpÑ€ÿ ¢Ž[™‹Å• Ëí(Hu'ÚÔás¤Z/…Pe™.»h¥½¯p¨¥ú}IÕÈÜpŒÃÀó¬(ôm¾ cHpƒ5ëøN¤½gXê§!tÏGyêAkMÒ¢nØj¢ãQtÁ*9ãõ© É6™K¤I¡P¸h<"²á^š`gªÆGÉ^;[YvUËõiƒÄ‚5z4E¯"=[5kÃÅž’m¨Â+Ó«„¹yPïò:ê°ƒG?:nA\j“XÈ Õ”¹*QˆÔå))Ç•G¯€ÃJO̵F†–9å HìDÌýÓÄ"ѲlË„ìQT,©4— ýT¦Žê¨knêá04(u–o;ŸçáMF{@ûá›áÜ9ÇXc{&ªÅÅ/m¤fºKiß¶áK[¦JAÄ*¥†aNê:QÂ’Í:èSöJEgâ"@Rz[£ìS‘“z‘û®#bO8q,'r£D0;°S9P“l¼2j£/ #¤‰ˆ¹a쥉§Tàø›5!ÇÇoŠaa‚ï¨@Â]s\GÚDó¸ ÇáD-ˆÚj™»”WÄ\¸2i¸qèÙÜeð7R. ¢ØU&s’Ù mûvhÇ,`޲mî$QÔäìuD .—0¬8J™#]ßwc/âqÄ\,ºˆµ{¸Öèê¿ôë:Ö]ê–«Z§ÐüqQ·¼¨MÒÒà5µþ–×JA©S”:ÕgŽXââ”Ì>ºAµ:h’²&ƘQš0RúÕ„-ôæhm4̓ qŽÛ¬l/Ä•L0u•EBØ .€èéH&ýЋLÄ Û¸ÏótV+—?€W»Û\nW§*þÛ±S[Ó¡íHÁ6Ùt‡,YÓ˜MÌ”Ò=)šÍEÑÕ3Šth7ivºƒ_í¡°o 2‰d@f3*×@é”@V,]V@•åZÁ0$ŵŽÓ$»ˆ~©¥*Ôc`¶26þ¬¨kh™F¥õ\[zZ“¶ìàÞ1Å´W⦶Ï4p8ýƒPÝM¨ÆGÄ„jTȹE¾ùƒD}¾„ß{Q®f)F¸ŒM–ò3URÙ ýu¹Õ?(þa)¾©½¢†K3÷%2ê×\Wx2·-ñY, OîÍ© H‹7 Ý~z_mQ¦ÏQi#Ù(o©Ž5Ù-ÑêK€¬ ä:¶XE*­3tIOƱp×]ݨ‰ T˜8ü&éá Ûç>,ùµ#§€9@ …Ù>·“ıeê&Àñ@O¿ùµc/±=‡q)#Ç#åºAHQ“(½ó…iÌl±˜­¾ÓÌýõœ [2 9þ+¦ËÝC{Þºäúzõ=J*šg0|ò|à5nõ£šgTFµß¸¤Ì(ÓBó†ºÐý‹ÍáüÂÃ7tßø%´±³ kPÒ¼Ð=êÞ²:-«ïá0i'¬ƒ\Æ( “^t¡ý6áfŠ ;P"{¤»´w:¦Þâ”Ñ Oºéu(J.6ÓÇzLgìrqåUQ‹gƵÎÒ0MÂ%w¸ŠìE„*‰¶#Tñ¦Ü9Ñï5±-·©§¾>±ÒÆÇ©s“$IyE`Nä ×ßœøoùms˜)m„»§Ò÷Tœpå³x)Y# \4ö¤vSeîÒ†xSö~wmûõ©S™Æž”"dnžú"NR•$À¹)¼ûñ¤qÿ’xuZøÂxÏcå:/qð^ÙQ-·Ù­Œ¤—š‹¢´®,›ö¿ªE§|c­äÔ"ïX£¿{w©Y^µ^ÆMÓuÚb£Ï®+Pu›xÃ7JS)sŸeï­JíÞJc?eÉÚL#Úž*‘ºidc]WúœJq7Šl`Òqå!3—Ú¼¢8J@Ù‚y@üǤ‘z‰#Ñ%£ÔÙ#¯¨—ÅXêð±»"òl%€UÙ*ò… ˆè9m/ž]ò¢zYE°ÛQ(\Ém‡y1÷`À1`®@ºé^YEý¼`k‘±¤ì µmÂŽ¢ØKSÞžy9ýü«Øó=<;HDèÇqÈ@c,J}ÃÂýò¯:¹?N,d{!(hIØ0®'-œØel ÷g—Ü« <à‘+¤ á*É‚ æÃÍõ’µÉ]ûå^9˜YHéz&ilÛ¡Lí0q™â¶ŠývõmîÕž™K®dÌQà§ Äd›0 »ä+Û‰ìƒd.g~~IâM·Â=¤œŸÂr z˜¥ó[Ÿ`e-lȃqŸ}ñ&Щ®¬µW¤S7GûsÄîHÔ8±ñ¼jjÂ/G* öX…ꃗ £ëÚ šmœÅ¦û¶S•Õ‘¨ú®oT—P2åj0æbjuü M¯/ìï‰Utù(cêФëÁlPYÀ5¨Ôl¥…à[Ü…)‹sl~Ó+ÿÒÒ£Ú^DÅhÌÆÉ9KÑp²ïÌžZ$¡©sPN6Ëmc†«|&ë&ãºt‡îÌt0¦þ(³¦Ãaýj»éç¥Úɪ§" •DZMÈæp7—%¶pBàÚnP~ÂeiŸìOfQ¦Ò‡)&¶¶c]Fl2\juIMêà,//ut ݵ®­HAµœ7SÍyÿçú¯¶–’.ÃÓågXi t2%µZÃö ÚÙµ†ÈÄ8ø1´¨QuäÜGlܤwÝüÂÖêƒéÒQ´\ëÆPÓß}hVO¿J˜éǽQD²ŠQ¬ª)´4ê9D-VÔ •ÆàucÓõ…aK4]|¸n=™™Æ l^¢ç‹â4>dØ¢3íÕqj*àvŠ“AS §S¦ƒÂSë×R×*KU×k¤¤ª¸¥ŽUýÓâ»Õ‰Ž!ŠšrmŠˆÕÇL.;UµèÍu!üLe„z7ºNn¨+?K ÅnU!vI‰˜9–“ˆDëPY/åÓ#ý·Ku°ò_oê6ãIhžÏÏæK]dªk›!êW;;ô7‡¦ÿš‚þÚ^cú-tYÇmÁŒíÁö7©· [™7ï˜#ª®´Ÿ„§u|I‡*é’<Ì~(Ø’Ú“p€€8(|Ü432P˜4ÑæëD™FIœÕ€nüiß½³tM‚A Ö«áå5n„ð @áºóšwŽT×zwÆôð5Šì^‡ ±L·-íØi$˜´SîqžxŒÙ*qîçÊßß—¤ë÷ Þ3ýÚÓôV|VŪ>ËNÔ:+7õ«¡0ö­äàh éÇvÌxâܶ=;ðí8pýP$.s]ÿ¨£7ÔË{=›iü¨V‡vX¯ëkt5·þ7qr’€{Ò[çüc|æ9ð”Z8hn§eþ>¯ÏSh¿“¬`Ên·¹ …Â\0­b|¬g÷r™‡e<*ð Ø¡ÞûÀQ«ñÛµc®Ô=Ïh·â§Éxêþ ·ä‘·Í—ïÃ~àó µ¦ÅóY·è®u†nˆÚlÓ7ÚYÞƒäzüÚ¾Sôî^fò*Ë–hy{b¶.„_· ¯óÅGÓH—̹¸@ÕI}b¸£FShrǪ›¼Y5Á $/m¼qÖõ?ÀEÅli²p&Kú¤è…L×ô¼9œ ×uð&ñWñð$f÷w’äݼáÒõã4‰ãÀóA±#ŽY&®Í\?ˆße{xÃû¾jn„ò„c»Q GH)ÒP2éiʹs_µôDÌö%g Î(7"€‹žØ ÓÂW |*v#å1ÁY2¥b'u|`[>°e8±a_õ6þØŽ¿ZÙI䥱 cóÀõB‡Û"I`®C"µá¯Þ…5 ˜åà D2a+©zÂS^,l%½äɲÆÛÚa;w¿ïstVæG wŸß{€¨¹ü¶A$ÿ˜NÌÇ#üÜK²ù!ÃX·ªÛЧü}ɰµG·OÄÝnÀ5/¯ÉâÜ ‹ë]M3;¨vKÔ6: :­¦¯ÔlÑ:FÖ<’†µ?´·£Yéõ¼=wTM#F`E‘F„Øè!BÜœúGnëgC{AÕÑ»ÅÁ0k”%Ž+$¡’À-]EÀ• t¬ÝÆÇkd·Ù‘=R*ò-9¾ðUâÊ4q,Î9±—r/ôì.†…¾»gï¿ñY¾,¦Ø‡Ù¸"J"{á¦ý“g&#¶g×u§ZC©OáNx€ä+­5è¶uÚi­Õ—j®q¿î¯:§-iÚÁ7³vІ±–];íÔt^­¶×~B<ø½ ¸‰«ŒºÖC[¯ùç…¬Côç:ö‚pV•_«Þ4O¬ò¥ní¬Uj›AŠO0åd¨a2ýŒ^àgjµƒ*FH‚ÉÃÙ\ûÐîXŽt_ëÝækÒÏ1T*›g×Ëk²óÌfõÞL<)_¡QüP¥‰¬Á-ý¾Ô² vá›ZÏÿÒ¸š×1ÁLGÍ›>ÇMc˦Ì" àÚÍ@§öLw¼cÔÀi6ëÄáx“îàTi­õy·§wÃêÞ¶3®toÈW» 1Q`{!Œ&|é+W9,’Òñƒ4‰&žûT…˜‡)­ioŸT‘è'Ï.¿% cÌë"9¸„ë…uP³ªSŒÑXmí¬ 3"¿©)‹4\²1Æ3k9Ï~Ž^j Ð Ó!B=•M‡&u‹­Ö†õnLåÖçu\à\ÎuŒøT¨>=ã”Àý°EM¡Yœ¾6ð·–û暴’Su óë«%7iÝŸ/5³1iÒ&kÙ%û€f$ks´Ý`¦ݺb)*¬Š üŠ}ÿ£¥lpºfÉ}' ”¢uj6¼ÿ©¥÷f^YÃ*ãŠxÉ/æêæå9¿ ¶¬6íW­¬›Üô®1ч “Øãí.åûú¶j30:Ç—É‚v/üÝ…õca>ŸSs½¯Óù¿( åHøá]ÀO‚1›ýnÏ–­½ØòN]Z¦l\ãý–×—£’ù’ö¡÷ž®êŒ—šeg·õÆÔ—ù5èŠf§†ÂÙ*Æz®¦—SëDŸçxéÓÉ)éµt†Àºˆ±jAÐ/KÕT¬¯ódho’” ¸ñ˜Íaä¬ZIÌ*£ðíª(†ÔÔÅa'mÈ®©kæyAÖR ò¼ _ã…Ó€iºM7‘ ÃÂTòðE©Þ¤^w#:ÆÄ¨ùã“¥ÆUí¾z¹Ÿ4•Ä2JÒ€GN(ý`ë{~ÄUбsÒV_T½áØý8ÁÍ(@-K5^¼Ð©Y̓/°²d¿SÜðT¨ÿ@"B/nM'¾µ!²A³šo¼×ÉŸªäǬÌx6˪•u•Ák…€”ƒµ…É©«wíTêÙ±¤‘5<" ù‚E<‘…®›²ÐCg!›ý£YG§þ-uTï$ð±sñ°@ÑÜ„¥eÅÆFubÚ^Ú‡±«Ãfo6 /ž+ää w`¦Úà) ðïTÛ¸þ(ÕÄë1_“ýãšR×~Xh–Ÿô²Îj»©é­W÷×Z›}bÑL·˜dÛ®5¯×™=hEÎ…+}`Äœ›íäb€o0=LÕaPž[O03™I53ëg*ïÔ䡸”H)¼$ä~,”§x*Ñ$º§ŸÆO•RÖ‰&zðú‡Æ¶c7<@6öM”‡¥~ïTUÖ¥tkrµ™) «k'ÄÜüUßé†d¦‡%>äÊPS!ê ¥ƒ W¤p³uãFÊ‹ŽÊ­Œ: ½Œøb“nqZÆd㪮6·¥-Y(]©ü€9NÇð‡ˆE ü§zµë¶Lý«M=T=<|M®Ú¯ÞLú_D ú»¾ƒ"à55ô€.?W5_¤ÛE}ksíS¯»Ì@2‘+ËøöÛ™^ÜHe”ܺ̒Œ@e°ÚÉî¬ÒÑ?‚"'õ"w»tnÀlñĨÄã>ü'L);u|׎½?.Ý¡°tF{´nÀÃÞªšQ!ëü{ÎÐÂTË¢mËŽúòpn½s(5jëß®7¥÷Æm¡wº2ãõhŸæ•A»¤,†ª9®â‘f6?÷éõ*\ã,Z¤dÃÐi«C:h¯&w]–ÔÄd™rÕRÍG ”~™•ªwR5Gm Oóž°Æ¾±ä‹´¬=„ݬwa{–“ÖLÄ>à5¬¢ºë]û²±»ttÐnaú¾ªg eµ{ ¹œU¦‚h‹i£@‡jh½´O8Þ &dz[Wú¼öª¡= <õL|ý´Ä6QubQÕ£Ús¬×ÌdU2·wSAfÆVON8£&S¤-lµ–µ PX>ª–-ÐLU®Ê&€¨7媮§š}‰ƒðÂæ©3ìÔÄ!z7daýónµ“÷1yö–lj÷{]ßvô“~œópi…?wá°£*bóHr+Ûõ%C‡IžÀî„ïF^üd£ä* OdXoj'ÜýÄ«íL6Ÿ=Êã׋œ’Ù>éÿGÒ„6«Ë•‰_§±à 4v‘° Œ|¸' ·,HñÚpË®1êmç ¨øJŽÔ1¿éÖ€gº~L^—NiÚŸ4Þ4#öÑoòغÀ—qu—ÝOœÎ“ub¨ßÓžrŸÌtåÆìZ ‡å¯íóæAi·vªgs]>˜­tDËÂï#0Ì"ËŠŽá·ÆMÎ ã4gÒ„m°šÇur?žÐ.uy ´œÍÔG5«Jõôõù’·NsÜ>¶µ”t´Üá®@ƒŸ vÙv?jW¥ïœ¾WÙLÂ/û¹mßt¸KÝÇ´Wþ"§ ·1—þ áBS5¹^ÈÐö5|ªŸÏþ°¾WŒÕ%P€:ÙT+BObù~WFQÊ£Ô‰"ÎT ®i6G_lWØaSZ}Æ?Šã;7¨Øõ}î;ŽJB%<îª@(wXÝ¥ÄÃ8(¿‘i'þ˜Ž(1=»¥GÀ6CN6CÙ(©è\]ÿµÇ(iO«1F&±ÄŠzÄÈU㯭ãW®sRZ½‡Ša¡'ÄEu°¨q:ÍÕ¦pb-礌ëPX |¬©±7*ÃõÏ£æ s}PÖºw#]ÎÌØ'ýFŸ.d¿™ìJó!öôÍ>0Ç).T×±Õ\°·ÆV”¬#ih&4­ês†u£ëZ$‰×ÀųÖÙÚ¸ûºv@‘¡Áb)Jº¸GšÛY/‰êÎ~ÑJ¶X(V<ÁÀ‚žÒE/]t±õŸÖr]ÇŽš‚v¦íÊÎo˨UaP×á¹–´‘Th- Írè{‰Õç) ‚b¹Zæ4DÓ´4Ö’[ظ8±½ÕKËýeתE;ÀËyº“†¹žˆ/ŒœÔIA¨ð™p½@¤®kcã,ö‰ E¹gLé–ñwƺî'RtùC®”+îˆg%Jr (§VëO»í–ó™¾|îù`Hçéÿ kæy:3‰ç¦8qê"[”Q8ˆAY» ¦ÖßÑÞ‰%òÏ€ƒ¡gÀx?ê}T…2$¾[¶!óÐË­íM˲q<°r»PwϾL|?rÌ#Á¹”ÀàTàº*á*rd¾¤P9”ÉßçO.Zî©ÕZd ýo˰|x†ôàoyK8“a@Àº%G÷8º 6CÌ›mºÑ3ý¹¤œ®:j=–öšßèÅÍÐÄFï éž7¦+HûE3 ê%¸„Ϻ­yÒa w1ì›Ë]Ÿ{Žø®%ê©Ã‰=[½îÄ÷üõžÀ?OSí§Fg9hž½óŸyCdžËB%œTSz?\yN }'U±º gqìØvì{ÌÖ=}_¼Ø –Â#Þ9iDG–©fˆÿÆsGTpàèô•êÛQПÍÐdüÖík½±šØ÷!d7Z¨!7 h¾ÉD®üÎ@–/4ð7²ŠÕÐyòCUê»Ñ\&h«*rrý×Ýñ†nÎ-ðª8×^¼\,[ç]“Н Bè‘¿Ts`MÃ<­4Gç?žvšÊöâå+ºÎ²‹²çCpDù¯øê_e¾,Dmº êKWº.,|Û @ÏÅbažžÓà“ÿç쌶MÉgg}¦›æp…€•Ÿ_üo³äÚ}«—qUU‹çç777S™ZÁΦyqyŽ>ýOfQßéç„Î4ž:S·Ïå ÿ‰o^|õÿ˜ð“w`×Ç©áá^qÛÛ‰‰‰â¢¢Ì8¥XØØa¹9ˆˆ¼Må‘Û°à‘ #Î*j/GµÓŸôt•÷÷ú**ñÞÞPÓfNWi²ÿšššˆ…BV¨7ZèÍN×:[[[///KKKÛý‘u Jt»ƒ&Áä}‰oïAÀ{||ü«Wf‹uö®7'Ÿêz{ÿåæ2âEÅ'$äåçÿjNb4ê Å351aËìïÇcÐ033;—©¼Ñ, Ù8]y6©¬SRÁ¾Ú×Ûk½ØéŸóMTT”Ÿ¿½ €ÚAÛ©=::zæ_ÔWÂÔÜüüvúÖVï‚:`i&¦¦înnþÄÇ—öƒc6”œ„ ŸC^VÍAÃÙù–þ‹ÕJËÉÉ V†Éi£Á¬¿/¢H7--^nîäÇ/44ƒ--å©ñqד•WÓª8þ2ÿ&̈‰3 p»é ÒÒ ÃldQ´¤¤~„ð" [\ršF—K“+uè6†F/ÂÀŒŒõ§Ç{ªÏŸ?SQáMon¬¯—ÛnÑi51Ä|åkƒÎW™Ï—h󋉉ÙÛÛ›˜ä%&ÎÇÒ¨hhjjÒÒÒ‚WVVà:ØÙmdñ4k5¯ÍgKž_\PÓÒ>®š›êæçç×;¦YȹnnlìØÝýÆçœñ{G.Åe·ó]C;BQQ1?á‹þ›8Ó¹líXS(A¯ :¾Ý”0HíÞ>>p(SƒÞ ¬.`ba±8ü@òÕÂòǶüxðÍÒÒ’ýAߨø_aa¡·÷·fG ±õ=õêYv1UÕ»âæ'—Û3Òi׫ƒÙjËåÅzÇrG@ºkA$èÆLoqqçÀÀ_›Ð`ƃ­Oæ ²^›ï_í `Q+{Šä+"ÚZ[÷ ý ë–C]y#(£œò2¢éááцòwÜ›]Ù! ·zIóù è…RÂOò__´èkCìlnoo1ÞdY;›Óð Á~ùà]ç%utºÞˆM»Aý)ª²ÎO”èòóç7ôþ%PûÞ+RŒºà¾¾º’’’a^ÏØáxƱÞ^»z{m¸ÉÊxl¯¡â¢ßXÑÖWfb’È“s.y ¯á>#ræÁÂJ~Ÿ<Ô`³Ùôarò’J)#áâ`Vc†Ï^ôm' ij2ÿ9{/›Z¥ÉÕ±¬ÄgoðÅB£Ç£nl.«å3³n.jù µ¢×Ш/—Ó׌ .ýô µ;ŒàOd™ Z}u 1Ô3`įä­:Ú||ï»ÃºûûÄ``Ø÷8‰FÐ@D8|ÒÓ?£†Q×öÇ…-78'aDƒóÔAè¾,6? Ò|ý窞ÐÔ”WÒþJÒÛÑ '¿0Ë|×þpŽÑÑñ2Þ€(I:8i4æUsw–åt87BÀÛõ![š€ìÀêkÿJzH‡¬ÍÙüîxX©¹¿íðÿÿh—–øÀ§°Û.Ï:MŽ à°!VŒÊË»³ßoûÈuãtWñ˜ÄNì‡b„ÿòMèr3U, âÀ0]½›óåLé\ \.OG{½#ïá!ÝÅÎ'|¼ý¢¿I@ëj-¨Bžî¾>%-­Ë!|Öžª5D¶tZzúÅÞÝÈÐÁÜ4Bá÷ïEµ^Ï¡dc@Ð4püñy>ìoǬj¯®j¥ç‚¾@ém§^Y•ù¯&—ËÞÓõ_X´LXl^¨`‚ƒ÷öwó•¸\.(‰toN_ƒþ® ¾ô7)/Ï.àWm­FðùÉ*.èî 2讀¸¾~rã£_CCdOO¥‹‹›æ///#cT³¹>(€‡f¯>F¡xÁSÒ«4ܸ©¨0û­dMFÊQDû!bŸ5ÎÒ¦?΢ F‚µšŸff’b j×—ê« V8¼µMO÷Q1Õ½Dnží†>ðŠŠåæÚC V} |é´¯ç¸t Õ*S—«Ú+¯´–h(È7Euu}][!UÕÈo*ù™Ð³UŒ>`Âè1±•“÷…‰Þf¤'abÖ#p~ T¦Ï‚xÈËOЪڡŽ‚ë‡›×C‘à ƒ$XâI««ãùbS?4ïïç·»³#"&¶·³ãëïos82=MÕû ¥ QCP&Z‚ ô,IcæGwÍ•=äk@~q²•ËÍI²V3–£^3 n{ëëë“‘‘‘€CA¹ï×ÖÖfê'&'ß¡£ƒrÂë~·±²â·>85=}w÷‡Á»<Ü6c0a¯Z÷䦩ò%/ñC…t©Õ¬{Њ«-=¬¦¹ÈPääÆ÷§‹Ëµ4ë;:|÷·CóK ‹Šbcc·¨ÍèÛs—••EÆÄàsØíD‘KÏ-Ö+nVQa'#3¸>Z|óæ `wP¹®~=Zzðz<Ô$$àz‚Ï;;ŸŸ¨hiåå©ih6qùob¬´Å^y¡ˆ%%·aäõ(Æåª).i_¥%'ïy´ióE<{ AFF&©9jôóçϺºº$?dÙ¿ùùû·ç¿~ýB%à$#6T(îé驪ª –˜Žnxzzzq19ÎÏõþêð|{˜)‘ÕRóëWˆ¦ÓÓíóùåçÏ,˜>-•¼†¯!N:¥ D•ÜåeMð¤Â&ÁÁÁúúbúqàÅÆÆFݱtõV@Vvld„žŠê˜ª×íô¤YÏ)Ê|„h3p`´qº~гU èüzdYBËlhø°ìq{–•—÷9Y*gÔèbÍF“Ïþ€;!§¶NnUÍÍ2¼ÚÝcÜÝ/.ì®ú+*˜^¿~í¦&-}Üê§nª#”%[^^’`ü¡½®W ñµÑÑÞ„D¶‰î_åÑá¡þÔÕq Ù8;;»µ·´|USãäx9TÕÔ\gJ´;­‡g!M!ëf—ÊÍ÷ü|]-ã"4´´Rüü/õYAA’’2!!Áñh¡Õ-i99F†Òìì­ñéþ8ºîþZ–~Ú訨û³Íe¾Æä—CCFFFSsi­óžÒvÝ¢|3xÚwŠÉÉÉ¥¥%‘wÛ;éééB@m¹\ì€Ã@Ç6‰éõ×$’ÜÎIloéè¤?9õ… ÞÛ×××êè ""—}@Ýpb¢t ¸˜Š›þ±1Y Ó``ü<ïd(¢»&ç¶æŽ Õªå\/vJ-—›²Ñi“¥”þsÒã8!Lã$´û"ö3BZY.?%1nO,Ôú Ò¡YÜä)ÞMÔ×Ôèvww¯¿/75i¿ïÂ\˜CôúñxwÙ=Dû£~Ðý~ 3¶êäüü|2Ü˼LLrûc5俇×:Y³ `8°}íyaú4zœ‚É|~ç¢÷yEE±™UÈê £¤™-|ÜÝþóÇWŒ†¹òB~ˆÆo߆ '«Á†-˜½ˆþç¬ì¦åúëØúúÎxضß0/òÿdöú8khH›ÑÇÉIù '¡ê±W®êjÔ‘±=ç³L-¬Ÿ˜ÐoüÚn˲ý— ñD•[ý€9Íz)('ÈþÚEEo=Ÿ&4ëü%°Q±Ÿ:,1Hû{vúzÚé]D{@'mI6€œ îŽ÷ vkÖ–]7ÃÂsÆ’iã\­´vŸœŸž²—•É¢ xÎΆŽç”¬ï¡ \‡ÑCÖHI7[}ŸŸ\c{ Ô°ë]¯'km)é47ñóª<Ÿjm‘õõHüð•°_,ÏÍÊýõ˜ñøïÄøÝ$îzù™R+¾ †ôô²¡$ÑÞ~ªÊ2Ü£ =›Ìl  ‚_´¦½=•Q„Õù,%å(ǽ¼¦æ; CvÇ|î\îÎ6Éòã/÷H©ÒêhÿÈBÒY,³1°;:å« ³4þx\™½‰êU/Ó[ÈSxSd£E¨ñÐæö,c:U«n#·¨ˆâ@ùI0‡±½àöŽlbjL±0aeCï3ñAÄȆc4ÇÛëåé……ê ?|DoBxŸÖºÿÔËSfæ‰ÿV6@ Á6—›—·46&,'·{¶9 í}rlíôpS§4#-ˆˆ[_¯vqHEwø•Ÿ4Êbù» ?ãöv‘{>6fò`Ñõ×·Þ²’D$»‰±=ʧ¯r/AÁ’‘Qq5’ðxD•”V[’ÒÒ®kmÏ0ôŽ ì0öx9Égä×ÑÁŠM›™ÊÛ,!'Ç&=ˆ€êYáxLÃÌÜézÍ‚òqA‰‚Á‹ä ¤¤ÎÉIMѨÑ_®îÕáTUii1³ƒýJSró9&…è8OhÉ—p:ykÏD’b7yÐ…-Ïœæä¤pßWy¸;Ù3©äKdcôÚ©Â…€<8Ðscuu‰2T…ãŸÌøÅ±h¹ågßõ±ë·*LÓ“Bh¯ØÍ-,×å™ç¹m|î¯ÖÖ“uöÚ³³ËnnX4ÊôyÄõ°Þ`Ž*¼¤ ‡’œe…„¾¸ k¢Ÿ‘¯ÿ­G/è|;à|Jûªõ'% Duå8õaSü´7ª ?Þ\:U*…szxä;#±Þ¼Ôk ÀŒ†úãœÉ¥:Ž—¸sÚ‹^ç8Úþ‘ò¨·Ý>À¤’¸mNCYîE69=NCã>1ÑÖ®d/±vÿÔ81Ê›™¹wa|ºgÿ5,¸s2|n\%yyÌ÷µUºe‡í©ŠÅ(GÓÅJßÚ„ôõyx…Xÿð’Â˼8䤦wà!3oÏãr/ê÷îÐ2¯¨ä`{?•¿”á›ôÇž‘§Í$ÚBn^0×-‚öÌ“‹}Æí/ŠÐNëòÒ5,ßñ¸‰ÃidnÉ£àë}Û7¥ø}m~ˆóãP@üÕ°¹±U••Y,7Õzí\‹‘ç¤Y.‹QblfÜ#Öqª¿ cg¶ü8ŽV?‰Ë¸ÿ:hV³¡ÇÖio”ÿîÊ\ÉI‚_ 2½ u›+¿I)wQP ='c²çŠ—ÈøîªÉº¦Ìû¶×óêqª¼¼|­ç3×Ï«oõhÔFûLœ:pü§_ù{Ønh“ˉt8Jš0–‰Ójåh¶üº±q›=þMnœªàsc€Wã',Àè-ÍÊÔfë]ù°°¸ýq‰ð¹ˆÉ»[›k¶Û±AfUȈˆã££ÑÑ££ÈÈ› ˜oßþ-.d–&‹‚CÂAûð!;ýeñ%^ÄÛãé½¾¤U(ñïs~|ûܬŒðJ7¦Ä8f&–&÷{¹¯‡JŠS³3I££³w+­Â¯ìG‘8°P……)Éɉ‹‰åHHI)Êɤ{,«¤$-"ëéb7ÊÇçµæoV5-­ãý}Nø¡oC¡,ësPóÛøaÇÚŒ€.¼‹–ãó©úÈå$üõSA*yO×hçñ(9 ÝåÜI+;;{ºX˰¹Áá0!(Áuz0‘OI›UMCƒ††fPeæ‡@˜ž¾>)§ÝιtJIØB½cqCCCY™„ÄP‡˜`ttuñ*†+åŠðÔªÌv§ çse2šÜn½±»::vvw#zõ$%]ñS_7ºG+A ñ"„/Óí¾äqwy)sé§@ï+«¥åå…©çS¡õ÷ö202ê6'Ñk“’Bq Š¢aÂ¥¡§ÿ®¤W^Â÷ÑÎÞ>™×ÓÃÚútµ=@©H½WSS±­?667oïîêêëËQWôÅ~¾ ¸»=ߎ¦”[XX8‰Œ¡R>-ˆ7nîGà“´åNá¿»–1C’ùÕL11¯¤½úãˆt×¹±°ºÁœ@ò„9}HÂ26&¦T ¼ôþïåCôÿk¹æIÍ:ôÿZ®é¢±r˜rvf÷×ÞÜÜ<;;sZí Åþý¡Öáp®££ckÝ6dJqÇÜPòôö0ëNÅÄãP^×+÷»‹(UUîb-GÙ½¡ë«[©ÿ^¾YY&7ØÛÝåv:ñ2¥AjÏ•7qp¨Š±Å¦ÓÅQüþÝ+ç#YT/m\dä74_ Û#Ý¿ñýþ=0Xiרè~þ?hÕÝξQç&>öJSmÞööìë瘡ë.µ_Ý£*êêIþþ]÷×ùyy²²²LÌÌÇ ·Žš÷K®@V133§ò¸«6¹±kUª8üMJúàJ49ôråæRÐÑYž®u†æÛ.Z4¹áy>?:êëoV™Ï &øa©Vîµ 2á‚9ìGb3†ýZßÒFc‘˜‹+ê˜f¹ñ^LÎv|o²• ×ç8´úÕq/›ÓJËOh¨W|áááhCÚÚÚ>p¨d"7úÚNÚç£óójGž*ªª&¦¦ùii#ÅZ¼oüÆj\äªOqJoC»È¡  **+³23/..f aj»ÆC®ÈÕ­ë p Må¥ìrjâõöý1ÍaÃA!nuÆr™¡¡§ĈjÚ•êL&·;;I999yx>ÿYûfUý­b•Û rÄôZcºP¸ Î®ºsÖyY •DAeZU¦»“Uü[¦¦óÿ-;CEaÒ€ üÞØhI«Éåß,Íâ¶·jÝ9:ºÑóöt¨jM<º¹²ÛN†\Šdĉ®8ÞÍŒ‘‚B·û÷þÑV"‹ä¦nyÚ¸×[Ú`÷Õo 9Ûvöww<ŸÏ£Ý[€éþ=Øm[ñ4=œêIDôQX€ëé±Þfí1ÄpgªOeÆÚáå ß¾}ÊNµ\v07 v»»è˦¦¾øýA…Ps6VÊp©æ”‹ž~ýrŸ *Å?Êjx”T×hêˆ!V|ÛÂ9Œä’_ìrçâÅçÆ‡¶‡m·nv÷®ÕHI×”œ¼ÕÕíüÚÞψCÝÁÁK’t íƒA äh àõ|úû}ª*'¢­-¸ó×ð¿|*ͺ ÚÙ«Íþ†´´µj;~ñùÙP§„o ÚÇW½¥Š¶fJoòî®b,m‰II'Ï·n¯w>Ù^îÍ- º×•WÅb½=ecºXÝî\ïFm°jÕ>ÛødÅ"”vòB­í?ttßJÓy§ƒå?~òÍßAíýél†¦Ã¾nÜêÁõîTÀ­M®×¶»cÍꃷgnoß¼œJÊÁq¼j` saaçóáÄĵŒÌÐãÝ%ºÀ.0òêëP8Tž¡TKŒÜô±«K/ø µ¸nk¹úm}ª( Àç|[î5Ô‡;Š*¬˜hyvt×˽w¯__ÎWkh#ûJ! ÓîpQDç *mæzqØÚäÌãþÇ ÊôchWÕ§Áa:1±¶nÃч[!«·ß aØÑ™p×7z;: ççUé8Ý?=Ûï·m ¼ŸcÄÆñ6í)ÉÊVz;ZAཹ\.vºÃð—‹kpX-’p ð|Á°_ìxoTÐ/ì°UwAƒƒb9Œtšv;+¿ZLLA}‚†Î41¢ðó+Lâr¾Ú½9]mÛÓ¸š›™9)å©Ic tR—‘©×nÇXÊwr]v»:¸ţůí£á (SZzz<77ï†w¯›š›ãøüY¬†!ŒÏm÷§/b›íÖÓZgFL̦SúÇ' ¶¾ïáë#Úf@šÎg€á}ñlZ]öö†i«'©ùz Q{–™™9×é7½zE®ÕР£®N¦¦º‡ÈD_•€»÷—¿ôï_ÔÊJ×îŽ +×hÇô´e á²9›or_Ôl¸YZ‹XZb­¨ä^n¢AûNRmÑHO?£m´“NœF Ðý¶è¿î£•ÿrÝxd&&¦¾>z ÑÝæ÷Ÿ ~¶ð¤¡´ÓÃú´ÖJ’ ãUÔX_ÀÖ^qA Õ@V¤R¥X˜'ßó¨gܶSDxyUÈåÀ¢*®º"5{<ªT¬ÍUþUT$–•åΰ s|||–n|l éÄœ›»õ£U¡Ÿ6NŒØàÐË—/&ÙÖHíoÞ<=Úöè}™Ý^Þ-H`È|èuB+OJ§ó²8œH/iÅ©iá0žê›¶T?MM”u˜Ò‘C Øi¨Ý^4ôå^B£ëv_ŸÃÜoóù*óvdJJÊÉÉIv à{[kkjH€ò™šòxz˜ˆƒÝÜØhòx ¶”Nd/¯©¹D æêŽÜN‚ŽfýØë½J‰Ùlg<£4“§„$òäÄÅÊÁlެ§+m‘jíYd^^=(»£Å?PÜ PÔ96vÇ‹ƒ‚oî¡»€f¼¿Zù~vY‰ÙÁ$§Vòã•7a¡*ÍÀždœàô.⽡Téɱ½Ùj>«“ö™™iŒ`F‚òÃb-OËl==·“‹¤*“Ihô žâØÎ_©©©%ühº€CØnoÏ¥%$®R¸mƒ:Ȥy<Ûçïý;gJÝÔ¢ fòò©:;‘Þ]½V#¤~9áMß÷ïá*FvrpòŠSÅ*ï8 ªêëa´\|Ò¬–7Ÿûùó¨—èÈIw´Ò›µû÷ÛÛÛñò>-¬[Ý_õÎëêégQüg­ªº™o¤“¯ F‡øË¥O«jÕAq6JÝ.ŸÍ™Z“Ä¢¢â”ù<–ûù¢°pp¬"âíív¯@e]ûÙ«§Qn Ë(&äúÅýê`þh‘•›‹zž×>1<¼˜Å‚‚‹Bµ"ba“ªrfÈ á*ÔixøIvÚÊpžÂ»š#ºb•r²‹âfغºª5†ÝPà«ÍýrÞÚ1ZÛd.·-¸„€#Q'üõz\Rîòx9ÿ”©}a¡ˆ>¾À§{µ7Š®¨è­üçdzM…wd;Uêåz†‡s¾S`bV|äþ1'°e8¹:ÖÖ^Àv®³úÄMº‰ï·¶0aÆÿkÇn+‚Øz{8G"…kc¦ÔÏÜB¸#Ë¡Pa®d•'qø¼ø Ÿ½ >Nƒ†Zý5ЭxÇwÛ©¯áŽÌf~,m ¯zÜÉo¬¡?íÊE„ §Ã UÒÉÊ‹R^Ö”µ™³ýt.ÍãO‰û~71aïOünÞöôÀä PpP2@¹¸Εɬ©WUô{ëàƒ^æäV¾¨b ¦Ó¡O®Ý]uÕ5E@ÕIJzèè` ²4õƒ^Ùö’uPØVODÂb]„þl(ìÀºÀÀnYYt–®PªTtÅA¿,ÚG†Sç)¯Ë-3Cñrš8qAþÚ>?Õ‡„ ¢xPSåïŽòwMØ…7>*¿‹âkàŠ†‡‡1–%ŽŠEûa±Ñµýç à‹bMwt  2*ÉÈšfkNM®d«-ë«jr‹pþegg6ô÷Ü„Gœ®Þ_Ë¢±„\ÍU¾“”€ÝÝý×òs`ˆ†åÊ^T4&*ÊØç,•÷Ùl]ß”Ó`obŠ£¬èwˆ@°ÝN+-R%¿ixtÁõ>}Zü…½üiªD{Ñ…•_Ï(—”øõôÇ@4å”·/7UH³ŽZ[©ØÔnÜøøœÝºI£«-=98€c"`£×Z+5DúÂÈ«ØßßÿçÒ†i÷z&"ü¯ 0B¬~Ï–[bÛúœµ´„î\êÚµª“žšž^÷ùiþîÎäúØdëçÌïû®ƒ ôº„´`zGA3 N%}7§¯Ù—ïk-—ÍQQûµÛ'œÍ¶¯ÅX«AØŽ°ŠŠ°ÐÑ×¢ÿÐ#ÝoüaØ!yÁÆéÅnÜýõ2&,oÀÓ½ã&ˆùÂÂÓ¶¢Æç˜ŸZp[kcm¯gÊÊšÀx&'G½½?ÐP_ÜTÿx¸»$g¯] ù6L$'‡¯¿)õ”ë'…f³‡BGÌÆv`ŸöÇc1qñ¶ôädòÕö1þ€#,,Eͦ†„85'êƒø{áß¿?..//7!c3Ú•À2ÂFF¢g_w"]\NÞ”­ Ñ²à tÆP…qsgü‘À &‚÷ÍÍëó¼•õNÏ-²XÏ9üü›†Ãq/z±ÁÙÿ@5&ærvV oÙWQY¹ÔBCÙ᪟ӠPY{ì&ámk ƒˆôóÉÅ.öç³?Gý="ˆ±~zÀ¾ šÓ„~ý/í9e¢ÿx¾ŽÔŽíúü4)*,/‘-…ßoþúôªÉzê—¯¯dÒþ y³½}hxTT“}ÿd‹×ô¿¥ß?º¾òýßèõ‘N.ÃãV­w´Tцƒ†y –SÛ&µ¶ç£ÎxoSaYY"òœ¯ZZ˜tÃ=7hïo1ß´øú†ÊÊ’p$צ¥…Ì– àiøšI[ž%û~w·$ë®´~oJÂÏ(¿¹]Yü„t™l‘"DÐÌ‚€ŒÞÛ3Zï§ +n¥ ’Hæ0»¿Š*Éãæ»ÓIZe ºA?»nxÌeŒ˜>~¿@fnnaVåÍvj¯¼Í–„â”’‚Âm_ŸjÛä!à(DEôõ/÷iùòNJÒÓót»×~(]mÓÖ”›Ø ûèþ™òŸ¢â‘¶OÇ’ÇÁ†¹F—Ö¾i`¾ƒçTqMž]Ó ýê1$ȹ+>©¿ïNèoÁ¦e¯“Ù’˜˜öTJ ÌÍI8Óï}&óµ» p/¬¬œÀzWä ͧ¢25=í±X÷C)ÉÖº6)©AEJªîñT,WçÎŽ½wð¹¾ÐŸ¸¹«­Û69t½–c Œ°i  ¨ÉË+É%¦Ê~•™³É -Ï:4$A¶}Ü á7~¥ªsŽÀJyy{o¡µKé1›/R>=Æå ×…̽˜ÌÉIù+–àtŠà¹<_èWíáõÅÊÚg·×##’¡~ï‘ lÎêWVàúã+hB€1š*”a`jˆîÕÓ"ûÉírÁNº¹øx¹äö¬)F&Žƒw½\Òº° ŽÃåý‚NIIî¦OŸøH"àíí/ž=EwÆ…ŸÖ@âÿ“ﺻ\UÏ ‹òKßÔ ¯?Ï–ursº}¹ßþ+8 ZÛPíCL_I9âÈØž±A¶®Aöý´Öë›/Ö¯ê0^Â11ñý-tD8áÕÑbcIÉÙó¯Ñr·7ÔŹÜv;ROC«…¾Ð­?úzD¤Yì¦ Þ’‘ùÌ]™Ù>°G/ Ë`4T¿Bm›šºYi…17úùHþóÉ'šx õj‹à8%¤&§¶*sÆé‚x/é}wdx‘îmgQŽäÑÂĉ탸&yüdÕq·ƒ‰P†Û#tZbÊÔH| ?ôôÝMm±!„Èn .ƒ"Œ¡Ã´f´PcmbòЀò›#¸„߈¸Š:Ž­fŸåJiñûÉŒ€³MUÕgžÒ¤ÞyùÂÀL>iéÖ–¯Æ=h΢½Ü¿ÚKP=—kN“{;àqGÃÃgå²ÿTætÿ†K5å+)5î´Ÿ5{޲¢üÏ­»[lÙ8´÷ïg«ª5Ñ‚°4/v×Õe"T•®«”è\a3ÊÒ‰~væÇÄà3z‹=Êj=Gˆ ¶—lYˆ¬¿ F¯w$ ¢)'É0òélãÅ¥&êñÜßÞÛ‹]j&˜{*âDw+‚ùk~½cs‹Ëz&ýn¡H£žLâá…*r{ §#Š ðÉúzjªWü2ŽWšdï\Ÿ›”ªÉ#(rY“¤ ''FòòŒ˜™/öLT%‘“mëÓÓ›Ê"¯îUbj4USM=Œ‡ èÿ´Ã½g„#„ûÏ\<â¢Ëp7j.ì" „ÇÅEÆYZ”âYZk6BãÁî,t쪧پk-F„œ`ÿ÷žJ»BßþKqÓn·(ê‚´ñxü‘4É$6™™Oo@Y.‚…ä°-””Ðãã㋊Šâã'Œ<׊‘}ÓÒJ• CÅ¡'dcáxÙö%ÞÌÌìááÖÖA›“õegFӃї'qÆbLŒ}ʶ‚x,5+«V™žè·oPÛE› ÝçggëQé’Ø¬~788|êýéºpÃÉíùö;r©¡! ~È¡ô`MIµ_Êi¼„¢Éž+k5¼ûc³å²Ç§…s^Í©ûWž-œZKFý o@cóÕ–¨((,,,C€«ÌTŽ—s¤’ƒçêìMüX©±^ƒˆx}8¿½²â5ÝF"–•Âë¹ÔÛô¸d¯XYYáë›´³sPQ¡þ°E:ZKFÎÉy¿ÖùK­kÚX"ÐCn@Ñ ¥¥ MT„„?ηïîîôõõµµµoÂ0ù££18’=€ëσ…†&„ )Öjöõ…&&&Ö~r€øk§¸×{Eˆ¼ìÂü¢œ˜¨æS”hR%hÇÁÈp:˜§Ðêâ¢iañöß¿Z$بζš¢ŸDvZÍÌôô?š?ð¸±ÝÇìOó ˜çù´††NŽŒ|E#!&æ×ÒÒ7Ýù»»»{ KBB¢££ƒ„Œüøøx À]W_ßÝÕ•Âa¿w8_ ï™™¹òÜÍŠ} ,Ìׯ-÷×§q”””½½½jUf§ççíâÃY……î÷Wæ‹°4L´×׬ÌÌÖë]y ù¿?r÷ÝüR ‹ê ±³¶fw¿³Ë_jOJòÆç, ûPë:ô÷ )¢‹ÒÂöÎí}m—ðû™gTÖ„;+χ7jjj°>qqÛûûûGGK:÷MMMq´bà”lt:]û'—ãdVRiü³ùÆvýõSæ¿­¿Ÿ))Ùív¾? R*á±Z f ½å ýáää¤S¯A#hY3…¡P¯µy–mÿ8 ´ØÅŽŒ³ómvlB›ùBŒ”ÔÐøx90²‹eÞ¬A¸H«…Û|¹¡’Š òϯ-¶Ü>­‹¿‡Ž¦BÄËÍ…Hú*ÿbÑñ6½#¹8^ö\ï …÷îèîþÃðš dÂÌŒ2""â=Þû÷ñ /h4pèâYÌš›ŸÃ?ñKHH°X. Tž2›NÙ?' ÌÎΧ ö÷ëÒ㤶õÇÑqss÷n(6¸¾¬ôõö à{rœ’’•ëèð•Ê)¯¾>˜mOD‚Ý.Ž {©á6(âiÝbï_ÜììrÏFUZ—ãìl³LMª‡{QD6¯:a\dd§# }K:ÕŠÜÎ+QYßøø÷"RRd" L3þ-Zæ· ;ûû999Ã)Üxžñ±±]vÿs[¿¥¯/ÏšF³I‰“ƒ#…ݶka!I*§¿·÷¼ŽÁT½ãñÎŽH^P‰>ñû¯Hbb`€ÌcʪRO4‘‘d!åáÉëý÷ïÙÃÑÂzÎâú(‘«jÁ€D¶ÿšïrúüx>^b?Mæ+½†Eúñbè=»Bñ¦k°¶•Ë**.@µ1- ¡A ŽŽÉ’’ý²ZGŒÈ©s]tDÄíå¾Òr“;«T–l½ýþËeO[¡œ·oß®®¬´|ܰ1ÿYnu±3º=” ª3~¨"<üÍýq³š›aÂtyŽÝr“Vt´ '›YÎ÷2Y¹åõÚ´†ÒKÜ"WÓ¿S bW=üj½®LJZ˜.Ö:eÐ5åU§Éû÷¯´²ðÜùvXh¨¤YŠfâôߪð^ ·«b±æ" @´G³åÜè¥ Õ–Ë ®nlnµÑÇNÚÙ÷Š ÄÆÔÔ()mAAÁ+ƒ7oÞ6!`ÐÖ´Ù› Dj·³³%±¿R¿ÌÅ·œqPh££;¤–͘æÿ44dFE‹õÅFGÓà±HÈÈD£ù  / ~ W#àåÑíBrttîfÐíZ© Å­Ôé|ÃËÛÏhèââb#uiÈ¥¤¢B¯™‰•Õ0Õó=Îùö°'(bw—û§è ³hÔªþ0¬Ï”êP¦!''/R²fçä<ž«õ?+é56vܸdY¾ÕKèÛý‘qüi4ê&ÍnN =SkˆÑè©òWµµ_`rôî—pØQXz.[ ‘iHXªiR@@÷Éjûi˜Ã<ú •ƒƒf¹AhVÖ&ÐëæææÓ…jÝâ…,™0Oke\ºùCÿþÏ®fD 7©ŒQÅ"õ ­|’4Ú9$ÁQØ~Æ2ee‡«iµjÍνU%øÒ;N=ß_U&•%r9R›[[¹]ä…„„­íÑoÖ˜edd’ü@ uõìÔ~®!% ât@Ïz[Ôã^$œ^èb;wâQVéHØÅFMHŒÔêóÛ*õ·ð¹¥ÖžºëOššŒkë¶::)YY†ô n¿½¬ÌgJø€væÆÄt&'—{Ø.ân¶^Wqv¦ % ÆÎ=‘Iݧ·k¾]ØGŸš Mb4ÜHb'l±ìaÿxÇXÚÄË„*(ÃÏOÃÏ_¸X¿™³­ÙüÔàz›ƒñ“b§‡„x¡úUv»5YâµIwpÉa¾ÐÚc™­QdÈX„_1ìý{= 4ÄÿÇ#UÐHíyùÆðÞ#FÙ¤hX\Umm{uñsª5jØ”´äƒ'—o¼þ¸œo…‡–‘Èjj0°#DHèx¬˜ßÛÓûÈŠÛB¿q{~§ÙH21A⤶éMN%«Ð™.[zç"öxÝüòKrRûò²àÎÅW¨}Ç9­ß¹j;Hö‘ÛÄVƒû£6ÝTzÆËá‡/¨FAÅ™Êóx4œZ|ŽøÆåñöp–‡á1i3&æ¶NaÓ“¸û£ðçKNk-æl=½‹ïòèíôúÚ8Þ„ˆ$Óë®h1 jˆ<ÓéiöÕÊB6þ€#jšBÕÒ¶LéÔ÷×Ë|2v·6QÀùGˆ<ímìá¾ÅŒ$AW¦ÆŠ—Hø¢3yÒÐÓ#R•³ÜÐ ‹×ôy7½ây*ìû÷½ŽÇ(%ë¯Ò*_–è\.–xûР­Rܶ$¾xBCiwÀ‡þÂÆŽq%|ánK›’ÌÌ7©¤èÔXþé='«¸¶[!I̦ÇKeæû¸í%ýqÇ3Ö¡½ ªQ"$)\$lN‚nxÏÎ0méºkíµµ~ðÞibdâÓão¡?¡#è•uôFU1âCqª=šn‹ìa$¥ém¨IEõš‹¯zêú8kʯÑ-¾û²?"P*>ýxUûoNŽa‹¤OMàÒÒRÛïWh¾pào´š?£A·N_ É@=5@`}ì·‡òÏÎpßEñ=Þ]Þ]ì^o &±¿õ̃øjöTÊÊnjvbh,)[P/®|ÕÓß?3ƒ#.õ…‘÷-U”¼±ËêþÞL[Û/¨÷gn]ò⟠ágîŒË[ÛÑæ¿ÎÎY¨t õà‡¯’øUU-ôõ5@²e›JÇÑë‹þôæ ´ ¤öe‘se%€ÓQÓP+Hèí®V0À®¨²ll\ÜËM:µl‹ÅžU¥".¤×éd‰§cqŽ˜¾™êc‡ïß»n_ž½ µ˜nl†‚²EÑ@{ E45j¼74ºô¦pV›¬4á_Ós»o }ú´*©³–èèíΫöä‚ÿÙ PðŸ0lUÈ÷¾¼Çÿð”†.Öw?™Ï/òýúúÙ’……x½}­sûáá`{hÓ¸he¾:²Ò”Ÿ×“–ÃiÄåɘϘ`Åå2ŸQh¤PímxÕbÒnÁ}nò¤+,*š—ëÔÉ`½~•˜¸<Ïw^Âíj!$À%%±PPTÔ#^nÇqÞò“óÕ+ãóm¼l?9k79Òÿä%}`Ê «­ý8ÀH'RóÕ.™'ù`?ñOò! ùõr$ ®nWHÔb]„®ÎÔ©Ç¡’Á9`]Šà›ûù°÷4œ`r³ýâo)N%UUÂôé· ³_ଠ#cjTãº?õ^J*;i“€÷©ªâÂÚ±ÚÊ:¾ÍÕ4&æ2%%ºÞQ«P…qtÜ6áfÉÑååR4ãDV¹<7+­W°TDšuÑ¥¦Ó¡x¬, Ãfó`3Ò_šz'¢ý|vk’O4†ñD®‚ÉËäêÚb FôôT"÷‰‹ç“Kóèhÿ® Ä315ætPov¹ ÊÈè]öT³/k%ìNj¿ïë»Ká®ÃçléЉ¦ä¿»øÉ§ýÂDß¾ýöáÿas¶Õꣀ{ &êliI`õôðåÁ­0&6vÏEEUulzzj¦†—ד&É%죻½rB‚ØGv6GòÁpˆ²¸þ/¿PÏ7?Õ…Ënd5Áx™Ì8ññÕ&ªuŒçh±š'ìp5‹/FŸ%À¡ò6–tOMÕB±Eùö d×O/¯ P~y\«òOM^ËnïÛ#‰§¶>LO¤ãj‰kù~v]mÊõûHÉõ| ÈS “£õîT¤ØÈÈèßRaÎç$$‡Ë‰Uïÿ÷†,^µš³‚Â¥¬ùåµôZÝõþôŸOÕѼc=·†Û³æ×+JšBɧ'Q ²|nÉ çs¬ð^U›ìààòÛxEŽ_/O4­žÀ!þ³ARRÒŠ .î ã{a]0ë?ã“oÎϰi¬J“Ò ókº;7l‰ˆ“ä.öw7Vñõ54†–ºD¨ÃѦþû.¬è~šçNo ÿ«Byùÿ£Bk¶¤  2*ª­ºöùùZw8«znD¯qq£€4.I.¡OBd\œƒ-©÷ö¨¹_Ð@ÛììGÀîîìÄ/†vÔp0®ßˆ«¦y¬­Ñ±ÿßv_M?b;êéém¥èêz\­Ä²kÚM ]^^VWVšðººº655`Íâ ¡‘ñ£>DYªsqq!##›˜˜Êu™].Ž\%7ÃmA5îo¬›lŸüºnßÙÝË£I¶m«‚{ø”DøKQæj“ FNffØá¾3&µ\MHHˆK[[ìU¥ä‘ü‡ªä´ÿ½*Efð‘LÜÃ’O¥·¿_àkDwC¬ˆñELLŽ…^C ´4Iè›r*ú{µwïÖVñÃŽÝÇÊÍ.í7ãdåJú{®Mÿ,zê$55y¹¹ ßš¼ŸäÛÚ¼ûá?•¥ )uýëµ"rÊÞ›B9ÙÙ¸€À§Ì¥ @a¥KÜ®®×yªéÏ—bPWlýÝŒ7ÿhÕ`·þ9TÎÔÄsdxÚåÆá·]AaÖþœ³ŽÊ@ûàÁ]8n—[æ·n¼Oÿ©F¥ÖÿöŒ*7×ÔÐÐPEeÜ?ŽÛ ,Þ~€sOJH¨–Û iyÎ韬¬,XªPîOº©»ÏÝצJ fggÁQ~~ç]UÕ¡ÙÙ÷Nô)¾Ñ¦ÒÚZÙoTõá¯Ìª\Œ¡ÐºŸ?ÝíNtZ‘N‡$®‰‰»o./Ï.Uq yÞc+È%Ø>ÅÄÀƦ´¥õ•”Äe``øb¯©¥5½Üê¯À€ï¥Mª?íÑv~qÝnôËÆÂr¶;.•ñ¬xÑ£­“çÏÔÉ£¦­õNw8 ó+†Hy]wd]ÈÃé¹eYRRw¥å‹ÐtûÚÎrë\³'±®¨ƒðØ’„‚º}tíõˆfÉ âÍqšíÌd‰„韄t¸aÄHÛØ$_Ù9¥ •"šØbX)*á¾Üâް¿Óýù+…Ú£¬l|œSÌM~(ÅÕîñAä-›´¤'ZdzúR–\øÝGNüßjëu<t;úû`¢¬3´?4”]À:„ð£<¬„I_¯Þ³^ÐÄ ón@N8†|\`Ûx§¼ðäà8SMùÚíRƒúBVVœgøø`Ass0ý]d©éÀ—ÛK±Û‹ý§ÞÛX\$$šhrÿl+9ÞXùp½10sÙ@)jñ¶9UÄlÉ[„?6omNú_Õ¸‘‘–ú =|¦éáCbä¿y|ÞÁúMnjÚù‚&ÌüªãÔå.„(ƒø›öíCãÛ¾+]á41 5½3®™ÍÞ'Ù r££v"?ÔiÃ`£Úë>Æl¨éT\ÇíèGeÜ»!"v¿DGøïрάu°²ê<ã%毶šéL—xtl–D„m/³ÙÓ²VWOE@98qà±7 NßÝ_:ú"w)(n®÷JK¥,6Ý›[¸ woR7¿ G4”‘š†ƒ´ $ ¨Vþ>QQêççwQQÉA8;‡²µu¦]ÙW´Žîaø©°±ÃáŒifü¨è%*Ao€šØ»©…wwètó¤u¸ú“>¥Ó3©éB§2…?uodd;﻾o£që{TWœ©i8:Û‡²pÜÃ-ýúê+C¾dã!ù4£H Ò {ËlÁ‡ìÌ*äÜ-ÔÛ~ý¦/`—»l¸†ûW¬C^~¾]':ñSÀ-¨(¶ ¶/6Ë€U–šÙ×Vç]½ÑC~iá­v^Ö;/hh!’Sk:ó1ü]ÉúÌËû÷;§µu7.j›;—G¾æÇiO/kiŶþ‡OÅÝî¿’Èwöfò”'’‹íìÞøa”™˜ðÃ6¡£H ©/”›…•}öÎø‡ˆ…ϵõö]jßw³óP–úÝ}½!˜ˆt`þ—/‚xÁRõ°RÀås²Ò…Æ–›O¡áâfVWW—A|ln®®æÇ¦4)x~VÖ9Ç“?•jïfnªŠ3µèsÄöû‘=î¹(*m´æ522ÓÔ¤011IÏÏȸò&s6·r‹˜^Vye#3\ ] $,¬Ðíù£%ôW ªNvAA…Ë1©‚B°Ï[tÆB92½…&ž²9!Ø~þ2@gb‘ËÉ婲aSÑÑÓoï{JkV= N‚h´öJü‹µàâ¸Öyw²_¿Ñûí§‰t\Z?(6‰ƒ…ÀKq—£•Vÿ}ü²JÇLJÛ÷2kù,fÒÒœp_&-rr&@ê7$ä^{ï/¸ê8ß )Há¿F÷¡Ý•Š´+øñ ÅEóõ0š…â/Ú»|,Í~ù–D¶x_4B?–ͯúR¾—|í [÷iÄIcœ¨¿X’öËŸÃð½.ÒƒcxÑÃf&¾SÏ&Õ³óDåAA[h£¿?cÇA’/SFW×EŽR¸çé÷¬ä¹“²°õãתCÙî—iµ«6ÐŒß/:†‡‡É ÔïÆT/ÿ œãPÍÖx\Ëi9#vÀËóè劳ó³~ŸP<W“ËJ57ß®³ë4PW×&ßÞœ)ÏË µ·£ÖÒ¾gœ^‰V]>(CC¦ÖG`b–h®¼¿o8Ýìï -Ì—¿{pÀÚÝOeÓ Oxúl\Üó&T)Þ#XƯÜ>%\uçts@K© O¢üŠ0$*|hçê*}©É$ø©®œ?¿ãeóÃyß’„õ³¥D&¥ÉIdmm÷Ñч»“u¹f7WÆ©ñgÐBR"T]sW—é7,ŠeeŸ 3“ã64Þ¾% Œaébh›œ”ð6x5¨ÿ¼Þæþ& Y•„h)!”ê_¥¾<žÂBÂu¶ýÄìü•æ†o‡'4n¯Ö´åÂõ·w×8uLޱ»m&9™óœœL‡Òø©$¼öoÎ bcäm—ŠçýZ¢ƒƒõ.ü§Jæ&KJÚPh>$f‘Çåef²0 „`eÿR)«®Ö*ßX[ò~\û“˜^¢ç.O»üý›CG ;¶<"WÂTÄ»odl̪ú x†Gßà•ôtÓì²²±Q ÙÉ,ü±Š3‰ù‘ȧ!`£¿¼ ™ž>¾lŽO‘ðí5&#ýXð3ÄÞ'îBtz´:‡¯ÏPß,_]Î&#S3ã>ùØ©SÙèÄDr²ŽçŠÔõaócÙÇHß  ý@,bRñx”£Ë~½%¹¹­ƒ\lOGôö_¸ˆŽ÷³×í-‘‘‰O‹[}8s=Ûè^__WÅĪÜ>S5¯%'+;°Ü–P÷+9 Ç¡nààÄ¢j¯¤<ˆ7H{<ŸºÙÛcbr÷RM³TTiŒŽÕ˜˜˜°43;عÙþmòòïÃŒ?¸¾-Y`¿?Ž }vy[¨¸äÛÞîs®³½RÑO·ÄØJ¹´){”ÎÛƒÇónšCøtöç$>Ö.Ê’n­+aEÎDÄüJWUñg=³–ž§n³zù ¥æ”=`J¦f‡††–V{=}uí8±ŽŽÊì…#CÅ=žxd%aJ.ûd:_ŸacŸÒÓ¥tiÿ,/7›«ú"ñðqhà?zÄå,ÔL.zϘló»Vwñªp{»@¯iohÅVÀZxazúéƒÔ¶vƒeFã›CÉC©ì±òüÖÖ±þˆ!§)Š!$b¢€I¤ÔÚó_èih,±EúÚ–˜(Q •Á­²œëºýí1Q ÅœwRˆEŠÆ‘"Ï`Ó¼àq}"¡¤èÿVÅkƒe¹`Ü¥Gו6H€PzÙÕbAxÌqW¹ùš)¨}Eñgn\œâûÙôÛ[W‡›ÚW ±TÍããoŒŒðƒ­¬R¢¢èYí #A‘}ÞñNGgwoV“ŸÿÑÒÒý|Gã˜-t$ø(·='uŒ{GØczû|wÒ~³ã:³7ckççúß½ýÝ5¯×¢ìɯÝùù,‚‚‚ââM99ŒOžÍà á“l°ß“½ˆA°.ÑV4].VÖÞ¥%ƒl pO‘z kÖŽMÞ€[:88HJ¶üPÇ”6Þã±qÂ|‰iaª¶œ¢ÞÙAމ—ˆtY_\w¾ìÀ‘ÕzwQßš•ÕÔ61< åMô‹WfŠ–ÊÀt“÷¡ÁfÀïíëÛy¸¿õK¥£` ±°hrw¡'Ii1-W#\·«m›C„Ás´?WÏ¥'l÷÷kp°Âë×Ã-}¨~UUèúÄDD‰ÉÉÑò ˆ/7„«ª¬Ì`)¡ù<¨ÅÊâ—<Ò«® 2‘­d*dxÍÈ×éÒVÃòè––?iiâ½ï˜" Ó¶—¡µFÝ—××QVÇ#|||õŽ»q˰R%à¬Þsãã™™†Ãj,!ï44´utpÔ)eG¹’Ï./1.ØÙØèP¥hq¿T¨Ï7¸ÚËËËkkϼ¶¬±°°ð³vv¾š§ªºÚÙÁuŠ, jÑjr²…E)2žL%†ª ‰è鱿ä,"`>aÔ×~GCVk=–{½¸ÈÏý¨¾z.·6œ!íååÅÈÈÈA\XQñŒ–Ö§y8VÒóµ¤äð;…@]}½¥¥å‚œz„TFƒË±_³µ÷Ñr+p‡º:aáTñ¾8JJʾ¾>777` .Ý÷‹=ßXÙÒ+ô€Q ÉÉ…¶~›ôgfe‰ˆˆÐÓÓË-Ýi_š.ñ­j<…¨Ãù«e”4?®´k޲,. a`¦ñ[.Í”çàsˆô1"Ê’aFFây{ò i_½¶°øŒ)ÿw‰¸kIè#/ªS`@€ áC\±p*ˆ¨OPhDdäSÛ«sš%ú•eeO¢{ÉÉɪæççG`=kòÍ™QXHAM†©5ïrò786vâl{ìþî.&66(ñ½1z$¥–¶‹û°€¦qK¼hñŠ…ßŒÅååy? ‘ò]„ÁÁÕM÷Q¡ý«̺„„ GýŒß_Jã2ðñÙŸI{xzßAÇÀ¸ÎàëµL™žžVŠçŠ7Z€½Ç ;ˆÀU4ëÊ ¥ÅàGffU±žûÉÝ5/MúÄh‚á—Ž˜˜#M:!S9û“%Fƨg¦dúVVE{̱X”Ør´¸Ê**H4KÒ¥-ÞžW‹–ôôúMì9¬{ûÞwÇC·“o Ì›LÌã ÐdÕ¸âoVÚ‘0ˆ¡ ý´¶p.ÝC6ûóµIÞ©\9U9JX§'wIIuÂTTw®å1¦p'hð$>Î_e¤ÞŽWÕ;§›™h(Ø­%Î̸£"6”Ÿ&xÿŠ_”‘\”\†?J ÀØ<˜.{ÆÁ¡ú³ùd(1Ëõú÷ãÞ ù«WeSÅb1 Y1hFËÆc‹,qµé)ûñ£òPïÌî†éÚv/*ÖÀúñ²WF/< D0dôx­âÏŸ[YYþ7©òÀñWmW¿()öí/Ô“-,P¼Bá4Žçëùî@Ó•aïýDl ¢…y¼#—æcWŸ˜h%•QT´ØÙù„œDUS“8=½´[#\¯Ž8„§æàÓàl%³ÄÍG&ÿ2%ä±ûc¹ää¹Àò;d.ÁLÂLQ¿¿ìïë‹r2‚ŠÊˆ_A|1Z"–¼WþRH;;QÀqEŽŒ”›©*š˜X $¯_š¾¡}.¥¥E:)¡Í3xccc–.®×`Z’Y‘ˆÅsýÓKÏÛýœ¸¸WÉᨈWìýÙ°L‚™WoiF’“•åv¼šnr‘óÅù@ôôXAM#Õé`þ0ûïDÂÈÝ"TÐø·”2fãï“™ÎÐKãçÛ£9HH(ãã¹Bœ܇$‰ÙXq„Rß°0 ƒ·oWrU0Àù^Ó7&&²äÖx¡ÄqSÓÓMvë¢Zú ˆP8ŸÈóósá®×,!ÛÛ‹¼:ZËý½®¶GÐÀÄD/©¶øº: zˆ¦—)</]¤í*âþbãfo¯³±èyç»ëëÛÙÙ:Íq×k^ne«ÒlHKþÖV>k$W‰ÖŽ5vŠëÜMZ£SÝXXžwWç'ë4N8ôx¼`­?f°ÔÙ›­Žå}@1¶Ÿ–$"R½¿«™èéùµ;™Ø×ÇóꟖ+¶5[[ÖVÏ™(¢‘ã¸ØXÑ*Ê®?nvø£ð-Ï``s°BxÇr#98LådtÅtÚÇâö(hÁ X•d00Äè6?ìfÊÒÈߪáHú-£“ø”i×÷[NdHk5òa¿p7*3³9BÝÉIM.L×Wi!~ÒŽ”+~ó/áÜÂBrzsºr×^¤;Kˆ©‰F@Ð&+˲´eÁ[K²¥ßÈ]èŰÆHHº)–ÒÒ»eFšO­‚Ú/fcó“¸ýÃA»Lë¶±=öóŽÞ_Ò‘‘ûÜú`ž,Çà9_²ÉÇüï˜CB:ÛJO¿ìŸ)7ó$&.Úp€ÜîÈé¨v>Ī!$´yr²ë[œ7¼ó¸°B‹Ì_Þ¬vÚ\Ç­?AquìètQd@“SXx3¦º(C·ë„‹øB«hñïß±<Ü`D›C´4vy†¯z®@¶¶ÔŒO>v·žwÙ9"¡–xÕ^ïLNþ>+ï‚Üâöú×\…¹¸èíKêr.ÈZfÆÓ…ž¦2DzzööžEs×Üè²æ÷n|rÝ×@'tuš™IÐF*+;)1‘,Qùù³gÆ<¤w©‚0²Ùû·3”p? §«¯( jØ”C k@«ø8P –zõ³Ó¤x¹8r’ŒŽncn® /ІÆÊ‚K‰ŽŽ.ì¸CÝË>ìîÎîdÿ&òÔQû(÷4‘ûh$ˆ$$¶qÅz…à%ÇÉÆSôÌüüǚлpÊžAætˆ¨Um-­µõX^_ÞËÿFYiyx"¼Y:¦¦.»¾S²ZYYyppÅ*ŸñZ¿Á¥u d —#(p==ªÔW$%í¾²uuu[nŠŠ}@Qééêö*³ÑØQ’igç¼÷<˜oFDÌ>v-r'›ˆ‚ÉÄDnïéA ï¦G1ËáÁÂÏ?ÑÑñEžáă †Êëá%€ü©•f+sóŒ±í Z‘ÉÈÈ‚p*9ïì ‘T"N]]'ái¢®£ zÆ‹+ æ pÔC¨ä“ÓÇõõØ£îßôrUÐ94ì =\ [¿njj¦ ¸û›Tt¥ŠáßÍÏCf5 Ådþñ!ÔÂbìá„Dä@ÿéi­"„ù-¡ý™ÅÅi”ŒŒ«ib–¥ŸPz`ÁœðÙ¾ÜÜÒˆFÄIE[û¸°$–„R(­°Y2[XHY^¶Â.õ¼ÍÓªFÈÆÉåŠÇm ‹’†ãl 1ìêA;ÄH’‹×nÀ>ó;@Ú‘µ À€\ "z8œ=×Ð`´9Œ98°æâ -=@•GýÛEàY\TTãý(K(kr͹Ë›l™™_R255ï¢}µŒ9YŸ.+DCcdV­³š»ÆÌm¿Kœ· UÌiC¡$üõó§ÊUe¦Œ4vº¾*Š»p°íeT‚¹ •÷£ãÍÍÎí…^Q‰µÐê·îvÙ-€b>¢vNU¹¯cœM+*ËŒ ·`Àæƒì“ÝîzgfnƒO1¥F³Ïð'÷}ŽýZ$‹54§kù>Rü5Æáä$*šƒ[ƒ§ñ€HkëPÌ×;<š¥ËNÀž–b“’Kþ]ø“ø³¶¶)7× ^ñ.`qp‚ bbr€q`9åÕ`©ùÆíF¬Ê×`\bâ@GˆO$êÕw NQ}--}9”¹É ú=«6_‰$8žÖ˜˜»ƒýTC+Q¾§#ž]˜&`F02Úq:gS²0ÏŲL†‰#-m Nd!øTebrtÌÁQc?냂3¼/;¡,A?Hú%úÖøT*zžÂ“T¾x€’ó”‰yhm®EÏŽ‘lÖ÷…DPB‡([ÅÅ•Ÿž"m|Z \p¾¶z޲ÖcK tb÷4++®}}l™ÝÝíÁü}Z '[[ÐtQíè[Ž÷ƶgùåÁÁ\ «KXW3ó:„1€ùé¨55Y²2‰À?"1ŒOMyèš[í©ˆRR“¤WoÕkìrÅü:¡¢®^HAaýóg TÁÓŽ஽žý!¡õ‘)*Ü%±ƒƒ“¸õZ¾`0Š.§¹b⛡$‡*É/gkí¯Ü ûà(ö¯T—51Yfæþ´ô‰ƒÛ{la@¯B¾¿w[U†nþ›2l@ƺ ÂZ"ý£¤pƒèYXè#7**õºë ИÄÄ:;e÷VJcZ¥þø²Ã̶•®[ˆá•5<ò­øŸ¾iÙ@>™žN¡#£ ÈËÎF¥QTR÷ î ÄDöo&j_±äM"|ugÇ¢õU$Öñ22_š)pTHCÞÿË“°"etÙ‘°0l€Ê888½þá=_¾ÀCr‘ÙbsÞȉLN>Ð<âefîîêzi {[â2R-sWRéÌÇÆÇÿNŸ™iøé“×á¢Xk"ž………°°ðÌÌÌÊÊ H} ^__ûúÑÊ;8TÕ´î^ëŠ-H‰°T&æèèh9UÌÝë§&­ÂùÆ‚Õ/;//Üe–8ä(-))‰ˆýª~±níïÜÜ—¶=]]¦ù¾”ØÌOŸ~^lpÀí7º´´43S[[{]ØtzvFH­c`@CB"—7V«{°ÐÐÐðbN`\7œF†c?íÝOoÞD57Kx‡—””KE÷Ê<’ÜÀÆ X×= ñA3ŽÑ„Áô]ʪo"!ºÉ°4üÏ“HùwïÞ].‘ìÎHª½UWWÇ¡j Ÿ<ðR-¦݆1R‘öï:îeee766ðÑ^à¶âòóóG¾ Jz_3~„[Ó¸JÜ?HYÈ <‰ƒ“ózÀ/‘˜”ZEuuõÏŸ}³³n «,!€Nå57”¨©á½ÀÜÀéᇠîØZU_;’%777'",HÆ;>Þ–“3žt60~lLL©VÑèè¨OK‹äCFD®Á…À'gç©Éɺúúð\Ú)×ãU$ï¹ÅŇåVÿ°2ÂztXåÿ~|Ã6]k1ñs­;k¥6W3]«E†(Óf龑T‹i…’’‘­» ¾ˆŠŽÀÉÉÍMJHÀ –y°þp—êÏ 5ûŸñ;vÙËÖC§®odëøIƒþ ßý¢Ãö£%Fg<¯„~äò’‹Nþ=¶'!xcwW ¢–VêV@3[×Èà £ø¡ŽÑèE+ðŸo Éü¾[¬?@”Ÿ ¡åüÔ–<æÝw'Áþne€@$_B±þs¸þ}„ëm$дÎîúÙW2ÅRP¿ÿ¸c› ||ÌKƒ˜2jFxœœ»uXUQû-ºERR¤¤‘–n‘nééîn¤Ai¤¥»»»»»»›3ùÎó;Ï÷ÜóǽÏ]Êf»·kÍ9ß9ÞñŽ1×\Aߥ„‘ßà¾@ È¢"²È«ð“>y4Î~Áêˆ @ž_þ¤5æDA „Q>y§¤ƒEg.ùýgȉ­A_D–앬Ltpň?K¡ìßÈ J•Ï4Yî A,‚UÑ|®zýŠªFªäbSÜͼCƒÉt>­!ñ«ç‹ÓîÉÎCÎ)ÛãôÃ\ÛIÛi8þŸ@ÓÐa„àWZ¾—/"‚N Ø¡!hÃA hiÂaoNùgdì¤Ö»BåääL01¤^Ñ(—rp¨¾|ÁÂÂR˜E¬á`75ÝÏÍ¥ÐM£˜óW¥ø¯«ŠÔ@ #|„«P¯p?As;s¿¿|€Í×ÖÖfggGBJjog÷ŸŸÝQP@`g?ªwãÕkXh8¸u?Šàt 1²¨ÐÐÐT^Ï!Z³’Qƒçý©ÂĈN¼R¹ŸU¨Ø/³å¦ÇxƬ¬,Ãá”˳³:Çã®ÓS…jÒIl2ŠŠX©±±]E~ÚÊúúYQQQ„émôHí%‘‘èÒÒÒ®®®|v£­/½ ¼¿¾¿½•LáRQTtËÍ‘Jæ°Z¸Æ577×Ö:W[,VTVÒiÔu¨DH+—®’ünØÞ¤Á˪«s™NQ³³×j·ûs»ßE»4¹ßc``Ü]ìÚÎUr»^Q|þœ——×ÕÙiú]S3Eã´#èÝÞÞ4ÔOo„hw_z//ßLÊù™ßgøuE_D|Ûá×áà§úÒ›(ð~,+{vv†#¼|>îÙ\O;Ty ?VÅ\ä"SÈóJ^úÍnœãE Ôá` WMÃ#œâeqyÕ•¾iñÿúWÖñ¯Á fg³éùI¤Ê ùõ 9‰µ½”3À¯ÍŸw_ÃK'pPÀûócWj—oESy G²Ëp…Ùé=$¯Êʨ¾È +@üðí´46[Å<ê¹T»r‚²|Ó! "yeg•­¢ÅôðeÖ~]ó‹HN£þ5Ñ0xùgÜåY”Q8~Jr§ð/ç—í §kˆ-¯ËÅü/{ «.yŒxJõo»†%Ê9>¼ô‹ø£úºF¬­•Ƨy|3q“ôæµ² k† p®óÏëK3•¼òkÖ¸¾Ž„Ÿ¦§q’ž&±Ç$8ò%÷ÀnÿÒ^* ˜«‘áoUŸÁÁùIÌ Œ;©gr „ß/(ì«AÉkö2b?ãûÏçÿ¯Ls#¾¼N:—giLln$q’&¹ÕŽsšgÔdkÑ}…øƒusÜ7ðwmq~¿½o~ysò ¸}J¾ 3¯}ýËð(X^ž¼º‰Inãb;¬~ã×^¸<Ù•-ùlô§`Ötþt °Ú¤ybYBxî„,3)g©µÆ9Íu|`—K~uQV§w™Ëënø ãT¯œÚ@ü)êŸõ<eYÊËHš&¹É™“F“˜ÐØ8ªba ºæBÐýü=È®áààÓ½öÏÓÒºœ§\jXTÊš 3“SŨ9æþw˜ËïÿÛrRVõ}ÿý^PpZ;›¦Üªœå‰¶ZP&…&’'ç¸4:×m± ¶¯â~¿/6,5*ÎâŒòLåÀÙ¸Š©Œ90:!”LŽ ‡æº56´€x{VI(á.I\’Y#-'9M5eZå.ùq¡1>BC•åäV°@¥`/ è,KmšÛ$I³Œ0ÆiœÄ:•R’+%Ž „æ: ì~2‚¡yÂ87yS—Å&#šh–XÜ;åà}Y˜{Ó]ÆwPÛyਭ¨xýA^ξB±2¦„¤VImá°œ“Öh#¨EÌæ¹Ôššø0Iz¯Pß@©ÇJz òO¬4þ8,Å¥µ,OãL “P˜'Yš“,y (5¾Ö¯At0j1CbCHnm,¹rØW$™d4Iúð¡5¾ƒ´Ž„b"N¬cyš:U*R›9‘ƒÝ"bÍÅaŒû~QltЂXCh¡pˆ–²nœkY#E¤B«ÄJ¥Kœ"yœ } æwÏ\kl{=ÔZƒ‘5c2„åÄp-MÂRšI*üÆZJ&SêƒPQÍr™r‡to°ßK€Ê[[ùÕ›²˜Î¿Ô7+ëÓȃ°œN®—øwýüOY8ÛŸŸç×dG#¥ w<É™Qy;‚”g2Všó\‘ÛšalpïáêÙàþ÷[Øà£sõÝs_î°áÉrE;›qÎ8+ ÃRêÄ'5wÌQ0ôAPüù8ßûÉøêѵ¸@R¢”1Ö‚öBæDÌ”%Û1fb°ºŽ©¼ï0—·ç§z ³Õ/{¨ï9wNd™ÃÛšœYëj„Ëc¶7gG5ãv˜ËáGYÓú@8\†¯÷‚BJ¬ÎÀ¸Ì4M3 Å ORåœJAu#ô¸¨0:×1 PL‹ËÅåƒ:&„ŠA@ª$¦©¥Ô“̓ŠBô˜ÀØa®àçxóâEØË¯…±‡E.æå!±À„Ð-pCM.rKc£Y ¬91Ž";Ìå!òkñßÃTƒ7p„½ÀKȹ΄¹¦Rå„ÇVk–3P´fò˜`Øa®[ƒA~8 ”j+•RÍ8u&'Ô²DKÊ)KSbŽêÝa®±€B@ø¿Våb¶ÔhzoZ¸ì£¶Är0LVϤ¶0q#Î303›X DžÂùfY“”+øIKËC¼¨Oò~•|ßÕ3ÇT]…ÈxF’\è˜É8EMŒv ·Í37>—ÇÕ¿Éúâ“ùWóޤÓè¥êÀi>ª²òÏð¹5’D8Ÿu{LÙù@3n%X»Ijlny‚®e±Lir ‰uFè&µu|ñ`þ´ÔÜzV>6ÕÝéÊcæmî'*v‰‚JÃAaÕ€ŽibröóÆýøâö:Ѓ|ó,¿Q'Ç Ed.ãL*§08Mb.@Pe)É`iv˜Šp__'Ü&@/~‰YAë¡>8UÃO£¼ÊƲd/S Æ ™%„ñ<שéà ±läU£‹ß§b:® 3¿8ðÇ ‹‹ƒSƬâ4'0«æq,. `Zíž![9 ³ðDn2á80ÏÔ0nÑ)ÇÀÊp–ƒ¤!ö°ðæ¡ôk^õÝY¨¸7ã—;l¹Éü,kç ‡L3›ëX€ek3bÒ\Ó<•€'©ÊBŽôŸk4o7¹r·ÂÃIaŸ0‘ãZ1)s!¬F‹$g΀QÇSBÅI~Û 6>×-9˜œÎ x*ë=B ÆèD¤ŠåÚ&V9£ ‹óŒ1w ½­t@Nã [àŸ-_ïä\9SN1ÄÈÔ€YϸŒã<Ïá[ [.ùaúúÁ'»DÆYRÚÍ…<[éÓÚ( )—Äf*™ XþŒaxÌ(90Ýü^`8ºð! [_żÂÊAï­ðú»¼uY`‰Í…†óÄJÃâ”SžrçÏÔðïôÆŽþÔ>CêÈÏNqœÑD½„äD¸Œqná ˜Ò2ý5K²”RÔ,þŒ/¼²râÙR1)æ×ÛeüsŸˆ÷ꨵ]¹—6]¡ùx¹c¦U;ã”t©Ð\%±šÌ <øÀÒ²{M-ßAH—,Êé·rz>ž_z4(ïÅ©›jüÇŒ'2'„3©ÀÒV lJ’QL¤Õ$;âÀ0Dcï§Ò¤˜ ‘Ç:ÓÔp0[Í2`ªš*’dM@ü5Ö±K¿5Üñ½aÄ8ˆ–!çö¼¬n ÖM4ëDé-U2ËAkmDf3ƒAˤ™;ôûm§ÑÈÙlrýur1Y2~@÷¥G禉ßÈq`©n4ÚºaÿË®V¹Vœ$±bº D·•±T t#-õ‘ÝÖ%tù³[Á>¾=)f¿ì›H+2cAOΙN3šp‘Šܤ*‰ C4>0ð1ðr|'ØwàXø÷5E=g…Mv‰ÎœÔ³$1˜7šèXæû(€ßI`yßz7Ÿüüc¹¨­ýÉâ?Ma4¦˜ïíiƒ]aW–›â‚æÝ?u÷WlêÓâÑhBÊlš;Ò\å8ÕB‰XÐÜáMoç¾W¸ïÄØ5Èßr þ´pÄÙ4Õ˜‹XRí¨f)(ø(¨o¹âÀšï}c§£{}Ðr¢€Ê2Åc;O8nöãXnªÉ©•4vÀÙ-(J.†Ã3Ø Aì>8ÌÝt㛸DÖð¦²u}#ÃVÌ“Úñ\•ÐBRͳ˜eB3Í$;ÌÅyßÐß„‡Öå{{+`YNS©sškmcË•ÌJ™ó,KMÆÈãˆ:oÂëà}²¾¼dî¬KYžj(Ë`V­ŒáDé„Z{`‰é=Ãk|^ßùJÅo'…~w+˜%À{il¨3q.sªAÎ]ªlkKÕíÊ)ï-çwtWÖNú€ú­{°3çÊrtýçÄ_d ì&+R Vµfy€ßÄ2øzZx#ð¿­å6‘Éå°£I…ZY.‰’§£Lˆœ:®%w¹%ôÀ¢Éûð¨Ž/¼è ú¦q½?ÐJÐü:Ò,v±ƒ5‚“ 4-J˜vÉ);÷Úñ…×vþfSäõváä; vRŒiì@ `5«c™Sj…œ9!nk|á— ½-ÊjLÏYeg`ŒöX ÊpNM,—RH0 @ÑMbÂ¥Ùr„¯u|áÞ‡wGλÈ“l±^`hsæÌrn”MbnØ9qT(™ç1!9K€o6&Xoè~ê6+®ÀkžÝmù¢óÄ·^}ü¾kûêû½^ÐWßùÖDßÙZWÅ,8¯áþºöÃ\ÁžßÁ‡³÷mè];{õz늩 u ,täÏÁQøU~Œ~óº³vÍWý:|‡Sÿú©ÿ¹^¨ÕQv[sØW›ÿ葨¨£Ë²Â ÿç³v?M'×½ªx-~±V ~wU‰íWᣰÐ!§èTÑÔÖ”“Å ZÁ¯ðæ{v~ Ð-„Þ×¾ëëhZÎ#T6#®Ô…ïcºÓ.Aò´[ÔÿÁT—0XT\ÎÖ{ð¸r2)¯<°—V…tmhéEƒ‹‰ïL~÷nY§=í^=fפ2pwØP»ß_€RÓdxZ[Dì¹\7Ê݃‹¾@Öö£—m]>ÉÜl‡î¡{s³£±$´¢¶Ü«ð¢i zN´Öíq_úYƒÁÜLá¿Z€Eó1zÒ¹žY]8±ýëìíVب‘fÒŽ_‡Ø" nÆÌa}3©KXÊܬô±KéÍU{’’ Ì™6ÑŠ¸DYsTL©ÕËä{$Õï {Âc0“uêÙÒ#j¼]ìƒ%‹ºG ^[Ï}‰C‡þÔá5C?ýN4²\è}É^ ÷ á“,M¨³X"–Ø4Å~þ\§«ô1låº7‘ìÐ&øÁI¿÷ïïB†ü†î O }@Òh q:ø'м„vxgÉ!uayz=·Ò´Ø´¬.Ñë€`è-ïîi㱬â9‘$Ö‰&Ø78cÒTSaãÒÐU‚]ëX½7ÍîЬúÁÓìïMÀíHºËõD»A`ÞŽx÷×þ> ½4KÁÐs:“±K–21‰sM,†þˆÒÛÈø¶òw¼‡ú§e?Ë-ˆx%v¹Ùöo¹'åôê¡U7¨¢1÷âûÐD©ÞÈj~s+”aÁ—’ƒ0°Ô¥ÒÒŒÅÂX-yb3.H¦ifù ËÀŸ^¯À£>ÔÀílÿÀqØëGÁ\Ì¿yxxkÍY/ògeí uQ¡Pñ¡¼6£9ª1¥¹³ÎüPêÚ{¼0Tb­3«À†`Yá¢!ÿðk˜ãBø¨ ò%zòB£¶P$1!Âú Øß{æíÓaë6Úl¼¨"Õ6šŸE¯]Ô§dÇh@4™Ë7O[µ°ðd¾¨¦>7ENÀ3ʪ²õ¬œ/ʈœ Í‹K[÷CݘñǺ'Hæå8éTÛ³èo嬵:mïÇl ƒ=K …Mã-<‹~-Q¦l¡ÜμZØÓèÞj¿…•÷䊓½jí Xü`‡g5ç\ä°¼‚ vt)†I}¦çE…Æ‹¬6Œ$Ê©ótâ´Í  îÖ¹gÏ«£ÞQ¼¹V›ÚgŒ•í§¶,q°DÔ{D¿¯Ój"=4°>fv!ßå¢êe³W¿,Ç…m—Ü”µ,iá´ã 5…£š&ŠbLå[;"øæÍmŒÕmæ;Ôâ?Ja~³=¬ÍÜÊô±9|hëpïÞaÑ,8•¶+å}5ÿBÖ‘çZxáåS¨ªPtYLÙDzQÙ½>ï£,÷rsØ–ðøf’Û¡›Â£$¹;mä0NËMW…ȹÙÁ´øÑt®YÛµ£%Ê»VÌ~i4¤!êÂF[-!ª/Ö`¥WŸ0Ïeãg­gÔ3€ä¿[{Ìå{&/ðXÁ¼*'À‹ }Ñ)AíT5L! /  øÇùRïZj^÷0%ü5rÅ>¹^qnß-Yx8$ ¦i2P2‰…~4Y&ãD¡—7ëž'L4«)ü ¹ràƒžå£Ž`éGÆ;]((Œ~\ü]{GÑé†åCŒ$ÜòΡ`|oaܦ­ÅãÌ \6ÈàÕÒ£^}_T=ûA¢0{ák'nÏ_+9»ºf¾YÖ +ªdtŽo‡LíY—í‡ðpÚŒ?^ºïñÈ7¢Ñ ¯V†±'pæ§ nM°×O æ«kP[È !(«UDIÔŒ0£¹œºâ|Qá #õf{7¨l÷çUˆ•V•7Çò[ÄëêÄÚ>4¹ ó,‹)¡‰€u"¬¡üÓtûœßTŸ—:’8’fÖXj 32u™!–eY&átû¼¿6ÇàÏØÎõY„Åö? 8â@æ¶Â€*ÊèìÜ™&W—˜¥`£u&2jtÌiî8ZL“,MÁ˜î/q´“\G|O‚ž¿ô×­4Y¢Üëf>=ú{Ä]bÍã¤xwØÎ€ÏH–“˜ó\p‹‰ÊYŽEüÄç’µáYoÜ’ÂA°å ͨµ”ru9èÈ‚è”hÐ&-SñÚ ÚSß,ð~-€W™(0*$Í–øoFÕ%óñËs­Sª©Ì²<¥qb„ãEèX禿¾Ž1/ù0m`£ƒSÛ(²;ÔèóÍ_-ð³;ãôÛ€9«¼±)X_Z‡è&§%’Ià˜í·a@KE ª'€  cÔeGXÍŸ¦[¤pƒß7DëwÒV}¶‹ßÄÏ¢'Cý-ÆP7 ëA'Þd²Ô7êÆŸÐ;¯®Àô4’ iD;¦;íªdB±N[P…,­\E³ž—¤qœ=0F¬Kò‡bqÄk°J½==…ä‰ ¦l'–!§>´£ÁÊŒWeŒ/˜ïŒÙ_╽„qcðŠKárBRbDPi±9“+ó¯+MX…¢ÁW4£]1Rù@NƒÁèZY×±ÛŸ]ÖRmUËä¤t½öÚe£é¶*w瓾75±SºO=»n ³½Fçõ\,X“Cl3)½ŽD${Ü8“I UL)¼>@SÆbEm¬eb8p’Gˆ3íÐIõQú&ÂU­[œmGÕÏ>éãú¤®3$l õÈéù¤:ênðéžEîâí­ÙØàï {5+«®{¼¢}¥R?J­±@U6^ÌvÄI¡*Y]/¢øðçß sŽ™Î^›¢žÁ’›DÚó‚6®U/KVÏÎÎÖ:.‚Õ…£GÂÙ×é´MF¥ßóžu§ð¼õ²,¤ ßißV˜h£ìy>Œ«›µHO0†ÓY2Á[ñ³~B2™»Œ¥)²›Œ0E„ˆ‰qTdÒiuKëýŽ%ë÷ÛÆÎü™~b>Õ‡Ê:ûUîÀ¥ŠGY¯8ö:^³ÝÚú0½ÆÚ¸ AaD<ó®†ûöiK!ax.mûß´ì§óç–O®XA­>Øã©+>‡V7 ìwÌ“u‡=øOÑî œ¾_ð¬Ñ³èûE…?n×W²Ëœ¾‡nöÇU–9˔ֱM-U–§Œkal#Œ¥<¹YYž½zÝ[@q³Ýº­·Ô—2ÍqRËœ\8ãrJ2N8ó\Ê›ºOí§·¶¡œòn4?,´d½…¸´ÀÝW‚Ù÷ËÖ+Ï»mÑÿѿ醀ÛäzìƒØ‰6¶ñ÷{¹§4õ‡ª]]±òäÚ‹£vî¤õ4©^é¬Ä$tÝzµ Ž]­´Q­Âï1Ïì¼¥y×H+‹9Ñ >‹9¾ÚEÀ}Žüj^%óªœUEÓÊçíö´œ¶;Ñ ¶t|øQ«”ùæßÍÆ}ôÎ;áÌ0iì,Zc >ü«ƒçnYåvêõ‚‹rÒ7} ðYîÙeiP-Eg]Ù s¾—qÐvÓOê›ÓâWÓ„r§EjÅã$—$͸T ¢ã}_qºž&ô#.+ä>ýØ,*hxm:ÿÊŽÛDþMI¯­7y^žŸ#ê<)Î@RV——K\ µ˜v¿£ÊÛûÕÿ¹»X¬;¹¿øî›}y†© †YÓ¸Úo—(;^ 6¬ 8mTxtvwž…Y*>À¤{ïþÒVhœ¶ûÞƒÀÁ"â÷>±u~´+Êx¼n§÷}µÔÈȹô-$A±ÄôQåõhdž›t6àŒÞäíŽÕåÅÿÿ–-.‘5aDŽ£öŽ6tà¿êG@S¤ÝÀtšö¦í1ú»¶Íd(å¼FW3é£óYô&Ùbm9½>~.ð 8Àˆ¹g4žÑ"¢-B€ Ç¯›Œ„^²B?o¥Ÿ&ŠÖÑ“ñ¸ï‡¢ÞÖXm+Ì8ýPÔ7t—Ã:Á,K9¤îÕ(Š Plï¬ñÉTç²ðn@çOb1_… L“¿À3Û5 ¾i‹›^±èÐiˆÚþ¡Ê—é³éb2YÍýñœ°Íü ”ß$üûC„_Ë*Úž‚üÂÛ!¤<#[k –~ŽÁ&ÃBkàeÐ1œ¾ws¬æãi]Œ éÁXÜðœ…ÊÝÖ¿\{±úbDŒÔƒv[¥aÞBaðê³> uW·6kºñsôû̸æ4A ‚ Áš§^^‘LÓòʃøœ¾hˆð¢'ÍüÑÜWÿý…Ô½]·uÜì⌉\SC Écí2Ø0q*QJ$R+âÛy¾w¸í“ó Nì¶ebÇ´ß§Sû£š]íYöêÈPXµ¾6–í¤%¯ZÂÛÉ¥”+BÂÉ9e©TRžé«¢]Þ7!}o›yîf«ohïµòûß^žÔc>ÇãÝãxÚ–a4‚1ùódM«!i< l{̦×ùa¯‚`猳dK…”:µMjî€VÓ8‹ýEc‘»Ü¨¬¬>Í”¨‰“ÅtÚô:ÙŠo‡¯5~«e“”Ñà÷úe‡96”—qb“ÔØÜrÌþÔ–ÅF0¥‰—bóŸp‚6ûT™ª˜¾ ÎGïàõ÷ÜÖûOž;ƉŠ]â(T†g©óm1“«Lè0y¸E·Þ¡§â†´vF2!³‰M ­‰aN&•†fÆÏ°¼¸Æø_ƒÒ€\,Dªƒ&|C‚&:¿òËðÁ-Ø?$ÂHMäô/fò áa¼ÂPýV›Ááˆ>ñbváÛ³‚ø,æB×·<|j¯çÖÜ4ÊY. _¿‹Yåv‡N:ÝÎÛ÷$u”ePTPm=X ·ßt9&=Tô™îFÎæh~6°š œ5Mþˆjô¡¨ù–³}âeæ2 Æ;Þy‡t\ŒÁ4¿7`êÏsQ{7[¶ã•ëB£ïç0Î7Ö˜"¿0O#¡¬Ú6F!•¯ÛªÀÂ)ª%Ñ5ûjüÙò:öWãtÿ8åUë XW}&v„Þo~˜ƒ‚Ñ•GÛ‡hýW°u]õ{Âi›T[–§ö9L߉þt:h ÕNBOh1É×Åí–yº²áž»ºãôßnli?ÀÚ§ÞÇŒÖç´lj8OÑÕ¯m9Wö²zo«+„¡“ë´ãŠ=@,fMÒí¯¨¬¯Pég쮬ÜØmá{©!¯ß—1k¨UËR1¨ˆ¹c]·á‡ÅôJVf}CG6¹o¹ú½›aŽ«!Ÿ/ldÏ8a;ÒAÌð²¿#~ØÒÒ Ìð¾TP8½Îá{ñyE·éɇ\·^ìõ4ÕK9m¨}…)”`U¨à,úÿ a8›#kbR =zSƒÓwªß,ΧeÕÄ¡0Ý•_7Eô~® Ï€}6ËiÌ#ØæÜg´jûªÍÔ«¤l”«¡{`‡bó£ØU¡„ÌÞ=o ¥»&°YL[üìÙ›‘ôé=ðûƒpzoÎOd.ãL*§Àéisá´ÎR’;ÁÒìÑV´ÝÀù‹iq¹¸ü,î[Ü#_oLIdÇ}®Þû¾ÞµI HÒ6&Cñøz3ÄÙ_n»åZLÒa ?®—âàÊV¶' S/ˆ•®­Û!l÷}2Ül|–O›õ@v«,ìƒÆñ*ËÞ1~üè÷Àļ듵Phé¹S¸º8}ëb\Uî¼z+ý‡MÄãk§ðNËVš¡ƒâ×´¡jøÔn/Öˆq\è¯Éɦ÷WíKæÕS[Åø´—þ¶Ö:ë Eïë*ïXôk¼9t`¸K×pËsq±˜Wèbæ‹Ô¦#—‡áÿZ•‹ÙÒ?Û{ôÍ‘dîÍ%Zqjyê²T¥pT„€Å&¡"OÓœ54ýsòÉõþš"ô ûRÚòê¹.'‹Ë©ßTdžš!»@P/ÿëµÛàŸð)ÂäõÂ9`ÞMˆ®æ^»Ði?~–'{Oz•õƒE11«œqàr¿”Áã#Ã^˜½<ìú3øšÁÞÏSíª3yîoœ_î¯ Y…ÜÒ^ ´¼šv@o—ç‡è¬¿þ}Q†p¬ßâiš´AP ìmgþ­½}¹%ŒeiÌ$3€+d–Æó\§J¤¾¡ðqh8á}yòUaæ½Îô€…_XdóŸxUéqåRË|°^æ½­&¥4½¶v½Û}¤øÚ§#9³xa ¶:+cy’NR£Rn]ÓýÀˆüðYÅû8±±ˆFîYÅÛ‡&Ib‰šåŽ&„Æ™æTàÍ6Âå 59ûL“Ÿ…úg¡~BýA1¬}î¯u®}z ¤ó>ŒPÁÇä&·öèî]y>ýÌ‹ÍІPl!˰Bïµ%’­†üuÈëîùÉ}Wº•‘бS•õ*›©·u+opï‚V˸r*#ûû÷K_:H–d„ï­Ç_Ûö÷rÞ8«.@ðòWeõÎsîõµ\†¨—’½k«@؇—3•j;’)I8O™ $¡±cÒÈø“S3ƒ‘©ƒxø.µGq¬ÔTß=où‡‡áÆÂŸE½PÏZroܬýt‘a¾^S¶ísšC*óæ,ºVMiÉrõæèåí1ÁÝý¡q†òí‘îî›(pœ>JyÁÖܸkQ­¬eø²¥ý–ý`õ¢îZñÍ¥EÛ°¨/½ç·^«¿”ïðžÊ†úÍ–{÷&gÛÚs¤@¼Wƒú¥1@ƒ0¡©M2ø/•ÊÄqNw)Wy¶R¥z:~5I¿bçK™+ã¼®)e¦RÍR–P;­P"ã’fk5={µ´P6fNe±Ëy®‰¹–.7 £”Y¼µàqr¿à7Zg—Kïöá÷ã=èÌ{ç†ý"Ì›vSÉ“û0ñž¶Y#º¼ÄkMB~^Ç} ×Kñ+Ý[-Ü#)aUW²‰2Úy/×eÀçC;ä‹kMë ¶ŽÀ»Þöº¨½±tç,zòM›8Øvf ³ÅqU]0l?ñ_[•gOoÅ"ÿZ¦m×›Ii±_bÆÉ28DgIÆRjXvBh¾OÙØÞy¥I9³p:6ÏH"¨cpN±©dyrSgàqöŒ¾Å k»1¼©ŠëÎÛ˜Š$‡Ÿ- j—}ˆýGû2h£LHï¬f °,‹9Ñ)`YB…U9‰?9½ôT~fÐwÀ û.·Ï íØ—ÙÄžûëÜ›=݆>ñ;`ÏÍú÷eÏýmßÀž¹"?cvÅÏ¿½þî¯yûëëÿ÷—ýøÍÿoÇÀy”ã"f‚Éã_†W\eLJÐ7òí}y(•Nº8–I&H„’[®adˆ$Vi™¾MâØ¤Äd¹EY“[DFÅ K[%P^?ZúCQÏÿ0™µ'©nnÏý)úÃ9ŒµÎ“;[òžßCú¨»XTuÛ¿ñ3;²s¼ÿ°öEfhç®XýÅt{}äd—ý8}ùâB=[ÍNõda yd5–”—åO¡¿£ãñÓúõYc!©›´ƒt}Žq4`„;wµXaSý‹%›psðAV¡ˆ|:xÇ!|¼{-K&Úçב¶xyfÈŒ».,ŒC¢°ÇþmNˆ±ÇãºVX ‚3机4»"5„«˜JÎ$ÓRî­-\3%]b¸1©ˆÁüÌs—jk$^1™ÑÝŽˆ-§©Ô9͵¶±åJª’ŸgYj2F­wÿç#ëÏtü;¤ã•‹bZ1½U‡ÌÚß*SLÚ~_ø~”n€²…Èr¢­ä\ªD0.d i)˜¼¥ƒb]ÊòT{o{D¯•1`—è„Z+>EJÿ®\ÀðßâÕQŸ©ý÷GíØÐcÀ³æö°ÃÄ÷Nq-B8 u&Îe.ðB‹œ»TÙ8K_}j7¯.¬Üž¤~[ó™¤Iùƒ÷aoÝt Z6tÇ8VYõÚ'Ú]ëÇŒP;)ÓÜJš&”¥V;ir®“ø–F.(ÜB؜؜2¦X[ƒ'ŠZ”ý‰ÑuȰÀèþëi1/䤸/œÇ‘ƒÍ9®tËXk^±7GX.þa²…‡Iô+=BšŸý^´8 ÛÌšõðö©¯nšŽïsS®•å’h!yš1ʄȩÃl—[BU—Ì>…zñ¢[Œ}Ó;g,"ô®ÿË­Üdï‹¢%*3Êà:˜°&¥Q"¥T3š%9Ý~QÔ¾¡fŸîØšù†ó “eNeÞO.m¦bÕ„™ýû21‘›L8®²85Œ[©YÂ2eÞˆeˆ}´Wúì~¨ëGÖÝPÕâW@üîÁ'˜íø0®©jÀ»v-^¸hí½ M]ßu¡ŠI1¿Ž. x­ŽdÿÝæv‘šB˜}8@Br‚Yuœ[‘a›k_î‘%0'ÓÓ'åäŸÝ:BWÅöäÓþÕ½¾6&áí.ÓF™*ªµ†Ì¿5L¸ÙœÌ#7ƒ¡S«m]˪À¾ãxK¯o%õ“ú7ª_ÍG¾8Ð^–Õ5Æ3åy£„}¿¨0Iètpßt{w³œ\a÷©Ð¶|mv_ú³rm²¼n/H\.~³qÝ>¸e¡‹90âùkg©—ÆÚj‹Cô¿¬^-ÝÜIܵsoê¶ðúÌýÌ8eÆèD¤ŠåÚ&V9£ ‹óŒ1÷hÓ{ê^Ëï^ÿ Øvß¹„åôaêgwTõÜcWëw–žBCÊÅ´ù­¥éŽóAÖCà$ÍÅ+©]½¨PvÈa[»ÚÖ [}bÏÎÏ"ï± 5œí…ªO[ÀÌÊÚCf/ÒVÄ#SCe\Æqžçð‹Î-(E\òGéð—9¯‘¶ÿíŽ ·0ÕŠ^u˜É6 ŸþޏÁp×7p$Ó†xâÇnÑA.zSlÖRmèÞÄ~ ™˜k|g8S'‹;­Ì__<¢Ô¨:—9‚*Üê ±LS¯ ¹ÑQ0ñÀ~ÉA‰bðÌZ´ÄÅŒ’üÑ^KqGD×6Z›WhMÔjÍŸÑßá×ßUíÛåÈg+Í¡Ö8õÛ—R:x¯Q‹p¿&Î°ÄæBY¼§:jfqÊ)O¹s„çŸB®\d¾™z§Qï[ mntâ L+/*<î¯H– RÊÞa„‹é7Ù íK¾ÕNè\·&H…Ua q@L;ë¦_J—:[n¥Š•ÅÈY¦9O­Èuf¸ÍÊä*æ4îëÐù}¤>bub“æ\áÔVR!„Sy–q-ã,Ñ”­O  Ø2÷žÃ1Ãã¤ó ¢qè,ù$=kwá7ìÀs²tÉwH†­Aö™·-_nü.=L®Ò·ë\LçCS¯q”µÝЛòÚæJg«ÑÓ.©ï*êîJiìÒ!ãx½&lñR¹u¥OÚ»ÜПƒ' \|Cßú²éÌ)¯ïl[ʆTuñÚPŠÙ7¥ÂÞè¨,Ö¸æú©V×ö€‚‡—ýîCõuÝ6×u>]½²ªª°íb#¼° {ï ›f^þ«ö®½UÛë;wy–ɷ޺Ƌ¸åèOÅõ{c­©jìÃa¿öñ£ñ¦ÇÉo7èU›BeŸƒ¸÷Ľ#ßA?6»!~òÚ®°—Òßí\v·›‚».îhr&}dW ®†XèyYùÚ5 [lœÝÍ©å{;>ÌZN—GEá´ñ Líº¶{-¦^²„¸, Å­ô=y¦ Ãpù*ðVÙ=2BHßmº÷Ã6Ïš±7œôëpvWrº_œ†k͇^K ”ÿdÃO}͵1EÔß|‘xò3¡¨¯`þëfÞ²¹B%عc5qÃû¨/¶õ¦4÷É:ÌÕk³ ë= ×ø¾ëî0oÐQÎfVVÐK>(Uì£W¸…}é ló6<9öúï¡Ò$›Ž{å‘6æß¾9^{Vš‚´„o|ú>0¹N›xZwwOm»ËéwRášö1g+•õž8÷ëW*i¢s‘¤Yìb°X“š&\;J Ó.y´û6»jÞ#AbÇà‰‡©½A>ëõŠ’3<'ÙʳhéÚöÎRò)«ñ&ß rîÉÆü„§äß¹b.MÝdaQù)ûÍMš ò†‘ß¹uìé³è'´ëz‰žýK`hæ6¦|»yeß,ÙÛx™»^îicI.êΖ?þ ’·êÞ;:ÁXìXeZ)c@ÀYN© ï òSŠû¢Nþ¶|t¡ßyÀ!ƒYeg> ó“¾à#$¬®®·ÄæÔ h· ´úDZlŸµ)ÊѼ4fS{fúcÝ4Ñ ¡½ÕÀìµ¼ Ñöõ8{gwø…¦€T]{Úû¢í\ÂljǧTaš±‰%Ø]R€Š®(SIL8£4ŸÂŠ-3@O®¿é«ïa:ÎßHoÝ-cóàP…µùø2ÇI –g/>öÑ7±c›-˹Q6‰¹a±³9qT(™ç1!9K$ÑM›­õÈß!í¶š0©í†¸?IòÑbdÓÀ£ $5Œûvˆ34צ‡ s­S¡ñ¢¿h]JÛ½±2À ¹²ÀóeXB{ä7Fe>ѨøoÞ+ÖB ²ÓÅåjÓ^ùÎgð/C“MrÞT¢Skål‘€ÕóÐîkp¹O×^-8„°!À¹‚ÐèJ…ð´\‰Í‚ñ´]&Û‹— °7^NŠWu¥ŸR›þ|X¯€´ÃªåÿªËE¥[ÏÆ¦—Î.d/ŸÃTÛæÛø™žÍšžû¥ºøŸgÏ<}Þü³gCîJ HP ž¿úk€¶»[ØÅÅ|>{ñüùÕÕÕ™)?\ÃDgeuþ<ô× {ø.<÷8ŸågñíŽA•æÿÅ7_}ñÿ­Y?3 WWìnLÙ^]5xœí}ksÛÆÕð÷ü <ÊLkwdy±Ø°Žã™4iZÏ$“¸Íó¼_:{•PS –Õ_ÿž³ €/IQ²ä¸ÓÖìåì¹ßöåÿ|÷Ó·oÿïÍ_¢‹ùå$zó?ÿðúÛèäÙóç¿%ß>þÝÛï¢ÿýÛÛˆâ3½­ä´.æE9•“çÏÿò÷“èäb>Ÿ½xþüêêêì*9+«óçoyþÇŠñãæÇgóÞ—gfnN^}ñÒOøár2­¿Þ0L,„_ûw­4ðÏ¥Ëß}fÿ³(Þ}òm9ÛéüÙÛë™=‰tøí듹ý0¥/dUÛù×ÿxûý³üä9 2/æûêçoß|£jX—žÿ`ÏíÔ¼žÛËèÛ‰¬ëèële§Ú¾|^þâ夘¾‹.*ë¾>ùÏüL×õITÙÉ×'õüzbë kç'ÑÑÌ/à\Ï›…«Ò\Ã?¦xiœâk|n+x$~ÀišyŠ©±Î~”Å4z#ÏaEòUô‡Ë˜rþÕM_ûçå{[½/ìU3JØÝOÍǺ(l%+}qÝ ó·ö÷GÓi9—skš¾™L¨mcœ2ðÏÿ<{ýÕNaxx7R×Ñwå‡k8À¾ü,>£Ñ³gíËþÝy9 –€= ³ÒDQÿq½¸¼”Õõ‰yXÕ—³…z(uQšúäÕ›…š:ú~1Õˆ§uØÜ—1e_õ>©‹s@axý×ðÃæ·fUÙ¸*çVㆆcGÍ®‡ë Ë÷hw2ÜXólGÄÅ¡»)– ï¬!Xì_¼œ½z{a#ÙÌ)YÛð^äÊ*’ptðjUØ:œ”Qwì'vrÒG>XhX`8ôȯÿë“åð¸†/'þ¯0J]˜0úùÛE=yˆ3£#kT–J4¯ì_^^n¬¯çÐ~”ÎŒé4ò£š—ì±ýÌ+fffã:-ùÏON¦j‚i°\\\Ö;æls,½¼¼øUÛkjk·}ħG^ÍRY‹gUÏé]_7×ÕÕýŠZXxùò¥¡‰¡tfic£ ^uOiiiðMê­ímÄš#c6@HLÌc3SqqK"5B=Ï^_]¥¡¾kO’ŸŸ¡JÇ›\ó÷’BÏtÅgfeÕ*7\êNÀÄÀÈËË#áÔñœûvãëÆ|[XØ]ÎFǵ!𢩩Yi…”Ϊ¨å”þ>=­?ºîXûý»Tžzþh—O lf|\VÚà¯Ommí$™ùùsqÙ' ÄfV,EÑäMïa¡(.!4C•%C»kÎàJiÙ.K‹‹lºÉí 1ꪚùçÌEª,+})uz-þ##ªg·k`ú­æep8“°ðdooïð0/'gÿ:GA6¿º¿Úð$†:óüü¼ZlbvV܉,â»V%Ÿ€€Ò4ÇQü’Yx«!-/¯ƒü¾!é%{¥a†xy¸£Ìpš™y³ê“ôbv¯~¾Z’Ç%hÿU;9ø4X´Ǭ•ùzç0ǯ^ïÇæv—û“ª"P,ûµ Ôé*¹›e™Ü/TªkÏêúÅÅ+ŒBx‘\»;;%ý‘%fçÐócƒ¶P%wCdU÷Mª3ÝÊn}|WäáÃÙƒ£upzê$hm\G9æ‹ðýö “Hošµ=\°Lh%&×ãÂÓ®x»Àø ÃsrüP¡è*èyy[7 i‘‚Ö,ÌxHƒÆÙCØi¦—”ø] …´øêÖ:·¹k@¥Ñ…¤÷+:Z×£ºÛppÖ_³…<ÕãK¯¯O,=i·Û_ê>vª•¨”7 "Åïè/®º0yj\VS~ÀO±T‚çˆáèrVw4`Yy!|_9__„è±Is îs@ã48*12&¶¾N^â#·‰– Ä7.;tz?Yü²¡OUwrÜäuÏIHû­¤Ÿ2³­ã¢C ì+ûmœ·’íÝ Û¥Ú™ ~Çq÷æ‡*çMÁé ³&ê­OA͇ä¾%P2àÑŸrø[΀Mt=ÌÇ£[µ­R::3F£-86G¾‰>·ïÝ»—¯VH~}2•n´éO%H ‰ˆB±0vA·exëzrTó:::䄈¿ Ž×»íCyÓþÞU8¤gOfÍD숋†‰I†6fçÔ3D*6%åùvWoo¼|š_sw÷³\ÕX ¼V.¼[XP ‰ˆˆUÛ¼/Ûhç6Ùî~–D{Æïÿ­ÿ|/98:=‘‰TºÅLKkà¿©PóPâÎ8¦û÷ï÷õõå«[[X”õHW’õã 1œƒƒûSEµãFÇÆT‚ ¨ìœRÄ}¼ÁI™›ç%%!¿â>{ö̪_Øu'=,,LƒãÁƒÒ‚ïü¼Í¾BËGG*I ÖÖÖju«fØþ\ä™nø\‰ š…Î_ß@%Þ¾}»¸¼»Ǥ$-#s Jtï^jlì¨ËÉÉùº—]<£ÆPökbUº‘ò†óãmÄÆ¡y…& áæl“žÞãBµgô±D&øxx‹KKìÚµ#G-šò*ˉ¡©)§ºj S¾!ÞÂ"Œ<¼¼p>ñ }ÇñHîK•\Gy—a}uôlrƒe³¶«ôþ Ë&F½«¾QôCâjEóá‚)‹@Íõ°K6Ué¶Oay—Ç;UÌ‹…$Œé½­ £ÂЋ’ ÌLD”w9n«ñwÒ6V¯#¶÷~R\Çô–ÚÝoKÄ7ò"t w±B1aÌûBýxq¢leóÃw’hòt5„×õ¯  ãPƒy†ýö{â[ÖÖÞò„âžúxòG£S±@û¨>É@Çô¥¾Ò&ðõ8¦]7(e©ôŠâ×1"y›â7~6‹zTÆÄ»ßFßšAYZl”†/T¯õ$R;¥ó¦çäÄ´/h¢ÀdRçu®õÑ*lKö˜P œ_deõ‡kЗ°ªgìÃÆ¯V[wh1ÆçGNºé\.Üô>yÀÏÄ$FáTŠÍ?,>›„µÒ7=Yºàh²Â]‰««º ëÙ¿ß4þö¨õâNâÁÁ™×ÂGîAÄÊøäúúö52p<*JüÊ îXû _Št›t´µ­QÅda$^Èé^g¢£Ïµµîû˽t¤°stĸÝéÚ«Ì|ûƒD9ÁŸÝ ÷ùùñˆX3û/ 3=Oæ‚322¨½O2¤33\^©©Y#+Ùùøø—Áüf¤œ6:00–˜çI4???Ëíг³3»Û\»2Ñ©~mM˜jæ¤p(8`žjðp±³Ûm§öñÜ[줰VÖfRL>¹Üöñ¹º8-//ÏÎf4WmÁÌÌÌÔÔTS“œlД¬2ïãi:ZÚœ‹½d ï‹q"aòbMÉçìd×0ïc¾Qû.è>OÃH @‘NK¼|ÛkÚ¸Î"Pó#ìlm™™™wŽû»ºhéÀŬsÙæ`gïíè¨ö83`^^è…ø”WT¤ÚÍï-u/ƒ«þæÍ{{{ccF²ÎŽŽ“N%oû« 7s:ô€‚¶˜7H³—[.#ajÆÆÆÊÊÊàÖRQb¤žóÃ"íºôή.<<#8N6‚¦HÙ>jîd`0Ÿñ$X1N>+Ü1äìÿºmœ³$®“ož4PrîçÏ6s7}à}BBp` +ÒÖÒÔ¬uFiÚk€7|¾ÝD}çÎSé±bÝ´øø%ŠŠ’ò.~Ùi¾GõÈYðÑ£8xúš®/·Q(”`ä˨ÃB­*pÔt„XÒnRNNNñññi^GdÐzå •·¼¼ìu~³ô‚ÓCM ]äijÆ!îºCCffn./'§¯@}9“›ÜÒÒòäÉÕ¤.q‚f¾pø‹ Y5ë}ne_–›ÛÙݶnªØFa›É`𕍍(²Àú ൺ»»OMOnEŠÐÕÍÙ:âüLƒ{»²7ÐC'‹††fKÉÄ@ •X\Y¹©>d*½wê Á­díÏ)¥{äl’z{(L"RíRo€åáᱞ©tÝ+wgýô¬“ÚÈÈ,OÒˆ`€¢“‰ÔèU~ñ¢Ôzº6o7?'‡¦nooO§ÑÓm¹'Ì-Ñ1œ'ߌxŽg<¹l}ù¬¨¨8"éç7h šŸ`äõ~Úõ0çÕÔÔ€Ä:Þ®û½×»Q>">WõùùÃJâ *¹ïÙ”²T&î™ÝAr}•Ící0\lJ‡€á $ȵµ5}}}ð‚yC»Æžaâ)i5¸ô===[eÁ°ôÌAÓ±B-«   u¨`¤ÍdynFÆ}ŽÈpYúX°ôKJJ2e¢TLüÀ"Š;ëX¶FiûœvëVZNЇäèyz^`Þä·ž’}®o¤< ZBKßtøòå‹ËŒ[0å­»wGÕu­&Ë×@(-3î¥ P“ÑdààAÜz8û¹ZZÅ»tšƒ?Wu ˜„ÀZçöâÿ³û³% ¼œ‰ .Wd]ë¿à NèùóçÒÒÈŠpH d†J.-ÝZ‹œ6#=½‚H'žd†²­`2ó§ý>Æuä€"ˆç8­Ú¢}ÊÙÓ+hXþP{gôT1*=ÐÚKíÙm·´eYÃê·µhIÄêùõÉ›OxN7ž›À÷¦—…uG\Ĉ¹ã¿{÷=hFãþA¿Oªó¶ÎJ£×\s¡~ɘ¯ ÕÎbçõtèè§îwÑ¡øù0===µ}¶f}Ž~B¤®£!õÉB†¦x€­íO’»³F¿qÄ7;Ûæ‘ðYdÒȺ°)âI4¹í‘%]T{?xÛzÆÒ¤ô‰ß ×Y †¸‰i{cõ·/·Åþòvs -ìÈ$ Ÿgïú ­—Ñ2!OŸâô oox¸¡4qYKp1êÝÓD=pÛ•\01õõÑYJÁÛªêâ®»ßLÉ@’<ݯ —žºúëv²¨G\w[sƒçi^íYão$¥ô|¥3ciئ® ¾¥á­9egSëú šÌUóRT¥hl±pÜ"†4Ћ¶q¤"[Z®ŸX6@:B4Äk@ûÿÿó‘;¹%ÂÀƵ¾¦ÌDiŽÝ ÎDDDt .¼ïò…ôÚA<ðu­Ä-¡ ÅPª`Êä‰Á÷·š…ÆRÂ6­À‰ÎÕsf#¦¤–'×#þ@!Øý‡áÿ襜Ôê‰O}ö|©áî¶êS 9é6V®*Ë7FÕ J«?–„ƒ! ´mþëWž¼îÖÖ'™ƒ«‡g>|UVåQ‘âµGQïïSp Rè é‚)¸Î.Žü&3߆‚'U¯žŽÏÌö/^U¼ÖÐ ¥¤Tpºs÷®–bF¤|1¢tX¾0&€ jy±NCmaaéÕ¥¼9í?‘Q•^Hè5óm ŒÊÊJž=—¿c!ûƒ 33l,,BœÀÎÎN:F‘?`ð~@aa¡ŸŸ_øšQ€¬uIÄq5Ô0пqqpT^¾œžš"á€ihj ÷èn6•ðéõ˜ø7] ÓÓ¿CÂ!B×ç¹Ó LÌ›»£ùêpÅMPxÞIAÝѲiÜ]N²addT¹IøJಔ)ésº”°¨G|/ 11q¦{AûàAHŒ87·(6ÓÓÓi>W§6>çÈ9óJa6nîÝ„¦‹7&&L¿m•‹ïà`møàÀ1/èû÷ïNcÜÙ/e$Ä‹æìÝ×׆á¯_¿Œ¬ªª¢÷ö<Þšn¥jÃp2]ñ?òš(ÚØpVL ‘¬Ä!¿^R¢ ¿55ùhk§ h&þÁ”ûu55ÜîdVÒtq'žb€o÷’ zž——¨‰á¯A¡kž³es˜$]žŸÓŽÏþ;lLLLlÿf»d±¼qÜðq3ÙSüq;ä4ÿx~šáý'vV,Ððóí̵^^^ §ô‘z-bû¯þz‹ˆFñRZ¨ç‡¬ŒŒ $t?Lj÷d­#rBfŠØ>ûaùX^^^RRòÕ«xb„y…œœÜâ)Pâ²=srr R§˜û3?¿³çCàÐt2î8¨Üë_èˆCî‰{[NÜ£¤¼":Híp¦û¼”BöR ¼{źMÞàQwå—·;:ؾѠ::BÚÀáð›xx”¢îŽØÀ¾&™¥çk‚7,³_èþ*'–Þmˆ?Í{ù%l;‡ÇÁ]YÓêNà\Ùu]¥‰ã AÑüÅ“#òÑ4ï~¤=^CáŸï!{U”o®­…DF:;8ìôtwgº“E…êÏzîG455)3+ÈÊÚ:;W¦ ì X@ÉÚž%·Š¦~PøV¤TWWdzªGywY šŠ¸¬>Ú®ou¾oØ:ä‹=mÂÌËë@;lÂAdW£¦¦^×.NÄ…¹|úÄö±z®:¼áy{ù7Áºw–uYA³éWxŒ®ÊrGëÍýÍ à`L¯[EQtlêÛþ5‹VÐÇ=" ÷TQªHRÏÿ? 9P] X=XN‚‚<µxœí}isǵèwÿйLU,¥(²gínÅf•××µÙR’w?¥zrbÏ¢xý;§»gÃÂ@$e:Ifz9}úìËÿõíß¿y÷¿o¾ ®æ×“àÍ?¾þñ‡o‚“WççÿŠ¿9?ÿöÝ·ÁÿûÛ»Ÿ~ Â3¼«Ä´.æE9“óóï~> N®æóÙëóó›››³›ø¬¬.ÏßýzþÇ ñeÿÏWóÞ›gz®O.>ûÂNøáz2­¿\3LÈ9woÛgÐð×µ™‹Ÿ}e~_ï¿<ù¦­(MÚT2xœ½˜uXT}ŸÆÏÀHƒ€Š¤ -]R‚H‰€ˆ€04ÒÝÒ%"Ò" Ò "Ò !Cwîññ}w}ÞkÿÙÝëÝáÃuÎ̯¿÷}Nˆ²¢ >9ør²R*à5 7°ÐÀÿnmø ƒg2RÀõ¯¿ôx®ÈII¨º&£R¼”_NL4÷?—õ‡¢¿Ëňgo|!ûå}Ôè4©VyèæQa[‰Å*ª Ï«¬ðÚ;Ú&Îmm8Ž“våú]¤ß‚s|¥¢ÓÃ9ö2:Î*hqX«ïF2Ä$MG!<a8ž¢_6€JÐï¶ã@ O0.ÑLÀ8GCžŒß¨Œ²_&""ÒO˜&xðàÙhÞ+gätøòx©¡32áO£Âü•‘Ñ—igÌù£ÎÈ»š˜ÿø}Iž/•Q3½¯þ8sÀpôÚ›ÇŠŠ‘R´sû§Ä!ô%ÍÄ'%±ÆËß@óKHHPÉ¥ Ò'e$Äò÷÷'§ ÈMOéN_±Â|å³¾Šf××ÃØHÔUUWk»ºäK5`jjÒNn®®¦|ä :³CC_6ÔXØ%1æNv¼½½ÒEKkÛCÞÿ•ËÛìˆ}M}NλI666<‚ìÚа°Âl ÷ﱂ×á4†ôAú©©©KKK¯^½"ùnÄ£ ÁF"îyR’ŸÏ*"ây´9Á“XPYùáÓÇÔT’0n¼2…§Ocãâ%õõôô,,X3ñòͬÐs!Ë=k(T¿‡‡ÇôÔTóà01TŸ\fŸ\'±\õõM7–?6vgo/ÓRjxd$#- ‹|®*9^ÐÐÐÐV5å ±³ÕÌ¢¢¢9•Ã#1;›»·U·ÍÓUòiŒ¿ð§y7‡ŽœÎÍtþêÝíÌœÊ}úòdn>ÌÝËUW¢ªÍü˼ûþ;9‡AæÅ|b.~ùæÍW²†u©ù›I9Ÿ 91Á7Q×Á¯&7•™*óŹ{ö³/&Åô·àª2ù—'¿ÏÏT]Ÿ•™|yRÏo'¦¾2f~Ìa ~j|§:÷ë–¥¾…¿tñ>P8Å—ø½©à+1øâGœÆÏSLµùpæð“(¦Áq +ÁŸ¯ ­Ëù_ïzÛ~_¾7ÕûÂÜøQÜîþî¿Üz¨«ÂT¢RW·~˜¿5Ÿ·AL§å\Ìö#|5™8P›Ç8dà¯ÿzõ*øo3…ááÙ@Þß–n/Í…gQðêUó°}v^ÎÜW`OÜì€3AÐÿº^\_‹êöĂܭêO³…|uUêúäâÍBN |¿˜*DÓÚmîOa”üµ÷J]\ÃãoÝ?Ö?5«ÊWˆ 8lUÎÂí ŠÞñ|·öáZ¥á¾Üv-šž á¿ÛÏqäv†Ânôeûkkýì³/fï®L üµqÏyYNZ ¸´•™U¦†·ŠéePÊÿÀëZ3XÕY|´ð°¯¯[·EŸ?i žÁOeeÎÎÎ:_œÏ†kÔ·Ó~€VÅ\ÀN]ˆËJ\ÛÅ­›âuƒáX~ËK VðÎðEq}Ô•ºcéÿþwáVñïÃü³«³Ùôò$eKüò„œ‹Ú\‹ Ãڷۗᙀ*иþ®ì@qšÅÃSÁT\9Úb´Boó^œÊˆ ¾Hæ*8@÷ê´Ô&=Y:º¯èºËX<üòä+{ÐýÈ gªÉô¼‡~“HÓFëô4LÓSJOCâN7/†./æ›EõÞl½š™ü0ó ˆÂïZTHB»¬òñuñåuý·E„m×eÏø®ÅD$¶‹‰X<¾˜0\^Í[ ÐE=/”˜|]~ØzY5üßÖÝÛ€ÕîZgL¨]gm´hy™?Š[à 1hWøõºS‰»bOnÖ_BN³Ó( Oc»Œs@ô޹íú«~m®¥ËªðÀoUŸ€Ì5 <©gb gŸ¯"ؘ¿†VcyÞ*¿ÁçÏçÿ¨SÀÜÅÜ\¿9e‚Ä™Iˆ–YžÆ"…Z¥qÓ0~í[?À[?š|Ž~°-.¯àÓ{ÿøçÉp£ŒüÕͼòö¯Ã$ Ay}rÑòú3Y>  T{‹Å¯{Ù²¾wÎ÷¡ð¤æÂ²ïüå7s‹Nƒ}^† / ~|9r$¡Èsrñ˜™$ÎÁã(5 þO+³ß‘t+ê~UVî:l3bÖ/oxM/÷:WyøúŹ ¿Dyºž#ȘUœ2-Iœ abš•P•2.dÑCB`‹¹²,'{n_]ƒošèï‹Éd'H˜\Å”K¥Hf)àµQ*#Œ N<$$¶˜ëpx«Äz7¼ˆ‰ÊeDóœÃá$1%áYÒ„å*Oz3¶˜ëpÐø®ªÊ œÀ‘„šd„ ‡$cSÅIti¢HÌÙ!Á±Å\–P¼1Ó=Á13ÓvO`=YšÒH¥BkÆbÁ“ĈDi‘qžÇ‡ÜýsÝs÷µ™X íÍŽP¡ŒäŠF,39\Ý\æ"e†ÄQfJ*·˜ËBáëjQ_í ‰ïîv “”òQÎÃ,@+F#™ðˆPÐ#y Æçº7LøzgHzRA¸Š" Ty¤x焆a$ã0 ÉAoÄsY3̂ҞpóÂÙN‹C’å\ljŽc"2©`F¥œ¤&•iÈ ±-æ:2ÄZ‰t'˜åŒ%L´á€h’â©ËLqm´d8(Þb®{2awÛœZ°$'!'1Ü~ILÄ“Œê,Ö†FqB„ŒŠ8[Ìu ½(ð)h&ÍHˉ1š˜0 ž‡ù^ x_úXÚãøj3ÿÙê.¨0: xM(ø³¸žý›1mŽ0®3 XLÈD1‡ª˜Qø+³G¦ñ ˜¾ZÖqbˆ‘™âXz LQêɨÑ&2n|–SMLB)ðCôèÁ4¾!˜:hWPÑ”J#i’Hž©~Po`ªžv´+¬`PÛ„I1Ô„q˜D¹Id*ó$SBí'—Hm`e•†‚ÏŽ@N5¡ŒƒOb%t I’ŒË°(JÒ¦ à?zo ô¶¯^í ) ‚oH´Y’Æ"ÌI…À“áÒ+š”ÇÊb:ÿÞ‹de}Xì*§“Û¿üST…˜Îƒ¿øÀ/Ic´…2%9SBæšZŠ«mŸ©$Uaœïg.n ¼· fV1º¡õ»òGsi¦þªŽÝN㔘4D{¾&a$¹àŠG †¤Øýnç1a3¾‘Ê\—ïÍ÷Uy=Ж†vÃrK“Ä*¢ »q$‚Êœkš •_ÌÝ@ej%& e˜¾Öñ»éDT—æË\Lj³%ÀB¡@³‡‰bCs¥!¹’BÄŠ±,fO@É߀Ø@̽ÌàfFR#ˆ¦):åAùà$J²,eqôøÕÍñ x˜-ɳ÷Ã4‡7Ä<‘Å& ù™,ÔqZn*êÝb®{æßu±³k‚bx’daše„Ç: E‘< †ä°®‰ñ¹F|Z‹öŠ˜Ój)í7÷òmÍDe¦s7ÌÀã äÜ<• ‡é$5B%qB%3i|Äìg»¸ëò,Å^ô¿º¶žñO[lÙÁr¸¬­˜h²L…<„±)Ñè,€'™d1Ùϸ±)€i|®1«ÝäÒQÜ 'n„B¾R%!h¬škÅc–ä:ƒ=e$â¡9lÈ×è\‡ rÚÍ3/aA\kóL&L™Ø?Q$ M’|¿Ø¦Áý–¯ÓøÂÑ‚ÓÐõ¿ueM´Èt¤M’Š0d zèH1÷6é~òÀÇÊ—!2¾p€HwÓî´gm¾Ÿö¢Â0J1T2N9eÿQ% 0ðÔÓ=œ£ÀptáC®qV[ý¼…Ç(@ÆA=i¡“0K£4Kóœ¤,|´Wo|áC¿âîîÄZžÓ$M D"(M™¢1Í¢eÀG‹?ã ¯Œ˜X²TLŠùífnEü‹ƒ¦2´)p–Û´ypãÙ ±È³,‰AÖÔJÀ½ˆ˜!pM˜`Š*P; ªn4”nÀÊŠrúÍ•˜^Ž]?Æùô’]¢ÉrâøIeYHQ°dô#E¸†ªˆ†¡¦Yëýø¹™.®ƒ£ù™Gw€ˆûmy- çc>Æ©,%­Ëó?PÍyF$aåaÌ"¤q–è4å*Œs?Ãó/¿ÂŠŽuFã;Q“b†+ÚI‰QRÈÔÄD+M€ÉÄ$¡9å$*R Û3âæ¼ãÁ ·q1ì àø¼/ˆù/œ(6sÆ=©1yF¨T*Y†ÉÜD1#‚Ñä™Êö4qy¸®[?^¸LÊÀ’ï Ð™”YÄB ¸‘Ny¬“ˆR±T$ILíö^¿þw$ìÂMëÀÆ!Ôñ17—euë^gÉÎ ×™R”ÓH«0XžF™3 2¡ö æ=ª%{tb6›Ü~kr±˜tÂP׿’‘ Ó·´MfBM"Ю…ˆbASnr Å ¬_îi22¾‡•ß½7 Œù©\ÔÆ~üÅà_Þ·'´.æÅ{sêaØúö¬Òâý{þÙ¿´ÈޙůKD£n¹ 4çiš#˜$¡1aœG<Ó WÉ=õ™ûøF´Yü=ÇE’Êâ\s£Ó˜›”qøøœ³Î÷ ž|ÀoÙžsþ ÊéÈB‹Ò(px§6¦¢o陼ÛR ‘±Š¹Ô ùÇ  —7I ÷ gºƒ?6Ûûñ£ÛœýxL¶7¾ñKQÖ.Ìã¹1.@Û_Fµ%èÓî‹/?ÆŒZÉ™Ê%³XÄ‘RIT¨t†vúërnã·Æ.£ãTåFš4M²Ü€ze1Óše\§÷cG»Æ7~éƒìžñëø¥ H©‚Ò,$‰ ‰Åi˜1eB™«ôñÇoÀUýxW¾)>_¹é…‹´ ~3·§>ê*°‰ví'‹D†o·õO‚˜¥¸ÎYÌCÊœ¤’Hz®4<a`/˜b¯ŽÆ“Gw² p·ŽHcKP É@éK2¥aDò˜EûùÖŽ*yn`f¡õ®üÆBoµçn‡Ø×gCⶆil"g¡ÊA’Ò©f˜©(0É5„špÏ€ºcÚ`G7°¦ëñ±7µx0à†< WƒÒ XN–dId™QÆ€"¥ûé.{—)ØaG7€\­MËÙÖGNØq¤EÈ€IQ ‰á{¦¹ÜO3¹GÖþ>BÈè0½ì’mm•„‰„‘0'5M´ÌM*ÒŒCò=ËbÕF9ºkÑÁ4Ó‡5çÐ4ŽhdàØR‘E,¢´ÉØ„†2m’}í GÍÃÛ€…t“©ú°ÐÎ3F2M”¦<#€FÒ0s+~üx=¾ í6ÙõaÁ*VpÁÃH+­8qX¨J¥.¹¸›„0¾]Ôó·¿WïÊ‹©ÙÈÖ빨æ­-§ÿ‹™êµßÏðßÛ†kFDR-53$J¸ÑY(´äY©$¢ñ#ô-­†¦Œm ‹ÅüaZX¤þ¿Æ}ŸÈÐnØÑ¬#º¾ Š#I`•œEyªDšã¢åãÑD—a;¾ð¢…è›^Äëñ@+¢X1g–ŽÁ¡"´®€(“¨<~<¤eÐŽ/ë×E¾Þ/œ÷£‡æŽ¦*ò$a°EI•”ZÃÝ5i. 57Žp|á˜ÒÄü ¡„Þå4«Ì Èü¨)’:M#Š$‚ ¥d”È8$iE”?ÃÂ2PÇn¥’$Œx OJ%&½À¼õvÕ5Î{“¦Zš8Lu憑<âR0ÂÐ6•wÞ÷k‰LÌuã’ÃZöU¡ÿîŽh·ÏÚ ›¦R¸ŸnˆÛzáWÑÅ·ö £ƒoM­ªbæÂà‡auóa.aÏ¿Á‹ªuÏ.~˜Úä ÍÔðlïG,T`¡ì‚Iñ›±{9 ±áPÃ< Þ·¡™«³àmEÀçWEí—ÿhVyó@‰éç°^¬e ‹ñÿ€õ—Sø/› ^Hû:¬¶£*Oa…gÿup[.ªÚLàá²ùujn‚q[ã  Íà6â¦-^ÔÆ'ßàƒ7Ó®Š4œ‰4“òæåY ì /*XGÔ3£Š¼P°‹ÊÖß®îÔ‚Û|émb^{p.&¶MÃÅWÁ´¬®Aœrõ²oŠùU0+k á¾…ÍLܧAí´¤ÀÊ~0ËTEy,En¡ç÷âºÜusz5¼/šî¾ÍogX fu°Òn-[szt!ˈÑXÇ©`‚ÆYH,(ift ¼~-´n§‰XÐð Y©ièÐmslmý"êÍGœi8`—ú͆ÍuEÝý\B]æý6SuÅã/ü§Õ‰°Æ8àœX)<Ž(†'¸-Ð×Ö=¿XùÞ®À/àÜâÚU¸!Q£CòW κø@ŒúÛp€î„ö¼k¯@mðÌ)Þ¿ @œGØ¿˜ˆÝu®¶tú!hÚæâÝgŒcâMÆk<[À?•'o"Ýæ®›».ßìcdþw(v”LúûM·C€àý&Ú+$ã~SîTp¿ùöp3¨Áìâ­q®Kµ@ôˆØŽµ–€ÿ-ªÛ{us%æøô-pP RÀPuÙ²Âïá(^5ä¹öй‚´tQ»‰Žæ%í–ë´œ&N2°ì©€%ºöÍb ?Ù­ƒ¥ÿ%R ÌÍhH¤_€DŽ’Ü{3-\˜™Q7BË\ü†#ÁN˪Ô:-Û¶þ™@|0H`V‰Ë, Œ{ñÁ>vkéO}ò1ò„+3íFùPX–ÿÛè ÁçñÇfhø h{ñ%,aŒõ‡ÜŽŒÞ” “€B–‹9ˆhU޲ c/Š3sfŸk¸d´ 7q¦ð‰¶€Ñë×<:9~ð·ò䀪Gòçö<à¸aA•ñÐÜpðö<I´½23•c1uym…”ʹ‹Ú¯ëtíl‚¼*¯/¿l¸Þ ù@—ìg—y€軨ܒɨ¿plYT’·‚ÂtRÈJT·þ‚îÒýò¯B̓ËR¨«FRt?ÙëŽ×¤ðÖµ³ð·³³³56ª/äÅõ›a–wÐèÉ“(Ÿ–v${Mp|ûäö¢ò#Ø¡S¬”±âN³F-¦9¨@,ê9,¶¤ ˜"í ÕÝ(:V±­j^VgKiwòM¦ õç¦]GN\êŒÍÞ[±a4,«hÏÇW³Žt‰ýØ@oýsÍ€ÿ ÷ª¾*íÙìŸÄ»€^—p½g°kP» «WcbÕ_¿óŽ˜½0g—G#†¸ôz¸öܽäˆ¨à•ÆúåÝ`|»Ô`38íù{è‚´¨û¬©Û ,«I ^\V0þèÎýËâ½qdc ^Ρ­‰ÍRµiÐF*[5̼܀a®È"§«“¿,ÖÀ±%ž¹g7`Z^L&zî*Ò±ËÎÍÜÒÑŒBEUNìrqŒÅT·;ÖTëàùv¥ÿÀ]p=.Âí4±å¼Ák¤{ãxÊŸ'ó¿zaäÏ—ó¿"Ðþ§k>pj¡øÏAmý!ךŽRôÁ„A¨++çß [(ª#ˆS›„óu¸½¦°&¶Fú…Ûãv¦ PZjè,ø %±õtÄÐ+£~C,i_»1â·–cÃæ§ د4p¥ðй•’{¦E' »g1À Í‘¨âlà¬Õ¹ìK§Tf(»Ñþ*×£3lwjÛM®µ»¾—WÑÅOVl ¾›‚&W9ñóÛ¾ZçÍÄšgÏÚÊ&=#³wMœ¬| m^ž¬4£Òfl*l·€é¥__MÐe¿á+ɬ(!´¿¶Ãtõʳ6÷ãÄP¯{ùõëadµ=±n½çÝ‚ÛôǺÎi ÄÝH®ùöäbÖ¤è~qŽ?_ø¿zÓ¬E áêRXå׆YÀ50—ó¨,e™•µMª 0³înزµ™³â-<Ž Ws$ãIãр׋Ï4—­¬P’ØË¾×ºÉÃîõJUf‚iÖ €ƒ™Ööó sÓð3ñJ¢À°¬Ž¹ÞØ?l4æ>W\PBy†)žB‡°7øƒ¤™É´Ê|Zÿìö‹s˜ìÏSYÏZwàEÓ+·=üÞyŸÖ^ °êj} <Ä2@Êÿ3UÙ€kH»ÅÑ´·E—Z°~{ø[[5ìkª& ˺q~ŸÈ!_8Â*&/›mc“OC–ò 6³®»Àb‡„N.Ömöñìõ}'=ãeYóöØŽ×nðåÆ]¯¾±V¸›·÷ •ûΞ׉Î*du¶”å Dm-­ùøÅɇ“—Ž}®¤y¸gN~qr{‚jËʰë°6R Ý9ÃѾóícö¥+Tsf*«Ô©ÅDT}Kom•¯§¸õÕ¨j×è¿vªšë‹} ʶ*+øyV:ñÚÔµ¸´rÿ¬Âõ鯮¨\€ ¹˜ÏóàÅïßâÇ—§C£›÷LLq rØæ 2_^µÆfnñh-ÈV!í¡´ÛêþM¸ îx9ÖµÄÖ=Œi]ƒð‘h›V FXÜ Õ}}LÉ.Ž¡á¤¼[“Þš`—k„öLw Sõz^S€g>ºECµ‡ã£‹¬g¦¾KÚ}øçšru»² ×d帆žo¦ö÷!ò­)ÜS4 æÂ¸ƒönõ\K›Ž¥ÙÃ@ Oy'ÖË=­hŸé…+¶UËÑ}8®Å­µü¡¢‡¾À¼ûþ³Ñ2pX 7ö¥æ©¹±&è H¼;·èc÷X±s©9Ý}u)Îu+Ìôµœoͼ3Y¡¸^ƒˆˆ‚•¸Aߤcݤ-Ú^>›Ô¦÷ý‘®R/úù=ì-Ú¢!êc½E6âÞ:FÛñs× 4Ã0†ãèÉXnélj^M§[O¼®-PâÝw1[òL.©!½ø„A,¨Ït8úܨ@·‘⸺ú®è–&.Ñ[s\HÌYã«i¦®¼Axë¹ ~ýjR—Óæã·<µóõöò Þñî¹õ:õ‚Šþ×ê_wƤœv¡ZwÝ;oüi Q>+ßxï ±—«s—ÏGº6;·Ü¯Ú9÷›h¿Ž¾û͵GÆÆŽDg‹FÔ•èø0³{“›^å] ŽtÇ{Nî‚äÖÓ”ž}fKn­ «I€ÃêðeuЬW£·åfk‘¬0%ѧ,¬ï&r`û¸‚Žƒ;[Ž;ì±gËùçÎ3‚àó H»?—ýu~lZ· ùÝý®nÑ ý±ÞÕ=üƒÜÙ­Ä„õ—Ú]çõ"‚{ã>BÂn‚쳘°_Tá¨4?”›³ÀÒ(ÉѲ¨ ã–ÂØHÍ¥Œò\Ä<"˜ðø`êÇ#šhŠ#ÈmXˆMP—<óDÇ_÷ÔŠå8Eïè¤ÄŒ‡ÆKZVó«òƒùÚ®fן÷#_–S@}Æ$ .ÐÜ«_wñç½(Qûì*_Yžƒïáû•nS¡œ£·lSd?¼rñ6ûÜÄ¢—¸øö š”ÏÛuÏß¶Ï÷6ÒÙ:‘gLnO7e¥Ú¤D3_“ܵ*M¾¸;Ðá€õ!œ^ä屌Bae‚Ð8£&JB£²(¾Š)€¥*éZ4šﮣÎñhÉo»ógÜà^¨Ý3 ¶$¸¡tÏø™ïH€ÇeÓN ÜüŽ« –üvŠÌ±]ÄuO…z/1\ðÊRÓÚ¼zé³ì,–·0T¡~óy›#F«ÇFc‘â=; ^XCÃt!5&4Qž Pø“k£DšrBUDMºê0îu¬s—ȇÂÆеhWŸ½l‹^4…4°E—#(k0#¸uÃðr1©Í©ç¾*šüµ¿cM›[{-¦ GWñ…KO>ŠÝ¡ 7~¬†‘Ý)ÜøœÂûyúö 10˘+ÙÖtvF¸N6MDææ¹q¥?ÌÔ›6ÓßšÑñ޹ܭÒYþeÛ?Ås/§\+¥!ÇT†j@bŒºÓ¢¾vÙ®-…C˜ÃksŠI'abvÁ£"Ķ*E9tE¼”KýïKØvÉXÔà¦ð%l?¿%jk+´4·¶þPÈnïx»ÇŽc·]á,íº‘vÕ£^ª÷ÙvÉ—ù § .–¿¹mžYeÞå¢^æ‘XÏÑŒåG0aVZ|šUîàŽméÈýx£çu÷emÁ¡‹ô t¤îÁ7¦ºKl[.ÃÓ†DÎ.~hjº|›í\Ü:1<‰I“ Z¹Q¨…G‚S¦Tàwß .™ ˜0U¸¡¡–¹ŠP-ÑFhÜ£DI8L7»{ܶ¨íŸDJM ã('4gY¤ó<Œáª0®"9({{:ʲ×°ÅjOaˆ:{’p‘ˆQ–²$Δʘ‰7—¸Ý::uœ¦<Ñï‹Óú6`›$ã†\"¯×Ždç¼òá³Ì÷‘ïQnz;ÔTr m'ë Û¾®¼“2¾ ¾P¥6ä‹sû÷‘²áUóS`+%bÛ° £0ÿ½ÑÒ„3-W(hŠ`ÒtJð™ÒË) ý›bó£{µk—ëÔ>i[Õ~•™/ª©³¾Âlv,’g7Œí”lB~›äaâ}Š6¿ûˆ ÷iùÅÔö @x;{`;œÂêrMÞ¸ÕcA>P’_…gpKÂîß»jÿ ?çÁŠ`AU-LëèâÂК§WÇ?…­t%•ý>ù¸‡|Øà$o¬´41^;— ûfÑWFŒg®Ûþ°¥JhÇ8®K×oÛ&©Ÿ}g>¬ ‰ƒ½}ݘøœ—üµ…o‹–-½†;hA8J„ιHš 5Xœ¦ß³` `¾+'€…-²<ɭ׋ɼ˜M ×Òœqþ²Eo3ø­ÆâÈ.©ó ÝZìzS•ï íj@.Á×–tÀh*8tË›VßôPÛ_;~ŽÅÁÑwUÊZ-*·ìzpèw:0²« V÷WØa²«CmðeˆpëY=Ú—[ E &u«)æ°dqð×Pc½y;„Tw’)GÞ>UÜikd^—ÀŽ~(ˆÚ|÷Þ†ð*8œú´%P9ð¼?ͰO±Šñà ;pÚqεé} ®É•º°¯œáJ|”3WA«)iâÛ|˜ê,øÎö“éØbø‹Yx [‰ zØŠåMðòò< H{OݶÚcS³xÏÚta&„РC¥6÷4å&סPœ(ÊeÞØ#,8†gðñÇÉ.­`å]reO“@Ò{ÚdN¶ÌÎZÙJ™ºÎ}ÜrÎx8ÙÚü¾@˜8óãÑNÄŶW•»×›pÇŠp°pK -~5ö0 É{1Ê]»”æ(Sqi-îžm»"þŽé‰ ƒ°•—~Q7âöÔÊ€¾/*Ñððˆåˆ,¢÷eND»h< KnÑ@Q;ã¯%%rǓšŒsîÜA€`z?oiöä¶] ®ø¥µÏñòà¥Å‹¯×ßô·e¯ÓRƒQGÁ¤Sè ŠÚYÌàn)©.M‚¥­§ƒ&‚À×ZT\{†Û Eǰʙ/ä:([d‰!R‚Ñ%+TvŽ qáîV6}ëÙË'Ò”†AÖÛÍçÇ9’yïåqÊÑ$çiš#˜$¡1aœG<ÓBF؃xÀÆF'úîšÝk®=“âhç‡å†{èåR‰&:7*MSU$:Ã< )|µgäÙ}m™RñU[¦­½Þ‚)´~WºÊTŸ”ÿâÖ¨¯´^)÷Þ¨WrOW!ÆXºí¼\Vyw T‹P¾û܈e‹…‡”µ½,5LèUÛĵÂaÀÉ[eªûq͉rk&lŠ6-ÿ@áu¤wp`­ÎßÛ¢ä5°·­']Óë Énœe»€†m #2ÛïEå×cSÍ|s?+fõ¦Úµ•ß&h¿©,‰˜V_G²«T7(&9l‹¿6¶D´Ç¡ãT_ñ¸UÏüi¸}gM1ÀXM©Š—®5ãJ¸ Šxb`Ò·CI–a§Ä¤!‰£L“0’ÀèNãL±øä¢2Ø»ø{&ºÂ~w3Ì^A@ o Þ`?dÕ¨sa°oÂj2ç½’–J·(¾³O~|+ŸW[>›ÇÚÌçrH÷«W½DÛð˜§ÎäüÀ×FL·G:m ^,j§²? &ûÒiÁh|£â»ˆzKöQä‡`h.Èå:`¸‚ž§6ªAôî9†âaÊS!(6ØÈâ(Ô‘‘•¦DP™sM‘ª½Â:FùïˆÆ”ÝÏ|…9?GŽUF3àwÓ‰¨.Í0 ÀFEúP€q“1znPoL†ºûùŽd¶.ñdÒ+~Œ[§Aí$雫r²TtÁ{ƒ[éWáGèDõ-V'奨`ÚëBýó²Òs—u†æ5XŠÂeêðˆ¹ÄÚÍ6Öµñüšmçù6ÆÃA- 9/+ß{ã/„s7c=­Œ©UûZÓ„ÇršË)ê4I®©ciâ¤0­ïÐ>ÕÖí('Î ¦\Û&·>×θý¸œ5k[6€¹kôfO1Õ@¢ -ÿh­Åj,ƒ$Ž«ò¦ñsšA<µÝbQùìù-úâÚÑkP÷àíNäÊø%åEå]Á•7’®ì¢¼pÖÜ\À/É_îY•ýãÈ Že ʨMi†æJ Br%…ˆcYÌ0VÞo¾—ȶŸ8a$EƒOSEÂ0œ“(ɲ”ÅX,ÒÏ4ÈYÞÉLªY–F,”1™¢&I2 *„È c1çñ²™´w¬[l«ëJ—ÀXIš`4Ê$2Š5–­xfR¦…7~º®t~ŠýÎøÙ^ijûñmÌ]:Âu†zzÝ^«åþ³àëÛFôÞ6o ~_˜›Y‰!dO×.ýy¡ú Ò0©êV–<ŒØŸÍÆ›ž‘cÏzÂÛŸqùìó&q&\oß¾Ûjî¶>f3«˜¶×Cbø¾‚$Ëè^úÞ=£m,§ 8'DÅ”`¥WGœ T 7GÛlEÆ$D­4Ir“H‚Ü’ºP‘JØ^-IkÒÕî)ì‘ÞCŒ¸Ó7á0¨+æ¿Ø¯Jجyù1Ê[QΜÕÕmîèeKjjGTŒë"Ú‡¥m;׬º{»S÷•‡'™§­¨Ýw§x´ã[¢3 ÄhεV1Ïd”‰ hñŠ$!£I’3WRÐ좆ºúuC&—’ÔDOû$õóºk‘ƒÄ·Í˜¸WaáÌp)E9´ Ñ ˜F™³˜f™P@!Ål6¹ýÖqͯzóÿ­hâ1›Bãºßë¿©L/'k³îU|Øgýã¢d#x ¤Ô^0e½G1*rJàXY„• eJF”“Fú#Äof)B¦T©HPʲ(Œ5 [ÁÛ;=гx–Žr…èg —:–J¢í¿™D’ñÄĉ€U<ç£O ¡$“q¨óƒÄo¦±Ì"š…QHµÎ$r&"n"–‰0éâ7ScòŒP©èÆ0™›(fD0’Ñgõµ&?è@ò?]0"0ÒãÆÝ{ÏqUN<³oóÛ’OvgH@ܨ´}Þeh¿íô ï<Å@À¼˜Û<µa…þ{+¬ ¸¶y3hM=Ðd"ϨH‰TQ&èžLÓPÆ"‹Ò˜&<á~5¾ÌÔß‘ ÷B˜ÐvÜä…y¥8h•-ÑOM=¬Gõѧhˆ„Ä©IY&i¼DßÔÐÄDI«½§Ò8.p=M¾r‡²x—ù©)‘þónõ½™ûF%§k“JqùŃþõë^Ëà ¿±9+Ôª’ÙX‘PGEµ¡3”»惪v^C\£#õíR]–ñ¶Ñ›+*ǨÙ—ëJجëÀ†ï£vìéì†j|s¹3ô·êi©Vç»Ì'ÂÖí¾1Àã…ƒoŠjœvµ+ÿþ4:£6h%•/×Il—ŽX–ÐI˜¥Qš¥yNRZ¥¿·´ý#€a"a$LSÆS“ÑDƒ:’Š4µµ+¯¤ck°õú^–4ŽhdL¥ R€~m8Q1ðjÊ´I05ÓNÚô?ÜÄyÆ(ì/Ÿض‘4ÌÜÁìÍnÛVÊëf^ öÔös³Xk•‰(K•ÌÅxn8× €Ç ï' ŒçØ~r¢@¿$Å=8ÿ/?aÙ 7ÌÎÌܸLâ'XáLh] ÇäÁï«Ì5Îö*3™×Ï‹èƒØ‰ZÕ­L¦- ¿©@ÛAĴ⑽®I¼—¸bÜèUÐMe* ìêL5¥¬|Ù ŒŸ8 zV‚ú +Ö‹é8X©Á•ñò‚—‹w^áVT•³ à'·Îª²A™Æb‚ïå ‚»£Gk‹ù[Ó…ÂÒCSÏY°BÚÚõéjk4´_•í÷â §¸á^]—Ý<ZR0Í5qií6ýb¤´ø²8ÇrŒîeÆ iàp"ÀÞÂ,Óyf«âÜO¸,g±øÉ/Ê×YñEÝ–vìBâNׯ×\ÃÐ6ø­¼¼DÔq•M¤Qåu‡+¡Óö3J¬½7ýÒìãÆ•Cêó3 䩌2ÚyÂĽpv­àrêm`@ÔúégemAʘÛzû‹X*ÖæêxÙ­OL]»ÏCΟ~ɶ—î‚®Te±AX‰ÅW½5¬(6ªÆaŒÊd½xË«s~´¦¸ŒÇ´ÉbZÛ¨´gþV¸´Ê~e­6ë²WªiåÔ*$Q´È|üÃç®+ÖTд+ÈÕXSÏÈ:X]g~=MKÑOÛ|$[ï ½èÕ9³Oºô˜*ç4¸ÛM¥ ¦,¿.}DmWÝI\b‚æ¬Ø“XÌ—¡²\MiÀ6ËMe¶•‚lMÙÒ6l=¸é«éÂUüê,lÌ1îâû0BŸ3ƒ¡ƒ¾“‹633Õ¾ÁNŸ‰l ^ìE 6é¶p`›éöoŠ·AËv|<- WÚDr(ÐkÕ–©¾á#µà€Ý–½ÆmîÅ&Þy™ò!û¨-Ä×ÎêA7~Žv߃WBˆMxx‰/MË  sêª3cµÏ³ÕÀî,êH¢ì  g*Ò° ªœ*PÙsKÉc!ˆááýŒãûûäŒÃÊ”÷ F?¤êö4ãÃTãjι½ç)(,+^ëbÕ·— ®F˜÷«|`¶¶—™" i'”‰PcOs1£"†šfi¬ÙÉÅÛârú­­ßƒÇ°+xŠiÿý~uƒ±ZAX$9S¹ä¡ q‹SC*‰ •ΰE»þºœ[*õGiLõÀ¼_K©±ìÚ"K—Þ°‹­œ+K¦H¬ZW{ókW%Ër´ú4À2÷ŒÆÈõø…|N¡ÿ8–+.(¡<Ã< ¡C¦5üAÒÌdZe1bØÏæR8Cëxw£ý‚%SÈH‰FA)Ì—iBC[TãiÎgƒÖ íŒçX®¿*Ôܧ´zïš«!fE1¨ÿu|‡e5¬’íÛüº65ÈÐó0µÆ”;æqœHS‡«q3úº mCWèLÛª¾¬Zç/q˜9í@ßÿi<GÞúä.xÑT"sø%ƵÁ]ãë\6þù^×94*™@Ö$%/:Ù´ÿ!o= Þ×€ÞJgÀB·Tã³XÂÀ¶ˆ ÀØ `.Ò‡—G²Èì\ße?“ŒÑqªr#Mšb)Kâ^e1`/˸Nó“  ¶*Q'm ܱ³BÌlRñDf #‰`Zqr©¨N2ïÝ%V“,42œÅ4‚‘AIŠ•Ö e ò÷¾Ò¼„{ÍtJ¸SÖ)xÄ%ÜtÎéAºÄFy–n#@óÐô‡˜±8Q, sLa¡ù¤ùñó~–æûÿ,Ï?ËóÏòüS–ç]ÈÆ³Dÿ,Ñ?KôÏý§/ÑÛk{æÊÊó |uûrYßÐ:Çÿ$Ć ·‡Ð…SyÖÅÔJu‚îÁÊÆðüM…U}§MyÞÃÁÝ\ÇêAAÂXÄ’$3ÜŒ…*Ét›–†ÉcÁTníïÊo,ÃÙ©Yg©0Á"‰rI’(’IÌInâLGœ‹^³ËÎ<7Û¯cÏu¨8f[ó²0'©é"‚‰ MødûÊù©7(­ÿ, xåÝM~fH;Gy{­ö½©&¥À ´†5­ö¸BŒÊ/æ¦ –g;)ß© ø8ùzš—þÁH×‹ð¹ŸØùðëÞOh~<vo_Î3ýˆ‚ÿ‡ó[OW­àÿtÅ}«³à»=þðT€µ2ú&á¿YÃÞ6Èýw¨G’þÇífCÉòñJÿ±‰Tœ…*W:שf$Z$:ŽcA¨Á0ãgA`#aª{Ñw»˜7åÃ×âyf²ÏLöÊŒãµN¥YÁ«ä,ñ°QŠ¿“ÚÃ#šŠ#€ÀeI–$!•Œ2d<}²ß¿¼ڡ¿Ý‹Ì=­²ß«é=³‰¸mpÕ¸mÝÛÏ×CµUPWÚ žÍ8×ô6¥×fF¹:!ó`PVâºiåÕ>o˶ì„Ö†‚HGZ„Œ¨š(ŠH ß3Íå“ÍýåëjQ_ÝØî÷gÔÞµ¥…Ørçv‘¾¹àwAïÞ»#øxÖ§‰àc•»×••}zyÒˆKö°5¹í…}®mý\ÛúØ ¨þàå­·JÝî§É¼6ß3{f`+ ¬vȲÜßü™“=s²GÛ¥áØçÃp±ñY?M.¶ŒÏlì™­°1ƒØHLxfaÏ,ìѳ°‡ÒÄîÏ;wç`€n¡ØÃQðfÕØAóR©4:ÕO•ƒyÏ熋E=û{õ®ü±˜Þ+ý¾îz.ª‡ïþs€˜©þ¶au­g·÷Î"Æ÷ÅTûæ¿@]æØÚ¡þ}!0;¯[Ó¨câ&Æ ý†Àœ.¯mo“S_%rpAZGwƒjÄ lKÑ8p`‚+3™uábK]p¼Tq”æƒ;¬G\ä>]Þ»¹¯íÊñmàù¦åÙÃ]cÔ†}ÙR“[¦1÷Ê^åqÓê,J%³]MÌ1:殫{ÿ½%2ºgžÓ”ç)¨L™ñJ(L¢AË k€âSe?Û‹S«’ƒ¿ý¯^¿vmÚ/>A×n1XÚ\ø¢˜^™ªø(q ®mPWG|¥²¸ëÒ³ò\¯ñŒWŠ‚÷E]ÈbRÌoAg‚Ç*Õk›—Û–W®ë.²wLá9¨"©á”­ÁŠ­Š‚„E¹À •“¶ëè5ؾ·§ýÎ'¶<Ü¢Æ6õ?Šje£®Ã¹ÝÚèʲ¥»HŽœß\¬…z¾§F™ºª™¶É‰Õ3ÿn›§7/!A„óÁ†ï×¶Sεíùóý¢ÂÚÓA»ž¦œõ˜Ü`xð•xoÖÌ~Ø™–Ù‚¯1OÚ|µvݨ9"£(T1‡eÛ³^úÙD(›Ão õÂ;ØWÇ4­<‘?-wæñ-]`[®Í ÙÛÞþÄqεV1Ïd”‰Ìµ"IÈh’äì©RÊÆÔÔ£w¯:l»o©¨]…¿rú8ûn–ú½5sGúzäjµBio¨­ ‚¡Œî¾ú;݃bîj±à—ÒxJòtó\QŠ•æ öÝ¢ ôwMñÁ¶'ÅË0¾™ÙéjK¢‰™Ž´IR†Œ1ø ˜¡(iòT¯¶-Ö¶rµí§e'¶ƒ/ÉUûÙˆ'îÕ?5îúŠ€×ÔÓƒ¦“ç‹Ö¦Ò¥ó–•·ó íî{YVìý ÿ·jË,€öòYàl¼s(5N-äv½)-¼Wn˰ƒÄ6WfÜîÿ4¯Ìz´ï;²j¦¸ŠGÚî#pŸ®­'ö¤r'RŠÞaø’uktоkл ëÆèÝ‚”¸»ÛÏ|šÁTÍQÃÓ¼çkXãÐXòIZÖ>†Ýlpa–“ÎLä’¬…ô3liÔ{ØÛ]z:h?`¨êyC™«péÚ9.&sßúØ(´Åtå.×u…tzépü°¶ƒ Ø¸Ò‹ºé=·±&¾a…ǺmëxØvÑÅÔ7h®än¦\Ìýí]U…·ÁÇrj2ÚÏp«¬m…iälfªú¶Fs£usØžUË=š«¡ˆÛ.Ö«˜×ý3ì5¶ôn…õóú£›<Ë¿ãÄk·"n8úÓn8ôo­ï?ùy;ª"DR-53$J¸ÑY(´ä°;•D4fÑS¥·kä*OdX?L Ë©þï~âÕöF¦›ÏacÍâ§d¶OwÞ#iB}/å–M—¨SҀƮ8Fÿ$pO8‹r…Ò¯T¸ì£ÞôÊv¨-‘:–7=²ìJk#-›þ²m˜YëM@3âYúm=ÄuFÇÁ´MÑî^i‰=òüj¡æeuºL ÝsÎÓ`Ý'ak8×¹ÂòÕæƒ@Îr,íóö‹òÒ®ë>ˆ¬H›™™¢_xb¼bºƒðû ³ÈÇŠª†cø—Ï«¼u…Rð“ÐÚÉ¢áqÞ1óÄÌÏ®‡2ZÎ&æ½™4¥fúæ|­·ÎqÜ!¶u”t,Üñ€×  aŸ3q)æf·Ýs÷ઘèÊLWö³ißöpö–ãDK{áVær?!\ìT­C®‚ÁmØÜrJ(^ÁåÿÈq“ûÃzX±Ü´y¤¢ø°ªNÓHe±f,ASšKš‡”Ja((¸¢×Nu»*Ý«ÒêŸD˜PÆ87Œ%‰LÂÐð̨XF&U&Z/‚îR£{”ŸŒÈ´'ž%¦#JLÉÝ2 `«!'ÿ° úÔ¯œº‚fM¬þ€ä¶_ƒUc¼LBÖˆ!gÁsÛ”Åûk›ø•ëÒª?ÞcûÀc—'ÄE-Ë™z§ÓÔ¬OƒÅÔ*ã.”–æÊÝMËé«)6·“á†çÑp¹~3ÁtïGº¼òc¯9éÜÙa[ûÛ©•›­aÏÝükæxiËj]4 r°ÆN”l"iìLhZÔ—0ÿ­Ÿ×¡•GàÅ.lmÜ}Ý8 \sl‘£¤‹{tUøzëµ¢ºgë±è(f3#žb!ÂÒG/ueû§´þÓF޲ױ§¦ I8„‰é\9–Q«ÂZeÜ…C”NÒFRá´$4Ëaõ©KÀac¹:æ´Ž¦9i¬ $ó¶°qqb{«—“ûë¾UËî/çˬ0"Šãqf³÷@¨H„а±_‘Då±ø„DŠ–¢Ü3¦tËxŒ;c]÷)zƒ<ËkåŠ;âY›’¡ë@ytþ´MÏtœOU^›u|îÅÚΗkøß ¹dažæ“…M\ôôßqºÖ[ðÄ ì\gÁßÑÞ‹µä_Øæx·÷£ÙǼ2žÄû%[³x>ÒgîËmìM‹ºu|dåv/ îžpÍ“„9–TI©508“F‘áÒÐPsñ)…Ê¡Lþ®|rÑr™þµO¬Å¬²Òcf|ý1ÒO€¿õ†p&Ï€z1€¨-‡•Çbž® ñOv…²§æÆÍô9ÌXÔó&j9–öZÞ¸ÅÕÐÄVï°+²Eùš†ˆÝ퀨—à&„1‹$Zót(@ïDt%2IšDåO¾_EÚÄç§_lâ©G[aÉÿ[gãrP)'Õ„N¥©–&S„¹a$¸Œ…„°$Ä5ÎÔ¸èÙ¡wNñ'Ú!þˆ¹ÃGTpàèš"%ý`;ôçB3F*•œÎ)jݽÓ.ö}²{-cc‘?^ ῬU¬@`¦‹ëe7Ýj9´5¯JëúG£Ö¦›³^Uç΋WªEç¼³½KpngBü¥™Ó@Cšµaãiå%:ÿ} _S¿þbúÆ“⢮Ôù:8¶)ÙÿfWÿ®ËE¥ûEWö×·¦‡QÚ¡ºÕlæ:·s9Äþ¯W¯,l®à«WCœ—p£€³Ÿ_üw»ƒÆ›ëVu5ŸÏ^ŸŸßÜÜœéòÃ-lô¬¬.ÏÑÅÿÁ/ï[÷½E’ðŒ…gQ GYê[üŸ¼øìÿ0¸h§žð"--­²ÌÌw‰’*x¬•!!!MMo111ÒåMMMÙÙØ\®OM\\®~|v°·/.)±Zj‘-­s»°ÄÇÇÇêPå“CÇÆžöÆôW0Ë+ƒsEo__$îB¯Óå”ïŸññðD¶òòñEWB¡ÐÎ’Þë0(»ó¡6zè÷ðÚQ)_é$½‘цf³ë“G¾¸¼Û1YYYõõW… EMÍÍ ôôŽ»ÓåÆc”¶ =ádK­0-rÜ*ó uq1±õ½¹Z|Zåf×7«IÈvc¤Co^¿~]\XH +),Ÿœ$à …BfTaMnÌ<‘ʆ†¹ÕÕÕ……ôÂ}ú«ÜÆ•þIû7N¼rrÖ³$­¡\ìì”8ô(>ïj54˜2éV ‹ŠÎÎÎèþnÛ‰ýÑFˆT{ÿölµ¼L©L“TÀû¨Ì|`´e‚ö$''cb`˜[XtUCqqxÜœ'%%ÍΪ ¤‡ãÚÚÚ²srÊII5Ø®}ûÖ5š)˜+%-˜¤’QVÆ’Y hFøU¹/Ÿº½½ÝÛÇçäøx{ggÆü|{²HDD$På9—¥z½­£££ˆHÇÉÆ"Â줭ž^Vi)süÀÝŸd«Þ@µstœð€€é*|6ƒcxßÎTYY~þ+:ºD~7ǹda41qñß““{óõcc‘RjIÈBÈIb;³ßG×XÌO*immmÕ×Õ™ÏÕ utø$¼±Yí<<<\^Ööð¸{M‹ƒÒáÑ"Q<%!ÙZ[ÓÓÑÑ16–d^ƒÃõµµ3JJ,ôôDdƒ‚ÚmæÁ>úúú¤õ(`›úùÅf7##£ZwbÑIJBÓôó¦Ap> ´Ð2XïEFF&!!ihhHýBàß¡Re<Öà°"‰×ŸÔn¾ÄUûGìl$yŠÏÂccc©³~:2´'½‘TA„Á^ j*c.n*D)#$„^RÉðÖÿ÷.©ýµ½À|У~Œ}Y§Gï߿ǸœÕ[û†IäjSo`O„ðu·MÒJ,>=]ëÓ'a'‚/eš“{ j»»ós•‚ Õ-aÌl¤>4^݉\x–DÙs"BK=Ö§û¶Œ…:õû«d´Ìþþëç\iã!¨}h³{×g/ß¼‘E£ ŽLqß·…DðKŠZöõ](3bQt®¡3k1í핾†¼c÷>71‡gç9{·Â,†‡îb£ <`†€ŠJxrÒ=Ï{}Öeïg¯(þÞÚ!B[ ùsð몮–}‡ôu¬á˜_b18p ~•‡Ÿ '&vÙŸÇ" }ÕGÚ³^—¢¸ºË§Æé$‰AØùwŠ>!£;¾º,ÈφñCìñÀꊋ“ó-wêä¸WŸ§cÄŽ™Ñ¾Ê!‚=Ñ¿©–œ_Š:¾ò†ë×e ô#¦U#ÎÒs](119øÞcôäÒ¦aD÷ÝîœU­¯¯;twóž }ü‰O#„z¶Uùg4ój"×CΉÒûB]ñÿ%Úÿ_ºå›Ìj ™°ÐÑe6bÌ ŒŒX™ºÿaçÔëÆj†œvXCóQÖ7vv’cbDÁ¹ßu7¦Ð†ì‰(õà hÃ$ëÝ}}&qLöJ¨u*gÔj-s12p—íþ§ÿív[¶uu}ÛÇ»§èÐåÌùÀ‡ÙðJR¼+*1‘Çi_‹«¶ÞnÃÐÐc¤¿¯O¥Î:pTk+ÌÕ•—m¬ëŸ64d±5ž#Ÿ.@C»Ø [êêÊÉÈÈ@D–$chg `,Ó(’VÁ‚"öå a``èêéM«Ø ÓÓÓ|Nû•ɚܯŽâY$DEŸF™#çäæ6Ô׋‰Šâ~fçà|Õ&·þ(ã’œ„ ·/ú¥DqfA‰ž^¥ízÿDž|t¥b‰ª™YQiébž|úè臅/_reÿ =÷ý`gw2”ÌÅeµè~òg(7—Ö6±ÃG>í­ Ðvõ’mýúl“ˆÙÞÉ)ýÙïX¥Ñ¥ ãÎÀG"ºº«!$ê ê ih¤É¦E(~ùâ~w6µ¿¿§ogªb”WVQ™t›'“Xa8”t|lÛ¿Í”lZïy#v}¸ÒÑúœÿí[DDØÍ^íyÓÓŒFý/ä,Z-P ®v6Òa÷ÇëÒ¶q ÙÔ¸¼Õ45ÝÎK÷ Âmð¼kˆUx¸¿+)))ÓhgîÐ-N´…÷&$ëJ‰Šv‚bäÓçÏYß¿¿ô Áí º§ñBkö¼û+¹¾¾¾³ÌÅÅ…‡‡'33ð^gL~~¾"ªf‹{¢zü8BÎ[?***>ñâxöT³Ùà3S-³m«$ÛßÚ€ES½É™-¥ÜÛÑ«Õ룱»@ë¤C™ñ÷×Gˆ¿K5‚qû{{Ó ¡Õ76æ66â%°‰|þl÷»XÅÓÓ³3X®§³‹”÷W[›ÎBƒås­ ýÀšÎ#»wïÚ@í²ÔäÒ±vDÒz/ïqy¸,2ùë׬rÚïß¿ÿøÁ*+++((ƒÁúélw(/‚í/öRRRZ^Pøê$ÀÏá¢g ÚÝÛ Ô…ÊÐÐPŸJëíñ@Íšj)»£¢ŠŠ @ÓÛaµlž«¨¸ø5;; ^=Ï*ÆéŸ¡äž0Riyù¥:½ƒ^eQ4ëìζ'kjjÞ¾G[ªÁe–F:Ͷ°Zu$ƒ /›ªz]ÞÜHˆ‰ñ;f”—­tøÐà.£ ÔŠï/4NÍÏßžïÍ¥ò9™Sðñ¹­vÂ'óýý%9Ùv€ll죣£?lª\Qqñã«Û­‰<†˜¦É¬‚‚™cD>a;»Ê¸8Âð>×ÓWý;±PJR’\PWSãÒ(R¨^+›M¯Êk¿ üÄÔÊÊŠ:!…ƒ>b,K iw±¹±ªêiÏ@–O÷wþÇ,à ¤’––v;ßýË‘L ¾DAEn j(+ âEøÆÞÞB+ìD¾#£°ˆ(·–òäÉŽM]»CHÞ½{vÄ4rǤv¾W»T¡\l2‘‰¯Tª~µà´äqµÀTª·µµ-y\h€[nóéhoW%$¿­ì- žgY9¿Ø›û­]ÁDÒÌ(çì.‡gg%ùùÆS•Ž\χ»‹€4YÙ!¹"Ì[Ì£bRg ÒF†ôå/¹Ñ,ÀÿO7d62:(ƒ3YÖ‰¢seú¸´dá÷ÃÓà`qñÁÅæD õ–üü™vaÙ’XÞàFV{Zҳܠ'5µÈtü®§’ÃjH˜â®ˆLK\¡:…ŒqÌÑúÛl‰ 2¹Á9=úÛËÜeì=Eæ"˜Œ€A°C) ü­Sæº÷LÍÂÇ~UÝR„vÐYX ©ª¦ïlóRœ*Ñb ©ûr#¼Ãã:º ExÇÆ…ù0°æ±|T8ÛHзLú—:ËÖù¾Ì¥@CþbY4›`W«{s8d‚œT¾¬XlÄXÐd(EvIIZJS{¡U‘…€›b‹õÊØÆÈ€¹ÅM^v±©΋¦£Ãémí¶6|aaÚrå½›Î?ã9¨ Š)xhHL82´ÑmúºhP ÷!òŸáPô„·*»3MVIqƒå §ÍíÉ%…/ Ä~ÜÐG”šŸi£3s»¥dÔ-õD<ät¥¦ÊäáG—ÜaÂÂó"´5ÍÄZ¬ö›¹ â(ˆ•U¯C5´MM§ÃRßm.6OU‘™/Ky¢©,^;X².é /?aWnt¤X·ãv,ïÕeûò%ÁhØ}Ò”ñ÷oN$¨FóµŒG<¨W^æµíÑûõé‡ &téb ]–µÞu==w+9›ô ΰÐÄffæMãp%ʈkg vRnRG„ôÿüý{pfFXLì´¨O[›‘ƒÍffs ‘ºÖî`ÑÌhƒ”‡'¡¼‰©zDËŠŸ™YäÒý‘p@OG½ú}í’&·êç‰ÑsBFFWúŠ\y2›•^mmOO½Y5bˆ(Ô9Í—DS˜Ø‰± Ýo£"©n¤•I{ަ§Í45ÇÔ÷µ¦~ÈÐv,zâFÏìûøÚ&®½bØ)ž›«Õªj~‚ïSU…+-·’ÿ½ý5ûxƒãº =¤°¬¡'#ÏììôúM¨|¼Ø§ÖÞE º+ÿ ?Ÿ³b9vv_U‡ÃOUP·Ù8“¼ÎÏ;|*®¥¢r°GŠO’(7ã‹t}ôþýÀîÞÝÖàú±?ÖÖs¨»ë¯ü’FÇœøØIû IõWýÝYkèHï«4n6vòeãtkõ}ÁLbŸ¶€`L[ûªˆÑö…F–ÔT'øúÝâ±&4ÅÚ:¢ªÉÒ2.ÆŽÕò8_E˳þb(ùwÖ“×oäS”w×8‚n%#û:ýp¸ø=\XZ}Ë”Ù(è ´á½%F/û]‘jñ½Š…ØÜ[ÈÙŽJ+OÂ22ô|P/ +EFÒ4V7/Ilf€^I“6V)·îûÊõ¦š›/”9S2KccW£>¾ÍÖ[çáñ =þ¤DŽûÖõÔq<»ww·ÇÂ<¨KWT|8Ep) M*IÄKîkï0éã µZœw>ßÅóðúú5ëüü¡öÇÙ»‡D.[i7¼ЊHqg¡¥Ýè Æ`){R^ŽÙ'=˜–&PÖÀc€qVôÑ׆»ic„øŸÓq¥² QðcØú"ð³_¿”‡†Þ~ä°±°ÀFôq|[”Òö³ÆêbLä%%¥¬ššÅµýó•ÇÓy¸ÝÁïf"Ïjo)½ÑLéúWA:‹Æ6»¾dz$ÄhWêUbí:R ZæÃíË?ç{Dsµn,ÊÚKqœ nÍîW}ãã¦ý=0,”«%s+«¹ÇJ 4 wqiEGzx= ­ÍÇdww½óÞÔ”ôJëêöÊ[©Œ>ð£å®“OŸ^@y;ïϦj;üQPx]Ã"X¯Q!‘ä$~5ú”+@Ü·o4ÁD|ÕÍG¹´ûa¤þ8•$X!#;Î?YwW:JÒÝ¿O¬$…“Þ¸œüÁÔ_fOÄrpˆÍ’@„Bym•ü©q—-Hº•¿|Á{î¶ÉÏOU@ ¡esAM+iÏÛ¹4— Õ×Ì(äVC†5Bº_“ HóÓÊ %çû]ºîâ›è>¡€¯²'ˆaRº¶zvs<;+n2+ŠVmcñC'÷ãÇûdNYi™&»ÓÍ æKÙŠ4£â˜z¬ô:Ĭº7ÆÒR>áU®¡!¢ 2‚uB>¿¡{&ÎsUã| Çó©´4Nb?6â„J;Ô©è닃w)¹E•Ži+íR°‡r³)Ú˜8ÅïÛœ äTZÜoKÔ’uuÿ¸_޲Úýi ħ’Oí·2>Ž2JÐ6YEizS]yjjúL]ÝQUåŒßF÷  ÃÎØlõQ£ã½SmTÅös¼à`ihÂÍVž8Z¦JXò\i‹öêZü豿¨Ê_ÊÍKʵôè²¹{H°¨Â%Ÿ¢@©³t#hñ„…W9؃ìì¦.v ¤åŠKïóss¿Ð¬¼áwÝD Ÿhq:ˆÍ3µÑ!“iÏËÌ µ9ûýùT*‰Òؘ/3s8¶)¬:Æþíˆ9€Ù^ÁÓÑ2«ª´Ã_p³NM؉YWéIl·ù¸˜˜PˆøÆÍ‰«á¡‚Ómolz’ª¾©éæÕÆ ¢V+©^àW<ýìtkÚë«P‘{«çq]gQéýæv°Ì#Á[V­ÇÉTà\»5qaSË ôûU»ó3]røÖÄUh(” -"Äþ;>ú@\j“ˉ‰¥e~ffÜ<§”óyñü‚ÇÔw19¶‹UÜB½džÚ‚žXˆ¨©d7‡D}?HõwÐH‡õt!KÁ’sô õ „!ÂÇ'勈CèôòŠ€¼cï'ÛK À¥g)³sXXÙæ¥¦ï×N¦]á¡3’kdàQ’•%§D²?õ‘b©µÌÇ+bdìÛˆÄËcƒ®b•S}J6oª®.üßöö8É{€xiéü—ª{‹üÁÝìÔ˶W[[­)¼±°»k|3³èz»·ð_£çqüÜ#BŽn`§57Ã`r&&oš>R2M®g3——4AÖx1IªOŸÚï® kyò¤ì«RͰ©õ6>åˈ¢5{Ü´M:ôT™pò9 g”cé€\¯[ Â~÷þd‚"ìH’*6Æþ„Âwí²XÅ_Jª°¢rê½`š¢©Y2­Ì´‰åâÉéV—¥6¹¾¤ï•FB oôK+¿o4u?l½âh0»ŠÙÊÙ­Çý¡ù …Go«4‡T›<˜8†æ…<.YYPÜõlûÎýI¥ÑœÅÜ1'&Jó×-x_rb¢ñh[^À2Š0=¤øÌ8P©.^É^a²gp°:ÈÅ,¶cE6­IB!61ª¢0¸Ë÷ mDÈø§CêÛ˵I‹¹OÌšX/x*ȪÎnheƒ°;ªUv§î«ò> £Jv‡e鯬ØQ£Fr¾bN_ ¬Ü(+ž¹¤¢ü*f_5‘¢‘ Þ¤J¯ž OäI¼á´˜y£ú@¯@þÓhûƒ¦frdf†ÒÝ2ûJ²û|K8Q2 lx±šÿChŽVƒ™ItTT!:>¥»»¸ÅÒ=YƒY$ 1Ú̺{Bü€¨ïhYkKêk“‹BK ÝVsùG4Ôóèè‚6”Æ·—™öS”Ò¬¸˜^úæJƒ¢¾¸ñéo]j éh ‚'»Z7ŠÊ–êOعœR½¼šÒ#hQYq?½c—Öו‘ž«Õ ÃG9œŒ;"9²\ññJ|}aaøZÏ”íûR$Õ#û©q`$Jý§%ÒF”›m>\ys?ÚôfØ•̶2Š”`éü7þ7†7—ÓãÒ”¨Âψ¯¯Ãü¼"‚ Q‘…E`^~AàÎ~K‘Njvöz•»Xz±ùt„óÑêÝîî-- ³Ä{éßúãéSR¼½=>Zã>F·œpâhb¯k”8ßÌL©R¿ÄD‹M8’d(j9ù3Ó!$©*ÄN™- ÌÐà°S>rÿp7b¶"Œ °ôúþ=ªàóÅ·oõú Õ½X¾ÙJNòâý۞𡵠,âÃ÷J.ß•ÔDÅs%$6²sJ¶ü¸¬uÈ©5¬ØéUhñ8-e`-_‡ïMJ‡ï«êûõà;»Š{ÜN§¤µ(ʆŠ9ñ¼þêqr9¶|øeiiˆý\1·„é|hû£f5Œ†ÊOÇÑÑ‘––Ö¶LŠ>4Tj$Ù ®D­vww7¤û­>A ŒêWX˜Á¡z¿.h¹Ð@³~æ[VÆ2¶WQä=`P˜ÈWpù¾5sXpÜÔô×ÙioÁ³Äi‘æ;4jêåþÞž¿M¢_<¦ö ïU8joöH#aâéóÅÔ°×bäÇ ;„#Mˆ¯Ž^ÿ㑟8¤Ó[ðY&©Ë;‰¨#x_4!!aaa!¸¾”KÁMsø3HÂÀÀðæÍ;»“º:n]J?b¿‚‚‚Ðü×÷w7íølXããÕÕCýýQ–Od®%æÛ¥Þ+òwVö„“•eeeef²YÎ×€ó¥ \žöîüöÊÎÊÊJOOÏÁÁAB¢'Ýó:P]ùø÷7¢ˆ&ë¹ø˜ùu|‘Kñ7¦Ê^!!XøøÑ®ÙÙÙ”(èWU½¶+(0144ôð¸«4!dTâ ^sþüy¢ÅãÆÜÜÜ÷å*÷âèhDD„¶¹9ãBê…b¯Å¯°â¿ŠSŒ|䫨.OIIÑlvMåuØ^ht 岜?<>޲%šC?†VSyV–—Ï48˜¹¸¸|þŒŸ<”ÆntØl~³_eó}ÇQS7À}r65ä?¼'SÜÙÙyóúõ+üÀ»ÛÝÊßøÖÁÁAF**Ÿ”н ³† Âî›rrr’’T[=ï¸ì¬¬ùùùä¹J_¾?{¦¨¨/ŸÊ«€›½>ß›+Ù/xýQ‘ÿ¼‹H«³§'xiý²­ ª—™™©ªªš%êz´ŠÌc3Wcáêê œQ©TÝÄA žÄpñó7+•iV«GÙ‹n±õ#Àu™–’WãéèYu¼“’ž­GX^5|ðÌ î.R*¨UUW§¦¦jµz†®]ŽçHEÄùíþ FÑHS_d›GŽþ(, º­.,ìÿùSθbhµ²´ÌMሪªª~@Ñ„‘>bT9ナCKôƒž…å%—ýÙ¶Âcÿ“ë³0é_ õa~ö$ÜOÿùóçß×u>ÞÞÖЋ““àà`3SS)YYRNså"7úý…pcã&؃&œöUNæ:[ÉDnRRÒ?þyÖÔzõ'¹¡¡ÁncûÙëüIH#öþÂ¥óÝ=ccnƒþà.»»æýííªçÊßÄZ¸Ä˜ÿ¾ºrÜ› '¬±aXÅÓÛþU ££‚@›––ÆfÇr´Öcd`°¾¾^ßÐ`Ë 㿬–×ÐЈ¬ôMC+(, ƒòï/4ÆZ„„ØÛÚRz VÕÔ(*(ˆ¡±%ÊØ®lo›V´U›M…³én稨¨DÑŒ%„ÓRÍâ ìÎղĬ[s{Üœ312vÚÌ÷n¦K˜³‡(^Ä,êï*ÿÝÿEE ò Øáï°r°¦‡‡‡­®žUØÚÛò–w~’6·w7D,šX88dìú½~ØÏ{¿õ!wž%XtâP.%SÆÿššÊ{Jçv,¢¥•î¼âû`õŠáù[ç99ëN¢‹­½»¦×«]Áð²¿Î?²B …~úôIµ”òXùIÚ+wK+]ݨ¨¨ñéie5µ¹ŠÏ’,šMÓ`fÍÚíÝ ‘LÄÆdÕ?L…âÓ³¶ò7\ÉKaPRÒ‘4~7À9ºA™™:&&ðþoJ©åV¢äßÿè»2U¥åçŽè92øc‘SH Œxß󜈓¿kÊ*»¸Ô§¥i|SóPÂx˜?nžéÖi"° ¤`'ÁÄÄ ý§¥ xлÄÛ¨Ðè©ªÎæ¥{&%'«))ÅÇÇO•iµþ壄ش´EÐ/..æp;7_iÿÆäôÞY­ÛíbŸfd/4$dÚÜÑÂb¯P¡¨“t&˜ˆÅóŽîßQo³æù±È-l€Ä`Rp•“‹KÐi_V“Z發®îj›8¡FÇĈÊ]üm,,,°“?¡ééZÿrh@ gû |™ß¿ƒ3XA~¾¤úC_7§Åì55éú$Ú©OU``«‹³ó™ÝîîîíííƒÖ‡Åþþ „Ò¢"iÏEúŠ_"ò—AîVAêãfw×g@}}š¨¥›ÿvh8¦„ºìÔÔ”šªjn^È$sÓÓ¸Fwx½´$6Ððààç¯q}Ú„ÐH=Õ÷E¿ôÇ"Ú‡dìâ¨!ýÃíÆ‡,*ôbs,Ëé`Q­Ö’ÀIŸLÀÝyù§P(..®LXš|ä¥To6¬“)8F­• žÃCk›»Žu[ÙZ`¥4´$£‘4 mmmCCÇýùzE§wÃò1‹Üܰç\r"""€çûúè^¾”€¯†±E:i÷V?e"±!9›“¼ƒ//gäæ‚6Ï^]ÕÕ½€Û;8*ˆž'"ÀE#d#¥ãbbêêê­F|¦n½è¢A±A—–nBä°ZlÚÜ4Öµú ·ŒQaR,VÖ12RrÏ6…*><|=+&}æ&C(>nìG梉¶˜2R³M•\G÷ù³Z±£ÂHÑ Â0­ÍGB_ÿ—ôû¯®Á¥âd͇~+…½·«j ”®ÈeàEçeG!ÇLï=Aì#e0 ’š| ˜|ü ø”tq½7{éƒïøS¯^%luDèQ:Ç|À=ù€(Hi›[©© í½˜œh©°¶÷J¤wÉ © ©éfPƒÓNù…xœì½k“Ç‘(úÝ¿g6Â"£a½«‹–!뱫’MI´÷ž8÷ÄF=g°Â ±†Ãñ¯¿™UÝfÈ0À´äI¢Ñ¨ÊÊÊwef}ñ¿¾ùÛ×oþ÷ëoGWËëÉèõßÿòÃ÷_Î>ñâ?ù×/^|óæ›Ñÿûo~üaD/ÈèÍÜNã帞ÚÉ‹ßþõltvµ\Î^¾xq{{{qË/êùå‹7?¿x‡cQüqóÏÏ—½_^„e8{õ‡/ò„ï®'ÓÅ— C1å×ùÝhüu—v„ï~ÿçfüö˳¯ëé2N—Ÿ¿¹›Å³‘/Ÿ¾<[ÆwËòã?û+;_Äå—óÝçÕÙ d9^N⫟¾~ýÕ»ñbôõÄ.£ŸcŠó8õñ‹åë?|1O]Ícúòì–~±8Íãä˳ÅònW1.ÏFK˜¶™ _ÀÑ_¦ÃNO‡#ŸxœÕz…W\ϲî×@ X2'Á-AƒÃÝÝ]'Hpw—àÜ!¸{îCpw¿ß]ç­óÞ½çx=¬=½ötwUUõUõÞ~“ÀÆx†@°ßKŠ~‚@U‚~#¸jm ƒ/]i QÈÃßOFs^4By/úî‹sÊÞ‚“:þÅêáŽÕºŒ ݘ‚‚>åzû"éD7NÍWkQ-ò<š¢_…@«óëÞá0¸‰–¬þ|$6׫‹Œ¤ßÛÛ°D6¥9A…NEAÔ~såSwTáaëâcÝf •ø²n2ƒ¯§©© ïØrÿÖ ÞGbp÷ðˆŽŠÚ,ýìõ„HH*"DãkjêBÒ3pˬwdd©Ñ‰eAá+3NT9&+["›Ê‚‚=IDˆë!Ïÿº,5U‰ŸŽE Ú×y!vúðè—òªÊÊù……àšÂm#ìü;‘踸ø×¯_ƒCCk««Ä~:Ĺ¹¹œ®§›7Ñøëêœ ´¨ïõ ï/Zø­—… ÖÛ|P¹,çÒÒä†gèt¤ñ»²³³—j6K•~[s¶°ØKá±óöö6¦‡B¾ù"výYûÛ&¶uȘÕÉa²rrŽÖÖäF öëô§4 º:ÜÁ_aüväqŠ/ñyœÃ#»öàœ¦™g< ñÝEYóv<½¶—‘}5úãõ8„zùçý:?¯ßÆùÛq¼mF)«û[ópë¡®Æqnçþê®æ?ÚÏ[`§Ózi—14#|5™TÇŽxÌÀ_ÿëóÏGÿ§0<¼;rw£oêww—q ôV]Ð 6úüóöåü•G+Äž•ÙLF£þãÅÍõµße”¨þmvã>ÇM[œ½z}ã&c?BÊY”eýeâÏ/Å]Õaõúw7SdüžŸ,Æ—@áðú/åïxØûÕø¿äÏ£í¦™Íëdóz=¢oýW£ÇëX)ÈÊD~¶ŽÆæÙ{ë]mIpsOVðþð‡/f@ÍS åÅÈŽãéå$Ž,N1™àߣŽÎâä¬OÎ?}}³XÖׯ'õ²Ò(CùåÙ›«8ò0ÁÜNÊOGu-áádì€Tï.Fo®p†E~øÓŽÃe\Žn¯ÆþjÆ‹ÙÄÞ•¯f0ôÈN³*ôËÅèv¼¼Êß]\\ >:­£ÑFÝN4@fŒeÿ-€ˆ#üXÏ# €¿ùâÅl;ánÚí÷ðÏùxiÇ™½œÛëQªç£fÔ—-Â×Þàwc #8èãëËÑbî×ü¯ÿ—¹þë¿`–ÙÕÅlzy6rõùòŒœnñÚ΀¾ÚtïÃ㳑€h탛G©×‚o¦ö¶çáÆá=ß ‹Î#Ç•E:r.oOëÙE¼þÁÞÁN¹I\'‰¿ØElhñgAℹ½ÅGµûosqÑ,U,0&ÏÕ9%úœÓ¼f%›–ù§ j¯ãµ‹€){ ßÍû 4 H_v²˜Ùé—g >_±W@(!=Á“åߺôÁ7_,þ1_f/ãõK™óžjV9^±DI"J(ÊW•ó´²Íôݯ¾‡_ýÓ ¢p:¾¼‚Oo› GÏ^ÅéÍ5 Eþ\¦¿7ÄÏë¿rõXáìÕøµÇ [/#²À@°:XB•JZÊ$­³žq§• ´Þ†“DÁ0Ð?X'Û‫PÅJÉ*8k©6.1Ñ<8T"'‰ƒa ñv·Å‹Qxm¥ðèˆòJ†ä#ó•OT¦“ÄÁ0Ð¿Ä ˆ(9¯í|y/òW¯.”:3¢/–z†Ä°hòŠy"˜uÙH¢ B‹ä“—Ú§é~ûqÄ­†·y?ïÁ³¡Q†]kŒÜÞ“üÛ?Í@«M—ç²o!/QŸ<Øi¸çÚ%e­0†p¦‚'&2‘„ Nï·9«å€pUÏ‹®Þf®lú{Ñ‹{e¨»!lõsô Ë!dƒå”0›w„™È+i¤š !Yç‰Ó-æÚ§"ÒG ® ²ê*©x¤\í‚„æå÷;` \,ÔÚá}¨,¥I‰*εŽÀ,ôXÛb.Äš«ëÉcÖÿs|ç‹vÂCò:19 žm§¤y‘` ® UZ)pJ[̵ƒ7³cXò±ÈÝÙ£I*h¨c(È„”'myð2&sPÌn1bö§ïêÇSޱ£=¦Q\Y+eÁˆ@$ELeăڤ[Ì•ñu=©çÅDdGL š¹Ê pè½WÞ8Ã*F4!á ¨Øb®G{¹*~Æ“òq=Ý ”3Æs~µ”ÅÀ„761pGn59¨Þb®L¿,ç B÷DG°Ëøf|¿«ç×v7&I!á¥ÈÀv­R%¸X*‘À+~Pi1x ñƒZ_[Ìu(,üíf7©Â qÂS®¥Ðªƶ–’h¨ðNÓ`jvm1×ãа(1 ÝãD²¨¬c6X+ Z?ÊŠÓà]VR}Pu2<×A°°WÐk!U6¥Hä•zžÉ犈Ṉˆ]C$eµB%G‰p@ŸÁðÈŒ÷ºJQôèm‹¹²y§{¢ÂÙE„_ï¦'"H)`R°{$hzRñ€|ª –»Ã>n1×#1€"rW °ª**ðxä@ I9'˜ŠZÍz½Å\Ä@û"!V<ÃHgÑ4!x€Ó’ÊWü Væs=6t5Ù+l¥A0yVi¹«B¥£$PR¹PiL›8èùÙð\[Mö YqQ)0q¥UÑDîÁ7âLéŠiæ¬EÃs=ÞÏxØÑzöAQ,D_Q*@‹áML`6Øzœëqr²ïIMM¨´F(=Õ*j¢LÅ |ª8?(¶˜ëqX˜í€è<áÌz£¥JXÂ*Ø-Bu’,ÈxP‹q‹¹‡€:¥EÜÑb®8ãLà޳BKÑ”å÷A Åá¹pýë Ç‹}µd%†<ÆniG̥ċ.=m!<ñ„ A]`µ·˜ëÐ(éFÙO˜¼_HôšÆV¾à:DàbjÒaùdx®ÇZ-u¼Ùû,'>øªrœK#­ä@Ý’€¾¯@Ø«pP«z‹¹…ý!-·I¸@mňsÚP¾’‘†*É›Í=<ףͪ{ä±»‰Uyp‰£²^'ê­¢:)(KJ™;¨‰µÅ\CÉžè€]3ÔØ ÂÕ•qDx5ã•ö)ÔÛb®Çº` 2þ²‡;nR¥bª,µ†TÖ ¯`­LQP}ÐS°-æ:&öñH©c˜d›b•gÌ:ËA«ÁsÂLÃÏu Lü²Ÿ{" DCR(×›H#£’J®œà:8×PÎÎãiüvŠæö*C|õì¹9“ú6ÎÛQv*~‘„[o$X "**RŠ`T¥„æ‘Ô“Ùb®†¿›Ùl/üy‘œ¡ÜûsàŽH+—‘$†Øc™ñ>þ}>«µã§G”ýlYa7¸ÆËŒ­§¼ô`¯†T-c´ªhÜ øì§×ÞÖãpD4 à ^äzéë`µáž%µÛ” j¦h¥À¢qÑQé ¤—/dº@ÈOÅÃ0·(îʉËÍQ;Fù‡°a÷¢•è/rKБšD`Ò)±_ ÉOÿõË{3:2r†AätåF£gû—*þh¯gΕ7ƒ©:¨ l1)V•wÔLEÌ$óûé##ræuD6ä•Uìy›×‘ªÆv|R$JäaN¸¢ =ÀŽâAjã û%Ø;Ã0?ˆY]BuZŒÿÏG˜8÷Âq§Ëï&ö²¬ ? !/ù$)c:p®AVh‹ûh¬l¯=M“##oæy? 5ݧ¯AŠ Ü[Ê„¶¶RÚI@Fω‡o\Ü/dplŠ„¹EÊß‘©Ö²›1ªY ÀÅÊQK‚çIcXòÔ*X駈”a˜[¤¬Š/X 2š7µàÛ3¸UV;ÐÄx¯ÀŒ „VIí¦>¶š„óÕª²CJ=4‰¼¦”zÁ ‰^&f[2ÜÒ\k÷L²>¶I4sMê¢d<]Žìl6¯ß¯í2æo†ðc­Ððî¬'ž‘€5{†°*^Ôž$ ÃÜÃO›.¸Í0´vfvíÚan›Ps•2Ä‹XÁ^r ­d`Ž›ÊG‰ûÍÛ>„¹ærôºŠzä3ÝÆHõ°áÄ­“`„G¹á ,£v†ÒèS '‰ a˜ûjŽ{ÊO Š<þsGÔ…„ <¤Ê‚dtÚ‚±E”NŽƒ·»ßÜ‘q4 sG«ÂÍžâå<ÆÅ ‹ÅH¨¡ÁZÂ%VUŒRD&m÷Kô86‹  Øùf£Ž³GAm!Oá2üzKŠEª9 ÑE—1RšÀÏ«hP:Ú“4‡aîa©wöpÔ«-ˆZ6Ÿ]wYIÐ5Á3kÁý L,ó¶b‰&ÍI†‡aTýu­úóƒäôu†uÅ""ÆmÐ’^1ÀnNT”ëxš!Ža˜;<õêC;Ûª}4hwj¦ƒ#Ö{% Xs^ká‰&$j˜“œ¤Ä†¹‘Ø+·µ7Ã!ŒTšg„—A…µgÞEjM’¨ÈôIZâÃ07iKE{,õp9ja±·Ã2È¡rgÁâÞrL¬ôö€r`‚ÇýÚv;ö1óºúÝ}¤õkU·ÆÈ=/ˆmÁ¥ ÑxŠ~T•Àz/›œ$Ö†an ¥\M¶F¥çÿ9¶ÛÕ7Küð%L(˜kkŒƒ…µA±1Tóý’üŽ-˜a^ÃÐ÷ÓM ú «®²lŒ@SŠè–±@¤a!9'¢Ú¯"÷Ø>È ÌkHÉEˆ-VjB‹pTJACŒôK$åÇz˜p’Ü4 3¦1¬Uë¶XñÛÄé&˜K^1¢ˆ\rn,Ë‹æy×0Ì+œDÈx¡’eÀ¯Üš$ue@°­ã"1ŠH†yI»ËáUHžÅÁÀ‡†Y­5„×ÊÄNÒ`†y/ûˆ­1>9M÷Ú:î€hµ‰´rDVq¿\¾c ˜éò­{V|.Í,ŸøTÄ0ŽýÛÁ …ÍÁ)¼äLFmNÓl†¹QMAL QVÙ¨%UD¡x¼œ'ãO2ž1 óŠ—ƒM­§Vè„ý.¢0ÄV^pJœût’rffÀÍ!ÎÊ¢R”*h™@Œî¥Å8Ö9Ƀa˜[ä<>ØÌ‘sÁá÷˜û`§ÎUi.ÁVÑž¤(†¹ÅÏ{Ã^‹å f7”P€JEñØRØa]0Ñ|ÜSÄÌ0Ì-fö>HT† A½ã;+!*)˜—žÇôIz”Ã0VöEVI¦÷.Jú­&F^ìàORúà ù[S¬ÝÙvùó`àOHïTÄiç%«(1••D¼ `>d½Á0̨¨®ÈÝ[1ÁÓ2ˆP}­uÉyUøI; ÃÜCÔ!d\pIFÅ-8ú´Ò‰[pÎŒ@‡Ä0v’‡}Ã0?DM×ä2H¼ ÇK£=¸o ›xìlPxÍN2~3 ó&A=OѪ­§…˃a%cb.V´ñ$-Âa˜{xz¬Zq˜‚0UÉètÅ"3â5Þp”á$s4†aÞ`ºÇ ˆYBðö¥¡RFëabð^8ƒ}’ú$uÜ0Ì=À)•|\g0 ë%‘Á8àrQU„€¹NªýŽDŸ¦ükôU½^%}‰T. ~¹ñNãy¬?Œ@› ­2Lëàñ:0ï÷41é-÷~æåÓàqôÉí…Åægƒ¦VeSV'ÎØ(‚¯¼«,Ö| PÊrÏÞ£Ç6µaFO®_‹¾]%âp]wApœnãü¨¼©VÓp¢’’àiriÈak¹>IûlfÀìßûU곬ÒÀ<Øô¼xJ+±a%¥œT& µ'fÇóåŒÑB|Km3}aà7q±î¼®ÁÕü®Ñ2õâ|ÔLîVbà|ôÓ?ì|lÁ‘øSskü—dÛ6/ZT<±¤xv!xv:èIr“[Hï'N—/_þm>ŽÓ’ÕxÔ‚Ú!ðë;õ  Œ£*°*?@ô¤À…Sx3mU)ušîè0Ì×õÛx¿‚6ŒS¬ ªÍR2*EeÙU¢ÎùàDÒšG{š‰ÊÃ0ç Bï#$YLÄé Š=PÐp-hÎ6ÂÖ™1J°À-šFSªHÙi&½ Âܶ=øYh[ÑßͰ~öŸêåUœãǵsöKz1x¨. z.‰€yî£pŒ‡Êû芲 Öždœuæy̸Vó5¹ûÇx1FónÓ¡€_|™ìd‹†U&&MS¸MUaé×a¿äŒ£«Æa¨gãwqò¦þº®çaMaÆ›¸m/l¡¤ w•`ÉÁ˜Ü¹ ̘ýjúŽœa¨=båMýq´7r3 ¸ßbt#*0±1!ŠTD«Gßõa¯(Fᵕ U9Ê+’ÌWù5™Î^­;<{·ZÚœAT\âÙÈ|ùÕ µ­›ÝkA„ÀKŒA1%˜'RlÇãt TíyÚøÓãÅ2g‘~pÍn±œƒžë¤LO`o~U¤÷þ§l).‘1ë$ân=Ÿ°½`Ô†'IJÐw{Q‚¹eäv¿çvXþ÷¹]õ»fÁǧÁæð¢/˜Ý0×J*+S Ä3£ÌÍ ­uBXzzÅ!ï“*>}¼£QµZ)±Ü{Ã"Ix=­°†'CÁ|˜í{Ðf½[ÌõÈë`ßóe·¾æ:<RT*E \%àÈQæ(9lƒûṺÞ,`­(;Bìž<¢'6DŸƒ«Q†Ù¥Ci´Án T¡lÁ…v,{ÛûÐŽ½‹óuÑ=:NSÀõÿm‹%\®ƒµµ˜³JÇÊSCalM‚ª<«”:Q®âä ×So1×`oJ\äÆV<Š'e„]Ú'é°û¼á•HAÁša†î§Þ‡±á¹{¯ùt9†§6÷>Ú Ãú&Lv¢ò‘G—‚'‚VZˆt:G©›ì4 ø".ÿÑÊõ”8H°à¬„(¤¥´ª*øà«|‹›{adïÝ#Àç̱–Ó>Ødáýü™m‡LZ5º"\A¼ Sc¼†$*ÙóVÚ'Áá àë8| /1#è¯öz¸¸ ÁceX4Ròhƒ J2©dJDV§S™²‰¤aÀ±AP_ uì§8Î`/6®«ßJÊ!œ·Ú)¯ÁŒe mÀ“¥ŸaÀçÑN²XOÆË»÷ëøÙk(mŽçv€º8ÑOgk˜»‚M lðRO3 +À×+† ˜=~y¶€uYüi¹ñ£|úâ¾2(V‹ùx`¢à0¾½0¬Š¼Ò'™!9 3Þó¶ø9þÏMw„5| mð¾ç(<^諹’\xA° ]%COòˆeæÜ¼öë+ü3¦î­4Þþ¼MG\l¬QUö„&Š)¶¡$zšå¿Ã0Ÿç£ÇŽTOÂV;£˜“¦ÂPgÔT Kd2A æaõަ“<†¹Yëé»óál•Ù½,•cèÙû|G¿þó븼ªC'«óÃÑë7¿¾»™æUl%»=±Êií‚d.zå+êƒb*íStv¿T·äv'jÿf#ÃÚ2Í*Ç+–(ID àÇUlSÙ³WørÛ¦ë˜5£ƒ¸¸¶óËñô—qˆoê>P›Ë¸k°“>Â4í n•g¨Î)fa6M‰’þ†$ZáðîË—?vóäÑï•\…ºæõY½ž×Ëœ„µIILÕêlÔ€¿$ˆ Á(TŠø=o“o3[ŽßÐ|v0^of«®‹íLÅTŒIpíÁÿ¤¢ ‰Zia@ITûöÖyœ Ã~§`ç.ãF/áA;ÞKðÈ%¡&yðÍ+Á-Àü1X-tµg[ò)û^b¸e…Ú èÞNüͤAÊýÍ¡æ²é¿³íñ'GÀ­ QiiDebZ)IÁ uNcàw+ÒoKÒó< uÚz¼"2“ª@Bå™Ù3UûiköÙ´GWB2˜ymǘٳ²ïš%83+º\•ÕEXþÆ ¶§¾Ñl­-¹¼XÆwËsx4þgýiÙ5qÅÏÃ6lH*P‚3°¾D¥‘hãdϼ¼'Ú§aØÃÜÞm›Þuÿºkw¥›ë»´m`©ù¸í]ŠXÔ4,DXT˜\e|’ØkîqZz ¾c&.â²×•ù@­Ú{I~Û`9ÇÈ2ÞÅEƒT$1îuU²ùÒ§´g¥uƒÑ&ã¨E×Cà¯á(¾_@z0ºô¶"LºŠYЩB1]¥‘ï˜²Êø=ƒ(O#(†aþhßuhBɹE¾OoÉúÜ…ÈMt ÄÀï x´áRaÌäÇÙ]ÇN „ÝÎf“»ob²7“U˜°÷ãÖöz´hÞÏLV¦®8X…Ò*¢—R2¯Œ²‚‰=›½< ž‡aGw(|ÊÉK\a*eR{gMTŒi1?üQˆÜÒsg6(>{E½ö,HÃ`Z;!<ÃÄÎÆsÿ×c}›žTa3„”U< ŒêËzþ󄇢¯^ÒZ‘È*SEðql°L9™Þøµï}dOC½Ã°Ü|û6¶Bá§ë›EÌFŠøWS›‚]"–ã·]tµ«MÉÒ¸©OiÞýS‡r ɵQÞÁRJŽ7] æñ‚qϨAoÒYJ‚KºÚ·ÃÄLañ®+¢8#<¥@)œyO‚f)R°ÄCuš¥~ƒ07fhü¥¾™†Åª®+G1¢êÛï§!¾+žZ~t åg[+}<˜Á1AÁõV’H«|2FÚqGφ¯ªü¡¾Ü?^eaÔ d•¼3†w¤öºW’òt4g÷•á åEÞE'}bŒŸøéÜÀ½‰ÚaÀskÍJSWosôÚ™Áîà¯W°D§½s!€P‹’±b^Ó`ö¬d}Š$ãaÀ±iÆ›ú0¹þMàk6³8ŒÞ(PR²@­Öë=8öŽS"c`u, žŽtÞÐ yR{;éeΟo»ŽRðû¨ ‚bX…³UEIN\!¾‰]÷†þv¯ÛpPË|>±yötô?tÉdMX´8µrVæœ}“Ä0ú&.ü|<+Ñrøâ_„ñÛvIxÐå`Í¿Âg¯~´S{#;BäNâÈ‚EÖ\Ô·ã£åx9ß\•F(sÐÚùÍQFKx8»¹ß]ŒÞ\á ‹üð§ÿ0ëF·Wc…¹3 ÿòqì4ŒÆMì1º/¯òw÷ôÆ nK½úûL†ÉÝ(Ôq1ýl9šFÀɲ¹ˆ [æª-L¿DÄù_½}å}X{c~¶…rÜ5JõÍhz;¶ýw^¾|‡,†^‘øŸŸ¯yW¾œ«m~•ÇFÏ€ÕžçUÞÿ!|›ùòùE»°¯¹À¶·ˆ&ÌEôÚiÙ¶9˜&ç£EŒƒ9¢hĬïÛÔ“°]ÃrdzL8Àeç9³:ïÉ5àˆ§g7;-®ì,^tý[Zã¨ÝŒݯÐ0ƒr|}9ZÌý—gø¬ÙYü Xáí¯8Þ^̦—(“–ïûî2Œùê£/J·Wðžáó` (>#±1+­ñš÷}£/Ü<°d¸”_€áaô÷À÷¾7€²ý¾e†EùYAqÓ1Ql—HtãiÌo]Æú:.çw½=Fö‰£`W@À—s{|oò3¥Áö€ÚXÀ¼…>!†oóP®žÞÝÞ :QÆý˜³qGßNo®cn 4}Sû›ëUó®,ïÞS:˜]jh{´ÑèØ³{OgózYÃãQþß½”a”×Ý·øý|õ?†{ïFXÒár»»Äú~>uÖ-+˜^¬€Z©š‚éõµ†ÚŸeôM¦M Úv»³šh¨£A«O·ãÉd*<ÚyC4v²¨G6¥ˆÄpUßæw1Ýbtmç¿é†GàÓs¤éÞ$™þrJF~'§ð_úNÔLì%–å¶ÄQÏ_ް.ÖÏCh» y}yF΀Ì'“†1u;nØ¿ÏæV6}Ö Žãõ{‹ŽvƦJX«¼õ*9f’Â2ïðBå4oê¸íí³/^ÀDœºÅ¬³Áò6|áë_‘w„‹à?GYÑÀ f™À·Èu}¡ððFÌ­—‡]mHRbm^`†KLqGC`hç Ù®6Û’ƒËeÛ,7ë̵^~¼¤*8ì,VêÓ„Aqª¤4Z·ë}SÏW+6W pŒÿYƒ [[/Àü±V Þ*^}PUxQòÜ Ã"QgÏ $yµÉÖÑà‚«í\l­m×Ül!ÿ9yõ‡V=·=¼üá‹î?m1¼N[äøêÁÔÅ^E°Zn`·ráRóY†šÒTß°sMò‡]º~Š:r«`!Ä 1°J„aÚ¦º©šX]  6xhX«yr[´ñÜ–”2ÙË ©%:„ã‹x1{hº˜dϾ¬ÑeÊùƒ­þia_”ü 4ÄϲNú,ò¯@ñ­Ñ–Y "1‘¤UŠÑ2ɈáUe+ŃŽBTë·ÃwUS™Ô ¥ŸˆV¢@«Ö'xÆáSLsØTKD$F8Ýôê˜4wN¿O’ *ú[š…Â¥…u³MñÎîÉhšÇÈ%Û'.¶Vkymqã¯.F϶q£s­øóGËçA¬&¯‰4šPiM™R"½ÒAX/Y‹Õörø=ñjÁYÆxq<¢ \1ð$ã©#j4ùœPøï !/󣿿ùúùû°OËÍê˵½€g£.%l‡a1jh°–pÉ„U£”ã¡#‘IÛÒ³º]ý·f5ÂU¨°=]œµT—ÞK¡ypxß(ùdÔÈðBVռحôà^Gvœqä5øhÒ7€°I#½.$l!Ö­*0]ÁÌÿˆZ5½=aÉ;´iàŠ©È‰¥Ä˜u•$žYGR2Fä‹§`e‹%¶d·ï•¼åÛ¼;¨-ÚÁvx0R7­î‹ àQÁ‹š3<¯èÀ®AN—W×cÿ^ØW¯´ (a _Ïçq1«sãùÉ]1PÑ û *ÐQi0°­`pS'W”°câUZ`}©5Ünõ‘Zà yO‚Ë®nøš|)¶ï­,Ÿ‚<„àý®+9=Q9D)6Дq+%«‚ô>UÚ;­AL ök#sf­§ï5¥ð».¼A›ƒK¨Œ0ÄiôÞæãË8‹ÚRyÕ.¡ôb5Ø:Ü`oþêp=(Wâï –!+p ,^¢˜•Њš$\LÝv}ÿï¦mW|V<ƒÅó²A­Ìç7ÙĽ½ªñ iט·C>dz¼?¼g’F¢ò#•œAÃ<Å`]èïYS);°qy½{ª‹+öêk<¨œß`Ÿ†’4Žíƒí£ñ^1O3°j`­J[‹ä“—Úƒ§{©˜ åR66+—F­ôÕIùösŒR;uú¤ùÇh]‹ä½zöÀÃv$öz 6åpîÜêoón­©çæ)0#}–lŽL<ç£÷k¾á øk¼;{õК³äǶ·Ù Ëü;d£~8„ÿü½¹ÿ‹ Q·'ÐpIàúÇ&4÷Èÿ§`D½›MÆ~ Žß¾jþêÍrO&|ÀÎéDÚÄMüvZ 0Åm­áÝüÍÐí: ^Œþw}3Z\Õ7“€§ø½£ûr:Æø³ÉÝ9Þr&öÍb‡ƒï³Þå˰=è ç”öM’XP$q¥^¾Ó¢½¡¤ˆÆæx²m쳋4ÌõàÜ{ðÆ4s2ji…â2’¤| âS•†îz?ý¦÷ãÐôfïDè%<ÛO~6³· ö û•”›À{ã)žÚ„ó~ŽË›ùtð¨ÿ}¸î¸ધ—èû.ë•ñÓ%ÆŒ—ø,ù67²®¾)G½·ö®¤+àf«xÞ{øäa·|D“áVTÙûS»ox[‹Bí­ë>Ì,ö…‰˜ÿq³¬îD?m4¯'«hŒ9>ÙËÄ‹Ñ÷iC‰Àï‘$2„Ê-âJ1%ô”ó){û°}<0½‹ºK:fä3]CWFlÊ:åøÔZx*'d`” <˜žZ¥ø¬-ãbôz^Ïð6i2þµ9[,ãlëú¤™ÆUÞ+a˜±_G O4ø3X¸@dwˆ… »Jô=Ô¨ðsê'fœmRBŽ0-Ü}p;^\áDôc<Ûɸw —&(´V+o/Èœ“û4V~8 „œã‰ëÕGXœ“‘JÞC4ø‰¯øÞ°qÍ©V9=Ùzsö<¹ÊL‹³~æ>Õ9ÑtôÌE{³§L½DôeQö¥ÙóÂ*~€QJž&`ðŒŽþO“{8öå\û&ÿ_ØŠ?üŸÅ `Éhý¿£éÙy“4©k æ›éÔ‚„9Т|€TFÏpÎ÷Mp–C/Ï/Foê|§Z\´ýy5+TÏÀü/p$?ÿŒóz'Ng4øŠ0nƒ–„'À®K-œ¨(×Qñæ_·}Àö|X§‹““Ó©\{ŒZ½W&¾•tYš_ ¢9ÚÔ‰(Ä5|v缨É6ÚIõƒ(²µé;Éý¯¬ÊÖþ^%¶‹ìˆ@vÑÊ „ç–ØÀœ€•ú “N zZ²#÷×~ŒÐxlï]Åͼüü‰ÌQÔ˘ë8#gæ.0Yû4ŸÃ´¨é´´(îòµ×ø¾\PNÃòͯ Û÷ÜÐQÎÎ5‹; Òy=ÅòÖt½ßÍKÏö[Ì=¯Õç™zk­1o´1EæÍAÛê0î|«@R§Æ5KÁQ£µ$xž`±xGº¹jbIEˤò3 7sìĈR…ý• !&Ūò0[fTÑkâüÇÍZ?<#î§½'(ü?zìz?Øo@ÍO,Úüa™ÒÖÇ`Û¤¶˜ –š¨gÇkèÉ»“]•¼Ö‘ÃnLëÉ»Y¸ž“®ÄcœÇQW¼P$e ³­¼Ù%]pP³¶à¬nI(l•5ͼ¹JbG1â“"Q¢UÇir¾ÃRTž©w*|Ü<´S#mïæOT’,rãÓ úOË—/¿Â³o<øønb/w]…mü/-?dŽ•Ã²5b\Ë¿ b` ¦¾,ñÔ•v£ŒÞ˜ žo³(ËAŒxۀкgít9nß'¦.k>»jØ ·ÇèIï‡æn ÊŽ&°¬é|õ1×ý —Ò=ù:—ü5Õb4oQÔw•L%輩ói?Á¥X°…­¬­Týf˜Zsñf/F_Mï 2·rë|ȵdhÚš`ùÌ;HãävxÔsp)Y¨5>+uÞÐS4ê~ÈJü#ZvOå(kå}6J.Àí›1ãEÎ *ŽF8b*ßövÃf†Ý–BàÞR&´µ•ÒN [Fω‡o\ü¸9ŸÓäßó><9M®,ö§¢ÉÛÍ™&ûdû/C“æûÉÑdëC<†,7:ÚlQê|—u–[tî³Î_{¾– 0j¼ý5W²baêþ¶UºÓµ‚OLñOýûk½Œ¥WÃÊÐ@ß6àí ¹n0Y–Ҳ탰€=ÊÇS-8èóQ¼¸¼èŒ¶•žëúzìwÛ‘WPf£f±Ä?al°1'¾Æ¤ª\¸™é¸a°ÙÍá,Ú¾‡ôÝÂÌ j<ã[eµx‰ñ^)/¡UÊWxƒwWq=5s7¶êS³u>#i­åE“—#Äí­RaUà›éäYç_§9ð£n|Û^iz§/9Ûcõ6ñí]§k;-çÃØtçX'4;nŒIQkG¸ˆDá¹ãÆH­3*j±^wÜm¦´ÝJ%;Y€8ÂC ë›Å²EÁC;°R*Mƒ3XJå+’¼‹àn!‰Š ‹k¤”»÷Jdé»’Ÿ¹ˆÍ”åì©Àˆ]gâ‡Kºé»®2¦úÝhºÌË,«Zš)zfÈ™ÍshÛdÂÂfßæC±£V“÷UIw†—#„ù ¾ñ Éæõ¤ŸódÝ@ÝndI+82¨-•vC=ê*Õø¥Ž}±Sþ‚aœË+ Nwaæª&iËaƒ¨VÀôÙQ–»s…;uÍöDK&þ·åFÈѳ |½ÀžþwýfÍ ÏWíOr»ª®]håôÆ­Y~ ­ËyÖny^SJ-­7ÑK`PA’á–Æ$Áìu§©ó½‹Q„ëW#nDþ7¾Æ«-ʵÇ׊Ś<¢ŠÈ­´²EúÞ%bÚmœ_wÍ+@|Ü5"y¥”WÚu\Œ³æŒöŒ¢7òänŇØê½ÅËÀ5†È$źE7²Ø{hæÙàÑ5pY|gKî=f(¬›¥Hf¼e c[Ф ßÖݼÃt«ÆÌ¾³{Ùš•9—*·¹™2k:¼3;1Ú°=EF+Âó·drö:}­ˆzMÑ_Œ¾É½QQÑ·V*W½uZϺ“¬:“`gÏù¡:ólÑÁ£ß½#·¸é5J˾]c/hyl•&5`p8Ë[n?núèy1ùWMCz-?¼ÏÐ]î¶g“ÌòFÆÞ3ÌDï`Œïo7u]Û¼Ù›E‘ô0q}ípK1Œ±‹7ì|÷}Þ¾Õ[ÌIŒiÀÜ3ðbgîâéצۂ¦[ÁUõÈé9-û: ôNÛ„4ŸÃÌÆùÇ™|ÏØl|v>:ãðWiýÜÛ‡ßMËûoØ 9E‡–ÑoIßaä£m3vKxî-&ÆåmDN¹­× x_¦«”¹/ÓVÏì~§1öjê‡_²å³—K2í¢Î}Ù2—_݀ʼnCéW€íOÖ¬7íÄ<Åä².ɾv|½Èã4Æá=ãtï‚™AÏiÓaÙYöc¸£åþžº@Ì.ÐîžÚ­‚λ€— )‚ÿU%5•‘ „ÒØùnJs5ÔoÅ´]ñÈâÆµþÔt„-4JÛÁ–íñؤõ÷îñvÉŒ¨ç(@ÿaÙfÖƒ›ä¹/6g¤¬ÚzÃÔäB¶$Gvi›¶ŽçÅ‘\¥ðf+«ËZ.ìŽk¶æÃ |1±  G¥ ÈLÐÉhÐÀ’P½Ç9¡` av£c÷ÝRî*C1œJç¹6‘;j]pTaBOL÷~ND»îéyq£ßtW¯|ÿ„ð²l ,:XW0^1PzÂ\c…G ›l8°ãi£é€ê:WšY5ŽoË;@á,U‘&ð« QÕU’©vññA?Ô¬àaŠÿÔ(öãÄF>Ùö«Wgÿfã«•¶Y”vêà ½+àfŸ¦-óÕ8{E›LpýD¢… =!”Åx¢„ñº4{â uÓ†ìI„€ÚF˰jÓ… xKijñÔOn2B0|\ß,oí¼¸Â‹ç]%qß¡>^âàØ)ŽY­T”Ÿ¢ôÎS­ˆ¶Ú²,Éú{¸SS:©@ó ð xÀÊ™JˆJÊÀ¹ñ$8¦Ms¿V7ðî‰Iý™O’!ž¨eÅpËñµ–ÕŸLËŠ¾n+Å[9‹=Š1);Ç4›.æ#šV8>]Üÿ¦QÀbý85%ñ%ñùˆ¡ßRû”¨Ù5€~äì’ÞDÏ]´S»¼ç¼Ð_1s¤\ñPrmÛKZ¶é®+ÊQÿÜs‹âÍ2šj‚G󸜣]JöÑO-†Gµû︶€î«—/Ño½Žÿµ|ö|U¬1úe\ÒàÆ‹Òârü6§®¤õä¦MDǽ@›É¦W$voމ~‘GývVû«Þd îç½>NY€`Û¨/rspõ[t%F×ãÉdÜ èbôÍ8ŸGŒ—‹f€r ŠY0Xÿ}A—.sZù¢Ã@ƒ9 ‘ÇÜt½·}¸õË\rŸ_hÙ=0:zýû¢ÝÂ{ë]­œèúvQ$eñ—.ëÜI!e@nÿzÚó»‘Дþr;ý¬#€VfêKàÉ·­ûü|t3-5ýyò²¡ÝœmÃ3)Kº™.JI÷%’a±~nÚýF¿®…Š.–THŽ@5fœ^•œÎ.ÿÓzŒrWj‘íîoû‹f[V³œv9/§Ü¿Æ»þÝú¶`Òèñ.›ØÃµÜ#ÛUÊ/b^7ÁÐ Œ?ÇM壶ʟ¨Õ„“?¾¹@¾h}¿n©~šT—δÀ ×®DY;a; òÛÚàF‚I.=OQå —.FíÀ‰>ê×Ç^]/¾3yOt’äW|ú.ãìEྠý )<Ïø/CâÂuSžíGáÔ…À³æ!U wÚáˆÒÉqεŒy(K«¼™'.FÚ½9<Þ9|;^4Õjo•/ýÁlp TåÒ50¸š¤ÀlÄn² 6£mz› i2ñ‡ç£Ü ÿñÌ¥`8†µü±•õUrà›Î2㢇Ÿ|D—×\LdÄuBßo,jÑñô ^c‘v“]µ¬s¼ ³Ÿ°gj^_71Ædw É;™§ÄŠëÞî”Í/9i}_sª¸ÜOjPåu[¯8@åæ„ë¸ÐßÈk:·=ìygÜö],r¹õ®÷êµÞب¦J¡—åˆw¿·6Šº5‡»Ç³UõÍ_ãí$§O7Á‚ñt‘Ëú ŸýÓ³ãi~¦XÉiˆàÌë#¥É*[Ñ t´i-ô HÆ=½«ÁiNQ"àz –/_v£í%–îŸP,dÇua—x•³:Ûîø!×=á;N¼Ý!qãýŒ²¶ÓF \õù»‹çå¼Ípû„¥¹*ºDD‘h¨½äg£ÿ¨o±N8Ký‰`ЖtÓOhÙ%™ŒÝ(›À¿¿ù:“~S·É‚y}šàå6rÜ„4‹7ÏwG¬®µ9¢ÿ¶oTg9>|¶rJr¼ÈsvÝ×@%O*Ä×{o·²{=ÿbÝ¢=§{õ*¼»>o˜þ6­â»eœâAö/èy–íù ¼^WNî÷¯ÙÆ—/ ž•ô‚Ÿ²°[·Ï²—µj=ÐÚmbÎröÕü2›z£Be‹³QËÔ()Ö#fûÇÒ(¼cKQï]dc_6ç9å:ï$x—ØHE,¾x¯i<_,WOs›ˆ€gXØ‘¢)h®¾‡"ÄÎ2·:^Ë/›ôÈëh§‹—£Ïâg/>ûö³ÑÂq¸4öÍç£ÏÒg0ï»VO.áå_{ Îï4g¨Gò©*ÎÔëbÿ¦;gk>Æà—®™euéëÞܽÞ…~bJçånþØúû†\»mÝC²a€ÆóŽ[aå/®Kk±¾CÖÐÙÛ’)þL^ÈhºÖôhÆ]–ŽÏ6ÜŒºš—óަըÙœ„c‹ý|òY×`ÿ,—yÕ‹|9bÅ[‘&ýô*ª2×5ñЖü~GÄÇ»#¢%ÆoßÙë\H‡ë^ߤ—e—Ê›7x ëdüª˜Û—]ŠÆ} æâ•};®oæ™­›U¢°Âñùš~jÙìǬޜØùe¾H3}O v.ð/ >T®ëq¿Ƽ5ÃZÎú‘éѨ{Hn‚oaÿj².¨AÖÝh;@8É´$©Câx2‰—ë›{ޤܬá3Üñ `°Ø£g@I˜4ò| L]4öZ!¶Ï(è…_ÜW0i.îÁx'“z+0;eÞ´»}FÑ·Ÿe[)›GY½ÿ;LòõÍo\£å þÎÅ~§¼ Í‹›ZÔ qééyk¸xêÌ蕘zBÿl%…̘ù÷ý“rè7ŸBKçhyæŸ÷ÃÖÅ܈)a0«–Û —_×@©@iË‹ñgTjÜl7_v÷Îg2Þ¥Ÿø>©˜¿i{åã]–Õ—?Dz†F±†PLOƒj¼]CD‰ûžâs}æ)Ýrµwyéz…héŽ)Ám¦isCÃÃeÛE`¯ž7¡‡{…÷›E÷Ó‚è%8³Ff¯RÕÃÍÃýOwJo”›Ë@œ,ÿÍÑa{[JfTë}WnÛ Ôͦ&%îü¼) ‹9s{¾Á2­'ÔcµTþ6&W&Èös¹ƒíâx grGÌ‹kÊÉ㤹 kÚkæÒ¹ˆŽ[ÐlËØæè|¨i™7³[]”¸Ý›UFTÏxì²ÞÓj§sÚ}»:¢O‹}‘›:ûh[6=—\!© ¨ívntŸ|â–}6)‘ÂfÓ†íxÚÖ¬õqþ°ø}Ÿô½µs¯Hàÿ,V¸HKa‹zÞFL¾m-V®—˜Ö#,lâþ*ú¦vüÚ†|ËDœ.næE]ôð1´ÂÞÛ°»fžê45Ãã‹Âïë‡î`ò_FA¬šrí¤l¯Iƒ”¦’§½½<¶žýµbê¢Dº]˜Ù4VÛEíÕÖøMniŒg{m#¯æ(âʾ-J%7kÇ[n.FÏV} úÀ6ÒõˆMÖpgެ¦X{·(‹Y=íÚ¡áG”}o›‹‹r_ÿY”yÎÛ¤–#÷µ>š­¾0»ËcÅ¢v8r)H4žbK†*O9AyüCœ^"K?i”±4ÿè¡íy}¶³ì@}Ù¤?‘&þ©Ü„¶ºH©lþšÝŒ&Üø]é-±¾U­Þüjõ“Ûr9…ŃõÒ.~-àÞîs×¢yµcÕ,ocŒ{=‰¨"À˜.õ¬ÌÒÝY/竾4̯wmNsÿ÷º1_íëɤӄ+{4¹å4Áxj,yň"Zpɹ±Ô3Ëš»1›CaæýDW² ¹¶Øñ’r¥˜–VRFD0†jnNUt}ÿÔG$=Žxªó‘u>OW]aˮǣbî*KBt¦ø)Œ" É9[¥:ghÿv³Ü©ºî©˜dx§É$€Ï'æ’¾°þ8l²Ö=i“O>¬î3ÊïJi½Oê ²ØÑ'ÉÍÃáûSâæþ9Â3³ª›<63¶êÄÚ?ñÉgC£¯6ûf€yÁx‚K’Õ9pÆ0zXÛÓ¤® A–ØÊl>Æ6É«"Ã\UßbÓ'xùºÜ¶€%x?ƒ±ƒ!X 齓Š8í¼d%¦²Ò«#@š$uZTýKœÀ–Åð[¿¿ê~KõþÙmÓó.×q/”±{ô^7ôloRžŒ3!õ’È`\ôRT!à)“J–°f^%"òµ/w»aÈ™`¦uÑP]9îibÒ[j<ïMÃvïw‹…5ÄH#KÊF¦5!z+yÔÒ€¢b:ʵö®™Ò¿oÚÀ"Ç﩯Xô ve¡„Fk]ÅEr^U„~b½¶[üþÎÕ%ôóò±KŒãsõß9úÈm\pIFÅ­£’V:qKÁ¡˜äe;±{‘îéêßpÄú¤ôõž—FþÎÞGfo$a0“4Ú+ÐÔÂЂæ˜ÝkvjUU}…ý;kŸ†ÒÞã°ôw¶>2[G¬Úb7¶CÆÄ\¬L<±³å¿¿ÍÄÎunÆŠ¼¹½}(Ù3sõá;æÜüÎÌGfæŠ ¦*®Xƒœ€ùm¼á`Q…»»o‚ÿÎÌ+f^ë}ûT¼|´ÄíßyyÏKE-!VS¥!TÊh=ðµà”3PÙRŸhèû7›¸û~v^C= 'ïQ)ñ;3ÛyÄÛé1s·‡ðœ›Á7GÞ/¿n“¾žˆÓóq)25pù<7x~âçÏ DMF®k<­CZªÝ l×$ØáûŸÐ¥~ ÉæÉzlÐ:”þržk¢Â }õ..V}T»»{ñä¹éþÀ¬®/°ÍýÆx‘LêÛ¶ÓjùIsi]]Àˆ{Þ†J–˜VÙôxý'k¿Î}Pðw½–'Hð¯œAuL‘[ù“»#¶0ŒQ€Û'ÁXT•£¼’!ùÈ|eà• hÖÙý Áî’yxžÓ“ÌÍ‚OS.w»ñ„öW;3^è´Œ­<ì5@n’Ûpiå¦ZW.„="¥7Íœl½øj"ùr" Lšò¼K4!_à1ëZNÞO7ï •ëˆ¦×9–ÛæíÀ£p/igð*„§’Ñ£ÿ]ß”t¥¶‘7·Ñ$*››MWù|1܆L-ÛÛÝ%³BU(ÔÊøu–ê0Ÿ–|÷¸ª:²Œz/ë@GQ²ØefÅœ4Rd¸ÔT Kd2A æ}%MyæfÁ_—»õʼãKÌ ÝPŒøe£W”˜¶²}0xåäb…Ÿ¨F9ºïÂ* ª„qbñ”V.*鱑"©LJ·[ó&.vƒ|8F?4¾ÓÃqÃûáºÝP3Ìx0†°Û"sß—¢·Ó4ÉKå í4Åp&Å{vãˆÁ#ÝOR÷LøªlÊ£:c£¾ò®²x¯ €uIëNËÐú¯ÏûvúØJ‡bf}0w~›µŒ¹g1õà,§$‡zËý]í%‡nƒ¿U94_^ ¢e=û] õì»A;eÝ<ØótoÐWØ] mÈŸ’¿™åO#yú§|û9*ªC °æ6Ïžk=žCœÖãéò»=ëÅGoXìêz²sÑÚtr÷Ëzûc.á§Øùûÿi×…47¶ÔÖË£LH[hšQ‡âx& Uä·Å CMìöÀSÐëãùòÆN¾x_¾jþêM’aØRϽyß%xõwˆÝ1•-gM£«\m8‹癿k÷ßxZ… êU¼±Ï$¥;ý Ù­ëü¹vUë§|xµŽ¿y\Þ̧áp…7‘‚¤) îtG9!j-XÌ]LWsö8£<};.ÇC!Ò çñâClAŠ}½"@ @8}N/HQ£^,ûÝÍÇ:ÏØ ƒŒªùMìº.¬A…½:»?>–uÖýÂÓ\@ *¦¼4›ÇìÐäîF ì£Z2 #w“Ÿa­ê<u¡Mó! û=Œ‹¥ÞëäðU.rµ8n±…Ú×ò–aÒöÀoâ»{Cæ~(¥ïD7&¾Wb#-[ô:8ç´„`‹@WNÛ~´ØŠvô Ä`__ .¿©'@…±äs`´?%i*ŒÇåh„\ó¼# Þ4Ùo䋘ۼ¶´E$’[G]¯óE£¹/Ì&~³½‹;P(wQŽc»¨3ü$ç´¶ß®x»¢”Ú-üͼ€½¸<ô‡;_;u÷“zѵ.”ül|R!Ñ4Æ¥ÿéþÖ>_ï—àQ¢·¹ý® ÿÆiCÆo8qwë˜Zíd{€ãî>UÚé<‚ëÔÑÏ€»ˆßæ*ðÚÃæÀ6´*AþéíÖ$Ö8›ÛHWèÌã¼±÷©qwkêkÍÄç–DõlÕc"+%(s/F0Îü®§7®àìÚÞ5Õîvн^±IëèÏÓ¢´÷VÛs©¹YˆmÛ;e++S¬Hd•©¢O$X¦œL.‚'äm{€1°ŽöOdйÒÙÎ.Æ‹NÕöü”¶ç­SÚé·[»@^÷q±ÀË–WäTÚÀf.âÿÜ NÊiã17÷ÛÛù¼pïû($jkxYÖ~ž†[ÁölP‡vPv»÷£ÚË|’Ü(çì7ªÍŽú»Þ5\A˜Ÿ7@ÝÚ»óléåL“5^©ôqæo&¶½¿§³,q×3Јþ,TñâöE9ÞÍB®F8Þú£]ÏÌÊî‚eøk$÷²Æ“»&òy> ^"‹ 7"G‡‡Yø—º½¹G7Ç¢—Ò¹Qº('ßkHí¤"Æ\ÐH,d×ÙXDÃVGŸ¯y_7ʳÝü^òÑ,–°S'ñ> 6dqÒvg[“˜Ø˜/жýË·Q¿¢Ë\ ›PP¸Ä+±zó5ã/*³–·=ã’2&˜QEϨÜrg) .é €ÖÏGO7½ú9Ž‘K¯‹qžëº3 ×¶<"„zHHÑK)ÉŠ 9MŒjcM‰I¶?ZÛ¶ÌtÕ¢â ÖK¨!xOÜ&É4Lí•éz ­Ÿ`oþ¶j†¸Špõ:$îâjB$ Ž´ÀÅxŠFòAâ?÷<í>ÒúíÕF]'²þÏzï^ûyÎ[‰áÆ·lÐ…¤1X hÜÙy‡—c·ç;u!¢P°ªsÊP›h \8% ÷U¥ÔIõ*¹®ßÆ,L¸µqwðSzŠsžÆ#]Äf£·­qrÊK/¤ ©2&ZÆhUѸði2DpÜ70l¶“Ķm\ B+%«à¬IêÃÌÍƒÃÆçĦ¤"'–R[±ÊùJϬ#)#r‚ÊÏ‚l›ÅÑGjögB(þDï|¯\Ì'\®¾™†ÎzÏg2±ÔÏ,PmÜDJòcüÍ8P½DÃ{*+iƒÑJ!òUð À5gðo‘QP_Ú9x×c¿2—Ê"š5¢M²¬X_J±m}=Ç Ð ßSlXVܤ³IFóYÆÚ3“ÕœyåèÑctk-/=ÃIvšh¬RTtb•¨s>8‘´æÑÒ“ªÉÄ=ÿHÒ#ÁÓtHø˜çût,À2—Hâ^/z¼ÕzÞ¥”¼°ToS€éùšÖºíIÀhcõ£ïú7ó6aëþ008» ç›?ÄçŸ/8ZÎvs²ˆ‡‹ñ?ã*žT¢òvÙ #Ý嚯ì>•cëÜv*l=¾O)dr[†j"–½ó˜fsò²YyÕEÐ/ãrÞ­Û0gïî&È’p.ÛÆ(mÅ­çÄGÒLEÊN­†­È2ØéãæÍ¬b2ýøÊîÇ£¹gùù')s¸aýp(ìS»Y÷ƒB˜&óPx äG1’6–¡Æ{ÚD%Ó¢»Õ'tz‚5 ÄVœø›y¶VV’p- hSÊö@@azÞƒ¼EøÖ]ÒêZß5H³¹¿ëãåÜήY^-ÛôžÊYDy9`\IUîE§/éÈæâ›Q†êÁR‹þ =‰Ï®ìb½¸£ æ7Q­ž*Rý½Û…‘È\kÓFÒÒø]Ï´-ó"\i<)5¹ë§?µ5zëG[ÊÈRa~ƒJm‹º‘SÓ"Ÿ-ÚÓ‚ž†,!ÉÅOÑbJ° çUl:þ6z'Œ¯ãt‘“ÙpømFüä..‹BÆsTTÏå&Fªñ ¶åÑÀ 5Qƒ“LH’\Øh+Fh•¢ŒÜ‚€,ÁÄã ¢] Ø¾ ‡àZIee Ô‚̨_$žuB¿qö*uî'†!>yУ¹5ú¹ÇêM8ùÓeóf;²ø1®/T³^tðTh}xð“§õV§amÑ}M‡O¤üŒ´O˜ð ü%¤;ïã^Œ¾šv¥dÔ8DÀtÓlÂ÷Ïê¥_ZgÁÿ‹0Ù.Zjw.óÄ*ð\ ìdå+êƒb±ö):»WéSÈÄÝV‚1lf®YåxÅ%‰(¡(s(O+Û CàŸmÆ_/•2ßEû P}ã1±ˆ‡àÆåëyaÖîÜATÜJæ½SÌÂjJ€Øà_ÞF)2Ü/_þØA‡Pïܪ1ÿ‡N8FÿQ(½ ?ÚQÙÍrj—AyÙfÅt©‚Ùn3ˆ/Ž ì±iÖHB|ÂÛXð“S"¶Š J*¥Ñ•NÞZÚˆ›í¾^üÏ2n_Ê4Ä6UÂZå­WÉ)bLH™wx©ˆNÖ¡úª ž¬ZˆLC[½•!ÎÈíG¬ð0¿ÇgvÙ.âa¹b¹×ÔHÃcΈ˜ ñ|¥BÅ’ý%°& |³?ãÃC£6€@'&éÀ@Æ›˜XbŠ;cÂq±ׇP[`Æm·ŒóQ\ú‹ç»åv©`Œ¢ÀÅŽsðÑ ÃªÈ+½WÜSÐëgõ¹ ÿÏXÞµo;’mŒ°!4swÏÃu—hº…b3Øäl­ Ýwßç ižñÀ­²`~ˆ@Œ÷JyдQ% ˆ·½cëÂî®÷œ®Ð%u¶Zëê›Ürá2N1ù'®ÝMXªßæ1-Ú8Êu§»¶w~}eGbE`›xµK@»Ò4€x5h¦IÞEjM’¨Èz×£ü#–\WŒe·°9G·¶´ŽhîØ^ÁV–rž;ˆo[ gÈD°îÀÆóŒá¢3„U‰P>–®!8÷m\´âm…å Õ,—å—pz{ßãX1Œî,¯$÷–»R:‚l±g™à1l`eÊfÐ+¼2ŠŠþoî¾Á¯Dö¥¼ô³eÓCxE¤mš¾Š›ûß7‹e×=#ømž{ô ݺ®Pß|ÿ<ç‹]ŒºFòãY»o¦2`y°k{çZ´=…;í}éñâòbTÎWz½þï'ô#=L1åÍŽx¾˜M“â4íb œ/Ê_ÙšÇIe©D¼ª¹’\xAŒÔB%C÷*c:=!Ÿ¼ñÚ´>>nêo®”X9ÿùãþò¦ñ¶á$Íò§Ñ0ïIå¼Âjó²¥¥xîñÝpθkɳu;墕AÏ-±9¡Á:EŤS¢×q®4B¾ÄÈ4'Êv¹À¾¾¾¾™¶åÒ$Óm{Û!¨{=ç;ÔóQeˆAv,î€?çõtüO\جl}%µbUÁ>£‰*Zõ)@ú“àÿ¿³òɰòÇLåê…ד°Zøé$ýŸº0l²ÛÁì˜ÔK<»A­™ôUãÒÈm—z]Þœ¯› =»®I$iûøét']§¡6šzoóv’FÃwü+H£Í{Níú•Ùá®]9u†ù€õð`2ÐvÄyÛ§8!_æ5^eqä>¥ú7—£ìØAh¿,˜8Nê`¢QÔÙ¨ƒbI:Á ŸK)âõ^§Å§ÈqË›ÙÊ}<âÁÙGà D{sKa‹'ïŠd]ú €†À’ MŸùÛ!­9Ñ9<³é:ç@ÇQcCÍmØçò Íæõl>î‚Aù °”ެÚin\†„ å¶¾aGŘ×¾Ò‚Š*$j¥¦’D ¶±¨583ÆËÏ:hs¨¥t/häÕZüq%¼Î›lã&6Õ¶sm#ñ¬©ýù*”•Ó<»¦Uý]Z<¼MC>w³ÜÍÛÆÈ¿‚´¹·«¿‹›Çˆ›'• ÷²›Ù¶ýoÃuSµ!Õ.2 œµ=ß¹uÎáÂæ`lÿ;]6YÚvrYç¾#°ì­Ša…Ì Eʽƒ‹ ¾JEßu‹„¯qˆ¦´¯H">vrÚkJ)Ø'Ö›èeòNd¸¥1Ij‰[Cz3ö |°M ¼×Aeëü‡ý`ÈÉë—ÓzŽ’³œ“5‡/Ú͘Os‡ÏYn”³QSÝ‹}'c‰¾ï‚=†"…‹†ˆJW•´ZTÖR'°©Ðª“Ðõ%Þȵ³…ǽôDHBMòÁ“ »ÒE¢D 0‘®öªj:™‹½:VÕPM›É,s›k¿ò>?}iÐ/Ë8;d­Ç'/ÿî¤è}å¸Ë‰ øA!zpв 0‹¦±2Ò˜$¬.uŒÞÐÀCBþbôÍæyʽ}óiyÑ*º­G×ö¿±óz¶^õ”9_»vszsíŠth¨ŽYÙ˜¥¥Í·¥ÙÂhisiÑ{½BÞ‡Ƥį Ö¯ë|‹çt‘» LÛQäj”sÝÛ›E“JºÙ»jeâ-`|š\0Œ*ÃGºŠ¶¸ÀºžåÍ8_zJ.ðÂ=Ýok`×µþPä[^ðȦAwîâÜá®LƒÖnq­ï7gè7¤ÌžóU9 ˜eSÿz3+qoøþ2öÆÍ±§ÛˆÝ#÷ÝZºå…’&Øÿ²­‹z¶¦"Ÿ½Ãre¶ÁmîþÅ–¥mƦõ½»Æà0Ìóó¾®È½…—«(˜Û¶çœpTJ›d‚NF£$ ’òŠcKhîØë‰¾®íÜê€]:'€刕2D¥¥•‰Qh¥$5ÆÆÿ¿½kknÛÈÒïû+¸³‘·d hÜ])W9“ÉÄUqâ¬3ÉãT_%LH‚Ëdͯß>çt 2/’,SVj¦‘Ðè˹~ç;â Â/WmîÙN¿/ZÎеnVËk>W8Gí´Zxï[âk×ÂÕõ–ÎYüÆÞìo$ ܱÒ( ù¨Rm-l{ ´Š­µ“r X`…j‘MÐ #A h½‡´ƒ—ðŽÙ¤EH!ÿ"AÒ’ƒ~6ÝëõF|(®2“øÛé »ƒô· ޱHå¥ý'‹s‘ËD¤Ubç95ÖÍI“ÒÀà¾CBÔmÃsÝ Ýf@w¦=±¼$ýˆò²# _÷È.ÌEÌ›ÕÅ%ðPÖc>ï4À®\áY)b]XÉ©€€#N‘¿˜É¼ÊyÊR0ýæüÚU,¹Òd-èn$@²n%ú\ÿ{UÏ]‚dˆ!Hät´”¼E~&RQ½ænÙ¾X¶%åþÌPìEO/–—§a fÆub >#2»µïï·B_ ]y©]]ú”(öýçÖ\BO|a°×jhÞ¢ù•Wò! Z/88²Så20BÊðÅ~…ìI‘G\‹‚ËDÉ*M5«L©"UJV-ø¼2BNùdußàpÞs\Ù.Kë>8Œhnæ/>Jš9SyôáÛIÜŸ ™¸d©œàÑßÀå ?,ç J9.±«Òc·¤û`Åäþç`Ùb#áú'ŽXøìVå÷VmI}×r¦¸üqö¥ÒjYëÿx=åõš»j;°û «‚z›|´ C­§ F€ëÈä ­èú^kÈÙïÆ¯ÅD r¤`l0H°s‰¨A9cãKÕ\÷O ½ ¨ ©Ô нԺã‰Ãç¾%qr&¾›ujZ¼+å ]XÛµª»øGO †í~Ô0>ß×Ùoô›×]CKº°û‡»Ì®îy8Znë-sO˜Ó∡—ÜR¸9ïâÆggnŒ}ÕàûîuÝüS):—.ná)#ÃgÝ&êA¨ééó H¯­YX·Òñýp‰6 F,`b©þÙ°'ÆÐš=Êä*fJ‰ÊÚ<&q¬£"QK"hƒ¯Ýš¨ÊÉNS«¹ßøö„@#ØÉ~S#!@ÀÛ¯ÐF%§lêBÞÔ2é¶7ÌãG{¶Ðk²\é`Ð|éÒΙÆT_yÛºÉe3V‹žyÚ$ºu»b`i’M«§]%i?ÖÄ÷BÁ`—®¡¾í²XÍô|!çõ \Œð»õÇÛƒ“gíÆfÎç50ÞCj1`¦v»£Õˆx©!u²óºÆF³DHUصLyb \#ÊJÙ¿²*â J6 ñŽSõ=_r×ni¨­{ç)ØÎ½ýÿl:?¼éüñHÇ}óèã&K¹wª³—ÇPø|ææ×“®jûÎýJ¶F)ú>ŠK=†~+]2yûF X¥’ZZºÆsý-ભÖdËȵ:ìÛ]Ž–»ÏÝ}v<Ùh ½;üá ™èÐ €E^/Ì£ µÕO±rã,Y¨äòŸ7bޝƒë&MYÐÎ/ möìW0¯ åtkªt à9K£H¢"·ŠEšI)c“j“òRWø!t$3©’\©¢éU‘TÐa¨WX¥dTŸÀÚ¼è*üˆ}Þ… ù6ڄϰL-aªª´VÚ;›Bqœ«˜ž]þ® ‘ÿ.º¬§AëéýB†ÛM«ã4{Z‹§¯@B¢Ëþ7wÇ•ÿFðA Ìç/DßÞOdêYÉ>)%pzPºã!½ouc»— B±ì2jà°š·ýºN±†(H½û½ŸM€4N‰U–G†%²PYixj„héšhá/ÆXI‰/°ø&m­Îb%´Rì„° pøpýqÖL!Z«Òáå­ÝË?ÖY™Y¦$ã\æ9Ó º%/™±ŠÌÊq„;üŒ ›°a6ÁàámV±–y\èG4÷dß¾GªQŸñ° i÷ÔÝɽ»<ÏÀº/Aˆþµ;i˜µ¦ÝÒ â.›Ad3ŸvðÙÎ }œKîÚa¤ÚÂHõ°æ®YQÚLA¹°*Þ®‹Ûÿ7Ó À¾õ¡f¡‡³¼„’FDÉ‘38H¼@m”0Šø$VŒht\èW¹hë$”:ÀFáª+n0>i7ÈÞeVìY™'JÆÓ„§9+´( ×,çy%Ÿß‚•=ïøÇvãa2îÙ‚}έ>NnõëQ!êI à K…´Fô7Ð ­²Ð<ózmKåÄtªá´O‰ã°×^Xôèrù Ð-É<@òqj|ïbL‹ÕGŸõ}ƒá,>§— Ãú½~.Šà×.yt]«ååù¥†ý±_p#J'•ÖH…ŒS±*Éò²ºäâhË9úºÀjÐñÍ÷ÚðÕxùfº¬ù¸Æ`ÒõÝJ:'Åól¬’¤y¯z¥§5! ¼ f„ ý1«›úW¯ÚÅ·c‚ž{æÃÊÓ8€FËÁ ]º7k *l.WèOGïèþ~)ûÝᥣ‰^^6Šº¨€@T´åo±U—X‚ž6—T=@ô£¿@ôhçnéÐ*/fÆü"¬@cýJÏçHí³¾¬m½¹…¢/i.b+w2“ös]•Òê‚L—›Í-‚•tîÅ.±ŠõëÈ™€GkΪª2Ö.€¡H$K7üssÛ³ï™éy½ÅKjTšhÌ)ϲDs•ÆyƲ<3&ÊJÇ®× m“yöú­¯‡ù4¸yýÑF™2QJæœå™&•eetU©DUI 4œáEÝ\즃¶oð§ ƒ0¹ôÄtÍ× eºôiW®Ñ9lÀB¸QÇûB†èɶÃÿéwÍÇÓѤãÃ\û‚\×à³èõƒˆšEèI×´öÞÁÇ[KÃL•EZ2•Šœ¥¬("+‘!”{·ã }Š3I½¡b–RðJç,©2Îs(ö8Îã½câ”q• ‘³2–…d*«•Ú¹i*t3uÉË YSŸî½£w²ÖÄE3¿y¸²²¯Çt ‹Ëº*ý c‘ÐØoø6±?ý~¾Ìèç_ÞÎÚ׺‡N_¡/ÅNñ/ è’m'=°–èÔ8»]VGçFÉ­©pãÂ)xÈã]Ç¢‰0(C¾§‡Y‹³àY$$Ëã´78Ëb‘ðœeÖâ¬Òʦ&áû $Þ(YåÍýëK‡†qFvWkLõZ®“Þý…ÝNFX3mæÍd/UÂÓ(ÉtVæ¢0I\ð(¼ÐEªYÊìhùÝT /yftiVV¥–QÉ•µHEf„Ö•}÷cU%C„~Ô©þã¯ï{`è6{Û€.{ô0ï!è9RR^})$§¿þÎç5?4i ô’×ãǯɂ…ص*òDB=åsEÓ¤lñ¸üR-íä¦ãÔ?’A¢¶)P¿a€X*ä¢ÚŽˆ((ÏF5àêgæÚê03¨ç¯ÙKêù×e/IÖÓ-JÓ·Ó½ ‹ŠûòȇÚ& ÝÜ‹;¨ 1Ô…¶ÙÙhC$´ÕD à·Óˆ¨ño:º¶S%#-߈cíZ¿¤rlø–,;¢ÿi÷ÒÛp)ëJ¼4²Êµµ@⤴ Ójok¾T‘Œó\™,Î7•ø;Y&ïÜ \9Pl¾ñ¢¥#Û$"@cið‹ Ø:ÄF"´l&Ý^¡ µš¶ƒáü‰_û¿:2®¿aÕO¨Ï Vl®%Ò3`ÅËž¦¬, k¤%QÅìÅ¥Ðy&ó8N¢²2i^üÅ ßôÂõœ!óØUû“èë¡í×´Ï´¹Æi°’ ËÜinƒKópÍ7÷WD»~&Y̬·,•εdq ‹‚Ç‘¦(¥[éà<>€_¤U)™ŠTTÆÒ’«ÈˆDˆ*á<ÒU|7~ûû=¾·FwñâïÛózNèìí0ùµ ÈùùbÓobëßɾ]÷*•–QÉEÅ2EI”¥Q™±4—ã>YóüðÞŒœ~«·’tØ_ë{j^+cï2Ž ‚];Ám Ô­‰°SÏSÕÓìÛôÈ Ô8Mÿâ”´™ã ëéòímºez1ÀõÈ)á[3ª.¿êfç˜TËÞ«rÏŠEgižQž€!‹e‘sƒå2Šì[ê»)–(OXÄ«4UqÌ¢"aRFª`FÛ‰ËUy´“}ÅrU#¨2ÆßÄñ@6ø–,êÀê‰æúíTéÇ/Ý?ø .­¦ê^á«CßKöÔûè½ÝЖ¹õgØb•q¿ñd¯•pûÑ&_ÿrR¬ÂIù Å†õ¤oØ.„¸sõ]Ézð+Œ™L¬ä»Ò}¦rà0ÌàÕDXç:ÅNu¿†{ Œs¦Ðwµºw‚õ%Äcc5ÓÜZ7ë,Û¡{],ÇþÄ‘ b–9ùd«iWøÝ ª2!Îh|³ß3ôÐlYM»ð VC¾E$OÐíÙ?=düueãí¶Û†Œá1¿p¡æšœ=€cxõçÒeJÛlÉw`Ù¬éB}RwD7ôW£?¼Ž'šå—®êÑÚó.v×]DLë\ýè¿^ÿ¥oLÅAî—|l‡§n ðÕú\ž¾s.4´w_a0É( ´r1%k¼Õ.ÔŒþœºçR›^ÏO1ÂÈ1°ËìK´+»Èº2fJ°4®´¶ú>Ë¢ŒçÒTV7š£ÕŒÄÛÒéF¨ý©¹øü$ý(†Ž ›}GàõØÎ²éá[Ì êu'a{‰S Nš6¨ŒèÁøÙ\Ìk¦ëiبƒºwxj乨—þƇÂ# "ëÊKÄ IÔUÿ©ö_o§Wø8 ˆµÇ&’]ÝEŸ¨‡I|ÿû§éIïF/|/“Ý=ŸÃ:p<˜/Q*¯LÄbe1Ë¿£(UĵÑÀÉn‡3ú¾¹ÞË‘8è%w¾»¹Ìdš eʪҜÁ-c¥‘ÚÿEyw÷ßì™ÝôSv‰ÛçåéˆD»ºÏ"ñÁE"µóy<¡ø`"d»õàôîW&B-¢ÜÞ4‰7YQ Q$¢Ìyg‰;Vòë{kG‡eÔ0ûðÙW€;¾7PqK"äˆû„²( ’l ÐZ”²Kú¹ðóÄwiõKceÈÄý÷^žAa²(©âHèԞ丈 çI&t¢ ü÷“ÙÃ/{ÞÃ÷¸‡O°Ó‹‘óFßÂ~e` »ÿÞ•65…Î#žFVCP¹È¸‘\sQV™,–•vc »fLÏ»øwqN9|ë{¸ûs¯m¬M‰ÜþSVež±„±,*+ž¬Œ EÝÑncdLd„Âož·òî[9ÄoÝ˧Ð]åq·<^*·Ÿì'›£"/µ`eQi#XÄò4SqeLQV:O޶²wsS?oèûßÐ]ß…»ìçþ^>lG¦ÌÊÄ\²TJYD*©ŒR,)+ÉU~¼ûø¯ÍØÎÊ t¦¯žwóî»YâŒ}6ùL ÔÐøÑ~}9™Py%*]ɬˆMœä,ŠJ踔RÉãu7wöó®~ˆ]}BºÛÐnæªTEe2QĹJ3Íeš¤…ÐpGÊZÑǺ™wÇXm"¨Fÿ; ?zõŠÊSÚžàY¨§Vûœ´žÚÝW?ˆ·IÅ?œp`èk­ÿ.8[8B˜‡z\/oF—µýÙ\Ú-Ù°VÈŸöä%QU¦H³LWE• É ‘Ë")rÆ Ï“¿¼øÅïí8‚ øk~s3 žê‘\+3ã°¥ë/º>Ä_âA*a;ð¡ù8ˆ¾½Ö-`)Ô/Ènà/‚ŒŠ]`d˜`ñ ö÷ý@ôÙ§½ _Í⺪]ò+=ðtì[ºVHÂo<)jßàÍฑpv2ײ†„.‚‡ÅPùZœ1¶#iÏàˆ“õbW¥a_‹à#½*Í}¨…VU¥”Lª\¤¥Ô‰FÉ(˸©URz¬d ïì|ýîÀCwH‚R‰îšØ}ZJ>Š|¼Oé÷A;Þö@\m¢ª‰놠‚‹Î«;Ó­0¨—„(ƒ=7ç7a!àÞFY^k_õ„8¡±ÚW{cé…ŸW™¨÷Œ¹¨Hñ\1¥ÓŒÇqY–öYjkþ±m,„Ù8Úø×CѪáÍ×ìªÃ(ÕÆtéW$ Âúoý ‰€¬ì$<œÔéE¬7œ­5>÷œœ[ÏXSœ¹}OJ;ß§o¸_äi+éq™a4$þÌf¨žÂ(¾ÐêÏÐ>]¥>Tô5 ™”!Œ¯‚âTš¶Å‡iVKwz7d.KpL ŽHn2ÄÏàU½­do[@˜jq³°GôÌ;FÝ3;fveÞ71ìk׃ó=à‚5 øAÚ¬õÛ7ûqòì ÿ+î£u.ŠxËÒŸv·Ã)ƒeèß„ó°§+‰B Uꈥ•VyÌ•¨ìÛÉ”Iy´°ä»ŠæÖÛišê?w3¯v2mÄ|`Y÷ƒÿ2-³Cx9>“'Vá:þŽ-Í…Ö¥@)…¶»¬x–©='UÉŒµ…2ÇFH¶ßQB¢Š¤csˆeøŒ86ÚÄgÛ=£Í&@±¯ˆP~c& "²#ŽíAð¿ÚKZa:zƒBAóš0¤ßQ¦Ó'cb¯«'¸ò)ý‘ƒf9­ íóöƒžrÖ.5ÓUD”XT¦ ï6ÝÃøý³ ÇêùÂ.ý.zK,åVŠlîuœKÌYø™¨T¨Qâ•û„’¼__ÌÖ‘Æíï¶N’n#.¿ÇcegŸ3~Ñ5ÍéFEgŽÎÁe=VsÛ®½Ïmï‹»¢ŠÑ^û›ÜƳè+˜|T›ëqìÎ_úPí`ŸëO³ºl)uýI_X à[Ò(ìÓ’¨’Ù!¨¢0¢0qQ® ëà:¶o¼‚væ¶N›Öêÿð8-J(â*#]²4ië*×2LgR³at/昂—Ö$Ìó4²nx”Ѝª¬»lXUp#· Ú¯ÿögßf’ãz†?=ïôË´XzX*;ù3° À1àÈÆy{bä»¶W‡›¢<«¾F®Ó£å›=} æ92´¡QÑŠ¢iíp1ªÆ¢û“Þ|ötKéÛû7’|Û7×—Í5yƒØÖ>ÕMHÇû¤®Éò ºïì%Gß8Çû-xÑžù±Ô,3¦,³{°Z´ÉìU4©{ó1™*MK+ŽE!­K©¬‚ÓcººˆUÅŸðlòßš£Ã>?v»½õÉÓ]Ïëî[!½³ûwq 8Õ) Ñí›Í„Ëö4Û„ù¹_v]a¦úšžô}b½Xzlë:2P´Ô¿@óÖïÀ¯ëwÓ]ÑÞüÂãÒs& 7£bný.^Y]°T$q”¥ŒÕÑ2 X¬v¢Ç7o´æõÝZ®|J,¾§ˆq'ßûÆï‡¬]×øcŽãÆzž@ôÑ_bÇÎÐ:Ë”ÐIœ©4†f†U‚—eEešðHºÆÏ›ÐWXâ½K '¬Û[|½>£ƒc—ŽŽT:nÚ¹ÄãæmžBµNbpëfw^†uC®µ•ùœ†à—ü“°Ä' ÿƒzÍ»ééj²žÆãb {‡Íu\èU@.ßSbèäÜ¢/çç„Éh䪃b˜Æ!Š) øª =µJ£m]C Då‚Õ6µuÙ^}»²þÆ·ãúõb.χæø.þY^þsѬæÒ‡.82ÏÂ|{n¯mo€ŸËÙÌ}zŽ7§üß/_âkc©÷Ë—}¥k{„¬*?ý÷vÈŒCø\.g¯Îϯ¯¯ÏTóñƾÙY3¿8¯±ñ ê{úwE|VžÅg¬8Ѩø7üòõý?y³Ä7úëÿŠ ÏC»:ªç¹÷þèLÃÊ =ÞÝlI___0¢< h˜\šn‹šö9 ƒ5ZXted7¢\e°²WoÒhþL©7SeÏéÞWèâËA¹Cvh´\>ÛS]F0•Î`¤²ƒ[[Zò¼ètzô½D·9Ñd{Lêe°¡—ƒƒÃôþû{9ò§vößoôÏ®¨¨’Ï£l¬¼vsuUf–P(¦ª~ýýýÚþ_чÝ Ý(mo4š‚¬ nžôfT»ºªž s¬]Ï:Ç)Àènô\ÛÜÍá8«ægN,¹;99±³þÐÂ9ØÛCŸß‚,BM¬}êýŽ=jG@œ8±[Pé=y1›×>A‚°|ïh࿼0¹®¦¦f ƒIÎÅÆÆž:uÊäz(—ÕƒÍg+ç³[ \g{ÓsïÒU|u,­©É°ÓÏß×·„Jý”'‚ú ]8ìÅôöC€}YÓ‹Ÿ×?t;:ÎF+ê Ñ—€ƒ9WyíΕYÙÙ-¾wŒ(:ššø€àÙê­[ kä9ÏÆžB¥^æ\¡-,,$%$˜z7<´u8C6ŽV¹±#§[¥êååÔã ßù¬Éˆ—a0‹¬R %ak-¤Ó/J_¶Î[ P8v,~yŠ%i«YÐ4¹ÔÛë¨8¶¹ib`SÀèjô÷³Dñ„_Jé:::nT³­[ÍȈ„ñǦNj©©ƒòò333ØA‰t>:ŠKîž^t—–‘©Ým<<¤N1‘5íyLç]É– à 1AAAÅÅÅäu›‡Ãîœ;ìvàå1€s8—׎Ҟi9“Ÿ›+¼yyýÍ ÌAtkÄêúº ¢îà²ÞÁÂ6Æ ”]¯¯¯®nˆºA&“KJœ >aªîömUŽ.¿j¿ §a0Y•¬laaanîW?¾íɤ=Ž0:tüRKWqõ>J¿9iö¯Çã1Ùo î0ØTŽœ1x­åvíñI×5ÚDòYÉ]ã¡ñÆIÿQWqåá–ú•Hâ¶©[¨žúÝ5¿Í›Ñs"˜oÿr_ô ø¶¡²2Óy’ùB¾ÿª4Th¿^¬žx›uÁÚZLcƒ•®‘„UììÆëp8´ïIOä×øù†]ƒti¶œKBT9)s©ƒ!„ŽÓómQ…$‰í}”ìåÏ–üqÿ=—kßëvœ ýpk$LÕO.WðÑŸ:Š;¸°©í# üΟÕxº=ã‹EKŒ#°¦|}¿³EËâXî÷ÿÂn}ª8Óˆšž2+JüŒ§o|:l~zº·;ɶ|ÕÓüË£„tĉ¦¦B‘F”ËôY/ˆ#Ü䎼(«w¯i)Z³ºÎCž¡ñ¿«Íhy*Ƴ’4sy•ÖWÆÂaÛ“ê¸ê«àìצÇʯº÷©E¢}BÞuŸ•ˆ²xªU›Þ™("oZsJ@ˆ?Îí> mQ<Ï«<³ò_<û7 èyVÖ‡Sÿ¯ O_ÄR¨Ä_ß–Ñê5&Éóå55gMEÅĸ¬ð"—à S[IiçsT©ã§=ãçû«× 12!³³³kkÑã¼8¨:ÃòÃ?7Ëæ§qæÖ––"Ìi´²2¢¾e&ŽŽÞL|h©©"o&ŸûŒ÷e+>>ÞÆÆÆ–îÍœ[;˜Ó|T8ÎlFQ,мݩڞQÃdjéêóØž§OsûŠôص hfñk# kzC[[QD¥§fˆáÚÐ~ÑtÛLŒnh#J|…´Ó¹2zUÐP íëïïBµ='·çççSRR@åyÙÙÙ”è+ÔÙ#"¢¡¡Ñ5¿¸H)) ú”<ëû»žkxÖT°á ¶¶VFtwc¨ƒÃ3Vøx²üñ#‡ÍÁz,q³ÁS3vÈ‘«CÆ,Ê —ùßFF<š²úæ~UÓ{°²ƒA”Iwïꊓš»u‹\´+h4ÚëçÏŸs¹ÜÑQ¥ç=¢¢KÓ¢é߽ûªJgÎtœ¥¥&Dˆ½ßªëâ­ÎÇ|š#çF3ÂÂÃ]\\v`¹è n"“eàeWÞ>N//WùZ†Á`ÀT QY2rvqáñx™µ¼g¹ãccÙ¹¹õè6]SSŠa FWO[[Ùx+ñJlì:HùK—.EDh–U£^^^eÇ _‘pEdrâ÷¯ÊÊO"IL—`¨ÉÙ,ö]u4öüÑ#+ºûüÊÊŠóø°†žž„¸øÃ„»ZVfg=šha]òó µÿQXÚôíÌL‘ç¹KÐÜ#RP螬²ÚÙ1}ögÂVeãÍ7Òe6ÿÔãönCó _e?P€ß,;„í]뀔¿ Õ„+ ··’:Q¤x †xœ­–y4Ô_Ç¿©l5¿Ræ‘ìûÖ„†ì; &Ëd&Ë`h0JQcmñË †™Æe”uP‘_I™±GÙ-C%4•ß·sžçœçwžŸsϽŸ{ÎýœÏ½çÞÏûõ¹™î1у¢ˆ99Ú"A{öwG§” (h±.¶Àöïv«³*DLl­<ãJ—ËЮ'û&…Ž er¶°/j‡kÕ%Ÿì¬è–jÞÛaÙ£Öd3+ sv‡Iò®å§Eê{g*tJF&##¤N2 9*7mΊg=UÌó®½ó`.±XZà[¸{axßFâ[z8nÀb;±,vA"{ì8ä¦ö™™œf-(’‘= ,cÔþ¯œœ*"tadb"l%qÄõ-‡ÂczéiÖóR…¸ÃÇU0m 7;Z&ô6ý¥¡¿Ð›yvûp1¹Ž#BzÓÁáL¾_Bp+£Q.|óTsf „XäÄ’.0ŽìíSÞœ†âœsú‘ÀmÀêÍç` qfÔÓ¤’C@U‡ÍP¶:ážÊ;ë>ä—JÊÔ_[âGUñ@Ò%>¬9Q–ÄÇÙwòqªúˆSª[ÑÚàñ"þ`d!,Çß:S(‚@­°r‡£²”$xt;”XZ"‘,œ„ÚJÈŒ†¦*ta=»wè–:Xêf†×hÏG~1΋ÒìF'Q„5VjïêÒ†pq+y<0 ¬ÃGV0±/%9 Qaçu½y"$’ƤrA‘Tª]›J#Eá~Ò“ÅÛâb6lÚàáÕá£.HŠ·h0çó'¬·Üš$C$G£Ø<µ? ”câò§Rßz8å&ä ‘™-5‰1SicgoçFb(üBù¹dÍùÐ#&Â6SV™§ënxg86£†wíG»lҭΕ¬I.1)sC†B*¹wz¡+Û¸Ébe»zFU]õ%~óY¾UQ ë‹ãHRÓ»xøoؼž I{=“¥‡d÷5Û½lºW)Œ1´êN;І>Hâá¤<¸Ü}Ö§0¶?Ž^¤PbqlK?h(‹~Î þuè¤p5îlÛG ±Gpß899²ØYµŸÆ ØFóZÐUjKÉ#¤À‹Gl_Y(d„B! b†RÉÛÝLû­E9ßvè ¾…ùÞ¬t{ƒF=”蟚+lðUÔa.”‘…½¨G >©•õF]Éá„“‘ÁÂÉ„oÔõB’²bõêgª4=^Rg"n|YïzŠõZñnX½K×4’>QHsSËVOYño§R–-²ÈT=¸tORûÉ}{ÞÎÂi“çãK“G*_rë6ÎÙv[(½ÛB) øˆ×ìËÒú}:—cs°ƒµJ%B9xº,ž­^²’M¹ë=OBG…²ëà_SÆn9™¼yûn7¥j ²ª9nV–îŽøÚRd²GJí;Äôèã „byijI”Ò–âZú³BB,6}{någd“ôn\Å8¡²9 s"a²"¦ ØæB}٠ኄþê€ñ.bÏ“-£)EÓöF ºÓî@ñzq^Ú ³ÖìZ¼* ™MÑíºÝÍ8ç÷Y¶jùH)%•vÎõ”@ïAáHô0àø´ùQ˜· €Vï¡1Ò0Òûd–Ä.¥ˆ‚×J],B¤{ǪßIl»°ý¸¯ÚÌdù[¬Þ²TG]«G ò¿é q@ÃÊç(²µÝÏárçzVì®Šç ø89 A* åžÇñèOÍf4Û, ÿøEˆ/Q^â5=°‡í ei¹q×w!ÿ?¯J›0EàœÞ[úbËÙ²Í,ùHú”2JžtÄøÑ@¿Í[ÿÂ7¿|©o±š˜Ñu§B/GJ½ABôÜ~¶?'a"&¤ðÖñ ëÅ쮞â(0÷Ðý–w+]5Å5Õ~G˜áˆ¢­.ž÷Yp•ØwwWòKç´j¼' âÕBè“~VË›+F~“$§Z՘ɪ‚ZUR!½ÖKBÔ5»€Mm[¡áº.žÔ ”žn?Ö’µ¯ag°~€ÚÙú€f…þC2‡Èy°WS•ÿd`Wzt"çG¶ÑF€c›móF{h6¼8H5Ë3^÷Š£UwnT/ÁÔAkS‡Ä' à8%g<hD`›SZR•çNˆhÀX  1»MU)Býc¢bœ6élÂïÐ;ÔXÅ!fý;eÎÕ&‰ šS±äßã‚ ¨/½EO]»ðO>…ô á‘&%jÀì7™ZÚÓø ¾•×Â-S„äúQ¹ÜžVž®±­g{Ú?T~(Rx|jÞš›|ñý¤{*Õ^²*0]Ýa«§ñØð;*fFá­pfׯWÝØøâg (öÃÁE&LÜÄͱš±8r|SÆ ¤$¥ê'3qakX¦~ëpÙÍ…Çú±ïú„"¬°ëWÞsA?ß ¹9:~§ O×ßy'\}w† ˆ«õâìBm?<Ü uÌdRÖÃ$V¬¥™ŠM¦ƒMÑ-+B ÄõQƒ%CLÐó/¸$(Pà½3 EÕ½t°`e;ùJYm„mŒ~ˆ%q,¦øáV"*Æ<$@áýB+Œ«¢ä´×ûͤZœÄS…±Ü_`*éLCæê¿d˜È&ÏóÜÔl;Rµ{Oe¨·4XòkÌ(W™E¨•Ý{åØAèœp ž,t’˜Èpê´Ñ~j©o×*‚0G°À^/_ !EŽêà VžòhxEmxs‰Þùêû<1ìiYîTõéƒÅ:(" µÆ]ŸG©§9Mêï`Mh._ Ê–¶+Þ*ZÐ17k=“¿!t%¿”™­ŸÝ3Z9ŸñKöV²Ú¶¦Oä"æb{a0õIòÈ%B³” ú\é ÿf¯PEû·W€»â`" ®iÍF‹›¨"gÖÑŽâÇØœxÝžÀ'œÆä}©kòçNÊŸñý¬æ?‹—Óþõ 8@@7‘õYàÓáábrKý˜Næ²³¹kBp‡>·Š2ß^ïd)¤ü#«%âêÚÖr6²|*&CÀ52üJZÐd–Èï†Å—}ù´¿|FuÒ¶£"€p‘‘|ÀfÓs7xq1ι¹ABò Ñ——Xƒ–г)¨]‡éìùY¨-kp“Syü7ií³}òçÀ>¼¯¦µWò<û˜ëeh–Ýѯœ*Õ¬@{±ãŸ $NÕã-L„3ì‹7¼Y`<&@â†î@ Ã—Õjîx ¬þêwªœ\}ƒJ¦§«„D¸nºj­'$þPj¯+<ÇÍ>—Ã%îZås6mã±I`29ö8öÙ'—ô P‘ºÑæWgáÌÏü AèñÑdQBÊôPm¶2f©>1Ý:µY Wévj}Îõß37ñÅËܨ€˜Ùst‡ûRQl_\_¯,xø°=;ºz\x¹ÛJYÑ).¦Œ}Þ>³GA§å›¹±AA4oü]?"þdl€ßK™ Ã85NFqÅm”5{ñee1dKÐöœÏ²“v«±ºÁÂnòK4EKj‘ùeß+²ú dpÖ»‰QaRÿ,\}OÍŠª¯×»¡E®÷h÷?¯Ë~÷ŸÔqº{B—,’³=Žë_m……ï»ßÐsqk‘ë–ù2"ñÊÔK<ìM$½T†½ÕyÖN£7? ·$Äu›LÀuK¥^o¹Øƒ¼9N e2«ßíp˜%ÇôßıÒ@5•i0…žF[1³ÀJ™pßîqœ êþL‡®êÄÙ.J+&…ž5@È×ï²Æó”s„ŸÝðèO½óÓ> ƒN0ÓêMúðxɧ?ËOÏ?X»½ÀSIíŽä¬¬bñÃ@&hƒ)ô„Øhk6O‰e®¥øSQ[[[ \«Rl­ÍzuÃ7d¾ÒbnRì&åMbOEîKòEyÄ( ã¼Jz¸FD¾?öÓÏ…øÛæ_ó$ ‚:{G“r0abò°G`·Žð+=(W¾ÄbL)«§áÝfç½Ó«€ñÞ/Óß½¨!m¤mÜUâ÷¨zÅùÑ!­F!c0Å&$µ¶§©.ïV ìt._Ÿ¶÷å­ÌÖêN.TUM{Á·Î™õ ² –³<Ü0_žp<€êu…»ªM0•íé‚§FØñËÞdïà¥zó&Öp…/«qN;>dåwTE Žê„“³¢IÎÙ? „emŠs Ì.ÓÓWVBxèÅ# ä£ÉHÆèoŠL&÷ž—Tbex¬ßHóä´5}tñ½ÃÃf)”²žÞ.4 Z©€£‹@æ~"2Ïëø594›¿~\¬@M´’©Gpjj @½°™»CwØ­BQÖƒîì9ˆ5Ç,³sX#ÎC¨M^¤Nc,á}ב³©w¦Fx¸ÅŸ4q]0ã3‰sçýE"FOkk×Ùáær47ûd[Šï‹Àï= ÖuÄì†ál%Êv7ü·lÕÒŸ´%¾'_\ö¦™NSVh9¬©Tâ%H·»†ü” –ò|ù,!Ýϱæç+€ŽÎ¦è!l*ôŠ;Âeá÷zÞêËûC—³úYXþª/Zå×x=ôöOñdÛh(ÛIþs¸"ݪ½G;N>þ5¼g̸„pÉŸ¡ÛI„Il!t+òˆ rä7Ü¿¹Ãé ÎêG ˜ ª© ,7 ª–Äk7ÊQR ¾ÐIÄóûÝîéRœÜŽ $}›ˆ[c¾1Ã[@83òN¯SÛÓÂ…¾ÆzΫŸÄÊЇ?Xj¹î+ôA•Ë]“M¼éýÆЬÇód¤×½ïŒ.²KߊÛßNêklXÜ@`{ßI¼áKA_‘%j’žâù*NYš,£¤ˆŽšmò „…†2íðAP¤A ¾9 ½ÎhÈÌÚaêáZ¥ ÑâWŠ®ö¾Œ –v&×b#¿Çö³—ÀÃ…ž·W«Ã¬ m$c©ù¿²üî$ù£\ …r‚»™D¿†.ks á{jA•NM£ð#“bÉq®Ý­´}>”ìÚ°©ö Ã-8Ê˺ýHèÊIïþõÕõ03/!z4ãå>WØ0™–x³?¡ÇG€@;‰p˜ôp¿Q0FU>ûdêíxYÑ€L.Ð’®½ínˆ0EŽiÒ u̳^õ}¶ÙKNHÊåž0) î¢r™†Áº¡Z×r\˼t›ºÙæ‡v–ÎQËøM#M}lª à¹FêÒ†3ÉÛU¤ ê=×@Ûg/tYÙRu˜˜+‹––žqd]FËñçÇT¥KVÍÆ/îÒÂO6 mßG(6|ï"¸Ù`Ð~±Ä6Ü)‡ð6£S¿e§mox ê(,@Ùtêk‰E6öÞµÝ<»¥¾|w *74Ç4‡cƒOߌG—@úeiº\`)Íå Nß°4‡ eVöL•¤‡ úXª_=ôïËjŸ¹Ëd@³îÚâ…GéÛi¥F¢ÛåŒÍbÛ³Ì ¿ÜŒ²J­_ÒoGW·¾& ô†€nô|𭞺œª÷Ê:™íòªo j±f¡Züþ~‘hÝä†:õð÷ûFBË4'­a·Ž’Z¾­QÍèÈX¼«„&mãê$ΊÅU(Œ†Á…uÁ67S/·cx|[.¢,­±­ÃÞã!m9ÿd-G†Â†ÿÔ1«'K“]­¾î§$GàÓóéA‹ôÇ{_΋—zÆâø…à›S¦æ‘[û²òÊÃÅÙw£Ë³ñ™>#þµ#2pê´ÆC…¦uŸ¥ ÓÙ$e¦¿ÒîÔ=/.E!0dšõM±"u`Nü‚7€gnvÀÝüðt³z>>'¸ckÑj‚ßUÊ$µÖ‰xl2IKp]Ðм·4AÑ®©  æá¡¤“˜h{Û˜ÃôÞ¡á“Ù¡>UBy_bþÝ,œh®P˜oå ˜…i9šR²´2$ôv?Jn¢)¹ÆÓÑ¡ibÁàææ¢¯¤z=…ªlô!žZ†¾ŒÊ%äE‰¡2à+àÝT›™æ+z]'°>I™3zrÈi‰ûøÚÜsßýá¢ÍÕk¿Ý_hv¥Ÿ½¢õi¿¿ û9¦Ý4R̯Í€š ºe³û±£”_TÇwfò«YÆÂ•b°BW(3Ê44®[ óXç}î_z5¯›š—WH/̕ڟ›_ÚÉRNÓTƒð¹õÛB]v]*bVÞJkÉww›:NäW¿/~§ÅF /À„‹‘1zo]—äWÚºféø<ñ1©zf”ìó쓈P¯jã ‘¯‰ô„Q(,Ú1ÜÂ"à9_ 팠ױjwñÏV{³ù[¢J»7K Õœn™úEy }Ý‘[Ò³{y¨2Úµr.¿Æ'A¾&Ø›š³qjÏmŠn1w{üHH›bUWÍÊŨ6í(îY'Â0) M6 ûSSÃRôœÁ*,Ù ÇfÙ|…²C ì9£å¹-SMç†sXú¨;¾¡—Z† Ía‚WT@ŽÎTMt¯›}e#›4»{ÜÁõºO¯;fô=ë­lœßÓ»Jº£~Ó{ŵô±ˆÈ ªn¦ü$§}ÉMç_š»õÑ4rðªYu ÞJ!zð'óÖI$Éö* UGýàÔfè¡Ïä+øQ»htç::ÀIâœøá;1ᘩ¸¦pÞ~4÷%'mC}ŠEhq±p>ïÍûWúj³õZe¡mIÀó1»°!°ÈÖkÌÏçÝ–„$‹7+§«(ìrLu¯gì|H™õxi¦×‡7] ºÍ(&å_o¯GQ>®}L·´Òyµ{¹Ä ñsàïx¸^s{,É™,?óÛ<ÿH²f«KÖKÎU˜¢à·Öס]‚K)@Ù}@îÍz¼•”ÂÁÚ÷:Ý7£ƒ‰z죫‰ Ïeuf×eË:ÎF— o&r1K¬'é´«#ý”ó+é ªú1³$¤ß.ʹB¦[}}ÝZwl¬Æ‰ÐÉêˆK³_uZ?/º¥•?eòäÚi ä 5´æÊ%Q_Å +ò¯ØÌ†þ>ÔZSL¢l>ZÛ ÝsÒ´ìýÔh +FEœéM'&µ–=¶_µ#Ï–~ÇÖÇÍ@} >=»bË'ÌÍç|²<(ž™:e Pn7†CÇ/2prfÔùT ÓÔùñ¸­TÙ}óDå«3ÁV‹é%$[`Á¼Ï”:¯àد˜nŠð.%ý6VWÖ¢¹]Ÿ7á<ÙÜÜ- œ.¯€Ô‹k~‹þŠ£°6/¼.ûÛ%àænaQ0‹4UÌÇ-=aÅv¥ ^?HȬ=-æõYýá!²ü#Bn™¢GKK^–éHqN´Ôöcõðëݯ¤òZî€SÎaæ³·æÝ5©JŸ9×D¬9T¼¶s‡V«ñ¸ªc2Yw‹ã[O¶yXÒdz² ó·TÍlà_5Ø]TÑŸ  ã…w&ä ÜÜ;V¹&'‹åSSŸî¿ '¿àAdìBCdp§ n•=ÂF],­w‰Eœâ“m¿]ÏkÅ( €Ïƒ <ÑBR±íágOÕë°Ãà°ÁkSjÈ}0§T>?ë²òí´Öïœy©Ó§ugƒù׈’Õ‘%nPè”ì/,så<¹hÎ- )s|Xms1ʤ;×è;Í7kÿDÒPy²}ôv4¬ž9|¾t£Lžl£ÌyãU|@N«D=K||²v(M¿×XD–7Fƒ…T²üÂ×F,x׳‰»xn_÷â› ÷Ø>º)uÕub¿opÏËÜ~ƒÌðþ¯¦]±ÆôßM;Õy[´] 飲ƒ¨ï08bÌ6/ø00-?_6•xî O݇Ž+\µQ[›%Õáþ¯ »Ìmd–oG‚nÆc#?¸»N¯ús‘>λ]$±«)ÁKb=ù>üR×m5‰…Ãé&Q鎅ì)wØ,1+~Bb¶ü ‚ÖMôE¯ù)\qä‰ßf͇ª–ÐÉ$*J¬ g¼¤ehQ ¯íw¿ðGb(xðëŽn¾hêœôäøVÃëܱ)öÞ芊|n•l´ Y]Þ]3å­)+Yu* o­PI«dɃËôfkN^ñá>éÌNºu@ó¸qhâ’Üñ˜;\ ÙðT?d»øF˜ wüÑ]Å+’«ƒ÷𑣨™øÞpÇq÷¤€Ê¶TXc‡ý?ûYää:‹³ê´}‰Þ?‘¤¢þÔM…'ƒ1¼I¤ ö†„ÚñºEž½+ÉӬϞ‚Ž».ž€ð‰ÙÏKï ŸÿÅs¿›ý}ÄôbˆØÄ•ðÛþ•ýunÁ§ÊvÛ7ÓÖš××Ä¿daî.)Hô=¯kRóqôÉç½·ž;¤ÆîÚ™ªuæ2¬WXÚæDþŠ‘.ÔàHVÊÙV’p“[½-éäo¬ÊK>Ñ@–aÕn+·ŒÜÜ4¾îB…X–yŒ‰¬‰U›rrxP*©E*_8ë踟™ªÇ_«D?˧©’×ïôP}KÅðß3OÙ·ñ>웵­C¤¡ >‚ñ¢aüŠÏ£¦Üº##¨ƒtzY¶Ö»ñ8™'(ÔøD¯ó9×[ßöÑÕ¤‰B—ëݸ¿¥€&÷[³k`îtå0sJgMc\Ñðyv¥ñ“Ú ­lÒý¢ÝšœÆOÒ¨RŠ‹Ysk”².åëöJ¥C4o¿Qw|éðeîsÜ|ó[«Å‚C×ÍôFçêòŒ¬¯“üžýOwªŸùö·ÐÔ«ˆHv©MÝï«×_æC!VÖ˽ýœKæ€/è]Å!Ôi …¾¦êÊóÔ»CÑJs™qËNŠÔ€ïRÄYs­–;(ÈÃ?Lá~ôÆÙj1íŸmŸœý9P-+¨ÿ?ÌÀ£/Ÿ¤ß›Ý@ŠÓ7|½¼ikÚ_÷«r8ÇCêF]ô/þc¶ÍíšD¢ëcîÄ+»µ©Y^vv¬åv©õßCÑUÈÖ[¹„þWJIÏ äÞ|©ªttñ)F¹µö×,;á²çÌwËá!ˆ•ç–©/¿[¯dñÌ&4ªS×Ü6¸ÿ˜+(þ`øwS§DºèW__ßt‚Š÷ôy¢WX¥À_ Ùn`ßÉÁ®š£Vï·Ömöؤ>oŸ>ß;<Ål>ßAkég°HcTÒ¤W&óŽ–š3œ÷жó$ϳ šŸ† T(¼»=ç<žŠ¿ïà—w£Ýv¿õñK|yÿè®èS¸Ÿ¼QM˜ý§®âÔU9ã:˜ÚD†KÆÝ¾'ß4„4"3‚âðHÌDóõ*ÆB@ÖW›’‰êp™hõ¶(¡þ4iôôrŸÌµfûžd÷óÁÓ†)~×*OMVK£ãYžÿÝ+nW‘TQäÒZ·w Ñ"[ÝQœc{K¿U 'QÈV½ë„îvmÊòGQ”³Ø l‡Mè_SxO(ŠÖöbøBÄÄX!Ò$U‚¶GgXÉʉ¦˜&¥»‡ª”ˆŸ1Ç5¡¥ºƒyüŒæW«=µ$ð××öo{_߬x#¿ûP7½¶˜.]Í=‘£ âw\®W\2˜Kjxvò¸:>ü"$¹²Ðf3q}€ÔÙ¢…QUõ|ù<0Ô§¸÷‘ZŽ cþä—îÅšci•Ú®›Åkõ•>n•x]WÚç_‡¥ŸôÌ2ýÈ~eÇ\îÔz²JÅÖ¸ÑIF) ê|}èûhÃeâ!ÅÏ$=,yòv9Ãý£]û)Çòå¥P>èñÌøLÿ’õÅÚô”Ÿ{‰¸ÈjÒu×éþ¦¶P:P+_¶ÑMLÃ3™Lˆ@,Øw¹“:>¤[;œ_`›ÀSc²[gA?O°©Ñ(Ùÿg†•b<ë•tr½îS‘‘Åï5¡Ü6÷ÁùJü|• o£àb…­µ›p€NEž® áPÓ‹b)ÿ=dQðÝéÎQð ¾QúœrõÙçYøvésÖd6GGæ+Û—Á™:6][V¢JqûH I÷qètåÛÙÍýðí1¶\i¤ó÷™÷¢y “1p3©pçëÛžà¤ù±c뤶T Ìõ>V8"X h(,ìðJÿ¬ÎW Uôôµ™›¬&ù ÞÌM '¶ùê§nä/*) À]ÐZ[F4ö.".NÄ…ƒ.¤ã9µ‡Vi •¼Ó!:Gk½ñŒ£²INd÷Ý’>É•|Üë´çRLu#žââ.s3uåd£ÖJÜN˜üée%ÓaÒ…ÉaŸÒ¾¨Ë.í¨Ðöw9-ÎîÇ) ¢×ÿ `Ñ@w }eè4_x.äU©kUâ® P¬ˆ‚gûLÔs¹‰ãÔ¢þã@æcß¿aùìã;1m4’±±ƒ‚!:¥Q†VûÔ-w =3ØöÖ2¶¦½ëövÃrü7.38vG×CÇRe”,f7*íe i¯²ñJI†…Ü{5©câââ1™8ú§5PœŸ¦ôóA‰¥ÊÁ¹Éa*øù@™è¸Æ¾u­V"çа0(˜LÖ"tla½åy½ñ:ê‹+º[Ó&ß=¢ á×—ªoyüwÈo~®ÒÒ¿ôj˘ ¹n½vP1R`‰¥ÂqýsnÜìäV—,r+Oy꼂Š^EMþ%öîIéÔ+bvn4»A›xWWmN±¼Å9¶ƒCªÉ»:¤ %DjïʵÀh½ç7¶Rÿº§Ä "ì¯\€ë¾.Œí¡sdtP Ç- 9%dm­ÓçÁ.?ëÕÅi8A¤L`Ç¥u²Žmú‹ÿësÕ&Bƒaí­G ¾ÊëÉ=h{m°d >"øÿÓO¬zÝFÛC5ox$ûñ3€­®—‡%22Ñ2O%õì]@x )mŽ’’èlpN8:mÚ–PÉÕ ¡ÈµÌ–vò]îOæ7ÔÄÇ+¿> Å“4›kQ~Ýõ!,05»,î²ýh·íãƒH;Ãj‡«U)æÂæ}Ó¼ÅþuLû/áoˆMÞüIâõšk¬Ñ :ÁÜ,n4wga{Ÿêô"ôà!2@¤®ÀýÝE<}¬ÚêÅ @—•©çOõŠ|-û2¢jE‘ƒ™ÀX»Rõ¦| ™«úëôïÞ#Zk‚íþE\äpŽyñ©èM–©xžU»j@Z&kœ\œÅµ(üw‡ÐšÝAÅâäº 3/ÃÆ¥TœjŽolße±<Š(e“\SRûµ g‹Oÿ‹m|(‘<º6~wA]ŒTÕ:Zø{èœWç­®L{OÂe5ÎÖo)Üê`ÿ±ÎLõòU†uË#Eªfúºôà¿’˜•Æíq­5prððëK4ÿ›Áò*Þ$acÿ[ªî#ß-×,íŠÊ°!pX§‰½»”a!w•´UëM êQnbåœlÔýÀˆMö ó>ÿÉþÙø7›£Y"Üߣ´yŽTïÔêbu›ñƒ0ž>ÈwWÿV•—J¸–EÙ)•;s¨J[_SSs#Ì8wãc¾n,B’n¡ìyäCäébú°áG"ŒøÜÏóòZ¯ÜåU"üj؈óö¸w—£4žV<çÐàóó7ÅËOù@Ï–&É啬žÊ&³bm»#„áp5F®[`Zz$~ ]Fé¬ mq0Xñ:ѺzuÀßµÜ|ÀEüª¬ÍŸãt³ž¬"’ÊtˆÔðwK4—UèÒk;è¾73;ÏÞà±ø“ІÃåöŸ+µ®Ë¼tÄïšLaõ~ûnØß%ìÄɇE·±™C”.L¾¨R}B(=‡%¾õÞ‘Ñh¢n7=CÖX‰¼º»8‹ df=»Ÿwù9<¦êœÙ½$/á•D9ø‚ `ÿÛ6o0X3¸ÿ¶Mš<%ñˆþ7Áוôëp£ÐmA¾.*Ýæ%‘Òné!8þ:ýc—‰å®>h‘\jþdE†,ò¸ÅóXÆ=у<ÇXôa¾–‚Æ=½è4Ðõ„ùhEõ³Éi˜FÑør@ýN5函 ÿJ`ÓÊЛG·´'æ÷ð]0A0~\“ŒVµéÕ;yÁÉPÚ!Uú|<åö)òˆ×vI¬k¾P޼3î^¢xž¬ÔdÅzro)±4}ãuA],zŠv¸6e©Š@¦7ÛÉ%ø+»÷9Ä—OL³nË®‹=8›U¡Êü ößÎqè¯ \@Á]þ:MB`‚)PÚQtÂSÁ!|EÀö;,ƒ‰Z—Yà )ÕgÜà,Àœˆùù.tÅjÈ™_>dÖXßÞÛA½"‹Å>\¤µ ² A\d ƒ† ´­2jºÚïué¼XÐf\žŸ`£øVy‚ä3:r¶5pªáV‘ ¾¸a¹Þ÷ÒP©±1Ó\CVË•A©ªç4¬TÙÆŠƒ0ø§úåËX«s«ÉxµÌì\Žx9šõ웆®v‘™¡Æ8÷»Vþ_ý+èeÜ”P‹_:d%•$ªÄŒƒÿ 3çCñ ÛÛånRË^5pxœÅ{Up[²m‹™™Ùbfff´˜Éb²˜™eÉ"‹Á"‹™™-[Ì 3K-º­3sæÎ½1ïç}¼W½»¢jgeæÊ•ÐQ*JÒHðøðIVFB ë °à • ÊMЄ«˜¬,,ìÊ–òûW8'WyàýK¡G&H²¢žY§kžêÐO”D²˜rÚŒêÅÉŒtc¢K¤âáàÁ#.yÁuæ´äâh*K‘ Pß}ÌzÙž‹ìù’ܨÎï¥å‹Oe3¿w|d®þ’%०œ›µßA}NG&"!VTã.!Ñg‘)ƒªJN®£-in‚GEžöÿeA&M“åÈ“)Á†u‡$‡±®d_ 'u*+J†#ÔâéS-œ`q¡4–ü¾´„Vÿø4œ6máݱ ä—À Q–çPNfðÀ>0äç²Dmt—ݼ`9¨x9‘Ãt÷²KYúlO¢å>Í`ó„e?' ª™™B”ü2îpGI›ø)¤3pð1‘¤¼ª`¸•;÷j˵ üN'&²Óñïzé“ÐLè”ÔlX(H’7ÅQ¥= -ËGŒž^ú ŽSö F4öoe¼¶c¶tcT¶Ìñ1œ%ƒu_»><‚«©;ocT%œ&²ÚÝh¹Ù’Ó7Ñ"û£“`“fº0'U ôÞÖÌyÛ6ˆ@,†ïZÁ _ܬ.Ô9°}ƒ~Œ«”ª6Sý¤€7så ŠÜ,}cÿ¶rb}û_3T-jùer£½ €éiÁ§›–3äô Øò=âŒÁ?v k´ô{°: Ø?ÒŒMOàükdNø¾-ü¥ÅfÉø]Ó¸ø7QÜ;ßœ\U)Â7èìí>qÌȹ¼b€qD ü§LžÔSµDô¨Õu¢xt@¤¹Ìç¼-šÄÏ›SÖdKiAzgõÂ[™S$†ÙÈq¬ %Ô9Òeăä@b)áë‡ ™öo7€Z¦‹†?<Ï©¶-®0g›”¯ÁFÆÔJZ³í² ܾÇ]C6a¿í {³EÎc´f²îVfŽzªôÛükÓ×p}6;Š.½ð‹™NãKgê>nÛåOgn½BÙP—µ)šà%Üœ†«-2÷&[RÉ熔«µuiáe|Óo‰!¤Ä©…Ë•Q˜Úvƒæ}œ+RÃuo­íÞ;GUšOMëärƒ=­Ù‚_*3E>ÃàÃmR 4ÃJü… 6(àŽ‹:¼+N¶F¯¸vé o°"Hü§5?)ŠU´\(m{±½GEAâÙL$h8Lùüt WH™PÍàìÈk~]ï‰lÔÇ«ûÙõ4ÐéHTtÍ+·­ü®^ðNâŠÁ[gF×Óh Âml¤4aÒŠ¸ \Á}ôÇ å_{ÆÑÒ‰¼Gl²‚­P‚é5üEù6½¿‡b-„8*½þ沉/ôgÁð‰öØ”ÀN5× ÷ÔÊ̵WäPcVb˜þW4ÝûÌ"áh:;ÿ(l0"0kòS'}ª4`ØoÀ%tÝñ×7ñÇ÷ˆv(’Aw—J¿qü–ª~^ßmðŸĘ#ËÜë6ïû²Wµ¡h]— )€£v+jÛµJw1Ô¨À,u¥3e¤C*4Þc¼¬˜j­Iƒ«pIñãzþ…ÛÏî±oEâǰ5cÜ䀀óÝƪpˆÜ}ÓØñ4¶Ýs˜ÅÍֆݹ>…&Ç°ëÆ¬-³Ò„ñ»5™ÿGí¢+ŒWÄÓBZ~‰…ÈÑ£k†÷*û¥:PBè ©Éöçpëä¹À°×/c§~Юïe5[Íİ`ô’,λ[S¼éàF$2›SH‚ Æ@>(: î÷?šBˆÂñ$93ÌÏÜ‘½å½ ßDÀ[ÊmD|"No…k4_ŸtÅ£âTªTÚ9r>„Ÿ“fRâQ5±;ÒGoò ¾Ôâ«x‹GvM¯H1 WšRjÞΉ‹¤EµÖvg†ð×t#D,ЯÀ–ÜS.9=C è2›Ê5"6¾äöTçq‹$•ë¤e¿‹TÓ¼h ÅHÂËȸVž7l›F,¯»¸eÌ}ÑIûÕàú!Ø Ã[—è,Á×£ÒCØ·‡¤¢‡Þ¯²ûõùÌPdŠ=xhL_Ç:+J¥ ð½E9t^à6…$p m#M…pQ¤ [s7ÖeojPDÁ<áÕ-Hn+²Cî Ò4ÚŠ®Ìê˜?\ ¾û5àßÓr i‰büä«Bƒ^§Õ`û}˜æ±YnÀvaèÝŒÂO*V‡áS`¨cÎAX¢¬° ã†Añ!À$Œ?É!îû6›È3“;6?@“0µ à£qf9ƒÓõAV‡j„ä¯PÎÍ)WП}-a-GÎÍÙç=äj¢«¿oÊßÙ<-Ö¹µ)´±JïÕäÁàšö7(¾5’¦TÄk,ù¾`ÄáÈŠá`d¦¬f5s<šåáID‰ãSÝ'òcÎÓi}$³ÿå\¾‹\ÿÜg³i¸Oyü#¸ú¶Äaðc•­ñ¦9éZ¦„ ¢¬¬²vàwéºXd’ qQ‰-1Ø·ÀZùd©ÉÒQu¯p†*ÞĈbŽ—ˆXÆý*Àl®Z\>6Ï|xÕ§(`y™­qµ%¿¼ÿ Êê]û…‰Ý™{ê×#èªm1úÑ¢åÐ~SÉ•¯N:*gºß¸©‚ñ©°.¶9NîN^StaáMäiÌ–(š“daÜw™§ñUâÌ:z·[7¼M§U$î› ûcë#Ùæƒ yÖó&æÃ8Ñ7öR¬¤zA”\† Ò†ãúT¤“‹ ÐÐ UÞEóš8¯‘\ny€Œ¶ `°L8²YqÆžÄ5³ûgÒ/¾¼€ü\9°lÇVÂ`¥Ð¼çR} ŽèÀ¿Ç€[óõOß²1þä~E$­.JÛ¥4 FðàÖvbÿLEßzÄGúþ®éLÁ@R]÷‘.Ò²ÅËxuо]ŽJüßî)$£Wê7u^{OeíLËôßï>ŽwU§¤âH]±ëZ°³p2áV& •øÉÁP†wû~ü®suж©af¢Qãq'r6=ÝD"ð¯Ô›Q¤Š< m£677\ƒ Ú­õÜòŽH­ã&²øFøç‹ðÅnì[É2’à¥-‡“±GpòVÒqß {‹Mo\{Šon9:sÀÄÙz­NðAÑþ0ô‘…Ö®ïÑäN,Úe z zãJD¸¶}®ý ¥ÀêÈM&%õFmy¼Òr#[ˆÌog”¾ä‰°\HxeŒÂy ×Cc‚žˆi˜@!ãæÖÎ@à`¦ßfbš0z;)l„$ýÛ_GÙ"åAÝ€fb[ó³M{òxQrqèPh¨Oìç÷ˆ_”C¦U?™ý6—ró cØõZÏŸ[ØÛŽýÊfÂêÎJÒ€ôU¡¸ŽM˾9f¨ëàˆ½¶™Mov®×Ð_5M›¹N»H•×ÃïéËWè¶W¡]÷}6ôœ‘fRdôàœÁÖ¢• IøÔËöÕÞÖ“‡Ò (‚pl 2uxØ~F--O°¢.™Åƒ²tÖp«“oN’†Áf.—^ÏÖA˜–@¸ H¨B€$ »XåÃÒPC2’¿ßÿò࿇xþÍTþy/ÿáb8Æ&½Q3®Žßïv~xqGü <®ý ºifðçûŽÄÆ#|Ú¼½rÆÛáQb:p$âHþ¡› ÇTgÔòù‚Gd‡ñH¹YFÓýš— köùæ|;_íöE«0ù¬­óó¶Dçl5Z6ÈÚ8ôÈý¥4Õ}:Yís’©–úÅÈtÌù{þC­¤òO'éãçVU¦‘š2¾½î¦˜Ô†i>^E„êÀZ‡-Z¥=y¿þÖÙ]ÒRÎeOúµvJA¹"Q†ñaÍœF¯4 ãø9µ³)q‚øÁ 2­—Lƒ *¡šÏ÷ܨ-3ò¬GuÁ!ø ¢qcùÂéEE/kÄ–°¡'Kå(r¬ÈìF# S2ÁýÀì«€ýxÚv¢Kw»]»™úp÷ò<iÓ&+[, 2Á›*Ïü œà°÷®Ñn錫ô(STÁ3–.W&¡â áÉèQáœÜ¢‰•zÞšRÒ¥4«ÏZýÕjoÆ4ú „9¿#‹>u‘~ÝÔƒÕø7ºUg ®Ãd¯l1R!RHÚ˜öÛÑ/QSϼ¿¾"ãç{ ®•€‚ß­žÐÑ ¤æ„‡x-&ê³Ñ¢…Žì¦¹ýŽ6«&Œã̤y\™ À³lº[Ùʧü¤â³kwp3<;{ =póuúý› ½â&–ñè{=o?Ðí aþ„š©2†¤©7”?ažöºÅ¸ÈËvù’C…ÈÕcqÚ_+°ßRàfÖT5\åv¦¯³ÓSTD>ÆÙ¨£L¤î_ƒÒ[ë».êáá‘ÚE‹')!¡U4s¨øYæoò Ñ4w}W׆B±ªî@• P;¸ïªHVZâ}è?š{G_yH“Ç`äÿV¢œP”\¥°ªeryS”ƒ%Bo„9žË@³C}HC!¥b–™–ÃϪælä&Ï+•¡ŽSlhý4ò¯á¬s;€öËý3›©…C!ìSˆÝ?7ËjVô[*VtºI3eáûÏÜꮦÄÜÐPç]AD@ñZN€n}VûPW"êò~l€÷Óû¨ªhDôµžˆz²~ö}w­t2îqu©§ß0´÷ãHý½o™Ó*Yðß2Ä zŸÏ¼o+/u"!FgU¥ÉËIo³à$:åÝϹèŒÓ_?1“ÙòD¥-Ð!è×)¦âF©Xb““Í<°ù¯ gw®é¦W¢ð§AðP/04Ì.w °Ú” ;(™«lOc•²Pä¶»t­ÂíT€“îAv©íòwׯ&5(€·:v:1×s iU>O Õ©9×q4qzô@à8?cJž–Y’t7“†qâë“ÕÏäÛW­.K¹ïóÍÞ9áêRRõGtè†[k_œ~r^8„Ù,»îÃÛ—m¾Ô0Y‹ç q1'XÅZê¼tc,x"'b¥ÜãHã»ìOúdBV¶öq¡‹[u·ÌSêUS”üTnžeU+ôjL‘³8ÌvHãL£ø{Ú%• y•M² ³Oþ‰w»zÔŠNŠí™Ý1ÿa­Š^¥¦ûDžÎɼ´_ÙJ¾É¯ySƒ­ß5˜×¥ Å÷ðÎs›ÁPa»X CüVòBzo!NðÅ¿¬šÑ™¿ŽpÓã?ø_¥ƒ£×vHh"+ç•å ñD\ÚNç¢Íd óD ÎúWQþÕ[R5Äbz:ˆZ]–Hº•`ÁI«¤Û9ê÷úkÊò›Ûï¡(ôÊÕuWø#Jþç°’äf^ì>ÐLŠ}>Q†Ê²é Îùw^ß‘›É0dƒb,¡‹Š/X¿¸ ÀMp6  ‰Ÿ‰ ò~Ô…NG’Ò_ZÈèhÖð^¯šÑ+ß‘' ž²îeŒn¢ZeÁ_› ̸³×U± &ÉÖîù­oÖòE¦¸ µìö®7»±ž©CÓ·ŒôʼŽÐº£šü´NýÖKJy®~ÔÚ#ïdÐñ:ïÿBkµÎâ/c1br?*Y=SJi¬‹Æ€¾¸Þ³DÉ0üžcÓѹñ³àVéºÉÏ6z€Ÿfqw„í¬¬ÏÃŒîûÞŽ&DG–EܼŸ®žñÆäwxHÿ,;Wÿ©&Té*¹¬?+¨õ’fÄý°_òÆÜD‚\LÜk{ŒÜ Ôlo¨Mû+«mœ ÌÛ£œ±îÏÓûŠõ³±U[‘§œÉ¬¬º M_Î䘻7%XTsÀÑžeôoµþ¨£*×mš§¶ÕlOI@ò„?^%¦‰ì ËODíªBöTc±þFËóÜòC…Ë'ª{Çøô5G1/”}Ìáú+M•H’rBLì;ä?ÒÈO_ ŠXIkõ°Ñ¡ºü !&첿ÜIÄs?ô#(¦:5ÜÁãUm&-¶ý* íZgL×ÏŸ2Œ¾%6´¹'°QÑvz«Ž0 UxyôÃÝê~/×s{­¥ 2³igäZF„4Ü×DÿÕä'v£bt¶ÍµàžJC¾D åD`´þ]^×zÐÇõ±¨‰®LP[Eã[çÉÌ»Phÿ†{Ë7×Xt9Îç;¿‘|©îЩ6ÿ ‰ñFdþä°¯DP¢¥¢³îôŽø4sV®”ñí'ƒÇúõØœ àÿèÐèÀó›Ñˆ#eSİM“½`´ÒA¨˜•G{™)%7/ú„‰ÞǾÙ(½áÇÂ^3¢ KÞ‘U«cŒ¯†¡«¸;åh`9°‹™ücd¤Öûˆâë &NøFvÐtWVߌ઱ 2uefåå+¶•?'W};Ø| ‚« ¬ñxœJ+”´Iy½Mýɘk;ò|[i}²ùdÍ[]§”‰'puuûJjùpÔ/3%Ôj¹ôíÚ&Ø<(uéݼfi§’ÑXô=,ÇÖQ½WõW»IÅ;êÛ+‹ÐX_·k~2ųCkX*41^׃<®Ép…òÞ»VG~Ï7uQ ÷”}\OW½Òßj7œOôÖ|Ÿû÷2­G*ùî'~Ú>5(qê;wvl´ízª]½ùc‡5'ÐTóÛŠV1“Ëdòü§rcä^2š>/Ýee¾Ý‹VÁ”þÃɵéûš‹Æ¬ ns[ø –ˆ°0GœWyͲÃí:Ûá(Lª¨¡‹‹½ÂéS‹’x4ŸëB¯W^*Qâé“›Ÿµ»ƒÎ\þân8Æœ!·õÝO%É oŽÜ[=¼Ïm—OiF2¢ß¯Þ§& ^¹\`(„_Œ?-cêsq êÎÇÈëŽÁ.yßë4@gñÕ°ΕÍ2}ð6ìüÒKÔ®ÝI×oå!VñàcµÛTC¾SId sì†öõ—û-¸§å£•´X(Þ”»Ž1ødîAàä31”ãÉ8Up’ˆþé.}½}"Ö^wãûò`9ñyðeîq—±­k/=ÝÜ× ÁÄ7¡Jµ5³Éh˜œœ|t°@|m8¿öA÷æÏHJ¾]]8߆ãô©¦|¢7 ŒxmXæ@mcÜžç‚gâ´>:^ÎcÏ_ýd1º)JÈE?l—iÛÊu‹¥MêÞ°²‚lW¹^þÇÑ—Äc#nd¶ƒYí´~I%ñîïê FwzŒ‘4ʧ°n4H­òW\;뮂ÿD†©g‡U­·×X‹9#Ïg[¯r¾g9wGßͼՊšîž{ºsm€×Î†à˜±‹ÁØ„‡8“Ãnd³O!øhSY“µ_ûÑ#ß?/l(šºNþuLCdD.îٔœàý"g‡ ÐÊÝéžRb)üã Ÿoo±m|CC[YMbñѨatµ*.) Ù»úÖÉoZ•EL•Ej%õpØ€ º8˜‘ž\ccʼ§xùa§à( Âr%wJi÷ˆœ ãþo‡G®ÐpJŠæÑ¢ZcQ'µ0 .t·™qN¹(ÃŽtñ—ËÙ[^ão ¸É¶¨»7&CÙØE[턊’ñÃ\ãw/ˆÙsûógš—Ò]W)¶0î;÷©ÆŽ•…¡M6Z5‹—bc7€sñ8C!“I+Î0†Èœ’:¦³Ê<å—D™‘<a·–ªBJ%ú¤sÞ²¡,µµ¢C–0“Úš¦³g¾ú1ª?M³ËYsûªõù%=W\ÅZ * £8-=—fÓ°–ŠºB4®»ááÞŽr¤g¤:3§1“sB°„ÈM`u6®q™óˆ"ëÆ]íJã'¯)¿Ÿ¢Öø$ôàÕÒ>8ª.ƒ|3xh|¯ ÌÖúèÉ^Ù” ¬óú¬í]ôë’lˆ»ˆ!|ü­j±¬Ònuûcf!Ym…À«{ö2L'7W½N^ÂÚ]æø÷º°á8d¼U>ÆÞkªÙ³xJ›'Æø‚ÍåPhj‰·¸3A7u-‘ìV¥Œœ%ÂOê ;õAEšÙ#ØÛ!&q-#ø¡Uév#ÓÓ³Ùß]féÆTwú%ê1µbO¾Š¶ƒWƒ1~·Ÿ>©•â¶»¦ÀYh]|Ó©ëøV@H¦£æj53ÞßçéMÈ3»À´ÔÔâ%&7þ2uÁ1 ߦµÅ=ÞÈDÚŽ©ð+x9Y½DÎÄ} 6àúó ‚ppp¿o«1”.æh}Ô*~#^ýnHÅ[DM¿Üé4¢*âÞÆ Ý”ˆã²FF_®£‰U>9Êòâ±2ꀻ‹ø ™’^è ÎËÓ½«ÛñU¿º-áçz‘–óª3‹ÔÊ(¶âaY5À×–üþºŠ Ö§ó¼V4â&չ߯Vêɉӵþy^Úº1£x’X,.ºÍë2Ÿ@€Ïícóiñò%a ‚äQQ AâR‰ú†?|«¢¡µÌøx§uy…Ž<âŸCC n%²kîóªnŽJŠc/µ³¡³E%LB>Ç¿:ˆÃÛáÑöÒ˜¬Ñ@`ÀO¸Re(›¢Jz¾t/óµŒ4ÈÑÎRñ¡‘%üÏu¡t7÷Îñ2>×’¬Kø¼ÃÜ?Æ3ùôç³F1e?Õœ‡ì§üˆÙÅÌVx#ÅÛñølj ËzÚª—XÆZr|;¤MUÝë`?íó{v{ÅÒ–¹ïëZ£(¢ $;sö 7;hÚ.%Çü)ç…ÉÖß¡Hum¥Ê›/ïèÁ.6³‰–C*‡4ΰ<ý5\~É—ÄEÛJn+m@yñNü(ŽŽb±Æ’`îVS — ±Ë  ¬aÛYa§ÓPÁsžd9;£®ã*därͧ¿”©Dö}ù¶_BA¡\7[™aÆ%ñ°e8<9Çë·LxKšŽåkÙåvÚ±ïP¤EÒ§.éœMM”ÕœKOOíS©ì¾EÙ徆ðÌ ÁDeª¸ÏåMô~k½aãÕ÷‹cø[¿Núvó§ÔˆøŽ¶¶ÑäÈ-¨—d)bLZzfž"FKg¶ c¢ÌÚEiÕ-Ø‚‹·j‘B|Ød£»E?KFž$MsÙlÁÓy,CÀ ³oY!1A„\ß³Í6Äo¶ÃL'BköÅý¹,-寒¦5põ#Ь:Z-ä~`JÜL—DéM'd0FÎ)ô@áw„Œ‹ 뻃âr›Åž^Ú'Çè‰êø°ùƒÒoh~+|o/=k)ðÊc°ø9éd²ú|ò|Öx)ï¼Ä®?úåEÀ·ê‹øù äʪVÐ0l+ T¡Tb oëÈO K¶ŸP‡¤´¸%LgUU¶â•¥ÁõŽjPª;\³Ýß𮀖]±ù¿î/pèƒkƒ}uN·É§$Q€ôXÀ‹nþkŸ%z¦Åq¾+¶¯p `#ãù o†1L4­÷”JÞN¯d€U>sßšä±úO/À£‰Å6'?Zd-2òóׯ+>úŸµ’ftçëO¿@Q(Yéœ÷ã×vJ5“ÊÇ_O‡¬@K|«;Ùì‘g}»ðúa˜ƒŸ©a9X‘¢ö’éQF B¸J‘ÓJX9M¶êbÈø*òž5ojsèoÅU‡-‰±­&‡FÆvHß;Ȭ HU}“QS±¸±QpRykYÓÃÿJ0 -*kx¨ÂÛºk{F„ô¢ž®æ¦"”ÕÜɇøú!•V2VªjšÑvU|$€ÊÞ¾ƒ !Jû¥7ðEËáåC;"€*ì”PÊ$ §[jç P›ÝÑ’37ˆ/ª©û–L9ÝîÞ¬L¦4Æ*•ÒèÎXÈpÚ2‚Åü(Aš:=-}+Y­'hR¯'Å݆xMóæh˜Æ Ý)X é¸šmÂ÷þÿÉ×ÈÓ“Í&P7¢ìáÏ—J8#Vã™Eíäq!î2•*G ÞÉ;RÁJb¶.ÌÁëŸ %ê¯MÍœFÆ.ÁÆ™½„¨Úzoýðßܧ|7!I,îh+€Zì‡Y’'òÖ’§o¬P×Ð*–‘NrÔSØÐ!Ÿ¨Í!–éQ0y a®èŒñS™åre+SÑr¬È;'Ö … ½ÓÅ¿f0m_EÑ׌saoà²ÁÊþîôƒmhEN»¿bß9è£g>gS #¿Oˆ5 Áƒ•èZ»^Û âíTSb jÑ9ŠY”t•“Ò…Tß!¡¡möÍYLóårºÄüœ„ïF CÙJÖ( wt:õ  õb‚]Ž|wî4èJÁIïÓ‡´^x“•S[/Wi9ý›-G;µÞ’h4|Þ]Ê*ØdÊ äŒ"ÁjfrÙ‹Œç¥°†v•©½K¼N²îG'ŽI·6ÙæêJì»&æ-r³ôI±›µša¨—GÊ7b[áxD;MÞ4WNPS•”ðHÇ\—ê“>YÞ=ƒšý;Z>Ø_'îÍàS„ U‘R¿×°‘FÞé8î¶õ¸ª%P…É’Q`wgÅÍ©jÌý˜)ãåäÎw{%ec^ÜÐVCd.”ÛŠïi6TÃG*(ù‰tþ´U¡ÕJªè|üXªÌúyÞ”÷“ô";éòò²i²oõÍCÞ@ \*ƒ‡M¹n1r¯q<è×*3&ªÙVÐÒRRRSÒ‘=ã–¶T~™—3§ç/>åfù>>|ëÝÆã³ðE &’oâõJ`”ä n8ˆL—H§ékˆZëQÈx]/±gõ•ãxÔmÁ´z¨fþSpPž ÓÊi¥Ç†`0Š1>°lpG8tˆËdË_Ôy6kwu¤e Å°‚š‹½zT¹~S 5—ëSnøœ:v…²õ}i957 5w· MµE»‰ÎÚ¼ÇWá#‡€žù¸¯‹p;Ý£Á¹…a;ì±TÚq Ÿ›“3c˜âö©^ó"!§‡l¦q) —÷ 1N]¾ØÓ[y\ècc0-‘Ö÷7ð¾FtÅÂ;¾ñP9ð+UØØ~ü‚ EZ©Êûc4'3UUÕ¹ËAWsIîÃôå­Z§0­^x·­Þ²XEÝ‹—®Œ„ª2÷h_’~Ô0ùcÒƒú)¾N²Z£^3ßÉ Ó¸=²÷f²‡©8CÂqÀΜÐt¢E‘he æÖL©ûÐ41Þå˜B^hý˜üèE˜¾Íœò _é™àp¾W꣣âšV'ƒÎ ÷§ãÝåQ‹Ò‡¤6j#=[UU< 'D(… ž €Ú–¥âÚžòyúг暌_räÔùòsòt\þ_[./)U„aBß'æ{ 2fªj~B\G‡…®ïžòOüÌK=†e £òæìžú#qoNÝÜí„=õv›®³ÇÏÞ7xjƾ¹¢âH޹‹§ù«ß“¤y¿ÞrZ½ß¸š˜6OæliŸÆòìãlyÜÒ¥XÞvpµ¿Î'“¼/v&Eù?£}oØÌ,q=]˜}x…ÁúÓŸk/•EnÉûý?›¶/MÀìËäfžÎ^ƒ§ñbƒ¤±ïÍÛ…ßËέÎßvtò×1ñJa±ñuÎÏñëÛQi®Å£¨X†xÉ’¦q+,Õö½B“ÀLy™Ø¡š Þ áz‡E ìˆ«~+“ÉIåüîÈÀ…ÈÔó‰š.>ÎÃËŒÜÔ£ ¤üàÛííã±÷ªänGÊpþ©¬v^Zý=_!Çòïu³ößãÙ.¹DWÿOÌsǦÃúïæ³¦h€ÁC¡®‡íÑ”˜K§€—É8«ÖÀÙkÙì‘N¥è ïfÈ|“ä»!66Ë'óÔJnw3š1þÂÅ{•¨{¢YÓÏ.kå­7¹À›‡x;ͦ§g§)˜Œ¨a+݉ŽÓË$&mý 0Ëòæþô ®ºžØ¼ˆ«û‚4,µ ƒ£Ý~œm]„¶ h´*&+)Î?dñŒåˆ¢Én§›fâ´œôr´'b¨Ý?ødýÒV/KAÞÁnê›mµØ£gáŽXêþ—%°OE²øä.¾–Q§rÒi†×Ç-’nÿÀ´f$¸ÿ`ú ÿŲþàSjÿsŽÈ(¢4úëPRÒPŸJµƒõÜJƒh‡šPzYãò0Ñ+„+låáëF“ßü.Ù‹Úæ6ÓÐæØ\sº™9Þïëôš~ùüùiÝÿ¶þ›BÃÌ%:N†&n}ÜȼÑþÿ $©’?žuð„m ôÔîé—jw‚ˆ¢Aù/æÂÕÒš¶½è¢v _²Ib·êqTöÞœyçéY¦asµsRº¸Îì>>¶¾¶Ÿ™IõØÖjÚ tÇ&æs6^çþí«'Õú1Q8§ûàn¸wüQ˜üœŸ³¨óâãÒ5ã»ûÎ݉qØdý‹;Ó8 ŸùUít5;æ0ݦ҄s[JŽ“QÃÚ\ÍÀþ?ðÇ_φ.Ú7Ab[Á-¥ãG¾ì‚IÈ·Ö³¸Ëüwil4YÄS•Ý…-{)O$þ@ÜÅŠCËi÷=›³P\ÀÿßÏÿE­!š@0„“õh‘]`)NB­ð®$žùôÏÔý5e42\Âçä¡FËúÅÉÓU£:8°þzІ ûoSþ¿•!ÛÍHMJ}´“…#m„5‚ÕhÞ‡ŒëìRâP¥:£63°Üb¼T :·SQB?8£}boÝcxËʃÇŽ¯¬³twÖ[¦Ší”ÎtçB°Àµ/å¼ۀ·^‹–ßžæ|±27*‚ÉŸˆ¿ÖóÍì—>)ÃÆ¸רp'ªé×lFCÑ}ÏV)¦ˆ±È:“€a÷ãŠÉqŒ8MýOÓ^X8›I6RÓkà Ñ2,íVnX€»Wxãt¸ŒH6Ø4AÉÅõ=ÈôÇ~¨8\;xPH²c+âïÖƒÔÄõ#@Žus ¡®àcL*9ÖF.ž²H;¸ïÄœ%[¯ŒtÐɾ„¸G…$¿R×r…D´Ä^ ˆò‚-i²ZßdÅ#ùµš‡T(‘BÏþ=èxK¥¡&“Ò‹³F$Èäa% Týèg_Ôj"Qæä޹hI“äåé­z¶bøÀ†±À‹Áï+wVØwÝÓòL_6”Þ¬z ì6¹kôRc—A³&g&=»ß4íI£%ŒßžQƒ÷'IÞ,•¿%¬Ú±BiµD0Ó`ÚµiNi%õ‹–8FêŠ`Uî7š" ¹.Ñ€“…¸ìê{⎵`•¾/h0 lG_ßZóFîÝlí{ `³Óƒ"ž¬º5œÇ’BÙЕé‰~ñƒq”ØJq !D/Uܨ"ˆ®»f¡_ ÌáÔõB‹¯vDzFAgéMÙW„Q’Vî©‘±Ø:ÿ!x׃9Ëù; ÆKI°HO´äbYÕZ#K?p9•¢J•œFÂh“]÷¤‰K6<ñ–ò‚N×j þ¢€°QŽÕ‰Å±‘"W”öT‚1j1§¯Nþɱßq—âîeÀKIÊþëñ|Š ìÀmw§¢±õÚÛøs Ûãh:%£4o¡Âø«:·i.41ÿÿ¥ÇÉ®ñàìªé‹ÙÉ‚s«)q#à »ÄלûNŠdÍûÁOT¬4ŒÄ÷RäÆÁ*,ž("EƒŒ¢éˆ‚£õ{Š“'EÀ^bÀØ€ÈWøÃ'ò¶Ñ"il'ü{vçÛáØº¾N•žšœä©lݰòÆõÀƒ»z5+'–Ï6ÙùoäZæjEsÜ/Ÿb¶Î˜1äûRoeù¼/Y‚€ &þ®å!U†4€®ž7†£MPßZ¼ºG»aæ8‰ŸO¼ØUfõ.îÄŒJÞ*Ê…0B˜Û_ópþkd„(ì«j¨7óä]Ô˜Siœ‡Ýê¸íCȦC¯îÏN´†àØ0VÍ0ÓWI_¬0†‹ë`ÞOÏnÐËÎtqæŸ6õW9¦úR&x^ï.I‹Øá›dß õ!V6ùx…è,ê|¹TgiŒy×%ë…Þ¼>Ÿjˆ™_—¦`ƒX11ãzëYÙËsˆ£6Õ·&²“ï&WHop¹ËáSߎQÆù˜Žï<[´‰·¨Ö¢»š‘Ýsñ(?õÐT{M£s_}€^²{%Eˆ¼ßåÌ3¡ènÖÅ߉_4íŠ{˜]ê‰2°UÓò†¾3R:deAŽÞÞ*h€ëãÓ‰¥Îctøøýáöì耵 obh?=’t(Æ]Ì©Uá).`rôNùKq/fTÄÍ*S÷GdŒóåZ«_vÜZM-è}\îg2ÖÑ}e¥ëõ•HÓû¶ýgƒFÕëTOl¸*•”ï0åŠPº‰:){”¾ÂÙuDµºn–oD}ïp'ƒë߸Ǘ}Câ¥ÒcÙ=>h5 5¯þ5þ=¯Ê®³Ú\ÈœÀ/¢ÑTEðoÉï¤\cÑ1ä}ôFZš€¤ÿj{Æ06>´ÊŠžúqÊ8xü‹qâ± ž“AQhT«*‰€3%ør Eý>ÑKYà É„·C!±ÆÛ„­åaÔzþbWŽÖçkš$&ÅÒ¤¯°•ÀÁÅ“¢6ðàc@ßšjddžv-ü€g u²¥W3ðŠ¸­Gá ýº‚ÿC&B$c[oÞ~°# ÞÁÅÚ%T³u#aà¢Åã»Pé^Ý‹DyJÇæ !‚ú7÷W„;:¬»êoÁ]šá¿¤§Õ©òð ubµNI¾5€Óè eù[0¤x¿ˆšÏK!Žà’¼<òÆ­õn,ÙÏÍ4¹ {wµìÿiC™åÃÈ#Ì<éÿÞÛÔ©óÈ2ÓkIaªÙ Ü\ËprHS'mbÉ”…ù¦Ê7›u—­T$¥ æH¥yÊ¿‡*ÄkgÂUYçiƒ›Ø¦…ø¸Tˆµ©IÄãÁwÖ+Ö†/ëíÌæŠÓSÖSìˆßn™Ñt%ú]Å™¸¹ù‡`@èíÆsëù…¯' ä|TâÔa:•Dÿ‡¼åï(8ÆÁA¯jkÁÕ„g%J¥)µñ /ˆŸ”ÃØUì¡ó²—ÿÙÿ¦r`ò¼`ËfP§¥õÛ•hÉy*óMˆ¯yØŒÝÒòÄwî4úFõ¤Q¥×0^6[ÎÉpCÆ{”¯X*„y_Ö𲌀5gÝèÁƒ¥’“q7M#Œ)<¶Œ¨TE8‹®¤J¶mî>Î×FÃGÚOc’aPº(’í[µ*ÔY‘ª¡Á'‚ÁÕ ÖžÐ l†ø!&öSÆi—%¸n„á\ÀìyO‰O$³BѺ©Sè ?„CâÕüïƒUzÅBš«íÈKcɃÂWB—&:À )'ÞO™„#¢¯¼ôÈçCìô¡•[‚ÿ†CØÃi^_€¹6«œ Rð¨{ß®O!P>Øñ]ÃêW¼‚- Ó‘µ Cˆ×o¨W|GÁ"iÕ²”ehw0rúAOȰ­-Ú¨ñÞ«¤ÝŠJ†ùL]HùÖö¬DÄ?á‚«Ø,ŽõŽ4Ë[A´yñm{AÝ©ç1ô½8á+NTjÈ%uŒ?þäNÃHL~0\Ê Ùª b‘û÷eð6e9%ƒv­:§e&’§s¼já'1]]é|.„å¾4,}°šUp›Ê)j?Ö"5Hn¸—1¾” ©ªRÐc¢++&¿ßã¿ÏŽÜY²ùµ±­é€™+EñÝG}làX!¥c¥!  ÒKh­b¬ý9ü‹sÝ{û!Aˆ"—_¯ü'»µhD–ôƒŽõ똺ûbúzbrÅŸ÷[¢œß1Š@£Cl›f-É‹/ˆÛ…^ZŒ†ÛZd’Ww†dù΃²JÝŽeàšlkÄ£Êcœú8J£A„a\(¨è=ï [N»Q½9–;¤h#ßU ã튵Ѽ…â¶Û ce¸XT¢¿C„OÞLIÿ\¼Øž²Jf·d3‡‡SèV;LÃ@JÀ*óógÄ2çæâC!g3uïûegŽFªÜïÏ<_&aãW_RÈ{bìý>ENÃ@¶tn4&@³µ@Ä„#ŸÞjÄIGf?Ö>¦¼ NcfÅ ¦DÍ­ïXë©‘qŸð=éûÿúâ¾íq^²ƒ"c˜6•°±B“å~‹˜< ' ¨‘¢Zj.­æ;~Æ=šÝœJ_Ï7àDÑŠ^z –ú¸HÀMQÑUÅÄlõVd±QBð3õ¦ß‡ežÝ±ýõb6aä7®z(3DÛÁ®)±°§ß¾bÆ;¨"÷‹¶µÃ¢f Êž N‚G9Øl¸œ»¥£N“üBox²×s¤ ²Þz9VñÃÃ^V¸£ëÞ¨!Úð7ÁÌÙõ<£wýÆÜ¦ ¿Û‡ ŠÎX­»0€L“«÷Þè¹iËtÀç€BäóÏ2Ü‘S‰{ü’Ø—o©0Hüc`#ñ™f5(€ü8¨áíÁ"ßD:5Ù¦¹¶ˆ=á©Á£¬ÊÝg©\¥ÛÈ蜮Ý,fP  “ÎOå”XúVoÿQÔs¡mø¯oy™:à ^s›í@FÝ¢ÃôLk`,œíà&hÝ,#Ô¿¹b8ÌGŽjoØ aT@¢_{èÔ›zˆ) Ù• ¼£Ù}6w©JwjþF‘{ÅGÌCA"Õn ³Õ´f‚ù‰ Vð3üÌKvb)„IMÁ" Xf=Íϼž¤=âøaÊgm6v1Ÿ·}Cy¶PÂÝ:ć­éû{†ð,Èû–Ü÷ ñÛÇú¢N’D½Þ´¹Â`·g‚çÅ"Oî÷*Þ M<Ê„ø$TY³m-yhžój†‹I],i;¯…b^)oÈÛ}_r&—Îܦî*ÁZÌé .ãß_ü}ñ¹ñá7B†‘Õ%mg¿ûäÜÆc‘Hewj”ãŸþ ÿê6‹˜=‰?šl „à³¢þª•Nóg+t˜/…k}7½ìª vÇ”M3€µ?î°zÎôàþŸâHùÏtpš +"Û-iY !âÐ=œ×LÈ9Lqÿ­_vÿ9n°P—šÆ lˆÕ/Þ²†ª¢½\¤_ +ÎáŠ{Ž™úlºÂØÖ¬&kŒ)U¤ÂdƒÊ©:EX›¦EÉUÌ(Æ”¤@`8ÿ½áY%ëš"©+/’jWªý³3ÓÚW ³w¶«þn¯9ÖÞp弇oz9Χ=äcëŸõäBµ|ø¹ê.Í"Ú©·Jýªn€?³pdCϲšÁorEÊ È E(W›Ð946€¹hÍHyŸ<l’1UiP ‘Á•+asë\NÔˆ •%ž/%7M[æ*«‡~X[œv~Òyà&þôÐíJcmÂÈj2œß[Í«Øi¼Sµ£ìë¥7ª ‰&=xµöçî&š[Pjh¶¾DÞQ¼ÚúAwÐßåökùX‘T*o 5ÇGàó»ÇE3 J©ûê!ÅÌ8ûF)ÿù4çÍË·ê3Óå;²*´£òÏ(#Â5’œøF±Ì}RÊ¥ãqÆ£´OüIgo¬Nóñ;q­\y‰a Áłտið!ÄZ{!6 þZ*- Æ4&«7º¯ªÂ¼Û1‰H‹À¡ÿ¥g ½³ySwGÝwªl ¢Àcý„ºR~‡ «ÙQà”+h1ïŒ+wCy‹ÕН˜ªŒ‘ :S7˜ú¢’E»Möå¢Ö†ÂÆý~4à>ØiSÌÊÆêôÉÆGÌ)Sž¤”6 Qoxf 6>„£n?R¾~²›×މ‚Ô²™¦=xçâc;oJˆ#ZPM¹oɦ×cMì"áAÞ04L™¹"2ëÙ’nd³*Y’ÄÏo6²Ë£¼v|ÃÁóâg3g8‘œ·e©ÒðaKúÚÝK¯™]|éû`,é:ü=}R:nkþãrÚÐíT3³™ ¬|ˆ·éýÇônð2!Ⱥ ²Ï°žžðêmàh·,î5ÅÊ>åÄ_s¿è•±ºèî ¹ôSVy‘~(FC'yÁºs"„ßñB¸C “:¾Ùxf¯2ß±B“Pr–ë )"ù%NDâïC¡p'rû©æoé¥ÏÞ(p"%ÀPCn{‡ÿ÷šÀô¾â=Dù@@*@á³ãß« 3´¿ÖYYØK~Ò»óåÂÜDæ#ƒýÿëÉÊ?ÁûÇàŽÓ°˜r‹1Ý8cô‘±1D‘FF ,»‘±³c,z*ð‚ÒÔuÂöÎO[é™û+;=ù7Ý܉xl;|ÆgÜ·1ÓÞ¿  KÙ³öô'Ròâxuí‰1´_>UU1FKSc hc"[4“°õ:}NíÞsSÛÐ4ô×^Q Ùi2¾ ÓF ÈŽhâ:Þ'JÌÌõšƒAP‰H 8‡Gɹ¤33ôL0Á(ò™QèÂÇ_ E¡IÑýEüÿ¯—?þ¸ŸÙÁ—÷ܜƾ©\\¬&R&+ÖûùyúýûZ¢RRQSŠŽ>?˜áR[Ûmáå‚«Û,’*ï—·^{ø³åZæÝШúËG:£d89¯g™¾v_ãÚÃH¹ö6%%&!N''™ž )iJ6{´ç1*ö®‹)4Qbºóx¢‡â^Èl M®Oƒ¤l¦´´¯¶âqúâ ¦c;Ï—õðƒ­–)óþȯ7à‘³¿²sëŒ<Æ“¬¤¨ÛSYl#ۜβüÁeß Ì <Ï7,dIôKË>ó­îèáÒÏFÇT…œÖ¹¹£pòòä=ov¨ë¶b°øªY²}ÁþÔWœ·ç¹ |‘uÆÿÀštÃ]æB›?lçú´wƶ¶ö'ÒOñ,±aÒ]³ª¤àª„5ÃÊ'æ´ÝÑ›­îáñ€ã„–"ƒÃáb—ˆr– I¯Ï0•?˽Èã×£Ï6½dÌît®½ÊÀ [gÓòÿQÝ:ãä&òM1ýÏ'|þ¾Á°2°=·òG‚>Wwa¹¢X^ÛÉÜó½ö¢;8¹î˜Éß¶s¹É˜Ã{lΙeczö07?>øtÑù˜3|‡õÓl|*¥l0,°ì’Ô©g0Ò[äž|R#ú·Ág÷œK8õ:Ì{qçËŽÑŒs64<ÉìøÏ¬ý¿ùÅö¨ôIþ¾°ƒ§å”€\ÿÕ£×f>PܘÉÈœ,²°c“NÒa=É;a­ÍÝ'–™ ýp’غ@“µ¥$ÈA]'NéÿÁÙ· ï_9}:ìE‘ásÖ3¸®r]™öðbÊjáYïW$N8˜º’}“†ö²WrŠïvìma8pô ï¿ùg¼vÔœYÓê×§ù€Qtÿãî$éç¬_³$œl˜¸Søtù¥»Â-b“Dbìy„V«­Xp0ÂP°ü›ÓÿՆߣ{^å=Öqk3ßߘ"šÂóÕ(ͧiBújI`¶ m†eýâö|ãWl{Œ$Ùås·Ê()YÊ´‹wµ±WYR½d„Øôm‰'ã|öOÜ$ªÛg—*»äÔá\óÇ‹ÄîhÜÙ(ÕÿýS‰C ƒW„ì•lj"¶o^*pply¤¡x$ýd»zï;x1±‚Dþ“—˜´-࿇(xºú¹¬sJhGk c«nT‚×^3ìxœí½isÜÈ•(úÝ¿Wް¥y•Hä‚lw+¢W»ãv»õØ÷·çȕĨX¨)T‰¢ãýøwN&€B-$ªŠ‹Hµ&<-²XHœ{õêòòòô²8­çg¯~ûõÕ{\+LJÛ_.Ožº…{öúŸÇ¾¿˜L›/v,“+¥ÒÓñ»^;øçÂ/t†ß}éÿgY½ûâÙ×õtá§‹—¿]Íü³Ì¦ß¾x¶ðïéá¿Øs=oüâ‹ÿüí»—å³W°È¢ZLüë_¾þùË÷Uó«·‹ìë‰nšìWüÜO­ÿüUúÊ>ŸTÓ·Ùù܇/žýÏâÔ6ͳlî'_Û8„ôU½\|;ñ°ýÄYY$¥/žývÇl¶@KF7>a*"YóÕæ¿am?ó“ÍóYçç=`<EÞóV_6ðþŸ'uK£¯ŸÄgÿc”4]àï'À’õ$5½œ}パõ%H«/ó¥1‚hâ´ÎvŽjA ºFɨwŽ®ŽBôj[Àñçõ<Ñø>ïBzùåçê=çQ§e^mßžÍëåÔ}þÊŠ_ YÓ,²1‚“6/¥”¦,ƒW¶„ƒô@jxàÄs{—xØã]ˆ<Ô[#áÕ* G£NŸçhÚ1.#TSCHAÝ]¢bwE’X|öÙ—Í øæW 2äG–w„\ê ìÊ Š3ë©ÔTZHI¬3e‘+R’»ÄÎïê°óÓ¼i £€=5Ѭùf®Ï£–BÉ`Э €RDci!¼ „q§Ô2þ®»ÆÇÕõÅa‚ÄIK© –³ ­ >”Ä€  K.Ù-ñ±[ õ:"þ–ôÃ}k»Ñ}öôÔÃô|ãd²zõó˜¢RYQjJ§­ ^xËóœ8‹¢³0·¥³Çƒ×Ñ}öty'xõÌ Ë\Î ï+KG]a¹yç|~^] 6ßq"zLCÞcê;°èëù­qDεážÃéx¢•&>–s#8WÎð£põ®®Ü=cjn°¿Nˆ§$íZc,û“¾˜ýev1†!ËJMwÊHYP/ S A¸ÊrÏìqÔô‡{_ uÆx´.çN²–Kvÿùÿ𿽟 þøÕÕ·ïÁ§B'k Ï,$Š0–²à¬(%"(ÍyðL˜¢x¬x‡ûz<5_6ç Í•lžx%ÊŒR ˆ&yé¥áäÑâhî5u>bj@zcØá>HéuI•UÖ”•žÉ"°2È‚.÷g1÷ð,†Iò–²‚ÓO²öæÒÇ£šª,\^JCŠ`EÐ,"׎ëà£ÇköŒÂ=‚¿°zrá °5™oÈ3Ãs”ë,UÚóãy5]Ü3vÆÁÖðÀ×`òŒ_-¬X°Nµ¹¤¥)JÐ|$€Î95…(ÍKÝ31˜Mð_Lˆëãµýž1.ˆóŒ‘¦™¨N-W9¡š(frÿÑDÄÆ÷©û€ÍœÎIT™Å|ˆ/ȾÁK!8ª ,÷ÂypF(ò åGZ¹¿üP5‹?M9Jmd:[üå¾MšÑmë^un!¼‰ØnöÄp./8½Î +9%ƪbk©‹à½=ÎÒxüßö Ã{bÒ La­”9w´(râw*œhfœÿXÄÊø>µs_>¤dw©Ïá|•59HÀ€¶(7¤£2%üú‘Òøø¶ãA ’±ûÂÊ:% ˜H ¥‚6¨D•sÖh}v¾kÞ=ãpÏýEýÎHÊ}/úzìHXž³²”Væ,7\]f$|TA”ÏøÎEQJbú~ ñ ƒD0ïºBXX‰v´""—œ1irF Þ)ƒ•ôóqãCÄ&GáŽ9:ß-'”_Õïa[ÀÌ4†%1¹ð‹ 'ͨ å \U¶tžsI¸ž^{©4¼›*qœ ÜSжyr˜´X娽Þõ§‡Áã™u@fl ?0Ý wŠJ„$“3ˆïÞÐã8|?Lÿ5f^öØ¿>FÇ7ó9Ã& ¹ôŽJ Ì 0ÚêÒzbr þlÉŽË¡9ŒnqÉm’ÅO·ãh@t†ZÎMámTZ;ð"HÁsS–Î0^U¾ÿðÆ8Øò LGÀ¼PÁrNµ¦†‹Â°uË`ËÜè‹ã."îã`G¸s•×4‘ÜzÍ„¡ ±EA BK-ˆ|¤¨9LŒ>UI½ñÒ‹ ËÜ(rk ™Ã‚î±ÿÆÁN‹„ ÆMààf5Uy‘éA}"|°ôÈÌßûÇÅ8Ø—•[œ„Š˜Í²P°Ñˆ [^RRä(†…:ÎŽz€˜ð(Øçþ`YQJ ®à™òŠšBéÂO•æÊƒæÅqyv¿¼©þ}ßé`ã€7Äa¸(5,"salàDR©ˆAH––+.~ù¹¾Ò‡`ùáP•J ʸ4¢PÌÒ„#ÒXAÁJD?b|ŒC°üz0³H0…Iiɹ×BE@¹2gÎ*©tÀ!ã§E¦à?`=éB( ð¤§BX 'h.sœZy”ŒCž=œL¼æ^FÕ¹*eAçÆ ´ú‘ªöAp2yª"Ô ¢gso—ó¦z·ï¥´ ¼(™3`8+<ˆ@‰Ä¿n[ätŽ7‘{?Úíóü㞨 Á¯ )ÀÜÔÚb5—¶<0QPXú8Á†´ð(‡~ÞWjîKVÄç¼§.§±à°2ã¤1—Ksœ…t]áø»b5ÔÑè4¯e~žÊU(*yJ‚"µÖ»’y êT(så-Ø`Çe ]ƒ„=Þ‘𣞟UG—‚]¤§+#ÞÊPHi©(Š9ðBLF”ãnú¯%…Ñwݪiu±¼øñdÐÀ”2y.•)r*<¥Ž8ÉI™Sf­¹S’Øã]_ÿüÙgi/o*çEŠ^.êc0Îh¶‚€¤qÔ•ªô4w`K€h.\8²:áŒìñ®ˆ‘£½ôž6ÞDû4%·Rùœ[ªMI0wÕ:Æ9p´eÇÝf_ƒ†=Þuk4è÷G¡RkrcµŒÓàJB=+¬¦œ2!À1»SþWl/sƒ6Mÿ×y½œ­,šÁ‡·0k:aÛ®c®ÉÀfÍL[/î\ZÏJé OÉœ¯”2'‚øÉjÏYrÈòÊ~Ø;Œ^(š[V¾$E©lÎt.ÐR(î†üº¨èø»nÙò]ÕT± à€ ¨,P”Œ‰œ ATCx959¹ÓXÛï ˆŽ6k=s«¯!O•˜³ÂAB ‡í,+xGÁs&€ÜoÛÌt's ;¿~toW܃7þq-'\®ƒµ¾´¹ÜKâDi)v…A˜² wÚôsw…çã&7ŽâVt8I+r½¨aZ—Jy§œUEɂߑ 6ém«s×16þ®[J0â|ª›C[éMrœ-”0¬´¾ð&8KX^JÆÂãéµÉN〃uûN®÷Y8ã-Á!N G8~:Ï˲„_léo¹æÇyo÷Q½º‰‘qÀS­c— wFFÅ!åšxiJ%•*À}g /o@cÍay\\øAp8 ø:»€Ãb^MÏ’µôw}1Z €¾T,Î ¯Ë§\ð/O²M$Žqà¡@êÙÏOqÑÖ)‰ ’qîá ˜±1QRPŠ6ࣥŸqÀç^O¢Xª&Õâêzÿ*šè¯ïvòÁpÊIš|°kÔÉøðbÆ) Irk¬t<]¥Œ5¦ÊÞÎKˆ®d£ðëÙlrÕ*èH0¼rDozÝϺœã•m?èæ"Ä_öÍ`ÄTcœ. Æ­£2'|!ÏðfÁð#ïØ×ãðãl»ÂéhN“ 9بÔck*V«.-)¨æ,³üêÈÖm-2 Ù}|«'v9Ñ ¿º‡»µw›¢2v!9ÉÁ|&m%ÅÈ$ˆHC`#̶#/–ŽŽÇῨ—ÿyî›æÛw]>úó_~ÄOãÙxügÔ.0:Ž;'T.„,Ë ¬wƒ@%µÇÞÀ=¢Æáˆú±~ço…'ë*%Kb=˜!ÚŠqì^kWhuËPñàiþˆ§_ýÄëæv¨âÚ†¹”DkQzMEA™ð6hWr{lËÛ‡CÕ8ü—çÞO†8úgÿÁž82L¹¢(AŠz‰ÅU˜7£7µ÷h»zŽÃúu³cù½kZA0—ÙYÉ·Ü—šÐ-ÔsCKM H=DóàQ¸Sé¶Çù)„®•Ñcèj¦Ëàƒ`¥Õm=(l·Æ9NŒ-Ààº]ÖCÝZŽo"JÅoâÌדʾ½•dÌ((¥| '­pYž{’¥0pâÖÙWùq6¾‰U˜þûi½™ûqIpÀ„·QÚd¤à,V#C‘KM„[S2OX¯þvÊzOÛ–j'0«¼Ì­´ÔqU8F¥4ŒYjH![Ûö{o::øËûŒc&]ñ8_ƒÜ9«ç7D ve£H`)É„`Ä‚¿Ë Q \°@•ÔØÒçv·Å÷T ·†¡ñØI5ûõÐJ8ÉTi±ò†Apo ¦0FŒUõøŒ¢M¼Œo Qβ½ÖÎ\xçOZÜõ7Ã1¦ÙÞ·ßýž ßàô߯ϱ!ÜhLï¹àôà!:ÈBÁ RÿøÜšMtoÀù-„ßa¥5žkb•æB2Ê”‹[ðõKOè‘¥«¨qÀ«^ ý<¸?~@mD [ªBÈ<ä`dÚÒ‚Û@)a6GÊÄ@í8à`þ¼ëùv—ã÷~Ñ=:ØL1VÂÁ Äšb#ç”z…-dœÒ÷Vnpl)û[}7s­„žÍýÌOG%Œ ÆqN]®×Zik e¦È g”Ê#»J=Œã÷÷¸o‘<©­ž ®¹vçHî°C=çÎø"çŽåŒv0dŒ.Ëç 7[;t°ô°ÃPË|^9ß~vÃÝÑú‹Ÿn’{ÌFèǺãrx?ôMüÀ»ìߨy5K–/üa}š½¿0°ç·ðàmgϧ)ò³×¿WMZ¾DÛ`Ï X'þÆñÁ“âpò8Þ¾`0žp×Ó8cÚØb}ÕÞäEO_]e.ÝùOêcF=QÜŠ'¶g¯Ûú¢#çP/çq=8ìE–$&`½ždØu4¾%Êb¤;•Y ã[ÂÜŽÅ-愘+P6õ» oŸ#ãì:p%ÒYcàê¾£c/Zrþýiö}Èà`³©‡}£TˆÇHGàLnÐ!(ÙG<<›Õ©´¤0÷XgÈp6Õ´M:ͪ^`¤í“Õãj=ê@X£Ã—]Ôó–L&åçÁˆ9løC=?díƒæÄ]¥ý9x3‡N8])²qe“j®_ˆy×†á ²Õ€÷l–³Vl=ÁyZUÈ}ªPõŽrÍíè|Õ(h#›´(òȳ|ÏÒN†Úø›z­}`“p,þ=¼mÚÎ5N*ó)iß„¤ã^$NOüƒ 2ø¹Ÿ8ŠkÒ¦“Ç+D×ð÷yZ­9‰’ íuØà¸ÝKÿtOdß‚®½¬Š¦àô:ŸE{ÛÑ iìoZÜ~öžC‹¨%*­Îvèq…ì«eÏž0€µöçöøzÜ}ûEvŽf3ê(x+ˆ¹k0 ºch|fÑ:­ì[T%pðÙúÕµ^T®xöhŠ^4}‡/°~æt·JTü‰PŒ‡íT¨ÉÛ]‚ᾘ×´¼#؇$‚>47pˆÂ;jˆfT¿ˆÛxI“Å[YÄ"øíFZö±œaÕt‚g œW8ìôf’»âëuúÊ<|ŽêÆàÑ/<žcg9FRl|/ðâPXÄpTQmz&ª¡Œoî}îi’¤’åÊÁFyá%WDZ*‘Õ׌olpÅÒ´¶î¼¹««M-c5 žÒÁ(F1¾t ŠJåC^¶>vµA¬(Vð‚S®Eè[Úh€J‚YÃÖ è(­•D·»ºÐg“=«‹³¬™Û/žu”ðó¶w•¿ûlðK ­?üúùŽ»gz®/Є¸1 wH5Ù ïI°î/ÖÊÈàד ¸S\kqÕ·þêÙë]ûÞoÛAá½ÀC“ºlá(ÑáÃì à°Úù×@¦àxÅw-<¶¹{yqí·Ÿ¾  f=ŠwgŠëicùeïøôÙk4ì+[Áùá__·ÿ Þ²šLœ½ÎQ®¶Ï¢öõÜG!q€^¿¯( (%øŽõq 8禋a{‰¶Ý—­­‡æ²Ãp$º:^ƒ¯ÑÊÓ½iËè7ÇvDÚhi'µ»@Èý«úÌýCÄ …}8 `Dè Jbò¢Ð%XxLjÁŽ o-ËöŠmNO\€ó•Y ‡r ø ,öÓ¼êpz¨X¨WF‰ÐóçõÜ{3ÓÞÌ5¿‚šO“j(ˆK"ÎÎ×ÞUÀóº5>&ÝâMº´ÊÄ ¹Åë7àý9ij€c¸ƒëŽr(Ð@Ô¸É6 \CÛRYQjJ‡«¼ð–ç9qðnç #>ÚNžÃï›¶ÿ 8x,´}¤Ïw0m{æ…e.gð-KG]a¹yò<øüƒÒv;ä~7µ&ôwO¯!¡áÃSì±ñƒÃiv<2ýi“Ö)v-L~zí±¤ôYöŠ.‚Tß Q;x]¦›U;’;¦yЩàjQÇd1%ÒèµòŽ? íÔÞýJùSIžïàçÙÅ‹ƒ…ñP.‡Ëøq óQËø¦Ç ì9&`^m˾“6窵¢7‘ïN$­öUc*Xä!Üî/²·ó$z!¿¨3Ôw¯#?q|D¼qT&?^ñ•D÷m„Ø-M¼‡Ût¦Äõñš-;h7€y±.!êy6­1{kc1{+e-ã=öIL®F†nS°Æ ­TÏ«³ |è®aœác ø{½ð)¯¥ –lÆ v‚m–!ø9æ65~Ä |:­³™ŸƒP¼ˆ×Å3-®P^Ï=æ™6§Ùóoß[?ÃLT¿‘ò²èÂO›>˦шäjº¬—ÍäêôÅc’3ÝòÝc]¸÷Û^˜Ü•›wϲ ÄNªºKÛ >좩‡dÇí[¼H%kÁC…mܱ²o¦›6Ãù~tMÈvewOT~ ?ÂìË®~l²£Ï›¸ÃÖæW¬ÍZ@èa¤<€Õû;—c•ƒÚ´­ËŽž·…1K} }šýÍáJ¶žcM[Î0lz_ëÊØôâ[\’žó¼]$û Øêߘ8=9ÉúÁ|YT@ûm‰æWNáê™>i-º°±¤0}ôü=®ô¢¿DêV\{ •Ư_ůïr¬Ø~%Ø2s?¹:‰ò/#è?ï¤4GÛJ®›怔Í„÷^IÅm¢Ó ᜰ„ižwÓbrýÛêxÿ¿è¢þ£=¼6{-ÊUÑm/˜¤èºØæîsŠeƒÓzúòß~^§„È`½·À Ëù•]S Á¢?¿õ<¼³T}´5÷ªï¹Èå¸d¾Kù{=lËðÓ´ÕZªèñý=JÈþ¤¢×T4æEíÒÍUd®™ËéÛ¯Ò½OVÿQOõYLtGfèú#´‰3:ÊɬСò¨wö¶Å£°+p>´YqT‘×£0+:ì}²*ت8ŽdvYÝ>˜QqlÒèÔÏJ8¸zúð2„Q éQ(¹vO…ƒ×9jȬôÍO§yˆí¾ë.üòT²h¢ñ·èZd\ž×M'¹WÉ10/Dî—“ôlZ“rÃ-k/ÕŸR'’T2ýq”µŒ¿çQÊÊnÓŸdå'Yyÿ²²õ“•‡‚6DeêáÒÙšOWR¦¶l—uÂpèZE(^ëOY³€ÎçÍIB÷ê/©~+ÝÑu‰wŒ ý¼­¬[ñqúü¤DÝ{Òéã(x¨ZÞql=ZÅpû‚Ç­)ã ûÎÿúÀ"ÿ¸m¬“ôÓå˜ îb¤Ž"DyÝÆ,›…ïSÂ7åk'nõ¢—Øâ »iêÅYR‡Ëþ•”ŒçáA¦ÐÎN²Jý’vŸVWA—iØÄJɉ_ì ¦BîÅ@ÊÎÛAzº(Ä8pN®šµÕ¦®Uðy÷ÐÉÃÇ€û¨×?»<¯aí/ÀvÛ›ÌÓ×)Ò×õrz_=·î Oò¡„·ˆÏ’]ê@kâ¶LXoÙ¾Õ!2vSÚª'B|¿öï ²O\]ûI÷¯Ñ·l[óH9äCZØës‡÷‚;öJ_/à$[£yB#’V 8«°;ðÆf› Wq½Z9ýäž'§¦¾óIÆ¡xië S¥>ô8H#;ó‹UøÌ޾dÜèÓµ&òÒYg‰sÂJN‰±*€ÿŵÔEðÞ~Ø«•GĨ-«=síédmó`ÛÄfÐKégj|NÇÓ6+ӑв¼g—ÿK‡EáÙÔ_¶ózêC-¤“Ô̶%×êúi )Áp2÷Ú]­òª0< 2ºŸEÓN“ª/Ûºªål?ùiêBÞ†N{p÷,DJr+©3`W1gKkJ­dác„k³>-ç|û·mç’}Ì®ÎäRy®L©(ŽªAð\Š‚+!J®u!åú[þw¶zË‹x«´9zµôC5õéñU‰%”¢”Â0#™â v,rW:f©u\çTØBÉZ€*XøCȃå¾(`{¦Q ý²Ÿ}替éIøJÏïÿNé a?‡Už­ˆÈ%gLšœQ"gAÊ`eã•=Ký»¿[N&¸þWõûãtíø>*]›NãiØÅw.&½I8lLf{êî’c—®¦›Ævº>ïlë ^¢÷«ìbeüðž=5F‡m­ÛÕxíSO­ß6z² k_ Ÿ o¼'tÐ!=J4>À슠85u½=p?Mí±çP%ì!ú#FšvKÇîk¤òu#-N§ò÷¦ ¬ŽÍ—qK³Œó¼N²Ø ´  ÇÛæ8˜×uE!›.Çãá¿Ã™c|$ÙÓþrÛao›¾Ô`0Û#p¦³;TRïMq2ÑŒ)Ÿ#Ò†cø6\õï›ÃíRk¯‘év»çÚ¥‡VÓíRñÖ«X\3 dºžÝ¢¨.ÃïËn±£NÜ]ÓN'ì÷g~§í§ò0øCtí´æjr•Íê&V ywº“\¿RÕ¾-ç`ÍxèVÀ™ÓØ5Çå¬_=iºYF÷¬ ¿®§À•ÇfJÃÖ+6&ÏôFS¹m5ŽyDÃVÝØ—.¢W~‘ð" ÁnÏ«Áž4«{zb² ô S|tHÅŒ¯ÚEøüydÑ*þõªlxkÑöò¼Ä„&€%ÝV¹zɼø,1çhùóIõ:åéì=.Ù¸à5wŒÙBí¨a’€­ÇåF°|=ÜÏ3>ï¼pŽÝÿš}šêtUnàgr%L®‰³E` C)¸¼®ôÊïzó¯í;6!ˆm·íÀªå–qØ~©”×”æe™ãtÿ#býí±ÌjTôæ›'õYft³ÿÛ1¤R ™ñаR–%×`Gh†€ìxûõÙWºÙ`QÙ·û‡°l©rÀr‘s0“¤ò ÞÀà;Mò œÿ†ko¾P/ž_èÿ®ç/2|;haÌXÙ{ë`;å¹5ÀqÊ[,`Ì' B” Q´/ámF}¹†ü¥9frÎð™r2(©ÐŠswÓÒ7;ìÏí·;N±Nð—ü‡ÉœðäByE}i5!,Ǭ°ç’Mÿ~0¹ë ¾>Ú$k&Õl€—›müMÂOÓY‰þ¥u9¡ào§Iî$—SטÜ"Ýá×ðÒ!”/†ÝË?1wˆ¥rD¬”›Â[ð4u¡ìƒA žƒ§ë ãåQ}kÃ%ÉV½NtÇ>¼D{"׳꽟ôB§¯ÝGvAüí;õü¬j;ÚOkàBýã¥Sy6Å}°{~×G¿Í!ÃüQDviØäeH+n*pœç7'FÅ ƒoÓ¥CÇ5ýfB &”Ö¶p$hË3r™Øò¼¹ÂÖQ¥ –sª55\6”4”Á–¹Gõ¡|”ì’BŸøåVü’ø»f˸ö!÷ Î­×LÊr# RZjAäGÃ0cûÄ.·bDáïšY(URo¼ôôÎ2!·¶9ðŠ;ªÌêQ2K&ÿÄ/·â—‹¿k–Á;8ns˜ÕTåEn¤oÌქ\}4,sY9LAþÄ1‡pLBÚï“3rðQ, …ñHnh^RRä¿ê¨[»GÉçþ“¯r8k´Xû}òF Ϫà†AM¡ta§Jså/y!ž*oüò¦ú·ßÈ.ÄO>ñÆA¼qö;åŒR/È\8‘T*¢EP\Ò²'ì‚üòs½ËeÿáSTøî@=Æ€m=Ÿîr9ð*+²Pó»`ZPFg¢PÌÒœwF¤±‚ÍѳüúÉÎ:”[Rø»¤‚iÊ )ŠBÉÜk¡‹¢ à©»2gÎ*©Ÿ¬G²‹]Rlæ“z9„aÚxÖ' 3o)Ήt!”3Lz*„5¡pRYš'Þºže>)™cx擞öÖÜ Â¨±:W%£,hXŒÐ`iIýÓ ïbœ±àlRü{ä—_¿w)òa´–FX&˜$àò{e”äš>ÙkùíêÚåÌaýè½1È`wÕ|±Ä7wÀ©Œ_œ×.æ½b[x—aÍØ…Ž}½'WÙrVOšûI,]ÅíÔ§r&ã»çÌUìTßìÓr¦Oqì+ÊÿVO\³ªzOµSXÂ;%W‘cë{Y>[NôYû$¹õŽH¤*6æIs2wžE«%†-3á°+·D3úd½ x õpÓ5ßFO?² T#ãE5ÅAe+·U‹ý‰óú[ÝœìÕÕá8Ôõ€/›¸ŸÖríŒ wb‰`ÝèŸ3>`¿e\÷;(¥Íœd>„¤|`]lPú«£Ù¹-6v2Ã9ÐЪõ¿yý]5œµÚ÷³Ï_™×û–ƒ¯”ïªÍx Tx•QïâwN7JÈwSMÔámw¨ÄóYœ‚—ÖÆ Ó ¸_€_Ó¦q$z+€¬¤Öó›¯"!¶ Þ@L†êl‰µ¢ï*}³àXáKe<Óœ^;– N¹à!^æ«ý¥ŠÌøÔVi¤ŒpgË l­œ0œK™SB ?ÚBy @ø'æ>]÷Îï+Ç¿—R"¤wžzÇÀC `(x&%' ôú÷¾i!M«]ØÓìk rÿ?Ë8ô«“¨§“«qN¼D)<àÆZðÙ¨³9§eàT¸ !´ÕCo²Ö™öy2úl=GC¯žº¾ëúŠäþܬQæ‹“Ì€D2w=RžToÛ™%¥f%É9/÷B2g‚çšc1) ¡ØÚžõÎmÅÇà–T‚x£”ƒZ+©ôŠØÂç`:ÏL¾Aw껕ۛzS¨ÅÆò(¨5;æ¿™TWÂT-W4/­ÔR-e)h^8å£Ê‚×î†ðõ‚y%‡6üðÔvªçíá 7ßx#nÁ‰EÐØº}ËqÏ’Ÿ€™ÅƒXs›Hžö¥Þ?ÄèºNV¸MMbôÓ)¸«ýÓôÝÛÒw/ ò8@rŸù¥G‰Ãø]|¿u[.V×Ã.ª¶z¦½•Ѥñ§ÃóêÂÑXJîq:æƒ)°Ð^ <ûÚþ=X¢¶ÂÉž‹z“ÌVƸÚð‡‚1«Zqˆj1NQ¨çzrXÏÔ…"öžs`¢€üš9^XÙ÷¡[ʘ\L8ß›²ÿ¨ó` ãÎ…ÊU( Ôˆ¢ÚâK¦7Þ¿m4m†«ml aнï(8¶Ü²Œ·‡³ÞhþÄé.m7H´)[û¶3¯/»±°÷löv !£ÙóçÖHŒ6-åƸàŸnã/Sõnc¬N`§2cU¹¥Œå†úÜêÂqªàüøícãúXbñ¬>²ØÂï/ª€§Ølx¹ýðÂëCùê–í†3 R_ õµ®”~k/¿çºíÒ7u¨Ì\ϯډmÄà—Vg¤%ÕîªfP7}¹(`" +COO£FëAHJ­Úôîq^w;©úÆk¦Mû 0Þ)°ÉÀQ†•ÖÞê!/%c¡Œcþ‘VŽ×L½õU²›ÆA'0òzÃï„gj,3æàmˆññÀ蘺é™ô¦”¹ ˜@â%·†¯N¡Ä±Øc¬Kõè³à~Š/v×,q\^„µÁi¦”b@ÂñXq´ Ì7…÷ŠPSßÖÙE5­.–Ýö:©¶ƒ¹ѥΥ66F*Zä8ÍJAÊ ˜E„ãÇôÂ('»R½.+ð'1E CϨK_zº¡Ô×Áï•Òo§b#å¿Ñœvàø]è)N‡‹1ºµÿ2ÖM@å¸Á¯ŠÂ•€ÒþgE"ð»8I¶†¾³xC÷ÜÅ€‡J.¥p’‘;p]9–ãày­E –’((ÞíJn‹'Û‰x›SA1úÉíYôŸ«e>±èZ.-_"~[_he£üW]Ç ¿ÀAþ­žWÿ®§ =9‰¿ÿç-gí„’!ÑßNÅ"0çC5£V‹ÂbÿŽ“¤ã`«îS\2}Š^Îâs)á`X÷™þs†fàwNp¼BYÎç¸=¬kˆ.dÛqs ]†Øoƒ¥Ø_u …9²ÓÓ>`ˆç' Ý¥„¹jÞšBøµôop¤hȽˆccçõ;|µÎ¦z±ÄÛ»ט o„¯'Þ,è³®Ó¡ßØ‘sàåU©¸“`S1îµÈ™'ŒpA3…Í‹RÛ(üµÃüwqÿk…wXÉq’üîH/±Ü'"àù‹‚NÙ¬ÿÏ«—9%‘”ðê ³fê6Š#뀚þÖ娮k‚ˆ0<¹“ëYå0!ðó9â£)/x ‚3[ΘÄé«w·AÃghúºtÒHåàšôºª`/jãÅK4¿AjDHq6^;Oi6¥†W ¤jÿ~VÇ ã®qx4¦ã1&ºj_‹ïlRKûÍ–ªzBZ«ÜŒ°TÓwÈg]z\îdåm¤âh@ÔˆþLÇ óóðÿ¾Ì³/²üUxq·ª± „ÓÜÑàòh ‡X”<ãóÜzÚNT¼•j4L¹¢(¬'±i¸µã¦ 6ážìýÞîÔ¯´}{6úsŸ’Dî^›ÞJU~Óç|˜Õ!íŽ2§ÍÄL9˜ƒ'0={®³_¾š/›óT;«±[Á…ž ‡WÂCø…¨BÎ*œU| Ä§þgJ!JYpd‰ Áà™0Eº[ÑÛóX Ô‚•ýI_ÌþxÑE†É!Ö¤,ÌÃïôâqw)$½­bW™%­Ü‘ 3O£‚èPÓz ís¢"ˆÜ_v¼)=ÑJÀÞæFp®œá¨Øµc³ ‹:ƒcU¡Ñš)kù¨¼p…°…'^‰2£TžK¢I^zi8Ù< 8ŒØí—¶½1ÑÈ)½.©²ÊÁÚš²Ò3YVYÍí§ýX§»ü6ýÐwIOÕâèÃíM¬òàñ„ÚêºH/_ós:ýh;%WÔ«Ÿb*^£¶öZ2JæWðB¹–g•ÊÏÝ@K®€ÆdZÛ¶Ëh-h¼®ýŸ%èá&¶'Hæ»Fí+^nIóù¢µ"¶ŒÅ‡:¤qzW{á䪈O”+¸Ñ^7ä$XëžGrÃrÁ<½åvœsðü.A(³Ö•8ˆk_jÂÛZjzÔœÂÇië$¦üüÁŸBÀ ½{²v†Ã—)f¢IZš¢¤!'`=2‘SSˆÒX°^×ñ¿ÝÐùC-¢E|îã7‡Öb/¢/Ó,ç~£åK+£ÂXåФ\Ÿ!¶2WcZ¿ç¾š*¦Ð3Â{Üy¿ ¯!ÚŠj¾^©£­ïäv î=—^œÌιóBrÅJåÉ…à¹RÚ3 Œ> /åÔ¬ßjƒÒÁò„d9˜«AA–ÍëÙ¼J娑â÷Ÿœ®§‚`[sN¼ÑJ P8Q‚eg‹õ¡á‰ÚTŸi,‘‰çàß[?K²u[$údÿöóz`wíÌ©ÉRÞΣ9™;’ßF xQ2gJ™+<ø‰»Ãq^òd§Žûà›}XÚ,Û­ˆÚHùQÂõ 5”Ûý¶RìîÛÊëUlq»ûRâ°IQ£Íž&!ÿ‚"aUFÓûMÞ%M¦~„7Ü’%çkðµ6F>¸^;8ù´(•ä^ç…/„ó¥çXÕg=ËbÆ’”|ú¾`5Ó·9ŸWÓ·I£¬ug»ïÌ×}zÝEŽso LSþ¶•hÒeÈ ¿¸Œ•¨ñ©ôfx(i,ëDO߯Ö±Ð7-2Ì Ku‰ß˜ü–Šz²Ð× žÐ“TZÙØ¦hҵƒGñ¡½’m³àV¬â—±Zx3Ÿ| }(,l°I釾‰¦NWb‰‘ðɤ^I /l1ÈîtktÐÖÄîÚÀf­ãi¶wO¨õÞ„›]u\ÑUNì"•}ÛýÞ% ®Pç¹lbòa“¶s¼×ºº¹kâ]QÜ ÃÿÅ–…¼n÷L×îkp+w¾çû§©¯:7uC] …ØmüÔ6À—‰ñÕ#ÚÚ=Ò{ë»UloübK9]§ÕV͆†&ʶ&Ý´¦? ¿Öt/评cºñpPÐÆ‚]ë§w´Ö’të¯ žöÔ÷£ŒÓºõíÍs‚×¢m^rû’Xx‚Ýz.‡±~=%{©8@DìßÀÚF®kyÕÇÅ“¸­b›»ûm\û2`dwGÙ"M/õÜmoèŽÃ·„þàݸò±É®¡öí%a·ÒQÂð¢S¿#yØñÒ Âð¡L08WU…ÑÐ…c«PºÍæíÙÀRMo“«¾a[kVE©†Ý~â§Ö’6«:0/qñT!b|›²´ÙÜ:6%=›Öhë HïÛv¢LmºO³MòY/KIà´îQ_FÒ™í›>Ó #§5®ÖÃ{4»¿ª½¥»ùÞf;õÍë0¬ê VþÅn"}ñòþ(š>Xò—ž~t’­Žö“x0ð€r½+¯§kR½Eö r½Kmì ‹£´mÚ¢s”ëíëÂvýËÝŒ?…Çl‚¢/‚ïÕÁ¥ïŠ£&XNq`z[GÝŠã£Äî1(ûh¤Ùø[>6i6@Ù­RÑ×Û_4Çô¾ø]±hÅg$û¡ãçU—‹s”3iúHºÜ0îÚîÑ«O“;¿v²Ýa"~mSá>=é!ûMlÀ¾^ó±3ŒS¤b æÍ‹ó{•÷"úÇ-Ù‹: ÜUh¸“¹,7|TÍb—%LFº Ö´ü_çõr¶ŠÏ>Löæ1íIx.<#‘!`DËÜTa:$keæÆ›^à䂬¹©8¯§ z®'àL¼ˆñgÄ{ŠÅ¯Û³}tx‡¹OmptÓû&šÃUwŽâ´öÒØûüY%-“óñ©œö\Þ=Å}ÍzŽËe:c¤ów£r†Ýn­”ÀU¾.LóåFŒ ÍBáÓ™ÃÔÑá9Åb”X‹‚qáØ®¾|eëÉò"õ‡êÅP»ävÅvô"¶ã#±z~^†Â»½¢k@¸7!uÙ]Ã_$¿¹Žý8`‹UN³T6$ãZÈ•ª=ֈʤjÚÖ$ 6\ZÛûéSêˆæÅLŸa¿ÙÁîÿÜlcnVÁ ] Z_N{¤wàÅ%‹žÞUuºŽMcÚÖˆ¦Œ€óvbö~ë°Á‚ž0&EÎ47€:¯´,ãei…QO¿©Æ½Ih8áCeòeåçí ‘ëïMÛ‹ ¾õWÏ^ ó;üÜ£˜ïzt úÀ^¯Ž> ½Ô x^ûMjííÊ{ýHÕ×!-Ù˜7œ–ÄجŒ•Eá8ÎîƒSü# úý'ïÃܽD<òÀ&Þ!¦×1H%]MÚF¥_dŸÛÚù×äóWñßЦü~4í©) 0ÅÓw•D;\fÕ@¯šK!c×€mb!~:c³î¨Íÿð‹óÚõ£Åt›5ºNßV‚“S¥²Euáט`n f¦D:OZ t V; zônf;v)úMÏxgÕ>;ÅIîUÚÊù6ó¥?É^æ§$‹MøR·ßAt|4Ùs}È8!¹eŽ€åa9çª@pšuh†ê´Szh(Ó¸e,oÈÀþ pB·žö©ˆâ–†ZT¯f¼d‘¬å%év*wfpÜP|(ÁEÀ濽]´1$øðb­jùªAgwKÝ~n¸Om’ç+¥¿F+ÃJ ¢ÚFîì |[~®±+ÿí¦ÀÝ⬆Jþ(æ{ ¶¯6\Ó@MYZÂ}!TpÒiÅËÂåà–z€ÓøØ)³Ñkl—ÇŠ=07sÂÁÌ•F•܃Ì¥p¡dÌ¥bé‰=Z¶ô±åÖ:ÂJâÀ6r`aS©©bðÿ4·Z3-hêµ¼ýôq7R{™ƒ«©ò‚× v|!Ë€sÚ…Pêv™†…‚`¥°FXo¤-©5ltc ê½÷zªÙ5WH±Ãù7ÑZûzRÙ·ŸF”ÝBé˜ t÷{󤬙ŽðÒ" 8ää  ~ÎdY*åKâKlñÏòÜ+á-8>àZyú‘qW2gP}?˜|x îÚ?ßx+ý÷ˆêð“#'¿mdY ÚÕôKÝEfаJ ê«kÈ4Öa26QmÓ„)±§&Vi.$£L©’ŒV„Òj즹¹Åùóàœ1 #Zôwg\JŒtÆ!Ly'r팔ZFeQÒ»3®††˜o<ÕQ@‡“2g;‚í`r£7 Ÿƒ‚6¥“*€’ ‡CK,+˜4>x΄#þÉ6EÜÿP·¬ïñÙÑW"üþƒ0Zþ8}¶èèæöœbWÅ­ïí(‹W5•©&Õâ*;¯àksH)¥0ûß]¹¯-i½µC$@AJ‚QYν’Ø(DK0®e!A- ¿ëÉ?z8R]j´\.õÕÉ ü6»KN°?Þ´µcªùÖFS8 n ñ-êzGâ„Þ‰Œ!L½õM£çvn™´|~ù)úÀÝC1½Âƒ«z…1r}ÖZCß-çXŒy’ú{µËbóel"­'—X¿“¿l½½´Þ½úª E R?¾Ü w ô¬,ø=WéÀbßýÙDÛ•Q·6÷«»¶å¿Ã«†® PÎü°v|Æ;¥œ³…†•ÖÞg ËKÉX(Ÿª¤˜{«ðÍâ‰Úncß~œöÙ=å ÄÕ–Ðk£T©¦}ÚþÖñt/ ª¶õ~h|+IÆÇb<º‚¾f9ÀÙ'í˜/pÓ†ãÖSõEöÜŸžfѳK½»hÚ‹1³º‰˜9ˆµ qÄiá¨óŒë‰ ®UT‘ö74K2)õà0ÀWœº!|ÐîK±X!õYhº$4äÂyåΈ½qÌͺmŠ3΂Ê=÷ÚäÆãØSi9^•¶À9»åš1¹I9møºÙg ßæ‹}Nœ(¹ÁW{M•RÁ”Rr«sYXʶ_ ¨¸æÝ‡¹š£1†§Éç;Tãz°ä£Œ¬ÝGÜla×"'«0‘~‹lØ9Dí¼ãÁ—Û¸øËÀf^wõº´†¶ŸL›žÙÅðc1HÃPQßm®õK×Ç÷[Ê[¸ëk!}ÞuÃÅx¶ž\ ñ­ÇÖWy'༾õ]U7Žø«ƒú ™%/6›~Î×M Øvµ_ØÇfp†m9T|ªëV¼aûssï!Ï5ðo8ñ.Z×F¯9ú“ÕrXP·HóÝ6ÖúóÉ[ÍHÁ=/…‘¡È¥&Âhé%ó”QÍý“-ÏÚuÈø—8®ºO vÂAËÜJKW…cTJpÉ,5¤mIí÷«€L<á])_ð·¯ápÎ0üñÉòÇyK;¼KY¥—Ùî6®É“:&-¶Ó‚·ë.Wv]`CqïsOƒÐžJ–+ÐÉR“žoÛP2KVH³®÷eŠ4ö¹&H¢´K_@™ñ畞y³ÊÙ‹r9ÍÀ 8u]‰V1†&*ÑÏFdÿB#:bññÃ+ÊT¨Y·$ª‹¦oÕ°õÖuãç÷½öÆ*lØ.ˆDPX‡ßÀ—7ôд¾ŒhñfÏ}?Z»ÿN<š»IuK•tÈêXëUH"f•ñÜJ¡ƒ,”–Òàœpæ]FÚu©yÀ ZZ¦,)µÓTൠ(ãØH{P… ¥t–Û¢,´r.‰)x(t®ùm#íð H2ªT…Ì©£JX" WÌ•¥»ÃØL.´ÖŽPÆáZh0à|p¹¶`ÃIeÂM±™ƒšCQ!©¼ƨɽ, Æd˜ Aç¶[Ü*öà|‹‚;¥¬ ÚJæIá„ÂæFÞQìgœ²?šØÏ‹Þ6_ò.=öG—?ù‘8ÚÝ£ÑךºÙö··jib/ž=ü¢M?R9V‚|6ŠrCHA8#%§LX„xEºáGvà}9™´1þ1/?¶“Þéç¯{ø ÷ßѦhöhS³¦íÆãÁºî¤ë±f Ž™ÏÁÌèŒÃ'Éj‹×Ì¿Õ[{hÁ·F^›K×ýz2¸“èQô4­‘ƒÏç®l^ðœRF­óÂ[š+VèÂèœ8dÙÝGn‹pJJLÕ/ŠÜ*C#AŠ2®¤”–—·µETˆ"NHQ€Vu†z š¯,µWwh‹ˆ á\‚â\¯KCrïó"P%œ6`3Ü•-b… Ön¼qŒbÀDpXå@CQP~§¶ˆÌ !=œ…)¹uŠÂ1©\Ñ2h°‡Ê;²EÆ›Z|4¶È®~Ÿ:Å< õrOŠÃ0;š4ügã7¢ 5š!8ä´ „¬u 1îg:v'}–vœà¹´‹ƒ.‹˜0×V8w°‹:& ¯”cŒ¼ÕÓ§UöŒùöÓ¶Lsê·KjNÀ*б¸Ôü@CûH÷–ÅFOžMämF¥º ìB¿MÁØ rö†xÙ®½ã¤¿Ogw©Û¼Œ“dP¶ÆK„ÄùÏw¼ãEY:)‘c Æ}ï‰ø&,FÒ7¨é½u;é6Óu¯^oã3ZðÝ•l¦žÕ: Å×µ2Zƒ7Ž3è\·ÓÁfõzþKñ×Òf†ä•LÍUÅq×*²ã q#êÇݼŒwWÚÙ„,5ˆa¹«(*’c1˜Ü×6ˆÈ•rÚ%ÓúËmð´­/Ù¿N¤íq>¬‰;@æsߊøa°1sßàž´åj˦/¼ç8ÆQH] 6ì#¤ƒb¬ql¤5Æ9PpžSê•ÁqŽJLÍeÐ&ÿ­~rýe>t~ÜÁúd/Œ?åÃݵBúè·¹¦H«€]sú1ƒã&Cm·Rh¿¹ºDžúËô¦?ëfÑõÙì¾€åz—) ½Ý̧÷;"D)ù£½_=Ñ/ˆ~ ‚ðašþj°—©Ë5ø]Z‰n(3EN8£TªéB=¹úrÐãøA[ãbñçT¹°ŒíǬíÃOP8Njð<M8>ø&ö,òôœ;㋜;–cFD Êè²Ì )Y¡‰mk8·Û‹àÜf1õbñý§Iw9Ø=98pt‰¥ÖÛÓÄ69鮯-@J%M.ÛæÂµ$±¾[Ü.bo½ pC.=È|@èŽüÆÖi릲ñ™Ÿ./6ËÉôÛØ&xÕÿ¤ms‚eçxߥ‰îâœk4àùüUô×g0§ô¸x aîYŒÓ÷#ÇÓ 5N´ÃÓ¸lŸ}¾ãóIõº™ÛW)€Ô5½}µ ­k_y‰™˜Xîö¯òü_M½œÛ.¶±ûk§çˆ¶Ï_Áë®{ç5ÚÙ¬}ìU8qÇÿzù2¢2¶è}ùr]‘‡Ø̃W¯ÿÚ£¡k2ör¾XÌ>{õêòòòÔÕï¯[§õüìUVÌûvߤÏ#¥å§åi~JûÃ0µ»Âñ›¯ÿðÿ‰/$íû‹‹ŠlÊM†‡†Ì1-âV‡Ï%Â]ú‘ç±-››ÞHd’1žñ‘ÖÛÁi¯ê—}‹·kŒdÒÛš›á»?_kkk¿5˃,Ìϯï y°w„âFffA~~Ç_¢Rÿ6|,_â)ú÷Üôtž¹ÄS»hé•S² 뜡ÿ:³WãÍà’›gGÛÛŸÆšÏÝÑ×ׇ~{õ~I櫜ÊÔqršº÷ù@¿;GÅo†ì‘Ûò6ý’jcΨó:ÆSñeMMÍ|WºOÈæBOÂ/(hy1M 8yx@p¬íì$¹b1jkiÂ^NNÀSôe!eeå¿ò Ü*+^4 N{æ¸òòÕõÙ60ðKû;›ÞÞÞëe»»»;›‹"ê°ÑÒeo›^»v¾Ñ¢¬ëUËà ¥ØsÉ´Î÷ïóoˆ=gffŽÆ`¦¤×ÿ(âþhµ·ŸŸ_ꀂ¤Žâ­.J&¢@À˜–®Ãš*RRRô°<²ðåëc–<å• ¼ÿK_MlEê²|°QZj*œNr5ÓØq T 1D"‘VV§.«Ãáʤ©ù9.Ž­ÓÚÃ(ÖwJ¢é%Äql¬Æ÷5O"e„gÁâÝ L&&&^ÜŠ&w·&íäjt?=ØÛº¥¨m™¹¯Âb…BßÿŒ+ILƒÚ tGhÒõ¶æÿÃ>A Á‡IK;è à p4R´³œ’ëë’J^ºôŽ@§™‡„¨6j7ßÝ]f:ÁÓí¬Æ‹@£ÑÝ‚íQ1’¡Wj–îF뤥žzù|S¤`0}/DD-dÃ,Z‡xWâ3ìE»ö!Hw}WT„뚀ÖÖ¡žžHyÌ—{¦z7wtT¦Ô†˜B‘‡‡©×bͼ«Õ’ß]-=Œ!§þl4…Z[WÏæêL¿umëUÈàˆ'=>ƒ·NÞ7{[øeºvÚËUî‚ÁÎ>¿w³ôp{]Š*LE6 C­mjø#¥­ËG°-‹†1î>“ýýýÁW».4Ln/Cµ$ÞÇ0áz‹J©Œg°|œF¸žŒÈ‡ãß.›˜¢¢QZè/uÖÐ+b\nªŠŒ|‘øz”Þ ¥Ûßošøq-;[HU¦Aiô÷óS‹Ø?;¨Ú˳GôgTPo6süÀ&ë=9ÊÏ4×låÅ0üO ´ÿ—þ×ÂÁŒNzzÌ–!ý䪦/ômm‹,š×4ýw+ÈpÙ‚ª iHߘ":άz‘U·èò÷R¤ö?Ä>„ñÉç)WÅøà-.‡p—°~™¸É»BËb(…2©ÅU:0‡d¿+5ü‚.õëÃÅ7šº377ºd·¶¶ ˜ô/4\+åf”ìú™š&deÕ‡lÂN«¥âpÔ••*Ušk’¸;ƒ•]èÅu-nêMö+ÈûÊ9›çêâ"//ßÚÚúmpðzÓdùЊ+e¹Ÿ~VL¬8";3³Ð¢ð‰Î™Ä¶®în!^¶hÆGN×ggg¹¹¹±<Òò „VÛæ¤4)î:"qš9¦C6a‰/ÿôÏlÖ››aœo–¾€›¤jä N“wË=Ÿòøs%å 3¸”²â923äw¾Î߉Ãeg€,nrInþ]‡°°êì\{¹ä¶7¨âœÌ1±¯³?ŽÔÓ‹6Æwvvžm­­­©Ãw;wþjKÑëmVTš—+âžõ`“‘‘™Sˆ>g§ Yú/ö€hÅìììÊÊÊñ¼Óv±´Ñ,ÈÎ9”@X´q~E8’¸ø_Z·Ø[’Ø´ùª8¸=úá·{Åþ³ÇRzú©c–¯ø›ü‰–oM/§°H7.Ýþp÷Ì`lF_¼ ò6úÉd{S™Ï..~$ž³-‹e¦]hNͨu©~`´úéšBÚùõKÁ{¢€;áKêÛëßþxS¬Ž¨xëRò%«ë v ½jUäQYKȦèIëU9èS]ºùkÎ6SèDíßô½Õ‡¥7ž‚4”Ïæ 'ÅæÔWÚ›TÎùZRMû55%Q%9ããb»ÕÁ¬©*dcß3"Ñ Ò9<11¡,G9Lg Pk0Gг¨…ÉYYú¿èºó¼¸Ò…ïcðúBš R•Ì;F´¾’QvÍ iŒ5ÔøC_ûäš>ãeÿ"hÏh›y§³”­&¦§¾äQøøTƒVjÓÀä˜ÒgÛêlŠQª­G`@ÚçÇùþ€ X4ltº¸Ô|ŽüHÜq[=š ““cë³ÆaNit^ŠþÓ›ü7ˆ¦òóf8µ´ôtƒ«JUnnÍ…F|É•·®‰£8òÌUöD÷¿mïÒ–Aäìì\Åñw:¼œƒý2î€@ xeì_]8åû™¹­«Sô¾›<¿#ƒ;ýÕÖÿ‘BÑ™XÝ”¤$Γ'““’D“ ÛLLLbccOž< î„4-Ø5øß¡««‹Bm௦¯µ‚¶`mm­¦Fé/)6å lLøÑÁVXh¨ûûãçn1.ó{y{KÉÈL~ 31éi‰´··G/tóç/ƒßûkM‰ÂW^‚Â0<¬÷,ÅïBP9{ö¬²2ï½dÃó(vÐ>sOOO/¯_›}š«ŠPvJ ȤϜ`¾+]6œ"njf&ÎpÿþÓ¸¸ZÐòZ¯Þ¿O™l¨ÃãõJm˜Ð¢ ®_Èzùô,†å¿š››ÛÛÛƒ&C Îs%7¡ˆã#ŽaÔ]ZÇ+ÁÓ§'ˆþ\WvvöðÝ¥·ÉÉÉÁZ3‘Þ+F߆FF †¾3ð­qÿððpÝææýnLÕ7Km/Ñi4f@QY™‘±­•`•¯ó«õ‚N§÷öš&¦¦¤ègeeÕ…ïlímm‘÷“ˇ½Ö+·}ÀÕ#‘?§›b>Ü0¦”GGG›iüxm°ŽKÙŽì OÕÏ@"ÂÖÜžÄÄøÇ£OðFltˆ1ÌÏŸH@ËÍíí¥„gÏæPÄÌÌL&%uYÙÄ®p'¬cä-??ÿáÇ ŠGÒÉs:é+aô)éÒÒR°¶V˜ Û-a¯12™èÚN4èƒdEÓ ;;;8õ |ºc£G]míþÁAl(ï¼·ÑÁ§v†Õàðñïß1?Ì ¶MMM999lÑ:…VŒÀÊ8q4´Â9ÙÙpÒ·oƒfšÃ##«ãÄç¬Åæ(*44´¾¾ø0Ö66)WÃQ´Øàú=úrp?)”K/Æa±MuJwÇALšœ,@Þ¬ßéQþa®ôñAÓ†oà¸Àâ‘HïlŠýQ(£ýÍ¡¡! …R´šƒÞšRÃÝ¥ŽVwtt4ÇOˆ‰1pw_àÐÜ—SSc‚§£y?î \'Ú'ðêC€c,,éiižŠ[ËQªêê0Ø·mL®e*Bʦ„Tâïè(ìH…Ÿ;ç:ß™|ÃÐÐÐÂâÛáÁXú…ž¬ô¤$-~í³Éo ¸ª@z¶³¡¡Áû{ hú€öùýýýÓêœ]¬Ç¢~ÿþýùèpll, Ú´¾¶¼\úlÚªÊJ KKðl¢ä;ªèÑ›]zëÃ̉7oÞüYé½úuŒMqËÖmyä¹r¾§n&•?½™÷áGD˜>?/Ïáz›‘Hìíí­²WÏžÚªñ Ñ‘Tð`›s`paùÿãÀŠø~á•BU¢«üp{–áý“ÊâN¡Àã¡"ÿ´$¸#&–†«Ù£W«Ás*`¤gª[¦ãõ/O1 ''‹SV—*ÐxœÝXmoÛ6þî_Áª@ѵeùÝŽ- Ûµ@²f‹mŸ JXœ‘®¶Up6i~êŽÈ—Ü=§öÄÆ|¦–û2'/Y\ó~‚„\d¥âúušu„°Ê(1PI˜®)OôÃýëì¦|ý%%ôåø$?¬`ŸsÎZ’[Wò”)Ár…²B?põuX}Á”Ð0¶Ø»¨PµßCoÕ¡ïnn­Ð»å ¢¢˜žÆ§’Z'þ¨Ón¬Ig~~íŽZ*ñM$‘l7‡ì«nì ˆ”Þ¬Žkõ­p¥SÇ<è¶›ìàØë`—æÎùŽ“-Ú=QoQñú&L½“"Š8Ua[â©t“¡Kࢴ47뱄„ÆGS‹¹‘bAiiiÌÈF0<2ò(%…«>¹Å…`{I8ñƒKK\B, ߨ1|£d~~¾ ݉œÚ܉7ÆWÆö-Ž ŸtÐÐÐàŠÕÅ[8|Bï4lMžktá+°)>ÁÆõøqGü÷'¨ø*£sJJß)R6'ØØÙKËÊÄÜú”H‚=Ë5dˆ’XWšÊK› –œ¦µ–ö-jy•ܽó¥Ì‡Þ[Ü£q­Ö¼ðßñ”I¢b LËæá9™ä·©%<Éy®É/HÄ©2é@êÔñTš)Ë,cûÂyEŠ”+E)  ÑÔ@¨–Hô©SáK;ÎÎY¯!-RE·¦C‡Â¨yÊð '):tÍt:Í6w }zJkif’À Ô[ñ¨Ç­qü¹bXRYÐ|áôp÷|TÓ h@Á`òz¿«˜þ'*Pw¢ ›Ñ ëy`t ÑÀ £=:íNhw:êõ'ý‘5¢âz\Waí ir‹f‰ä6ÆÕ]"¾18ê^”š¸?6LÏÿD÷Ñ=Ãä=‹Aøó'‚vƒ` †ýqŸŽo2öúoÑñ$šŽ{ì_„Ó&? ãk ¾/°}Iì3ª_C#8®A¨ÿÃZ :P«*t¦ ƒ ÛBäM»½1Ð> ±œÐhâƒÞwehmš‡1I>Ÿ¡K;QÆð»²ø˜…¹œò:¤ÁpÜíÙdêØÈ F˜2ÑÈóúÁ¨û#½>C×ßöÚàí¡ßr­ /»òiìªj©)¢”¥!`¯]‚ ERèJgÔlR8Ò)¿ ã¡§”í¡ðWh£nˆ8<0VHÅ…“­S• {%IäQ++KÚ¨Z~žÄ¶hÐÉ`ŽÇƒq/¤0ícr§&rʺápìM½zѸ¦…1­n™¶#o,HäÌZ½NÍ´éÏ!Ó¸žÍ]|@/¸Àâ€cÛÄßz&cüUŒ¿:.s9+v+ £#r̦IVk¬ai5Dé…DÎ,s¦ü_È«TrKXÍeí³žZ44YZM.ˆ-œÔ¥ëý'ÏhV\hôíK®3L6­Añø;£ÙšÙ²d[ œj!¸âffÔ[¥ê­~/ö ½d{÷q˜ÍjÃ9ªMVÿùâN^AµwõÁqLH“VƒêÙ–„2MǃÈ*)Òž±ÚIÞ$*.—3 ¼GáôMþÁíyk5&ÔÇ’vÆpðÿHš¾ :þA?æòÜ›Sû’<žÖo9dÄ¡Ç? •k¹íIøtŒó”ýGÍ}îÿ îu‘”„I”`µ®§Ç‡¦×œ…X¸¦ä³zq3 É\cÙPIn«Ëo$xftGûböæ«h6©æs!'îÒ¬6 üXNÏ"IQGxUç ½pÏDÑgQ·w7bX•éÏ5ƒ槪6'''¸Ý/NgÃè«i‡?ÀŸu9°H—⬑­ê(ŒúºÝÔðõ°‡0)ø ý¢¼8‹šZ øï—~®ÿf™ŸÌ¦gG‘¬jXÈ—Gä(Z4æBÌàDÛºçáë£HL€ˆõ—ëFúÒ.žŠ¦âˆÏúJ}Ã/xj#¢æ\ éªsüÓÓJz´ì¯d”[Íß¶ÇæosääË£÷ç&á8ÁÆxè8  ¸ðZ¹t%ÿ36½C›Eâ àÈfÇ<>ŽSv“w|órÓÕåþ(®€\[æ×kVV‹K‡†aA×—A³ãü8¦ì8‰ÜxKªåQ8 Â…¹NV!.Âouÿ’Á¦IæÆ431…áó9…}…$G¯Ó%|þt®ñ?õ` ˜»œ›‹×"O Ée ]hkÂmJ´McelÌr¡Ã"º·~€·~4vŽûº -ÏÎáÓ‡ðèìÑ ?9ù³ŸùÚÛ¿ _€!ÕÅÑ›Ž'™Éêù,ïîë Ï;"öâ¶Q¿úX6Ë„Oî?ýj®ðÃq´Ë˰­…Á/GŸRVp•p!uf3-)•:Í4c6¥EN³¿\1Üþóªö8¿É\ˆ?º2;ž|sYêùù§€þªf@€ª49Ï•„ÃÌl̉‰¢†sš'Eß· ÑIþtè:¾G``_›Iåe¬MAW(‘r‘gŒe<ç4Ó<“ZÅVÂM œ$Otã{Ð}%ApÝ tŠdŠÆÚ$Ìæ04\’[›ËKï ºÁ½Û`.'Ó®H'ð¼’È‹ùy€Šài®KU‰6¶°p…&*cq·çó-°ÐŸÄì§$ß ÞêF[£ò8†#+tšêL2’bEf²$¡a;ÁöCUê{D³ñ5ƒø/OÜÍ<‘Œ¹£ñ"I“L†ˆ´0©a2¥NrÁu‘ËC„Çøšß:̸‰Áîw A®&€ƒ³«/-¨Rf ð‰±Úè Á©Q’’Ø2E9) +¨Ù¹Þ3àÇ×<¼¿?ÿ¤ÐªþÃdþç(`æÎàï?ˆ‹ÙŸA9Ž6xÎÉ,c Í «'i^pbá´S‰ŽÒB3nÌ!‚t|ÍÀ>zìwˆ8>àeo«r:ÿÞ³¤YÕí¼šN®Þ¹P\=N&êRLç Â{‡Û—dC3R,¬UqÁh‘p“&y*@~ÎLŠÿ§•ÙMö¼ÁD·Á\h¢ûùݼ.§g;ÒÐa³•! ´„X%×ȾèšQ)S/„´t7‘ñl0BÏxÇí”ð­hŒþ¾œL¶‚„A è½"qœç {‚>o”Ê ç¢`f7zs$6˜kx§Ä8v³^$DYI™µ°»D’"Ob–r«lº×›±Á\ûƒÆwu]ÕÞ,°8R \9!Ø].l¯P$Õ”‚L’‚ïÕ‡6>—#oÍtGpÌÌt«ÝXOžeŒª 4ÎQ¤©©Ò"/ »WOÆsÝq÷ž×ývK(‹PFŠQž W×J+2nHBAxÞ'6˜ËAáëzÑœï‰ïnw ÓŒ1gEçi ­8£2-(a;»oºãsÝ-&|½5$=™ ÊQ T–ª"M@΋c*“8Žïì@bƒ¹nòíµ²ØM1;Â-Ä-l±$&¹-t’ê$5Lp£²‚d&“Y\ìbÌõÀë‚5¶órò(aªD“ O]æ tu-öÊ„7˜ëŽL¸éDö­€ $Û/‰¡Ešƒ:žhÃhꦤ{Eœ æÚ ŒÞ ø€,—ŠYÒr*AŒ&&õ©°±=ÓÀúh¼Ï7Ø@cæsºKOûóš×þP±U’y¡s XÌbJhRÀŸ*)Œ¦ þÉ’üàÁ4¾ÓW«:BÌéÅfŠcé10Q´ð‘œm¨ÑpãsË41)cLÀ‡c ¿ Lã‚i©m *–1i$KSYäÊÆÎC‰ È„NŒ²ä5¸ Tオ§m +˜Ô6aRE 3q§ÔšTfÒ¦¹êpœO7©± ¬œÒзP™i0O™éx`ˆñ$QBÓDH’æ…Œ §4Íb–€ðß@è]_½ÚR D¶A­Džf‰ˆ-±4ž —^±ôà!5¾€TP;z0rßx(9íl N†+眥À9,Ì™žÇÜðXúp¢=n‚ÓøzuwxñŒ¦ÄÙ"Uy¢H'FêBJj­H@¯bvÓo»<+™Ïoú_ÝO†ßpÆÏ7ز‡åpY‡Ð#¸Š‹ÆfDç Ùñ\žä’'d7Õò¦ð‘ñ¹Æü[n“+Gq'<œø¶ ¸É”L…à /hÐõ‹„§Vç°§œÐ"Þ-ÏçÆ€›Ñ¹öb²_T‚ ­URä2åÊ€Foµ"iÌYšÚÝ"Kîƒû­^§ñ…£þÜÒõ¿5$M´È5Õ&ÍDs=@1çîm&²ÝäûÊW!2¾p€Èò¦ÝjM¸ù~º‹6 Cš b˜ä+ŠD¦ð?¦„§”ì¨à< G>„áW¡Ðß6ðHà PD–%Fè4Î3šå™µ$㻕xˆ«7¾ð¡Wg{gNmaYše"• ”¦\±„唢 x°ø3¾ðÚˆ‰#K夜_ÝÌãOˆÿf¯•TºJMŽÛtåšÆ‹§$Âæyš€¬©•€{A¹!pM¸àŠ)P;UoÒ‘Æ7àíZe5ýæ\LÏÆM^÷q>½Y¾ÎÍj¡¬ ÊÜä1CÁ’ Ð)4ìTQÇšåY¢wãçfº¸ˆÌË7ºDÜo« QzßCœÊJý¡uåÈÆÏ&¥ÀWR“¤Z(`/¶ Ö&ŒFr™ÄzGëÌ䔌¯+F oáÔæ}Ñ"|á…‹™ÿ0Ætje’i z1üG¤9A¬¡–d˜ˆïf[¾g@ޝé¥?[ØH»´Ë_qCJ  ÛPMÐÒæ„kK¸•”+"C3ŒŒ9HáìnÙP·mî$ÆË­¹¸±û<¡Ñ½ž9'g·–À&ÚÌÕR»_FÊjí‹ú•Óå_ÞÇŒ‚p* ®¬,bÁ’<Õ+S:f’¨Xé¾úëÊ—Ù´6‘TÒÌfÌ)aæ„Hjµ%‚ žž:ïõ,8zŸjg„Š5軂åyN•Õ9ÌUn3–˜Ä²ëŽüü¶š\UÓïï3Ustá€ð|XÊH‚ -×9ÔSÉ SYaQ·54Ë ¢‹ÜŠt7Ë×½gqޝÚAªñnŽë€rWjVa‘å›BJ‘¸È‰„eEœ ÃeIžj˜UÅ45;: r¬ø¡¤êñ¨I9ÃmevÎŒfɤRTÃ¥54á@ÙXLl®òg·rÉALWöÚF}K™Sƒ.GuV$:¥ŒÉ4UT’„9Jÿúõ( '­ßÅ¿ ðãZjžbnΪú£À:yn +ÊÕ*Î(·Íuœ'@T„:œú57úÈG7 f³ÉÕ·ÆŠÅdiV½í/ ÙîKãØÍäBMhšÁ4,+ŒÕ±PõËÃÓànô³nÄcåwL 㟪q_D2øO ©BkGS—•]B>¼/äsâóêkq›`k\¶‚hb‹,ˉ\’ؘ8±´ÈµTîh)ý`߈6×ÀidF0–Ç$•q âO²8çÊÄÒªìðtÇ7àËQ¿¯Þ–M¨=£|Ô}r˜ùqøñjS×5ÜUhË“"f<¶$“D`¨Ò1œæN0œx(àŽïdàn8’Î)OS û†äÀµÓ\çYL‰M8=œòŠ7’ÎÑ Ì´ÞWß8è  ¶Ä¹«!öõÁÙ«U¹¡×P•ä±²J[iŽ)„³OA˜ÙÕöæùÑ ¬ƒéº*-øØ[,Õ²7àÆEƒÔF,'Oó4]•3Î"e»1Ÿëì‚°£@U¿Ë—Ù4|‚5†1ªVûŽPJøžëbÇbwH§ß%ûct ˜^ÚÇÆZ#)'q–ñ"39K5Hý™ÈrF šÍþ:ŽoÀ‰ä˜ÿùiåq–%”QÇ– P)3 ¿&&6Œk“î*>h‚䨤ÛÒO m›sˆhÐð’À#YlcËaŇ×ãpÐî²P?-¸3#b%ÐŒ!ŠTc­ ã°P•I¬Ÿ}@fº›c[Ðe3÷[ý¾ú±œšÙz3õ¼Ó/û¿˜©^ûý ÿÞÔJ‰dZjn@!.ŒÎc¡e‘S,ÌÉ€kœzy=jilË0ݦ¥Cêÿ¶!w ^;šú¨$p¢ ä")¬²àÔfJd-G]…íøÂË¢o{ÁÐZAÅ‹$wt Ö˜ E“LYeRe¨‚õ*hÇŽïë‚¢ïé}ïQÛ£9„EšrØ¢dJJ­áRSHÃb]ˆÃ 1_8f{1ßK”ië³©Í Èü¨‘JeTÇ"Í„(„R’¦2ÁÚÞ”²âp «@_¸“JîI @žTJLz1›ëÍk¼/&Ë´4Iœé4¶†K )8 á)h›*x_úE>&æ¢5nb7κÔ&|÷PëÚD®Dv]ï¹Að ã„*M©-3!ó-—˜2º[˜¤_ç}‡%/Nf  Ù¬åÜMm0&Õ%¢Ü.¯.f³•Ȱ€ŸuÇÚ6¼tI]÷K|Oÿ[÷í·¦Qu9óž@øaØÞÓ|œK¸ ¿Â‹Û7ä¼Ö^³¼g®ƒh׳ݢëxéz*ö¿9]öPœ½y_¹a#ßƃ“ÊytYÎÏ£ù¹Ù ŽÛ¶:ªêMÇÝ®ù‡m¯Ò‰‡Òy|Sº œ´¨±­g¸•ÎÛPÇ=/…Ë=œ_G•ub‘¨l"@S_€záÚçâ/ÀN"1Õþ)WÃãöÒ {¨Ø³[ðÎvu\^ÀÎÞ|Ýâft Q¿ºa£÷ç‘ #¦Íqôþ²Úð&¶B·¼ÃܽÚDJL# ç0V¢£jêºñ|uUp,uô¢1ã÷xŸðüë׃V>/fz]£9€Ãá ‚LÌv4@WÐÕG*x¾¾‚8™”óÐ5z «£¡ÿѸ¾Õ},5ãí`7W&úÝg± o j¨{²½“RÖ¢¾ Øÿ_þü¯RŸ .ç%èåp:Wþ'G„ð”!†¢Y’ “““kÚËñæÄi?¨[½÷w¸ÍûmÙûfÝ<ãÞUL}¿#T+<ázD§Œø?)á6o®ç~.ª ­ÍCóÄ0žIžÈŒ…Ù|˜àß{çõëYx·ÒÐÕ‰$ºˆYj‰m¡r›§$m+(ùÊDÀ¨Þî<—M´°:Ë9Ç$±&MâXç”æYŒ=™Væò51V¦3suò²¥ßÿh€kWÇÑUµˆlYƒH¬j#怚 €„Œ|îõuiÃÖâìÂõâî;Þ×U¥Í=_È?MÍ¥kþeôŠàíÔ@J/«Z½ß¿8Å_ÞD.lË–È/TñWØXè£ou¼ò­+"ñòÏ׺µG-$£W¯PÄ ”¼æþò.GñWäáðrËC_Ùn´áˆ6Ú½–¦ÑE¥K„¨º|Ž prU/±pûäìdË…‡Å¹Uߎ {)úúb€¥K眔HA ùÃo‹jþçoªY”f‹‰@YÀÐx Æ;ìeW™ýÅÇoŠp…ÿŒh¾Íç'§FGßM°UÜSôm¥ø¤è©G7ôMO5sezðšòѵo™æÕѵÆñ!Óð£è Tùð½òë« jÐøþïš™5Ãî×n˜åG}íY—ív?¡öë^~ýz€ï4ÜåzO— îÞ(jZoCPö1ºƒäšoÞÌZ«GÀ嵕SËËÞC|/ײ¢•{,ž³®Ô‘ãp¿´¥²q&0~ÐQ™6@;rº®vPq²× Õ_To×YnÖ¤†9™¨¤ k$ %04m¤™`ñš¤\ÍNQmØFš,Ksk LmAÔáZó¼Ð™]“ïÑÙ &¯9–shodU#Ý”lü^ëÖ &‰šúË#r²ß­\ €ƒ†.÷y†1™ø™xë˜3 U˜‹û¡ŒæoXUFX‘ch³Ð1ì þC²ÜäZå¡#@£ÿö‹S˜ìSÙÌ:ÛU§¶w‡ß;ïã¨<U@Ä©‰š …€JÍÏ)ÿkêª×À·ç-ަ¨ø-ú4•õÛÃßúÛ飜ªÉOÆí#쵊žúŠÉËvÛ±IZd1Ï KÓD¤îÈ °g™¥,&I·É·áNÞvŽëîíÊ9ž9Áàösìíþ;yóÙgvöò­oÐJ\/°¤w÷¢M¯ýb 6*P>NÖY;Âѧ¸—@ä¹þe;ÒLÔâ3ÑGÜþã]*n߯¸kèG73ÀÛ6ŽÞ¬ÛìáìõòÞ¦5oíxí_Þ¸ëëo<ˆLa>Î&¥*ç{‘ºûÞ ´OoÄX4 ‚¬¢Q$Ð×g»Ã¸Ñ‹£G/=S¿v íÃîÛöñ«£—'k†]?ÀèY %7¥6¨w¦ÃÇdÎií î¥)¼|.€žw[©ê²%ª'Ñ62¥³ÓúÕ5h#@µÉ[øqyÊj‚Šà1™ªjøyVMï»0 Ú?ñ¡Y«Ó­^­\œEÕb>[Ì£¿}‹_zk¢jQ•x(@ r3ÌÏ«ÅÙygþ~ßÞÜ.ÆíÙð,ÛØ™»ÛÕìØ ¶°_ê9ÛÂ\üж„Ë) çå¬çÆñ0âÂq ¨±­¯v €ª49Ï•hg£€E¢¨áDö"«°‹ƒ5êÄù×fR]î&7„´¼g-gò×ó°¥r:q†{Qaç‹zÚ,}K²"îܹK¬±1¹’€àœãõ>êH)Rã‰ZÔ,à6õlgu˜…œ´:bg¥òù`QcÜ ¾3&újÒTKeq3÷Y¡DÊEž1–ñœÓLóLj[ ¢0áØá ÖÜ9Í6ôÞc»l3'i^pbc fL%:6J Í8.ÍàѶwÜÛ7pòEN—X¯J¬' ãðøÓg¢°/¢ 8”(ŒsÆ–Kü>ˆ‚5*c …NSIFr¬G™,IhFØ.Dao7ƒÃ–7µ1sÍPÜÜ]í¿–'°‘r{‰Ó:èö›¾Á¿ýš½3sÇ܌ÈŸ©—?_€Þ†ñ„U J("Í òãúãw¿Òq£ÛgßFže€‚õßü¼uLñ4WŒ¥Œ*aŠDÀ’B•1¸Ð-Á5ý$f»YI´sl}bsÐJDõF WÕìÊ›¾Œ¾@ßWUÿ‹S÷÷á˜{F½3šÕgwî>ò¥Óã©?”¨äŽ«SÁ ÁŒ թĵËÄÇÑ\–Žnêâë°5êÒ0FiôITÚÈÁòx?s“Þˆ#Xž›uѺ¿'§˜NŤ· P ÝæÊùRÏEcviKPê‘_[ÑtökÜÚÐ5åº'¸‘`‡Û‘™ÄX‰P6œ%)(ûLQNŠÂ Úµ™~"d¦­bÐNÿ‡ÉüÏ]Röüí ù;˜Ž?9¸‡m}ð5¬ÊB|;Éh¯ Ü êŸT‰CóÛÑ…m(Ë:´'=4Áú¯æ‹ÙüûþëÜyÀ%>¯í­™æ7ÌÉ›˜éÙüü$ú®£&ÞG…¤Ã[îÂÔŽÉ`-ÿÛ…{—$ºŸc«+?.Ì•ïDñûr ݤun{]¤{óþÅΟ Í:-xk-n‚™1æ­9^ʨÊþûý€âÖX´|xe\Dó §;"ç™ö¾ˆEÓ3Ý;'ÈT÷ý¢YYÁ’sO ëÞW  ¬fsÜ®®."ï»ßeüìnà†M5æWœÕpÃíb2¹rŠìpubR¡¯àáàËiBmØv9oÌÄ÷€~Fòâ–†qüf~iŒ÷³Ì/« /_¡¬{þ² '‚·ï÷¾ë®|ˆê^œ.¬€ ÌBàÔÒùPyx­Õì=Åôªܱ‹†0°ß£f_*ø=™·3Dl¯Ø[ŠßÁ÷{¢ÇÞ¶¶zÜÚéžéñ3=~Dôøž,¸Û‘ùíéñxRáÁÐãÝxw•ø¾ío;é ºàþéøWZ7CÝïóP»že"ÆRƒ\FÑîýŠÆÖRɌ需¸±”y¦„¶iÂò¬ísÛåºnõ)3.cT?­Îš„P­1}ˆ*WÄãwõ=àã$a¤ƒîÎèü¸¼¡!ä:ÊcxûÄô0ÿº]ô©a}ÎS­±ÐID–Ìj‘R ?µFIyHNµ=`ýn>µC°pî¶ò'kÄÜäîŠf3«åº;ý˜¯t’³BQh£„$VÄr›ªÜ$ úÍŸ¤ø¶oƧ„¿/—Æ¡E½ß9èK¯›‚æÉq÷BÇ”5H¬Ð)§D ¹M@o,øNé5í1ï™,·úµ±U}'ÛÝØü=K§¿¸6ËR§k~îìRƒl»þÂî·¨#´±¡"޵”š'ÔfyNµµqj2/•ØòÆô´Šíñ˜\n˜RZ`s2aÅ$U ¶jú!Å-ñû+g*ûÝ¢÷ ñ½o7Ä1ˆDï‡Çl´ ÿõÑêhóª]ûcÊF¯xë\X=œNòZîÙ•]{®\æ*WuÁ²ƒW½³¢•A<6.'íÁ“héskTC¿Òiu9õ]TÐ7´á¥ç Sªà):1Z§DäØO2#<-[$}¡­×©å¥«2ðLà†n˜ÏîáX÷Ædáú¯³¹ÌWXú!4ïkóFýÝs×PȦš,樻U6®Â*¿ ÆÕp1Ñ“zúT{5ÙéšÓ8òâ.kXÇ ÿýo95MãWAuŒD]-B ËfÑÌ|ÑÚe•BmfÆ%ÛVÓ š†íù}Ò&þ€Àâ@òL!VE Ñ g&ظt@º¿Ô® ¨C´ç¤®Ð€aOY]ke޲Îlî¾UZWtÅíF5ù¬ZZ®_ÌÙ›.f¾x³S&ž›Lr«S™[›Úø¹aF¤pk«²äæòœ'[Äñ0QX#cM¤°,QWN -±`oº“zt´!°¢^Ü?6ž|oÚ²ìw2”÷[´l+‡sûäJÖ.)A˜ÇòÎÑ£Ù'ÞBמuû¤,_Q}˜ÞD6µé“åï“8Q·SáïEã«…hÒ´ÁrÔ>¬ ^.Õ¯Ñyé ßLÚÆmDh§ Îv¢qÿ’„’Èmë‹ØO†låÂÇT%¤Y¸2Éa‚~u/åº9ÇŠ0@iü†±»Ô²$<†W:€G‹‡b§%,ÃCi›rúDfo\Ø §0£dúGŒ‘ì•—?Ž^Å'ðK¤µï5ŽuÜÖªzaº’ôË… ²ÒtO_ÿ¶Rõsî\n°ÿP¨]c|9yÕªL˜íÞDrá¾TµìÂ*ä·±[×d¶R-³ÙŽëKá´mÒKŸ}o>^›0Dîâ-ÇÄç¼,Ò^‹Ò©i¾)î Eá‰Ò8aÛZs°è\ôÈ`©°¼²Ç˜¶¯òûjbý|cŸGuC.“y‰E¹]«rR/;ôö0s»«Å|¹Ý{íF!ºuØõÖ97}¤øºÚèxm)t€nuÙ´°…Wãº_±yx(¹µô±Ü~%µ¨ý²]±ƒþpÇø­[>¥&UÓEMxL~áê º‚e·þ§ëGûrP" Ц½ÆÌ}w;D ž›öê vàúGô µ<É6Öºí0ñøp§=èû¼ÿPm»÷JÁáÀ1´ÊÁûãA…AÙ}ŠUZÄ¿¥èÓs:hn…Î;ö51‚1hæ+c¶eÁœP‚4÷$‚qê«[lÒÃìB\ùæ.´»œ‚^øòÆmH]ož¤½§Ú óC¼cÍÙ8 ÿšf9ö:,+ŒÕ±PQ¬®õ°×{w¼ìÒ R4å2±¢§D é=öÅPzÌîR4xñ•i—©Ðá–Ï®€“mÌo „ ¾ÿ€'‚˜ D]û{}î8îH¡£Â¯fX&®%y/F¹ë²¾d{”?‰©8ë[:]¢H`z"ê£À &å˰¨KquìdÀ…  ªÕ€*T0ÈœˆnÑxŽÜêãb¾#rÇÛ[‘ôãò-|dœyû¶¯lÔƒàþŒ0xŠ^ðYŠ“¼ƒî5/Õ®‚´«yÇ#Q2ñ*À#’Ûœeb¸oW¼×>¶è´ TElâ¤URä2åÊ$FZ­Hs–¦–»–%ÿô#¯ô«óA—óU»˜‡h(øãÁþGT –P—J¦m¢Ò±SwˆÜ:W@¥Õ*Î(·Íuœ',Ï…¡ë·Æ  MÖubÅ´Q¯Pë~ñY_ůg šøl†kï,'A ˜ï*×*9‘„SVÄIA©Í’<ÕYV¨Û^ #´œµV™®\Éùˆ’Bf&!Zi’Z*Sl EUÊé~øˆN­L2M…dð‘æ{PÜÄ0?ZOËu>ò£93SýH}£@º"øŽÎ¥Ú݇ ƒûd~Œç³qÅ·óYIÓœÆY,-g™<³ °ÆYš1•ó8ŠïîÞð÷Æ7$£þ × D«pÁx¬mR[Yaµå”°ŒdT§‰þ¦\}9ûK$Ým>¬¸0;G#óÒïÙÁõBAŸààq4Eø|¥S¤ër¼?â]ˆ4# Z%…Éxÿ2Ú•¶lOÄ[Úœpmc)bM¹"R1QÐBÆ„öhChnƒ¸kì´$±ËžR±ï5›º ¥w­ÛwÍÆ*uXØ'&Þ÷ÓjmØTm[ð”Óþû}÷}¬vƒvSm«)ì÷»ð·B>>˜¯>š¥6â²óPåòQßm˜‹7Ç@Ìd|,Z‰Ô­‹R9ºÝGhÊC[e[Væ:jÁÈÁã|?È5Ú®­ßªmÜi»ûBFûõ{¹Ž4‘ës‡jÛ˸hýßQí(¨c”bÞï=v}wrvâ*N9ïÍùWœ}|êšÇÜz0‡q"¨Ï£Û£ë²¶RŸÖ]¡÷Ä~=#¿ÇÌiÕïÐsý«R}‚­oAé¢Ú+Ü¡Ó Ïjýƒ+nÁPg?Ø·›^0ïXÛÈ•hXÇ8êJÓ®BC„/6Œ¶q_Bôm¯ |-nÆË’5H^>œnU"Mš°•J3"˜´…f +vÙÑ´íêêKÃ0›p Ž5!’‚xL–¥rM7Ë=ÛªÇ;wîCLßçïTL]ží³ ú,¨> ªTPõZϢ골ú,ª>‹ªORT·4®¶x߯ :Þø}‚j¬ã˜ –ç9UV爛\å6c‰I,Û­\õ!ª?¿­&WgÕôûô „ïŸ ïm%3?lá½Ã¾öÖ¼oÐ[‚´awX`Û÷ñ½½ —dlÃCfÀÛCÀ«„‹ïjNk Õ¥Å8;¡”KÌ9k]>ƒJÞ/0²à~Úà½Üªs‰ Q©ä†)hà†fYAt‘[‘îÔ¹äHÏjÆ££;qšïï“ìì’æ8ëÄágºs§P´.î ©-Qžn#½¼_q¨ç.hÍQ oo<±Bâ±R ãØk¥‹U»^I_L«QnÏ}Ò½:ÖýN¤­ .ë4××¾Õ­\Œyn "²«žaÕ^,ß©—­ |òÊŸÂbv)\‰nÈþ³¾yBû¬®.§îé66?´‰oE½d+ƒktâ¢×—}ÐQiò˜pi`^£—Gï' œ°œ¥¶8Ò!ª Û5­2"aœP¥)µ£ é;ˆS ÿ_ظx¬¤¥F5­Æ‡Þa°ëâ®b§‹Ù,ìôp*”í›`k©n3 î—á|ãݧ†Hߤ/Ê OE[‹ß²ÑJÈê+ëèâëÐåãÿrmD‚Õb^¶­ø€d½h^¶m]7O|Ìá®›ËmkRÕ…K±·Ðó?÷ì©{®Ÿçì‡j‡)½ÇÃq†c ¤ng4ñwïú¡n{¸ävr2+“ £KŬà…He’qbb§@,}ÞÃ5†KYùv6ºÕ 1œïæ5Ê;ùŠð¯ÃÌn(§p{ÊýÉ‹>°MÀtùÅ&Á†¢ 2`Hhs¼L4q1#ñþËÍ^fÐ#˜»¬38Ź@¡ozýãý÷¯¸“Y &—S5Y8Ewj.]îöV‹ðBç2Ë‹)¡Iª¤0š2ø'Kò§y±ºt£¿G*uG7ì¶—ÊLq%ú÷p¯\WùÖoÖë:Ãáí½kºLC1zµËߪ6³2d?û xA€Ç`yúÔsW·Èú\ØÜ±ÉŒ±4<³9SY–›‚«„¥™á×ó{¸ó]°mw^š-&61Ñ9Ï$NmÅ(aÉgÇ,Q4½>1@à†¹·ºñk”‘œm¨Ñ©¹eš˜”1&à‡ºI<ªÿÔC¤Ï·þan½K÷ó0š« Y­¥¨é?‡",cÒH–¦²È•9p}%2! ewk)ó¨ˆÀwu]ÕwµJ€§ê2õ>¾r~10£D,~‰‹ïª­Ãµîù«îùÞF–. dw“«ã®÷ŽÕ>hÚˆèy+;ɤ^¨9Ñ×dø·gß®ºr+)g‰N2ÁI‘§Tƒ|ȈÈÒ8g+î¡õRüvRôeU»„wÜ­tŽÐ®«ÅÙy(¶ÝT{qÜá6y°ôÆ8§¹ ,É™¡ilTN±Z’JÒ€’¾*»#NÛ+õ£s×|0ÇÐDÒË•Vƒöi™ÎpðÂÆ\¥™Šûh›Ð¸Ê¬ë¹3hÑï+Ÿä¹wÜöИëJ1Îûç¿_iݬòݶ±ïãm9=4 ùí¼\c3Ú­5K¯ØL€”ën¾Rnf U·V8Î[(µ¦®•*75sñu<›ÐÅE(€ ë[a¬ëªÝx$ÊHØÉÌuŒ“ò¿Xvqm¨“gµ ó¶+C0G£ ·â¬Xl1mOÅG/„N3]sº0U¥§¿ ½ ÚˆN"<ãËËøa]RX!bZé¢\]#Ú63|PápØ#ºkØñŽoú R&ö{í ‡Ó6Ëfî¥I1ÀXMÛîJç\“j±¦˜˜ôÕäÄúDl“Œ˜,& Í5‰©,D¡ š,ÉO°Î%,úXõ2‘þvî7h’21}ÚdTc±Z+ŒH3‘ÌL.;h’¤¼Cñ­YßøVžë[=›û㟬„ÙƒsÁ_L›²Ù‰ª†/Œ˜n®<Ž^,ßFûqpâ—¡8r3Nê#[õ†<¦íwz7ƒº¡¯ÇŒ¯WpïA£ºHOtß’­¨"ΊL%F†eŒó„ÆšYd Ë%RØŠßöîœe¼ôãä,·˜<û5ûØä‰¦œï¦Q·UÉÛVθÚ5(·Ú7+r‡ÐÜèɾý«­s„ ºbJXHý8j¼¦py^MVâ”C[åN{ÀU8ÇÖàôþù²éwf8ôxpÚÁ2d |»|‡YDðˆ9ÃZP¾w<ÑÕ‘wkÆ —¦"´*9òw ¬+¢Áâ‚’QÎýŒÍ\t2t¨åÖï_à™¤+ëï+ÿ‹z¾&ãÑóIi° ¾ky鞀ïB„–x¯ÅTÜtÓJ„Æ>àÀÙ'ÍG@¶ê):»$z¡€»ò™˜{1pcW—ÑÅb2/gýóiÂË:XrçWèÕêDÛgÓƒ·?lï²Aêfî ¤çÂÖ»¶‹¾-1zác|×€ã®o¨pùmá`ìG.ö@Œ%Ê( „81Ì*-±J ‘(Îó„£É=l¾…°›Á˜á$32ÖE–)DZ( BÓ<Ïx‚µÂLƒX¹[çZ5Žkžc#oªŒÉ3iškP‘Dn8OŠ"Y5ŽoÕv ‹û\¤0VšYunÍkmErŠàþÏ2èæö.T÷u<u5 tÖ“›6‡®ËWBbë@âÿÇeQÉwKzŒèðb˹Kµ7¹ß«ã”RßÑ õ»=Mª‘ŠæqÊDœÈ,‹e"rš%,-Ò"¬&D-ÿ…ÔžµÙóо%0ר#Ú>Ë3Žf¿–õ{@••&µwd>"%If2žKf“˜ ’KPžYjhJaµwd>,7…Εb£ZÅh~Ïh®ãm/Ü÷ÁÜM<øù§ ¤m?ÌÖ3éæŸ¼yè.ö¡õ²•í§\|(ÙùOQ—Àˆv+ÚéÝOÍ'ß‹‹ƒß‰:ýúJ]¢â“îÓz˜r¨“¡Üîõ_fÒ\3“ôR»Ñ_ë¤zr¦BqW¥µ¶ˆÇIÔ³74çÕb‚!Ï›>Ç;|´•Î|Ýªç øU]Íj ©œ\yûÌ j¹®Œ+• ÒñÙ &pI´Z9÷I`ظ3‚8³N¢kt£k»Ý_/W‚Nðój¢Û¾ê.þï•îÕE¥K[ׄÝ쾦SûèrÓ/FrÞWe>n1^,‘YœpPÉ *€Æy®mç×e¾ŸpYÞöñSXThÄYÚu;öîþãõiÙ0´sìWggˆ:/\ÔhhÈÛpµ˜vŸ]ÿÞéðçöÓ28T}õ™úk£ j;Î}x¿á¶y¿ÇÁš†~ÏÎsÐöGÍo½ûE„‹3—n‡Xw™¸­OLÓøÏCΫ \·p•§Û楿 «,Êl`ªµ˜ÏóqãÓÞ²µQG4cP&W£yuu‰ëK ƒ)„š¸ðY1mœ -£¿–>ǨœâÍõ$§KAZÎÚUvóqÃWðÜ™O¢„¤škËéUŸv+°žjÀÙ`|´#3ŽÌº6TÛ=jí(âiŒdëC©C|ÎÒHì®_LÊ_GÔù®Àa‹b?‰©pÔª“TN]|6&-QsPñeÀ½K1¼ÛH¼ÑÝÖ‹ÐUˆš¨ÅÄ[œaÈ8FA»“XÌW¡ÒE ð ˜ÀÍB‡ß´EM'«´‘u‰º•·~”È]¦¯¦‹Éd5ùÖÑÁÖfã/~ˆ~QØñª#i33SŠV šGÞs±<Øá&ýN"lSÐ=Œú.¶}Õ#€§å£¼ðJcLÀÓ¡ÀÒ}Ü8¦úz„ŒÔv[õê8úÛX®Uʇì£q_;kÝø9º}fls¶@l‹[ÀÃ+|iZ]:0™SçK[W÷ÌCÖÀØžEíT,Ç ¢‰-²,'FpIbcâÄÒ"×BR´UhÓ»©÷àY`iÁÕ° +ËèõV&R‰ÄñÝ,ãû{r–‚ÁÝ5ÐnŸúÝÁÅÝ=µ¬=p ãA)aU;[‡·‘½ªu:å„ YÐL’,%X‚4W@¤hÆÔŠÖÑ.ï«É$÷Œé„H•×k…C}°åðÿqǹ vÊ^µ&®P@¯­Š c ê0£V„xyì٤׆BÂxæúq˜¾ [ûñ¸”ô`Õ†gm}^{æX&Kó„‘¹1u·•;mã@Ö¾›1ûã£^ýÕC®;Œb¿BÐ7ë"$0÷ÆE‚õT`Vá©W¹g¢t ÷Ì‘Ç[úÃZÛpU—­‰»[È&¥±/\&UkmÀDÌ®üJ}DÁáêåÀ\ÒDƒ0 3ήÐÂRG®Ë)Ç]Á‚KN‡ç/kÌ0™¶©"‡ƒû¹*U€´Ê)OÓ܆ä t¦¹Î³˜›p Sùµ¿¯¾q\i«œî‚gÂäE"yJ­$)¥2M bM’k‡D/§Ûñ¼ÀòvKì.@æQúÙ‹˜ñØÆ¥¡01hÍ ä>VA¡m7†·ïŸ%†=¯|y“Ÿ¹Öý¨îÁ üÁÔ“J ï¡å_×3iÏ‘P£‰VIDåÈ!ö’ŽŠöl•·6Nã'e¸E…í‡'‡"Æî&À~úuï&~ÞmýÏÄøTˆ§Wø:âñ*NûÁw{L䔉µÒþMjD»þ–Þ AÜ¢ <1n¦ʨ‡«G$†ª$•UÚêLs’-R$‰ ÌĶBýƒH Cee'&àó¶úôñœÏœø™ŠZä²WŽ®]§.­0ºQ¶°•UP–MAY@ó4OÓ˜IÎ8ZŸ=Ú¨Ÿß ]O±–&þº-|ü™ê÷—†>sÎ\1o}ÝÒø?WH*dçùÞW«µ¹N¢vœ‹·m #| ´uáÎÑ ~é¢×ÖÊ?ïâ·Â}Ã@˜ÌO¨1'*f†RJøžëB²G‹û®ûÖ-ØïÆÿ=ãèô6r\Ï·Ûn€?mî@ïíoÁxâàã¼céë2!ŸÓÑïMü´¹æîV?çl?çlo•>=Z ä¶ÚÏiÛ›Ö\ÝîÓäp7ß3—{ær»q¹ÆcÔjMâgv÷Ìî¶DÉ'ⱟ†ÕÏú4YÝ`|æuϼn7^g¥" 8õÌçžùÜáó¹O¥ÓÝÁnÏæÝb%°ª(b˜Ucq NeÒèìÑ–«~ݲ]Ëfþî·ú}õc95ŸØ“ßÌEýéëcía#®ýçã߆SÈžú÷#‡|_Nu(´ $hŽÅOšß¢Æv–p'ÛR6ÃshüÐá ìÌòׯ–S_Õgx‹:7~‹7ÈX¸¥u*Áçf2[FÌ­Ô‰ ¢Çƒ”ŸD6mKƒeçÈyûNÓ3w LÇØ‡»Æ˜ -'Q²Ú°R×–ø±V"I3ÓLr!e¬1áŠzÐß[¡µ;&­pÍ ›ò•kÁ„J“”´‰9µ øXyÔæ2×õìàèOQÿ«×¯}é§î‹'è“.§‡BŸ$ ÃÖê5TYM«÷u¬®=×+ÍÔ¶q=ÒÊI9¿Å «Õyh¯~­Q€+ ç«o# '„“‚¾’™‚@k“¹b FRjEž`‡21ùg·Ž^1ûKquܯ äÊã`Ì1ªuÓP§¬¯mÔwíߎa»UGw‘y_¾X ôÆO 6M5ꢮ SFÿîû¢„— Âù`s… WKêÂUÅú~QcTññ  U[JL.1Bú\|0kfí“WÙB(°@º|µvݨ^"£(U9‡e»s‘³‰P®óƒ+mï`å)ÓVÄEþ´Z»*=‚mùJMƒrˆÛt‰™½(´VI‘Ë”+“iµ"iÌYšZþX)ek´êÑ;€×?=¶Ýµ\Íö #³2Í~©ß;3o[Cuäêæ¾R?¸¦âË>Fx§;bÐöö==%y¼)¾öµÊ8îݲÍuðeMñÁ® ËË0mƒðí:ÃM´È5Õ&ÍDsÎáƒâ„¢Ld¶×’+uíj»O÷eqvƒ¯ÈU»Y›'þÕß5îúŠ€×4Ðwù¥iù¢3<ÏÚ[[¹” ®%Ñ$}…Ï gZßQMš …¢P¬¦ŠöVè*]ú±îÛí.Í1Lr£ŠD¦ð?¦„1ÄÆ ÄñG뺧KÌ/ïæ5çw2¿¸3ú|ü=ܪ sºËç€sãC©qê ·íMéà}í¶¸·º2ãÎÇyeÖ‹ }/Ù‹¡fŠ«8Ð*‰÷À}–…o±jë³x‘Rôö[§ƒyßbÓZƒïP×?èwç6ÜJÕµ1<Î{¾†5%OÒ²vv³Á…XN–f"ŸgÞ*DmwïåÃÁîÒÓAûQCU/ÊÜ-/}-ÓÅdŠƒ…¶˜vIbmIT¯— ÇkËgŠWúbÑ´5Óç®vüÀÄ׫ YN{}Š#WP½œ†æwƒÜ®ÃT‹y¸½×dlð‘ı¼šŒö3Üj+k;@a&}+[ ™ª¹jÐÜß*FË9\)öÕ*æõPÄ€m—káUΛþöÊm;z·ÎÂúÇízGíbò,ÿ–o­uÁŠxÃÑ/‡CÿÖúâ«ìÃaKU„H¦¥æ†Ð´0:…–ìN¥”%ØïqÒÛ5r•‡'2¬¦¥ãTÿ½›xµ¹‘éšÍg‡´vñ‡)™pýê¾—2”°¾] »F¸’4vU`ˆP ÷¤àÔ‚,”Y¼6Rá²[ŒzÛ;(Wž¹BêX]öÛÇÃw¾ÌtÕWîbÑ:oš‡ŒÈÑoç ¾w€pM0Ý_Ý+±Gž_/Ô¼ªW‰¡Î{œûdâ;ÔKr…½ÌGœå8Z%Ú§Ý>¤]å:Í +ò&à…‰3òbó’Çd˜E>VÖ ÿB®§oe1ÇOBk/ˆ–ÇÇÌ#3?ûâh9›˜fÒ:”ÚéÛóuÞ:Ïq‡Ø¶¤¤c1‘{¼V çøœ‰³ekØåªüó÷༜høåÚ~nÚ·;Ü…oJ>&­Ü…»6—ÿ áâ¦êr½øm…ÝWpåî°V¬V,©sÿ£9 Ðxê,£*O4§°͘•ÌÆŒIa(¸¡q·{ÃcæˆÒºFZý\Ä)ã¼( '†Ó4•i›"7*‘ÔdÊÐõ"è6UÑÇAùdD¦u8ñ,1=Ú8¹Îâ; `×CNþá#õ©_5õ5ÝÚ€þ°®£šSc‚LBÖˆ!'ÑØÞpÚúkÛø•‹Ê©?K½Ç5A¨¦Š‹:–3 N§©¹n <ŽS§ŒûPXš¯ø×vá•á†çÑr¹~5ÑtïGº¼ c¯9éüÙ] ÇùÊæØ7a /:Þ¿ù/ÖÌñÒ•…u-²<¬q)J¶‘4n&4­êK-éü¼­ D/¶akãîëÖå ‘°(éâ}!ÂÞz¨îÀ9ìm#f3#c-ÆÒG/ß–eé?må(w{j Ú™6ëmyíXF­ k•qQyII…×’Ð,‡µµÎ°»¥ ƒp±\Kæ´Ž¦yilHlaãâÄæV//÷7}«–Û^Η[YaM/’Üå‚P‘ E“LYJIªl"žHÑQ”;Æ”nqk¬ën"Eog¹b­\qKÒO€¿Í áLõbÛn¿ýãè·›¿ž\Ö ŸšK?ÓaƲ™·ÑP«±$°×êÒ(^Mìô·"ßN;4^¾Ñ ˆz .áÓ„0æT¢5OÇô.Q€ˆ.i*“˜d)¥¬xô}=zÄÐeG?þ²8º2 ƒtÿO¼‰udžËB¥ œT×’3ÓÒ$q¦ÓØN,-¤à<&„§‰ ®%íÛA!Œžz뤑P•¢â9Áø^8º¶’I?ØÎýùÐŒ‘r&Ç‘wŠ:wïtû¾Ùƒ–qc!’ß_ ῜U¬…@d¦‹‹U7Ýõš/>hk^WÎõF­›nÎ ð¼>õ^¼J-–Î;×¾çö!ôÈŸ™)0®‘/ž–­ÐùÊ ›æõ Ð7¾˜”ošZ.Ó¯O×´ûù¹ù7?ÿwS-jÕÚ3†?Ÿœ#ˆ¾8…¡×¿ò°šÍ£§nAûÿçÕ+*—PøêÕQÛ ®°ÿÓ7ÿÛm³uùúõžÏç³×§§———'ºúxÐ8©ê³SŒøÖü­ÿÞaR|ÂOâÚ[Vú ÿÅ'ß|öÿ÷…L ››”W‚¨,µxœí}isãÆµèwÿ \¹*™Ii¤FcéÆÄž*¯7®ØÉØ3IÞý”êUBL4@ŽFùõïœîP”@R”†’•{Ë#’@/§OŸ}ùâ¾ýû7ïÿïíwÑùüb½ýÇ×?þðMtôêôô_É7§§ß¾ÿ6úyÿÓQ|B¢÷µ˜6弬¦brzúÝߎ¢£óù|öúôôòòòä29©ê³Ó÷¿œ~ıb|9üùjÞ{óDÏõћϾp~¼˜L›/× Eáßvϡ០3>ûÊü¶(?|yôM5›éüÕû«™9Š”ÿôåÑÜ|œû—ÿ¬ÎEݘù—ÿxÿý+~t ƒÌËùļùù›·_Ã/Ñ7Ñ4Ñ/ÆšÚL•ùâÔÿüÙ“rúkt^ûåÑoóÕ4GQm&_5ó«‰iΙEs˜6̆àè§a©²ÒWð.?D §ø¿75|%_üˆÓ„yÊ©6Oüžå4z+Î`EâMô‡‹RëjþçÛÞvßWLý¡4—a¿»¿‡/7ê¼4µ¨ÕùUæ/íçGÓi5s£Ã_M&Ô¦Á1Nøç^½Šþ×Laxx6’WÑ·ÕÇ«33|ã'ñ ^½jvÏΫ™ÿj Ø#?; Iõ¿n¢¾:r ÷«ú|¶¯‰Î+ݽy»“REß/¦ 1³ñ›û<¦éŸ{¯4å -<þÎÿ±þ©Y]½BlÀaëjnn±ò–ç— éÞY ¾ÕXKµîåwî—•1¢é!l<Ȫ ¾»ñzà`Ý ËÿL²ífeu ct¬šÎÌÌìέθk ¡“MÖV.þaÅS.++;=9AñÝRUQ™œœGë]á×0²ÓImnn2…BY•Y/á]Ê/E„‡[J`Lмy-ÊÌK\åí /9¥füÕ¦¾ÿ>>ŽÉÊêçJ¾Á Ó-­2)vä©„ æhj æb@`°b…¹8kÛPà“'oø5Ïôá¬hö(Ô… ,ŠŒpJ§^I9ôgjéêÊØU#¾µ†ì<20@b±X Gôõé<9ðy/2y}YÓ–ÇÛÕˆ A£Ëxðä=Ÿ¶=k‡ÌÓæ`÷F¶/ä[F­û÷sœ-X»Éû3Ü<<^¨¬sºÈZåCýã^é ¶¿ëEO„¾-S]g5J¶›äEmÚgoÁ Œ) ȳgk>gOŸ.ùN‰ãeb÷r~аÆ;'ii›½’òÏÞJËË›ƒÙý™‘ èÁ/«£Ù†ØeA„„„|g§›Š*¯õ —ýTÿJËÖQëȈj°ëýmöT^þ¾ÃYž3iiI*hSuaô ™ºúsQQbggèñÞVåý7Ís“ákô®è?sæÉgWRt1˜;9NH>ÂÄX­?;¹ˆHTZ>û‡-Ú`)äÙ|Nb~‡3¾Lmómøƒ-0²”©y¥oúgÉ”ÙÑ$wºPÝÔ<°†hڗ֯9(”x^ ÆééõêR"‰›—s±´”@r㉾^][{$XÊçI…lŒ¸]þ*_•…e±.û üw>©©V¦Ò–À¬ÌÌÄök>–m ‰‘A¨išcÄ×°M6!ÄûÓÀØ–*ª¡Ïb,ÿ+Q‡\@èém-ê Þ¬ãà$¦Úÿ,xC8عvíÊGÕN„Ûñ…Ú‰8o§…´~A Æ„_Á GÆþ[šŒç¨H¹{¢ÿ˜¯£IKu|„‡G´“ ù½C£P/"ˆ1¸@ýÔRb¦=ª=ÄÊÌÌÌ×·ÒT¼;ñæÒu@K ÄYãâãjk¿Æ200°j_ÇôÆëÍ §Ä„œ'ìò½=í>>yÜÚîêèÁ­³tãŸFåëëërrrýËc/ò+}ûöí0×&·Ím€HCh1X¬Œm¥€¸ø¯XŽûâ’’°}€=ë««v­Áäã=ÒjêîînEûY(ŒÉ*XûÉvbW^ñÁÑéÁ¬ƒ½}úìûnNîËq”ýaÒ0B^AáîÝ»uöR£¡íÐe×GtbiLû÷Çì'¬'ñ”àrx‡†½‰›$e!Qz]µÐƒŽi"çÀ¢ã„¯îuö÷îÝ#Hìä !ÎSwú”‘™)× ‡ÃwgÇR4Ïaò-{°$ …¢-ÄäÔ_ìnò_yäê:6>nǯ¶c­hðÆ\4î<5”ÒSpI[­ eg(ÌÞa&×Ù—c±žþßÛjP‰.-.vþò…ë4Bñ=i™%uùù1ßÀR‹@Ìz{ ¨å°ÐÐ`õœ}@òƒ_žƒ%¸jð™å»z—‘áÁûU¨Ñüo Ô›+`] “³øõD<7ëµCÃÂF;ùÕ¦ðïÞíï쨅îþš›sP¬%t3üPÖÉÊÂB­G$œVp_nÿð–eR•£ôƒ¶Ð5¸œilßꌟŸ_€ªS`` BíDÙhټ߰:˜­&f’µE&ç]ºuëV¹Œ’¢†††Æ xTnT ;xuä äáülÔïµGÂ1Ú.ááêiãžmf¦Onxnâ¡·°°°–ææÔ´4Ý›ÄWMpæÿ—(àÔ":::³ËþGÀX==Z¾¥"MÍß8·¸¿?àx ÞÕJ>?ÖVWŸã¥m¼ÿ…t‰dnn‘Øûr2Á­Q³¸±18½f«¨50¥FjLŸÊTö)*,  9¢P°/_NoNþ}žìIÀ?OHàää ~mÐýdÿ³@z ‹=H`¢Íšsôfâãú§XEËlo8 ¯=¬þÓ–O3:âBm•¡™žèN`€Ð~¬¶«¹ùÈኋ¦Vþ5Ú<‡”Š*…:­í­%Úw‡¶®!jy~~ùWÀí–§kÄiHÁ°«b‘tNú†û_tWW»}k4€Œˆˆgb÷î+á*¿ îe5ŽM(ÿú•´F늎gÌUpèȉi6RbÀrEQavA·õ”Fû¥èœdui¹ÉŸkù,|ß «SðÄÝ<ð<þsooú[‹d ëfy0)mÀ­……ßœeqXÎËE©Ì•5’FhiGÒ¯FÔ‹¥0^¬ÌƒvßùŒ»æÕʲÚÖ–µ[Gê$?Ü _ þol¯õ’àŽœ>u:Ëò©|½¼í¤-4”3¾»;½@v< ÏéÒäzS¼BžEwåó­”c)U±ŸËyK}¹nJ)üíyÌoá·Øý‚f¤ZáƒæémÚ¶ƒû‚_ß}lþ™¯G„¼à0ÿ옋þI+™žž†“ÞÕX @r‹„ƽF—θÀÀQàHšÈ˂ᗯ^eÈ\ó°QW?A""G¹=<ä÷¹í£œ‚›÷d¥ €nF‡>ò\+5'‡}9ax’c…­Äºì`íÛΰ.ÿ@Æ ÒBW"ð¨Mz"ôŒŒÅeÛ;;ʧXyxðãlô¤˜Ç&'ƒ6fr#õ¥±+++ ±´‚m÷£€×.whx…Ūy˜îw†[ÇBª×§Ñ3ÉRfÝÄápš'[4uÞ3Í••€‰oX-v{ø§ðä‰Sµ«¾ ‡ç¤~š¨\ ã²™ššo]†K¥ù㊈¨¨´}-­`ÀÉ!°¤À!¨íh9ÓÊÊ*ðª˜®ÊæÕ£þ(D\œ|æï(íVê*ÿÍáb'ZX÷ää$ùQàÊvŸ n»»['  ÌÛÛÛÅEÐ)x©srŽÖC€Rû–r#öíœ_[—IÁáK›Fnþ• =ϤnŠ ÍUn·þô*ø¢NÑ œ½¤¤d€ªJ â…}ùÙr¦`œ/_|–Ø¥0JÙlʪ“ ôΩ8äç ó‰¬Ò¢ 8ÿ†úziÛÊèêAÓÕq¥€øüYd]«`€Bxò£-luàñ÷úòí`p¿³lz®Ç²¿ŽNwç„IŽz“Ïì{Àzÿœáž‡bY\€Ò7û¯ ÎFRÖ÷׿» åÌÔyÚøùÉ;Õ…mg«åÜôש˜8ØÝõú^ÿ|n/4ÂÊŠMa‰¸ô¬ck&h6™ð³¬â½¿Ïçýyž4X¼l5xœµ—i4›[ÛÇ•¶­ŠYÍSQbV¥MÍSͳ–DËAÔg½k=çy?¼Ÿžgg%÷ÊÚ÷Þû¾¯}]ÿß?75Ñe ç¢§¢¢bÐ×Ó2®éÀ·…–øeOÿ°\.B uµ¨~ÿõyÝVœFEÅHÔ׺cœµžeIJÂýa¶à6ØyZ1ö¢Ø¬„i:2ižJå%]‰»É)°ÓÓ­ÄnVOJòÊè×p›É9Ä©vx» PË3‰ hšá¨¥Ï¼Ì;èì ?NퟞÁ¿—×ëj·F.ð·´„ähL‡=^7tIbš'÷t ÓŸ&œ§f¢;/ÄL«%Â*«ËÊÁ¡*žÂßÕÕåÈ¥±‚ƒsƒdõõõytm]¡P¡†sç:Ëõü’ÿ5”ð¹ b6Æy‰7†FK‚•¾ÄRD[h¾zvJ(C"‘1ÏžÅBæûq —èéAùâHfúØùùy)))£y•âõ5ß½Ûšw~5LMÙWÙ:>xP1ºÊÅÅõ òä†Å‰Tf)§ªªjýÎQ;ꢫ£¸6)ç6ȳ󑌨ëÑÕ§Ç}NLB¡¤edÜ”úz{óóóÓKïÆ_©*<ô™ÌËË£cµeµ_Ó7{ÙÞõøñc¬ÀRâWrÀøçÏ ¶à÷áG~>>>áá­ñññF¢jÇŠ£²ÊÊ6`v Ö‡¼Èë_z{ý‚‚r5£"ÝÜŠµ¹ð.w‚w÷÷ uýEÖe{ÛÛÐòcm„lwh[$Ø­pØÝ²Ä²æÑÀGΞOŸXÙØ†—Âö×€0vpЉ‰q°²&%%ñÜôA<ßTÛfB±#}nÎÎjjj‚‚B „Êú§¢#££iuÄvV&-Ýù˜åÊÊ ±ì-×18#Q-¢ÎÇÛ—PÓÐ$ë|q¥§§W:Sïžìé‰oÂ766ÊS(ò³ÅííD˜í ;¸JÓHžÍÌì¹¹9XJ.ÓØØˆÑ.éõë×¹Qg¸:¶nÛŠ‰²qbeeå°PÅý¶P¡œ††F5{Ð]Q…B‹?|ÏúùìÒP5P…@ ^žnhDáøÝ­¢¾§‰GR¢‹W€ŠŠÊà¨ïøûÍ!ÏàDdÕ}ÉG!Ó*(¢ŠõrÛ\ü–Q}¡Ûùa©â† Ú$ðœ#ÒßùþJ•Z¹û§M4ºŽ·(ÎèkWú\4;ñ<ºÞ‡þëkÞŽKâð#juè¹íΰ]ƸҲ2µ;Ž}Oÿ[ò÷¶Àá4©ˆ·™—Оs9 -áà'TžÑ ©t[úPÜÃÔÂuËdïɆl"Ï2:gߘ^tœ‡>¸™@ËÛìòÂÃè^ѵ%Qaw9ËßË›†¶ñZÛ êg9%¿¹ëJMoÈîÍjÖ»ž¢ ¶–^^þq¶Öíñ›ÿëŠ1—sÙç»öï¼jbU}©ò¼_“wBØÐ.è¹Ç—×ÐÚNꊟPÑ­ê꺾‘€¦ÅM@vdt`PÒ²Y}¤+I“M½ §ÛÛgG¦ìC¸¦¯‰)^ßñìÍ^z‘KÁ°ïZmAàvM/¿²ÒŠŸçcÅ×04t¨[6H0×´$ˆ ý7}Ô÷Û•µóÃÕ¸!M(t(U×£,¨[r5ûæSg¸viãæƒãôdæ許ÐÁŸñóÄ÷öPàD(V͵h.p^{Îí‹eU®A¥*Ѷ©÷^“¼[Ъ•åFK$έ Äê4ïYœ­‘ñ\Á¤^ø5¨ÅÚ¦)çPè ~%Øå†ÕP·¸x;Ee-°[¯cúm³:H¸8S\„€8&Ø;ËÀ==ž\lQ— ªb´wÖÆêÀoˆ^å„|¹ÀÀéB â"CV¿!­&Kz$UyìÞYÓ2Ö{uWdø~Ëàf׬a.´Ûv†VóÏ…ºâ¼ëšmyS£[#‘,QÖµâkçlŽ[q醱ѨTuÏèŵ¡•QN'É"µ RRu¼@ÔòH‹XÜEk¦[òÛ£6•V=ÌX©îDð=•ª·bjO±)ÛŽc+ûøúî ¢ßM†çiÎ/t¡=îa" ÍhÛ¶#†#ÊÁJËáe­Ù.Ã…•¿@K´.îŒ ÿT‰ÌO¡Y›-5ܘÄÅ"á˜ÅÅ[q¬øáé~<:éÄ9½\:Asuð«¹ò¢©™·Ï¿¹™ÎŠö «wÔ•²Äsï;æGÙM«kU®õ'1 {%Íój¡äÛ%$l$½CXž¼Y¶_>ðVüšùÞÁåÚô%Õ‚ÈÎ+L2"Ì™ç>Kå¼) —ä¶™Ô5¨…ß¹·yGÓÒÊùI©¾ ðð{™VoŸ%‹~<ÂÄ·Sîl•“ÝÔßu<²J¶uæ}tÚõ¶ÉFøˆ\9úˆÏàÀETSv3’†ßÙÒ ôErð…U ïV2bbfË‹úHkí®\MNþ-õ[tg—¾¤¿µLŒ'D}L6?3e{>k­sbBdñL¼¯yˆ[XuöyÔqñÃLŠ lfþ9ëä.z†ïcܼŽdd{¿¦Çì­9¡bíõ«@…dªæíØæ0oÀJÜJY D:n®³—¯^ý‹óêÕ·ï¿þïßÞÿôcDOIô~.§U±(Ê©œ¼zõÝÏÏ¢gç‹Åìõ«W———§—ü´œŸ½zÿë«8Å—ë?_.zožš…yöæO_ø ?^L¦Õ—k†¡yž‡·ý³VøçÂ.d„Ͼ´¿/‹_>û¦œ.ìtñòýÕÌ>‹tøôå³…ý¸/®Ïå¼²‹/ÿñþû—Ù³W0È¢XLì›_¾yûÍrþÁFßLdUE¿Zgçvªí¯ÂïúbRL‹ÎçÖ}ùì÷Å©®ªgÑÜN¾|V-®&¶:·vñ,ZÀ¼õtøÿª^«*ÍücŠ‘Æ)¾Äïí¾’ƒ/~ÄiêyŠ©±Oæ’Å4z+Ï`EòMôç‹Â˜rñùMoûïËvþ¡°—õ(aw¯¿Üz¨óÂÎå\Ÿ_ÕÃü­ù¼õr:-raM=ÂW“Iµ­p €@þùŸ—/£ÿµSžÔUômùñêÌNá²SzÊ¢—/›‡ý³‹r¾êû,ÌxEý¯«åÅ…œ_=ó «úl¶T/ñЪgoÞ.դТN¶õeâó•‡åÎKÓ=þýrª7¼Rg€âðø»ðdžçe»Šy¹°÷~ÓBàùn!íõD5H‡@°ñ8ýlµú»ÍGkGíŽ Œ¸zõ݃õýéO_ÌÞ|Í&åb!ÕÄ­™Ím?Ó³HF39—°™9Sû‰Ï¥ü4Šþµ»ö7«óXô™û_ t*çöôô÷ýÅ«Ùp%æjÚ"Äðç¼XHØOd y3G®œGͰ¯›Ý ߯7³0 _á¨_gQ5×+Kü÷¿‹0Û¿ÿ óÌÎOgÓ³g‘*ç°”/Ÿ‘gѲ²rÇپѾß?‹äHWÅ~ *Í"á©h °ûòÙ† ³é'¼s+£ê\"Åš…ǧ¥±ìÙ È¿RPl½xÛœa¸Ä‘G™/Ÿ½?·‘¬‰”¬l€‡¬„{n$éÁ©—ê?0cÕ;êz»H´BÝø$£'T¤'”$¸çÍË«ËýQ^ý¸¶Ì¯×¬l./=NÖ º¾ Ÿ$'”¥'œzÈð:bð¹F‡ {¡,®F„„ßæý+›DYwRÍä†Ïç öUay‚8$Gøä«…Áÿ̃ìÅÂ^¼–,¥Äæ.Í9a4fÚÁŸB'–&Zêh=}ûÖðÖÖ-pÇ@›¨ÅÙ9|úPÂúì./ü$äó0ýµ!~¾¥AÊ‹goZNðÌNV§w·X50ûY¬'j} ¼òàsðSh)kÿz´uü,xblœY–ÄLq'EªŒËi–Á¨áÚîuwy ã n^ð§ðü¦q¿úXT5“¯?ùwþú›½Â'Ñ>/ÃÆ–?¾}.5ͅᱎs‘3.¥Î£ÊÅy®å^ ïV tø¼œÚ³Í\^´Y³ß–¾ô<ïßÙy}BÀ€©Õ¹V,©â2uV®¹04‰³î$¾ªú“œøì…ê Ræ/^)8Ñ(-W‹h¼*K„Î]¢$ÑÖ8XRÌa»&KR™d‡ïè\›ÀÛ Ó;-À£=ýèЪÿ-±'ðªÁ0;‘p*ŒI„`q–‹\Z%dk«àJ%Ý!¸Å\c@¼½Þ²“nŒÀšp*u¸A2‘B¹â„ÄÌ ¸Kp-÷»úÊÂÜ%å_4h«ßúkº‰ðš– Q8AµœÜgW_:Ð[ìÝuÎfÄJ-ƒ«š0™e.¡Bj“À56û‰w üñE€°ð—‚¤XÎÿJà/zn/Ê@;¶®œÛá= áI¬U.R ƒÃÇÖ2fAÌ©‰]|œ9¾è(_9wƒ‰±R±Hs!§ C™uL¥|À÷ãÔ!ÇÝÁd7//:r¿(GÁÉΩÔNÆ9µ:æ ?å΂Eœ–°£YYÕv«r:¹zç_@ ธœrºˆþZ»Œ¿$[©t”»”å<õ:2ç mü?`õ'l1Újy·˜Ó³=m«èçÚͬšªyœŠr'¥å)à)°€8Ë¥r,=$¶˜ !€g¼çö øVVÖ|_L&;AÂ:ÍΣJN“„Ș§€¢:!Y&A2ÛOÂÞ‰-æ:$jSNµ£¹h§XêàæJ%xÊhŽœ¦"sÚ‰ƒÞŒ-æ:4¾›ÏËù×rGpjHBIá'<Õ¹&Â0fˆ&  [Ìå Å[;Ý3;ÝÍ¥ëIâ8e:¥$˸̅°Rh#“ÚëôÀVÈè”ÃÑ€ebÁ2Íò˜aºüc)•*Ö&ÍiºŸ”ÿ°ßGô]ƒÔ²+q™–Ê™Œd ÇŒKP‹XSîö ̨}†{kÀû\ÔÑHcÞ—?Ú3;5ÛùSó˜Ø˜¢5ÕÊT.s3‘9ÐÙ~滇€ÍøF‚þûyy1ЖfN›9Í•\ƒ B°I‰L•ËM*$ êñùÑ Ìm¥åh¼íë<èbþn:‘ó3[gHlëPÖ WÁDܦNIˆÓJJŽI <{"þøj€ „Œ[Á n6ÉHl£KD¿œ0‘$qÆÙñ ûã¨a¶"MÜÓ Üt`²2áVHà»6¡† Ð1byPoÔsÝÒ,ú¡¨Š é%6"¡q’œž8§‰‹9AJkŸkÄ£°¬`¯ˆ9­ŒØ~s+ÏÂLÎít†Ù%Õ3)ÃÅ ¤`#b+µà"UÖÙX±ûiŽ7]ž•´ý7ý¯n€­gül‹-X—µuøˆ="Ó4§0vJL’]–HŒW'û©–›ÂGÆçóoùM®Å­ðpFØ)à&ÖJH™¾`@×Ïy&œI`O a9Ý/¨mcÀÍè\‡ 1ÙÍ/ª`A¹1šç‰™¶ Ñ;£‰ Y*„Û/²ä.¸ßêu_8êÏ ]ïñ»QC21ÄÈÄ0cE,)Í@ôÅ<³pocï'Ü…P¾ ‘ñ…cY{Ón´&l¾Ÿþ¢ÂÅ’ØTeyšç˜6(Dª¥N#{*8÷ÃÑ…a¸ÆUèôóþB ‚Û,õ@Æ1·ÒšÄ,NbçHœODú*Æ>ôêìîÌá Ðæ.qlá „Ò 4%:åiÂÊ€G‹?ã Ÿ[9ñd©˜‹«Í<þ. дÃ<·i«†mQsFº$dM£%Ü –Y×$“™N5¨Gƒª›t¤ñ »VQN¿9—Ó³q“×êJµ…ò@«õÚÆO*IhŠ‚e&±¶É ìT³”R“&17ûñó;©Ô´ÑË7ºDÜoË YLï§lS¿ ÞʹìT¹‰ñ„r s³1’<¹2ˆ!Z¨=Ýù÷”T2¾x¬w6.Y¼…c[ôe‹ú‹ ]̇QªµLˆ˜Â%ÂP¢Ÿ¤ÎÚœéÔ¬=½?÷ÉñÅ#$ƒ¹ô` ‚i›tù+ nÔ‚µî¶U— I˜L™Í3ž2‘™d\ÃUqBo‡¼7mîW$ÇÝÖüǽËÿl›A5ºÙ3ïçlSsŠ&qµ0þ—‘rd‡"€Å´ûâË»˜Q’Œ©<ÓNåT¦<á }ÅÚÐTMµIÐïk¾.Þ;¾%>ÅÀ}3Ó¸%4Íu,Eâ@SZ‘}3ÊŸÆ7{V;{Ÿ0joŒ¡;玕Qe-ð$dX*Q1ç$!Ùž`÷ÄÆL¡%l­¶ä ½Tü6ïsñÿ:Ø+ºmÔ¸ÌòØeJæÒb6»qÁJßo£Çš‘?ºh¸ Ã #Ï7ƒ KÌí1m°â NƒÿZ*U†öa—äN3ÈýB î>­v|ÙuŠÊWÞœY[|´ÿŶ6K)€?§.ãÜÄp]«à‘K­ñ=/z½¤;MW]w¹\T…±ßøúÀïË·™êæê$'@¬ÑÜžr„»c~~Ý^´Ó„æ Q@’Óœòœ1óD Hš2a÷t³×„Ó¯è¾tÇñèI1Ãíä\‰­u I•Ö „w¬ZÄ8È„YJ‰Kt²§‹øYOPFµ…½6ú—4‰R ˨N53À-Œ`iª„ÐLžz ÿúõHÔ¥×IïB¨Ùøquö¹°gåüÓ׺HÄæ&Ñ:ÍSf4Yæb–šð4Iäž•wï5dtr6›\}k\N:ãi1=ûÜïC©Õ[úö)¥!LÄðã2së •:'°~µgÉ R£IF7°ò»¶ñ/?•ËÊú/¢¿Zü§®ú )ÅÛ LuÕ‡Pi,T~¨Ÿýk‹ìï°-EmQÏw’âò8Nˆ•™"ÔZÊË#SÇWsd£ð?ºc¯þ€3ÈŒLÓ„¡¨"ã1õB‰rúˆJ¸mØøôNASK 1óãðãÕ¶pO°ÜxÆsšfÔ‘Xe¡*›S8ͽ`:þî ¸ã;Ù¸[‡G ’e,è¾% pm‘˜$¦Œ8ž±ã©Ò¸‘tŽnÀ‹íµ ¬ ÖáÜÕûúàìÌÝRìG)9¡ÚiãLl2L”•˜cÍ%I-=År£jtë`ºYcª\š3Q Hm ô’ˆDšª,Í2 Hñ~Ìgï*û ìèИÕf…mkõNØœI3¢i ”ƒßg&W{ªšûØ'Çit ˜^rÓÖZc&EFhgyl“Túc')±ÄíY•å>¯ãø¼HŽYÎ+§1g)Ãrˆ±¥äWn©M3cž‚ὦmÀCºI”~Xh»$K ‹ã¤íE‹Ãapâ·þ k¢om¥çÅ,ø{à‡a×]ûq¡`Ï¿Á‹{·É½Öó¶¸g¾¿oÛš¶õsú.´¾Ééà«W]WÓÙ›L'ÅoöÆ8–ÿõ-mýUoX¼ï\Ûïöú¦¡uÒ½XE¥‹çEå[iGò*:—°Ù‹ådQÌ``/NUÑe±8‡çlTPжS¹°'QUâoÅ<úPT(ú´«‘x‘–Ó0êöâͤ,gÕ¯à¯Óè=N ÿà(—`ÿi˜n^š¥¥ÍMo.?Ä¿~]žú<2ÖYùÕùf¿aKíÒGF÷ÁæÑâ²ì[ù?ú#95þãUXf8íÙ›÷¥‡[úµÁ±ÀÅŠE›»éAWηx·f>® Ô­wxN7åjÍfnÃT7IYÞ „»î~…ÛF¤_7çQ_#< ?phí‘™÷PÇ¿}Ù˜‘¨µ_ØØnU„^4¤b#h—•'ªÿ¨|·ù†?"Eíæ¼½ Ùo´çpOý“ÍñL 5—ó«îVâ—¿ü«0gvÑ\µ¢šƒ?ù»€‡VÔþõ•8==½&ÙžìpG¶¡q7è•ö¹°ÙgÔ:lëí7ëæ©ñå]Ù7tÓòÐu2\£GtÜH&Öí•¡Ï$gÆfÔ¹˜[–p›f±Ê¸Š™Õ˜Øˆµzï¼~=ëïÆ ½:‘J¥Éi*\J¨Ëuâayš—¦9K1Pk0Í·{Ï帑ÎÄI–a¾œ€I9¥”ô$¦\bšÀ`®Pde:»Ð§/Fôd²“«“èª\F®˜ƒÜ¤…wF[LClÙëëRŠ›Ë3¶€Þô¾Åȼ¾ÜªKcïëfþuj/ý§èËè L5iÆ%ðægoà/^á/o¢m—¸k{í纅þK VüÚf¯|ëkk¼ø¼Úü?_üÏË—QÕèåK)1*¥‚EY3½f”p]îGwD€•íöG{ÞœÒVÛl|]”¦p5{Ÿ—3;_¶¥>0âäªÆZÓa úéÙéŽ+oVç×}3’¤îó¦V>ÏuR QeëÏ¿/ËÅç߃|#þŒçŸWÑ»Y?…j\îy›Ýì-S>÷DÃ?W>0wäl£ú{P¨~òÉcÑwÓålÚ‹øß–zyÑüµÖµ^–o½*%ôSkúÏ®} xµ(áëÈÿïZ†jí¯øû¼û€͵g}VßÖé_£;i^xýzÐNÔ+¹Ý²^uëêtÞìávM©Ÿyðm­òœ——dý—*B úTMán•l‚ŠUËÇ‘éÛöiŒ¢ŸvÌC»–—É’û‹ä­¸l&íí ¡OQe‘G™Å›wÖF_Mª´€/Ì]¶“…9Ða&~I~ú/Ô›íË9Ò)õ¦[IÀ?å•Ð/Ÿ‘g xM0uYÌ¡ôŸg5‡ŸIH¼ô¦¥aÁ P:÷¼<Òj Ꞥ9ÕÆ%lšP O$$gZ‹ºSɤú¹D§ Lô穪f­Ëc×Ïå j(»¸´€ ^¸­µêçH¨}©¤¨ª}”/êÓXë»=dëŒi‹­7— 7øOšÇšYJ㒹*ø”ÖoïÛÞ.äÜ¢ái2Wý"2÷<N¯oªwGÿ/àÇŸÄsíÛ"ygÚ·Bõ&RYŸÓÛÒ»> ¿¾œ õó>ÉæþYXë^~ýz˜›µ=¢æ¡5àö_eŸ¯·\óí³7³&ݹfèk*¦çv^ôªÙn-×ê¢ÿkCÔ+žÎ$ÞzakVV> 7òö(ã¡âõÑš¨ÐHSîiê˜@רM´ë½ëÃï÷ITœ©€`VEÕp|´qžRþ×ÎË5Tìà[Í^ [ Œë·‡¿õ·Ua&ž,ñdü>ê}¢¥åy<åäE³íûØ$v0ÏâÜ1™Kp?@ƒ=cCRJx»É·õ¼é×ÝÛ•s<óúÑÍç¸ 7qüt¯Ì—˜â$ÐMÒ|±½ô>®Y?NÖIêÍ_Ñ«ø×@õ»þe3–·z e$bf¼Ñ ã‡Õ" ·Ÿ¼+d3 ¼iû~HèÙ›u›=ž½~èªtâ}ZóöØŽ×nðÅÆ]_ã^¤ ûq6)t±8ˆ¼ÐÞx´~ .˜u—Uíîê£P$«¨€Gѵ‡¹’ÑógŸ½h]aÃhöß6_=CýíÚ°ë¸XV˜¡‰™bê=‹ÉÀÝXZýKSxÙû8Û­”ó¢!©§Ñ.²…÷;†ÕUh4EÓQðÀáò>å­a'x\%èàÕ¬œzÎwa+t áC³yáµúÚºh¬ZžEår1[.¢ç¿‹_G‹nŽÕgx(Aò3,ÎËåÙyçÙì?ooâîÊŒNbeÑzÚmoöfÓLûG€ƒÞÒº¿¡eõr 2Ãy1k&÷AµÄ°F"¨­xM¹¦„€q[ãšð0p'êØymõ<47ïüs­ÿ7f&! O­P ¬¨¸Lt(ahgÖã²~’³ý8¢ñ–Üfý+g[-\—³V 4j¿ñ%¶¿xåÿ>Ö>ª‹O¤®ƒNƒ©7µ×ûC´lp\-Ɇ0ÀUOùæ>a±g¦BG˜eê”#É„1 kN£ÂE–'Cò&ò€æXžŸIμ¿'O¦rÒ[Ð ¿¹bÑ‘3T] Wí^ÀZœ¬Zm7†, ¾”º vXm HëIÃÈ2K(–ƒ°&a2Ë\B…RªÌ<¬·àð¤æzá™&y ‹¨x½m× ·xp2q›‚}ŠÛòBò‘é87†ÀLjÎI)‘ä5‘e-µÛ…^i^‹¾½S*á«År6±UplµC}ðgd Ä݉ ò¹ý#'vz¶áè»–^› Ç ‚¶@iU-ÖÿmƒÙ‚‰  ̱QËn„qš¦ÆZGãLd2sqBSfH’<µ±‹òtÿ?Ýû?vÓg²˜×}Ñè—áâZ‰úT+°´w·‘«j¹æ ž.¦Æ~lî2ªÚègþà#›_«N³Ó­Žc+°©mºÚΨo8œ%RI’'9¥.g"f+q¸v{Å*0zKUó:â_ã«×íéŸîSÎóL1ì?˜#µVa­ŠUîõõ?%Ü¿VÜæ‘˜Æ÷[÷1X¿ö[ù'kàÚ†êÈjw‹ö:Êô¨ “‘"MŒÎµ‰S’*ÎU&…".ó=NžÓÓï}÷è.ø˜ñzí^cÎöZiOh©ú†ìEb$«Eÿ±ÙdYEÔ›1Þ̆دÕÇN¢kæqr‡ÊîÝÓ–êLqÿ$IMž§ÖÒ<‡?S´ƒ~Rtå.!>–øn<…Ÿä¾·é´ñÓè}¤Ä2×ôs¿Þߦåå4xYm_±‘S©Œs,aÎ…¹³Fhâ´ä¹ì tMÇ,ß,ßÜ¡RýXIÜ80ŸHܽqò­8k°Î쵸Fú<þ‡¦+¦»w¹ˆá†H2U•“å5>«‹ÊwíD•¹Àb®K_Ãâ.4¯æ¢zúÓ¶ Z”áâ¶Õ`PN€ü÷¿Xr© ™10Òl^.ë’¥ÕÒZÓ3ë³7Ë:j§Ù[8$ÿuÅ•:Ø|Áã¬>°BtZ(íGsj r[º8¹½î‹q Z8k%’c²élmÆÕÛ¥r·áÇME«šë—sö懋Y¨Ô^íUâ'Kl¬2g„JœNLØÔJ¡ã”;6×Ä=Ý%_º<¹MYœ‘Qª”Æž3&ÎS¢²G[¤fMýÈ[ì úÞ6óoåDèwÏÙUF~÷àJØ>iÈîúÎ1àÙo¡íœ»{"xhƒ0L©&÷›NjG¥˜~)ÚÃ{<äÍps<§AûC¯ÃÀIô’ž’P—„‰òß/ç8ÖIc€XC <¨æKÛv%è‚ÊKÕ>}}üØJÙÏó÷ygÀcV+³â@êªQ¨&¾¢«ZúïÕåÜvµñh`+Yæ¸<7ä¼4mÓPŸ}o?^;§DþâucâsAi®EáÕ¶ÐwÐ ‚ Di\ȯkìgÁcLÓòú}9±ƒ¡çÒ£º!u+•"t» §yþ¢Eï3_&¿\.; —ãÚBtk±ë­w‘†R;+ðõ ðšÝò²j` ¯ø¤­æWìëŽ4nÚ¥””ªÝ4,»ZúÃà·~ù8”ž”U«0ù¹¯d"ç¨ ÿ¸õ¿^?Úƒ2DP4úUvº'¸!BD6Ao®¡)a¾…HRÝI¤fÒk2òøp§9è¢vô+@AVÖwˆJ ‡ÇÐ(<ïOìz@± WøÄ Ù§çÕ ï|tL®4Õ€} DŒÚT4 µ›ÒS­õâ4‚qæW=¶X-U€öòYÀ0V£½ÅÛpìÞ< H{O5áJuÝ’=«šÒDJiq‚mèdçÖ*uN4èv¾Ò{ ŽáÊ]»ú…ÍQþ$§ò¬oõÅïj¦'£> j¾¨u)¯N¼ X¡ƒ]´P¯þˆÔËI@ô¾Ì‰(àgáÉ-æV¡ö'%rÇ›; óÎFuä/B¥Ý÷!EXõEK§'Wí¢p•/|7_“ /*^v³þv¿+Û²Ý öœÔÙ~1vâ–z¢_ …ÉPÓ¯ôB%‚Þ§úS\ÔL¶A…ŽIa· 9°Ÿÿ¿r Þ~ÒD1 (ëAb@ ZØp±» òaätþÂÉ4Y Èn»ùêql1> È÷ª î$1Äåqœ+3E¨µ”;–'F*†²¬kç¶<1 g™K¤e© 9`„Œ¹…ÍT³íbƒ: ‘üPS]¬Øx62žYgóDP“§,Ï™äFFÜOb55‡±‘1žPN˜aN£å<É3‘+Õ–„h¡ö ¦9ÙŠ KÜUNúÍí5w6¡5/ÂÙwh ËVuîïÎ ƒ§XÕaî@Ùµ¢œ÷rí*A¿Z´\e“ <"ÉÍÛ&†ûö%bƒéc‡6È@V”ÅæiFóâsûPé QáM<¶1QŸY…2g“òLÎAáº(tSå ­yh®lª]G-¹ö:ß r6ë7wÜî¿Ñ®VýŽV¾óI仩!„š6&u%Õàæž‚zN)ýW§ÑwXUÒ;U¼zÞ¶3 ¯xùÔ7)¹ñ`ŽãDP£G×GÛËk¥j4¬»D*Ú‰Ãþz†þ€™Ó²ß æ$úvÆy€­ï@é¢ç&¨ÜußžÕøW\ƒwÕ ¨ í¡ùRÝ më^]‡Ó‡y0µÔMÐ< {£³9Ö``¨a 0î Ÿ!}8t•Ò ›9Í•€­µÔ&%2U.7)häÚ`ìeKÓv ëŒmše†'yšsK(\ØXŠÄiË•VÄ©5Ml¯oy˜ÎÑ}þQÕîpŸDÕ'QõIT}¤¢j×zVŸ„Õ'aõIXý4…Õqkãj/ñʪãÆ!ªŠ8ιãDeTY«…ÂH •¨˜s’,}¬¢êX]˜AõäÛÃ%Ö+Öæ_a-°Ý÷…/Û2~’è,Ñ}ëP†*Ìx·>̹_wQú°ä:Úqx,§×GÀÂŒṠÿL»bŽm•À­á)9¹Ä ’Ð’¥èZšTçrÖÂUW™Ý<Ê,]¦d.-¦£ÊÄj+AÆs&Ut¿BfGH3½µ¥ÖoC0G8ÕZ½9îìx®û=x¼­LFc%‡\±é'rf§lÛl¿Ð$0zî3àªu„Ø|ØÁ(ä㸮(Äiô£§öì¢~&!üeц‚ÕQÔMeCŽŽkO;šlº’6.ŠÿÂg (;]RA`Ó ÈL™¶TªLĨGî4ӉܫµÙ1\ÒkyÕl7…·¸§‡H­F\ñüq®è7µÂYw |~QL‹‹åÅ‹.Ëóy“8 ·¨½(©V:ÎeÕõ=:+>Ôå¨V`ÚfáVƒœ‘:í·N!mu¿®XK?#è|'‘×Ýî4c‡ ‹–’¤.ãÜÄ Œ$VÁ'"%öQæWi.Twcë´Éo0‹ºz_¾õ§ùT±}'+þòá øpª»‡žÁMð•ûèÆ]׎lú×?lhãí|!ÿ/'^¢ÙÇ(dlJ‰LÓ„¡¨ÐTg<¦^$ÂQNc= *^ºkãàÑJZÛé¹lÃÝhÍQ{…ÎÛKõ³ÿ|ζ·úKP$ŸÃzûz„ãZS_áð Ÿ[³Ô¾Vâôe³¶ÀÍ:ù²¬3Ë&×ÅN¿è(ܹfÙ…­B€ýšàú>ÃÍ£ÖÛRÞÐ Òø¤ ¦|ÕˆÁ ðBbéÙpoŒØ \ØvB߀ý9¶ItÒ×UëÊB49á­6­½›Tj¿ýËÂ,Î1m³< ì¿Íרåè.wùî-X‘‘cµ«™ûthÄß–UÎÏêC¬¢çðÅËò"ˆû Šƒ€„®ŒÂZNp tL°Ã±õY¾*Åd²¬ê#ƒŸË%|¦ ½ƒ'ðaLäX7~ ÆWWàøPØK»[¯d•æ:U2M”N,R(gÄRFEîè^] A>i´þk$Ççþ Ï@©x·˜ã!ì¥Tà_Ç™iVLá’‡ã!,»IÍÂâ%Ëmâ¾A²/|îX¾Õµ]øðò‘Ü«.\¾ _'€=Ä`8Å…ôùUô÷ß¿Ì"}.Y,–s60YúŠS{é+iìt±H–›DÅqšRFÏáOÍskX ÿÄüÑjê7_¬6õËšï‘JÝ2f×Ke§¸óG¸W¾aq£#w¨ÖåN4æjÙËj]¬ŸË&ͽ®Eê½àQÖ—¢Æ`!ò6}±ÃX©• ´Þ,vIªã8±y¦y*b›]OêîáÎwµ‹q›ÆÃ«[JL’Å §F¦žçNe)æÉДk&®O Ø0÷N7ž9ÂèúÖXf02q©!V¤i*á‡G›È±õ¯Ý·RúŸnýö·þz'ñu4Õ¡'"p_D SeU*„Êíh\_ËXªÜp«÷ìò¨ˆÀwóy9ÿZ>Qû¤)„úxXw_‘\Z¡‰M-åT0g…Š•‰–úÑüo&oí­ò'Œ²Ÿ‡ÎNÿ÷uiØêÀ9†Õu°šœ®«=ú;|!³Ñr¶’½¢r×Ú4þÞ’ -µ%ÆøŒUÀ}û¿˜ÄÝ©Øþc]ж®4ªÆ ýÊ'|×KÄ«ÜÈ-ý6nÙC÷[Øœ5LšQ!Œ–‰ˆ¹¤Ž8F‰e ÂëTør,_Ï—Õù~=’œs- ãR‘䊒Œ1Ó4¦É'jZ{W×m{¢÷AþÕ–ÄìëüMí¼“öJÝH2 µ•¦1õOѲ=ñoݦfÐ8# |ãz3mZ’S&,Ó,™‹sÿXJ%†¬§9M¿¤÷¯—ǘNr9¬Y'·Ä%Ê‘LdhH½išàæý&²™Îh’¥‚d¹r&¡6Khf3*s,ÒÛOK%Éö›k¼&Þ0Jbwz9N?Ezéå”2Œ³­T3>}j‰ò“ßìrØ3£n)7yoè÷¡ ®/µŠÕ¿'åüSø€âyðyÌmWmYÉ3aŽínůP“–¸œšZ_ ÒX'ty œ„ôªbñ—¦´¾¯°ó ¨G?—ýuÞ5™Þ…sìNfƉæ§Hf\à‰Üp¶žJ´^0 oܪœãNšÏ“p¶_îä¨ú7Ô–ŽY4Ëb&ZÑ„N0”r«L®sNòœ‘O“fþ{…Uãï*­®«i߯O¿{þˆôo~úäE-¬&å3+€$Ê]­¥¯ZdÁ€Žî©GUlXVѤĈÄ&ú¥œ/ÎË3ßâcµÜ!Èi¡dîuµïS¢†¢\¤Ï­þÍGzÃ`µlj ×;в²A”­»ÿÀsð=¶ûÀ@ xÊ6cúãKáç3úGÄâ¸øö šP¾«uÏ_µÏ÷6Ò¹$ÝM®‚$성šmHÝÃo2oP2™/}~Ï5þùÍUV݉S,K¹á±Ìd’b&˜ù0%24IWÜÒ˜NüöRôe9÷ýxüq7Ò9B{^.ÏÎëÎ!§ÝÔâ¸Çláuoiæ4a‰ÄÆ­©e‚Z0`Vš %AÐ*Ô£Fx·Äiw¥~tŽO‘s´@{âÇÃ;:óÄ=÷hˆôïxâ;òŽq  ÷ããŠÚ§È9:Íó¾ãgªžÎûé3„k!4K쎈Œà¹±/_`¬FÒô->æ±Ï½eê~;4ÕÁö°±€â-ÚW§/ªý·ò«yœôz`®ÁÌ~3º¨S`vu/7_@¬ª«»u­¹.ätX‚ ­hðïÅPdž…&WÇjIÛ8OñégLr|Òü‡Œm\Mg蚪ÖÞ<)ëlêÅ"d9J¸tÎY_Š#NÃycbǨ¤.É܃ƒî¾Œ½c!vûšûXŠù€:Z}.§EuÒi[âÜïÞ+—@áƒ\‡DØ×±® ü(¡ê@¯ñKÆ€—E@Üó™]a¡cVÃ.z`ë…’ o÷Øýø(®1ÅvÝHv«QgòFß‚tI"8SÔh™sÐl,!6ÅF§šš¼ñ-ÀÖ¿ñà ó]A¾Yaá5 I}Ííl‹ƒÌæöCQ.«U`Þ×¼7ÇÐ=DÒ‡œíÓ¥&ÆÁsG3-bM¹{´¥¼|…ìõÜ´è÷eHòÜ;×ÜöؘëJ ½»ç¿_S­òݦ|ocy|M¸‡¤°klFûuÉj7øU)¼Q]ôP(4ÑAÕ¯޳Ànv©k¥—Õ¦¾Z¡žrU7Ô25@… }‰V&WÁŒ <e¤ ì*Ù¯Þ±>Ô)Œs²ÊM1¦hFÁ`ÄY¥ÖårÚœJˆ^¨›~-·SµQJpúÛÑMÐFt’õ3ÇU“˜ÐVˆ˜Vø(Wᬐ š¶Åˆ_}U`@¶ùÛ{7-ØAÊÄæÛm;úú´íÇ¢ZiR0VS¶ñhzqî=©ËÈÉ €É\ A~O¬ORÇcbcJ8K ¡Lå2×9yÊq¬7|Q~°ß«îéoæ~ƒ~u ƒÐglÌ  wÒJË`lÅÝ _òÅwf}ã[ùäXßêÙÜÿ{°ÂE÷Îõ0­VÈf+ª>vNX|aåt{Õàþpô|Yyåë‘pâu‘újœÔGá¶š-yLÓ{úvuÃP_®à΃ Fu‘žè¾#[Ñ9óXs+eŠÕäΨaVå1èr\©[ ÛÞŸ³Œåœœå“g¿wÊ=›<Ñ”óÝÔ×Õ¶ìñƺmΑr«C³"ÕFOöÍw­\M#ltÓSŠé'QUöJŽ U]š®ÕpÞñåTz‡|Qõ;äœ zíxí  À„‚ÐöŸaXõÌža-¨Ðà žlûyø5ûg­©­Jžü½Âkv^Ââj%£X„«…¼Z-ÅÜë#˜¤o¯:°ÈùbMƇ'ç“¢«#蟀ïên4 ñ^‹©¸éª ”¨Ô„€oŸ´ Úª§èìªË‚–ö® ¹7ÖÌ»XNŬ>U½Åb^[rWèÕjDÛgÕƒw8¬XgƒÌ±ú!Ëó®ÝEß–=1¡{ËIÛ¿T¸Êþ¾ô0#»'ÆB¥¶Ú!æ6uÚHBœVRre ÏÐä^o¾…°ŸÁ˜ÉHl5ykB)•yN˜H’8ãXK ži+wã\«Æq“%1ËÓÖ&:µB$T$™Ø,ãyÎWã;µicÅ>“Ʊ#À#µŠq“´¡óÄÆ™‘2o£ÉÚ)öã•ãgó©òÊÄŒ?±ËòË:”oHáÇù^Cãßíéܹ‰“W˜Œ¶ç›#Øs‰îËyŽ’ªOõâ$äöéêìê £m÷½|í¸èJ{•ð X ü´¦1j ¼¼©l¡ÞÆ(ù  :õ}肘V7PVKŒU¡Ÿš–½öBÕã$ ã~ÜOŽ0¬:¦Ÿ¢vúW?xèïÏ¢êïf!ny•µq¢¬FP\¯c†WQ×G‰ý,WA|Ò´]UW!š³èâG0\H]ù¨ ß“'‡ì×sçðºÝ:üš'D‘ŒÁ`OoQ†Ô¹5¯5AŠ)‚û?]Раûº­=órRÓÙ@nšº6_ ‰mx tF쥎žÖFt xqŧZ‹›ÜíÕñJiåƒwQ¿;Ðd Z¥2&J³„ŠTR®â˜*.óTä"¯WSG-ÿ…ÔžµÙPx·µ±G-ÑqXqT‡µ¬ßª¬ô ¿%ó‘‚ðØÆY¢RÇi*I¢@yN…e‚ÁjoÉ|ÒÄæ&Ñ:ÍSf4Eó{ÌCž&‰Ôò±2Ÿ4b9›M®¾ (ÖÖ:1äoØõŽ2Õï®yø“Ú%¬áñÁN ë{Võ$X (€6´:aî—ú|^¿îUÃŽÎC5ˆ¼&Z=FdEq…ÛNuís™µ/{hXkþ}!¸îå]dzƒªbˉцg8aJH iLj¦EÆž½iû_ØÅyi"ËŠÖ‚šoÈYx7ï êÕë)%¦½7õÓ›îiý]º‰ôú—ÀPX·AØ•ÉUÖë6^e&pö‚Û,WŽøš4‚&1‹“Ø9gÔ[mzKÛß]¬I&EFhgyl“TPlb')±Ä9þì§ÃX5r•ï?is–2k‹AîÈ€_ç ±CO3c…¢õ¤M‹–ÃMì’,…ý%@ÇYç m[•RG]³7»mÛB¬›yUnø¡‘ªäg\ÆÑ‰dI¬•:ËÍsÃMÎ.å6òM¤”†0ÃŒÄsë •æêSôiáþ»övâÁ/?• m‡avæø˜I·xðÞ²ûØÿ¥1šg|ñuÉÎÊyŒh¿¢ÁýT=ø^|üÎHÔê×ïPÂhï¯åï“Úwù;Ý™+{™4×Ì$½Ônô×z©Þ‡œiê3ù‚MYtûœF={Cu^.'òŒ±é °ÃGé,DЭzž€_ÍËÙC*'WÁ>³A-7¥oã»éølØ­Fν@Xo<´ñ(•¡àkßús]£ `†J?ÕÉõr%è?/'¦é"ëãÿ^†á^^”¦p>å»ÍÖ5šG»M?Éy_•ù2‡ñb\Å”g ’”L¤Ib\L“ë2ßO¸¬`ûø©^T݈³pëvÜý'ëÓ²±½0:ö˳3Dç>jTY]^t¸j9m?£XÛûxÙ¯Ð%‡š_E}¦‡þǹÕÖ„>ÅòV~Ã]ó~Ojkú=[ÏÁ¬¬<¨@c [o‘uÈÅ™O·C,»LüÖ'¶ªÂç!Hå®[}•§ÛæE¸ «,*l`ª¹\Ì–‹qãÓÁ²µQG´c$P&_£yuu‰J ƒ©5ñá³rZy?ZF+BŽQ1õͦC³ó&©›µ­ì↯†a¹-2ŸFÿ¨“j®-§W}Ú¯ÀªgƒñÑžÌx2ë l¸ºÚŽìQkOÑOÛd$[ SÇçtFâpý|Rü6¢Î·ûIN¥¤ŽPu¨û¹c’)ºß0±¨CÍAQÄ5î]ÊáÝFâvè¦^„)ëh¡‰^N°å†Œc´?‰åb*mR žØ,txðMÔô² öCïuË`ý(B“øér2YM¾õt°±Ù„‹_G?ÔQØñPWG2vf§¦.Z5h¹!æ¢;Øá&ÃN£ï}Ëóú™Ú¨ïcÛW=xZ!Ê ¯4Æd<= tîãÊ3Õ×#¼` °Û²WÇ1¼ØÄr­R>d•‡øÚYkП£ß÷`Æ&gkĦ¸<¼Â—¦å¥9}ÞÙºÚgî³Æî,j¯b9NC\Ç ±2S„ZK¹cyb¤bh«0¶wSïÀ³Š<ÓÌÀ*2ª]ªA¯wŠ+•s)‰Íéí,ãûûä,ƒ»m Ý!õ»£‹»ûDÔ²æÀQ$¨J «ÚÙº8¼­¤èU­#7"#™T9‹!œÄ‚` ÒD‘bqªW´Žfy_M&upϘNˆTy½V8ÔÿÏq¼«`¯ì¥Qkâ  êЪÈ0Æ ž3jDˆ'Ma($ŒÇav8Ðà UØš'½ ¤{«vx?âã««šøzâñ*^ûÁw{L䔉µÒþ&5¢YÃ7h7((÷¤GŒ›é†2êñêÜ2ͪ6ÎÄ&#\) ç\’ÔÒG[¡þ^¤…¡²²ð‹y[>|<ç'~âÄÇ¢†”£k—Ä«K+Œn”-ì¤@å,M¬a ,I ‚‰H„ ©ÊÒ,Z?Ú¨_Þ ]O±–&þº-|ü™êw—†>óÎ\¹h|Ýʆ?_HªÎÎ ½¯VksFÍ8o›Fø@ÝfÔ‡;Gƒø¥‹^[«ð¼Ü ÷m  `>gFÒŒhšZÆáð}fr•>ZÜ÷Ý·nÀþðûþÿëNo#7À÷|»é„ÓÙåôÞØýŒ'>Î[0–‘¾.ò)ýñÞćÍ5÷·ú)gû)g{§ôéÑb 7ÕÎxJÛÞ¶æÊèv?M·éüž¸Ü—ÛËU£Vk?±»'vw´%JˆÇ> «ŸõÓduÁøÄëžxÝ~¼Î"JE pê‰Ï=ñ¹ãçs¥ÓÝžÁîÎæÝ¨–X Uæf5Xćӱ²&~´åêk¿î†l×¢Z¼û}þ¾ü±˜ÚöäW 9øúX؈oÿùø·á²'§þÝÈ!ßSSÚ´Àâ'ÕïK9Çv–p'›R6Ãsh¼Ðá ìÌò7ÖÓPÕgx‹Z7~ƒd,ÜÒ8•`‚s;™us+u¢jÑã^ÊÏ ¢«¦¥A×9r#oŸÂiæ‚mûp×Sa°å$JV[ÖAjÛ2?6ZrÁSšš„Å*“Jq`<ÓÄž›AOh|o…Öî™´’™4w1(_‰LjÁE Ò&æÔ€âcåQÛË\׳ƒ£¿Fý¯^¿¥ŸÚ/>AŸt1xz€ŒPX«×Pe5­>Ô±ºö\¯4SÓjÄ÷H+&Åâ +xl®Ïëöê×ø¢p¡ªñ.:'Éè+±ÍÓhLU¢S#s2áØ¡LNþÙ®£WÌþR^ôkùò8sŒjÝ´®S̯m4t¨Û¿ÀvË–î"9 ¾|¹>èŸZlš.程ú2@^ý{è‹R¿„Λ+*\øZR¾*Ö÷Ë9FŸ Z5Å¡ää#¤Ïå»föº}ò*[¨ ,v_­]7ª—È( ],`ÙþÀ|äÀl"µïüàK[Á;XyÊ6q‘?­Ö®ª‹Á¶B¥¦A9Ä]ºÄÌžçÆhž'JdÚr«œÑDÐ,Âe•R6F«½xý3`ÛmËÕìÞ0ò8+Ó–ú½³‹¦5TK®6÷•úÁ7ïúán‰AÓÛ»îé(ÉãM™ý³¯UÆñïM®C(kжY^4€i„ïÖ–bdb˜±"–”fYtfA(Šeüh{-ù‚Q×®¶ÿtWg?øŠ\µŸµy^ýQƒá®o xMkzà/¿² _ô†çYskKŸÔ¶$š€db®ð™áLë;Ê¢Is©Qt*ƒÕTë"„½úJ—¡E¬ÿv·KÇbIlª2£r®ü/ÕÒZâ((qÙ£uÝÑ¥«Í/ïs4Îïe~ñgô3|ü#ܪ-sÚËç³ñΡÔ8õÛõ¦´ð¾v[ü€;]™qçÀã¼2ëEо—ìžÅP;ÅUi•Ä;à>]á[¬Ú:ä,A¤”½Ã…íÖé ƒ†EÁ·X5ÖÀÚwh¬ïô‡sî¤jŽÚç=_ǃOÒ²vv³Á…XN:3QÈ3o¢¦»w÷pmwéé ý(¡ªWÊü-/B-ÓådQ·m1Í’äÚ’¨A/ŽÖ–Ï”Wú|Y55Ó¾vüÀÄ׫ YL{}ŠO"_P½˜Ö%Ì«à¹Y‡)—‹úö^WemƒŽÔd´ŸáVYÛ 3éÙÍTÕU…æþF1êæð¥ØW«˜Ï‡"l»X ¯bQõϰWnÛÓ»uÖ¿ìÖ;j“ç`ù7œxc­«­ˆŽþ¤ý[닯þ¥‡U¢R£Lf ¹5 •Få°;-XʱÞ㤷käªOdX?L Ï©þ{;ñj{#Ó5›ÏhÍâS2;âúÕ}/e]Âúf)ìÈ´² ±ëC„Ü“¾ e¦Ë¦¸r‹ÖzÐŒ8dDž~{O ½¤o‚éÿj_i‰=òüùR/ÊùÉ*1 ÏOƒwŸLBg˜â¢#WØËÁ~”ÈYN¢U¢ýªýbÀ‡jiWûN3ÈŠB‡ xaâ¼Ø¼ä1f‘ó Žá_u®ghe±ÀOÒ˜ ȆÇÕŽ™Gf~ÄÑr6±ì¤q(5Ó7çë½uã±­£¤c1‘¼V ïøœÉ³®5l·ªpçÂ=8/&~¹¶ŸMûö‡» MÉÁ¤¥¿p׿ ?!\üT­C®²K£°» ®ÜÖÃÀŠÕŠå#uî´g@šOÇL'Üd –`ÒÔ©ÔÑ4UÒ¦ àÖ»ý3G”Ö5Òêg’Š4ËòÜfÄfL%(µyb5WÌÆÚ²õ"è.UÑÇAùɈLëpâIbz´qr­Åw@À®‡œüÃ7FêS¿rjº5ýà|G5¯ÆÔ2 Y#†œF?`{Ãiã¯mâW.J¯þtzo‚PNõ,gZ;¦öºð$ZN½2B9`i¡â_Ó…cT†žGÃ9@æúÍFkнéò²{ÍIÿÎîRzÎWT'¡ Ký¢7ì…›ÿ|Í/|YXß"+pÁÁ;Q²‰¤ñ3¡iP_IlIæ hU£@ô|¶6î¾nPÞÐI‡’.î1"ì­×‹êœÃÞ6r6³ò1ÖbH }ô mY:ÿi#GùëØSSÐδ]oËkÇ2jUX«Œ‡pˆ2HÚH*‚–„f9¬­u†Ý-}„åê˜Ó:š¤±.¬¶…‹Û[½‚Ü_õ­Z~x9_ìd…‘Œë,ç‰Ï¡BHÍx¬cDhÇå'$R´å–1¥[ÆcÜ뺟HÑäI®X+WÜÏÚTM]ÊÓ¨ó§mz¦ã|usß5|îùÚÎkøß ¹bažºIÝ·,Ðÿ:ˆ3ôùØ"€ÿ åà‚8þަð^l¬'ÿ8zjïG³ÅÜÖ$¾ßØ !s×ËmìM˪uܱr»PwOÝÎ…È€«T+e 083fseSjrù)…Ê¡Lþ¾|tÑr™#¶O¬Ålî ¤÷™öÇ`H?þV™jÔ‹lºýö£ßnþz`HýdW+|j/ÃL‹jÑDC­Æ’À^ËË x=4±Õ;üŠB;íºáp÷F; ê%¸„‡ aL˜Bkž¡ô.™ƒˆ®˜Pœ’X0–澯GúìèÇ_¶â±G_¦aîÿÀ›Xwl¸\ TÚÂIµ-9c£,§±ÔÙŒ8–+™e”LpI|KÚ·ƒB=;ôÎI#uUŠvˆ§ã;UpàèšJ&ý`;ôB3FÊ™œDÁ)êݽÓ.ö}²×ZÆÆB$¼@Ây«XÈN—«nºë5_BÐÖb^z×?µ6Ýœ ð|þ*xñJ½ìœw¾} Î Bè‘?³S`m#_<-W¢ó¿.+l«×_,AßøbR¼©æúU—~ýjHÛŸ_êåüƒýwvþïª\ÎucÐXùýôôÅ+|Ý «OëÙ¬~ö•_S¸ÿóò¥‡–Ï)|ùrÈ«] 7$€Woþ·Ýiãõ K>_,f¯_½º¼¼<5åÇ+Èi9?{…¡ëU¾÷ÈDO³SzÊZx«Ò\á¿øä›?ýrjdÚ aaž[¼<ûxœ­—y4TÿÿÇ…j2Ù2±DICb¬#j"Sv!{vÊ–­ÉØRD–‘dËÖ{i0cÙ÷4$[eoì 4ßÛç|¿¿óý~ÏïÏïûž{ßç¼—{ßïû:ÏÇóõ~fd ÃÉ!ÈÁÂÂÂy­eÔéÀ]bžÐtÊ PqÔÕÑbaþ¹^7%³°pWÞкjú0k9;Xï–“’;”: ¶Çÿ„x w VÊ3Ñ&â¾®¾zÙüZõžQä«Î )'_Ìtò½?šîꮜ?~rÞ¼ŠØ<*AäiI€V¥e£ é¦cMš}aóeËx±,»ý•ݚ؜îÝœÍïãØŸA’ñ—Äê­g³DÅ Oó$]9-qE uÈÿc†‚Ûxƒ”¬ˆ[_Ö÷{{`•þø±GFk}ÏFª@I-G¼ÙXŸZ'Íc;Òçù{~~TÞ[c(ù°rŒ©T Gá刭™Îäa³"ƒìÎbI’âââ²²‰2o$có$“ÐÑÏŸ?BÈ*^†Ñ%B& ®ŒÞâââ7&wõõšíß–•¥Ü,HIIÑ£öd(˜IQ¿}³ÞÛ^[ôS[Z[»ÿàÁöãÃàR°í1ZÌô 6_FÔ£m)Hì‹'\ßÕÖªÀáO R.8ÝXg¶pqqd© žÓ6nnn633»GTC >{* ™µ´´˜¶ú²‘VeJ“íí:2iwH~Q‹ÎLo¿ •,tžj M–0´{ïÜ9Q‡ñúdÏIKç·~ÓÔÔdPä TËÎÍõ †ßÒ9y"uªt^õº&\WÀ¬ØÄûzz.n-l8µã¼&뜲ÒÓÓÓÒ”ÕÕC~ïïînÎ+ NbiËÌ‘&’d}W×B»ŠþŽ4]yã‰b©Óëg[tºKÃ't&2õ=O;NPP0•é*•rS& …ŠäÉío‡y ^UVÊUz¾³ø«¥Åg¼6âR*Z¼çnTûô¥Aƒ!ùÞ{hdD÷÷êaÞÚd†£<™:2¢ÈËË»5¿¶¶v'l7ŠÈ,˜Z‚°:!|xœí}isǵè÷üйrU"¥(ª·Ùd[U^o\ÏvdKIÞû”ꕜÄÀ@óëß9ݳ‚A”™{Ë"€™^NŸ>ûòÅÿ|û÷oÞÿ¿·ßEç‹‹Iôö_ÿøÃ7Ñ-ßöÅ¡¤¤$cWÿðM³²¿¿ÙOÇ64ÛËeö‚ð_¾|Y*â‡Bs!-ÏE¥Rµ+Ô'â¯KC‘ ºÞušZ-#6+bii)ƒ=\ÿÑqˆhu 156¾zÛ¶öþIÉ·d2ÖÝýmCCh;îT€ª‡Åê™VÞ ûñ#×°Xµ[%ƒî3~$ÞýÞ½<Ý—V^:::ŽŽbˆa#¾§GïI3ëîli %ju©-((È®çûúCžOÂÀâöù”® Í9 u°F4¼@å1:S³½¾¾I_ú¥iJÛ°-„£õ'µ$£urr²7Syow÷ðÑ£óóóU\Í‚ªõ_þÛN¼%çrp^^ÞöòmÕ/NÁŸ>ý¨?Óv¼FL5,žn333£¢¨¡m¢Áüµ>-ŸÑC` b],z®M-JÔÍÔ™ÿŸÔX5vÐFÖV"µHpQ˺YÉQ øÖº%ŽGfÏÜà>¹=²À-¢^²+/WawÚêW2~£ ¸÷ÏÆáp©7 ²"è½qó›íšPôðãA’’ªÆ³q|‡ÂpÒÒž< ‡¬‡š*׊ëü}ežkk„yJ]ôRʆ'“Þ¼YìäèÛú|®=L%rr ,ö_»v=a.5xÓWê¹6ô¤íì&ÓêªF®”ÌÓ€ÃüÜ;~G7+'=«MÍ«å’ê”XS‚wºža6DîHçÄÌN{Rb¥¥îi-„tbQQQ +]í£aˆ“J%ZJCi¨**‘Nç$]¸PÄzk†ä?bÑ´@å"1ôÝZ–t10X¨ÍˆŽb3ši‰f´µíAÁÝ"wß}kk›Õø\§qÁÍèÍÍ@§ gÞMCI(Š•öâçÏÌ•¾¤àGáwq<ؽe>~µijnE+ L¹¼±zŒ÷?8õÏŸÃÎú?íˆ,š|½”!ÛJ";;„ßßÁHüu©Zv™˜“= ù Ñ­«ú&’¹˜n1y—ë7‡¥2¼LYUçßÞsîS~áÜ79a£ñò%˜¶TJ×À€Þ&(ˆÝ˜¹A+¾UdÐé,Ÿ„Ö2¬Ðå7h¿D‹ÇÆÇ{ò{xxœ5!˜:¡í÷­›ÕX=°ýÔЬÎûBgÜ"ÊŠ‹_Ü,PTT<ò_]m.•bnn.o¦àÖgJ0}òäÉòòòXOQ÷b%ÀÃÑÑQ0Tú5¸Æk žÜYí9ú—–HïBÿ˜‚×bÈ_=2tÇXI$T¶ý×ÊÙv1¼ÑË—/åâZ[[/]º¤gèFÙŠ8ûŒOÂ1>úéÓýý}+kë"½ y•DUîsòÛ·’êê6â'>|°ÖÂý.kqÌ»>€¿fBx™' çú¥n¸¹Íw¥\Ðã}_gìªßO^Û™ OLH ooÛ½sl=ØÛYïØ=›ÐG¶Ó .3]ž>›Ö]aCÚèYNÕÂÍ|ýúUPH¨[ºÜâ]‘˜Bˆ}öL€0=Ýž˜(ª©:ÒèÆÎ÷.Ý6ÓdïØÙØô|Xߨø¹²bGò›Ý[m2L[šlØ[Ìgcc£ÓéM¿%½…EcãõAU³ Ŷ/Îò¿¦·ö7AøÏŸ?ÇÄ€² Ú·ˆÏì“s Âàà ­­­nšŒ üƒŽgð :¿ªœàƒHÃb±\€ÌƒwV’ª'*«Õº.ššÊC¨e÷Œ¤»°f¼(þþ`ž6'''lÚ¬Ä|0üV‘anz;Ã5446ÝØ¨ñÎB°¦ïE­6îyª«V´óM@$µ@ë»!d#i蘸+_3ü2íˆã»t\ÅÐ"‹:¤Hv`CºÝ‰g‘ƒÍÓëK5"´í™¹++«.éT ²ÑÀcmlø G”ñ×ÕÕí†4nzy² 6Õ¼3æÓ”€ÃܼùžÛÏF*%5-M»Õa/gÑ}_úÓÕ¾þs/ÚÅ©¢—ÇcJKK?^X…òȪŒ‹ƒ£øíÛ×%26µ<€9ØÚ^œyr²Ñ©kϬææâ²'…p¤ìÌFO“¸Ër²C,{DæN£Ó;û¸ÃwÈuEn” UÞ± Rå–½ö†W³á™GÞw<~|dî¶:,#ùHU_‰Ó"éÔ©†‘ò@ù´ØôÜ®Ï Û:ÙOÌ^;5Mys×°ìT®aJs®<$ º»Ë On%t~?3ÿä2ù/Hm¸ilLTÌy϶=Éí3Á¨±6ñS’ÓNMU:ƲçñèŽù‘Í#ñ¶ÚÊÊAgÇ ò`Á+aŽ9ûû»a0š¹ý| _JÌ_!v “è‘ýÇMÚö.¨q¿©ÁÜïNe:@™ôŠ1>==\îs·ÿµÐ'?yJnØéÈɰ=vÔÂÞj É;Ϻ6À؉ü_ËÿßñX—IÛeÐi¶JЖ‰:ÇÈR˃rQòë×'’©¸¶±ƒƒÃP¡¾ÿhÌJ^QÑü\ofùxuyXI;0çv©Å÷Wm¯çãÝJüþ+‘¿²ö3H0•*0Ùm ¯ßßèîìì,1/s,¾çáÎX,:Ê-¢—«qYUu—8bw 0ÿL$;ëU4ºã¨hˆœ[ŸðÑü_1!!¡ÄSÈêpæo’ÿ|5‘ºÞÊïøNE^þEyWoïä»ÈgÝ’J‰"Z'…*·~W—Ù¹95ïã'‘ïûðáC˜ßàânóãÃGý*ÜJÉÉiÈÈ‹}i¬¦ŸœŸ–6¤oH55aåBÌÌ~___ÀW„”} Ø•lÓþ‰3ZÆŸIl‰|ÂÂ! ºKwê`ÜH¹-øØ1‡b€ÍyùùËÁê½=•Ò„ó±ï-¤ÕEúÝViCP^ð3¹@ ·%%-°£ìì=¯Átì2Z˯Ðý¡ÀÒôoÞT ùµæÓt° ÛÜÜÜYœ8þÉ̺ÚSè –ÜN¸î„Áìܾ:{ºÀÆÊú“F‹ŽŽ6¢o2EôåäÉ2뜌%9`3:25UA½§¹·¤€NÑU÷NŒâ¿M&“åÚŒ¨/Îé>Xþš’œº'eò˜ „×XGıóĆÜÉ\ÙÕÉZûQ>$åv%†@¤õÚÚ’4BïƒKäÎP/¾Àå|•¯BNïmÖMÖý9üR999[þö×L]\ž¢¨÷b⦦â74ÎÎâ¯a«ÝÚ!¹òÀ“ü£ÌÛw¿ù$•êÖû‰¢—G¦“¸ºº\vññYX,ïeÕÃR(”rdJ°ño¹ºîÎ÷¶øÓŠ÷-6wõê|冔j#$qjÕr’sY]OïÕE•®vßœÎ|~<]™ßVï–)5Zïfø xêêuÛ&Ã#;¥' §*5Ûß—h—$Ä-ølH]uiJU™b'qMVÐiJ©g‰MK¯t¤öXÄwÉåæñ·ÆÒ­šjd¶õâ„oÛþˆŽ$/ïÿHÇSÅ1 øÅeê²MÒèY¸9[c¡ìçwx”£ÅìçW¬|û.´õzAzbBÄ8¿û[««6!)F¹ŠÄ°*¶X´%²+Õ«ÀUÞ›ka<¼/Nê'jpµ3£8ñ÷í Ï¡k÷æ{tù,p壬àštDÔÂ×k½-$É"ÐõŒ™/ŸyUR õùýü¶'B{éóÜm­ýu„ë†Ç3b)+;,U[FSË£7‘òÓd ý²'±”sÿ‹T¾àƒ–ÀÒ^¢¯N¬<±{6Kð“=ô1'Äf³ ¯£—Ðr’í>y.„ëu]!„«¬%®}&uùB ×ÔTüF¼3=Ä©¥è¼¿²²’\f#3Ÿ}–g©šµ\›ÔŒ ¡½ D?Sòkâs†77j5|Ï8Z Wðú–wš=ÿ:GÆÿÏL/…Uba¦áû#щÃcqñèÿ˜3tÌZïSýçP²u”%³ÈL±1N¯Íü™¯ÃÞ²ÏÔÇË!aaÏüDö÷›0_[šuª˜‚qø½x‡Ùކ·—W@JàƒÆêù³ÄŽ;KÉ„Ó ÕËôÚ’¼¼–·z㤴[[U×*mê®¶ nýŽw·¼¼IÉäÙJz«c% $%á ̳_c”·Çe1õä4ƒ oË •½D²ÄÆK)AM&¿î1³°×H ¦Ôø..žž7?´+¦çÒ˜ÐkJ­2·‰WN,†¨b^¼[Ùømk«–&Ó.UÃnÅ(JrÝÊ‘±œ2Ewát¾ñ$ΕM½GTT¢*Þ¥6Ch­”Õ7.¼wX9Á&Hpº€éM€Çîr–çT¶¬[3‡“`~óGUôæP†õža=#¨uëÔµÁ³ÈAÿ«CŽÓ›ï“zE†¢FYÓÆÀy·|Ä÷>Šrg6Ѩù‹ìj‹ÇÕ8ÓõÁMñ›Œë«4 ƒ:O2ž!çÃüã½ÁÈPöÁÜ­7SÎ?•–Z¢©‚[[‘Z™}¤22z d&mX÷;:e1jÚ”<Ÿ-ðð)¡h¶«ó£®©2„»ªúF^œÞ—gè1iÀ‹Ví1<ò¿µ‹4XæåšvÈè %íYnWØ™ËήrZÀvÞo”KÞcûpôŽ›ƒ£g I!…øµ§-¨gsXAAa1.™ÿ‡Ó¨õÑ÷Rš  »÷£¹ç¡°zè…Pð½*Æù:ônMIQ¿›zÆ3gúª* _Z5Ë_GÓ(ú5!«äF²$ôk9Ù'k¹\]¹ ûøGS}¸ìf?Jøââ›o¿œ˜„h&ºUè"+º§S8!zßx[¥HVbû”6‡LÏ ¯kÍúHæ¾Bnx°R::REÕ3¶§‰›š!ÄØÂNcµ\U6 QÍbÝÝûSKMÊ)<âg,ƒÉ¢´ÈHáÐ Ók? x¾£Á¢/1T¨¶2'˜25ž»s«£Ãc8M¶3¬éŒÍqŠ$Ó)ü¶.:E•¡]ö¨ô•+šm¡!!Óá E k…d§«,‚_lÏ*0—¬žž—W³)ª³ÍÔ‚©Bå¯ÊU]αtæ]¸ oÑx„–=D´&}$›R%Ò–‹XEúY§E°„ú×z5„0Á9fmNð-EßÇB¿¾«_¨iÝ~î[·˜ëíö{C—ŠªL¿3š éåvªÕ²ÞÕíõ)N“þßó,âaçï°bØYºê·^:ž›o ¸ÿ¢pE±ŒJô–V®º|v ²µ-é §\€ÁÈÞ#Œ³?=¾GÄ"”üé±F¶G?÷o(²ìIÛÏzZ‰ÇÈ[`¨ àÈ2LFV¿.6W·ªI¾†™õK%–4¡µûa±*Wa¨%‘¼_ñÆ|UÎnjyÞ9M4±OÉ­òe :I®–ÚÖS¢Øò ¦ªJ„Öá§Rð½EW׋¾·œR×}9²¨ ÿ"%%“9ÍÑ­PJ¯-:??0ñújGÇödøÞ<Âè æIàÀÞÈÝòÎ^·Ã牿~ú®'IµÚ7ûÛŽ-kÙëþ¸^nÉX=`o¬Ëï}è‘ú²(x²èæ«i§9#£íÞ¼ñ\m©™ŒL×Þü‹Å+ÕqÔòJ¸÷„b£‡ppp ãx®²ÑµjÿxÐÂR·@@ÓxIR’æÊ¥Û\«iù¬¸’Eþmi"%³0l8¦ œÙÔ¯‚Ý÷üΧ…³»,IÎÕ2?û¨È‘ˆ$ùK¼•¨)âßöÂÈàzÀÍ®9‘—àåSB¿qk×·h‘×kO°å”Is4g77RHßᑿÐ\]‘µ¦Ø[&¶0ÓÎj_¢ZÓäŸýƒáð;wHH–Ë0ÃÖUYçä\O^¾ ¸2v½r.T§1òuZøÛ³”Í$…7]ð(Ʈŕlyae$ŸGP šM°ÌÕê–a…„¡úÙ»ºù|®.ñSQssµ4=9²—êªWYayË´%ê[2yÜÁeÆšQTmA´Ï{–nàtr¿ê¿xÜÒ2UªèòÃõK©£ƒwÕøF["¼ï·Œ¬÷¹ííÛ§½R"~©AØ®ng£Q.¦Î­Ã)Æ›§“î¨wtªW?ëj0W[²Er¦ç%Âà×ÖŸM%»ÔBÆ]ìóøÖ‹µ¿sPK±OlÙ®Òz”w¬}‘1ª 黾rßW‹£?ÞnO`>>pÞ uç×-š»GMO}žbiÛüâ€ð!J¸¡•P…ŸžOŽP1ýNp(Òѳpª`hõg+¦Z/xBñù=Ê¢rЭ#Uû¼fw:Ãuš¾!ƒº‚cèw&‡Òò|bgJ§ŠŠj,ð*›ÌúÍêsþrŽá†ÑÃ[™Z;Úç &ŸÜFsª96 µy.éŸ%¨7$ÇÐ ´CÅÞ‘Bqé>’H¿GøäUtgøÙ©ùÏÈ(KuޤbÞKôÝíg·QAK``ºå©Ëw7Üò…–á¡4¿£»tϱÄåyJ0øËÙqfûúÄ.ÖT„gg³rm|Ê©Ö{ÄÂÜutbõë•“ÅbS“dø@¡^®¹â«Ê¯‚h}‡c³ÕŒ2jš­-åD[çü pÀÊû“Ý•ì›õŽ»ljŸ˜§BÐ@šªD>5 qNÑ<€”¾~Å1Pú¥Å.½º à•F–×ùÉg›MÀ L\§”ÂÕ•¢,o4ë|²¨`*Šö4´nió¨a,…–XWð Ði˜®@Ðßþ¬‰ÜåKæ)0’`^UÙô·ä ­”TO4`ëwl<ù¯+ÁÄ3MúÚŒõèêŠi?wáLN‰ž|·'Ž~ÕûsÌìç š4ÑIÌHÎk§HÎý}Výϱ’žÈÉ ¯>žV2ú‘¤?[†›¼Ågá'„q²H–jˆ¼U¡?}²ÏÌF,°ÓžhÓ6¬3W®goš#S()yŠáØ?÷ ÇÄh‰øqZ1b;;;{Ž“›Êª› تBògÒÚÚíoÁ3…AåšÙ!ᥴ"$¤T¶Qí(táÌÖ'[E(ÔG®‹g#ã½ièá¡K"×·FÝ =À‡›Á3áªÖõþó©"ãOtG ¿*Ÿ+÷¡üv\øs˜HšÇXh ¥Î„­ô‘¾|ÉO×:‰(åÄõnšÕ ¬\u330¾ç'§W Š4b3†ŠTË taëŽ;›Ãæ{sCnÅ\÷¼I«gû¾—¸mÛÅ6kf6¦1’øøO>¸9jÇû1­RýÍ^GÓeb1éÖ)ÚKˆ‡aã-ÍNÀÝ#>=N~Êüø]³÷©)Ê*;r·-T'qÉÃÊ×IüÖÜiÝdÏÁä¥3RªÐgÆ~Ò $äÝÛã¿¥Â礔Nl»‰¤<ÜÓFî¡P%rïw.xaÒJ¸AAâGw ê´¿"ƒBð#c }Þ~—Åâ­š|ˆå6,ÒÒ/'§éJ@®€¦K"ð:<›AÂw¢¦)º«ƒ,¯Lq¨ZñuAº9…† ËX--~ûT™+zŒæ|´Ÿ³¨’%)…Ï–IÙðv¶•Á× ÿWw7Ÿ ɨÔhõ«òxqm¢Úè\c}tòJÇ$[›xªb4µ1UYéCdŠàL ¾¼<5ö€LÌòå³»lØgÏJ.`>Ÿäñ%½Ä¦w_BÊrÅUUî'²ëÔñDDЊ´ÍTÕ‹‡s›1:V?!†~²L1<‡ùìºR“'óÙïáøÕÁtMas¤¶»Ó"T Ü;Eâ#š¤óm#¯ DvÈ(ã~+ü÷R@£NßS< É–Ž“àq¶ÎH“ä}L$oÅ5ö†T½\´Æ#.zk¯»ž7Ó²PíVìIˆ |@¥z?9K¶–ó®´ä_䃛থåþKa~|0Úì¾Ç)¼ú°ÜȱR3¨V #ä´¾à9Ûl€¡eš_]=ÝfþQa9õäòŠÃPó‚‰Áfêƒ~Ã13 ÿ„‹Çˆ…sàc7T¨[èæ>çño|p8­”Æ‹w5#@©ÊçU2¤Ý,K³ÄG¾B2ø|ô×kÒÃЮj²²õN•«ݦíHå#Uø°%8s©Õ9ý©’U$l-­/Κe~Ð4:Vv~_¡‡lc9Ø )ùL7JÊ퓉„4»˜*ÜNÌ‹f—¢M1ä×F4P2JkXØù©kíH©”õáS¬/ü©¢aà»xx9¦²Q£9@ñzF¼……3¸]M­mt'?-3(˜B䯀¨î%²ó›… E÷Mµ‰ó ´Z%Ý6ût¦Èäºöë‰ëí ×”lïU|hÐ tt¢î} ¢š7œŸ?qï›Ûà§ ñ8ŠQnVççózòÔÚUù¦ ;‰9GÿòK_WD&@x U‰CÔ aëò{ÉV_àÄ.Q¡‡cËU²å ^sú O$øNWÏDe6`OolÁu,CÀòZÜló¼åaCÃÛ¨»ø§«øâx÷s-U3{”aPW¬—Æ„H \ÍTM-×ó‡âטmàßPV‰ö„uuEL•õÏÕú¡ srNÄÂ7GÕì%zæD'µ_æV,É`ëiŒÞšl,7XÛAø©³²=óã·+$´ÿq8c^‚•ƧˆOí‹gDÉÙYGD˜~²«%Ñ<[7µÄçýŒë …U¥ðS›ÇŒAʉzßâG²¼oü›šþ[ t w~TnÕN{¡Õ9_%â‚)×Ó¬q ÀÁõÿq‘˜åK¬íÂýÆçéãed4¤üþE0Ž£ŠŸ_!_˵Øðôï ¸ùÚ󃇷 †vsqœ›HÇóbhüí¦5ìÄ\;BPÞW ùéàrº"›Y”®Mzïvu໿[õG}å7‘<™»æF[þáR"‚Jôª^ߎPƒ iÏ5äzÝô1Ú*´±*¿¶ƒÚ ”’bfZ• l ­¾¬oÂCMj†…‡»žqk:ãöa<¹ß ¤ò9Ì+ÔC®@zg‡ÛxÆœ— g²ÅBºÕà¸l¦YøZpÑŸÒØØ»VÙ)SD:Š"$äpˆ¿DñLõUæ0zUqÒ÷€Š(ÜõªØYˆ?Ì4$<ܸÙN-Ý\j%~QV-H€WøºŽ«+« &sóùùE‡Æ„âǬ[tºÌýG‡G£R õ›kmíí¥ì.¹€Ë&”lo ¨µU·ý}HˆË΃ΰ„„˜s‚°t&#_‡N±AJެídØŒ^ƒ{ÄØ-²!Z‡ü~¶Ë´–}N {›*Sª ‰K2Иƒe¡™YC!¥¨}Z;ɨ¨ïM¡úõÍ{·ç’òY¾OÎt&?=þ^ÄÞèÁgMN¼v 9ž[Òûà·Î7—ž¶ 9…j/¾F­6Ùp r”ôV‡ÛOb ô[®~tKN &©\hëàáš ­Âõº¬™§dÆEÉïÉÖn_Ég‚e9P W^;CßÁáwcû^2^jöE÷1—Xk¯¯ÊûùÛ.fÚNLÓU€‘ºÅ$5V¤$/¢(fL6NâÂÚA­c• ‚v$Tý»³rò|Ðuÿ‘œ“ÑêswVàÜ䜼vd®®~‡·æëtjØ@­Cé‚ùE¥Ô¼e °ì@€‹íLE€ZÁ.DÞ×N7§8Kƒïn©¥½Ç7ÒÞšiñ¿sou§ÿ³éé)ÉÃά@&ýºÚ¦¸É3‘s:o3sÛùä*sïc­ÛØ¢P9ŒÅˆç/Š›Köà{U6¤æ=Åp¶:Ãê©¥§<±)F¹J¤VCcè~êñqî7*J¸uNãÂ;“Ÿ‚i!‰t¢ºÆG˜ipiWåX=?¤¤ÞGDŸïlŒüayâ@yãvFYI]b ΄; ¥[žÚß¹ó(”ñz@²2VÒ.U ßf¢ëð÷öíhÃ!Ëln6Û‡]}¦É_Ì1vyš yî¶kˆ¢h¼‡Ñk½Y¯GRÂÖ-ÖУÀ1éŽ*Oò5>xpÓ%K¼r  &Ó­Ôn•4Üë »é#-T[©ß:j3ã¹A Zj~¥ž¡WVk_ïŸq²·3CjlLé;Þ‡½³ã°4‚ÚÅ¥ë°l†…FôéZÅÑõ—)pË9'úÖ´´€Ð-âë»j9TÎ%%[•é™~±5‡œ£©“jz;×-ãÙcÒøcˆè¢°F'?q]‹–ð-3\z•a&$M Z³;gMm9Uj ã0w?pJ5½C&Úzº í´`v`ä±?t @SQv¡"qƒG÷ÂB:·†e€Ž7†X»‚Öÿb¢ÖÞ|yüK÷º»«êêFh°|¤Wæsňd2ã¹â—¼4ÝQ:Å$wï»\‰éVZ5@CUS>Ä ‹û&s+ïÍyy¯lÈ×XM!‚ëê ¡÷÷/%vž£¾µ]_í. –@¢iz#¸• TÀj^^‡Ûyà2¥Ðû/Ž~ý<» faûßv†Î|Þ»Ø Ù^»ô³Š¥Ÿclç`'{gÛÌMÍè™cf–”a´Ê<͸7.ÖUnÀÂî†f«sN„ɽ¦ÞÙ= jôM®œ(à€D"¿óß $s#Ä"Hf“SûêÝ2EÏ–N½F2W.½Ÿ=ûæw'åñg„Ūª]ÿlcÐúzº38’a˜vuQª‚ÒBŒýsD˜ù× íÏÀ«›•¶%>wG:ûoÁ˜-õD—q÷ÅÿÓpÅSÈýá迦zТlèù¿rŠøÿCÝ|þëðNÓÍeO¶él|b ¯ÇfØè ³áï6rr!+¼­±ÐÿŒF{$÷Ÿ-:Èêuþ1||왓ù÷ÙŸâ?I«ü÷CËÏLQ†1÷KoˆC…9µ:i`/ey ¹ “÷ÿnïÑU ŠÕŠŒ@]™ŽxœÝX_oÛ6÷§àT H€Ú²%;–[@·kdÍ:Ûž Šn2n]Œòw­™U5Ó_¤2[iˆ®×–æËûÐ(qå5Ym¦NB_LVD´:Ùm¤F¤>üP†]ü[Äö¥VáÕ…,g½Ý-_¸?}Ke·Ý^còï• ý8§“pÿÉ»m_>|À ï4  Ûø‚÷^Aÿß‚\/I%EËJ´Ó„×ší½²Ú`=B:¤1oK˜¶…øŒc¶')jt+$ôz=M8± ÂFx :3~àÀôV|'·Í¸¬`¢8Ö†´,h>µ|Ž…çˆujµ¢Á„å~Hèý¶âú"["Pv¢ »¤CÏ9㱎¾GG}Ÿû>»ð)8Ž…‘Wƒh¨Þ"Õ DX>hšÜ#,™ÜÇøôP?bˆ[†áEÿª’¼Gý¾M¢KDfG¹±ï  ·‰L Ÿ1„;ò.Bè3vy<ŒBÆyŸõyß ûl0vÿ“†8zß\,tª¤¾û«æÁ, e*ÛÄlðÝC·©JÛ¡Û”¦ã Œ¹þhäŒBp<ðcö=oì»!„n}¿6¶§9‹…´HÂñþYZ‰Ê†_åó0P;<¦³G‡ÀF‘úÔõ/C?âÞзïûƒ¿§Î'Èúf1òNÐzì„®z0àa4‡#×sxÃ^xÎו¨'´>AÖ7kmrlWï:Í:Mެ›ˆÁÕtÓJ09ff‡Ž”L&…®÷&kÚÝg»0ìþ­µê‘E0Gˆz,À!¤S*!5»l‘ª¤hÁ-IR„Û ê¹½xÝ=†CîŽù,tüÑ té8‚áÐeî.F;Ýã–Ý68 mo@$åe |‘šÁ;˜@¨Ë‰ÆÚ‘X›õA»ëÕÊTá*P=Uö?cEÏlÉ(^ñ’0š’`J;¹ž=ž©ód…×s#æ àF:æU-Ÿ !± ã|ŠÎ6Lñ¡(ÒàØÝfcõIFæí“¬jN¶1 O›±ÌhBJÀ)rÂUð;ÚæeZ .ðƒíïûºRO¦:ïxÚL§˜8øEV*¹0F~N³âJ§Öza&Ø"æ[yv¸€œ0O™/ˆ­,­ µ·ZH¡„ù2п½¬ëDóV¿—›ýÈ÷önãò²5Ä›ZÔ&Î,®yšx®¸® `p~ˆI{­ªvÍ}]ó*'´•ç‚Y&áÇ”X7ªÛ*VËDÅz–1aó:*ñÃ?¶Èß E]V:­Ï‘§¼wÂøÿñžþþ·‚½VvÜߺ¾™ªð‚<íÝ/©d˜¡Ç¬àxÄ|_Üfâø!‘×SÞ¢<†ÿ ܧóõ_K\ÝL `I”`?mÖ–³Lb·mðDVÇÒ6 šo×k3ATýÉœT,iIî›S›HЬjÓ"MÅRONVåeÓÏKÉ즕öi êc)’ÕcR°ó¾WGëf»#aw7+ŠV;Ý(­OöN•"!pÖ°ˆlΧŒÅ›³‹­“K^Z™ãËíS¼ú4ËôÌúD«±w}BhëAçÿáЗÈ`¥t|âS6ŽxàS² €%Ñ­úW½‡ 3-‹Ò’Å"Ç·ûŠÑì$qÑ謕ühõÇþ‚] –Nò5çmL{_;ßDò‹—{Ô§þ$ðbBÌÁ§£éh’Ò0ˆ>f>óFãÿšúûùöÔçb¥î3Ü¿"ö¯ g×DerôàìRÌvpvyfhúY˜Ò)e4òÒtdqzxAL–M¼ô›|³±3­X.¤C ŽÏÈÒJ´6ü&ÿ¦ zaæ¦û´Æ´éËâŒú0€Ç“0&¡?†0ðÇ“o‹È'´>@Ö?ÖÚÄÛ!zQÌÆñ(öFægÜB?ˆ=/Œh¦áQõÞ/ëÞ~#¥Wåª9@ý ©ð(¥1@ÈÆ©?Ð5œ³,õRÆŽìÈ:šú—Euþܦž†>ƒ8êøÔãŒr/¢4ÎŽ©ÿ²Žö'BÇYà§YÀƒ)s~4ÇLFH‹Gô¨ûþYG4Àΰ‡ÎIwb¬‹&ð« Lé„GÅ…Àzú&‹Z×7æ 風¶¤¥`Ÿqáµtl Á:¹F^ºÖŦ¤áÐ(!5ÆrUª¢îqlHÑìäØÑ¹ŸâÜ q@§,ÀÓË÷½ˆ±Œ³4ÌÆ£hÂ8D°).imˆmóÒLÐÖF~ÑœZΫÒôÉ –z{ŸÎ\|@„Ä‚›4¯±6~#ô £ÅUŽ¿[¶ž¹С˜yÇ|=©—n,b ªŠ  ¿h—¬Ùñb ؼ£œÚðí÷»ê—OÀê=lQk¡»þ„ú`k|•nk„o€ÞKy²vÛyÙõ `š Ò˜Þ€«äòºl6v øÎRöhqªÛHDxÙµ’˜αÛQrÅ0nÉwtYŸé<±¸l…Jbï¾I»óâÍéô·RŽÍßΣÑZ %L¯ÿ×:éu_õw¹yѯüÑ\k‡ÓÓuŸmÒiQòbÇ੦’Z¬u6O^îéµ »{¶i»5}_e.˜crH玳àÖž½-TÞ6#voWO¯²ºCJ%ÈŸ …Í“'½Kƒ§Üv@÷w›¾–s’Gò~G·IÌäWäiÇ~M‡ N²?XŽËÜöø´kå>þ;é>ðÿ~äë¬ÛÔÀЬÀÓuÛ5f'ô5’×›A%°;réšã›o'ø>ÌÛ ±õ¹õ@ÂÃÙ¬®{GÑææt}Uøèú4Bf7Ù\Ät—v[·ó¼½ž5WôÛ×ÕöÚÖ:öê¶³·½ wõÌää/1Ðt HH-^š^rxœÕXmoÛ6þž_ÁªÀеeÉ’,'¶€.i×Íšu¶}*(òd •E•¢ó²_¿#EËVâÔ^ç[>ÄE>÷Ü wœ=»øp~ýÇÕ’«eI®~ýþýçĸîoãs×½¸¾ ¿¿»¾|O¼áˆ\KZ5…*DEK×}ó“Cœ\©úÔuooo‡·ã¡ ÷ú£{§±<½Ø>ÔÖÊ!WÜINfFàݲ¬šùo:¶«Í\ – (ÑsðeUÜÌsQ)¨Ôàú¾‡°ömî(¸Síâ3–SÙ€šÿzýv;.‚¨B•ü|~uAí¼¤MC>B*3·ý|2+‹ê3É%ds狲¦qˆ„rî4꾄&PQ(ÖJÓ4ºk©¦‚ßã/nÓ"æz$ÑÞÀ{-ÆÊ)*wÃVçKZTäŠ.MÈwË‚s¡Î¾¶ÚŒ‹7ÜZ”V»vð`¨¼I%Ëï-Ì»õûÁ´ª„¢ ¸Ex]–­©¡Ñh'´ þ< ÈP!<Î%é=¹w÷ ¨0Þâ¡7ôÉ`°žlæ*Q·CÃ:­t B¶‡›ÕrIå½cLÞ²z^¯ÒQ.xã$W«´,y»ª˜ŽÌ¦Uî¹çg–P¥d‘n–\Â2Ù. V•¾ð–“‰%§ÏÖŽ=¬ÝhÞ>TÝF<2;9™ÕÉ;Qò†¨ר"#¢ÒÕ¢´Cµ(*E2!Iç<Jg;„Ù’Öyë9bøÎפ.…R4E$ µ„å"0¡d¡g Wjæ rBhHÈ é̹– u7žsÜÓE‰\ ÃáP¯™¹µÞ¨F˜%¹4&çÀôTü&·-<œd¦8f€²©i5w||ÏýåVt‰ô{Ž7øØûz¾«¸þ'{"Pv¡`yJ½lñ8;·nêtváO/šfþÜ~Þº;ΖvCÓÂדI!u¬±  PþùŸ}6úÏ8…æáÙ‘»}7ûxq§Àpú¸:¦£Ï>kÎÏ.góòÕŠ°/JïÀ'£QÿëúüìÌ..^d’—Qýq~î>ÃE«_¼þåÜMÆ~„¬S—iý±¢ü?6–;…Õã?œO=òñ5¯Ôã`qxüMù㚆³n‹Ù2zœûMçWéÞX˨!é: m2O¿X§ZóÝõ[ëZ]-Aiqs š½ãûþœ¿þz4ŸÌ–Kë&vÍ|køq<=ÙÑIî ˜ÛægŽG£?Œº©æÖÚ!eÖùc€M?F’þ4[Äããcœì—ŸÏ×»ÓŽ ~„?㥅IŒÂØBg£4[ŒÚf¿h§´þ~3ƒ *yø [ýr|v2ª~cˆÿû¸ôö÷¿çyϧ'/Fn¶€¡|õ‚¼×ñÌÎa »7ºàû#;¼ê87HÒžMíÀÌ5-ŒÃu?!ã/¢Õ§aj\SŸÎB¤/6Hþµ«¦ýò—váÊÎe>ùêÅÛÓ8²Í##gëX(”)kas ؼ¶Ô3÷è±î-u3]Dj PWéê¨âê¨"ç|ýpùæpÿj/4. ó›+F¶°2#6º< *ŽäQEÕ«2åx+„*LܰÃYƒI£,´;©çv ÃçS ój–°?×1Ÿü|ð?‹µÆ¡×ñ2ž}aƒ$•>'¼õ†)/b”ZxF=ÑÂ4Ýwoýoý5¦%Î ˆ:>9…O¦/^ÇéùbŽ$ÿQº¿ÔÄoëo9`ÙÙ‹×ü¿ˆ“Íåémà-F ’#¾A¹š‘lˆ”9QqN¸ Ô;F+™„ò†ƒ´é@‰08êï‹ÙYá>Ï<øúÎY±“)}fìI•a†$Ì0Ë´OªÒÌ»Ä%ã::铱ÂJ¿×ZÜç2 ¸}!¯ÂË›Úýúã¸nÔ›æS~çßßÅ üp4Úçe˜ØyįH¯÷• ư¸Æ+Nep\8Æ’ód/Ò¯F Âèt¶(¼M_ÈA Bë啳î´Ï²|û»n×Csk<·ÜSØÞ§àHŒHåƒU2²Lï@¶üdç…@{q‡{òéËÏ,é«Q3Î!¬ NVY­§BZªEòRé ü_¼KúnÑWVšïp÷¤èdÕÆd„Rå•I[=ù®ÂÐBøJ€f¼Ht3N‚†z™¢TgNäB úðâ§ñô¼Þé_&çƒÆ»wVR#£ìc`ä1*•¤Œ@ЊB‡¹|ƒƒn–ïoHåO½€ï»A -³É%Ä ˜`˜¨¼4 D•’ɰƒ\ŒáAæbl¿ŸVïl³£´b)ré‚£ÄEš §:rÅmˆÚÃÄáA7‹øÍlyú©×°Å·;Þ}Î)¡˜Œ>¸$£´J*VÁ‚Þï*í÷sçß»J18è\¸ýDÙìoQÁVñ`-$á¨ÄGÁ’”‚1í%XÎÉ&Ã6Y?üºñÄá6§j“AWÔ…JY°öhe4«À÷`Œ$N­IѦR26œÇéà' `Hp#|ä"&!Lô”HYn;Ð=>8è–4§ÉÓHœ¾ä˜ÊW1t†ƒYc…äQD‘ªÊZO’,ÃçùEâdgZœ¢. Q‡Â*!Cªœä„)K#“>@C»Ã¦4Ü×ÝQ¢9Ǩwã FÀz¦*%‹Ã™bŽÉ*Åuò‰ßéÎØ¢¯»£F;‘ƒW”RB,’c„)o<áÒ@UÖÃ[0XôI>©†'°Nªžu´+­ 0ÛläžD+Vqš"w/xë÷S¤†&´ºM@–4 Ææ1>Î:Â¥qÑ”rQ) þÁShx€Ù7¯ö¤”a@6ðà­ä‚Ù*‘D+ɰé½Úïêƒî»Á ¥³£G£üM¡R¶ÎO†µ×•ÔŠƒäHÐ''¤ŠZV:êÊš°_N–‡¤Óðzu{ziAyuÖp/™'¦bÑãMÉ2°+ž^Ãz­5ìcäØ-rÒ¨JRi‰b ‡)£AR€ϸ³Àèþp®:_»E'¤Ü8}¸/bRê¥ÁóÐø¤‰$I—ˆæü~x÷ëßßüõ¿ÞÞ˱ôµšÙà<ºí\ìÀNÉX‡C´J.Nµ§FÐ$L€bUY'|P¦Úó®÷' ÕðÈN`0ª¡É@±í²» Q¢J>XB’wÖ2¯µdú¨øÃØ& a'šÁÎ&šˆè*À@G¢ úB¹”B3zøÊþð¶‹eØÓ, ìt²V²È-ÈÝ(«À8ØÂÞéiÔ}ÝÒ-ú~\wv «H¢á\VBJbX`2%O’`ƒ¹[Çðp_' ç5Ì9§Ó»onu²0·‹8]–fv žÑ e$á@ \Dë9ãÊÅÇûûYŽ7mž$¾¯û_Ý‚[÷øÇ-¦\h¹>¬­ÃG,ØÚW¦‚¶ 4;--ð‰tš‘;ÍѹE_Cç[y’Kq+>œ”v ¸Þqk5Ø l}Ã4OAœ$¡¦ºÓ¬›[ôuw!&»‹: Á3#×>‚EŸ‚'¼ÒŠót8W…7·ÓðÀÑ~nq½'ïÉ$`e !ra«Jƒê†¹Ž°o…ûé÷¡”oRdxà˜ Ûi7z®ßŸy£ Ò K¢rÚ(c˜ãð?åm^qJö4p„†ƒ_§áG…™@?oq^ÀYÔÌ+‹6ðJ *¤H‰½_ÞLJØzÃ_?ÕÙý0‡Bk’¼¥°Üy0š¤WLIJQЪ!¡ML<ºgeµÒŠyûéîEÉáÁ#%‹»ôG wDÓî¢ôoÀºÍõ3¬|³­»ƒV5É5áVƒ6 ó*pyKŸõM“û áx5µüqï|íÛÞíœìI>çìÓHŠö²ù8ä_êrÜާ«/¾º-ÑÔí“ÃÌÀL2°¾„•rö~xî0ÿg[Pòð2Õt¥d…B;Iðþ$©BܳžË¡òÓðdOšÃÞgŽÚ›£˜•&9g#háDk|ŠŒ k,©¼K·»O|h5<ÙCE¨+®Ln{_Ò,Vàœ–)Zª` _¡ÏO:ö ú8ОìábÆ-Ö8È@”¡2J@Gå“U„ PHàÊ)»gŒÔCåH<ªv«¸é;PêúyoºÔ˜øæß±jfcØö¶G¥µ’¸”õŽ%掓,qà¾Û äû&üðà‘ðM$vwèu×ôß'V^ª9®Ûkå£ó”zÆ ¨q•±ZEIu•¢´Xqó×jxðÙþî½·…ºÕFqxÄ® &¨§Uª"W`É 0© Œ‡½Q†Äÿñl~>©”þ D“f‚1‹±k°åYTœkcCŹñ‡u¼PƒƒiŽô^åÏ&Ø'B¢ñ)IÈ ££WñHxˆ1Hã BÐà¢"ÀJôpÇ×µƒƒFF_Æ9Žô‘,„£6p©*©µñ v®Q ] Šu$JæB ºYˆÜÏ#Y ¯LðJ„`tpÆpŒ’ƒyÃ%³û†uß;. ºY‰oãôFø?¨¥ )ɨ…dZyf§£ô¸hµ½ûzPï[ –¢§~>‚uà!ØSDJµRŠˆh ìu aNnÏÛ3÷žærpÐhôêÉÜÐ$ÊüØýÕ•Ÿ¹Ué-+îɼ!ø. æ“5!c-¯¬=œ»kI¹}Ò¹•@çÓЄw¯˜ñE¦Ðß Û£‰Sš}ÈfÙÀcçó9>KX>{èbÛ3C‘,È9.) Ê ît’ Tˆ`”“”a­’Îà mÈ©¾±Qˆõ¶µ­ ”UŽkH4UL§`¼M`·{S1+SÛtsè>)Ç«d4ÚGÑ›$f`4QðÈm¿ËyeD÷ŠÆƒãλuvkɇóϘ’yË£2ÉB¥ð–$—Þæ+êlrÄ¥=sv>†Çáêz:執§&sŠJ™ð ÀkBÁ¾ŠÔ‰ß†ýn¹ti€''³é@½Òkxü'k•Iš1]—€ÿV{S&L -+^T¸h(ÕÉs% Ø {V"áÜ«-=8æ4ž†§!~ü&Âüßí(WŠL·êж60”J8A1‚ÁŒ!T‰9¡Q{D¾gú ¹£ßׄÃ}ÒOz„!²PEB“àš“Š*)¬ |˜ü78æuþû¿=è·-†$€íYÂzí„afLZiE´QŒ»´gÆ…{¦ßð˜×ùï>é— FÛŠZŽyócpܱLdŒ„”ö ÷¿ÿ4÷ÃÃ.öò¸^Ú©_Ï ¶–é~ü1NòÛzšHe$qDS$@/X@·ƒ‰Ïãí¢esäCE4ÏÄOÆsÑNWþDŒIå¼§6FíR¤L«UE’ôrO¿Ã Ñ0]Ï­0×6ㆠÒ9<¼õÊS“,pª”ãÜSÚG¶Ù¿øâGtØ)}a3×~˜B«¨»Œ'³Å 2®ÊO £  „*£(–'í@€ZUIØ2ÒúÃI}m~‚Á Øù|rñ]Lö|²ºÒ3žžü¹Ó¬oì½åsi­ çþ  Ô S¨¬7ÆïöÌmpÇî׿8œHáÊïßÇ–Æ¿þ4;¯cþbôïÿi"¬lãåø}¯:sS5¤¸ÇJåæÙï˜ý͸½¹ç2˜5.YH2 †hµ#UŒKÔÈÊÛó–Ú' ûðDB¼Dø[.D€«”¬wÇKLTlü Tq8îùë6<?›-Bývö Êöúæ’vݧ̙×?n«CØ'Þ„¤™©”®`÷G¨½N{iYSVЏÃ3Ù…¸['íàDkª9VŽD‚Ôæ2HQQ’˜¦{^›yHèœ@V3jßfê­QmíÜ¡Ï}}r®ÊnëJ‹+WûäC "hLßl1ó7³DÅêpD¯½98«hz½†_ß!q+CAE  µQ Ñ\r^)§•Ö€Hb?á³wí†}vp.Ýå*Ý6u…4†6 ¶ÒÄW  \ø^ãösKÞ¢”Á>™7§€„é¥ÜÜÚjÔ`¨’JmD”ŠÐú…R‘HÒžµBr;O «äè­ý´ú¸Œ*aÙ„ªú+‹UT:D¾¯bø É©‡&)ݦïþ´ÔNR+` ¤¡BI€?¢SUª’†>_O S»ËþiÉ-¢­¼E7†5˜ÆÁ€q¨.‚”< gÝõΡ)„q½|óÏÅÛ†d^+Öë¥],;û²ÿKœ†+¿Ÿïàås4£ :â™J ²²ÁI©çTÔ<8óòrƘ¡ ¬R¤ý8g¦þW›^â6 ÛVͦö$ñ¥‡QAM“ðV$´;Kt“¶Ãwý¥—ˆîáHk)óÚ0™q ÆÈ­§Løª ÷‰Žp“´ÃÇjW%¤»]–½{Ϙ7˜¿Ùp®aŠNyçB€½¥Ñ¸¨ª`ìá¦÷8†×˜ßI†¯Æg8_Ä9Àü “ºd^Y.¬5Ö{G¹cœReDZ°IÔág­äž”‘†È“™·“^¾¬«/ì^qú….²J^¥¨I¢ÆY­+B4kÓ7§/ý+“xÖ:7[‹qˆÍw7$¡úC— §ñ(—´†í‡œSæ|—¿ˆaô]¬ýb㳓Q½ð_½èN/çÓä®åÆWŸã¬ øgþú¿kÐ&7…ŸnÈŠÑr¼œޞƑ‡.@ËÈOŽfi´„/'c·°‹‹ãÑÛÓq=‚ÿÇ/ýŸq8‰Ëчӱ?Ú5‡=V~‰ì4ŒÆÍY=ú0^žæßŽ/ '¿ˆvëBœº¼6ͳx?¶ÛÏýáŽjÅV[M´Ñœ<â%VðJªµ®¿øÂ†©˜ÆÂjOòj§åü§ »(ÖÀl;(° óKÞX§’•˜]TºÈ}6mŒè¤Îqá‹ùë·³BÏr>}.ŒÆËE·=ôÆx€ðÚYæ¨7Æ2c)1ºgèB‘g‹­¶ÂãŨ Á¬WÔGø'Ð*ì€&GX>%Âîpè«_«Â«k_·ðÑ@^=Bï¬ @l\œyFî¢X¥zy1‰G£º¸&Ú¹MÞ› ³×[¼QV­E?W,Eï}½‹ZA|,I)Ó^’Tj,¡½øûęޜ^bmW°­”…ýD+£Y%Ø¢A'N­IÑŠRr¢ÌiËæï¦Ò~}ìR°ëUË?ôþIãɤ¤¢Cæù¡|‚í`y_\\~ˆ°¨õ™:ß2ˆg›-±)kó>Xþ»éì@LJÙ(ç'DæÂ×_Œ~ž-Î@–÷ów°³?X€…Ì~ÿŠB‹YÙןeÎÅ­7™Ä nü‘KÔ¬±ëQfâÒX;sì»Ìþ@f‚Z†/«åA¸³&½(Ì¿:ý¤Å¾({# ‚ûç§FÐì¦qœ1ìWW?ÏJ½¨)¬g:G‰ ]MëbÃtÿ núnTÀg‘º8ÉúÇK;ÓL œöùšèSiEMÔNÊš!©í´À9H€BÝ­÷4 ôORå$ÖL¶42é •·%an/ÂxÅRP.]7ƒ©[pݹQ÷&íHêrSC Ë×ob}=©g Ñ-á‹pÓ~¸CõçF¸¸+¥&ßÌ)IW½ƒŒ³üÝ0ó/òžý.&h¯Î>¬@ìOu‘Õ°Ñ:¬Í:qctŒ§€ÖBìžÎ{xµ=@CA€ØQ¦ßÐÝé¼¥¢±ÆüðìþK÷ºeûÙ⋦¾_¤ðŸ5.¾zA^€Å6Á¯D¦yÍŸçB…ŸIÉ ›ý k~Ôc÷Ü<6Z#Lå cŠ1ï•£DiéTaŽ–ð²»&õÏ3ôÀCGÿ6uõ¼sxdîZ©äEñ¬FS}Z2Ðf>±Ó‹Ì>õèe<>9.Z|Vëû¬—­/ÎÜl’´¬ÏŸ´’xC™„¾_ÅîUÃ\kž¥»¥>ó0°ØÀ¼‚¿ Ì¢i²A;%rlF¦~9ÿØŽú+ʃBnG¸ËÐ Uvï½Ï(‚I*µ V(Í$×*˜´ŽLVéelgÔæw¸nVëXR·†jÐ[Ð,ÌÜŸG§1O­ñbdu£ós@ã}cñÞgn°¿y·‘F§ôõ· ±8÷]r& ´h¿ØÞåK˜•…eV•f=Œëè¤OhjæÄqR‚­l‡ö¯ÑºTɯ½~yÅ—m[ùð¸bnÁ6\…öt%•ûÅKoh¿ŒYø][Åþ>]/oš~nzñúªÉÎ\߯ªOã~ºâí¡_9ÁW×Îúò¢UÄóÉØ—w¢/t;¾îÎh‹Gâ¼cv“…С3†G»CÕ—/>¾xUDú¥h^y;àñ‹èô¿ÔìÕ œáñ*¨3ãÛÓŒ–ûQ…SuqKøzÖsèJ7•ÙbÜBj`iŽsËèê…a$9H‡÷~<›Ú<»õ³ü<ŸM³ä;‹umO²óm¾gTã9 ÑŸŒfçËùùrôòŸßáÇW%¦Æ·Ëö'ãì@ Ê=,Ogç'§«à§þóñf%îNc¼E_!^E_Í)¯ÃÐiûæQ©S6ÞI‘*?Lé@>Seåå#ÙN ÝñXö~€-cßa0Ň)( §ãùÚù^?ª-Œ±RÛ䢉þë­IÞ|e]Žrx®†Ô³.lªŸÍQ| ÐÀ6f­Ñr®Ðbšãê¶tâŠËpXÞ't„b¸òh¥‚4‚w­t›ô³Ì×]ªPnç–{J+é} މĈT>`šÖeOýÉÎ÷à!‡%~bMe#Ò~«ûÙ¼ø G_¾ô³_'›Ï ò߇£‰ º&ÖÇz-( {»: ž~?F^[®H@~­“` ij9CCï”à~­•bÔ†ŠBãŽGã4ʴ쇀^jèDÉhS3P.úóiØ{CÀèRœØx¹a´²Æi ‡`˜lÝV8)”Vè3™ØÅIqÂìêk€èj„á^0}Å\²œzçS`KRAÀ?ùÄær¢³ö¦>æ9Ë&æ&Í'‰{˜Öû•3þ‘àE»g`sàMÉÌ"2tâ¹…]`eÚ•^7ÊWs;F_ÎÛþÛïórÔmÔyV´ã?ñžæ$NO–§Ç£ï;$)Î„Ž¢V6=·aŽE¯ùWw$_|e°æ¥¶¼óÑ$¢< ŠRç±d‰U.(æU!çÕ<´-ÿ—XîI?oý‡ÝúOlbï6zT°v¯xõuN§6+÷©2°\œ•‹"€RèU)‡â—Ž›#ò¸\ !é÷¼"ôñèŒ0XmÂ+xJ‰·A³ùb Þäb·9¯ÁâM)æµÍ17gãéyýª%ÇŒ¯$üµ:îy7`€^-|%¼âÆ‹CRœ! fØRUœ¹½u[îÛ`Écå“?á{Êüer~hG‡¯À_ˆÝÁõí¥aŸã–ý³ÔUÓõpÕþÞeèN¢ÍY¬ömðŽIg•JRít°‘…(P´å0‘gáö,ÜîdbÏ6Îö6N9 Þ×7ˆý{Ç胴s˜M.¡£‹Å ^Ñ•†ieWJ&Þ…Á³0xúÂàÉÚ:«)>[;wjíÜ\¼Öâé7ߨlít°õÄæ÷l¯o;Ëg{ýªÓÉ;S{Vìw…î³ú±Q=ú§˜—†°U/<;nïÎ3wPP—ñî¾®®î–1q-ß®è6)ÜÚaÎõˆt z—«Ì‹%‘ô¥-¾JÚ¶–uwQ“öî³|³¿®òíM`(ùÂ.$Ý"#`› p‹d ·N·ºƒX@žµ$€w›€õÛK¹Ýæîæ 6··~nZ‹~O«ËÝ—¾—RS—×hçg1šsªn¤S¿ Ö6ÿ©•Ä; ¶¸c• Â&é¤&Q¦Ê)®hä ö7ãÆÏaýsSyKñ6«"øNjoô„ÒK´†ÅïöüÑh:ë¶aÂJr²’Þ3_rdΠõY­&èJþ÷Å¿ºã|™yÚë´½ô6ׯËÚÜŽ¯d¼ísÊß.ì–TƒªÑA¡H§¤=ˆ 1˜ÑoMgÜKâêåE“r·ûŠ /ÿ }žÌÑ(Ç$”£&1Ù«Vñm³°`mäìj`´ Æúô²?;‹ËS¼ÉXÒ¢çËwµ[¤lÓâ<³ïAÎ13èldý²ä­Æ{œ ]ò̰ÈKV½æÑãÝÌQ{/±«^2²“L¨3øú\mk#e0–ñRÐÈnp2|l#ú~·æ‡O%7 ýâ÷¡ˆí¸wO8म 3±"JÁâzf(¥‡v½®ÚqzÎgle/jŽé×P}ÂÌòysìïz¸·QZâm’@~ n„RI=%RV†[ÆÄÊñ]¼ÿkGMawÇöÆàÙbÞ†á/¶ÝÎNÈKø€|þa€ÉŸÈÕ0‰ ›–%¯hœ†ì!qÛ1? ¹ªýnI\å« :ÃABY!yQ$L]îé¡rÁ»ñüM®p^Ø'AG)Û‚šý/¥ÁXÀ‚˜x©Sì,&ãªg d6²J•¦µ …Œî|9šDt„¢Z7J‹ˆj’ÅlS‹ÙySC¯<ÛKã„g½Ñ.ÏK·uÏy×îØ €\a¸Ú˜–ë!‚jC=¯© `ŠЩHºÊ.Ëi_åbsm=²K>Z°Q->Qæë&vúîxôf†©å§™n¨Óþ2þxfçuN<¿nâî:—A#\« ôBn¼Užåàÿu$¦ŠÉϪx¥^Æ—g{´¾ 8ÓœïÌþ™uUãÆÇ¿žð«-«Ñ£Qiþ³¦lÙÆv(Ä;AÁë˜Í!ŸØÅ8®jÞŸÀ˞ϾPÈ_lx¥¶†ÁáÒPƒ›EªîßzÞÈ£¶sB¦%æ¹Y6 < -ý¶%ß°šYS®®ÃkÊŒ]5èË…ŽJ©¶½ªíV¦íU·¥þAêÊÑ­déÕc[U»»®üC«57ùÇs·º§›^´+' øz™3´Õ+wÇVß•¶ÛY'.yz80Ð_½ßûÝ¥nÛ˪ m÷_‡¦Law8|Mf±v<í.êܧ©É-I! âTp «…^`¹ BŒž\D¬¦ÞUâÝ™ë5ñ”*’˜”ŠN› &±r} Ÿ¶¬ÞCr}K~ìa%õ:ÂîÍÊÁÇ[Ƹ\f÷KgO—Óé=9Ž'.í*£(Õ æ9f0‡î‚´‘’ê ¬Þ;àøý|‡DºßÈŸl¼mv¯­· I{z›ÚÉ`%SJð*EM‚6Ôm˜5ºô•óÎÄØ]Gé>ÝÐÕ'²z³öº%ÔO LŠÄ±(xÄB²b•q0ÆT¤U4¥Ò®æúML³Å'8ÝhäžUÔßòDë\M§Ï¦ÙF«‚س^G¨?²ûäÆa£¿AëÝÎð åÈñ8+FiéA&)U é&Ñ.öçñÈixr'+å“W"y’ÐQR/ì´zÅã_'ôQÿ~Y|­ÄÒ3‹¤8‡ÈâÏÝx?ó/Ö\[κ©D;Þæí©Âæê¬ÎºIçÊ—ž¯ ïÏäË)MºÕ«åà¯Õ AQ޹îÆäe?~áI<¾d&–¡Ng¦8à£\‚e{ýMI(qœU:U•fº’\ÇTië-[Óß^6Ú;tò*ßÄyF¹Ë(7DÎg”{@¾õmÁ®òÁ,7Dû©—DgU«ì¿ïêÙä|‰–\ôc¼M”Kd1^ã<×U½óªÝž öµÆvƘ¼a›áÝÈð¯aqòº”Ay!ó½øsŒ¬]ÆÐÍŒó˜ƒ f͆v~›q|x è’iòŒ—Pb¸ƒÇY s`:*í‡/ ZÜ!F]ïWP`B‹ïÇ I¿£ºÌW*‡ä°Ù~Û ±¦ãnÍû6½/—7çüõX•î,_Ú'jAË(œN;™`8Ñ<ªˆõ›K^°«‹Ž¯”¥mkØ”˜þJ4ÐʃîÀ‚t6i¡Ô^gZ‡€@êÇ?M€±ßâëÛ»ÏÁ½óÞ±ï³Oï-ß'„oâ½ÉD,|ö‰§ðëßìblAkÚ½Ê_\Úq{ñ¹­—G¶V^©cúÈEÊÛ~Ò&TÂÎëR5€®"Ææ^ˆ6tô[ÄåùbZÚ¬O±. M™0ô·l/—æ€ÃBæü¥P±³¢ÂSM)ßñô=hΙÞ%†»kÎcHîôO%ð»{G£Ïªc‚ ”!aÄÎØÖQët¸ 2©ç¥Îðú@Ðh©»§/·S™õ‹8悉 cÊCÍÛXÊ»‹ÖtÂ0Ä:‡ ;LDR3'ãw7»$~„vC‚mÆú³Û-vÛÇò’Ín,.›Ÿ}?^jr ßòÆ[µ‰Ïm¤ÝM‰Û.´´e[@1®D_·žŒÄ½ÄäkmF¼L^ࣷ³I\¬˜«RæÓ¹Ç´CÎÎ'Ëñ|2†‡•%ÇÆ¼êػР~«± ôåŽÖÓÈu„Dvë¸ë—|äYÊ>oÐ}ó ÎͺòìCÝÒ^ɯí¯ñ=Þ*ËEŽO1Ϊýù¢ »>:ô›;Âoóð±)?™Õ±ÝÂ…“_Žò§§þï——öÕZIìromóÛŒ2í[#˜â2¶Û0Ì`îGb3á^»’åÎP(OÝÈdI É!I´Ú‘*ÆŠ%jd°ŽºêÅë5Ñ5ØÑ:8ÿÑ h.Ò„áΊW8 a2Dyª09Eï|åìÇu1IÆ=øÈ˜Ž)É«`5†Z8§„;¯IôU¸™eÂ)á aT”fXAÓxm á1XXX À¿þˆ{ ?×¾¢ï§¹4ý'÷í3þñÔOÎClo‡>häçÖþ »‰ÿ,vM–š)ßåk<5½ûº£Kû.¢® ¶‡Šb™¯<7ƒö^ä4~(²l”“ûL­G+¢-ìwÂ¥#ÖÉHlr”À¹Š¡{>ï‚¿Ä‹V›ØÞùO%± ‰ãiº **ГöIjçl×zÎÀ³]û×ÞLŒ:yæ"g€Ÿ Uø ˆU.™ ¸þüZÛå;ƒxÐRP¨Qz9—!ZneÔšÃ6A|£«ÝO ‡Wëàгá›g}Ðýô%9ÉÚå6£Vm#drOQuP•ÓI&éIâluÛþ‹/â2G{aR‹FòaÍj¤»^ý«Ê'´Ú¢J>@ãÉ;èÜk-™–if{bdø'`{Àg<$¬¸"”z<7IºÀu‚Ÿ¼ãIVZѸ€+÷•ž!0û°R šˆèÀT“ªª¬1„r)…f”@àš®»;Jah¥½—ÔS«”–´bÁ„Pè+¯ŸJ&º¯¤:¿ØìÐZ%h¾Ø/±Î¼}ù.cHï:FW8»Û(…‡ dÀU,‡«#™îÌ ÉK8~ŸŒÇ£—Ÿ½ûåí}ti»Vó†NÚàÓýµ}£u̹ lpÏŒt\ûÈ" 'pšóT2sý­´¼ž¨¨¹Í¸ÜŒ-)mªŠ²ÿ ÅÔrl'c›#»ƒNÌ9„w{™ä2š ½WFQŒïSYP*É””Öƒ¾fçóÉÅw1ÙóÉòë^ÿ·.Õ¶Ö0Ø9:7›C ±JÑœfÏç8ö.ú ñ©¦m¿nüíFG4U¦b†Ò$˜äA@ZÊcŽ(ÏÛȆ.ëã­]± P; >ž#Ôq+@ÂXO=×ôn\± T"$ 'th«œÔJ+æi 4 ã§"HþOâ4üºÊã) 9|ÏÍEÞ¨º?zA»•Xü¥p~DÎAY•KZ oµH–éJp° ¤f R2ã–7ʾÉÜûrþ;j¶ D{ˆ¦­Ò•g!òdŒ0)$M‰DÐÀ™µe§\~}Õ{Î#ês°ÖÈ–Lz¹LfÉVäAÌ×¶ÕНñà˜"»X¿Õ³È®w‡ÞÆrAÔÄ ˜‰Bøà¸! ’; 6gÆ«¨½áNrM¸ÕÁƒX2ΫÀa9+zßDñß²ýØAlþ˜Yt…ö'ÙY—¹­ÇeïL'ãÐŒì£÷^ÇÞ²Rœq¥m˜'&P=UU”,€²ùf|2ýnvjŸãiÿý~Ôø}ŒÖ‚êæŒöÉ™Ê*&(Ó‡J9¶rtç€Õp*¿“¨õO(¨úê«zÇ'MbSŒó*7ªð*bÎf\—Âk“Ù‰]€Áu6ömÝ5Œ‡Á€Ÿ¶<ÊeÖ‚–›¸íûa®äUD“$6T:ø2Êà%Cæú¹©1¹Mèóþ¡FTÄ+¡Ê˜&J`z'¸ªË\þKSi2d s‘Óã õKO—h£È‹«®HJ»Õ@X°À²Ç£ï±Kvôe󼫢Y^ÉQf`~tóÂÆŠ EÁƒ]ÎÚ’0îÆ c¤U™_/T®pætEÂ|Ûö˜÷ûL}¤½ Åä~u<ºBfµ>ëàÚ mXÝ»’‚eÄbG ¶®QÊ—’› )%伸Z’Í¥=si£ÓöÚf?¸‚KÅ ñ*,âÃ}¹¹c/òúeHËAµæ”oá@us’`ø#©B”˜'¯}¥ÛÜm”—²=Ä1ÏŒ Æ`é3åLª¸°ªrw£œÏó÷ªœ®÷Y=}VOŸÕÓGªž–KNÏ ê³‚ú¬ >+¨OGAö*öl÷ žÆÀ„OÑE!¸L1‚¾š¨d°K´4A\]¶IóÉ—•ÀÇFËÄEÆ„5–TÞ¥G›¨ãÙwúûRNsLßaô=zmvç˜Ã„sÑ Ë«KÍ¡¦Q/´7'/k»K¼â¼\ÁÆ ŽF+ŽõÙÿÕîqs>¸**ç4ÈK•äô/Wa Fí¹ß/è?û$žaÿöŸaÿ!a…9÷üA0¸)ZØÒ)ŸÀþ¦B+MWNYòXÿŠ87,Gúá¶ žõ«Üt©±ÌÍÎ3¼CßµÛžîŽî».<×Qm¢¸KeÕ+Ê]¯$j—-¿™“à5…Y›’¬좩á³Q—õ¨8Û,/k+\Ò©ýó|ŒÞ·—9 Ò‡Ù(~¡+þ³¼ºÑ^Ž÷hlÃ!|}ÿŒôÒšKJ‚ò‚;]…ä"å$“9u2¢À7¶Ž™ëÎXò¬îÔ]`•ãÆMÓ)o©*o*f¥n“·^ÕcZ6b%S¹­é TÃD&¯®__*+—oÖJoY'y•3ná×… –de…o@´ØüÌñFmåìtÅ,þŽù;íôåÙfM馪øÆð·™zæ³ÉÅIÅŸe0,i·¶]XÂwŠJ™ðÖM¨•.R'|TöóõÆóKé6tC«¸§ÎSêÓŒWaö(©®R” ÙЯsT7ì¦.×ÔÎjAÂknVƒ²Þ±Ä\¥\²‘%Öá£=£¾B-hj²#­žµƒ}µƒ}ÊÕî¥Hdéñ¬Iܯ&Q—-1ª/ÎÜl’euÌ©{5$šTM±õe9¾ÜÂ%¬µÿÁ ‰íE³)(&Ë‹II暥þä^+Ã9m¯‰u­á“BÌλD“7±^³·ßà{­Ôv¬TØ$Ô$ÊT9ÅàÔ0ç.Tœ{j*o©âI)"XôRƒ$žÐr¿¨ßð_ÔõÏ ¶Ë5§?Ç©GZ´N˜Ñû¼eòí½|>·,*b¾¡òòøøø"¾ñbuÎŽykOŠ-ÚI³—=âu„}UHš+$’Úá ¯ k"©‘´JUä*.„¡T´/mÿx6?ŸÔ·pÃSx2®]‡géölû>U‰•Q/Ûu®t¹èl¾5 T™¶ —{1 —V©5CsfÏ|¿*ÃtÎéYDÒMhãMVè\—ЋÆÕc4VÊïÍxòK+k®‰ci…ENú\F‘~Ö9 uî$~´¹±­[ÌãÑ1Æ9VJ,‚„#Ú)ÉŒU"[6-^ì^-=ˆ„‡ƒ4N‘  .*ây :7ÿfçÔÛ¯ GmàRURkãëL)Ÿ Õ$DÖ×ÅoÈ»ý>Ji»­ e‚W"£ƒ3†ë`¤œ+Ç%³ItÝJ|‹ùâý~îQî[eÍAŠÞánžŒèíÑêYú>Kß§*}Džͯ½G£œšz¼!³,ÞwÁ[;ñR’Q É´òž(ã(Øw4Ú@-Ƚæ6Io>~ø~¿ µ Æ,5‚ÂLXTœkcÑh6þ©`7°FË·Áí{B±Cæg§ßÀø¦œrXÖå´”´éׄiüHÍ¡pFYïsa¬“+šè>®•*Y? lCôñ «=£Á¤fQ–-¦ö™â ì_«Þs´Þ¸r´ù=Âå.Ä^ÊtϾèz•±®íbÜœ³Î€›°”L¿®æ–8ðŬÁ )÷kúÖáž¤Ž›¢0íé+Ö.#­¹Ñ@–ò@™øgö]Ïs›uWéš…m}ùG$©”ðÁ8á­7Ly£ÔÂ3ê Èh­¦r†1Ř÷ÊQ0ìÀ´¬¢$Éþâõ¤ó·]sþܘÎ-¡¸O—³s`þ°QnÍA{_^GúQ}óm[Ëþ|A*3ùš¼õ©·û`r‘×g:k©óÚ¶¥1p÷4*ØÎôƒr¤m”ãX_¦¶´¦`CžoW­~7žÏ»¾Žhc<’ ecÐ`Ö¥$´QžyíÇÀjw÷püž}4»PioÍöìkCì®W³ÕSÑ«7öÆ]©×ŸHí´Å+uÉ'¢B‚léÉýO%ê»jzç4x³Nd¹2ú²ñ´9 Û̧}Ýâʃõ#T9v eÚOíè|¥þѪ=õ£¯¶Î)CKr¯ŠáFbWKsŸ½e¥LðÔT«Ýœ¨È/Ç©Q“_õ#Êz…T‹XÏgÓ¼˜%*î&ãéÐÜK{œœê'OETõ•¬g7С‰Þg7Ð.2ü,øX7—T>¬Išž  þFF³‹\3{ìá÷.B÷#®nпC>\Ç#¯ÜË".ãø#ÊWžš+,ïœyº[Úñ´œƒ½¥Ë)ÂèeЯ֜DÓ­üì»2ÖÑK¬g‰õ;”X>o‚gYõ,«™¬äx*²j#åYP= ªß š¶WPЬyLÏ‚éö‚é®Cò€ÊŠHé£VHËhŒQŠE•’óü‰È&¤UNrù|r‰fç°»Žþã#÷Å'w)ê»n°Orßð¬ì£¬ªÒôÅ^++;¹qc!ù[GÎKåâ»]pd/=,VÜöƒ9K™Ž²'Ë¢ŽÕGóñÇØ0Á,Í­š^¢%ÔšdKå¦OÎQR%-À„¹½›Î0WÒ´iÌÏr\f®òÑä¥Ý$MŽ#ý¤³ïá?³³Øäf̯¾ý’Û/¦5h+gõ¨”_ãXÔ+r¡ù„ør*ÈóºÑÇ:‚€JƒQ—X¯çóa¸>ðK)ý•Ó°ÂüŽG?eÛÒP«ªbXÓ 9Úòl¶t±Ïö¢í>†“î¨ý{¹7ô3x¶^67ófçË.f¾µ„3Ö&¾Ú‘7Mü8h}æÇ£7°-РtY•±ôZñX0G“ñj,Íà¯Îj‡¦çgh¯ô}Á;Š6-›ßÛœN”iu€>•Tòq{†KÒzªé|Òº,f¾ðe&úb³‚•Œ‹®©„؉þŽ¿7u€º›ê¸“·snLgMòŽ JÀ˜0isž„›-O‡'×rç¬È÷Ó°“0œÖùIè—rS ï¶OùºÛÛöž{)fYn’72¡Èœg`ó‚H·qº´è¹‘ ]Þ›uÝ~u¯¾ì½>t— èG9qúåûû½ûÝ%Mz“N½dRÏIÕsï äí™wfÞ•Y!¿ds”” £õ„Ý­§<öº+±˜Óµ†’þ¬ X10]á{½i-—.—9ðé%ñE“Þ¡w?ÉÀbö®$R­ÛI^ž|›¶Ýž`-Œ´êM:õ£Õ-þ«²_.‚ ?•;]WL(+º²†ÙAY®—a!ÄóiçÄcÍX=µïìYv±<Ù±Ã:—!áWšÇËMN‹Kü ËVâuÂË™õ³„/Fbé3¶£@!rcü><¨ûgÈßþŽ6¯’Ñ4jmÄCÁ¢SœÑDeÀÂÚ/ŠlZëb·˜d½³•2‘$.½7ÌWÔÙäˆKξ(¢îR»»‚‡éõ$$Ý•»ðYØ}aWÖ¢¦¢åDn—a¯¤å‰XœãÑiÏý>¡ix.šZ¼X¡Óå5¹ 6íw’Çð—xñûÁ¡•S澫ý3ô}œbÜ5¨ŸÐ2ÖG_¥].ž?™Õ±WT©­-3ëkÔ}7ÂF%£\yæ4i•ãìÿ8®sŽL/xÿÄ.@-=Ë¿åšÔ @Ö±Túqãe±Ýíähåø¿ÔËÕ^ÿlýwUѱˆw[æ}ámMÓÕ³£eoôŸÍBÝÈ‚²$Wäàí—ø¬×k|–S‚—å¡„½ÛË~šW] my£Wúõbt©’fÓàÚ  Ì\‘t¹}¶¿áÜð½´êkyæ^~² Òá‰/ì³åŪœgêP6ŸÑ¢4a3•rÞvލYÊÕÚ]—Yw)bËÇ0ÔÊùÍ‹ËÅÛâl/1Ôù4³`yÜòõßZX‡ÿ€åܦX —ð#¦, Ô—@Ä3Öû{¸§ ”§'¯Ž ¡8_÷Õ.Îì¾Ó©L<.« .Juò\IB¹±„§ÇŠo¨.­0 4‹ðã4ÄßD<ÿ{HhÖÅ=¾ˆÛÏD;Cùãi£m¶‘(XÚòc{RØã†§³Õ‘éÇF¯DÊz¯C>î…†¾®ëó³Ø=Ùݰ\]örSæ`<ú¬}ÑJP‹,Q™Eí^ õ)‡ =Pë,†VOþﺫvG¾¥¥~Åé‘P¿|ˆrÊ;Á Ã*J8AydtUB•˜*•­áüÚô{†Ágüô0XŸ¡/b_´ÈÈÏ8xg8(=BÈY¨"¡IpÍIEH•õ2=IuðÿžqðNpðâJ¼¸V¼Ø€Á‹]`0Ä]p°5dW.Ì—Å Ÿ¯×WO(C`"³T…D ÓšYZiE´QŒ»äÝʬ0>å3P~z ÜMaÜDÊ•Âø)‘òÉÀ`2LIj+j¹®¬ŠÁqÇB0‘1Rª+ –ÝCÂ’hb\/³{öö8Øbß>—÷òQcshö{9ùví.ÁèåÙx:>;?{…¹LÊšôa»ã‹?Õ£Eœc¸{ë®?µ½RÃ'ã÷Í « šv§×õÚmª°yoouŽ[ rÁáÉØ¿ƒGñp{¶l*K"¨l;ĤĔ°ðW¢VÞ[Æ‚t6i¡}ñºŽ ìÛX/{a®¹‚No §ÛÜÆÂ/•b<Ü’L•yf•*gÑM'»ç€éüÕ¿ó꨻Š(ÙÍ!© ÐÏ*é¼JV ¸*`Z­¸IÕ£5ÄÛpþ¯]½\XŸÏôr«@ì¸ü×n®o–xV¶¸â_[Àê'Ôñ˜o|—7Õp®­î²Œ—×±3<2o×)«;Ë&‹Ô|b/rM«‚*ñCRnLñ×üÌ*Jùœsb~\æË¶Ím8@ˆ‹Ñ¿ýá3 2KĤ«Ë®Óø!Ýic‰P*H+J(,ü21PÿˆÇ#ôêõõt9¶“1ž3£ºw›=æf³É®›*Ns¾±ßþzË5º,‡KÆå=„»'ß\´«uiô…Nš¯n×—Zµ±¸AðN<Ø‹q ¾Ü™FÏì ™¡‹´HxA,ZW¹¨E’ Å…ŒF{0DÔ¸+»w6yçûI<‹m,Õ@EëÍŽcE( »Ž–c’Ó ô [)æ)¿Ü1Pàš¾wÚñ4–ˆã$Òx°2©@"WJYø>ùÿ¦­ìü¼ëdׯiµMÁí+äè">ƒÀƒ€Êa*wFúTiúÞ ëL ‰§9â7öú™Ýžà“ì}GŒÜ“¨bÅ*NSäN8¼2dý£ ä¾~‰wº­ì穌ÓßþG[z§kNBLîèl=öÙÙÖ¤{:³ïð‚N ãî€`Ãän¬iü½ƒŒŽa &%­É–>»lbçy¯Öç.?“GWçíâ%,CÄ­¼‘,ºÉ~‚¸§w|cäÇ6¡,iZq¼•\0[%’hE"Þ+ŽþÏå7‹óútÏ➦.fÞʬ#\WM)••|¢®µ7ÙgÃ3"<"üO“GgÝæ¯›58ê¶Ô1RGZ—rS^ß‚õ,·7öØ^°È{È qÝ’ ‚SíñîG&À?±ª¬>(S)™‡Ô2ððE±ëº¡ÔK*Gt ëàeaéÑ\£@Ï{Ýà[ûwµ×•ÔŠmÀ'¤ŠZV:êÊšà׿Ó!Ù~}1S4’WÁ(˜µ,pN w^“è«°yZ´;^ãñSÄ˼,w€”¥½°ÒÎxúh‰úSžì5pØs£n©7å›ÌÙÓíí4gºùÙd¶8B…'àå-4´ò™füÄЊ|wº¶%1iY¶ûU¿º;ËçÓ°~ˆÜ)]™(G%¤d¼üSÅ!ø}~óèçYœ÷ Ó»HŽÝaf4Ÿ"̬Ig¸9åìj<*HtµbVÞ¸j¶›åó¬œíÕѰù·n-²j¦å ½hÜK扩XtÁ8GS²ÌPò41ó/ñâk 7¿ZÞ¸œ Ù‰oü´_ ›ßN|úpú¶ŸÅ ÑöpµÑ¾•:VOmí5~1ZŽ—“øÕ ì ëˆ.lƒy-OÆn‘Ëžµ±zøå¯ÿ3x£¿É®_¢Uêø³»+j²~å銣ããã5'tÙÿ¶MfÓ“UôËl±<ä¼ÊMnÖ §• ã6©N?)rsË?GùÓèßå¤ÍÙ1XŸç$Æãµxâ¢Ê6á9Ì™lK41ÁØ—žÙ¨M üñ³rcÍþ¹ø¾[¨6üîâªç/ºç{YI ¸›\­ò×´õYJ†<ØÀoò¬™,Îs’âK:üKL+¼ýñLŽjÅV[ š¢æ4`ä1±‚WRmØVêwÖ¢?ÌﺸìV;Gj/fç'…B cŸ“Yu<óH²>¾z(h%©´D1©"åUô’‚°òŒ; ÚÞ-êþ éÝÓîFý`OQrtD{–‡#;Vó,=Šôè'd{–ϲcÙ1l¬èý$ǰ¡ö%ÇÊò|èø™ºgó>}p)„°i‘ÁË?{Uˆ±IƒIÇðÒM“^qÀA{hâ±!âxô2{¦v€4ci’6RÅ+¢Ç\‹J¢.ŽF¯Ke,¼‚3óå§FV';©ãQ#ìæ³ºTÉ‚òï™ßEü;³Óó"z¹ãÄQÕ¤½óT˜w7ÀÁy¸‹§ Î t? 4ÿ.c7¯3´¤hãGÊV>u@‚sÌZlaÓ¥x‡‘ ¹\vœ·.vŒJZÅ#e‡ûðÝç»tö…4Þñ±ÿzé¨ér¼XCLj—ÁÇõYÎóÙ‘¼îçE¶ç€ðE¯Ÿ\4ð|(2dô³óRÕ¬­¼åK=Ⱦ]“‡|~FÀ9ŸÄ AQ/s9ªF\ôȶ^slzÓÛ=ö0g—„b7n„Ýzð0ùÚ³L™Šiêªà­a`ÙDB¢ÃÆ+_Óž-ÀÔ¿Íä(Šƒ~³!Â+—úÚÝÙ]’ž/âûñì¼Þ$æIÍ;z€H’ð¶q `}&6nR¥=¾bIYŽŸ—‚¿õJN®vj§ª>vIØ4|ít{Óàáxôò¼ÎÆ×#‘įʭ+<±‚ú¶ô–2¦Í£t; ƒ¶a¹\ô„õÜ{Á -ÒSÝw+ÞTÂÏ¢µŠË%£U Ñ¶snM¬”iï/YTÔÉ39óTyo}PÄ*—LPÜ «d¹Áå »kr}¦ìòDWÎ÷Ó ÖJ)>ƒ¯F_úYˆ¯³sãËÏóß*­îZåE¨¯=ɾyï—bo%Ï€ñ*™¦j;ÕÅRøp:›lÄ)¿çÔÎzÀQ4µæaÊm)±^·\ö«ã—l¬BðB ¥y¢„YŒà‘x‚¹ ²-žm>4cÆW®"ô*eøûD VQƒÁ5FÆxYz¬—¶Ó¡ýù¢{mfg%×<{2E»É\·¼âÆG†óÉù|¹ªpß•VÖʶ]âTœtÝJĶPÎê‰þÉø˜! ¯zЇ]@’pîޱ]¾{±vŒu:û0:;Ÿ,Çóþú´æÆ‹Æ“»Ì¥êºÑ÷Y÷è]V$ç”+·AXÓ €yû®œEß—8zYb’…^„Ä>wuüçy¦qy¥Ø –Êúèæ,Œ*ù` IÞY˼֒it¹7“ïE!ìç°áE4ÑUÁáIUUÖB¹”B3Ì%Ðô´+wc_›Îñ ¥ :Q£ô*r.˜HVF­™1lÓ9Þ[Ö-¦ÕÆŠýÑrh‹‹D@FúÈeAƒ¶áŒBkMMÖu±Ÿ¬^›§*+ï füY\Þ­¸lBùÖ~XîµÿfÏ#Áa}qc— {Ä^®O-‡,vË>2UOuãÝIÈíóÖ»³­·m»ïæ[³Žc¸ÔÚ½ø x r·¡uj ²¾ÙTÏ-å}/¥EBÍuÐ)Œ˜+«iMe½ÅXÕñr-¯qÉUò8aø÷ÉÃæÁôsÔNë—ú‡ó¨æ½Ù„À_È[ÙdmQ6#(.ç1í蛥Sã‰Ú¬ä` åhÎñ*~$—G½ÈQAŠ×‡Ì&þo§ 2ÛH∦Ð3º`‹e_Q­›é×ßîWïT?ÏóÏOïäâRu‚9ÞhÄ*ŠG þý,¸1`wMV{E‹¼ò3÷øõxPôÍEë8Z»ò~?Ìg‹åc>yS*Pûîd4™³\ò«#çt€'à °¾ïÑA´rR­Ñ³^‹ºë*)¯=S—mDùÜæƒœO³Æ_SR´½6%aŽˆù¾]€5kB8¸ÒÝె7`Ýè^oW¼­ï¢¬N ¬Nëüê«T*¢ýH;)ýT|.ˆƒ}ˆ*ÿúXU¡âëuÇ>Ù¡Í4Þé:\Ù¨¤Ù “4J»!_‹V=BÎbAüLHÈÖš&ñXÌñ†òºØdylúvQð¨¶ÎA×Í ‹ê£Ù"Ešh«@¯÷ºP· èöÿÎ/òM–u‹oQê˜ ]|Ý“½PµD+ÍŽÄÅRä\‘VµšGîÀ\ÔÛž$Ma1ƒ6Õ3*¨ØönFv‹P^p¥“ýîáÔéã•ê»]0° ¸r¶EƒÇ‘>¨±\]Éê£Äï}«Zºá}Äy·Þ¨k¶Z‹¨É-äý”·¸ RÌÅ×u¬«zæ590Æ«¨½Èrfp# ]×3 "ô+ô8‹,ˆUpѸ©/Yð0ˆ-.G˜qâÇÒ¯O";ŠB›1C„æÓ"Ãó{s‘‚Ö†=h÷œþÝÑáîÞˆ[¦7L¥xÀJèzg}8¼GYÑ]¯#äN`, -72 Ûp(H½X )ËõãŽ×¡‡÷c–)pÏOR¹ß+lûƒZÃÿ5¦ öª^Œ&v$ ¹C]“aHAIe¤Mˆó9©IòÚFÂ0³>M&±°éç PÒ«±¾ŽÎ½_Ϭ±„ëx¶oxd/\3ö=–øvÈ’Ø0‚ô)‹ ß4˜ï{¦\7Ó‰Í8°¥+ÄÂŒ’Ø}‹=‘â¢Xñòsñ1½“o~ŠÊâÅF~ãX•õEÜ<˜ºßÈÑÛ8’±ï̾›ôèï_3p}Ü0Šç5‚~êCH@í ETô”AUá%¹ÜK–¢Ã½$!2]Nè9Àtl¸X¥:Ä] ä1T-,ÄVRéhbVô+åì ‡ûóVR¸D D ´ä ƪM¨}d)ÃyšCpã ´ Xœ.Ÿ¿]A…I®KEîÚ_Nïz­RuCZ«8Ž'BaxÒét<e$v`ÉWÑØ??¡VUÓ.^hGc%‘áXV䨡‘ÛãÒbšnÔyJåíWØJ›'!Ïš~`&†´Æ#aÉK¯Y:¹S5t»i¼ý|²žyäõM>i­—qÝU@ù«XeƒÜƒÖ_Û•´× ¨Á‰„¨$åìZŽ2}FÕ­ ˸iJ†\ˆ¶Ð~}p,fì~ìáǽŸù}·ˆ29G[—Ý¥Ž¢T £¨Ðò=Á-é,1)=ÇsÓ?¤¬w'‹ø÷G©BûE"piÂ_÷’…Ó¯T¹2ô%&sÙZçº#A?$’RÕyÔûªË͵˜éï¹ù¨[ÁªÍ(Âg-üÒM£­=øÀQg_øÒ˜‘'ß¶83#6}aY–aËß<ŒüÉž}ì¾õÀé§¿ŸÎÿ3ŸÕémà`Ï·‡níΘ;ÐøÄø[0\88Í[0T‘ÞW y*GŸîM÷,7 XÙR5ÚAln‡¼Õ>בµ{­ÜW:_—6‹Ûñ¥µ 5µ\®âTuÔãm®íêàÙßgÍ_½{GÔOÕ/Þ`N:Í3‰µn U‰«Ý}¥ÞcSñºÜéJèÞÞª§#I’é–LPÿì-fülªkˆÖ¬YÎõÂèáã:ÃÜàÌãŽËL3ùCi¹Ìl¯%$ŒÚºÚøÓKEœñË;vÕ~ÑæŒ>ú Iƒö¬pM•<ÀË ­1ð¼Ô·¶À’ ª%Q&-~Ï´ßÔßQBš›L)e€MU‘6FˆL—Ô";îÒY.3„ÒŒ íÈ‘ÿù1ÂHLéÄ“M½Ð¥Sá—Oëç÷ ¿àýKþø-ܪGÖ8T—gç«1Ç•{SªõÞº-ø…£®Ìpr`šW¦ßmfÉ^Ù 9ŒâHY_@ûÔÄ·ÀÚÚÖ,dR²Æf±]ŸÚjXD¹ÅRGUî ìôÍ¥ G¹šƒ1†iÞóÕØ–¼ÉÈÚKÄÍZ¶9©ÃDTg®"ÝÝ»~XÅ]>h%ÐvõT  oyJ\¦›l­ÈÁE ±=$ÖK‰J~i[p¼ï¥Ïd;Gz¶)5gú¹ã[!¾ƒdš7úÏgH¨žæŠÂ¼¤4ÈÃ>L±Y«Û»í 3ƒŸEð]ä&Cü ¦ªmm\(¨¤×¶„©ÊûÂýÚ1ªßTì]óUÛÄÓN{×+]—Í=lÐm£¼ë‹°~7®wÔ>!ÏÖðØq­SQÄ[?¯¿ò[ýä«ß5×a¤+bD>x Ë ÷LÆ£PÎ.v,߆>xÓ”·=v­'(¬÷yŠšêO3¯dÚŠùì@Óƒ?NËìˆù«›YJEaý°¶%‚8ÒcC€9òž„•H[ÈMàÚD1 [Ÿ¨Bzæ¤cqÛl/G4Ó…&W®°hU6ˆmE„ò3õ`Øÿ¯úH%ìAç¯6ñºXͻž£L¦O2ê “ÞÔâ z9ˆ;še>ë íËê-=¤¬Ý;Í€*¢òy¡yÉ”³ ÇÒU)·áUëI­,Öðãœl¦uœJÌL,üLâ9ËÄW‘é„’~½Þ_ÌÖ‘ÆmŸ¶Z’a"ŸñZÉÕÀÄç’]Õ­aëQÑ£{pf\þek>»æ›»¡¦ä-0inë]ô'X|U•kàCÆ4 {)påþkÝVtËxîWRh€'w]+ölXrÜ÷“ÈOLߘ𥃫wã'èd8­=ÖêߘéøA†"0D`9N䘦=Û‘%ÜXXý&èVôá¥|3&Sß™8YL“ÅÉUß–Û†œü†‘šÒ¯È‰ÓMú[: ÁŽjèÆ(›Äè1C³÷ÐÞ0×ùZ_¹)Ðý©ýl‚Pä“Ò¢¨rr•tÊÅv€p>Ûä茔CÿtŽA®½ZsH›ë‹˜õ÷&ÒåB}wÏN¿§½»e¨ùÒrNMXÔ1°G7ÿ¬ççH ‹-²H ¶ÆX›’Iƒo‚Ъ<úƒ–tô^:VêÌÎÆ¨µáôµN@a aưtaŽDDØ/šê¸œíÞ6l¹lŠ\Œ- ¤y¼¨-K?Õv^dž›q¦Çõ¶ÜÚ–Á¨B¯3Npˆ‚,mä%AX¸µ® »% ËU+§>™FÖX $S±°asâñQ/²ûËfT g—ó|T†Yv„¶‡u€Ò¨pXlÙnœX–áĉÍÞIQI”'bJ‰Çx뺟IÑø’“]ÑkW<€gÕ¬©}K¹˜Õù´]ÏÔšO5÷íÑsg½Îóý×#!;æ<ÉTß2’ÿ ÄI}>à–€2¥ ³_!ÞÀÆ¢øgRƒAf@e?ô<Ö+¡D|³±¬ÌKWÇ›6e•þxaçv¯E_º:N ÅqäÇQĹTpµ,FÂ7yÈÞTlòÏÅäÐr‡¬Ûk±\a€ô5˾ …ôAžßrœI) PwûmnG³Ýü60D=Ys…çâ–Þô|cZ®5ª‹%‘s-n  ¸ M¬üµÓV ‡ëOT_~ á0FÏŠ šÇM&ý.J=²œÈ6 ×±,?œ|_†0ÄêèéÓVLM8"MC«ÜÿÀ“èÛ6®T±;Uµäty$lÓ厙ˆÀH¬0bA`FàØÌÀ–´[D8ôè¢ÅJQ}Å©ÀøE¹ušÉ¤ ¶CÐA3èLæ3JŠbº7¯±ï}‡]y;‰H¾= áÓ+0ù榛¦Ûæ|!ÐÖzU`ê‚Z»nÎ x½º¤,^oêä¶owS@2òW"—J£jä »•üW´Â¢|÷ýFúßgéå*¾¬Ë¯/û–´úóR ÿ\ÿY›U¬¿/®a‘¾¿”_Þ÷†îÓñr©ž½Ä1ÑøëÅ®Ö^\´uuRÈ›'-€ËþYÍTg}iÈ×ëõòÝååííí‚w÷rAÅêê wjÔÿ ßãa2ÁÂ\XÕzG¿‡áÉþò´¬D UUÒ;_ƒ¤x.-xœì}isG’ö÷ùx5;ÒMW×]^[>w3öÚ–vv÷ÓD$F €Aƒ’8¿þͬên4À£ðHsvÃ"€î:²²ž<*+óËÿ÷Ý}ûöÿ~ù~tº<›Œ~ùïoþúã·£Ÿ}þùÿ°o?ÿü»·ßþ÷Ïoúë¨:&£· ;­ÇËñlj'ŸþýÏ/F/N—ËùŸþáÇãìx¶8ùüíoŸĶ*|¹ùó³eïÍã° /^ÿáËÜádzɴþêŠf*cLy;?m€ÎâÒŽðÙÏâ?ÏÇï¿zñílºŒÓågo/æñÅÈ—O_½XÆËòòøS»¨ãò«ÿ~ûÃgúÅçÐÈr¼œÄ׿~ûË.ìütôíÄÖõè·˜â"N}üòóòû¾œŒ§ïF§‹˜¾zñÏ屯ë£Eœ|õ¢^^Lb}ãòÅh ý6ÝáØüçÍXÝ,\À?aü~䱋¯ðû¸€¯ìÚÅnš~ÆÓ?—IÿdÇÓÑ/öFd_þílÂlù7½¿Ÿ½‹÷ãø¡i¥Ì/:V@^Q(8$¹Ëñ†uPPPXX ñ¸I5a$ôô–[t‡º:±xðîÀmäÛCBBÂÃÃÕÀ¬Âè…NöyÉZ;õ ïvâââG{ó•\ln?—Óñx%ÿ¥ž1²Ëæ¹£ÆÈɧîô¶ééé‚Q%%%AAÁhè: Ç-dŒb™SN0Ž9SÉ'1!a}ssYò¼ÿ½{÷¨ð‰ÉIÏFa0¿·¶ß±"U—œŒ>àÒÞ:<ÖŠ¹ô’u€Ns¤œåTüįæAtäïæ™oÀÔæ×¾m$W©ØSTfG¢ddd…£FOŸ=›[å;ÙÛ˜XîÏ]åŠqHÜ0}ÈEqéÇœ?‰‹{©+š5gX€2µŸy‹Ô¾}]&% A&6‘ Íý8mmÚßî Ír_†WÉPéßtžgE;9©dß-§ÝJLŸŸ¸jû›µ#|ŠB °m <×~hu¹/ûã[.”{?5ES½.â²òÍ›~Gh…m§F„Ïë×®Î&ÁO/̓+`•k«è£’’ë{Ÿ:ÆŸ^¶¶+»÷À¯ÕÖv[Dy9Ä}qý}uµ‚—™aÚ†¯­ñ¿±´° /êL—%©kæÉU Û;¥I‡ÄÇñóWcþìT :^µe8× v“s íß^¹©”ß$L‰ sëRÈÓ Ñ´;SóÝÌFÿð,k/;t³1ˆNxgãÝÚzöó€ßjtN„ÿoÿøÿF­ÿË…ü) íÅÚä‚üüsÂ&ëÙŒéï«G‚mÀ¡6¢?Žy÷ú" ‹PÈbåƒ-šæcÊô‚À?öº¦óêUd«£•–oý›¤k¦2ø_¿~1EC&;>ÆÌ—äë$1ÐÓÇ ¡¡ðº?ò$âò`0ì¯î°zøPëAŠ)“@'Öt9A¤ªh_wJ<ƒù|úŒN¢*“§“S! B¬¨ ºS9b òò"ˆ?wv€f‹ŒŒ,//_©,î^©jmmýµ·ÁÄÂRÈ4RnËÍÅUíÜË'övû%3¶ùU΢pOýýª­aÖ—\ýoCPH¤¾AFÛË—/¿}s-Z=Øš/;7$Èpþ|±qvœ<˜ÏÏßßÃÍ-CÕ>;+4Ôƒ®ÎÍÍ57kât66N¦‚f¾Æøø¯´­¯{ÆÂ ¸8cò$s?}Ò¯â‰êzy‚c̘’ ¹ØüÚlêho7ÎU2˜§ýÎ{ª5ã’¤¨²*¿Q__—µÿ>7IÕ_[[ë˜:M7Z˜°±µ±0+£M;þ ¥ºZÎ|pp€ù1û €4´°°‰[†™™³WRˆ×××O¿ell ‡Ã Ò¤ÆÞzñÃÏ~îŽØ³23gÝ Û±Ç*Ží 3g•$²¯ØnU<RǤç`ÁÂ)iiW88ò]Óß‹±~V“–––”,!“·£¹bÕ:ža Vùä îVj¹­e…ÝØÐÐö"Þ¾¨  ²Ûþat•n_À¸Ðø×›|–––TÉysíÿÁþ„­Ï…+MDTGbãñÏnCòû÷ê ¾öö¹VRELAë£òØÓã/_¾””Hn{¹LÆß#šéšLž³Ím¢ VR·ôzD#ôBÛY>"åAöùƒ5µµ¤ÀwjůQMM¤îǬ‘¼ï{_*wrrêAŒêïú"1QFVÖ4L*-ï_æw™‹í°z”àkk;aiÿ@ù«É]=ç^ÑáuE÷7gFÜ)í7¤â«ÿ؉uM½ùÛ«]ñKJë’’ }YÊ rr&¶¶kOæ>^¨[ÝYØÜÜ\KK (Hþ[žröæ ¾Ôöüm)))eeRuÖÎÎE¥½Ï“’Š=fžìO•«ücv²Ö £ ¥¥¥‡]¿··¶jšºQl–äžË#Hȶó‚˜Ç›ÓwŠ2¢Å¢»ñ².oBç_(õÔócAÙé6†bÉ]uõõœœœ£«Eµ¾B¨,<~yy¹c~‹ ª“( _ñ²{ѹ/ÀÏ/ÏGÃðeÑ…K—,ˆf=H \:Ïç ))í×.çdÞpÒwpòÇQÂö½<:Öåùg*û/­‘÷×ÇZÍÐèmmÊÊÊòW¯@Ò í×o«ª*p«ŠM½Ð 'öÕ! ½|||LM_fff&%%A <>gÃxþ¶¥‡”ñ{óp{iaÁðí3N5vÐWÒÿ‚½ˆŽÎnUqWÑ£Úš=În¼"WtiP˜8n«@4Žï…X±’‚y¡ß¾O=Ü3þXG“»`X JÓW`‡JKçÖÕ’‚T,è”ßÔÅ!|ÖX†‡iŠùn2ÔtFDœ¥cž^tÄݹsn¹FާêÃÓþìúé!‡Í„2FGœ¸±ÝWr"TŒn±8⢣Yz*ƒ™ì¬ý_yòUA&&Âdá«2]òíFF _½˜“vsœ”¬Ïܶ ªz®¤l“k%¦ŒÅ wQ;ÒØENfp…ù"ýhþuCœeåéàxèyá!’÷dmè.k}#@8R×=¸–i;;ðM×±| ‘oØ(;q‘Ÿ5ÛØÞj”æ'QTgd‚Ã19šÍJ‡ËÛuußu_m Ôº¼iÊó× ;?R‚³>Þoª‰ÊË?kK^#u»?ÑœíÞ™ÓaƒÎ„×÷MÇZq?¡bÅþŸØåß ž;öýØÃE<€—ü̎ƶ™<Â7]úàõ ïŸüÚã¶Çø&·ß“üö후¤äõ/Î55;BQ¡¡ž7JJKö{•îÆŒ5†½“Ž!«úúúÞâÏù§¿¼ÑŸŸå× ^KÕ¯µ;]ÎŪŸì uuuàeœJÜÝÝþÆL¼óé¥x]Yù0Õq÷læ=í³æ‘‘ €@ †ž/**:>>.µ¬\Ý ÕÐhŠŠŠJOç©/Ãy=–¹SŽf?D †<ÒÔl¦xŒ¨Ÿû“¬ØÙïZ..-}Ÿ¬UÐÍì\ô³…¾~û6Þ)Î ÿŒÞ^mFxCðÖÐ} ##£“oùIYÙÙ>“5LLhl P ›E¿Ã4iÛ¥þ\ ¯ñêêêjAì1Ž8^à|ríaNÈRÆÎz>úî4iŸbnVAõ@Ë^5H@Üæææûê‡Qqññ×¥¤ uu­‚å¾ ÞšD"Ŧ7eaiéýÑj)‘HÄoíóã···í±'»€›GG¡¥Þ1Í$ ËDE£¬1§‡Ë>Ó ]fz…ŸI*«èº‡ÅÆ€RŒ©´gebâ/Ý*·}ðd–²–, ‡©_¾óß?–fcÐÚÒrIàv3×êîQKK‹Qæ-^nÆÄWEJAìjGMÍígšr€È©ÊEsiËSvbÆÇmŽZ¶Ôxr„>"Û”Ÿ.eúŒOL¨€’ö÷s Ð–j·¡éеòaE&bÉ€Ç@vœÏ ’’ú»ñÜ2vº²ˆ:t×Èžèîíwc³ùcw×ËÓ³@pã3¥}$+A;j`¨%¯‰+`pÅÐ "lC±{åB44Š-©Ã¿?©B%˜‹%oÌ4͵ÅÌàãî®òx–†¬UfMv>;=Ìððò®¬®Ž×UFßö©èíêz@4~9òóó½¼¼P^^ßÀ@ê z{Öè[ %ÔmN“P‘‘ÊÖŠóVaŽ0ØG€&Èd²ªªª|;///‡CGÐ3M‡ÿÚÈÊÊêëë+Î •TVóËÊV ú´øSöý­0›ïšyËëè`>‰žö.Óà[k\l[ë·HîW¯÷‘I´è«ýöK7J ÝußFýI¿·9ƒÝ§”••¹ YËÊ[z|ÍœÉ÷âÅ‹b‚îvI7ÒÚ3þª×BêÃ]¢¯Ïño=º`‰Ö¬ÂéÞ¿ßo^j1æ,Õñh¸Ä<''ç-/Ó©¨Ë[§ò¿„¦Fù³ú”g(w`èiÃ* ÿ€ñô• PPŸ`¾>~xœµWwTSÙ»e¤*5"UD¤‚tD¤C&ô*z$J¤)iª¡Ç¥ ‚4é"¡©ÒD¤#åwgÖ{ëÍ›¿ß;wÝ{î]g­ó¯í½o¬‰±ËE¾‹444,zº0S`NîzFZày%½ù;01 t`4g]6'Óа)èÁîšgmd?113çošÓq?–ʤo™¥Žfm¡ñí¹f ¦ÓêÐV™×€NH**zÉ+ÖFŒ½‰“ÖI»¯§}å6%i„ìC;+g⊵æÝÀýìäôD]˜µÉ÷ðtø¼`X‡Nv²¾Ikþc¡•DKç-y¦ £}öœŽ–ý};==ý"U<)"‚¶âmÓÓížÆôáRKž(Ü… &è˜ßAº”9a¢lÏu…ØpšBñ‹Ú8¥ª™Ù®á»ONN¢¡„¦&lxø{ßáÁ|ȈWYéƒ@€áº¸´@pH‰„»Ví;žxÉR©`´PÓ+yýúU½€ŠEi9‘ˆÓ½|ù²ajqq±)Q@@ÀÓË Þ~nƒ§ßùØ»º¾ö%H?ùÞp2dµq444ts»F¶25åzÍ@áYWÛÎb@Y*%z=ƒ¸< Øñððιz®¨¦&…Óõž¬œšjÄúqssÍlìíûÑ=}}iº¢\Ú1HýÏCCÙÙÙÜRVTªóK«nµ1ÈÔÔ”" ùõ ëää¤Ué©1»pÂVgg'lO·QiJ¤¥¥•k'‘H:IàÂnV°ZzJJ”¼±¡aOw7?¬°jöø±çFvÐôÊ÷ïàë\Sb ä¦& uõiQjUÚ3±ÏÃé”ÕM.v(ã…è–ªªªßg((È0%¦èB l—·åÛ%SݧBB§äèµ~ô¨õ¯_?dY«9Ë++û¡ó·žoC2ÚʪÞF–6=¿ð$@¸ôeñòð¼./ßÝÛS÷£ƒí¸ùøl–””*•ÊÂk`±ìQ/Ó553ÉT‹Ò©º€ëKM‰¦nUZ¡!÷߉îíÀ’«¤‚ÚâšÚ/àOt'y}Wìî§Ÿg lØä4 ÒZž©GËÖF„³d(§‰2aòX=Tö¡Æ´ ?ü±È‰¥‘?<û&ÚCÌËßCo>«g‰AÌSGs…ÿFvê MvV(/±ºFò”ñœè$ô7ûLJn+Ô‡Ÿ¯¹Fª­­2ÑhÛË®¯=ƒ$;Î2yÌT­¾20…2±n¿'>JåêÉ¡ Ttöå ÕuvÛ@ "&¾BSiÒ “âôk\Í‹äÐhÌþsŸÅpåRb”ÑxÃTm³“»¾¾Žð6K]Kì9*¹v!¿ç*îøGvamà,¥’¨$és¥`%ó~ôõ¯a‚Pa¦ò)ºÀh‰Š):c ÂËmñõ[TZöKƒw#³Ñm-uet•CÿÁ˜Ä]GMçò‡uÖcI>¶ƒ`DÛïõ\ü=³ÍU­Þ=aò1–w¢ÆJ*¦>ýòè°Ÿ@€µóKzܹé¨Û°ˆ<ª,ÝwE³Šì‚?%¥/XŸ>׊•¼kwgëíã­“$‚˺c5Ù¥y2ÌŸÐåQÑ^û)ÿàvs0¿2è…ÚˆýÄ'råÂ|ð iº ` 5ÕÛ¯ÅWR­ó+Ú¯ˆ?â5ÿ¼hé4LÏ«Úìyþ{53›é¦åÛf ¾ðÿ»Øº¤ÁÂW&„öÁÁíH¯„.üYõ[ZÊÿâåÉŠ¨T¡ò:¤[ÄñÞP_?MÜ·Õ¤œ`*öù¼»«‹N\YmËÍ lYÃõ¢÷©Æìçg,ë@Æ$ B~þ¡½Õû6_%åê'‰iÿRí¤I³g¥ùO ::ºZQ×í!àa¹^¥ ^‰ü%Ñ&æè1P B;þß¾!´÷õÙ,58£bSŒàŠç­û°ßd:®^•ÝåìÛGikhœíöµ«M>’À#ÿ„ýâÊiBµN{y„2¶<É€›OÁL}§‹µ)þ‰€ÑTd0½9möÍæ6ûÙÏp’ÕÆOƒËËÞþÈÇÇÇQÔâØXXÓx§+C G¡f&Ž “´‰â© …ÒÒR@ÊùʚšÞ3žŸ?÷¿÷ÜþƬpgF^q–±i*Á!#+++#£A¸µ³£ûY•^$#á?{ú]ô x¸oö—èÂŽ¦¼ ‘]Ÿ 0t¢ÿWB iu‡¥Ô^__ßßþab`€&%!|Á`ááJêêêªisTÅüT¥/ã¢`K¨®uYêÌ@æ|xP“]¥†Áõ#wBª™úÎPŽfÓª™®÷C‹ë“¨V²o¯ŽÈœÌììì¶\òÊùW´˜ I8ŒpÏ 6= ã888"×lÄåÓµML¤Éº¹2¤³Ç‡soˆŽjÃòùk"¼ ÿsâèè(îô«½»[Z§—‹âh–R¯ODT£ÎqÕDGGªút “è¸%´²²ÒÇÇÇ¸Ñ  ë!WWįŒöb®1Èä=*¶SǦu+0¬ÕN·‡Srd#]w°j–Ái¼2¬{ï(àááÁÉ kooàìêê²07×k±e7u,8ø÷"ŹȷKACݘ`Lœ¥ì&Ð^MUUUü]EAAAE%"<Üâ5Â,Ì&²PvÇã>–)‘@î/sû©4šd=š~‡/ÌÍÍ-,þßìyæ"¦ã „ﺜ\/ð°˜Ó÷þrV§ÌÀù5Çz“ï_JzrAE„A))†NN¯ì—yYXöη]ÓAVÌE‰`*ñÄ5+Åœœ€7.nv2¼<=»»»ÙM[!]ÁX¥>dƒä`6ÍàèM.77·ÁÄW@&e›} ÜSø>‚×»ÑÁRA7¹Xºû¤Lw,¢ž§™ÀZF..B.›hüÁl—"Ÿ¦Kf µf2˜-'%%½Ëǯµ]ß&œˆŠŠR“•í¹¹Øh©¥¹ù:²‹Øv&O×yÒt$M˜ße³/00p€ØÔÄäx}Ýåút­Ü¸©J”G»¿CéH—ýØ[[[Ûßr?œKJJ2õ¹aht»t(Å ˜q‡¯¤p½RD¦hÆ„)ÂÚ¡ïraa¡å`b™A­"cÜÍõõPšð÷g<É»ØëÊ{ k€45…Ýv¢Dm­¦¡'ô䔳R¨›bKPoòÔáJËâððÇ©B x:gbO  )Sb¡y? ±'üþ@RJ*AÑyz^k¹¸¸$r ™ßУÑv£õSÙ ÀÈôtíù P h™¨ ñõë¾ÙÜ’Ð!ñÅžŸW/!öôBzÀù‰Æ~9k_ÄÉÁQW[[Ÿ˜™©+,”‡Éá*Yľ™%‰Sð0ÑAxiMµ)æÊ îÒªÅûÌ9‰Ó æí¦ULµ9üj÷¼ ÎÅÅ5±¸˜Ò+"ï!ù6ef³ã•åÂÏ¥)LÁœ-Ê9ƒÓÛ³¥ô0|ë*_ñÕ\8?€ÖÚÚÚãdeyb¢ ðBà¥]¤¨çåu¼h,ìõ!íóoeŽžØˆAŒ[7Ý–¬Ù‡è¨t»­•ˆ…fdqÿrSÝ3¥~ɪ¼V‡åÆþþ~ ÅÓ%½ÙØŸ.KýœHÊwí@ì“×\È0<#Dª‡É ¤yÝ'[Ísû¾Êã]Ƀ_«¾â¥û˜bijNVZôž§!îíd˜Íb'L"ç3:Þ.óñÓ¡Öo{P¾Ÿlä ʘ¤¡¾îàã¤7}7‡K#ÕÒ½¿92ÔÝ=¿×… Š"•Žö¨S WQb‘*ž·ážºÔ¶ñ dœ¶êý^¿ ¹{!{óŠÍd¿á{$QJ" ‹q4ýMü ~H ¨öñRD¾*Sh uWÃG¥jÏ.A‘XÌiWEñ8®ÒeÛKûê먋írYÑ w3g¯=ê¶{`‚<ê_@2µ'ïš”gJH0ûq'"~+‰~Jöém-Öw3ÊUÛM’`_ûŸ¹Äú”ÞdEc—]i¡`EdùsA .+3QYJüsPdšæ;ÙZÜsÉÆçðþ5¡$<Æç¾Ä©…ŽÑýp‚ÙÔÒF¹^Ôix8¦Lñ ¬¤Ù í=û·qqܾƒp@ñì~ O5(F’‹÷Œª|lìÎ뤿I‰ÝS¡Ï'°9½I 4f}·9Þ 5^ZXþ݃վèJw¬Ð怌¦Ô]ë¶JPp{ùpœ#Tî8q›…W¾¯¨~Ô™ Pk(ìµÖ¬Ôòvxq%võù‘aÒáÐ o¤pò>rlVVkÂ@èÅ!>~ $âÚ"¸ÅÇ;¯a%»6k&ŒÓ«rvv†ä_½fCMî’Ç÷f›B<¢^ÿû`4 Jiþ°¾€ÌZMÍ÷ü–µ‡…ˆ«'ÐIØ+}ý±VÊ”>”½»ŠÉý^ë\ßõSº ÕløÛéhh—Ðôµ};ófFhv„Q5ÍŒõâ-Çc¤nº*^ý¾Mv…5lîHI @y¿B‘áüÃé *Kîñ‹“Ÿ4ïqÙ›C51Ib›l‹Ck9çÉ×ÛâØ“‡ ]+hh÷OÆk¦êõððw÷BI·è]lJ°›»ÉØé’PÂ#ž4ODnì+°QÝݳ…&’FÝ[Ë]K%ÇÙÞ2):D¨8UBhOÝbTÜýæp+³õ·£tvNF´t^‡éê¥Ydà å õ—-j¦[Ç=kÑ_ AüR_p~l,¯u³a õ³Åì.¶ÌtÚ =ÆMJ¦ï]×y)ü®oˆ%^‘äü"K_3ÖýM½‰ñ¶IÙLWoÕHËGj‘\vöRÜi# EèLý'ìÛóïØó©GRÏ2è"R²ÍOL„ÄÙÂX‡úy€õÇø_¶"Q»ˆìn¶Ç§TØÓνdixDúω«@k¤rŽß¶ñáuüF!ŽbÛݪÏPžüÍ…ZúÈÞ„~3s3–$Кš-ÿ¸3]\׺ÑѰ™^7,Ÿå `SúwJš Èñ"'‚»Ë±Èž>Ž@† ¿›±«0Øè9ã‹{jÃUe¥ãÌA…Íš¢zPâ¢ÆNô$~i ÿmRñ³Å¾ìÌçzðs”MX½uœ>ZŒŽé°xNï h%Üj$PH–aÕ»ãøUÚŠíq=ñ¹•Râi ¢ñ“i ü´X¯mqŠ ŒÖK¦Þ:½/O“.»ˆÈ{.œëHªµ¨ç;×ÎNvEÇíÇÏÜÆë´erP’5 ®Güè1”DÍItÏV‡Â4ÓLª- öæW_aStîÐn¿{: [ï'h€BZ~ ŠFåQ! ³úÞ »¸¸Á­Þ©î¥¾tòïæk1ƒqtô§ˆg+«èàÅW‡k¨±/Ù/C*)vxc‰h ‚zÓËÙ6\ßÍuÆzî~ýW= øú²Kw¨‹P¿¬,kV÷Sû6ß # äMwþ+Ã{¯çèçœ×>ª'ôq¿B«(…Ÿ@H¡GÅ–´mòÙv/«$r»Mâ¹(–©'Ìò’í»'y°»§+õ€°IâðÔ«äbµtHo=úGÅZ@QÙiqaááHA’7¸OÄᢾô˾ëHüsXîâ~?pŸ_]}ñAx¬ØwÍrÃ<Û·{ž7è°aHÈŸ^ø‘ÑÒR¢©ŽþB6ZôvU7Hf uÄ´žÙË«5‡¦èïaK.->$„¹d9# °%æúô#%S4†â*âºw9å* ÿ{dçËÃç·ßç8Æ,éeW°X_§Pw½ˆuÐ5:/8W[–¡ŽùtØçAHþ74à Tg³Ç% Ñ .Òç7߃B>Ü£¬)ï-¾û{º#ÂÆâ‡„Jã8Fî÷ëKUÆ.Q†Ç–Ü„_Õ‹YŽ9}v®ŒšÆ}áNp'á ãnœ'ÞÖä\¬‹u¦«åり`<3m²$¿`Ž|rdŸ’ù„©…¦—•³tð¿öÿtv'ØÝý¶ýõ–p›æ`Y8seÀoF~§h5}’(WßLÙënMK}¹Ò´žÙ½¬°Ð_¨øÜ€‹Õ’%ó2ÜvaŽ Â'?Á…|û=;)J ëY²î§ è‰ÿZàÄíðÅÜ¢­ÛRF5`^µz—8ƒdnë‡_È”á&0¢79t‘…ÒµjÇàß¡Ý ØΦћ¼ñ!D¤™q‰|ù ¼0Én©ÿŽU¬@ø^'à;‹‚®®´‚¤‘TAqL´¯°ÂvMžuÏB–Ð:žY6žH!î?kÏæ#=*XªÙƒqþ<'õàxÃK¤š˜#·ÖƒÕ7¼%MlU[<;rÙßÓ ÎÀ‰]Ý`¶´Š†ŒÉ—±P‰%ŠBع¹P»’Þt!½ï|hÈkxá~LsV°âΉï ÅךpMRG³4ïôˆ¯•Ð2¢O{£¤l¡®Ü¨*µôlvXä„D1×»(B EYRYÆ­Õ3/ôödŽ¿Õ",5–Ìœ]V;,[–Š˜/¾²ï7ôGÞ[º¾÷“˜:œ7û8¬´â‰ u;¨vˆ7 0×Úš·»?dèE««MÌwÔÁï]#”¹HÃ/VA¦œ–-°G¢ÿïZÊöe½Êjé¼ÇcϬ¼e?{!¥ûµóTó&V3ÇÏû6Óµ ò¼$]Zî›&*¸Úv4ÒÙ• ªA“qÛhº¹¬{ÿxŸµðƒû‡Û×£\^’Ñ<1qêØ8À…Ê™âJÙ=Ï]\~m)UT>SRª¨ _fVsOÔ8â`‘Ÿ'i‰«et. nž3T Õ8…2Ý/GÈ"á‰C}~Ì™ß`°2‡v|A9;T“ÅfÁ\ÅLLËgâÔ“¦&VÄz8“»ÞþPuxÝŽgìvQ¸Á˜ám1>`P >Ý>¯dç¾€ÝKóƦa!#Ÿž3lîä14ÿ¡^<6”B 4a©3Û~CU*÷N st9|‘*"‘.ùqšƒrP¸¾ÄF]ÍÂ:çóh¤Þ í ²V‡Ò¾%íåëÉ]Ùä;pòY„&æ ¡odB„î[æÈŒbb&Yê»·šdXö ϳVcÏrÛà¥1q~ޤXXuÇâo¯îÿ˜Ù)?e¤ŽQ9Wa¹òó÷ Plu5·pÖ‹Ö‚ä ¯Lc¸\Þ{¥ÇšÁyð½ü¤GçKátê-ù5…Ipí£#/•6Cy•¤ö=Ô|p‹Ì´]ƒzv-—`åUPäÑåb|½£ñxƒßB6+ùt’ý%ç/H´TÓÙ/¾„9O`ÝDð|îByÿ‹ÆîÔlwËnÚ\t§¤Á¤hµ™T,ã`é‡T5§¥VCq„EPŒïªÕíèÄ€¸n}A_T*TpxÓ9Ñ>Pœ×¿æã Ä{Ñ¥HbŒ[–û«Ù¦ûz­nã Þ[ZÇ»E:Þ·}8¹‡GP°™1çË _ƒì1-v;Ò¸yMEw{˜¸ }Æ›t1䌵MïÅóν׮™·°œ…JîýÃû~Cé:œ¡$r~³AbŠ žqO/Öœz6ᚢ‡ãp¾»mÓ„goeïb8Ä/?”!_¨Lp}Ó­Õ´8{ó$' o3p––ýCö{TNÖN¥Ë—ëà …TñææÙIÛ4V©1f8I §5áh’Þ@OG•,Ò*{IËcá<§uŽ˜ÙÃÙ§˜XÄûÛá3À– PuK²oíö©}¹ý“¥æˆh Ÿ.5ç‹$ec5›¶º "" TÏ€t>}ÚÚªp¤¶_¸#`üÆAÉ_UãÜ5;úvLÉ¡UY»·ÜD4±•|Vs.óÙR“×t;ª³M©‰ìºcš„»—Èa4^…¬ßF¥˜ÔʬñDzé·Ûî¶j¤´vwÚP /4¨èûÞW8™œý>û)Ú÷í!A¬zO<¨`Ì6Q§iì½FÊ?ÔN{ø>òJTËýb¯àÕ'R{*EFØ€E\ÎlVZ—‰ZÀ±†õ»›Sáuõ6x¥úH¯’ãŒ×¶\‰Äà/ß;Túݪ#TÔÎŒ-†Ìt'€-,NIKE¼hNv>ÞŒ' Ea*¼£- ee5;3ŸÈ&ån¾^ýrA©~x,«SNC´ôpäîg¥¢)Ý?¼›¼=ÁÒ:_a±å&{möÖÊÊ*G6hE~Ì;Ó‰10psÂbrèèÈË— cìãâ;Šw·šùñЫCa°ùa\“Ç¡>ƒq³¼cWaéáÑ*©3Ù·Oï4ÊÆNb k>/q«í¤‘»c¥{¬ôY7WþL¸RQ©>Yå?…î7T‚7fŽÒù.¿lvÿ>Y 6\u(²US•Þº½Ô¨-Ñ&Ç9iå7+<ô5]J(ËŠÔàÍÏ™,½k^{6lPÓü°A\}úÚ"<ìú|‰‡/ýW‰ãø·Í<¼“¨žÄ¥Þ£² ¹©j‘ï¼~M,ð²b€½ø¨töõõ[=pˆ_чàtamfN(í’Ö³´ö% ›Ýî’Æm±ŽçØF™EçȽ;§w±sôù¼G„­Ó®é0p{mP§YWÇCí·Áñ5õɯL›Å`#‘äÞ_ 5Cúåh/=¹ã|øåäFAR2H’F„bÛW‚ÂF2ÌÆå´·®’Ц8š>¨ãøf•ÌvÿÓt(‡‚"‰2ðYÍŽfw^«ÁprGëkŒçÑ•ðÁ‡ð^}e19mÁÚ7¥ù…®òm÷šN«}s¦<QÑúgÌ?`-VMø ¦å¶âK½í­0Œ]ÔÕ¡Ç?± gèˆ9ëH=@æï¼ñË E ­s¯Ç\´°ïõMþ(t4(ô±i>ÑÏv‚×öX ‹vëÃ~†hÀI[ÈéÇ\ÇÑs Ep#©[ÈÕ—Ý¢Ã$©‹5y­¦2µ¶]Zʇ‹¨®VqIŸ#‡õEl„œºßŸÁ…¾ê٪Ɵ»ìŽ¥—Þmí)» ,!™öäÀú¾ ÅîÚé e\Jc(Uâx™Áµ "R¥Ü{p\,ƒv÷Üp¿Xå WK•N¢oÊ“¿I†ÿY Ù\;ݵóæ-þèÑD]ÝÚ܃Ǘ$JT§$–s;nÛy\ýY@õILaˆýú¶«wãø’ü÷Ž˜¡WC,ÈhÖfÈqˆƒ¦O=´,,ôš"“/U(óÂÊ4§Wøöù;ÁÃÉ·ê|ù5ÆÂäR2Ç1”â¦MÐ’å?äÃéV-ß=Óé I¬f–à³:TéµWGm61hWY¼Îy&r::¯½…ró5Äíãï}rê6äê–[>êØ¿VûÁÂé{°¶·Á´ýÁ—瀯;_JmQXÛÚ'+GÓ¸Ñ)ÁÐ µõšQzf±þ ¥s•«4 mú¡¹ÜXy6'9 £®ù(W¶bßÓ°Új=5ºj5ïbׯGµBcÜÔY¹1uF 5p¿˜òŠÂꢋ¯º¾­c`pM62võàLá;®C·­õ]bURÈ»yn7»½~aI¥ðcJW)Ï“äWžÀg°r­}¹írUg–†Ìtú¨É‹<«>Ç•Øùy‰?ǯ;3ö¿o×Z-ÔaÛÈíøŽ…ö×Þ‡ÈÃéM ¤Ý¤¬–ÛpŒÎ,_b‰fœiÏ(ý4A@xü4 àñȳdAÙ¨Nü¢ïWN•dQ ·µÙª‰ËÙËÍmIr&•E¢«:ß–a²ë‹J‘­ü»•Œ*œäègHE´R™^°ÐµØ)ýKqo/: }¼Ë‰À*¤‹’àFu—VãiHpPGCòEÈ9¯Ù6‰IÊ(ÂÒ–«¸uæ4ÆÎ'ß‚ÙìàÀ·ë'[r[ÜŸTÆøT]e$6Ll¾]熌 Dy¿xÂ>ß-Õj•ä/q‚~ÐÄ÷ÊæßÙ?òMÔ‡†;~"]tD£¼Í‰ùô§N°–?#†¨àF‰}3ÿ|Ô sË]rÿ°»ªöp4°@ëŽå[SóONGNYú7êL66'W$~þVW4å¶ËXb”UˆJäáÇ‘ý˜›85÷Íj§ú×ø,ÍqéÃ×ë± {#»Ýâû“¯=]þe‰°ÌÀÕ­˜ãÜf#MÌvêëguwòXd–ÞÛ"÷8n“\߀–nçרò±ÔO® uc-//kn^÷à-ƒY=SÇ}Qº»÷Cû·žo¨RÕé\ÕâãCWCÂ,2ªeaSJéAÈö˲”oµˆ.ÔN:ç ‹>¼P, Þ"âLy¤Y:\TÉÀ¦R§{ü èa×ÿ aÁÓë6}þÑê'Åá&æüj›ïå:q"œlíÌB¯…¬N÷OÔ@A§¶ÀwÝé»î÷7éÌ“Þ!*i©f;åÉ^É-­Tbío6G(¯O*ª4Ä,Óî?™H¿Ãû$Øá¹¬søá¼’Z“ÛZò~Ç(sH—¾á£N–û½º!éîšnoIA³‰ï ãÕ‰íþìdËT`°ÝñÒ;^:Úu¨Z¶ÚÔ·ªÌžÙŽMVøõ<ˆF©²³‡„$\”W@/!EÇWcàv/Q0*A'`FP/¢Ï`e `T¹Žd°ŠŒÄÅG¤¥ @5³BáãKðm¬Í7­PŸüwè…þÏY– ‚Uº@\ñŠÿ̳ü×ü Ð;K†R?Ýûhþ6ÛCøJª¸jZçÐh»qžîïqÿ)ýﱜ¿#/!Í.¨¥êÌNÃX×·âÌ~›EîH]ˆýä×Äe¶Žãd÷û«Øÿ5ŠÓý4ǂґ,À…VþÏÂü§xºs4€/õ=>C ªš î9#E.UérI3ÿÿÕÝï (’(‘]c£> "xœ­–y0ÚÇc©ÁUE‘ZZ­å*¢¥¨ÞTì-„Z«"HB‰=ª–KqÕÞ– ¢Mcß©eboS[-—*ÚØJìÔr=»ê‹÷æÍ»óþ~çÌ9¿™³Í™ßù}?¿€ñÅ€ÏÄXß’eñ§›Õ›D¹‚Y† uÏHðó´¾n)|p™èë" 9ßɦBãâ‘cƒ–ç?s 6Ÿß½~ýáµ÷¿ÿðö'/˜øÞ‡ŠÍê¼ÉË+ŽøùÀ;˜6ÍüÙññÅÅÅä"œ”Õéñ‡ßŽ?áX¾ìþyÔôÞœÈFœ|õÜLøé¬˜Õ/6 PJíÛæYÅ$ü9S óðÙ#õßE~þâàU9kÔ¬9úp9Wž°Ÿ^4êSc_þNLYU«æÅ?>üx”à MÞêä×WïþVåÒ{U°ºö~SZUj&ÔócûóWÏ‹|öÑ›VJ¿8øo3u}àUªxqP7—…ª§J5^ÓºÙðýØÊKy d~î œâ~¯*øŠ ¾ø §qóä3©>Mìšß²|æ½c§;ñþz–KY6ß]÷¶ù¾lžmʹýj‰Ø;;Ïë]/ÎÎXuy`Pn¡úz¾àGpˆ¦¥¬NÞ-x‘ ïÇÅLàɬíâ¾Hô]ÿ•ªì½R•êð-Ï­g̨ƒ!Èî»+!Ö º\¾puýîØx_}õ|~ò›ªçWÎ åé²òdÅ.òÙ©×L•wг•Úc^·wª8èŸ €éå§¼¶ûæ@_¼e38Š5¼WÃP00ƒG¼cÇyat$ïxœ}zTTm÷/‚ôK—4H‡ t#Ý5t#HŠ´€ÃÒÒ!CwÃÐ ]ÒÝt· u¾ßÝûÝ»Ö=k8ëÌ<Ïo×oïý°¿ª«Êaaa `)ÈKƒžu¿÷Ydf‘ðoï×W‹º)ÏÞe31«Â1ÏûÊëpÙŽk6ã- ó [Vj2™à;ÏçÃõÉËY·ÅoàŸUÞ0À’'svZ±3³H7ê³eÃ׆V6AÀW8èóüìÔ«+1ð÷ßs;×ï¿Ã,óéd>;=ðxY /üoQ«36‡Ò¾Ð=_x¬FÔ׌<¢žòfì °»y€\^ñ èJÁVL²Ÿ ¤}zVJEV7ó'v Ô‡a¸£ß³ZYDü1 O<(ø WòÿÀ˜õÄ-+,0&‡Ÿ†Y³¤äƼêP{¦Î¸L Ü[ø­ê“œ @z#aØ¢ž³Ù‹Ÿ§äŠEÈ€L ¿X§U|þ¸‘øÕ` ˜;oÔÙ3&d ¤$Ô§ ‰Ã,cAèGOhш©¢{ë ¼õ“Ò .;?°ªüt ŸÎÝGà='Àÿ;;óÚÛ¿ _àeTqpr­-ia xÝó†å<ÙŽ‚ûÔè};‡ƒ3kðóÓäù,£I¨Â,’q(dš Îx*5M‚(âìFÈ[‚ 1-+{l·™ Ï/ËâFèç'õ‚#âþ'7lñù1ü=E}¡n¼DpÍ‘„ócÅœ(<É|-(-ö‰ˆ-æº%"جÉá[ ~ùÞâd'dDRs¥hFe&˜ ¢0âi3Nà¸ò}"c‹¹ö‡Œ«ªýe·£!ñy’ÆQ¦B¦`ƒ¤OTÒLk™N÷‰-æBlüúNÍnˆ¹ší¶z`L:I–D<™öaš¦‚E<¤B${]ýø\·\½ãïvD‚Ÿ(F³„'q%~%* $’ħ)‰é~ÀsÝ ÿç¨`W,ȈɄë4ˆ”ˆbågYGqÆ1 xêû7ÂÂy™Ë;”¶ã0ƒÙø~En ÜE†ãÛoƤhœP>gA¦$`QÊħqù© ‚è!"ff@ÌË r¤CŽš¡.(ÇáÊ8J¢4¤¡RiÀ4O$ÌÏ´Ÿ2ö ‘3ó9K¹²+v@`œfA¢5"ŸúY Nj†<¦áCÄÎ8Ì€Ã\–µ »òþÊÎæßC UR†0F]1Ð>÷‰Oˆ¥£(åCDÊ8ÌKFsÜ€Б¯%'1 iÊ£ ã‘!2SìA2áq˜7ÿîK¥"'ð‘t)Q>¨Ø¡Š%T%̤H³›Ù‚WÈé-溥âz~;&U¾¢ 5qì<”!P©ðu„þ^5•-æ2NÀ«ÉÒŸÔZ±Ý7Ö’½©’k `;ÌÈ£™L©Žy$Ø`Ф\i¢@úê¶Fà:¬xmNú_Ýe[ÏøõK¶¸‚µ-BKR•‰€0vêË$$Kœ“„gá 5Æ+NãsœF‹œ•­¸Õ9,ì;A¥cÁ#Æ2 …JAAœ€ékJ|BµWŒÏµ?Ó{',„¢RŠ&<Ê„ ×Rø 8Ò(Ò7sKÝ…[%§qÀAÒ­Ûå¨dã¾ô%K$‘ h± Ȳ >ˆLÝÆ,¾™}ãÝ#ã€F–”v­¿ójú4„6ŠC3_¥<£)¥!¨®Q” ¦@€ñ³›éÚ÷‚ÃQÀ‡8tšÓû¦ÂˆQž ‚~fg£¶,p€(Tå ÑÄq¨À‚’˜ÄI¬µgÁƒ%½qÀ‡6Ûî¶Zäûˆà8k%â8¦™Ò }Ù&AJÙÍt«ó¼j¬ðd¹îI£K¨U¡DóAÕÍP /óYó£SÄËúÐs|«¸|o^À9½_ÿ‡U90}ï[ò{áoËñý Œ„4Šc‡<â‚¥<i˜&„ ~ý`isðJ±Â°ü¼È›Ë«õ§cƒÄ“ý†ØúambÛÛ²Q æ~¬ÂŒG2ÞZ¦LqàD)IÉ­Îþ]›æ£°³ù¼¸| ´°(–,°ûw8ôãbéË1ļLî‹6g>lëcõ}*H¨iâ§Y$ øZ’°4öiqrCÐýàyvŒ=ï Ÿc …i€yJC€ÄŠÄ1Ø*Ò4e>•G…ì»GaFâ è(©ï÷djƒ‘ 0eY Cø0ž‚DÒ)73"Ôyå>N9ñy*¹Ì”O"0Â’€INArˆˆ¤aöð¸êºf:¶€¥+æÍ,7œõÿÔxjèch9쨇=òÃXÅYÂS@H g©J#E"ÂbÅn…ãMK@É ÒX(ÀWëÅ OHˆTÓP~RÐäá~hs>ž={ƒG‡¡Œ«¼ëÍÇŒUœW¬Q§euö²)jš² 4£$‰|¦~Ä}Ä z`gZðÛaþ×ß²»ÆÐø D‘Ï’“F4ƒc–1 ¦œô59§!;ÞÐÆºG²_€=9?œ«Vúõm¹¨•ùÂûVágC0)/œƒõàLÖ†0¶†³#ܳßvò=¦¾š²Ùé¸Ý†¾Lؽ$BÃ0L˜NC ;èûW7ó©Ý'ºÇ ÕÂo°Lp3_P'iŒfDÇ‚Åù<¿™ü>5xÞ ¡w½Á=J#ŠŒ†Iè@Œ9š?:¼!O¼ÔŽŽAßM±‚Û@î<˜1¶cšFQKD‘K ꎊ Q”«4ô†ù ÷á™ü¬ÂK³Egø‰+o^EÃÜ3OæÚT5žaÀ5ª|°÷sÔÌ:2ÆÓUyví´·©ƒYÓ>žN¼Ó…!@ʼ¬-ð°Sv®–€ç3óoÎÄÇÓÊC‹Íw£¡Oƒg·2ÃÌÂz¾3œº™²™W®è»ïC ÏÕf“û ù0Ϭótfœ+j2>þ˜Æë#ý(¿6Ïžý\¾S;ò®ñäËÏðÊé-W&Å´;·ýój=*0sgÇÿº$Ì»r¡\uÙÝ‘â^%:Ù‚€¼nåöÃÁ`/1ùwm+7|{p2oÓŸãÏ›r¹ í#öO’•Xϵ4þ—z®f9¶¼òtë%ZP°»Å¥!ä¿:ÔÂOÞ7ßz]<€ý<—ðå*®¼Ñ¹:ðg½¡O΃Hó ²Þ1ój̰Ù±áo]Ûx˜_õfY°63ÛË­Û÷²uJ A]¢Œ}4ÎdŒ Q.fo&ˆXlŒKV¯/LìÔc L«¢À¿ø@Ë« þ WÜ:âk¦M+Æ®²X'©ˆãDÑL„)êу‰UÛÅ…· #¬N¬,ì‹9N­¡”jž¥i,X†‚Dëÿ\^5÷ž{©G¸.æ'oÎæà‚°=Rg¡”"a$‰בȨV”ÊPÒlÝõHÇdi´EŠú Œtÿ¤ÎAÞ¼†}«Wã׫–„åœóÒ6+­‘k>gžçfÝ2Q1®yÐæ¦™á°ç&X†ª&Rgã|÷ØŸob¸…C–Ëvjã¡—kœªœW&œpm.È-['<í”Ës%4Ñ©Ÿ¥Lq îLp’¦>0}̧¿Ù¢6ã á ]]Á—ÆJŽ»naõEÐÁV؆‹ø_‚ÁØQò2ߥž+‘ëD‡¶5“ySUÌ]t:¨j…퀻wmr'‹r‹bž/„ûÅ=á'Â9ýEÚMe%©Ý.­ÛëõìÙJ^öÍÕÁõ0I&Ÿ¦AÜÕZ°ËqÛQý¦šE5«ûŠlÑ¡×(¸@5Ý7˜l¶á9xdá< Îùb["šJv¯íŸÛ7ÀìZâë(×¹8Þ%Ë]°ËÃ%øµéOàªÆ9sí²wVj]É.ÇÞÊŽÁü\§˜ l#~f%f U׬BwC Àø³~1ùsíK˜oûSV— j`ò*åïÇE…~çC}9¬,UùG¬€Õ6Ùp}v°IJ»ÏCWwe6Þó»¼Ü7º}r0r‘c¦²ó¾«Y›`êr‘àrÑxª5"P-jÁk“m¹2£Á²˜‹,'§Ú-?ÞõçQrÊV)éñ»e ûŽà—{ŠììŸ?î“ûu‘¥»Zcz.Ãuâ½1IëöSKÓ3ÈÑ=ZæË.Œä<ÒÛ׌µ)xÈfñF‚Š9·cël(rÌôÒ12çŸþõŸ¹DöeY2¯8/O‡¡ 5¶h‰ø=ui2™¬©Õ‹Je¶5U÷fǰa©OÔäta’—M–tõƒO[Ä´iÐ;‘öí«%i›rœ5Ò6ŸîÊØØªIÝV¬Àu§ûqƒáª¯áH¦Žâ^àí4ŽjmÐØeʃ¼ÍD^â3Ù:YÜieÕBácõB ê\fúÉ „ƲÁz5iÜèÆûýItkIý®i7¢(ì²öG ªÎôžŸxQ2ŒÍ¶ºhwä;â³e&WÑj3ƒ¹])¥Ã÷µ˜w"™-ºß=J’Ù¬‚öí9‘ôaÓÉ ‘Õœýɲ–Íê­ªÖ&t°`cþu›áäbúRÍF¼^_f8':oåø(éÜv‘\£ô¶¥ã>r { wöl—¶Âìлš¨¯[¦<8gûµ™ûm.?û–]6w]ˆ+À·Òò…÷\”RøÏÍßMƒ-kã*®fãŸÕ»’epO Rç›ëùR¥è[kesöö«úغf´" ú”dUž9Ò$º`çù'Uôr`ëGì¨ptø«zí8yƒüÌ.æëjü€µqy{=/Ïò#®rƒþ|æ|=ˆhSWÝ'ÚBPÒ  ?ËgØmã¯É59VŸtn\§˜nàU¨Ì¶µáCSÝk£»:þÐ#íÖÂÈ>4¯T—\J룺lkJm/ÌwØ•¯“,ò×§2šF)ˆ°•*qLpa8®- m³AªÑ!?¨OkCbcÏÞrL|Ç<ìÈÂy¢MZ#® =Ìrd„6÷ûÔT»b¡'À+saüÑæÄ´~¬e§°;,]Ðã1QÈÙ¢hòy‘Ûð¦?¡ôiw¼-Î ŒÉ”‹f€¹Ã•hA‹HTlKb˜R¼5k\´ATHÐxZW6ÅB™‹RÍ9ì„r½ŠP´.çsãÜq=Ä P}Ç=R¯`ÕU+(¢¦HN‹C•ÆÔOIU¼îªêus®7wü¦ò69Ûï횥‘,MYBBŸ_,.‰E¡ŸQ%é€kŒ"Äí›@Û6ôŽÑ„g™ðc&TËT2g¡ RưÍçðµ-æP§jÖ]f”d~àÇ)§Y¬|?ŒÓDê,Š$·Ã›7ÆG~ÉëŒfCÛ.$‘1!2ðñ"º(9ea’ˆD§ÚÒÄŽßo|–¿Ul>m±#¨Öa3ø—&’B°0” g:‹S,Äl_Ø÷΃ق¯…Ž¥¯X@5$ä„Ç$ãBX‚Oãö{¯ŸçÕ¢:o‰$fšÒˆª”Ä©eAÀ¹È%dLSŸg¶w•ya|ÜïYÕžH_†)À®x }Žd'T¢2ŸJN‚(Š,Øøüø¨Ø¦Ìo´Ü¾/?µ¬C†LdQ(E”10ZDa@YF…m[9|s|&clÂ1pÁtà i{K²¶5 E4)I©`~ .MTóÖ–3´f/ÒmÌiÌy’„‘ *ÒišdŒó”Á'Tl0·9ýïÚrmúˆbE“(4%”Ê("~;í+È t/o?Ÿ¥ÎÍI8I¾Œ¡‡QBRFhÿ‹€OéÁ„Ë·ÇgDà> ÒÔž^@lRÂAZ„‹2©0ÍàÜù*I(µ©×íKÛíÏ÷ÔÇŽû±„†¡Àêΰ©„* ‡!¥Y·Eîµíæx—:cóŽÄá 'ŒQ HÀØ…—½ëHÒn ûÖv3ôi¤p(8ºI’òXSgŽ$Y¨±ÃMDÝ[Ò¹i½‹­?Ýðq¨XR@¼`ŠO9hÀªà@éEí}Èã£ÿPù¼n'¤©¦À÷’Ðç$ÍREXœfDñtI&îµíæèOA´ û„§‰2&ÖÜ[‡£Í.ñé÷p¾Ñ)ÝÃU ¦4Ñq&T'~@Ò$~¨€3ê`9SÿÝ‹©ÆoÎz”¡¬ Yüß/2Iü.RÀ±çAð2ã™§[×âTæèîí=ì<½tÊ~!úÐíàr¾‚]‘™`õ]úè¹u¦¬_‰z¼YË™²ÚtòØ é“E½pÞ«Æx©ÙêCÅ»u(a÷ccÑj;£R`ר‘¾ÁëjÜÀYÜÜC‡ÉjÚÖ‹`…^©6M3®ëËEìfïéU®\—-ËÎ7â #L½=4½ÊaXb5Yü›Ý*Got^ükv|`U_¹õ‡ÃP‘ñî®e}ÓÇÃŽYu£w6=J~»!EhãÝMw”׺ËUà[–Ñ-ï÷xˆIF7©Œÿ 1ëíÊèöwËá²ëù’-ãwÀ6D× ¦Ìé cÐ¥=D†§»oÜsÎÏoþÕ½Ò1ûegêÃUfhŸ³E3¦¨0FtâuìêGàêêCÉrè­2íãî‹r‰[¶[=Š"inÏ€ŠKÛJ‡<®$@9–W5lÃ?q?ãËeRZ€µ2®Ù}D«´.`L/Ô¹*ÚÚ¨vúvMᙕ¸ÃÓ¶ä¤cmwöHV¦›¶Ÿ`§Ë.GK¨,ÍY:˜æ…„_ÖÖsÕºÍæšK%†:  ⶬÎeB¼˜©ºÚ²AжíÏÝij6°ª…S þ;öWßâ.©Û8zîÒïšI(3 È4Õ<ÕAšr¦Rp¶æ.3T79ƒ(Í2JU櫌D‚@ÑD 0éU,Ù¬‚îb¢nqã£T™îôöÇIœ½«¿@ó÷aªDýJêeÐL´Û°b£´VlQb#ºÒÅ·×_kÓ7NßoXªw½‡•Ž]zO¥zii†·ØÛ}³4Íß÷ô44eíU<:oŒþâĈk”y·$cos0ác@î¾&c:IYìsAà•,yÓúLÚ¾®¯®k×k"¶Ùìfu©6|ÂK¡{)§ÖÕkm¸›ôYçæq˜)keqGóŽù>‹€5Å{äæÂhâ#%) BJ`¦0A㎂ø‹Ôµ1ùss.xŒ6 xD•N•ÂÄƹô¥`"Ü7ßâ2óGÉÍ7–Ì.Óšoá\…¾sá¬Í^{„UtíEïŸøM÷Ìߦ’îsoÄî‡hã­ðf-÷Tø§ºÒ·šî[º: kÁñ6ÅøÐcm ”É{¶MmÍÔ WÏ>·wºXŠñšRM±ÍÑV+czm‹‹KëÏØÞ;;_aZ]޲@·pã4ÌVGö½%ootIÎõa/¯Á®ÔÄx¦e!»;Lƾî謔X²R¡F…±bUaȽ}t¹è'xêfu¦MTÈã ̘Ÿ€=Í£¾’Dê8HÖÍê·–õ¼u@¹W=¸²b?ÜX¶t†7‘ptËŸžâѱ©õ\‰òlyVìZ̺ϦÔløsûiY_ÝЀ–W»8ÊÒÅÌ—eDì›bÃoÚìÄ¢YÅÊjù΀é_­d´%k•~®†Õ”oce6J“ÙÑlaKÊ.‘ïµWÇX‚wåÜm>SYyš5ðMT7é³ÐXe¦ëÎá"í&†ú{½CÍ«U9îÖH$ë<·•8ö,} µ¢ÏFxÿB :LëQ׌ÓaáEJÖ5އâ¢6ß8«CÝø>šufÌõŠîbR/*užƒÌ‡‡WäЬ¼0hö&¦ËÛvºgÌÖÜõ]-;‹¤;.MÚ—§e,ÖÙ%,Jø“Œ$<Ö0-…“qSO»¦!×Y*E,Â,dT8óyë,¾­§& €$N3¦¡ T%ÂOC†‘Ì2¹Gß 6úfÒ'Q ÿ !Ni0:\J¹¾Î7³Kõ!IJöØWQDx Ò£O&ZS.å¦ê…[ø~4ìoÆ’R‘j&ÒHù¡DBðtO¾Ÿñ“ýÅø~†Eí·ì–¶O‹ýÏÄÆ»1´Û G¥Ï©¬^··×:éššÞ-ì¢U;’Ê(þÌ)‰¹ï‡~ùYL¢D'ÄéŠÙ‚÷²(œÌÊG¹»ÙÎZø­g.¹dõ®•á7,©^UÇT' f´ÊáÓC«¹Öçõo¹ÇãÚjðNÉsåíÇÃ^L¢CÑãÔFvo–°']$〈©%H@£…œ¾ä:ÍÚxÄîºHLü u†a (÷£È×i’i?¦išŠ8»uMq }êË$MBª’û€A€^€äË2¦èu‘D3ØMã8ñ˸(„šÐD2:þt‘H-”sÅ%åÃç "HìqJt’x¯ºˆJ"•$©‚½àY,$%°M4 $Ó ô¡lOºÈx¾æ£‹lJ<ý³,ãµ—;jO>È’^¿¢åÆŒï{ALçð­#dh®ßÏÔJ¹ÂC­ÃÄ{Ó˜„9w¿Aë;+MÕR8Ïö0yD^Q“×>sMÚgj½¡î!hEÆg¯>Ðlç³V³-îGñÎØGåm8îvöf˜#7ö†~c÷¼ŒC«PºMÁRþ“ sï ôâA†ý3Ï6:l{ »u4•r,¾ï¬Ð# t÷n[Ôº¨» wìǸRΆ­®²¥Q”;Æ«k¹” àTLˆ¢\¥¤ìKºZ uò壻]êsçÇí,O*0þ3nßé-œßzsþ}+€zwfµ±éþvô“¡Ö/RqO.ƒÈ3uagúfÌ립=hõî,×»ð–ýjWyuv‡È&¸ðx¿Ã­íáó\ù•Ž%Ã2``w1 *:'?ŽIé—D—/{÷áü=¿]`îóÜðýؘcQ‚åÙ»‚ç³/bË"OÇ’«0ˆe`F„&”³, |?‹Bæ Wù~¹nñÎÆØ›˜T7ÄýI’‡]vGl%©áåTæ’,ësH¶¤IzëT8Hk{‚o<ìÎÊ3äBÏg„v˯í–õ…^¼õO[6î0à©ÙâlµœŒ}4—„/[ƹÎpXv^¸{®¢œ+$à´:¶­BJ±Xæ ëÒ5º³!Ì=;U3l¨—¶Ù£ºÄC¸Û:“íÙóØÏ‹ü¤®Äñ&wß›ÁíIþËÑ‘Y¶¹Lûèh(tu $¢üøäoÈmC Æ´iæÏŽ/..&²üt +›”Õé16úä€zm¿7§"˜d“`B:ÄñR^â_|òä«ÿE7bÕm^ëÆå€zÎõee=Z@Ù{LTR{õÕÁÔÙ£àzBM;w€›@ 5E¶IË£SÝÒ”T]˜‹ž­Åýû‹ë~:)Úžq^ uGçŒ8¿Ý5;’ˆ8EAAAYaa£Ý²$“=¯öï­Çö0ÈÁ•ûõ5"Ë´sq[ ÌÿêÏÊââjþ‘ÑQ '»”””dŠ\úÝC]´½µ%¯/ž‹ xíWPsÜ™k›”œÌ¯L<:ÜñŒ~782Ò1ï7Î` Nµ„ ;Þ¿¿¿¿Ã+Ú¤ö}vv6ú¬À*µ\‰çQJòK¶ŒÉ/>úE¶JÞÞÞ"¤ììd°,æA3Awr€rqqÙ^è×HÒðD]g QŠO~Kf¢1¾¾i½óÉIIý¹¿…=^-‡QªˆŒª²²ÄÞyÔ…záKâÛ⢨¨èMÄÅŠë‘ýQ»`cØQntm% 12ÀH ìâÔÍ4-¨S4“K‘%››ø(ésBBžžž=»+++µµ7¢¤-­¬ò-—ggQžž«¿sœ-ò"ª8ç’ÉN Â4¸…EÚƒJ%%ÿ…D3±Zìw¦e¼þ•Ï.ø†×„@ aaa¡0 Bþ)L&ŽÎ¨²UŠ’F*Zëës&3E®¨©ù¡ÑO¥ÿho¿³ò|~~ÞÀD"½}ññ1™FÓŠˆˆ ©a†´Á¤'ò<œQ7}¦ ·oß¶°°˜[íîîn𙮨ÖÈ2ÅÕikhå÷ÙÙÙ¯O ­îpE³uùî P("ÕQÙ‹Ù>D—de‰ùí1>þñã{ž}zú§ Ï&Oëᢢ£›ššÓïºw—Þ¯ìF„††{xaÀRRm„­7ý·wµœ\\%HÅèw©D¢‘µb:Bþ|B+8¼LÌOË+2™œ}×Ì,¿ß H´êŒy£v— ‰’γÄÚÚf‰¢€o[Ì®Q™,ÓúˆŸá>>>ÕÇù’lÓ׿T»î­OvttŒ’þè˜ÍË“Åmím`±X666 …²³³Së4XÀ}ÉòÓÙlijœœœý}B˃¶ŠòјôǾ¾Ï¸ºU]Iôîõ' ÊŠŠŠà¾‡R º­Ò(=Nà ûïV·¢b¨02ß ÖYb¿.wÞ pî?ÑÑ[ÚÜ”+bLZ—ñd›‡pñ[yOšÚu~è]£¶—mÜ+(,œn ]ìÄad¸76p ú³Èf?ÜØø›íó¥Îc‰–©©ø¹9  }{ñ¾Á›°ueaoâŠÄ½ê¯¼4î)o_+¥P"N°á'O½ê3û þoݱX*Wµ }l˜d(tÀÀÜ(FnL:üY¢ê„qu…&ì´]²S*+Ž_ö¸MO*Ø º¦NHffÔk\ lW2äµ–7ì[hs¼ÑïÞüÖÿƒÓNÙCÞG^HŽM¢„9ˆÃÆ8ZŽ,'Þ¾MIèhìŠÏÍ¢iQ›Jì…€°bo–¤¹ßä»}ÙÙ)\¦÷iüâw $|øô üS=¦ˆðRl~.ŽßlY-µç — ÷P0?‰îâÐt2>©þ‰É}9 ì3S"hM©#.K‚+´ÑK&ú)Œ‹'tîolúÿNøb¦ Û~Y.4¯XHË:¾x˜ÜÒ»pÿaõ  ÝWôÇ|Üe8˜l·6Zî`”"¨Êã(FÎÍEKp9éý÷Ø,gƒ"ýK¾fF™P$Ñ®©tn[gÔýzù2óC¼²¨´tµç…Üðð°®®®˜˜˜œy.çÏé R?s«Â©IDDİBGSÓÖÊjûäG(¸‹þþ½¥¥åÔÖ_ë²çâ-‹Þ…ÍPpu‡I333T*5xcjgoO4^]TR¢…:Kÿ² ej<Oÿ˜ŸŸÏÂRFF†µ5€‹‹Ë{º•¥¿°í3(´­ººš•ì)Þµ<Žø½èš‰‰ ½8þƒÃCC##ç–Ç;ËÃ…HyB† ÌBw×ä嫦ÇÇo)(`q¸gŽOþ±d‡°tÊÁή †£Ñh±çƲ|||¬äÒ•|‘ÃÆcu‡š·oÍÉÚ­W*Þ-ÃäääŠíÖÙg$Y²ÌƒÁ(ø|¾~w`ñxUÚþ =.333ÝædËÕÚÚ:8¸!ÐÕÍÍÍÑÑÑÕõ²‰æ‰§ƒû<³ü/¥U}] ;Úuj 'ãòrŠ]Sµ›*i5n½"$Y==½˜˜˜ÖÖÖÅ2ÎëÁ `‘B§³ä-uU4.6– #)ü WÇÃÃÓÛ`~qn‹ žtI{fWiXVÎ WÎ+,$‰ Ðññ?_US£¦®ž"C#Z›››ÛÚ¦Ñja'Ç'?Ž‚þB»»Û ‘EHEeX9©Æ±ˆÌb4ü˜°»&–C¶ã€Ca—,lllììÄ|4€¼¼L&³áè8‘È‚»»{ÐúDVZš Ô<<¼ÕôjSð†$@ZG§¹¬¬/|LKKëÊ•+,ïöôôTyXƒ/¶:Œa¬BB––0XlqeåFì­@Å9Ì‹[q£ÞÞ¿6ùó¶}¤öÞù$Oi$%ª>nýº3»¿NèܘwJÔƒë ÔtØÿاKžQ«MQ5oú8ýüÀõ+`£þ ÞNÞoKOÛ½ã=V$“þd<èŽÉx²Ñp<QÒga< cö$+nätœ¸:d/㌥½K;‹2³Ï 6õÌíÀfWúÞ7$DAr8œLÂn†xØÇ£Þ¤O£h<ü$;íSvãg÷F]d>»‘÷k@‹]œ½Ü´×7aa! â MÆl4Ž£AÈ֥ݧ©Vpúì*ÙÏ9¦ô<á)Ý‹äÛ²ù>…FÑaÐ.`õGñ O‚( '”vé艾ú%ºŸsÉ28ß<³NK$:ZÃHUéÚL².{m½ ÐqaQ.˜"’Ž0¼hÖûpDŒRA>ÂÂO«Í]miØeê`;³W5â5Ô†¸|‹"¬J̵9†³š¡­ £#Œ Sbì, ŽQ†W(Á· ‰þI”Áa ”Mùè·<åÙ#îà*v—9[æu©[*˜Êÿ¥mo@ІW:1ÕŠ0”¥ÒBÑB#H·œÂ^-A °„æ ì,KEÜrlá²f3-©¤õ+»¼†ÙΊ*"¼Wö+HGM¹Ï)üq>OÙFF3ͺ+W²-ÏÝaÙˆ±ahÊ2€áÂDó´Ÿ5j]8Úµ/|tFiÙ“I °!Ȉ% U™9Û9švY«zÚP26ßì°Ù™iâ£_Z‰…õbçÂV_fºÒX–3_:§çêe}FG9¶3öîø4}ß<)Œ¡XŠÌ:}aêã 8·³Ùάµ6ƒ—6<âš¿(c>ê7ù(¹!w':áIHJŽq—†ÝhB£>±°·%ðɉbúÒVïµ³h©i‹*`OÃás‰sS(m€Êï󺳮°¼ : nY©¶²j^rÀ¢\,“`’§4…'ó^2U~[©¾bgü¼œØf]  Ο¡üƒWXIWƒ€•À¥r>󈔸ÑáÓóÅŽCe )Ø-“« 6FSWL…ªŽ÷µP¸Þh­ÏkR†eŽcQéÚÇ!ÛË’iµˆˆëŒ9«—cÆñ#•N÷¹Û3ç6Hd‘AÄX—ªò®ëÁAv?7'¹ h~hÿÊäÿjࢾ´,vŸKèdØni­”(+=ok”¯…킚ÿ¶NR¦˜Y¿5ïåæÁ<Ò­¹ÍÎÜI³YiK¦&Ù˃ÕKœ™~ùƒUáÞžF­ }`Ç¿A·M¤Ja¥®æÛ¯Kõ#[y³]r²Ø·`ž&¾[ÿ•ÅotŒ+‡k­|e Ñ?–ïªæjS4%‚²Y»7íØ»Èí“h§Ç+ÕöŠú›ÓŽC¶&¢zçÏ%ÃÚÖÇ9[~)ÌG@a©±H©-ñ-ßcU”½!€2›ú#]µL®º±-†MUeÈgŠk§ÎFb„C“zdÞ{ã~L&AŒÆÝ ;ÜŸ„½þx4GÃ`‚G[`rrâ4vq†iËä~vW¤Øž1xþOKÑGë²#“«ßÛ6âºå÷˜ô¼¿Aûèô|/1§8b¶½¹Žõz*voÛ©iÐ|ÎÌîzÃ÷îÞN6Ú§¥÷÷*ØÙ J®÷{"¡5;âšT LÓùÝÒåŽÑu¿uÚ1/gåŸÚ&÷º?âáÓ ™»sÆqjœY¤ À «ÃÆáàsÓ@¦òPtxñUUsÕ*AL¥ëZ$±\•‡8îÔñáwNçL—\R®JVå‰ HÛž7÷¶ÈpòãÚu|ßß®öÔBƘ°Íq#©ôËs@ŠÌöÌÞ† kfH .µ=›-Üs½tŽÞ´‘«•ʶÐ7`0ëOЇ¥däËåVÝ%Î7ä¦Ïd°Ìaõ# l0éÆ22D¸ß…Làø Ù8ŽÂÇY'Ìþ͵Ûþ‹“$~~޾ó}ðݺ@y> þ èËóÔ¶ÃøîšQTwsMzïšÚL[+‹7z“ àd‹ðK4l hb{»B]ѹŽKÐ=¯ùÁHÃ5ˆQ”éî~áÎj££[ŽfÕ×Wäq-“{ Ç jÈeN0Àl\–‡ d½‚*Ž®%fè’Ä囯0¢+3NnÌB½KÓN{0i|s¹›;=ÕÄ*VÈn%ÄãŸÌбýR*Ì9Ë^õ\]_¿Ã…±Ü„E/™?÷Q;ÎE[jÍQœâ¹£3'´™·^àoNë»#ñ€ï4üÏDbí;ÿÆo2¯¬…îÅ£½Û{8"¿X%²cÊö˜m­Ù ]±Ä Í×_¼_³ï.XÍ^1$lu2]¤ö·3%Ig—S™(»'7J,$)ïÊg¶:LÜWÂa횀'EQŽv,ñÍ—û«¯°o}Ã?Â|Óuf›ß Øâbý5õÚÏH¨ûý-Iýå/ ¬o—¿.X+®üµFÇÌœýÏ¢žî 00—Ad¯3xœí[msÛ6þî_23½¸#Q%êÅ‘5ã³›&3Ië¸îôúÉ ˆ†$X²¬ €”HKµd'NÒ›ëLjûúìb!M¿»øåüúËQ¢³]þöïwoÏ‘×ît~ïŸw:×è?o®ß¿C=¿‹®%Î×\ä8ít~üÙC^¢uqÒé,—KÙ÷…œw®¯:w†VÏ,.?¶um¥O5õfGS»á]–æêt™Þd2q«í\†)üɘÆÈÌm³¿üöÔ;¹f¹n_¯ æ!âžN=Íî´[üŠ$X*¦O»~Ý{ ¢¹NÙìÃùå[Ͳ³œ$B¢ó+…®XÌ$Ë ›vܤ£iÊó(‘,>õþÒ>QÊC’¥§žÒ«”©„1í! ›—{š fNÉp$è þP~‹ˆÙâÔŒ3 C¸1ðÎlSîÃsÊî|'ù{Ìst‰çÀž¡ï3N©Ð¯ZmÇÅ-“·œ-K*Nº_ÊÁƒI%œI,I²*ɼ©ž¦€ó\h¬-)œ¥©S5S†è 4¾k·ÑO,ò0E+t!îVs–ƒ×ýž v»šlçjQ¸¡b=·;8 BõaµÈ2,WžU¹ãêE±ˆÚàJ‰ Ê›].¢”ôz‘ãŸÊ ÷¢ ^Õ—HQ["…fİÚ\…Jyš8ƬCyM–˱=®hH®Io”àÈÞ×BÀäÑÑ´˜å;²"†OˆÃ> =´L8IP!\L*Dà]ÄÖ“äÒÂGè­å·Ô|Z‹¾ <…ÝÞ É|ß7j˜vŠ&Ot•¯ó>J®)†(Çs‰3{ Ú'•°M"¥l÷”H`ÈžòlŽ”$»˜½¹ánß›رHü"Ÿ{(˜:õºZ(–áìÜ\¶^/=„S€–º–Ä{Å.ÌB9Î "Ãéƒï£J†‘J° ŽæÖ䂲¾·Ã —¥]!ëU§Þ{œn(¤¶6tÍ üRƒš PdØ÷Z½ Ûêu‡V(àf¢G)«tž±,b üª%Ý·…x®KÌynr¶„ªkj¦Å]•tÅ?iccSxK^é}EÅ%9¹xâ4¿¦VøŽïÞæ}--­tSÂ(k› B B¡Ò‚Ç,$ù}Õòìï{Ýðcîï>8Ï«ê=B™œ¼¡¢®¡Ñ§j¡y}  |âĉ$eý¹°æ2˜P"7«Y:ÞD¥PÎKKßô÷ôñi ßýXP09\åž % ŠêšU>ñña*:6û츸¸€÷éiçÆîk_hj~ÞÚÖÖäÌ]'§©™Ä&ƒÁ€?ŽX¤óX­ŽG¬Mi#D2ÙbÃ#„1¤…¦sßxR½Ÿ’b´½µ2ºN,+SÐÐÐx»„uppèÄ’~$qBˆÆÆÆÝÝÝs”ååe.¿¿?ivxø¨•D240ˆC^è%‘@ ò½j4ZàgúÂìJ(99™¢~¬RÀ´SPÕÐ`-àòóó ›7o‚o#‘ÈÀÀ­tÙ®Êãu>åv„·æ×=1'¦g?ØÖM|zèâåe*…¶«÷7ÊŸ888H‰„ž:…´¶Vut·¶¦Òh¨lS}ñööؾùÈvö·ôÉïï°„ >¾ç$É“ZpLFFF__?44”ff[땘ØÙÑq þÃo.9ç´ŸZÖà9MÑÿáǧž‰ÿ®vö¬ó·Tñ%ÈÉ] `ÛÙÜÜÐ÷¶¯_·67psßôq˜¡Ñê¶™“‡´ö¤¡!dÀßМ ¿Ä¾y 5ßë=ܲ x¼,ÞE&¯iÈlC_¼zÕ¸b3[ò9§œéJ£ÑšMòyüóAÿ–¶ïõ‰é×í¢"G«wLjFXûÙËR››ƒÄ^”³åãHývNÕgðŠëF7#€#E²VåÌ–­ÕqF&wEuõX­÷hžñï5Ñ?æ»v°ÃÝÝE%ËoSyOþ‘¤§n+: ½{‡úuk¬A¹{Ìf±‰@ ·ƒ•:øRÆ1†¿Š6¼)£y§2ú(èE—;VïæF¯¸l£22Š{ÿÞV¡`Ÿe1H^“ËP¹Îj¤ÀöPûû;ßé³3_&vˆžŠEÕâævÛb„PÆ"¯ïNÈÊàDEaBUtãXÔ_çCyáÒ=de&c¿ƒr½§å¯ùíâþ"dçï`Æ4q‚OB&SK"¥_†¹ebpkrøƧâ>3Þ•O$Ë0uœ·Ã­¯%Tö¶ñhî›é¨S·Ví¼w€a–—–nþ4:ŸÖ°ü×g_{ËJ (B-Eôp¢ÊÊÐUÑÎÌ.8ö_ûë"¢‰!q\ÿ0ßÿÃÄ$ûPæÏ>8_Ï=ooŒq˜³û@fÂÂÂŽ|$­æ#WJô°ø:sƒ¸fß–Hȵ3>¬¶õàk¼q\Ò DEVr%bu–ÿ¹¸6”©§§ÇËË»··ô±±±t  ™t#üÀ ƒƒ×ŒERô±ý þõqq<7Õñ¯•`3ŠŸɘôypÌ1&;ÂL1 $åûw3SS •j‹DZZY ˜½|ùR }ÏÃã=—HèsºH±ðÖâÏeª½½}†ýµ(¹üažD›X]ÒÖêÌ `êâ´ŠÒÒîÑÑÜ{0EEëÝÁέ­QvêîG ϧMMMY•üxo]M€æåË—xƒåŽŽ669h4ð©Çƒ B`yÂ# "¦Rƒ|}ùË/\¼ðèÑÛÅÁÁA@ …¤˜øbe^РÁëòÚŠŠ¢ÒÒ«ú;iÛW<“SSã°X,‡ƒå’œ• é®Ç{·Édrt4g±%LlogÏ[\\|ûömÎ'Qæx<gnn>ÂÉÃÓ¸óùógyyù™™™ŽŽŽ°íUie/œììÓbbɉ‰oI1r%ÉOñ*êêó?VVVŠSÍUA...3zP“Dì÷äªÖÕÕõ©+m §ùdÄN¶€™—45Sœ³ìd3/“§åfe…³wXn€ç¦ØÞÖFL¸Ýûku„ùSRzŽúƒ“ûõ®ÊuÍžRúètúæÚ4ƒ½ôëD¨Ê¡ññ|)µgÎD"1ØÞЫt Š\œ`ºúÚ ó2#CMM­ðÝ;€ƒ? ñß—;ìͳ±`›YÞ²²º{÷îw2ù’ºúðÐÀÉæ„fcq}ýÈÈH}míÖþFDD„€€@çÃÓ¢¢-÷Eýv ™p´!ÏuL\É…’d 1±ðönBBBF†*">5uue%?;;ds  ¦'UÝ+÷-[QÜ*H= !¼d¬¬¬çÒÇë’Æ,--é Ex|óœ¼ò9'€ZbˆF£q¼Ù99#CCk»áKé…[©-gÊìiìЬÌLwOÏ.§KyyyñãO:Mã1§‚eÕB6 ñøùO{ˆÇw@?¦ô´›¥åQ7_/ùAúm£?|ø`±±3›UUgÀV#1s«w‚²kDª›ÿ©çžWš„ÛØ¯d¤g®[¦ãý/íéMå ½½”4e¨l Žxœ­VgTSË r‘.*E¥% ‚(p‘‹z.‘N@PŠ ô&ˆ  颤H3t hèá ½„ÐDZ¼ãŸ÷Þ]ïï[gÍÌYkΙofÏÞûû,Ì N€EÀ è„‘¡î-`Œšïoœ@ß¾P GQ&º Ã_Ïë&|:Féj[ç­ä{šB»Î´â%«%¥ )v_œ1ü`°”øVºÝ99 &ÜÈù,¾Ó$ÙPˆcý©€Kj«$ cø·°E´œ¢@¬äï?Ïh—]“ -å‘¿XËØ¯xÕ¿h"ß™·Äþ3k8„Íš”Xô·mPA¨áþ'ù­Šà ^º8/ICìE¡“ñZðµ!£}˘˜9%Gfuuõ¬éª»ž$Qiµ¡¼œù¼sÖšv°Ï‚-÷ïýçW5I¦£s%²k××dCA0á ‘8ìüÉð¼”êw*Õ@W·bØK!ÓÖÞ>Åú#ò‚pR»[• åЪgÙ+!65•W8IZ8)óÌRÜ[BP%2¯   + éàðx‰RÌf³¿=—€š…„„Èšç‘:;—––¤ô¯\½ ŽÕ¹š›ÁÔPƬΠ&xyyÍ™FGJæ„)Â`‰II~~~—UTüRRRš"XWû…$$˜««½N—º{zÒÓÓ;¸~nnrrr>{öŒ„ÙqýVÀŠª¬¬ô›ïå>zT_O¯)|7má¶¥¥˜X£ÏdóÜÜÜ—/_4Ãqu?¥˜L&Žçç‹þÒøÍ¼¹XoàÏ2« lÐâ¹,ÉL®°?ø3³éþ(zh2ø Ç~žÍ.­ªdk—ûûù÷ßaÎÅt²˜_žX´(aY/NìkY‰YÀ‰Þk^ƒ_O,’iìîAäÊ,ž²æd´ìÎq2~÷ˆi¥ V5%HK¸uê¥yÁ…{28–—´îÀjNQ K^±'à8‰þÕ¢¤ häIoÈs'êÔõ‘h¸Áiìœ:®wêØ!nóöUùÃU½%7@Œh.úKúûê*xI®ñA« ÿ1«Õe8Þixê8Á©çH`ŒZÊWËwõm˜IÁÃ[ ¿•]t„+÷¤æ0n^-Èüʼn Ÿ§.ìKŸZ‡¬IêÚ§møäyÍñÿÊÞà0+‚ò‰óHÊmêú$´#;ðEä:®íG<ž\Þ`íúù÷ȸ%åëBã\žÃÅÁ£!¿ÝéàñCñ}ÁRâE$ ¹„ø‰pyè¤ …Âåøç1¾ìþkòDžÜ1Dz‚U¼Cq=—†~Âb»>,{̳¹—ìÒvé@[§E©ˆË&sáÍøå˜ït(ôb!æÏÏ)ï) ÀUmì>ICAA’ HDê…<%ŒÎC‘PÎRû»ß`®=w_‰\J5ï¶„‚àãÂâRF/vàJFNì' smJl×;$6˜ ¡À bG8äb~YO·AJx䆩xid§"Š˜-`M©Úiš&Ñ!A°Á\R82Íßõ’©÷·€-´m;¨ mƒ¹FÔõQßá®®·Æå¸²ó(I9!÷Awf>ÈïT¤"mÇû*ë«3ˆf¸è~uZÖŸñÛ ¶¬`Ù_ÖÆÎ<F"fNâÀØ‘ÍCáãÀ= iìÙuin0טñHnrp{ÝÃ\°û3 õ ‰“X g‰û)aO¡í&Ž8(ÄÆçÚ“‚‘yÁ·¤ÚÖZ‚ü5áœyIHý˜ OД3ÛGÛ Ÿ>ålˆNã Íì߆®7ŠY1êw¢6·9 ¹Ë…²Ç1|`±¼ Hà?!`‘ñ…£×©Á´;í"·ã§D´Qº±ÂI”$õá?#¸ã»v¼›‹ê^`8ºð> ×Q@ÿ@Ij,¬)å¾'â„‚Dž¡Ö Av ƒ4µƒx7Ýÿ>Po|ᤗ]‚Ô Ÿ˜ã8£fÏŽí$ü p>e$¢!‹¼(t]”ìý_x)H.ÉR–gõÍí<þXáxMPv7¯‰ÌÆKCÆ€¬D< ȉ¢˜… | gÂéA æÚ$df{<€R)ýŽ…ÌñB›Ú@A36O½ˆzLPBCzPcƒ¹ääŽ6Ë“(OƒÔ£Ô©p\Àw,7HB¡ƒºF7˜kЙNö› ™Âí£ÉÊ{nR3ÆÉ XšRÛóSœÒÄa(±.spÒàá0·5¦”ñµ+ó> À«)™_Ž[þBÌÛTEʇù0D»§ Ir¸è‘ã: œ¸® ,=õ8ÃÝi÷hwz¡ä fI-æ>`8ˆO_—#4ÉØó=ÂO`0(ÜGàëSàûÙÑé¬C„î'6k| ˜ç1®:¼#R§–òé/Lˆºü0üÆn$<Â( R¤ãø I}ÛÈŽñéž:¤é>âÇv¡8Ï»ì“Èå¢xáKýò†oêåâ©Oxy4câÃJiB)å~b ?Ù-¢tç ôí.ÞèÒgpišPÒ E ¸û‰z Üæ„¡ôãq#°Ý,Œæ­Û R 2LÀ&÷˜ðÒÐ0—‰Ç}ÖåûÌþIôxöì baF¤ºHŠQà´ŽÔâ²(ïÐTÖÅôy±pAŒcP aÌØMêRß¶‰úöŽñÍ}1<ã€4¾ ¸iãL6„{‰í9 bòȱÃH¸ 9Ÿ‹ˆíì(‘U¬ÍøÈb‘ß¼)Yæ­)òO ‘ÛŸ‡lo’&.I#šÄ‰BN$ ÙÜuÏçñŽŽÓ{†÷ø¾þp% xù¹XVB~aýMà?:rø:hoWâTƒ¯‰Ü•Ö+½«Ÿý[CÞc»–vǘwâ¤vbƒP‚@!8µ#?á’…^^ìǼï âã{àbæ{ÀŒqF@‹œˆ‡n@cBAY÷„3[p/Ùí–'¶|óytõ<«ê÷”Š·Ù\Ü_^Õ¤¬›‹ÙýEÌùÚïø÷†”À‡Õ8>óEâò4q +ˆœØK)pA;Üí^ÞŒÇWÁŠï×ñ#—Òçn¥Aû4ËsÁñM…­ÀöB8hæs_¸Â‘¡À~€ymÈû†?è0 ñ½³R!x·Q0И ÑKYânۮŀuIàxqäÇ f&{‡]<Ø( ñ}+ oàrjõÔ«QO–M#Ny,l×OÂiº.IÞ‹w î="/[õhm  áx3Ϥ¤ö_cѺ§dtFE@l– Œ|Xe‚¢6•½cæÆ}Àv|áYÑw@™û-q=2c9©“Â}Â\/`©‹¹š©÷p’(‡ _8¦à® ˜Ù/ èè=£>ñý¶H#FA½Ü늄ŠÈá y¸áã ŸWÀƒD hIeQŠˆ†£)³.åAàr‡ø!˜XC]ŸzŽø®%»¹Þî Æ.í#iØÈyxÁHÞñçŸnjÿAÀ©ð@ òTÄvê&”ıcÛ±ïÝÔö¯ÎÐ?äbfÔ)¬àVf\èïîp’ÓôMA+éÊkª[ɲVS÷âµüBp뵨X™-”8?ôË{‰O5…=„Q‰k¥ V6#—²¦XSñj`•Å­d ¥5?œÊg¹ Î"Ÿ@Ôdý=_ ‹Ã­ƒ³¬d¹¨, HZöa¿*òŒ[T>–ULýÚdYLtÍ2]¦iqa½©­)©¬úºhŸ‚Ë fÚÀà\~£]»ðשu=ÍØÔâ"ÝO½1V‘Ê¿5x'Ö›t0T b((å7V pŠÒª ù>À(ù:Câؾ~M¡à©›¨¦ÅõÜ”™%Of¢lqñ¡3Tµ\, <ÚÙ2¯3|V•?´®22š²OüÄú05•@tÀ¹Âʽ­‚Ä,j6ž&®²˜©Í𠀂Ô>€²LdY ’g]gõtË lYÞ`²5œ©íÞŠÝßÏ›BbÖså4Ÿ!¥(‰ÄL …4eoÏR‰Á5’å¥PEÌŽºýS9…¾-‡-h@b ¨i R¸@Âå ‡&"å˜Å™Û)\%Z½üÉd»ŒIº*1ô°ëˆÒ8‘$4æá÷Kô(3\Çû?–@^Ô•VjZ%—ÒPI}€-Áó¹EœÔ‡ x dhQWÀpMÎ$!0ŠXpnû\Yäð’Ž \´KL.'rŒ²„GëM ñª_凌#Q“øVÌ‘z¢v‰SÏåD“Fcn _\¸WËòje"†_òç“cH‰g$²5+'TäãûüϧoßoçÀçä§ …5Ô\!½â ÀaU„™õÃ|9çx¯ ¶DÆN:lx}HÎUùdHN‡ÄhÑïdå[¸9u!K¤âV¢ PŒh~ÅßËö~ä+ÏÊx‡C*ÔÓ|6,\"… v•çí2[™HÁ¾¿{^0 ’~¨1âÂHQ>³T@~Ϲ‰³è”Ød"Ç0 ”}0’B~^ 7?Û*üBJÁ}ãàâŽÇºYAX´¤¦únN«E#_´µT…âtd~‰\OðKQ5—´«;v^â‡nDíØ³‰ á ›Ø.#aD’4qb³ƒ_‹åœo´Ÿ¼·õ¶ë3áÛ »<æPÈ÷c'$Œ7ëb“ßܾ~†?«]Üâǹ¢^t3n°vuW¤¼AÁ$Œâ#~ÇáËËì ¿ƒwyÔªB#õê¶;ˆÊåÿçXû·[.ø¤œ¯¤,³d€¢Êˆ‰Ú‹ùbsºAÍÏGC‡änPZ¹yOíäOÖ|iÆ%ŒÌ06îNe{›”¸;æQ;ÀûÚÍ…ÃëkîÑÓuëß“‚/.^Iƒ7H@­º “"ÈŸª[è|×rnO©aæJ%”/iµˆy«+¡ò:ªôaˆ¡“¶º¶%nèz®Æ£xçÐ[ÅQ6î¼óìLˆç¬„B¹Â5 E·Åß áç»óh>ÖÍ~¦ê îsᇕö¶¾ÄguüÛû¯¨¼fUp‚W-Ïñ.+u1Ú°'Ršü¢ú•©Pú»Ô®PÝúÕ©¬&—ÅŠh´ÙXM>ÂrÍ6~ª/ù"®â%¨',JÁAû/,&Cä³d¡ˆLŸù€V3`<f§Íc«·Êºƒ†!bUÙ,ËI©n£ùçfþJ«a•ÀÛ’æ{!¬—yU´bçñ‹QJ~»žÝÞR,m¼ZçÃ##]%'kȉ"m…±ã^Ôm*Ê®7¯ßáß¾HÑÖ(°A1Ö‡‡ŠHísûW‚{6ºó¦õ=^ûÁ´h×^`PyµÖX,>ÕbÎ7ÏJ}Ýëâš”¼ZµŒõÖiˆ^ˆ½o["Í×rcφÖ7ÏŸ5S=ýjþj>˜QØÚŒŠmP9ùáQ1ió;’ |Ûä¶äR—–¿Gj©Ô…>IÓ¾5ù3öÇ9¿Ê*ŒÑ‰[ÀzÕu{8BÂö,|ƒ*Ö[_þÁµ—ÞJõS§Ó½èê×3ä ‡Ä];}sL ì!ÄßN˜ìÖpQi‡Ôíø®Êá>Š›“‹q¤¸mƒøŸÖݯðýÙ·Ðßv#: D F/@ (¸¸°wà¿ëÛÖÚ]ÜN²ðerÛ€‚Y ˆ× ŽŠB´“"ÙëÖ|Û„š>?Ç/ô?IVLÑwÐÏÓ D#c†ƒ¿ÝJ°Œ Ô¨¤oéOÆ>ZÓ¬F›@nbšt0tG΋֞ÓEó¡šF†U]IJ¹´vJdÝܬÛm¥†ÒBI4ý6ô?Ï€”7g“gŠCüò[Æ/¥’(#W”üQµvQ”Q2¶W)+)þ6™LVíÈÕ²L¥ã£¿RÔËr®éI•Ú0&KÈötr‰ðRãåŇe¼Lû.2åÚžërvh%ßëáX±Ìùü¯5êÅ€¢œes ç:ÃÖ¦0€ZZ~\Êp`Š*(g 1 *—ÊpÕ_œn§>ðêøè-.šó×û†hùúLP®ãr zcaX¶Ç€ÕV]Êï¤Ó^ÀíÊ>Ž[¸ÚÏ­?é lÝÙM.ßâÿ¶.òÓ-²y…Ø"Íy¸sˆ"Ĩ!Ö¥´ð—ÖEYXO€ fLÆBÉc’Œ>¹(ÛË",m |L¢zcª2ÕøÔž$ÉÓæz+˜Áo°œe݃ܩBŽŒÂëÖÜ®w2RDûæúð•ý ñtßB.RØÂ+2ÖÂüŠItÉùF*&­Ø²TË®–lÚî¿•Ë—‚yQ‰&|MÞd¥DËJ̆[ÿÛêÑ>íyoTL:yäõ!5ot ·Æ !Ç zÓ‡T{’0)ÏÕúéÝi|3Ìwü @LÚcÁàpà J‡ þ£_Ÿbe)Þ? çkÁ)Ç9ïeúYº^D}õDŒLF% ÕëoíH–JæN,§¼é°ÅjIÌf䀎f2¿À©X™L:vç1 íʉ®$1éø!š¼ÊSr%ùÊ’o8y ÈN6Ó¼ÕÜ…–7 ý×Ïÿ+–Šî!æÛ™½BPk„áÇø}oàd¿Èà$²Ãa(Pi®ºóéqlº9 ´Ÿ‘~çÃÐ@G¸iH„ùN÷€žˆ‚ÄŽ˜‰`ºâG§nIµj“ÁQ#5î6q¯ÛkÈ×åŽU®}Ç£ ñÂ…i”Ú~REB:ïµqæ›Ã6¨×ô(akÈÒõy$òÝyDÛGPeM÷ÞÆàC›R¦4˜1¦ÛÞòέRÒˆTŽiFG¿«D›.ÌúQ^y¶(µ‡«÷–~Ã’RNcV ‚ã–Ë¡X„hpð7 KF†2/_H‡¥–Ôðû… ÁT:P¥s‹vYö®-·Æf‡ê_ÕÄÅíCO¹Í™„iØ ¤›Èó_„ÔOm'Œ|‘îMO7¨×ö(驱üIê°nÛ>ä^ß–NšêÊÏfy¾wrùkÇ ªì¨Æ‹l( Î’tô¢ž=HM´3wP¾-EfPO‰™’µ´ž,U6¡k¢Ì´šÔšLËñ„›n‰ÆžØ¤6a|Ÿžׂyã!7Á»uMØTªý“5e:ZÒ0¢Nx<Õ+Wc›ÜN³j ''lI육¹ ã+™„¤À[5θòâwMÜ £/Pè¾j'CJfÌWð£²À¨1Ž/±ïPRd{ ßþÚ»2°s[9×§\„.‰›2Ç7äŒÒØö.„àû˹ãe!)]%zH”u™ÈÝh±&®„–ŽPšxÉjŠÎ¡&bõwÔŒ¼šXæµÙ»Ž¼qÛ´>‰ÃÜšu#PåãšZo‰ó¿%òv¼—룼¾FM뢶T©û‚æ>RÅ..”«¦î•ͧ¢Ì…2Èx«›K\M‰2ŸKõBÙÏÑËøI:%•ßÚ¼”Õíã·Uט×Yù¨<ÔJÙj÷© Ô G«LÍ9:¿ß­{ðÖaV4XþòHÖ!Ö˜¿aÃ^óºR¾ù'!tÆbÒbø+¹(“IÕÚ~Ö¦MÈ)Ùø=X:Ö©ryèàË®sk ±A¿ð/‹B´C÷-ÐTý¥?¶wÅš%– 7ÂÅÙSŒŽ=¹žò˜ãêžü6B–Žàê J nVVïÉL]u¼ùÕä©1¸üT\‹+ ¦k#ˆÖ\Níe•/%y…Æ›¢}âÒÙ*ïEûÌÈ\zšU´¦uÀi;ì°ÔøðÇóSèÆ§ø"É>z©>ћǿ4’o({Ö‰×ÐÑÖÖoÝ|WI[f¸z™!Nº)pü뉬’…–"$Ï´\VÓ§ÚmEÇû*b´J [Zí«Mü¹+•`1¥ø–\ÌÓí²¾% Ð>ƦǶ‹HĠ䆮ãîñ8fî€^eâû=K(•ºHdS÷øž£Ñz-˜›}mG$NáæÅd^dûÔNÇæ©›[dtOmÇ^b{¡œGŽFÂuƒø<ð°ç SÐÉb‘ß¼V@Óâðû§=ëÅ<Är\_™EY¼Dx\‰y†mJ:S KÀµBùEŸÏ³gÍ ´â ÑÌáÖZ_¦‚–©Ò ©¦*ÕÐséÌ+ҹڡʶªZ`mÉØb¶· Wªz®%kƒ¢1CKÈ·ø¸T‰X¡ôg˹‚Z^°ÕȽ ¦9¹r·âJ”¥ô˜mÂ݆ $ ÓÄ ¦R‡Š8A(’褈xUœîœèºn×&•Æ  ¿aPœZ7I’”ÆQ0âDsýÕ‰ÿQÜ6÷9×{ø)÷='Tø$†K@ mK©Ä2v¿»´=ŠF§Ny{œ³¸aÀhê³8IE’{O@îðöc\ãÕ=¿$ÆÕ­v½Ÿúåg¬}È­†ÙšõUÃôöMÁŽèèˆÿì‹×ÞQÓ7e'÷h·ïç>ˆí/Qc‡{ü®IÂNß÷Óöå«@ÔuHœnk|¶Î‘Usj'Q‘˜Î² ¶êsaZiè¶è(™X»¤.fU ÂdnZ¦ÚˆhAE· =2 ®—Åp¥ù²ãÞb¾ÃðTNAL»ìµh‰–‘ºdS½qi,•~nÞ7.O¬ºÑ¼®NW3ú1énZäÜ42T%ÜÕpg³‚£ÃKe9Ö÷*±?€y´Ýô`ùÛˆ!qÊ’PxkäÐÝ€º$±™†< œpU ù—¥l¤?ëEéŠïº©Ì`ǪÌéú”H]‰±../ñê¨JëT°bÖÞu¡–ó^²ÎÇ^Ç×¶¢jÇÐez˜tJ¿àª¢,ÙÕÓ¶m ^·—rS‰WùįàRê]7¿AŸÕBDî:ÇÀ.ù¹Íúñw‹yªps¥J<'5‘Q(ºáÆNõ·Í™DeE¨{B€a÷•…î •$Œuî‘dº¬ ™Whd’~“€ñÂn?&SµÓŒBkhM£„Nƒ€ÎžXÿªT‚uíILq¹‚TÑŠ5ýduPUƒ¢ÛÅKÒ1¼¢ºmÄ ”Ôe§»Š|ülí$zm".M†6WPìv— —2'§À61/Ñ*Þ=Ò»¨aúÁ¬´ÑÖN^© žó³ùR5Y©CkL çu”€®Ž„‘ºfˆ²-ë’.]Öq[B{°ýMª-L,,Û<£]~2Û}è/ÄÓº¾¤\‡ª7ƒºz?2BYé³0P ¦«Ôi(œ6qdC¢‡L£’_;«Ýø9Ê}÷fÔõsû@4‰åðð€Í‹k  p:Ы³Vìµ|?ùçÛ3¦ã7«8°%&Ätz›Û±ÃÒˆn§Ô£4ñ±Eâìgßß—dè7ÀÚ3Îìj܃ ;ûB´/sàx4 †Jغµ„åï÷c;&4qjÛžøv¸~È—¸AÄÊ…YÞËm¾Û~XÁâÇ Ã˜$w1¬«?–;âv{X÷Ï¡ÛXÆåL*èN=,RîÒÎ}¼ÅUŒ¶•NÝâ©È­i`ÀÕ–ªc‡šµa6T¯4Þí~¡ŸÀt5ÅÔª†®´^Ï8–ÒC7ø†fI”œê qÁ WPf\,# Á*xÐo=Ò¼< µ¸Íc<¦Hàïr|æ‹Äåiâ8˜¥9±J]èÙ!h\¦õ~Ï’fã³|Yœ³³°NŒéÛ‘R7EÙ=ÇyþÒm×f¨þjNá+»¼¯°0eg.WòN$JvZÕ²q|‘,²û«r޶e:—RùGÝô0öbã_Õ÷&æY+ׯöŠG¿—Ò5ÍzR¤©´y‘%7'çÊŸ%¹tVW_?_m®vS,UY[¬JuOL@Æ\E,tú”ÊŒMxõŒÊøóãÖuÐe‡pzS£ Æy-“I9ð¡º[SáW_}æ`Ú_è(oE­±Ö&Á/%@²6Äü_+F×┨Y.Y…F€©É8åÿ*Kx>4+eý>°2³V®Sñêü'–Ú›~dp«tÐËsz1×ÏÏé…ä=ÀÓžWûƺ–ƒÈ¦´ê¢+§‘‹d…½²Xˆò>Ìôû¶PݨÔçè_&ŸÚ¾ ]Ö…C}Nxß¾ÚòáÏŦ_GéQpo½ßÍy·µïÞª†h˹u!½§å]¬öSï€d¾”ûP{OoL<²áëºé7ö%T¾Å ´N½SÍ1ál £ÛÑœ¨ó|}:y*5dy†Àß$÷UWA¿¬DSäÐD¥ò& R‡kpã1ë%ÂÈ~›ÖÅJu# YäE¡ë¦$ôÐ7Iò7ëèT º&@J;áÕÒlŽ™˜1=×áÅY¹²QU®I·WÕ4Wkr’µðÁ¸®¹@NrÆq£5_&iüSV‚2/¥Š˜bõª™4’ÌdbÁË ü§½œcÕM0L5ùÁì§–œéãn[èøåÚucÜ5Ú£3Bá:0Éœ9a²´–tVÀ;¼/L1ÊsÃð7n˜Y?l‹@+ŧ„sæ%!õc&ØÄ¹>5€1 t·Bmjs›“»\øqœ8Žá‹E üÇŠÚ¦wµå§c¥‘ƒäªÝ ÒäêÕ?5èïúŠ€hªéD~* _”P ƒµ…òΛš9H&üÆÒQíL /n¤2UºÌR€Ê`.ªÎãê¬P& ^"ÇÕ"·C:7 ¶ˆh bTâQþ1"„:¾kÇÞW¤;´¥VžÑ?¬Cñy0:ó 4ö‚ …ÉÈ¢mSƒ|8·âJÊú·-¦4ð^Á9àV(3^sçq¢Ìz´[%ëžÅP1ÇU<м³cwp%R’Îaè.ãktÐ^Ý1•„U™è.]’‹ Y ìOWk+UsÔÆð8ñ| kìK¾HËÚÑ›ºô,'­™ˆ|D44 ‘i$Ð>¬í.´[|¯¯êiC™qo!0—y­ë+†¶˜6žt]’©ÒKû„ãÍÚ¬DrëJŸ¯Ús°üFÏÄ×IÑËæãÃ*eM ã‡Ä+ºûVZ•4ö®*ÈDÛê¥N«É2f¶jdm (,îad 4SU7UeÔ›CV³‚(û":× ›ÖtΰS±@Ò»uÖ¿nWoo“goùwœø 'å-GÚ˜^ŸÓú×.¶TElqÊca»~"xèNØóÝÈ‹m|ä¹JÁÖã„ÛO¼ÚÜÈ´bóÙ¡F­YüÔÌpE€n>™. p·¶BbFhì,!Aù€' –Ýg$Hm(Ãe›õ®sP2ë½@êX\wÈ2~§÷ “³Þ”xm¼ hFì3"I¿¥'ÀVåW´«»ê¾²Æé|:$†ê9åiî“\ÕÕÊfb}€ÿhŸ7_ôø–vS=›«"=ðB~£"Z¶~€aùXVböß79º£¤Óœp¶A ëd‘<¢]ªº h9ËÅ•ÈCÉLoÎWzëÇíß¶–’ŽÒ?Z4¤ãsA.Û ÏíªÎ)<˜f9‡_VösÛ¾åá.U×—^æB"ÜÊ\ê'„‹œªqÈõB†6¯°x¬šÅ»Ãúî’#•CÞŠK &·•ËBÇ.,GQJ£Ô‰"JD ®®º/ßP7sDi]#­~K?Šã$±-b×÷©ï8" ó¨+&Üõ"è6e'ÆAùňLëîÄW‰éÑF§6ß[ 9Y e“éy@çLu¾éJÑ2‰½F ‘Q¹ªýµ&~eVHõ§Õ{d•™bþ¨¸¨ ÕN§¹X5žZ˹TÆU(, >Ò7•áúça8È\…µæºw#]ÎôØkNú:»k"9_fò4õ‹Ò°§0ÿÉš9žâBU•AÅ{klEII#gBÓ*\}J°ª§šW]+}îî};dkãîk〒†‹¤(éâUhî W¯g¿ZY,)a`AOé^/UíªõŸ9J¢cGMA;ÓfEWŽeÔª°VWá…’´‘T(- Írè{‰µe„Œåj™Ó:𦤱6LÛÂÆÅ‰Í­^JV-¹DΧ[Yaˆë±8ñÂÈI„ Ÿ0× X꺶ÏRïÑ6E_ïÝzwˆ˜Ò ã1îŒuÝM¤è òU®X+WÜÏ*)É- œX­?í¶gZΧ«¢¯ásOÖ†t>]ÃÿÖPÈ…yžæºä\—yAœª\ÅbPV.ˆ‰õO4…wbc%ù'ÀÁÐ3 ½fu)4‰ïÖKDÈ{¹ÆÞ´¬÷Ç‘•Û€º}Šfâû1c1J9'× ‘Ãò%…Ê¡Lþ¡xtÑr­Ñ¢”Ò¯i˜‡fH?Ãý­n gÒ ¨h ¦w£Û§c50D?ÙV6Ÿ‹k5Ó_+™Óe¢¡†±$°×âZ(®†&6z‡\‘êH k¶·o4¢^‚Kø½8©Å§Z½ü=›’²õ‹}øñ,>9‡Aê¬ÎÅÅ/¯Þ½©Åìï%aEm½ÊIUY¿ŠT”bÎÄósõÔ7ÏólþÑš–"}qòG=aUub•"qRÕ7¹¨¦BÔ'V ³ëIñœä\¯˜üþáÙ•ÅpŠø½(á+Òûâ-N£çÉæ\|š¨­ÿL²¹õŽ\ŠȅõÝ,㼨¿¿ëmù}q%Ê«L\ëQÔîþ©¿Üx¨i&JR²éæ'óyãÈ|^Ô¤\ð2ϨE…cœ2ðÏ_Îάÿsžµèõºøts)æpíâ‰3q­³3ó°|¶.ê«°'jv¸-–ÕýºZÎf¤¼9‘ W«úv±¤gxhÕÉÅ»%Í3fáªÔ¶¾u\ÿûÁÃpñ¦oÿq9gx›ïx…Ôu™Ñö•ŸÅŒŠò–ªì0~¯þ¸eزh–]µ`¬»VÏ·+oÞè/ÞÒgЇš¦D‚“>˜õwcøƒc6c·'§ÆF\Xå7ß<_\¼´¨6-J@75h6¿<Ÿf—ÓþWËÁ=¤¬+ þ¨§ÂZäE=±¬o¬ rŽþråmü–5Éèt‚ƒžYXêë·^™›'FFÒ#ØUŒSrªàEJŒe‰¹xý5‰ ¤ÏyÁÛÛ[ÿx0KׯÆ™ÞM$òrpˆÞ¾mUë,]í½³=Û<41AûøxlLp²±ÙÆS!~Ä&K€Ò°X%ÂpÁ Kï…„±1ø„=¤03³ezzúëWJ!&û3ñuuuŸÆ©çÒ‡þX6¿Åæ |‘U­ƒ¼j>˜è~’n ox»uD±5úýÈÑ›egçxoÔjû•»û^¦vd’­•ÕôôÛã(×[ÿ<Š^6`k) œÛÐ0^4²¶Gƒ_èMìOSª(---,ìïì ¥u??ó[d· ‡µÏ2âzœ_8*}êS½@LS’õܘ°z{”]ScŽ7ª%pê~)+ÊèýBmk›­“¸„¨²Ùh%–óFŸ{rb"^/^4UíĽñH<áìì Ç»»»ëßöÏOWW×ÁÁA_ÿ2B4¢ÁÿnZÿæM; ¸…fþªÉÍã:11‹½[>Üž[/ž˜˜H´ôéžšJ÷æŽ`YèꞎÃbOOvúûÓÕЛSë0MMó"x°9Ÿº/7÷ÚìììÌŒ±‘Ñ—:z¢‘}[ª4à JÌѯ@ÆO’OGH$Ùœ¢Ž ³‚ÉÚ76&&¤Ãß-Ö}ìÒ!ƒ6³[3­s¬É™¢Îë?ÀPhó›ÉA/YKP÷ä‘2‹÷µ‹—™)þæKùj9¹É@b‹xÇ–”ýUõœüo( ~Êr#”§#³t:ш>²¨‡Pþ|O›¢ƒó/Î}µ9Õþq«™‡G"ö®Îu»O˜î{½)r¡Ì0aá§ïïäÚ¨6Q³^¡ ö€á3J·èܤ>µšSÖÇÅù`‰¤•ÈȵÇÓx¯Ì_˜ÕU»(^ <›,â¨~ ˜ª­m~ñ;MÞÇ›G>l³ÙQ:è}G–³¹xK”¢k-Žéä]"H\¼xÍÍðÙ®»²Ÿí‚{žoa@"("”Fm»—iôO'Îçð ‡)–2pw¯øúü¹Âêž›»ûN–.W^¡Dˆ?¨§‡Kª:±0QÜ>zL{~Ð> ‡œIÆP3ú˜æ¨.tr>—öçS]N>,, @üCªa²` ”FM-@È.'S¹EÛv2Î1Á6›Ð<»§©,e<éXJC>­ÿ‰Xÿö%É)Ý´ã ¨®–2ºs‡ÒMÐæ‹—àÍ}H}CAÂM&}všMXþ}d1I6zô¼Z¡Œ…GM\À€þäg ‘™]Ü\T0Èñ!¸$??"3/"‚Žþj©%› È’ÊëƒRÒ[ŽªÕ"ñE§±Êîþ~TkÈ•õ¾ÅøSÒ]WA~30ç­Öèz“¬~ÊO4¥÷ÚU£tæfg]~U­rööf^ä´»EDDøúùi ÆDZ7t—oBs‡{€7…þ]5ª%È,s”H’}ÅS,5ÝäwÜf½]ø¤X´¿1 < 1L&Çp;Ý¢”ÿœä9Û>\`N‚\gfŽýø104Ù¬ÒÕݽ¨¸˜—‡§}ðÚÚZP…ß’·Êl*Õ$– 'Çe¬§Ó»Þ1³J+()1”JŒÔÊ´ xìíï÷,¸ÙØ]í-H"/‰——ø72ÉÚxögÍ+ ©­òÙ´Þk{v~~¾§GÏCcŸœWEn³.3¶Î¢ã(–²ò÷‡”±Ñï=!2ò„‹ ññ¿†gg­}iéhiÅ$%&ÀèªÆF ~¦RµÓë¹)9Oáp^U ²³#¸Dkµ™¿77Í †k{A”ÅÅŵ˜©®§É‹Ò<ÕÌÏýÚU“õ?}ø€1¯qü)ø±{ù…ø˜°°ðd½»ƒ³óÖl{äëׯõ³***írTD¸·ÃHáOÀŒs1ÛÒDšõã5rmFQqRó ,ûa¸yAAAr¤Ä’â­[g'G@:hjj:\lFôó"ˆ}Éxl*²¨¡ººº´TFO´pL*¾²P¿K™D›—ty!þe özμùá¢áEõ×…0SƒÁ ¨ù÷H;7\Yuäâ&ˆÒ`7­•x@@z‡n{?yÜ@'ð}Ò‚¶°åE~]åóeÊ&àö{,‘”£ûW4Iƒú[”(,ï…ì,yËÛªqóÒwõ7;V~Ñ=Ϩ¨8ʧºà$=À~{ju}=˜Ø;ÿµ»Be&|+"fÍq(®!UÒžPx™ .µduÄKeIgïä÷c` dºiba5=62r)%>xë¡©V<ßÍÏd”mŽ'—3EEó†WÒóþ–K⤣óòf›ÅaRÎ\—(a8>Ôô[çE¿Ø“ çãã¿ÓƒHx#çUÖób˜*‹Éí¾'ï“dàƒÜÄ^ÁÐêÚøØ8áHoô|÷ÓªOHå%EùÂS³¶‹;[/¦C®œw°KMÀh‚ƒNèkNN=ù4àf_ærñañ2Bÿ ãÿ?t6‹=­ab£·G2ßZü¶ò íÙ¼K1}(ED¦¯¯¯]_Øø‰ õ¦jß´îÚ»ž'Î×»¯™>oÜS»/š g'ïy£K‚Cð/`Rìþ3vÁUÛÔÔt~qñ à·¶`À†^^ŠùùùÊofÛ€ÔcGLãäã;ïàFeœŸëÁð$ÒNVŒ:¬¹Øè.¡¿Zo Øè59ý,––HÁØm|ï©”dÍxø9šWíÏJ.NêqiF]÷ùÙ©u™¢¨hØJOOÏŸù†'''õõõ.®®œ”4Á00²»Óí}Y^X(á@^ Rº/Ú?˜ö7¼ÿ–”Tõ‘”côB»ªÉÇ×n[®Ïϳ21•º¯ðùŸ0{:WKÂßl kÏQö(Tó«áü‘3;³Wèém®ÕÐãõа°°¶¶¶TÔ,¸®®.66Õ¸7LÏîââ’™™9RlñÔĤ5yæûg“í—:UeeŸ…ž„Z[ +++Oˆ@®¬¯ŸÎÅ´¶¶F«NNNvww?zô(í g¶çµtJÿ“íN€Km­öÞn–øØíœØÜ|î̽êVX à9å܀юŸûú._¹2Y0´°Àê‹:sL™I%Ž~ÿ¾>^s[DD ='/ôNûî|ʾŸLy¨¡¨¬üötoTñl’àYQ^Þf žºn@ŠŠŠZYYéŒáÓ¥±}ù²…JJF‰Éw¶ˆMIIIJêjSøÖ#êÔ[úÓ÷ŽÏéòÎahp0mp À:ïe1‡ zôÈooØ|¹ûOù›7o455½Žòýå–p^eånWì jFÞ—cÓèM5_Xži>ªù´ºªêQ. ì>ÀÛÛÛ¯A!øü‚>˜ŠOV"YªUž™™Yã)c:::Ì­üž8ÙÛoíî¶Y|ýú5çiò‘5Y_ZúÁ¢'6@Œ±›G®á}.ª=L+³«ë®ïÿÈ€Û¯/ŒÐiii£\’¶–Öû:€›ììrN¿þ³B·«GO¢º­½8û³FŸªæææ¦&uYYY‘•±Òš:: ·Ì+áNhôqÀê>ÚåùùÝ%ÜyŸw­ÛÊÐfÓq1@ÈÊš|Åãð^T ÚeñÎ ¬ŒmăÜã™P>g  Œ1+°¹ÌÀð@O/N/[ß:íI©ú2}?&###((hw×-gb(b%Ÿv¸I>)ƒ·"x°9“s0óõmP¢ÌÊÊR@MnÛÃbãâ\–ðQÜ °ÊrbbÝ'…Ih P'‘É2õG6Sþç§€›éƒ[òòD'jk~z|PbÙÏ%•’Øn™šèeR‰…?©¸›ÜƒÏMùs¤½ŽŽŽ«k…¾ˆ«‹K¹D8‚r™W“Õ©¥§±w'ýIWÍó0ŠÿA×èC‘0°¯¤-ŒYâ†*ÚßsÊa@üHÍûÀ„¢ŽšBóâ±E`A*Þ¾ãÊZŠ{Ú´ŠaÏßý¿(B œ+g¸ZxœµWù?Ô_g*kYBÖl!„ c_Fc+"j EŒ ì Ù YÇKö}KÙ·Æ2¡¬Ù×,cÏö|žíû¼ž?àù|Þ÷Þ_î½çÜsî=ç}Âè^¡ã¢£  ¸rï®ÖC`Ä@zÁJ20PYß×Õ¢8ÿǟјû‘‚‚¡îžÖS¯´ßX'#–Q.Lœ†¨8UkJ¹ ©½;DA’¹ÎœãÁJÍät¹bº)3+²]ObȺ›+ùŠú«L0†ŸÍôƒÈ÷WÔá]¡Ê™ ï†èؘ>¼ÜŒù­V!B$´Uî“>Ó¹¡„˜öûy“*1ÓÀj@ £½îêWÖ¢þ •œóKKš¹ÝPòÎÎ7¥ê°6O³Nf¤Ä µØ¦ ‹Ž®MF0ï\ú€þï*0cV[»¬oee˜‰‰g(Ššš…ÚLKãñ0·´LÇápw…È»»}D¢—XD¦¨žÐÕK—. ÏèŒÛÉ}ŸþÈk%bUnÆÞ%â %fùùBW»“eΣ‘·›ŽŽz.±5ÓoS‘ˆ†Ë—y”ÝDùù1“б΃)?ùÚÅø!ÊÚZŽ’tUo!¡‹žXe÷Yc;|IÉfÝRºì+×=ãøÐÐÎ:×%VºàššËD= ë÷xв²à¹©‹››V&& ú††‰w…Xµ“CZ$U<Ö“dl{â„ïÃáð÷C¿.«ÈH†mó=O×ÜçAç|(Pµ|פÃl.ƒs ªô—{¯˜³ý6ªIXeèã<¨­ ØóCm×ñ8ˆ\ÇXÔ5ްÂý Lo¡J)Ø?nÎ ážÎBZå?»ßDŠÏ,órâp1*—œ£†Ìը̼G?‚ômæì…¬´/¤d™6ÈLrÔtR'ýù|5« Ü÷46(ú”.®vÙ´SªzüÄýPiÃétkÈò¸ÿ¯±$OÐOâ>åÈô_è<-6*VšÂkàqØîX§Svÿoã¿àgcay’Ê>dû>9Î,*ƒÿ‘Ë}$šP…½QÚõâ¥SuTܪ›?88Ç{9øëýoÊJ(ï­°~n*üù!2ÇG2õ¬OèøˆZä§+_h´/Äl%t“$2 ž»¾.ÐS¤ª±ŽÌæ[9{4ëÛ³òÅúÀßv¨[ó¡å"@Þb_Cê)á PëmÒb»ÝrðůO×Z­­­™˜˜h–œ¹K…Åþƒ,ù¡Ã.òÕœ½}›ý»Žpä»5ìõõ ³:[E§AX8ô1l;æ›~F´›„Ø·õþ2¦îe1ÌM858ÕÝݽE¶ÆÅ&$tœ-…èFÄÁ¶ËÒÄL ÿ«›¨Ôkj 8 ¤i±fƒ?šVO¹~Ñ,;8=%âÈPPP›™120ÊúV/¾‚@ /Ñ~»À Gv BBB&&&>Ýüóƒ>v¯…f{¯ÇzzzotÊÇ\p· Ný+‹‰Ž~o˜pz]UU%d欗ß|º¿²­R„žs^¶ÿ(_™)+-/ç‘–>ëI¤ËÍ͵°°HMM•bÌÒ¾·Ú—žŽ[''¿µV-©oÉá®xjQlŒ¦ ™Z¸Æ¤0•â|_XØJõ/Fn‹X¨©©9ÿ …ÚÚ"õB«Œå‚9'Œ*‚‚ƒe^¯K£F•²‚‚´mƒ ÝfJᔞž Ñâ3æ÷ŽWW×X͉‰ 8âüi¤—ˆDÍÆ¦äÿg2''ç÷o—À3¶°¾å%C#{Q~ƒ¦½Ì}“8äznçáߨ·›ËÙ˘ÞäÍÍM\bp£\zɳ¿·W£z Õû uõæÖÖÓŸO‡bÚäá–6 qN>b2B¿V%ž'!‡•bïÊ "D‘3vZ†´ªjW›ÇPäwMMM'§rdo,÷ ZZmÍͳVã-~ræÂ Ižùy@ç cöƒ•µlô!*}ûVÀ¢Ò¢ðìÙ9ØÜŠ)ÌÈŒZí+h û4gml|O2/3ÓçäãâPGY„CÜÓU FAQ±àBŠ9t26}q}qâšÂ¶ëaØ kdBWº:ú‰‰öq“ßÐsÑß~­@Æw·üä¶u›­Ê`0XÐQÎc^’½ˆø6pÉmFÔ“Eʽóò„ÿ~ïÛû ‡duíó3#ãˆ:Iin¾Ê-&­Ä;Wge 6É~MyyyG£¸xº| àðFóm›Ä NIIIAAA¥¿„÷¼¢A†c»G©øô¸øˆ®nb~ü¦5ÞÝΑ­;--Úºšž“33•••@îwÇÇö?#êfeê÷h[Z[§qLýe±ÅÀÌÌÌÔ´bf«M6÷g\[N©A~~ŸÿiA-ž|³ãìÄ»YC—Šê×ÎW èKc 9Ûý"÷¤ƒRÿYáµ!{ûÝ»wéé˧\ËÊÊúR˜¸7‡ðˆoùçÚÅsŸÎÍA44ØSYC®áÄF‘KùÚ‡ÇÇ,Êá¡ÆÆ0ýuu{È™`Gýdàúpn]û¥ëÙîb¶ˆ€`}¸·¶–ä8ZÈ|ròîèð0ÖHáôU/Æþ[|Õ|Õ”ëzjjo»%¼ìßæ}‡GG7—[““ÆÈö!3íÏíí„„78šÖ¡¬¼JDMMMKK Nˆp8¼¥eÎ]êêü<(ä/@iõRâ GÂü òx\áQK ,¯¨˜WðR=ßy'-Âp“¡rIÇ šõ¿8\«ùÇöö¶Q¥nîÓÆÊÍ1É-\ÑkpL´¾@ìgǼÞy.ž«[ ÷¦ à¾#ts¼Ü“!¹·ß¦Ésq{îÓf6:™…½Ø(òýï/ º… ÑO\AbgWޏ¹îéQˆx÷3’[ýÃq+“:‰‚'Çiãr@"¢ûº6C ó5‘ Ù S{ãìQM‚¥|Ê^¡ÚìÞÕÛÒÁzdº²ÍÂD™†¥°”ù!a™c.5>Põ^Q…üÃßÿ 2Ykoƒ÷Á¨¯lcéôê±÷ Ö]²Ç3ŽSŸÇ 8 «ù–õŕĻ‹5¬îníTM^k.—u4Ž ÃN¾FNÓ²ˆ/OðqÒØwí'?zÄM«P’OpA~·=íÕ’m+D€§²üÉ`, (dõ•Ô’Ý1¶²²Âµ¹l9!AA¨1 00pëèœÊ+#“ƒ¿§60_Ⱥc{Û“6:æî[!Ó¥omº»Ð⻦gd´kö.)-í^Êå YX\$øÇ'}ýŒzbÁ7’¨l\„|ÖBßËQ/{R—³³úò °µo”ê,{Ó(ÌYì/gãããc``àフNä6ûIJDÉ>èók¦±,P‹‡0ó ×ôb¸‹-k-fïRø0£‹T;ýZDZhcWÓ³¥\´ 9I×ăóß{ßÑߪlšRû…/.o¯¯EœÀç3ìf¿Y/B³uÊuÊÅ› ¨?V}¥2z”™«60í>œ6-0‡6ªzF‹24•(l½R¶Áï`Y¿'ÃÆ î™{xÜßÛçÔAÏæ ‹ŠêkKÜ»§ÞLi¤7ß QËè§öÔ/Ä”,³M^vS«j‘e*øúB´‰Æ‚oL« d|Jõ+ «ü¼Miµ77†^€(¿†ABÐyY}7¼Ã;.ÅfŽ‘×F£:EIÓ¸Æ1ž ¼‹‚ÛuÜÌ»ÕíÌÙBóë̾Ñü_44 ’`Dκ#¯â„ÝÀî&YÙ‹õ‘wÝécccCÙ"E¸¦Ï}nñƾÞÞ(Š(„Á¥Þa±Øì6y0Ø{Cÿ«%ZŒèû›B÷X©À´Öò d‚×~Þ@5¿w`@JJêòê*üðO–ž)U æ-)ÌEçó½%$''çÜÜÁ¥8+7ç©ìËÎðÁ€Ý;‘6mi§ú\]?˜Ûåg¸» qqà}škp -ÿï{ÛÞiXuììz¾Ã\ØØde4™‚¢ÂÌ6³¯ç8,+vvzÆqhÈ瀋÷Y·Cú#R¡ì²dì¡‘9 ìg_[ÎÀcÿsÿcþÃCï®ù[@]8iÕ]åk•Ú­-Äv³Ï«W*îÂ5uÏsåèééõ«¯š=Tݽçƒçj­NÀ§¼5Ö‰Ò?{j­2tVÖ×atã]¤/ÉɉÔÕUj5x…h˜“C–×4¯ÃWbmlp‡N÷Œ“ºUïñÅÀ¹îa*2¹óK†LH_ò[t3é¼õŽÍ“_âøÿÅͽ%6q ×áÛ†8p<ÖÐU‡«>þ¸%@x PPŸh¾>àxœÝ•‡7N´ÇQW¬Õ‰.Q£·è‘Dï5¢Äê~úê=:±‰]Á²’¨Y-¬¾¢— ¬ ¢÷º¼MÞ?ñÎûœsgæž3sçœ;ó½7Q_W‹‚ L(k«âæuœ“àãÆlÒ„ÜDà«úؘ„„äÇŠÞ2Î%õÖ¶ð({þÞ!Jf€:æ±ú#ã üÅ`s£Àö¾=Ó9ó»å¤\Oh¿Àïâã“5>Ðóy×è{ò‘Ñê‡m \oëóÄ’îÎÓê ù“ê°Š©C—©*à$#äΰ =¿(WiNÚ“jþWÂQ±¿oe¸ðèÈ©'í°í7d²|¤íEYGòù×wÅP*$Ê=T—„Ôã0árž'2j´hý†Øÿ;îf ôyïíb–£ú‘; Mʯ}&vû(÷^N$.2%ð8ßJ&ßÉ$‘¯þÁîÑ“§êÿeŒ;Š’vWƯ Ñ›ãX ƒ} @^ýá|¿"KÈZMÎ|›ZVËvÚù1îü›ÔgóE­Ú„zpÏå‹9ñá¼4z»ågî6Òçü ñ¢ì),1¦ö“æùt¥îß™KÂÉ o‚Yâ÷"’kŠ2YÒŽôƒøT$(÷:cyöñ9ây)8v®¿Êf°«—”¬²é¼•´¦èXíW>xŒÙñL ÿH‘Ö+ÁÛJ••"5Ž(`Z%û\I?¿UÖa^J,iLŠº+Ç{‰¢ËÃ’ŸÉ¼ïó3 Ôd÷¦™.à2¤•H¼šËÇÑкá¬N¦UŠOÍ-Hʽ¶óºÚ«ÞeŸ ²MgíPäy­ðãý#"95Šùt\kl5‹–îDa£â„ȸÓ…Ì%(bl–1d' ׿ÀÎÓþÕ.Ú:ÿ6•«2.ÈÕkÚWL Oȯ改LµlÈÔ’ŠÝÃ4yþ9¥OõõU#ã>m¿8U{ä`RÞnV^^€Üé #ÅAPZ­x ×n"ƒm<ÚËÎ]#hà+1IÜ(¿=QÛ©¶í1UõŠ EBsÝæÇ‹|Éw;à‘€’©Žºæ8†²¦ý\T÷å­€!n‹lÍ,¨—ZM6Ãá§±Mä\Ò ™S¨æÓؤECÙni8Wµô:zýÛ„kQo€õž´šzj7¿’6h÷Ï„sð?u+çD®ç½*^w"+>ñSjÖ¤OU€ì‡Í¹°³W•¹qb¾t…Š.à¿çŽ¢2êHHH‹kJÀÈöÒ!Œž§o¸$F bä5DF\DÝ-ã(ÓUov¡?»€IÄžAz"4‰aî½2“6 Qu„ôTå¬ôŸîWóÛ ]Ü(¢C®j+#*†bmlTillVx»íJöÖÈç[…ï˜í²wHˆ¯ã»‡mKV\:¥¼ýÕN:,¤@—VÑF!º’úg“r7ï½Y¸GŸesCÁsz.¾ƒ–Í¢ €îIŽÃší•{KV•¸æ¡é›7î÷‹õuœo-Î/³A² å5=*Ø×‚€h. ó]Õ‰ýV~ØÜõ}ØbÀAzñŒCjU)ºõb@”·ÅuÄnBŒxwÅ£›v%Ë'ŒW\géú¾i›& #-Í(s3J¬ÝFØ5µƒ•i:ÞêMϨÛxIÞЯDñ(ÛJ¦4KËÇaî U•‡ÍuŠ#æϾv ß-|·Ã3Ošrûã¥)p÷pØñ 9U¦hÅU‰èß‘X‰€ãmݼ™®¦ž{FæýÕ\|ÎoãYòJNAmó·ß¶t–ˆCîé2-éÔ×]C,³Â÷'é¦Î-më½_K¨´>£¯>RoÜ™.¶¿»×¢~´+Zk¯ÜþUàJðƒÎ²E\b(Xp¤­-IM;±aþ|s {U(Qu+LØË}ö²ÿ—Ì©.¼Ÿ]ÂBÉZÎ-…Lï„û]—¸·63]³ÇC‡wMz*¿Œ#[%Ì4š/íe:þ«$Î _Z-ŠÑÎzkâ©+y3¯tÞx·c}´ì¿° \ŽÎZ×*Ð”’¥è“öÅnvnö»d ‰['qI–n>=#¿ÿĸ˜;Š(E Œüçþ¢·CíŸQQZã¿úÙƒ»™>|‘³¸äÓq£‹‘Þlùý ëÃvŸ­df›·ºˆ¥@²©í)»¹àßÏ„ç¾,‰JUeਉZX íUæ-°R(|˜ÇîÏò–»¹»Æ §ºU² /‰Q¸Ô”A¢Ø<Ê&ç®E cÉÕ×yðò$ïÞÞxô‚zío¬‘[ü UkP4G…3/ßD¥žO2ŽýB¦85K÷|57Ò¦)ÛZr¸Ý2£žÎô“·(i¢#!()›EHx¨‹fI/ö ú¥t¡j½÷¸í3‹>M²V[%¥³3-nv&/ʧ)15ÔV•ÌWlQ´CÏÅ–¶tÇÌ •YOòúÛœ±9ÞUëöX•‹Q–´uçáFÜBä§\b?Ù\¼+óoF)˜w­ñ¡í*Ï÷r}Ù[Ô>¹ô%â»0·:=–{Åwi«ÅËûÝnk›ÞÛ§5â—›àêé¸o"j…踗^ÃÐ:q:|`Ñcc‚q#Âu¶ûMSA~Ÿ¥w ë‹ãÊõN3; ÛmøþÓtëC#ǹ.¢k©µZ!éó¥H+;ªz.E b–±Hf9ý5C¦¬fŸ8ÊA_Í~â "É&è´á‚³…õq·p;ÑZ¬¯Ë¼ÁËÆ*ð²T·,åk^:\ÝÄñ¾ ”»f_·’4édd†ñƒ¸%ûŸy‹ywþdÁ«±Œ÷¸)%"@òÃúr¨´ŸÆy.ì±mÓ"ìÓð¹_?¬1ù]÷íÈt^š"%nYYÇÏ•SQ‡X“!Ôçï' Ïl‹_ü¨Î§ˆ<`J§´o‘íJÞøº|n+O‘ã€óûZ|6^ÅÊMÒìâ«ß¾´êºôò ‘Œ`AÎÝBaS ù~£¦Ñ½ ¾Ìêrè'ëUûš-ó0üé,&ÎÁªÕæ\·L*A&M¡ž,»‘j)jNüŒ òuÂîm’¯ÿaï9±Ãc «áR¡¢Èi ¿»£îT½ ‡°™õêA]:‰£Ú£lIÆ žpó7ùzA+º{Oe*Vé_ ]üD´G0o~$ßöÓ´˜âß,ºU*±z×—-ÌÕ{èwÚÑÙs»¥j›»ZÉ ¼jwD½t."`é´nùN'U¸þ"‹U\BôrÞˆ£+ö‡§™ˆ®•™óÿV‘—[Û›íöV$YÏçzQ^›Òÿ|Yîq&£%~÷â~5§‹[Χ=åú°³úѧ†ƒøEÎ…{·« öO“cV­ÉZÕÑò°+†’ 0rZÇωFÔöž«“ºÁïŠË#ni·°…¢ì3ÃëÿÀTâ¢BÅgCxÕëÝ~ß}È¥SvõnÃW;{%Æþø9t}¯ÛÏÛ÷«ÂÙ­ðÓ ‘ h§òs-¬Õ‘±5RˆBBØ?‰ŠP¼o'ôCÂŒFƒcn×Óc²„|°<׋àk}Ìm‰¨´j’¤Õ4]ðš}Et*ŠBªö¸nßKòRl•¤Ý6k#ÃA"Iï…V’t5¯ñ$?$»ÀÚ7<ù”9R Žn‚|È“4C7'F÷>I H&3g¶Ð”_¯jG¨ìDÀBð(} ¯Ç¹%!ÏõÈíæß ”mIÍÑÙ|òõ¸¹ûJÄ¢ÒÝqç6?ÂëR(öÈd¢›JþØÀ–“É ñKMø»dÌújìµÑ+€(Cñ=™ý—×9¼Ó™o]9ÎC~Un‚¿ùÖ¿}9 #·y0ÕæøNÿöM –»ÞÔÎýQÐ eÿÊñOáyhICŸŒUw`¢0=ÓÀ²&-ÿ2ídz^·­×"ÜïŽ[£Dúfaù çNê‹ãâ3O.¥³FJEˆ°»“™©pG·š’lždc–ÉCmëÃöœª[é×öp~x+áW¿9rŠ '[ÓQä¾éÓŽ÷öˆmŸÝÜÜö_Ø@ âÍvÇ]¼c¿ L|ÑÚ^볩6×ákkk%Äw9Y!!!RTïþå?­uý?TЧã域Gˆ¬ñÿúeoKHTK`S%j‹ 6?½o]$$$DD¾ÆÅa7­y> %dpp°­­íúúz—€Ewws³Îb²|mmn^]_“ò» ii=u?™OÏÌ¼Üæí™-ä€I–‘’âº;NáD())9[©†ŒŒüöí[dLÌÕjcÄðÒfÿ ‰ÞîIX“ϽÇj›·ðÕ±!66vrr²ˆˆ­bFì¯-Z¥,ØÙ™XN˜¿¿¿b–}Ê/B»XÙf:·ÓMä_]û£?w$“dÇ'Ÿ§¢A:ÆcÑÍvL9ñIÖ2ësÕÎaNB'E‘www­ž—ÇsÕb”q°ƒÙ¿+O?-‹%ªèé‘ac¿uÞW÷ôôÜoßtø‘ æääÔMú!"IÄl}êC•Á×?®Ãñ9Õ -«µƒüË>É! SÆîšÿná ‹4é_r'ÔMéͬDÅÆÇçrÚUFEEu"Üèi¬«CCFþáu]£Z¢N‡§¨¨"AÇ^(Ÿ*:¨,<ÿFŽ€Uo8:²D­h†:@ÄÈ(/ ÀC*‰j*ùŒ.î½Ñá܇ÖŸ}ù›ÐÖzƾ¢Öw¶3F.ì“‘õÔ6`0'ˆ=˜¹ÃS³\m»ŦB#–Ãl(\Zëm°Y´¶¶þ<üíßÕ¿¦¦¦,AO£Áªúzttô¨ÈHë•Þsì¯ï±ˆˆšmЉ¹«è©˜˜"YÄ2ÇÇ•}}5¾k¶ºRM„£!c``ìŒec¢¡y k4oeJò;3LÌÒ" P3Eb‰/S]_ó¹^"PSqsoÝþmÏô¼˜«6¾¿¿çw=>\_ÇÁësØKxùòeík*!½/[²ªÖÖ‡G‹³åfÀh#©ý*÷Ä®NNºí>Þ22a,¹9¥Q„x!¤§géVó¶ÇK?\—rWª<Î- h(§MCÅYwF£bb*/…ê««éYY+/|ë麇Jï—~8‚ÍÿØÏqu{Kr÷BÀÀÀÀ[ã>óbY©)s("Fìß6*;?߇r}ßÞ~Z«­!¦õ¡è6KÓ»ÏàöG9ßG›ŠŠŠg_!óýóI%á­­­júž°±¶åº’Í‘t™–O µf1ÙÙä˵ ð”TTìÖîv„f£›ðɇKFܤXR@±x {»/ˆÊÈøÝûöÂBŸ`zFòò¸Öãr42²ì·~‹›¡©©†¦f0£X&…X0É;û÷®ì°«&öW‡óµfW'k»ì¯CÅ)——7Ò”7Zn¥œœ¾É/Ò¢¯«?2þ¬‰Mè^jú+Yø– [qÖZUš”«ìõgÁáêä\ØÒÒ»Øh7–-¼ÚÙ¹&üx#š{nü=‰‚ Ñv²¯¦lxihhhdĦÃN­H±D[]]½R¯µørsgg,ƒwrlŒ•ž^FŠõã;¾´vŸòÊoïûŽŽ¨TLa~>ȸñÇï997°½¸¸¸´ï]y Úuær¶£v«šóz++m`ÃB0Éû’r£ ÄÜK“ªí×¶› Øl—šÒyì„|H´ž;:žM@¥žv1!a7<íŽK8»ÅC¢ÇˆGã!n.öÔáô|–šEñzBŠî=(sçû åˆÈv)ë@¬³12P–û¬D|Næ""páh| Y fkËË@¥Î§äRòð4~l´´Óe½Ô¤"¦¡=õÛéåt0%¯W™LÁ¤˜Ãóâ0‰Q+ï—ýÑ—–––ÂXÞó•·¥Ó`¹Ù™ãóðøÂŽ^]¿ÔèmnÙã n7¿á’(uD{0W>µ+[B§]ÒŽL~W£Aå¸ì챪rrŸ«¯Þ„NÜv+eBµ ¹Ð5 U.Ü`»*ß5ËìM‹7ŽŽ¼o``ÑÜ6 œ¿©Á‘^«Çœ°ððð:I› öÝÓ­_p9?Œ˜]–¸rŠ‹úú‚k88jSXõ)ÉP-W‰SN€tÂ:§Ã DÀa=55»>Û -aÌÐ IÏ€‡‡ßµ©×é‹"n4ýE`¯1>%ùëׯ£ÃCˆÁH—v>¯Õl…Æî¢lŸpæP N»ã_? 0u$9]bPŽ„a¯QíG“+ÐP›+@AAAÌmݡٹ ª@b¦ <3“‚¨³40ïi÷‚z3Dˆ±±1‹SbÆ;&**¨Wâ&ÑþXÚB½UQù•æ(%ADyyymmmu2*êÇŸ.Ì (4lö ‚£æè4sÙ,›Õ S®²¶¶vçÈX!/ ͯdfh4X†V¹NÐwDˆd4É<àëi9€olš 7ãDÝV| 4«oß¾ÉcûP²¤‹Záûø`TýŽ…ã£4> +б¦à¬3êK UBSÞ0Ë²Ø $¢Œ“.+++.««ÃûˆmxׇFÈþBKÉ¢öóÈ«( -|TóWCPþ&¡nE2ïÁáá) ²#Ohæt÷öH:bÆÞ œ_uõ¿Dzµâšš0Èú>œP„¯îj±† äRìSy88ÒÙ ŸAOŸ5ÀmàéééèmwÚÃiÀ¢âZ¿f§ À ŒŒÝªðfff¬¬¬ÇLa•¤Äç…¿É1Éè"êÑÃBC•IÉßÙCT%fÊ÷Þæ;ü iÅ~ˆÈ!‹‚‚¨&€2XáóhÆ Hw(ßÁÚˆˆˆê õ¯CPA‡M$0jFÂÄ‚NC¶×)2ëÝ¿~ò¾"€Å]yyyã®ßþ[Ç„¾ÑÑLNÀ»}¹dq ‰ÜPÙP99ckDt"§“?"ÖòOC–‡IC ¯¸,ÕEE»&‹”ªƒ æ’@(|¬·„‡53=ÃË(«I•/„šÒïK¼ï×ö ŒÚÓÓÓâqŽ¢SRbÐ00·v7 e›=P^s¢ßìuÉ_½ú÷ow‚ÊšB %d+É^¬åˆd(…éG•¦ãJ::ézç/ûÎ555A´KSP‚Öw' ¡÷‚‡{`뀂¤3š Læ2ˆ´ÒÓ#ºcccû&ä͇ø‘‰Éz¶â“î·‘Ùm®© š„\L-z:ó\“;âóóóMƒ“?°”]ïMŸû›·²x(½ç³*=UÈäCj¬]]]ÇËŒPÍu´Ò7ÿªƒÌ§%ùAñȽ„üµ·l8G±Ù¸êÓÿ"Œ–ÛÞâu} ¾ªâWYYy£g×h·* "ðìëk p¨ÄDùrss1H€®œ-oó¾&å¸ÞÉ~ŠŒ‰zîÖN$ásH£í²¬ÓRxàäWâ ;;;Ži¹U÷­!|qAʸååL·ƒf¼·LÝ!§S¨Ñ¯þüù³»kû μ¸ 2µäy´€ù) ¦~´àñøp‰¦+$rä Þ8“_¡œ¹hàgò틹ÅÅÛ››Ó\gñ„7ÿœ¥’{fk¢šüøÑÜüŒ§Ùò i÷#²Å«ˆ·‚D¸¸Ôù8çEò¼@µÑiÓPRúàÆe l©tn èÀlk’mðŽc ‹ŠV[=µh}1w7nŸS0ä"!!å´{]PØÊoŽzÖEÌ3§Õ%äE§Ô:׿ýSµ¤‡@5HÈûf÷à ¿¯Òr¼-Ju éˆ[SÉlƒ3 1qÙÈÆñ±"üœ*–¨=¾‹‹ ÌTÎv¥%Œ2ØôJ9ËCdk"OI¬$`…bº-Êå`&ª™™×º½½ýðð0U-OÃï¸VAöõ}Çnl^ÌAɈÁ.gP¢2 KÈi¿+ÆG$\¡˜:;è‰kìßFÿåßÕÙÞëToݱ œ¨¯Ïëç-Ò Òû­w ’| ™µçM ØðÝž@xñâõöÄ~d±©}¾˜lãàÿ\WA/oï=Ö„„ý6¯°7AAÂ7?Zöœ¤'B§»â”É2F è¨¨bw8ÎFPA˜ùd!ºýk¹¼O?]€`.ˆFEA±7ƒÂ刅`444”¦ìNBªavÙQ*¥úan•ÐNÐXãËÛŸ™ƒ l.‡Úi9¹¦¬,!'Àlâoð|||`)MÜ e8€4–\Ó÷½¢ ö~G<Ô­Ð}zy¹sfžª5;áþƒ»¢HÊÊÁ߬¯é¡+U[–nªH 0GúŒÎž+±¿¿Q0QŠT(F“ôÓ¼9K¤$$~7 >¥%rJJJ ½ÓÝUOù'³? U-Á»Ÿiu’+pî?5Ía$ÆGz¡ ¨‰‚BDJ«„@{ý®ý÷Ö””àæZ_¸–Š´ò (©àƒ4Y^s cJ)f$†?î]Ã$â”vŽªx‰äôÑšXão”è¤6²>üS ¿K—JÿömÀ‡¬Ãfjv6e5‹jÃãF­˜Ç6g•-òË=1Øo>|üÈÏÏÏ¢¦¦V[S£ «Â|ºøÙóç“““×:(¤ ÅYYdÓ ÞW'¹Ç,êR^^^Ã##%ÆA¢_…*ÌæŠuYúGtJÄòûΗ¼ØGçßü3þÖÙ¹/:ÎêZ5TêˆúÒš›kjQƒuÂfª¿?»|°so‚†«bGÌ}ÞìÌœ””ôÃqÜîŒä-¢< Ô?ÃMYdxøø**_éúþSÆQzÇK¼=Ót-­­Ó¨¬ºMõðìNˆO3dÉÂ$4èwϪÒÈ]ZY)l9E‘V|j3{õûϼ=ꊋ‘sÌæª a) zCˆÏ-š«ø{Nœ »èÏÓLxpçÇ ÓåQϘ1²QIUô´Ô°@9ÑìócäQƒ8Iž@$Òȶžþ<[J.בøhµ½½¾žËÞØÏ|1‚¨ùåâß¿\Aõ?|?-%Dø~ºþÝÖñˆQ\—`üï.NN4”g~@Šçí`À•»¢ARSS›0ߟÃ`@3ȰÊÈËËËÊvýó}Q´Èî² ÷Úÿ†Deš£Ïšu4Ô], Äd±^ÞJûÛ'q™÷غ@ï7ÊÚ~×ÕöŠé Ö¶¶L-,æ§ÎÌÃŽãd ’““!ÖÖ:»¶VÈiø¶effj3IâQÅI«O”)MðæÍm)R"dÂ>‘o¼ÿþ­Soù´!Ìa11cÙ¾aåþƒ… é4 iàè»V¥8%à1lÔY#(Šð݉DZ^~³‹FöÅÛÖ–Åv=¼ºú톻÷—/ÿîo«aòïTZ•KÔm—›“¼ßjÿ_Õå‘ERÙªRÊx—É8ƒáËH9ºÏ Ò"YÁÂY´dee如$@ßÉ ó Ö'kÝÕlôôôØaâîîî€a­çªà>Â'Ôš]Î'¡V›@§:ó9$Wù[BB÷¨„ÕÚÙ˜p‘gO.-V/Þ+""vkF>>"9LÁo_Ga{“ÕÔÕ1ÚLzFGGûº¨Õ-ÔÏ1|—’¢z¸˜ ͵wpð8ù󵂵§/‡ )ù ‚¯ë¦'B>û¼#Fø!´àÄ©ÝçþU¾×?xŠJöööõ[ÀõXðsþ{ŠÁ/÷:kõ” o^`ÅJææ¤ Tg*>â‚¡³Ý€;°zÕo'€~Ç{Ëž*ï­„è²@5,/Üûž%‚MÙÖÖV«R¯ˆ´óýi »4;©98&ûú [Zt‹´ Ç$ ÿü¤KÙ§Fšdæ’<¡È¸4¯ÃA««« Ý4û£IM٠ót‘< º‰Æúí¡¾¬Ò`ûÐhKŠH«­÷?­£Î8K!†Aò.gR®Ê  ĘJc^QmúlyrF‰ ¯‡üج¾oùñ $±©w'ꀅOS<Á}ªg!8CdÀCŽçˆðµ¾øÎ}s²&6ýÛ^÷UR`pðot£•÷P£•6o+CÃΓ2Ír|<¼œ]•råµãc=míмpS )ÿçDª‚Ø…}îÀÒÀŒyÝOó³³É’W-©“ˆ PʘX~£]¯"ÊEvÅRˆKL¤ÆBR?602:½9·”KfR¹,SJæÊK m’ zLmæýúÕáG†·Æád(Ì yàäæt™túÃ#0¹|=ß0quå6ô -KгïtzšPÈëÝ2é籬(ºmÁ‘I²tU¶eeL?.¦e8+éJµƒ—9Æx:•ò ®×ò $/PzˆˆˆË÷'µ6ÐÀm]Ý&Ì¿K?  n„ÏàŽ­Åê=ƒºø]svâ£¹ÙØŠeè}Ç)Ô cSXÃDE<`¯‰ypŽ—||e ""~-6ó¡Íëúîú ÍÚg2EŒêzA ßôù,ó¸=€ÿÞ§áää”—–6ЇüpÜù]Þ9=­1»†]Ïá¸-ïÜm9[‘iÉO´^;£l…YšÉa¦h_e4Í@™€]ßÓ„*Cf9”+ð÷k{ûc•r„,S>K^2&šXУ%:Î? GTÝ“ôöú:·Ÿ‚~qq²\¤h’îo>h U#¹b!ŸMÃúchÓ¹±E†S{&ò‹j)ö|o³««¿((îïÌ^nýJ‰ŒILª¦ˆ$Ms Sòv¿Oƒí'í? 6†ÍD«~H•’³+Ö±Î{Çíño]bZ¡ÉûÖÝÉçöˆ§™Ô»j­âîB—hCº¨ƒƒ(¡iôïƒ"4Š^^ü¥-ìS’–>99QV3A¨"‚è4ÚzŸm+Lƒ £14dB6F >…ð„pN¤5¹Åy]¤/,DAMkÃ4å,è¯ïΆŒ=ÈÊ]Ò颟V¼ˆúñãÇ !ò¢o‚žÜËd õgHÉhdòH³• šåûÓeûƒ¿~,ÿtuþ$,ìÑa c&/Ny=zŒ·ª?½ ›Túî"÷ó™:‹µ‰ pEâ­gÄ]­EìDÊY5ìì6i¢t‘Ȳ¸åA€O*µ«ýù>׆•:> íçž^Ýœò»äG×/ŠOXs²°(âß“½ÔâýXí+,ò¡]’%Jêg¬›ÑÑô•¶òÃ+|‚ø:Ά7a½ë¥?Û!’MÏßlnG®µ(?ð[:.wHº©©i yLh¨ùt)¾Eg’Æno›·Éåuµ¨™jÂäøxÙ“4ºç?2¼.ISyþ O‘àÉâš²yrËÈSç[’1ß*$*JÀçÉ—žšÿ7½D¬ÓnLá;ïçUµ -n"‰²8D² õTt¼±ª%œll±+ç¨ÈȹJËYïD´õ2eKÔõšì ‡¿½½¹¹`Â14f¨ æi0ÈÔ~ÞÜSÓÔP¡Ã Å‚@°àüRS o8µ"9íôØ’=×ù Øä‡8$#ãÜm]qR##£šÏ#ið¨G‡º©*¦Q‚”õ¢sP $$$KËðBˆ Äo!Q‚&`{d­ŽDælg,E¶aÃ~=1Rž™E–!Œy¶ý•ìsíoöÀŽÉ¢?GèzzGêÿM%á m?þ*TÂçŠPýŠÄ‚ á––g=4¥ë—«ÝÏ##sLå>Z -fO:àNÒÎfG¢™å¯g†×H°2ÅÒ×çÔÀAŽ“eT?P)I–ˆ¤n–.ÿß3:ŠñéWÇ Å‡ âë?Ï…¢³€KxKô[Kß;ˆJ¢ßÄËóvÈø&þjWA+@sKÄ:V‹˜XÔ9úþΧ¡¥Ç2+7B@gÓ6ào ã;Çía?¸ç=FÿR9ÌŠOkØÍWH’ªßöôé12¢"°AüâããOÆBB‘ŠYÐÂÐkNOOGµÇ1€¼OJJú g½‚öé'e(E “N]¨Š¶M &UÇÉB]‰¿ËáH:O¶°/‰y^`ÇÅÑ딀?®×w=|ç·(NïïÿšD òJÀÍ/¨×W9Íœ}°22²ŽmMTƒ9ÜlÅWe:ëùš7÷Ó@†¿ÏÍ,^D“·#±ÁýyÑmWlv‚[b^ž)ÿxy¹&æ'/'÷«ÚØp‹ä-p°óó󑢩òÁ”’³Ê ‰þ:8¾³Ÿ:¾Òè袅`t«@ ++¨m7–hR.¤N®•wk×§r<Þ÷$º8ú·ÄæVŽ·>eŸäšÓQ!TRщƒú¾†¨”ùÀðB“žAh!¡1¾>÷|…¯ÂÄ»®f®60Å?©ÛI ?ÞqäQªuaÎÑ ‰±›ì{ÃŽûYöMna§^µÍ¢âv×zÚLÙ‡I¼SsÞL9ÆRnW'¨[¬ˆ…¥ÊG.i À4é=ä[jÒÍ•AøàÐQâææf]n±KÊáïߪIU’ýÑlîì››ïg+ôxyµ’™ßÛåcï—€ yÿ+™ÍN/ØKCF#v›…ºîÌ”¤$CÔ@ç))³ÕÆýu΢Šs»qã G~0˜Ôl%ãXÆÚ tsÒ…Û§2·ôÀˆ 1‡RI‰zðÍ-´ yÝŸ_»m) {Ö‘H¯¦˜É§¡«Éœrqq|‡T4I'A—øOþçÌïxëŸù…‡‡×Ô Y3Ëãàâ~·‘<;=Bí5z{+;'^¿1ÜOÃçya-"WJB("&Y¡O7 –7srrzzzŠ”²-·¬u«U€NØÿsºõ«IvJ¤QÅy**I¡¬¬l õììl^Ëß¿ ` ¨äË£Åæ@míWˆ—zhhÃn°]ì†X¤ .ˆ6/w¬aûÓß›dév( ,~Y(¦´}@˜•œæy ï´ÍE’AçÈȺ3ö”a²HiÇÀ9((èh¥õc®²¹CÅ\±å"yô\qQQÑþ;.. –ªp•Æ »žU–žÐ’’ ‰Ã‘ÎÕU}&ž0e2,‚³1²Š ž?òóñeñ»*ž©}é•|þìYñ‹#°Îu—zºfçƒB¾dÙ‚Ë¿«Rx»»æææÒ¬ÍfÕö(+/ŸFÐ 4ÎüËÿ÷¯‘01wr ƒ‚ƒÉÞÙç¼¥¨ã[h´û»¿/»5á€H™Æ¾Wrddäi„ F­Š?á_K[U ãFÖ=ž9••‡éÄË ,_ŠÂC*ÎGPRÄܣɅ£AÅÅ5Ñä~¾@D”’’Òº¨Ó]Á½¯Ÿ&­0SíN´]žÝ ñ³\ÄÇ[Æ Õ±q¯ÿª•Dƒ3eÞu¯[ê\ZòLÀL|!|c6Ãl,K%>2*jµÅx⻫‡ÄšígϘEßK3¿&~egâp?`~>/ì}²·—ñ Ug°™ÈëÅ]—-5Íà…™Òò>ó–¹» kU¡¥¥ÝßfbeÝé*Îß: ý-€šž>)·éà./Ÿ±ÏŸßÛÛ;m‹µ¬m’+ C- àÄ¿,K¾ïÄÉ¿³³³'2ÏC¬ñ þþþÅÏûÈé"Iù“p\¯>›˜pŠÛ¼‰¿¿½„†ÂùaSIª¬ú§Òý¨Ùµµµ”@VzzzÀ|NLL[fN!òž‘ÔØ&7M—ƒíO—+8 kVµ™ö÷hi,)¡Ÿ9 Q-9ÔYF1©õãǺxei99«ùSxW“GbçK"õÔBEnçûIÒÔ¿75×5íê@ؘuê º>W'†Ö¼X$$ò¾aüäÂ>^O7ßU¿’‹ÿúêôëô¯-‡k8Xýè‡ü‰Só”ÁZGîM¨Ëw µY”§›ÌoÊôÛ}ætíö8â?U¹¢–óéÈ<>ÜW÷á`IÎ R”g½õh*—5lŒг#P±èÄÜß òÖâ¯2j'€:ØÛƒóËÊÒÓÔ$h a·[h–Êϵ5’[&vôððî_ÛÃ2­KÈa)™ú臙™€ÎOî5$¤òÓO`@†cbbZãËã¡ÕÖžyJmØ[)cBXXXÈ}®( tI²,‘;cÙ•RqÑ/E,ýpÜ{#[ Ú1D´Ñãêì¬Áú¸ÿ½²é⽦ëÓó`°up²Õì9Ɔ@ùQÆÙ3«‰M è¥5k6}Ù@((z¨¯ƒDaò¸tßÁÑQ-Ç–ü¸"55µs“À9üR‹\èsD £ì«««›ÅuîHË/ŽŽ)=•TSñW8a›‚B¿$ˆßºyzª¹n@¥bªêïŒð¤bÈz§»¿™A =’ô)¿øvsl¡@†&šh—ÎõONžu¡ý´7°=pÔâö¯khå­{> ¨¡áG’z•éç»îgÛ†VŸtw©„=/†;:üŽ?‡~`äŠ2s=ZzæMdE}uÒéz¼ôtç˜ t"ùfqÊË—/!l<÷®Í"¼ŽZcu“¯²ð‰ˆÂßHÒ$xŸt"îsßt"’Û³å¨JµxßÎüþ} ¨lU$H±³í0OÎè:ŠÍlßÂcI–͵!ö›¼ì]æ×ôôam(W¯^½Vô›âäy<¨l7¡“$‚RýßÏ °hP ˜´›,¼…{?ãGôN1¸¸¸¨–à}ĸÞ+ÊÞEør}jª+-&² 4‹ûµÃ×ÑxÇËkñ…øcô$˜»SÿÿÞ}ˆ«ÌFJB ½Utø&écCd3±ëß•¨ò `´utJÑŒNþt6y:??ßË*(*º®›IÇviü»mã0X`¦„ª{ëë·6ÖòɬúB¾^ )É„}–ÌSÛ@ÝÝÝihhþ»ÃÔó ŸQsýÙ}p*—Awm°Å;Ð!ÕFOOÏjíÈâp"}ºÅ——R1ž*´ìì•ÏoŠl±ØÅÜ·p=&i PÕÕµ¶²úΚ“óZW B@@à4†ƒôâòx¹ûwBv¶R%9þª×z2u²…W®_ÁÄæ„òdBBBIîúx®Xu=–è0ï/Ë_è ®z_’v×JF“„-l±¥™-è æóôØî›¨»“,tºÕ œZ±„4<ðØ|ÎxFÕs++z¦X»¹þ8aù@7Dbì•l¬‚Ñ% µyß–òÓ{HTKR¡nMpéêá´ㆡwHj´8P“O*0¸ŽÏÎö* ,î­{ÖQeØuNMCÃ~ñ¶`ø~(‰1´Ttº›Ö'µFGÔF‚ÅÑÁ¡ª«D]ö/$8(hm_…! ¨´Åð¨(‰Ä:·Fç%))/ÿ|óÖî•SÙþÐ¥Ù™¯ç^‡Þ-©AZaú+THþ>ZŽ2xöÕOï[n*"ß?¸PYYYRÒéLNvv|+ÎBe2óÿ]hÊN8 WW]½& ‹”§9˜«†‘ ]oâZK˜ %Ò£5;íáäeY¦l5Ö×{ß^0ç1Ìü±¦*¶ZƒÍâ} 3‡íeût͈JOãG(ÈËó¼B)g¶H‰\Wh™}Åfó J]ÃqsQ÷¹¯éîu;£™ßÉlªU4pâ""P_Îá¡H¤°|R?îúQõF.™Mààp¾6ÔƒLÀ-'kÖÄÜü[|¼q8)‘&?Cœ» ÆÐÀØ¹ÕÆõ0\Úª§ýÿ·Ñ¯ºH*FAAIã±S¼,Ëô\ÿì „A©«´TQ]‘èƒ&°låååÍÅ‚ÜÝß?åO¨jI¾«ôãí꣣Qá÷g€1°ÏMÌÌ8 ‰ ï•”Xyy Uðùí¹‹wFï⯜ó£A%‘Ë]7úЭ™Õ3)êëêÄõÉSâ*P€À^iŠ/]qßNm*ËÅ<­’ …Úp—ê˜9v"?Á¯x®òø¥ÓíÃíßj| ­­.%Å/_¾üJf&Œ———w•#vÀé¯LÆmÑ–D¦îòüùs˜¹ÊM–­¢¢â.1°êÀL ¢ÞÓšk÷IU£!‰’XCÝ4#ÐúúúrÁ˜†µùÝÞˆ—%·'µcBÝ3¢Hì©e`o\ÿtµß¢.Wû:¤JO'î–äÅyVfEäA‡™®ì^G‚¶éfFfÓ]«"ZTD[t,桪öD•[l“?NÎúÉ}‹]¥}®Ít5˜ÆÇÅܵ ¿nOpK/ךa:“;˜ü•шLJ©Ckܨ¬J|<Ž® à“9:)Q?gY1Ì-ÃT„4©Å–×6ê4 `kàÞWêµVի׸Ÿ}Nâ·_{[§ËR$|û ÃÄ7SÐS³Ul(ˆëÓdŽ˜û\H«Å›ïobDž ùöo{ÑqwSÓ;°'X”I²édpíæ^‰Û4*Â*ȹbMæÌ½]­ÌC9w•Éžî.Û¼n@¡©ß™Ð¬Eüð¨ï!ô‚ʇ°Peº»öÇ[á}mʸå¸Z˜ùol¹j?—¦ìííÅ*98k ïåËÊ`…ã£û»; r¡H  ÝÜÜø©Ø]ç>6Ú ú>|”Æé$„¦)štÕ”Xa5¼û}N¸¹µU’̸-º‰«²h|¼#Ü7”TeÓVŠŠÊ¹¤L†G¤Kf#võ RÏI"ÕìÏ“ˆrL¹ÿÇ/Yt;¦ŸC°±±a)Zºª¢k»»ïÌÇ_KªíÆ™d\~a¡0@Êtì¦(ˆüù@¼·ªÌ4'ZúgcÃØà¿×rÎ-;¸Z=]-'Æ:ä÷uwu©÷O ©¦‚’òps+Ö+ÌÏßÜÙ¡Ú‡ƒ““K"ÏÛ5wtt<½ 4}|"çævu¼üx7w÷0ñ<¹CTC2²6›EîóSk(„ÍýÔ"­¤Ôîû(Ô@ñ3ìÂH¥ÿé¹]q>+ŠèÀ·Ã!ü3¹´ [Lçk¥h€HBJJ:–ÉÌò4ÅÓ­p]EŠ™ ,,Ÿy¬‰Ñ10 1Þv›°9lJ?™.`ðÁ²5Xxü[‡OÆ §±‚™UQQ1]Hñ§kQ!VIè† Ì}naáÅ ’wö~*+U6u ö–º"ú}ûöÊš9 L@ÛÙë|_Cü à]ú\{àá S8±‰áýR9ÌÆ«h3^áâ&¤¤„—$2`ë"VíNìÒ#0Å öþs°[€áçt  ’âÊJ%R¨ë=¤cf&¹Í&QœROÌÐÚºŒ›‡çïÒ޼WÜ„Ÿå»Q·:²L+Н³»üѪÔ{CM=ŽJÜ…€ˆDiRb"ЈˆQ!~ÒÔûóµ´Î ŒÁ]½½Îe5nâ»1?DEE™˜˜°z«ÂÂÂ{Âp Ý›uýˆf¡1ê¯`³JO¢1VLIÉ®/’Í×î„ÛÒÎnµÝ×Ý7£*óôÛóŠs~È{ÁêLSTÔÕ’ý-€ÝؽUJ¨["⯱¦`&$)ãã㈘É))ße‰Z@úž«‡ðs[‹‘ŽKUêv †‘=vÌVjôßßœ,Ô3潺°°Ïh’Oç>ˆ£255}JÑÃÃ%–7šÖQ’?— »¹ ê­®ûSÈZÈkÝ!ÆrW´3££¶›šŒ”Ÿ( àø´˜»ýÓ-pIÉàÔÔy =5Þ€JÈ4-,èbeÕ[Unò© d N;!Ÿ?Ýôçµ´x-ÔC ,-=L±( ŒŸ>mº`""é±SPK÷·ÀVz,+¨•‡3_¦‚}$ËE4kü$åÕfeºá¡¡®™Ó±Ïp þ{gD‹M`çç_.%BôqÚ£©©©‡S9¤””þn¤7±ofZãba KIIáXéÀ?˜ÀruuÅÅÅ}ê1õO/èÀªg‰ƒ¡ÕÕúº°¦qÒSx3¯ÊIGYÂþîî‚t `Ä# °]n®*?::ZßçÚTU§–¶ˆ ýÞdWkmÜ\qBÂäÕÔ×[iqpp°zjchøÖ û4­×î³ T=ˆ‹™™ÙÃÚ3]œG g8>³qs÷-{¦ÆO´¸ŸU÷g y7'{óÏŽµ]jj0åÖÑ”dÑ}k66P¨ NI*ã‰dšÑDZ=/E×€¬²7ÅÕkõØ:>~è}©_5I`/‚48:zƒ-UŠÕGDrÉZ– ‡ª¯©z÷ß ¤÷å²kÅmÕ÷Ñ[O¬9òé%8Tv@Z®„èc’r²Ò!ÿ½Pûû·´22²;PhÄÉüºûìÛ#TFÕM`/€ùíNA¢gd$æ¶ÖfþÙ_E€u ôÅdáZÚZh ê”*±Ã;ØÞ$ˆ@CU8‡ØŒ'ÍiÜ97§Í2ÐärDôÒD·Ý§µö%VtËTPxU•߀4ÄïC­ÁH¼¡!… ¬#i"¾L¯uivÖu –¢‰]¯Í‹àåË££‘m¨½3¡©)<`’'‚ê,=„êóò*#óÃqGÑÓóöää(n»I`rû| ü. fn¾›/“°ËÏe0øMÀ½ÃÛ ôàJO‡ÚüºDN;E;lSEEK«ìµë±ÁPUªn‹›÷|ƒ.áÌÌPOìœì„i~¡Ðíe{Ä|b'ö”ôCíé×ç!éiYîŸDEŸ±Bÿ ²W¬¤ ®];žÀóò†âíÎÏNï)Pš]¥T”sR6Ô”ý˜6Fˆ;ïoÂ#þ™öôò&%×0PÏJʄť/¦-^ڻ̘•ëë•GŽf>.¶y»êϘrVÜrÛü Àô‹#™úÁ±¹-z0ÓIÃ@¥þ‘ØÐ°U¿õ·Ô£ª¨˜ç?v'J1FïÏ©\HA=ÅYW+‚þ5•¤¬ìïžIY¤túG_†–#‰Š­ýüë—ÏÂÜ"°»˜’Òùë I º‚;Ñ\$빯¯vD§Þ¿G|w™˜Ã° £3nái tí\’ î+Ä„}|òyOR¨;! ˆÐ;Uâ4Nõÿ> °†„n§<Ö ½Û¿˜@Z‘tÜÏéߨBZÔ›Äÿ>]ðÿóôè‚ù|¦†qëâGäþÛ yr¹^žÞGÅÑ#/ž‰œâòô¼<àN©G Üœ~ò÷5ç^3 Èý}KÜèT÷é¢÷Ρ7õÃmåçZnËÄN[{„¶°1\»¼Œz•¯ají¡/l ?˜~õQÅâr ÷•³£®SÒåsP‘ciO!2@¾].$ ‰“¦Æ‘yx€k^’–>Õ[Œ|x—u±õ˜2Jïž”*“}Võ‰˜kbPËýîùªøcn sÙ‡R1YV¥Úz”6õ<ºw\]yÓRÕX¢á¬ õõ$®m¡Þ„C-ÞB#-—-ê»w¿-¥Y-Œ§Ì|³â ¦ƒÓÐz:Bìò,9[i†æWÌÏÕ7—¼Õ'*#èÁ´.”ÚUƒó ·‹È4GÊ2Z$YùSé½/oëþÎLϺxë2¿(®Iƒh×wŠ\Ñ,¼H7¾ø[‘ÂÕ¸ô3LIá½*JM…˜Áñù|ƧOLCñÑLÙ¼Ÿs®tÖ=ì8>é''.ëó\¯Îw"*9q ´, t”¢ÛvñLÐ̉‹ÚO•¯Jùò ”_L"Ϥ€Õc±óE¢¹Uÿ{J®›·mVŒ1įÄq5¦‘6qW5˜Ó¹Þjš\øÒy?ËÅ JCÈ4‹`ö'}W˜óÍÐßÞžÿ>xŒnmûT!VÿŸDþÿyú3hg†çè–ƒšŒ„¢x…¨ÿÿôFÂó –’J–›!k¶FyxœµWù?”ÝûG–‰,eÉ244¤ÈöÈ£Iˆ²”‡¡d$²/Q†bìû¾ï“}Áeˆ™gìcdûÞÏŸïëóüŸs_çœûüp_÷}Ÿë¼ß×ûŠ2…r² ³300pÝÕ3æ  7€˜€Qrq˜X`†z §ÿ\Ø&\ÄHï ß´¿1oLÌ­DZ‡²Y.± Ly]Á0w â#à8“T¤óˆ‘ôŒ)³×¼Tâ#òE‡Iò›ÒÒ(wÂgØõ+•ß#@ìåÕê7Å·3™ÊËÂ?ëpð³» âíÜ‹Ý\`6¾µ~ ñ¨!µý:îãÿ˜¿»c,èå­?d6¿Ýaføé„a±Xõ{Ô¦¦öŽ}y°ýëŽc9÷,ÓBƒ¦¦}ù }¡ì C+Ã=(Ê£ÿÀÒGýOLWpp0ƃƒJæ>>"4´¶¾ž•™y™DÁðé?à#­¯ ünõRW-¸ø~Ï£S~ÛŸVh*«ñššfœŸ—wž=,))©xgHûéÇ744¥âjÄ$Bxœí=gsÛV¶ßó+°ÊÌÆÞ‘(ôâØšñÚÉ‹gRœØ»yïSæ6ˆXƒ€’µ¿þs ‹À*‹Ž³3k‘n9÷žÞžÿíõ/¯ÞÿßÛï¬q=É­·ÿúço^Yg——¿{¯./_¿mýïïúÑrF¶õ¾$Ó*«³bJòËËï~>³ÎÆu={vyy{{;ºõFEy}ùþ·Ë8–ƒ/ë?/êΛ#^󳫯žË ?NòiõbÅ0N’$êmù¬ þ™ˆšXøì…øsžÝ¼8{ULk1­/ÞßÍÄ™ÅÔ§gµøX«—¿ecRV¢~ñ¯÷ß_Äg—0HÕ¹¸úõÕÛ7µ˜¼š—7Âz•“ª²~©(Å”‰ç—꙯žçÙôƒ5.EúâìÏzĪêÌ*Eþ⬪ïrQ…¨Ï¬æÖSâ8Å™÷diïJ=½xœ»uTUßøPéN¥%¤KRZº;E¤‘ééîŽGK·H7HJ·t#£kßß̬5óÏÌY .÷Ä>{âÞû”¥ÐQˆP ºŒ´¸*׎žaɉš¥^/-øüó‹á/ð{QÂW¤÷Å8ž'›rñq¤6þɦÖ[r +"WÖß'çEýí}oËï‹QÞdâV¢v÷‹þrã¡Æ™(IÉÆwz˜ÌçG ÓiQ“Zp=ÂË™òîL‚\­êëÙœ^ÀM¼:»z;§yƬïçS†×³R›ûÚqýo^!u]f´}å'1¡¢\óB•]ÃU‡‡ß©?Ö [•”E-B ¿Kƒ©¿1µ_yOÏúÐßÝÁqÄfä´jÔEØj¼‚5~õÕóÙÕK‹á ÜìVZ«€?fE6­ál,§>åȲ¾²š½Ê¡ºk’wâk!œ~*J1pÇÏ/gýùùÝ´9Þ7ðg™ÕvañŒ\—db¥Eiu‡~föÕCoc\ ¾Â‘Ÿg“k«*ÙŠ¥þñG¦fýã˜o6ͦ×g-JXÒ‹3ûÌšWbBfp ½·š—à·3‹ä@˜º«—C¹0‹…§¬)™-¹g”Œß÷3ÞòR«¤I%\'õÊ´àÂ=[8Š—´ºÌjLa¨%ï΋³÷caý«EI%°$  qoTÐ&bÍò¢éÝ! PƒóØ9w\ïܱCÜâúUù‹«ú‘Ü! ¹è/éŸË«à%¹Å­‚þƬ–—áxçá¹ãçž# 0j©N-ßÕ·`"‘™ †w~+»x–Áq_=¯9Œ›W32}qæÂç± ûÒ'Ö#)’¶-Ó|þ²æøeo ˜úŒ°„FS°8v#ሄÀÓ˜Å.L/¢y îG‘Ö¸o 3Úìz ŸnôG “gW@tBû[5óÒÛ¿õ_ E]“³«†¦Ÿ‰|ñ|xƒEw_’íÉ=ãÏ+XÁ[¼TŠgt¾‘ïþcwiZãç§à¤,ô\GI(qˆÍ"žúvûO‰¸;³]: ñ¸(ÕMÞd.¼¿¾Ó„^ÍÄôù%à=E9§ª­¡Ýó˜ÆTÔñ(ó9Ió™1scÇóƒî~x®=w_‰\òÆ·[B!ev¥6wDh3nû±ã¦.sY”òÔ ™wH(l0—”zîA.žÄwS$8Íõï|‡¯ï?$c[.!œó”±À*l–j{ÌfžÃ¼ˆ9ä€Û`®O8O¶œíùT$vìû6,Š_$.P?t\×Ù p7EÆMȇz”Ä?$á ˆÑÖßÉdö-§!zìÁé&N†À˜„šº©ChÄÜ?ZÈ / ó›®K¡v„Ïæ ã<ô’$àB'µ}HK˜>Z / ôƒ¤A-höÃgT¤kCP…{ÇÀ¡úqÂb?à, iê‰4r@#{´P^8@õ½$P‡…*½!¨F¾xÁ' #¤ Kꆱ—&ž³#T³²ží ŸÅ±á;¼%v¼UÝÇiTu¿×h]Tç  9(Áù¢¨Yœ[¿þ›”øZË}aoÈCj âDNìz¶"‰±“úH¤ãh7²†ùn02_ÜáŽ,”åÙì}ñòcVý°ÙŠ™zPÜЉ#ߦíG‚ΆS— ;<¬²Á\CRˆÙc‹]í®QwÙ€;/qâDDk»Aày ’@Û±í„ÀYTˆžkÏ{T5¸µ\7ˆÃ ¶ãзyÌqî$)¬Ê‰—T Ü`®ƒAl'Ì{‰°A„á>14!Œ®ù!wBFBbï¦ ƒ.™¤¾Þ`íÀ_-¤Õ’&#ê r2΢ e”qÇví06@"âùÑc†ÎðÚ5tú°Ù‡ˆ¡ýn¤1‰…ç’  ÌbûI„$Š™ËcP‡wùéðÚi_Ѣ沵j>®íq‘ø„¹`Ì÷ñ6'A¤~Â=/Š3|†×Þц– #Åuž†$ŒmÆÜ„„”‰ØóA¥!I=`2d7áç׳ªþ{^{¯|ŒC½-”£²½þÝo X¿®¿}Pƒb¦×¥\E›òÐ$@µO|' m¸àvúhµÀ«©“DÑnšøæ ~)YfÀ껇ï0s߸ ›Á1Qîv ƒ8Üõ}7ö"G”ÉžòÆî·ö :¼÷YwIFŸzW— *} *›š¸O"ŸQ1f»pz,r8á~èÅp†ñn×xßËûPÞ7i´'ŒA´‰( \øŸï€8Ë©Í|µÅ ÚMÛYþÝNÃk“êåÁ@åØÄc,q…’Ð>IÜD„÷|áFÙMŽ\£hl0×žŠÆMVeÛªZ46ˆ~èah'÷Â4evxŽK{_Ò×÷9 Ï5 ®ºwõÔ5Êí”õ˜GIÐÈ ¹º3óA~§"h;öŽÞß{­}OûU÷«ãвþŒ_o°eËþ²6¨ a$bæ$ŒÙ°XÞ$ØÍÖ !`"à ˆ´˜v¯]d=~JD„¡[€ œDIâQþ‹ÀÀßµãÝ"†ƒ ïÃp…%ô3JR@ à{"N(H4Aà jd·0HS;ˆó|Hà  ½ì¤ýÄÇ4‹xvl'i䀃ð)# YäE¡ë¢ øhïÏðÂKArI–²<«ïÖóøKi[»:xä^ÙÛÜkÂ{‡ãö\›yÄŒWmù©Ÿz6s‹ˆœ˜ÔÃ0<× ±©½@À®nŠš”Rüq\Ÿ¦aÈ성Àa¡¥Ô5-¦i å Û`®Gº×Y¹ôÜØ‰’p!`Gó8‰=Çžë:xÞA%Ü æz ÐS¾!ì|Á(u’€z.±cê»4t˜ËR;&õ÷5õa7<×#Ý"àŽAr›Ü¹é&Ab˜Î’€¥)µ=?eaÀ)MEÂv™Ã@ t°Â5¼våƒ|5&Óëa×ÉQ¸a7!EqÃUY)ÃG„Œ‚^ï2n»œº‚“ ‰ÝÈ'^{ ÙÍd¢ƒ"öjx˜~0¬5¼%æ—´(«¿0Áìòà;ÕŽÇ Ó ô žR¹ À»«ÙÎg>4!“*èQÑ€{±Ÿx!¨º„'Àõ¸ç^êìf)3—kÕö9a˜€-/(á!¥!pE1—‰Ç}ÖåûÌ4äY?{ö—0CŸ""`8-¡!µ¸.Ê{$îU˜íÅ­&ŽA¹1c7 ¨K}Û&~èÛÁ^Àÿà HÛÀÀ‘6^bÓØo¼ÓžC(ç‘c‡‘pA$><ÏmgGuDª·4Ã{ ³Y~÷Z¤dž·*-ð–€–Š no’&.I#šÄ‰9n$¤ûîºçóxGàÃ{x _¿»¼¿þTÌ+!¿°þ!ð ÄDÁq®Á×D J+ŒŽBÕÏþ£!ï0GW Cœ(qR;±y…K§vä'®“°Ð‹â˜ˆÇÇ×W@|x\,Á|˜ù”‹Ð¥1qS†éPaÈAˆmåÅ~·TÇ"?Ø·¡tž·ÙG‘ËU)ÈaV°úå ßÔéÌñ|@‡ˆ‡n3R §ðbf î%»Aì81å«Ü΃«çYU¿û³|_`ðýÚÈrihP¹û (j+¿—)ØÂ؇Õ8>óEâò4q (ˆœØK)È v¸&?Œ‡WaŠïV‡ï#_×çրÒÊ4ËsÁñMÅÓÀöB8hæs_¸˜˹ヴ Él߀ãG4¼wV o7 Š´òR–¸ŶkG1`]8^ù1æÉÞ6þgxß È„¶œ[=ò<èòiÄ)…íú‰à¡C8MB×e ûxñŽa½Gäþ˾¬¡ ´Áo¦™”mÿkL1“µ3*b³„aäÃ*TN R\ôŽ9Ûá…g DßvBd´ÄõHÙaä¤N kô s½€¥®kû,õv‹e{Ð/SsW…ÊìÿsôXžA Ÿø~ [¤HšœîŠÀuEBEäð„<ÞÀƒá…OŠàAb´¤2+Å DÃ! ‚ σÀåñB0¥†º>õ;ð]7Jv‹òy4^¸4MÉ&¡œŒäOþù¦Cœ Ä ßIEl§nBI;¶ûÐMm1ì ý].&FÅš^eÆ…þî÷øW5ßW’N¨¦Ò’,±4v¯^Ë/·^‹Š•ÙL‰cðC¿š”øXSØóxq‹ÒOK5œ² ¹–•ªš2K=s±¬¨$«÷,}}¹P¯‰È•ÂPª´•ø² \ëŸù\X®,e%ËEeÅÑ HóU‘gÜ¢ò±¬bê×&b¤«`éê@³+ëMm –š—ícpÜbbÜÛð ÏåWÒyÿž[·ãŒ-.R„€Ã‚Ÿˆ*«Hå7¾sùj}[Ⱥu%â¯zfé}ž•Êêм »ÎàIyø\¯÷¼|@—Áï³YY6Àèe=kw#½¦ 2ßÔqή~Ïêñ`zÇî…äÔGK¿+æÖ„ÜYð€(•µÐj N™o©²~ç–]ð:+1–W¥,n0ü’ÖbŠÍ*8§*“DJÖ¥B¸.'Œ¾³H ªäG¸œ¥È ZéÚK…Ï4ÇxÙ\—‘õ~ 30˜ŸÂ*Ø87ª@l¡ÆãKŠ­êk®–·lù\« ðä§êßàsso¦V5,KïÔ%Â}Ál34çÀˆ)‚ív“óï©¢ ¼$qL‰/âˆÐxbb»ŽíDœJP —”ÕgÏ0gQ–ðR¤oº¼CaÎÑz…ä°œ³` µ$kæ‹×›#Õ$·ÚS¿A .é©ï$ÍWÏ–¾d« Y‘ÿ[òÓ"n~ÅßËö~äKÏöjÜ=ëø“| ÿúÕ“_š1áÒ V®¼—o!ÏÝmG‰²_Öñ™ž*@´Ïe_,ʳõFWõñoî;¼ ò’ dú/ZžãœWêbôA#hi+7CUšýW—ÍkOX/óª€Ykø‚¿üÌ„pàùò•]W~c°:Ôc»‹=¹“‹wÄN”(š<ðcÞÐmJ—­Ö×î±¶nŸï¾õÝß î×c»û(³ïéQ¬j[tQ¥_–4 £âJPÆWÔQ–¢šSÞ(]ŲQQåç¢ 9è´ú4äAAeèš:»?€|”k±U’ôê¹€5¥² ¶ƒ;»È³J´ªF«Îˆµ‚ùy£‚) ´£qmû5 Dê„"Œ£ú4ò“ a‘:<æ>sòì™ú÷B_®j ûÒzÞ’©"-ÉõDŠî~‹{í ˬàâ Úï“ûÇÞ„&Iès›Û^;.wD”pá‚SA]FÓæÌ_j§ÒrÕe”‚-H½XŽ~*˲öañ€Ÿ=Õ»œÿK|Qt—kŠ[žX³ýh,`;SÀÖzƒ‚BãfO“B«š«BãJ…Æ¿ÖQèŽ5ð >5½áøB£÷Ó·2oM£7¨Hº5^ Î9¡BfV4t¹KÕ¯9úÊHÞUPÕ7¡M‡P=;O[kŸE¥ÍÈëéñ}Û”Ã}wgWÃ4~Ý6<º­»_­õ“o¡-»íF´cOñŸÖs$LWöóKùïªÁ†¶µrë90þ¡8È Ùj@¼q”_““–pnÅ·MðÐóKüñJÿÓ™dÁ3z¯8 -©±¢Âß]ø— tn¢99ÏØkŒ.8båÆK­ûXÀt§EÝH]$ÁQ‰v—fSí[‘ÝJ²©4Ukßæ6ùnËleSM¼[W#-Iy§}I™’~ý=ã×èÏQ®Æ¬šÁ.ªÖ¬FòL§®TŠÏào£ÑhÙ PÍË”0¡'hàWŠz^NÕ˜éI•Ú0†¿Ê8r‰ðRã?–‘„âÈz“v>âÂE&ÁŸMui"KûÛšáX1Ïùô›mR€¢œäçÖ6/ƒÔ’èÜßÏKëÜÊ”§l1 *ç¢ñª¶ ÓíÔz\ÿ¶R4ç¯÷!ýò¡ÈŠ_ã@èÍ6+)´²è\~'}ŽnJnCL¶-×ÙŠ (¼wÔ8Žš|ÜÐïÅÇ¥!1À’ˆ×މÏ)³šA‹lZ!¶àžåÌE ŠH “.ëZºgJë¿¢,¬'@3Fò\y›@û÷E·°¹,»ó”0d2Ïël–gÊwk’äis½Ìà7XμîAî\!ÇFáukn×Û²¸É¤à¿_Ù' O@÷G¦IÅmeŸ` ¯H½ÇüЉ$Êh ¸“Á­Ø¼Ô.ç9À¡;Ü9~+—C±¼¨ýFÝä'Ù¨‚ün4nýËGû´ç|€b8¨qqëCjÞB'9¨T 9†ŸÐ»>¤Ú“KM‰«'Nò&˜óó@˜ÔŸ‚ÁáTû„©ÄcsïS¬,Åûw“‘8å8—½lK§ÿöØWOÄ@6µŠ™ê户v$K %HsGŒSÞuØb5§ f¨U(ÒÔ;€\Ð QÌV¹ø»óvž2þ† ¦8óÑs­ðŸàÕQbK#SPReUÃr;úRÝse£èð¹[R!Î3QUé¼{­”=µÎ&øþÞ?ø®1½¬º1Rpƒ5K(iïŠã ¡{2ÈS±àuÿ"Sr-C 4³&åå”›XÝÓoJfK][/ê–ÜKɯBÑèfAkvlž«ëÝ•4ñôå¢ñ$‘ÅP„Jö˜PD¯@žˆxsĆê¨A\Á8 EÎë†BçwÍÂp¥Oe„ #BE4ç«ñú]ß×ýKtìËs®ƒšÈŽHJúnH&/D…ä˜ÜHn†’$BÎ]{¢“M4g57¡åLÅL(Ë[C<ÿOÛÒbY¶3-‘Ó¡ÁAô1vB´¿!óEö&QCsÕO3:¬sõ0Ð>~Næ½s,ÆÝB8ÂMC"\@‚î <‰17ÁBÜ ÌýjÙb="0šÌª­÷òÀu¹cc½RÀHš/ Y˜F©íG!U¤óžDÅ•Ñ?kZº ß8ICØ ?‡ 98NðÛ@Tøö¡oúåCø5mF™™*/Ærl[Ëk8·JI"R1n$™™Ôg„ A—g³RÚZÒþ[ú KJ8IA>j´sTŽ[.‚ `bA{“¼hÁWLÕ¼Ds6) ¿ŸI?”Ò*¾Ë²wm2†}¨>$MHã>Ô”ÛœÙA˜†Í?’u‚u Î”ºR¾ù!tF.o1|„É¡J0¯Z ceP¼|±!‘’?ßÑʹ8>}Øu[Sˆ  º ~^¢uM?´@SõâlïŠ5st]"7ÂÅÅSŒŽÕ¢ë=åÈ'¿¥#˜S1KÔÍÊê=™©«þF†ª>5&ŸŠ[qƒá­zÅåÔ–|IñR’WXÜHz?µ×Eôåï=ò„L¥7Cù³á/<Ícç–þxc–ÔMS?G²/öʳÚè‹eIÉ7”=ëøu<Ÿõ{7¡QÒ– ®™„E:ø Îb ˜¨Ð¥'2ˆ-EHži9¯ÆOutÏ‚ùWÅÚgL­¢óëqÏò­•ãùlL¦Y5‘'ãß|!s@sRëЪ!ñóÓÐy ݤҳ=Zh–!=û¹\:úFo³j,Ÿ‘ÕWW’Þ\w(dè÷¼Ýa2[ö“Ý¡sô"Ïj–Œ”«)Øi@ueXd®šÈB'ÍoÊÎÌJq“ój„Ç×5võö>éA?m?Zb{޶A«ë“ähGè¶½Ì Ûê9ŸŸ»"›ª²ë±‡å‚Æ3d·…kÑ\žb¨;ëàö6m¹·Æê-[Tooœî­þ™ãôFíÝ—ñYêl>(6¨®Æe«MO­2”TIƒþ÷WL\¦Ý‹‘’R>0cÁ옧ˆX¸’È?•QÅù-š2@ Rn#¹òsm ©´eUþªeÊÞmh«œæèTj˜w7+Û‰NmÕä}k*5LO“JDÞX+j Õ²[€{[½ÿÚ@'ÿ„tîTlH:0)jm¦Z×±h ðuꎱô"†;äS¦œ]UUÖMF%Õl2µ‚ä BOU‰H ˆÒ‹.ãðÕ„mÅR ÞåD™.eаz¨%ˆ2ƒ´j•ý’•–ê§Òí0…'ʊܦ^©°gÜ;¬ÚºÁ”TÄH܃ ^nàðô ½ŸÆþyÒØAùoè÷…º>RêÚ=Ð&Ôh‚Š”J'V44ÈTάk,<ŒÆ½ÑªK±Ñm–r4š«¥è5×ÈØ'OoO[ófÀ!P¸ð?ßáN©Í|Û³=/ˆÈ©Ò[Yv~‰fŽIõò ÙüTdsÙc„¥â[J4HÏ–ëC!AQž Á>HgNKEõpê¥j 4¡T0‚~(!so!4[T§T«·4ìu¡úOÏf€„n#R>: ºAƒí“¤ ë<ì}7Ø7{—n*àÃ-%%ÓNH,ö× ïMšÄ¢—¶kí“ÄWytù¹©R˜ ßÊZ´¥dD¢kÛíš¹¾}´Ï6)t·>I$¬jÙb-3Ç ±¶SDgäö3)tu‰å×L=®lŠàþO²e†D´ÔmÇ%†4õušÀ¹3Œ¡õQ`íoÚŠ`ïtA)OYÄælS˺(ÚS3•šæqÛÑëÞRzBéñ@“‘4ŒH`S憎Ç£AàP„nàE~â'z5:è$×&F‰³·¦‰iÒ‘™üPÒ-…ôØ£(kü&š}`†àP¼ÔTÙ@Ó¡Qê9±C3Eä ×waµd¹…ßVU“œO“ïÈv¿Ëü¡IÀþž-ètab%›¢xÄ(–½PÌ6ŸP“ˆÅ¤ùy)Ó:5Ã*Uh•@·´ÚW›ø)rÿ–j bJñš\Ìóí²¾& Ð>ƦǶ‹HĠ䆮ãîñ8fî5¼ÉÄí¬(”J]†¬)Àx|ÏÑ`UÌÍ>¶#§ps€b2/²}j'‰cóÔM€-2º'¶±à€çÊyäØa$\7‰Ï;p>3]vó|­$€Å¦žŸ[Ñ—/Ì¢Ç,^"Ÿ^ãTkŒ7D3‡µeLS¥ARMUª¡ç0Ò™W¤sµ BTgÚ¢„;ÄloA®T}FKVŸCc†–×ø¸jòAà“ÊŸU̧ j²‰íb‰ÍÞÓœ\/r7Óƒ¶Úˆ»-24LG€˜J*ât¡Hb “~ âeqz¹nµI}šÅ‰Ðß0(N-ˆ›$IJã( q"a…ÿʼn.ÖÍ}`εÈ=ü”ûžˆ*|Ã% „‹¶¥ÔbÕȪ³´= “-u¬æiìqÎB↣©Ïâ$Iì=¹ÃÛq WûœW·žê|êן°æ«fkÖ#T¼¬ÌO8ÏÐÿɯ½£¦2ÿNîÑn­ÇO}Û_¢Æ÷ù]“.¿Æ#»ã¢›LÕN¹sÓ¾Û”âî¡î\á‘õ¯J¹^Uß÷‘+H­XQ±[öQ5(º}b$Ã+ªCI¬@Iwê÷Ë'qÀOV°¼‡Ñ&âÒdhsÅnýrr-sr lDÀñ-Be±nxô¯5LÇ¥FÚÚ©Ã+•Ász1«rö]5XR?c2P8¯£tu$Œ Ð5C”mY—t鲎uíÁö7©¶0²¾Ç.|æíò“Ùî‹þB<­[àKÊu¨ê«+ ÷##$•>à•àaºJ†ÂyG¶HôiTâ+gÕ >G¹ïÞŒYº Á Mb9<¼À¦Å­P8èÕY+|~ üóíÓñ ¢Ø’ b:½ÍíØaiÄ·SêQšx„Ø"qö3 ïïs2ô[¬ìgvH5îÑ…}&Ú—9ðN<Š‹Jتµ„å%ï÷c;&4qjÛžøv¸~È—¸AÄ” ³¼—y®/U?$ë•¿¾ÚgXú$‹©†:”®µÇ¢x0ÄŒžã1âÂÓsÅ•bІ#Ûãï„!êªAmT"6Æ×oZ(2Ú¾{Ïa¹“|`v裡å"tiLÜ”9€.äŒÒØö°k­8Ysµéôº&ï-¶g”ìãàõ­M¾rú7›ð¤/ŽÒõ¥èewÍnz†rëµ)o”´îÅÆÆRTö4Ó¹UË(”ä~»jÞ©­M:Ü`ªÉÃ%|Ì®P  î¨Ñ9šÐñú¶hV-á2œ29‹š¤r¨Ê\rªpÆ+ùJÙ‹s2D¿9œ s¦©a“¤Æ8>_H½D‚ÀbÛµ£˜/A{däÇ4t]1i ë¤fÞK·7h@Ötýšp×Ó$ŽÏ‰ÅŽ(ƺ6qý r|—¬è*:˜®”}œ™1±‚Ä„ÇÛR`KŒs–†œp/HSJ6KI¾µÙ ßåy6« ßá ÍÙ>§#á¦Q°#±C´£f ýÚfsüŽéƒ0`f»‘ð£$H‰±“:>ð6x7œX3‡~M÷_èÚ‚/4%ÀÚI䥱 cÓÀõB‡Ú,I`®$¡ÂŽÄRרmø'ãp³|8ˆ‡ ‘±Py‹™-¸—œ,ÿl[±/èwYU¿û³|_üˆU÷OÈܧ!;§å§wü`#bÊ?‡mH’ÿ>ÓÇ-!Vüù>Ã0`ÉKMñêÏ9ÁžÅÝ.ãýsè¶)Öz=‘îN›­)ÂÚ¹kB­Ð7Ñ©û?ù¬õÃ,8@5ÿ?¶s¥Yf÷JË®O¥U˘šÜÈý½£¢-šc)Z #ÛЭ‡–‡º£Á‚8Œ`ÒI—ËHBÁ¥²€ ð^ã®æåZ‹Ûì(Ç|à]ŽÏ|‘¸¤ø-¦:_Ul]þŒ­®ágÙh'D^ÌʦjÜco¸cƒRµ-øTý%c«Çð­lšMæi1Ês³7ã£S\Õ¿…«ÒDûà–þœ+æ¿¢,FÖ“6îïÅ› §»pFv[#ÝÜé¶\ÁÌ@G{þTºÎ‰l_ŸçØ$ï¼;¸¬ëÒúáÛÓ»%f†ã[‰†Õ÷%!l{I' l/„јÏ}á ‡Dœ;~¦ öÜ;Ù.NÇ)AªÌroOªé_ƒ§¾’'ƒ±;XZ iÆ5à V•ËêN}(]®®5C“&>Júru}…ÕU©Û?±æÓìO`û•º%2fIƽ©Ø¦žò§bªº¥ëLh¤Ù®ƒ÷Ä4NUÄ_Çg +À«Tæo·.’.Û‡ÓBë(x-‹1pàCu·¸´Â?®¦ûÌÁ´ÒYRŠZc­jôÁ/%@²6Eë_KFײ–¨YÎY…º€©É<Ÿÿ*K`?]p°¾OFV¦ëT¼zþ#KíM?²p«´çã9½šŠÛç—ôJòàÇi/*ìꕃH‘º ÑÈE²BmYÌDùnî}ݕʜãóäSÛ—qíÂú±p¨O©ïëÿ‹çØ|*6}|·ôIpo½ßÍy·µïÞªw˹µ»þiGy˱ LçrjïéÉç1|];౯¯ªQL@ëÔ;ÕÎVÀ0ºÛ™:Ï7ðÐdz§RC–güMr_uEôóJ4E‚MVoÒt –7³^"Œ€ìW©›Y­UÇmUîÁH¦ÁX Sš vÒ†Aàšº#V”Ò΢ÂXQ”4uD8aä›h‰Õ— Ã8Ey«‡1«¥­—Ý(“!Ykúø®a¥½¯¨î&r%1’4 ‘r?ØúžQ‘bзÅgUѻ฾¨®æ«gÏTâYóÅgXÇêSõMê¤õµ±½KѾŠ/=×É3 ò&«2šåY}g3x¬dðOµ²’¡4gª ÛDÃzvl'iäH" ùŒD4d‘…®›’ÐCß$Éÿݤ¬£Smï–)í¤'I³9fbÅ‘©•ËÊ¥ªr‡rkhiÆjÔË5­ÉJø`\ôT '¹ó Ðš/“‘•ÍK©"¦Xýq"$™˜÷ý¼Dÿy/§ÎX`u)ÓeaösKδƸÛ6 x¹rݘ·„öèŒPx§L2çYN˜ †“Î x“ß„©ÂòÜbúœÎ»2̬Ÿ‡½E •‡âSÂ9ó’ú1ž )Gã:(¨~zò=‘;ôàõouÛºP3²±ÇhìVÍÿÝa½WiŽÅ5P“ÛʃÀe¡Çc–À£(¥QêD%"Ww­‘olVlbYZýš8~ÇI"b[Ä®ïSßqD æQWL¸«EÐmÊN ƒò³™V݉/ÓÉF§6ß[9Ye“éy@çLuÛéJÑ2‰½B ‘Q¹ªýµ&~eRHõ§Õ{d•6¬}tB\T‹j§ÓT,Ï­ùT*ã*”–†iŠÊpýó0œd®ÂZqÝ»‘.zì'ýF*®¿éa®°ÔumŸ¥ùŒDІ¢ìSºa<ƽ±®»‰A¾È+åŠ{âY%%YÊ‘ÕúÓÖ=Ór>ÝUdŸ{²2¤óé þ·‚B.X˜§i®+)Ou™Ä©ÊUlPá eå‚Y¿ )¼+É?†žíý0û¨K¡I|·Þ0BæØË5ö¦yÕ¸?ެÜîÔíS4ßÓˆQÊ908¸®H¨ˆžÏ)Teò÷ÅÉEËZ)¢Y) ¤_Ò0Í~‚û[­ gÒ ¨hŽt£Ûçj90D?Ùv™Š[5Ó7•Ìé2ÑP‹±$°×âV(.‡&6z‡\‘êè£{ž´o4¢^‚Kø4!Œ¡KÑšÇzÁ^æÔõ©çØïºQ"N•®XeƒèÓï }jÄQvîu¡ýÄ›Xul¸\ TLÀI5=N…çÜwRÛ©›PÇŽmǾGlÙ$ãm¯‘tǽuÒˆn–Ü ñ¥¢ÝQ8:Ó ¼l×6ëj¾Ðù«‰}_uÙµ–±¶?ö_/ðwi3Pyò«*ç÷Z‘« ­º,¤ëßôþ[…9k8฼T^¼‚Í[ç]“Н Bè‘¿S`M§<­´@ç¿ìužÊöìù ÈæÙUU²KYSïr4ñ— 6/oÄñøª˜—̘1ÚŸFcU˜F[²ó ›Íô—rjuÏÿvq!"S/.ú,9-Á€Ñ_^ýO³!ãÜUË×õìÙååíííˆï`ߣ¢¼¾DÿG½Ì×ê{ygœQv¹h(W×.eºÊ•F!È[S(•»ˆG;­ Íííõgª‡‡‡ššš÷¸Êx»„\U„]ÓÕ1pH²â“F!ÇKüüÞGtÏúÓï¯ØT#Û„ð]]$é}\œ¥……ÂãòШê7‡´¹¹¹(ÝJ,°ïS¼¢¢nÂ{JWRä˜444L×ú ºÚÚÆÝQ˜··· ®­2??xØTPP0”'ß!ÔGÚÆbÅ1pÜ$9$$¤äiKÜuæ /‚Ãá&•ÁÁŒÊ™S(VVVf¦à?„¥;Rñ~Œq 6iÚoÓ ²|°dHöL[[ÛÛã½äž&¥ná÷9ÍÍ]Ñü¼úpcãßë%‰ÆÙÆÙ£k^ ÌÜÜ\ôΊQöèî>à”…e$“:×;uØUÖ±—NÔ—f' –!HÊØòòWmïXÞž¬0‘ÞÙÛ»¦¨ˆ‹LS["“mììŠ, n««Ïùoh®(vÝŠóÄÕÔÔØB¬ò,\\\úsm!Üœœïcc‘ÏŸcý—þi@ êëM ”/²KT¾Þx’dì´Í‡€¢y¾ËÓ’“kžHÊÈÈ„|5$Üq(£‡ >yéã“ó4•ú½ç×})EÅ5\F µnª¬LhÐ30(¶©‰#lþlûtÍFCSóøèˆƒãžX;BA“DÎ[™•¶{d ,‹ÌÀI Ó®fÏUR‹ljª++MˆÈn?Æ„ZQM9.Quý.²Ñ‹[¾-§'þwï~O{žŸf4ç ´ÕÔ£²0þ?z:܈׮½ÆV”Æ5²§׬‰“â¡áá&óË?™o”¬RgëPk£Ù.ßÍìc›éYéY¹ýý$åÍø+¶²|ÖiÎIA)Fnn«Ýï#xt¯^½ÝÞ~”9Vvžëé™o£êZóQC«FÙVXT™h1»ÈاD•U~E–V¶³JZÔ_ c,V,²|¿¨ w/˜®käT½üe!?(+K^c®¥gÇw¼'ÁV“ÃÓ,ȺH •v°šÇ•"ÿLç™}—À”Ÿ_ìZŸ¶[emç½ç@ N`ŠŽ^?ï·¦­/‘W)¾ìÿ3=è$°Jw¤x’LÀ¨‹ZÊN³±Ž›>&œÛgNÓ""¶®tÓw×VÖ†ððZpQşϻۯ3îoÈ“Éä=étF?Íâ’ÓùãÃÞµ¡^±[ÒØ§üõßBq| Ç|WØ5¯Ø=lÐóÕKºó%Ý_!Üq’¡ÇÞ"^’ÕeÏZ—ØÎ3œû[ÿyçþ°”þa"ñ=XA!ޏ Yî|bŒªÚöm¬Ó˜³ý¥ ÑöW·ôØ¥ÝIšó­nXÁGW%½ÿ˜2¬õœí *¿ìAÐðÊÄø¸)ßÇî0Ñ  í§Þ2voœQ°$¾´èjt›© •’’*•ûÈœæh¦\ô¨ A9纅eÝ8ƒ<ÿóC4úEÕôØØÀ]¨ÕAQ11看‚cr`0;—·÷ÞÞÞñß5ó›_=ÌK½«¶ëž¾Ù{hee…Ø5ˆ0¢²ê÷7AÌ;«CŠ`poÿ.ж¶òrsK鵞}y·«Ñ×´Õ-"´´Gž\]]U‹•ŸF£Ñr|Ñeee35 +Î@Ýbª¶çvvw½ª¬Ý>üõÇ¢Ú»f€ú8¹¹aR¬¬&ÿ¹çä4’ú«µU'&^$]QբߦÁç¦7ŠWæ‰ÿß7œS=õ€/ õ%¿Ý1œ˜˜ Qª»¬ÑLÁ­â×c˜¤óûnB¡ï®ÿxQEQE‰ïÜ¢ðY˜™µ#•qØÈÈÈòrh›³mwwÓWƒVb˜œ¯,Çà8K ,Åk‡GDàñx6„½¯·×ÀÀÀ̯ŒaPTTÌ J?hŠE}áA¥-O,--ÍÌ.TœnK'<ËÐ  Hq†25Œ9Øi)1NQ£Ñ°O ûHý9º™ØûåÒŠíuuu‚´®–/_*¡¶†¾ßÜÜ´ªK¨»8ÙK¦R¢ôMâ{@xŒ÷8‹’É®FüYGFšÀ«/ëÑèxMe²e'/è¿Og Kl<¹Ö¦9¢»³Ï”ëMN]]F–éó\AŽº­9÷¾ähsÏð€~H„²²ÉcyËD¹çŠÌÞ‡‡SõAv >­Ä7@¢n_pm­CMz«7ÁqÚ¯ãa?*JƒÞ½;V©Y±ìîqÚÕ{™—àý4›}· žÎóx¨¶?d$‘î[ò öí¿|¤g†·(%—éµ7mkª¤ñ Oìaóò¾ ¯»#)ëT*Û½^ƒ[rØÂÂyËFKœœ¬2·ËØàì² …c/.ç}ÃM¬sp¨¡Óƒª«ýEE÷ÏCN}wVŽ•¸áÌ>sb¢ÊæÆR V†•uoSžÙ>6{Ô/ĺZź.™·4‹á;ûI¡®]\ÞJ£¤·qǯŽ)Osb––K÷ÍÏõ‡°uœ=[2À!è.*)yÒ±{´3¤¤cíӺЙ•šâþßÓJ,©DÖéÙ³§Íh¿ò †)ôCË©¸—dÎã&¿½AÌí¡²£«M}ÉŠò|Ñ@þgs"Ý%òè¾y3ŒþœU5‘ïô­ð÷'„©©©A¸ÝšúÑAä¿8°8[ù¬ü|cÓãýù!­C¤ƒÃ"@)™©©©º‰u¨gs訨¨’–uÝ»R$Bé::­Àû¯Yë½îE@}:ÄLÄ^,(1¬bw‰Ðä¿aff¦åä·k°€€7ie%ð÷NBBâøøØ¡ì3Z%Ðéô'=®èº>™™š2‘’j²Ç¦GDE™™›‘BÉê"ÖÏvfÑ_þÉ÷ïFPh×,ˆ–¹yÖ뫉 J¤LÔ;.\<Ä"lcÃZÅ×SA2Ã15ƒÑS}ûVtÏ‰šŽ–’jðI½~‰6£Ø{÷޾¼‘ÔÙ5708:_ÏkûðœQÌææêüòt×ÝÍÍÈõÙÅoÉú&äp{T+³{>øX¢¸BˆŠ:#¸P¶´œ÷¬¹¼Ü›.ÜÜÜrµßß`UPYézy²­ÿ^S\\üG«§–V¼ü¡¢ÓŸ‚3Pc:üܪÉP´Žî‡h¥]  äéc  ë&ç44Zf2:3£Ø‡ûHDN®íììÌ:äš®»Õs¹§§çàà •¼¯–®Æìí}¸±±ÑÓƒÁîîîÖÖ À®¿§êüçû¿~EÎ4#Ã(ÖdÉqˆÙí³êN½i£­Ý–Ÿ>[‰¬q¿ý@YäiW ¢!ƒ·‰dØ®r±ü>èkTTT4®±b•öȯªBÚÚ.a×\»…Á¶¥üšš‹ô¡ãÔ ¬íš7¢£/t©¹DúJ_QÖž„9´ê–k~ã u°ã».éÔ˜i6òíÜg>šÎ+M@½uj’Âû£BÍd_Ã=†6àää˜}¼¬ønçÅ^Zr2‰ÜÞݵ63›>Ì>¦uÔ4F==¶Ö¹­¹éÁ^}±£Á¶ 7ýCéÑf˘Ï1ó9ÓXÂ;r¤! ®pPUyĆÜ+Xä e¡×OÍHæÂAã¬^Þ1Mä8D<ézyÀ ˜M;Ф6ªSq%Ô‡‡´î÷.¤…/ÍòqQéa ƒú↠ÔTÑî)½ºŹ¨Ò¦L³1r‰F3ɦæ(AvÃtTiZ!«ã’[ÊxÊ:¥,|¡&j–-!/·TÀS´ú±Ã–ZžânïBžb 2Ä¢PÌåeilìöÅVJpŽøµ×‚*5‡)7Úyti™«ÈtЗÖŒFýJ£”ûðÍ)¬VÆ PêêXµ±<…/7=x±T!¬YyV‚Û~Cý‚©çädæ0-VKÇþ!òò9ý´í¥2ó!{ß~[úžù>ãAÇ‘à_ÕzŽ¥¤m²iŒØûâ]A qü»Ž¸ÃZN ;1ƒS4Ôä6ç±gCy”ŒeNŽèÍiNëSeeeåa/?yÍË`…Ž"yòdžƒ-õÓ5Kš·Œ‚ó¥où½ÞÏÚ¨s#ô8:¥c±hu+2áG—Ë8ZŽŠm„Îf#©0P¾}¨Ò©?þËï'ahEÐË;©Œ+Öe¢É<IJ+]ĺ¿~Ýžþø™mÅ•WÉò…§p¹8Igwj??·,‹ ¸|ÅüÇšWª‹í/× j7Ÿ3þx§r!è]|ãG G¥JÅŽ¨xvêÞo”« |$Y× ” >ÿ"œE`NL»f›`ÙK˜Ç´Ý@[n~aÿÌÃco¼ë ‘”»Ï}^5‡5X N„ò×0Ùà5§>ø?n?[‹O²q ‹{QkN~ôåG­6ì¿â´ÊŠÉ¢ÙEÞ^bs!dÑð°«ät·ÖÓí0ŒàÒ.—!ÁFœÏþ=„bj#K{(AÕ†IMt1ò¸ô#;$ïÎÙÎÔ4Êñx­¢žÈûá­>Š€‘éãuòýä$¢.žÍÝŒ¤Ê^tóàØ»î?#[y Šë[s5OÃ7dÑ­ðWL:X¾c$1ÖÑú@ìþýÉ/_„88`Éí[lzWJû´¢ÐÚ‰ 11]2ùùY^ŸÓˆ‰Æfä½àÕD9ŠÜÐÀàÙÙb”…ƒÞóÊúe5µõ½Å^ ¶Y´7朗A¶×œuúd«\||ÈÅf ¿þ{RvÅÙ……¼-iدöÁ?_ó†…†JHHüþý»u¨ðíÔ§üŒÀ  ç«’O¿ð=8 |o l£3))iddds¬d²®æ*å6D<‰„ƒ˜„¤¢ºZ[Cî¤#ˆl¿ »CùûGCISÓñõéºll9"-AX¸ê69 ô…<Oä–@„éÊÖÅñÖk^`j‡À2qÙ.@]—óû)çïfh˜×åðPQTÉñ—ÚL7¹lnnþ®šÂÚUU¢ˆžã­IoVºZ=#% ÃÂÊê¿;ÿUûüQe}Œ÷ÁÊ Ú{ݪ=À ‹âq]a %ã½F‘3;»ÉÁÐRááâ223ï̵el =ë{hAMˆ»¿¿ï0œ;×äÂ0iz_ÏÒê³™’‘ald”Oè^ÖÓÓ‹ŽŽ65553{~ÃÖ?÷IKöFsm{{{c£5ððiuÃi…°¸Ïñà÷E@G|Ù÷f±7*äxÂxqqñtgnY–$¯V/ÝN#]¨¬ªJ!`ïΤR@àuæƒïÖD…ñòÒR+yØ5uÕJ[{€Ó799H$ò«/=›M‘Ð)EÀe€ÁÌÌÍÑC=·]S ‰áeãX,ÈåÏñ@føUÖc–NBü}|ä}6’¢¢&MS™³ùHHHb333#H¾ÿî•£ZV§g„ŠŠí[úôI¥:ŒOˆQ0pŽû_ENee% ëkk ÌR1[B”¡“êÇïKJò‚Ó«žÿµ]ÔÜöJíáC/V&ÀꣴÔÔ8v¨¢°ð×¾¾`ND|ýcç•dƒ/·[¶¶¶ÐC…S|ãÀVÆ'&–——Ñä…*¶¶¶CÙ2½Úc~ŸšÚû¯}yp.À»™‰‰GŽ*-æ ˆÔPŽœÿÒ'"¿!WÛnö«:]¾¸˜˜%Y”–ž^VN®¤¤DNFÆ3'Â'ÀB¿fÝŠŒ„HIýW÷:??ÿcÁé~gæ`°#øô÷ö6pzlŒŒ¾ôC€¯/Ñ4¼¡aa5h[ggŒ/½ .®Kµ:%7W„’°u¨çÖÉIlˆâùÊkàô’âÉþ÷øŠCCqŒ'ÇJtfff¼sT¿Mña5ò ¾ïFJDäää´(§—^3½ƒpwrú1ù”°²^ÞÈÐpõçOJ†õ­-¬/}‚æ6›$’käwÞE³s0ItŸûp|8 n…`88 ‚™ÿ[”hà ʢU¤ýHA‚uH°l×{ë® !®Èyy{Ó±$ÒI¢!Ù ik§žN¬ÿÄÑ3ÔÒØÒ’˜@NL\^V¦çú¼] Çbà îÚÚÝ¥FlÂ3ß,Ê, Ÿ,--LXµw T¼+/×5&ðöŽc‰nó¿õ@‡¢¸øìÂE3ó¥öî:?}l‰æ›¥ååD/~_¤!Yõm±GJOyæƒ*:j@Ìà:wöòr#Çõ´‰ÑÑé®?áD4Ù99†gšÂYX~ooÓŦɑ}ç*ckUU¼H²à5«§OŸtà¯]¾[é80¯0ÆÕ“Ó®×Í'çÑBU•ós½ýPËÂÂB«kßÝÒ—1ýkõ˜Šb<Ûë ÌÌü&ºª*>¡ðŒÉX®ÂÀõͭ­Ý j7âtñZ¤©ÍöŽý–®SŒÜܵ-jzz~´„¸Á'¿Ñ‹= ¬r+ÙÉ/ŸŸ %á´PBæ¹À “³Ï`÷ßÓMØ…k·Mi 6˜ú††ë«+¸¾>Lè¡Q—©OÒdääúûúððñééé½rŠ'k놺*+¿LNÞ—”›šÊÜ’îx©EzÞä2™+ëûke𵬬¬…C ieýsªˆˆ©{÷¸¸¹÷¯‰q!Û4ÓÚÁRHçé|ð3öw&öi±|Í'gZ¸÷lÒÙÉÄÇiyÞ{(9òÉ­x¤/²wu?«¹]@¸VMdèÂ. ¬CâÈT´‹ŒàðÑ>ŽËô%¶8F†%Ð&ÍÐVv*;º³”hûìsAµzÎQí5¡…ûŒ.GðÑz -WGhàÚKÐ{~í­¯R&Ü=¡Ç#Ìb? >¿¹¸¾Yj¨.h:^èêE“˜Ø¯–9h6|$”Ìüp!ÌhÛ RŸi÷V|7ñÇ—…Wˆ×Їž3†ïÀõÿ¸‘\,M¬EÞ¤‘:qÎg%T¾?ɸËû)G¢¥ìT¬>ój²×ä˜ÉÀƒïË¿·é(Ê(&&vÆmWù ù¹òN²úx³þ“'+sQ qü F¦É³°3ÙgÌþ“ÙÃæb“Dq@N 0†ì™÷?¯àüŸþôêÔò´Ôp¶õåÌk*ßz­DUHžøh+Ÿ-”³ëŽßZ˜õ¸›ÍÛ¯vmp…æþn¦£[ üt3÷¬/¥i¿.ÎÏ›æª ¼¼@S ç‡>%©¬?ð‚‚M¹Ï&-Ú÷ñŸVG˜„>•‚9¸C©¢¦vyy  1%q€¡ª–ífqr€›Bb‚¥ýhï,5}ÑÞEN{s‘~°‘MÁ|v‚NŒØÑâ§ÿ‹B‹®Ço2×#ìÞ$áôXT^Üâ†öâã3Bhè$@Ž˜~)ÁVð­—š<’bb­þÞÞ 55Ö©g7ÏA(TwÈÍ!<„ÈëãÜÄjœªúu¬ *w¿1¾ð~“‹3<ÜÒÐ066¶5Eà{̪iÑæ…rܵòò{ÿžïý.SÎ\eLÙ€Ë=ü!OIÒÙbO‡bzßÕÃÃc`xØÝÕõ÷Y»Á‡Îæï§sþ!¾þj$ù®ÆÜµ.¤…Y÷Ýs¥=—V±"–@±¯®ªš{=ø$>ÞµôŠýU Ò|gꕸ]ÒÛ˜ G7Nh6¿   ?ÿoÉJÅÓ­_ÔyF]ƒ1_ÉþÜÜÇÁñX'oabGLb%F&'ý½¼˜¡óü¢3-%?¯ÎOJfçNㆽmÝÇM(ìÈ#Um•j˜MèÿíÇí [Ù›2n¶hˆxœµWWÛÚNè‚@èH -T)‘n¤KSú¡HUiÒEP A pˆªz"A¤„Ž¡HЕÐBýÆoÝ{ÏýwÏ3³g½kÖì·>ûÝñ&FzŒô<ô ˆÑ@_Û ˜Ÿ7–Žx /€w‰Æù®ž6èâ÷•ÛRœ1Ý6ÐÖ²x–½…3açiD‚8h<ê]Í$8ý¤!e²ïQt ðå ѹÒWÝ$®Òá—-nm)™ £• …«ß@ »rúiobwMhÞ~–ºfiÂýQs˜Üì~>û³:4rI»š}¶[ûáô’Ä5¾ÌÇ4tImËÜöo ¥¸¥ P´h±“n<^quú©L‚²ÿšº“÷L3¡/•“îÏׯë$3‹YHÔó^ 9ë§c¡rrËŸ©®U[KCè²³³©(´|}aµ{k£`0x`` µµUEEÅBD B¥¥|ë-5õu%¥¡¤ƒ~O#—ó¤Œ'.ØÃy™KÖÞB2ýþýûáê¸OŸ²·C× QfkÝÝúzz]]Qˆzs§®®®ä«·œ;éÝ–¼ºàKmÁEÏxœí=ksÛF’ßó+°JUboIÔà 8¶ª{së*'qbïæîSj^±! %kýuÏ ž$>eÑq¶î,’À!ð›A•¼n{ÃÎ,êüþy¨›zƒ@äŸþ>·ÒÉÁ ]Ú#%ƒ€ìí9'}‡yü=¹JÌ{_(Ÿ‰«i%ŠÐD—ÒŒö¦PR$§l»”õˆyÁyK¬é˜ÚÜGÀ¬Ø„ÄÒ£ˆV‰©ŠD䎄 ]¹4O(«Ÿ:åj"¿°'%;{ïªúEí Ì¢¢—u¢Žö7Ç1ÒROÖ—ˆQ†é‹LF¦‘&öL¹ˆ4û€ÈÿŸbÑÅ>6&¦5¡ÛCyS`f<Ü¡ êî‰È”"¡£KÌE:9ï´íÎÎÍñêäZ|Û'*Ö3>?ôÜaÙìÛŽOxæ¾3Ãü³ú¼ñt6ËJZJaFx9™hPËÇ8dàŸ¿]\Xÿ#g0<Y üyg ˜úŒ†~ÌÂP&„8¾íKF‰¸Ì÷¼Præ&Ì,¢~ î­LJÜ7ð!mz=†O7æ#0Ò³+à2ùNϼôö¯ÝXV–ÙôìªfúgrÒ?Ÿ%bÞ`ÙÝ×{rÏ‹VñK –Ö7êݿϟf%~~:RÁ‚Ð mIMlÇöx‡A˜ØïrJ¤Ø ¤ÍÒ˜ÇY®±y“¹3~y'g; »šËÙóKÀ{ŠêPQZ»ç¾C™ï8Ž/7r?I\'ð˜Ç‚ذvIrÈÝo0מ»/äD ÄwÛBØŽôálj`6MXàû^소Ê( ¥}P( Ï¥ ð}¾(Æ;Âá»[A€Ï•±il;Â÷$uíØg”‘8™{‡„Àsí ¾ß‚E6 W ÇsHÂJl[zq„‘€_v‚ÄM–Šã³Ù᥃)¤hÙ«†R›õ οÖ1Ä+î{N¨-xlGij¹¹‰QŸ!ãøÃfxé›÷mþ±#ŒÜ<ôd0'£ÐÄ áÿ!“0Ž1Œ†—02Õ‚ŽúFÃG1ž!ÅAìúÄô¤žKI Óù<ô™DPP1„†—Þ¢ý!ÅE(ý$ö(p CéG¡t¨FŽd!ß Ri^.((Ç( òø0Þ„fÖdQv©.Kgå†ð²â¬ªlbe³É†0jççÖ/ÿ¦yJg¥õwc3¾ rzŸIíÐŽ—¸.ã,¢RFvâQâzQxP©¿Á\(óp‡;J<0ÿ½ü˜¿l¶yn˜DA`G¡G˜O@)§Òq¥Ì’6=$ 6˜Ky†îA±jµîÿ®Ù5êþ{p'ð<‰eè;`Üø®+m?ö%¥°Bb g}Hðm0מxTÔ´µ@«@l(ðˆˆDLC!ì8U92vç@Ø`®ƒAŠíÈ(–Äg±ðì0`1圢8 „pPòx4Ç%·Î׬۫‹A^­x2’Î, Ê„3.lâ ‘„…¾}à!u½ð1Cgxí:]ØìÃÄÐ6ÒˆFÒAê3î…‹¼8ôFÜQ˜ˆÝhî@:¼öZ“Ò¼¨F¶†A ÁÇ!.¨öÀ.8÷<ÄæØüÄ‹…ë†G_Ÿáµ·4Í%èH1èöJD„s'¦ã~Ÿ», ‰ B†î¦üüò6-Êo&åwÖŠø.ÓñÀýÛßj°¾¹.¿{PƒbnÖ¥ã+›ÊƒÈó=Çžœ¬Mjƒ¬fv†»y7ñK%2»Öß=,x‡Á …ûvÀMBމ Û' 0 °ëÏs"7dQÈÀÄØSߨk¢Ã{Ÿ·—TÙSïË<]k{ ƒBŒÛ8ô8£!çÄÓã¡-¨ð7‚3Œöuåá}ÓfA{ÂT KŸQßÿy6¨³‚î´ýp7 lgýw;8 ¯}L‹—•M¨ËyìH’ÐÀ•X¶p=é„>ÝM\chl0מ†ÆMZ¤ÛšZ,”T/°ý ±+Ü I8I|×v˜Möe}l0×€¹>ªÛ5ÒUGø¶3Ö#ƉÏB;ØÎÜýÉDú`±í¹¯±¾L1½hõUû«ãð²îŒ_o°e Ëî²6¨¤A(#nÇ6Œ€ ð$`‘KÈ!±qƒ¹†œGj“½£Ø 'z„-PP&>g¥QƒˆD†i(í^¿ÈzúT„6CǧD‚"‡qì2þ 9• ÀmÏ!‘ûxa8¸ð. W(Q @?¡&5¢L„çÊ(f Ñø¾+A©µÐÝ0#ƒøÑn¶ÿCÞðÂH/Û ©&?9ÃqÝ".‰Hœ„žïK8q²€‡n8ꀆžK:Ql)¤åÝz©|kWÏ~«ÓgÛÙouípî›í$"Zà$íHQ ¦‰€ DÞncâ?<×¢±©¿@À޲¶€;D¹;h3¸<’‚î."aË$¡"8wC{owIÏfœë1Oÿ©~߀.HyáÐзYà²ØñˆmŠR/uT&M”Û`®M8äC9æýšN7€ðI“PI,l8<à¾p‰#8õá/ÿ )–Ãs=Øm´U€  s#êÖÉ$ €‡…Ü÷š—ºÁ\hêÇÍ0Î'$¶a" Ñ]Ã%±/b:!¨ÑA£ÑÌõ©—oÈä|yÄc2 6؈,Lh")MlN|îqï°`žëSƒ­%!6C;à2I’8ñ ‘TÛÌ2ðITHl0×ã€ß&ÂÕN\›Æ2ÖG<& óB?tIì9!0ðƒ ×á¹Ü6—¯Ôñc.ˆ+*EžøÌ&vÌ"½ÄÙíVÈðm0×§ßd3•8bDF¾—ıãÆÜH$"q?IxH¨m0×§†š¾íÖ‡Û1ŒÁúj¤Ús}?rØ™‘$Œ¸^Âàz,¶yJÐñln{Žÿxü+¢dÃk×™`Ú¼ÓÙõpRÇQìôæ>ª¶Òû—R‡ɳQ!Š¢Ø÷\;ˆ×g! c?¤çïæÝ–³ÅÔÚ±5¼Á[ÕÊAý0ìÝô[uQw’‰ŒCÉ#'¤‚?!„$’0ŒÜ„Réî—ýý0ùòÃ[À+šÃ^áw4EîÔp>óEuÙO}Lyry@@Ð{‚QÙÒI`!, ‘Íb6Ï^ð4ÙêpÉgpZò¼K?ʉZ”/üaé_ÞˆMslx /–ÂOEã<±£Ä‰Ã$rÁ¨Þ-i×ë}Û!ÞàÒ§€4õ=ŸM“œi ª¢C¼(² y,H"`vœ@Ì»¹ ÷¸ç¶H† i]ZÙ(a2_¸‘»L_0‚@Ùó]°çö"«U[D6 ¬—KØf½7Ø œ¤*w„»´ùyw@膊g<{öÙå•ÿð!2‡Óˆ}ZÊë,¿Ç3¿Êbw#éŽG‘ø0f %s˜Gõìf9Õ< Ó‘HÛÀó&¯zÓ;­‘ Ѧ`‡6 Bé8~@=á»<Ä›‘N~®Íðè|>¹{ æØbÒ„¾@KùgÍù÷¬›Á›&±C“ÅQ솶û1 8ˆ*ẞˆvL|`xïAÓë?ndÞ_~Ì…T_X—ø¹©F…HËôFžðÕ7ÕT´ÖÜV3Ïþ½fï±`Ž1oRÚ ‰‰ÂÀå‰+ôbÇŽyà†QDåŽ÷qâÃ{r æ{ÀŒ N]7㳈2ærWº'R¸ñnXzœ»”«’-W/Ò¢|ÿgþ!{›ÎäÚû”EIó²FÌö/r&V~?Ç¿7䬯ö¸'cG$±mcmhƒÒÏ@ ’`7¼|0¯/ç¼_}i¥”>µ”Ù'éd"¾³©²å7€ƒæžð¤#muõÍÙ =c_ý£N{Þ;Ï%0‚w%¿Ù>nÂcÇwˆ8$Œ€êbßv£Ð[ˉ÷N3~´YïÃûÖ@Þ ¡ûÜêØœƒ™[„…‚‰H ·À¦‚ÅãpÐäÝCvÇ”eË\ChR–ßÌR¥©ý·ró=L­£ˆ3éSÂcê¡«ŒQÕæÔOpÑ;ÞT~Ø/<­!ú®•þp ¥ŽËAg B;±X£G¹ãúÈácÏ‹`‹,ä Ì+ ]é;ŽŒ™ mÓÇ›n;¼ðiv#ANUvSw\ñÃe¯°'U ‚áªb§ò#(-€ Ö÷“…´à¬§9ŸÈÂÖb´PÛ‹l’ ‹©ÇÒ‚ë_ëûÁ#SÕœ_YoJkL «¼Íš§àXå´IÞ„¿a|¡¾ì$%Âçsëvœò±%dæœUŽ¥…f…úÃ@˺#ÂbRU»œÎUO/€þ 3_ð2˵v†ÇR³}ñ:ã âÂeªÀŸÎL­.4>QdzÅD̾-•VÂê§`h‰së›æÁzI("Xä8Ö¹•&Öf @•/¤‚Ew!pº­â§ËãŸÃV²úüÍ>”oN=4Ïew|„ˆÝYØh³°°ØB}¨®:1MÒ?îE%šúµ:¼TÞiŠãŽjŸl¸ €òƒü¸4$† ,Ex͘øœÖw+²HgR îYí Bª™ò8寴®•×3·þ+óÌzl0åt2¹ÓSe”}È&€…5²~*ÏìIQÈt1)Óù$Õ-õÈ(ŽŸÖè­a´¿Árerçš8–( Ñ­Æ®wyv“âe˜eøªæ[x¦évâÊn‹ ¶ðŠvD˜_1cR«’°€;NÉXÁ¹^v±8´‡;ÇoÕòq(>É@5$¬1ùI:® ~@BŒÆ­ÿ}ùhŸvÚPÌmP­ÑRý–U`ŽaE†"ƒ°».¤š“„IÅD¯ÿDq§:kŠÉ­¿h•ãšq88†ŠA% C~*K Ë±Òñï&¥-pªq.;i–¹1Õ_#UqŠl®»ˆ"ÖÎe)¥yîÈ‚qò»–X,LÃlJï +`€;€ è”ja;³úóT m=UBsLKæ£'×à?AÔÑjK­S0Z¤E-r[örÝsmj¶äÜ--æ¹,ŠdÑF+\°:ÔBþ¹@˜àûsxþœæ¹¦æu£7X³b€Š÷^Àé•5£{2(S±|÷¤3zºJXÓ 9æVûôëò*÷Å,ê–Þ+ͯ@Õøf†aî;¾˜hônkšxújÑx ŠÉbx¯PMW4ÓËP&"ݵŒ>lPX0ú¨zYóèÉ]½4\ëSz,‘bH‘ÐÅjÊ~Ÿá÷eŽ>çZYŠ™ta\3M‘ÉuÈ1½Qò uI„7œ¼ l'ÙZáB#›²9¶ÎET±ÏÿËšï!å fZb¨%BC€òSJM…wðŠ_pŠØá04(5íùÌ8vÞÚÇ¿~pïýh¶/%ÞÑ ¨tBÏŽ¨ïÊÐIÈ Š^4ÔÖ%µbÙ'Š=’0¯‹­÷ßq„M°„¯g»,¦nð â…nÃÙ~O‘âʘújgØ7–OÒ¶ÒU¬âjÇÉ+HÛ>«Ä¼|Gò¡])óêr|åL9¶¿å5œ[¡µe×ÚÌ\Ù4R'bµaÖM|ãW)X•aX½eÞ°”–S»Ô£•…ŽÁqïF2 "Bö,8ø•¥J‡ª^6Ž)µ¦†ßÏÑö16Pa²ÎvYö®ý„TÜ4ç©S…öá§‚Nü |Â]NC׳=0/!vz2Ù›ŸnP±à$ùiåùï³Ô~å‚}Ø+¼¾-Ÿ¬®ªlÀ(?™çùÁÙå¯-‡ªö£Vy¬Ô`Ó|ôæžHö]´SÐwP¿ÍeZ‘žV3;®Ìv°zÒDû„n©vÓV[%ãÞŸwÝ¿OUûgÕ‚aùÔL ƒżÊÑ­óË’ò±2ûG+îd5>¤`D“F|nV®Ç®Ò«U+8>A³³ûî¶’þ¡ŒçÊóXÔNE¡^i»¸AGŸ£Ò}ÓNŠœ¬r_ÁÚ£Ç8¾Æ¾Ãý±ž~ûk-’µ<›n­çzLÈÀaun» ã‚3×Rb›õ}õÜáÂ('Ê—Áˆî3eS(e7^l˜ë‰ðÒÃ1Ê*¯cp¨N£@ûí†Ê ^Œ¬êµé»–¼Û41EÚ¶ÓÕã)ºZפ>¯)9\Ææ4ÑW§Ú¬Bà=’yþ¢(Üʺ‰1Ó§–6ˆ!-„Ö0ߥ[/lÔt_=I¤®|my¥üD]ëiUy—<4§C!ežŠ$Tf\•‚Q£q1¦:&¤lfÂÐùGi×ÉÕKiÙ<^§h’'ÍO*íB{š}-C÷|g»]‰Ý­ßïÖ¹ƒ´DþüXÖ!ÖPmÃîð1º\½ùat•°¡ðÞ`Õ~À¢qh®LV/Ö,R‰ñò¶\®ùBŸ?ìºÎ­9ľ?/ÑdÃ=´BStóðþ ÔÞVk˜-…Òü‰O50ZA’vÎÕ)'‹>ùm€-!~ ¶a &haužL5ª#棧•ñŸÙ­¼Á Ñ&-nršÔÅñ:)Ð㨮L¢‡Ê P¿wRئt¦Ò't Uw4Ž~Íî°ÜøðÇó/OñY²} ½~ ¦/7‰ø|n,¿âìi+ É\!°~kßìR¼eŠ«G!aQ`ÅI"UZ"˜³˜3KÁ¦:[ú‰]”ûÙ³ò!=5Ž^´Ù„&¸ ÀŒ³Åõ¸h7Æq‹}I>¦³´˜*¾ÖI¶¥ sZšlî!õóÓðy ó²T2ÝL¥Ye1v"@j阌u›¢žQ•MWæ#W,½¹öP(Ðïy»%d¶ãÃziG—Ói”=™U/9W1¤R°§†î?Ò®† F5®¢O:ËCÞ¤Ù¢èƒðø¶Æ Þ> n01¬›ž¹½D@YAD8wb0.#×ó¹Ëš¸4¶©}ªí—·iQ~3)¿LˆÝ¤ˆªõÍ5Œ´$ › ôçÀHgU§x}2Ãa¥`@¶ÛÀ5k_–šáí:8Ö mÏ÷Xƒ¼ P6 HD}jKB˜‡¡¨zy즨&¡ TÆ„í“Xµ…ãyNä†, Ã>¬ó6ömïœ\ýçNÓCõz×Ðs• ò…šIÍTWÓ²õSVå¹)jª´ÉcÌ#êòîþå ¥´r¢LRÑh%“ª.2MnÑ•Z©•ŸWHa<«êW£SvæhnÓ¨iŽÎ¥†ew½²ø“"ÆÚn4äœ8ÀExh *¼À€—D5ÜK sÁÓäRÑ7Öª¨îÐ.¾­]Ž=æ,Ìãp±!èÀ¬¨ñ™6i‚à›Û•§ sE©Å>Õ-Wૺæ{•HÖ˜¤&‰¶SÝæ¤0¡gT¥/GTQtuõOOØ”UîOµëRÝRÒ5 Q¤¹ä`Uë ·inMuÁG• )1UT{‘›ÛÞúžîVmÝ` ¤HÜCu[ª†ÃÓ/<ö~;<úçÉcõ¿5ªßîúH¹ëñÆ÷cºõRŽÆs½†ãV:öÉóÛÓ¶¼9HˆXúŒúüϳ… F¸G\âº~HO•ߪ"øKÅ|uDWœW¥é@ Sé[i‘¶´ŽHµ¦¶s±œí³}¶¹²±Açè“$£6­¾ºMéÏ0°°Ëµç‡5-ªåÕ1(ªm$3·@&h ef Z-¿V•MgîÿÔi![öQ9@FK©y61jH]Ò¯NÌQ;Ã\ý–+û¶)Bú¾¹Ì­4?‘¡-›¤¥*Åf"53ei·Õ»ia£´'Ô4M‚ú„q'°½Ú.ó}›¹4p|7ôb/6«1I@?#»®®Ñhuö¶ªVõÚ©/?ÓvõÅÇžE¹ç%„`Êú„ ×) @Í”¡'ÏÕÒ冂Û\ß®©ršrG5^–u½—/bááÅBÝ­ÍäJÖuxiSB£•ŠÙÜ'4,¢_£g‘«Ä´V™Ò‡ªÌ¼JbXZ﫹ø)îþ-•7ÆKÅkîbžow[ákïãxzDìH†2#7pl— WDwzÜð&•·ó,×PÊMåÓºæóñ#GƒEˆð®öx4 i”æÇänHÒÍ¢LÓ)©·cÝ#é|õ•HS^´Ì®¯utû&y6mpE#ÔbÖ)DÖúØémØùÔ=FÚB/݃Ñ/….“Lw´m{ïÜ8Ü1X——Ö1ñ@J³ëúÚk~¤ûâ¨]O0±K}îB³<ýHO5m.µ>´¤* Åt‘Ù©Èè¶w&ÑX‘O(ð#l‰³´0 ]©/ cóä©)kCg:™TÜä xa»IM}SµÕaÅXhu÷V׋ ¬º«Æªž;Uqµ‚DóŠMBTÉ[]ƒ¢ÝšNñ1DQÓ‹J*fFê¢Õ2H=‰~²)Š®2.«ÚBC±Ý2…^«;9ØObQö¡ÒoTÒaýëUªÉÑRo#ãí4é•Úá9»˜-t¥âÊ•Ë@Ó¼É0Õ‘03ÀÔ Ñ¾eSÒ¥-:Öe 4ÛݤÞÂÈÂÈõ3&ä§n»÷ã…xZ· —tèP7Ñ(`ö£2$P”>UàP‰a¦JÂyGÖgz(4 ñ•³Ð Ÿ£ÚwgFSº Äêb9<Ü“F³ìV8œIôj­>?ÐýóíÓñ;°Ø“ âuz"Hdó$äT„¹ŒÅ.¥DÆö~áý}NnW·=óÌiÆ=º´³ÏÄúª¼•†jAß[• ¶‘²¼^D"ÊbÇg„¸Ä÷Hä;^Àc‡:>¶ëÕò^N&:ñbÐôC6¼Úøëš}•Hÿ1ÅPS´Ãõë«CÂè žJ]xz®E¢6 º Ápbsü­4DS5¨ÉJlzÔP:eù´}ÃÀÃJ'é{ *HࡣܷyÀjܘÂvIÄŒûH'.8u=ØX( ( ,ærWº'R¸ñɺ«›þõ=ù”åû?óÙ[lB»ÿ…’}zØqåŸÞq}€€ñ9lC™Wéó}Ü¡ðÃ*?¤˜Æ¤¤KÕ–½øsA±Ís»1{÷ÚAd\O•ÞêJÖ¡".máãšP1úVZu‹Çr2oüH=®ñTÛ9T¯ oCuJã­Oý¡kd(^­ª¸ågw¯hK ,¥‡að Ý’¨9•- äKjsŠI¯`Ì8DFHÙ’ûL ¿ÛO§~¹Çkq›-ÁxL•ÀÙe{Ü“±#’ضñ–RhG.uK°¸0Mëýž%͆gù¼$gf˜Ó·#§®‹²Ÿ¼ÄyñÒm×m_¤øµ:…/âò¡Ò´Ÿ9_ºw¢HR»{MèÎmÜš^”ˆlÿªƒ£MÙŸRêXcï¨ë^•¿¸Š¯‡{ólŒëÊ÷ŠG¿ç*5N;R”«´~‘e¹¨Ú¨Ît'y¾Ü1ð.[è²¶X…nã—à·˜â|U±Xõ3ö‡ŸUovœPR…$˜ûœÎô¸ÇÞp«™£îDn§ëGT¾ ?§³tº˜*—lÅìÍÄ(Íâ·€*u´·ôçB+0ÿ•y6²ž|_»ïû˜`¦»°G¤©ñZátSOP°G(˜q{Â“Ž´i(„íùIj/Ü“íBqœjº¿å»“*¤öש¯ÔÉ`ìñKC ϸĪ8iÙªoaÊí4ý\ißU¾hs?tuU:Ë…Z‹Yú'ˆýBc‰Š¹ª¸½ŽÍvŒ?n—Þ©R;ªÝ˜:>Oª„Œ™ÎXh5ßU76áÕ ¦òÏ[×Á”Âé«M2Îku™T€*ÛÅ15ý ðÕUû “å­¹5ÖÚÄäq`ø¹HÚ¤˜ÿkI˜ZœŠ4ó/±Ð5•§ü_­b` ϧ½¼¼ÛÜXݬUëÔ²ºÿ‘¥÷féa•Izyήfòöù%»R²äqÒ‰jßY·jÕiYc †rj½HUØË³¹ÌÂM¿o_àJ}ÎñyÊ©íËеaýX$Ô§´÷mÿÏþTbúøu”NBz›ýn.»­d÷V5DÉm é=mï:%³CA-ÌjzïÉ]•\ÉuÓÉûê¾Ù¬N³S#1ál% cÚÑœéó|}<{ª,du† ß”ôÕ(‚ _².rXe¥Š: Ò¤pã1›%Â(~ëÖÅÚt˜×5“(ÉAïÀ×Oÿ7yã•0ëÞ#Û"ÑÊEõ)‚»qÀ¼ˆKW²D s T/9ùžŽ-~ðú·it¿gð¶FбÇèìU4]3ƒÔ4›Á/™4œätüžë{|ý\cõ.lU›:^‰Öy®O+ÀT t·"mF4ŽžOm;Š"øÀ# J‘O}ïTI»*ÇÝ%mõéXEiÔà=½j·‚4ýê_ˆtw}G@25ü@?“•\T7 æÕf::_Õ|œ€f"î,“%ÐÌTËâZ+SYå`Ë,”¸ ÞE5÷¸Z+T—oÀz‘ÛãS"C»ÌƒÿBN¥$‰í9$r¿Ý¡=µêŒ~z´Å#܃1×1oÀbÏ(z˜*]´)pZŸÎZšC­Q{ÿ¶¥”ÞKԢ܊d†kîœ&ɬVAÛU²X •3\Å#½wvì®â=É¢UJÚ: Óe|… Ú©;¦/aUv—)É%¤ªö—«Æµ•©9èc8M:_!»Î’ÏÒ³vô¦.ÏIã&¢ VQÕH yØø]Z6h»ø^×Ô3޲*¼…À\LJS_ArôÅ4ù¤«.™j»´Ë8Þ¬¼•H×®ôIUC–ßè¸øZWôÒY8À´JU“¢ŠCaÝ}«¼J†z— dj|õ*gÌd•³ [­tm(,îQéè¦*îŠ:˨3‡ªfÑ/‘wU &®„6­ia«bâw«<¬ßnWoo—ggù÷œx¯'嚣?ïfL¯¾Óúm[š"„…‚‰HÇ‹¥l*X »ãžºÑÉæG®Ð«4;Ô¨­ÿ85³G\ }ŸÌ¸_ [âg,vS?= “Ëîsê'H6Œã²+Œz×:(uë=Cî˜Ý¶Ø2~§/îgÕõºÄkM@7bW)þ­"D—_1¡î¢ýÊŠ óyŸêçt¤A…O&º®V:•«üûLû²þ¢#‡Œ¶[ÕÓ™.Ò/LîtFËÊï#pÌ¢KslÀþ[&Çp” šSaÒ6h%ãZ·HNh—º.zÎ&òFNª€R5}u¾*Z§%nÛN:XHÿpdÐPÏ9½n*<7«Ò4§é`œNü²´ŸuûV‡»Ð]_:5š3EpKséŸ.jª: ×IÚ¼Ââ±jïëûKB Ty+¯Tw[…ï;ÝÊ C—G±„vb' Tx”;®ÏÇ!OÜ“mо:ºõî9¥æcܛ뺛JÑä‹^±R¯¸'ŸUq’5 YM>&”Zs©À`Û•8~3Étž$!vN렂 í/^¼1‹Öœ_]Õ{ټÿcÚq X"ÕD,V!×…ÌÌy¾»»Û™ÈuA^ÍéèèPÈ웚:9%“,¬tt^v»º®‰õ^\gFÃÉùsĵ5 >ÝÐõéS…)þ%ÜÉÃÃãÎJëÕßcfjjŠ@àààp•ËúlB‡¼&™ncžò¹ê«– 9Ä dÚ],ðñcM:´ZrR”3Ñ!bÿ¾žžÞº×5ô‡èì½Yaà›ÁÛ‡Ó‰²­ïߨA•”:^1îmçë%7øÍmci)-'Çï§èåWp]ÙvÀg´P¿{NDCÐÖw F(ñMÍŸ€®Þ ª««ë›¾kD¦~ÆçÃÒ•,ƒéf§Òz¬œíuv]PÐQ×Á£(S¬ÈH.8Ue‹ä¤ºÌ ú°ÔJ7ƒë¦_´‹Iq*Ñ Œb›Ïy…”Ô¼„h¥ûÈêÁ‡Û3YYY6Ý_…õY¯ª?4†h‡÷ª­Ð11­Èbq™¢Ž¾f¦š\ñObMžüzŸ›+:´f})±LMø°‚…—¸ö‘¸_u¿íGAóǦåc²òò^•H„iˆ¾—™ÔÄxX•ˆ}ðI÷„Ãübú»<'$s«~JÆ‘p?Tø7màeì¹f÷,,ê†.T ‡=ðøDf*¬c!¨dï•íÙDA¥¥—¤”Ÿæ² C»‰µuò‹Ãé% öowÑ&ÛÐ\¥Ùµïõ¶2µ¦ùB Ñ` KËupaá=?~¤´ŒÏû³pïØ zúõ2bVm¢-†öÎþ~p-e¨ü]YåÅ ¨ÍI—©B<·u9w?ÎIcï‰Ç{—”y¿V°>•¼cÚ[+gk\|bSeÙpšŸï¡dÑü±RÍQ»²ÒŽÐ%noëÒ-¯®Þw73¨È£†]íÊÕ˜ÜÁqµ UüÍÈD[Ö“²óÚ•7ç#žG< ÿ$Cß4«-ê"ûQ»#*! A*-ýB3)Ö*;EŠÆŸLC8f9›À{RÐöôÂÆÖQvêd4Éœ¨›Å–Oè™àû‘¸>Mk-Òã dŠÅžìoŒsI[Ë)(À™Ge‹Ì­­‰;;;›››[[gxY\Jò\QÊ ¡wc{;’Ô`¸ÔÙ$&ô{£¥€@ò>•ö¥_œ2¶ÖÖ@¡ü®‹ååû––n»ŸRXkYl„]Eë#§?>qHÿ6—‡Ž‹‹ƒc2²³?ù¯…‡«) ¶øÔXÎ†í´ È<³’³‘I·FV¨!ÌÖø/““dà`ÖxmAH†šß¾KUyÎöÚÚTé½™Šî³¡2¡‘:Ø·oߦKY‰‰‰YZZ*P*4Þë]úõL5>“]ÎήµºZ %x^÷ÿ+Rhi‡^+ NLH J\ƒB ¾Ì3(‡…†¤IêÊ7$\a×Dþáî¾Ê¬q áãã»zµ\ÀD\9gPVBâ /¯¹dzŠƒBMMHú5ydÐIuS¤í !D8õ öföìGš±¶0‹Ê=lllì_7ýŒŒŒì›zFGÓ<üýG+?ê:UYξ“yÐz´˜8$••Iÿíû¡uæ—JÕG¦¥%ó©ä {}ÑÁæ$i)Yc„²ýJÉüqÓt{{ûýRKWWWSáT"iPèñ}}~Åø.O·?Z“¾îe†=„÷ E%$$t_ F¿ÃBüe[;<< °¹¹ùÞ•C„sU@hüë×OžL6ø<°°`'ÔDžzihàRRR"N® vyn ¶uu75‘“nÎæý••±VñîÝ»ùydzü>5­ßEÄ.‡W53).1|ºw£åm©]nQ>КÌEž”çå-¶ESêîVóÜBhJdff~rÈËÛ»¯·7oN[^^ZUÚ£32€&¼Ýé»D\\„©Äkœ))+OLM…íM§jÑoNOOÿ(ºPÑИÉÌE]´èæ‡Î³±±U>lR¸CžX`ƒ°³³sq¡RSµÒ[§qQßë½J*®{}N ‘§³-a‰œ2 II×ÅÿøãÃ@èª`cf6RíÒ´9ñk³vP ÍÈáð_¿¹:ZdYªq4ƒ²öçB‡E¢¦ þ½{G?1(×mjô`÷ÉÅódõã••ƒyÅÀž­­-áÔîÎÎ΃nI™X!ý»wÃÎÉ«¢¬=”›á,F††5~mâ¦±, î*ãÎèããÓ‰ãpb(//wrrÒ¥áf«òQiáö§c`PŒä™lyvÈj¥ÅPÿ’ƒåÝy…1Yàh 2Ð1Ò®€;¾ø?ãÑO¾èÁ\&#øh2>,_½šKPXPAAABBâ$2®¦f¦eÅݪ}¨)F­‰–Ö·Âæ’¶5b{¾ Î&^–ù¸¯êƒ)¥ñôµxÉÈññ†rdzØíñãþHôbýWp ºÌ4®W G££ƒ«ƒ‹KccãG×äœ7ÄÂBp*á"ODKƒy§S‰äfy‰‘±±ÝVÇ˵ß8¯ÑæB]i}tt§(s1YŠ«©µmÃ;qŽEEÖ–óñax]JÞg¤›Xg£B (XG zíìní,ýV'lðèÉR£¶Û5žn›óìÌÌóíå¼7ÈXF 8(P<äcÛµÿðþf»ÛõÐ$¶ÛÕ™D¸6ù1[v¶wƒŠªzüàÕšŸŽ¨šÀsí þí½‚¾»‚±ú+ëÍ'‹êͶ[rrr2d¼eó'‚³”‹å?¼>´ÜŸ¥ÑÝ–²q×]mZZˆ4Vi‰Ñ ‰óÄzz²´nG6DMes#|.›Mç8[Ñ eÖ˜Þ¸wH§Òá~¼I8?dN}ðrÎ-ÕÊ2£eŠ6Vµзï¼Õp£ãuÂúÎ7Ûm+‹5[-ÇV¦ZøÖ‚…ˆâ7º|ÞžÃÝ®¶\îOÆ'ÇÓG_%×MÁöã7¾ÔäLAÓ”êÝßq#v ;p8â7¡²qHêà\þ…Ü Ömgpg Ó ®¦‡Ç%Òïܪ·|;¥öüZS$3M·¹io¿ žI­T¥ÖxXÚ{=¨Ã¾¦¥Šö˺¿$Ìo?°YêÖ¨±éí-ÉkññšŽÂÛÜØÄ! ‚®7+°P¶^iìâÌ¡ .ÛY3Z¾– ¨4õ»ŸG[ù Ä•ã±'Ðj’ÉæqaÉÝÁ½]¯0[(±}\ÂÅÉüóR­ä„‰Žª«ô f³Wä’À ¬ ¤ø°Éź#7]ƒçã«Ùä2Ná¿Ø@i»è†Ç/QÂjBÄBF.)Oýàq¸ ¾~÷ .ŠõDåò9 XN’*xA[=…öX}7Îd7!GËâqx5îËL¦ž-GÏÊ*Q%wÂZçØÚ=”ìܺù€_®4ÿÜö;•9{6-xªS)/(MÊDøâüÙ~wÓ Üæv±°;2K<÷")ùŒ9ÔÉJÜdBJJBFæéÞf¥EqÙÚµ´Ò'@b’’ÂÔèrn:6ùd`NÅÀ„ 8YëþØõÊlºÚà°š¢ IHãå-Í_Ä»y8'†×üÔnÀýã4@4tŽè"Þ l2«‚Ÿ/Ðb4¦æðé÷f2³ÜÒB‘Vbˆ¥$ãæ9|ÿÂÖí¡eéþ§ÛÊ“tÐz-à¡:®Ó@'ráI бápŸR†å.›¶ÀÅÞ¼ëçYGðëÅïÅv­ÉöXß°töÐx°4ٴٺ@Eýi*Å+ ©j´\gÿ±A¾:‰ºXY›½L½… sý¶ÿóãM¥<‘.Ÿslÿ64CŒ"…nU8CE==NBÁI)^¡2¦\FŽÄ„ ãK®åD¹Û½XE÷°Û^pøw[ÔÇ­`000Ýv‡ó]Ó„ì—rÁ„T]³‘;>^pÍ %?Ñ6CCÃ|·§*<m¸Üµ\KZ¦?iêL_{]¼tZ-¿,iåy»Èi¨¨î®f';›™/{Àc#Êî–"Çé¾¼ 3TU¬J}άd5tt6¾L¶-ø‚/‘F´ ®@u žÆë>B°—©LùÆ”µ?zKÁ¤¤¤[¼í­®‚Ü7ÅBªº?“‹§sWZ,@µ,_Í„JA´]kp™‡Ã¾•q‰.k›²*Éæ©óî÷èÿ /«‰LŠ4j«¹®ùÅg·r<ÎhÜÄõØd³Ü99¾áˆ êÁUÿÐÞÀf±=ÚafJ§ý© XÈži9LüN?NI!9¿9S ë•-gƒå‚Ã0°'ŠRÒžè2üôӰ£aÔ:ÈAö"÷žjûM}]eIaÓåläw+]ý^å蟱T(èÕ;<8ˆ×'_ý£X…f²÷ݨðÈšФOF¿çT¿$ªm¾ü•½ùq7ã Ì\3DªŒ—•íëþûñAurͰ[@²÷¶´®%Ãïv9ÁÐ_­gþS߀pÁ~éIŸÔòÔßUNÐK`ÛÙ!µh¿?·º×ŠÚâ ÎW÷”Ë?=?ß=XÙ_(õÉÓ0 3wû©è~ßš(«“UDG…Oå¶ßM’z™šéÙ1õŽx!Ë_/Á“÷¯ôú0´¯¾°S©5f0h-í};Œ,Ùzm½D„´5.Àh²$C$É‚ ÃlÕr6¨ —‡Ô ëbi~£<²ù§ˆa+nê8åÓÈùVbq/pëŸÊæ<’b`ŠQJ a_cÑYðQÏöåü\Í7½ª*'3î[MWQ4§\G<ƒõülÕòlyŽt¯ê? rÖûõ>1Ó;‰¶ž}šÈ³ (K+o8åo=Bèà¸7 ï ƒŽ/L@q/<ø‰ì½%Ë ]Äú¦6ŠêdI¦2,=rü<]Eá]€}|fñ¬›uP“=ÃQáË·'v:˜aþŽ•I¿~ýâ7›Ôñs$$Ÿwœuü;’)oÛåãm¹³z¯_³?TÒ%š¹ÕLÙïå‘UàsGl†”AáË5—Äí9ª¢–‘û.í¨Ê´ÖÍ÷t4»kHuþªMEÕöIg@¶lrì·!o¦~Öa˜I–›mjÿšî³±d S˜êžâkè$ÄLÑú¹i¬îϳ†Á&Çöb•ÞçŸùé{ 4Žã‚.¿<™ˆ¦–<üØ™†€²‘kû©™Xhi$“jmå·çÂ÷±©„`C$Y¥¡½°z"ŽžŠœŠ~ú)÷ò›Ô|~©×,Êɤ‰`V%òk6m d¬17æQ‡æ¹yC´cù÷¬hÆtú@é¯7â …œØ¦s9 ×Tª©*ÇŽÇ­ÿ¢CGÆeFn<”FÛj˜ äEx§3ÂË>ëb"ç‚vÉ¡bˆó·ìZ,ŒöÏ”dNjÀAÔ“7]ÎvèÆ¢UQOS¦ú:¥Ž`¨~òidz{‹ê ÝŸ$`Qѧ*+ šÖÞf)=MtòÀv¶ÁÏM^Æ)Ÿ Þ ÐÄTmbd÷êN£x/y^\¸ˆ0ˤV’³}XiiûÅ`Üär[èüI¨J=ÆÇ+@-º&þª€$Zé›ÉÐÐÒº8;¦ÕºZ¯OÑ%I•s‚ýIÖÄ $¤O7‰«`?ךôýúûžÓ¡5ñ^o½wTdS®^Yz³}v0ÎÃ,î¥2s“Â긙Ùì9I¥M.=†û«.+PÄÒ–Œä[Ü!d*Wµ‹ßqÎú+ߨf M·«“ݤÎýp|8Õû“q×DÄ.q1­š[aO@\yÆ 1q»§j´°vçY¡…¹æñµþšÓ›…Aä`™§E« œ•P ÁПéZDmˆE™ü“ ž”ÖFv»«íÓ‘R¨§‹Í‚¼Þ+¾‘HKB–GØmÚDõjýÇOQüÃDõƒZÎŒœœ«ƒ=ç»ú€pºE-ó3üb7ý˜¿¯éF¿R4%݃Z²ŸíÙMsˆ9oü á§pwT<™Æ¸3"7VCWW×{´É)°ËÂkp‹®LiñO/‡ãËÆò/Ú?Z#º²-ãE9Â\³ð^~x"\c!¡)­îC{wYö½¿{¯ÉÊñmQòãÇ—g­ûѲ1\n¬Þ«À”b½”A¹]l̶VC\ dà_KØ} ÎÎÎþ{ÆYåÁ“ã‚\^à« +ãH;3’ƒÌMg*‚ŠËïhI¨J κ›Ó鵿âRˆ+¡¬ ‹³~þ÷r ê»90'Óî'ȸü…l#tFhPBÄ}»÷ûAÉ=,)fpeê¢9Š.D¿ÓÊ"U™€žŒûÑEºmwS±˜¬pÿÔ¬–ȯƒwÍ´8’Ñúã)ç·Fmt!šøþÂ.Ru}?»Y­7+ÃCc+RÉ·ðwÆù¼à\ Vux(¥á)Uœg¨µ5í=b*AS¢\ÈüÞôÝ£O¹aK4‹Z˜ˆâÝé`*Ùõ}ã+]\c²¶‡ûïC¤E*ªOd>¿Ï®hÜE*s,¦×£ôôÕÖÖÖoK18 o˜ÛSö±0û 2š­‘°°¤ã"ò·‚{{'u­ÿ)ÐSkcAÚ\ý¢dÝ÷]œ¬-ΰ¸gp­óÀ@ÿÑT°î‹‹CäöÂ&‹|…N/2œŸ³ÍUR°Ò& ;Jca£¢¡™û½W.­*X •Ë‹`}f"[ ž‘|$çz§‰ù-}¤D¢¼mÁ2ïE²ÆÒöóõѪLU0H619¹¸ïÄ5»v¦UÖÚšì(EÁf(è›ßV¤µ8>;ó΀µf©É¹ªR^ ’ÕÐÒ¢ú™¬‚R®—z6;£6/û_,?[‰]W½°`Ó¶ê®Ç!ÂO^î0¦üÊYHJ•@âÉj×lÕŠJ˜Ï?¬ÆÚª¹áQpÁ¬|ywwßæÒßâ@A‘§¥Ìù>|•) ^]¸Ýdù¡Uò™ì:kÃâh‰S|ûORoO¾6áxbŒîâ»ÓœÂvËB—ª¤žíV:3;D¦î£– x2%ù$†ß€3@JšÈ°¤$¼IYþG$F‡PS‘inx¥¸£÷Ú òV'„âÈThŽ·Éßòó *hôÙãÃÃR«äDZ ýåçëKSš"•qr¢Á‡«n³Åjo.°ÖRV®/ñ'ÏFƒJ¿l5žNÎ2°îÍmï Œº"åI1Cà²Ý6šµGËUH›žŸ¡â~IHœm¦çÀ‘JöñÏðê[PÁÀ$äàpŸxžþh^ìô÷”rm Œñ¥ ºB¬$|áÄù©*©¥´—ÕKmüÛ¸4åžtá!æïu,£q^Y™n\˜Íq¬…âÓñ:š¦üÅeVn?!äPé¦i·‹Cò/ qµÉ¡~^mñ°úƆ†©Ü°rj&æÒ%xhOKLXwÿùâüâbM …¬ÌÑì:Žª«Ÿ â)—‘® ¢²}& ”PNKbÒØZ,Û¦ ÈÒ]i…•¨Ø‘ƒ‘‡…ú*Ðɱõ«„!ÍÎ ‘buø}Øï ÷F÷SQsÇ ­dÈ”…•;KòÒ„àXøÀW×Ì}³õŒ¡¸âANôÎÊþBþ-‰6 U˜0WGúlÙÞΡ+gäoÒÉ;Ó7Üæ£N=ýDÛw è™ßØùéÇ~_ì‘Ó«ÞÚ´I ùŒKí Y q»¤²¬ÕÆQÚÄ™û@i;hhZ¯ËÓ¾Öp½¸IFP¿5Ô¤à&´Ÿ"OuºL\7ÄZë§ÇFƒ¤Ho¤££ÓCÏ}Ûü_²qÇÍ€JX÷,ãyÿÀ?,ݶ%ް ¿d<£æÿ&ÐÁclEt(W¬]çM]íô¥ð—˜m5^V;®M¥"¶Ò¦õ{[?žå&æI]CýhhÀó´œãöz;˶´–¤A©–›NÉUÏÍ1‘öæ†)›0‘ê}EÞÄsÀaà£é|\Ï/]l£S&–( έ1‘ ÿƒ«Êؽy©Xš\ÊÙvR³ÝõãàR­5^±b™–ÄójC^8>ܨŠàËp~¿;ŽŒªÏ‘1Ô/!ÆVÉ nIà`LÍÛ/¡¦­Aá}ι˜³$Z>ßT/BÑJ}"ÑÖ‰4ìÌÀ2µºÓÞ³²ýiFÿ›Ç6ïŠR6}m$ÛÇ]s«¿?Ù½p§‹b`úlLß9˜í /v³ K4´Vò\e³ë´Žè_Ð×àh»ðì#”ëA*¿ÍnäÕ†­u§.±®d“&ã’û´X”µM‡ù!S[(Þ]¬*Ç wMÅÈofON˜HX‹\†k€¡ëgô¶J¨¿ Í›')%P·uårb¶Ô•Z~¾± ß©­²*3áS7âáoæªV‰÷jÆÑÞ²™ñu:óeN Uu:/áM¼Ÿæo?M¨ÃÖ5ø>¯Ç# Ä¬v5ü²s'ÚÆÅ0;=v°ƒð^êÛpÜï2ö! @S\27I€½Oí¢ÖŽì¯áß ¢~AŠØ9A-?¦>†6œ àÐæTW4(~$kÒÇ¿K…ñ~Ní%û#½Õ‰\\x¤²JaAö/:PøÅdh P›†¥Á P2§&‘P(]äYÃÓ²1xBZ ŸqFt™ãÔæÉ| מĺѽ2«HgX:Ï¥jæö[‰ \œócz[P¬,öó0t jØŸ‰-+™d‰'ªº ã”;÷˜ÿ¯ ‘~qÞöŽ &7âhõÒQùŸU?þƒ$Vɧ¥%NñR 4‡£î6æl “|"/Ų„£ñ‹jôs–>~ókÒ ñ{ÆåZ‚x{ìI–ôŠbÓ+ùS©0AúÓ N SX—Þ>»Ç#°;¥Ÿ¤†Cq¦üŸ¼~RUl :Ë“$>_ÆÏ•î-y‹è&S.¸#$é*±µ²¶c›%òâ¯çø’…qÊÿðâÅ[YC”Vì蛸[õ¢í]—™›’?k°Éí8âp9kmb.=ìu=äZê )NÇ·vùjÂT£—•¨>QÄj@ÄÜ=5¸·¦ÕôÏçj•ÕëA ó4X>~Ôj£»:Ô§ZO-šðwWHè2§Væ§ äµ‹™…ròË‚u¯:|?oB²“ùÂ*¿=œÿ?‘„*pVš‘¾Sác`[j­âô“â;Õ¢»–ÖfÌöuò‚Ïny²ÔMw;EÃNyÇ÷aÎm<¤¶ŽÌ=Þé2+;Ú.Ô!èÒíÚŸÒ=Šd˜$ç“mjõÛݼÝä×û‰‘‡‰MÎçœwIvôÞA1ûö|ÖÔ|·ö> SÑ=³xú[: Ðws¨lÖ#5ëèxÖ G±dJNÔœJ]B‚™-ÙgûšJÅ*?¾»X®%ÕÌ¿×zr³åî©­¼NÌ¿ãçR AáoùÁ`¿S½½XFk÷ú‰_¶ó™BÈÏjèéééôfÚl$WËy—”’\”³ïw¿ZÈëvµí#ÐgGHÏšÐô‘¸.øž(lp=Ù§MÛï6:Ò{*0ëcíÚEþ¡$a)!Ï¿çÃþoæhÒ·Õ镊)”ÛñG Rd÷äÈi¾xRAQ1_Ku$ v(!D¡’[¶1#T@Lj©ÿ\¾X.ý|”Å#c0Øjõ–ï°w\ú„³îè;70zvö¸Ã=s÷Sˆ,±Õ¾÷wÿù´mp‘obb¼×SÝ×&ó÷f‡ö`<àíJ2X4ØñÛIoÆ›¸Y‡Ý5+E ,w&^ø`*ØšmÝmë½ûd,îˆ{tr¬ÛaÍn)·þ?€v* “Œ”ùráKñ ØÎHµ¿¸8\ÎTtuuËBTÐ=XÃú9[¾fÚ4ÛùsòóKñä¯C‚ÉŸÿñÏqX±d 3m.çúž·šÏ8þI@~7ê}ÕlGÀå˜8;šä_% 7ïÞo´7ï:²Û.’»û(bÞ¨±éË?ÚÚôúÖ„ù  ô{gÛf5|…ªÜ!zw«hŒõBv&:±9»\­û¯3âîïÎÊÕ«šþ7ëæiAFwÿV“Ûl2^Ÿò¼uþ„9hæ¤"%&îŸ5|â/§½4IÔò/´w¾o ®‰¢N­úö—WÜy¢W×gŽ®×»5iuÜg¡ì èkˆ§ãyOW Ì‹ÜÁf0àõéšßèdDtŸmÄ£PVjô¶”šÌ®Ýyבדáì±'B§Y4µ¸Õý úmøŒ ÇäiV>5[Å6Eî6O9Ùc0,øþó69ÞòÛ%Ô¢–ùXIªÜʃô_èØ›Uûvщ³¢ºz·ç‹Ö°.MFÚL6 ÞŽG8©fi±ß I_ßRˆrii â ?ƒÛuSRøþyé^»?›Û)gÐHµ³Á[9W2Ïëé*qH>ýå|)ÇÛ÷—XJ0¯O£ëД4:½•¥¥Re!Z‰(ƒ×ÒE/ÄFKš>MÁôàìë÷ß =NýçY²ŸVƒ¹`cÊZþg:bÏo°HO¯§LF{ÆŒÁi1÷s°îÊvÏ—ŒÈH˜E-ËhO !@$:íéjáÓP¤9þ'O0D—ƒéÇa¤ºV£¥è¿èDWbÏéxG§çÜ㮼Ð@ý˜ñR.¿W¾Ëù’ŠUéÏŸ ódçåÎáææý¢’ F4,Í[¦“ÉŽåtYí'WWrß‚Šñ–ƒ•Ô*u6罌è·/6ÊR‹JÃx:ðN¸[™±ÿ€Ìd #TçÉ?8«Î/JÐÐwšÐ=p‹ÑQ¯¿?3bA…µô817üÛ¹æÈÖfi]iùŽÜ®»Â _MÀ­Nç U¬JÀ²²²ttµä±냯[Ü…è}öçŠh#¯X´¸ZÓ…ÏA_‹·(jÉ>öÞ÷JÕb{O%¯“–§ke%w>Ý< M–²µÝdedJÐ(„Ï>x =öö÷½°'SEÛ³0aÁýßqbÚRÒF­9†Wü[ÝT§ËÝRjêæîŽaW¶Šcl¸W.<™[îÞÌ!'gcKÊØàa[3îíwW ß•\Dùþ­N騋sæ]¢?´úÎ6Ø•Ïzšé·?vy­ö®ûq´.ÂÃ-vàE@˜w{Üo….×ý.&p‡Ür3âà%]s-¤‘Ï̩נúq¥Çé’šéø²XÝWwAÄÉe³P¿> Ô´tgòè˜CC‘ƒk †ó¥ótÈžïvù>â CëÊ‚-]X’WP).#¡ݳM¬&&Ç=t’úï•”)ÑÊýe)ñ꣗”|±¹8Q’ài«ÆäÉoÄɰûaÏî¾™ÛN.›öÐÍéÄß…ápŽvqih"RÉ’>?#ƒÑ# “I† Èá%ÎÇ[©q8}H6îô»”¨åȈØA‡i¢åyxÕLÐ>??_>—æßKHÏÂa±‘jláÊÜDVPM\éÄxûÌVã‡ÝÆâ=ë¯ú-»-d¼g—ÍyEö,÷óiž­ñú¢äýùs½@À뙂w»V¢­ª27g%„ƒ1¢ ÄeÁÚØPPK›I±Yët;-Çð/ζVÈ“/bY(ôíãëxúõŠÇ¾o6٬ץ“*¨ÇBà!€ƒ/@WpcåAu÷~¯adò™$$ÏÌËï¶Çæ²Y¹(_œo;kÊAšµÖ!uL/È÷Né c‡ã©Ç¯ŸÓ½“¶s{ŠÑ° ¥)÷N?.ð»\>­"ɰ٭뚊ªƒz¦¿ç£P¾ý[Ìef³5Ö³×ôe ŠY;ƒ‘,7»­k-GnR¿õ”K\n×?Z18³3\¦eP©ãÙÌ^r‘©{4S;KÈv9Ý_NzQg¡ïY.õ®²×Íî+þ³†„ôæ¾½òZÈ)äLLŽKYéá”×aòø;¼5 ™óyà ÒjZSé¼êvY·™<céõ**'©ZTþl†˜‚‚‚VËÕxfF¹ŸÆmå%Ÿ`ü#íì×ò¶Ýï¶#ÁPÈÅ29s%ŠÄe¨£ôK8¤õ3[ OeµÿÉp{^|pSþô\AÓ ümðšô(iÝøÇk¹ ¶gÛ Þ%çëÜf;‚{--&åô=oVrв.¦wã¦n9£@Ýï§5„&ËíÅ6rñb^„P@Î8ý[{zÔ5¯Dº€)v”•ÑW×þ¯ço|ŒMÓQëcž¤ EƒKâvGoñºkA!JàpíƒdW}>Wñ {<Ö÷œÃiøÝ8qxêWxL6…#X,>³1^^D6ûL“œêg3ôí[Sú`ý ,ý#B…ÙŽYĽ'l @…цBíÒŸfÎz© J´… ™¶"ß.€A@ðäËŵ°âÿÚûÔ~N#Ì N}Yž†ÌêÉ~—R²TÖ>qª=„ÐÁríXè'TÿŽÄ•‘50Š­$$€ÒÉŽèŒç`Î.Þ­°kåM‰, €ÀB'®ìÞBâVsŽ璅꯱)×7­UnÒ8Çò+ð°¬T·ª£ÛÿºKÕ€ZöëŽØœFõ/U±ü€„—H€YÈ/çÏr‘>Õj‚Ck÷!ñtÜö~¶³Úš~çäo2ˆoÅ7Ñ&L~ß鹯#gæJS ==£¹>ï;9ë_¦Ñq˜J»Ñ;Ð_OÙ¹ÙÒNžkûyž¥5YüÞXcàÓÞ1ám)ÉÏC .|íoCÌbÐ;oð3vY)3Üa]V6ßôX¬@½È)[¹×§„½{–˜nÜÃ~½ ¡Lt%!î¨åĆdª áR)ç¯{sš-œÞðmÄž ÚPúžgˆ‘‰žäïl@š$Ë=ÿ¥ ¨Žl_|Àd‘»µÒ(Ö­ëЉvù±æ½x®.ý§×作UÞŒÞe, Z—Š9©Æ _½ lßÖtºqgûeÜœð7v^·c.•W‡¸¿ö}×\þ'> (9žÜJö+vG ®î¢&Mt+Ĭøÿ˺›•J©î2—¬²TZ™ÿKMÛÊØË•¡X1ª?޾ñð‰ qTÒîÞf‹Gé¨v\’»ïE|2²š¶½ä“Æ—˜‡VÄë çÛeJ-ÜÿWxb=_ó$üÜ­ƒ'Cµ¾£ ¾…ËxÉÐb˜A0ðá*á`'›»/± â˜0 ZUõWÉÑ‹r”Õ쉠0\BIè½ÖZO+Díи†-Z@£•PÙ#úŒ£°üU—¸/d‚îÎ<¨AßÂIaÙŒäOf†&ˆÿWàt¿~úÿ‘ؽ MÓûÎ6£6é.ÃË–Ûœ“Æ…±œ¸Z4| ':ec*‡áuýÐÙ{½uÕ†ö¬µV,ŠBeŠ,„‹Šˆ/êvNkÖFÀ/ækiˆkõjðèp¾¶Ž§âfÔî²…IÏx z»á$XÔU^wbÉ%eŒìsfÎBꬄb1žsîsÙ廉Lâé¶·Óêí~ŒpþÏæx'»{©Y µÃR-ï Bp÷…œÓ™]‡ý¶‘åÈw¦4ˆß3£¥—AówuÌŸ2¡Š»÷øÿP /Rq¡ISÞ‘oN5·ê< [ñuÿ’+ða;]_Ȩ„¹Øú6ÃƆj¯M 2uM9o”,Ã&üu²Â`PÚaà‘¤¡O†¯…ÖlŸªR”&m^¼‹Ë Ñâñ—ØFkh+)YðW$s÷·{šQp}~¨)mî7ÖÕe°¹¬MfrÛÆØÍÚÂÕ Ø<Ž®t]êò®½ÒzíQƒø•®³¶ÕËÑ¦ÝøXkŸÏúE»‡ð³TùN2ÿµ»2¾žµ ”zú¨)ÛÑ ¯Ö xmWÖ–7>– £‡Êuyâ¶ß^U󚯖ƒŽz ¨ £}mÎä‹{>|Œ¯žjŒ_ÕØƒÍLYQ„vbµ§Z7˜„a$*$¸¿"––êÛ(@qï»H-iÀàº+²}%û'€ƒÕˆÑ™Ü·$ù+ªÁ‚ífpb6ÂhÑOOO›í¶»<·> ,V«Cµ­³ nÄx68¥Aì!al,|õËiúqñœ~Söa+ËeèA¹u+ü*DùlL|\DW6Ïí'7nµv{“²ínç[^ònnn¢¢ƒeìŠ^I)þå°àá5Ɉ±©aŠÔ«´r¹CQ˜-î?rrnó…!¾îB>îB4€Hªb{Zp¬€7«/³Ú]P0µ÷¯ßÔ¯~kJHHh8H¯+)?ͯ £±°1º4”ï€ì%y 7ù°Àbé³Tg®TQ ¾´œ”\”g¥QoV*xdr@Ö)íóÆDGF´+ëní-c„¬mfv¬6UEGG/%…B:Hä`\ôD <‹±.—×î{iÍÁƒnÿÂë N5b¬%I˜¢ØPp/‚1n @lÓ×FLNNÎÂÂBò]XžÇ ˜°eþ4ÿmgPfg0Wß”_šðý¯Ê‰§S¸<óXÕ©Ów}ì‚V“÷¨>à½ÏÇëx8¨hˆŠJª˜Hºˆ:Èj˜ø¾Z€•µ‘urr"'ÿÖ·2+;ûòò²UómNSsfq°Ë'㇖ž^§=Ôb¾ Ÿ°ñàèˆì[7²ÿRÒ.y)ï/>BRRRZR8ØÐ„ºßL™ýjË*Äýi%÷xÙoTÉ*I+8hÝh’ [œ$]ØÆ¶‡ÄHϤHzá4”ô*ªÊŒŒŒl¬ìÌÿ^ŒìÌÌ̬¬¬ßU¬¬•ûhd‡æ–Dtð¸\;çuœ´ZI…qccTã¢"´Ø *¿+ÿ•Ë›G}àÿéctTÔðÁ½ŽŽŽ ™¬‘lV¼Üéã[w¢x QÑñÃ.ÏŃ3Õyaˆj êo¨cinÎp¸{€@CÛk"Ô¾1¾•_)%…Ê{™ÜFV±=0DÄŠz¹®\)|õrŒ‹ އpvÆáƒ55 -t½¥2|3ßµ -¿Úohøs4€\ÞÀF–»Æ’N81|AE§3" ¥¤¼¿G@r-øæçÏ÷;%eAD{ç÷DU¾½à#âµµ4>\z½üˆ†›+\õÞÿìŠûÿ:A˜Ä¹@ôî]?gâû›ÃyÞëI),”U/yŒ-}{Y!«~I™Ö—¯›F÷7†Ù§!ìÅKZtQä±Ý|„hÑè’y¶äB¶Ë›ñwd" Sèɦ¦Il¿ ¥äÑk|ÊÑ¿š¯¡ÎsäOb‰‚;ø#.eM¥$˜Â. ¶¨H$ïêO¡Ñɘ$ÝØ8O`)IF~’ˆgn "Ýi ÏƒR¾´¼×Uóy°<2KRŠKf³™žô_#9F ¶¾ÊöG‹®Ê§n¼ÆH2J-„øhÉF½ëñ< üi¢‰²£F‘¯%•„¶²E˜*FÕëàà9SLö•¦£½é?uæÄ»bìÿ#â£k#ËN,­ ê:QÐ7eB>CݵßZ†_¯êgÊDµPIx(-p CŸþýä·OÿDµI‚kò¥ç¢Ìr_D7àŽé™Ž¾—ÅNFªD¨"ìÁ¼™ûþ+1EþˆüpÒÁÄ50U®5Ää?e¢)ƒT"õÅ[€»0 ׂ]€XG “ä üc…Ég­ YÆUIë¤Ô UÄ@˜$Ÿ=‚íàÛ~T™Z*ŸxiAª`îjµïÅ«KŒ4]dÎI}’ø…ÅØÆ‰dG$Ѓ’&†Ò‘Óʼn²ê|@Ë,ÃáWѺ~Äu5ˆËiW\i½²œÃ‘àMë*³4öƉ¯Ô Êù1ô=¼³° /ÿçúÿ{Êõ¿V¡ÂEàð]$EåDª„ ÿúù¨ˆ ¢¢öoì@;Íxœ…»”dAÓ6XmcÚ¶mÛ¶­iÛ6¦m{zÚ¶mÛ¶Ý=íî¿ç}¿÷ü»çìfUݺ•÷ddDœÌ¬|žˆ W‡ƒÆ‚p’"JÍ÷ý$ð÷u³Sú߈“¤ $$äú®üÎ÷O({ M'~àß(™ HŠª¸g]f» œâåʶ* 1€Ej¦øÿ.p·Ë}Pælnnzºgç„IAQýò'Øl­š¸Žú™v|¿|q1À¼í–ã±íqœ}Í ‘ çÂPŠ& |_/œjdŽ<7£k#„…‘/+!,ÌØeaNÊF78Cö'?ÃRF±Å \¡VA#¥² m», Xo"¤‹±dei##‘t÷2îOJ"èiwÃ`-»R]þ|Göû OBHH _o!F–.‰Ü÷3P`6¡áÁãp‡˜¼ßBX[÷.uF¼Š;³ÐÐäå)üU¦ø³¿„Xb…|ç.!!‰VÓ<\®è1!¢ƒÅVEýx],Lñ3 ØØèÊ:=û9‘%B¡¨;üvßßd£Q_4€†€ïé,WÏ“‰ØÚÚ:::åNôÈÁàVÙÛ…Q(áÐÉÑéqôpÑAÒÁ3˳ˆˆÖÊ  ðâb»å…“úÕ³³3hhè±±±h,V&FFFffåg »¹j!däs ii *!ŠÌÓÿŠ´Œ¥Z´1ÄÈA‡ððp¥îNy) )9)ÏÜ´´´ Õ3ìS¬ô3j ê’ÒòTÖŸMÀ‘…å†9&3B“bóqƒ¦””ÔhèÉ`}qäkek­ÞÉYOÁi4tT? D mÕ|ŤԴ¤B‹RBkkkKÃÃ[[CÒK[ÓÓÓ¿{LNNîêâ[4Ì£ ÊðX-Lb¡ ¨Óë´ø˜Ô¬20ˆDNü€­Öë„þðpð00ÑÞÆæ¿íÌ˪ÍþXý¶1ø]l·!±­±<£¢¯ØjŠª.ÞLkl¡®óÜšnÁ™N¹j!‰™NÉ©YÚŠ9ª)y[ *ÈÑäììâêâèèêèXWW÷º[ðçEŽ‚PÒ½ͯÎjñ¹V/ÇÆ¤¬Dýê߸ˆÏ.a:«sqõË›÷ïj1ù)› ëMNªÊúU¤¢S&^^ªG¾y™gÓOÖ¸髳?ꫪ3«ù«³ª¾ËE5¢>³j˜Zψà —z¹´àwðÏn,†S¼ÂïE _‘Þ?á4zžlÊÅç‘Ú÷Ï$›ZïÉ5¬ˆ\Ydœõw÷½-¿/nDy“‰[=ŠÚÝ¿ô—5ÎDIJ6¾ÓÃüh>o<™N‹šÔ‚ë^ç¹µ¨p €@þùËÅ…õ?b Ãó½³ÞŸï®Åp.9#׺¸0Ëgëb¦¾j{¦fT±¬î×Õ|2!åÝ™¹ZÕ·³9½D¼:»z?§yƬæS†ØY©Í}ë¸þw ¯º.3Ú¾ò³˜PQ®y¡Ê®Óááê5ÖEg%eQ †è/ÆÒ`êoLíWâéYú»{ñln!«]­¾U°Äo¾y9»zmå8fZ«€?fE6­áL,§=åȲ¾±š=Ê1:k‘¨ð-‡{œ!x~.J1p£//gýyùÝ´9Õwðg™ÕVoñŒ\—db¥EiuF~a¶ÓB¯~H ¾Â_f“k«*ÙòBÿ=Ssþþ;Ì6fÓë3‹%,èÕ™}fÍ+1!38ÅîKÍ;ðÓ™Er Eݥˑ€D˜¥ÂSÖ”L€~¬$ã÷üŠx] bUc‚T¨RoL .ܳ…CxM+ ĬƱԴ$¶¼:û8Ñ¿Z”TBJ˜ÀµÍàÊjD¬Y^Ô#½7$¹hp;çŽë;vˆ\¿*qU?‘;¸ú4ý%ýcy¼$·ø UÐÿƒ1«åe8Þyxî8Á¹çH0ŒZ:SËw5Läõå‚!Âoe÷fepÖW/kãæÕŒL_¹ðyì¾ôyõˆˆ¤fË”Ÿ¿¬9þ_Ù›æF€¾ NÛ>ÒÐOB‡…„±Ô hèˆ8p|WxzÍ[ DZã¾°h³ë1|ºÑ2ž]™ íïÔÌKoÿÚu]Lή*~&òÅóé_Ý ÖÜyGR°g÷Œ>¯`þ÷ˆRŠGt¾‘ïþ}˜4­ñóó`º^E çv”7ô¨àÔµ©Ç‰`Ì·Ý ˜íÒá‹Ráñ&s!Nüò^Lw:z5Ó——€÷Åšª¶vŸ¤\" ˆC¼0±íØ \áÄ©“¸AØì»ß`®=w_‰\òÂ÷[B!HCFYÀ¢ÐK O)‘ùqÊ|/u … æ’RÎ=W ¯È÷S$7 úw¾Ã×w„±íÇ]Fì4ŠýÄóDl§ž…À3!(Ý­Üð\_ pÎ(—l¸?æ( s®Ä®›RpêS7Ú p7EÆLÆ‡× Z“¼~HÁ(ðB[%“Ùw@†È±'ÜT0ßlÏ"Ep5DÂ\?£Ôä±fxݘ]ú´#€M=Æ‘ãø<ˆ}aûAÂi‰p™Çv»r áu€~”¨…Ì~—YÁ‰ÚP™ú® ëp“ˆD ñxOÏXì8@²+P‡× @ý(‰ÓaŠo¨Qà;"à‰ÅŒ8®bµyêQ¸p;âÝ€š•õœ€P_€à,Ž Þá(‰ã£¨êþ…Fíö}§‹ê4À"½7¿S$UŠsë—ÿ2# ÿ]k¶¯ìMÙµˆÔNìz¶çQFc"Dì¤>±=îØAùîð\Èwq‡;rO–g³ÅëÏYõ+Àf+>êEi†Nù6 l?‰ÊõÊÕ\Ø¡³»Xˆ æ@ÌÛËÕîÕ–=¸ø'ND¸¶ T9AB`;¶8냊ÿÃsí‰GUs·¶‚ëqÄvú6yB"Î$…U¹"ñR÷ àð\‚ØNŽ÷a4á¾…4圤,òC„Ä ÿ[²E}»ÁÚ¾Y 1H«%MÆ«3ÈÈ8‹‚´6îØ®¦Â¦QÀ£(@D<ÿñë+ 3¼v >lö!bh¸iLbá¹$(󣘂N!6ër—ùnwî@:¼öFÔW´¨A¶–@ Z¥l‹Ä' *‡ Ô Äæ$ƒÔO¸çí*;= |†×ÞQ…– #…už†$ŒmÆÜ„„”‰å]†$õ€ÉÝ„Ÿ_~ʪú¯yýݽâ1õ¾P.Éý»ßª+`ýõºþî@= Š™^—ò mÊb?ði’øNÚ€àvhÇ$ ðjê$QÄ â×’eö¬¾{XðƒA1÷í€ ªåN`£q€8Üõ}7ö"G”ÉžòÆîXûÞû¬»$£O}¨KP?•>…ž” !MO"ŸQ1f»pz,r8á~èÅp†ñnh¼/ò>”‡÷MÚí c-D"Jþç; Îrj3ßFm1ˆvÓÀv–·ƒÓðÚǤz}0P96ñK\a§$ô„O7¡Ã=_¸Q@v“#×(̵§¢q“UÙ¶ª„ ¢:Aډǽ0M™žãRÇÞ—ôõ °Á\êú —qW']ãœÜNYy”¤œû ;3äw*R€¶c‹}•õÆÀ¾‹ýªûÕqhYÆo7ز‚eY›T01sÆŽl‚‡ð$¤±gÛ‡ÄÆ æô^á&Žb/<ÌÕ[  HÏF}Bâ$ÃYâÅ~ÊCØSh»‰# ±á¹ö¤`dZgð-©¶µ– M8g^R?fÂ4åÌöÑ6è§G9[¼Nà Íì?†®7ŠY1蔢6·9 ¹Ë…²Ç1|`±€{À4BÀ"D†ioÚ½v‘õ÷S^´Aº±ÂI”$õῈ Üñ];Þͱ÷ 0\x†+„(  ¢$5$ ¾'â„‚Dž¡Ö ŒIS;ˆwÓýâê /€ôºKšë'¦8ΠYijc;I#?„O‰hÈ"/ ]eÀG‹?à /É%YÊò¬¾[Ïã/¥míêà!{Mo7d¯‰ä؆DÆŽˆøILáb.á ü†qàP’mn0× ±©½@À®nŠš”RüÒ™‚ šì3‡¹.qý$"` ƒ½¢&êéÜ`®Ç:1å‹€;â7ÁèrÓMDú0¶“€¥)µ=?eaÀ)M.æX!‡F¯° ¯]Y©á ߌÉôzØ€}šÔÍP4iUÀ‘Ä ûçž—8IÛvÈS;L\"¨-bÇh+¢ññ/ÃëÇàïaÑí=É0²¿½±ú L,? 2àPÄ¡kÛNB\×aLß ¢Ôvc€¤ìj4ŸŠŽ¼6¸òkQ£ƒ…3ÁÛm-Ëý~+J÷­’æ$m?·VþÄ«ùGTßJ—áfÊWDÑï&(a4¢È§qć‚rCâìå]cŽ·ˆ%\÷Ь‰ ÜŒË=Œ‰ A©#qR;±y…K§vä'®“°Ð‹â˜ˆÝ| ñá=p±ó}`æS.B—ÆÄM™ãyarFil{B쇥:êö!À6¸ ¥W¾Ï>‹\®JAS^Õ/ïø¦îUΈçÃuˆxè0#¥ó„3[p/Ù bÇ ž^å`\=ϪúÃåÇbI¦ìÆP÷%Êî/]y²u ocVãø œ%.OÐÇA×yäÄ^JAnuâqÃxxõ(]X¨Ž|ý‡V_JC(Ó,Ïÿu a=°½šùÜ®pd¸«Ò,$³}Cku¨ËðÞY)€t¾ß(àe(¦ÈKYânÛ®Ù ^8^ù1æÉÞ¡6Òexß Èqœ[=ò<è­±iÄ)…íú‰à¡C8MB×e ûxñެGäþË^›¡ ´a 蓮”mÿkÌ]“š3*b³„aäÃ*TN R\ôŽÙ Ûá…g Dßw‚A´ÄõHÙaä¤N kô s½€¥®kû,õOšå"h‡Ž ¨«‚Bö‹t9zÔÊ …O|?†-Ò$MÎáîŠÀuEBEäð„<^ûðÂ'Åð ^v-©ÌJ1Ñp¨ Ãó p¹Cü€L¡®O=Ç|×’ÝâYâ /\š&Žd“Ð@Î FòŽÏú|S‹¡N…b落Êï&”ıcÛ±ï¬!-†¡¿ÏÅÄ( X¨ªÌ¸ÐßÝãþ¦ñ˜˜ÒAÒÑ×Ô’„ÆîÕ[ù…àÖ[Q±2›)q ~è—HŸk {þ/nRÐh©4Q6!ײîRS>¨k&–•‚dašÅo/ª¹@H–iŸA‚İþ‘Ï…Å™`#,+Y.* èŒi@†¯Š<ã•eS¿6 #]ÑI—½™]YïjkL*«¾-Ú§àŒÅÄxoá/˯¤Wþ=·nÇ[\¤¸:…?)ðTV‘Êot#ŸÙÕoY=L Ø9“\®ïXÕwÅÜš; ¾¦²RV­CÈŒiKÕ|;·Äèz„Ø¡ÄQX¿,n –(ÐƽA\.çè2Q¢)â¤ùâmÁæˆò¤ƒ k\ÙÃ%‚¤+»ƒVš(ž-};+‹º5Òð¿%G&^°æWü½l?àG¾ôl·üÖ‹nÅ1y…û/_=[ñ¥Ø(™`%½{‰ç6a¼÷Ì£ÖŽ¨Þß…†Êk¾°þþwŠ>5k*¥N¿u^°3y=ÞHŒËªð ÏH"5à\…· mÏÈKæ¢j®æb“€È— h…oñ"bY.ëvàöˆNrÛ]Û‹7t=× ã€Q¸-!š¸Kz ~ñ&ÄFXktÿ¦WCîÄ{MÓx¯·@õ J©|9TGY Wnî…ª²ª/ Ù}ÑÇx|¼ý€ø)q Z âYž#Î+…€è›oØæ–¹ªRÖe@s\6¯aÏÐ[’ƒà?,Kï@8Ûb±pßEê„.L×;ò“ a‘:<æ>sòâ…ú÷B_® L¡•Š%53-ÉõD¯í~‹{íŠÉ¬àâŠÖ³û‡Þ„&Iès›Û^;.wD”pá‚SA]FÓæÈ_k¿”Ò¨.J‘ä]¬‹=•õ¡ û´x¾/^ˆêà Žÿ5¾(pËÕ-N,},ú¿Ö¹5yÞ ¼Ù##ϸ×Ó$Ϫäc ϸEžñ¯uä¹cÊùJ OŒ@oE6¾è=ôv6Ç­ ô¥·&Ð ¤9µBf4D¹KŒÕ¯9ú6HÛUÌ"u7‘(‡P9;q*[kE¥-Öë‰ñ}»”Ã}wgWÃ~Ý6p­»_Fò‹o¡­b¹íF´F1ŸWÖK$KWöËKùïªÁ†¶µrëÙ/þ¡ØÇÜØj@¼âÞ(7 Ü9Ì×Yºr+¾mb=^^âWúŸÎ$ ެ{eã ø¥1Âß=˜—† tIYH|2öÉgµ´'§¢îŒ`ÇuÃþ»—G%ÚÉ•M­F6ªþ ÙTš§‹©)6¶Ãw›H`c’hÒÝ:‰hIÊ;a`òL‰ ¿ü–ñkQ'SVÍ`UkËFËx¦3 *Åeð·Ñh´lø¯æeJ˜Ð4ð+E=/§jÌ ht¤Jm£eK¹Dx©ñúIÉHBqd½K;qá"“àϦºf ZÉ?z8VÌs>ý[¶(¸¢œ©äçÖöO‚Ô’hÛ?ÌKëÜÊRk 1 *çB¢¿8ÝNºåñÏa+EsþzÒy š©¸5DAº&+´²è\~'][½ŸîEÉÚ:‚­°€’ÁqG«¨I?À ùQ|^]·–¼xí˜øœ²§™k‘M+¼-¸g¹ƒD ¤qÒÏb]K—LiýW”…õ È`ÆH¦Äý±È dü”n£“º!“y^g³wK*¼óLTU:2†À¡Vâ9ÂߘÃÀóg þÞ5v—U#7X³$€’ö^ÀéÕ ¡{6ÈS±oÿ&Sr-Ã4³&Ÿ%rJ‚M¬îé7µ|¥¦­uKîÎ¥äW¡èt³Àh£Ï;6Ïzw%M<}¹h<Id1þ ’ÅïÑ+'â½9^!~uÒ ­`l„¢æuC ó»f]¸Ðç20¢Æë‚7o9_}­?ø}ÝÇ¡cãι’¼•¤$}7“¢BrLn$3CA Ç.€»ÍÉ&š±DhS1ÊêÖÐÎÿÕv4$X–mÁLKÔ´Fhp|ŒmoÈ{‘»É›‡¡@ t¹êΧÇÖ§zh?ƒîÞ9cm!á¦!nä; à <‰17ÁB¬ È<ëjÙR=Þ_´—U[ï5äërÇÆ:оãÑ„xaÈÂ4Jm? ©¢÷äU\ñ³&jm¸ÅIšÁ–]2Ðà8án!¼Û»é—áÒ8´efÊž3ʱ--oáÜ*%‡Hµ¸‘cfR›*¶ ³~L^žÍJiiIûoé7,)ß4ù¨ÑÍQ8nn?ÀĂd¤'óÐp °od4ü~&]PJû©tð.ËÞµ£ÃP¨ï¡Ú#4QŒûSnsfaŠ=F"Ïw|R?µ0òEº71Ý ÍISU§ON—ËÓÀ·Ð/\³-Ýlýª_Ò8­´¡ý_|#mÉ m7QÊË RêÚ=Ð&çÞh‚Š”Jç¯54È%®kÂÆÒ¸7Z…{Ýf)G£¹ZŠ^CqŒ}òôö´5o"% ÿóî$œÚÌ·=Ûó‚èd³Ëd/†%š9&Õë¯dóK‘ÍevRh)Ñ =[.Á‡Ey&û$9-ÕÃu¨—ªäÒ„PÁú¡„¬pС٢:ý Z½¥a_)Á—g3@B·)v&]çaï»Á¾ºÙ»tSùÎh))™vBbI-@+t¾7i‹^Ú®µO_åÑåç¦Ha2|+k=Ò–’‰.ºk}í£}¶J7nù~’—ð¨Ýæï»Ýºõût,ì’ÿ°ªe{k™9yk;5˜tH^€Zº†Ïòk¦êa6Epÿ_²eo›D´ÔÊÔQ¹Cš*fM`ŽÜÆú¨°BÓßÚº‹tÙ))OY* tÙ4«eõ)í©™JMsÓŽk;ÞÕVHJO(=h2’† lÊÜÐñ#âx4ê‘Ð ¼ÈOüD¯Fý ɵI£Qâì­)ùdúe&Ÿt Î=ö(ÊÅÒ,¿Šf˜!8$/õÆU6Àth”zNDìÄLùÂõ]X-Yîk¹M=áb§ÉwTNùh ]|e ÏtºŒ0±’MéQÒ& wB1Û|BM"‹“ÌK˜Ö©ÌøP%I€V tK«}µ)€_"÷o©¢+¦¯ÉÅ<ß.[á[’íchzl;±ˆD Jnè:ác,7Ò£†7™¸¥‚R©‹=6enï9¬¾bJ˜FÛ‰SÀ ˜Ì‹lŸÚIâØ<Å þp¬{Òh;öÛså |Rù³ŠùTAMvv^,dÜÛ`š“ëEîf3Wq·E’†iâS©CE€ŽÀ‚ I tÒD¼,N/÷‡®6©¶8±úÆÅ©q“$IiE#Nä1×_žøŸÅº¹̹¹‡ŸrßqB…O`¸’0pѶ”ÚA,c÷»KÛ£þãRwžÆç,$n0šú,NR‘$ÀÞ;¼ý×p¡Î§Ä¸ºU«÷àS¿üŒ•µÕ0[³¡Ê‘ž`ÿÂy†Žø/¾xS\M÷?ÙÉ=Ú-©û¥b{$jìpß5éBWeí«@ÔuÈ;ÝVìl#ËæÔN¢"1.dEkկ´ÄÐíÐQ2²:vI]̪„ÉÜ´LµÑƒŠnYôÈ€¸^3¸+µÈï”wùÃwP9c7²n9ÿ–h©K6ЗÆRéçæ}ãòÈZ¢Míêê|9£“îÆEÎõ^t)v5ÜŤàè°ÇREYŽõ½J¬óom7ý Xþ6bHœ²$ /&6¶#.Ilæ„!O'\C~Æe)éÏzQºr»n³°cÕæ|uJ$ hQ×׈:ªh:¬˜´¸¢j>í•!ë|ì5Ln{c¨¶ ]¦‡I÷ ô ®*’]=mÛ¦àkƒ;ú›ººÊ'~H©wÝüBú½¨V r×9vÉÏ}hÖ§ßõ幺›Kß9©‰ŒBÑ3m‡È™DeE(_H½D‚ÀbÛµ±Ù¢— =2òcº ‰Î®˜´…uR3ï¥Û´ylú5K¸ëÇiÇçƒÄbGãG]›¸~9¾KVônLWÊ>OÈ̘XAbÂcŽíF)°%Æ9KCN¸¤)¥N›¥$ßÚl†ïó<›U†ïp…ÀælŸSŠ‘pÓ(ؑء‰ ÚQ3…~m³9þÇôI03‹ÝHx„Q¤DˆØIx›¼N¬™C¿¦»\tÇšàÀ@í$òÒØ…±iàz¡Cm–$0W’PaGb©7÷6ü“qÀ,N â!H¤p,Ôcžðbf î%'Ë?y1Ç!–õ»¬ª?üQ~,ÔšJ³éÓoLµÏFQ[ª}¶!IþŸ³3ÕñÅŸ2 –¼¨Oöýê9ÁÎðx'£¦ÝfðÀZ¯'ÒÀ½q£«5¡Vè›èÔýÇ^V­fÁªùÿ±+½FZ½Ò²ëS'@iÕ²¦&Ö7rF¯h‹æXŠÃÈ6të¡å¡îhp #˜4BÇåÀ2’Pp`©, ‚¼× ±yyÖâ6;Ê1E'x—ã3_$.OÇÁ,ßȉ½”z¡g‡À•1ÌùÞ%A‡gyZœ³³°NWv¤ÔMS““ç8#ÞhÛu§ÚUÖFŽ_,¬Z)×åRÞ¦¼’Ê]ª;˯nå(Yd÷W\Ô–Íë ¥ŠÕY8ꦗŽñ·šø$í°nr†´qÚø.ñèà÷RÆrŒ³^‡1éjl^¤EÉMÿ婊‘\:««§ÄÏ— wÅ\•…WÀª”õ!Åo0Õùªbëòç:›`ôT!QG%I0w(›ªq½áŽ Š¨@/øTý%c«Çð­lšMæi1‚­è½éâªPüP¥‰öÁ-ý1WÌEYŒ¬gÿhÜß‹˜ §»pFv[#Ýàt[ Ppáf £=.]ç¸8v'6 Ç;ï.뺴~øöôn‰™áøV¢aõ}IÛ^Ò‰Û a4æs_¸Â!玤)ˆ=÷N¶‹ÓqJ*³Üû“*Dúçà©oäÉ`ìΖVBšq w«Êeu§>”.Wך¡I%}¹º¾ÂêªTíŸXóiö°ýJa‰éì<×1q=åOÅTuK×™ÐH³]ï™ hœªˆ¿ŽÏ@V<€W/¨Ìß:n]$]¶§7þ„ÖQðVcàÀ‡ênqiuÿ¸ ˜î3Ó>JgI)jµªÑW¿”ÉÚ­/q]ËZ^Ír޽ܭgÀÔdžÏ•ˆ%°Ÿ/8Xß'#+SÈu*^½ÿ‘¥ö¦YÀ*íùxI¯¦âöå%½’¼øqÚ‹ »³nå ÒA¤0C!¹HV¨-‹™(Âͽ¯;c£RÙƒsµ}×.¬ ‡ú’:ð¾Žð?yŽÍ—bÓÇwKŸ÷ÖûÝœw[;ñî­jp·œ[»ëŸw”w±ÛÐÉt.÷¡öžÞ™|Ã×µûúª Å´N½SÍ1ál £Û¹©ó|}>{.5dy†Àß$÷U(‚ ŸW¢)l²:x“F S°4¸ñ˜õad¿JÝÌj­:n«rF2 Æ™ÒL°“6 ×Ô5±¢”væÀТ䠩ã…S€&A¾‰–X-q™0ŒS”·z7fµ´õºe2$kMŸÀ5¬´÷ÕÝD®$æQ’4rBî[ßó#*R úã¶xR% °ûŽËá‹Jàj¾zñB%ž5_<Á:V_ªoR'­¯í]ŠöU¼xé¹Nv˜a7Y•Ñ,Ïê;kœÁc%ƒª•• ¥9SUøØ&Ö³c;I#?DÉg$¢!‹¼(tÝ”„ú&IþŸf×j{·Hi'=IšÍ1Ó+ŽLu¨\V.mT•;”[CK3V£^®iMVÂ㢧99Ș…Ö|™äø/YIѼ”*bŠÕ'ÒH2‘‰y?ÌK4ðŸ÷rêŒV7‘2ÝXf?·äLkŒ»m£€×+×yKhÎ…wêÀ$sžå„É`8鬀w0ùM˜*(Ï-¦Ïé¼+ÃÌúyØ[Zy(>%œ3/ ©3á šr4®ƒ‚ê§'ß¹Cï^ÿQØöÐ…š‘=Fcç:!ëš|†\-§8¨Z§Ê1ÕŸÌnˆA¦›µá—ThJ¢Ë1P¢4ze 7[ÅV.åê¨HáZ«Ê_‰6y"Ï `Lú­®6µ¹ÍIÈ].ü€8NÇðÅ„¢€þ©^mÓ΢µå§cu“ƒ/ÈU»tËÕ«"jÐßõ=¯©¦òòSaø¢Ì ž™[[(I™œƒdÂï,%ÐÎÔðâF*“YY ËÌ¥¨ ÖrÐyÐÊdûPä¸Zäv—Î ˆ-"ƒ•xÔ‡ÿ"F„°SÇwíØûzém©•gôÏGëPr…\¥à‰ ëqÂí'^mndZ²ùìPãÝ,þqJf³nÁR>™.ªs¿¶DbFhì,!AùpOl[ÃHⵡ —m0ê}ç dÕ˜©cqÛ­iß©Â7…©ùÒ”Ho¼ hFì3"I¿¥'ÀVåË´«»ê¾²Âé|¾H ÕsÊÓ Ý'¹ªK™MÄêÿE¢}Ù|ÑãCZÚ5NõlªŠÜÁ ùŠhÙBø}†YäcYYÁ1üÖ¸ÉÑ%æ„ë° bx\'‹ä„v©ê¡å,7"7%3½9_é­S·m-%lDs¸kЎϹn;$´«RwN݃q–søei?ëö-w®º¦õJròÂ-Í¥~B¸È©‡\/dhó ÅǪù¿;¬÷*Íñ“¸ `r[y¸,ôxìÂx¥4J(¢DD àê®5òÍŠM,K«ßÇâ8IDl‹Øõ}ê;ŽHBÁ<ꊀ wµºMÙ‰aP>‘iN|•˜N6:µ±øöØrÈÉr(›LÏ:gªÛöx€LÿSjŒ–IìbˆŒzÄÈUí¯5ñ+“Bª?­Þ#«´aí£â¢*XT;¦bÙ@xnͧRW¡°4øHSpP†ëŸ‡á s}Ö tïFº\è±Wœô;uvª¸ü¦ó4õ‹Ò°§nþ³s<Ç…ª*½Š öÖØŠ’&’F΄¦U@}J°*¶)ê%%Qí¸· ×"[v_”44X$EI÷¨BszÝ+pö«m’ÙLò zH½TµÈÖjä(y;j Ú™6+ª¿t,ƒV…•ʸ ‡(”¤¤BiIh–Ã@ßk¬­/à d,WËœVÑ4%µdÚ6,NlnõRrÕµjÉàå|¾•†¸‹/ŒœÔIA¨ð s½€¥®kû,õÈ)вgLé†ñ÷ƺî&Rtù*W¬”+î‰g•”d (GVëO[÷LËùtW‘|îÙÊÎç+øß ¹`až¦¹®¤<Õed§*W±AA†ƒ”• bdý MáØXIþ p0ô hï‡ÙG] Mâ»õ†2Ç^®±7Í«Æýqdåv' nŸ¢™ø~ ä˜FŒRÎÁ‰ÀuEBEäð„<¥P9”É?'-wj¥ˆf¥4~MÃ<4Cúð·ZΤP'Ð4éG·ÏÕr`ˆ~²í 2·j¦¿U2§ËDC-Æ’À^‹[ ¸šØèrEª£îyÒ¾Ñ ˆz .áË„0†.Ekwè]{™S×§žc¾ëF‰8Ub¸Bb• ¢O¿3ô©GÙ=¸×…ö obÕ±árP1'Õô 8žpßIEl§nBI;¶û±e“Œ÷½FÒ;ôÖI#ºYr3Ä׊vGUpàèL'ðn°]Û¬{¨øBç¯&ö}²k-cmì?_ áoÒ*f  òäWUÎïµ"WA[uYH׿éý·êæ¬á€ãòRyñ 6owM*¾2¡GþZLi4Fð´Òÿ²×y*Û‹—s, ›gWUÉ.eM½ËUÐÄ_.0/õ÷xü{UÌKf¬Í/£±*K c- Ø>Âf3ýÀ¥œW!ù_..$DdÞàÅEŸ§Ü.àò—WÿÓìÆxvÕÚÆu={qyy{{;âÅç;Øô¨(¯/ÑÝÿY/ò­ú^"Œ3ŠGÎÈm`J ~‡ÿâ“Wßüi¿Û~   ™xq³t ÄxœµW‡;ë^¢‹%ÑR!J$,!½,Á!+êê±lvõEÄ Ñ­“DºV_-JôÞ-V]ýιå9÷þ÷›wæ›ç{fžù}¿ò¾¿‰4‚i±2ñ1@ Vmuc`N"¸ŠÌÒlÓy„ž–:èì¯ã=)7xÒOGý©oú:!Hßd™¯qú¡Þª"TQn@ÇkcèAÁ€øvsŒƒ$s°ƒTTSÌKRŠóT(MnÀC?éq½ÌÁ^êAmʃh!“F$$—‘Gýþ÷ö:còËøXè ¨áôQ{âþ÷´¦m¨óéûAß|®®*æ.Ùá4pÂjDxœí}isÛÖÕð÷ü T™iíŽDa_[3®<ñLÒ:±Û¼Ï§ÌÝ â1H0(Yýõï9wÁÂEà*‹ŠÓ™Z$»œ{îÙ——yû¯7ÿ÷ý÷Ö¸žäÖûÿã§wo¬³‹ËËß¼7——o?¾µþßþÉrF¶õ±$Ó*«³bJòËËïÿyfëzöâòòöövtëŠòúò㯗Ÿq,_Ö^Ô7G¼ægWß¼”~žäÓêÕŠaœ$IÔÛòYA8ü35±ðÙ ñÇ<»yuö¦˜ÖbZ_|¼›‰3‹©OÌÚMá›yEÁ¿=èeTþÉNÓøôÚÞ…ÅãÞ½{W½=ƤÅ[”«ô_ZÒ¾@ûñãGß„®ø—Gà/w@¼"C8\,Ê»¼ïbQ˜øÕA$Nûz<–¡,žÔIFPú³õ¢£¢’5£2Å¢8¢É¥¥¥îY¸òÔÁjœ¨Âz‰ÏrNvÿöò·´î¥ÚZ¥ööó+ƒ7¢Óãâ(ƒæ6¬¬¬)ÝN©9¡«C…{£Îë£åÎŽ²p4Zžs¥‡é’nc±£}Õ$<5ñkó!=V²ÆÖÔÜ\ÚºŽ«zÊ{åÊÐên\\œsOº]­›››ˆ¨(‰¼Å­gn>\dEÁFùü¶Üöò%Ãó&[…4oïëçMïÄ888RSS“¹³óL%Ž€Øøû›˜Xiú\fFÏ4Ò”®m]Z]û.ôÆ„½­úÏ?ylX˜˜  „{¨°ñl³ÿŸÙ33¶KöbiF§§O‰!ø¦¼ÝåóM%))©}òª°°°¢bŠUÐæL¥–ææÌÌL]==«fG1ùEÇ‘<ÎÆ­Y¼ `(ÆÅåKV¡r³[ÅÆHiVaá-/â&ß>ïæ½1Ñ÷û/,—4iÃþÀÂ¥’èÑZ¡×À`Ö`Ëúõ :š‡´ ¡å)MaaNeåx/œNÿG˜Ó¬ý¡ßöé v¾+˜“7ÏyŒ63ˆAG{ÙzINBü±¼A{pQG~~N³i¢RR0‰¤ëMyüááFwZ¬p¸„Ä^[›T(¬]Ï7µ×?¼YèƒÑûAëˆrUÂ6pÂìQŸ{ù¨‡Bm]+¢yÚ0Ò™©žé6D’ûfÛ¹{écÖÌH`]D1¸£CŠ™öLÏZè=Œ0· ™–äF𵋧Vš›W•ÒÓ6Ìdƒ©Ý{_t¦²Èâ‹óÌu—ŒÌ†^öŠ ‹3¹V¼6: ‚ÏhwöŸ¼jc#Nöx|tu—ǰ°<~_¶ÅwÊx/ ’¼Ø-ÚF]JùÖ®E½¡Và±™‰j–£Ùß`½£0U6nõ âé~üðPîéMýÖcÃRæH”ƒQCD¸*»rO “Ñ4G1|ØŸV e?¤´z#}/|‹ i¿ ò?<õÿ@²–SW*SÎ ô«”!!1zcŽ&†S•Û·hU¨j[¯v[P‰ù›Wrÿ9UwZE‚Çlw[à±\ü7ºÖ8n3çž±È[3mê‘ëú‹Ê œ‡‘ZÅjuÞ—þÞ4½þ“g-6\Û˜ €Qúû«T'Äfû´±"B0™Ë‚-0¢ þô”–šÈ #™™‰þ»+ÇÛZšš#v=dtGGhE  UOÂIMƒr)úOë(%5aw•ÜýÙ^Ç.BÐ?Þ¨‹À«½ìàp¸µµõãÇ#™Ñùùù9A“% }aJºá¸Ì®åü+Êáîjttô¨]×zsKËkÍy*•Zø¤JVN®†ftѹH:Ù¯©©áŽ& _Ã;zÎ;<;`»¢|OV6³Ï¥AizNÇãÒ¿ž¶÷¬%”sFƒ\ww:0^g±j:XOWW4ÿÜÙÝmUá6˜¡à†DÖÐÔt uÄk_e‹4¸i[V˜••ÅkŸÖÝfå„•¿ ¡ûÝÔ´¤`qqqM\ìþýú²²þŘš‰ 9Z•É^±djäÅb±¸ýI, …ÒÍîW|ÿÐ Ð8\QIÉM!mTJú/~/§ÛÉ™êPÄÝŒMß\Ê3ÍõгKÚŸ2É3õ}…Üs×s‚WP°Á—‚PW§àåã[±D½nr,¬ëN»‹;¦´_¼ï€¯yÕè‘^)%˜ Zó!×-v&ñ³œÇ ºÈËÞ€'ñÌ677óXûÚõ¤+ÊÈȬ‘Ï¢¥ëXY­¡55ŠÃ(22²©©É=º“a¢Íuuë“mJh”_,g8ðÖ÷àV¥|õQ+'ÃÅ¿“Š¥N_¿÷øÖtËÌœ½Xl½ÓÀؘá#í xXk€%àê]˳:²P¯&¥‹¿f) “NÛÉPH½»2 h¡Zîü5åúó骸×9ëòª¸ g“!ŸÙÒ·oqÉÍ‹õLÕ8µ?F_§Î‘ù÷]xè¼p-ËkIŸ9÷-¹}K…%ë}Ÿ|I§5̧¾ÍâÀ ç¤évv”]\eJ§o·uw«\7Qu1¶nÖ£IHèv¿fx>4$ÿS8!VzÓXÍÕõy÷žö5•´nk‹ŽÎrö3ÚÏUÓë+µø7ó'öÎˤ½=¢ø@3¦¦òŒ/À˘F^‡òg=PeΙ!7~·QÙ÷ÏšÄ7•9{'ÜWÖ.1„…CC[bÕØ¿CFúa=}r'f­,Û3MÚcª£ƒÌ<žBásógM•Ç'û j÷çs?¼|'{•Êöß>þÿàUûYæg ueÏÑMNr„÷¾½ö¼7òX(®>ßX:£K\$Û&pl¥?G5îìtwuX%H…t ý(¼z@íݩ¾ö·y“ÆTÂ,Ï…ƒÿã;–”‘‘ôxFŸJŠŠ<ýÕÑÑÑÍ.ËɉpÕÿ×ÐÕ+w6tv¾1þ£dæNÏÅÀØŸ<`Y¸ÐPæÛUâ;Ÿ¡Ñ'»Ã‘WJHJÿÈŠ]ðöÃá, ƒW «’ wüOZ[[5œç113Ÿ‹ãå!Y þ°ª~¨ª° $·Áü7oÞ$Ü4ߘ$îÛà‰ÞÞÞfÅÖ*@« ͽ>^K´óòòV /TÅùÈ‬õÚ0Tµjrrr €@4 ÍžNTSØ©¯Y( EÉ1H«t5¶±Q…¿h)¨®öm‰`_óM `¤¥¹èµ½ÔÍuÓ¬¤`³- ^G¥^@eF#Ò óóÝ(sä Í¥ÂüáÕ”aaàœ·–ff‰ºÙsž}.€%lJêh¯S¤€†³Ó,GŽ«EV_àf=~§C"'oÃn`¨Ú‰C 2Ä,Ët<=7.µð$±²R°Ä¿ã² Ï6爜›Ÿ¿qýúÈ"`H?a'™ÂÈȸFýº7‡‹IHäWTìV [Û›=±°H”²êÀTTTÉdŧ‹K:—í? ºÕ¼¸r9y.NßC“B˜xæ6BY‹OÿçëÞLÆ æE–—<<=¥ÄÄ´ kûûû·¶·¥mêÝ+,Nöž`Ááᤣ†Ëm‚vƒ©€×KŠ‹mζ„~Áµí…Ñ´­mmN¿)z‡‹GÔÉW–µB}úÚÕ¥ŒYºkn)Ëd µ`@ŠM±ªT£âagggAt{Œ =hÀ“Gp”*ðÙÄcHYBí,ÿÛ8è=>>މaKÐåâà˜CaêÂüø”8c³TD H/qæÎÂ#ÚÛê ÿÁR<Ø>¢>±Ì±“Ûð®ôq‰í4úsîJÀÖF;È›Áð7–äÆ]DÓ~ å€ß2ŽL½jöü{sÝò»ù$ŒíòÊ ÎƒøVÊ¢Cm ¥5žßö,]EnLcÌ«¤¥¥¡ïìZœ:Ïhhhøó|1A/‘$T2Þ#ãkkâØ  wÚØ@V!¹ë)E¦¾BIZA‘(ÁT{$X[>g°@mûG•…¡¡a<»Pyº˜ifdll»â[%>2²üž»°éœ™ŠiÝ=Š6FÞ;Ý¥8ê¾)—4{Õp¡ðDaE)SZT¸T±xÈXUÒ5??Ÿvë Ò¶É›ù’,apðY§±3&/=8SqZtÇT~q]ÿVR•ŽŘÀ´¨sôœb'öÅDÌìl íM”å,'gº¥þëÖ¡®XeŠ¡Œ¡GHèH5R}bÑl;•ƒóñïž¾¼TMaááKéfÈÞà;º–Ö:·5¥Zî[YA¡ú­ÍÍôôôo**Œ3àdb-é¥ /;Iç Po{«R‹íÊSî˜QЋ§ÈaNÃGÊÉ—„„øa§zï-†½„Kãã ·Gêølº¿ …ªŒËÞ-T¸͇Vß55…(»¿hjB>|XªÿZißfW˜¬²3ýkñv™^Öñ5Çî¿ì&b”nm†3ß×*ÙTV’¬•\$ჷ.ƒ´O9¢c¿䆪/&®«¡²²ˆm!Û¿ÿþxr°ÚºK[!®Ž˜iÉ)(ø¬4Ö’ú „ Í¯C}(þè 8 ol±gñÄá/ÕKë‘+¼K©0‘pkWe`*\°O]üЧ?.€`©Ö2÷ËÏFâB%룪ç\tRØ.cò-› ´µÉœ¼¼Cš—‚Â{,ÛÕÕåê(íù(9¹æàº·­3YP·ûõ† W5X*z³ò,èX䮓ù~%Pã(üè"ƒ–øjL§ý}_zðÃDÖ 'ŒšsTñ—û£Ó¾ B#ç¼û%‰}}žÇ;±±± _Sò¯>êMÓ:q'[ÕC;›#JŸh±J49,Îë\›¯4:)[\4šv‘jJ>¹{.¹¼'Ó}ËÎï•Y‹OGÁÊŒžfÈfžÄ´ñev‘SÝaNΡè®ñþ¢ÖÏÔ}+N" º{ttñÂ…ëOÆ=~H–™S–—ÝÖa.ªu;¼&/ñðìöʼ¯qh:Ñð8;»üPê2)@p¼‚7®wa~ÞÞÈÈZ« Þš(ÔÈo•¤½$û^:WÒEfž†;8é Q‰‰;£Žýö<‡¬´ýsì¶ðCZqÄ¡|;ßUø:¹¸~Ê'‚ɼÊz€©dËÙþc*‹‹o,¥£Ÿ?®$'«ÖÝ-]Ý¥Ž_°…B]y¥7Æj·BÎÓÌ}áùk€=þ———‡F£çææ4CiÊH½5æŽO*“(N‘ ur^a!ZÍÀ&Øì;×å¿<×Z#â)«Ã) ºÔ›uc:XDRÒ½+†ññãÇGÎy"q8œ}kÐ<¾’¸B ^¼àðç!º"à¶æPh¶QYoO .€R÷¨Oðòå~ûûø”¿ù¯¹~Œ´¾®n}º}ò½c‡˜q¶][ðY¯QEp<{´Â¬Øçã~9Àgë÷`08**Š/¬£2ûsJgŸ•­m«Kwjn.o‹„O ¹nç¹ZΊR‰ñdJËæ\£ç¨C³¯óþï%gggûýr·¯ó_?qÁ¯æÍUp³AnÂìì¨ ±ÔËí?*&šZc¸³1£¥¤xP#"""FÊïjQs[’.°Ü8çúZ™™i%mµyRLLLi©p¬Žbo˜)Þ8‡öóf™àÇ@ó32.È¿µªþù-o}›`L†jT_?ΨL@488ËŽŽn‘ñàˆfØi>>¾Ñwö«#ƒ€^a––ðõÒ ƒ)Û4Ú4Öùs™q@²ããc``DÓc½Ôáüsk(ý×ã€Rq«O¼¼BhlÀll†».>h Ò`œ€ô¿ÿ,@ÃuökÉ”K–z€ûÌÇð³gÏB ëwmOw<Ò†=Ë¥6ØðIGÇŒmÓÏååɉ 6ëOH56ãã㬗N7¬­­óëÚâ|]>Jp8u $ÈËƤh)ŸÓW|³(þÛQý”®+JðNèÖý7ð»Çêl­5Ãö6·Þ} ?|ðàÁÁþ~Þ±ü[2/vƒ™ä__û5ô˜V¬ÈR’KèÙÑVŠÀ ÐØø8%Wï6húJ¹§-\Î [³ ƒ…¹ù@ÚëÊtØv? Tà  Z*•:;;‹S?Ž¢• Í&)ønQ<uçÇÁØ·~xó?5Õ^Rò {Ò|ú­‡Ò•ãhî%§Ìÿò¥ÓI؈ÕŸŽ1!Bo/ÓÛwïH«;i7&ÆXòoŽ»áQ;MÞ=·ö@EEŠãìê~p—ù…… Øö`ÿsFžçAÐa±Ú¥T¡øvÍrÓpŠÂåÿËÜÜJó*êÚÚ•ÊÒÁCHâ¹jè·?äÂröŠáX3gVÖÍÖÂòKµ¬g`âj"^3òŽ ¿H1Œáb>Ýlv¸˜WüaûKÆï£Dú’\YI5ªœ¡«õäñžŽ)³³w<Q««GaÀÙr·OO*+µ»S ýzN% í²ž×óX,*„o ^¿ü寴ªÿ×·e«l¾øóWùD—šúþÉød^Åÿ'ïó½ÿòaÁ6šùXýâ~aè$qÚâŸONw§ÿÍp)ZRÙØÖCì$s½˜™¥ ¾½Bq©Q"hráuËž,„ߥ¸X¤oeŠœùÑ· Â/Ep §£ü‰=àM¾8MçŒ6ÁL{ÆÛw-:äYüòitáÓàkô…`اP–sª ÈÝäæç;¦Ö6ÙàÈu韧|½&äæfÆ1,È3¤¿ä躰;.ä·™/pŸæ%­æ(vð‹uØÊU×¾ç‡ hä¦ÎéßJm”˪@¬ðŸ¸‰“@/JˆhfÐïw¹êôWK2%ZÓB±=Ÿ×š6S5@Éìч#M##ZøËŒS£™bO»¾„Fæ(•ùÁù@Aæ×¶pÔ„~íÔƒâkØÈd§½GoûÓÙú˜2jÕr-6. Ò˜ÂæðøåNåñiVrm®(þ‘ûd-ñøûœ9ÛÛ7ËB㟘ŠìN´ìÂçêLyÉÜg›4óø—!NÍùéÿ÷A˜ÔæÔõzkd³-ÍmÚú8?Pè‰CT¥Rð¡Ùž§îÔ»¶áKÍÖÞ²!ïÇñÜ[ C…w ]‡e¦Fнp0æìL?Á<$#©QqíQ²}²œV×j‹Âq Ý6Ö’!~›Övü emCêªiÁ‘èÉÍJ…¾~H«Ø îÐY-{‘íýó€y"´‚í7}º7ò8—ƒ õLußé8=ÿ³ïä ÚÚžr¼*ÔxœÅWy8TßÿŸ‰’"k£}_в$>²d‰²Œ‘="ËØ†,‘mì![ÖQ¶˜[$š2¡ÛØIÃØ’±ó½Ÿßçßß¿ßç{ŸçÜóÜç>çÜ{Îky¿NÂ=SV&~&ÄjxG×è­äüàžÃ_ttþ:†–çÏŸŸœ3›}ïØøƒ@lø8K†MbGêþm\°6jiüÀ°ésþÊ•2ÙoÛDŸKBÑáèJëõfmÌ ô‡47†K©×¾½ºÞuЍiS¹¸¿¨À<¹ÛºÌ·8ñÒ°,a÷páçªÂ¢1‹ÔCÞj+I]“½Î“£%õeQ·âÆ'u·ƒüàºô_ñÎÎëgx=!©²Y ²ãDúè?§?z>G¸Úé ÏsR­3Q´çý_¼6¹lcx”R~"”¬’C¶µˆÎ’©}Âëìaäã×PóÔ½TžÈ䮼7Ïl׆RóŸ]ˆ~g7Ȕ눈2Š¥Œ uh¦ç1*(j±aHp1ìm×W¡c4¾¶¶{6 bÆ+Mcó$¹dÁ9[ŰfF#'¯˜èx©0¹#­´tæC%Q1ÿ*š®·×Ä⌧ˆICït ]h(¹YáýA·ªÆÌ0%f#ÖÝ=IÏvõoÖ/ÅûpðâÕ&€òünþìzêx½³—ýáZÓ¤•tã‡/RÇë155&,yózµ,Ò \—ïêì)²òë&$èêfˆ–UT0ÐÓ777ëXC¡¯jDÅ…G0u Þ>ĶxXxzN¼ç¨b¸:¼n†v‰‹ ÇSg:NÛw§mkÆê mœM®ˆ§<±x™ýµ»Û‡Ü<43ãXe™*¨6Læ®%•õH%å宫$Lmm-›Q™ßÁŠ_ ™¬W Egé“´3Þîvãñäf„ˆ°ðíù/…êW‘÷¿}{°#š«wïÞ=(”„œ G#§ÛC ôô¦šŸÉJþÄôð'›³RRR!!! s¬üÖ[7øOú'ÐÐ)Þ›ÖVVÄÜáîUý£•ÃŽŸ¿h|wZÏiñòȃߗ¬ËìÙ€ê(ò·Jzðù³Fàÿ«CÀØÐç”Fú±¹Ìsi$DÆ‚ºžç!÷Í$Ú·pãÞʬÁu%Ðæ—ðëÊüRztt&"ßê‘WÞþyø+›¦œ·dÿHN—÷gùo0ëÁ[ŠŒ=»c„E sx‡h¥KïŠz÷osÀ¦¢ÁßÇ#}!i’J"Yº^L½˜„Òãqšº,ÉNí¦ù²¬4.o2âÅO ;í ;Ÿ2á1ÊDuãŒÀ ˆ±$YæóˆøqÄ=?"qY”±d7¤ºŒ…0`e9Ý5§S)¶Yr’Æn”J—Ä4r¥dŒÅ<ŽCÏçûÀc)$hž?UÏhýL:ütpGxÐáW¶ óXâ¹ó¿RÎ{Ï“  ®ÌQ°€…pÜ KãL¸¾G¢ðƒs|æˆrxûøª®F6YŒ&ã¡ âT&‰ ý8 .0PÇœÅDˆ(¦4ã3GLë©A”f 0 JÝÀÍ(ÉXH7Æ’xÜˑj4ФöÝXñ6À_ƒ&çdÝ UæEó½UYŸ8ê¼–ÅôFƒ58·ÿ¡UN‹Æù›Q±_’MeEF$uc >ÞÌYB¥LÜ, Ä’ØÝ«¬8>Ö=eE>ÍçÊWóúg€ÍVlѳ$ŠÜ0w'–Tz¾„cï I"w·ƒx 6KÙÓîÀ0»ÆVcz×­5¦{p'ð¥.(B ðk}_ºaJ ´“’R¿²ÕcÝWçhÏÖV@ð¼0‰Â„$Q@D"R á¦Ì %ßÌÛ'6k/@ØRõòAHÀXJ9>‘p#N#J¢GÃÏVLa_o0wàhß-‘˜V†Â£3j<3θp È™$,Eˆ©<Ù{ tÆçn 3„Í}ˆÚ Ç@šÐDú Cƃ8e+ÃˆÆ ÷DrÚngî@:>÷V„Ò´¨ØÛ‹cðñˆ/dPä‚ó @lNC]ƒTø~¼›Aìà3>÷žˆ¹)Æ`#²ˆF áÜKiÄ8hìh½dÍ|â`2t7áç§·yÝ|3m¾uF%ÄR;Q;ôï_ÕGÀùæ¢ùö@=й™—öJmÊ’ Xš‚´@p‘„†Ô^ÍÜ4ŽÅAüJ±Ì!€õµ‡ï84s߸YìÂ61á†$‚A]á—ø1KbÆÂÝ4£}`í@t|íóþ”¬>õ¾©òâBëSèÈÙÔp*EœÑ˜sâÁîñØT‘ŸÀ&»¡ñ}‘÷ <¾nÚMèž0ÑB¦2d4ôà â¬`„µÅpGSÈÎòïvpŸû%­_í T.¡>ç©'IF#_4õR¹Â¤‡;ÚpoQ46랊ÆU^çÛªZ,–Dƒ rÃ("©/ü(Ë8ÉBßõ˜KîKú†žŒñ±FÔõQç®Ö/º²žˆ8ÍB»‘@wæÈïLf2m‡Èû*ë«'fÉÃÞ¿tZ6ñë –¬a9œÖ¦•4ŠeÂÝÔ…oÇDD Â'<‰Xâ²OlÜ`¬1ã‘ZäÒVÜ §ú [  ÌBÎJ“4#xê'A&"XSD¼Ô•{…ØøX÷¤`´hr¸Jëm­%È_S!¸ŸF,H¸ô%Ë'Úƒìñ(gËÇi|â ™ýÇÒõV1+GýŒ"h$q€HwÒî´‹Ü~>ÕA…¡R"ANã4õYÿÅœJ`ànà‘ã?†£Âp¥ôO”¤F€ ðe’2hÂЗ ÔºÈnQ˜e$LvÓýâèO€ôªOÚã' üΨYÄ' I³8C 0NcñØ#ÏCðÑâÏøÄ+I§Š,åÓ¼¹¹ÇŸ)ÛÚùÞ#Û ã~Ä`y</øÀì]™E¨ƒe>ÏHù°ûI ªZ¸_/Õc ›Ú ÔìÈ{a ¸Bä»ct‘s?!‘Ÿ¥!ñXG,‹@¦çAÊmšîÆ[nÓÆÇz ÀÓªû0‹)¨@aJ˜+BÀÏeAèƒ(M8Ú­÷@5>Ö&³¡Üó6ZìIÊ!.ŠíÒ@r—yÄðÏ^=ìŒõ€¶)ºñ”láùn–J/ cÀ†8¡$®Ÿ%^²W­jƒ±>5äª Á&bAã8 F‰LÐlTo0£U™¹†K9Vë’$Ç!™`œ*ÁÜÁˆKý„ùÏhìKž†ÂÛ1Ù„>H´íø 07nÜ´ôŽæ˜Ù‘=sÁæY©£17 è7Òç.ñâÌ].Ï"A…ÂÉÜ‘Ú[pš×ÃCttšëÀKrªæ¤¡ 8úαi $|‡ù^ļ”Ä^Ä…›Æ)9P±GCmW4:óÅ\ÐFꌂ~îÅOÆåd9p$üë¥úýìØ0gÓ|þCYýñ2†%{ÿ#«F_ l B™Á„(‹IÑÄ%Aàe^Qoǰp5˃Cu|ê²ùÞ‚®Ç½þ† šK¡@G ØìEºMã¾3Ï%I‚È”„<ˆCÁS‘ø©Ä£ƒPºôvÍfÚ*ï`tæ3 bmÂÁ¦YQqÌBá'AêG>lˆH¹Ï%ó…„~æîfÚ°$mÝúÃ×ãÖhÑ‚Šˆ±ÈK@ :¦¾<˜WpäXÑëçÏß ‰¦Ü€"ôs8ÄÄࢬî0­®KBðéÕM’Dø L¼,d ¡Að~üäGz ÆÂÝÞ6p›ø.eBÄ.‰@Kôˆ"ôy jäýxíIìãk óùôæµÌèbÚù.@@ü¡e»÷j6ƒ7ÍRf1K“„/å2â$\÷‘ìéõÀð_ƒ>¯ÿ¸’¼?ýX.j©.8“øá.Tˆ¼É¯€Go›M5Rî6“nd9QKÞc£}æw¹I‰ˆâÈç(;$RPsxäÇ £Éûåw=ÄÇ× ä Ìï3.8õØÜXD^È@”e>÷¥ŸpòZº–&n]´ÜèìE^7ï¯>”oóBÞšW7´jZÄìß‘…X{}ŽoH ˜ð@¦žÈRT¸9‹ÝÄÏpA톗ãñÙcvÅûõY‡È¥ Äð©[@i}–OAøÇw6¶BâG°Ñ<ô¤«r—à0Q3îki}ÔqËãkç•Bðn£èå1)ßÏxê…^œÄ œº4tý$3Ó{lj>Ú°åñuk o‘{â þÑÐÂbÁD"‰¤RD.,<ƒ$ï';f#—­†àŒ- ‹9}SäJRûÃZX¦ÄO™ )á) £8€Y¦(jsf8éSM¶ãÏ[ˆ¾ëEö>h©çs£ØÍÜ æPîù!Ï<<óO5‚eÐŽOë4¬‹ð½_ØòÁCG)| ,‘ÅœzgW†ž'S&cW¤ôñÆKŽO|V^I÷2i$•y%ç Žä5ò˜CO¸4)ÅL`æÌwIx^œîœüÇ`|âJÑ>†m€<-9öO6µÉ0Lú n&’y)£Iâ’>ÐMcÿê}úS9³êVI­r!͵;¢ú¾jL¶ ¥r,·Õ)UYÊKïüµº …óZÖ¼ÊçZƒÃz›òcÃ`Í¿Á‹·ÔÆ\©q™Ïè…ªÛÙV¡Z:UÁIUÙpõúÙRAKªæ3eŽäG]#œ¿OÒ€E°žW|*k˜›4² ïu9Í…ÃÔcyÍõÝ6Ísbª‚šÚ‰ósçMã\ÒÚi®Ëî)Ø\9ëbðàoø¾P±eðûĹ¾Ìù¥#dJÓ\J• Ðw§ú——s ê„ä*öX€ô5øã©E±¬,Ô“ª^‘$½Á‹wbîŠýxË IÇ'ëæ&s¸X™ºINS‚Ô,­¨¬ºE¨#­ć ¸Z(N4‚ÌÏßdꓸ¨¼¶áº-@P†ûÙ¢R³0_Õð>S´.Ðbí.8Ï` ëËfe€©_¨áè8e¦®rš®€ñ9`EP½lU *¿Âuçpü¨Æ!ƒú“àä|‡g²Zð £Dl<[öÂë’/fö]sÐÖ‡€lP6S…€ôΉ!îG+WçUÙ”ªÐ0þ·â¿FBÑÞÅûU÷Š•g‡ÅiŸ ñ*r4üÀù³5íWA$ 3Œ#¸“l“_vÇ8zþˆ5ýÄ2øi9–G–æ?¼¦imû·¡¸†%?RhÿRÆ€þôŽn–Â|85Ò 4 #s\Ⱥ=/Xµ–[”BlÄ—8`>`(¢;qX³p·¹¼+c|E 4!$òˆ§^äù@-’³˜ÆÚR„Gp~þÄF€¼ÿjP_ù+<:Ö»^Øç7¨Û÷ép…›¥ªÌÏÛb|÷Aú5%ü¶Æeã•><¿GTíK ÂMÇÎòz޲¨¸9nËö­Døèv]3Ïûìú’²Ñ6Û:±JÒ¸}+ïZ˜úâoòæè|=n›úÝ…^7ZÉJ…WdÛ/~œ¯)¿øâLÝY7ÌØÊ×.ôöñ¿Sr})µì²*ZÜ%TiÙQ5ÀËž=±v›Ó·AáÊGwú°´â®-и5µÅÀ‹‡$µ²ÒÙE­‘%o(tÙ~PmÊàF‡nF†SûõZ{á@ÞÀ•ˆ†Î«i Ç ~¼âðå1OPØù{µ¨/±3BIL7EÕ ‰>:Tí-ÿ ÊŽ£,ÍÂéÊò·©|»ÞÂs‡fûÂ^[Ÿ‡ ªÆn}–N”2©›Û3ÐÇ}}÷Söy”´yõ0Y?î>RÏË»õY*ëO.‚í"=+ê~ò%åt}·]ˆ±b…Fò°"¢ÖÉ7 ˜N â5'GÑáÔarÀÊ¡[sµõ”¾8Ã›çæŸÞ Kfà;Éõ‡Keb3z:üÝRiÉÑVf%X$?9ÿ͹Ì´`L­IÞô¨A;`Q6­É¢Hð«ÔQ1)hH›c¤¹îd“Ê b,t›[~úí|°ÕQE °¦½iÎÐ4=qÔòrÍ~ú%²±öY­¨Öá¥êÜDÖÚŒ‚÷&“ɪ©©^TåÒ Ð¯’Í¢*ô7k Ò ’*½`ŒõQ ’Ôá% c¹ÑPœ8o²ÞOeÕ&ؼ0å£ÐøDû9^.¦¢øk£”o ³Ÿ¡êpâœbó;ø€žêãßkCꉓgÎ-Ä@ªZH‹áD`w{õ8W¿K)û&^|]YªÔCóJÖØ”J¨bƒ^™)îTÀêE·‚ìÊ»SèJªZtxÕ©P“Ö@Ù†¢àÆ>ùA~\ù$:>uðºoâsZ"°Ç"/”e׬V`j"4Nõœ e¬œ?dU:Ï€ æ Nµž×ÆÈ}(§€…-²~*Cå“:!³Å´ÉçÓ\«±d’¦Ç-zk˜Á=˜Î¢@îDŽ•…èÖb×»ª¼Ê•§d¾ª‡î€é… µÊëÚÂ^AŒkïb ¨8a7Ê5T²š/*=ízpèéã§ø´¬¥=“Ÿå  êF¥Ý¸ô¿­níñÀ¼ ÅØëë1›Ô¾åÔ5i¡(aÊ6ЃT·“0¨˜vÖƒ'ˆ;vCœ†ëþ P 6j·ä°9° –@©Ô8?V_R¬,Ïû6¤ÌmkJ9´µå5ì[­e¥·²Ì\i4R»õú0Lóy¥¬-Ùð-ó†£dœÖ¨ µú9ª‡Íõd8„\Òßào•¬e_*ŽÁn­œ†×ç¨ù ¨îû@¨Áòª>@·˜Ö7{r*ˆà$Œ²($Üç@å7 2âFq ³û“ÓñêO’œZ»ÿE]®‚qê ¯o a2o6 “ŸÌìüàÔòçž5UQm|ƒ%€lšŒ¾ÑÄsÉeûì ¤”n+™Û“§…LE­Î*OžiƒÐ5Õ6ZCimTñx0n?=¬5&vÂ0}j…±ÜÆn´¡}MCù¥Òù'kRÌ:Ò÷ðEÌzbf®¿mã˜í¬œ@š ŠÖ¹Ë¶¶†þ¦4gkv¬[ç¢V¯ôíÛ½`X»992k»‚›Úü¢¿qxy}‡t¸%éöçZdU9ÛZÊ ˜‘ÇêeÜõAÂg,!~(¤”âþdy¼ÈΓ$Ëë¤ÜÕ¢;÷¡ÊË26¢ËYWžfž¦ËüãSóÛ²DÃ5©rDOxEXèö=ž°Áƒ³å{ñ\¤®Œ§‹,“è 1±Š*QXÀx6,…WŽû¡Œñ_=DZhMçÚ84DIß8ÜV{šªœ‚*µ•Ne’¨ÉÕ—t˜¹”3ÿ^T–;àdWð9ír›8Ïz¦S¡­Þ{K@™wŠ[ŸÇ*[&ïÙÀ¶û4€½¹¬œ:"WW LdùCêÑu*Ë\[ò4<0éI©]˜eÚÇÓ›GN.&Ö(y¨2}vàedTæ=NÞjÊEÒÌÙdIåDAcã-¹B"¯U²Ð‰Î—`!îuŠÅtjé· ‚Ý ÐÚ“d¬ºBÝgí^»oûö6¡^y·õ<Ÿšý켤Uôg‰IÚ/êk~Š{8Ϝӱ¶iõ‚E‘(˜ ÊcTêePòE¥¨¥Ò†:K%\ªb NCÛ²·cR¼íó©Áîk=i]ø}‰ñ:]Îä8Ÿê’!¯R‘BÏ>,_ƒUÖrš)_õô=¨z‘Uå Ð ­ Ø›ƒDP^­¬¾V¯yëæZb{ðÚ™z­e:šå™ÄJý±ã¡c—ÓZv,m° {ä´c¬¢‹ÅQkTJ°bŸfåù …cf‹lhÁ2 lzkk´½{AFÎéß^É×@P]À.m™.µAY˧ɫ0¸}‰U™2—»q)C Ÿˆ=mÆ2zçßQ%â¢ÉŽ ƒª'Ž}mö®ÕÆíuA&A{ÖOfPçH5¶ÂÞqûüÓÄ^kÂè›w”SuèkxèŒAt­Íf|˜Ïdíƒ`œuAÜç½+»…TÖÂôg tÖiÞð V®Ñ^óº“è×fà©[© _ãcï(T yxú°ë<·¦ M¤ïÑ0d ', Ò¸%ÜIœ ï³£]æÈƒ—@æ¬üN{_¬Y`frógBžk`ôBŠúù O9±êÙ/#déÁŽèau³vOæÕóëάÿCyæê“^ Éä4q¶Šâ™& Ja²AÑ*ÜVݤ{Ìh¡Œ0:ÝÄò}¼_j¼ÿíyŒù×ãC|–dÿÔ½i·éOGò-eÏ{û&ÝÖù¥_+AÑ–™²–¢‡­ï.uóË(¨ÀTg>SÞ?´!yfXŽãØ-Åfg.7ñJ—åââr`-7Êq|I~I‹¼ž)‹¾6HL£ 8æÔš·ÇÄÏOCçLbPÎÚB¡Yeü œ©j꘹p×—êÕ×`mîž%é“õ~adèw¼Ýc2ÛÑÀq¹t Ë锣%žÕN)W=ê.Þ_3CÝøq™¹" üÁU°–މ–Wy¹¨—Axx]cPoŸ12šE1ÌeÚž£ 8YQB8÷R1.Uj’E4óiêÒ§÷û6¯›o¦Í·ã¡´Pp¾¹€/­0ÈÎÅøù¹+òbªº”Üû»_.h=Hv;¸–ýÂV¢€m}€³„KSà7“M"’к’æ¦q,lÅÝÕ,vá”1á†$RA]á—ø1KbÆÂôè|ÞǾí£³ÿÜÏôX·Ž[γ œþrš÷yš-Tןe知M ­s”TiçD¯= ÝˉÌMß!ßÅàOÖùã^ HAÚm¤f~bL!µ±¬ª»F¦ŒÑež«aN¥Æyw;³è“"ŪÀ4æœx@Exì *‚ÈO€–$-ÜJSÁ§I¥ö"oÜ*jì¡Z¿жz9þõ˜“–CÅ6Š˜Ý)êl¦ÃÀêø¦²Žµ òù{äSU„ºª;>Ù¸(r‹JjržTå:º *Û(¢ò¢«2K¡uH½1æ M—*¥_?ÔD‘W’ƒV­‹Óä•3Ó¥ÂUòÚ=ÓVä®2’.J€k‡Y;WX1O$®Á–hápü…ÆÞMcÇ¿þyÒØQùïÑï u}¤Ôõðù•÷#ºíTFsè} ŵ2ö“§·O[óæÀ!R2zð¿Àn*áñ‰ï‡»Õ«~ ôVeI¬ÐÌKZ¿úB6?Ù\õ©¤±b%=³$©SÀ‘ hÏ„ä¿)gNGEÍçzÔK—mC˜4™^*««BóeuúAµzÇÀ¾Oï~Ø4þ’ÐmDÊGGAÇ]GO“‚ÞæaºÁ¾¸ÙûtSûÎh©(™qBb-f@«Æf ¯óÒö­}Šøj®8±eœA Sá[yç‘v´ŒHµ¤¶saÉí£}¶Iو㘅ÂO‚Ôü4¢"å>—ÌpôýÌåOõnزӣ"b,ò =Üaê‹À÷€4Ŧeg/Î@Ѻ;N7`ËE \ñós,ìR%èaUËîÔr» êÔöŠ÷š,i‰ùó¥)þºúš-îÿ¶a![vàÛCDKSöÊ# Ò–¿nsÔÊ0ÖG?€¥}ÿÚìßÕ>R’Ÿ(Q—ÅzX¶Øxjt>é¦nw<5ºù¡’žPzÜÓ`4‹bÆ½È bêú, ]æÓÈÃ>BišÙ˜  !¹¶i4Zœ½¶µ‚m—ƶVíW*ìQ”÷¬y´Ò’TÙPÓaqæ»1%ˆ™2¤x0[ºÚN|›jGãŸ&ßi‹2 ùC[ñ [xx¶ÐV0±’mÏ ÚUœë…bvù„†D,W´4¥z%ýªŽ%Ð*‰ni½®.ðSäþ­´Q`Öçbžl—­ð5Möq4=!n"c™€’y®O…/’„{KÔð*—×ó²ÒP²õÚþ(‡÷–ìl«æì—F“˜&`PLîÇ$`$M]"2/¶ÈÙ=i4Iü”ø.eBÄ.‰béyaDúØû™)èt>ŸÞ¼ÖÀ«¢Éé4§Xý‡{Ö }Œ™¿0‹³x…ð¸’E.1*©«šY:P@5‹Ð ä'³?ÏŸ·‚^C s¸µÜ³-¢l«4(ª©K5 F&óŠö0ÐØ tß]ºë²CÌöäJ·OQÕLT‘oñqé2£0CåÏ*…†Ú´ä«p ̦ôb™»•W²ª”Çlî¶Ì@²(K] b*s™LBÐxF2M€N¡LVÅéÞŽþÔnÞ¤xôòÀèo”„ ‡–ÔKÓ4cI‡œº±Ï½`uà–·½gεÌ=‚L¾LR&Ã¥ D¡‡¶¥Œ„‰ŠÝïOím–‡ÎD–øBðˆzQÈYð$Ídš{OAîðïǸÆû;|NŒ«ßîè|ê§±%“þÌÖ¬Gê.O°q&"GGü'Ÿ¼ñŽÚÆ™;¹GûX>õFlD­î=ò»6]îü‰j¼> H±uu¦»6ésdÕœÚKT¤¶5¢j„¤Ú^Цo:J&NÏ.iŠYU’r•›–ë>’F`ÐÑ-Ë׫rg¥‘ÓmǽÅ|gË“‚˜v1è×-+u©®tfáÊXªüÜbh\ž8+t£myTŸ¬fôcÒÝe9f-¦‡—þÜé¬è°ÇREùë{UØ Î>Ú-ú°ümÄ$ãi$}†uÒ)ènÀ=šîF‘ÈB7ZC~ÄiiéfR¦å—é*º´bÝOôd}J¤©Æß”ˆ:º×“¼œu¸¢jQ Êõ~º…w5ñu?¾>Óä{Pú¥ÐME讞¶mSðNŒÁým½Fí¿¤4«nïÐ¥F¡º‡¤Zõ»Úò‹4›§ß.ôXŸÍ•>a‚6TE¡˜Šœ;Õäß6g•©ñ„=Âö‘+ƒ³+u’0v:Cz›²6´¨ÑȤü&¿Á‰Gö:¶™ª½n„FCk;åõZÄõPxâü»Öµ9×õ§´Å}Ô 2M+Ö4ÔS"t Š~gEÇEMßV©ˆ(©‹^{Mõ$~ð“õœhqi3´EiªŽvíé…ÊÉÁÊ下f*Ë]ý¤ÿvQÃ6]éj¬&¼R<‹S¬J½ÜmCQ?k2ÐgÞD ˜êH`j† ÛöYÇmÝÆ©—0q°eHûŒqù©l÷e!îÖ5ð%í:ÔÝù4 ˜õ¨ d¥ÏG8À@8T`˜©Rg pÒÆ‘-=dµ‚øÚQ èÆ÷Q­{0¢é¡2¢M,‡‡—¸QQ^+0…3^½¹bùü‡É?ßž1¾]áž-Ù0 ¦ÓA—g1§‚dÌg,õ)%2uïg_ßçdv@¾gœÙ>Õ¸Gvö™h_vÃ{ñh(,+aëÔ6–W¼s"HHBYê…ŒŸ„IB/ˆxêQ/Œù’ra§÷j:Õ£ª’áõÊßPí³,ý¿ŠÅÔc „÷×xwY<cFÏ€ñXqáøD³DSJ~ ŒG vÛß C4Uƒº¨Ä®…W ¥§ÌŸ¶o®½_î$ÃX‰4”‡.#˜ŸRX.I‚ñ>܉ Ný‹N,æs_ú 'Røé“5W‹rŸXåOyݼÿ½úP¾Í‹{Õ˜4&SÓ÷q'‹)®êÓ®÷°Ð">‡e(õê!m¾Û¾_ÁâûØwêÓ }¢þ}A±žIkhîƒUzÐW ,ãb¦ô^ßÁ)j;§X|¼ÅUŒ¶•^ÝâK9÷Úo ¸ÆRuhãP;7̆”Æ»=ô˜®á¡˜ZÕòÏáZQ—XJÝàš%Qrjz(”Ôåƒ^A™ñ°Œ4’"q%™êá°ýdûò­Åeöã!E‚x—ð@¦žÈR×Å,¥ØM|Pê"ŸD qa˜Öû{–4åóâœC˜íubLߎ”º-Êþä9Îãð—nßÀõ¶ùâvùPaaÚÎ\­ä¨#©Í½™Ò¬‡Ù¸íyQ,²W;Gý¤,RNœ5[Ýö°öbë_5÷6æÙ(×ÖöŠ[÷+勺ÌR”©´}‘••Ð6î[9ªBÈ¥ó¦þœøùjƒí›r¡ËÚj`Õºëu†W0õɺb±ê6ö¶„Û¥Bü*UH‚±Ïy¡¿{è÷zŸSí¨V­ ±~„µ5 û9/òÙb¦LB°³6ã£4):ůUZo%.é÷…`þU9qžý½5ß/c‚îԮƫÅ鮞 àÒÉ@GÁôX™þqrìžo¿wÒÿ¸ÊKïüÝî]S;Âá­ãêûж½¤‡Äàk<ô¤Kc!Ü Ì2{Bá?Ù.‡)¡¦Ûð¾{R…Ôþ<Õv¡¦Ye iÆœA¬Š“7½ú¦ÜŽèu’´þ]e‹6ù¡ë«j´Q.ÔYùïÀök%ÊçªüöÚ7;Pþ´O¸_zdžvØÕ˜:>mëBG,À»&¸\gl«§LÅŸ¶®ƒ);„ÃÛ]0Îk•L*€5ýâ˜úü ð5d¶ý…‰òÖÔkmbð8üJ$ïBÌÿ½ÂaL-Nu4«o°Ð05§ü‡1°„ç±…ì°Ì}mœ*³VÍSóê%øO½6óÈV™ —ì¼×/ÎØ¹â=ؤuàÕ¾q®ÕG˜l1pµÍhUÎeõfúÌÏxê…^œÄ p­ÃÃâ a‘—Ò¨Zì«û”úãóäSÛ—¡ëÃú±p¨O©ÙÝ:v[ïÍ—áOȦ_GéIpo³ÞÍy·³ïÞª†hǹM!½ãžò®C2'¨’b¡Ö¡×žÝØxdË×õkª/¡Îð-g uš•Ž {+á3¦Í‘ÞÏ7ðÐÇ£c¥!«=þ¦¸¯Fý¢–m‘C•*Ú0HBnÀÛl¦h{¤ÛÖÅZuÜV嘑:œ—q×u;œ±„ø¡°•+{¿šè»ü£œ¾Ó>]ZVÒåÅáœú#^VÊÎ2Ç×àWY ÐÔñÀiÀH›àgÖ™‹õ—­ùå­Á‰Y/m½2ËÛHÖ*ŸÀ5®´ÕÝD®4qš…,v#„ÛÀb&3 ZD~V%œÖh¬†_h«½ôü¹œo/|†u8>U߇^ZB›´­¤yñÊs½èvË Uî|š77ÎeUþ©×VbRæL¡¼M4O’fq†2äs³ˆÇ~yë^F#}“túŸv½jA×Hi/¼Z™Í1S3¦ ^œW+ ÕåšLëq]Msµ&'] Œë*$rr;0Ž­ù*Iã_ª”})ÓÄ«WÍ”‘d¦ ¾_Thà?äX ¬i‚a«É/~⨑n1îv…Ž_­7Æ]£=:ç Þè SÌy>¥\•ÖRÎ xƒ÷¥Í"Fyn9üßÄ[f6Ì#Û"ÐÊGñ)‚ûiÄ‚„K_²L qÔ {ò={ôàõÓèþžÀÛ*eÈÆ£±ó@­º{äj5DS×jÓîŒÂü²gº%¹i6ƒ™4”äé6ø=Ñy|˱Æê]XªV´¿lã\-`lÝ­Ž6#‚ OÈ ¤®›$ üà‰¡(¤aðT¶-Ç=<ÚêסŠÒ¨/ÉU»¤™êWÿDÔ`¸ê;(SCÔágÒòE•5·§¶ÔÞy[óq ’‰¸qL”@7RË‹[©LE•ƒ.³PF 2˜‹jò¸z3TÉ‚W È =ÉíR"c–€•ú,€ÿbN¥$™x$ñ¿º}[jÕýóÑ:cÒ1¯@c/)Z˜¬,Ú8µ‡OçÖ3‡R£¶þm{RZx¯œõÁ­ŽÌxͧydÖ‹ ý*Y,†ÊgñHóÎÝU|‰³h‘’ö6Ãt_£ƒêŽé$¬ÚFw™’\BªZ`ºj\[©š£6†§yÎ×°Æ¡±ä³´¬¼©ËÀrÒ™‰èox ­Bd t»KOíߪzÆPfÝ[ÌÅ´1õ$G[LOº.ÉTë¥CÂñfmV"½u¦Ï¬W í9X~c`âë¥èåEë8À°JU“Âú!à`ŽÝ}«¬Jæô®*ÈÔØê•ΨÉ*f–jem(,îae 4SÕ7ue4CU³X.Q E t&®…6­éía¯b¢wë,¬Ý®ÞÞ.&ÏÁôïØñ¥ž”·lýÉ0bz}Në_ûpØR!,L$’xA*EäRÁRX¼ØOžl|ä¹JÃÖë„»Ÿxµ¹‘iÅæ³CZ;ùÇ)™=âŠý|2Sàn)l… $œIÐØyJÃ(àœ¤XvŸÓ0ÃcÃ8NÛbÔ»ÞF©¬÷©cyÝ#ËxM'î—6g½-ñÚzÐŒ8dDŠ~+OÑåWŒ«»î¿²Æé|²L õsÚÓ Ü'S]W+ŸÉõþËDû¬½0àCFÚµNõ¼ÐEzà…éŽhÙBø}†Yäcy… ØiÝäèŽRNs*Lص<®—Eò„V©ë2 ål*¯äÔ:”ìðv•·NsÜ!¶u”t´þþŽ@C9>çô¢«ðÜÍJŸ9}.ó©€;+ë¹mÝjsºëË Fs©ÜÊXúÂE Õ:ä!C›WXódÈ¥·^ݦìÄ8(?‘iN|‘˜žltjkñ°Õ“ÕP6•žtÎVçð•þ§Õ#“5bˆŠzÄÈU㯵ñ+³R©?Þ£ªÌ”Å“â¢:XÔ8 ¹j Ú7•á†ûa9È\¿Ig º÷#]NÍ·×ìô½w×Tq¾Üæiš•aOŸügkÆ8Ɖê*ƒš æØ‰’6’F„¦U@}F±ª§W£•A»{ß.³µq÷µu@)CƒC3”tq:4w©W¯ç°ZÏ%­ž``Á@飗®vÕùO­¥ŽcOMA;ÓfEW¶eÔª°V×ᥖ´‘Th- Írè{µU„Šåê˜Ó:𦥱.ÌØÂÆÅ‰Í­^Zî¯ûV-µ<œÇ[Ya¨çó$õ£ØÍÜ „Š€rÏyæy$à™ÿd›¢¯÷n½ÛGLé†ñwƺî&Rô>òE®X+WÜϪ(É- œ8?í¶g:Îgª¢¯ásÏÖ†t¯ák(ä’…¹È¦¦daÊ<¨ N]®bƒ‚ {1(kÄÄùšÂ{±±ŠüSà`è0Þ»Ž¦’†Ä÷ë%"d=]koZÔ­ûãÀÊíN@Ý>E3 ‚È1‹9cBƒ“¡çɔɨ)ýœBåP&ÿP>¹h¹§VŠh^)é—4Ì}3¤ë[™ êÅÚ‚éýíè÷éX 1Ov•Í y­Gúk­rºl4Ôr, ¬µ¼ÖŠ«¡‰­Þ¡f¤;˜šíÝíQ/Á)|šÆÈchÍ.½‹b/VæÌwIx^œÊ§J ×H¬ªÁåÓïlùÔˆ£ê~8è¢÷‰±aßu†‚Iß Eàf2!™—2š$.!IàSÂM[õÕ`)Üâ­“FL³Çö_*ÚTÁ­³LûÁv]³Ñ±v¦KKÚØ÷uÈn´Œ[û{þù QV1 '¿ä¦[m¥ªƒ¶šªT®Û»hÝɹ…^VgÚ‹WòEç¼kSñµA=ò²¦ÑVJÇÝÊJtþ«^­9¨lÏ_,°€ì4?¯+~¦jê­ƒ&Þ9çgtþkrùk].*ní½{“K]š¾·ôÑþC|>7œ©Ñ5ªÿåôTÁEežž¹rVÂ^vþ?횬WÏð²iæÏÏή¯¯'¢üxKŸ”ÕÅ:ý?š‰¾Ö×Ú¸“dâN¼²¬7ø/>yþÕÿ½þñ kkæ^sÍ>PÀxœí}isÛF¶è÷ü ŒR•±¦$ª±Ž­*O<¹q]gƉ=“w?¥zƒ„ 0(Yùõïœ^°”@R¤,9Îܺ±u÷éÓg_^üåõ¿¾ûðïþá\6³©óîßûæ;çèôììÿ»³³×^;ÿï‡?¾uÜ q>T´¨ó&/ :=;ûÇ?œ£Ë¦™??;»¾¾ž\û“²º8ûðóÙGü–‹/›?O›Þ›ш£ó¯^¨?ΦEýrÍgÜ4MõÛêYIü3“ uðÙSùû"¿zyô]Y4²hN?ÜÌå‘Ãõ¯—GüØè—¿å—´ªeóòß¾?MŽÎà#MÞLåùOß½{ÓÈÙ»üãŒÎ領®Ÿe&+YpùâL?ôÕ‹i^üæ\V2{yô{3áu}äTrúò¨nn¦²¾”²9rÜŒ‰àgf¬7ðȯŽC¼Ä벂Ktpá-cÆÉ !?Nôʤyá¼£0#zî|3Ë…(›oïz[]/¯du•Ëk󽺙‹ê2—­øåùÌö÷Æ_ EQ6´‘Â|áÕtªA-küÀ ÿüåôÔùYÀçáY‡Ý8¯Ë7²¬K&îÄsNOíÃêÙ¦œëK`ôè€,ŽÓ¿\/f3ZÝ)ëY}=_°S@¥ËRÔGçïlšsçûEÁ?k½¸¯]/øvéÚ4UκW~”3&«[^¨ó Àuxø½þã–ÏVå)¢~´*ÉqýˆÌw<ßͼ}c8yÇ€u …×GCÈ™k#'?Ù~ºÛ ýÙåÍ0'&ùÕW/æç¯ ‡V,*PÝ8s5ÀÄq¾rÚ…©×P󵀟#,+9™Lp}/ÎæÃÁÄMÑnþø³Ê SvDN/*:s²²rß~nW1üˆ™ôt8\ÂO¿ÈgN]ñu“ýõ×\ûë¯0âür2/.ŽVV0©—GäÈYÔƒ ¾Ö¾?Ž:ÒÕ_€úÐ;]Ü—‚΀ØÜõ™\ÜyB%©S_R$[`~§(…ôŽ–6ä«a×xƒ_Ó‡ØQèòòèÃ¥t¨¹ë0ZK 0m ç<‡7jÈuæÓ²™˜õ!•¸`ÓÄ=q=ÿÄ%.òöY˳zKo€V°©Né﫳½Æ’ý¾Y¯NÃõO¢× O|W`Ô¦F½k0a¦Î»àî¬aÊÁÁÁs©¡±½»[W[«tjzj $Jj]Wù¼¸¸xJJж¶öè訦Çø¼Ób ooo Îù‰‰2YÑMi‘XôÍ“¢liPœJs†7mAõ-&''ãùþ(IJJrrr’OLLH——Ï&žWUñsr:yÖS¨Ôˆæë»†@^~þ%Æ[UcYÞ®W½ª·Ù/!‘~ÕBúœCCC/mß¾¦P2<¾‰÷Î.-aÜÜâ9Ù…õiÎ*’’’ÉÅ}žaaap»z=‹ô†¤Ÿ'¥ºú^Ñ(5""Ç|Aysi<ÈǧÇ(Zua] þ>Gôž–•z°“dÑ1Õ‘y¾8 øøð`ÓõR.Eî㎅*)=|ñ™‹‹k_ Ðó¥æ{3‹£“CôvÁàsÕ+øââ+kNn²µ5B¯mrrê ü¼§µžèr†­Ò@1Ýt-Ì_¦²_u½ÿ_ë2©ŸñŒà ÅbO興ˆt'"õL<üCn+šIàñ]ïÍÿ2Ä4A5eàðoõ¶âÞ»G"?€ÿ_Ù6àé‰u¢jr6¸¥lM`ït7g’ 2Ac MÐQ²·Ùq,ó¼ÍÞÞÞE¯á•{÷L†øÓ B êDš•XÿDÒ<ãáì{‘5´B™Ìü”$:C'jij¶ï…—Ý´´œb2ïc0K““+pª9ÿx™yk_;“Å Ûß`±X©cÉ|iù¦?ÐÛ¾¾¾¶¶¶'/ØZYZfä屿çëÝ{ŠvvB£w“_g²‘ÑÈàå L£¾ÚÙÙÙÃC^Õ„Z”—››k{øìÙ»5WGG(RªæÁ«[c#j^~~%Šäújíªnj™WUõó÷GÃNmÃÍÕ5åɓǟ1 0{ŽÈÝiÓx>¯}²%~ Âºåxo•{V~~“ã§D¯‘¿ÕÔÔª¼Îâío÷ûmj‘¤ùÕd>^›R8W=,ÿ¼¬,Îúee¥«©vaa!…Byï´g1™Bœì wq,Ûä#‹ž/..µ|úôé›7—ö#5?èC-¼¼X[[oP$çúN‰ééVáîÜpÅ}‰²fM0¬Šä÷ôéûŠð½•¶·oß~aŽSiߨ©¡2ÿM>((¨¾ghÈšúÂëöòï©‹ ƒÕN<oÿkÔýÕI[û÷Ĥ’ýä·û®e®AmÑèõfxg®:}` ëí–›‹‹Y/\`¬ßŸÚøõË@OopxXåü³ƒÉG™«ÚÜ„ØÄœàvþçÅ^‘µÓ!ÓýÅÛ`lbÿQ8OðòÕ–ñÕ+ IÝuµ\Ñ£\àíÝmYÇ?%À½—vCñIš1ÝÝæWü¡Ó-?h í\‡vœ…I¢Ôßœcy)ÙË[nÆ#£âOÄð´kþ kz\¸½ƒ>[>ÑÄ-&&¦¶“sëºåéæícG TU„š¸/VD[Ò'œ¶OCš¸’l²oÝ9/sr­ê?/œc}Áœuù³ÉB¸ol¬wÉ™“ž½Œºêå…¼IK3’ò¼O×râz'lnÑcŒç·üzÖÈKŸN×Ùz¸½šÇX‚–`ƒYãYK‘%Î\{Bæ7ýLå„gëxb£Š ·ƒN~ÏfK,RPѤ<ð¸†:{²nu‘ÆMg¯­ÛüµÁËÅ~Q§ðꌡԫ9æ©ùÙÙØ®lÿÖG˜ßÒØlÙ 'Òd« 1:º‡Ÿj÷6©ÅlÖl8bÔ¶]ÀIãøô¿ã°À² éÎì!z+º¾ÁN@çzæq`é}äÛ奥su~‡icÙªn?}ßâpôãn.ò¦¦G8 ÿÍ^>ÞÓ§6•ŽºyU‚ÙÝúIÉÚ–ò—ül¯þ!XžbQuuuEÅ1â d:Ûíû@Oíð7’ÆG㫸ÿ!Šceeón娎 >#-ÌÝøîÝׯ_3/Ø«—¢~E ™HFð9öœ(0—KLJ¢n}O*6Ä••–ŠˆŠ¯`3çvjè[?p #%…ÏU‘„¾s÷.ÕõKƒa›äKïoù.åáHÏÈ(-)©°ªnþðáÞöêF£ {3rr bb—0cïô“Nº8;¿R¯¥Pìê¼íÌÌøRÃ×€ýÑÍ£««{7lÃp#GÇïSYÙÊ...¿c&/È4ÿ²õ;‘1쥶ÖDˆÈG Ç “ºkÒøFì&D\ ýN°OJN¶”6¹naÑ“‹iz 2–SÖ©{3¬þ~ ^³³Úã=·º¹IôÔÅK3™LQ¸}§wÉx9Š”n/ƒ•(¶ÊÈÈTãDðÒŸ}<==MMS Šåáp3SÓƒÉxÉã­ãMaX b€’íìì|}_§‚JQ$=(íóg‡Û0AîXKKKÅÛ•0 ásoj; i©Ù6ÔÓãŒm–¹žYR^n¦ZA¡XBSîoÎN*Ôøøø†Çú²C&u{úTôJ¬Î=WWWOÏÉÉ7ìíóÍåç t ·VÚ$±¡¡×ð%̲=CCä¥K–?SVVŽÛìøf%ý¾·w­9–§ªiG¡q¸§grjê“@``\LÌ,Æå§xvÑóövã@mCHý5éF8ÁÅUp`î?ß× Þ¶ÖV[;»d®7nô|ºÖáe%¥§Ò@NלTÔ¹’Lµ988€¾€+àøpÌyŒ/÷¢—‚œœûýû7É}‹b-(Ÿ+ˆŽ>âg6•q;|g®H u u¿Ùãܹs@ƒjÚ[íHOO_XX ÑŒœþÀ`ui£ƒ_#˜…_‰‰‰À¯ÝÏŒÝ Ÿ¡oxõáÇ:::öö§íÖ}gºòÈ·^5DEE |±û‹Ë#ÚÚÖvJHIS3”Ùÿàv !#ã,U®:&|•&›†ÇÃhi®KcÀ©€ówL@ ù(Ƙï5ÓÚßaVG£…ò¤iA=oÏDZu2Ö>‡W&ö7Ç%ÅÄ”æ<ܵµ?d(ÞöõóûCBfôX”ꔚ‘±±Þk–ôÉqÿÙ.æ& U!2_ ÖJT:¦86t￱Ãd[¹–Læ‰Pl¾ãïèÃcÕªæ†l½ÜÜÒR>\º—ÿn÷Û?9ж$ÿÒO­jÜP#p6e3Ò7Õ«ÔqˆúÛ[*l ÿëÿ‚˜Xu„±2‘xœ¤›eXT_Øî‡–F¤A@@@º»Eº»¤¥Dº»CJ@ºEº»[JZº»»ÞÅÿœ÷Óùxöu)3×Ìì½öZÏsß¿{ï™P9qT$$‚*)!ª@ ‚Ç™¯ Áÿh7¢àŒ½ˆ¤Ê«W¯æWåWÀSD M{ð⟗Pq´h„)DRTXÅ%õ ÍYGÅôêd¤ÅÙÍÔ$Ñ€ú㱬–ðÁ÷÷¡‹xÚ2¶²Ì)•÷V^’_Æ“Çe–ñÞ°‡D¼çÀ"ô#%“8nAýâf}ý¸Î õZ&üGÚñœt¸Éxœµ—ù?T}ÿÇÍDY²d “+šÈ65–‘˜ºdd™F‘%Ù)&û2Y.kˆÉØ1vM#s)bŠ¢A†d[ec—ûôø~ïûqÝÀ}ÎëœÏOçóx¿ßŸóy½ŸŸsSC^n7¯Ñ5=0FO'xC'A«ÀpÔñº¡Ûáï» ±ƒA[¶ã'ÿ£Hvm±!÷€ XAEEçÈÈHWW×ÈHCmmúhÀl÷---, ‡Wáñ‚õ©RœQR ,Vtt4=Ù†¸£NÖH^Qw<ŸwÉGGZPM]]1Ã8A*˜@•3ùØÊêjÿõ ¦døÖ™QÓø<a°3¾:Õ1”\Ã5£xTeÇ 3ÜÜÜü‚LÎî;k˜§bgˆ;=e’n/öÇaßdý!‚ì“ss!ß?r‘Ðó,ÖË÷ÙÊ„®Ôkþíòq°`o]ªûqÒ9߈ë07ºX E½Íjg`Ø<ŒWÜYÈ÷;‘që^'D;þ÷ZÈ@_#x­ûÛŸ/ÆŸÁû×8ÖX*têml mñ5qÁ£úˆúðbdðhALGl |˜ÁŠüÿ7aÏæÅj.·_¨i !.¶.ŽåZÇÕ2ä‚{áÅ(~øeOˆÍóc¹ 35–³Vn4ÓÞ-F¸ùê1–Ñg£:KßÌ“d¦ІF¨¤uœ%"`Œñ9ŸµR<Ò§‚Œã£†LâòáƒO~°áEÛÙ;¼ñÎå==÷tó˜ˆözÛr{* Š›óŠ !¼DžS1öÛ1\r””1¸ ?($kë–Í“‚"&yúÄšÑÖã_ö"ÜSÚc5+R8ùÈ©Û Bù~Ñ\l8ñ‡·þìv:ùW‹>ª ¨ÒGÙ$'‡O37Q¡ê^ä=Õ'Îß+J+xÌÙ®–ge• ~wÛQÁ¼3yc/Ÿ­B Ãé~rØ Åð™EyûÖY®Øà|-L(ûr™:á£×žUäÿ‚ewëÑŽaÂICXÂEz~òÒ·;zܾï3.7AÝØü G(”±’*—k• þ*--mltÛý—Ã’T\RRÒÜÌGI4°¹d¾ûDu3.†ûƒ¢`ÌŒás£Š®î‘(POOO8h(ÿŽòYKœ°œª*e ÌÝK·¦Åa“ªµ¯ÚÚ)ºe¦,IjEª”±YŒAÑÑÑéééÕŠ±· IC7ó®“)É&'ò±ÓàÄѧÔÜçzeµJSðq?+*¾ÆÂÚØÝE„¨ªªªÐLÎϻÒ³^bë”ÉÇý™˜VêÎpŒµD‚5›ºOóJRà™1Òo¦ïÛ´ÚÔcÊyômˆ·<÷EÛ‡Áh1ðízÇò‡-u“@OâÖ’|?üq {uo›²’£IúLLS(O<æEz†ÈuÏty2A—è/iÍ0yÌiÌÔqåœåô[òˆGƒÎ}Ϻ‘Dí)ÔFÉÂñ£Þ§ÙGüª}\0B÷€åhÉGÓ´ªÞÓµõ/ò­Xí¡iµ.§kõÕiŒÞžWoÏ·G2Ë&-ÀÄËËG™©¨HåTÖ×Ïì:lmlñ:YÞ_º_ Wh ""VTT`z;Âg·yÒÍW5Ë×É{À˜þ¹ÃÅ<‰bP~k›1í B…>‰É6ªÛ(}b?í(ž™îØ6NzÞh¿=Œ0ÝæÅLns4‡@)Ÿ®£§÷Ü«×üp6 ]ky»›—Áa½ô0¥mÍÿt³Nâu³:­çÝòuºtttÔyÙ““žþ0¯U¹Ëãݯjóر¯Tˆ¼3|ZÀ‚•aM‚3Sõöˆ—ÑÿðXèЇ–­ãIAã‚Mgj9œXZ¦rÇ5:ÂuòÇó¤Gœ‰Èþä>ÂO¶üñíÉÀüªs‡wu°FuÕþ¬ æD8§ ‘KñîòTV]«¸ÙÓô|Ãá³®„ÞÍdêz˜@„÷mKØ‘wÉ›ø¡ëJ‚-˜xñZàT¶77»·ÏyyxMXƒ Pàý;ô뛚¾Öh¡t8¹kjâC &ŽŽ¬ZtÛ†³kø*{½ÕlÎ4 %$àB¨ãþöôôhV™dyÇ:÷! ­†/ç»Ý¹§´ËÍ^–ïDÓÇs~C©½ìø´€:Ÿ_•Q3ü°¯÷ü=44z`34`d{ÿò芟Ÿ_,•|mM¯½ðÇÓPÃØ†¼XÒÄÄÄÐ7TÉC[@ònn\b(†LªtË–›œËd(³ÇwoooÑNŠ%—Ó&ú_iW˜O®}¸ˆ¨J_T¤ª*±>¨–Ö$w%çtY”`¯Ú„ȹl¸»ô¿¡–ës}ý8¸IΗ!½=ÞÖ¹-é»Ç_&Àwddƒñ®Q]t—­×`?ÂNˆKÍ F4::ζ׈8 Ñ,”ÓØüµCu`ÏsͤüØ\RwJˆ$ÉìYë­È7¡RQ’ŒQ¢a!¹r y¦Î&­¦‚Ž(Åê³Qme³Óš:—ºXë¦øü¿íçÎO1RܛЭ¦tÜã$û›Ÿoßd´N¶ µîÄ|@æÌà;³ï`}²’çËšV6£äQùy…娳9œ¯üäJÒ]Í!xm1-XP\'w©hN¾)ZBξ“`ŸtwôùßÉ«þÙƒ6×¼C:]âߘGîßÝg!µ)73m^·5õŽíÃrŸVÌÖúäZw Dï]ôý'Ä‘ÔÀ-ê[¼V ô÷7¯ù0དñI:Z¬…+,ùQqÑ  Ú!Á4jxŸÄä¤ÏÞL xÐTíÞ•eø ß(xVƇ.OY*ñ~{R:¡Ôx„~ؤs YÙçÒh{Ý8:>i%@#ñ=_îô &ÕìKºøYeÍã$Ð]PÎ;¾4ZŒRÉñi$sðºùdÿkHæ³]bô™¬fÝ»ý¶"µ©°H;úœíînn;"oÆ{J­ÍZÜ.->IÇϬÅü %«ÑŠX¯ÏËËS¡¹<=}'ùϪîúâÂÅÝ}߇ ‚Ãóî" 33³XyjRûå<ÃöÔ7—Ë…6½|yùEçίwUî|w÷U¦-'AsMÓ¯o€0ñºyݺ=X/  8OÊ€‚øLŒµ>%K|6úXÂøÉð­ø¿J­2US& )©df#1KËb€rÎG:ººKÑù/n·Ÿ½¾T‘ÉŒÞöæZâÊ¬Ž¸"o…{¿}ÜJ Ïñp~Ä*³ÁòËœ Ø6ŠŽ–§—Þ›ŒöÚZè ǽD “WyøZÖrºÈàE_%ð[þW]Iüㄚ åçè”,­ýßSφüoùPÔS²èoŽ«FךÑ “!V8.•Äf\ON³›B×.·L'ßïeÛn}Sþ5>"1žV«¤ë-fÖèÕ2Á¿(ûšIžxÐ5¬…<,³:¯ô‡LñP¡ç1äkvq÷w z‹Xϰ·Ó©ÚÜýÇŽŒ¬J§}ÿÂ@ðFÜž=°}2ôS?RÍ8Í%_\áuuB0mL×,bÝ™³GÌâ)ú#åØ}wQ(ƒ zlƒé¾#Ÿä~Â9§Õ4ýü=ôöǺÕTÜø[•ðŸTs w¥öz›¸Ÿ¨xâ.]¬e…ƒÓwxÞçÇÊÕXÏdSPú¹E3­É½ÿ,¬N.i#÷#]qš"U6çK­~ò¯,ŠƒÞ§#Ú¬ÑåjÒ€?¯¨bFV( uêg eôÁ*õ÷ÜåsYöx (Á8si+¾& ©úVÁSI?”áLŸÐŽéüÏûàD¡T–û¤ÇƒçYÌK‡ƒãaë9a!¤®0¦• l85’ ¹ äx&Ê«*ä2ñׂµ×Y–ðåÉæM-½HL¿qv¼.—ÃÒœžŸëN_Ë3+/‹òò$ÕÉú‡œwöáÉÄ¿´¤*B*ëÔL&›TtËòìêJ f/>>ž\<H?Æ« ÇÏŸs¤~ýú ’%—7¾ILL¼¸¸m ¨òEÜ]N³©”ºò“ÃÆ¬PÏAMÏ~ÉñÂ@>G ôŠÇ|§(šz¹LÖ+írĬi/¼éï;Ef/V±.[Ù¶k‚"I[f5Ñ…Vj>÷D‘yÌ0Çöcaco“ìmmõ³HÆÏβ¥v¬ÙÁÒ÷¥ßÇx¾Êf¶³B>v½îl¬ªòô‹øÉ‚“£Un?ÛÛüQÑ(÷ê7ÊÓ­†ò8Ìb毘Sß›t!¯å†,qË Î#CR×ÕÏK‡¢VÉfl8G!|1íö¬³úíî0;yÉ¡àíªWÚT¨©Òà‡®•O:ÊC• >£)c%~MÙa¾ðBÒ~M6…¯EJÑ~ý8âäzš£õC؆†yƲyƃˆ y°4+£:A˜:í߬:ÆŠ×uzW›CYly1Æ.,¡Å…d9š¥Ã(§'±”»ûuM §S€vÉÈ)ˆGXŒ©æì¨‡ñr"ëõ.̦`evÇèå‹5J[RgÇÄ~È IPÄ ”áIcˆ“Ê“K£‰íonnÆCƈ¸£†€ØzttÓ´HŒ‰)²ç…¡²÷[RÒ z—áñ`C…jÚ•O‚j¦_ïhÊsû¸LY RŽÙ”áE3qôœði&ïá{?Ôà~Ü¿éiçÇ»÷K媫«óòz +~&$FˆÅöÿéÄd«Ý Šš$`¯æ ùº½y$çô³­-^DãP ]O°æ/u.Ü­\RÒÊ{´+i/ÖŒêæ>»?ø}Jé;¥¦Ä®|bç…ü_Û Fö£ìGMçµÏ1² §¸9‘$v‹’ÛDü ÐýÌp&;Âø¡'<ñUÞ‰WÛ/ eAàk?@8H¡|àRì àT£¯ÓOV95i½™nw6Zä/Õ„Ñ.Uî?Œ0þКãì 1¿æ ¿TV›§ ˆÃ±ˆ>4$ùV]záÛÉ?xdö™ ¦]Ž%­¾GÄdË>dÁ&«ÇlÒŒR1ÍùºXÇŸ¦¾‰ë«÷OµbJÇØF½}ßyËÚ°î´ß㹊EÙ]'<(wúÌ‘ü=Ôêúö.¿•å'öR}Y0«0M[ó’ «•~w™,ì´ÏÑØÌSd]zZÇÈWôé¶øäû‡>ß%‘°Î “;°5È”÷®vYºÐÃÙðþÔƒ:>µI£M‚Ä¿™ÀÙiÂ^ñÃø>¿B, à¹Òª?ãv¤ »GDý»’IÌT@•ö´fè:65¾ï£‘€·uµò¸Œ¢Ÿµús½2…ÆóU颺×_êÊ êâ˜YE†IIoE‡;pqdf«ÑÛ>:'ˆás»4Ùìnà2‰^½'‚£1¸°w:¸‹ÔƒEðÖº•5x+Ȧài ¡nšgIª9¦ëÒÒTK+¹®Ž3¬›€Œ"edþé_ÑÄ¿6÷ˆ7žÂ©–|MߎÆÄTÛœå-Ìç£0XÕ¸Q4©¾ME5{·ÔµJ!r¬µÿº¦n$yþåù@ùKe]ceñ9T+T”L¹ûZ2&1Òv yxâž$c ¿ˆ«WmˆÏãËód1mt”¹ì©]Rpp]?µ"Ó<ãu@ù¢æZv;„ôâ”5±FîÙ|µ¢ø#:ýì Ä+üÓü¾CÓ—,¬¶3òl«É¥”‚Üpꪄ€·•ÎB)‚7Y§Çåªçñ¶…+ã0?j‰Q¸Oª°kïý|XEæî:™ª50†ÿP±yã´zý½øô·æÛcºEöeÓ¯(«k»´³‹E†ò~F$“yêÃHGkü¿ÝÇÉf.'$?eÃÞ?Sú?Œ¨U½BПŸéJOîÒ\B\äâO¿;|ZÞ_ºéÉëyŠ:ÅŒ²j xg­Ù\N¹àÎdÉœ¶ˆÜJÃV:¶›qÌz¥›>)^–kÐfÊbÙnäÄ従¢n;âl¸BñåCü2{˜-b„:$ê(Šƒl"KöÓ©·]e}Ö¯fÕã€Ä<æù&Yà¡çdûí/ï2ßÊdD´#ø ™$‘Ûh_²^í@¶‚ë„j•^é Ø C Öƒ&|³¢ur¨(!T¥!£Áü&}$èÁ^þ0 ¢H¸J‚˜¯Æä ‚ò^–$ÄšfôØÌøþ¯¬S+ü×Üö0¹ÌàŽÚÏ+‘0ˆB!¤;Ðáó(‹N.„[ 7j}l÷‘i|û–èÃs)â%‘Ù‰j›U¤.Ö×÷L½?9&Æ'‘‰ižÞË’½R\}èÖðk€Þùú)îáá¹ÎE.µŽŠùß§çå üqºMÕ­æàÝŽzÜ]œ€”9ýZóÛ±¡‘ ˆ{ Ïã×*^´)±¸¶ÝšUl¦ƒd û‰ßŒéFßÜÜ™cöv x‰ %Ù8‚ÃLŽçÙ¥Mտü»›x«ÈÁ™ÊWð¹Ùåôù>áº5ó€[/2œŽ}ôä‰ÜO|K¢Nâ`õÔIA¸E‘ÐuÒ¡påÐ}e‰’<™d8É„‹²[ã‹À>™,|m+Ä'f ÑuF¶.mé ´š?ñûÒÓ6óþ¾ôùŽ_ÕšC²E1¯±,ùp¢›ÔÔ™dó„÷÷:ÂôU ” ¥W½°óJó»H=|^Ém$EÝ–òl—óv3‡Ï =â¤JJJâÍŸ·¬Ç|}}¡}9Ì"—Jh?|x÷êW•rLlìzÍÄ~mîz/cP@@uMZKjz§>¤o%¯‰µ”—–ÛÊ¿ÿ ¥Ê I`tºž~@C]}Û†ËÏßßû–¸íæÓõôâñˆ®s>ŸijÕÒ^ë¿{ëå§ÑÜŒR¯93±®Á¥ŸÑ%%¶;åáwF>Û¬•z©Ô x?6¯(›áÛ(¬)뻿²˜¡FÕx]ž½rW&Éu(ó€à‚ÞõãÁ¶ÿ•1®L„€ÁVù¸LÚ¡ZJ†ÇYÿ¯Oa ™!ùRpQ-Vn›ÿH‰ô™2Q(cAdærÜ›ø~ßí«ÊŽn^;œÕGË&cE@dU´Jç ¿´œ‡N4Ñ&³–LjΨz¥þWûWMãr«§¡ÉÞ”ócBKÜz®EÞ˜™ZÑe»/ ¼¿¯H–Dο™™™Ëýé°î5€‚Q‚O7ëQ‚binEˆù2íÅžczÝóú¢ §¯0<<áE_ý°1F=Є™ßŽääT«î¹ò,Dgÿ*ÿÜËSlùC¯ž}s÷à`p` {ÌÌìî  ÷R³«uþÖ\ÅìÜœÛj'\–‚KR¾Ê^±f•\:_¿IÕúúº+ß’þôGqÃ÷Mš‹ã¨ã¿!Ž”’âb:Ž«¹:Ê¿K$!58Q‚Êg×2ï²ôy†«…åͬë:ÅÛ¿âùqrT} ö2™¯³Ö³³«” ¨Ô*Ñ*™z·çê‘.cþE©@… ¢gÕfÇ¡Q”ìu¨(¯ÓÛ±—aéz«f[T`Íü¡TŽRÞxÒIÞ¸d E÷Ê7Û¾ vXbT6KÝn 5‘•Ìd&:ìº× ?—;:¡}¦çj¾ Þ\ây=«¤Ìî*¥$)ÙG«nhhÈ„+A¡««ÛÚÚ Ž»ëðwÓŽ¨)P†sÄUòƃ!hž9/jw¼e"šrõŸÈêzpV‚‚ªì› ?NÓgnúÔ†§‚ÖGc+IW$d䪪*###D?¡7(ûS%÷“—ÈxA®îî˞׋©övv^!"rÛo¡Äö£ #ÓÒÓG„…1YaŒ†G+Ò¢šTif‚uŒ•]%h®÷ÔŽjò¹ ï¿Íºµf¹Õxù›Ø¸- Mä[^§ã–kLXƒªY777))©T9ªà®×H(ðKÔ`a™ð•óäú+A"~rr½póôôäÿ®þɉh’Ÿ)I N5ãuX7hSfff0ðœ>VÍþ”Ê3sàIà R¤ÆÈY? â2þý3.îp±éúéþx¤¿ÿüyDÌP¹4žÀ˜):œ°¨¨‘¿q´Tr©õŽûS!!!¾Q}qj¼Jb’cGAAA`¬Å¿²²ÞQSçççS³°°PP‡|49ï¥Ú´suv®ÉÒ¨µÔTUUurrñ‹ŠŠjjºÏLžÕTWOøùsba¡x|wnnÎd8õ–wïD?€—Ò½'ls0‰U9WF¸ÄÁÞž5¶_FN´ìçÏŸ‰dý2¡ÅBÊQB„T™Ž^>–M™™íúL3–µcÊkF?™(Ò&§¦xÒä~Ja´µÑXšpþïwS†¬¬­ÅçVÖ×ǧ¦¦&&þè3ÊÁ¡Ó`Z3/Ð(™:ßi»Û+:<<ÜŸ.ó^ ¥êì,ý4¿y—žN!–=½ÏÊ¢¥¥egoß SªT Sc§Açu½è,ŸÎg^£›B¯F‡€Fä²§^YUÝš2Ä™"C™¥ÀeÐ Ë“Öêz¾• çå:_úûíòò²Íó3Î` ãy÷77ÿÝs›œ?®Õ*¡‰û;=С߷yÖØØ¸äÎÐCNªh2(8x߇8j{wW2fÃÆ!T./ÛXÂÛûùêê - (ˆ'mT x^Zú}ÍF@ÏÍßkË’˜¨¡ `s±3¶Š+tCâû2ΣjNØ8· „„|DÉÞIV65Í[ÕMZà„uë3Ñá Pë´|àã㣤܊‡S(P*Öæ°ûOïé,¡ºš!A[MM,{Ì‚KÊÕÕUS¿Üùê@““³n½7*–ÂõáÆ6ZR¤Vò·¯/¿¸åÕ+.¯‡›hrñïaaP™55qR9n®®ªêê¼ir3 <”ŽŽŽ/_¾œžžæääàããs¤ ƒX¦iqaÀ„ CZR2z`óýû÷àU¤@è^Ûµù©©\jPR*4—ÀwÂñYï>¨"Yÿ^0z–ˆ¡££ Š2e“¡¯jjj*(ËÎÚýNø6_­¨©±$? *4ô´´a!!H "X’ +TTT^vzM²0£¬ŸºÀ Û4,ÜÜܰšW×ÖGˆO¢gåaw:À×ôïø‘žžãgÌ•6\[Ë'õ… tpaQ‘dÌÅõË&h¿5ø›VAóH[¨@¥õùé3ÔxCլޢ¢íÓƒ+CÂýf‚ê*9 é윜ÓSS†xjêêÓcc†£)`Íéés” ô¼nsd(Y“dØJ@;è3í8ð@l@ æÅ™|­ÑŠ“ Da³£3«Ñªš=°áŠ§×ŽOJÒTP]\|‹íˆLf ¡ªŠ]ø6¶ÃŽ;aàòúÒ§¼qGgçu®£Ãô¸¸¸ÄÄyqñ¼¿‘&bþÑp ¾×U³DXûX¢1Æ’’ˆQ½Ù Ôðßðo²3Çwß½{§B3ÙÕåß¡¿±½ ë·³c†›”Äíz¶Êíìì,ô ZI0Ò{jê¾U,œ»ûûç''‹ƒÖJÐ4À÷•vkôqüHA¯ššæuèƒd˜ÀðÙ%ɰâæbwåéÕUkྒྷ££çù'° æô>`!ˆ"ðó‡ ¥æÜ©iqhH6KáÄ…/PÄ€# Ä¢•i…†HVy}}}nnnCCCs3'§:Mœ˜˜ØÞ¥[´ÄïI ¨ÌéÏó¸¬x(šššn-é›NÎ/Å+.*º RÖ\]] ,“›[“§Jƒ.NjrvÖœ¬Mpp°(YÖ˜Y>¶¤„Ä'&Q o2þ{±)“ªÉ‰ ."´ T0qqàÙo¥‚?†¶VV¥³–¹cft8E‡×À¬1C)øøRG¶õZÜÿþüJ Ô8þðoœ ¥‚ꊊŠìì $Õ» Áäá…1JVfg“³°`>†y„AFAo)+Uhld,)ê臶:„ûZ3ÇØö`×ᘔ”$ àÖ²¤Ï„!–$³µµ¥¦£Ýý4Lå1>( yù¨E«ãƒXHÕljB‚)3J ¯óÑFì‹!IÆRš×hU[tEPìîì™Þo >ïnm]Ýngž´ÃôÍózÌX:ÙØØØÚÚº¹ñ¸¹µèUhÐW˜k—Êý¦KÌÁ7ûM‹îó¬iF—m§1‹çýaTNÌÈ69ç~…Q/444ƒnóÎövÇ­ `›ðÈ?FçaÀ›É ?ãã))(Âó#2˜z{)==}¦™,“»”0´}ÎM$ ȵ¸¸8ÀÔ––ü× ç‡uËn..áhÁëMÇ­5¿}ûæèè¨B£Z ’ÎãˆÔ{š›KéGšœ’â~­N _vf]7ï%L÷¸X@@8{n¢HðYmš8¯›Õ`­’ÚÖÖt‘¬Q³j_å³ôo§kÝU&Cw;ÙQég’ÀrV—£Çwb†EDx>œöJÆ ö÷ÏV‰;:ÖhР¦´§—t@ïÎÎÎÁh“““YeÀ!B%jç·yãýë§ ‹‹¦CÉìÀÆÓäÒÒ†Lª¼eÇï}<ЂÇgf$r”¾qhÛØœØ¤B¸"G2½?==Õñ1žmë;hZ”ËRP˜V*QË®ÎùóçOmmíÔ”È:~{oÑzeG¦Ð'΢Hu©±889qJ¡À‡uÛmþ+-eÀêZžv[ªÐÇA‚ƒT7k|úÜ•¥Tp{{ü j œS“gWê²Ç¹,XåØñ]‡j†ŒA›Ÿ~c̰nPسŽû±òÜ*­ë—@¶HHHàý‹FqƒzÈ“Iú5½ÔÖæ­¡¡!-ìß—ö©úçubR"/hÖ’«à»áÙXx[]³¨¨¨‹ WpW´E w ^f‰[ݪOpm ðl`Ú™——J¾{×±ø(–CæÝ½¸ÈÏÍ}{²ÚFt«§Kä|ðXZ¬F¹Þ‡.󻬬L$KHûÔ…ïgAÄ:—Vç×ÿ¯ÙcõF½h*õ™äR¹|)@©D¿9Ï•v_å°Y!ÁÄTRQù=½ X®}Õð™-Q›Û%Ml¿1Z09ûË6 jT^PÁ¤DŸ%©%BT\<¸ku@ëoÉØ­á´”ÔÔæo󵨄(¦Ì¢X«GG€ò8¬—Ч÷iiiýÄllÊë‰}åg¨]«$›ûz¤;“Mƒ.ÞyÉ¡Ám”Ïfù:d+rP‹‡@†T0Ò¥>P–”s!>‹VÖ_¿ÎÕ¿œ.ÑN®¡¥E“0P¦Óà÷ïÕ“ø§OŸ›]*ªªÎq‚â¼ zÒ£?m¡ËúÇPì¾|ÿì÷˜Xn¤@2 î†!¢d8aªzz‚2ä_+4œŽvù€¾IN&HRÓÖžÿ÷O$KaT$ÝlèXð­±Oˆ~‰ßæ@.:pºBùˆ:ðíà ,¤@jã  QÆŽKHà%Šôññy~ØgbX‘9¥Ë@EI™Îe -öîë¾ °†Ï››Ÿb6ä«Ý.÷RÜ‘‘‘€åÆx\[3 ëþGkúñ# „hèÂé麢¢M<{5µžîîE¶À£‡Ë6D$ÃpaÝRÒÒÀàý 3$x¸ §rä¼øCb rå㈓Iïïè÷’ ±¦§§³›yÒÆw'ÌØ€¹RÛˆÇÕiõàxÊ-S+Q;ž«¡ebR`Hðú×'ؾ}NHHÁ¿hoRaM¡Ÿ£4Ë„R\V$OZ$…¤¼üÈËÍÕΨýLlœÖ»=Z,Ì05s°ó†~c$”?Lt¼¼MÍÍ:4q¦9îzum˜ÙlßK$]KŽpì˜WÔvN;E>~T Aq„„|ÃÌ( JÒÚWkkõ¢IÊXÄî ;."ÿEÅw ëkkK`‘qýÑ>³þjm}š·n»<;žüÙ¬¬Íäd ù —ÁÀÀÀ7ްk?8d%eeÉ:FFHÅ¿´Õh‚¬BNNΨSZhªXs}ssòëˆCMM¼ÂÀò•|E²NÎÎ,¬¬ZÝ.-lm+IJOON\޶EDDÌØ´€x!!ï_rE‚ˆ±‘  Æø3–-®^ªzA*K´"¯ú„EÍÑr› 7wCMM PKãÆR…j Šd–/H#`ÀryçWA„}®zQ ¬Ï¯ìì`¹2‘÷¯â¤U¦Öëtª³³»ÌØ$óEz1{ûûhèè$Œè‹DeBÉ3ãHAudE!F¹Â’€À’1ËæÆ†N‹›j–ÈžÌÌÌ‚']ÙQ?^“EÀj~ºÛç#–§À¬©«7ckZdÀ „­B³y~ ÚH$‹‰†i2Æ'33sIùôöÁý¸; ™¤¾­¸¿” ÌÍÍ›œÉ$++*^7¼´’–¶öØ`×D²²’’›©~JròË<ïïKcÀÆI æ¿ØÛ³(š”ÊQªÑVZ3kÉ@CS©ALp/! {ÒBñ9Tô,Êû!LÝqŽtÞx–1N\ N+0•åý· 7]'çç÷§½$m7kaMGÒ”±——?b( Th°‘>9:²[TÖËþÀÈhÊ’4ž'ÞX W£õYWwxÓD õçO6\e—°`%jûÏ&‡‰¦Æ¶DÓ»оíVu°°6\D*Ã…`4˜í/•sww€›Q·ùæ|Dp¹ÅýÆîá£AF`¤œ'÷–ÛîÏÐ='''•xÙ4/C!ÆèÂÂÁîn€’Ÿ?7Ö×É1CƒÌÒäLUUUŒŒ´´ÂØoìœY’,AëçC™Y[ 䔇€wO8¾§óË5 —RÈ`"3LÜ}*¯s©XvÿààB“³µ²r¬(Yÿð0Hð``–)))éë“î©566Låf%%Õߟ*¡A€¼òFò#ýõëXnP‹ggÿÌØ€×µMU;3ã”ÏÂÁÁ59 °¦ QÉ¥¾BAÙ8¿ujJ£D ì4©Räÿ“vdÃ%C;k ÀWÜèdK]Ýõ¯OabÉ%ãssZº@iÆÿýS¨Ü´‰\;¿ÄtuuµÎ¡É(LuWW¨\~>>¤Ý‘‘‘^¦Aн†Lx(*||Ýß±AV¹Ë}Òí;ky´³Ãå~U¬U"œpA°ÏÛ/¨£»Hk››Ž ¬ÅÅÄТ³gf4>þV¡8ÍÈhþÇTég^΢I·Í¿ØaÝà ï[XìD¡ÒÎÎŽ‡‡g4ࣽ}•Xöêù-D(ÆØÔÔàˆ”Ôߥ÷C§ûƒÙª1êô‘íeÇéÏ’’’î@ë¬IìÊA9€B  4¯™@ jHB»ÿÞ󤥧¥EüõÌÚîÑgRDH@ ¥¥"Hw z­ƒÛçûûû`r]ÄÿºÖ׳OX\F“‹¤¡Ç‘‚œm¦ö#ż¹‰š6†ô¨hЕ–ÇøÅj_½¼žZ=ïsåÒx¬êWõxøøt¨±âãâa¡lªªvVðññY bc«*+¯³Tù¯¬èÿ¬œtè ןƒ›‡Pœ¡¤ÈOªœ©¥¥¥””Ø7PXú„-ú”!9 ‰ÈH«oß./.訩A>ÎOÀŪ6J~¹˜ÅÿUOM­ÖõܤúO{wî7Â4¹cY‘ýàŒ ½/_6O×{) þú$ö²bÑkt@ ̾ êUSQi>ûK†Ë('+»Xoû‚Ø´¯þ¢ŠÐá$ ®]ŽüMVF(*o\àCï‚» I)M >^¼áu*®[ÆHOßr½ä.K«Tð[0ìæÛˆÀýÁñ¹•΂R÷ˆàsjbb½Å$Íï|§¦·]å„ì±3¨Úìˆ"ÄRØÌ•DEÿ€7YVͲô$êý‚Ü5Ûæí Rrâ°J`í¬“§6WWmW;WuÖFzABÕŒöV‰«µµD'ç˽Illì·oß^^^¢èêw0 ³LîuvŠ„uŸ]·=/‚>°¨™³ä ‰s;Ûè_XX U/9tt·ºÊìýô Z¤¶8½<:zr·_EÈÉÀÂbwuºQ,»D·ÅmÔï;@ nX LÄ8©O§Ïf¨`JŸNºÐ1CA¼ –)PñºCs‰Ü54t˜dš>Ûêéb×2 b«É F¨¨uÛ#GTïùÉI½ÃnÌÐË—ù;d]ÄBå¼[áJ‰‰IKó¼ØC v"‹&mû.’•Èçj×–có9Ü„†–vqax˜ûнiôÉí6­h›`¹¼kþUÙU»†ëeoo`²rrr ÂÀ+ŽMMîàõÈuàùÇšÚÚaj!¬»Â ’@/ ¢¢æ›á@R½Ÿ.vÇ%AvWV~+ÕKìn âç·^^^çùµ¢.P ""ÿþý;;?ú|7Ývű‚ü1{ì…ËËËÖef’RSçO?YÔhŠø"éõ³d´òœ‚¤þ!îo!g¡JáÝ›@FT%Þ Iˆg‚L(Ȩ¨²`­âÙ PA™ŸßBûúˆdQc!HyW Ækkk‹úGŸ‰N¯5µÛ„>¬À«£¨¬/„//î¶Ð™*UhØéè +€¿ÁÂÁ­rY1á)Èq_)g“úR¡Ø„ÀÂÜâââø¸rÙ4•©‰É/¾EákQö6q‹¿âv&f˜Í T 5ö’xóeÍ ÙÃËŒ¶“‘ºD*—÷1ÌÁÉÑñÝ#è ³œO*ïQu9À;wÞ7-‚¤0Ç~o¢Àõ| ’,ÿñ5œEM#À¦ÖÖ%3¶ ÀÀ¬þ€(Á'...<úXN0‹¼¼Þññª Yuš¸ùÚoÃ3?¥ØÛÛBœoF{º‚/èöæ&•Çñïü¼65Ö¯äMWWW3bk˜¡}õ^¬ß‘“8ªÛpöЉ/¬›ÇíbçîrAoî¿% æN¼KFïëÿoÛ÷²ĸ¾¾&ñR k=qi&ÌWyÁm®ÔMb^§â’zJJ“Ìç:\6º¦’¯o#å"Þº hT=Û¸>Zäµ^⋾‡÷Ö€ :˜š”¢ú²Á„ôê•BÊzODXd¤€×C½nÉA`Pxo¨äDÇB¨¾ÎV~1Ë<´á­dö¼ b’uóiÏjWpö¯_ kä"¯CE1€}t#’ʉ! &vËwîh ™››ĵ9°,Qž‚ó G e1N=œ¯Ó.QkZ´ª›wå[Jå¶ÇC 3ý`:Ý­…8އÏådÀ÷3gžÛ3,@·‹‹‹ã¶gbYWæ¤Áé„%çeÏ:(¡²iqqñs—f???íª*øìÚZ§—wÐeRe­³!߯Á^‰4”!ØZ¡¸xp~žN ¸¶‡~Öׯ_ccbF]’IJoïï³ ™Áá=))á{O«LG†™¸ºœxiÐà”ª=>>r ·ÇEŽ*H—M««¨ì\ºùûûßS üòÕýøñ#k½m,É0#ʹ2ŠE“ìììZ%ñ]«°ððMMèiU6«ÍÍ|XòÀx¼Ÿ<"pÞ¼Ãý€…TXH×K{{;œæææ—¾ßûõ9\ Äi@µßæƒLŠ€ÎcbbÞ(3šT¹r¡€rrr"Kéy9©n×àñ›= Jÿöl300p„ÿzÁ]À%[õRåXbäJ¿˜@ÒnûÐ@òpP5R¯Ã@s„“Μ$ÿ×ø.Wdpp°»«kwOOëýQStt´C]ff;¨K}& Ø ³±_«ƒùJÔ?««Ù~ÿÅÃÿ›J>}¡ò ra×g-­B¥…²„/LxNMžý1ïÍä«ûÄ­´í%S\µÑit((,DêµÈ8^]UTQaû£õ京`â»XyaàÔ×ÖÖb^~;H233SZZË‘âùpc òÇ^QÙ’]BowZ·UÝñb“30ÜŠŠŠóíy¢úvaF Ét`}ÀJ¨eNĪŒûxM‡‰ˆz·“ìçÞžoG±õ&‹dQPPT×Ô˜×hå(qç·ï:&æßÜM¢_æø®VÉ.B­ÚÄÄÄüüü \=f c e z^‡÷ìÙ±¼¬GŠAÄe´Ì ü(þ«ÄÎHÅT¹m@ €„ž¯êÚZ.þIçÊUÍ~¼ÀT€—òôlY´HOâ@CÁÊÊš=öWVV–‘± æfìL‚Z3qh 4²°3 øG%²1)g§¦–ÚÚ+ª8i|§ðÏQÃDÉ\ïvóê¾ÍSâ„(Òc#¾¤}¿“÷˜ˆ…®!•ê ð—WVï‰ w£Ê=u¹×ôºŸ*NJ½L—ÿëT±ºžçä®Ã÷nõùññ.c–ûÀ’Ä!NÎ:_EeaI:²Š¡`Ô©÷)¤]°@½?ݽÓkRõ–Ï…‰Íe£7ó4^gJJJ´±yTDÄ]Þªï,_öööÈÈÈÄ´,|ºVSùÝ<úëægg“³³c?Î/.zž®}Š“Rýüyhû|}míáááêx¹ÍépnÕÙ³Éh ¸|JÊüË­KP”ÓSSÃÉìȽ§WWND½û{{[C)y/¿¹+’ øÛß/ æEN®Õå”L+Ñþ7.KÊPK঻𘠼ÑB½-`;j,Ðh :”±·}äQ¤Ÿ–wÙáý_ðœl{&Ñ' Ä…Q¯•è=Ò² S…ŸãÞÄ´ž÷âÀrItïöù'2E?°¶v_†"©Ëå*"ÑA2iz–]]\°%É^'BC˜ øÈ;cÉQ 27 ›OǦ>¶´äæà]®î½pÌo :b‡]¦ì±™©)“ KmIÉþ¬Á`e©Þ¢õúÁ!/îZ½©ŠÂ}§#ZBGÃÏŸ6°yvëQýädhø Äâ¡¡4&mmmccЍÞ&›U€2”œ"%jÚ % äa…EEEœ···ëêê¨Þ¿P¬UcúŒz¢c~~Þ’cy¢Ø¾a°ÎÙ0½FrŠ~ƶ¥¢I´í¼ÍÃÃÅÑQ |üÛÑè²üÜÜÜ””=aC&Ëv¨]cø¬É žït"r\_ó=Ä<üsFŽ\÷òòáˆVZZÚ1(/yÁljÿ0 öÌÖ"##Gg”,ÏJIKƒxÚÙÙĺÚ?„õ¿ßà×gIÒÔÔñèq/ Sſߢ&7/O]]ýkÍÐêÑÑQ × T†-9z{zžâáøÅózž$Ãé Ô?}||€°šÿŒŸšž.Ó®oswsKEñþ=ÈY`6f,kÃÃÃ'&&´_Í3PS¿BE}{C¦hªÀ¿ ç–$Ð/I2 +¦§ëêëñà¼/0 +Ų'§§ç-kss)‘+_äœH"KÁ˜eéè"«ßuÔÙÊ_ÄYëFúP‚€^¡Õ!ÖÍ˧ói*)­9­“î3¬i&cÄÚÊ ýþ¾¾ü‚IàÔ¢Œ£sL0Þh˜¡@Zopp ù*4ß5ÄsŒÞ¢‰ƒ PT­Œ ßõ›ˆ `\• P7£}Q¤¯ªf=nNkkk?…á<ö òŒŠ†ƒ°e z=¸J]b€0á¡ø ‘‚¨V½dhgw&A(“=¦¡ €ñö->±>åË—R òò^ä -ˆÇuuœQ½ÊÔX5 ‡{$ª_\^–©c2è,T-ºñЂ1ä‚‹‚ƒö2Ù‹Þížÿå¾_ƒ§ŽëŒ²²²5C‡í€ÁÜÜ-Œú¶ŒBû¶÷öBVQW–I¯UMÍÍ$’ fk¿¬íE—Êt[xò‘÷§6Di=_À~D•Õ`’äääD333míjj3E—z!R¡Ê¤¡-H ¨‘q—Þ¦¥°ð°;Màkaëzb‹’ýZ-ó~ÿ=¬±öµ& QoŽÒ.È»À/Ð˧ñÄÅÆÚo‹ÛþbbŒ’‚6\¥|nN ˆëì,7SÀW3@òZæ&‰÷o`Að°ÝÍîãGúo|Äib€ ãOtAPPPhD'Í5ÉŒ„WKî:œœyMMç·Û·ïßOü¦°i°Î,kxâÒi€&W6ðS«øØè™í©ÐC(òrw°Ãáa!=‚Ú½Vÿ²q¡“c!ÅImÆÓ^þ»Ñöý;°Ro\niiip 5ÞÏ^ÄQ¸¯_¿~ó¦Êv½§?– dÌìÞ{1[î´aôïÝkãÏ0í=㮞Ÿ¢´ Ù²æâiÑ‹Íøß¿ëoJéWùvýÎc¥”­¬Ô 4èa Ù•Iáø¶ö'»†Ô®ÕŸ?.¸·§u8ð¤%0|.,(`Nʧ8‰j |Üéææ&;½Q$ › Ÿ)\䢲R»¬t(Ñ> ö¸xWÞh“•ÔMÆÏ—š'W‘+¸Ü}²ý»¬Ñ͵ÃfX[y:ÅÏ Q†’1P¼ ž´R°d……ßŲ/'‘PºøøùM‡’_.V€ý¼ÑÊ Øàå—ìõ6« hz˜ÆÄIèihÐЮ./#0c(4µ´îÖ£÷.ïÀ¼‚ù~¹¸¶(Zð:H[ÖÌÕÔÔTU'+¿ È¥r½ÆÀÀx)o‰LªnA1Œ ##ïãÚsÀz’@2ÙΗ÷WŸ?ì^ÿùѳÔJå´Ñ 2æ‚ÐØ(ADiÈË·Š 9R¤¥¤@Ì¢EH8Ï‹G%ù¹ŒYú+A®bB•îbø?<}TTÝïÐÝÝ)Ý"#"Ò ÒÝ݈H‹|tK—Hwƒ””tw·ô;ãÿ½w×·ÖÇšïÜ»ÏÞ¿8wŸ3ßTw­òG?Ìù”LÁ&`@LzûúÞ¦ð}Hưt€‚}ßK£¾¬5¦Gú^õpGAÖóÎŽTÛ¥:/´Ñr‹ýUô§éiM¦aUŒHXÜ^ì»ðë6 QZ)CL˜—w(Üáa;  Ü›æÚ†GGÉ£ý(!Y¦ ž§k 8…™þ· o%ÈZ“NÞþaR{bVS$0?õêÝL8‹NqÂ…£«þT?®¿ÞäÒ®4š Gì¤Ø=à|Èhh$íæ~3j[Œ(¤ƒÀZÁ›T~òa íœÖºÑ€9)Ö2“)ÁëïÉ* —ØY?ù€y Sgm.qb‡›>=>i˜Ø… 'Ç¿n¶ªA¦¯î®—fd˜*EY3Ñ·HlDöiy²ÒùLïÊ4÷ÐJüöMÀ7ÜÖÆ†=²‡ =ìß¹Pˆë}±me‰¡·Î[¿ÈÔ+æ~XYFNY MX×ò¥(1â¿'Ýr鋦 !&žž÷׿ø&îó(é3CEª‘x9zñŸÕnBFÜÒk:Ư8B\V¶ÊŸ=Èö—ó£?Ë÷jhq4ÑçÀ÷úZž¶…D•9áµ9ß³‰ý¦e-%¤µnî¶6¦„ë­tŸe¯í #á¶£|Uñ»ƒšÜ(-Ddï©)·ç)’ÊÕ@¨¢--eÍtqó‡9AI³Ê!´ ½eåÿëZ¬Ox¥¡AÄ¥ëäâ2±ëêÝ"ÁÈØ=:Ê- à.õ º³Ö©[& .îêÈ9¢ÌÉÎ^RTÔñ—“››à0?nÌã*Û"iècZÒŸð•Æïb|üœ:í_‹Ã"°¡³ÇäY?þv¸ 仕›„âH†fÞZ@ øhϸF¤1løR@Á¬no zc”¨³]·'muI¸8;+.)YwnXÿÓWZRÂÎÆV\^.@Љ‰ÌFÈz`îCgž€î¿¿÷¥ŽI‚]8AÂRª°Žk¼< ‘zý£h AåL‰è¦ãîînBêØ:ûÅÆq¹ÐeÏ—¢žgzzt³:_§fQ¦¦¬kýO{Hèã-Ý0‘HÞÐ…½ ÆwaaáÀÝPóézŸ—˜¡‚‚‚¬,rkMý©’‰‰É›7Ãý>&ž36¿B(Ó† ÔÕCg-ØØÙÁõõ@¬åÞ§¦¦>Àµt¤•±fÿÙ€œwc~€Ýkæq´L+Ñ‹Ami›}Ñãf†D¯x ߯*â:"L¼Æw]—ýïÊ´92D=¸bûâåQéÚ›Ë˹€$gg·©Ï+…câF™Í÷…5T%“®Wܯ/~Ò®*nÇuÒcÉUéêçNE9OPr)°%7›I^b*,÷ë4OHdiTŒV…8ˆíìì€6333SP@–uÛSL ‚hþ+y\ÎÐWK·;œÆß8ç¿ww™â>WA(Ô¤6ƒ+Ej…@¥É/iä§Ç Ä ;´ )&A-˜!R¯ÑS,ɱ¼ÖÎÃ|lbñ ˜[X$ lÀð¾Ü›z ú$› ì¹yÔãoPm‘Ü­É@Þ ¤Ä” Yô   ÑmnƒÆ‹¢ÂŒµó®]å+À›uuv:»¸À°²¦òærÆÈaþç!(X¿—¹*,êl‰²¹ïŠÀÿ>ßAc ;%|ïy¯WÃ_-.BXX³Å/p¿«+ç•*zÜÓÕF]×ÔâJº[p…µ+˜TÕW 1A0ëc ÑÆÍÊ~ØÓjËQ-‚M’—L²ÊžŒŒ Ø47Ì«ý#ø~³êÔT=eee €lÓæä¸â9šô3²ÂÀè@KœÞU­ßFˆ@„¾ì˜"ZòB ›µý©LÛ±Ž¢ßâ}ùSçlnU~þ‡Ñ q¹Xꤘo%nÌde{”r„nÚ7L\ö­ÉË“¡ŸœžþøñãÉ3òè­ýýýãã§Ãºå£å6škÙ©,Õ" Q0‘_2% !º¡b2òRÑW”NMizú×ãpyß[VAº Œ4‚Ì{#žÛ’ý¦c¨Jœ•ïÞ I0q,„ ÚÚÚîî?UX(Wi ,„Ÿcccå;ÍAjmÀ–0|ð?Ož²(¡*VVEf`TRA~hk¹6è«íQíÕ£\˰X‰óxU3ªŸ“Ó>ûuz·éaœ„+•»u´ìúÞT‰O jÔìÞÞÞæf±÷Pü^ÞÕóQÉÑ_¿|[®K5÷ÿr¢ÏÏÍ-,.¢lì±~>ߥurÆa©Y˜•ÕÊl±ì;ìøSù¾KƺE®7ïðøÁÄQŽÿgq±õõÑ"lÊÎr- å°à²’‚‚÷Nv¸¾¬kÂmë¨Y˜‡ä>>&¦‚üüWl‰ÈÈÈ1*%™™4.× ‡¯µäê1@ÂÊË÷>'¢¦– /’”” ïªrXníì„æ«Î..–ÍìË¥”²%*`!‡ük}•}g'Nž= Z¤¾ç*’­"”g3;1aZ«Û÷C8h|~Þ U¾b’jÑ$°Ówww "=unÐ_`,jii)-ÅLàŒš*qSŽ~è!× ¦¡Ƨ¤LKIôd' §¥5 ôêh±df×µQжÞ÷6IBƒ¾}¦0à¼íÑÌØÈH ?q7Æïßg›S(‘·ó3lœ2¬ÓpÜ’ß¹¡¹ºšïÙ³| óóŸ Õ·M(N0ÐÓ–5ŸŸç<Î0.y~ô)è#ìð.[pÍ…yyQ†V»Âøjå«gm™•Ó>EEQfÏúÐ|W/ñ´'Ø^vv˜Z~r0ääŸ?×°<¤ ßæï'/Û8eKtwsË/(€—òòŽaceÅCE„fŸÜ·Å~þ¬ ¨¸~~# Lº‡•Mšši@•ì´1°°g#Ðìþͳ—áØxˆÙ»_6„vDwµ·?bˆãÚ1æ±_jX?•ͼNJML1CyŠ”¡¿¹»𥔠Ùôê`UJJÊÀÀˆ=UU¼¼¼NÞóš›âã;9ò» w).}nêKé3339¹ñïЇmá׉‘WUõŽ…0¦WˆŽÎÍO°Ù´Dv-ooï½ý}5UU{+~ò%{KË“ósQ×1X;¤ººëz/V0-¬ë1HJ ýì,}-̨kƒ‰ìïÞ½[ß©}§®.“­,têð·¡M533I£Û×WW‚‚ëW®5ÀÕ‚ZéžÂþ1<ÄÅú€[˜É¦VWïßLŸSD lÙp• ó#ÀXUEð¦·wïEqðìz™¦ (Ç€z–wQ³ŽŽ©¹¶f;3ý|}»MNA©³Mí4ˆ‚ü˜‰ó\Éôs§%¿?¿~ƒó«|U/oïÛ››÷›§Œ¨Ðl:ÌÂÂ7?%Šô¹˜€ÏÝÙÝR1A!Ÿ/å`ˆ»íþÐ!@Tê%j°¥­-&*êα^w_ß¾kãb“ 2ò™g3(³D…ü)ë¡ÁÁ‘4aX“´±Ï¿VNy°©À[@›oloWhWÑsrÚÍ”@³ãúÖçjپѢò¥p$*ÀOk$&&>ÝŒdx®EŒŸ;ÑùWÉ‚X–¶‡¿€UJz÷c9àd0xä¿¿°%ßéäùÌUDTD^¬Ÿ…‰ 9@GC#_³$|¨¿ÃN*¸®["2l |$æå1²°X‚ï&Èæþ¯w5uXSGÇkµ 'öÓ§O••<éÊ3KK\Ä‘:Ä!;‡‡ù»wa‹«¦Ëôäbôgk fWãÌ”²îGDAŠÃ&Hn/bè–Y×6v­²°²ž^_÷¹>×,ITb¢Àü$PcYY´3##&ª^Ñ”5[¢¶ ±Úàp2ïºäÓMlaa¡a…[âsó_qC›€A¡Ù€`Ò•-R5Ø€K:¹¾>Þݽ9éÂÒVDâJÙ¢ÝL<§¥²Ÿ@g®fMõ4ä“°JVh:T‚ÛžùœÏuä•|Çô Ï;Ç/ØÝ3ziGªH=ªÑ-û‹Uôï [q`Ãÿ_«P;ã–÷Ãþÿ;––” 'šÎj–énÅ éÝ>ÉÛÙF‘=¯Tˆm½—®˜Éõ°ðdÆGVÁ&h¿`ÌCÚÓÓã‰Ñm+`S;77§k†~óp»“Þ€ÄOÎÉÆfÝCõð™vÊŸé¿ô ^gÚo¯‘l>¥´å—üdê¿@¤Æñ[Q äG(æH(.YÐ5~RöüËxω-…ÄÝŠ³VH»QÈÊòÙ…«Ð|'ö‚…Ά |J{øqg}Óá i¼ŒÐàJõ#~ª°ûzJÑ´(‘!#F}¼ÒbR%DG÷¾tx 7@‰û„·ºcàž„R” ›=OãÂA4$[[[ þø™)áÈeN£Vß ÕYé:÷Yñ¾ ÷䢻6cÙž.Wš®Õ¸v9?<Ãx)ø§é¶†“û®Ê-‚úcžÇ gæÀt¬yå ëd“E¦?7b.’ˆ“ëzQKbIm ꨖÈåý—õ¡[w$_ ëñ8~à5Öíº†t¨èê*äŽÿ—šš¯º;WkSRRëÙÏÊÊÂã×ø%! ËüädÞ̾—ØRÌÞy‡¶2u¶»ÌO¸&5³XXX~v­Èñ%xk¡5chSVFƱA?TEZn)o/öÛ·o%špÐìz§õÞ/ÏíK¢Q³äb„(±Ë4K@b<<¸‰(*b$ Àžæ©ZÉÊÊš™1¶š¨«]<’’ªôòÕÒ’ˆ–uqs[¬2í;ö¿n¢ÉÐa¿üã?Xlðù)Z&ëýãFÁŒìD`Êñ„¹—@ªrYˆ¤ ”!׫ñöy³­;eX)êÉ9Ò²öß露pru$/N¦dµ/Ä|ðΚŒ÷¡É5èÖ··?DXfE‹xqæn}2B??ºµ®¯¾p·EñMJÞíû3õ’° ?‚?ؼ»§§åáj>‰ÛHÂq¥]¨wgoï¿´´û‡ëå™ééÛÛÛ˜­¯t úºeîwW‡m7í×"ÿVì9÷X®]µv%Rf&Ž»~u·Œ!XêáwJzžÝLÏ¡Ÿ:À‰¸J«m¿ÜÕ ­!iœ45š’¹iÚofCœ ŒC“yhRŒO :†z-YÙ°ˆ«Gs GÎ š1 Þ–€8Ir3¯øg‡;OXÊèK¡'ocÇJb_›wÔÜ­4|p†fÝ z„d‘j_‹…vC_L¿Mó£hï¡0lÀD ®á–ö'inž¶Û\_X½ ¶Ú}:/þv|e€û’öä “½}×;²CïzZ6:iû:Ä(Ø„$$™Â.Èד–ü²¹§;ã¹ ¨<¤ÀýÉækPïøÞÙ™O9£èûwRýd RÒ?ãã»~ä`Btôÿ€5_Šíñ "ŽÌšOœ²N0óniZ•×ÕÕu%F(W瘽äÁ/s ä^½zecSÍÙ Lyùˆu­u­.y´æ»wx{ 'È0ɃP½|l\\JJyNWÚŒþÞ×h™šë<©a¢ÍôKy²C¸lÓ3˜ié»ú ª…¿A­·±—XÚÉŸU£ÈlFi ’ÿ%[sÆP³” ÙošW¯*Ï꽉dPVò!D¾þ”†­¨Šú+}gd —¶ ëKd’^©šf. ÑOõSwŸ÷Þ¿‘:cµ2ïÿ¾tš¢TÍ&]…©“ããó­ØÙ\È+)q°³—”–.£õ×_š-Ö„$5'çFü÷4>Gd›»ØTaͺµ6\Ò¿ùfZà Æ6k÷ö÷«ú×ÖgSZ Óz’”E?Ÿ]›=-fÿánÜæÜ*`èý•ä6°­ÐЯÿ;@çy{•·'„ä/mý½¿ÝGœ‡ì'6™Ë`Bx®Ÿ]¥¢|Öª«;HƒÈB‰Hy†Úrˆ¸Ø#v³&<…/;Gë%¦è×±4ìÍLèµ`Ü}ÛÉ…†ö­@MˆöůãÌÚ#<«å¡ Õº:É›©ÿê*T=©  Ë Ù+•žA1É"œµ‰uµµaáá¦ðè"é@¸8;w›8gäååõæÍ ã¾¾xqssz°Ükš S×ÖöÜúEÞÅûçé)p\ ù¿íëLïúMª¶†S¯Ù+`¢ gÆ’xx¸~¥6ö¿v[XßýÍÙ¦nHÒ!³êÎÎÎÒÒÒwö;™’Ôržl¶¶)J\ll@yb×Ì¡ÑÐ@–tH-«Qñ{ƒ‡ï-É|éèêt€ã À¥‡š÷Ûß&HÞïêµàlc<æúJ !· ÞÃ]úry>w@›0ÒrÈÞ'ÔÇ up‹ýß Ý–¡„+Ô¦ìdKד‚Z9'mTo Püòm%e© ‹¡ïé+üˆ¯IIᦩÃÓj**ÆUÚ–üä±}ÒèA©úŒ†sP4ZÎpÞ@2Q MÇæÓ£á¿âËoÕ z*_tµé­p__EÆ)+WvWÒ g[5º‘‚RYW„ØK='A¯D»w bt:t‚*Øyd"ÇÙS›]š‘òÝ2¦°LµÄ0.o!ŒYò—LYS.HnC_¾LâÔ#&$üáyºÆ®U~_Ùƒ‡AÌ!äû×ñÉj9¤£}5˜BÐ>jÝÕ?­§,Íï²Tœ"6ß<23ÎEP”6¢×Šc#žº;hí‘‘‘•••ì«•íí™ÙÙˆ—zîMÀÊÛ88€‚Ét –Xëgøi7+ÒZßÐpz㛢¤©§g×bœ¼F:&¸ìër{aL›§Êš0 Î–HEEÅ ´‘]Æ…÷ÃÕá<¥q­.\ BþÚÚY^^°HÀØ?Œ )ëz"Iy¬²¹Döä¨ïnÏnvÝUôsyþùë0‘À\kPÇsî«\¾¸Äÿ¿þºžÐˆj<–jÅ%¾¨àú†ÆŠ–¡ã+4ˆp'ÔÜ]__]ÅH×ëµSežX„ª|ø°(Ö7Blòw‡ÌÓ!¢×d»d1éysÉP•øÏ¨Ðc¨“‘T Ò>qGƒ/)EŸ Ò‹çÆKéVWç!ÔØFOx†™hÙh'Hðú ]aœ%«ÜŠâ|3õ˜có$Zå†D¨ˆžÙe6<øÓÉHן{Öš›Å𬂢oÅg Ä Q}%–-ùƒ*‰f"D§ 'ÿ¡kgjºNáÐìtºÖ7ë•a=óé¾P·¬@…ø–›í̾*ø|U##É€Ç{, _âmïŠÔ¹’ljf±©D\i//ç²EGÉÊÉ1¹>ZÔ,!R³?𝫍®2Å “òý’£Êßü$ù Á„¼qËç#¾÷§}$܆ ¿;_쌃Hš/·úȦKÑ&?·ˆ‘¢m Gë¬â ƒšÑá !©}Õ[)º:μ»8òò4ý5n½Û J9o:$ï¹>¥Aà[KñÍNZ2,01ŸzøÏÔ…©€ÀXìÝ—1QiÏÂÊrÖqŠ%tå£Z•÷ÿž®ƒ*­ÃJÖåøîáß+àØdè#>>»¸ T»È*-=ø¯XTTôúõë²/@‡ji‘ÄöDÈ`‡ç65éq% òóË3~9:²OW¶à'ǃ<´éíヂˆÈŒÞB˜¡&Á˜¶4¯8V?ó«%÷ã„4ã÷ŠüZl¾ÌÐ Zßþ$DfÁÎÇèÊsCÒGgí() 4éÝec7 õ£@¼¿žÈjTsöÎÛvl:׿.'ɤggg—––øR~ÍÌòðœ &¢ç›…Ç?Ä}*z_¥=ô“•ž™™ùŋھ¾>æÍÓÉÃ[[[[##Ê¿è/VBp·”<#•ÆxÁÍÉiÐäìÖ¿PÚG¬Ž—Z|îï_—$%iéê’áÿ^X(U-r”ÌKyn½u4Wc1 Û[Ýb$-0’­ÒoÌ#{DS>nY\R­_O/Ÿ§Z¤Z„ÁÁÁ‘ÈtàKøÝ’3H*.%ews³ÇŒïùp •(ð¥4>¼ î©DÝ767#dèkf9ð  úñññbÔ£==z£ÈÂÂÂñ­€©X22M—ÓJgxëN˜FºäÊùNº?.QͼZDçúw3¯¶6$™×TÖÊj×.š#¤± ýBå¬-SÂîÝq‡þ®®;‰qq+[[°ÀÀÈH°ÃIˆ²Ls~j*ìrÀ¤ªÓ9²Ç„‡ôÀ]Ôÿ%v¸S€™ÓógÏ>€Šˆˆ0žÀû¤òßÎ&V™þ^ééÀ—0*ü Ç¿3cÅ¡'t‚ðo²Ò°Œî‡ª*WÎŽ÷‰hçQƒG=¢ÍÞ‡# «ˆv2 öΧ&¥¥E¡5456îííÙ/5G|â ~ÄÎ,zÏ—²»» xÄÖÞþ§6 ÛN=U`š@†|ì[ûøÑÝÝ= *‘°Ò$p­ÍÌHº(IßÑ€߈ÖðÐ^ƒó‡§@‰ÌÑíSÏÃÃCDi–¯ %¦§5ß¾ýû÷ïÉÉIüì–¾ì À3<}ôŽ,u¶gø¯ÿµëWé–]Ÿ×ÌG†)1¹4èGötšñ½aR8·7U²åÖÿ ¡ýb£Èž»ëã€ÛÝB‹Ñ »Z]Þüù7o°00LùRlæð™˜ oS%[ð¤ÉiF1ûZh»?ЦÄþcBŽF œ Pv»½«Ês‡W 0i i” „ddÛçMMMµºe……––ß å÷*D„´¶º#`¬Ó|Òɨå(ÊŒTýÜ´²wzj ¶MRv8õoëZâÈgÌÌÛ@„©³¹I¥ öõm/z,ÛÌ?<\;½Ýö–Ímp\…úùµtó¥ 'D*†üÈÄÈÞ×Ým|[þó§yô4It­607I\Ööö»D{•=#º>b½l®Ö.soJ6_·‘Ûs*).VgÓøðჃƒÇÌѤ¡M[T…|€!ѲešMæÃä29êl°4ˆŠŠ¢‹Øüe~¾`_7¯U¦{¹[˜éîæ†‡<‚IÕ]ÎcÒ£££d9£Üqਫ਼µ Él¯ÓÕLÿÅVªpÁÆÆfâ÷o{ŸÊas5BvÍRKkëÁþ~Òe ÑDØ yl¬ )&[â }œœ\¤LÎjšÚ/™ëIµ·vó?ËjkÝ&ÌîŸd€WUѾç!Iqª¯_I²ŒêîîÖ+.·AŸ+aà£-.ªf¹¾×Ö¯”³³³¸¸¸µ5“}lˆfIm#ìø¯Ã>˜¶^Ÿ+uذÍßøü)k 8aÏ|ttÈ2Gc££ÁU]ŸŸALˆÞÓÓ“ßÒbÀˆŸ.îã"ë·€êb3SnÀAl3’&<55…Aµqê)äW›—‡¨ÅcØà¼¹1 Z¤Îˆyq¡R¤^2õ¹ïC­îkÆ/ªEúMîvŽŽŽ¦¦ Ѳw™„„„ˆ]fc/n'2‰¹ôë­& \¶G¨Ä½'Mª<==ÿÞÝMXò ¤RáâéÈ-Z2µ÷kirß&P Á%! wQ³Oõ*žÙg%Tpuý¡ÄDaãÛ±â(”[È’§Âr¾=ê`g×ÂÀ™^ÈkE‹šÓÐàxT ËÅj{k«xjﱯR»´»[†„$É¡íÁày—Ö¸%¨ÊùCuðЍ÷Kt÷è1ûjɤje=¬sjê… àõÃõrݬ­{“¸¸øâÐ :À TºtåíÝÝ¢)kP' Z¦¬{µ¸¸¸ÀÛ dJøÝþJy.ô×g­­LÓ@GV-Nluu5 6T;p“ØŽOQQ\\½dºØá¦ˆ[ZZ€Èé ÓÚÁ¡N›#d Ôôs†Ü?.€_‰þôIèߪ4´ìqK÷¦EK~QÀ!"!Ui—²š½?× pdzùöövþ'ÛÚù«È0úæ5:\I± Ê”f|^÷Ù¬î•xR‡Á«Ä™â>ßdsüø; ÍŽ0C òxQaÔ–‘–æ«gX¢Q¢y¸Ô¢—­rY ¨Üöôè áJŠœ±©ÕH}“­bɯkfƘ4$î¼·ÆÉùFYùç<¬%S6÷¶räv¦-JÖôÍ›èEûcv'T«Z]HÜÐ&[¢õãýMzz:vx—yÍ;ÂfR@®Lb”¡¸öh ¹ãGMÇEJ´*òóäÒ…>K€-Ëñ¹:Ðiöt’’jÿï… ì¡ÝöyIàWÜ£@Ó•…bWM§5«Ow.ŠL $œº®;cÙ@’ÇÏÓ; ¥±kê·ùQÌÿ}uåΔ ìq´0/AšÜfÏ3“¾l$Ò›Üq9¹õàÎÖ§/òŒ|)Q‰h‚(oÞ¾ÍS)äÝäð8:¶Ä½É"5OµÖª*<È__OO¡¤!¿Ýü¤zý£fûÏyÆxyXãY’‘ÿìü|êÿý÷å‹óáÜ‹ð.élÇASÖân{„#>ù»¨Ù³5Ü:Õf@âáá¢o‚³CÚÍø* šzÍk.½[tË@Êm97899ÝÜÜ ”Ë3% ƒŒ‚æ/Eh²"ûÁÎŽ£›661z`}m«Cweeeë‚7©²o¨ Í`?ŒÄÒ±âÜðîÝ;3>²Tu *5Kv]+*ŽíêšÓ°ž–£9 +CÅÅÅ@©Äø2&*€û×b!Ø1>>ÎÉɹìw;£»•ŸŸÐò²¹¬ì쑱±}NJV©—Þ~‹«]á¢""Àû«Wg‹ìYsâ'Çj#[¥ز‚mÉŒŸ®Ì/Ÿ­˜Äegeuzy ’øCâýq9,TTP÷ U(±-¾Ây`‡Ÿw¼…i_0UUU@Çössrê™ùC½ÊÀ+¸òøp§Ã1È®Å÷ü9H÷3EÅ.+d£€‡ÚYÛÞð÷·'Iûm'8h€WWƒ\ ¸Pp" @u‹‹‹õ]ë;…CSSDܘŒø¯ÿý*”’•?ùüÜÜ__‰ð®׺\[‚]Ædj)¦­RíÓÍ$£Û››èÁ ¦¦»/ÏÉ)(^B¡¸ÐgÏž1âô-ÙèéQhÒ¦ÞÐ`œž&‡íÍ_/O'$ä9[ý Œ«yMJIô—Are¤¦E€ ®×‡óI ]«ŽÉJæoß¾µ´ÜIÏó¬dÖö›<#Âo4Y䨾ùF7X{JÔ!¸mïÓ¶[9œ?¶?§¬Ë**žÎ†¸½Ä–:Ð"ÀÇ·ÐóôpÂÍÁÑ à Hÿ‚@zx×êñqì¤T³¤©ÉG]ýk]øÊwïÆ–ô;}ƒfks|3í‹ILJRcù ‘ºˆÃR3¨¬V£ ëZ¿_|jð²ÄÀ c³ÒEܬ' Þä²òÒ& Ôo š×`•×R}Á¡“ †èêéÁžÑ„‘7e òîßÏi<¤—/œ¸–¯˜$qþë¹GÊ!?¨È‰¢©= ‘ih2¿}#NkÐP‡¡.:Õ2,„1µ‰‘*,¾7Ûm·û°-<€ní7)k娇üiöz®¼ë`oß;­´o­®¤¤dŠÒôõíÛ|Õ;‰ëðÂBæ%½®WQÝñ{z{…(¹’ØãåƒCBzLœ,,¶˜a<±1€ž…ýpæÄ‘µÖSÅÿ¶÷á5íÅlZ\£%Žt*Îï1&bBÖ}ŽžÄw{­'RGG'W à! ÉhÊó>óšÄ¯_ó Ü=ldúßîV´=6–•qòòVÕÔÔ™QyÓk×>3s½üôèáêÊÏ4ªôú5Á4à `[@"¤¤¤$&&úya0â³rp”¶¶f(ž{Š•L)àv§ –i–TTp™å(Jðýû÷B£Y—*è@`º`/°óìÔ •Ÿ11¡÷I†dxNÞ£„|ÕT9þ2ººÿ ›—|ÿNú&øÓ¢½¤ó†¼¬,r樤߭«ŒLè”5' Ë÷’’.evæ#~ÄÆêjü—/gý ±B”1?~ð/üt6æO áº#\ÁjšjÊðV{»T‹¡‘‘ÑòÒ’=iss³#‚n„ŒóùÖ›#›¯iA+kkg .£«_^<<žgÖuﯫjõȉÁÎW¸Aïìê¢ÂîË• ''o|ß…LCCCù*[”¡¯¯Ø@Nh¶J¾êéo¶ )Q˜ V†÷+P4ÔÔ_¿‚Q†mþ\ºØÍFBî1Ê ¢ô×ÄÄææ&º§QQ˜¡¸Ñ².3û—Û…55ç?¤”ÃŒlOœ•˜P Z¼kËʆ——6¾²FÈ@qe@éO•h¬[\ZRÎWUTPàIõsq©‘¢rÙŠÒæ >ø¨ ?Ðc¨2 ¡ 4T‹R3ÿ©Ø‚(ü¶måÁ/Ò¬*y a¿ Õc²êÜÀA¬X¤~Æ  »ûôä$mhNnnKs³µµµ¬%¢ |¿™³¾~p2ô§¶VV¼©Ãäѽ€VÿÞܬŽ\y·P» ÒáGÛã&’®ZDÙ³ºº hO …a˜0ðC·Ìßß™AH(™U_´˜öO[²nTœ·JJ O¯®˜PMF3ÄÁ¹õÀ[‚% +$}®822¨þÚÞ–Ëz—'–Ó?ù¥´tGËõ’èÆR’‹õký s–jlññî¸În¶úý!%~}UçåþÌÃà _GñL…|t,,;{û ¬€–¸¿9—«ß·²²BË))ÁÐ:¾¸¸Ð.ƒÑ‡ýüON~~W¾ÇB§$©Üñ(Yû ¿û¿§ À´A '^Ñã)SžœàFö€rHVRbã«‘-ÔÅÏȸÎ ¼ ‹P}]Ýu¼5+›µÍùÅ…«›› a$ w«ÓúGÝ2€…*,€ÒyyyAí…cSY[Zþ©|ÿD¾kµ½˜!ÝÛ}މémP£¦¦NÒŒOœ¹© àQ¢“ ?¿ír«8-í lÎW† Á‰L™ ä*ü¶ˆð5³¿6_3â»LOð`#†AÑppŽwwg›<””0ööœœÈV>86,´"_r3_JiUU|ß:""!QtÚ¬Bá|Ðÿöɺx(Ó´ññí’Ä)`›¾q‡›˜.áx‹^Hô3Tz€·""sóózùªhaÐ4tXK¢ËvcS“‡›[í,„è@ñá¡¿uÀ Ž$""Jü·¶d↳p+)&dåð °_l‰€ÎÌt«Í!â¤(™+)E[.ÔÚ$µµøú6ÏÚÛ’¿hÿVAÁ¤JXà~ί¯¯//‰ÐÃþ<»>=µrpX®sX×̰8ƒ¶Sƒ›gÌÊy……àšV9_€¤˜²Æƒ–——‹QÇv­ÆÉ3†Žm%2×—é~á>× ‡›[×,çMJJ´[\ l9.'€H0RºeÄ$!ѽ ìmÝ×××wÌÍÍuÐ+øP7R ’9_ÕÍÕ92úš‘¢ê‘(8rÅÜq p_çŽmigWfX!˜¢äÜ6`ëÅu®…»°°ðLñÛפ¤k3lpy¢ââx@dÇÆÆÀû··Þ¶5Ž4úùª&U<‹Z FøìšÁñû÷ïû{_`›¹¹¹©Ð H6©úc+0"ÍŸ: H‡Ö À†…ÔÔ „(Á«˜˜˜Ý=f|`X ?§¦¦‚?” qRbÚzddäU$1Öµ¶pa¯r8ÆGä˜úÈ“Ž@áüäÃ+æÀ”L—ê ‡Aéãa‚\!¿\§fk¥#äÕ«W@åo¤ë5{žöÏ U’$½ ÃøÖ…¶€' ; 4Ë/ù?"DÈ £¡±rs÷)—(1%È3&Ë757/,.%ñp¶9D!`+¯¨x·•ê k™(ä |0e=‘$>XÕÎ--6-ÆàÒ' Uœ­S&îÔÄ„ËùÖ0Û£™ 4VÏo8ˆ‡ìëj´9ôm²föË4Ù3GGýÂDGodˆø>„¼fÍ, BtŽo ùÅååL   èÕçÂöfîëPËMÀ7O=`™±fÞ˜’×ÅçÏÚrqrb¡£UÍÚºŠ´dgw ±ÃºìqUÕÔÔÃJIA¦³AJh mzþo—pÄzYÈ M¦„‡C‡Ÿ»Ã:'®$Ý2{àð(逜‡5U¨_DDäxrùñªN¹³¶`Ü q‡1°1B¦AfõõQR䂚€RƒƒƒäbVª_7èÇ¡ ÙcÒqMˆÖ·þÑÜÜ\AA)®ý¯à»þ%L(¸¬ïß¿ãÙïA,kç¾|Áé¨ô<]2dQ3Lëôõrï; ¹Š€¨.îN&|ù’¬Ä!S­[ÆÊÊZw¨$˜â¨œèfŽ9­LûÓâ¡oõõõ€gÒE=¾%%yxx̺c‡×XO±‰¤Û×ê‚цf{žt øù~< ¹ 0cªöFू¼˜™ Yà•¹Ø3=ÿ8©-‘¬ð÷ï,$$$! •y™1zŽ™X%$Z[[%89£esÃBCå¿ÝttdO¶<|§Vý&Û¤ð‘µÓ˜‡_PFÜûGQë‹DMçÖµÿ)1âg¢Ä–Ƶ=5¥A‹ YÓ¢ÿÙÆk-¥¥¥óØ _¼×÷±³Z[ éãq¥oq^=‡Ê³%Î^Œ(ssWììì€ÌÍéÂ&Ï— EÒ—þmµ [+õ*3Å* °l^ô´‡D˜ÛùÅLAC³üçOrBBB|ü;UG r·¥ÔXŽç|ûö 06 Í$x8)Ù\¼ãËõ¥rb›-rJ÷¦E3¾Åf¯ššš ûºõ`­{󵸰pˇåK™æ«ZxÊ鬫«+Ð*îîî>ä'%Í€öÖ××÷ÀÝx´,-ÞÚxùÿ-~²ðé¬vÍ›"PMÖcRTRr~zúžÖEì· »dÊZKk€/WR‰:›‹³3==½ãüÈçÏŸ¸§ö¶Ü+á—uÛŸn9dOâ6ЉŒìÊ/ÁG°è9š«ÝÞLMƒ)AèL€× 4õ3ñáá}×ËË3ppt2ùªNˆ4ç%ºeš¹ãõË`@Ê÷X(±å6ÙÙq.%âGö0âåä÷˜ ¡ âÛÜÜ\ÅÆ€uF¬–KÑ+Žš # ƒäsÏìáz 6¤ýÐVOOïß,Àââââ(YØælL×KesOïŽÛ¶Ïo(í)Õ,,-º\ës€2Ò eÜ«,u6 2 ¨ªª»ì”Oko|=,¸œ—Ÿ\³pM¼ÛH·E¯#yä]ÿÙóPwÀŸœ“°Ûû÷tÀƒc¡Ø ̉•¢TÐÔ$š:ÜË$[¦éÒ Ÿ¢$Ë”à„#(X˜T-ú:`f’›ÄÈó‡t›œÿ§Ïõt> ô›½cø¹Å3|´‘³^?Kˆ-nhX˜——¨›JíÒÉÉÉövØ~__Ì$2GÍk†††œ®?DÈ_×#Âi–ôˆ{‚‹ïêìü <âHº(pØÔþWÇ%`“q@%åì\šJaÿßäõÀlÖÖÅú\<¤eeeõôÒ¸¨t¿èDk“C x¥ÍÌÍ„õ/5º±ÿdàâ⺼¼€¢Yò‚•µÜ&-m  ý€ßÂuêÐ&¨:_ ×MÿÆl€K²±)TÌ$ýÛɰ?`_* _Ò–%§ÕäÃ(4¾¸TTv©M²Ù*З/©°ÃÁ•% ü¹:9©ßÎðQPT6?de ¯ï؇¨tÏ/0iØœ= >( ¶¿_ñç¾õU9HÒ*¨v¸@|üøù“ZÒ¿¹µõq¦íñr’>˜ Üxzmûë-?PÏívÈ!°þwÏX æ%Ê2à“{Ò‡EÙ%z.;¦¦‹{{5ïà%¶$~½@@@À¨ðòåK¸,à_éè:@e6O–hUc~áwwÛ›D\™G&Ð$@ ËDGGŠKè@EM ¶·‹ÃRsÓ»u6sd„Z÷#¬ÀMÄ@J*P›ÃÝÅåyŠÒìì,@@ÖœœÃÆ<ˆÈÈÕ³@;}þŒhP¯5¬³±QD$½\µÈÑãP C}~¾°£^¿<)‰$i¨G쳫Ln444•|º:«JS3-<7;&>É]ÛßßßÝ÷Oˆ?3³*Ó>ÇBÜZÝØ ¯šÇÙjšNøHÔ¼5‡4àj"Q÷À^ ƒ•äåY€`a9¹¼|A |P9}ë¯dd¾~û¶¦«*(XÐ\R²Íf¦œJÔ¶+âÐ7N‚„ί±¬~³pÿ2wùðd^Xl,0Y˜aÐqK~$$¤üü|Ôè¾õ››/OÏïSÖ ‘]«´K¦×OM±â'ƒvÐÁ‡we[žý["©¦ªúSï#E]"ð[?â["„òL •“ƒ""* ‚M†‡÷îßšHPܰ®årýÝ´!n¡’A‘ç²EU ~ç+¾Íü6´ x 61¨qáÝÍn¿ònYî€)€ýZÆ|DD„b—›‹‹K†mÉÔÜ쬎A4îÙÕÕÖù _J”r!`c®¤ù¹96âH^;x@dóm 0‘CdsW¯LìììÒÓÓMâãã{ñ"qtû-ãÇ­4rQ;3f"0˜îF·M÷þÀ~@úãGd”ðÐй¡¢•4¶ý_¤ ½{—·?þ\[3YˆA\È›ØÕçJ¢EMW†õsàžžFÄÆâ ¢’*!m3VÎ:74ÿŽÚè˜ë@¡)Ìsê <…|ØBjóðú/‚­ããÑíócyôÿþ…/ÝבR!w|ÇU„/…?¢wrÆÅù—Ù»¦ilë²¡ÄÆD'IrÛ ü Ù¹ô~‹Ÿ½>Ò¹uÐt Õ Z‘ ¦ uXÊ»ºR~Æp¹[˜Ö(RÜ$ §¦æŽðÓaûâê ÜJÉÊÁl¦í¶l@¦ñqòg›=uŒ4#Óô‘þÇã§Îì—ÂO9¹vó?­PÃ×·‰m&ÿT¿jókšŽ,b}²©8UÎ4'f„|Š›1BÉ=Ýþ61¾Ìü§™¬`á?tµeNGÿh·òèŠë¥ÂŒàV}¦æhW>»ÏO×Å% Ír»,2ìùÏ<%S~³2JB¾O™•µÞÅ$$ÉÜ;ÝšÆv¨Û\ñUÎf=mINk‡#¤e½œ·ä5F%U³D©¨Ùx¼å©gëë{÷N:¿‚ç¸uŸ/s¹-³g› ¢mäi[²!,ìÂ"#ˆJ”V”Âÿé.S¯°Ûçk•_Cc\³ÌùN¸› Gâ.Ê”kò+(kvÕÈ3É{\ä6EƯõBÑ[2Ô׎žëX‡“‰FEŒmWäË&téÂç¹Ì•>‚¨aŽ'+£,Iç&Åwˆ<=‹ÁE9U#=—5ÆÐ@ =ÇéÔ:A³pakQdŽ'k‘Æçd˜;FÉÏ56®O娃!_ û‡îV‡¼Î³Z¨ÖÖü5ÒˆBüà´Q–WF¨È|ý½j57¶}qÑFÊ(¦ˆ/”5·ªàd¯ÄòÔ„1‘>TEN·š5Q²NÉ´C=‰†Îõ’Má­?¹n òëü~ó—è=£œ 5fPDÞŦ‡mÜÍ‘0;^L7t"ANn÷y¨{ë›èž!¥U0*¹ÝdPd†/èï†<<žÓd©´ÛY#îø#7_s §§C aa'c/³Tߤp2DI nÏh>¯Vgk¾e ƒƒÜïôI*çßa©=j…ÝzÇÉöߣD"ÙþÌÔcbîU7R{¿‡Óq.Dµ¾€–É$È ÿý™jÅ ú¯<ð`…2‘ÜËD_}ÀûèÂ+%ŠYØ›õ‘¤eñ¯Ð“·1fßQZÿo]˶“ Žg{gdåÿ_óB¹õ™É“ág„–Ó·­Ùs¥3ä‡V;b nG\…`44OT¨‘®çy×"| –õ bå ²³êaåXy§¬o »Š5.ÏjØâ~d¿VŸÊöÇô““×ߛЭò²+þøab‡w‰@àcì?z¼v|ƒ-òâþÚ) ‚ÒÍñçÁgùJ×ÃÂUò3 ÄÖ³þ‡îŽ]è­­J{Ø6ÍÇ: 2ÃfѦJ§ :x\¤Î§4ˆ(䢓þ­PÕmT6ÉÊj÷ŽžòA¥ÇsDŒ@™àÑy‡‡ër.æõԔש¸Í4ú7+HNl¾(‚ä¸HbGç1q`š±Ly°ØT7bê'O¾ýßD]{,¸wR*Li 5ÞBƒƒ<И-גּ·Y;¸x†CÒØ¡¸AÖ?sS–ú±¸¤˜EñèÇR q±T,ùëiZÎKô2µrøÖ³BNG½s–%£é}ñ$ý ?-éÁ/Äm‹}­–ÔlÈý/€>bU—0Æ×/î-æm%*¶ëÆL?Qœ‡n=ÑáâÂñç½í?ãZçc½‘¨tfÇR»ð?ZLWv¶êéßR£cgtgÓu¿dº€2zWœNïJìÓ…Ú³¼ $" oWà_ÆHŸÂ¾þH=y¢§3“{ñJ^\©èC€p8qMãUÎNß;nhP±Ë»WX£T~ÓWëp‚’P´ Ú‰öó#Ä^Áç Btª¬Õt¡”;sCŸêpÐB{ÅéÔCüƒgEÆ3L¿÷}FE¸½ï¿r„zXw^›0&³¿ÛI<‹çºXÿ‘:öšÞ&çOÔÚ²¼ŠZ*N æ’~mû£Kw'Hù’^&«: ›G‹4zÚþUï÷Áû.œÖÊÏ'¯ô¹/Ξmìpÿæ)YÄËÑ|Q]§£Ü G%ø¼Ü²‹Ár–ïëG›²ô 4iÔÙñ)’øc¦IÑ#4²k㻞PcÔÚ{ ´oôÃõH©Yžû|ZYŽF®¯bq¡Ó²„Ç/DêÌ9HCâÓ×?ÆáAQÉÆ,²fJT®í7Z1W9jYzI ~ãØ|ü(–—+œ±ãÊ EÝ­Ž"ªÇƒ~?{Ax'RùŸÚM^Bäï­,a—±4WBü .K³Cü¯{1#ô¡q«lÎ(®O3ý2Y?ýúç)6-H׫vNÙ„³»_bOއFao켚ע%GûàÆZ4B§%¢ën¯Jò³—;¾Äàù½¥¸œq”Cë—ýA\b‘òÏý+YwÕx“TÓN¶xåe Üj5Ñðô÷Ó3Ìá;ïÛ/éDÙ› ¤Ë`‡*±p‘Œ?lt´î˜È:ä3`ƒh‰,‰W¡‘-‡`Ò…âŽG>’ÆP‹¹Q¾ÝP~ó×ÐXiaÿw†uÕ÷¥Ï¸PùjDËp×ÎÜ;V&ò„gpQnÎý!¯Õ³VX¥òá!RÙð¸<õ+$ÿz¸“V‰ê¿ Ú¼:¬P,@†#9‡Ë%ö?™ñ¤ EµT…þi•'’JHrs:-mü’§…“ƒ/Ϋò‘•6~µuS ·Ê"‹Ïß3¸ßék%SÌžæ/•ï¢Rrc>B"G æk÷C#EbDÿ¥ž![‰ˆgøR†ªz†(¤æä´zé íË[S\W›ÆþòJ/¤1¸æßR¥È=<=ëØœý¨'kQB±ê¨®A²=Ÿú”H»F¢p©!|ç„Ä+P ˆÒZ(ÏʦØXêêÂÉ~ŸÔg/Bf1:SŠƒ¸`¸@²ÖT â.v‡Ã…lÑا·YÿwÑB²(‰f3¢¦h¿Þvº™8eHü³É“¼Jøï+¡DÕðRqˆ­ùŽßÉ)–Åðèu „ÆYóÒ8~'¤tiHx‰'¾´vìÚi¹û‹OZmH_0#²ª [(8᫊Æ(;¬|lÝ<\òØÉdgŒÄ (µTRZŒ´Y,D$}'Üç,¨'DJÁ»]óaceK>V†n­î ÜZºÜ=Ñ’u8ú’Jê(D€_Ïš:²7îO‘Fü󉦻rÎÁïÿqŽü;ÉB‡ùO€k9Ü4ÿ ÉÄ'd ƒR0 ìÜï»Á¹Á­ðèÎÝ©±Š÷ã1öºèž Tÿ`šm 3Áß凋ީÑÁÈR\!(B ü1xäHç= v½ ŸÎ_ØT;þ îd.lY H‚èPLùñs¥ßPßøC ðxÀãk<”{Ão¡è ð‚€`xz˜(hÿ«÷¹x,X·Îåƒèð»]o€·;D< ¿úbÎ!Xð·ôÉÝ ñ xyð\ÀE¯*!Ì{Ž@ºÚ©°!~6 d¼›ð§з ’À³NuPø4Yq»ÕnX˜ Li£–sôÅÌ |v¬ª|8nƒ¬€Ÿœ~W'Ä¡†’fp€ò¿ƒÎ Ä|ÿ㛉 ö'wÊÿ}þJƒó_€¸?ËÿDîÔïÅ-LÜëb„Â}Løô8”|ò HàNxtpBS–Z4;ÕY†ù7N<‚~u "/ž$ )ÎèxîQŒø÷dG·6¾|Ø-@'pÔÌŽN<ƒ|üQT&*ú¿öÎÞ¥a ã×i²QT J:H…º)ZÔIDÄÁI((.ýºtpuqApuê £hA¤ÒQ:”¢`A¬©¥yLkRRÛ&z¿éàîÂó>.ð¾á.¯k+ƒõµïü¤Id«pC Š"öz‰cPÆmö»Î“Ú…,ÂÀò¼AÜ—¨–0.#Y %骉M„ñU–?[Àƒ¸9ˆSZøï øg´äu‡©4áLÍpQBÔ¨Øb!¥G¬Ž‚÷€÷À7‹Ó´6 ECZ VG]˜r~A€ ``OÕ6„µ#ï KÜ5%½cH‰c^ÆÒ0¦·ð\¡s²M¼‡¯7X”!öA iéÝv££ù/›,T¤ŽpžmЫàx™²­Š(.OGQ @E*oyÓ 4NþÚÿzeÆ/5Ä4Øî®TkkÑŠI¢®6¬ÛÁ×=BP<Íi¨Þ@T$Ã[$¥Pwó–7PsAI1¦¨vr-Ý*͸°zçmÊÆY®· QbtÙ{›Â¢âãÆò¶"wã˜ëµ/ƒïBA¨””A†eÖ/'‹ ØœöOÝSÓôNmS͈\ìlIÃDTK2“PgÊ|—7¥>Æ.$‡n“bJÓËžŸÇÖN3®±m•öXÞ»øæ@rü+_êFÅÙSʃÀv™e…ÑÐ6·ßq¬È¾ËCÎürøºòîWIœp|åñÍ>Ý–A õF"MP¸ÆOzøµ.>-· 3)³IoT«ÍžH6­Úò–ê@|Õù¡4L“µ£½¯G­æš+ÒPtí«b‹ˆ9Ö0²½ˆ3nYá9CG„žç8ÃVå ÒN÷J;µ&oeVWI&KkÙx¢Úþ8…ŸJü|J£ömXäbG¯ûZzÚì?Ÿ"z*$ùã³ÌaáÕŸ´,w‡Ô¤–…‚;¡˜ž0DèûCÛ‚ˆ»;-ÜbZZ=iÕÖe,…'½§v’«p$Uó–ÿ¤dt o úcCSD4d&‹‚!eBx"æP±OÞv« o›Vf´ôL ÛŽ¬Ó2Zu´ ™ÍB+äYØa,d!Ï@?ŠñUÌ·š¿ë›^äÙŽËmj…®-üáÐen蚆˩0÷9ÿc=yþðh¶Ý&²›{”‡¡Ë‡®!wYÈl“Rß7ƒh¯è0rà«,Nå‡Y ×V<ƒ€ Çs]n ].¢Ðâ"ˆ†ž ‘³Wt«M‘¼½‹†Å‚OOR°gt[pÌ6ìHnÀ#ß ‡†épJmƒGÜâûäX‡±ŽÌ1µË¶æ™™FD=â¶5ô}¬ ¬»ãƒY2Á¼}ò¬ÃX]xö ü¦e¾á“'ñŽÖlÁ:1 Œ(`ž+„RÛö‹ ‡Û!À(tvbÝmœËMÈSÔÍvPª}Óø^$Š „;ò‡=—†‘g îGtÈÛ:€MB“Þ¦»mÇÛ,æÇðÙZi/„¬ÝµÇ\ƒ=y„ˆCÛ`=3‚!w= ‹gqŠ¢@†‡6õÄŽ#̲ä o§~µ„(»0¾ Ú61ê)Á¹’¯BL¯´Äk /#š­Ì§ï‡t(|†®?da™†éqFC èYK{+íÀüw%„A¶k8¬šŸ’òwe~Z%”y,(ø*CÛò½È7\áD¦3Ž0¼p7d$&µÓ¾Â¤Ò/׊œ|O'ÓŸ4 lã’eúN4t˜çPæ³0…§ 7CØ»Ùä#q©vàÒÛû2dÿèþ}•а%ò@ã%µ-‚ÁxÚ·°âÁvpXÂgÔ0†&³žó"´Ó®¡œZâ1ÐU¡§6–D†Íâò€2 þðȰ}‹9^`ƒŽ7ųV‘í´£}ZJ4ÀÁY«ìÀ‡©XÔñ™ï9Â}ŠÞUæ9Ñ^£SÆR޵\îˆÜ1Üù0j?Hì¼™"Ô±óMyÂöð¹ãym"æ&8µÀ¼Ï¸I™m»­Eå?l%g›Þ»9SÛÉw;d¶1ßâ6MÇô„ńì( ^à vÌЖ0øóB ”úºå”ówã8á;ø¬ô4kµ‡¡ëæš°£ؼžíë¬0tÎ îí–38 CÛ)ÏÅ$»æi©‹^ÕŠ¤Êµ+mY'ÞUÆ”Ç{õtÊ{Q°<žêŽá‹åÒq/Ã$c_¡a‡"ÊŸŽ~¾ù\gŽÇ´ T’DPÐY u&p;TÉé6 6óJkdhcâ¿ÊdçÙmÌ¡¯;:/0Á]÷‡+ÚËß»'æ*2¯¡Vä )Õ›H#v•ÄaNóyŸ\ã‚Äz"üó!Kºx\LEκ†Éq¢(§L¹±«ïúýþz&°˜åe¢O>g=‹–àVÉ,‘ñ4Y° .Rˆ{€ É£“T ]´ºP€`…Mo±à{ÚpÝå]vN.Ä”ì÷êÅ~WÓÁ‡z³©¨¾èWÒsLÑPâ©¢Gˆ²œq°Êʉ—ó±£RÒÔ¹ˆâ84Îît…FœR Ÿ§0”*àØš’-ýzš æ®Äyš 5§Dôoú×!,²d&aùs6I<ůÕ^hÒ ‹ËD.±ŽÞãKB²Zˆ>Ìr„üq/nÎõn£DG~ZGßwÎzê­}{ï#\Ö'oþHU ¹P&à˜Ì/k¡ åÙä0^):9žé÷0‘DØl†› åYKH9"êâ %v1NÿDo^0PdžÍT72n¨r­ÞeÆöÉǨÍ^H꩜ª¶Íº³ŠÛA± wö<ך —§R'*&ÖV[ó¼*ˆ9œTYæ¥Õ8…%‡—Èã”'€(¬:ÑÞ%s€Xeº©]Ÿ|X˜ÔSòo\´l–ðRTôꀩ+$ÍKk¸ÄêV>ý |Õ 'ðL˼‚Wr4Uâ´X7l«cýYMˆ¶Á•]®E¿•ŽkÀ…«t V$ E²߫ƜЯB ¬fµDšÖõ4Qh,ÔðI-æ,…EUo,8%)ö'5šÃ•ª¿‡ý‚`…à”Àtfé­[GmÕÊB\gJ>±%–˨-ÏbM^,¬¥õõͶûo‡hT9£»,ÿZ,­Ø…>$~}T{Pàú+ôêž1ôÀ¼2£ª‹X‰Kœ*xq„€:íŠ~R¬iJÀ<›æ1|À5kn—zÆðŽ 9zSjM‹#”i-´ZËU>˜®îwî7íûüœÎ&XDý¼Ï|H%mø|›ClêbUF½á1–}oí)ÌOfªÿ[ ™¡ÏZ‹ßç‹ø‘¯½«êk÷ŽÙW ËÏWA¼ò¹t„.\pÍýåùóŒõ”Þy_Âp\D¥í*¤Q/tå T+Œ{k†z¬†ðz[AÀXÞcbx†ñ?°‚hK]Ê“jÈB¨ø$BN .GŸ{¾MŠ X"á?l¢FÁxOQŠ€‹pTÉ~–ƒ7:G Z´6jú™H0,ËÀ:adV}žRÎÕgC‡sUi9@ æsÇDw9±…ã‚rS0'büáFèÙ¢,œÊ·%šQ¶úû4,¦uLKIÕgÜά–!4¯x”jϨ6¹ '(c &Ÿ´PžŠ¼²Ox hšårp§LR­Nš±»ý2fêRêàe°Ð\Ç îrj¸&óü€V ø¯’²O¨¶¶àÂM|+R<9Dð±Êv4' &áŦj˜†oDÜ€…ŽŒ ¢–í‹È…eÃHDžS¯u™ðÚãT1‡¦â5j®äÍ>áÖY¿“#°”;QúœågGp™yž=´¬`È*–">ª´Øf~¾ŸƒYYa((Yºw(u°:Œ&ï2z؉Ÿ[¥²7ñ²an¸ú;Á³ZÍã]¯¼Ã´U>c ÿtŽC¾ÕƒîX ÃiŒo‡Ö¬öêa¸e«­:½Ùð°ê# n}4Ðz.£‘|xd=Ü‹sJLOÉÃhã1¾¨^¿Šyo´iÞOžvçc$»M_·ÿÆÓ_:õ²í–4˹ p;ŠÓá¶µ¶¡ÎÏ5kÖHШüWq?M¨2Le «¢ Y…˳öáúÞn5hù- iQªlº—  Gb4^ÙÌþf¥À›§´j¬Vé·V[ªuÓ[ª¥‚P…>Q®÷ZÓ(éoÏ]ïÕÆ•u>k¶nQ¢³›™+õV¥L6ª]üÒAÏš† ,Ñ9z`'–¾¬qsÃÓºàäb€_ŽÊAÖ Ð#Z<Õú0MVSNM¥qìHúË5öÉG mX2Ãt:jE›#!;¥V·ñúOÍÀè"Æ-¶/¶z§Ì×Éá!»Äá-þ1æ%P‹‚•Ø6Köš‚·¾Và1Ü­Èñ —9¾ë˜^Úr`ýêý_¯ý<Ç·s0°’h]ó–Rx ïâ@ÌmÁ¬>¢Œ>ú£âÉô³Z)•Q¥×ªé“ëê›fÃjýhaPX1J;íƒuT¨„*’Ži7jJTáA‰ýþª]º?­Ëd(b¶¥Å]T¥àòËFÞ!ì1"-ÅM–Ç¢8×½ÎuRÕ·¦U…˜nhÎu‚›– >ŒC®Ôn”6‰ey.Ši–òb—5{zph90Tæìs¼D*Å"¼£*´Ü-,e#$TÌ Uÿܘ¯EïwÊ€oê“Ì‘<:KÊ$ü B?äþL5PÇ.T.K$@|A¾@g(Q{HÞ"°xüc§S÷@áÍ^Sé|¸ŽÖÒôæ¡‚ KW‹¨koÊ^ö½Úsͼ–훂öäÀZb ÜÄû¦¤=v¿·×IqÐ<<œƒ”&óJAcM7ŠTšBÍUInˆµqWÆ÷–¼f‘¦UWÚ¼¬ðÕ%(ÏböX¥Q•ƒUõKZ+ÎWr»hÈ­ÓM-©«b]¡TÖÃLt!aIÓ²ú™Ž•mKæY!’g`·°Øŋނ(´ûwA!ReöO°L&]&K·Òl¥ í¨îÒtTV¬).¢–£Îã§]Šr”Æ…6SЋ"¿ÕYr¬þQÅZkõ¸ªÌmeõYÉ7Ú{ ˆh…Ë‘ÀþIetâˆ<²-ëç3Q3Ïò&èøáᦥ#|¦îâË…ž"ü®Š¿cùChÔ®^¯ÈFïª|CË@é:¬Ë),kÁhTÓêcnÇ߈*’©öÒr 7ÎsãÅÙ«ä˜ÃJÞÆÙ¬Hð¸_Ba| }ûuºDO):ßÞÑ"pÿ.ó]¥±´ˆcÁ›[ª¬<Ãð³^¨§À©µ«÷:bŠù7ÇB»Q^Þø‚Š3j°³røíØŠ¶Oþªüß&%tNuØbQWéŒÃfþ§ýšÇnâè :t‡¨XcÃÔÇ_r¨8¨H¾×qпÏ1€%iuèµÐè1ËãPÔ%ësY$¿¤IWõÄõI¼çdÆ; a#eópžcu£« "ƒpËŸOHsÀÀ-~½ )Á|‡NtT)>ùüP”÷ §%GNQÃÆb«ÌB…Hã\ zϿԡS ­ýª¸¿%ÜÛpgÔÖ±¬8F=@µÿ@-á¿Z“dóÊQYX›þèHeŸ«I6i.‹ÂÇþ½¾£#ÿZ²Õ†[Õ’øæ|Ó[ Õ¹K8`«Øñc"ªûM𺨭¼w>CñGKp¨Ðq‡ë’»zFºñs®ßßÓ\wB¿ ê/L…Ô²>ȧÄJaªÜSuý„ÌV2±b]‡+'–‹DÁl߉y3Z‰ÔÅ)Œxm?½@Wa+]ÝáªÐg©«uêýúºãUítÙâŽöÃC›©v¬ÙB Uå ÏMµ”ŠüÝõO‡{uŸ¡þ¹z⩘ý¹K OõˆUԔϴÞÓrà³Ïý˜Õdi}g Ö4w¸¤E+ÂB¬.—µT>ìïª2ðy…­•:Y«ÓzpE«ÿP”'~±ˆ5Æ‚¥,©Ü%޵â>|HjÛ{²·¯„ÝÒTmïêpô‹<¹¿ ©\7#k—Cî€å78Z§‰ºNŸ¬ÜôÆ´ºyü±—qBÓÐÚP©e}:[]ì&¡Í;\OwŒ[5Q=VÕÕÍÂÕyÇ©ùgV¦¾; ½×£Á7z–jÜê\x½|xFž4Ž)¡q¡¦AîR†÷EW˜,çÕUŠ ÆU¿`ÆÕ¼”p}ËlØ'¿dwxé£zø¹rBÌK3QŒ¬VV´åÙÿ¨ƒµú@R†åwêØ×§ëë°°Su›‘Hq«qòF]¬{¥ÙY.eL¢„Þè~nnN¦q"ò“Úxú Qæ CË0-ÃuƒÀ1,Ç¡.Ï l†¾ûÄ¢.Ý™6¬áÃhΜŸW—ðíliû?ÒpÜäо­]'[VÞ!¼xéIÖì-Ç\]3ûTÆ´’ÄÅ¢ryQï«uK*ðX¨l“f²Š’¨¦€ÈAÄ ‚áK^ÞæÔ(L]©Ílž]icx&ДՑ„Fu' MYÞ!לÀvqƒöÒáo³]ÿÄÃÿïØ—»c?©e\Ù´õ‰oÛ£í´q>Pg`—+E°’C ¨ñÊ-ÈH…>Ç]“¯O¨[ Áðçõ¡Ú"gƒM’‡[ñ‹?þRd³œ•÷NÊë›PÕ ¹²õœM§Kçæ4³¿;;Ãûc$Ð[³³åÍeÀ3PƒÑ?k’«`¯&c,åô|0¸»»ëóì~3ëgùÍÏÌÞ—D½×ÏÕ0û~ßì[5ãÂŒÏñ'¾9zõ8g JJ­vÚ:ˆÙxœí]ësÛ¶²ÿž¿UfÚ¸cK|ˆ/×ÖLNÒœf¦=u÷öžO-ÞP¤ ÙÖýëï.@RÔÃ&%KŠÝ¹4¶(X,»¿}¹øîýïï®ÿ}õ3ËIB®þüǯß‘ÞÙ`ð—ýn0xýžü÷/׿ýJ̾A®sš±Œ³”&ƒÁÏÿê‘ÞXÊéù`pww׿³ûY~3¸þ4¸Ç¾Ll\þz&-û\òÞèÕ…ð~’¤Åå†nÌ tkõ® ~L„¤ß=ÿ™Å·—½wY*E*Ï®çSÑ#LºìIq/uãŸØ˜æ…—^8ó{èDÆ2£?Þ]}”br•i²È»„ù$"‘‹”‰‹~íÕE§_É8Ñeï?²ÏŠ¢Gr‘\ö 9OD1Böˆ„áËQñeP’f|?x|Kq‰ÏEèÒƒ_q˜rœ8å⾯çþSrEo€":"ßObÎ3ùÓc­ÕóìVä·±¸+{ѳû½|ع«q,rš³ñ¼ìæ—êsçhšf’JÁËÞ&‰fµ(°àp~|wvFþ)RèÞ%᜼Ïîç7"¹óûfß"ggÕËê]™Mõ£c{ztBš‹ÙdBóyO±\Sõz: ÏpÑŠÞèj&1#(A…žÖkÓþ´ò2HÞ8ã‹×?ÌR†róP“Î÷b0]šÏÓzÉ>¯y,)L€ð˜ÞätB¢,'+½ŸW³Zî¦œÄ ¿<ÂÎ/âÉ )r¶™à/_b=ö—/0êtÜŸ¦7=f9vÙ3zdVˆ ÊGëÝaÄÄÄnnn §›½#:ûûûf‚ Z½ÞzeaëxäÔÔT|<ARR²¹µ•þ´Ò¬þjbÚ:93cÚ/kª®¯?Öó#5-MÚpuæ´³ÖÓ¡N£geBèGEF^\\ò/ØÛÚ~>888:Bû®ÊAÊáÓ%eeÇ8ܸ䤑‘Ñxttôä䄇‡g°º'ùôéæím¬¿ÿiAC´‹µµµ½ýêÚÚK«áõ놘¦'¶·ìÎ..ƒkkPWfêoÚÚÚ¥òþ~žžýI ªNhÛ$Zƒ.=™&G—7¨*Œ [%##[ŠG¡¸Å‹DŠÆý7Ðzµs÷ízQ11Fa ù£/ÓKÖî®®)ðÁÄ’æ+ÜúÐÐÞíÍ+§G’º»•BCCc϶ºÚ#"#»ÚÚæçæ‚_íu¢{{¹DLùó·éééIÔ)))Ÿûúômm¡L×zãT3*···5*Õœ"N‰6vvSª[ÝØ•²~ÇçšàèÓ§å%%%……©Ï\]\xççŒÈÊA Oò“wY__·‰Éæ¨5.cãä<9>Îzñâ£K¤žžžhŠŽŽNßÀ`žªfÆcyy™.Ýåö¥…°¬€€; –8£•Ÿ×R»¶WˆÑ/€Þø´÷•&øEЧa*˜u``K~>=ÒpxЧ5öGøÙR°¸´]û¸ÌÃÓðîÝÑÑÑØØXA­HûúÚÚ!wî„¥´´´ËƒÁȰeòó¼ U@gÝ@:ƒªÿœ¶4Úu½½¦Ìuɾ¾ºz‘•å)ë­€šê^ÁõÙå–—÷ FÒœ)ÿ5K“ÔᘢåÜ1×ü8tgš8Äñx¥££ãçÄT,‘Ãû°_iO]9fPÓÔÔT_ï©§?[vÊ{Ó&-yöTõ'ÁÿC[49€•ûvaËðÅ»±×)?Wý³¼ŠÛÚÝótžn–Œa÷n!J"oë<´îíÎ œsšɲűոáakggsŠD¶¼+Âj|†s9u *'£IK’«à·éWŽÌMlÔõ¾œîÖ” >0N³PÄã·/1Qq‰bzä—Ó?N{ÃŒŒnüòu#;ç±åøŒ «;/ åÂð~WW }y!jÓh8Ü@³’YjY¾,â`‰KK’MÐôuLV#D½ü’ëÎèö¿CIþÛ_xøÿ³°Iˆ3·µe­S ù´=fnÞ¤f]!ÔÓÓ°)Žø|¿^íí,›T„Xº eH¬ï$·ñ;¤ À#5%%‰é< u–6çŸ7?•‰_YY).fQ,㤧¯:s‘¬0aafÖ©«ª¬ôòòjæÎÒ®šñQTúü·nRQ!-üÅ[Ö¡3/ÅZVÕ.Êß×WLPÐQ iii9ç’ ¿ÄÒn<ûz8_¥ßè‰)‚µµ·jÕçªq£æ>‹2yÏx 4çÀ¹º[àÊ6üÎŒ,©ÅsŽßÜÜœ†¾»»›—G‡áãš››&‹CS‘! ©©©O>~@Öâš"fC¢®­£#-%z²†ÌÉ9Ûºm¨«û~P{fFFèéÛÊÚšòã[.Èëš2rriäDEÅÑ¥¥%ÀQfNÎ' &¿µÐEcÞN<ªšÉ4W™˜jLRS=Ž1ÝÝìqÆô‰Üìò~ƒ\·sëëLJ‡oü*-„)Hp <À}øèÒ›ÉÒÎñøÞg8+ ¸§_mÆ /ÊËËC øòG; ~AA{ãE£Ón­PèØøxÙË—g#ðfQþ|¡{K>¡Ö֋ʈ­º‰$îç†üŸÎÃu²ïo<Ü ®IÔêøIyÞiuˆšñ©zs9—N/°Ïº0; fµ¶¶æúû¿ç`d˜P³ÚÌÝÝý<ÔÍm_ùZIQqvn¨<`peeeóV6‡ÒÃûS©Tìu‡£ù²×‡ûýx¼@a…‚]T{k+‹=ûòe€(ïÇÇÇçîÓ¯®¿žž è.ßÚ`Ú  +ëŠDA?½ÿYÓíëׯûûûkjjp‹M‹?º¸¸xHð…³v9,ÎF–§gdÀZ—¿RÎÕå}\Ù xHKKkc"S:K¸:¿¼¼ìëëÊd–ÕóðòR|øðyÀ‘MÐN)EEE™“5_ožý}+++9…ѽ ó¬ßtøó—[„„î¨r˜ØŽ"˜²pëãã"D^ž9*ö Pwàpš…6×ñÂäädÔHoow#ºÔ”Å  3^ºßY^ ÑèßÈ©‹‘H>~~/{vZ²¤À[B'ü‹-~õ*›”ãþýÙÙYH,ÁÃÙ¹ =}O©:ýçõ>ÄZ0Ãë™JÞ¤[oôuÞ YR"n¥®* üø`Â)íî÷Î1GI¦ª×{hc¢ÿÍoT8ç5á:˜û™¨Ò%þÔý’zgs{ƒüÊÖÑûwJ¸½»2ZÇ;Å“àü9‰ô´Œ55ÿ ˜Eu 1Ÿ1ß=x¾|AŒxœí=isÛV’ßó+0JUÆž’(܇c«Ê±';®J2Nì™ì~J½ "& Á dͯßîwàà!ð”EřڵHïè×w÷ë~ù—·ÿ|óñÿÞÿÝדÜzÿ¯ï~x÷Æ:»”Rw©( ¡xœ­VgX“K†½4#Ez“bèK•Šô&½…Ð{•Þ«€Z€€Hi*m¹,-¡\šté)‘ÐEp?ì³÷îïyfΙ3gΙ÷¼gÒMŒu¨@l """*=]M3@Æ#€âÀŒŽÆ¾Ì@G“è篎ÂÔæ¬ô4Õ-Â_—EÒ/³õ¹ƒH5w+Òwó`âì”ܦ$$weZx+±OøÞ›“ 4dõ)JëÁ+ñõé¿w€I`B é`±ç™ê÷Hs¿²€2”…÷ffŒt@šÅD¬¦N›¤7p#Mi’)¬âE<9|i$]ñ® Kj2,å%T˜Ú{ÄVP'*ó{•e¡OŸÌ½‚Ю=Wh¾¹¹9î]±+ |Äœ5íǯý’j§ŽñýD˜8R­™êèNÒ qñЀI)© €Aaap(¢°°«£ƒ…}uu•™‰ ¦Î eÊ +'÷íâÂËÛ{ ”•ÂÍ2ehhhpÇô¬W^h„±# /ž¢Qÿö-;3(…´7U¦^ÔÐàëëÛ`#ûe²?‰¼åaa¨——°„ÄôÀ@ ¯“†Ï»ÌLƒ?þEϼ7¸xq•²qss#""rþRþ¸Úì¼ñÍaF‰oav-6hØfâ$DIE•’œüήml~¾­³“• ‰@¸zzzúú:˜š~;²ÔÙÙÙÔâ©®.ö2Kw÷Ú””ÑawW77;Á‚ÃC/Ñ¥ÕÕÎÎÎ;ݸ¼üÕ{syùöã[ëÿññÇ,gd[K2­²:+¦$¿¼üûOgÖÙ¸®g/./oooG·Þ¨(¯/?þrù ÇrðeýçEÝysÄk~võÕK9á§I>­^­ÆI’D½-Ÿ„Ã?Q Ÿ½̳›WgoŠi-¦õÅÇ»™8³˜úô꬟jõò·lLÊJÔ¯þõñû‹øì©³:W?¿yÿ®“_«­79©*둊RL™xy©ùêežM·Æ¥H_ýQXUY¥È_Uõ].ª±õ™UÃÔzF|g¸ÔË¥¿ƒxvc1œâ~/JøŠô¾ø§ÑódS.>Ô¾$ÙÔzO®aEäÊúf’q^ÔßÞ÷¶ü¾¸åM&nõ(jwÿÔ_n<Ô8%)ÙøNóóyãÈtZÔ¤\ð:ϨE…cœ2ðÏ_..¬ÿSžµèõ¶øtw-¦€sñȹÖÅ…yX>[3õU Ø35; Šeu¿®æ“ )ïÎ$ÈÕª¾žÍé Ò¸àÕÙÕû9Í3f}?Ÿ2ÄÎJmîkÇõ¿]x…Ôu™Ñö•Å„ŠrÍ Uv ˜P¬¶,.}pв¨aÿˆÊ÷<ß®¼y£¿xKƒµ‰×g}Èéï¸= 5èâQh*„%~õÕËÙÕk V“éu.F–õ•ÕlG>Þ™VbÉ×H³æ•˜X÷¥æøéÌ"9°©îÒåHÀ=ÌRá)kJ&ÀZÖ’ñ{~E”/±ª1A…‡ Þ˜\¸g ‡ðšVÀ£Yc)rµ$b¼:û8Ñ¿Z”TBJ˜EgðFe£"Ö,/ê‘Þrc€48sÇõÎ;Ä ®_•¿¸ªÈp ˜Ó[ÒwË«à%¹Å­‚þƬ–—áxçá¹ãçž#Á 0jYP-ßÕ0‘”ÍC4„ßÊ.epÖW/kãæÕŒL_¹ðyì¾ôyõø‹dtËLŸ¿¬9þ¿²7Ì}A|Ç%Ü ¢$ˆ“Râ·SâÆÌOBF™^DóÜ"­qßÀs´Ùõ>ÝèÀ4Ï®€£„ö·j楷é¿@‹º.&gW ƒ?ùâùôIwƒ5wÞ‘ÌêÙ=£Ï+˜ÿ=¢”oä»›&Mküü|˜£ ¹Dì2Àç$ ‰“ áNÀl—<.J…Ǜ̅8ñó{1Ýé8èÕLL_^RÞsÔxªÚØ}$"Ûaž/"—øÌ B?‰—/LR/ vC¥5»ß`®=w_‰\н÷[BÁö¸ËÝ0MaQLÝ€Æ"±'Hæ* … æ’Pø®œWãá@ñÝ­ àÑ ]7öà@‹”D@™ VÈhzP*žkoLønkHø±ÇlNâD ýq'â\—Æ%"¾$nŠŒ›Á®LIÈ[(Ô¬oÈdö-ð!F¸Ä¡ŒºœEG/¾—K]‡íF$˜áu`>t9ÇŽ¢”ûÂóC ñÀñ„ðäÀçx3ûþn’ä4¼n&¤hä7 8’ß ‚2qã ‰}ßqb.¸È<Ed7óà\wöSêxÔŽ’þú6<î°ÈC…©“Ý$òMVÖsªpê¦82À†w ¸óGQÕ}b+²iý½¦·¢:»©È­bšß)ð¢"~nýüoRfdZ[Óöà+{CÖP[{tb׳=xBLà(ÔÌ÷ãÈ9¤Û`.r¸ÃE˳ÙÇâõ§¬R*ó6Ò>Jã0tâŽ'°A #ÂÂçÀ$…:ä Ò~x.éð¹¿Ìeÿ}»kTö÷àNàKœ8QàÚnxžp‚$„Àvl;íæ Jósí‰GUC[[ÁuA‹ b;}›ÇlöabèîiLbá¹$(óÁvŒý$ B´ž\G)ßæ¤ÃkoÔ(Å‹dkÔ|\0®Eâì‚1ßGlN‚0Hý„{^?fø ¯½£f.AGð!Øð4$al3æ&$¤LÄž0‚ªï!»)??ÿUõ7yý­5¤¾/TŒ¯Eÿî·Š¬o®ëoÔà˜éu©°É¦ò öŸ&‰ï$¡ n‡vŒö8Èjê$ÑŽ®ƒÍAüZŠÌ>€Õw Þa0(á¾pÓÈcc,°S`Äá®ï»±Ñ8¢4HöÔ7vÇÚ€èðÞgÝ%{êC]fÓkeOaüaCHSÁ“Èg”DŒÙ.œ‹N¸z1œa¼åá}“vA{ÂT ‘ˆ€’À…ÿù¨³œÚÌ·ÑZ ¢Ý,°õßíà4¼ö1©^ TŽM<ÆWØ) =á“ÄMDèpÏnÝôÈ5†ÆsíihÜdU¶­©E#aƒjà‡N†vâqÃvxŽK{_Ö׃Às ˜ëƒ±¹]C [MHo;c=æQ’4rBîƒíÌ|Ðß©HEÖŽ-ö5Ö—)f!0}Õýê8¼¬?ã×lYÁ²¿¬M*H‰˜9‰cG6A…CxÒØ³íCbãs 9ä&Žb/<ÌÕ[  HF}Bâ$ÃYâÅ~ÊCØSh»‰sÐðâsíÉÁÈ´Îà[Rmë-Aùšpμ$¤~Ì„'hÊ™í£oÐOq¶HNà Ëì߆¯7†Y10²¹ÍIÈ].|P8Žá‹Ðm@ÿÑ(‹^8@¤¥´{ý"ëéSÚ Ý€Øá$Júð_Ĉîø®{†ƒ ïÃp…%ôjRC1í”ûžˆ Mx”Z'Ý- ÒÔâÝlÿ‡ ½á…^wRC~bŠã ºE<;¶“4òƒ@ÀAø”‘ˆ†,ò¢ÐuQ|´ø3¼ðR\²¥,Ïê»õ2þRúÖ®žèÖdÅvÝšÔØá47Ù©"u"ϰ=æ¥T$vHÛõØnìqØÜ`®!EcS<€e/lwˆrwˆä9<š‚ñf‹ð\—Rû`ªy<¨{д¶ æz ÀSÊß7`ŠÀæ4Ü”ºIÄÔ†.èQ!˜8È7<×&ò¡ì‰y-B둆À­Iö†]›{p™ëPNøAmõ æz@ÛÝ"`âhçièî‚éMÆøÒ>?…Üð\Ÿrå¦Tšx°—z^Ì“4v„“PîÅvìÚ^LšÉ°Á\ŸlêÏ àFy 㥶‘Ú,òi1Fdj“íñƒÂmƒ¹Ü6­„ÛŒ8¶s°ðˆúQÊßB_ÿx_/žësÃ._µc¨”ͽ)¹ãæòÔzdÀÒT:?eaÀ)M†²ÃeS+x<ÖÏ _ûðÚUü¤7c2½ EÛo/«)]ñÆÚð!¥ Ë) b‚%ãÇÃ|N#7 G0ì;’˜Î'ÖŽh­Èã^¹”n®‡€áÂÕ U·ø†!éÄŒ±z1£qØ©C°™»;ŠD“@úù¶ÃëÇ ]ÃŽ¥÷$ÃÛz-ÓÓ_˜ BòÃ{@ØI䥱 ’‹®:ÔÆ;;"N*ìhǤw LðzdxoAIœ÷Ù'‘Ë)ØÂ–úåß4FOì”F,ôܘ v 8J/â 9IãÝR¼w¾´EÆòàº'€.ÍÝ€MÃv6j>näŠØužF1-d¸H\ÛÞ wö¸³EÊûàÊ\÷Mo›E @cö ï$$óA±àiâ8˜€9±—R‚v¸^>Œ‡WiýV_wC)¥!†O­¥!û4ËsÁñM•­ÀõÕKÀö…+yiÆÙ =cß ::avxï¬ÀÞo”6;dõx)KÜÀbÛµ£¨. /ŽüÔÌdïÅG›/;¼oä RAÏ­žµ9˜óaÓˆ£‰b»~"8F1hº.MÞ‹w¼sDY¶œû1´6ÙñÝ4“šÚkïaÊ¢ÄŒŠ€Ø,!Aù°ÊUmF‚½cøó!`;¼ð¬èûNJéÖ¸1ŒœÔIa>a®°ÔumŸ¥ÞŽºíð±ÄĪÔÒýòežû:Èáßa‹4bÌ+ ]¸®H¨ˆžÇ›¨7¼ðIq#@1úmÛ¡k{Q↮ç:a€}M¢ílî’œ_¼€ ñ˜àç¿êÕ%ý ‘_% 6!Õmð}¸2ØçÃw|½º¦/T¹¯}ð}±ÖÖ8Œ³ã#ïÄO‰c°ÐzLÏò1p^)Ä€±|"GæX¤}þ¨HnÆ®”§ð÷Ák˜@X¯óª€eÔð?võ±Õ²|]¬n»ê]°9Ï—‰cM!£á²o ë;Ðü‚ýƒØŠƒ˜Zmý›#ÒÂ6% 遼ÔÏØš6(ð÷ÈHAŸÛŸ:Eì¶%]‹ô AθšЉ¾¨,PC—ðÇŸÁZ;G•Çê/ßþ€úS!a1:*¡ìVrp+±±U¹Ðí)e¸Öã#£”4¿PÌ=Ó“~ެmP£skô^@ìœP!I”úõS¯I*nºH&xyeªÚÜZŸ**íêXø÷íR÷»¸;»&¦uÛXðÙn´î~ýÒϾ…¶|ê¶Ñ®;Eί¬—¬àâÊ~y)ÿ]5ØÐ¶Vîb=«Ã?”³aÎg5 ^A7Ês 4‡©ØK$·âÛ&<øò¼Òÿt&Yð}ÞËw?޳ÊJþn4uÁ2.,pÜÒB擱߭qV£k&7~hÝÈÂ*JkZÔ/¦K$8*±d"öߘan¯jw‘M¥§§˜J®¾¹K«Ûóû ”DóncQä-Iy·—)Éòó¯¿a ½“Y5ƒ]T­GýK™Nµ¬”FË>´j^¦„ =A¿RÔórªÆ¬€G×ȪԆ1ÁEvP‘K„—@´KJAqd½K;qá"“àϦºXŸh†cÅ<çÓ¿Ö((*D9ËŠŸ[Ø PKBáøý¼Ä±Î­,µÖ0 ªr.$,ú ÓíT?\ÿ¶R4ç¯÷!]pò¡Y)*ìXÃå@ôÎÂPD®ìÀÊ¢sù ºìº’g¿ß‹}Û C׿ÜÃ74äGñiiHôö[’ðÚ1ñ9¥å²È¦R îYîÀ QLyœôVZ×Ò»YZÿea=6˜1’çw cLbØÇ",lðSz`OŠB&ó¼Îfy¦ZeÙ£$yÞ ·‚üË™×=È+âX¢(D·»Þ—ÅM†÷X–á+íà è;Øu§¸­ láåyпbâ£R"aw20RЊÍKµìjpèwŽßÊåãP,/*aHXaò³l\Aþ€„ [ÿÛòÑ>ïù­ ˜#ðª \£>¤æ-«ÂTAC†¼€л>¤Ú“„Iy®Ö¢¸cÄš`Žê/bRU ‡Ç`T 2éÇØ}Ž•¥ˆ7é€SŽsÙËδôe§žøê©(¦V1S­kgÀ²¤R‚—áÅÉ)©œ¯&ë~_÷qèØ¸s®4Eo%9IÀ Çä…¨P“)ÌP‘D`ñ ®Às²‰¬ZÁT̰&ÊÃ;ÿ¯˜+¦‡do[0Ó7­4ŸZ(¼ƒwPö¢t“”‡¡@ |¹êΧÇ9°Ïæ0Ð>þ‚{çXŒXB8ÂMC"ÜÈwÀx" ;bn$‚…ˆ5è‹fÕ²7 ´z¤_ PW[ï5äërÇÆž>dB¼0da¥¶…TñÎ{’WÆÍ×TK¾i|’n°e± ¡'sd ëkû¼ýò!ÜLJv¢ÌÌvãF9¶§å-œ[¥ôi7zÌLZ3B%SuaÖÏlɳY)=-iÿ-ý†%õ›Æ¡ 5¶9šǽÜHȱ`»Áߨ&íɼ<s2 ¿Ÿ¡Õ£­ŸJgŽí²ì][‰È\¶èËÑäíÃL¹Í™„iØÌc$ò|Ç!õSÛ #_¤{3Ó * œ$35>ÿ?]¬8°o…×·e’æ¢É\ò³9œœWþÒñ£*÷©ID5ìOM1ÑwŠuö ¹è™€¦ƒšm)2CwJÁ”¼ØXë`ìd©rÝåÕ|ÖdÓÞŸ5½xªq#NÍ‚aùDO ƒk•Ü$Ù6ÙŠuMØXZû£7ªZ×Ñ÷0¢Î>×+Wc›ü]³j 'Ð$lÉéœE/[M~—6³q8V €3^ÉWºžmÐÎg¨nß´‡“!3^+øQ9^ÔÇ×Õw¸ýµ ÙþÒC‹´,&[k¸>å"tiLÜ”9h·!g”ƶp!ß›)oPÐäD™2˜Ï=ެ œìƈ5g=Fz8.i2îª1„š´ 4ÛÑb0žïjd™×&ï;¾ï&TÓÆy$skÒÍa”gè^]“Õ¼&g¸üÌiâ®$J­YÂÞ=2wþ¤øÛIû¹ƒ1©§‘3ˆlV0ߟ;/lÑô[…Ô±f‰³]à",r8á~èÅÀK↠îXŽa ž&—:ˆ¾±VÕ8@9‡nïmírüë1ç_‡‹ ™@fE­Ï´Mì__6ž‚Þµ¤û”×Z¯ªZí&/Ñ^c’êôMy}“ä`BO‰L\Ž(£èò®Ÿš°­ˆ Ü»œ(×¥¼™¤j"ÏJÁÀªV7l³Òš¨BŽ2R`’¨ò"·×»ÕÝ*Ü;¬ÚºÁ²H‘¸sCªÃó/TAàUÃÒj_íÀÏq÷o©ž1^*^só|»Û _“xãÀÓcÛ‰E$b0rC×ñ÷x3wÞdâvV” J¥.uÚy>~äh°öÞÕ>¶#§€9À1™Ù>µ“ıyê& Ý“GÛ±—ØžC(ç‘c‡‘pÝ $><âÀybºì úVi‹­AŸZi¹/¢',^#Ÿ^ûUkŒ¢…ÃÚºu¦œ©Ú ¹¦*>Ò é›W¤ƒÚ¡Š«ºvmáãr¶·`Wª´%+Ü¢3CkÈkb\ªb¬PƳŠùTAM¶Â],ãÝÛ`š“ëEéf:ÙVI·E’†iâPS©CE€À‚ I |ÒD¼¬N/7Ô­6©‚·8±þÆÅ©q“$IiE#Nä1×_žø§bÝÜ–\‹ÒÃO¹ï‰8¡Â'\ I¸è[Jí –¹ûÝ¥íQýt©ï5Ocs7 M}'©Hï èÞ~‚k¸LíS\Ýší{È©Ÿĺòj˜­EPÅxO°ûá<Ã@üg_¼ŽŽšî?;…G»¥?÷AlDîÊ»æºüò@Í‹¾(DÝðˆ¤é¶^mYv§v.*ÓßEÖsWÝZLCÝ|%#«ã—ÔÅ­JA˜¼›–©f8ZaPÙ-‹P×Ëb´R‹üNùq׸&ï0}SPÓ®{Í,Z¦e´.ÙZCo\:Keœ›÷Ë#k‰o4•Û«óåýxén\ä\ïE7"PÃ]L Ž{,U”åX±®Ä.æÑvÓÏ@äo£†Ä)KBáQ,ùHÀvè’ÄfNò4pÂe5äG\–ò‘þ¨¥ûèÖH ;VM‘ÎW_‰Ô…EëâúQGµ  ‚“WBͧ½Bd½6†myOÕT¤+ôðÒ=ý‚«êÈd×HÛ¶WðεÃãMUi¿¤Ô»n~! ÝŽT#¹ë»äç>4ëÓïyô\ÑæR»Nj"³Ptۘʋn{g¡ð„?Â8K Úê’06l@~é²6dZ¡“IÆM~ŠGv»Ò47U;-U´…Ö´ûètºè ðÈúW¥:i¬j²cŠûȤŠW¬è "‹ÝªÝ^t’!ŠêæSB2+0RçAòIð³5EéQ´É¸47´¹‚b·G ¹–wr°*žÄ¼^„Êbs’ë_¯j˜®FKÍŒ´·S§W*‡çôb:W-s–Ê*—¢y% «#af€®¢|˺¤KWt¬Ë@h¶¿Iµ…‘…Õ›gtÈOÞv_ŒâiÝ‚\R¡CÕdD¡€ÞÌ@Qúb@ T‚C&†é*u çMÙ"ÓC¡QIˆ¯œUƒnøå¾{3êrÐ} š‹åðð‚4š· Àát¢Wg­ðùîŸo/˜ŽßuåÀžl˜¯ÓÛÜŽ–FŒp;¥¥‰Gˆ-g?‡Àðþž’C ßÆmÏ<³Cšq.íì‰X_æÀ;ùh¨,a«Ô6R–—¢sÜí˜ÐÄ ¨m{vàÛqàú!K\â[0.Ìò^ç¹J¼4ý ¯6þúfŸéÿ‘"¦ê‚v¸þa‹êÁ0z‚Ǩ ÏÏ•HT†A_!Î@l¿“†¨«µY‰m7‚J§,Ÿ¶ïxXé$D…úè(…°/!°];¦Æ}¤ãŒx>l,â!Põ˜'¼˜Ù‚{Éɺ«Ûnõ ò)«ê”‹°ëìþJöiZÄU~~Çõ6VÄS؆4¯Òçû¸Cá‡U,¾Ï0IJÓ‡½úcN°¯s·{ÿº­œAd\O¤ÞiFÖ£".íàãšP1úV:u‹Ç"Ÿµ~¤®öTÛ9Ô¬ oCõJã­Oý¡«e(^­jäg¯hKs,¥‡að Ý’¨9Õ â0‚I¯`̸DF ;‚Tð ßI§yy×â6;‚ñ˜*²Ëñ™/—§‰ãà-¥È‰=0êBÏÁâÂ4­{–4žåiIÎ>Ì :1§oGNÝe?y‰ó8â¥Û'®Û¾þ‹9…/âò¡Ò”Ÿ¹\ºw"IR¹{u_èÞm܆^¤ˆìþª‚£mÙŸRªXãÂQ7½Œ¿ØÄWµÃ½ÉyÖÆµñ½âÑÁ樓E³^‡é*m^¤EÉM÷Ô©ŠgI)ÕÕS’ç˽*k«€U©~)~‹€©ÎW‹•?c?pøY6cÇ ‘H‚¹ÏÙT{ì wÚ8ªîã(|ª~„ñ5`ø9›f“ùDº„`+zo:F©¯è(¿Ti¢•¸¥?æJù¯(‹‘õì»Æ}¿ˆ zº gd·5^ N·õ4(ùséúÇÅ!°;±Uï¼;¸¼—ÞÆÚÓ»%f†ã{?†Í÷%%l{M' l/„јÏ}á ‡Dœ;~¦ öÜ;Ù.Ç)¡¦:[¾?©Bj™úFž ư4òŒk A¬Š“ÕúºÜNÛÉ•4ñ]é‹Ö÷CWWÕh²\ˆ5Ÿf€Ø¯–Ș«ŒÛ«ØlÏøS1áné“Úav£ëø<3 S•±Ði»+ol«T柷®ƒ.;„Ó›m2Î[y™”ƒª»Å1ýq•ðÕ¦ý…ÎòVÜkmbò80üR$kSÌÿµ$at-NIšåœÕXh„šÌSþ¯R1°„çó…Þ»¬ßÖXÞ¬•ëT²zþ#KíM?²€U:éå%½šŠÛ——ôJÊÇi/ª}gÝÊAde…Êiô"Ya¯,f¢|7ý¾7*õ98ÇÓ”SÛ—¡ëÂú±H¨ÏiïÛ&þOž#ü¹Äôñë(„ôÖûÝ\v[;Éî­jˆ¶’[Ò{Þ1ÞUJf‚: ™Îå>ÔÞÓ;“läºîa} Õ ßbV§Þ©–˜p¶†ÑíhÎÔy¾ƒ‡>=—²3¾Zã2µ OQßêQÌjmëµÞÞFºÖôñ)\ÃF{ßPÝMåJb%i@#'ä~°õ=?¢"Ťn‹'UÂiu‚Ærú…R¸š¯^¼P‰óÍO°Ççêûй–Ðæ&-e+)Y¼ô\'»ÝHÙŸ;˳úÎgðXÉàŸje%&éÎT7”·ÉæñìØNÒÈ‘DÀò‰hÈ"/ ]7%¡‡±I’ÿ»YG§ZÐ-VÚI¯–ns¼)7¦§:½8+—6ªÊ5éÖ㪚ærMN²>˜×5(ÉAïÀ%œ3/ ©3á šrt®ƒê§'ßÓ±Ãï^ÿÖî÷LÞÖ(C1öGjÕÝaWË)šªV› gLõ'CÓ 3Èt³ü’ ÍIN·ÁﹺǷ˜k,ß…­*s@Å+ñÁ&Ïõ¹Œi »iS›Ûœ„ÜåˆãÄq X,@) HàŸ*i›rÜ}Ò–ŸŽU”F¾ WíV&W¯þ‰¸A×÷p$SÍ$ñSa䢼53T[¨è¼©ù˜ƒfÂï,%ÐÎÔÈâF+“Yå`ËÌ¥¸ ÞEÕ÷¸:+”—oÀãj‘Û[D45*ñ¨ÿEŒa§ŽïÚ±÷…èí©•gôÓ£ (ጾŽy{AÐÃdtѶÀ©!> œµ4‡Z£òþmK) ¼—¨E¸É ×Ü9M’Y­‚v«d=°*¦¸ŠGzïìØ]Å$‹R)Iç0t—ñ6h¯î˜º„U™ì.]’‹ Y ìOWk+SsÐÇpšt¾B4ö%OÒ³vô¦.=ÏIë&"¿#ƒÈ4hÖ~—Ž Ú-¾×7õ´£Ì„·˜ó¼ÖõC_L›Oºê’©²KûŒãÝÊ[‰díJŸ™¨ús°üFÏÅ×¹¢—M›À¦UÊš&„9Tt÷éUÒÔ»l í«—A8m&Ëœ]تѵ% °¸‡Ñ-ÐMUÝUM–QoYÍb±DÙW10˜¸^Ø´¦s†Š’ß­ò°þu»z{»¸<{Ë¿çÄzR®9úó~Æôê;­íÂaKSĦ§<¶ë'‚‡á4Ý1ß¼ødó#WèU ž(°Þ™ Ü~êÕæN¦%ŸÏ5jÍâ§föˆ+tï“é¢÷kaK\ fT€Å΄‘t’`Ù}F‚Ɇ2\¶Á¨÷ƒ’·Þ äŽÅm‡-ãwêâ~aî¬7%^›hºû‚Hòo °Uùꮺ¯¬:Ÿ/2CõœŠ4ÈðI®êje±:Á‘i_6_ôäÖvMP=›ª"=ðB~§2Z¶P~cåXVbö_›09†£dМp¶AŒŒëÜ"9¡]ªº è9ËÅÈM@ÉLoÎWFë”Äíc[ËI éެ2ð9#×m…çvUŠæŒ³œÃ/KûY·oy¸sÕõ¥W£¹·4—ú á"§jr½”¡Í+,«fñî°¾¿$Ä@åÄ5ps·•ËBÇ.,GQJ£Ô‰"JD®®º/ßP˜9`´®ÐV¿&ŽÅq’ˆØ±ëûÔw‘„‚yÔîjt›²à|2*Ó*œø¢1lvjãñí1°å”“åT6y=øœ©ÎדòúŸ2c´Nb¯PCdÖ#f®êx­É_™ÒüiíYe¦˜ž”UÉ¢:è4ËÂsk>•ƸJ倥¡ÂGšâFƒ:\ÿ<Œäëwa­@÷n¦Ë…{ÅI¿SgwK¤äËÌ=Mý¢tì)ʶbŽç¸PUePIÁÞ[UÒdÒșе ¨O VõTó*´Ò(pïÛE±6¾6(éh°HŠš.îQ¥æ.ôêUàìW #³™ å &ô4.z©jWmüÔèQ’;f ú™6+ ¼t,ƒ^…•ƸJ‡(”¦¬BYIè–ÃDßk¬ ,Ó d.W+œVñ4¥µ‰dÚ6¬NlîõRzÕõjÉ q>ßÊ C\ʼnFNꤠTø„¹^ÀR×µ}–z'Û}utëý!rJ7ÌǸ7×u7•¢3Ƚb¥^qO>«ä$k@9²ÚxÚºgZɧ«¢¯sÏV¦t>_!ÿVpÈó4Íu%È©.ó “8U¹Š 2Ä¡¬B#ëŸè ïäÆJöO@‚ad@G?Ì>êRhß­—ˆ9ör¿i^5á#·;uû+š‰ïÇÀŽiÄ(åœ\W$TDOÈSJ•CücqrÙr§VŠhVJé—k˜‡H?þVkÒ™´êäš‚éÝãèöéXN ÑO¶•ͧâVÍô×JÞé2ÙP‹¹$°×âV%(.§&6v‡\‘êH k¶·o4¢]‚Kø<)Œ¡KÑ›ÇvÁ^¬Ôõ©çØïºQ"N•®ÐXeƒËÓïlyjÌQv?ìuÑư̂ذïºN…çÜwRÛ©›PÇŽmǾGl¦Ûª/'Káo}iD7{l†øRÑî¨édÚM¶k›µ3]è\Ò侯Bvme¬íïùçK$üUzÅ Ô=ù…0Ýr+U•´U—… ý›ÞE«(g——*ŠW°y¼k®â+‡Fä¯Å„FS)O+-0ø/{µf`²½x9DzyvU•ìRÖÔ»\Müåó~‹Ç¿UżdÆ‹Ñü2«²´0Ö€í#l6Ó\Êy’ÿåâBBDÞ¼¸èËã´ê)yõ?ÍnLdW­m\׳——···#^|ºƒMŠòúÃýŸô"ߪï%Â8£xäŒÜ¦´àwø/>yõÕÿdø7à*+ --Û½xj(µ+›—‡D"Wto—V]èºOÚ,e§èC8$,‡Wý÷÷÷™cóëëßnL8%ß%¯¬8fx`u÷mzzzZN7›?}Òw\4lWŠºð7{uNßä——¯ÏË‹˜U X314d˜ 8ÙsÓ.Ž'‰f¡Úóˆ¶( <=,6NŠ]ãæãÜ~ðœYÛÚš«´éø´›p±³|úm¾#Fˆù ”i,wåíÓÓƒwÊ£%¦ªªªì.•ÑuŒST™•º®Z•?X_^î™ì2|=o{<¤Üj/S<º6½¸[b`P 9 Øœnlmm,à­çffÎÆ,¼ˆ8Öu…±øóós×:ä{’ƒ£ãxº•ÜÝÝ]_[k,Þû¯ø0<ƒÁʈfZ‘[s8ÒªZfãñ\à ±³±‰[5}éë£ð_è¼â˜b(²Ù¸ü/NÌõÏS4Çk¿|ù2+t§×)+è{ë³KýZ¶vvã¸Gð-5ÔöãÓƒ°°0 SÊîWFkÊK¶Æ/ £¿ãg-ðÁûÛÛ•ZzŠ‘m¿6ú9ééÅ,zsŸ^VØV˜HàU]ËýÄJ ÝF}Ì;¹ ·cY‚¸áW¶å–°;¿Äè8Å(þžôÎ^ãþþÓQƒíB×XåèùHChädÚÏ_=ga:Íj9Ü$÷¥8ñóÄðÃö&œ¨¡×*mÙ yX¬somÇf)e÷µ«"šEÕ2ª·\¥ý•ŒÚçÝКÄÎåŸÇ*Q ‰ÁSJ–îÏŸ`‰îré·n!…ÿœ9{ƒ*üV‚ŽŽ–ÀÏjx¬ïÓÔ5±Èó½Ÿ/Aï숪̪÷î¢:‹ï[ªÒû ÐÖ^ Ïχn&õZZLA[.ÿyY$y<¾;ÆèD[\±©d¢VÑ £$“èT÷Ú²ù_i’E½áè¥^Î+2ýºI±+îÎ+Ü׿h9å¦YŒ­fºƒwõ1ö§ýË‹ài–c9Eâm·ùTôéaLFÆVê€ØEMš»çùÖÙi‡lv²¨·!ôtÓRàLiû2•ZMAÅ&BBÛ|Œ]nà¬â3&¥°Pð`GU`+––‚ῌ~-QÇÁ¨4÷¢3“&5ñ h²¦Q¿ƒ¿âCÑÄžŒ¡Å˜Ávi±·rŽæ² ¤ðú;}UÖHÆG—þ!_tš•ãüNvV7ŒÒ³8õá£Gp¦HD±?˜rÜTZpxŠG±~Šv)õl(µ­°jƒÁ"5YýÇÍÓùaý0¿®4G‡‘rq×S´,Õ4BŽ?=>¶j~âqþë‹ÅîI­Û*‘ÉäùùyÍ\))©m b!|„¿6J“ß­ƒÈl¹Æ/Ê<ýWöĸߗô¥ddˆ2Çf¯ïìì\¢½zt|,nÙPYXè89dz*ñ;ÊÀ¥ÞÎNm „…™ùe\ܪÍÛF§­–VGgg'@—###©”«.ndüÁ¤›¹¹y0~,çá¸hpìëë««§Göm4éïíåââzÝGH™t>«?tÅ;ÏÖ:4T%ù³d˯µRÜHG™è$°±åfU 3s奥v4öžp Q8„Ù"_Ž.^Û‰ q‘ãN›ÚÓ®÷™ºYT]™-/*ÊC¥¥¥MMMËXdOONP*¼»ÙzÉ%vl{8|èµ PJIIIå—Ô€+íìì”Þ%lúj¢ÍÄ éW&Ô>+Å{'RŒ‹~v° °p¤Ù«å쉵5¯¢ŽN³jÈÁôÇ ?[Û…‘€½L°8. ë6h ”!ïñypð7«®Ú”]K'‘/±h4YJ{MT;¸Ö¥ÿæÞ£ê2Žùˆˆ!ƒ·ýi²ª¨dŽÂvq„~Ù;ëÈ îxa ‰Á©© O›øV÷Ìz ¾|Št®¢ÔCñÖQMϬŠÔÃO²Í¼:*Ñ)[ÿ·EëR~l39DÄL-ÚwÅM~c¡(æTº¶ls­Òcª>m¨CQ;oŸ.77—{E;3¦#.pݱ9\çF»èî­a:¤ö2»¾IH|E>[,·8TVÞz–¿øÄ|¢}y·lê8tv•4­LïcHÀtjtÄ-@X"$åŽÏf/¨‡º¶Þõä$¥"©–íô³c1hŸ±®Î%ÇÏŸáa ›t‡ J*³ã|¸Ð•A—›šN?» zõ–ÞûÈE¤½€AºâùeŠÿ6·³E<&ª»´Š ðD:ZÔO&ð…žDвܬ %542*Jܬ²5ËKKCCã9Ý0¿²EJkÁLW;ôõI¶üè|–(¤7#°}›âÿU¼œ-×ä–ƒÌDvøùñ ¾õµJPM-k³‡SÚYši¼DEõäÇ×*Ï¥HcKËëš/†–iii÷Ûh R$ ¸Mo±ùu¸¬ÅqHÎ6z9;iõ4)43ª€s++·Õ¯22n¬­å« ¾gbÂ:jjl¼MÔãÓÑÖv®C¦ê^Ñ +6)$]Öip‰LfcemPM¾ë Ç]ZZÚrv0ÕÞ®ù¡'ðjbf„½Œ¹®n÷K6ÑÐÐP°  ‰Dwj••õ#NöûÞoÞà=OxzšJ‚{ÔBøð!eBZ\X(Šr®~&°‹¸xyMM¯`R¯¼û×í“uÜ£¨ª†Ôbw|Æ/Owwûè…Ýc Ñ%9Ÿ›Dßþ´(1|aœ||ð¡¾Ì™ ”vëÆÔ‡ÉGF[j¿v?xÍ6ç#VMh¹ã»ÎL'Ž]š§øCËÝ‚<ù„ʺ¦˜©'8@»f–Yiiin2iw €ø[.ÎCâŽL d]Sn›„…c„ 3µþå¦8*LÚ+ýÕÓÕuoy¥¬LŒ§0¿¶¾ôQn{ÞûKKöÏ4˜XXda^áÇä”þ#ºÜoß¾iÅ\ œL÷î¯ä³LJ0¿ˆHVb÷djr2âùóÕŠ„„ ¥^Çþ} )6Iâ½Y´ðÚÄC18Ãz:ù%nÔÕÏÏOYYÈ÷Èt˜Š/讑ÑàÐPKðþÚׯfnnëUv= ¦¨âÍ›7¿~ý}XÁÉ ð•á¸; ­¦¦v¸yV^ˆ“$uü¡ÎÀȸxȧ‚Îí0õs±'&:ºÄÆÅeŽ@ØJqš9*ó^cbcKNO>ÚžŒŒÄ‡VXãÓ×u®¦Hä$«ÇÂÂRSS“–âqŸi 8Üœù¢|éô†pq~ê6Væ#w§ÊìW7×uE_ûãÕÕU++«ØØØ=ÓÅæ)Ÿï>{ËÙឤa ðŠŠŠUøøøbjY¿†ÓP×7˜1ÊÊŠ }Ó»Öúïd à® !žëùùû@Æ Õ%i›¶ˆË666 ¼]]Í|”ÿQf©”©œX#æY ø¤€éiWh>ŽølØ š^yµ@0xœµWgT[×DÀ^¤¥„ÀEéE¤Cè.Á ¡(½wP„ˆ‘ h©ÒH]Š Djˆ€t)‘&EzøÆw}ßýÞõþgž™3ë¬3{ï9kïçÙkl¤ÇâQPP0ÂôµÀˆ®f:*àž§Ü[=mŠ‹ßgþ}°’ Ó†š 27Þ=5¼ÿ§u¨  €³êM¯< fj£ à@0ô†ðHG8z†QCgZŸ¤z¢-„§®§‹ÛI_µ’á2x¥$ã|M›R¼ú­â_(è’£HÛÃ5ïv1㕜áBø4™0~€8éíÝ¥Ÿl ZŸ _ÐÇhs*|ÌaAM·Q¡ÿ99µµ¬JmÞC"]‡¶Þnkœ¾¨ò˜’WÖSâ¼>Vn$´«`ÛBÊHACÿ4è"ø¸û+{²ó'õjjjRSAõõõ}|¤kJóó!`°¦).RVm˜Wþí”#^q©… u{™¯©1•±Ïxí;SC9}@F†™£¿'$ƒOÄu›â¾è3’Î+(¸ÒpSzÏa$­>6 ™z/hþ°)Ã’ E)‡"ëÅ× ÞêÊæwvΘšwš8ˆW¸„†cÏ7ŸÜ²—ì?C | Œ7GYÙ ¼îeȵ‡TH焘z)ºÄ äp Û†- ±<;÷èT÷ª=36²™øõGæ];€gÜŠS¥Ñƒ«^8€1fá—HcoÿOE´Í-P¥RfÒ©‹ì"WÙÏÞYXéÎËñ íR6Hª¤c” S– ûߎ­°%áÒ !ÿ5‘ž¬™ã¶[)A¹(;ÃЕýƒeA¨tÁ(Iê¸ÙÁB¸mŸ‹!å}}ÌwMØu Œ äÔœ‘»ó4Ô‰i¾òÖY dÐê›uуÙé½ió_;yŒ¥:‡y­côÙ–—zþ† »{œÏOV¨žóÓnPðMÌîËõ;atknjDÞ?v´ªêì ƒ,?.¥`2×V œH|B[¬^ònö=ÍX¤ è” >`ÔöÄ¢Jã[¾²S³òÒÕõ4ùåÃó.²A°v¥ø&mÛ5¾QøôÖ&%_ëyvÕ¸ž0=a­«¶¼ v…䉄¨G¤LbÞzˆ2*k [îVüGŽª;Ëfúp¨4ÌM0ÚNTÓÈ 2ßáNÕŸn/šM˜€Õit¼mØ«ÂÅ<õûœ5;M¹ÉŠñåº>ð\ \="]ô…€LØ/îo+ú@i 8¹PظõmÔ–Îmð´»0ôt'o¨Kó‰WÊpë 0 漋¦ÖYºBoFŽ-³hÊ.Žá—°¥yk.A“[Ô/‹‰órš ^^Fr|n±¯s²ÛÏÄȉç°÷ë=¥5Z§:÷ë*ÿE¦¿+Ó†Dx•¿#$3±ä¯ˆWŠæË6ο²gÌ ¸’~á\ÛñTŽœQ(L·¯Ò¢Uùµ~ƒµ±k÷Æ¡Ü&N€ËsØÿ–»–®|(xÛ¤‚—ßCNW̧XJ¨z’s;’XÊQ´9¦äÉÉ¡R>U~“‹n±A¿ÚÔG×”ªû“^sJ^w¾€mÅŒ•êN Ñžº²ÌßÙsøHœ3ì÷,–_Ewoã=1V‘›Gèh@pxD*¹² pA†½Ìiè$-ØðX a>ÃçOÜíÛJŸ‚Ž-” ƒI­“2ƒªz2D ôEtš¬È—gë“ìèƒRá´"•¾JÜ/솆"/µ•·Ê5(¬–_ù\èŸbŸ¼÷kxk|—zX¬/“2ªD’ŸÞ³Y³Õ‰ל@'Ô, ^¤//f&fšvE‘4ž¬£‹øÛ‡rX¯“R¿+{¼$OÈäªÄ>…ôÖßR\(éÚБyùœž-qˆædîùµ¹\–çÑU@ÄGZUXØÅù×cJƒ.ѵ²ê,Ì«Jh_RvAÏ–OxlK£R9í\q£YZ~3ðûjuÊÆy••GšQ´DÀ¥šŒ^|&a/F}A _èFh\d‰©JÉW³/‹ ý÷LdìPîèBU"fùúX ‹Ë¸p%þ$ÌýÃrÂÐñ¶Ø…;wÌzžÃ˦dÇ,Ý„xCß|[þšÆ0´×:jd^ãK¬€²*¦ZÈ‘ çfVÃüµæÑw5£OŒy–W¯£¿ÆÀÁYªåôòRqüV+úÌËúP­¸Œe›=Uª³Zîß»Ÿ Û“q;Ý[²Ž(òtÛ zš¶Ñ_î‘°ˆ8ì¥AÈiëåÃÑ÷f•ÑŒdÍá`íÊÞ,ÄDïr9òP¥ßú¥wˆ¿« ¼.^ãÞ l]Í—à¼E,Î=›æ:õÛßÚô/D1sòjª<² ‹’­¤…‰>ìeï³ÂI@sí Žè˜šj­÷V3Œšù¥î9­î9šæíž¢3¯WÕì¤ç­@åH]õ÷~ŒA{ Ö†‚Û Yˆ¢X³w—Sæ¨9 %¬ÜDÃ_~T<†–îà8“î‹d¹¤~UÏu.|Û1XÍŒ1¥ìãôÒ:ÿûÒJ¨èÕ(Ð-Œx¶X+·‰×@™Ùc㈠¤$œ{ÐvewòÐÚÝÙJÈáÌŒÞôJífƆãlÐ÷ŸÔÇuÄ­õgVtˆ^¤%XJ¿­u© ƒñ½Æs©Ô:gÓ³ÖÙ˜±®R ØRQ¬…Œ¼Ä3™áßü€e»}ЍLÛ+f«]ošTFªÞ¬?ÒöH8úµr™Ç;^S!/Æñ×Ë>Ì[KªÆ»4f'ì+ÇØ–µn~º)«´+ä_à`„ Tr¾‡ZªÚσ=öPëúÇßS»´üpd€ôKpcÚ?À|áõ®õ¸ö0å>b`vc3†#¹ÚÙrd"ÞïÕ± xc>šàŒ ¸„Ý©~°„¤yõ M£~ÃÝEYYij‰Ô†Ýr,î?ʾÚÝ.‚ yyáü½ÒV)³Õ‚÷¥æ'ÈħIÛP›`½¬F=ݯ¤Ah;;>\<ÚŠsöÁÅç~q™CPûå¢|¡pn±ÈlÙ¤óÐÍñ§!A» 9ç Lj,¹ÃÌ(íýçC‡¯Þ†"œÌ¾smPÀ»ƒÁ_×cÃó¿¤Úÿ«ÙRöIs˜7…2ÐUiÿòGÎ?Úìò·•Ù[Ò¿1 ç‰w–h^¨A©9·ÔEþy²V‡àsCCqòì#éP þÜØðßãâ2QzëRh¦Ï¾}}÷tç)¾h$k&töo7#¥ùžñ3÷…’†Z\ŸK t\ðYæ”,âÍ …æIÕ=wd‹JAZ¼Z*á'©Î çf;Äï „e)„C/w°’dqŠOʵ™ËCMD˜,%«ßž&eÒâÈ“’i-;Jå  ÛÁĘ_äþ¦Ö[Ö~¯ãbA  GóK^¹óŠ'g”lú©Îç&’éÃŒYœÌe7üòïé²D?¦éœ¥‚Â\ï(²!I#IÑ–€'h¦Øç×YÝoªÚ÷ßZ5ŸF7¹ö‚ÅWOïîm^È€¨ó—)ÿ"ëš|£Vvƒ)=ݯè,óõÔ^d”S"•ÚûƉø™)Ð71Ì5‘I-Æ yÈ]rÙµ¬&2ïÒü"õMz´£ª‡<·”*"¡::Èæ4³gý¢¢í¯%AÒf-’:*'”íqg;±¿(5ë§ßo)N_Í5„>Díý[ œ~uwýt_„}Uöfú/â!üÜ+8õ*+r`M?€Ùs×òÞS½ß‡ý%+Û…öêb¯Ëdÿƒhµ(³ë^BÛ ìxý~í¾ƒZÄêÒ²dÁ$UWzî;W•¡7ö¯Þ@ Øzr͉G$cK,ÄH˜+¼õBÚ7èí+Œ,æc¶¡Vž¤Ÿà&db“5ÎvÊÞ˜ËQñ~òÉâPœ~TACHºÀµ)åµuÔîøgD{åCÑA–Ÿ§¼N°üüG³’ìFWÅÕöiÐ+D¿EÃÑø¦3$;ôËЈ$à•q÷ÓªÞ-ÿë&Æ/ÿÀã›÷óÛÙÄt?;œgÖ'íïœyâ¤éulɳwï¬5zDBFÊo…¶ç-ùf8 ƒ’í^Oþ û1R—Z“¡¡Lí “„©5‚ hLÒ?ó´ Ã…¶ûæ JÞØúR â*ÎÕ‚m!¶YÌö³XAuœd¢ßös\øæ«Þ9ÿÿü"Ö*æK¯æöu#‡&FV¾]5²Ýá?¢«MŠU½æ²A ððø¥ÆWh¶yu<×Ð¥m+2 ñ5Lfh\挳®¥âNÈëÞ¸?8ûS=õkDÑïbp²…)—ck/$S$¯l/ƒÁ*aà ׂ3ºFø!‹爾¬`ßüÓu£«o‹÷÷žAn?å â×kOåekÚ?JÏ»bŸ@zwT="©ªFì|ø~è‘ÕéºÒßÀƒÃ2¼æ"JF«`î é<°Üè®ÀUÞÍûÛ6$Ó'´{äºÈ“ 5Í^^Ö±¡|Ó3¿ÉtÁ—¢¿\Ó†‹¶¾ †··ÞvæNß«}&ö+1;&E<¨F¥ˆï®Fuð!|ó.«cզȟ…ZÅõýè^;ÄãÔ=9øÎþyç;üAÜ«=¤$yhÇLºÃ„ÓT‡Pø `)¡:OóåPÝùnŽ^ ðdýÿ¶²“ „È8¤À®ûóõm«ÊÆòt?ñ¶’Ò ø¥öÖ½¨•ðøY.0VóŽÏdi€A¼½Ä B)™fy|<ϧf%ÀDÏk{sŠóA|öí›êå¸h¾­§ä5co“÷',E+wA¶Qˆj¸ioä¢òyçûžñõó °~–DjÑpó.Ê#>šå~SdYyh?ï·_ôÌ%e”ý>øWo.>¾"qÖps2 (ñŸ¦â"0Ø‘ Þ *¼Ö]Dñb³ ©%‘õõlî.ÍÇB&ãòe…§šÑ&³+SÒó¿6 \CænYiè°N)•r4‚ƒåߣ]1nó~S°ûóŽ%—üšR)on0Ñ÷’ùKi¾æû§o;ø°Kã ~UÄò@/)ëÌ0_´éLȽM=!ºÅ/íÓ¯ü—¼sjmÕ‹œ/ø|ÒúrY¼a+ßéäÞx†¿•î›…¼Ÿ£8n{C©B¿}XCúéÞ£¤v«ñ¨jd’þàü‹0Aú›…¨gîdøµo2l+ΙïÈeovçb ~{°e×'< $¶‘ÿh*tªÆ­É÷›ÂÞ¥†A§& ì+Y›³øo "g¥¥´Ð›JÞkR"þ$§¢³»3OyiÇö¡i|mhR ”å‘]¡ÉÜ—Ã_Œ¿§).'¬!Ñ7»q<´ß¾:“!´;ÿ)U‡Ýy‹ÝIÉúá€Â¶‘þð[$:º­Å{Km´¹ùÎÔí:¸‘ðèÃy-ÙŸ,ßvæúÈ‘3Z˜s‚<ÈšÜË52w°¶ã¡2f­Q:pòšAU@çË\ZçÉö¬ï8y]_JâëËVã±ÅiéFDäªV§ã4è80‹&ÏŒÍùÞþŒú^Œ‡G(—ÑA.Ié;\Šáçô6µø·k‘ê9¿ù¡{?=Ç5#†O}]1g¦Ú<¿¸¢~Þjåªè3S½giLÿüHZ¿z-9ì!RÄ´Á0Ñ,µ¬†÷œ:ù¥9ÉÜË»Èß_FKMNŸ5¹ŠÕ^“«å ysM=Ž[9:9!1€ð-É>N$®0¥Ê"né”H[g”ŒgÆk…AxOqM“l©šÅ`áYï}ûhKF¨ê`žµ*æ#®"Ïñ´Íì«m4k H˜aÿ¢N?Û“ªüL¹ê¸8‰†¦Ìlæ «Ä´`2³"=SÄåÆçéf|EÙww[e¥ ŒÓÖ3ŒîÏËuŒãÎ[S×ÍdÄ5F€KëÎc0ÂsÂåGbèæÕ¥URm%c˜@\wí³>¤|)ðÂÌ{îøÛjÖpix4À ­»ðÓ9Ê?¨ò;2VzI4ðuDó¯s)\à©JZ†(| …¨‰$1ƒ/#›f¯”Žù”â)¹ EàÅ“Ö!@È!Óß{|-)“¨Í*ÔÙ+*í;“”×õAYÇô)ZÞIµäoM(ùE*2szC¼ûÕp_#°ó¯8·ñÚM)áoí— ÀEärü˜i#?B×~’‰Žz`ùd+Ó'þ5\0ÁqA‚ýÙó¶½J~Ç¢ ”ƒ /PD•±!¶Ÿ‡\ÿfË -ø„MÑ‹•Ò©&| öÅÛÖèAÐ ïòG˜ÜÙÄcj—ÿ5gê¼hõ jêy¨¯çŽª½º$Œ¨¢ëüšpÓåžøuŠ˜ýµn¨ñ«;굎kÕ¼æaµä+¥ ýä²&!ðÌà 1ó§Ý#)ŽÇ™ü+þè,ìЧܹ#–™ÃJs³Ó˜ñ‚†]RE[2º6–sVŽ¢$èk¦9»®õŽªÜ )Þ‰È÷ÉÙŸ½Õ&_äH²õO›ìù¶ ­4jÞkùðͦþÒ!¶|?5³Cè…)å8´’é›Ýà^DŸ{EwÍ€¡TÏU47Ñi–½*’d$§¨!0Ê¿Øê?ôN¾úÙ¡êáŠí†üÊ‹fƒ†L Òr˜[?Ÿz97üÕLñHO΄éÜߊ"œ[?ÈJ_¿†P«Ïm#Ðz}“¯I$'&ÅÆ ¾Fîð½³ÂÒŽKœ-iÌÓm³x2|îz/ƒ•ëWzظºV" éj)ÓàÿžŒß @@µ!zêFÎxœÍ˜ULÝo“Ǹ{q‡âR¤898÷bŵ8œâîZ\Å¡¸ŠSÜÝ‹ÃÁµ?°}ÿ»›½y/öf“}’™É“ÌÅ$3“ï'¥¦"‡…N†–‚¼´Æßýky¨ð}:Zäo@p“RÐBEE]ÝRÝüûEs–×wì¾\*69»(HKjsN!^¯ן¿.ËÝ2ΰ—EÖ6K›Ø›Å¼&³7ž¬Ȱ™Ë0‰®))àæ^xµÃW×¼„é­KHˆ„(íMHô}ìò½»ž®Ííüþ©IäÛ;^7+è ¶œ´)WhÈÐIlxOŠ%*f ;Ȕ˒>„e—DY?¼Ût„Y3–+£3è‘òÑ}„ˆØ|ýd Hfü8ÇlaA"¬ ëkq‰Œ†” áò`EGÇ„|£õ¥9ßrî÷¿óµÈ„5ßǪ,÷F¨ÆæƒÔõ"Ï;Az$Ò²é—úØ^^¡¡@÷äâ*XÚì@ë#Ì;4¢w‘ˆ§Ž€Pö™¬ËѬC»`ŠòÝ'Ë‚þ´´wPòÐ0Z1ʉ‰ðøy=0Õò²³û[÷øzqê››ð õ(–Çi¹ aÂãEóÓ•hZ£¶´j“¯Ü¦ƒó ßÛ-‡ño7&¾/Øà´û­ZlIEÐËiM¨ý8Bš4ïä³çmn€@Œbˆ8€“ÕꀾéBäxÝ0–ãã®Ïhô?0fµ¼×? O78õ wRK¸jù®¾"I¸`x_á·²‹ª\‚‹—5‡qsÄ>]Ø—>ÀU’äq™4áóç5Çÿ+{SÀÜÑÄwRî 'µí0‰=ßO#ð‡x6ó¨cëE4oáÉý,Ò÷ ” @‹÷âĺÖÔž\Ý íïÕÌKoÿÚ½.&' [8ùâù¬Æõ Ö¾â]I"ŸÝ1Û¼‚õ\âSL¨ó|÷o3¸YÓ??.ƒ˜P‡ø¾ï%!4Šâ4 ?ðq]w'à¶K ¥º×›Ì…wä—K1ÝéxèÅLL_žSÞs”ŸªÚØ}"<ˆ$ I$\A;ö¨G"ðÁ>w¿Á\÷Ü}%rÉl/·…Bê…,a‰mñ„0;öYl{±MXÚÎNP¸.2þ@H6¼~š%P¯HÌÖ_Édö=Ü™!$ ˜çAâ'1‡?|/%IÀR›x¡ˆ'M;€†×úн=;*ôó¢$Lƒ˜ÁÐ{7òÜÐö§nê°Ý••õœc+€yˆÙðN¶}UÝW‘MëŸ4ÄŠêĤ"·Ši~«ŒìõÔúåߤÌÈ´¶þ¦ÅÁWö†ÈPˆGäÄ®g{e4&BÄNêÛóãh7d]C²6˜ IîpG’Åòlö±xý9«~ØlEµ¼(ÃЉ#ߦíG@D]Oàñpa‡Ù' 6˜K*wÜ3³Ç†e_¶»F–}î¾Ä‰®íç 'HA@ã°m;!pÖ{e}ÃsÝóU nm× â0ˆí8ômëˆ8w’VåŠÄK÷*ýl0×^€ øvh”;  ÷(i„1’²È¹2ÐS o[R̾Ý`íÀ×Þ,¤Õ’&#ê 1´ˆ³(Heܱ];L…M£€GP€ˆx~ô˜¡3¼v >lîCÄP‰iLbá¹$(ó£˜Æ~ ÇÌåqÚÒcéðÚAJѢ沵j>®íq‘ø„¹`Ì÷ñ6'A¤~Ò[?fø ¯½#h.AGðAm5 IÛŒ¹ )fž²- Iê“!» ?¿üœUõ_óú{kHN¼,”Ý¿½þÝo X½ª¿Pƒb¦×¥L®›òƒØ|š$¾“„6\p;´cx5u’(âñkÉ2ûVß=,x‡Á ˜ûvÀM#މr'°S Äá®ï»±Ñ8¢64Hî)oì~k¢Ã{Ÿu—dô)ÐͲé•ҧЪ¸!¤©àIä3J"ÆlÐÛb9œp?ôb8Ãx·k|ßËûPÞ7itOƒh!P¸ð?ßq–S›ù6j‹A´›¶³ü»œ†×>&Õë½Ê±‰ÇXâ ;%¡'|’¸‰îù²›¹FÑØ`®{*×Y•m«jÑHØ ø¡„¡xÜ Ó”Ùià9.uìû’¾6˜k@]´°ïj n óÛ)ë1’4 ‘rtgæƒüNE*Ðvlq_e}cÜMݯCËú3~»Á–,ûËÚ ‚„‘ˆ™“80vdóDø8$pOB{ön>¥5·qƒ¹†ŒGr“ Gq¯{˜«¶¸‚" õ ‰“X g‰û)aO¡í&ŽØ+Ćçº'#Ó:ƒoIµ­µùkÂ9ó’ú1ž )g¶¶A?}<ÊÙ": /4³ºÞ(fÅ ÉŸÚÜæ$ä.>ÈNÇðÅð6 ÿh„€Eˆ / ÒbÚv‘õø)m†n@l‚p%‰G}ø/bDw|׎½Ç ÃÁ…÷a¸Bˆ’úJRCa)÷='$š=ÆÜwBÝ Mí ~<^ÊE /€ôºKôSgÐ,âÙ±¤‘§ŒD4d‘…®‹2ࣽ?à /É%YÊò¬¾]ÏãÏ¥míbïá+M„\7|¥ “^aŽç>Æ„©Ë`o¡Ï1N*lÇÝ« ±Á\C‚Ʀöy»ÊÀè!uíYûÜÙ$ò\áGNzip?v8ƒÿg)۫ʰÁ\vî"ìqù›hO¹ï&äsøÆ“€¥)µ=?eaÀ)M>æ2‡S^a^»²TÃY¾“éÕ°û t©b«èÒª8Ûá£r9!ŽpÜÀs¹!°$„ð5°)Û‰v#N&\ãã[†÷A‘ÃbÜ%É0$¶E^ý… ª“},Pîy,Jc;¤‘Ó(á)qƒÄÝÍ¡ú ±/Ã;àYU,–cµ|÷o¸‹Eé¾5Q0HïO­•?^ ¶æùÚ¦vu'&ÌM‚(¢MÂT0áÔVH"¸»™×~Á}ýô@0ÞÁ•¨ÑÑŠÛ™àû†=­¾•>ÜÍÀz"õ’Øñá²€j3¢Ž'0ć÷ÀÅÌï3Ÿrº4&nÊÏ Ã3JcÛ ¸â~·T‡C?Ø·¡ôýËì³ÈåªäàKýòŽoê÷æŒx> CÄC7€)õˆ 1³÷’Ý v •ç{põ(Ýø£üX, —Ýàöª&eÝ r÷1å+¿ßF¢÷a5 —ù"qyš8Æ4DNì¥ä;Ü “ ÆÃ«G)ûÃê äë?µ²øPB™fy.ø¯› íQ`{!4ó¹/\áÈ8d¤ X(Hf÷y~Ô1HÃ{g¥Òy¹Q$ÒRê¥,q7Šm׎bÀº$p¼uéÐMîóñhC†÷­€¼AtÍ©Õ#σn4›FœòXØ®Ÿ:„ƒ.íº t/Þ1²ø€ÜÙ6´6~äÝ4“²í òaòEcFE@l– Œ|Xe‚Ê #AŠ‹Þ1mä!`;¼ð¬èe'Jçá@K\”FNꤰFŸ0× X꺶ÏRo·pº‡íðÂ1ÿrU´ÎýBN4Háßa‹4I“sÀ]¸®H¨ˆžÇû0¼ðIq-@ÜKøƒ–Tf¥˜h8˜CêR.wˆ‚Y=Ôõ©çØïºQ²[ ÑC ÁðÂ¥iâ@6 ä¼`$ïœnj1AÀ©ð@ Bwql§nBI;¶ûÐMm1ì ýc.&FÅòå[– °dr%«Ð4ÅQV™‘eY]cݯç 5WˆÜ ü¡·RñD¸IÖù\Xnìœe%ËEeaÒ2ýU‘gÜ¢ò±¬bê×&Õc¤ Þèb³ ë]mIeÕ7Eû\ 1iüðð' ÏÛï\ùÝ©u3΀I¤ –¢]45!Ì<òrŽ%ÁáÑ™/ÞlŽ7ƒtÎqµ'~ƒrÒߪ¦'KßÎÊ¢.d%üoÉ ‹÷°ù/Ûø‘/=»ªæÎ‹Ue‰äÍïvñlÅ—fà>d‚e·î¤9Û„%ß1Ú‹< qÔœoaýýïZ7käV·8¡ ¼`'ò2¾‘r?\Ù<ÅÓWä„ /Ún‘ÏÞè™|Ëï0sÅ;äKŒ2 ´,Â7u!o)ß±n2Àð!‰ž¸o®íE‰ºèFŽPÙI¢êÎ]Òƒõ‹0!9]ãÁ7½ŠSß B¨0¡Æ%¿lP‘ãËáòҕŧ^¨2÷¹û‹5'¶¾Ïè«;üEþ€÷TÞ5X¨ä27YžãMœWê"bÀ|"—64É]r3T¥ø\w\6¯a`BÏ—/ðš’Ã¥PéÍìlýë ]¼¡ÀëÅÔj <À}ݦjÏj)öÔö‰È[cµn¶Æ„È 2D¬¹ýÝ[¯~=ËQ÷Ù#)#ù:42ë} PÇž½5•R×cÊ]»•Ã}·'ÃØ·n ŠúFëî×úâ[hËm»­¯)íá•õ’\\Ø/Ïå¿«ÚÖÊ]¬§ø‡7 •Vâø£Ì€{¨(.¡ÞŠo›ðËsüñBÿÓ™dAὓPg••þnè³` P#a"]ZH„2öÉg5 й1>è2èXSf´ÜE•XRµCåw†PU 2›Jy¼˜JF°¹âÑ-‰‰eDK¢y…U¤š§Ð’”·#Kn/S¬è—ß2~%j£WfÕ vQµ2;j™ŽHª”¿F£eM§š—)aBOÐÀ¯õ¼œª1+ Õ5’*µaôjÊ‚£r‰ð’ˆVGÖ»´ó.2 þlª“^ÐøD3+æ9Ÿ~W#o¬åH%?µÎ°Ê4  –$øÇ:µ²ÔZC $¨Ê¹°è/N·SEdyüSØJÑœ¿Þ‡T’äC³RTXð•Ëè­…ö§\qÿÊ¢sù\uY“4Ï>Ýy$kh Á˜ëðÚB‹ ÁqG®Ü„)à††ü(>/ ‰&K"^;&>§äƒÙ´BlÁ=˘‹@‘@'õIëJê ¥õ_QÖ3 ƒ#y~«nŒ‰ŸøXäp ›Ë÷SêÉG…!С³Yž©òÓö(Iž7×[Á ~ƒåÌëäNr,a^·æv]–Åu†‘êËð•ehñtùY¬I[ÜT¶ðŠ”7ͯ¤„OXÀ­4f´bóR-»šºÃâ·rù8Ë‹JV7ùY6ª @D…[ÿÛòÑ>ïY èå©P®QRó–UaDAC^ÀèmRíI¤x]þ#¼:Jlid Jª¬jXnG@ª{ª4ÓŸ»!â<U•Î»× ,µÌ&øþÞ?#e©°yÝ‘‚¬Y@I{Ïàôê†Ð=ä©XJ­ŠïÉ”\){©bÖä³¼œ’`«{úM16é·Ô‹º!·§Rò«PtºY “á3ÂŽÍsu½»’&ž¾\4ƒ$²hg­dõREô 䉈7‡¯¨ªN¤´+ª^7„:¿mÖ‡ ~. Á5¢ b*b;_Þ ü¾îߥCß¡S%1˜+IQú€n('/D…‚ä˜\K¦†%Ž_—Ú“M4ƒ5¢ePÅ {M 24ôÿй"~ˆþ¶3-QÕ¡ÁAªµ³ìÞAŒ\Nb<†%Ðçª;Ÿg´_[Ñ~ }øˆÛ;çXô-B8ÂMC"ÜÈw¸$ðD$vÄÜH ¾A:yÕ²u ¤{Äct%T[ï5äërÇÆ‚8¾ƒȽ0da¥¶…TÑ‘Î{Wz8Ö”9Î)J¢z—¯a9Çx>‡~ì¶ô›þ|q›ý^vr-ØÓØÈLeòÀ_OÝé°ÄïÅü€žó3y×@Þ­áaý¨SК¾Ð6õ®4–¢&Þκ–Gnu/b‡µ*mšXc‘ƒNÓr¯tò^ôÎ-ó…Ž’0«Ú« óúB_ ôS$Ðmiˆm7QJ!ë+mÞ’6ÿÚubóNz7^&¹w’[my:kÜšÆ*6Lí{x8ò¼yíž­ó¥IŽ“0càÙJ²¬K•ìFƒ5ÎÞix‚ØÕÇ4Ïy‡w¯qWV#˼6¹ì8,ÿz뜇·û&ÝpCùx†è¶ÕÞ 5ÏQÞacJëjÄÒìÙ·ÜGšØ%6 ÍÓ4¦ÛÙî dh¨ +j.q5&ÊÏÉ”\‡2?†ƒ|–Ñ#*Àȼ”ÕíãMXŒB1­ï“ÇRÙÂÚ}ê”4Ý %ìÏ up/ÊnÍ ¶ŠÝ _ÖÓ#Yû X{j¸Xþg tÆ Ýbøsâ”è\µ¦ù•1òòņDJ6þ@öïŽó œ‹ÃÓ‡]×¹5…Ø: ýÛÓ¢m„çC 4U?¶ôÏ€í]±fŽ€ÈÍŸqqö\£ãîëÆsô³ßÈÒÂ@¬Aݬ¬Þ“™ºêxó«Ñsc1ø{q#®1ê¹ õ\q9u$Œ¤x)É+,ý"í:xIÄÈß{a™2•Ñ@*,þÂÓ0cÁìd*'­$òÏe<@~ƒ¦ ‚”ÛH®üT›B*mY•¿j™²7G›!&§98•æÝÍÊv¢S[uáÞšJmÐEþ(©Ô^䵢ƂӺ剷ÕËñ¯ tò/HçAņT =“¢ÖfÚcj€¯3ॠ—q×!Ÿ2¤說AmRàí5*©ÎüÊ$zJ°Í¦_J/ºLgU¶…z—eº”Iwê¡– Êð-ЪUtmVZUMNFØ ` Ï”¹­` Òqï°jë+» FâLò_‡ç_iìÝ4vxô§Icå¿5¢ßWêúH©k÷@›¢*F@ëT¤T:1¹¡A¦ºf]6–ƽѪKq/¢Û,å`4WKÑk(®‘±žÞ·æÍ€C$" $pá¾Ã„S›ù¶g{^‘c¥·²(÷Í“êõW²ù¥Èæ²Ç+d·”hž’Ô*àHP”gB°OÒ™ÓRQ=\‡z©R]MhŒ JÈ6š-ªÓªÕ[ö•ò|y6ó$t‘òÑQÐ ún%]çaï»Á¾ºÙ»tSùÎh))™vBbÍD¸Vè|oÒ$½´]kŸ$¾Ê£ËOM¹EÂdøVÖz¤-%#Ø´k¨í£}¶IÙØ ÷ïQ"áAÛ߅ݺðt,ìRïäaUËk™9‰µ"{: $/@­ ]¤mù5SÖ6›"¸ÿÓ„…lÙ¤a-µr@”E®Å;¦Le˜#w†±>ê,Á÷][X÷ƒ®+(å)"kA‚.›fµ,/¨=5S©i¶Y·î!¥'”÷4IÈ6enèøq<õHè^ä'~¢W£ƒ€þ‰äÚ¤Ñ(qöÆÔô3<2SX…t+Š>ö(ÊÅš[¿Šf˜!8$/5IU6Àth”zNDìÄLùÂõ]X-Ynp¶M˜ Úž%ßQÉçKü¡©\ô•-<<[Ðé2ÂÄJ6µ¥I›©Þ Åló 5‰X¬65/e`Z§ôîCÕ˜Z%Ð-­öÕ¦~‰Ü¿¥’ݘR¼&ót»l…oI´q é±íÄ"1(¹¡ëx„{<Ž™»@ ¯3q3+J¥RWómê˜Þs4XNË”Ø3¶#§ps€b2/²}j'‰cóÔM€-2zOmÇ^b{¡œGŽFÂuƒø<ð°ç‰)è²×á[%,¶<|jÕ¿2‹³xð¸ÓL`TRã²"&à ȢΊü¢Ï§×VÒã ÑÌam)FSàÐTiTS•jX,U"i{çj„ª¯­J5¶µ½wˆÙÞ‚\©2ç–,âŒÆ -!¯ñqÕä“À'•?«˜OÔd‹ÏÅJõ½ ¦9¹Zän¦Cgµw[d i˜&Ž1•:TÄè,B‘Ä@'ý@ÄËâôr£Ðj“ÂŽ‹  ¿aPœZ7I’”ÆQ0âDsýå‰ÿQ¬›{Ïœk‘{ø)÷='Tø$†K@ mK©Ī¡Ugi÷(ì»ÔÏ—§±Ç9 ‰Œ¦>‹“T$ °÷äï~Œk¸óSb\ݶ÷àS¿¼ÇÖ j˜­YPu¦°ÁáÃÒÿ#YL5Ôèo­ñŃ!fô žŸ*–¨ƒ¾@0Ø' QW j£K¡àJyüiû&˜ûåN"ðUØ¡†òÀaQ«ñÛµcŠ`¼wò)¡Kcâ¦Ìñt!g”ƶpð±r§_.QVþi]Þ%v9¿,îé^…×·6ùÊéßm“¾:J×—¢—Mê»éÊ­×f¤¼S^иµÂ×ו(Æèt4Ó¹UË(”ä~ ûT2 íhmÒáSM.ácvJ˜øLpGÎÑ„Ž×7E³j 'á”ÈYÔ$•CUö±•ƒT €3^ÉWÊ^œ“!úÍádè˜3­8šä 5ÆáùBê¥ nۮŌx Ú#±\è&$:¹`ÒÖIͼ“noÐÇ÷£øl¤îúqšÄqàù ±ØÅøQ×&®DŽï’æña¶$ó²Ï23&V€˜ð˜c»Q l‰qÎÒîiJ©Óf)É·6›áÇ<Ïf•á;Üc!°9Û甀b$Ü4Šv$vhbƒvÔL¡_ÛlŽà˜> &`f± 0J‚”;©ãoówÉ5sè×ÔCíñ…¦80P;‰¼4val¸^èP›% Ì•$TØ‘h&é™m˜ŠÉáfùpA"…c¡ó„3[p/9ZþÙ6\ÐﲪþðGù±ØS +ͦwò8‚pZ~yÇï6"¦ü)lãOÜ^ððâÏOË=«?æ¤ÄV能e¬J\M¤»ß«Å"EX;÷qM¨ú&:uÿ±·Uë‡Yp€jþhçJ¯±V¯´ìúÔ PZµ¬©ÉœÑß=+Ú¢9–¢Å0² Ýzhy¨;\ ˆÃ&Äq9°Œ$X* ¨àïu¼m^^ µ¸ÍŽ€rHÑÉÞåøÌ‰ËÓÄq0Ë7rb/¥^èÙ!pe sþpÏ’ Ã³<-ÎÙ‡ÙX'Š+;RꦩÉÑsœÇo´íºÓ íª¿Š?kÇÇ/V­”ër)oS¢¤r—¦Ò2½¦µ£d‘Ý_UpQ[6¯s)U¬ÎÂQ7½tŒ¿ÕÄ'i‡u“3¤ÓÆw‰G¿—2–cœõ:ŒIWcó"-J®|Ä•˜ªxÉ¥³ºzJü|ÙÐq[ÌUYx¬JYRüS®*¶.®³ FOòªà¨D^ÌʦjÜCo¸cƒ"*Ð >UÉØê1|+›f“ùDZŒ`+zo:ÆG§¸ª+~W¥‰öÁ-ý1WÌEYŒ¬g?4îïÅ› §;sFv[#ÝÜé¶UV/b:ÚóçÒuŽ‹C`wb“p¼ÓîಮKë‡oOo%Vß—„°í%(°½Fc>÷…+qîøAš‚Øpïh»8¦©2Ë]U!Ò?O}#Ocw°´ÒŒ+ÀA¬*—ÕúPº\]k†&M|”ôåêú ««R5¶bͧÙsÙ,Zù|U§ç¹Ž‰ë)*¦ª[ºÎ„FšÝè:xÏL@ãTEüu|²â¼zFeþÖaë"é²}8½ñ'´Ž‚·²>Tw‹K+üã*`ºÏLû(%¥¨5ÖªF_üR$kS´þµÄat-k‰šå\¶Ú~LMæùüW‰Xûù‚ã€õ}2²2…\§âÕ ðYjoú‘…[¥=/éÅTܼ<§’÷?N{Qa·ÖD:ˆÔ ÄPˆF.’jËb&ʇpsß×±Q©ìÁ9ž&ŸÚ¾ŒkÖ…C}Iø¾Žð?yŽÍ—bÓ‡wK÷ÖûÝœw[;ñî­jp·œ[»ëŸw”w±ÛÐÉt.÷¡öžÞš|Ã×µûúª Å´N½SÍ1ál £Û¹¨ó|}>y.5dy†Àß$÷UWA?¯DS$Øduð&@§`ipã1ë%ÂÈ~•º™ÕZuÜVåŒdŒ2¥™`'m®©k0bE)í,*ÌEÉASG„S€&A¾‰–X-q™0Œc”·z³ZÚzÝ2’µ¦OàVÚûŠên"Wó(I9!÷€­ïù)ýq[<©ˆØýÇåðE%p5_½x¡Ïš/ž`«/Õ7©“Öׯö.Eû*^¼ô\';Ì0Èë¬Êh–gõ­5Îà±’Á?ÕÊJ†Òœ©*|l ëÙ±¤‘"‰€ä3ÑE^ºnJB}“$ÿw³ŽN>µ½¤´“ž$Íæ˜iˆG¦:T.+—6ªÊÊ­¡¥«Q/×´&+áƒqÑSœä̃Bk¾Lrü§¬¤h^J1Åêi$™ÈļŸæ%øO{9uÆ«›H™n, ³ŸZr¦5ÆÝ¶QÀë•ëÆ¼%´Gg „Â[u`’9ÏrÂd0œtVÀ;˜ü&L”çÓçtÞ•afý<ì-­<ŸΙ—„Ô™ðM9×AAõÓ£ï‰Ü¡w¯«ÛöÐ…š‘=Fcç:!ëš|†\-§8¨Z§Ê1ÕŸ N7Ä ÓÍÚðK*4%Ñ嘎(Q½2ÌV±•K¹:*R¸Öê€òWâƒMžÈsÓ€~+Ô¦6·9 ¹Ë…ljã>°X€PÀ?VÔ6í,ú¨-?ª¨›|A®Ú­ [®^ýQƒþ®ï ˆ¦šHä§ÂðE™A<3X[(I™œƒdÂo-%ÐÎÔðâF*“YY ËÌ¥¨ ÖrÐyÐÊdûkPä¸ZävHçÄAŒJ<êÃ#BØ©ã»vì}Eº}[jåýãÑ:GªË\ƒÆ^´0Y´-nOg-ΡԨ¬ÛbJï%l‘n…2Ã5ëŽeV‹ Ý*“,†Š)®â‘æm€ûôz,-p%R’Îa¨|ÛU:h¯n§Jb®Lt—.iÉ…¬¥ù§«f¹•ª9hc8N<_ÁûÆ’'iY;xS´žå¤5‘Oˆ†F!2xÚ‡µÝ¥£ƒv‹×öU=m(3î-æ<¯u}"ÁÐÓÆ“®*Ò ôÒ>áx·2«Ÿ¬]é3ãUC{–¯ê™øú©’mòì©%k:? æPÑúŸ¥UIcﲂL´­^:á´š,cva«FÖ–€ÂâXF¶@3Uu[5QF½9dþìbúkÙ1Й¸^Øô­s†Š?’Þ­²°~·]½Ú]Lž½åßqâ =×ýi?bzuMˆïºpØR±iÄ)…íú‰à¡C8M`wÌw#/>ÚøÈr•‚'2¬wÆ w?ñjs#Ó’Íg‡ïfñS2{œu –òÉtQ»¥°%*3*@cg ÂÈõG$¡`uEÀ„»ZݦìÄ0(ŸŒÈ´êN|•˜Ž6:µ±øöØrÈÉr(›LÏ:gªÛöx€LÿSjŒ–IìbˆŒzÄÈUí¯5ñ+“Bª?­Þ#«´aí£#â¢*XT;¦bÙ@xjͧRW¡°4øHSpP†ëŸ‡á s}ÖŠëÞt9Óc¯8éwêìTq-øMçiê¥aOaþ³s<Ç…ª*½Š öÖØŠ’&’F΄¦U¸ú”`UlSÔKJ¢Ú5pgA¯E¶6ì¾6(ih°HŠ’.îQ…æ.ôºWàìWÛ$³™ åô$îõRÕ"[ÿ©‘£$:vÔ´3mVTéX­ +•qQ(II…Ò’Ð,‡¾WX[_†AÈX®–9­¢iJkÉ´-lXœØÜê¥äþªkÕ’;@ä|¾•†¸‹/ŒœÔIA¨ð s½€¥®kû,õÈ)ŠrÏ˜Ò ã1îŒuÝM¤è òU®X)WÜÏ*)ÉPŽ¬ÖŸ¶î™–óé®"+øÜ³•!ÏWð¿rÁÂE3ñýÈ1¥œƒ늄ŠÈá yJ¡r(“,Ž.ZîØJÍJi ýš†¹o†ôîoµ&œI3 N  i8Ò=ŽnŸ«åÀýdÛd*nÔLßU2§ËDC-Æ’À^‹ ¸šØèrEª£îyÒ¾Ñ ˆz .áË„0†.Ekwè]{™S×§žc¾ëF‰8Vb¸Bb• ¢¿3ô±GÙ=¸×…ö obÕ±árP1'Õô 8žpßIEl§nBI;¶û±e“ŒË^#éŽzë¤Ý,¹âkE»ƒ*8pt¦x7Ø®mÖ=Ô|¡óWû¾ê²k-cmì?_ áoÒ*f  òäWUÎïµ"WA[uYH׿éý· sÖpÀqy®¼x›·Î»&_„Ð#%¦À4šN#xZiÎÙë<•íÅË9ͳ‹ªd粦Þù*hâ/ghuBôÀüÔßãñïU1/™±f,=1«2µ0öÂ˲ÙL?x.×£.ÿ_ÎÎ$¤d>áÙYŸO§`pÿó‹ÿivi<¾jÍ㺞½8?¿¹¹ñâó-cT”WçðY/ú­ú^^$gœ‘ÛÀšüÿÅ'/¾ù´hö HÙH z|ÁxŽxœµWgTSÛÖÞAzS¸€´*¡#E)BèÅKH“®z(‚(M:Ò!@(—& *¡7„*%ôé$¼ãxß}ã½÷ý~'#99㜽ÏÚkÍ=皯õ¡Ôì ˆZKSÝ8§ß²«Àï’ãckàD{¬¡ºüý)hC¦€@ô@Ýt{»j;#xœí=isÛÖµßó+Pe¦±;…}qlÍ8vòꙸUb·yïSænQƒ€’Õ_ÿι .I‘²¨8©E¸Ë¹÷ìÛË¿¼ýç›ÿwù£5®'¹uù¯~~÷Æ:9;?ÿÍ{s~þöã[ëÿþñýÏ–3²­%™VYS’ŸŸÿøëd\׳çç777£oT”Wç=ÿŒc9ø²þó¬î¼9â5?¹øæ¥œðó$ŸV¯V ã$I¢Þ–Ï Â៉¨‰…Ïž‰?æÙõ«“7Å´ÓúìãíLœXL}zuR‹Ïµzù{6&e%êWÿúøÓY|rƒÔY‹‹_Þ\¾«Åä¬,»×?gSa½ÉIUY¿ŠT”bÊÄËsõè7/ólúÉ—"}uòG=bUub•"uRÕ·¹¨ÆBÔ'V KÐ3ã8Ó¹^6-ø-üók‹á¯ð{QÂW¤÷ÅÏ8ž'›rñy¤öÿždSë’\ÁŠÈ…õ×IÆyQ×ÛòûâZ”×™¸Ñ£¨ÝýS¹ñPãL”¤dã[=ÌßÍçG ÓiQ“Zp=Âë™òöD‚\­êÛÙœžÁ…¼:¹¸œÓ$ôwÝs¸™ …°|ÄË`©ß|órvñÚªôØVŽƒ×cR[Õ ðÝʦi6Íj‘ߟ-ê±Å³R¨M,ë«{ÅZå•ù–ÞgÆ÷E)F£äåù¬¿.~;mNÿüYf5ÝÁ”äª$+-JkÅ /̶ûCé].•ÁW8ÁËlreU%[¿ðßÏÔ~ÿfŸG³éÕ À „¾:±O¬y%&d§¿êåæ]xäÄ"9дî–äˆ@bÌÒá)kJ&@†ËøO!ž”‚XÕ˜ UÃ3SoN .Ü“…C{4AjZê*Æþ9Û¹AúŒf—¯†H’y…tc`OoÇ` Â_[˜Š_B …•,å\ÑÌ,L\¾ÆåPtæŽäzgÇä¶©¿Ék BñäUѬkmå}cÞj` tB„Ý W¹êP×®<^%I® S•Ù èRöÂvœð`roÚGt×< ìÀ^¡«¾q@ AóÌð"¼"/Thìhß¿ŸÓƳg—a6‡±v‰ˆŒltê]•´¶_ ~wžBÁJÊrrSÖçĶ‹ÂÍÿü•ú÷Lóa_$ÜÂâ#ûmÏS´‹¯†‡uÂȯGTTˆ.U1 BÉ¢T¥³í¾½ìïש¥ï ê˜tóÓ××÷õ½‘A×¼÷;eb»ùû8ìí|{LŒ¢d¹Ç®ëâr',,üþSWJ_¨þO÷BošHŸT!)ïõóKÛÝ8RÆX‹zÙG~~Ûüìô ¯Õß_\»JƒÁà{÷R7ä|7R£‚/·¦(.i·L­¢ždÖèÓós‘4íðaK2Øâ±õ“`b[Ðñ×ÃÅÎX8VzVVs•Ê̬¬ÞU¼$Õ]ð÷ùϳöƒ9²Ç»ó×v5nÊ_6†úúP iYîîî8Ÿfæëåka¼1;;;᜙”q¹VŠýuzff¿Åï䵄½…Žšššë*ß¿wptÜxñéÛ·oeFHC ÃW_›bôÓäää©éiøÎ › C Z¨¬§§k>¸ÙÖ˜×9”WT|`×e6b e¦ý\\T¥{©]œ%õ”"a‰$ò/ïÏDe"/YD÷’ I¤ŠÉ³gÏ6‘©ûR@¨œ4Ýüѵ[ Ddàåm& Ä%îz¬}¬D—yíêUq›ÏnÞb¼ŸZZPååŽCy³f8”iÈñ,|{{›=ž¤ÛôÀÜ<³±…6?_½~õkê#´áÀÀÀr^Jl’—LN¨v[òç^¿ª½aáƒÃC1‘͵5}á´ÐÐP§¡¼?Zó•wWWÍ G±Ø'66<<š›ØÚhò—WU Xð3¼V¿m€ÂÄÇÇKJJ2£žˆÞijk:ßcÊgî;ºV±ªÁ+u÷® 4m+i$rßßIÖ.NÔs”z·¼újõôlÏ逹¿¿ŸSÖg9SÒþh kßúF“ÿÏ¿l¯Ü?_îI™œ4ÏØÜݧôˆz|ƒÝÞ%ÄùÕ(¿‰ç€’666NÿöHOØÆÚÂb³Iw2š‹€ÝÞÕOÎËÛ>cnnjº8Û¬V-.äð‡âWc Kðʵs½&BâO’ÓHŽeZçÝ“}Ÿ¬yô$Îý–@@6ÂRd§°wDí3̸ù¶öDÁ`OW×@‚ÜîkdáÜ“x>oŸ.ʶº%ÊüWߨö’§srj*|ý·§¿î„ŠDñÒAozÓÆœ—mqä „ëUtêöfª?„¯Îùq¾`Ò’2à¬7ç wgåëÛ ¶-ô¿ËÊãn«c”½x¶¹±qGøSáñݶ¸H nF“&"¨­ à–…”3ReÚHH‘€[1e›÷Zl*l:)yTôÆOª¢†`×Í0 àè¦îŠ—ñÐòI^*(l¾êJE©Å}å`éú@A¡róÌ·bšî×}»J¡3’'œ³„]ÄöÍ›v*ævãoƒ¹-’“áœT³7™çÖ69T8!˸‘m&íÆùöÔ´Ùƒ=¯k?›Us¡CŸššÚY*«ÍP®¹9¾–áÁáÓóg °Ä¡tµW¦ê p?: •Füj6É¿Ñß?ìw1N¸<.<Í'Þƒ'Öwää£nš[š*6ƒ3u|h<1Yc“"ÊUY]mÓìó*0²þ¢k©µÚ¼FUˆ©«³Ó ”{rÊj³ýª;Ùñý¾£Hê¥r¹ïùšü½CCHGüÁªšZY•ú½¯çQi*ï6)Á+'/ßl¹3 ™Ü«4},樔àåááñà({à?ÇeØÄdä£5KJJNƒ©:Jåþ&ë1]]ÝÝöK¥ìG{¸á¾;æ¿ØÚd®~ÕÁ¦øÂÃc'O1¨É²*1QÏÎnAĦ±pñÿSõ‰S|ãDÞokòýÃX²ó&/;SSæsCCà –}™9kkk°õÖúzÀÉÞÂOi8FNNîÚ0åû7»'Õ=NÅ~t·prBjñ§¸,ueffZ— 537—ñÝ0v ·jñsiø³Ùrб¾=…¹•Ñwãê×ßQmÁ&b9^Á\t¼âI°ˆyDLL zpP€lࢅ……0 èë*õ Þ2œµÞÓÝï: Z¶‡†hi½öVYrñcˆR²€†Õ€@âââ|¯:$É´ ܉rœlT$ ÌÌXTèÛæü³¦ô•©n"n'•„e õÌ/,,DêåC|»„›&誆>~wä•rïÎ|{;â’€_ÑâgÀGt½>†lùôé;5æi¤2 ´R‘ ©!Û¤ÂÅêÒRôÄDcEEEQ‘Z™ñÙéi®bPú–‚ØšŸo£¥¥åää|ç¯Bµ´ž4¸Þ¼ßâ8•šÊ´˜G>*’TBTYµí̶(**šUY.ìû;!‘‚¾á÷î þ›*|J·:£t÷g?ìÆÒ#@’4µ··×щ;ýh{¨A§îè¸òý5#Ðϵ‘¢.+òË=:){ Ý}ÍHhn¹aY)6–œÌÂ{ tw·ŸmàÒw>5'€Kð±]Žû2:ɾ+[çD‹ÁüøÁÏûNG«‰ð^´foßlYÕÞÞ®#pwž>†`à6Ó$)#ÓÔÖ6[Þ0§ã¶·º·šD"å=¥Þ† ¢%®ükkz½B”“oÉåúZcN8]¨n'&÷8$Ä,’9Ôž?ÎH°—ZðÏNÏȰhK0Ég^8#F7&‘@Éi`\¦l…ø“70Òš|·¯JÝeÌÉí4øâ «‰¿¸p…´EFó±¤ ÛXXÊ®È'pPP®Ko ìŸ+ ã…6çxtx÷¡Ð?dí$è.OõÚþÔmLŠÕZ[ß)B¦¥Ñ–ÄIRÉ?_ÉzÎ'Kx&"ÔÔeÛzRXòõ—í_’Y[ׯ¾Ç­šÃÃ!º:ûo}$#šH¼0 9?âKj¨ªŠCVËÿS""\ñà~¯™·¹䲷н_ðƒeDPµ@üõ+Ü 'çã•ÌHuÎx3£±33Ž5}˜4•P>5Áµ•Ýþw› €jŠ*(ckŸRD}kBÕ×ßSRRRP°¼”£ŒÈscŠí„ÕÈÎwf‹ØuÜJŠ‹ŸÿgˆÇÇÄh[ä}ÍÇZj­83I›Ù‘^÷€P+ÌBÇ+øÖ¤¤ËèyøNð%ᘓFPH(f«>YŒ¿Tµ{ö e,LØë íiHÕ~êé¹ûî®À­RRR[ÍŒ ~AÁöã¹ ‹Fý½Rê|»q~e0÷|Óô‡GÔŽÇ“>ZÅ£€b åÈŽÍΆtűeK»Ë…^È`Ò23e‚ŽÜ Oþöt#G5ÚAŠEÔ|xrÒyFó³ZÏ5&ÐÞ¯õ±êÏg® ߢPfÕŸCÎ¥⌅­Zý÷óƒ}ÖG‹žB£Ñ¥¥¥oÞPø„§§§Ó*„u,H¼ëw+ùùJKñÄ„„ðÃáÇCJçqr-ú’ê·éÖÃí?{ØQ¸í¯îî"–ºâß¾¥óùXRâøí%¹±™»ûvk¾‚ýgàªrr8¹F‹Ü2¥®.8ïùöú:Ãï£Öyä}S“L,Q(°MñtµÎih|ó’EœSSzIwzoÆÔnßwjt;éCq1 Ì•(ÔæÙá&)-wÜë×·ZGGG«¬Û¦fggGGk=ç?‡3½€Ã¿Öèe ;-»Ür/Ö€Bº6œM{¶sÙ~È•‡ÿø$Ú¹aêýûÛžžžø^`@¿ÿÚáŸFBæ1E”ê;ÀcÔmmm…¿jdžögµHh*Xªâ’i„ñzÍóÕÁŸ?mkŸ+TOÏÓÃ[1ðWíÓ>C 99¹[·éÑ.öÁ¯ Òpš>üäD••üMÄÅ~Ÿ†Çì'ÜÊŠtÀÁòl <ÛLúÉÓŽhj¡…zæàð!à+à^a5H3ÿËvò/»kT´ÖÄ/{½F îòÏú#.SzòCÏÊL[]\\6$Ûo´Ã«q¶YçgdÀOp‡89]…-//=êÁù”ã|wm¤=ç.²nF‹Âj2¿ÚÆq@<|Ž ¾"¶ryÿÒðl û|ùò?Éð×ùÝL`ëß=õ]}Ll>€ªûMIt¦tÌÌŽpݬD›‡AÇÿEŸDÿÐÚ+ßk ~MHë!T½JÕ6âq@ýéEͲá3_£ßNÜx¯•;Û'Ô'Áþ6[ÍáÃtnz8yä €Ç÷§¹dKÄý?držárËU;;;+++Žû™ô©¿>TV*åÜ·ú¿¯¨p½.æÕ¦ Càn^^´ËŒŒ Hz¿‹ü<¾ôÝ»K—. %ꕌ",-ßää¼ÿ¹F'ûÌßãXƒÀ÷”Û|è[2ãÉüóÙ![Ñ},eøI­âj ·‘‘‘Gá*êl졚šš^‰™_¾¾¾^#L bظº÷” ¤¾êêµëÔn<Üv—ÏùîêïâRú‚b™\rttTTTt¨ …¾U‹þ]ÐןnÊ'eS%v tåJ=½QU]ýsî¥üHK+*", ð»‚Gþ¡ðòŠYé;ÇUKKKÜ<¾°‰2Ñ7驼F³900ÐϯöE„µÉ@ÐÒÒ*QÔ¦©ôbMºm›ÞVæ~þßÉ0½°¶º6ª9 ™šŸ¯»óã.qq¯gÈýLo?ÕLbÄÅ¥éÑ#ŸX(Ù7~IºýlpllvŽ÷´Þ}œªj ѵk ôT¶¶²ÂhXžÀÑß6ÿÈ!¡5«ÖR+s ’NkÜu„Î*:ÁÌÌ,,,\¯0:11A¥†BÞ¦+øxöD1 ZƒèîêóºÞÜüûåx?B¬Y ô[]]½M€Ls׃ %9¹Q¤¸¢°¿Ÿ_ô«ÎvŸó>˜Óq@@Àž;ôH"@½´”âKÑq¨]Bÿ©·©t­#œ¤Zøøø8:(Œö§_çÚ½À¹ðÃÚ÷@ŠLþ$=TOøûdS¤.XV"Ù8uûÙϤ°ýÖBBBsl¡ºfòòòê³ví®¼òò€B,»?Éa²û4²ÿ[ic£u»ÒÅÌÂ‚Ü ½…v’ìîî¦j~Ź0dõ-¹{zâ‡àllÈ»» £¥¥/¹ü±rÀðÞnÆ¥±¸¸XEúõËývYS‘ɪ(+ÓÓàm˜ÞXeÄ#‹“Q¨CYÎt†u•íhè}e%F=ðáöc³7X,¶µÝòmdöºÛŸµµ:›Ê©œ¸µ[›údáìpt\·K¸ÐwgQwã‰6ffli <Þ’¦Ô¡öð«wcE¼‰’iAªäP„Á`Ëbî%'zK áö<šxkjx÷“¸ߦdˆ/èE”$Ÿµ„9Ü6]¯äŠd{›xSuϹmOÄv½÷Ìâ«(˜ÎrØô©qE÷¹l½¦EpEÅø|zzšƒùÕ,"¢AfczMgi—ÌðZÈÏìÙu~ámsP¦îçYô|^O-øòD¬=¶FwS ¿¡ÓDªñêì]œ/YÔ„#NùP!îtòO  ‰ö5e ‚s¾Žã¦â—N~^^^4ŸÑ’ºÁÆÂÂâGÏo…a¨-¡1˜Jo »h1ˆœÚ!jToÿ]°Ô;ÂfÙ¿¯áKˆ5Ð[?¹öÂÐ>ÙrñöÄË)Â4rƼ^‘8v z&ó¸ >ýü5ºb²ˆz? 49½¸Ì8ð`œÔÃjTË ÚVŽcb‹|ÖQÚ0‹‘¹÷k ÄYàP x¾ÔËQñ㥎1VIKKÌUàç×ÓÓ;Ff_Y‰‹Ý±a-g­÷ŒýÖÉ´ö¸·Ì䣻úUsÂ;ú—Ž„[ÁØ«‘@ÕÙ–¤7–ˆ½›™çì×ú¶ÇnJc§ù5C`þÎ(­gÍÕKé3Þç:Œ»¥¸Œ•œƒò}æ–>½oÐZ°¹ˆK qÁêQøÉÁ†^‰œ¦fø²5+ôødgYg„ÁQ !M6üZùå'޲f ¸Êi‘Y<%wƒPˆ€ŒÐ™©é¯À[ÙtÚvE(¸o¤q9cZ°‹Ï Y*Å$8ÚCOD>}Ýr¨ ®*/¿G‹BùØøøŠ¨*›¾$ó+b¾J31j äŒÕøp°O×>)“Ëk£@¯c;µ·´0>É›¬»G]h®¾Ã'ΰ>óÐ/N4è8ùÉñÅåœúteÿu¢®.SZZJF`° XPðŸÿrcõãögžy´äûQa-‰NKI‘%³èOÖœßxà ÷aºãG„•‹CÝo/º]UvY0w)ó»í¯yÄ&O¢ntÅÚ{u­‰«žúèKµÜàëë`J欛ˆb Â'Dx¾ èúÕª†!€â›—vvŠkýbÊ'=?‘Éäväá“õ:G$srrÞ½{WÝFþFì‰æá1ã}(ø÷ÌTYî¶™g¨ÞòSTL@Ín½ ·vHÌ>h§Ý25MJžæÂÖ+1ÜÝ2ü×м³Ýμ»æº¡ÉÜÚªk¸C?\ÁqÌó„y/þ÷ŠŠ(Ëo²é‹¸ÍÌ®ÜúKv¥Š“ý¸ì© êh ¸?¸¤tå–9@,~‘„~!³¢)IæG»ÎŸr1ÎÄÛ}$p‹$èÄôKÉcß°»_>î^ƒ¨W0‹ï)²Ó0G AšË¿—òÜú¢sB*…ú¼[%ó”¶—¡:ùÇLIÕ}Ä}Õ&§ÉþþY ¥…Ô—N¤'}ê{…ÑØ9^»!}úb8‰é¼„yjd$…VP™[¼¦•KF³‹dô!/ƒ=‰n«w“Míƒ 9ç«uyÜ/ò1±pîyÍoªo’–õ«}KJ‚vI³u®O$Ñæ¦¦²›Örã²Ô<,^ÝܶÍÊh_Ø¡z…P`Ó†x—§\y0ð›´èLþû_ë4g=°éëëxïZ„++ëTŽ›·÷¦€=#ìø†ºÜéI+Ç·oÛ_xÕî_°-ÉÅÒš‡ªª‰*§Í?F«œ”…±Ngë ŠÊNƒÂyPT³¿Ù£„‡u²DëÅñưmCÃå‘–––½½¥£\å›è´œ5ê-’Aú6)wd­ÆAæ¥w‹ò”ô¥iÇ´/gö÷wpÅš£kê‹eÑÑÑHnÝïßò÷6— ë6A—¢H2i—´••=Çí:ÂÔnß6Ñà5b­Kk/ =ïŸÚÚX„и›—·Äuîý»Ëw ߨß2ë½ÿs"ÄdMY}G­GçôÞœÍ×DâuÜi‡Ç‡ ÈÛŒŒKnÙ¨èé©)Ò¦õÉÿ«Ï—q·\ß.ЯÅI¾¦Ïmõ.Þ¤4ýV¶\XÈu{N˜QÝ­u*'ÞÝáŠØogüìø²Ä¤o KÒ~Ó@xQsª%ê.Ûx÷l¡ÓåêÎë÷æY1vÎM-à.×͈5±æÁÚõOΔ-(ÖˆÅÛáЈdÈêì­6üè(¢ÎÄò2!Ìu'ކ‚{Ãò°n}Ô¬}¼UÅöiNÈ;Àøa^×÷ÂEÞ”fàuº™™å££À×AßMºz5ŒLj!¿xC#Î!ÃÍÉEc¨h&Ù²Y’1¦¥×Îpº¯JêÊ|s$1KD wÛ#iç²·@áÕËàØ·¹™åPÑ*˪ø­DlOKÖN‰ÂÇâi%×Èí=ÝÒ_'úôœ ¼ÞõSLê\说탛y§Üº=ÕŠmIÎ y@ž×J UàN‹Œqë`vSS]8qélí?û¥’ Ýÿ—`‡J^lÓmµæB·f0>d¬Og|°]ßaÒ7Èðô¸7™}ÒêàOYú$[zoV壚NÔ® Z‡]¸>ò0*Ù!Ï!‡Ó×H.IŒ¼W×ï2g”uÇ›ÌøÜžSŒµ§æpwáå|ì†8´0bd½‹IClï÷–õÕ‚ðZ-ßì~.ç^fè)Ý_WxÞ&œO%†ï¦¾+ïìBž'ÅðtzIä¿}iÍÞÓC‹ª½Î‰æš®Q£vM×ðPyÑgK\—Üq˜Nø<§ÄuG/¦¹pZ Ðä¨Nê;¡¶§)”ÝŒ„eƒE±Lî•PN/>eš;qÒ®PÑ'îÚŽµBôÿ]8‚Ù60*‘ðVÚ§` k ¯ÒvˆþêIì[ mjm ;‚ÀxP‹xœ¼ºãw%Ì5zb[›“dâLlÛ¶mÛœ`’LlŸØ¶sbÛ¶ûüÞõÞû'Ü­ÕýaW­Õ»{WU”¢¼<<@’’UÀèÿ›aÁÿëÓ‚Uþ \„¥Taaa×wvþ[Â9Jj¹Èƒÿk`)?‘ñ€”¨ªgÖ…YšVµ0+xœµ—ù?TßÇb"Y’}É’»” û.$[ÈÇRÈÚdßI!Æ„±%»¶1–²eË2 š ²Œ¥ÆNöïíñèñø|þ﹯{Ïýá>ιç¼ßçy^'ÑÌD—‰‡ŠŠŠI_O˨£€û<…g©7ŠÎÙPW‹êôÏUØ\– |9£¯uÃ2(ïW~¸‘™§mZÓpÕ׉1Ùû•žo©|·O†%/¥ÜkÏEK=ÕöVŠUOt´±7åJZä†Êkà²^>·-:ŠÃzv§!ìs)Ší£y—{4"1p ýp¥g—ê¸P•oïä“ ùãlèàÚ"¾¦ùL4QÎ7HãÊz =#Ý_E=ÆÆ¾{§°¤Ø¨kcƒ†¿–ž.zB1Ü“j”æga\³TˆÔýÉ5DÝæô¯ÀBZ,qù)[ƒªŒÏz]ÚÛÛAÑ— Ð,öùVðW~á0‚xœí}isÜÆµèwÿ \º*–RÙ²Ä*YŽoTe%²­$ï}Jõñp00¢˜z?þÓÝØf†0 5””[u-Î ÐݧϾ¾øŸÿþúýÿ}÷窺ž9ïþñÃÏo^;'ÏÎÏÿå½>?ÿñýÎÿùëû·?;ôŒ8ï 6/³*Ëçlv~þ—H™m}³^xœÕW‡7lµKíHµš£öŒ¦åU›J•šUÔ¨Mƒ¢F¯]«Ä.o+¨U{”†ªÚ©Š4U[¬ øò~Å÷=çÜç÷Œóœsï¹÷þî}P¦Æ÷8._úps’hR¤§ÍY¬ñ0økXÀi¢ÉmËú\ÿ¡?Àùå_¡Ë䡽­7€kY†ämÌ"M-­£ûvìU’ô“/†Fö‹“R)èa³:q‘ÄÜ7eµ¾ßWgý” 6*(Ô¥§ V½„JøleÏú&^5iÓõ»[vª™¤\©¹óƒ"pýæT×HæÔÌDI¿8'WUµx~~~sssvãåÅåùû_Ï?â»(>lÿù¬êø—±ëds©>ž™s¿eÙÜyÇ.aGìÂùÓu&e^}ßÓúóüƒ*>dêÆ¾ÅœîïöÃѯºÊTÁ quk_ó×úïÑo`óy^±JIû†W³™µ*ñ'€ üçž=sþWÍáõð[‡ß:?æo/Õp.>£g®óìYýcýÛ*_˜ZÀž˜ÕU§ûq¹¼¾fÅ퉹ÙÕ·‹%ˆt•ËòäâÝ’Ï2áü´œ ÄÎÒî[êú߯<ªªÈxûÈ[uÍUqÇev ˜?þÍüãŽ×ù3D|i‘WJàù•ïù}»óæ‰þæ Ö> |4^Ÿô!g?»—ð…͋ۛ0/]½ K…°Åo¾y±¸xå m83ÆÕìÌq¾qšóèßwÖÕhò­ÏtoóBá¡^œ/úkÈÛysãoàŸEV1Ø©#3vY°k'Í §óæçõÖû¯°;]ˆ€ðÅ/²ëK§,ÄúFÿýï̬ùïÃj‹«³ÅüòÄáyzyBNœe©®Ùn¬ûPó |uâ°ð©îÖõ›€}Ô[…_9sv ¼åî—dòžoç ÅœòŠ!‡*YÌó\*÷då^ñ˜´¨ð]†^/OÞ_)‡ÙoÎJe¥aÌ€¤3x¢t€S1g1Ë«3{6dÇhpÓSêz§”„xÀ»wå¯îêgv lÏTK?¬ïBìèäü?ðÎr}Ô; O) N=ªÁ 0jyP¥Ÿµp­I[*hß]*Êà®/^TÞ;+lþòÄ…¿¯\8—½¯ƒÑœnËàïÏ+‰ÿ¯è-k#@Ÿ³(JÓ$dn¹Œ8rÓ4NcFÔ÷çÊn¢y /îg•Vxn`:Úìò þú`ÿ®yr,%$ß›•מþµÿÏ«*¿>¹h8ü‰š­ÞOŸtGì¹óŒæVOîyû²„õß!JùÑùD?ûç`Ҽ¿ŸS$‚37JC_Rî“8JK—ÄÛ ˜íÖ€¯òÂàñ˜µ'~yÏòb« áŸ}q΀OQí)+g¾Ÿ† Q‚p2ÏUSW%®'q•—Jì#ÖÚ¥šié÷z2$‚À…kpS?”\pŸû1uႈƉçî>!1b- ‰wj¾%j>éôq¨DPÏ“žJ hDcâz©ò„¿[¹ãô#ÖÚñô5¼›/æILeʈ§R+7òüP)¸¦€íF¬¥¡ðC±,¯¶„Çg'A@„pœ •¦)B†¡}°0 ýrÄáµv†@ ?L†„ôüÄ÷RÆ,áÔ( ªçz¾$‘«|ï#ÖÒø 4Ó-‘£“ά9€œ4‰€PÝä6…›¡"HýXx|Ÿç±Ö®ç¯á§©pH?J£Øs %~‚½"IìE* $<ì#ÖÒpø lÎùå–¨´’5¨'B&…“Ô cJC¦"—&¡â¾ÏÉ^yˆµ4ªçÏ_áÛ®ÕÖ±Èë©yÏ$ 0Feìs/ iš¤ × ¡\¨0TiDŸ@±Ö¾€‚ȱ@Tœ$Ô%QÊhˆdL1ƒýz‚EØ>2b-ˆÌÁÀR[B¢@' Ç$ X=eÄ‹]°q<¸³ÔO\ÜèvøÑ>0b-oYq™ÍËm©„I´m§ÑF@U*HìÓT®‡¥p=i˜Â-Å|;5êCžÉÛ©Ãû.Ue- 4R 0Œ½âü‰]/¾×ØÕ©"Η< DœDœ¸±ÇÊx*}/H·£”Ïð¾<¿õ °À”ðD P‡¢ñ/A7BìK_D±$l;ãüÀ4¼o“¶L:À¿ hÀpŒ›~rÄaJ$óR*¼¨ˆ«ÔgÌÝN#yÀ ﻃ?»ˆŠHQ4” YÊX&>¶G]ŸHøs;cö4¼oµd: ÑŸàhƒo¨`G« ïÀôkc"„ŒaëHuY(UÚŠÅÌS„¦ÔôDJÂ9‰Ó€J,-`†÷¤VÛ§^d-^«/š *Õq Ç7ûÂU~EaÌ8Àða"¶RKVTK6svpDLP¯O`| ïUÙgÝïòl^ýd¡•—§Ïó™“Ïg·Fb üÔù埬ÈäŸm*ÆK26²Æ‰báq=‚Dð®6¦ ô$ Ýkdmx-tŠà ·±Î²ÅûüÕǬü`3-¼¥qR¢hÛS®§”ä®T$¤{u‘XK'[݃_õ›8û»öÔg߀[/¡q¢¢4Ù ðäÊU섇3ó†)ii ¸ÏXœ$ b¤H¼ØOeg ‰›Ð½æ´XkGÆæUŸ²rª·åk"¥ð’û±Pžâ©ÄGß Ÿq¶JNÃËìŸ5_o ³|0=„I$ ¥+• 2ãþ±º X°]êæ!”€Uˆ o ÒRÚ½~‘»éSÚ Ý€Šp%‰Ç}ø_$˜N}—ÄÛ%g= 7Þ‡á%Jèo¨I E$11NÅ &<J- Aw ƒ4%A¼íÿ¤7¼qÒ«.CjÈOÍñ=ƒnÄ$I#?\„Ï‹x("/ ]uLÀ£ÅŸáŠÍ4[ÊfYu{·Œ?×¾µ‹½×˜6éÝÓ·uYúp…)‘®cvqLâº<"¹”º{U{G¬5¤hŒõè Ø±TïPrø2†ÐØe^@\J¼lÜ å<è^ã3#Ö½!À.ƒíãéF.q¤@’¹‚såI†<‰b7qì'ÙkAňµŽp#€&i fªžBP/Š*aUmò0Ø/ÐF¬u@Ó_Ž€œJiÏ öîúÔU€Ì¥ô+PÝ÷J§#ÖúÔ+F‚-U "€nÂRßãÄ£nIФxä{Ñ^nÄZŸlæŸcq.ñAÑ @¤qIà;’OÆi*(Q‰Úk!݈µŽxcd*£À°]&½(N†Ì™bÂ%a¨@ô±½º>F¬up)Vy,B**S/>‰CШz‚0*½½–1XëSÃn¶j‡PÄ›NOúÄM»§aít“4Vç§ KÎ*¢HWPjp<6ã†ÅðÞMÔ4é×Wl~9P?ˆÔ¶×2Òj­áK¢>‹}Äi§JDÌç#æ’K×KÝí.IÍ—×ΖhmÈã 6‰ÓÎÁ‡€áJ/£M}dž!G‰Ç$w#Êx”€j™z •­ë$ŽÒ-ÑݦÝ>@Žòðþ±Õ°;î˰½XËôìuG#ýÇ`®‰ëÇiÇç³D’ˆ‹H¸.a®D@€[ÖTX`Ú4áÃsøFâ¼Ë>ª™Þ‘m†•†äØ*åPaFŠ&1Èx'4ˆ„/˜MIn¡z( oýÒTVüÈ×Ò] ßösÌŠ³cZܩӯÄXk˜06eÕ“@\†~D”¼Ô˜”a¤¤JÈv¦Öö½@&dÔnü³-ÛY&â)”Ÿ€i#Àxæi¼Ðó¨d$H¶Tgwèš5:wŽé”~ 3©´±oóe©ôΟþÇéamc•}P Wéi%ÎêÙßþ¹a¿aûmkvA )I€­G¡'R%9‰°ËP"B/ŠÁîÝ.øÀ>ƒTk0ßfB æÈ£‘ Ý€c¦'<åÅ‚(Ð(·ÃÒÃÔnÊ3ܽÌÊê·?Š÷ùÏÙ\ÝiY”+ª1»ß¨¹Üøùÿ=¶q-ì†úÂW‰+Ó„RÌ Ž@ÅH9HAn‡—ãáÝ£öÛæzÝ53íÞ:Þ4›Í”ÄgÆ*[ñB¸háK_¹Šêª?d'lôŒ]#cGñ?|vQ(`ïFåý:õR‘¸ÅÄ%Q T‡-qãÈAÍLvΰ>Ú„ÿás Èe?uzŽŸÁ¤5Â#Ée¬ˆë'J†”I®³ ÉƒÍvt²l=ymèm¶ö›y¦5µÿÖ^ö‡i© ®À Âȇ]&¨j ¤¸é-‹´¶Ãψ¾ëäÄ?h™ë ÐȦ4…=úL¸^ R×%èw>ž–9« Þ¸nä±!7~·„ÿƒ'ïrøÄ÷c8"ó hW®«®"*v¼™ÆÃ¿Î?(P÷’ll5•E¡ ¶¯s¹ WRæŒa =w}îQø®%ÇÓÝo¨Ã׆ö,l äY.ج“º{:Öÿ¥‚@rå„íQ±=sÂYSBbß¾iý_Wÿe¦š¦N8|ªÈ¤²ŸÝ“ûMd¬Gþèä‚fþüså^ü¨?PÒùQ•¢ÈFƒ/úcŒÔNJÙ‡W‡­ʮ٥žƒÔŒøéº8õ4=Ôe.N4ú¾ÖÖp+ƒÄxGšÅ&iž„ncœKUöP^Ô˜¨®²„Ȥ„Oª\#>NÎÄò>1‰Ð%^”¸¡ë¹4ŒÁ#…èg‘—ë<óü9,ˆ7ÜA÷ozCí¾A¼7MvËTÑýÓ¡:*>½™xÏëç» ûzËï©(lGY{C,­4:âf;"è\¸#Ç{¸©û‘]r¯SûÙð†ŒÆ¨Ëµ€+5×ßkæúU¢8 1F´±?2ÄÀV뻣CÓ°}²ðRóE……¾åÕË—¹ž B Q6¿\ÎXa‡yv3Ã(Þ稱ëëÀÍÏNQ:Ý#¡Pܪ¿å+ å¬Þ]i"MðBBV°E弚•9¤‚ä¡›ío¶ïX`Z³úI¯žÜø„!gc‰rÄ…##ÊÎU}%Î)Äyz?>º4=d2Þ˜Œqdxo¦6ìŽñéSqÞNQ|@¬×+nÆ{ çšß0ñû¥AõžÎºŠÒÍÏZ´nÔ"¶†ÏaQ{»ù“$Çê92‘4b*Ë‘‘f諭’èX$އz''šŒÿ#Æíþëq0»£};Uf*Ö›™®ˆô¸`OÚã¶Ö3‰«Oø7§GŒI:2œî‚óËÆíI¡Ãš“zMFÒsªŽ Iw ÅlH&›Šžfˆò¢ç:J‚ž°Àô ÐÞ.gUöl–ÍÍïLà¸\.yQ™xp6/U¡ƒ½ÌÑ¿ã…b¿;âŠarÚ¼êìòÌùî/Î/¾ùîˆú€ }Ò«·œf5™G F;2r\‹õïB›w ±E•¬ý‘¦M^бø³þb2EÊç6澤y1Ë.Þ¤ÎúéPþ¼¹T-ÈþúZ'68ÿ¯-Ü}m¤ô¯NÛÍÕ¤Þì¬\ kÍè_å‹õÓÔOªfÿℳÝÚT xð†õƒÁ9`û“΀™ZÝü`›ÄØ3¬çAèmes™ VÕ^<|Dçz8"/æªX;Ì™ÝØ¹ñww›/,£Ê¦‚ègÚLxÉ“ë†Óʧ50««lÞý)ê @2%5bŠà‘ñ•Þy¿ žòºNŠºÊo6!ÐKÍK@¢gR­Ðè80Rf¢:¥ü–GäEû‘Îm|: ›F [<2lª“švA¤µú QdÇ4>¨ºÈæ—DàKvqÔ¬jæ ëDIê@ NúËRǶËÚ0ý•”´¬~|®Äð@Ê#CëÙ݃ÑÑ›M9=¯Ë:˜“°ØnĪªn”5€m¨mU¬¬cýÐ8bãb¡à$øušö¸OïxÇî9™“i¸©ƒùB'ÑÆˆ9¤“ic…*tús©©ÂÒC—Ì·ÏP{Ú'YÙ‘µ+„U×7î#¤Ý©~œLW¹áΧÎÝtsß)õë~W·O'ôx×1VÊ:Fí»?£õ“¡;]Dêì~£Ñ¿´6±Zÿ¦— kã)îæ”ø“:‚q: ˆ7Ð).šÃÆik$·áÓ¦‚ðÅ9~yaÿÓYd¥<â^¶ýþ TÄ´ÎQ…kÇ%˜4R To®pÛÂA擉߫ ½Eά.UqrþT$A=œçUc™v‰D+¡Öäc¸v ²¹ÎÎŒŸðìTY5S/OtR0¨§³~§Z8Ì2^°â… ,žÁôË¿2y©*«ÖXoXÙ& #OÏl7–Òˆüîììl=ú\)Ê.ÐÀ¯PÕ²˜›w–WèLNc܈E½Å¬´±YËŠgΛ´ó'n\eüÙÜjXèž”ùr&çßUÚç`÷רþŸ:ÏèÁ˜-¡Óï§eïÒúÚÌ@ƒªX¶"¹ÝÜngÂãúûOá(ysÿöµß»P‹B•hHHý"P.±Zi¦´o”Í¥þ P Ž¿[ÃíÎ^µúÀY““ß´hÁœÕ±»óÊNP/Ïßøk²èWú5"0Ã$Çé„vçRç¾ÎU‘w­/S^c{G¼Ïgªh‘E9&?ÿQQˆ¶E³Ì¸“ÉY’d¬Nýžó^Ƕ&퉯žŠ"lîäºNÀX»–¥•ä¹g¼§¸íˆÅrÉ Ì°D @!§bXôÚø2ãí®Sƒ´ó«Æ÷ /3’ùàíƒð?BÔ1jK£SpVfe#r;örÝÓÖm±æ†•HóB•eºì¢•1KáRKõÇa‚Ï?Ìeàý V·M]ß&ŒÑŠìY3@ã4’–Ñ=”©8溋oÙœ]ê:-+¬ÙGœša3§{ûÍ l]ån7uÃnOµæW¢ê|3ÇhÅG„XÎ zw5ͦ¬¯A3Yt[â]ÂÚéå(‘n&äµÚÇe¯k޹iÐV°ÍpóªaгÛf_¸QS Z!¹ …"•ËÍdý[îXŸ‡;&‚ƒà-5'é¸á˜2W%*Wìƒf¨H"°áÚHWà9Ùµ¬5"´‚)_YjùSóÎÿ›/ ÓC²'¬´ÆM«¼€ÄX Ê^”nšÒá2 (/P—Ýõì{öoÞ´ßeìÞ5V‹¥¨rÓ)7òixÀOEAB"áF*X)jÝ£Ó‹²\FƒVô‹¡ròYC¸®¤‡”úÔãØ6a¥ÄBnøGç¹¶ÞyœlD_ðGé[÷.ëB†Ü_Û7†˜î}¶ïÃû¼o'Ê¢î?_»QíiÁÖÚ¥ÑC´YÜè1 mÍ($éÀ¬_ü<Ë:dW›„õSö “^Ö8ôOkÛMÃö?å äƒZ±Ýàߨ&ÕÚSýðplÛÒèhøù­kýôúRLܶ—(ò^ú˜ vLa©ˆüPÒP°“ú|Ÿ£¶ÒìÈŸ¿©õ›Q .€«¹$LáQ £ R,b¦ÁÙ¥º 5®ý]˜©$R LÀO°Èó©¯Bî§„†‘¯Ò™éˆ¹’™Ö>ÿ?]° oͶH°½èFpÉOæp~p^ùkÇjܧMÛËþ Ø }cXg’«žÙkÐtt\Ze5ÝSóâÚZc'K+¨Ní±|¶nºsc¥Õ†‰q^o¶Ïì¢ðò:ÌvìiZTWÚÚ?ÛÐt±uýo´í‚NíÎÍ»¯@í®nòf×N IÍé誗­b¿k›¹v8– €3YêGºžmÐΨnh/'C6V{­àKãx1ï8¼®¾EƒÈÍö×Z¤E~=YÃõ¹T¡Ëc概z Ý†Rpœ|¨”Ü™)?òù0åÕq$_ã½ëÍ|§ž¢ÐJȧŽùî’[·6QFçs÷®‰ßýÉVƒDL- /3 ‰X+âkÿ«S—Q42ã‰^êãB;ë4`E»9¿ù驼JÇ}/›vMµ\ï“YóÇô1ü=Ï?:=$nBºÓ´¿èn¹SbÞýÈÔ\c»kqÕÝÖŒó¾¼ÊRÜàrqÊ&2s¥t7½>uêNèxh#ˆ:1žÄ\QŠÛ^èö>õ gù ؇Ò›—SßF“Š‘ŽjeÍ)éHó›§”Ò•i=UÏrÚN6Y¦öHþ½q]5§´¼ÂÌ…¦VýˈÁ56ž9õc×ÈkµtmB‚Ö4¥sÝ«EÔ¿ÏŸ'áïˆY[M·­5Þ¡™×ŠÁ¦ØD6`ž€Ã¦#ñˆñh‰± Ñ oÝáè Eà¦EÒ=è«“Y:øû®“&3{›ŸOÇÝÃì'îšn%kØ»C3”/;TîÁ`lªÒ¸¤=:Øl`>Ÿ;LÇèá˜ÄãÄè:4Ùuj™n°½øÊ.®›mrÜ1œtœ!Çl~¥Šl_$aˉMzvƒÆM ±Žª™„1L«ý¨³pM¢vQýPÖ©8nÒ‹ I€œ*%Û5ç´®t ‰Ví-ºwpO÷VÛÚ¢§Àà2Ÿ!ËÚÃJ°k“Ö/:Ÿl—^Ñ8Œ¾FW' ´~漩l¦@–›šð`y>>ذH-Æ(¯ “”Q,ÕáùöûœÌ!bƒ‰É‚€ ŒJÅ~!‹báÊ8Jå£õóÝÉ!ÚJ™‡VhÊ~Η@í]µf‰•(ÍŸHõì©F'ª[ñ˜ Éžük€- ½«¥—÷~™TGÌ/ÏžÖ“¿æ7êƒîûÔ”Ìl@N›Y¬9^Êf%YtLÁ&ëcý}¯¼åšÍuvµ)¯éÚùi¬Ï%žTØ)*ˆC!|y^„Aê'ÒólK”Ú Û¿¶¶ÿ뙜P<ÓÙþðŸ%ÛÇØâ§`újLZØçÆòkÎÞé—X—;šIÖŸjÞr­c¨Ø>‰+NS¥K–ÀœÅzºn ݯ}ŸÈžµé©MƒZÉGµùKÂfi]åËË«^*®5Ž;ìK‰+6ÏÊkíÂÇz…xl dÎ*[é9¤~~>ï`Ù†.´™+«4ë §^š˜Þºî{•¡.Çv€óKµ±V±féÈu_…ýž§;BfÖK{ºœ)±Z‘YÍ–‘s•C*ÅÆâ‘@¤)'žŸŠ0œ'TD‘"® ‚ún@ëâ8°o”ì« W„«ez`_ƒà:3Àä«Y¾,WAxx[c PO¯‘¬éWoM—h(+Œ‰nÂB.TìùðxÈR%”=Ú‘_~ÎÊêO³êûÁb¹1£Ô?]›Öd›¹úù0²9ÁîËxÞ¯¬£Èv[¸æÝF sÝŒµÜwíM´í>O7!Ê&!‰YÀ¨"„Ó$Šä‰Í¶ÞNQM# TÆ% H ¬‚Qéú¾{#΃ä¤Ó+l+çÄàî?wšî&¡¯'ßIÏuºøWjÞ'5×PÝLËÎßòº ¶ÌPSemRä`±AŸw¯n÷,Ûʃ³Lþ©iyƒ® ЂLØHïÜfÂfgUkuÊÞm¥½^æà\jXv7;ÛŠOq%œÊ"!ˆ \DDT2é‡^ ¼$n¸àv\j˜ >N.µ}ãNUc•»ôqÇs©Öa¸Ø ´gVÔúLÛZ¢ðm'¡ÚSÐë`ÐaŸ:Ïø*>wÚ”0‘;LR[é¥;½°˜Ðs¦kœ€#ê(ºn blg¬÷.®ëR710?j¢Ì %Àª6)ßYQY×éÙ ëÉl—Õ¦”iÀg‡];°CR$ž¡n¦ÐÀáéW;ÐÄzðíŸ'ÔÿîPý¾r×#宇¯*Ýé6[9ϵZô·Ö±R=¿}Ü–· ‘¨€³À…ÿ󩤉äDøÄ#žl7Œäø-†pÖyæ+_}e›ŸŠm®GŒ°ê½åDƒü¬fI­Ž ÅD&”ø]sZ.j_×á^¦åi“À•`‡Rº`£„f«æôƒZõŽ…}9\Ôþ°Í ÈB§¨”GÇA‡CG“ƒÞaï‡Á¾†Ù»|ÓÄÎi©9™ Bbïi@«ª;Æp5JÛõöiæk"ºò´n[ Z˜NßÊÚˆ´ctDf4µ­iNÏö™R²E¤û‰zIÈd"<¡¸'ô½”>Ú^›€ŒßÒ€®ËdÈyèÆ?É ñ¤ïH|_¸Àš"ÍÖŸ?ïäh^wu¶\æ ?¿ÀÂ6½‘Ö´l©VÔ× ©¶Ó¬ØVÌrݘÁ6»]¬ÍÜÿiÒBê+ÑÒ™¹fÔ¦Ýw“˜£O†¹>æØÊø»v@ÁomÇ'­ùÉmÙ4«t›f©™kKsãÑöG5ºo¹Ñžî·Åb, #.Üú£Ê=ºù‰ŸØÝØ$ ¿#»®ËhŒ:{S÷F–*eØ ·éĺÙ=‹rÇNO?×DRgö€)(:Á¢â;j1O§U+|Ëà}BO U¤b0rC—zLz2Ž…»Â ?dê':k(ÕÍ}šy0‡ ¶)ÅZíðh±8ÌŽ)¼ˆøœ$ %2u‹‚ïÈ£Iì%Ä£ŒKQFÊuƒù2ðˆú™èl±˜Ýþh4€Wó*c³Œaø¿îØ”ï»P=añ áñAÍ3…YIm¯ÐÜQ€z8FµÒ%®Á Û+Ýn~‹ëºqtݵAsMÓ|¤0Êê)¥-Z„™SbZ`·3R¶ÈÙžÀ®Ì¸GÃ@g†Õïˆq™æª°CÏÊ—óÊveëzLgìrUºåTQèˆÙé¶*@Ò0M¨5•S®âl¡Jbà“~ âuuºs£±íªÇ4Ì^]Xa[—8ิbn’$)£(ŒFžpýõ…ÿ–ßµöž%תôðSé{*N¸òY—B.ú–RÄ:w¿»µ%¬.Ê4ÆV®!sÃ@ðÔq’ª$ñž€Þáí&¸†'Z|N‚«;Þi9õË[Ae^3Yô¨u3ÉÇ6(çc þ“oÞFGëA¡[…G»³g>õELG¢Æ÷Ê»¦\èáúÞ~UˆºáMÓSíh‹68²îNí*²z¤ýd;Ö³#m7X ”œ9¿¤mnU(&tmZfæfZ…Ád·¬Fd@]/òÐJ¥f·Æ{‡ûÓwÐ85í²7÷®eZµÖ¥§ðÙƒkg©Žs˾sùÌYãͧòt½¢‹î®ò™´g±3ËÌëž]çöت(›aǺâÕ?mýDþ5$NE*cwx¶ˆ@—%DÐ0”i@Ãu5ä-nËøHßÚMÙg¶yðʉÍüÔÓÍ%‘¶År•_^"ê˜éb\‰üºÅƒPËy¯YçÏ›nl; ÀÌì =,º£_I3H…mi›Z‚wjîì´C.5”Àj0§n¾a+ƒQÍÌL}ê&vé¿ûЬÿxÔ§†6×&£IV1…b'Ln5‰`jÍ$+Êà ~„ã2×6´«L‘0ÎvC~Ù¶6l^¢“IÇM~ŠGvX6•ªé‹móo3°3¯ƒÂgÎ?J3toÓ<κ¹ÞAjxņ‚ºË·éAÑ[­ù¢¨S«4³#uÙ'ª‰/üdó{]g\ÖÚÒ@±;N‘]êšœ›‚KD¢U¨¬Î1ì±þ»UzêÚÜSëí´é•Æá96_šéškXj—¡y›%`»#af€íb|˶¥KWtÜ•Ð^lÿæg¶}o~cC~ºÚ}5^ˆ·urÉ„ÍgsóÞC¸3ñ™@õOf`êiãkÀðs6Ï®—×Ú%G±g³1J[¢cPüP¥‰Vâ‘þX濪ÈÏœ'?4îûUL°Ë=£g¤íñZãtÛO#«V)³§Úõ›C`wb«ø¾ÓîËu]zGhoï†Õ+Þû1l¾¯)aÓ5( ^o¾ô•«(‹¤¤~¦ öÒ{´S(ÓBMh¤}÷¨©}2õµ¾Œ=>`kä—@ƒØ'«:ý-l»ÙHsÖÄwµ/ÚÖ‡nîªÑd¹0g9Ïþ±_,Ñ1W·7±ÙžñgbÂÝÖ;ujG}ÛÇçI17 ð¬M.7›ðè3®óÏÛ×Á¶Âåëm2κ˜T‚ªºÍ1 ýÙñß}áP¿°YÞ†[c¯ML†_h€dmŠù?Ö$ŒíÅ©I³XŠ €PÓyÊÿ5*¶ð|ZC¶ßæ¾´Á]Y«÷idõ üÏs6û“¬²I//øÅ\ݼ8çZö€ì«]Z}®ñyÊ©ém躰> õ)m``»“s·5ðÞ|Íþ„búð}”…ô¶ç/»­d÷¤¢­ä¶ôžvŒw“’Ù£ HæK}söô¶ÎG®åºyLÏ%4¾ù5Xö¤VbÂÝ*xGsbîó üèãÉSm!ë;ù¦¥¯Aý²TM“Ã:+U6i6…Ü‚¯ÙnÞ€â·]lLÇ©&·Ï¥ ]°áÜTPÌíP ÎcâRÁUö¼ìÝn¢ï²jöÎÄLLk 8I[‡{ê:ŒD^h?˃¿òB‚¥Žg£ê?{ÎLnÖ¸ê^QßêQÌfmë•=Þ(]k~| ×°ÑÞ7T·S¹’XFIðˆ†Ò¶¾çG\¥˜´ ‰ú¬Z8mNÐXO¿0 WóÑóç&q¾ùà3ìÃñ©æ>tÊÚܤµl%#‹×~×Én¯¤žÏͲêÖ¹Êàg…€ÿ”;1iw¦©Pž’Í㑘$iäJ"`ù‚E<‘…®›U²ÐÃØ$›ý³ÙG§[Ð VÚI¯Öns¬”ÀŠé¹M/ΊµƒšvMvô¸é¦¹Þ““m„æuÍJrÐ;0½ùºHãïºTýPj˜)v¯ºÖN’k]XðÓ²@ÿi¯& öÀÚ!u7ù•ÕO½ÒÎݶÑñ«ûƼkôGg”Â[saZ8/fLèÖZ:XÏ`ò¾ª«ˆQŸ[Mÿ·yãµ0ëבMH´òP}J¤^r?ÊS<•è\ÕOýLÇ¿xýÓºß1xªQ†bìÕÝaWë)š¦W› gÌí_5M7Ì ³ÃfðC®,'y¼~OMßj®±~Žj̯Ä6y®OkÀÔt'‘6'’HJW*?`”Æq ˆXR°À¬¤]·ãî“¶þëPMiôËWôªíÒÌÌ£_7èŸúŽ€djù&~®j¹¨+ 5Õæ&:_÷|œf"o›%ЮÔÈâF+ÓYå`Ë,µ¸ Ö¢Ú:®Îu±à0ä¤Ùä4¢sFTÄcP£ûð¿H0¥HJ}—ÄÞW¢Û·§VßÑߎ6 x€:[Žù,öœ¡‡©ÖEÛ§5ñiàÜIs¨5ïßTJià½F-ú…“Hf¸çÎã$™Í*h·KÖ«¡jŽ»8Òº³CO_‘,F¥d˰SÆ7Ø ½¾c¦«¬³»lK.©t/°/®×$SsÐÇð8é|ƒhì;K>KÏÚÁ‡ºô<'­›ˆýŽdXDõ öÇÖïÒ±A»Í÷ú¦žu”Õá-ærVÙþ J /¦Í'ÝTdjìÒ>ãx³±*‘ݹÓ'uT ý9Ø~£çâë”èeó&p€i•º'E‡Âjºû³ö*Yê]7™õÕë œ5“uÎ.µÖµ5 °¹G­[ ›ª¼-›,£Þº›Åj#ˆ¢¯b`0q#¼phMç; 4¿ÛäaýnZ¿½m\ž½íßsã+3)ï¸úÓ~ÆôæšÖïºp˜hŠI.cE\?Q2¤LòN'|7òâG›¹A¯2ðDõ¦Âí¦^w2­ù|¶èQ[oþ85³#îЭ'³Mî×ÂÖ¸@,¸‹]$,#è$Á¶û‚)’ ¸í£Þu.JW½çÈó›[ÆÏLá~^׬7-^›hºû‚Hóo ¦ýŠ u—ÝG6OW™¡ù‰4èðÉÌôÕÊ®ÕæÿU¦}Þ|ГCVÛ­ƒêÙÜ4éf·&£e‚ò{ŽY”cYØÿÕ„É1¥ƒæLÚ´ V˸NÉ#:¥éË€ž³™ú fu@©^¾¾_­3·m-'l¤¿?²hèÀç‚]¶žÛ]š3tp•Í$|³vž»Î­/wi¦¾ôz4çšàÖÖ2_!\ôRM@®—24¾Ãâ¡zoëû[B tùY]¨k[e¸"ôdìÂd¥W7f¥ïJ]ÓUgC­æ’ÀYó“ ¸žšØØzGf"íÙÞ>ѼíܧIa ]ŽÞÄȹë*$W ¤OS“ÔM8‹cJHì{Œ;V}=Y ¯xrшöؼâkG»ƒ8puõ$Ón²];lthœéÊä’&÷}²[+ãÎùž_^"á¿´W¬†€©“_ Ó­R5I[U‘ëÐ=»håÜ!¯ŠsÅËŲ Þ5¥øÆ!„ùK5¡ÑtJÇÛJs þëY­˜lÏ_,±ì,»( q®{êo‚&~ó¬R«ÇWÿ.óe!j/FóÍÙ•iK ïZyaû±XØœëu ’ÿϳg"ºnðÙ³¾ÍD¸ÈõPqqqeeåq‹<¤«£3r‡SÆÞÉø¹-/oè"Ú½š§' –“[ß\è7(U€Bǽ®[ÜÉÌÌdKœßý5i[óˆ<˜O"‘Ì+°hÒÛÂB átÚ»¼IÞ°‡K„‘RÃŽOŸkFœ˜TTä@aááHeþæÊÑåNgyOΫ73DStJàTï'ªÍ+¾ÖÞ1Ìpyøp»1€\¾;ZfºFjÎííììÌÈÈèíímjjÚYz.#z¸3h?˜ÿœ”ŽæžînÛÒvžG8’©¿Ê¸ƒ…¢5Öû$_c±XBŠU®;C…%„Ì‚PHÕÏ2¨óžR~?áõÖ@x“>êg¼,( ¿·³¾^XÂÄÄ„gKjÄÏôDßÄ^ûùs\ÖIÍôSQQQëÉds¥U•’׸†tB\ÜÑî¤Ouhºè}E;;;%’ªÅü—/_d[~;»¸h½ËŻř£æpÁ?øÁƒ¾¾ëMÈÕr³½µé²y« ézІå0´ÄÏ#§´Ë*êÔ;;;UV5 (G]Ý,W ¶®dΊZC”ÌZZEEE®s[ZZö¦# "ÊÆ»ß>ØÞÚ²¨° iV“”L¦Üª°4¯P„@*››ó=ô þ”:šÄÄÄêakM¡¸T>Xñت óê»îôÑ|1zR6ïÝRèKè«2h£ÝCÙàsTÑÃb)ØÄGm L(¥‘Ó!HHI ÕhhiùˆÄ2±'M”=]6 õþ|;>„Í ˆ¸èÞîÚt«kvz:k®?¸d¸Á}C¡xï1Í*î2úÎøa5óTƒGŒÓ%À13AêGëš÷î•ÛÑû+QØf¼?—-¬ý¶a‘³¦ú«ïbé2¥…>?Þê{  =½ ¤¨Üwò,öË®ýÐÔ‡ÀµoužŒÏR€5{0Öj{6æ3~ žæceeeKtÄÿd{½ïM™®[E”7)‹¨†]{¨lòi6 Êžô‰º¾¯Úø‘I™“<[U!aD&ôºÈ£nÝú5:ºuü<¨h¦’ª®iÌIμŸ.öféJ4¾ç~¤ðÝ»”žCÉ`4h$¦JWÈ„AŽë)J9™§+½³3µMcçk…ðu ùQ裀æåñF,Ì1ä±›ÙL$.pžÐFÏoZ•‡ÙG‡‚*ÇÚNy¾µXÎIq»Zaµwž‰»ð?ålyÍ/—æ`Qýw8œçì–+åì³~»¼%[¬¯Q[G‚HMM 4G¶iT‡;Ù›íHê»Ó(jh|Xñì„üD]01BX\âãí`žcAFÑ mO†]ðH aÔÞP9ý¿…É‘÷ô3PdäI¡²tp8Ÿÿ„ÆÚt¾3OP·ôÑU•¤°$Å×áaðO6lzìšÌ7YA\‡QqIýUN×e'V“Óeï„Ü +lÿà {TW0ü Ðvî³=æ½æѼL¨¯rsr.é¸(È£–£ÝÜIço‰Äm[·.†ƒ“ž>­®¨¸ËŸÓ¨ …~žÛÈi¸U™z‹J?ãøø8>>XKúúú8êšCÑ `òÏ6;˜Â„ÚÆÆP2…J‡8Ø@çØ·ÙÙ!""ÂÃÒ|ÐN/8O&g^µÄšš¶"W¿ƒ&VÝ>>:*× =™äÉ^]·ùè×7äúLûƆ_ÈÕ¯ànØêfôÙKwjsê#ŽC² ´_W=V.õ‡°ÉÈÈDltq¢¤lØØØGi𕹹Õx…€÷5YeÃ÷œUáðeŽ¿­Ü`(´‰J 6½€ÙKÏ/R€WxòêÍÎi©ÓŠË›1s= >ŒùL¿«xB‹Û(±T,šu€¸òCU ôÄ¡ÆLfIĉÄ=NX-ÖÌySR͘©A©. BÉ›ok×”Ÿšéû›04ê…ËÁgwë¤Û Åu€úúNÔµi7@f†K†=Ǽí¤^v!šCV‡Kn.=Í‹«É8üt±|'Ü`Ý’S‚@l— ¬8mn¶7oÂÙD—[oxo¡éØ’.:1,_8¼¤‘éÏfÂP^±\(l¾¤eŒGþáG&¨¯ßÎèÕÈ2Ú({ÓßD ¾áJaù†ã´f\õš ÏtÄøè•èåÛ3˜¨••Gjä-ûÒÍ'ÿ€ô2ž÷ÛÕxL˜ç-&%q Âmfs¢RÏãgfäÒÈíä­êˆ Õ´ööÙA¦‡©©³+õÂ9=i=™õ#U·k¿#ÀÚ:'±Þû[CòQXû¨SMV×'~üÿäÿ“Nµ—]QV\Ü×âzêÈ´,\ã?—ÿÙ‘êë´úµ&À§§m6rdôž¢£ª²ò·aþ©èú=‘8B‰.!øR‹yq­å°vòŒ<äK#BÎyãŒ4Qí å7gÏÊË<ÞèR? 30èÃ=˜\ª}õêÕ{÷!Ò‡@ŸýÍ Ÿ–}±ƒÓ[´CÌ Ê¾3m/®y–딚÷ÚûžÿjÈ j‚Rò 5<=W—GËÔ÷ç3ë<Çvww#öPÂé⪪y+™“ßsišššHå|#±ÚKqÏ ¶··~ó ííUÓö ²ÅÍtýÆ„ôÄ2]Ýܼ¿a{ûû=çºS¸¹¹ÕO~‹LeeeÕo-^6Ì®¶oÜ$iðÃáðzŸi59¹6¯—¤Vyyù/ŸÖ××Ý Âqÿô¤® ƒáEáȃ¤`r_–$€¬·oßúùùáñøjîotRR(_†æ3UPÝûZ­Š/*J%â5þ&Ú!ÃÚ÷FÍ@ýÒô#E´‰lóuó5›Rs}éϨ¸«x&¡h“Ћ¡tX²²$˜ý ˜€P :fn# íN[G!^×Þf»Mœ q¡Ö¤®Öí§*Ý#HXÌ<ˆ((a—*¹í\ZS¿“„MÑg=ÙñØ’À kaheZOÞÀ¼ýA%Ì*à##X°DFz"¶ï?ÊÜF&R(ÈHõ6…ÿÜKÍdIªÛŒÈ̼ҬCQÓP8ù‹gãŸ\cýln v.ÛqÒ?ß¹àéút*ßñ·ÖLŠ.É}w‡/o6ªå@ؽë§Í·ÚÚË™4E–j)ÀNiµ©NS ]Ö¹¿Óÿƒå;÷WìÇ'û^.t®)]&yú{WÊ“b[¶BN ̨×Ȉükùæ× бôË´Yá ‹´n4/RRenã¿3^ß¹¹Û°äú¸áŒ¡˜ªÊÀ(©¥¢1PXVé—d„‚¶%¯mÚ'S˜Ñ‰0:œ[M_eV ð¯´& —Rö•aØÝ,=‰É\(ÖRÿG;ªtÙxøVIò]]ììŠ\JvÂ<"_Í7}Ÿøûu¬8eJ*[Π•…ÕXIÿÞJ!ð[‰kßiý#^fKeÞ À'"”CÝNžG¿”ºïxÇöm9·õ‡à´Ã[ñ~³Ú_coq!õ”m]Œmd¢dˆÕB%×GšD-O5ü6/Ü©¤ü°ŠgÀe¢µj‹ƒœS{ÈÆj·>^ýdËÏ f圤úñ4NÞh1‹¡'Ý»´wžò’ˆÎ\j6‹s©kÙ]àxaœHC1T(bŽÍÏ¡ì j$QÌjÕ‡‹Å…mí–"¿Ñ3$`9Iõ– -ÐÏW îT">Cs¿æmšvúÐbU¨ûG„jkàl¹÷ºý¾†‰£1ÌÅåߟ Q!^^{ª+&BM"8Ÿ#=}" 8Vtx ±Ý“AUy]” ’tMšÄk¥Û‚ϲ\UÝä †Õ4í>X’]Þ›ªid¾·#ÿÅ!ÍÝÕsZ+–€£ƒ«K[öãJé/·¹…çÔ­_>¤´–Ò4–VmõL9T]ÄÔqÒ7¦þQ&Óär&@­ÖAÈü œŽHÁ261²©\x¦!G„­J¨,™áaÌnwæ(S0KÃ:͵ï´I ~Ë·uyÈ+î;‰‰E/h=¤RWë0»Yàr2~66fW'0Ü#ðëmÓ@†8J|sÔO¦à€B c ªÙ\Šî$Ã4gpÍ’æÁ7­ íQ¥ðë§Ëw;ÁÈãÕÊh¶³˜ýÈuù ¾8œKô3å ŸorûóIñ€U… ”å–›0ÏPSùVç[zh)\V€Å"Ýñ/³Ñ§¥e³;I,Ìzúê|WæŽøQØ0 €í߯]ÿÔ”BÈå5i&×ïÅ_€²]úc±®tâ‘•² Úo;Lÿ¦ˆßXîr~Í™•r2®PÝ"¡ ²8*r‚ÄͼËWzxndiµeQ)ø·³6nne1\Òå1‹§æ4»çY˜DI+‡.Lç¼oæm*ÿîc,µt´Û&@¢kã}¿ÿ…ª‹m¾Ëº·oáÈ)ãžYíbõ´Rv·oŽw¨ø™±¹še»šÏó¯ˆäæMûYh'÷33]ðtLqK¯yÛI}]÷‡í\¯¾Á…Gw•bA†ýVzƒ8¡ÍQ¸Ò‚óƒ•)R&¯ò¬}¨aµîœ|ëN/Íc¥íŸ7¢P°×•§Ý$~ï¥.â>§^þ)a©þú¼» Ú›á Ÿ£]o}åÈõrúuÏú‰¬b&$ç2 ´qeâ"f.ðÔþf‡*¶þ—ßúZRÀ&£ê6ìò\¡‹ârZÈðÃÅ…ð6šxÛäÆ7QÃE—R#PZí?F5AÔ@î3á•¢º²ÎšQýÏK˜Ö.Îë]Ÿ}ÛmšÁŒ·ód«‘åPdŸRiý/þnù§£Æ¢F†·«bˆânÝ¢/ÄŽÍ,òya·,+ã>Q¥0ü¿_ sjå÷ir×_öšéÀ¿ïp”v0a­ê2´.(U¬íÃI¼~÷«—™#êv®'¬ÎGÀçð°…Ú¤S ³uñöÕöxÖ¼¶z>]¥"s:qèÙÜïÜ^’0E”YýK¿HOË«çÞìofMΖ@÷Ù×í›<)lŽŸõ! ¡¬5/Ž®N€…®4Ô͇>еq$q6ÄÕ‚‘N^ÊØwô[GñYÏt6;= ÛÊØÕá¥ä „R ð]½w:,´»~«£qÙ·/ÍôQ|VÆ->Åüah£HŠ¡-•Æo TAНÀ˰é” AS‡:k=ºw5ØÂÈ­ãß¾_{\ÉÐÔ¯%§“óM‚Úœžâìžâ0]Œ IY,]¯áâŸÙ•t«j«Úÿ¹/!Ô›ù¤1<ÂÃ[©ÓyÛÊöyít<F‘=²3³‚¹ì#k3Eæî¿º âW逮s8[:šî „Gwh©¡w¶<Ü´˜f¿Þg 6Ù£æ®w‰œ¥þÇ߸ìä½]Pâ¾Îâ1WAª5 †jS&0œÉŽGK ©»OYsÏ`Kûi›Kƒ…,Ûêê¤ çæt—Y³]Çnf7—Û»ÄQ#ÚJ[¶Í¦eͱÿD:!ÌR÷ój;Hí›…—’QåH •ºTúŠ[O*qð`4I&ÅKYza­Å• –”žQ¼Ç?M€`Î8¦Ù"05¤òfLlÖ!ŸÆd%‘Ì÷b/ÒY¶ “tÉäºþ€*.²^¥ÅïqØ}íÝm‚nÆKH¸Ú}„¢ÃjãœKÃ,ÓüsSž÷žÖ—>Yþ“Ÿxνxùì<ØÞ"ãEдPo÷Ðôt r ^pЂv ˜ü[*Ãp¼ÀþB B¢8âýH”+»»à@Žº0›¯É´Ëmöâ§',¡È·ùñ‘Ö‘ñÈ`çRDÅaHËŒÍÿTƒÿ´ ®Äú©ÞøÄ×;‹–˜H"5“— R&ؤ @öû쬊Èm½Eq±ûØÌ!È© Öþ318·Üœﯿ½^-ߟÅ$¨y͵5¼? Œ2ª$”˜«s•d—*j¥ø½O]ʺüBQAìÜ™û'@œ ÆtÎfç*àáç|X‡ÐpC½<–óÿ9ÚøæªÛQ+„ÌeáPÌüŠ#¥´·ŠìðGZeõÍýa.•m[ þ1U °íÄóýBöu<SÐ)!îÝÆ•qk .. _‘Nž_œ?}ÍÕ}¹ðvq SWÇeÖ–Ô‘Hõèo#¶T‡Þ©q˜ó~:u°zý[‚ƒ—ÿ3#v2Å+rsÙùœÁAª& š²”’ Ø©«¥X䩜ÀR:tÖ–1OÚøFhzÌŽöØz8=YÅ©bAaP5¹)O u–ÜÿTÇ…>&”Ïól~‘6^§n㾩˜f†ñÌyßdåN­ûóûoۉ׎änþp'ÔVÙÚʶÚJÊDßE›¸¯øYjŸp__ñJÜÅSð]îøÊ©}Ç ;9Jüzþtô|RQ¥Þš¯¦.U¶>˜<‡Iðg¢jÿ¼-í)ž’‚çöðj>V ²š…[š‹y6Cá^³·’X÷…’…pÁ¹–;7Jy~Þ£Ž øQ#ªˆBÕ›"нþ^l7óâvoÿÔóÕ¥ÕQŒe éûzÑ<ˆé7ïp$Àn´CC«•F­Êui$HyÌ?Î/ƒ— ¬røB„Y_U2³H¤Ö“Ñ5ºV &œ¼ÞןÉ}'Áþcþ—2¥)•9çþ'êŽå —j/(3¯Ûû‡¬Øqp°‘Ú8<­=mo.`Œ¢IËW¶š‡“bо^÷5¹ÞQ·÷@ih¯ßNªÍ—ï×~K4”¶ÕÓ‘„QëÃqQ†EQ…rט¿{Wìõ‰âÝëjÇ»ÿäø“ÞåuUOµÁT룙DÇ/ó¤÷቗ƒ[JÝ@”@0A¶Zq¿œ=êˆR¹Ìß¿Ž:ëx»Œís{Ë›ÕIa²±Q‡$ˆE•WG_ä}Ð ù@éä鳨±¿ëN{el§Ÿº^ÖmõŠò=y-wׂçß{qÿ‰›Çææ)*Ò÷N­ƒ³_ÇàÆ¶P­•ÁK”€σ–{ÖÁœü|†Nƒ†«éc˜gßï¾´]!}䦒"³uäã r™P±%»t¹³¯jZ ÿîª%þ…ñ‚A“yz^`ù£þ‘V?éä¦Ï¯—ƒÒ…ÜntóÉ‹¿#ïêQÕ±‘.öÔÌD…&–#xÒM,KÕ$6µ¿ ”g”ÿ­Nþ½fdu÷A¬$Œ`ÌéðÎUQˆÈ'upuŸñ¥¸ï]Œ(€—a%ÄQÿö“¾©òW(Áòis)½äwíUê¢ãP´H¾Æ¤Ë1'¢ŽtŒ©1“$Æ¢a¡S+nÊHûv³ôsYƒ l±?;‚SŠq(Ñn§¼5S»«ò##÷Õ?#/æ–þ4ƒJAƒ§Âv æ¶Çy],Ìf p=¤¿Ö¾g ޹ܧô‰°éŒ´¥Ë¯HF$ ì^’ÿaš%ëxñ,ªÇ†–›LSV ´11ÿTG½ÖUÀy®›u,£»GÏaZªOWH£†a'feˆÈfùY^&}ÉÕð{‹X"€µ/,pÌ?¥x(úJwÜÖÝŽÀˆŠ`±fV@OàÕ¤­YIi‰;¿eRýqEV²ÇB¶–×%5²â¯ÓRˆ ­–Xr[H—…$ƒÏ”ª´Ûc›‚§áˆ=aÇ[ÛúGRÃb`ð?²h:Õ3pZŒ9ÙÔñG,Dº¾ü¡ÂŠ˜••xÝp³o¨‚ÖtáH_ŸÉÉè¹\lt•ï…< ï¬,òöÚbßhu¨¼`´jµ›‹Ýªz­„yX²!#-K«ØÈ»™á˜°¯øEm7#úu0šuBÞ¨˜K}3åz¸,×g/"³zDk¤!ýwºhÆÙÝ”å%™8@¾ÜÃ*©t1€u„ètÒôàã¼Â£bydÕÐw´)¤Ú#ÄM^›ƒ“`5޽šcÂÆ ˆÝ¿r’šmdò³Y®¯LÜ,Ô8 Sp=¬_h —ý¹l> Zˆù\_Z ®0;YzRè÷.%8í?º­žïfïÅ=;·mÆœ ^Ÿúÿ¬Y‘‹zü‚¡¥¤S;:MR¡`ŽÓP¦ôÈ%’_¹/?Ô£«”îu=væ(_^vFK:[ÄÿÓL)ˆøEÃdi .7î÷{g¨~$nì4ùù „Èsúó>çŸ3Ã]@oS»žT:Ç¢ÖXàv°·ômbÒD¼c?å¿›§‹Öcpsˆ¯ìK~n»ªÝaPµ øxdZ›ie'5ÆßØ («€ª®ÐêÖ o'ØA20Ï+ùÊÑ f0j0ýƒc´½_#ö Ñâ~ÄËJýswÕUO5-¯–`bÓJ8þyÛi™mϧeüSž÷¸¨F`a …¹½PÎ bÞOàÅü»ùð‘][]^ªÞ£wºšúlÉŸéPULv“΢zšŸO®ê§.ï`+„,ïÙé ËB645Ò:ýΨ69|ßOv@,ATB‰¨7P¼‹ŽÅåðײ÷üš¢HŒŽÕ…LÐ=`¤v+Üñ‡;“½}m{‘ø­ë|çìOåÅøærhäSÌ¡èz½×[´¹`ßË×ÜŽ²*%³¾>j,˜@Â×ó:;ø3]<¦T„x¡'t/ÛÇúú61±À¾î2÷ˆzŽÞZ€l,xnȶFI^¦|U<õäg¡(ÀI—Œ'ÎsÊÀæ—ë~]Ÿu;Ʊåy;X2ì¦yŸã|&êÌN &¼ØóùÄ=lÖ=ÊæÊÔœtÝÅ¡ÖÇtuãÏæ\Æ®sãàÙÊ)#£0d°á…Á¹£V¦‹é2ñ†8˜ :#í7 fM—íÐùp¸‘gl ?x5©Ô¿ÑGÛ x‰·ä%÷Ÿž€qãŽ[Ž W…ÅÌfŠUÎ狎¶Ò«r‚m}T]þ¹ãŒf±TÆËs»œ„"~¥ÔhñFÖšg.3´L¼m„Yć²ËMÈÞÍ{çl†Ç t;´¦þGË&çóiJÂæW4Xò‡;»÷îëíù""ŸudCMîûÛÛáOÿ†K“žvg2™9‹Á)¯“ž†µ$,- â ÞV÷ë·6Õ’YÈéš²ƒú€5Ny9bÝ.ÌÇиv7²5îzx£*ª#‘í7-G _ÉEkcý.¼l£“ª{&ØÜ„ ÍiÅ­ É —c£ýËËhdöh-I¡™ÎEêšIü­ºîÀr±ƒáâpu|JúQ`ת»þ#:ÝOé“#«üß#˜|Ö¨õºà€GŸ•­‘›| OÃïD¿çœÆ%»d/Däœ fúªâ~[1‰‚A>ÇyS›¾Y x³:†±'CWB/f< ƒäô\¡ÎËL[R*ñºés„ëç›ʮݘ~<èô‹ÕC‹ äÔ~ìɧ„¹<éòz ½–ð_ n9oƒ÷m\¡ Řˆbt–éÁöÑéáÐðý÷™?í³ÜùÎ&nOx˜OqÓ‹Õœ•wÖº=¦wY#`«¥Zò•!¤ÒFù Â|ñùÂEF!ìL_îÈ… •k\·nÓ³îæZÝÝ•¹.ÙAv×Ç&qÒTÚ~§Ùa¤5†Œäߟ'Õa*Ó|û:%—Ì·Vcó2gΛÿ¡‹ÂŽamð9¹îø? e»§¬N)zdMêa'³|ÃélVËUÄô· ÝÁpZ]¡¡y=GµÈˆb°ß—Ö7a‚7ºÞH9[67ÃÈUYY“ à õþ+ow”ø'×ÖZçÓd¯îÖ‹Ú‰ê4K:ý‚úŽû®`.zóꥬû;qoí–ŪûÃé(í>¹g_L¯Yí¯Žb© —L!ÊÚŸ™4°•CÜŠÚ‹A,¿e‰™)ú®™<ŒG=ð­³Rtób„ýÌÌ8ZTɃU1h2/EP€0p\õ*ë%ÐR`~Zá·pD-©¥€%÷Ÿé¶z¿¹|F²µÉ,.«çSW»ƒ¸FÄ›fHÀÌóÔ6í þ]©˜G€ÀßqÛ?ÝTË@ì!E ¡ÎDZ¼ú«¸vÝ~‹5 ‘7WuÈÀÂÁ›™X {!£ªÔİ‘Ùi³ë"Àêê¤D^LI:›7’¾Šÿ?ˆBR¤Ï™Åþ™ü66âÚâbù.›ëË•`"hÂ~›ß$Â˺Ì}rÏu©EÛ¯—æ%òh‰VŠ=W±˜ãĶ/ÞFÙ;äjO–ïóÖ#•Û:]Ùnßö^K)ˆGcË 3a¿oóµ¥! ÜæMØÐl‘~rGhü4 •jK³õZEŠEE;/@'¤È¸}»ø}LBùX¬N/› ˃ŽKW:q‰ý.pÅ\à Þxvt?û=É}7fªaìSg"zª†\·Í)¯á‰öçmòjü EÜÅhuŸå*w:P¾ý§SÒRbŽ®.*nÕ Ùe”¸e³ÏÇlÕ?º½?N R1*ØðÄÔÐ|ì{§‘+ +§0ÔE(²é|œ3™ÅÛìܤ\I@ÝoÉJÍ|!qŠ˜¦å!YîŒKìÈŠ[²óª¹0K‘bXÙïi³Û9„@+dŠÓÔ‡›“³RNYïKÐâOÒõO°T ¨—°þi”höUJÔªcŒqGWáܾ3älб¯Ã»PŽÍŸ€®s—ÕëU0Î ºÚí›âÕs {Yk ‚S6÷ ó¼u?H¬}‰w†5Ê“G±Ã€dÑ 6”“¯©·«ëJJ:©ÔÜbÅýòƒßFÏ«W-k YŸ·ñfô_UC ¾VBJ¢NЋáÅÖZrrOSɼ‘›ö{K>·]IB”•løéü²àGý@Ü‚¥M(Á‰´¨,Í’”ûÿÖ°9i4ÿ¾}S‹‘ÏÏAf§­Eù~1ž%÷âé\-ôž‰`»ÞÂ`„ùï>ÄŠ’¿™%éQÎ §¹ 'ñ‹8cph6ß ;Z#»S²¢Íbv1 {«6|=2þ%fÑl¦ë„ÕÒþ>¬zd ç„%5›\½Ã%3¹häºÝˆ(ÉŠß“ÓõqÖÝ÷œãº‡ï.}gº¿9G=º^^ZÊJ>Úêr|²Jyëhò oQ‡.ÿ«ú‡õ´|:½è?ùüëÓ}8û¢Ÿ…v}mkh¹B¤'²Û×z¤Ê:ŸùN’¿B ýþm]¸l¢×ç;BLÉsíp•îóÚèE}£ìÜDó"þâ#8.À¹4ËoAs’[W.åÙ¤Ý~Ûþ×w^@®ˆ¯¶±rçž4‘Dßÿ—û롪ýÐj´8}Î}Ëâjs8O¿ç¼w»ç5ãÛ6àúìê‹sû-PVáô ¨ FfvSÊæ¼þŽ*ïh´_îSÚv!kË´=eó$·)ì+:Eå‹ Èü©îÊĨ7Ÿ]×_¼àÙ%íóžWÙ$óÞ TîH¸1*ÄMðΔð‡qd%ƒ‚—MQè˜*Îø¬x€”ãÚ=ÐqÍÔ‰8ßúºÑÑ;!£¹·ØÿM ÆÇ½€½µþÚ&hÑÕNÌüwÏ[ÍÒP{ÿøä¾·¸ÿ ÃÊXnÂxå×õpk:Ó/¿³á}“M—3RA99A½ ²ü£¸b}ñøI/âI¹xˆ‚ÊüôgU´½n³o;£LÙsI81Ec +í$?‹ûÔ›Ì#¦)ޝ¶ë/³ßæPD?”÷¯L𣶓¼ ,©Ü@#«¼hŸÐóôR£™²¢-_äÿr˜lI•Ë=øc7õH^‰ƒö\a¯’T>A eJ»q«wÒiï¢;»V³¦—œrðaY ³.½7Â=y@7„µUîq*Ïaæ:W¤zW$ë‹úà÷ø4¦ /ÃÖ­¿VÃf;È©[úoÒ{®o¼kK㎣ ,食eÏ©ö– ˆ2`Á‚O”‚ñ|.?]EÁoõæœlî'¢­Õu`É bжÅ\G.ò,C”ÎcÀ"º%ÆoWïû »•þþd|ÎéôSaÖÍÛºg ·ùÄR²x[1LòP»öüM[_„ 2!ºÄ@µÑÌ•d]F±òóéIZáÿMnJ<5çµN Ÿó¾gZi倹ö™EÈÞÓiI–K9‡5öø4Àæ“>kùÉcßV®ÇÝœÛù=h›VE~n{QÃËOƒÝ,ÁL£Øß–Uöða‚¤ÅºÙ¸^j¡>­5Ýpwc(i'T$ýú¦ª9nbäV›ëK£Žª#z\þ]ÿýé“Ày¾ùÝ¿ü¼ùå$sl´Ó³û¹U3[Ç–m•\µsìØÏ|n|¦uý%æ9ʽ;—S˜+`l–ßqÈã/N¬›i´©Fo‡ëBZ9q¯ôon†c Hfñê€Á§ó«ä{—¤üQk¼iå–ŠÄ,oà+ü\ÿd¾|, žõ÷Õ†¯¤L¼1)àžºîyÖÙbPÑ©Ìyõsƒ´fáËíŸ}#é¹¶’[mkyÓûïºG5òMÍI*@œùµà'—iÂN}§³þBJ¿‡I«¢0“…œtO?ÆÂú‡1¦¢¦EÉ ¼‚‰õ³Ö Ï^ئ¶…ò¾¶\1¥Ì†¿.Ÿîøgáìîü+û:ŸÛ˜ÔÄ´EL9$¢W€„ ^܋Ջ‹z¸áÁÝ`‚(Bd%½´êŠæÝ¶§l6Ù…~±ëÊׯæ‹ŧiðþ‡rÊñ*Ú/vZ7ìu÷¥*oËa3KØ2Jê‡1€ÑaÏ—Å™å†a¹;Œ©oX”þ)" Ùº_ç9Æp HÕߌ„QÛ¹Ð=TˆÓrTlÊþOdÏ—•U–•IÔ±zÓJØŽ·ž±…à 3"ˆbÙ+ªðÊ5õ6"ª¥__ïùÞŸ¶}TélúVf‚øŠÐ—r¶z>O”³¦yžBηär¤â'¨‘}¢je/;/'ƒxÉ嫎6¸–¨W ,¥2>N0‡»j`ý۾ñ­²Çšós´14>¤ÂÍq^_[#:Î#Á@]וQgx…¬ „á¼wL¼Y`”R•0]~è¬vèÌÌE4áÏÃoª¢år'ÆßaÛŸÌÄ;FGF˜ªyÊ‘Û0Æ_¶˜³—“Iõ‰Øù7,V$ÌJ§zœ…ÃK í2žX›sÇO*lI ñ»‰„NUÕøÀrg‡wïõÄë£Ê4tŽ»*fãqQLÊ»]Dz²y÷5¾€\GGç$ªamš¹›Ü»ö ®Ï‡‘®Æ PÎ[4çy*Mý2¿œÛ§3‹¬’ÉlÍZ%4ºòÝ#”­Ä{Ѽ^‹8ö^6±–Rþærsºð¿ÇõöÐ ù:$â?a{¾œÂ v×?V ¤`PÛ¬;|?:Ûgü*àï¨w9žªÑ•E|¸^Ù¤²Çmcë ý`Åáï‹´”êá—ðáLã1:eWd›ú5\å;qAD~#ùS™.k5(ÁÃ,0´u`YF£Ù%ãƒñLC´(’¾0.\VtèÜîÏA-¼xµy;â])翘É}™9©d¦’Y(2nÛÒ)“^éáWŠø[Àò¸åÒE-'fP\¦*ºm¶Æ!}ÀÏŠtB_éÜ+¼³ÚÑùºÖÊLôfš@ç£É`uÅN!—á¥Eåt½ÿè,w¿HÅØbw}FF”Ý<Ö‹f“»4ÂÝâ¾møø-¦…^¸ßBPûý³Á—Xöîš×ÂTg¦ Ë,w¾„…i†Ó×S'hºRD¥ÿnCàÞ€WpØdB‘T„\ˆÎû§·Ð–¢r$g:AÄè†[ô·ñºÙÆï ¸µm±P•±3ò÷ÊáM‰¨Ž3û?ÜíÁ VãN„wÿ}]oŽÏB‹0âR¶–PÑ BÑP(óñçÓ]Ÿl Xã¾±Ô¡åÝÙÛéÚ̑扴ôÆõ=ÉZ^¥¼H(L&ÊŒYåš'@ú6ú}…©€j›“®;¯‡zvF[.wãì(&×EÒÐoÿçɰ^Çy•[q;•½šÂŸf©M`æ¸fGpÂD_7¦ ÛÉô[*“oj +‰°¸nn£ûN6}ÝÈ£rF%ß!Û“æb²Œ“¯àý -‘ö¡[Ÿ¢ 2 ²¦â쳩 Ç1âž“v§úºZMø@ÉqAå¶ö€êߨ“íVvè{@Tí®U\(Y¯Á4®¶,R›WðAZ:Ó=â¡:žu´¤Ú\Ÿ›ÂÔÌÙ© '`”òÑ3~åR@2+ðùÅÀ„ê½áå}äÙö!ºÃ¦ÍÙããØ€zd³i£v4à¶EêŸv8aØÎ{8r6°ôZ—ójmFÐŒ¯ŒÃé"ØUvzª©Ò%P™TEE¯^«$#‡F¸œŒÄÏŸ' š\d»«±fù´:¦ÛïÖ¢¹âˆ¢Äi$e&+ÑP$;Û8¨H‰q J"lME®õ„—"*,WP¤2T‹/}TCÂå•7èö¯Æ¢;|ù‡ÀÓç0EãDÿñ”]éT•$¥7’õY"qÍÈš¿µÌñcü´æG£‹iºæ ¸ãU¤‰aÙÌF?À¸õÏÞyD5+nÉÞ’m&ÅcýTÝ> 7æ¼ 4ªÿqN…á\÷ÏœÉÁ]×@笕ўÎþvŽŠÎ%dŸ3¬ ׯÀ*A`vîMcЖ3ö æ¸ ‘`ùžS n ¤TLqoIaô1˜úVꦖ`—èmzm\ØrôˆF²:]\XÄn&“ìlù§ýeÅíèÝO—Ý&K¶`š e8Àㆨ!ç‡ýi²26`I`Êx~žtsƒñâªr×AÌG®Þ¿º(¸Ñä¿p,ûüJºeó†9]ç%z ÅõHJ F'Qj0€ü’ÝfÄôóWÒï?×*~e,ìhÓŠü†ÊSÀúOа@ Í›:ÒáÔ¶)}YoWºÿoÔÐç™.ÞðÃH˜Ž"˜*.rH àH=ÍGà …™CÒ‡Óeû˜ÛÄ>©„K©>Ë Ãø¬LÒþˆ^‰*¥ÆÝƒ¥æé¼ÍL¥n¸fö±UbZòÆ×–ƒŠüø±Æñ/öC¸¬y~t`ÛsSÞóAïƒîsÿîX*JØ' À&i ÅùÛdôîÜ…J.äÍ­¥óFŠ$ Ö趸Ð'å¸g±óÙÿã×uOkù2u`#G~Þì“s„AŸº¾ Wz†qåyu)*°™ÝÃp1ESì(ØëJ1 #Dîξ¥ÜŸѼ¼°Kâèëd]2ˆÏ“¿ª÷‡ñ>?-¸Ñc÷úÏ€ÂY§¹5L»ü²÷{Õë5.w1ÔX‡„{>Ååñ"JšlÊüƒ”T° p6tŽ›?Ÿí«ã“ybVŸ¼b‘l·ÈQ6ícrä÷éò®ñBnjµ]•µ`fë3ËÚlcüd¬8J£A Ø.Æûk‘ã5ÊàeB=¯>ßsÄå2¨¸:iœšAhÍ·Ñ&þÉÿ‡ϲÀ€éçΛɻªé¿…ûfHÊÍ:wîʪr¸!U³}˜&2ÉjÁªÜµEßYÕÛÜ÷8¦'$NÓ%[ }5-N]º¨ÈñrIŽÁúSˆ8#q¹ŠoÁøúûêËvµÐæð¼mb™E8ŒÂtV t·‹/?ÔÆ\Ÿ«Ý”¢-ÊžfÖW»$?™ e×¢ÿ£É@àÐþñí×]¿aC}¿;|;9KóZJ¨â~s*&èÊ(2ÎY ŸÎ¨ošðºD”'½³†¢AJ¸ +ؤRÚòå)…›Ÿ…$ssÆÚ^Z0ô­ k¡÷*-íz 1Ð]šéÎ\¨^·’ä}Y ÝÂJÿ“¤ìràp5å?Ïšå8d‰ÆH[u ¼¢Šô!«¨BÙhhÕµ5HQmUX¬£$¥ zÎî=kw»®i¯‰âuh¶ø€3 ÕùÎ5ïAc¥÷d=ž Îr†*"p´K5óiP5kþwœÛ)ü·‹áÕ÷‹Ûx­äˆ¶z±–à´V!ï‡\QŽô½öA"ûl4_h»å©€½¸2:·Çð¾èmqD³ß=™THÔé"t_Ø1€%? Öj81Å#MõßeÑXˆ.»Ì1æÅÙìÑXz§õ/žØ<¯¸´Oó?`ýªVk~TØ’ÞáçÔä…¡N³ÔÏxIzš`A… ¢©BЮ ň¹§ø4RlÑŽ™ÔJä÷å½âu*|ÒxÛMd*mUŒ£Ã|êf·Ÿ€ƒ”È'û'ÞF5´à Àí²Tu¯â,p=ïÝÞiY)˜ŸŽÃÁî‹|®5ÌCxr’‡zÛÍ™c>·d©Ëª!bû@OkÔXÙ £Y‰7ƒÛÇ«Ìg“†úÜpŠ-mwëù%®ìoÉÜþx¼>bÙ}DÀò“xl#…v Í’Ÿ‘åt×–ç䵺QL\m{Õ¿j¡ Mýó¥. Ÿí7JTËPÞ9A6£øüBò§Ëp$êLñËÎa‡I©çS¾:d_ƒâ9M›¢üXÎgó¶JŽÃýW2éw"æß ™ áʧkS©õ§íj ¤3ä TWd œ8Õ$?Ç×À´;åùÂËãàáúV Ç“£x²[xß;èÑ+ú=‡VH5B·Í&d|ßÁx eßÓröÀ·èuÏ”Cÿ/2”y±JéY÷$ !røc›ciޘŕ‘‰€!*4ˆ.ƒÿ+v/{zýï=.;çrÇ8à…bZw~‚"9EŸ×;.õ²„±LÊ[ÜÑt`ÄI¤š¼Û´éZ·¿0•QÔ_O¯p•§ŒÂáÌŒË>´\,Èã·¥tg:tÚ„C F:ö¶ŒãLÎ×ÿ̈øDÄ{~åðs|—¡k­Û¡û}^¿×ugÿÊßü_õ®ÑµäüPœŠÈææv26ßþ¡¹Ê§ï“r>ëFe†¨LŽ}€šò˜—TÞ¦OÛDö_±!=¨oBt†pÞúížRdýöåĪž^Îù¿b?Bm:g8@¼zg‚-ÆØJg½vÙ,1¸ãÿ‚¶ÉwzŒžóóÊžÕ³£’÷šo0Z¦NV ¤÷zÿ²öx `¶(ÓF†ò:Û~üÛGyòOuúåÄ0tºµê[_;½'^Å*ÎÖkº1$ݱ{}kà#hp¾YÞF¬ev"è~ŒAðH"\Á ¼*ÁáÅYo;?ã‘_ÔOµâ7yÜÖ( ÝJЬ¹M|\&q¼¶«f÷©MÂúˆå§ÏHÛNBš«Zÿ,PÔü ÜýSûma8Jþ}=ѳýëåñ¤Íìgs쩵êúUãí­_wÀJ(ñè9Q™Œ™2Yí.›`/;Ÿ´éÈrȹ,)Ã_…8+ZÏþÙ_[rç`¿>¤˜îDþOÍ'¤Hmhç D,€ÒiTŸ@`G8©x^±WÒ ¾{ï!ûäØX±€åWXƒRõ¬k—MÆXcÉoOÏh½Ê³0™ªV2Gýóñ2èK±»ó°›ÕÉùîs§Ö çOáK®@ÙÀlsóÿ×ÒjŒ<{Ú(¦€2ÌQ>Û·ÎÊ\8Ãg¯ ow÷‹ÊWNV]-’6? ½{4yÿ&i"¯>K‰âß~)â=ð½°Î³Dvƒ2)2Éã¢c¨L(Í%ü?CØÄhh4¤j£Ù¶ÿjµ N™¥Ò5.}ׄE /qkßûCˆÄ›>Æ«ÝÌSTþ5ÜÄvÛ ÕuY’±·­GðÄ'G;¬?ð‚K rôªÞL'{s¶)`Jˆ"ÿ‰#²ì®Äп;{:æÑ¥fHfO¤»NÄ$Y–[Ì¿‡Ã„#ãþ.C®©6 žfÁ”[)7"5Ÿ´*;L¢ö¼ƒü| š†›‹mlÜoõ¹ ^ˇ¼õñÉ ýíÜÅ Ùl»wØ>—ñß30Ÿ±ü”þ¡%á·`©‘ǯøïqS¾ ïBŸ•SRC“ÏHv«IŒÇ –®'4`"GÜ;GÙPŠ….È“_ÂȘÕrš¾ÌZA § ‰m&ì4éýf}½¿Yþ'¥=]ðÍó°ÄáêkÿÖêüRçåB×Ï¥ëÇ;X‹#ÏÙ×ªŠ§®d,Ç£{Y€£¼OÆ AÛ`±¥úØqýoÀðvJ…†dˆA¤h iK·“ïüÕå±´¾W¿B 2šGM ¶óó% NÞ§¨Lž¡J€—èhz¤/ä·+,±_(ŸjQ|n¼œ#½&6=~xŽª¸Ô f!ÅO  4<ƒè±pZš“fôkÙØ€ß×1Årì@íï’«• ãþ ¢cä æÏ 3½ClÂßî-;¯v†ˆ½·ÄêNEÇs}|îŠ;Í“ï¶ 25h½¼ŠûK¢i É,' /ŒØÍÓ²¿Ýû,ZŒ¨­ l@½|mí´VjQiÎõhhïªíçÌ øÎGªÎ,¶G«Á®wΕÌxt®¢:îÒŠtCóœÜñBodÒø©€ùçö Ø}¯MæóPÎB0¬Ä/j³ÁéV†ón>yô¥ò@ÌgÈ2€MÞÞŽD‘6ÊJDØ«DÕ2ÞYÛÚÿÍ j$®éÉ®i|Â;\J˜:é ômÂfI«F©Œ_¥,kîB•2íp­çö&î*¬ëM¹ÃõÜ75f÷ŸOoßçsý©lˆÀï>ÞyrZ–Äá‘ÿS›yKR]qö$Áª–ódˆ^K]rW9²ýt<Ù“`ïs~?ŠD¼üM±à¿æyê†ü^Àhñv´Þ œ^ɵ—/ßo¦koúmú %WLÒ2B)P¼~Ö0ÍÛÆ0ùñ¹Ó®7„Œk„ò# x¹`3;¡€íæQŧC8©ÏlèÒý xaÚàX›t4áR¸Ò‚ ‡‡w'ðÀ±×©ûáë×9Ì«;û—"PãûVenhC•UUMì'®fE¨±ôJã¾ÿ*ãî¼G˜ “•zø\_MwnÅÚ€Ÿ&{™Ø#j$·©)|"÷F?‡•é]õš‚"ŽõéMâㇳj ¿´Ý£íé‚k ï½®ñé_iOLþd&ó×Ò†n©åIS½èMàŠGz:=¼o{ƒ›ÔÛu@þט|ØÐC#\ÙÍžqêI°›×—[ OŸB‡í¥NÎѤŒZØf.ÐZ–Ùäjxm:e8ö抄‚ÌaÒ×¥œ ¤®iöy,aûœÂµE]3Øõb•;0`ž7¬(C4ÅœêºpŽ>}~¾Âù‰ü¥ï[ÐíeTXü±®R¹µºËO¶{*˜”<¤ûË €ÝG<ájÄŠóçòßȯ#“#ICçï®uŸ¡Ž˜c‡yð.¯ÒÐÖ/f0¾_EúÔ6»;o…V¢RK7öÛKó’æo1³€C㥻»V²Dð¶ÑÒºìœþc*wøÆÛœç: ÍÜr¸J»Ê²¡ß•ÕO¡bŠ¥ ›ÜD[sqmpAUÌàà³µ‰Lœo3¹¦Èå`3‹>å$MÖCžØ¿ÉŠ)“f­ Èëî}Ô×ßÌß‚tÌo7Ã/˜÷)ýjs`eé´ Áˆ¤À¤(ùÜ‚ø¾,?Cââ±,¼}¶OÒÖ'0ŠSiëÙ¾ü˜$Ÿî­¿ûhn è@ÞçvE8Y©ò3Ô±ÉùÓÀSŸWY¦ gÉo°‰¼Ç³ övQSÓRȤàm'$NÝÑÛ.z_+X÷@gÌ$ò$×&‰¸Ú¬³Å}{°º\7M`¾F¥W ¸FN5üF~ÈB ¶Ÿ¼Ô¤Ë›&œ¸·>èÁg¾ãqä­ý¦øûtÞQi€ønÔYÓÛ Ë›”†¬ÃÙÛC+êý;qB/$Àk‡Wé6A¢°Ñ0«Ñ.AzftûF˜YW € ¥ÁLq5s;/&zʱZ+Ù['é]OÊóÒÃôÞ_OŽÖ­5zàtÁ+évÌæVÑ&~y‰Êíî,P¶®`R Tƒt!id’rE)¢¸ËºZ AÂTã»gÑ*Û@{§pC¸ÏþÍÏ~ ¤€DƒJ!TÏócò­i¬ZŸf‡øÎÎ3îñ¥!™ŒÂvæ3ܸÙÁ™Øf…ö Ç‚D'bQ,AšÐZð‘­àoÈ—[<â%œÐvß‘?´ÛpÕJÝóm–Í.ÇËÈ—¯î¦5†ÙQ&Ø[üîL¬Áy %¤yd¿4¥‡ð”糩¼Š¿OSs3a¾<>–]Jf‡ Êný&+ß:œ_—»„¾„çÉ4³)«ñì9¹]nnÖut”Ò<ò3]Qdú*z Ž>³$1p%»8:Gcþ#=±DtÖg/â6ôgã=ÓŸ†Ø±—ûn#gA?ž¦~˜¯º÷= ì|)ßRψÆÖ¢ýö€öâ­ü†*®¸õc+{ÙÇl?Çø—XWH=Õ½Õ˜d˜ŒÀŸ¨ï+­`‡ÑÚ,Š'09ÂìÏ*»úW¨OÞr1Ìš QÐ5$_ߨДNÁgsǨG‚à+‚ªør‘F¯®%Í:"z³…îE3ƈW$ì~B*ÖzŒ½ìÑÊh ÅÜ(=ïĨÔ\g<-*He~tºúÇËïs¸V?¯»€ÍDÏuuÀÅ›ì‹Qó¶¿7*–6Ͳ NkÛ˜D»°íCŠðtKÛ8&˜ÚOÝò¿¸Ô(%¯ƒ`„]¡Œ’˜nàÚùGxd˜÷ñÌ_ÈÎ0bÓƒ^0~t"£•Ö°@§CÿöêbP÷̱Sƒs~Û»•§¨?Aµø{#É(ì_59ÏÎ>Ñ M °k, ÿ/Z½Z=\~7M6 ÃÃ^íN Áé—ÐÇÖíOqØAÀX‚<ŠÁå ºE’#.êTìÿÕ8¾,1.&ªÇ}Gºõxòwf' _^ª‰\§Aú­pÝ!î>?/ÄëúàüòSû›”¡T(:Ç<§!1P?¡·jØc~›$LÛÙ6aV•ÃBtƒ  ùÉ:·oŒN´)ïùã~Â:2ói|¼3”Zvpv‚z¢aQÚ×zN®¡ õÿ ¦Yð’mðáHpn8†rð÷3´}„œPŒm Óà0‰ØÕs–òûzî 6˜<^‘°;·@°Ð9›RQ—±½ÑÑözQ{%Nì@‡9¨ 48ŽãŸ º|‡ *Z)¡„ÚÌdÓ–ï ·9wöºž·¬:-<÷ŠkOQk6yáódíÔ&ÇöâÄ!®/'“š0ê䆸l@våä¼®¯;ÕÕgls/ÿ/ÿˆ±#kî×™˜íWkb¶áÂpš'´h(x¥3m£qè=Xw¤› &|Îb =ú¢áÑöõ¡î8ÅSìÎÀŠ!:þnƒã8š,‚-`Y ªËwdbU…¨©Ëwêǽ÷ÿE¼vàè¡}WoÆ•©/&p‹œf]&_-¾´uLϯ~º”+©Ú‘•e$ k¬"‘[ LH ƒ[-ÔÿË^QèäÿI˜ppÛâÐ*lïW¼{{wÃŽ¬9ƒU½ç¦ïàF!ÂÇA°°€…l:â‘SC£íÆÇq€?þŒ7fC·L£áq-¦|ÇšíìÆkïoÚ-جŸI˜ ·­ÛK4´b9ì´~¡¿¸’ ÀÙCzlkzb­µ\%®TÔú©ßÚÅÞÑžÏ ÏýsƒštÊydOÚâBXœ³é#5í*ùÒ×ÃßpŸS°ï üõœ4ÎLÄщØ?äe´OËBIËÅT…H%d:BTtµË,®bÑ4af^ÿØ3qÒúð•o|ðѾ¶uü Zœ°áÓ÷V%«ÀgÁÃmïùêóAT›×.\y¿~RtÓ§~ÝØ¯Ú”¥rϽ×öëxì°-YëzµZБP)ØYO8k¶Äæú”\u™î¼k¶3”¢O –¤Ô òGÐÿÍž6$­„úKCe¬mqhFo7Pt|§ÐåºæHë²·^—X’Ö/>}^xÇãÈ&°k)½fHw…Р±jUí=,‚ãaß&ö>ÜÌ:Ó±Jh×Ó{Íßæ§\¿xì굿cïÇäThÌCÒηïû£g,ìë§ ê!·–®XõK¶6`#ÉI¿ó›8hÑä&¾–ÞësT ôŒ ÆôyŠM€OZ¼øôùœkH½ƒ®²r\ Eñe, n–t—Q âúu|ý5ÌÍQY‰;0mÜÜÔï2å;VpàÛ¡KHÐôÙË+Äʲâ⌡˜ÛÆÒÚ‚Ó|Îp}äÖ¡­S=cRbý…Ë祃Xq‡írä5zŽk¬iÓ]:æ¨6Ý5ÌK \â /¼y_˜aÒ]o7iºË(„†Ž·ßÆ;øûoŒ‰iÓ Rar=jF§|ÇÕÝ5˜¢UbJ¨-©kòò rëîï¬%*IŸk_sH@Ëã—õåGAŸGöØî mÛµÊI bëà5 Ö˜ýf„âKo<‹P&IdŠ1ý±ä>o_o2‘IwmiÒt×!EaÄ‹@AË:,¦‚§¹ËwZ „\ Ÿ&hVÒWa Ÿ¥ÛYÆ$U8l/ß³ÑÏ·JºË¨ ÿWÀ!x–,{KC¨BK)±V&›“}§eA³|ºþ&I*Y”GþÒ˵iͬÛÖ¦»üô½Ý<é.£&4(‰&"R åt“fÁ Î\_{Žgkß…~5¡ Aš±¬ÌXjÂ#%-gh>D”PL U´¢áÿ+` £õÂ(„FÔ›àZ°l-XêàƒŒ1\)¡H%”P•tKÍ hRØF¨…QhLùN ûŽ„ªbº%ET…a Ïj&$Ÿ$ ®yB £ñ @òI ­i§¢•j²s•PDUh¿ Y â¿QÀm˜ ‹ÐË—ê鯩ݶšúZl^:]9´Ûß…£Ì-¾4MW‹`›³l8^^&ƒø½ø=‚óØz¬ËjXû{Ë›ÞóÇØ?È” WñÒ§³ié¶¼µeUNô(Ï¿ÇãkzÀI°*>HebUNRlúΘœñe¹WMΫ­ñΩòÌç®.Ê)u9†u¾S‹ðòϰû7­›h^Ä'g8û/¬âþè<Ʀ,z€.ágk¨ °þv½ÅŠÇo2¥ý¼Æfü´s9ÐÎÎ…©ÀðRXHa1‹wi'Ùiª¬ÑËæ?ßeÞzüýxYû]|ñ,M÷±ë ä³~+צµm[ŠnÄ’ìî,K¼ÑB!B§Øp#O²[½Ž¾Á½‰¡Ê<Sç p=Á0ÿé†3,½•–0û×1i,ÁiÜù[&ÖðÏX™õóîJ¦L à VíÀ´vévö'KÊ’d—JzIv¢T&™Rç”[š$"râ©,—§%Ò*3üòR›HT>|X|õÒùVfäï!p|ÁÆf§ÔåÈü×ä¬)žW‰¼p@Ì~Ùr³Ìm–hHn÷ÉŸ‹ˆÚ ÅWJKXä”Ì+•­Ý9(3ÆKóW"QÙ¶DUòe_ü„w4KD¤}³”ÖÊWý»”Ô- ~ÙüµˆˆôÊò 5VF—Ȭòñ·‰6=ò›‰òLë >" UÆ%SçF'RçÎÉÔ-Æ¿—ƒ©T¤ÎUK;~ˆ~ ‡G¯Á_Hõýüúu®ñ8áÑYÔ—AÝ"‚‰äc ‹ëqC –q'éJ±Õ€$;7ïÓuŒãGx0B܈MÍ¡¢€C]ƒû|ÕJ©¡–ÁÔ9¼¬Ùñ“ìzŒ+9œz7GâÔÖBªYÕÖ$; ÆW’g`r×ïÈÝG{ìÊ6$;-B•q6¦ÎáäºGYÜÅ K2rñLüÿ`k˜ìy…ùýcíR‚5ÉÎ<ÍÁLïn¤çGŒ‹^:IvZ„*ãìL<4>Çî•ìMìãæžÄ¦e´Ivš1£.?ÂŽF–îÄø3È‹ÍéU Cd§#¡R6Óß„JÙL‹P)›i*e3-B¥löíiÛ³i©å¹IEND®B`‚+ÇÝnÅqú_×óÉ„V·' äzU_Ïæì)Z}rùfΊœ;xj½­¯]/ønáa¸w×¥èÿi>åx™ïx…6M•³î•_ä„ÉjÍ u~ˆ¿ÕY3lUöVR•ä®ábÓ!4pÔ¥>‚Í|7‚8d;twzØÅ“0h‹üê«ç³K×i®iãÔMÎß×pzN{gNdqÒ¿¹°Žÿ­èìZ_G­îû“ά(›†²BúÍ*YÃøùôÊ¡Î>í–Põ̹ڊBCP ³2‡åœ;ÎWN M;[·k5å×HLŽGñKYÉóósåùÅl¸Cq;m¯Ûkøk•7à䈜Âz&NVVÎ`ìgtÃA ¤Ž„ÃW8ôó|råÔ_µØÿ;×óþûß ç³éÕ‰ÃÊ õý 9q浜ÐÜšákí[ðã‰C –ý ¨±€‚ÙåÂSΔNàî&wþލWIêÔ× e×V¿3-…ôÿ«[ðGÞ‚w×Ò¡æW‡ÑZj€)hS ,9¼Q÷¯‚Þò€ 6_{°/sf=:§ÈíØá“ÀÿTƒÁaVå3êe$‚¹~'IJ”xœú”1‰£3}ûÙÏ2kpÇ@ȨùÕ5|ú`>Ù>¹”Óùi[D¾ÓÓ/ ñûð-˜_NN.X¼ÁÒõão‘+JчŅ:…˽FK½ûÇÑ£ßãG"xÈiDRRî{¾`¥nÆ’¸Ò˜ÜéH~㫼¥ÎãÉ3ÌkXÃÄq-Wô¾Qïþm¨=mðóé@Ý,tYäÊ4á^yiBI"”I W%ÛíŽwKªz]Vš°l2Þ‹ßÞÈéNGÂ.grúü‚ðNQ®gì:Å¡ …'’(L îÆQ§®KR7óã”ís÷ÌuÏÝײP"Ñ›-¡‘8ôâ8$ü›ù —1ó]¼}aƒ¹¬,‹A£n;+ Šúûv<*!AFsWfÄ =º I!‰ÈÇw‚Ç2ÇW^ËF -(÷j` ä|C'³ï@¦b¥Ë²˜g®Ÿ¥^EÄ.|’(Íü‡ šñ•hÞöåºAä&ûY \€ú÷@P ò–aáÕŽ.ˆÆW 2‚N8ê %ŽˆdaÈaø4!߃k¦p1 ÃDîÆŽ ñ•÷îÐý%ƒ8“$rã,Ì$ü —7ŠÒ4 £”I—<`:4¾r”>šÕ9(AŽÁ$p©Gy¹”‹´YHzaœrâ{$ØÍ,q˜Œ¯aÒZ‰î²Jìà ¥¤Ê1hg DY ¤Hè œ™ïƒÀ⃑¾›ŽrN8ºr€v'iÞ íõò©³Æ€%qŸ^æ³( ¹YÌ#‘ø4&O.ÇWn¨DÍ*¿—·£`á^ÐT¸.èå2s=šÑL@0¸ØMÚ<XFW`y=?6(Ì:rЦ^1Jûc´U¡ùÂå‰ÏÝ$á0Ô‚’d»)$òª™Ó¹‡j±݃¶ž¼“u3·Ðö“‘¸ÊúÌQ+§Å­f®Á3ç·Ñ*§ÓÆù›q¥}O6ðCô1\’J?ò“€JÁx’’„Fp¯Ý,ÅŽ¯|>´‘oJ¡Á:vÙBF$uc7ñ@ôg •2q³€?HbwŸŠßsÝSñãE>{W¾ø˜×¿Ã]ÙÎ g ¸IÀé –Tz¾{Å™Ý$®uf€ñ¹Æ 'voêv}ó p'ð¥n’Ê8ôˆ†¾/Ý0 %¥°BR g½Oðm0×=ïQÝÒšíìº^˜DaB’( |¤4ÂM3X•'S?Û«eƒ¹ö)¶C£T T"p㈥”sšñ8ˆ„qQòpTी¯7X;0÷— $¦åîˆ:cÔ6<9qáD (±8q”Ê ~ÈÐ_»Î6÷!b/1Ò„&Ò÷h2Ä  =#'ÜIœ= YrHÇ×Þ4-j/[G FmRÄ2 ¨rÁyàme<Ì‚Tø~üpTð_{Ïè²qI[d(:„s/¥ã2ñƒûè2õÉÐÝ„Ÿß~Îëæ›¢ùîÎ4ÊJjÝõï«QÀùæªùî Å̬«6‚冞¾ Xšn¸à$y5¤.ðjæ¦q¼›2³9ˆ_(–9°þî¸àƒfîÛ7‹]8&&\P©€`PWp€vê%~Ì’˜±0½§¼±û­=DÇ÷>(BF¿|ÛTÓ©ôKŒ™ÚÔ?&EœÑ˜sâÁéñØT ˆIô°Òc—÷Pß7ítOƒh!S2zð¿ÀqV0‚Úbï¦í,ÿn§ñµ_ÓúÅÞ@åêsžz’d4òe@S/•‘+ü@zqHw“#×”ÏuOEãC^çÛªZ,–Dƒ rÃ("©/ü(Ë8ÉBßõ˜KîKú†ëñ¹FÔõÑXÂ]CñÚÄí”õDÄi²ØDº3@~g2“!h;äÞá7˳Ù|Ùÿê0´l8ã×lYÃr¸¬M*iË„»© cǽ^Q¸'Küƒ˜×ÜÆ æ3©M.Žîa¡GØâ Ê,ä¡›¤)°ÁS? 2Áž"â¥înμuŸëžŒN›¾¥õ¶Ö䯩ÜO#$\ú’e‚“mƒAöp”³Et_8hfÿ²t½UÌÊÑ F4žÈn’$ð'ð6¤að`„€EˆŒ/ ÒaÚv‘õø©m†^H‰A8ÓÔgüs*»G’Ý|Gáè‡0\!D)ýŠ’ÔX4A&_&)‰& } B­ì…YFÂd7Ýÿ¨7¾pÒ‹>AÚÖé“„¤Y„¡„ƒ§1‹xìÇ‘ç¡ ø`ïÏøÂ+I E–ò"on×óøC%ç´›ýäœ_lÚæxjN”¦n,½L0ù(‰ƒ¥a’I)c¾cjζ¹Á\›Nob/P°« ÜŽÄ.}„m­Úy›H;~n4äYƈd< c©ËcÐ*<îr máá6+tÛñµk{+œÁËk:½7Å»ú‰Ë»Ve/opT4 RiüÄÒªPZ`J÷B?ñÝð^áG‰ß掋!o¨ ¤î×|aÓßÔ‡Ñ8²$v}Åh`!c~ÈÓˆ&”°TÆnBv£X;çomQ=¶ò € ÞP䇳‘±'•‡'ô½8ei–2yA¹,ÛízÝ#i«‹5ºv„H/úuÓ¤•8f¡­,õ#P(¨H¹Ï%ó…„~æîf°(·j‡H2€Œp »´¾&*"Æ"/êÆ=¦¾ /Xšñ=ÐÙ¬¸}%3:/:Å8îßÀï‹KlJSf1K“Ô]/ SqÃ]÷‘ìèf92¼Ç÷ ñõqÇÒ‚÷·_Êy-ÕÎß$þaâ© Û~g|mÜ£ÒuMì£yöo-x‹åpŒ(6ÆžS7#)Qù<“‚‘8H=7å‘' •»ÙÑ ññ=¹óûÀ,`BFK¨—q×÷£(œ±„ø¡Ýè~·ÔDÀl£ÛÐêà›ü£,Ôª4äà/ŽþåµØÔµ'8õ@‡XD^32Ì*’~‰~ºÄʼʹ7ºz‘×ÍÛ?«wåÏùT®g®Z5-*÷‘S±ò{UThC°7àL=‘¥®‹n[L}ÎÈ $Ú “ãñÕc0ØÛÕAãÈ× Äð©5 ´„2Ë‹B |gSñ4$~ÍHOº*Ô2i ’Ù}Ã:t˜ÅøÞy%—¢Î×y·ÇtE?ã©zqB<'€uièúI$ ˜§÷vk?Ø(‹ñ}k o@pæ È󨧀°X0‘H:œ‘KK#Ïã ûøÉŽÁ“äþ˃± t.ò×Ó\ɶÿµªãÿI8“!%<¥a°Ê•Nà ½cdü1`;¾ð¼…è›^ Âñ@K=Ÿƒ”Ånæf°Æ€rÏyæy$à™ÿp²dA;¾pLÖ_p¿(‹ƒGLŒRø4Ø"‹AÒpW†ž'S&cW¤ôáºwÇ>)?H÷âá5’ʬ’3 GÓ)=&ÂÐ. BJ1qyó]ž§'1z¨ã W¦‰Ù$ ‹’Ó¢ç/=ÛÔb(ÃP0郸™LH楌&‰‹õ| ›ÆbØúÇBN¬Šås«\HóÝNȯZ‡­ªüsmQU=ôÚ»|¥¾Ây%k^å3-ŽÁÃZ¬òcÃ`ÏïáŇT7u©þi>¡Wªl[¡th’VÅHUÕËåï/ŠR ÌÔž•A^‚kèüPÌ¥#`ù6žW¼µTÍP 1Ôe‘ ‡©Çòšë_ÛPøsS¦ÖÔÕœ]:X?´Ñ“p:u˜Äsj7ÔMÞ\(ŽßùÝ“-{<¶Êœ?ÇÍN¼…Cç€ÿn-Š[‡ŠrÖÀÍ’º"i>ñÕ¡¼e¦¾Ök§Sáè´U§vžËIÏŸ ð> Ëi÷ηµº88{^;I§µúñ½¼…KLokU¢»*‹Blk lùtd®· ´Fó—7½ê5¿ÎŽyòº»}gδ(k\—`x<íјû‹Ì.=jÔp  ŽKÇ£özM?HÝ‘Y&±j®ät^ãTp"ꔉ»Vé þ>{@aR -ж‘ˆÁ:ÌÎùq:Ÿ`Û«’ÏQú¦=YyMºýx™r ד:~v²ôí¬*›R5‘À–¢ PÖoÅß«î~KϪrç{.5l-ðl¡†”RSº%^tkì´ øáÖEÉOZš½D¨;*è0CP–F²‰È41¤±VUÃgÒb¶ú¬œ}¸¢ekÉðM=Þ£y\ ¥ ‡¬Ö¿ëðœÿ9»´·¼¬ž9:2Ò.E_·^. Œ©ã€PV§>ÏÐ󌟉ŽÅSúÿЬd}G\Ù€áÎ,‚‰¾™²zÖ"™>P&$f&̪’›É~×ïûžŸ1¢c A’„’$„aÄ^FíúßózÝúQªŸ×º3`tòÂ5Í+}y‹I‡PüûÉÂÈ“< ç3š¦Ò‹d–„á™+¹ev?/í*·ÞÔuί ܬŒê·ÒáðPÃ8Â.1ðÅã^’Ià% ±+Ó, d”b•ÙîRÙÖoQÛ Ž°à@Š0#næq HI$R|,B«l¸Ì³oê·Î˯_p­~_±à©ê¿vÓé7àù çK´LUsÄD;šÐÂd¿Øœ…nÐVâÓ±Ðv7lU4ävj€Ë'+¾´£Î€‰M°)ÊæÐm’Bï˜G¯_‰Ü=' ^;{ NW­ÿÞü¥rI.2j”b=¦ãÉ´M¤èjÜÞ' -w<¾1ªÚs3F9ù„ªNHä?N½Èó=5zÓ8ÂpáÑŸ=ƒ ñ”µò¦V¸âö±ÑÆoqá7(&ýé.<Ú÷úG=Ó¢ïsÝ‹&o}…åôw÷-ÞPuË”ZF›ÖN¥ôT¸‚Ê.…O ±b¨RXüÛ¥ZõjŸÅzé»jÏ= s?Ö$ÜŽ— p¿Ñ/p7hkFWî è°M]û»Ñ`/¦¶Æ… jÂ?8\ÐÕÊェçÛâi/tDLP3Þ tz«Bë£rƒÝêÎoɶê±5lPôÿÁaÀ¢_0a#L8ò…C›É¶b"kØ ÉÃÃC 4¹Þ–Ê7ÂÝ`ìˆ( ,Ë îð©3ÃLˆZ¹-;]=ŸÍÊ Þ³^uªß~"ϯÎ÷ì»·uÖ °)Ñí¹ß%ŒÛ vB³ 4О®Ñ±W#ÇÝ>r¨ qkÑþ}8[#¡~ñ˜Xˆ3^,»ÈˆÙÁ@å–½Á$9àW&e½cºï’Ví•;÷¶ŠhœáÖ?­?~+ Ú ƒËƒÃ js( Ú¨ÙàF¨`º Ž3¦ý]Ú˜Ðó~\ãš(0UäJéàIlÙAEšú÷<–¾ô…&aèe‘.ÇO@Ë2–ž¦TľèG\ÂãØ±–ݪ0#œøc„°~|8=_N2Söõ—ªËº‚¼U0¾¾ˆë.æqxm:{xéd•©¬*'JÆ6‘d–uoãØdäLЦޠ<ÎЖ 5ÐÆ"/Õø+"yLTené/mKÓžu=ŸH-ìcЦ¾PWÚè^=þ>”Œõ8\C~­Õ‡¼9´V°}@ßÖbûM&]…_t`>"¡Ä8Â~ôÒ·ýØÃ¥»Ìº`nŒOk†÷_‰ ={d£Ì:——Âþ§ ¡‰¯T’ rÛÈÔB9—ãNa‡2WˆÞÛhÙ FÓ€áEYËZQ­þ©©˜Î6~ÕÆ}Òfð”Ž]ëÂ={ÁÐ6ÖóÐx¿]èú–JÑŽaµÛS–ñ¾h޲ ¶}ò²Åµq1 F`úÑú~¯%5* Fã_3„1’õ…“ÕªÌâö&±"£E-Îé°iøEGQoø¶C²Cß$R[Ñb™  b\uüFvdÆk=Ñ>€\SÉe]Ó*/:Šƒ`—*b`šj.W’¾ÍëÑ®¥¼³NŒ›âÌ*ŒÁí§s,œ¢–ÑÖüçAó/HmÐèpkr·@è ʤª'Ø’¸>iÓ¿>-0r”Ò4Â\¢•¶vÅ>ü˽Ê[»˜ËÚðöõDñt®}ªáiN.Ç í>‰ý° ä'ßB׃rÛ˜ÌMM½¾wžóRÈKòüBý¹j°±m­ÜÅz6ˆÑAXpE§ñ ÌщÀuÚ¹„t+¾m«C<¿À/ͽI–"ï "ÚŸÙÀ,ø{ë¦Ú.dË®‘üäü½sê*u ›†ì”ì?*¥¥B¾Órß>’¨„ÃÒ¬`˜m1³Ï,ÄùY;…Š„“S`X†?X–Y䬢ÕíPùí\€Šm¥Èk`¼·u)×JàÀäj-àoçççË…õ¼Ê€&™ ZøU²™W&@·*Ý ©ÒÆúFåÙ¾Ö¦4×PT̹ûˆ 7ŠG>5¡Ùh%&Øáx9/Äô[•íX!« ZdΜ§î9qTd0.IŠsç§y…c)ßËb`–—w A©¢îõ]d‡²\Ì,T†õ±ŸÁÝÂØ­ƒ™è…Vnj%¿ÀwhF®$Õæ•1VÛu½ë,vMqÜÎîÔ,ÀroùqiHLövâucâsZ°h‘OÛtFµ{¨&Hã´(t¥B>+翲*'@MÚ“º1¶’Ú»²3½K}T2™M>+rm$çizÚ^o 3•¥ØOEÈiäXÂ(¼níízS•r¡m± ðEÿƒ:}s1•°(oj [xEc™_¥’ùMfÙ­Êô*YÍç•^v=8ô‡;ÃoÕòq(%Š[Ö7ùI~TAý€ˆ 7·þ·å£=Äó@Uš¥ñšCjß2fDƒ†„qeríCª;I˜TÆ(û8ïN›ê7Á¢Ž¿¨­íXr8œºS62à!ˆ?6dbH±´v‚Y’8Õ8ƒr†Ž©z=`_#W>®RÕ@pÀ­ÉRB ÒÜsÆ©n{l±ž3 3Ì­Rž²çS¸ 9‡‰Ö óXöžjÕ0LsæƒÓlÁÿ¯Ž[Z™‚Ñ:¯[–ÛÓêžéŸ»¡5â<êÎÙ¼­´§µ–Î&øþqÏŸÓªÒØ¼îÆ(Á Ö¬ ¢½Oáôš–Ð=婨7vxŠ¿Ð)Uiµ–Y«T#Ãê¨Ó?ý¶ó¬Jy6‹º¡h°yÜ·&eé#ÂŽÏ }½û’&ž¾Z4ƒ"²˜Ý`²„Ñ+‘'n[ `\G®5õYƒ¼‚¹šž7-‰.nÛ•áROW9‰V"öÛÒ–mèÝ¢CßmÐA׊– AÜÒL /AReÕër! Üpðø+P|bX«½ k*g&¸¥žÿgj! ÉrÆ,ÑStdMÈ>¶ž† ÷Eþ¦pCƒ(sÝŸÏŒ³gËÐ~ }øª»wα˜ËJéJ/‹¨ôâÀMuáÐЗq˜’˜{± ry¬)šÚN‹)ëƒ1u§Þz¯‘=O¸ûþ®ÏRêG²8#A1MAzïuy›™ÂÆóä˜å˜¶¿›EËXDk·= â«—ë1iõõÄîiz=]T 4ôêÞʾ]SüH ò—~$ek>RÒs-ê¤Úi–_)é½Ûmhkso¯XM±†a= X™T²¥)ôƒÂÐ¥ÃB1EM¸§R‹†ËÎ!—¹œY ïÞÚ/,±¦ÄššEÊqb¨u àê©1ÿI9(€ó^ÕÍ8¸åKØ TtYLG±A‰Ÿ´¶“LI,å”cǽ©npϘ¾‡Ü…BåŸ[„ÆY[ F! ÜæG™4…§eöTÕ_ê××J*£Û™Û‰NªrÚ#Z¼ý6 ôV´UDÛ­y¥Ã`Uør @¸»Ë#nŸvl^Þ‡vßææ™me ·¶I¿Âš?úÂ+b«ñÍ”Ý0zfÃÜè"ŸUÊ& ß2oôÜÀôyÓZ1Ñhrؾ)†ž4‹vwM·µîa_0 ªÕfñûÒ c'ªûx[.ÛO%‘I._X7”f<"ÌÑ %:÷ã%Lø®D½®]?’þm   ‡g¤?D™$,EÆ“™‚¸ª?QKÕî#t "8 £, ÷9ýÀ d’q£8À¼©{ ´æz”äTeß.SÓªëp‚ê's¨-Q¸{‘¯ß{N 67¸¾F?M›†º4²'k®ÏûÚäMÏ$ÝzP:÷ Jˆ€ƒ“~¶µ $…·Æ©=ÎÛ«sWÜß{$#þEop/“ñŽ;<ÈeÄ Ò»Ïæ[ÜèÞ Ûßéq¾ö8ï´pûÜJ™l†<úØáƒ(’Mù!«G5ü½Iˆ·ï´¬íƒøÆ§ù IÖ>Ö˜;« ¹ì}³›Š^©7ÿ"„Î*›ý₯£mÖÚ¼²Àz±%‘ŠI7í)öÕ\ž>ìºÎ­)DBé{4 â„%A‡®D÷ݲ4…èâÒŽ-ÐÔȸ¿¶÷ÅšymÚn<òé©FÏ×~zÌa›Oþ!Kp¥byePAkgðd®¯:ÞüúüÔÚ1ÿ^Þ ×笠¶âr/~—Ñr¦¦Aéü¶~ëAïªãqÂß”[ãÀµ]öK÷<±ºÍøŸ%ÙGÿ§ úûÊ‚{T$ßRö¼d‚ù?úŨm™àêUIzWíyS¹­ŸHž• Ézvð|&‰ŒëU`†«a[£÷È—DÇn^O”J•釽Ýçcâç§¡óÎÿÙ*+Ös¿ÂóÜùés´À•ÆŸ½22¸u÷wë… ýŽ·{Lf;8.—d9иÀ³Ú%#å¯Ô±*P+äYƈd< c©ËãX»Ü °ca‰›©ö„®$ò§ºÍÝ š2T·»¶„Þ™1…Ô¶)(þjdÊÁ]^‹šæàTjœw·+Û‰N1)Rl2AcΉT„Ç® "ˆüDbeKw£RãTðqR©½ÈkE=ÔYxÛTh_Ú©ÎþmüÒ¹CP±1hϤ¨³™v]À7y»ÖR0Èê‘Ofºâ{gmâ.Y£’š¨L];´z :; QyÑU¼õBL¤Þ:òýL' é‡:‚¨Zí‚V­S_óÊ™èÎ3*×^VØRY‘»¼kò„{‡U;°b$îÁ&.µp8ýBc鈴㣞4vTþ[#ú}¡®”ºö´-ÑÖ8î*R*“TÙÒ Û‰«+ix¾êRÜ‹è¶K9Í5RôŠkeìGOo·æÍC¤2d4ôà+ÜT0Ââßãº<z‹.œešyMë_Èæ§"›Ë£ëAá÷QzfIR§€#AÑž Éß+gNGEÍp=ê¥ µ¡LrŠ~(Ùo*>T§ªÕ;öµö|z6sºHùà(è¸ëèqRÐuö¡ì‹›½O7µ?ðxFKEÉŒ+½ÁµÒ…ßM¢Ä¢—¶oíSÄ×ä7ŸÙ"q …©ð­¼óH;ZF¤ZRÛ¹lÍöÑ>Û¤lÄqÌBá'AêG~Q‘rŸKæ @}?sùcEÂU@Æ_°S¼@[àR1y Ðî‰0õEàH‚€{@šbEÖŸ=ëÅ(ZwvÃm¹*«+Õ?hÇÂ.¹ÈÇU-;¬åöÖöJƒ™,¢ÄÊÕ¦1ÈŠ×l1Î|ŠàþO²eCç=D´4ÚQ•…CÚâzm`ŽÚÆúè°pØ·]9з¦š’§hcwê#dy£›hhO®j±rkûÃÝK[IO(=îi2šE1 ã^ä1u}†.óiä…~¤AjVc‚€þäÚ¦ÑhqöÆаM¿s›ôLûuzåb½ ße»[òû.Öó³EÙªl(é°8óݘ’ÄLÒ và~f :ÍŠÛWZx1mrZä‹NýK…(QòSU2úÂ,ÌâÂボ棒Z— 1 W@•¢Õ ä7s>Ïžµ7ÐöZ5Œ™Þ]&ɲUÕÔåG#“yE{7°×ÈΖQê*ï³½¹ÒÅ™UzFB^ããjè{‰OjV97ËŠ’/××l0+èÕ"w+?ȪR³M¸Û"É¢,u%ˆ©Ìe2 AGàaÉ4:„2Y§{'ú£)y´Iѥʼn%Ðß( N-©—¦iÆ’89ucŸ{ÁòÄ¿–ëæÞ3çZäA&_&)“ áRH¢ÐCÛRFÂDÅî÷—v¢¤‹Sg"K|!xD½(ä, x’f2M½§ wø÷c\ãÕc?'ÆÕ/¦~>õÛ/Xð]³5둺Fî#lËC…ÈÑÿÉo¼£¶-ÏNîÑ~çO}Û_¢Ö÷ù]›.¿©«Ð¨ïQ8Ý«Û:G–Í©½DEj¯¨2ëÜ4Õ]GLW t”œ;=»¤)nUIÊÝgW51ƒŽnYôÈô:Ý·ÚŽ»Æ|7¨×Úï2Ñ-+u©žfãÊXªüÜbh\>w–èF[P½>[ÎèǤ»ë²¶Y¢î ‡{:):ì+Ósx&+l?aí6­:;o!†$O#é³Ðõ º°@¦„»Q$²Ð–Å_pYÚFú‹Y”i(`z-ì¸ß¶p)%†ÆkÑ”WWxut%&y9éPóé YïãM?¶«×¬»}ô™&݃Ò/….ÆIwõ´m›‚wf îèl‹˜jŸøìT­wÝþBÚé5j×v©ÏCh6¿Ñ©ÆÍ¥.ªH5F¡˜~.£¶}äL¢²"õ=¡@líÁÂt§NÛGéAnÊÚÐiF&å7y ì·‹i3Ux{½NŒ†Ööáè5 è]ás矵np±ªû-î£ViZ±¢]‡j.¦kPô›Ä):†WÔt…’ŠX’:ï5ïQO‟¬[É£k« Å~óz¥rrJìB$ð-Be±gÈ€ô¯5l»¡¥.CÆÚiÂ+µÁsút:×½lúj°¢~Öd qÞD ˜êH`j† Êà÷YǺ„î`‡›Ô[8w~‚±ÛgŒËOe»/ú ñ´n€/ISÖ^7Ä+`ö£"$•>á#UàPa¦JÂYG¶HôiÔm·Ü¥Y èÆÏQí{0cž-H0D›X/p£iy£ÀζHïÖŠÕ퓾=c:|3”=[²aBL§'‚$.ÏbNɘÏXêSJdêÞÏ 0¾¿ÏÉ 0ì¯vÏ8³}ªq.ìì3Ѿì÷âÑh½¬„­ PÛHX^òΉ ! e©2B|$ ½ â©G½0æ Ê…]Þ‹¢Ð£ª’áÕÊßPí³,ý?ŠÅÔcíÉö×ÖkQ<cFO€ñXqáôL³D­ ‚ñÄîø{aˆ¦jP•XI ×zÈgÀŸ¶oÝ·_î$ÃX‰4”‡.#XŸRØ.I‚ñ^Ü)`BFK¨—q×ÐE‚3–?$àÇÊl›÷5xo°7³zä>< ^ßÚ䫦½ Oúâ(]ß^AµÖî§gh·^—‘òZ{Aà^ìÚm-EÕAs“{QwŒBKî·mã,ãhmÓáFSMŽ—ð1»D%L~¤¸£VçhCÇ››²]µ‚ÈpÚ ä.j’Ú¡ªºoªAêÀ¹¨Õ+Õ ÎÉýöprtÌÙŽÆmrãð|!ó3 B/NˆGâ„S?E{d$,òRŸ\re ë¥fÞI·7é>jÛˆM…$Yš$¡€ÄBb†ñ£¡^ÆnàÑ-ÅGÓ•ò:³&V€¸ô¹K¼8¶Ä…àY$¨ðÃ,cÌí²”Ô[›ÍðcQä³ÚòáóØ £ I/‹c€M\–ÐŽÚ)Ìk›ÍñÓ{iÁÌ,ñbéSÎh˜Q)7sàmðn8±vóši¾>ÒŠ_hK€%iìg‰c³Ðó#—ž¦0WŠ=Ðb¹Ô2~þÉܬN H¤p,Ìç¾ôN¤ðÓGË?E9Ç!–õ»¼nÞþY½+Ævê÷OÈ4lz'#§Õ§wüîa#r*>‡m(’LŸéÖö+þü”c°â¥@}´ï×Î)¶,Eœ´Žšá9X£!Æzk½š(w¯wÜ‹4aíÝÇ5¡Vè›èÕý¿–ŬóÃ,8@ ÿ?´s¥]fJË®O¥ÕȘšÜÊý¢-yZ`)Z #ÛЭ‡–‡¦§Á…’ºœbÒM]OËH#)€¥òIŠA7ºöåZ‹Ûì (‡à]nÀ™z"K]³|c7ñ3æG>‰€+c˜óÛ{–ŸåóâœC˜íu¢¸²#¥n›šè0¦\틬¬„mv;Õñ ŠKçMý9ñóeCÇm9×eá5°jm}Èð[L½²Í·ú¹É'=Uª«‚£RuI0w(Ÿêq½áž Šê@/øtý%k«Çð­|šOæe1‚­˜½™“⪯ø ö·Ñ>¸¥?çZ€ù¯¬ÊsçÉ­û{ñ&˜éžºç¤«‘nïtW ®àf £½8U®s\»›„ãõWu]:?|wz7ÔÎpx+Ѹú¾$„m/éÄ!ñ#"žti,„„YbO(üGÛÅé0%HµYîÍ£*Dú×à©/ÕÉ`ìÎK+!͸ĪryÓ«eÊÕufhÚÆG)_®©¯°º*Ukû§Î|šÿ l¿Ö·DÅ,©¸7Û4PþtLU¿t ´»1uðžØ€Æ©Žøëù TÅxõ)Sù[‡­‹dÊöáôÖŸÐ9 ^©b øPÓ/.­ñOè€é!s°í£L–”¦ÖX«}@ð+¼KÑúç‡1µ¬jVsÞ`¡.`j*Ïç¿ZÄÀا Ž>ôɨÊjšW/ÀÿÜÑ{3,Ü*ãùxÎ.§òæù»T¼øq6ˆ »unÔ ÊA¤o †B´r‘ªP[•3YÃÍ}_wÆF¥²Gçø<ùÔöe\û°~(êSêÀ÷u„ÿÅsl>›>¼[úQpo³ßÍy·³ïÞªwǹ»þ´§¼Ë娆H¦sµ½÷ìÖæóX¾nðØ×WWÈ(' ušŽ g+aÓÎíDŸçkxèãÉ©ÒÕSÜW_ý¼–m‘`›Õ!Ú4“‚eÀÇl–# ûÕêfÞÕq[•{4’i4È–f‚ta¸¦¾Áˆ—•²³è0^–•MNFÚù6ZbµÄeÃ0£¼5À˜ÕÒÖ‹~”ɘ¬5}x׸Ò>TTw¹ÒDÄi²ØDl?ˆ™Ì0èOùY•@´À8.‡/j«ýêÙ3xÖ~ñÖ±úT}“zi}]lïR´¯æÅKÏõ²Ã,ƒü×9Ë‹¼¹u®sx¬âðG½²’¡2gê ÛDÃú$!ia(ÓH>§1‹xìÇ‘çe4òÑ7I‹µëèzUÛ»¡@J{éIÊlŽ™†XqdjBåòji£ºÜ¡ÚZš±õrMkº>=•ÈÉAîÀ<(´æ«$ǨJŠö¥LS¬þ8QF’‰JÌûi^¡ÿlSg-°¦‰”íÆ²0û™£fZcÜí¼X¹nÌ[B{tÎA(¼Õ¦˜ó¬ \Ã)g¼ƒÉoÒVá@yn1}Îä]Yf6ÌÃÞ"ÐÊGñ)‚ûiÄ‚„K_²L qÔ {ô=‘{ôàõ/}ÛŽ]¨ÙØC4v ²©ÉgÉÕrŠƒ®uªÝSóÉâtK rÓ¬ ¿dÒPSŽé%Jƒ We€Ù:¶r)WGG 7FÐþJ|°Í9µ€± è·BmF4žAH]7IøÀ BQHÃà±¢¶mg1DmõéPEÝÔà rÕnÝ ýê_ˆ w}E@45ô@!?“–/ª â™ÅÚR{çmÍä$që˜(n¦–·R™ÊÊ]f®Œ@e°–ƒÉƒî­P%ÛENèEn‡t^H‰ŒYbTê³þ‰9•’dnà‘Äÿ‚tû¶Ôª3úõÁ:GjÊ|½¤ha²²hW Ü"ŸÎZœC©Q[ÿ¶Å”ÞKØ¢Ü eÆkÖ=N”Y-‚ö«LY •S\ÅÍÛ>÷ôXZà,Z¤¤½ÃÐù¶«tÐAÝNÄ\Ûè.SÒRHUKó/WÍr+UsÔÆð8ñ|kK>KËÚÁ›¢ ,'™ˆ¾G4´ ‘mÄÓ=lì.=´_¼v¨êC™uo!0çEcêI޶˜.žtU‘­— Çë•YýtíJŸX¯Ús°|ÕÀÄ7L•ì’gÏUÓÉú!1ÇŠÖÿ¬¬J{—djlõÊ gÔd³ [µ²¶Dz²š©êÛº2Ì¡ògÓ_«¡ˆÎÄ•ð¦o½3ìUüQôn•…õÛíêÕîbò,ÿŽ_è鼿èφÓ«kB|ۇÖªa±`"‘Ä R)"— –ÂîxàÅ~òhã#WÈUžÈ°^['ÜýÄ«ÍLK6Ÿj¼ÛÅ?LÉìaÖ-XÊ'3Euî––¨@™§4Œâð$Ŷ5œ†¢ ã¸l{£ÞôJU)‘:–7ýšð.|SÚš/m‰ôÖ›€fÄ!#Rô[yˆ._f\Ýuÿ•Nç³Eb¨ŸÓžå>)t]Ê|"Wø/í‹ö‹2Ò®uªçS]ä^(nuDËÂï0Ì"Ë«ŽáÖMŽî(å4§Â„mPËãzY$h—º®ZÎ ùAÖ¡d§·ç«¼ušão[GIGÑì­Êñ9£W]‡„nUç4\ç…€_–ö³nßêpçºkÚ $G©ni.ýÂEMÕ:ä!C›W(>TÍÿÝa}¯Ò?Ë+ 6·U„¡Ç#_$,AÄqÆâÌcFe ®éZ£ÞجØÄ²´ú5uƒ8IÒT&D&^°ÀueIî3O†\z«EÐmÊNŒƒò³™V݉/Ó£Nm-¾¶r²ʦÒó€ÎÙê¶ Òÿ´cd²B QQ¹jüµ6~eR*õ§Ó{T•6¬}ôˆ¸¨5N§©\6ž9ó©RÆu(, >Ú•á†ça9È\拾âº÷#]žš±Wœôk}vº¸üfò4͋ʰ§1ÿÉŠ9Nq¡ºJ¯æ‚ƒ5v¢¤¤Q3¡i®>£XÛõR’¨q ÜYÐk‘­»¯­J𡤋{Ô¡¹ ½î58‡Õ6él&iõ Hÿzéj‘ÿÔÊQ {j Ú™6+ª¿t,£V…•ʸ‡(µ¤¤BkIh–Ã@ß+¬­¯Â T,WÇœVÑ4-udÆ6.NlnõÒrÝ·j© ržne…¡žÏ“Ôb7s3*Ê=?ä™ç‘€g>ýŒDŠ–¢Ü3¦tÃxŒ;c]w)zƒ|‘+VÊwij*J²”çNçO[÷LÇùLW‘|îÉÊÎÓüo…\°0O³ÂTRžš2*ˆS—«Ø  Ã^ ÊÚqîüMá½ØXEþ)p0ô ï‡ÝGSICâûõ†2‡^®µ7ÍëÖýq`åv' nŸ¢™Aä˜Åœ1!€ÁÉÐódÊd슔~N¡r(“¿+]´Üc+E4«”ôKæ¾Ò/pë5áL†õbmÑþqôû\-†˜'»Î Sy£gú¶V9]6j1–öZÞèÅåÐÄVïP+Ò}LÏ“îv@ÔKp Ÿ&„1òZó„KAï¢ØËœyó]ž§ò±Ã«jýø;C?6⨺ºÐ~âM¬:6\.*.á¤Úž¡`ÒwC¸™LH楌&‰KHø”¨&o¤{vè­“FL³ävˆ/íªàÀÑÙNàý`»®Y÷X;ð…Î_mìûªËn´Œµý±ÿz„(«˜…€Î“_U9Њ\m5U©\ÿ¶÷ß*ÌYï« íÅ+ù¼sÞµ©øÚ „ù+9¦ÑvÁÓÊJtþ«^ç9¨lϞϱ€l‘_Ö¿P5õ.VAyŠF'Yý;¹þw]Î+ní½ßίuiZoaÐþC|63\¨ÙõUÿŸ§O\TöàÓ§C®œ•€cÀë/.ÿ·Ý“õïê^7ÍìÙÅÅÍÍ͹(?ÞÂÖÏËêêþÍB_éïÕµqÏ“s÷Ük!ËJq‹â“—_ýÿ\|0 hh›¶8exœµ—‰?TßÿÇÇ.{5&Æ.¢,ƒHd›ÉÒ0Ù)SvQÖ±ŽÑ„ÊÅ|Œ¤‘ÉNö-Ù‡,I¦ìk"„Q2–Èò½Ÿßòù}À÷Ü×½ç>÷ÞsÎ=ç}žçu,ÍMx¹ \ ˆyÅÐÈ£³™“¸JeÚ2v73CÐÑßGvkQ*ÄEÂmÃ3×ÈQ¨“^íYy¡Ù×]V<µ%Âø^ñÅSÓ[gUD {o‚;aÓíÕÂUO®zS•”/¨žt|£Z/ê1 ýˆ ÝõLëjxñ{~lVgx`Ç7“Ä׉»G Ao ”ü¾ö-3ŽEMéöù3dñ³ûtÉÌ«‚i€Ë­ç?dý¯ .ÃUC2¦òh/??Ó/~d“þÃýÝ3¥tQ­cL¿~ýâ“eȸµð¼ vîdÀ)õ@’ ‘Líefaac†»¸¸¸ºJ5—¾z%/#c(fgeƒÁI¬pV)0Wgg§úÜø³§F^õ‘1u±ªÖ«?±{.xéÓº‰Œ hõõ›vvÝ!|ó*æVskxœí½isÛF¶0ü=¿W©J¬)Yjì€ã¨Ê±“;®'É8±gòÞOS½AÂ$´¬ùõï9½`á"IKŽ3“Ø$^N÷Ù·çÿóê/ßýß›ëfR8oþùÃϯ_:'O/.þð_^\¼z÷Êùÿþþî—Ÿ÷œ8ï*:­ó&/§´¸¸øñ×çäºifÏ..nnnÎoü󲺺x÷ûÅGËÅ—Í_Ÿ6½7ÏE#N.¿z®&ü8)¦õ÷+†qÓ4Õo«g%ðÇD6ÔÁgŸÊ?çù‡ïO^–ÓFN›§ïngòÄáúÓ÷'üØè—¿ã×´ªeóý?ßýô49¹€Aš¼)äåo/ß¼nä¶Äeå¼,h];¿ËLVrÊåó ýÐWÏ‹|úÞ¹®döýÉŸÍ9¯ë§’Å÷'us[ÈúZÊæÄi`r3'>€s\˜³RÜÂ"ÿàpœâ{ü^Vð|ñ3NcæÉ§B~<×;ÿ…æSç ½‚ÑKç›I.DÙ|w×Ûêûòƒ¬>äòÆŒ¢w÷óåÆC]ç²¢¿¾5ÃüÝ~Þx:– m¤0#¼( jYã'€ üñ?OŸ:ÿ+§0<<ë°[çUùñöJNáÖ%çî¹ç<}jVÏ6åLÕöDÏ—m}º;SÁ¦Aáá ­­åõ3¹“ËUyyyüâ<¼¼·4Íå ;ßQÐ÷?DT¯q=JL<§ ànOÐî !_ ìpËÝìX__·±Ð½5t[(ÉuÔTb[ÒÞnðð­6)9¨ö…fÀöæ¦/­ÊõS¦Ö‰„üŠŠäñõöû,nÕÏ%9–(3só䢢¥»RmmmÔP•И¶ 3ßÛÛ{>J¡è±ŒÜ÷ê¬ðõðçÈ]YS¬ú(*-º8.â&åSLÓ?³®ÓéãGG%%lv-&‰çʸOX^¢îò#nß~¿q™ÏÜ€ÆÀýøD¾”®ì˜ç{†Í(F`MyÑÄNÑ’––îr«þèvì9id4Ôw*œSÊÖéåqqжÇ×u ƒœWKŒéßø—ˆ@aíS=_K¢«UkZZRd’dîÈ+øI`·læ–”2{ûL†hë¶– /®ØÓð¢q¥Ì¦f0Fø‘LÿüñBð–b’I›|H%A 6ì«KJbµ$ØäØäÓ>_ÙHIÕCBKJ+á ó<™`Kt ü{ ÿ!ë}0¯­Þ§v]¦{÷š&&.ä ¾÷Wz51ñæ0RÌÖž¯S—©ÈBÓ¡—/¿²¹¼¸Ü߃lÚŒÍöyסʴó“ß[½>ɘÛ$zðÊõ£æ¨~(Ì^m{ò1Ës•¸.’Äýh˜Àú¸ÒèèçœàLQÑH¡xˆé<Μ¬È vò£y 3|¿9úíX8we$-ÕTÁ¦¦&„¬¬ì@Šy8!“6ü=¨Â^œ ™Þó‚›ÜýM…4DëÈ Ì<¬oNÞñþ ñ@þGTê –¢£LoQð,1§¡¡Á —O3å8q¼Ä\Ë³Î§ÒÆ_åÚi'Èxã7 9q‚˜™I­Øwµ' “^Ë1» ¦ª•}$gLq\”n—d„h“ëëwFK¯-¤£Cå9+´A£¡¢¢Š`®ƒýýÈÃ]¯•ÁIð çèèXIÙ+±”7ôÔÔFEœI:9º0ÙŒ­¼"ƒ®rß¹sÇß¿(¬#–[AAÁâÿ´”µ!ßm¦Ú½g¬ÒÙÂÊÖ××àýyjK.™@°xB£Ñ²  јH·^ÔmÌ„Ï'Ñé¾ds/"±W­90· ߌý)..þ¬o‘ƒÙù1}ùòå F•ÅUã«dǹÅî®®âýÃ??+[·¡—í¶ý!MáKÔÑÁÊŠw˜ÁvÍG4N:å½Œê æ3%}šjj+0’H¿åi28~öUKK¦ƒ°&˜ÃSRR!XªÓÚ‹¿ÂéÎe;/+‘•˜˜Ø—{;ކ††ÖÖDœAê¬[uCn®›‡‡a騚#çú¯_®\ß¾|ЉOÀ$–‘C##¶ž[dìLŠiÁ«àÚÐðpÀTƒê… a¿æŒœ›ûúúZæ IÝhœˆ¦ÿÐMñü$WÈé*¿±–“ZŽªþ½ë2ÊËË ,j °ŽÝÝ]³gŠ$ { F%ø×ÑF¬µ¥…–næ¿X·„Vn^Þôô4 òø8-éÂêœËåy\"Žpr‘9SéÛ…QA†ø]ϱ¼GrŠ ¡äÏ-$¡‰©Çó'ÅrD÷2®KÀ%º8´÷TKºô=SΊwd¸*€`aIH¸È/÷sÌÛD–èÈ™Sz­íåy/Hˆ6_ÇWŸöÆàÏ<ìyo]t°Éî6cµ_«¢çæŽ21Ç+¸¾¯‰5…,^Né~¬q7>û|@×ÅÐ’»ÞÄY·]qh×_}«$S{ãÓ²éÁ•x~^9¶0½ÛÞ+nz+ð(6>:Ê‘ñô!ÆÚÀÈè´Moj\Ïésç* þ*ø‰Û¡ÓHwä1¹~ÄÔɉˆÊÖ=DáA3`&À¯•ƒH<±0ÀáX²úÏ,1pr星Š]ªL`£³`h*úºÌ Z;±îÌP‘æ¦fŽpM½,¯ÎùÆP,¿ºF(|é¢Væ}—:cö-&h£4Ê}Ê_2FúôQ÷ëýƒ´yû×¢Îtµ®‹üÿ›¼ÿ!=IвšhÁ1^ÌÄĤcæºY®_VN¿±\'-ù(;;ÇXlÔ.•{033³ú¹òFT¬ßQú·Å/œq ‚é²[29ö¥ËÂSåÑ•Lí.ÿ¦Ï Î볩½‡{«•^/qgj9·\R\¬F§&Xâ³ˆÄ àñé òŽ#ðzú’’³ó}§¦³Ó¯¬‹iÜÉpÍ·¤h›DnÖÛê§M’ñÛã^@HùøøLÖd]‘áâç/jÞ`0ô6‡ÿúë/À+‘PÆ€c,¶-ìdªœ…iÁÐþ>~iØÅÅÉGÎÈœ_ù"[¯G •JMS¸çé᱿=€ºfooý:­Ì¡¢|óyjjçÌÀôô½é¦P2™L7Þ;» ãááÁî.UWWÌfUˆ„zãÚ§ùÏàøâ‚_IiiísWÀ†ÝT&ÎÍaJÃ5€“èê2L2¾\¿¹½¹Ñ+§ªªJeR¬¸ŠÐJàfj õéN¤®pÃZ0«cJ…fÒ)¨×RHbZZÚcˆ’›æÐO‡4S#˜¨þy…HúË—Êi¦ã“6ÊÊÊZïî@yâæææžÿ™B"-ODt[±ª\ý?ýö9kóˆ›ò¬æÎð™ôÂMÕ€™–ìlÉU÷]ÜŽ;ˆÂú·mˆ%lÙx9ó8[°o!Ì +.þ ÒT€‡£ÑâëࢉŽàÖÄC§¥®\7ÿ™„ªßo~âØñ·ƒæ¯ܵm³kàlQ›:ÕíÍ›îs…õÀÆìè  ¦—Àyo;ЧáôWPñsá8=Ìá>ŒîDe!œOC›<Ó>Q £KÊÿöá+ÿ`V·sž+¬¡ÑTt)!|ɉΧ„,¢¦ÌX»!¦uƒÕgãxàÝö4€€ÆŒ+&1ëãf™<úé!ÜÁóHR;Þ}÷¾Ê¿í‘þÃ¥ææÆ Â:ÛŽ÷-8ç4AZÃÁ …ÑJ±¦¦ƒíè,>×kÿ6÷×ûCå¡/ÖØ«O ØÐKí±;l¤Þç]7TJß*llää/ÿÑ7øQy¥Þ7W1ٴ̤«+¨%”ªÕÓ/ð$A5ŒžEH \?£W¨WcX#`ΰ6Xæp½ãu°^ÙsíúW»nÇûN#£¤ª¸o.ië~N[Û]rm·Éd8|Å@íZ"*:#'ôþ4ïìø–|ÇØ,ðÐÈ#ÆŽÈ…vãÍÍ'»êö2óMyyyeeåx¾.4°b#SÁdÅ"*iðVÈÈTd›ËþQG¢ùÍaÀÈ"]ôÑ£åÚg I[swîÜäЮ÷užëÉ…Û|ůsu"'ŽÜe\l· ñ<ÙêtBzT±,4­ÔM„ït9; Þ«ó]éæ#öÜ—Ç~¾o'´1~åïN÷(kHˆe`t¹c¶Ã q;ƒä,UÃHÀ“°ÄÓÑÚòa)Õ¾”~lûõÔï¶tùT<¦i}Š˜ÉË–†€íYäúƒÄ9U»R`©íÕ"“}r·÷ºõÁ YäHøU¦©Fœj—"ðØ4² Éøä×çZL,âÉö˃ E0!þù¢Íê'Ö_ýˆç)ôZKÿááØtì´ÚïEÙt±¨ÖgãàVB ²§¿XÇë*Oö³Æ÷µ^³˜ËšéXáÈÎ+Ÿ·/ØŸ@ê} L¬ž>–¼zå gã¿ë‚‚éÏ;Ç‹*œÂ0˜áÑä°ñÍJ·y-•æÖù`œC9LÁ®µo É—%›Àƒ*2¯~d×í%7jbõÖþ€Yâ¾TR\$³M[8!_'€‹ÃX»¦³ÚuŸ”NÃÀ”éY…<âHî€ÊÑBiÙ²|æ0. ;€XÒXYÎãÍ%¼64®÷üh¡³Ì¼ÿ<²EMá½Â,+'§ŽŽÝ9”†6·R ò㇅Qð]@hƒâùpv~­ð8zŠƒFGGÂrr1–Sea»îÁçØÑ¸ÌÕ?…³ñ­K/±m%#HyïM {tôËÌØ>¾¼%q×] ÝžjÝ q;xTç4ËL øÿ‘/†dç‹è>Óñ–N·™”˜®– ¼£ô ¡aÆ%¬/(ÍþqxtæU%""¤ßwðý“c¯›? »–“c`Ñÿá–E­ítu~"¶ÜUæÆG½¡š²áÑõ¡Ñ¤†FX•Ù@R¥YÀ‰“§çTMYŒ²ë7¡o0›Ø›ñ˜`LLlæjµ·~UEr*'##ô%˜TmxkåןÁDÁ£“Û¼ƒµÀ^¬.I•¦œJ\åØ_ðMÈAfèWf!Ö‹ŽK—Âà ¬¤'7°Åmß^ÕÔ—»òðJ¸[emö—2ü8åþ[°Þƒ-¤X½K!š‰ÇÞ‹ÆpAœ±´'¬ÿ¾ÿCOkdÙî”?ªÜùîŸ?Z`C»þÌ8÷ƒ9ù£9ÑeåoÐ΀áai„@#—õ„8G$ Ž·|žÖ—kÒÞÑy)Ò¤D`gJP‘häz"Á"+«¦Ò•*4ãI¬<Ü\l¬ ¿+%‰e.žXI¢Ä^ôHQ‘ÿ™³L[Pwù}aSI R¹3Þ– œh ëëÇN•L*XÈAQøJyX{ÌsQYÜ|qXÇeLBÀ(¡gGì»;!}äÇ“l|` ½Eý–7®«ã¿*†L|G[Âfgj¶´MMÑJËD³EÊ|bê£FD |éw5s1Á«ÉBœó$)Y Ñ_â»øìæ("îýwÚBZ„ž2edÊ59K}Ùp*q~ÎÌÓ›««C÷ ››fä¥Ï4šÒ-]ª]54ä(f×&s[¤òb«'|™¹€¤è«Lß·*”®pPyd°24Rôw{üäøÖ­Åœæ®X}*kÉ y*½|fƒ¯BùE2{hUF !wžÉb([&C= p;RåбçfÔÎ$ÆÙI¬¤iÉË-Äÿ×8ýŽ&ªÙ i@ø»eÇÄ”;¹ÙΫ†·ŒWúŠÔ ü݇éèõSš« åOËÊÞÓòøÛ …‘ÍÁ}íêƒ|ßTWÓDYd›W-kÛJmüQÔçe9p›o¨Ô†™³ecmñšMEæ_\<:* ªMÇÃXÒA/™ÏN<öàöì†Æùúw$áôoO$Cšfœ³WWØ7æ³ÆŒ‚ÞŠUÅŠ‚dd1­aÑ1üÊM¢a R8ƒ´3Ð]RDäèÔÄúÒ øïéNt,|ÛÔ2˜´±uÛìC\gßÖôEÝ)Êhx‚Ëл8oØ =u½Í3@°gæÌÓ[y[ •4[Ö†UÉ"/gÔ°)Øu—q^À:&·Ò«ìþKî8"CÛ[ÞšEü€á-áð›·Z±Rÿ~»ñ¯9Ûs<^Šà˜"h²ù-nõ}‡[s@‡þ}mad9Àžq•Lr<:–÷_üj†ÉP :Œ=ê_­WžýB´lêïùt,Xï7ZUò#^X}º#ü H¡¶ÞÌ !k«îåÅÀ’ü¶Êµ¤wˆåÖxxƒ†æ-Ξ÷´öŠÃªÄàCž÷ï54Ë‚j-œ‰öÀm§¥†¨ß£Š ¥¾[D!aÖ{ýÛ¤—8!:;Mû8^=[þ²²þ¬Ÿx“?zEèQheŒNÔwWïÃÏõŸ˜!áçi(hź,ÇUˆ­˜¹Á £;VA­+|[ëtÅ)Ö\zF~áµ.¼‘4iÛ™7àŠŠŠŒ[ŠB7cþ7s Zì®TdË å³ƒÉ¨¾¬â× û,at¬|CÜn=X|[­Ø‚ Já<棈áø˜š†^ôöÜ+XÎ^ãAp¶•JÓyZ’ðÆOL¶v_’sàs¥À¹LXl…ÛNÅ¥ˆÍl-Ar¿ÔÁo”Ûç6€($ p“}õ×FxM+=c]TÉvÊã£cÆÓC]|›õl=¦­’Éaïfaœhñ±¦BÕÌ&2e¥étªÈö}Ùל4€Ã>ÈÓ#5@ãoÑ›xyH¤—½evýºÞª^¥Xù2ûþæšøíQ[»¼¿A ›D;·ìS”Lmí? Þ3ëòâ ‚n~w8Ú4ÿ©Ì¨×jResi¨¤©¯ñ]Í:ô1@n ŸP¿$Rxœ½V‡7^ô×jkV‡¥hÕ¨Q•R£Ví„-B3¨ÄÞDiÍRã[DDŒ¶V­†Ø{˜µEmµµ©Uüòû~ç÷ιïžÏç¼sî{ïÞûy/Ú@_û:## ÍuPã5Õ¯Rí3ýeêŒaˆÊ :Z/5==ýÏEð2¸¡^44,ÿk—Ðb,Ü447( U#ÿôß³(S#Ÿóòá;~Q.§9ØX×Î¥¼Gs5î§U8°ïÁÏYg•ig¾û"RöšûDO¤Oßkr"ŽCmf7ôó›P{hbΰ˜YµáÝó§’ûgg€”´˜ËRéÇmk”#í!I¯AºL¿¨öt¯ÕÔä×6—Æ ÏN(}D" 𦰧T ̓^íD¶´Oðè—» È­ÿx&sÇØú²M1Þü»JªGÁ×>é}3+eÅ«˜îºÛïk„cfLêÎÇñ (DàÚ[Êâf(¾áp{î—?™B‡+Yàr^HŒÝ{_Ô¡í¨¨ò¯gS9•éÅØàrhì3î~ËÊ&DäR_½¸ÔÕ!éý(áHJ‰–û³\Mê»iµzk™sfk…¡Xw³Ó]ksÞà/F q3õ]l!tU:Ômè) ?ðbÖœãëÞÆ|¸c– òwžá*îü²DÂÍ S.5ò+™Ô»|‘õ Òg±n—*îÆws5=3¡ÜØ”I– } ¦äÚ&‹ì‡ çÃ6Ëùƒ€Ç²†;<ÞªæoĭãRýÊ`£ŒJ‘\£a¨ñ×äºÏ¡¸Â8´¨mZÑã³½­|3òVÈ–šs@aBÔɼKožQk~¡Ïç^‘F›´›Ã¢‹¯uØ\õê ÚS}̈nðkM½7ø¥Æ‹Cë,p1$gõéÝYÙÝm ©ËˆgM)†Öÿ+kÍðš|ÚÛvU)JýnýlGüZ#åNÀ«-וP57ýÂ܇[JÕ°xiyí`"cÊtLÒÚ?±—¨fwáv—nNœ¯ "_Éèl7g²¥Œ o¤µxïnzÛ¯=8w£™Ç6¿I³ÓôËœãòB|ý™ÊŒ¤ˆkƒú]eÉ1š‡™LE¦ å€Ì#é™_è×›¨äenïÛ  ÉÍËL¬e-µâç†jo¸hßœ]ž‹{‚ù´ÆÔ¥‚½êd´¤Ö`A`Ï] ¿MR»W‡+¯SµDŽsÞµ+Ò¶óNïžóDïÁUE!“‰[}í–4©Ä¦;2ñÿŒbœ‡]ÞSí¿É<ÚÛOOü„x±p´È UOòÊ?E+Š2Q:³·•Ë€ýX¥™fi˜{Òw‡ÏÛKЬµ¤ÈDêê*fùY¥À¦ ÊY%ÙŽÝm…­ºäß@\€5|¤ïèè<Ÿ½`±ª"®XÂÚ1Èœ2ÿO$¾FAjªË|v…/5Wô®\”¨–…÷E¶µdÏtå}á ³uÁc³”ÀêXúØê,:ì*’%ÃÿhðÝ)æ ØM$ƒˆ YæÈy•#hÆSÁ0ß t‘v#U¤ßai¼Y]X `kšÊ2ÙÁ{MÄPxJ) ÁÝ©EóJhŸ—¨›,ÕïÕMf˜ƒrwð_•Ïg«l­L% `½5ß#;V?aV ·ÆLüFGwKIgÓÔ;ß”ADY,J\a‡Ú‹1aö,E& –`“EZWXÉA¹ÃÜ¿†.Ÿ•ûK˜J%w4ÂZS„½‰7z¾?æ7±ÕñGáÈ]É–ƒ¢Áur §®à½þÄs=·7 aÚŒ¹'|×ë{ëxâ!o:î±TÃþtˆ Úÿí¹b ƒA¿ß®!¡…ÞâTÐ9î°¤(e2…b>€€¿½Î3 •EVÍ#‹ÑØ«(† ɦh³† —U€–[ÊkˆÚ æ&-iךö⯶t»|«w~µh¶ôý{ãÚc#ÕLs¿Td:¯ÔP Ô®1$'Jƒ`^ËR¶@2ë5–q±üŒßÊ~^H¡xá/•n¥q‰&‡¥RI„¶ø¶<"â(äÖÚïs||œ£‡¤Â9a1N¿ Úý’8Á‰aŽ&è°g25V«Íì˜hí?”ícm[W8Ñ&°iªb¥¥­g™I'¬Ìèý¹@Eù õŸê"!Ë;ì•YM›ºTwãß”oŒ( Ɇœ©K Y+‰A’«…ñp”$7K‚ª m뉇æŠÉ€E0œãÑóDè…½Aûñ~ßÛȈ÷ÒàkœöØê9ž¢y‘m¦p£•ª+ÝÚò´á1޼èÝg]5áJC¹¿¨ª•‘¢¨°RÑ µóŒ5‘‚Þßç¥?áÒU»}eޤöòPÒE$‚DˆÈŒ9Ã¥/n¥uU²Ø3C‡qFk©5A a¸» q…˜7<ås2V" 1¹®ljN¢b©0M A0©m‡¢—¸°ó†>ffL ƒÞÄõG0ñáx0Â^“Cõü³³¹åÔz bÐÖ©ö0VF¼m×>DGáŠê¥q© »*WüdµïϪt~Ö¥Z‚‹eÃÒÑxQðtn¬#Ai¡¤ˆH«b^9,åEpW´G^…á'XVîíR{߯!ZYUVl¬a< e,9uau¸Cæåµ†Á:œÄ¨ã˜#N2üTIJgô”O¸ß=ê j‡ô<|<èň†«yD»gË/ë(ip\¹y:‡ Å(àåâŒ]jçD’žm¸Ë3s¤ÈYÅn8†©Èà}tæèÛ>_MÔÕ!üëT­6`PPÜŒˆ‡ÒñùQ—b”[–"$£ eª£¸ FVúiV$ôN3²Ì«6Ú‚V!z´ÁÀ¤nQA¹Î:ÒFån‡½ˆ1±¦¸BW„¤?´ìX`"E…ñó•œ# ˆëN š…?‘qF%¶X!—ˆÕ®kV”Ú¡j¿Dh­™'kºfmØ~B|`6Éâ¦f?b:€[žä”˜_…KKorƒ¶w 0>ô ¬ÍR]RD\¦¼®Éxupi%õ“¥ É}Ú.s°¥~NkÔiïð¬o!TħuÔCñ•¥² ,Ýl“iS ¤QÒÉk–š¼Aü7y©WìÕÂBÔV‰üñ !hIµD3*Ž3ËlÉfâsÍ€îíø’P1 Ö“ Å¥$m,>R¬5í#p©N˜_)j„i+ÖSn¿±¶fXXc {ádƒ¡Œ€s kÞ¸7ó¡Ë{àò麞Ì.d+¸NÍ™täR8Ç&¡ JTÒÖ`=ð2 *Ú·â­}ÂíGS{Ôês½Ö.£Ýÿu6Fó"S™¾@ÿlœÐ>gó–ÞËzsk÷?;kŽìõêê²Ù³-ƒ5¬œ<¡ #÷îr6yCõ9$+‡’øx²F·ÙÞ- õ#,œÙ6¾÷c{Ë ó¡Ü4'Òš™m«w1´•þã;™Ú\ÑF°Ü<7Þ°j…" SðèÀSÚ"æ/ÞÓ¨‹Î&`ýb“½Î.˜I0§ÿÀ $©„Åa³[>U'¦V•_kP£.,¹"n®÷€>yÃ|X¤æO¨Ùó€êPø,lª¥D|ÔuŠqÓ”tFT¥ÁY•ÊOUwÉü(¹nq'Ûkjà"Kqyöq‰¹Ïôµ*Nd™,UÄt¨}mèˆbô}ÚW–÷8›?8,¯ä˜cf+Íý-ã[ílÞžÆt\÷ˆ]b´Œêú¬þa!ݧ:Xl %æ¤z8¶ˆÀR¢øèœzCz[F‰Kì²ÐÂéÝÌþ´p¬ÞÄÞƒª »ÁaÄÕÚ,¡0Û–}Cw¶6ÔÌÈš3sòùJ; :°ÁÓâÕ6Ó\ïi£“_Kþ5N)šxýÚìjÎ"4 Ý I›@«|¦˜[Ó±~\ζ…Üz´¸ãâÐî«)ßdxÔÛ1­€R_UùLÙ'¦ðæT…šžö¹P{KÖ¸«i÷‚¬(ô¾©(ëÞm­î9kÃÙæ,Ô}m8JkúÃe‹>ߤ³Ð˜–×¾P+´‡×=¨}0Ëÿâ^ˆn7ÜÊ™ËP³Öç±ÃK^_®{”óB{&³¡þfÏdžžv y²u‰ëM'0;EEÕÞ„×~Õ쑚% ÚàO˜ì@§}D‘bGh ³§Ô ><ÆvQ,êzŠÖ·vÇŠ°®âÄ›æ†6ö>ÛÕæò£>°¾CK®Ÿý~[÷èû¦-ºMmE îlO4kªÍqçø®.°0àoìE\fM øå®ãÝÓrmÏ {\SüoÈ -9}«©áþÒë›Šïµ†î Œú†Ç¡ñËD¢ÿñØsà%ëûözŠ®>Bí }­@3cÚëìÖçÍGw¶Ã,Æš— èPb":;¯býä¬,‚î6V´Üþð¢?ʬ*‚ÚDæ£0\Ý€0/‚<·Ã] ùm_ýÛÆ~a†ÆA´;[~*XNÙ— ó¡þŠ´ýA¥ý°P Ð~\ØÈÎ~¬Ù¥™³£ÿŸCf †=†Ù²Þ;xœí}ksÜ6²è÷ü ®\µ±Sc‰‚plU%Îf7UÉÆI¼gïù´…-žŒ†³ÃË:¿þv ‡œ¡4I¶•=©r$q†@£Ñèw7^þ黟_¿ýï7I.–—ÓäÍ?¾ýñ‡×ÉÉó³³²×ggß½ý.ù{ûÓ 9M“· 5kªeUÏÔôìì/?IN.–Ëù‹³³«««Ó+vZ/Þ½ýõìŽEð‡›/¶b;xœíisÛ6ö»ÊÌdã[uQŽ­™Ôé‘™¤MRw²û©"^!AÛú÷ûRÔaKrœ´ÙݶS™ ðîÏ¿{ùëåÕ¿ßþÀ"•Äìíïß¿~uÉœÓn÷Ãà²Û}yõ’ýëç«7¯Y¿ÓcWOK©d–ò¸Ûýá‡9‘RùY·{ssÓ¹t²bÞ½zß½%X}Zlÿw x¤~Äiâ<Õ̺§aá?©j–¼Qï"užüù²²¶^~}ÛÛþyýÞ-ÞWî*ŽV÷s|¸÷P`ga.®ã0kÿÞ{5›ÕKµt6ŽðÍtPíð˜zþ<ù«›ÁððÝD_'ßծ߹]qJNiòüyûeÿÝe=Öˆ= ³­$Iÿq³º¼T‹ëòÕ“ùJ?Jº¨msrþf¥§•I¾_Í ’g÷„Ðìëþ+‹º÷Ê¢^:ƒ ßJâz†À¼ô Oý€IsÝ íŽ€+}…œˆtú¶°‡çá[€çw·ë7‰=t‹ÈIgÕ»‹)üóÄf€'£t«E 9„xœèœ>É 2Ù…Ô-œ"”¯W‹÷nFƒmúlõ¢¾Ljøe^W³%H·DÜŽ1Š’c“LäQÜ‹ƒå/Ói5o6¡™%.>™LHJ`F1!t dlNж–øºaúLŽØqîÉÖ¹G0ÞT€ûn­\-tt½¸‰Næá #Û_Lˆ@)°ËtJF õWøÎ& ð=…,g|µ4ã~µTì 92Jt¿ÁšÔÇßÄÏÂ.ø3ÛÌA?‡SPV3Ók<ö¤7Ά*ΘÀŒ©j„Œì G2JoAkÞ5iàÚMÇ1Ã2â1Ãò]"k”Áˆ³?œŸGD,+ó{ƒ´è94ÿ ¨<‰Žá)¤?ÙA˜t‹8¾ãdsýóVž¥£Æ»HМYÞ&!YQL2À€ÈòÔJ·hg”YÝ0OÐ…– P =C»0ä¡ð/gNv5Ý¢¿{æÕ¶Û¡É€‘íæð“ï ]¶EH¿YS!­¨é·õ‡½ÁŠ:F³~NÙ‡[áDläAÌåé‚g[Xku´˜Söp _T.ªd¨#øqFÀn•SPƒR6ÉùŽcêeÛ<òoõÔ6Éåjº¬æ^3C=mfe/€q:T7àØzÐ"3]Máˆø9ÇNªôêF–ï¡nd['5hGûc/(?c£`Añð‰à;ÎßBª¢oqú-‘´-ô7`ÜÍÅs /…ozî:Ž!X@ŽÜq²­ãЙ7Ñ€ç?ñFÉéŽËU"GÍ’ ¬@¿Õ­R>FÃkv Òž ûÐÞ jï¶2ÞaÔË…ŽæÌE5µ-–ãÁ@Ý|.ШNy!`Ãw]¾…Ó׳f[Áí›l¶ÁR çÎ@¿9†( Vp‚‡:ª;Èøy\rn x$P¸r'b—•mñÈ'n0µZZØËÊÀ¡@ÑxzÚÚ{h#: .Ý¥v°Xƒî ølÑwùœ¿\Z{ŠÏ« _PX[4ê®!ï£Úöá÷Ï–ÿ·Ls#y¿P"ç’º"UpÆ…K™U™.­$JiI\É"Ý[^Kvåò$ì Õ³“ä}üsYÏOÎÿü„äé×aæ­·¾ªàóä¼ó͸é}õ}<{ÝÉ;¼žÞ2þzGƒï¯÷Ä¿ûëIò (ªÞÄU‹wné‡õç¯êå×áÿ“dÿ5Œ@øÕ!…²äZÜfÜ)“±Lh0 y–ÛÔ™“sÐwàx ¦x•>ÛA $UÌÀmZªœ¹LI*]N,Ë@ÿâJE ëu©™¹¨á0î3µ®ëéQô¤ÏßWÞ?ñòLÃþ?C—{³Lv`@=9™e9áyžJfY^–&-9#T“TÞ'ö˜Ë»žï@¹Gb.Oæäí¦Ê;!ï˜CõЬ訃¸7BÊ…+ ‘Æ©Í C‹\äº`izŸÔ¸Ç\;¨1 gc+îD‡Ó0Â$èJnt¦T!¥³ÒŠ ÖSisXSžR÷бÝsÝ‘ƒ)Ð;á)¨ëö ,0 Ik “¹Î ã˜iÒŒ"ËÊâ(,¼¯+ûÐÇi7à cþWË×ñ$!v“z¶K²éÔ¦Vå–¢Á¤)Šþ0…ƒs˨âÇ`äè=#»o¢2²SϹå|úƒ¶‡”«Ô ]H!%Óü'Œr ÀIFÓâ8]ñ£àp'àC†3Öê{V—ó¯=‚þŠ÷.$Ș+¤Ì=På3’sÊs^–)/Èg{ôvHú¦Ïºãçf8ŽÝ‰š4%&r.áœË•*³ í””©ŽÓ­ÞW‹åJM[ƒõãI;—Ѐak–o]³ÐÒtÊ~h ŒÙIùÖôú7ÿÎ&ƹ L?ù*ƱAeß“ã§E*K‘qî€È3m”йL䔢~ýÙžÍÝ€ƒ-?õ,¿šVËë›õ§3Äóû5²ûÉÁÈ˨Ømgkšjaµ-\J3Pr¢¬–°F“QÁ z'Úÿìa÷ÖFóʳ‰ÿm¹ÄŒïnØ]üN'㎹%#B¥¹V °'3ª@7¿ŽÇ–€4tcà+¢‰*›kÓ‚a¨å`Õ~ÈCuÊ„¼/^ü€9"Ê“®ò¡7o7fÛp^«¥{W/n9g#˜O…*à çy–&ÒL§R`’T U}7Ìÿ‚îö‡ÆÐî˜i5GHBLiË‚:›+šƒ±Pf¦¥ —Y †âqlùcûÝ Póùôú;ƒ«éZ=Îú7x»UÒ7ªÂ£°VJãƒöìû?Zd¿JwY¦¤¥HÁV(¨Ít®Da4¿Ôqg µŸ=ºw/mî ­;ñ)2YøY :³MKÍ´–LB-Tf?">w/ 0¾¿¼w-µþòS½jœ|åðGTÖ”µ ÖÞƒšuºVYóJ]TØâw¿êø)†_Ýë ŒÈìTÑiÌ'ÏPç ArU &¥i¡Ýq΋J¾;`ÝÂï€08L;#ÏEz‰,hÉâ%ª)ú8‡ãÇ@ÔnÀ«N‡zÓsÆ~DeŠ2`õ,¤$%À˜)CöDÓÌ”ìH‘þP»p°cߌ9e?óðÍ®+e–°D-ŒÖÖ‚¶î8¥ zA¬TŸ¯‹k7à—õ{÷¶¾/WäÐó…›»ÙN“Sm9§–¨Œ+%•qœiFRžQ*ä‘,ù#ƒÝ€{Åí4¶ˆäimÔ´ç3‘Ž˜QŽs«#Üf¤tE z¸VEA@Œd øf4£zCÇd`•,*ëâ³[œ_t–~[8à]û]/ëþ;ÿŒþï\cÕ<nðÁ°JÂ}XjXó‹ïðâž% ¡6a~þös¹}žÐhžÎe ˆÍ.‡Ùºè#>9u’¸Ów§ëPD0 i’±ÝÒœ¶3ä]\'Ó®Œ&Å –ðdï“5Èð€÷|‚Ç¥ºö…M˜¬aœ`^>[9à‭!ؘC‰§Ã3ú,¹º¨Ì"«¾jÚ§mfùÆËXÓ,•ù½ýÜÃÒ$@ìð9&°]wËþ“Ôö‚CNJ|ß¾tTŽªD6ÎùÏ>-&[›R¯BZk %ÕݽFŠ^¬Ì–åõO¤ÌöÁwýW#™Ž‡°öHÿðA¿‘GÖx²õt¾¨—µ¯jÂÿ¶Üpx̺OñóÅúüÓn}wP‚óbP{äòðõó§#Û1}ö'V¿ÝÊD §ß2O€þ¥»<Ÿû7á—ÉÄ íÆ…ïww}r>¶âýã‡ÂÞKsñKH^%/MmÝy?çåå™ô)—woùûíè¦^ÖÇLÑ16è.”ŒbàÙhÙ~£?ÁZ¼†1<¨ÀYN¤p$×t‹ú¡L<gùëçQ+`.ÊçVcŠcÈŽ¬–` —(’;ùä5›ŒÊÓ$βuZÃ+/QF"ðsŽÎbV ¤ê8[\–OÄ}ŠÂpoŽùD ¦rk2arδÎË¢LYª4¶ºætÀS_¼Kìu˜{­¬ñ·ô«› ô€ôŒØKÒD5CÜfAòØËIr]¯’æ¢^M-|µ%:Tà"ýº0M–»Dy]]ÆlÞcÀŸ®U>·VþlZøš ~ç--;š:M¾ó$Ú!¼”°p ’T3 ³Urm[Mä}Y Â])5ÒA7hª^C½tX|£6ÕGÝÌà :‘ü€Ò–!¿<ŽâQÓ¦nUÙÓäïõ2öÜÈ^m oÎj<’¦¾ ÊÙ/?ûÓý<"í)ž~`m5¨¶—>y7(þž–Ąɯ™Ä±£rõÅ rù Ô²~òÑÃ.Òw€bµG*ÜÁŠÕ†Jå뎚PFX_‰ Ÿ>Ÿ¢-z:ÙÝ¤í°ªúÅÆn§ÕE¸Z¡8*2ƒ¸‡¼L:FpLyØŒomÃÈSdX¸öò ?;?zslØ¢· ë_Ýrµ˜ q‹UlÑ9ž×‘ïÁWZÐ2ÓhÏ~,£¤ýOKùžAâÔ!~¯<&ÄùÍ•ºžôù‡g5 è»An0U‹­…N™ Z^uÇv× GâÍÌëjBégW=–Ó¾4ÊqNŒW,°.t2`’ÈeP§PSXP“\¨÷ndv0=ë°e‹v´#~ã“´[Á77ŠŠêr>­ ¨F×aî.Ü,ˆü®„aX{ª”Zðf.¨>8,kåU0³@9‹xå8Ü# ñÓY—è„ÛàGëÜ»˜.Ó½Ì ”&ðãv.vg}ÿ7· ü£wæ·8GÔ›½f©ZïE{0ºªäU‚>ˆåx£:¹¿…ݯNþ 5Ú|TB§•Æ‚çÈ ¢ì—Vy@pÅê±f­´*_°,š5ç:==Ý6é›Õ¢„ã1ñ/!wov\–úÔ;× œ­ßý»`Õ³1­šzÐùØ#)õÓïÀÝ:þ¯r¿ì—?¾×yšv†ÐÇ:RÃYo9VHëñPù¤]Ë¡ñøÔó–ô}{ÎÕ«¦ #í5~g8S':ý`±Bó(Û ƒ£z TY•›¢è# 6yåîNþÃQîHVðQd‰Yă4[–‰Lü½[LkFb§Z¬}/-÷¬ÿÂE%`æ!?”ܺõn‘\¨’=„îöÈ®þÜ4Š^Œêck1/û£ñAP7=Óò´ÁゆÐ+hÁ_œczy/&‰Š(Ö^7^†qblÏ‚b y€kªÌKI˜âšhWð2†óÜÉÂ00M\±íšÚŽ.†æi¨0±#XLÅ5Ní•R–º‚E34ÛžPqÃ܇–ÝùöÒRý·NZ›w<¾Ÿ­p„ n>yÈç8¤_‹ðÉ—°.…8t!1ÊûIC3ŸÌá³ýîÅãôvàŠè¹Ž¬3èJhÙ½Š–Ñ…÷únkŒ¾H‚Jšja‡³êƒ›†v Õ̇¦¯I'èð·èùï`ÒKdUaÁ0_háØ*_]—±åÅÀ_ÿ‰€»Ê£¿šuy!‹j‡3‰±,8nqYÍ0öô;äÂ$Œt^«¨¸0*TöÚf'CÏ@Ó+cÚ耋ëðíUü—b‡ -ïM¸n{¡ë´IôÊ?Ãxvõ˜V¿ß)Ü£‰Ùyïk!ah±sÈ]í¿Î{ßÃ1'ݱˆŽ7ŸÙƒ+h A&<tâöMt>"õ¿nQ'O ÆÈ §˜Öãð¶žvÄÒùxÓ ‰}’ªÐA7=•òYGÞgStAcS¢>æ&ÎÑ‘Hnu½ñníЭg¿>BŒ;°6ª}–QÄ-¼â»ÌµŸbîwð ×Þ¡\ëÆ¬l0x.ÃMð©ß7mœÖkp ä§Þ4òø4¡™_úWÛ[ûl#„bþvT„ÛMêÞò-º:ϵÅÀ´÷×ö0µÞI˜ÔNü”vÚ I.1MÿWÀ‚j³õk›ÓL:U‚ ÁóP…GŸcU%ÒßûJõÐéÇ9ä¨Ç€G3_#šØóÐ2©v¾Z¶ýæÐ¯²™q׬tLêS1ì`øÛ‘ª lƒ›§?O‹ÒÞ·:ÿ&xÉü°µî!Ý¥S(4X—M'o{ƲÜI°C{BîJ5­‡£\õi*øó`G÷ïâßÿ;;oÔbqÝ9ÇhÅ«lpV!×Å€ù²cqOwJÓ»µ!>#„ÄŽ^HOµsL“¼œOÝDœYMa÷uLÜz4îg¯Ìj³|JC<1XÈö@bdäËŽ7O¯;ÀÒg˜A„ÏzÎÝÑý[ݶóíQЃRÎ$¦,P‘ƒ ÑÛqÊ6"è#•!"èQ ›î@ªÚ5ãj×)²HõÛã÷}Œÿ]¯³Ãßeï ¸èQaAãi½@˜Âƒ2¥š?ä°À›þ|qœ8›¶èkZé+§ìòü7ç’o¦M fÏ؇-%;¤ØQ¥S·N°é…âÎGË\9*2"gNp™ C…ãÛ^¨^rð{ÚÐĵÓвÿW‡áfô½y¢h!„Ê)K%M !°¸œ›œ–²Ìr1à;‘8h<øDi®hIuQ˜”;–ËÒ «$/˜%B)¬þ¾¶Çëþ€O`„BÒ"%)'Ú- îÒ”q‘Û²È2«ÃðþÝ#oõË¢dn9¥–¤Ø,#LKÅòÜä¥(ÓLäaüþ{»gYw£ìY–Lp¿•ÔRbŒbÌæZ•§ç…öÅ}¿;€_š’ÛÔ)"Kj(ÓTsZhã(,!•¼‡ý^½Æíó¬Ûü«RÊL:A¹H³‚­MAœ±\ŠT!gÜ¿°{Ü®Ÿñ•Z&v§‰M5;ãrW¤ÒjJ², `ã÷w:ÒmX‡eʳ&+T ˜ÎÒÒ–&cDªBšPÍ2|s÷L ¢ƒ{K‹ ¶µ`†À DP!J9L¸6Qý[{ÎК½xn¹–\ëÔ?¼“á œ0W:™gÄJA¥¤ŠÙ,£i;:Cìàt/ï?ßFß×'Àdz"µ:Ër*•ü$*•Ÿ*®ßÞ=ã°ÿ-P/  6)× -X¦²¢ÌÐ]êò\ÊPMÕ¾´ßþôïö”KÆŒ*Kb3j8à̛ʥ+°Yîùðµýæèµ£Ç#„œ+E2R*€Ø”‚+༗™•Ýá­ýfèŸqNÀ¡€tó\h^J4Gó‚•’9ÇIÖM°ç9ôõ‡áyF·o¡pâ…-X4kýè÷ö޽SÁe,HÓRßËYª)H$YGuZ¬I|m¿9:ÖU‚XH0ë DLÌY2>°‡RÆú¦ðÂÔg^£Ûÿ19ÑQDU‹¶áŸƒ¸˜÷u*kƒxW­øêE>Ñ*ƒ‹3q§î½›v×”Äé×rï0ç …éÚÖLòcV&o}IÏ\½ Ô!m‡3Î^¿Ÿl­ç¦uûÍ]ùS:`XC„Û²9Wøñ2¼écÔ´¡aÜZ Žÿ¶ÔïÿûsïЂé.ŽÐ;1Ã-&g¶ ‚¢Ô¢$Bhå„&Zm¹wrcN9’‰[”©+h–éŒ'sgÀäuÜ8:®]bÂíÑxóQjCÚós4±×€ó3°,½¶Ó¯™\Ç‹L‹á Ë¢µ=§5¶“©chwûµ6n¬DòãFdzuÜAðu™- ×ËÈòl#6ÖFöåÚ þ­§‚¡jk4­JlN0»n%Ä ¸nHÑi|ä{_“©2ЧÚÐØ "LsN4S9åLd2“š*$»ýŒþˆ^ù)†«ÛL€$V43ïWX}¾Á;œXÓ’åÜ–†P.ŒVÒå”I®T^”‡ïú’P()`Zi(' ¥”ãi™*ŽY½¦w¬ nY‘I–3™++ 3N3Ë2ÎZWæaµ›°Yež m Uκt”©*IËÜäÙmŒ]òýÆ gªHSž)ͨÔ`J©TÐR§…I Bÿ– Æ!’~FÏRÒûÓ¹møü‚ø~1âuŽÆ}—‘{Kµä·×-ãÞΪ­`vWóz±|¼Y°§Éosgª²2}GH(øïxóˆÉÛ6تô×…/‡øZYmöð;­§£n“ù<Ä ø”u°å½ó}=kDÈ„/ µ÷ýÔïà>ê|§‡ –mFÍYá(/Ë¢à9æŒF™¦:K±G]–ò{dÔ&%2OGR! “fb9šd$[æn4ͨµÑ™'#:“®Îaº„ÒÚ¦Ö(Ãî‰QïÑxþQ2êõm èªRýö&¨‡{©ãË;]ÔŸ·Ä˜¯|Ó•‡òVãFWá.åN«m³î›À_cë´>’'`c´=C»á?RwÝÓ$46óé£è—kÏ]àÈX äݨ“àå~ ›ÖQ€~×¹ÐE(Ve ˆÝ=×x/ò·äʧdŽnFô¯7Óÿ]÷m ã…¿Pp¿ÄÁ£®±¤Þ@6Þç¹³Qêyá}0al,¢™$e5Å[£–Kßë1`¦ýúàûH‰èFÐ>æSVï|ÅFÿï÷:´v}›µâÇ+$`ªÙ\s.¡)˜Ôð«aÒY*àè&7Ïù=`åøyi™²2Í…³Ž:›Y•—¦.£YÁôæy‹Ûà÷»L'ؘ8$²‡Ó :*0ô*ùŒ„]Gñ&Eî7Æ)¨5„Ó¢ä4·$g"ÏÁÚ탸óFšîð= z¼©¨ÜÖ3Û´²cMr_6Ê|6ñ‰ýÃ]cq×îJеÐBeEJ8/$w¹È¬.Ç DêÒ2^fÝ_îõè²öÕI·pËÔ9J96ІÕ' ë2M¶ hw}\¼ýVo2µ®Y*ÍöðŒ=ªIaLN UB9% ÅZ›QPÔMaûðuŒy͇{vK×Fôv{à›¿…’‡½ç ã°ß« ±Y»GHWã«f¾ÕϺ„´Í¢óÊ^Õ,c­‹…û1BCºÅºù¦/;‘¾;n軩™Ü‹¶ÀqÄÓäéVîA5ƒUTË~€¾÷a¿Ñá~µ/bÚ¯Î÷ûXlÒ«ñ…Ô!Ìí>tö"Çè‘Ùv©ßé³cÄžb~ãP,îp±ßb+§“)ãÑZAà Î}“*%››²‹/œKK°H[˘$²,Ò4· F$U˜Ñ\djcþm¥i³ñ ñýa}wþ–‚1±­b±­3 #·ª?¾83¶Îqyt­v*v›z¢–_öSÓ°žÂvŒ˜‰Î—¶jØŸÔž{凣¼ö„ië@“ÐÄ¥Z’©”JÆs<Ï…Šqæ#¼ö4g©(A|ôÔhÌΙ–¡x™‰»zí÷"ðÜAcr›[ª3­ñÖnC³ŒhêˆQÌr*¤*[Alö’¶¥Ê­M–x£ ¨W¤,¤ÔFkVJ³ÞuÒöƒ©I÷Yø¶ÄŒæêNú*̆uºnÒV<tÛ/{]ßž4¸¾(˜+½6C7ÄC úòÐþ ‡]Þ{gmŠ‚ªƒÆ1±Ç%™o!@M.A7¡™;V›™C ' ß°9`ÁKÅ Â3. –¿Ù;ç@`„)åy™s@“Q‚e:f™’\d®qÕ»üqí¥Étaƒ‘¾m 5¥ -H}Ô'4lm{ÂnTêaÄü—P ë«è|«Ñ6¯ÉßuµÙùlòE=_à-•ÓëÃÙ¿ºn¾Áºö ÈÝâÂ㽊¡ûs¿$æ4Ùb ]·fÒk9‘VêÍû‹zÚ%±„Ž„a¸ç—µE§e*,ãw 솰Îwi}è•”Eidî˜æ„*Í—Š*™’£kŸäÛµ?!X¡ ä§Tl`»#o¬8´,˜lÀ6§.ëwïtBëÀx‘a×nÏÔjÖýí/#š ?nÿZ»‰B_Ѿ<ó7Œ:ãl ©ÕòÐÖˆ“èwÃXf—p<¯›*f.…%wŸ¨nÇ¡®_òÔùrR5Û@åòñ÷<~ƒ«›m­Z*ßê0¶õé¹[¸¶Ò Å=ø7¡ Þº¶k#r‚*öQ³Æ§ÝcXöw8눿~KZÿz÷|KÕ ï:~öz]öˆïÕ )tcvÛÖó‚2p‰‘Æ Þ}[…°o;Ç<³^ Z? ±_)‡~²¾¨ƒ³¼·uìy°n“ªÞáýòðYéwbµÜÄÊf{ÒÓ¿Yh[ou2ŽÙ >u%ä§ÎêÙóÙ*´Ì\\ˆ|¯Mã >¶«o[ÍÔ‹¤TS¼¬74E‰B¡±ÉL·ËD†‹ K8M¾^:ëw߇$6Ë"q·®@"… ÉÐi4ÀºÚ¤ñBôÅÞ¿¡þ&Éx·bÄÂ0¡ÏñP\4ÝõÎ[³FÔíÞG¿îÁŒ[ß:cáÞW óñ†à¡šÕW ÀÞÌE<„=Ùå·ækõIÜzõ¾Ê)U¡x‰•ù´€Ea* U4×¼„i¥3G'f”’aÁnXÁ”´.RÍxÉQü®¡˜€’´,$„JPªr“ fËlQØ#B 79ËÑw¦lJ3¿P¦†ý-Qt8!uy¬³|ÓÝHi.¨+)ØYF1ÀÃ4Vçd¦,¥¶G%ÜRTÂþ2Æ­”F”ʈ̥Ì"Ì-î© h7eÿaÜ:æýw¼hí>ñÇ™_ðImèv/QŸ‹Zƒj¶Mé­ëZ};ò=LžMQÚ¬Ö«%å:MYʳ´à4Ë 09,qß0[ð¾ 9÷{ð(RÇMø¡ñÞªgÿãÕ…æÐ¦öGvƒßÔóviOAƒhõ¾g116^R=ÐìÖ{¼[‘Cå<êo±écû礗YÛ¡èq*‡ßópOjgœPšQc]î %2cŠiER«KQv¬šÁiZ`*8cÄHfYZм(S.…†wn‡NÊT¦69iu è µ¢PNÞ£š‘— ö¥”œç©S…N‰s„•˜ª4Õä¾Ô “ÛÒ¸”k§­½"Õ ý-fÑÓ’1ÊïUÍpyæò\8Ø ]pc%…m’DÒ¢T ê÷¤fìn¥õ‡Q3Æz‚ý_3ÌRLî¤ut÷zÓm ô:mfÚùûd@v·î‹A{¿Ò{ë|Íbl7™Žt˜ô‰Xvão´sûê²öMk×r¯+zD¾Ì^Ñ‚¾}ƒïïAó ¢)”Ø´JÃÎöœÃýhÃÉ¥úÝ%#”ø³oJñ<Ž=²Ó?„½ÃB ÿÙ$èŠñEïú‡úéÈÏ|iwÄFÃÖº.¡m†£Ÿ oiªÖ ÝžaÞ@V‘K(Õ  ¬Ê-µ.㊢(àS8’[®xæJ 7¼+X•¨ÌáƒæÙƒ×waõèªà Ž:µx„·nÚžôÉ+h‘ë«ÒÚ™þ8ö¯ ü¸xÉî^У-”ýI •|מU››©ãí§ï0râNß·áZîŒñ´Ðhsíòœì.G ‰’û÷*-]›~/r¿<œÏê­(3…d¹ %)A_È”¡Œ›’Rôµ°GÛCjüú÷ÀQºgU1$Êv“£»h ½AþóT†^;ª-ƒ™Ä X:MÖwÙßôµP‹±àöÔßÚç.±çä¥.¡á÷lD´0¿–ÿ³r='³X­êíõ™‰<úÁ;ü‡;!N“Ÿ1&Ñ Ðxή’p³b[k×±\¸È½û.†rǽ÷n[ª¹jºû(ØûpR.‚½ZCÉ,+€Ója´¶d—ã”:© Vªì±òß‘»ZPÝ~[ûÊx7˜îq w^ý rÑ ÁýOË=»“¬ù H³ïzØÊ–5Atqà>¦û‰Gè7ÕvŠn¸j  ØÎÜU˜éKlVÒ€‘æórªõ+áÊXkêÏ××d‡ú~w(QH´ˆ¡èõÝ€hM |úuxCM{¥n J¹±ìÆ2ª²í¬è™»{t=N>wS ¼Çßûî±ñ½i öâ ÏÉ'^Äž]³çV;F¸Íf”TjU$M‹Œ©ÔĦؽ•õ êERl\æº!>žø|º%ÞY»N˰ÁN¯9^lozÄŽõ=äZ-cFâ(GÛŒ‡+ì<6ªiwóÖûÀ6ã«e^Jâ¸SšhWp0ú 繓…a ìºb;w›ôš}Z\mNìHjó‚kœÚ)*¥,u!°º–fh¶=1Xn7ÌwÞøû‰›­.7ûóªßñb¹Þ¥xñî»¶ïR›m9v(nn‹³pcÊ    ÐéÐ{h0…ë›á½ÛØ*©MÂ,k¼h w»¬ÀÐzñrVÂËiuÞ,ÌÙ½”ýWqñ¯¦^-LëL²×—í¾<ƒ·»!Âf>Ïüø˜ÿôü¹_9â/yþ|(RËê³ó¿vP·=©$ËåüÅÙÙÕÕÕ©­?\ÃâNëÅ»3¼BéCë»ðÜ9-NÉ)íp§k{?ñ›ç_ü§wq“r+îDÄÅ^½OX¤ùò1ž“““ò=)$\¬œ’ž•¥¡ªŠ.JÊÅ( ûÕ3;{-M;>>ŽŠŒüà1³pðý_¡#gd‘ªššþ$¾Ê””O…°ž˜×ø‚±-‹çS33¶Õ³½½½7WgµÕÕ8)¬jY²Idää¾÷×K †‡‡ÏÝ>q3Æ’>~¼¾¹ù®ü×”™¢âHjê3…õ>J55µ˜˜ ³âÊJË_¹.ú÷!IÕ¦h\H!À¨9á-;;{ö¤Ý«W:Ūػvc¨ÐQP|?·øÍ5zjªZúPKÉÈÈ4M$É“}PV~AÛC8oÀüøÄ%;?ÿøô´â×/¼2bbb,Þ°°0.ù¨ÐßXÆÇ«×Çcx¯Oi­«ä™\¿®WKÿ†v*ƒ ÖyLJºPc/½ÏÂÂ24:5ÍÉÊúîÝ;“}†jSEEOó’kÔR††Š ¦ürƒ…ÙÙ’xÈ>MxóD‚^©ééËÛÛ U™ïÑa44èÍCCÖ 2@HêëëÃáô½33Ww·{wó î3NÊ´ƒŒïplRΪªªÙ*ë´ÔÔ¿ —LÇóö÷S@T–Lmýúµ»»›Ërž›——3C”((:<\Ä\.‰×~®ÆD0è¨þ”ANn.¯ÇµS}Þ@³«ÃGl.S&9d©#l¡ÚÖPY9z?x™Ïq7‘Ýø‘²ª2F,6DõùQü7d(ç ûâ0³T„ˆˆH€´äßÜ·éû…ß¿ÿr­»§G±§½ÆÜŠÁDÄQÐ¥ªªª‘¥eQaá|­ã^gg瀜¥•ƾLvz:»AïÆ»ÛÚ&koïèõ®g•˜À!”BZZZÉçÛ öVVV ‚ÙXYIòßUm·ƒ«C¤!­Ø=Р ;ÉëgÏtæëœeø“û ²23ÛÛÚäÃÑIž<164ô·4†ð(y¤ˆ!¨dý÷—ûŒ vX…ý«ùˆÊª•<º7¢¾°bŠà7añ§ÿêjçËÿVvVt¡å*ÍÛhú°••ZZZé"cm:0¢(T/¢Wt9°¤q¼ïî{ýš®údcä¾” uÒþklè¯È÷¾ÓMe áß;ëëJ<<5IIS/Nv甇ß"AÂ¥àjÂl³ÕG.g»=g{†HF[¦œgóÕD ¬ü1 a _K+È(¢ñ®¶–KðéâÔŸ&^Z9^™xöñ4©š—dDFzXVvæzÖk¼Uâzi´±Ü%Q*¦Ø}0¯†—l¥V#™“¦Ég°ÆRÃ)wjØC x¢Š=¥0Ôñx½Ïýª0'÷¹`]ç´ :”#2H6Jpîl¦W›·ýI±==yüü™¯µøÅµ’Ÿn[1€*ñ§ñ4½j?üÎuº¬)k`xlì»Ý[PªÅe÷‹–—¹Ì^ÂåüüùÂH¹„‡W€í'F–WV®u>šúõ«‹È­Öxä=!á[)às$<áq}=‚|uÂËSóÛw¡ÉéÐïv<4è.©§îæV$=ùû‹@!ì ÅùÔIúDY¥ã蘟ÂñÅoƒ^Eö÷&3p,:8!AÜí”Ï úƒc][lyO›õ»?).–©ölcDùßèZ_€†U–s~~ì|t}u2"èB€Q-!.Þþœ‹œ\nr*Î×÷µŠŠJ b\TŸAë¢Â71©*,\T)äŸ/í°¸½`Dƒ i0¶ UÕb½®o*E6¢¢± g±ÿ¦£E…~O’'k²iÑHMm,Ž-/8Øå] p«ˆS/v׃¿>å'<<—+=’_ è®7•×hó‘/ø±îÅÚ@­ÃVæ« J™kÊø mØÝ^‹ròõ¶´Â*llÌoT–——óóó9)”xA %áx7¬  %œšnƒn ¥™­9I¬½"pt”þVÇ×?>ÎÉË[³Ó}““S^^>¢ð¤‡ª^z˜}}]‘ר˜} rpŠ1’†††T,È0`è\2îï¿l×V<+ÕÊŒÊÒM‘ ¯S𠳇ÛÉâVQ¢þD¥ár?h^TèTØ’³UïÎç|ЈÕ5pÃÿ†ÆÎÉM°ÚÃ]IL,°ñ®ycDæ ‚ì«Jॴò? ·ùãu_¤3;–7•pG…nG>­ÅÕOoâÔÓ"tÿ¯_“¼Í„ k—‹“Ó€5Ô/¥ç!âiCF z{^¿–#ƒ„Œ~ÔîS\Àåx5ü¹ÃàÕ½¥¥%.‹Ùõ½=mUU§õÁ§rry*E˜Ú >½}ûÖÚÚúÛ·oÞ¥’ ôô¶ lÙØ<’Ò&'Ä s2Ÿsù¨2q3œ!Á˜ŽÄùï¥-`¶=Y ^Þa ‘¬®®zÃÖú“®® š*?¾}ëa¥[oYq}ífjjJHHˆ  #t¶Â>¾¢â4ŽÍ°Âb.Ô×4‰°žX&.kÍEso*777;;;tï**L/_¦Lcab‚v‰‰…Ešÿó¡Ìu=€ <ÊKM ¯Zê°¼¸bŠç4ÿ•nj\}|l‡……ÕÔa½Ôž‘•…å—à¹Ñ:==íåå…t+âŽtH†§Æ‡¿L' õ{b0à=•‹V×××Û;;Õš«·7Ws³³ñ¬»kÉ® ‹‹G,'ò؆R¼ã ¬‚€„„D; JIúM¿ ñ&§¤ð5Þº¬† ­Þì·TFf|%em¸4x(#ÓÚp^^ž"ePPëɦ²ºúå#Ò&£0hiÀ -þ¸¸”‚‰&é ÝȤÈ" ‘düúõ}:sdƒŸ"Œ7%7÷¼|xÇRWWFEÜ{šØs7M‘æBb⼜œ‡ÈëCi#Y®g¡Ô]óõ®Ú nÎûš°Ç/H!¯ìOâx)><ö›…Ykq °+é~m‡„XÎÕ¼8ÿñ㇑ÉåžÏ€¸¸¸””v2€@À&&¯¢ï5~¥îÚÞ63ñþÀý@Ê#ä¦OÌ_+QÐÜŒ5E‚órsYd)P‰àeffº_†„"^»3•{š|Hsvø¹.ɨåVf­±W$fŒòãê4ŸüÕÔÖ¶ÒB ¢tzÍRƒ´òž‘‘È>Zjj¥œÚ‡†ŠéÈKT󃃘¸nŽælÌëìî.,¥¢²R.B.è> únl¿~éÔÕéÎL£g#ÀYSP‚Ø@$o/Ð`R)ÀT«0ËÏÛÒ“šxFòñãGКûûûsss2œÆ ºó–÷ Û€022š˜˜€cš+q6Ï͹w~:º¢«­­AýšÁ` y®5¢½ WB‚Æ@²ÀÊrCÎÝÙ‚'<ñ:º9[P|ý:Ø ï…ˆWèâÁƒ†ÆñêÕy/q—‰³Î˜·ëܤ™¸’¦&YPÛ# ØùîC@ë~*½Hv™ìÁß¶œ±…zW­+¹/¯mÿüFB)*[+ãÇ)õô¯ 쬸s3Ú0ÑUŸ1 üë-TÌÏÑ ••Çn÷[ÂkxµÞ÷šèëg¦÷fÈñ¦Bô8pº&¤÷.- dÔ´üð•ß4…i&¹6)©;1‰¢Í±¼ DՃ辂¯È¢ Ý>Ѝól¼üéQˆAéøDHFaZæÓ¥!2ºLFpzú•0pˆ9HÌé$b&AnÞä_ÅOw-è6Ôãææž®t å€Keãg_“?yB·‘ÊûÇ?--íùÆ+HØï“ˆ±×)ˆËcwXm.’+ßoí±ÍM'•"Áo¡²2ïݺ> fÉQš™òéÜy °¦¾€©ûëéêú d ¥ôÊ[öÜÞž_CÃ'k½›ð¬¦L ëW! úøÕwゞ¯ÖéÏoŠ£Õ®?b>º2‘B2ïo·û^Û“%+³iq,,ÛÉ÷à‚}8èUä¤WÂ""ýã­¸BÁ쬛–`À WM!Ìõû÷ .£Ye†ŠÊÄ[‰,¿¯×'ˆ“ÌîÚ (11혘ç$HÐz6Âo°*ǽ:ç[ÐÛ÷÷Ðl¨“|ÐèÁÆ’>=k!§¾àò¢â× fb*vÝÿ4—BEË[ïž‘\+&ÖÝà~ðö-œè5ÉκQaVÖ¿Q ³#¾‘_Êå¸ÛFÙS¤i­¨¼C½as›WCJv=ñS”ëÕ«ÜX¦J+;v•Ó]àOL‹]¤ïÌLEGLÚUv9äÂÔI®ë;ä±qjF–wA=é»scÔ0€[ {SÃêÎ×[¿Í44œ¢¢ªG®hãRXL-ct+å(ÒÛÙ¾øGg ­yµÖ¹küÙõ0éŠØ[í7'Þ i|·S$/Ö¼û}_ºÑcúëµbœwv>ÍDøþmADdä¾F£TĬÚZÝŽ·„„«1¯ä8UKNÀtg~Syé]J·fÉq°°˜}ËúËd;Qäv¾_92 ÷LžÎ‰ôÖÛ]œÀ,­ìlƒÝÆÁƈԩ¯µ*òì|ñÒ›»Û9F˜ ËPø'нOÎŽ¤M4Ÿé/ŠlfùþéÉÞq¡ùå¹õx¦ [,#GÇæ ‚ÎÀËräà&4ró †=6G1QEuˆ}¥æª‚CCkà Í_î×Jç>°ÎЋ8úd+žÞ‡\:‡@U]½”Ƕ 02ò>ׯº¥ÓÁ¡F¸ˆ1Èš™©¿ïõùõk%>>é…Âï¹ZËÉmfÆXbŠ]³ÏŸ_†“€H¼eÖ蹚Ú[RN±×j‡sUÖ÷§=Žkx“c'.@pFÒ-Ùœ¤@òðâi’ âÝ]5Nææª[î]˜ÇÝÓnèµ·ÁÌÏÎ Ö]þBeáuÜý¬·|38¸«)›S¬!f¼ÞÙõpYÿ àéé *-%+ÛßÝm²$’VX¸›-ÿ£*nÄi½hH+s©»;û™Ï¡×<á¡TÄñièL%“G“·üLEŸÅš"º÷¯òrÐâ,®¬3@ë”QRŠJσ  ÿ'"P1•”Í\M'(3ü3­››¼*ûççv”pÊÕ>Ò!—NNô§™Ñfææ/`õ1Á`‹$«Ý¯Æ.Ž “xéÊš¬xx^`SÐÓåÔÙu™¦P˜3?ƒ I$ÊûT.SSm€ä`Õ6Í ›3Ï‚¸Ü9Ú(“ާBn´ðX*ÂÂ"ËõøƒFíx ¶_­ÃÎF"‡¸¸€ŽîÔ\MNES(ö ¨ÄX=lMÝÏÿôÇ\¢ßv  Ófs6Žnw$V7h[??F8óç”~N·ükþ”8¦ÆÅÍ-*e7¤_B]èÛURsr..OLííí7u:)Òª'--´ðBØ—íBçóæ2XCzņoXG %¥å'osšÈ®›oLü8‡Îwͤmmm€¼^¼xÀð úß5¸gÐ @¯õƱ§‹oßìáA)'¨R××Kàlëór£Ûoòq´]%cgߦ í±ø¯,mòΜôÉpn'"©Žœœ%ÌëGÔ¥¥¥9oG3þû]´[Ó×S1 R‹ùº©¦¦Ÿ.D $gJ¹ÃN’¢b¥ûË üÇùpÿîàÔ§O{¢¢3ôŠÿ¿¼•ö¢JÞò¿p4ñÄ€0ÞüüüÊÊJ­˜ãßé‚aeRRRµænw4ýÝùnÓ“ùG\HØT˜²n´=ÙäºRû­³øx¸ìZ§ƒ¡Ô·ýd.Ë9UÖô©ª©9;;óðñuJ)4ßÓczy¼1Ê(-ݳ3SY[U•“£¦¦†±ðnÝÑñ쩨߇Ø0www©ìe¿~ sÉ3Ùð.Ÿ«u”“”œ¬´¤c =G1 $ËJO,‘±5ˆõ¿~ ›©‡ö¬h¨ïn“=©V » Ýq%›ž^íq>ï87ÕÀÚµÔ-nÄ@$mfÿ-ù<æG»€74hn蔲“Äw¼*ÓT¬+Ý:tQm‹;µ=¸ÒÓáìÒÿ}÷m0.7ÕÆ£ÿ¸e/Œµ²½;ïÞ6å¬ „½w$6]ž57›™3}qØ/BmŃ¥ wTM"â8;'©¨¨8Ø&<;Löñ¹³q”ÀD†@Ó ¦–¦~Q"ƒ…©ž›ý’iñëé_O§çÈéðá°yC}5zNö’YÛœº t‡NÝ—ÉÓ…²æÇCd£ Q‹å•hqñ[êi 9àë¥'ÿûo“Ïö°Îö+ ú¢’¶ïpx{¿ôHÁg 9-‚ÇGFì(h›’efÊèV³àíÒ˜ËVÜááá++ö¯^=kø¢ nÅMFNN.¥‚±"ˆ|r{}tBÊ$ ×zÊ4€§ ÇÀЄµ“÷yÞŒ©+¹¿û }=’ecæ@Bu ¦:(Ì-).·Ã€¨ð÷ zeææ-É$V¹—e R†sYÔt,­…ÍVdŠ‘Üè¶ùbáêêR :íËÊD–—olOµˆ¯Ëd9þ¡Ä„„7³È ¥lŒŽT|Ö\Ù•‘^¨ ‘Ó|¯Ñq”@s\éŽÌξª´lÔa]ax2µým©o1˜P).pdäòZìÞéÙˆÜR­½"¡”ÿÆÆT9)[ûï G‰DNiiWÊ'q6§Û-îÚCØŽO`ŸŒgN¦o݃¼ ÔõÈr/ÏÄ$écAüˈùùº®ÊJ!~£ižÛª‘†ýüh:Ú;»èXX†.NTLMM•Çd# ± HýžÞŸ­d¡ ÜÆ­­Za꽇]ýŒ¥|£õµÓ]‘²Ï6µ<ƒ´ M]†R’ÖÖœ8º_«Üœ5Øñ¾æŒ)È™R£^ù¦lþš‹“sçü@Cn€K‘_«×åÈfðã=Û  §ÄR@Ã3FFž‹¾húݹ/š´Y¿7K aÓž˜½Ý¯x]ØYXY}™{V’øÌöæ)ƒC\ß!îÜâ½@ñj·©´à2ìgÆgÜïY‹4sX?Zã).ÞÖª¯ Hçgq¾ªøtwkj8™“cocCRk4ddn>Äÿì>èW˜Àº÷îYDYÎr§À ´)íw¦GF²P*ã³5'®šè¨ÐwDZ ¿ëž9??€«GÞÃÂì&' %yltuÁS'PÕèp`Z¸ó«ãwßßCÀ­D¬<À¾'ˆ/ÿÎWk <|øP¨¼Ê?ždèÐêꌵZÓR1U ÓÙº ™Š£"í5& "â9GG÷M¸!(ÎȀ˿K#ŠŠ °ê¿ã)$#®/Ö€ÒbÒ4b¢c~žö©'ÆX9¿@F.Q5·¨ˆîŸ••oÑb{nšƒŸdú mUTá[îU­QŠ‹nOÈi|-//?”•ÄÇ”$è>0ªtÖMX9~­ F¬ønG[H"T0âÉɲz×%w·Ui·.aŠ0ÊÇ?–—ðii%ÎN“-uÙÈpQîC^Ì ïrssçÊ·J’’Ô@…Öo]knNއ7~f*î[EŪË9óÑ„öÀõãxósN‹Ä¡ò¼ÀѤdã½û‘ï¤óÆ Ëͦ6–KÇ¢þH8[(Ñ1Â2 Œ£EAyñ„t+Qh×ìGrâñðUí/¢0¤cܲ æ"ˆ»•?Ž3j¹iЦ5ù`=yðíuç#B{Ï«S,7Áj8UD@ç…ˆâ!ŸÇ6ÞÁíxûÚô°úWޤˆcÍκÏÎ~XW‘ùÇ*Ë, Æz©-âŪÐYNn -Ðz`$toªÃ£¹Äªz“11"锬«K­ 09\­Ì,Ú/újNü·‹-\nnON8tu>&ÄI?x+.þ®æ«ƒù|3bQI€( • Ý{²de;Ž wwþFY-njÖvii„œ\Îlîòf8C·M^ci¾þj}׃÷õÎÍæþÔ¶Ô{×ëòÂ\8 -S9št°(*õaœÓUKáO1åÇLدOJ3Y‚p~vë¿­BUš·'[××¥ÊWï¿D ?Äøðé†'D52½wÇ MÃì±O÷Þeÿ·½Ø+mAìg­%%¹Ò÷eÞÛUXŸ‡6“ ’¼/^QMÍW£Ò£ñSSå D¿ƒ©:k#~ýªÍû(c´kGÖáè ¨¦¬ìºÜ©ãìì÷£ûJFnÙÄf°½5œq÷táæ~:´W Ð2¼BÈ2}ý88i ®©arš6‡ l†+WÔûŠ´Vjª“\ž9ŽdƤ·ã}FAedÈ"™úú„¾¾s°úš©‘/ÄL‚Ó•{Ó»sGÓfÕ›¡ÂÒÒ–4Š·—'Ú‰‰íÏÊ42½é&Ÿ‰Ze5`¤Ò~— Ö‰¾( Är~¹Ì7¼¶²Æp=øÛRank%.„¸ï-â.”ÄkÖ—œž2Üø0:Z™ æÒ®FA(a qãËMLÐíeq¥P‰íÚŠrfÍòx¼¢J"*åüü<„”ëòꊘˆˆ‚×®sdähs,϶5Q´Pëh)//¯©©©£“ú‡!‚º§»›ŒŒ,11q:EòÖ-’WTøñ+u(âàöFB ¾¼©É1Þ~<ü9×Éñxff¾¢rs!ÌÕDçpkðg>¾6Ð:oÙ?“†ë²S°½µõGB–CŸca“ENH` &`òÅv—›‹‹‹ñññW¯^ÑÐÐ=ˆOVm>à @ÝÜ|‡Í°ßl®F«—£ˆeÒ.œ¸[{þyqe%”•´4Ûá¹ÅMò$Ï'£ž#A­HlÞTi8” ˆ"JΈ\µ§nG(ÖÖ¸ áÙýgåå³}   ¸-w6xÞV[l«ŠãLÈþ?oM¸^\ý_Ó_ãQÞ[››Üd¡aañ¦Ù1L!÷ A‹EB[ª ÃÃ™Õ¾…»s]EâpÆW—ì·ŠŠs^^/têå·/Ž é½»oÏu“ËOð°GcŒØÕÅÄÄ–,GÇFGÝn.ËkjxOŠÔP)ÒÊÈÈ€ïýçF…ÿyébümé¢`Â瓘Ț÷!A6)Y†5N‡s TH ‘vÏ@‹ÞÙ‘à^ áöíÛ·ÌÌÌÑŠðpyÃpj5EÅÈ›øøw¿™žJ±òñ%ÄSô¹Œ,ÂüøÁâN&2÷âÒ…›ÇRÈ\ PEm1±è߈F&%upÜ|^¼öÈbÁÃþ|ÿà5ÜÜôt›a|ŠDX½‹Îû^ ›{ÔâÿÅ â‘°AN0Š*+“ yÔÅÆNoŒäÀbbbf*-­­åKKJ5Dÿz¸»»+ê÷à§ÕÿAs¥b\l6½¦@„¬Â¨:cJJLØJ zbÔ€®‹Z::|—õþ€‚§d`(M(0'}}] 7ì%#Q"Ó¼@c‚.“nïæÿqMÃôó# Ð„Köýó§çÁÅ2h# 6ÌÿnU®Ü§å`dª½¢7àOÕÑ¥4›dv_éÆPÍWý󟻄i@WzSXÈg³œéÓò’£œfnÓñ|¿Ïñö[ˆ~ÐÒøoÏÛ.[LºœàUƒà/WhtþJ­ŽCo|c„N__™þã{£î¦œœ'wÖ-~OÜž_*ßgÒ5p‚I@:¯””!|¶[TG’Òw,÷»ñ*“úè¨#—7µ%œ›î$!qÔ—`Ø5MÂâìœAÌÈ_ã°c {Z=ùÛ·PŸ–J6ƒ,ì2ͨ$/‚‡LGüøGúÏŸü®§\!”§=Lán‚žk²3ãaªÊÊ[«—ÝÑœµSÝ£2_Â( aµ§ÇÓå†d¨>‚³^æ3«ªª77M$kØC{SI‚¼Üüþ½Èì”ÁIʹ=±”þ~Œƒ,VÈd"^ ‘ÉËÓë/f 3ÆÂ¯yoß4…¯¬DðúuˆJAü'‹ùÆo{@Oa¼ÁC6&zh6@KÌd±mbéàpà‡-zºàqBÓ\t¹U4Ñ‹fl\̨©:…‚ÅÇHæ¹7?#KÑÖ–±¶•ëÏmýÞö0ÊÉj6Åá1…ŠOѽGÿÚ\t„¾˜žŠËÉõ°6  Úf–‘‰.Ðh´\±Z\tŒšÌm=øå>VTtÛƒƒ =`I,âÛ» yêÐÐËÑ0àÆ›Š¢ü94 ˆŠ„’I[G¸.Ìd¾“¥#l¡ÆShi[Í!Kó5EvaèÚ†3 Ãváìíjˆ.ÈÎ[š«»øÛìÛXsý¨®>U?möM;ØGƒ¼@æØo«þ]î¯wu¼Fzò¥Ö¦Õ0«3ùKë5ÅÊRG ~Ï=J¡U2Þ2«ÕÞŸ¯w³È-7~ýjàýæÒ˜'îù$‰,ò]Öó.É`Ÿçz‘£PA^Þâ"KA[¿Gâʺ“·xZ’ОŽÞhiÛM½&ã]{ÈZó…å†Â²m|¥B¦{ùÒøÏoŠ4ñ0‰0šÌŒúF›¶ú´@Òð¨ãî.:I9¹çÌVÆÉ›¯ Êêñ–·&àÄÄžonïCßQ@ ûbbv$»Wév$2‘ï9ó9j©—›üMPçmº»Æ>Ÿæ¿“ÕgÓ]&3\ ¡~ ‹¾Xž¶Üm55$B×Ì6íFžŠSÿSüä ì~îï×vw÷VÛúsUÅv,ÕÖÂwg*óf¢ˆìú×"¸àØèUåúþìÔ´YÔ4«"vv›y*Õ..ñl†8oCãC3ßÜtq\àRTвÜ÷úý;½#¬”fcÚ´e‘—·õ±§Þa''làúâH¢¢Fã%C~@ˆLP¨¬û5·´´tÛøøvgx[Õ-D•BaZ³úpy©ãð…4‰Çê\m(×]SΉÅÖ¥ðóóâ¿”aIÄ$5³³užyôæŠööuy*p1‰¬ùº‹7ZÉ,æÓŸäž-ÍüXõv’Œˆ²Ã†RoÎÐFGyQP^߸KEpr¢ ¶µ˜ï²=C(^M§¨Ž%ÿ¯ {ÂG†ÔR4/nð í…@¢9;Ÿ8.œ”?±Ð×OMM}¹1Œ¶ ”*¬ ¥åGEU9ÍQu¶ÜÕ¨ ÀÚŸdklù^Ö£ÔnÃݽ/’6ÖØ8' U¡”!]ÕÉ9ÛµaîÄ¿">.@úŒoøÔ:ªDÚÁ@Å ]N [fw$k \ïÊmÑJK¡½mþÝËã„1Ã÷½÷ÏF–:p×ñpщ ÝS)œ¯¹ó¤cûž››ù9¦Ð½EE¸E »;WW—4§«k)­ꉂ Ñ¡!ÕJ “ÒËãÓ†Í%ü½u£ýžüS7¾¤?D¿AÉ€ê~i7{‚´ýAÐ>geõ¥Bç«E¥XÅÆªMH¼^Ýž2Ð$X=8GÄÆƒ÷‡Ç‰Å6+ÈòD¯€>KKw;ÿP~iƒgéj¯qcº\W³Í.PèD"ô¬ö“¦Jý‹UO(}:ûç+vê"G&?·Ä»ÈWUÄÔš(ŠÖâO¬¦ûоøÙÌqc8m$kïæd‚TFFŸ4aLÓã1Å£ˆà¥‹16Qt„K©¥Y”D-ÅU9«Éf¿IjF,‰3òÇÇ©öXXb1(Ê!ùûÑttd•=a{/×b1x/Ä[ŸVhŠ A@†*<£^.ú)z"詯©·|³¼¬¾~ ‹«Á#ÉóÏïmâÍ)ÅúpÛ 7›£ÕÒ/_*ëë´kìòЛÿ^êP{ú´Ëp slÜ&K–¼Î6kç ê# €óˆŠöS—ÏvõKDâö—7Qµÿ3ìe‰I\6Ïàr…Ú”ö›£õ°Z3b£4¶ºßž#YŠóu]”ìÙ«}¥}$¹© žäf€“¬Áfï´mòÖ-/ŸÕí°ÌEPÛì/1º>„z´B%eÓS:6fßœµ¶ÓŸìž’Ÿ¿9ËëqSÖ¦´|´ÆCÊ%FRî~¶Ks刅ëØà°CŒæ/Ï@”Œr¡ââRãëëûg©Êzixd¥¶·¯¯ÑNÇÜÜ\Xø·Òý¯¤R?Kà}°0[m‹…‰é°3]n6źhËC ‡Ãëëb{úz{g=fT®==?}úôæMs_W¥ÐîÖÖL+ŽTIJMõ—/_ ½Å/¥"i ÔJ3s™@ò¤†W]#‘‹éë|ù‚&òYä9º·lÖÁuˆøwj7'&¶RA€ž—Gö Ö»œ|K[°=ºmjêÉv,©÷Ô62tÌV¤õUÌú°ô¢˜ ð2Ê‹¹FøÏ¼¼Ï–w;×ÏgºfgœÐ5¨‰)*lMlnÞn+jjÎæ© 8b|¨ÜDøãÇ2A7§óýE¥çðo\Mgª±Œ0L,¬sÞ¤þ¥ƒìû¹¹¹„Ÿ„ÎüÉ`*Ÿºôlªg‹NA,?núÄ\¨ÝXXP0…S«­&‹eÒg}ü éåYÚ&êÚÇR8€¤·{¬É§B…ò¹iMQQY/'gOAqádgäü7ꮹڢA£²Æ[—›¥°¹d»¿V åÁ|õåÁZÐyùˆIËÛúïiµ-.ð¨N5æ3f³(“ܺºK•}ñ'{X)øøø22w°›ŽÎNÔ]Ó5_4øÎU>þ[þv=^—/‚ɡS¡£ú<­“ik“JHÐPRÃsvæ!Dnœþ™––ÖØx·Ü¹µ¹©Ê0uyAv UìÈQáw ~—wkw F£ÙäBwd‡+hÔÎü·I|Eææ7ký“ù?"”Žstž3^ ˜Æì}ŨµœuZü˺q{Ó×Ѐõý^£I‹60—Ålvvv•óÑj<‡)??6,99ÙŒ“ïéÓŸ y@…††Êl|oÓAlº˜QÌ’…UZÀDDD>~Œ©¯wßÊ»9Þˆ¬¬~íÕ9åæå%Ø|TV& jgÊŒ#­j++APîÎÕv„Fÿ¾· Að–`à~­z*UO{\ÆØ³ ü=PÛ‘EÒtžÅö¸žï×''XíÒdþV)²Nàá/Š$á§â«å~¹.«¤ôND¤-]ÊçÙ3¶LʤРñønðêé陚º£vDXp$K.ËAM]Ýb¡a®­mDäååeãí¥©"¯£#%«ž¤šÚ©ˆ††3ΙÁÁ22æ…°‚"‡•îhúù¿ÊʨџÑÓ›Žå*#!!i ôÌÌÌ´·‹kiy´6ïüÇ=%»Ñ C¶LïCF³ÏÑÉÅ=<.¾?½›ðÆò ÝqáI"ÿFzÊ~tã¿Óþ®?e¨’’’©q±‚"“”L„Þ›æÒ¥˹꣰\Z×+ˉÓݹr”É<¢Ù‘vƒREEÅ¥¿õ/söëƒe¾¸"#¥`Çã}°ÈWƒ<**ÀwxñMJêŽA›Ân{ò‘³s{ì¥çíÞXžhŽ.fw‘¦³™¹ÀWª€¿å€PmiÙÓ×#x@95øó­bæcÅazrn+a@(P'ûõÀÞrÜ9¾ßÛ°óÈr÷Ø£Áã§‚ §öjãæj‡´.±²=dˆZ BLÀ¡Xƒk L#ÆGÐÎè©ÒW¢–bÈÈ@@Ëù6E“‹Q||Ð7–ZÔèÞŸ˜Ü§2°z&« Í_«œ·µF‘)Îïsâ XËÊlHàè©”À-ç0¥™™ Vx8†ûLFÐ=wÑ*'ñNÖy‹ÿ\­ŠdÍ3 @ý¨È —~õIÙßùˆè·ÏÉÈÄý¿^+[û6¥9]¹ïz}Ø3ú Í]¸såÐó–çÙ«W¾T›ÚŠ1‘ia¤\TÌVt>_ü·¾57câdqóÕªâ]q'¦noGüýëIYúQúPâÁEÄN»uf ›R02o?¨ñöž=X’vØkxŸuW “ í_9ìå°³OÒ3ÏjÂAˆÀ|tYI§é?/øc=·ÆóM™&-”•FëÜà±*1±*§·îŸ ¯Î|œˆ‰ù¨€ÖÙÃærüadddtb‚Œó½¶œœ¢FBFAÁtš|¿Kb b0ÙT’iCÈ[¬ídúú³dyˆ‰>ò{ôþ̼¿²¼î&Èc»úÁpÍš††W{³ ?ßåà¯..E]Z2Ž1| ,@ÒÚ‚všRìïáá;ß´dª Œ{ðÀ@½yØÉ ‡Dð:èTï^¹»Ë(+«uµBë=<Þ໺w_yí÷Çòä–—./a-Í1[›&½qKxé`xˆ-)ñUUïM¨ï=B–W:Þð§Äp™9w÷QÄÌl|aƒµI¨—ª ¥åþ·u§·÷™¥%ßC ܰŽ5«@66,[[飣žìjM]™¾FK~`ˆÁaû­L‹ù…&EmmEé ±R¬/@äŠS¡w'þ{:uðš!²Hðã!¡»ûRî—ÙŒj©ðÄD< -³]RÞ$N3ÕØoøµŽ;¹Ç×ÚpÏbxj*‰ç!¥ÐG|d„Lò´ä^>Ú§£•`¢£[(¥ý Ýh;²5:6FÎa¢äSûNš>Œ\šß»¸¤$ÓÓs'ól*HÞÞTy&¡FÚ¬ôÂP ‡o­¸Éd;nîÏ#¶—$µß Þ‡]T?¨¯8Øä½îêqÔ-n gÞ˜ûY£¨îIuŽ,’'·vÐýêÕðùuQ1̨¢jÊcâºÄ°ÃTÞFŒ¹y`õE#NîºÖ&>Üpņ„ô­A€Y./`¸Ø2«GRŒ±xbY²½EŽœõ3%%›Ž{˜·ø'ÝÈ]rV•Š´(÷ïÇTpº\^ƆҒŸüòMEEÅÐÐ9ó÷m£ýGúSôn2’¢‡Y,çù¥ˆ‡ÍöæÝ•>(nÅl¯Ér:]ËÁMT^tÓì_ÌPÙØ¼;Ý ásçõ^5{'äuݯC‡Yù:.NMl®…Öé£O¿Þ¹*C†V}Íy9¼+«û”T1b‹úå©›ˆ~¿‡ŠÇú-ÊøÑå^žá€`úö|ðù|€à1P¡­jjØL©ii…ii,Á"É›¼¼›®&ëëÙ¦Æ9v³Æ0P3T[A÷vfîQ«l×#ÑÑ« r5PIkŒ?øÏ§Î¢róžáô4ë.=üN…ÎÃSÔ£ÇéúHKá­B¼ÿ—¶&o߾㧀¬q%ï¯Û¹È`#v1Q£ßá{s¾¸6áÞHËÊ26R•ÄîL“ˆ££³¤ì­sÜÛÉ’ãx€Z?ßòL“@Ø›¶{j{5u+hH""MƒƒÌÜܪN*NNUÅÅ,‘]ìÌÌ蘘©$9+ç?ÞgÓ©«“Œ9Ý\ÚwPR.xßS¿ãÿj…ë½SáÜëݦÀε×èP l´~x|¼³6P{}™Wý-†(ˆ $äƒR­Ôá\m˜ù0¥ß±àÒ$xÿž—nOI¡šåêlI«NUZº§»;pºÜãæÒËËk(Mbmu4Õ›JÏôþgR%™™«áÏeee•ˆ``°prâ``ıê"{’ué°®øáî ¸9Yn.ùã¾Ðê|lD„¼ªêÓ©i§ÒE÷0ºþñ¿|A-ä~™^X¥07W]^þ)woK‹¨ššskÀCË…† ’D]=½V=Ö“““0r>ñÛ½rÝÍ´°°°ÐP{ý8“ŸCF Cƒ‚ÒÔF¢‘‰‡¢dn-µÿ×G´\æÿ¯ÑZ™0ý'kF¢žKEä¬pH"DêïŒÏFÂÿgÈoE!ÿß7—zSéèêv?ã<žs\hkmE èêŠc7þ·€©ßsqu»Pc¿¸éë»ç¶ ?þÛ^€»Èùÿx(«}íÎ5Œ\*B“‘‹™ypl,ÚäséTffæÛ·oÓ?lãï.‰«¨LTÛ®lO—›N•è7 ¡ø·•VV®ÙTÇÅÅ;ÚÚší•°¨R¡‚°ÍïK£•|<ôõ‰66ö+yùÀÀ@U†>µ_k_ ¿ù<ùëóÙÞ­”Mwݨp–<™ß¹äϯ¿u"¨ƒ‚‚ÆFG³ÛËM'<Žú¸„nŽGÀǯ|ó™ý©@«&üøñòåK<Ä“TÙâå.¾cÀö∧¼=ÑíxaVÂóQqÒ`þ°ÏñLZíÇï¨ÿ+Ïkß.¶øoMÍLM •]­i7zÐÒ®I·ìL•ÒòòNZ­öáàà`S¤efÒL:ØÙÍëJ ë0í’;‡{#ö©Þ=úz%¯¤P¥éºe¥ybˆà‘üúÜ‚JLKÊe0n¶ÎÙ¶/žƒ‚‚b”QNNŽ3!éû÷jj«}¤¨®èXXuNŘȤc±qq¢³œ]][÷æë]·'‹•‚JKÙb{`Õ6+”ž×Ö'›Ê¹áÿ@›}Òù$èëëó>ÇÝüÜÜGeì“>VK£9Š*>|ŽÖ·´\È×~ý»ûÿõ} êKjj½¡Ô·ÞaÀ OŸ>u€Á`ˆ îÌH”? tÛÍa 22£#Œ2‹dnnÎÿÁ“á?&Lóó󜜜~~~$$$ÞâÚÚ ŠÀ1e¡-Šÿ—‡Å®ðAšwÐôå]½ñù·¸Þ ”B¼BŸ¬ŒLHPn±ªÎë÷¼“ÓÓžŒ=ç_|ŸlF}› 2‹ÄÏy‘çßNÔt1ó×g]øý>h{ŠŠl»óîWºÕ……¨ˆÿPBÏ›ÊëñÊòu­›ÍáÖڀо“o’l„›É³C¹"{è?lNm]tWàv;7x×=ãzÆDoÄîÝ”‚5ÏÊ Š)/:Ÿ»ë ê1²ÞÕËàvš/mLwt°d;*ýÝ›JêÍ÷{¾Cìää'œEÀ=E\Nnd²*¥,*']ÏáÎÃ/‘¬¾ ]rѦ+KÎ65upÒñvÎ|}m|"Yò_4ȋӗ J'7—C^žQnpuÞª]ùµ)Ŷ›A¼oíxþ}¿ì¿1ŸÁƺÑú¿“d¦¥ •fÕ„†Öú¥¦º%Ü®C…Ûç§Žâ•§tQ¸ü€—׋ø·ÕÍlµ?v{“횦=GnÞÖáa7+ÖB#“Û]3[)3Ï…ŒÇmK~þ3A8û®¨­qe€µþ‘gnQQNVVNZZÿ§OÀdÕqD>½@Xï„ÜãwvÈA‘`dÈ.XqØH=-ëEÆz£>âic£V± ûq–¦|:‹ÍC´rótt9—7g=‚‚Ö¡¡«=1!#à Æûv¨> ¦±11•މŸÂ‰1Ã$îê#å´’Y\ʾ +ŠØNêbw t·|s㘉^›‘ë@Â_5²¶ÃÁ1;;«Ðdàìœ1ªl€“õ£c ùg ÕD}mnò¼çžH:#×ÙvN¨a”þØ›ª «º:£©Éñvï΀5NûŽÍØ$W:âŽqxmÓesèyÿæXä›7·ÐáÚÊmB.ìû‹ ¥ØöÖq£ž•¨|jµãï´ƒfè"¨³ YUT:l(&)·‚.OFv'ä4ȸº¢L÷9[kxµde18ô_| £´-) ÌÍ5ÉÑEþgR5ÀÚî—Fö»½f¥—Hð{ào·Ó¾ o,¢`“î&@w‘±†×k9X¬/×O¸œÖÂøÝ/)Æ$oŽþ7ÒÞªªï]Þ‚” H·4ˆHHo’néÎMw JŠtHHwƒ€twwwwݹýýÏýÎýßïß=ç2ŽÍvÍzçû>ïóÌ9×ZÍþ€‡´…“/¬qLi'Ÿëësh*)™\Ej²†ÿx†+–>xròŠ™ù±Æ©o¹ÕÑÑcÆ÷© ®?33%77%Ó•:õ®*rÊÊÒ¤ÂÈo¡¯ð<²«- z³[-Ÿ=Žy‹öâÕ¶ÈeýµX©¹9B%ÿÇDgZh¨Ã–€qçêÑöQU³ÔâñåㇽƒƒuMÈgÀ1\Fëaû>(Ô+«„ÇëñZu.ë}mpîͤ8wvl¨­Gžï½ª—–B‘Ux¿3k¤‰»9õð NîéS(Rw°déG(221S·ºp«Ø°±KÞΔü/&*QQhkÁ«ŸAzÐ1Õb|ì¯s=ה׆jÈ¢ã¾jÞc­sÇñ«ô]'9ÙÉ*p²orê·¥ÐJµ™Ï[<-§pߤó|NW¸"¸±IÊ›‘›ËÄÂ’Ÿ›KŒƒ3h­ðéSFCƒ`dçÎd©‘ªê3­DÄ˸ž&_#CÃ#eнºÃÐÐP@ÈoëÛïv ^"ØÆµ³ xìÖ¾îóvýNéŽå$vzÚq»îvWÍÅuûƒ¨H®5’.vkË1&*Š5­!év»°å‘ÏÆX¾olìé¼§ÕLqË^kHsg¤; Œ\0¡¯6öAƒŒ²r ›ƒñQb7ÿáá¡ÙXޣǙÑÐÐŽŽŽ‚CCW-ÔËM£ÃÃemll455%%ÑöéƒÓºººHHI×{ãlj.‚ÙØ`ŽŽIBžf_° Âlx>ÂY33KÔâ–ÌZWî»Â>.çÊVkvûï">½rU#ts—å,?Ë’©Æ$J¤‚úÖœn¦7Mÿù$Ù÷žr±rb @ëî¼QáöºP§˜êjsø|þ)qCóôôt¿UÏwvÐÁµµµ††Ï›C«ÈÆÆF 4ÃÉDÞ¼!&ëøô211‘\ÈcÆš¶’²ý–Ø‹"¨¹¹Y"ò9Ãß'cÌÕ8„TöǰhDEGŽŽêëéqYLe¤¥¥åä8oý x#!%ÕŸ$pÝé™d7·!Ø!>>þË—/뜉û0!er¨onÙ¿üd%táŠê±<9ôŠˆˆx¬Úq¨ª¡!­¥•óº¥ÂªŸßÑ<Õ·e 3‰Hß8»Ü½v6_ãÞÎ4>âèÓÉÆîÙt½oövG ר;/YAAaNÈHðqîyd’Û°0à˜ïÞ½ ˜¸àfýPäþ>ƒihLƒ1YLWpîì‚A¬®®ÄÇÃS¤šÇm5·3[;><|\zØÒÒr}¶Û};±!WPP &&ÖÚÚúÃ80ÄIéç}þÜóîrÝ%p¿JÚ¯}Vàåó5Ì}¤âŒ ¤À–8¾ñ?}–~j'̓iEÐÜÞzJËxØ_Ì_Ÿõ–”݈)| iI¥ŽøzÑ–,1SEòNú}ÏÞ„¼ÇÕ Ôn=ldÀX¹•ÁòDZ!Ž’Òèz2“ðÖ¨˜êœÅ"$è;))âgÏv¦+û'&¾×F\—Ž˜,ššš]6cðзÉÝœG"ŒÌ‚9—Ƈ•=Ÿ^ª1ã.ð6(àª,%¥•›“ ¦B§ÎiðÅ¢Q?£Úóȉˆ8¶ñò:LíÍ“¶/P>MÈëýW¾Ðšœ4*#ã ƒáL†‡µÌͯ8ž=ö¡¨¯·Èz¿¹¿Ì1D,ì&'Ç=ŒDB§úèbg’šË*i¬Çhà&èúÜ‹\&üsu‹žM[ø8Ìž„ËvEvéLñÛ> R+ ¼â$¨ëaÚÁŸÏ¹+‹Ý <òùþÒÀ«Úy_)7l|´øÇÔz¬N2ÒË…uM­k„ìºÙ}©žXJ Ôed¼ëݲå5°¨Tœ@à'‚€0è熊‹[L•y翺[ë>:–:Û•ºëŒ¤;??‡ñ»žít‡£/µÉ:;Š·ë~þÜØÞÆJÌ•.{ã…@¬©Ù\¨íl $Ú2|Š22M‘0~~fõtÒŽŸéék[¼ŽýIã…! %ñ¡Ò¾(‰¬šUû+xT禭6Ä~qq÷\¨ÒÒ•‘4Y ¾ $ PÏÈ\ý£Ùš鸗)JF6¤¹?–¸œ~.Üç2|?¯3WËçðë¾=üi>Ñ&Ú˰°–'O<øÍu÷ç+­_ÙoÄãÌ7&3u<úq HÛ~Omë-Å̬õ‹13[ gÔ´«—Çç Y©©cÕvd£cc®ÚõW¿rÞF¬dË×\Ÿ÷wv¨ö»%þ\Ý+Ö‡ùùex\)Ò.¼õÀëݙįw ”ˆ¼zô± õëĦfíÙ'µI¼ü|—«²xŸž(†,ò5tŠéX^û¯:5öï]®¦@"E|hl5í8øû#é9K›OµP¡pÉÈíL¢ØïÞÝ…é èùBK ²€L<—õpfÎüLuIÉØä듽Yn]ݾ7gØÂu…Ùù­íF¤‚ I1gyà;@?HIN6Ó¡V¿È¡íEº-˜TöCÃÃç;“¾óºt4(ö×Ö,ç#VÊEM8óÎÔý.AeÝk%E-ÒîÞÝwææ1Éól\\>ÆÃ!þY2³Ÿƒk¢cUôŒ³W7xÌ·Flmßר¹sÛ¸Z.ÿA¸K4§‹ï33;"=ì{Òã¬K†øã• [|ïkXß›GÓ"E“$l…‘âa3ËXÓ:ž¤¬^~½M‹rã|n<\gÞ~H-Í"²üÉ’ˆ]±nËï Ê=<‰ˆ¹¹a$ÍÚ¯4¯í±È“0‰ëÖ¹Ï^tëŸ~ßy»o/a6’­ýõRšFÂÔ,wjâÄΖ('''!ꄞž~³'®17w»Æa{ŸØÌ(ªH®+Èú5ìss55[>ÉZjjaQSÕÇCÅ.‰¼œÛ­å¾(°ØØØÙjpEߟŒØƒWs€C>Æ(7ì%ÒÕMUùð̃…b¡«7ž üG l`ê\âµÑ”£kìÀʺøú5ò£GƒJò6<#e&wÑÑål.’¯Ž³¿çKJ§{ÿb¦´Ý»3Ê|ÔEAYÙ}Kq­XŸ{¶{tèCq)ñ'3³¼ôt1+üaÐëí®>3ÝâãßÞÕÊÊ_µut2MlîY.îYÞ¤".ÛófÕRln^sØ¡Ÿw9ôH· '«wÞR4´±YýíÍ;œE,›4#+_L:[ O¤bûqzz¨jk¶†$•%Äx\Wb1Ý:1±ê~eoy'rßíÕö]pðÔ›ÀµíM“ í:òöE9BB6Ù„wÞÒ_¿,ÿ%gÊr'ñ fkñ™Ô¤#@¼¾ŠP¢æMcò; ˜Ü8¹×”ÞØ§ùTýúuÖì¿Ï}ý'KV©¯…œ¿cºÒª¢Ú9yLªƒm¦;‰çÛ·¨“wÊÊ. q¼ÇÚš»5%p‹‡þeTFë¾ûsÑÚu°¯ž++x_Hkõ/m»Jµ»{Ÿžî¬v‡' &V„ìæ©5©ÆY]¤îÌT×ÒÉ|šiLž®.ò{ ~sºCè;rÃxcV cƒ-·•NWôn ¦SϪݥ¦QÑ10ÛåEG§þP¿^#§§l**{•BoÚc—,¨wšyûfWfÕOòBxP”r¡ç GÀÕnoÙ’ù`…%%®ça<! T³8>”fd]Ûâɉȳçµ/è2Ñ€äVL÷÷O*Üg{ùòCþ·¢ÓV*~ÆÒÌL‹ƒ$0eÄ]iTHlz¤T¥™úkÃf¤ä  Kýö³Ÿ|ÝëIBlÀŠõZýDCÄ*€:îK$ÊWWàWÝ7fB úÅa´,l³ÞÇè?d.‹Z›}ȈO€¶z+€¤à`ƾäó¾wËný°p¹\©$›Û­Qqñö[L‡·Åׇ³@jàw~¹¼ÒÉ>Ÿ-Þ4²°ð Ɔ»¥`#Ý]_ïsãÒ]‘Ö ïóD>ßþJ!›lÙùHχBÐ>Q€oe¶V65µÀä±@ª©»›ËZ@Çáwy'T;“GH?7éCÿIÙžuÃm¦l-!±Zm'2…¹âr¶ÓReçRX¡]ô»Ì€ZQi”EÍ–þõåa_âYEEÛM¨8"ˆ|=€Vj†kffÛß¾±ÖoöaðÁÚîNUlõ–ö§¦~±{§eÿþÍäyçÜÔ¤›]Y¹ H’ëd?Ôu»i†ý; J€ö“ž«(%ñ®J¾ZåÉ~_ ¦kçw¶í ç7¿ÙsNE§Ÿ×¹„¥±¸'÷<»AÄjßDHpj±eS[›€å sks‚C/[[£cÙŒ’…<ÙhW…´Žïë鎷eêt“ £Ý·ìr[h‚ÉðM8¹ÎK½·²5¥eoÍwÖ‚‚œõÛ•è+-ë¿s³)ji±3›' …cM(+ªŒÿü)ÀÛ³s]Rbja1 òL[è0`Dt–¬l0ñB;;><$}Ÿq¥60‡l÷ö¾åäÈj^‚$²×.îz}6›ãþÖÇÒ×°½:^ØÞ\kÈù|ýõŸúÙ‰f‘þ™ºðVZàMø R¬¡a;s‹[ÙdGRþ*¾Y5õ‚²²®7ÏnnI/_~TSë]jÅá¶j˜(5ZÓíF‰?88È"Ó’ªÝÀÜßÅè|r±ÜN¤¦ÖÙà)»ÿœ‰©³Ý‘8 b 3yÏwaì?‡ËU¤Ñ1g;ëɾŽûI&FÜAlˆ%“ B÷uØxQe½7pŽYœ|¾qþE9ùF]½´êº˜| … a6ö9ÝîÏ’Åâ±k³H±´7ZôÕªÕ¨S·1™þ°±­ÎíõôèiPLL×Ý­ú >.Ñ7§Oý“"­ƒÃÂ**+ÛÙ^CʳΗƒ¤óÚõ³ØÓwØ~YëNúú‰€³ŒŽŒ›õyþüŽ•–V× üúhÕÜ9ð•CmƪvܽÜfSÉÃN4Zc–0˜ž˜;iq¹ˆˆH’]ÊÂ"Ô¨—wa×=©wíÀÆñŠR¢ }º> IÛ$"yÇ÷5×Îèg"ßnKKa¢À57y`tLÌLó¯ÂÂ7ÆJ®×)>>¶‚˜˜€?ð»Z íîr}Ö=ïIèHÝ”§Ö¢’Ç“¯Ñ3ÿ 4Ǧ¥~v¨ïÿsµÀÅ Þä¾@WËë3)€:(˜#©|ïr'ªl~Úì¿xzj~v3,›p÷Ù«ìøü|Oáßškó™‡Û1¦ˆz ¶¾¤„sDÜ¥Ëj×#{–÷™+sõ˜Xä §ÇR+× RÏwãOï¥çn#"‡›€ï6ÈR:b’Ž‚ÑŒŽ†W1€££“Üùélg’ƒ™ùKmDMÜ{¶¾ÎLBÆÅ $Óa¤|]_€¼º¹9åÏ/=<ü,+åÚvÞ$‘Àm¥h²T ³ËÏs#pé>g@bôèýÁéíí-** …B -..®“ÎUÎ?:¾ 3iûB(&&†E.ÈÌÂ2[çlDcwÛ¢k7¾ÀG6ÞïóZÛÕoëõ®V€û¢^Ÿ¨EÆkÌH€‹UÕ¸¾9îœ+ÿU+*#ãÖö5|`#9 uð >þ¼NÚ¨/ÁÄ^uODTÔ?/ϼ%:ùVì)ÞÄÄDGw7ñ³gÀ"+××z㣣¢x¶ìV:C‰¹™˜ÌŒ5뜾Õú¦¥-åª6$”-v Awæêk¥bYi$Ž)$J€îJ2yÕí8!a¨rg¦G>e&‘iiz±¬Z@5 làI»²…[lu{ˆ**âyt"¤´àøí‹ÉTX´ÙÔ7¦ïÚNºO˜Kõu3Ódîø™šŠ‡»|uÜÿ&†U`gGMMmš¨´¬âß—±pq#31órsÑ=Úœ­…µDxæÒþç%¬Þd¡ÆÅbggç»»;LLLfüíÞxn×ó½Ó““ËY *¼ŸË$ÀÏ0ÃÏð¾„bONNÆÅÅ‘`V"†´¢a`8À`÷Ì¿jkkþ\¼ŽðËýíØøøúêêî\ýt‹CÜ&úœhIdhX*Õo<2@€¨ûÿ–’5>~‚Knjì4ט,Ãnr>Ù°8ßcâ²0ÍÈo71é¿:×±2¯;¨®œ¸áŠÓ»ú+;à~ú +«²œœ±½B‹î#Ÿ¯11d<Ö *ᾜB/©t:?^üâÙã9ÌÑÑQ<ÑbÕ¼€î'OžÔ! yÜ8]l²hTœlþRÒ {ýVBâѾ¾›[ðQøÉwì:§k&FF«“ÏiÙ¯¸{ƬƒÙ/TÂ,Nº=y} Ôðiz#?FZ (ç‹ ~0ôñZ¯Âù®Tƒý&t»$¢þ?æOO^õ N”3UXØ«ëèqrFŸ³ÓÒ¶vtÕæeeÅ‚pÝÇ:ÕðÓ§gÄÄžÖÿ¬W5ª™Ÿ5º«úPÐÐбrÏ@•”€+‚Hb``Ö¢ÎÎÈø£áhk{tvÆÊÂÂÜ“§oü0s­üiü~·~üU ’àOá–üçÏ Ö‘Çýlð…ÏÚ û+{}Ùþt@Êçàë1@tÖ:Þ’<ûþÊ Ø*·¯Uø¶£”¤$°û;™³ƒƒíwâØ~@%åæšééé)))ÉÈ„EF*Ø=T”“sºœ”Ý‹¥æÖ´„;‹ âïp þÈAA³½ßÃÃnà›}"áXÇùùç=q¶·Wù*»€³QS[ÝÜ %Î@TvöEšRâ%#cW__AÜumM p‘?­­6!”8 **ëëë0àÓðƒë‰@šSñòNÍÍ‘5®@^òp>î•éK,މ¹ÒÓ@~‚”š•Uí|\v{­pqM´$ÖÙÉÛ+ VŠ8úóg%ÜÏ/0_€ºñâòògVVȧ§ï">Õ:îRQQ¹¹»oö=€üF¹°zi©¤¤t>xqÔ;ÙÆž„˨vÞázn‹ü"ñ³DaFÆSjñ³tŸZƒ7~ýâEx&Jܪ&·ÐóþÎÞ²€ˆç3ÀL‚Yî~MËÄÔ2WÏ7œèïAÌõžð…°ë\Ý@ZÂû¬Šíýý*‹é/ Y/‘øÝ¾³yI @„I@*2üê~p²y=ïQšÁ$÷5"b¢ÒŠ+𠋺}Pë“7Ú$¤´t…ŠJÑ¥%S»»î 1´ßAa? ~­–­³IùX¥Œ3rse`øºƒY­4*µÍg] #MMÉjŒAâEÁÌxŸ°í?FÜ`ãùX°Íyùq´º¼‰I¥ùðñÀÙY>^”ýÙŽ–·4#C§jɧ÷’]ŒO£Ïbbj­GáåPA9 0\3•¼r‡FíúÌ›¶ÆÇ׫±©Ý±ä®7‰ë»SJœŒ¦‹cù2É}$|Žâ..aF(È7J Ûq½Þõ®îãýÝk{œñܲµžBý­´7ÍÈýg»qâci$ÄÛu©ÅNNNø ­È«Œ¿Ug­óæ(ÿ`¨ ÷»†üÿøsÑŒ‡ÍÚ¤$1áß…öF8Ú——´ ·(01 _¼Cèï[”KMU©´¨ÍÎ|Þè°}"Ÿn)ˆ,v%ÕtÞü—Á¡A/~pÝ9:$D”üÒ¨Äõ˜žï¯Ë$níl9^Ë)C¢gfž¯»ÜùŒKˆïây£››“ó^ þÐT .ó aØCìæ\Fw7/8JÙz³ÙGµÃëð$Ò–µÞõ‘‘©óíq¥„••ï@š´œò{ÜT$ë¤ù!é/“6UÒmhˆ4¯ÝÚ~vv|S“]TÔÔ`âOŒQ¥ukžé -’Wï²ÌT”Ô_›äLLc±²×&Äœ™ÿ†X(ž•ÑÀ8‹jÃŒß>bŸ[\Ü«H–½‘ }°zÝ…œdW$:ÿ†@ÜÝt.øéàä¤Ub¢4¿@{ww÷À3 ”üðÑ Æ3‘„IIâ *ÛÙ }–œœœÊòS6¦Üjë¦7PhL ž(ÐoVËm¼XJæƒeø!‘~ï-‚MÔ¤g#ze×ñuOPc³oèÌíBŽK×§_VÈ×ÍÉ;ƒ¦·\EIIKnà©PcwMÍÖÜÜð—ÐÚÁxà~h¼HA Y{+ë±Uµ¤Ò[#”Ì=—g»±€§ò¡$ž­Æ°:•™Ñ 8üjŒïb¬yF_ô»—êà5~ÈòÒAË„†úÛ@8)%ò2›2Þ_®#c`ˆ"ú²Ú·Sò:*^\®S>|¨%"R°7‰«£­ÍgRQö*‰ B±˜ùzy#)®Ýúoïêí¥±1 „¡òQ•çÕ·eµ¸ÁÛÌ®'¾ 2I=ò©*…2Nª¯ ^<-œ>ä€+ ç·žÏT'í1§ýîfZÛ$ng#ã‘ Üc¾¿:Éa¤X´†‹‰©©r®¿«!8€¦#Ž£6{&ðÇ}KÖYÚ|¶GA¥7œÉ¸·Q¿àÁ’(å¬ÚÝÏŒ‘¾în^Aꊊ­<µ¦¾>”d!¶>?8pþöO´'Éýc^#¨‡óN¨Q5'·ÇØHБÑb|fÔä—?ï£7ú¨JFFŸ:ØóÞ7D@,Û ¦!%-ã|L6s»ÖKpw«¯·W¤š ]ÏË÷Á^|C‰ŠÅ›©²ßô°>˜ø°Á¸-ZÉöxòÞ”’¨¬läNz~¾©•ÓT™wyyÞžÎüñð9czð;HŠ\<ô§°žöÖUÈ|œð*‡|Víí¼ÂB5ì.ö;³µ³6 P55Ë‘lm»µ/#r’’.+Ûñß¿~íý$y¶õ“µL…÷Dø8ii õdbÀÄ&Þ—&ßZ•q«IÛ¾ß)Rç{¤aÇCCêw¼3ªë—Ç>î×iéVÑQŠ9¹L¬¿²;1áçÉ`!À®t[*T5ΧëœgÕþ ŠÊç*'òxÜœ-¶ `íKÀö#cUž|xÄx¡N_ÊW"A7' k6d zhþ)¿ ÅêÉA/L~Ã/>ÛT-3¹;=݉¤‹ MŠU±]l®?^ß70lˆ‰%ÒÖ‘Èq;^£ÅkÍäûñ"88¸¤´eºÁ‹Œ©uüî–ÏQ³ÆÙŽ”õ8kôi8ùäK™Õ¡T_úMZÚèÏŸ'A7kmi¯gk™• g?ûaJDÐ#!x‰9=ùþt µŠßlÌZÑ»9E®•Ãh††æ™BæE½§Ž$Œ¤A^9&ž]_Î颃øaÉäª};ˆÏþTl<…ÅÅñÜÜífÂ70ì‹Àê×­CCO**ȃdX:hÙÂLJ ¨Ôx>KÙ%%cóB6cy8Æ(hO9Ëςጪc¸Æ3Gæ‘_VþéóëYè‚ÝŒºÜ‡zW'¿±È­EI!2V<½¬´4®] ¯©££1ñÄLMwÃÉu˜)›¾ @Êá1cWÑñóÃ+24®ñŽäµÿº>æÃaˆ„‡4.€ÿßZ ,aïå?_C†`?ù ïÆ‹ÎÎN¤]aÊñTß›oÔè[[aažî7ªP ÂçðpRCé?ÊËËËÉ}U17g¶þ¥”ëææËÒ‡œÄåñ””•×66x¬æøïÖRïæº!*Dÿ§Gõ]zŬoùŠ0Fm%n£œiíÛq¬¬¬„„ÙõÛŽ¿¾ºº;l'¯“²0o—T 'ŠÈN{GG› ›–è™ ’ÂPUU“!š^ÒùáÙd‰AHIIIMËû÷=™ÒñŠŠŠ¯89Ù´jFŒ›ÙPÔꜿQ‹Wi„“þ7˜Ö7ƒ!p½wÎν î}}éòQ…Ëg`y¸tW€šÊ”c££ LM»® c¢£[§?éé x;88PRRÖ»ž[V•èÒ…S þJpsû46­”ÉZ˜•±±1Z@ßy#¢".Oþ¾ØK¥÷iÎ/%%C£rŒ¾c(¹á’Òlsj\\!5ÕÙLâ )©…•Õ}¯ñÿû1ÏÓ‘11`’ƒN..f‡ÑÂXç@±ÿÓ)ÃÒj>E•¢Is ‰¹—‘ŸŠU1ŒÆ7(€u333ÀŽeÓÙÉ6:ö ý× 9ͨh%dZ0(4¥ñÉö +*(ÌÆqÜר®â€ûÖÐàøö¾¾¤dð·o805YY6 Óéƒåç÷vt,({Á($”<½Œo­ùòåK$è»wï^iZVµp£8ßß¹ÛØØèêê:W;ÍN"B¨ þ)U¨ª%#V| íQ¼c€:@}|ã°5‚`·F\# K+q95åæ®ÌÈȳ²ò +<šIÅ–LEuMÍóçÏ••”VWVx^¿æ4FFöc³ÍÏËSÎS•WUý¿½°0P⧃ùAMmsagq{ÛÌÈHEAáx²i~ @•ž%ÿj›Í’O.`y@äÉ“/¤|;øÌ/4*vT­­»*±Œ}™YX¸-¦V––Ò²³y\N6¤ã¹¤x¾ÕšÜ\jT˜ÛØÙå\RVfîݨ¬Q‘§Óè13Ü>“{nïà --%“8ïE‰Óá’?:ü=øijÒ팠MîE‡PôX‡¦¨N”3±ÒМ¶…:Ð#‰þ´ðlOúà¨D»®ª·Ž83n•kekë°>AVJÊ€K“q Lí{/euõ§$ ;K/‰”RŒU‹›%%rf3¥ŽŽ¥¸,~0RRþ.)$TC  ÞÐ!¡aʼxv¼šÆ‡zÐ냜ˆÅÆcC¥¿ÖÓØÕeº(‚ÅS4(Îù¦‚àq!!quüSÞT­=yç›ÃlÚxï“êTÞ“qÃ÷†EäþìÎ'S±°|vLy·5,¾ÜŒŒeb"af– çæßº°Ð òÊŠŠM(]ì@¦æ§Xÿþý§˜˜–…Åíòré?MÁ"O’@ÅÄ´º2²R-ŒÔÑÉŽEf_RI¾´CBô$âj\¹#ß#ÂW}JI©" Ð^nF' Ã7Özòä±Õ¾ )_×ý¾g–½F½ UÒG@¿{½Eä>Ýžª”äå°ÞÄ|ð`iÏ25=}mçr¥ÓUGE´ÕÑžîJÓÞþÕ,üð½jpf89&Y][5í”·žÁÑÊ‹ËÀG{{a;óBF Â5¸·õõÿ”80Ä,3è®^n·š¯*VVÆ÷O™`Zæ„ÿÇ÷ïõŽù–ÏP ^…€ÊSm,·•µ†ôÊ#®Ó9;Ç-,¼n¼·¬¶YŽû)…Ï`"*ÈBx`ððìEµµñUP‚9"hb™ qŸ–olfqq¹êÔ_½ƒQA ØbÀa¤Ahj 爫‚(Î`Ïqp9Æ}ù2rqX˪]' #Wò¯ü¸ðEµR±R$?‘õ>Iö*Šìl~6*}mO÷¡ô‘ƒ?…†?¦dÀ)ïßÔLL»@ê› GÕ»âš[ ÚÚ…lÊ zàŸòîÑã÷äMö7xö((ì×ú8%ÞßÔŽ2b¿í˜ã¤ æ ´Ýy}þg<†U”›h¼Ô¨ýx] †™}¾ê°‡­qçþ õËÞ[ÀÓ9ð|Ò¨)‚ƒ%¯u<Å`ØØÚ_V»Yd“Ý/KšõÄá¤IóÛ$t›uÈ+{5å}€ˆ²õ§ýÞÐpÌõlÑÒRüׯƒ(Âî/"÷öâZgsB~1V'`ˆiꡳ3¡Î¼Žã^Y£Óá]†„+¹€‹8ܨ)Àöf³¨Å‡€Õ©ii¡ÀäHHžÓÜ´}’TWß›ª»470`ù«,R tå‹ {?3©éÔ×ùS”ADå'4Ÿ²i¢/(œýN#ñWHP¤PO¬­®á“¿¶ÕßüP†˜êÿ."Ðõ©-À]]ÈÊË1œnž#@þ<@kâb£X°Ótvæ ×">M¯¶7>‹Œ¯¢¨¨h¦Ëô@7î²®Žw«kIïaÙ=ŠgÀ¨dܕ԰ý I>l?yùÖϸ„gXשY£/ÏÎÎ. Bš„¯iÛþça*'Eo ?E¥éÚªï£ã ˜ásj}K\j$ë¤Òsé-qü-–ÆÇÀ¸´ýIî@Õït`Âßt)(,0sqñç|k´³íá®0ø ¾àgÑ–.¾ß—t;=ëNâëxû%9HF£»æúúoAw<ö_ ÊÊÊ ,ß¾}Û"ýíÛ·«««÷ÏKú“@šŸ‰†“ÖÎO/Q°Èââ:5.'Eº¿†^~C@€L!vZÒÅ­ú“·7_cÞóxý_Ô4 ÿÓEF²"ûs‰t2¯2øP!žN®®×——¡„bÚÚs333ããçáBw Gçç•EE_##·ÓÅkkAŒ{ŸYZz¼Ü~ïü‘ó‹F›¸°¨Èz(C -  Òrvi·Ô ßÀÀÀÁáôû÷ï ýçdg›šjרç úÑH\]\›˜°?{Ö0Xey9 3óL…ÅôÍå11Y|lìúþþþÂÂo½â¹:çRؾ¶¬læZW___OÏŠ5Oš*³²±qvm-,477÷Û7yöB÷‰‘‘d dÍá7®w7E*…‚míl┨$"€ùu·LÝ͵•••Ý]-uuueå³è7?~ÔÄ)Q@¼¼€tt¬ul%"4 %/”.î¡^ïR¯œl[Û’ÀÀö®h¦êøºº:M--\\ÜÜ_¿€ªIHHøÁ‘âãÓ ÆSÝ­¬¬Ì¤œGÏÌÜÓÛë`m½ µ°µe ˆ) ‡í±Cå02—í±üÑÑÑ:Î|vNˆð6”’~do¶;4´÷è H˜ûí—Ÿ?WäÑÔÔÄ{úT<œ¬Þd8ó3.-w(¹Gw ‹¥¥%0aLL íM°AwÌéöxøu#žŽŽNpÚÿä›]±¿kwº×€0 F³úYX¸¿;]ùôéSç{t‹Ðˆ:Vž©Ýz^”VÕÀJëD$ûõ¿ÓÌ_MSHšÔ¨ Äxh¶Öji©°„ŠjÍÓUÅ«¢§¿?|=´¬ÿØ¿'S§þ®õÁ_ÎôÜÉdÞ³Qâ“ÓÅÁƒ_ø‹v;€Þxwyñƒ$ÛÂr.pþö]Š’<1 ˆpqK©©µ60ᨓöÌ~™+læ+ålo h^<ߘ©>¾êŠocÉø§%<£ñ‚‰Ô7®_ˆ~JÁ°½b¤de³øD4üï· Â_„Mm×BrnÓÒ BI&C2³ø,ÞðܼDôú˜‚Ç*t_WØäp´ò៎n´äèRÚ.‹É˜nE.·Çþ…WŽy}Dþô±µ,&ðx‹ÀÑ ôó[RRdÌÙɉ‰Ê?…«„ÅåTÿžé@êC„Õëw 5=^ާÇîÔ1‡ÑÌ?CÔC"…¦¾p.a‹dxJZô-Äp2æËÍú­æ=œÏ˜§¼áßÉm Y}ÒQS3©SÀ„7 ŒóãçOz÷ëÕj»={ø[Ћ}Ã(zŸKYÌ'nŠüÅ~l>P”ó´3‘¯Uûä_ö¢¶GÚü¤_ª"/v°ˆüOi¿0 ‹ˆHr#ÆûGB ¯ÏI ½i3R2&é P«Ã‰Èp#à¯ßIº¸Ý{h›ï¼ügÄz¤Â$òxåî×?‹õ¯‰žÙ§ò¡ÃÛbÃóyõî}ÇÅþù|þ¿ŽáŸ’®µ3Ú©²?¾ß "7ðä ™¡ÁêýY<í,üËÂ3 4é-ù†>èÈbýÓ-B4¨wpHwWŸGH."((üláݧeQnºR§¤äåßõF5ˆß;ü 86eƒ°Èç~¢“šÞŒêŸ²ð§MÐéêÄ]n€t5~÷ôôpbàÅ¢“““ƒ‰ )8ôHÈ~-©Ž;U¯lÒ¾ð«ü–ݰXÐQ¯£¢u´†œ' \¹]:ý5äÑ?…šg¤@«xlìÖå$tð­² zóåñy¸Öóžä_×¢“6)·/ÊÕÂÚ¥ŒÜg%óþµï‚ÎjEÝú^ƒ“<6ÑÖÛ¿éu/,^äP<™ßû1Òøw+Áøø¿zG—¦DD­âb¯Fdˆ×0åDM_Rýõš42Žˆýœ°ÄxaóߺÿÉšVT •f±žzzzJã#ˆ×h$X•¹¯/±¾2ʇ½Ðîü_ÎÐáĤÊŸ+ßGÐø6mÌÕ»º¹ñ[…†‡‡ÇÄàû6Q R=¿[\LLL\|ý·7bþ‘ Õÿ#¯ÝsîJãÉ—eˆLLÝ##Qçƒ==ÌLL!•þdä nom‰ˆˆ¸œïõj´pÎhñÑÑe(Q‹Ê3ã3½z52;›X±ù’ƒ#²e‰Ýóîæ÷ïßÀ ###ÄÜ–‡ÓÜ!eøø!¥f* ùùÅaaDÀkÞâÆ÷Þ­ ÒHHþsÏ|creÄ5~äÖÖVJJ §Ù .Ò·¯_ÑÉ&ŒŽJ¼{wà8W¬RhÆÛÓ‰òMÀûx. R(¸GÌÚJB~»ñÿwo¾þr?WgWWMUÕLCÈõ`ggçôt- pyyyºŸ'fûùdxRssk=n]45Qák4s?ó £<8ÜÍ™‰ˆˆ`ddŒˆŒàçW.Ðìœ]Y]]ãûwU%¥èÈÈå•‘¼,N%rk/XWUM:šÚÐà1[ã Mº´´Ô¬WŒÏ¦]§ßŽ9—ÏØ9 Fep$Çѱ”µ„þ„­©²ÎÖVZ:ºÀ–E¿À@Ùÿu±Åõ¢âlªÜ¬QO" ÚÑÕ…ùì…,t¡@«6S6™•–¶Üz±9óWEIIWÿþ`:Š ¢*Eõx„|t¼TZº“|În]Ƶ¦R†ðÇž?Õø·5– šÎìlz0íð˜}õ€z·\( Ð>Ìþéòòr"Œ·@Ì-4ÚŸ#5²RUPˆù~³‡¯È×þ0òF ÂâýáHu‘н’uåRre¿ 4à" Ô#8¸FIUuo-ÀžÊè‘.3 ÂÊaV>¾-Ø?­ö1à`È=ÃÙà ”#ã/kX{o3¤÷ƒ¶6.ñ5;ûuWtà“'»ðÕŠ09Ô#q-ÒîqnݵžÔDÞG× ½ %EÅoß¿“’'GGemÞñ®{Dñ¶Ý¾æ1Oô.èK𦿿W HGÍAiÙSŸÓ|¢£áw»:©÷ñ驲¹ä~ïÂÀP†ù(§¢²qĆþ¢ï¿m¹Ö"e¢]í¬¶ƒEF’{Þ¨¦æä˜›˜|Ô×eæ‡Ä*÷’BÎëãf}²ZRB¤¢"Õ‡ ­ky¹$ƒÌŸ¹99Ü\c€¼ó)˪¨$îC äôHžŠÒÒõ…ViéËEa¤«›}„³²dç“ù`Ü””׋-nääì勇ï¥gCÿ.©4‘;¬¼sQSë ÕéH8|g§’€m.<¼Xll,¡@͹ræÚš;|ù_{/ X9ÇÇR œfº•–¤ðƒÂ7Þ"EþŒLf·7O@ÞŽAϸâ#“’ìÎvæ XgîOr~yÞtÇjÈ$ûÅ#B‚Èð|Xðplêÿcÿ_DHL¸¹˜©®=<Äêî6ûê \˜Ä£ëCy7‚ÁÖ¥GÒHKKã¢X8ú»rhESæ|¾¿ž$˜è|¶3[i%tº3isç6Üy}¾3ùmOØÂô-ø5¼ci¢é›˜lí þ\m·ô¶m8k¿ÖQ©¼œ3‰¿Ús¾È~P‡&(åð~SÄ<¯ãRHQ-€`iÍQˆû×½Åé7_}ï¯Ì¸’î@(’äP=*r™ñ]EÊSYr ÚÛyl¨¨__GEýñ{ ­=Öxõõãß}6c_‘ƒë¨ØñéØ~´Â~.ï´ì²2£öðùµ¹/mWdù`SêDÝÝ l‚$üNѽkÌšÆb€{Z9n-£æîKèìéfÚœVY®œg²tg†0Ü â噊}ƒi`0 …J¯…~ûú“]x98„©ºÒ Œ!7slnΣãd³­ d~"‘>??MZ Û¦…ÜÂ`>Jvá>zÔöçóßK€üµ‹ŽQ¾=Uº¹4DC«ªBóëØ•—¯LK³‚´ówJHlìi"¯ý×,>‚ &~û·wîã‡úwn  ^øÖòȈN•õþDqüxázö¯.édKs+!¤,Ðë…Úl󘡡_ ŸbAB¨¯‚! &‘'‹Fd”—룋¹øÜDñ÷lºZ“á£ÿ´ÈTXW‘ÏÎǦƒ¿µmf9Ço1”áQeõñ@Bk²º>Éaäá18Ô³ãwÁ@ w%èXlÙ/PP4綘úMÈáÁùj$Àó­¸ø0)4eggg# Ž4¢òöFØŽ©xí7®B‰ÍVW¾rÄ‘xËÅ̼;Sí ¬M-~·²Ác>Ããþ\!ãΉZâ7=t^‚ÍEu.iFÏø SÆÆŽ8„)=-íìd³§%px¾tèƒZ͈ÛÖˆ7Õ5ÅH6‘¢ââ9ãÈ‚=R#%¨²r×$¡ ŠHn-ŒíØ0KÆ@YyìGÜæC”~BnII¸×S”§”–—}ס„…⸛‹*·ªêhcX<|Îí0MNVÖnW˜˜˜ZT´®‡Q'Ek*¼Ü.ü¤¦–Sm' `+móîvæMàlr_^®¾š¡å,¯þŸ ¤%ÇIY€³óD zäñ8l•,b"Ý-U@ÂIk£#* Û®N#éd÷Â]‡@ò:Cå2™o yýzퟥq*Ÿsæª*f ‰¶2DÄ$¢kРNüEÿ“Ðë‹b*ff‹A*»2ÄÅöè(ŇHš\œ³¦Vä'7ÎM1,Ã/9¸-ç-‹âþ«ÔÔÃÝÈ‘"(TeeÕ`½O”Û£c4WVK³ùú|¾Èv3* §«ÕpS›¾ü¢.·èriyyû ÎÙT?œ¿7ÏêÌdËq½äþåógvvöE ^»µ÷é-¶€}20ˆ¯¶k1ð¡pÜŸ›ý)EàCŽŽ^½ þ¹7Èp44sssÐGŒÇ-çê.{­ˆž>õ‡;¡È*Õ‹ƒà´´<5j0¿ýéâVãy¯ÙÍ'bv§ÙN·~’nF|õÂ_À4î%'çªû+Žî®®%‹—ì&G™w555_¿~œ˜ÛhÍÀÈô§ÅTÙíõ¹ÊÝé¸Îp¦´‚¼¼Í¿­$5^k @PQf˜ª±È%[š‡Æ ÊqŠaÎÐÜ_¹úZUÖB ‚ÎvcAò Á»¿9þ*“ˆ·ÑGûcÂüŒûœR⃺úÔïß^*-î…¤|Žô 8H‹[[¼6Kž2)Ëá=Åó?\õ¡óN&ÀkÔGâCñìñ(Äâ©ib?òÃç9Ùe0{¶11™ì`a”Ãè® ''™¿ú~­WÁÕóŸ[Çe’øã®ÿ×ó¸†úúÇ«ò#V§¦F÷@iih~w+XWöF‚.|º1¸üç3.ž(øÐ20ð•ÏÃã!   ËSá]Äš¼wºoxEµ45ôsÍ%¸$ª§*îÉW.g€³ÐÉžqrÏ'ELôZììNo»»{BŸvÀþ÷3·ªÕ¶´°ÈÿíÌí°J›‰é:üaµþ(*+[Î7ÔçèÃŒB¶¯ÍÍͽGÄÄ” l…‡¿¶¶ÆËÃs°Yû‚J’¯B–Xn¦ÿðñ„œ††, ;¥7’nÿêô:¹ÐJDoeõ)üTL‡qb@ÀzžZSNŽì„ynð“4Bî`x|ü³aY!›þßÿv°6~°Ö†höôáÇÀ/¯¦$ša:ø}uåÂò÷?¤UKAQqea!%/o&_£rccÃÊy†ù¤ùsF7UÅ\ýõ+·ªó«S…µž& *½­¾D0uJòòÃÅé"bm.žkx¢´´Ï Éy¾ºìNqˆ¶:bb¾!% °ßón+£òú¹®5ÜÛÿx÷@[Aã—îBÙg '@ncï£ÃHŸz\ÐÏB½ÈŒúç´jN^¾ÁA’WUõ؂ߓˆŠR› öòÈ µØ¦2%Em¹msyÉÿú •Y¨‘†­F¨ñ­ºúqmØéñ±ÙOEdéÑý÷ÛåÙZYñ° «©WJpfö Ú6KHÉö´|I!ñ€»–Öáo€TæïþNIѱyô‘‰ùúë¨ä{¶BîÊﵿóï·¶TáoÅúˆ‰öჩ=2ÛŒé~ñ?žW‚ r-F]}? ’æs ØRXËâ§Ou?ø'UÞ¼éliinÒUm;*3ÄíwV¸Y|³ˆe`5‡Wï¡urå0þ ŒéÞæ\^îëè üð˜2HŒ%EÛ#P %ð+_L Ŧ©þ6fù{êï tåï~SËô4þ®°M‹ž |s(*$¨›ãeLMKOÌ8»Ôϯj^³_ψ1¢(—{Eý¹è£)WýZµ¿·2>g·²œV‘|ÊØÂ@¤E(ßa#á`[WÛѺ^7Ù£ xÿÊÉÑ©zAÅ~¨›®rPªš02’µºÊ))¹‹Dú÷),‰ßM'ŠÈÄ—”pÑeyM¹ÞÖi\º_È©kjªéô?Gù„ÂLyî¯ŠŠ­lùz^GE9•)¥r;#Q“›ï€Á\ì>Ÿ«càu9YKö”ç“Ë‹ŠíI"u[ïcÚ›¥ ]²æHS³é{h· ì)¡³]’Htåff‚‚•?ÇSF®³Ž–û£cc7Çò}Ac)ÐّѧUÑäûn¬HÐc<¿Æ{ Á9ч”UUe»ÖÈǹ9×:Óÿàì­ÃªÜ·Aþ¨uõz2#à²ÖìàÌËSƒCÉ=ZÎPÖÓë1~TIŸšª ¥WUkãòrqYüÎÝ•‘à ópïµôá„hCçݳáÛ…vÿ&†¶R=µÉIì€Õ×owww%Ñ ÙnS F¶‚ï_æùþÏü^¶ƒèç_6I_¿¦µf¯¹Çšbˆ1}דSâ$’g R‘QÊx¦ÿ ìã>ïŽ ù¤6=쪨½û•à§²¿7càJË¢§mfš+Ž&¤Y±FÀ³Á^Â)½ÐÒí`H^W…qÿ\éÚnNÆù…¾÷Êzä“\xRðµ{ñ~t5s0^ÀÒ—Zå9ŠÞ•{*¼1îÇ_ðósjëžÙßç±æºïŽÕm{fkhèý^èÇÏË£âäLïû‹]k£¬‚¼¼±¼°ÊüüÊÀÀØo9a#h¨w,ÌÐ×Gr;sj.wÎ&þŸg ‹M~ê¸í¬î[s¹‘ßÈÄÆ†+dI†ïðø4û$1÷¥¤Ðë5ÒºвØF@SEµ¦ßê®äþps¸Øä‹“çJß–:]†½Ü×ô‰¯¿).Gâr®Ú²¸è ÊVÎè ƒìÈHð_/KYWªHKÑN¨uÝB§ºZhexe ‰ÐvóÜ^ ƒaÏó|Í_¯­ó¶d¥)Xyži:¯Ožz~±²=ÀÁž÷éue^W<#v_<ílc=}“L"c]À£Ãáu#7åB}0­^Ào‹I3i*zª¼ˆØ«Oµç÷ë Ë·‘)±µ*ãÛg=çüÛ<ß<¼=‡x†\™g*ÄY‰á=““ñÄ•c)èzO/õÂɤ<<AÉÊô}¸Y¬úx‹ŒLDŸ ’•yÓï×ìkðÞ² JLKH:Š4jtB5…ÏqöKpü³ºÑ.q#+^–ž‹Ú3B,—,!!µ?‰Cñ[¦ÃOžžK9’³00Øx Z»ù°@FH’)pÙTÖ/@‹œyõ44®ÇòdüÔÚÛÛaaa‘`EutøÈÈ X:“æLXñòóóAl»Y[3†f¢G Ÿy>Í EÆÑl7××îŒMŸ]VÖhýí[ÔpöƆ^™>1<’n•g8¡Fd 'm””=ˤ';•ôfÑ-§å+¸ŸëÁÉù9ŸË^|R’†˜´RÍ< ¦gggþüùúÚ˜©–$f½FÏKËfJVÖ‘_¿ÈXY£¿NˆôŸˆ}N]ø\¨"i;ûFOö§Ð“ â˜å>Ô Åšr6ç„»¦pcLhЯ^½²hŠww{ÊÁÈÞeŒ®Æ àcŽé)³¶V]D䟎òÆF^Ûðp$-­Ù¹9íìÙ©***9YYGGÇ“ßûÓeìßdaý³²²®´ú; oÆs$£ž¯Âéœb`‰srrRPPœÆúùýceeëÿ¥ZÓCÞÜÝ/àx¹­®º:>66…ßÃQ_ŸdêîtaêŠùÂýPè¶ÓéÇ4LL6ææ77§ëµËÞ©-×'/mÈ\ÀbÑò ÇÍØîíüìåøî;há7oÞ021…2ôçY‘&£ºa嬵¯¯¯€€´ðÁÁÁo²[¹Òq¿ÿæâ 8ìBšš:::rïMá´zxx°´´ÄÀÄŒ‹‹‹aQán¿}xFùlŒ×½éÈ¢[¿²µ˜ä`‰þ1ç¹ö³´ÜýtAÁ¤¨Ĥm½G©ö‘ÞÎ>y}Cd!`uõEݲN•™œÕ1 hÿá¥fß,a³Ï£ÑŸh9n;A*¾è#¿j EaáÃ?ì777ADŠ¡›ÄѾÊDr3srbw”[Œç¯ò5:n†FD þÌÎþ‡‡§y¤£Ãä`¦´8*2ç@ñ„­›™ž¾°Wù x‘<åSž³/œŒ¼±±qòÔßßî`»tµÐÊlÌ ..¾æ‹ bq{TÍîêòÄI±³OÔ˜ñÇb®d¦oXY¥d–•»AôHH<·¼–¥>z¼©ûÍú³°Ž‰ipfæf½'ª¢¢‡ñ’óêïð3© ·¹õV×ÔÒÒ#ÀnAøÒWG¤¦Îôöî®´ûþ;99)rÜx5y2×¢H<ÃhÚtã[p‡ZsûH‹î}¾Õq8?Ìe“2åUŠAÕuu8¸ñúÚš¥•Õúúúââbíb¨d¹_}}ggçÄôt›×õPo¯´9j‹ÁÓji°µz‰66Q¸1cn~þÖõ²o]yù/™Ô´´Ý£@dÂæ––beSSSG'§×¥‘2 ŠŽU{×Ã9q,m--b^çYY_h-r‚Ì4qHêê¸duíÚ{D®!!l6¼º»«¥­­­¨Xî~ºvõ2xC9 kz8ÒÓwûüäaD´+A7+#™ag0:Œpt. ‚: ,ìÞþþ¸9‡÷-^¶N;WŽDDhTM:5%e8'‚Õfv(ûÇ!s ‹°0kä ^WȘä§;LT”•••”f›ÜX”Ô ?|Ï Žåò4Ça÷©ÎÍ¥t¨ª„!E\l™ŸHLH`ÒoÖÔ××WQaçะ:lÏ2-n‘`Ñ~Q¯ÓâóØÞ½u2[Å`6D$îʸ/>&)ÙãZëæà -#ÞÉþz„ˆˆ ºÁó’~2 ¹s|ן&îí-©šÆÖ}ðÎ3 “F>š’ÅPRã,íÓeB ç¿—}? ñ¡]`ÿÅëÞ¸k…ôfß;ênÌ©xX3ÄwâäîR_cbKJ^€·Ë…†6Ò(œŸ“ðÿñ¹}ÓV–Mëg: î°C/諆ã°ê‡) ç§ŸWrÿàáciiëè84^౹邅ð>OùmêóTfû𲚆§,d*Yö³ sxøDœÿî»@“â2XtÔħ§—Ggþ cæâu¯ÁûÜâeûˆw~„þä 臥I%Ô“¤rlI™ëÍI{I™®´„BÃC"¥·àóD¡×ö0 #ŸóìÀÀìÊÊðÊÊŸk#Y¡––gªEÁÏLpPP™:!Žä7>ÎÅ¿~q‚ˆË!ðœh1Âë6;ÇG²Ä½šýn„wuçBÔa÷L«f`p´ ´%莅9­§_c£öóíÇßy2¨ŠX¯‡P(í¼QQux^ÀÀlŠ‹'°àHˆ©z?é†M£à½ÓÐÐPT‰ÓPQÁ{#¦/'çóÍÃÅ%@Øß”6~ÉGÂÚÈhàno¤´™™\SÉPPÏè›0yI,B:úún÷µ|³_.RKÉß'³rà‡g97zª¨Ø~ø`šä¯I»¶öv½;ÎÃÉEÂõ!ôi¢âòBµ‘õÏRY~þh-ï‹×Ò0ŸÛÃÀ@5_CÏkÑëãŒí=ËO[²¿g«N½Ÿ|wÉB³Eá¿ÙÆ'³ZN|VÊ™øž°þŠ<wÍ®´´š´4çÒçv4ŠÈ7Ͼ)´hlü‡..˜ü!è‡b¹+heú¬ØÉΨ”Êøªºº'ðú<66䨙7¼w“€_íïÏæHViò =r,vŠ©è¦J¸:oD'â´Ù%d,·øÜ‰£ ¶MšŠKK{þ†.);þõeL_¿Ê÷¦ý!JȘÅ@~ëÔ}ll ãâêú3M0Sÿ÷”ú®.µ› #}}-ÐF𩬬ndÕ# Š®ŠR 1ï…ï6ÙZÁk|rÔb¼ >ÃcŠôÆ5{]/=\NóV¾ÜÍ›±¶1Ñš›û³¹ù…ÅioÜåÕÁ7+£,vçä³£—´¡¶ oA¦~Xl”±æ*˜]Õ&Šp±¸g=: áàä¼5ð­qsªâñ8[êO‚Ñ£ñ¸íÊ8…»I„rÜôÞ»/Z Ó ™–‘–ÖÎÜpÝ&8gà9ƒº„ © ÔûÐQª ‘d1æÔ~’‘b²É™, e\ÉZúç먔”ðCB´,,Ž y-«>FÕVàó¸°&_¢÷Íyš:W÷  ¥z=·þÜ h!B)«¬ä»Wéwºáµ;1œ} ·U1»À|¬…!Ñל¨Öi|óeëá¡ôõúX¦¸˜ðÖÝO*7ЗÓÍjIc4<µ_évgÏ3!Ac:ÀÏ€¹¹üúznii­›Œððú¼¼¥,Ñ«ÄDOXé8b=ÒÌBž“£ÅA[Ûvtt–ïÄêʱ>o·ËÚH¢ˆ‹Ù|[O›=L67¾%"ñ¦U?gÙ¤jêê>îªp:Ô¼73sNóñáñù±b\>ƒ Š–#¹ûäÉ£Ë}¡XbøoúÍ´RïûÞ˼—î5ªò–à⢰±N–ݲ‡f—üo-Ú ÛRÇÃÃÑãݾüÙ2?A× ÍÜÖ`í·o]Ó¥y_ù™YÊØ¹Iììø­G?¿X¶7Î0§e)c /¢eüI >iiYYè‹Á'KY¡”4ÛÄÛH1***´tMvË‚þÙË!Ù´ºœHP;jbLè²ò>××4eú‹æ¶K³ˆ<÷©{{Ý_¿úž>°µÉª»B¥?È¥þ(É¥wuÎ&|Z®±báâªlÐ ÍF%9Àã:h»oãä(?^ð@Lj½;YÕñðèmpêáåMÁ#øíèÔÁÀRFUjLÉéô–óúèÐbøZÁÐpåËK8@ñminN™¢ ÷|ÖÏb·Ü ¢v¹Ái;›!ú¹íM’|!>~šà'OÀÝÜ×onnï¯ rsíØLºÝÝÝydgAƆúLûK,Ìßùá–¦72{ûäöa{ø\!=üöˆÏÀår°¨è»µM‘ ÷õí¹7s’¤«39-_SçÀÁçо|:ܹÌÜÜ»ƒYh++;lìké87ù?Öù`ŠˆˆÌ?bâãæçã`bªèéçç»^ée¿×Ó §/ª­åâãóê ÅvçY²11É)+;Nf39ù=33Óîd..7¿û‰áR³Gš÷+â›'14JJÊܸ{¨ÏÌu˜ÂvÇM÷W‹ŒL%í‚ÞÉ%ÙkO7§|Ž9{/\²²è¬¦aà jdÄ»ô |ƒÂdFJt„|K_óqŒj¨Œ×w5¨¬Í™wlŸ/û6Ù.ve‰ T×ÔÙÎbœhù(ÀÌpW³£W——ã¢Ò¹¤Th2fïm ~gâ~ CIBtô/R…ŽÝ¾·/dFs$''&Nð›¡Å•ääÿü‘Ê6ÝŸ*‰¥¦¦¤ZlµõÓ½é‡௞n·3ÊZq€#Þ×±àx<Þ‰ŠuÊø>SÒHrÉ xrü^Пp~;ëà‚(H*#Ó铹§†h´Þ¬Ó4Û5ö…ýÙ36kýÁ£ [BžÐF‹“{š‹{º´Ð¢ÙãÜâݯÇþ$R díúçÑìW@Ç àØ$ÅÄYXHó§ñ{œ©Ó«WmÚC—ÿ«nZžÕ1>m„ÔÔ¸XE´ù¤¥§ Ú¯¼{  4ò¢£³Xlt±[jnG´à˜…˜wãèÈç|K®9ºcTù¥¯éÅÅO[ßÒܳ  ÞE¶~ŠÌ è*›Í@ƒÎýá-˜½Ó'Ózo‹:—kéÝÞ„ZÕßg™ðÁÆZ¢R“wk‹‚,c‡ÉëdÅÆp%'88ɹqf¡ÁÔ‹…_†ð³1¯Úº4Ú|±°±«ªª€î8-ÀÆÆîD..*²Ô'Bçáó鮺¢‚Íì%,-#£ª¢â;hÛã/Ïââ© ¾nö!‘‘W''L«fUéú7j þœ˜˜øùãÇ/DB‚ή.~’4ùíÓÖ ŒT x¨›»«pC%%˜§Ï«¯áÉ©%ëÙhév·ÇUU¿.$—­Ø»÷öc`VÅÆV¾yƒP¨Ú÷õ•öþ”œY…3Ò„T6Þ–8ÜØ7é‚êjjŽÍ³Í à¬oß­Êôø<ö&bN¾Ô¶ÎÆæ0”Ês3„:¾lq½Í¾Ï­iizý%Ú[I&ÝáÇJ¶´G?£×ˆá“Ažƒ™‘‘4]PGLÌmSAWW:t–r¡wk4U¨æ×û!†ââz¢¸AÛ'T¾eºÞ—–ô>åõvzL:ººØ˜ç¼ttûOuØØ.þpýÚ:Q õay㛈/”‘ˆh[Ö'" òs7nîixxÒ4”cµ×ö&q*+OÐ+>Ý»~üøÈßêj7·k¡§›—egggŽ®®‰ÑѬìì÷@ˆƒTÎZÖjr=úíüV%_6&1q¨¯Ï²äƒ¨¨x8RPÇlU’ám …$¿€€ïó£"bX©§ ­FÁTø­í$D¦mÈéÿÏW‡¸Åê—_Ž­ŒÏXxïÔÔÕÙ"$ÒX…­:`¬¬òK +s^.vM8×îž\ ÝßÓ¤ñb_ogœ"â„4M)ëé}9ñLÚ/8ž¯ž½]lr—]ë «2ü]lmcƒJôveºo/%-­$+«Âi{¨öþôúZÈ~å`zll!Øsgb(®®®8lYŽ”zWíUUU%"‰B ¶€ŠÈÎBÍ pߟG&üçûâÁ a4‚^ëä1P ¯6œW¾s“§†\ŸjM ]‰‹c;8]88s\5ñ“QÆÕ¢ÌÁmÎÏ1£º:ë´¹;¸ T$$M{¸ë†„zR½Uùµ~º¾¶¤Û|ÃÊvº|½<5ÁAÏЯ©µ{<Ã6ÿ[®ôÌ! µ„Vù/ç'ïu«ieãG„»VÓÚ¶3¬âÚAù€A^`~º4FgN*+lèé@ƒ‚\#ƒ¯.V"çêWiNŽACÓ³šÆôÄÁ…XêWèÁ¹”^ãÝ_¤;D(,””›uËGö  @*-êßFd6¾ƒcÆAa_þn1»©úšYÂ{™o?yz šBNÎ\l²ƒ†£É¡;³ü-¼ã\Aê“|q>¼ìâF™ùœ9úC&I>Upˆƒàeß6¯Í÷}éNùòÄÒ® WbÂ-ÂL­Ád~33¬^ÔˆÞ·•#ÝÝ|”lF"Uï …ßÙê.|?Š„¾}ÿ^¹íÁØ÷8}ûdõe_“õì·ÔTåJD#ÛŸØ(455oNVE+En©£H}EÐL/ÌÅ {ONöA¢!u``†Ù-ö­Ÿ¢A[ìKá¾ÖҢʚ¾*áKq–%%`:œ¸Gµ°¸ÈØxk©…»ä§NMèæ‘í¼Éô· ‘ÅJQˆp> s‚>­r• ÏÌÍTŒ××#^^äQ*ŠŸ{õŠ »@Ñ~ì ¶Ü›^-ü}ž»!Þïís~A?²ÖÖ0fr Ï»s‹AçV‚@£:;¡å¶gu9¹ñ(!y­ªîXùc“ॠš“þö48,lÿömëd±F†d¤ªØè¢@ór·„­è˺ÖtƒaóëÅÆþÙ[Ibb399ðþ$..ª¥¥‡*)ž-Ï_“5LEE:7Q[=Ñ¡@„„(³Üä6”+ÍkÚs‰LDLüšqì²B úŸ¸B±>P@aÛØ|æÃ›žIþ`–°ó6 Þð EëÇá…<™A%nÎüœ6)í¥z®ÚÚþ"æfŒj°à¼€Z©®Ók=ð>]Û;8À`(^®µmÑVVwU^¿ƒ•‚~ÃÅ5ÐÙyèûPÁÈÆ6>áÜVðјVóÎ!:ô;±•º‚&·áó‚ ³…ÆË±³h ©+×!÷º,éë+J Ðcjû wõÏç¯Ð=¤‚>ÍN½±!’Q‘¤mÏ3?öö$þý ¡ +zxh¨v­õ·ˆˆÁÊýÙÙÙÐÅÆ&&¥º&&U¦½±ÁÁðÍ#}_ÝÝfw—€ES!ðazfD×ñ¼0Ïm¸¦)87íIùõ r¶?oZiq±×îU{ÑÊŠáË—/aý³JJˆÑÐ>ãfÓ†fÓú·³rrÊ)(ô š˜˜(aÙpͤ+UGÌùˆ«»~Nš>ø8|ÕФÐä~Ú>SÑävˆÀÂèYíîEb¨­=è;—ÍœóùÖààwî >7f*ª€¼N[Ý„ÏO÷vvvÇÛØ:Àc‹@-twwÏÏ7Yw…†¥J—WðXÛ>…E)¨Ú}„0uÅàÐй “ Œ -­ÙB•‚æææ`!T`ŠZ›ù­õu}}|üoÑÑ﬌4]\.Çòd4Êô#’ aa!ù†…­­`ÕìÏG”–fS/«•’]8Ú2s:7»Ë•n;Xô¤.xÙÇ  ÛØØIÌçúëó ÀD¼oß(mnm™Y[323—5ºì«·#®8ðýüü|~gÔö¾xº0\y¯«ƒÙ³Íþ7” õMP(µ´v779­¦~ª«?Þ·u‚ƹ8;§¾ùð¾¿4øi8•‡ÜërÚ÷á¦b¶4Àõ^îýû¢çŠÄ®;—ƒ8”ÏÇ»—~d7ôãS€b(¤¾esÙSµ°Ø¥SÉ'òyH2ðy]$ŸÎB‚‚Ž®0/Ïeõ7L;2>ì©ðÄô4äu€ÕC¨.~d„\Öd‹¾5>žb†¬ŒŒ 6tu½gʶ‡Òö+pçù¤ešê5…|š­î¯´@Òs³óÝt n¯­=Ù¼ʇ@’"*’Ò¯¡¡ABB¢süßb¨–ØüÙt<^h`wÞáâ ‹ˆ{?“F"Ф$3ÓþxI ™ž—×s⇒h ÇYn@@W!÷T©ÃÛ¶ä¤$·­üìC 1B6¶¿cö„ÜG½qƒ®‹ÚujúúnGºk³=Ý‘‹N;#ÄÔåºÌ¤Ô?Р{ÿü<8˜‚‡‚Âÿ‡q…&hYÕãããåÅô+TTnnîo¾ÅQË! "Š¢uNO_ÿ@dcc;===çóy¨_©¾:=?/.,”–•••—?JÄš–’Ñ(©”’ž½œ6Øïì²èOÊ æ¶n÷¯òùIÉÇ ’»›“çÑ\Fz]]Y‰‰I(è]$ie366&ŸÆ›‘1¼éH‡…àGÆ QzqzÚNs[ªßÒøq˜ZXYEd*1ïWoí`­ÜÜ\í}„í·†¿> â2kWÿ˜]ÒÙ¯½Ôˆ`ÃKÁe1óðÌw|«‹%Ά´~ú•Æ×ÅE0Ö¹¤±‰ê"YÎÌu‡øL´¡c»Î¢¢ì‡ÈàwÇò@¾†¯´ž}ãëûü¡?qÔ¼€€ŒŒ }!¡LÎ(4·Aƒ#d³TwéóãõrGx&–¸#1Ž {Õ[² Áη㶆ˆ›¼¾ÅÄðÎŽBðÏ‚X(zƒfw#[ÛH¡Oדs)]žmʰ³W%êÔl¹´=?5¨ÆIýiœV8~d v…~õê¬(€&QÑ—ÂhHç?~ÌX;‘#bÍMjÔL•(ò“\]/Û}øP’!È$ªÝÑêè§ýáC @`/Ï#Ѫ…eµl™ÙTö(O¯_I–7{óíúx¹®ªÊª!aåûíézã?~Ð>0Ûc!lv¡R Þè#ZD[Ptêl—ZøÈÈÈhiä°(™îî¡<]jÜÎ Ì×­·.k‹½¼PÅa&FZo}ª€<‡X!‰QËqãOÌ‹—°;»»ÌÌÒù=ƉˀžØœ)ðËa---EÅè‚‚÷^¶––±ññŽ ÛÃÏÇóØ ê ¥uß¿ßë!õí”nð½»ØÙQ9{¼x°ÐP•¦÷ƒ€ Ñ~õ7ˆ¤p΢YêÃÝÄwyÙNÛ{7w¼¤‚Zt¤8‰êJJ,Ô6‡ÙѯE7Ö×ëj¶åvþŽØ¾½š4›¯³sâ%&„¿´ŒŒ“›Ûóz”Ð = Ð:À)ÀqQ¤B$üîå³AMÞ·g¨B+ÇÇQBzM®6öö'w—û¸,úÞ ªúúÞKJöõölç96;ëџȽ`†•íö¨é¸qm3”ÿt²˜ à¯ûiöÊÞ$ ×9ׇM¶‚¿—–ܯ¬)^½â}™•ÐF”““KKM$ÐúÓhæêpžF6ù³Æ·ääŸÚ5{!˜ââ⧉'2Y51´c›®­­qYÏ”{]ۂδ“ÚeIGG÷êU:…Ä UiiikkkKRl¬v“kÉHz€k<ˆB!ß§r£Ÿ§Ûm³ïÕó‰“yüü[‡³ìÛ½q×eùÖÊ´æBm_Y?Ý]|º¿âáãkóºŽÞÁ“œYSS#`¿ò¹¸ØÊÕµ60PÂê››¡aæ Ýg™$fÛ³MÏ@l¡CÓÑÒÎÔ;PÄБÃ[[óÔÏÎ&šæ-ÇIŽDaA^«ÍüÀ|]FÐ×Üú¦çßç’Ûó\FÖÉq•×|¼™]l~X\à{Ãv¿+¢**üììãóó^ b-¢‘øAzuyu¥_oŸ•ŸoÆ}˜ÝñóçO@™Bbó©mÍÌÍ-Å:eZºÊ'F•pºðÛa–…ÃÃÂd´µµMMsÃÃe¯a¦^»3e—äæî%Ôöä™§R”O-ôqh&Q®¦6†0Kæ©Ù0q]=½&ÊÈ)M--%Z,…aýd„.ÃàÙVëd**5n;Á&W&NŠxaÃ,ha´öþ:a»üŸŒM@t_îð{'“¤“`]ü>N/,ÜjöX?8ߨ¤êEAmz'¥8°i˜[Nኾ¯¯¨ˆR=«Û£Å‚““‹:;™?‘ðŸíD³2ã¨#’9,:ËÚ†¢Âî¹ùzÓ¸]¾ókÙ-TÔÖ¾„ý%ýpªºË+1Ehs ä¹Ê¼³JP#ÎÉ%%_JJ^ølu,û ÍWRuN^žÍTý¶ü‰[B"ŸñdÌ[î2xtÂNIj[¹¿Ò~‹Âsº;|ö°Ç«ÃmddëÊ—ÐPP'6†hP'ƒXØy‰,Ü:­ çÛs|nú ­Öw2HÉ5—f«$ÒŠPe†!L*„ *€ÉS?|q1!9»í²O«ƒ YFTq1› àPJ))/{#ÑÁ_“¡[s%u¬J¿óú3 ÅêŠáÚŠáÙ­“³³„éFqŽdŽÏãe› G¾w2× a'üfdzæÇWÒÐëëë^üá¥f&vËŽ“]¦¦+HR‚¤…%›U³xß#89ˆPÆ&:?VÂ%77/ž®ãÈo¹75É99ÉéÐðPcÅt}ðmþVïúUVV¶ýr³d”Ø׈@~BÆ{q³¡øÚZ’´µ„%÷ P,áP⓾Y€ºõ|+…NQoIåœ “'ž_,%ó]ZúÛ™;62²!á²ÃÛ4íÆ¿ Dññ±ò^Ãûycu±" +A ÿ™7h¨ú-RÇîu€)fVf(¼k}¨K†™7ÇŽ×Á®§ó}®…-„/êsi@èÆ4BPÇw®C)³-I‚ˆ¾Õ` 8Mºiœlx[($;œœd¸­áþÐÞíE¬ã!U ðÕâBÝá`‰_Ô‚s&­F†Êä Þ:cã ¸<˜ÅvÇ &“ד’ê«ü𱺦nnþÙáH×XZz’ÛåG!ÏÉPšÐYÊt)'!@þPEËCÔ‚ìG‚ºƒ•…F‡"©þto°Ù&ªA„5ÜS¯û´Þs|uÔÂãz°T¨ÒE338›¶Ñ³FÜù™Š­bj‰ÛúÄpvo¯»Ô²Ã`ƒŒ)¦0´ðÔÏ V"rê«.h’¨ Swo¤Ž§Çkÿ2»‹‹]É룖Ù'AP¹²sêÞòédѾÏâð½vç?èK0}ù²ì¸MÈcMLVB¨²{ô]U_зëQ›ªE'ìs§HrÒÒ–ëÝ…ËLþ¯·69ïû\^¦SOM%'¸ìœ}ØvXÔkJ"Àˆ8íPèÁž™vg´'*Ø—êßv¾‹‡´3•´Þí¸yÊ’ é¼fI.åä—t-Æ´ûk·d6q%þñÜÑNk›okk82=ýV®"¿k%£\–$uSkí–Ö¯äSÝ §KOrsÄ¡>ÿ1¿†™)ÞìNLö§ò&£³ŽþªpV¦Ð#‡ÉfÊ5#…ÃÞD¥Ï7…‚°QsU” +‹Bš™w¢¢»c!¾O·a¸÷¢"SÃ鼜œní~*ww|8Œo]€_ŒÄƒ®QÞ ãáý(.–)wqqaÑk¤ÔÄ&"²64üeÈZ]SóòŸND¢`ý,-SÒÓ#q[AYzz¸õ‡EÆÀÅ­+/¯ÿtÏ5ZØ‚ÈeÞäp¯S»øJ^Yylfæ-/o£É#°ú0Ú£šø¨IG;‹+zz_0º?ïò-ªPrO§õ訒«9&µù+ YL 1kyù¥†Ãº< /––Üää®åRݳsðÞ©©`ÖŵC ‚Šy8SÑ1<\öóçÁD!PMúèèèb“@Dy{{÷õ÷ƒš‰‰\ŠT\ZªØÊÞdñ)E,jjj‡@ùƒoÃç?n¸nè#u°"Ý?ÜVlÑÅ·€ uýÓ·Þ“SMüC\hhx§Ì™½ôO›¯3PQ[¬6é¹ì–ß¾ÿXÕðüpþðkÕÞ¿=Š´Ï~ÅNgž¢¨è;§¯£óŸÇjös“íõ™pdðc®„ˆˆa''ökššxa]äE¶KÍtÕ:Â66%_¿B?iª«_=Þ_3épÝÓ‹¢ý7cñ'9ØlºÌP~À0EE×f«lªiiËkkÍXñü–¯ÈgÒÝ H10²srü…>=?µäååÅÇOÅq~vÆŠ¤ÓæóIQMŸˆ¨Ùv±±v¹7::úé<j‡íqÇêÃéÚ¸hçõÅE¶nÇÈF11,’‘Æ>½h)¹kcc÷FFâk¬^:»Ôþ¨WH..ȱ]ôÔV—²5„ªÎÉôóñðà9­nnÖž1O0¬Ã „úöî.Ÿ–è%EÅd§­­Áï&ÆÆ)œ8ë§këë@Øhs‘‘0ÐÒRRR–Ïq 8~ͨãÑB ˆÐÃ…0CÀ†nWÚ_6/ ÙÞ_gŽ›Ôy ‘5—×ÞDáèè(»*ù²FU³¿—ÛŸá ňï"§,amä1=ýÑýõ29‚÷dîãÎr#¡t¹•ó[ÊÀ uGáŒmRAoÜ j".kDA¹›ÁÙ¬#º=ÂøøøYj~‹äð"ã=„I))ïã}A:tG¡yZkC8šlކýÁÜ\ª`üïÐ>!Z”?w$q“ÏãÝÎÎNb_ÔæÆF Ìì•>ôGè("c é %¥/Ÿ¾!$ÅǶÍöm`mÍØÈn — Ê9è鲯q]âî§– 5—Fytÿ&± ·†œÍy(ö6=}Êó¢BöØXŠN]zc=ôîî¡¢’7çb¦ºg41ÞÔ‘h·íYz`PfP ãT‰N¶íÙ¤óöxBee%!‰@Ûgee566~0›:p—ª0éHdÔ“èO 1œ÷B?;©;¹=ß(@Àa>È÷¼O/¥Ôç£ÑãVõ¢¢½€D!ïd³#l”4mû«Ñ­E³Yw[Ç­ç]¯¼:©wêæâà—Z¼ÜvF²®ÁíCÂÂÆGF ¢Ž‚NL¬§¡‘”–Öâ¸ù>{>ñq …“AP°ü*;{m$KÖ½êÀú«n º$³«ð×·ç¾ã_¼ªª. #»•ꢤ(k͆m½MCë(ÿüùÀ3„Á»­5€h¨ˆuk«`„DGRÔëF›ÙÞÃù:-FÿvE‚Ÿ<%$`õ[ž!ç÷ù36vB‹×5F<Âp*ON^3óé›+­¯µ ¨¬Ì5 i©æ—Tù½°ð0[õÑç¿u`Î6ûRß~™öôòâãá©yä!‡‡ÚA¡…½~‡ùÙ(¹ÍwìËK_BBT>ÇÝ•öJSÉ z’¨ç=5%eeuÕ‰b…¥Ú>S£ gkk B+ n-ØÌûLZ(þ¶ÿÖ``¬íìÌ ]133[XXÄÄĸ·Â´J››ïøÁ ®BÔ¡c­möÿvÙgVS›¼¿a¬¬0Š%šNHšp?ᢣcà½s‘–NÈÎŽÿö+,ÏĤCU=Ð@wD¯•:íÅ_?¼#§Õµ±tõ÷ïô·<®‡•9ã]"èÝx3Rä°‚«°±1ðÜGõp³*šT832:SËŽXzxaCñ¾ÄhO‡þ?/3“X¬¡âvP/è}ók¼ ÉÊ…’/ÕNEK+#>>!>ó¼±¾þ½¾¾ãX.:cb$ ºKÞ/^GÃ_QJA¿€Z|Ñ^æ~}4Þè’tv&ø|ÖÒÒÂ6»ê¬hfæ ;Ààݱº»ƒT[aô›ãõøŽÆßT Y™®˜]x¼ô´xzph{²d¡ë%ãËŽ,.û(,Á{7Ùâe'èýƒˆõ³-—Ýò¸MƒùgG¿Âþ¯}ЉÁÿÎm“Djw +ú¥qc3A\²-4Ò'@ÓÒœV[‡½@Î$’T¨¹,óÕ˜C?14¨b2ôXRAUÛ¼› ‹§¡4×bõ EU±DóBÐ 3Aú=5Óþß¿^½j¬8eED$Öѵ96•„ódù_»S·zzÓ)Ṅ#`1¼Þ“„DD+ç*¦ÇÈRÆø×«j""Ôß'GM+œ5ÓèT.`¢B„Z®¯ç.,lÐe6ÐpcÍxöɼ+Ö(‹¸ä÷2 B} ë©3ý±°(Yôu3ªÎ-P8xHD&.’rU\ü§Íƒ8Žg£‡´ˆ jª]]߯Bê!ôqD «òåN‡"–^ËÜÚqÛb_ÿ~¾Ÿ÷þ{%ÅžëØØÁûÇȳ+WUeK2>Èœq(ýÒ8-ã=U'p¬¬¶]põôX¸9Ê{#!G@eê%õ²rxMÒÝs«Óv×À7Áç§û˜ƒà¿|µ£y}Å}õ5µDÏøöBƒXeNj痸uuš"À Õ5p‹­‡­¦½¾(M\™ò¹¢ÿ¼| ð®sciéQžLt±Ÿ¿?2R`m­ë»wPúÁ!w$ØŽ‰ 4s"RR¡¿#»ÿ¿ìO—!.oxC¨ø=¸MP%÷ÛiBÇÎÏO:VVÇ]âˆÑ¿egg»̬nok¨«»îMб°”Ãg[Î×Ú nnnDWìTÇ TÓДÕùroÒ½ #“öÆÆF|Zšž’’ÃÍÉj â"cd9®÷K$稅eÀÌ:mx|c†·ãˆåq«ê ¯gKöÿ'%›uÄ4–ššz/%µE#—â¼Ù‡Õômcg4ÇÒÒ’6Á6=.ðr:º—ý)×H'haÈúšq ÈÉ:Ȭ3zÈ*w÷vu 4‡ ø­Æ¾ijè1Æcc±î¼gááHÙ¡]Æ5µ¯¿^]_OwdzœuÎÍ5Öt—´É+(lŸßúØÚÚÖÖÖf’©h 9äòw»)wöè¡gþí)¦ºc™~ÑÑÑrxößë§­s°âJ»2IÌi›žƒÃ¹Ý¦åЋ¤ûûŸý_‹PZ+DíK2@›û>óûúÌÌp~:Íþü/Ž’)ƒ¨>4` Z.ÊÊzëuUA!IîÎ/ø¯±Þ‰’ Š1^ýÖvÆ6‘ »ó‚?ÄßPz€|´¾,f"§ØÛÿnmƒ ðšòÛ `G*OOú燪Þöö PæRÓXÔ5¸£õ2ŸuEçú ,„…yf__D3?}uœÜYÂAÝQM29aÊpóWQQA*!.îBöyè9ýÕÕ»µ2ŠŠý¥Ä´oZóvn²r×6KÞš­#TëræFó^Ñ¿~½lA ôû4v±èà ãâ Ë÷öÁádÅ%HÒUìÝÅÿ?É Úþò¥?øÄЉ¦¨©épfÊæò§o¯Nè)˜‰ñçŽÚt¶Ë¤»U Ô )Ò…–·àóÁ,4rûG’ÁA&*>¢‘ ×ÿoTw ¨ngggª©©« éýû÷)ÉÉ ª¬üߤ÷LÃêªB‰@Q~~`6í(jhvJJ „íJ ©©áôo§ÍXĈG² –«+¨æcQ¤B݈UUU€Ñ×Ù.¾·&¯¦ò#:6.!AMEå~;Ã÷äwj*&fœÙwĈ‚Áëãeš‚Ÿ?½ï.AÆ*.*Zjp*8F„œyð¡Õ÷ùödµik« hwT⽬¢Fiñ.âgn»¥«‹Y®¥Ví›§G/:ºÂÞ8šíÍM£–z)ëëðWÄ-Ä4ƒä¸-_>ÚA^Ë鉟.­jD‹‰YÛZoÈ~w}K»ƒâ[)ñÿZ¡èTŠR—q…ö|ô Ùýýýþî.06 ¨U@—€š‰…ƒ#Q5jÊV9  áe¦~j­ƒâ®¢—œœœšîý­qÕFÿïZÆ¡ígî¨#¼¤þûU¿ïß õ×€65UÕ×|õp5þý;äPÐ ßûÃ:N«)ô`Ýç“Õ—"MÀŽD(åå' Bw":89UÕÔØÔò —ò—\öšU!""*¤óùeÌœô=#€|“ÅxþÔ’}– o©€³Ã#){•? °›[‰äð¿WO´½¤¦©ÖKE …ÿ·_¨„ýbÈ·Ž¿ª‰L‚ËGeÌÙmØGñÜ3¯ýù‚ýææòÓøÊ‚ó™5 }Ÿ¯••íQ1Nlæœ à€=8°öððx°?–ui«¿r #ƒO“çþoadEIÉa‘Z1¨ Z<<>ž²Ã(a•üøWüßÈwh¦ý‰Lë=Q€ä—””„ „”133“Qu½uµ>§»KO× ðÜÞor¸Y5…ƒ‹øòEØØx-•Çé¤àï&5‰ê8Èiò@Ð'ê¼zZùôpÃÆÅÅEOo ÞO‘6•TðGQÂââjG“““Ýbc×õç™™™‰6ÁŒhÂh444BBB„„„(A•Æ+¦ƒ4•””¬^×äÕ׿õ#S¥OH.8xX „!]o›²±²\“Çîë“ ÷Ɇ|mó¼ú¼«Qðq§.pñRàÆ¼³OsÞÌ b<“C"%r®“w¤ã0AIÂeJÚÚUÆ]>ô­Þb;à@»7§;€kvw6 ºZBƤà` vô..Õ..?ÆÃ@}†.ϬÞÉýAB2n·`ÏDK›Á[·?=þç_IÜò¥ßcW½`ÍDD²ºzþi€O©OÅýËŠ¥`C …È_ /·ù.mö[©(;–”´/ûÊüKkÉ0Á·‡6z=_½Ò¡‘Ñ._‰/øh.úòû¿<ðJ½f®PlLÌ[ÇÂ’’ö© R¡!ãÞJmë˜h6€ ìÍ¡°!1ÐY(*càbú ½•ß$µÒØ­ùò…YISóG~¾ ¾z†Â»>ÞÇóÛbã–ÛÇu5J¾f;7Ò§•¾Ï)Û¥§}ÏÀ‚jeÙw;$tY{ì¡ÙS$T^W“w-}χÔÁl ¿Tµ˜žÞwº.ˆJ*å*–µjï>œ¾ D…Œt¯´toI¡E|¼i8!·5€QLËüœvÃ_1p@bä‘¡CÃû‘Ù-'Ö7ê 0º{©ªN,¶=sQQÝu=YLNU–O-dä—X¸k##)*sho5àÙ+BºÌÏÃBë>ϥ߾ÕF¡þäCNa /r¿aåãä䦣c`)CF2#??…11²°0¿ò ¸³¸³ûãòäåYgÛÛçûãžb2-33KKÛ÷ïåÁ§¾>~€ÞoÉæ))–))(ꉯù Ǿ¦ýBf^Zã´!µQ¨rm6øæîާá+O”@#œµoàà÷ï‹,8övFEåä‚t4wÂITµµSð@œñ¥ ¿ØŽ–ÕZ¿Š‰7%jřь;°ǽfï®±•—¿•Ÿ»!ø)åúÖ‰Éÿµ™%/QÆ!Ÿº¨r¬°k8d ¥_¦Ú‡5:uúáö®éã ì+s J@h´—Ë) [ÅÆ “ é# m+`Oaüõù Cø²$µõ1%—r}g4ÀÌlÎ4è%oicãééº]>¾822`½Òq+ÛlßD¨jÞâÿ«ïÚ§?=é6ÙÌO6¹0k½1Nox ; £ZãÇOÊÊ8>CËûÓâºÌ¾ÐnC0ÒpA›á!†kk{öTœSKëi†øz* `ÎE¨¤ô¤üîaçIiz¿·MnxY¨©Sòó;^ß¾ÁÿY ÍÛlŒ@ax$9yzJëñbÜ™—xˆà€éì¬/6¶2ØE_‹“ã«‹>d˜fåûãã5;0€?\?_íÌ©´û»B®)6ÎI"`G%¥Ð¿Ž¸p†÷‹¤¥/š©Þ}ïèX[U•P°Tÿ»úã/^Èa8ÀÎþ¬HMÞ<ÇKßEƒèoî˜ÙXñD\Ų #\ôee9$#”qq bˆ)  >·"`ÐÝÞ~øÎm -7¨×äúF™ë|£÷Þa=ÐŰ#%¥{cC}ÚŸÇ18ïç9dUâ;rx^Ä ‚…ªíîr#ÈC0ðy”‚ÿhèê^Ž+dIKÓÒ šó–ëwÑWUÛ¨þמ‹pàfœKmÏGOÓçÛ·:µ²uCEËÌrÏî*˜Q=ëAAMÕ‘+¼,ÇKŸÖNoʇA3!ã¹;oþÍ æ $ä `$M£_V »]÷ƒ(>½Åó#s洙˗‡žßØN¢¢þý×,ž0RиýŒ®NˆC}ôW'åzm>~±ÄJ †U KKè =Y´¿7ÏNE°Ä 5ºÚˆî7‡ãçdåBïCŽÛ ƒ–Ý_Uñ1ýÇüGÙ1¹ÜàSɉ–tþ^'§¦Ô ‰ÜÏÐllE¡¡Ö@‡&¼ÖÀÒ·úýuu½ÇJø ²™„†s·àÿÑÙ[Õt[ƒIB€\‚;ww‡àÁ]‚» hpÁÝ‚ ÁÝ‚w÷é›ï½¿þÿMÕÌÔœ:êžs»{ï^{­Ó»»›Ÿom|µûÃ/¯Vð|o7õr¿ ý]žJãûo£œg[i€LÌOº4FFz¼}]Ú´,óÛØk¯mm» ‡ ¥b¡‡ô:.Í……ûaÍZ¢¢T6ÒÒˆ!Fef.¼êþ•uÒý°PŸe&§Y@ñ¼«¿­h¯ÆÇ÷¤ÓØÞÞî#TÀ±´ÝXjN¸:^¥Æ”˜$þÆ”]ØÖ¶øøÀ‰A­°_uìU M„…‰C(Q‘S^Žb&AŒ ü2®šF6)‘³¢Dnýĺ?*¯†SF{Ž–=1ámÉÏ…Á>fd‰±Äš}A‹ñÜ8À´.Ò[¿uÖÕ•=SÕÐÐîU×ý ù<_7ɰ=ñŸ4¦(Qø“-++yp::ª[Y]ôE«g Í`b©ûÜk]œ˜,ø7«V4‹ƒ½Co>î6A? dtY„ Aø…2Má¿ áïl®´¡©Šµµ½==ñ²ü8Xþ­?üXØ]Y%NE%..ÉžâߊÓÂÜÖ¸ÿ^ûdBÇþû"쫾S‚K;{¥œÜݽúôµª4‚‰é÷v õ%ÏŸó%1ðy¯Kz™‡îïŸQÏaùïÅT*¿øúºÎâj¨ªÖXOYérh¶†‰ !‘ÇÂzzú®îîÏFFFôØ…Ížgù£v'/êêêÐÑчÓêÄ•ÕTUÙXYY45“úÖWÕÈ·¶¶¶_nûŸñ:—!µ×Cv&î×AŠ™‚€ÃËÈÉ©ØrráR»{zzzuõéÅÞÌÕáSEq±×ÖpF}Ã|ƒ}fiiijê¼ÐÓýk\ýÜôÀP¼ññ36Î C[PS[ä`¯/,l\šœâzñBèÖ:ÔW­æ*‹CõÍÞîîÆæ&(¦©™™ Ëgü¡çæöXjv ćJñSV\d 7j,F8÷êËËÞ¿'ð§wù„‰‰©¥«Ë†‹œWwvôLâd4xiIɼ<ÊèÞêxxxâX=ÖÄ8ÓŽŽ* f$·pC›‘p›šä¿ñ{¯tqà¡®¤\__‘’¢­¬ÌO^jü/éxx(Jnýõkº^KW_ä\«ag>×·éiN éÍ–ÅüG)sXøùÓLRÙiéé+10X…ü ޾¾L>÷CPšÀ…ríšÞ‘‘Šü|* XµÀ7ð8Q<ªm#éÍÂÊú–‰©þÑòfz PîGÝߟ¹1%Ú½,Ðþ¿)}ýY[n ))oSsóÇê9Û· ¿60ÐÑ9mgO7 õêRQ´LL™iitÔÔšÊÊYyyêúúJ¹ÖªF»ÌVƒeeeÍÌ̈‰Í݇ANLƘ´ð­lÛ…Wyvø‰Ïù/==C*ÎÌÓÕr4&bðˆ½«£ Ë/ðç´­bƒïpO„Ÿ“ÓƒÖé¤HI]Ýõ ^ÞOŸ®ïîÖ-ýnÏÆÇãdóz{{ßÒёï%2è®­­ýW²µ®®.¨h?°ØyååQµ¬¢Àõœœàál¶Ž;ŽèaÝua 1Ø_Ÿ‡ý?ëøº-÷á‘‘‘ÞÞîUèÒ'ÆVV<–£ßÖ¾Âe.ÙÒêåSBžJh-BeÜ,,¬¢âbN:€Ÿ²yˆ‚½þà 5êøVéJMMyG4ÕÂLf¥0%Úšo.ö¬²²–ÝôD ²¾“ÐR_]ÔÕñ ½ò»ÇÅÇÇǪ3ì„…¡ÁüúšXM]8ìI; èÛÇâ1ÿ÷4ë°íúÆF –iii=Èfç`)^x-§BzÀ-u|¸Ô"ŠÒ §¼¼üû÷é!!½ 'Åaa ÓxÕÜܼ¿¿Ÿ@§‰¾„¸¤Yƒ¼çúúzww÷Éæh¸;µqº/`„‚‚D;@x6–æSOqÖ)ý[,œ÷"tNºryt´1al±ÆôEÞw2Ì’.–Íš\\’¶™§[¡¡:ÅbÒ;»°`ÐìbER23Œ6;wp~%D%I³I÷êcéÑÑÝÀÝÙØ2_¾{ ÿ£šuµ+Øû]þØWÚ^1?q:ç­é÷ÍjÛ£ ªŽGeö–…F–…««,X"1©oüü^rú. Zv§(fXóHÅû’Ϲ1K"4>>´¾¶–üîï¨úý©ƒ¦¦¦í HÆ&&%%%ÝÝÝše:Áuèð}À¢­^uǬBéÐU AÐlõ¾ú&äÿí66è×î;ãy­6(7ó4 _4+ýNŒõˆ¢×ÏZêêdļÃbÍ¿~£"ƒO·ú.tÚæŒq*Á€ú¡€¯æ×ï%-‚44Yy›Ÿ¢7OŸOü(/§d(£á¿Ÿ|öâ2lÑ$Dwá¨ý†ŠQðñ°ÆÂ>ä­4Äô#t¦[Ëw 7÷û6íkNž”ã—\z Àî«êÕ nýNf@ôžWžœåþ·dBÁÙíD‹û‘%ûü`“A»ßÁö6·Û¾5uAuuõo1/JgØÃÛóèkü»Ï¨ðs öÄ_$1PŒ7)))U Ô••ç~xž 3ž#RPP ,'&´.µ\%íL¸«Á<êJ½¶puøÁTVZ·_(xC!n~^‡‹‹K]]Ž®äÇþÒJÀÉ~}¥ðS1¶!C@ÇÆ–¤Š·bŸzŠÄòÛ~­³ÿ„‰ûæyµ¢˜‰­K-µ[c8™Ð}¥èÃaafŽŽOÀþ¥§ãÄq3ŒnÝÂeñL÷ô°R˜>N•ø)fÊJ_OWUõ¶´¬®9#m9SÊã{jz¹Þ‡{£O†õæíÛ·N..˜m®NNàÝθJË—cé S ªwÛ[€}ô­gðºþZ^^‘’z1È Ïã}Y”’’RQQÑÚêkf–¼¦½Ý_¨Eô±­át¥3H»ÆüBýfg¢èª¥¥'ŸØöö§ý¹š’âb‡Æ×¿Ú}¼@aîoÊ^äË/¸®ëÈÈ’èéù4݆Ä.ʬµ»ìŒö)à} '’žžž÷}îÏiqÔÜ’’ˆ!ó#pHH„µÎÈýF7 T ’Õ••%}Qf¼<òÜî‡ø«û_no§WVäf*„tšN'>,`¿•áêØÞ^ôìjóogjgg: =SPW˜ž†´ÜyŒSt‹P}‡DòΞ¡ÿ¹3E,xm͘£®=_‹“ó ×ÕŠO¾š¨ŸÅ9Mú¢äSXŸ¡qÑ 03C“‘ß3âD÷yüú¸ÎfFÐó^B|ôçOq$$$ŽºñqÄàñÙYKkëùÑÑQû®™ì`Ànm9uõôÑR<©J§gg¥³”¼Ø ”h* Úó•h=$ÿÁ`»é=Q ÿØØI„Гmoâûƒ‚Çë“yAÁ(ß„ˆˆˆ(DçÞöÃäMñ⪪5mmDÞ_ºW¯}I0óJK#ßQEtˆ0-\&'Kü<¼:5Šë}4S.€ŒÒöõÛ#;YWwOJ¸ÊÏdqª‰Oì7‡-þ¥²Î×ÇùùnXX=Š‚,¦¬_RÞaðña¡=FÃã<ŠÍÈhuX݇ÒÉ/_^]Ο‚8$u«î«Ü–Ÿ wý±€Þ2+S ¿A•’’b`(ËÍ¥:’7ÃÎÈhLSw_6ºo—÷§F2»Õ8)U}*HgB«FØ×Žïÿt혞FöEã+azY”•mÚÎåN&—º³_‰Y”!CEêÐÕÕU¨9?.=ă¿Mêűa«»8$¥sËýªng(Š©bÝËkOL” Š…šXðÈ‘ß徼ϽžÁrM<µ} Ü»wœ ZÌü÷:::h¡¤˜˜¯0Ãh÷›IÈÈÈ4—€5²´ôx¸uµJãRpbbba~><"¢ýv—®ôý¾zµ{VHˆ¤¹9UhwçsŸª®ß¿ßÑÑѽxÚÕ%Zúshˆýk÷ªíR³+pZY))ÚÆÆÆ66{— Ád(T€ý˜DO‰QÒÔ¼‚.ÝMLN×g ‡!0ú¦¯×Ÿ^Éãv,)·ûØæ÷ÝAÅ0ZˆUHJɉzàPuåïµ<Ö×o3îA,u8\lZöíÊMWÕ%”ø!ûNèºäqk­‡Ÿ×·$ci¸´Ôb<ʬR¿Ý/-9™óëÊö5ñ[aÿîý9嬬ZÚv.Îz>^HÈ8C$@‡ËïÞÃVt ‚ˆ®Ð„ZaCº Ã`_½uïó‚Ÿ==VÖÖ*E“„|naœËŽÉ|îåÇ n5aáááÛCd@Àzyy™²òðó¿Ÿu»»<Ð!»¼ìý‚yyiÒ©¬¡áæâòÃu/qöø“½Ð­9QtfƃÏR³‡É:‰ÞÒ0ê&¦ô>EQEÅÕù9ô'§Â»w?‹[=NŒO7úùù݃Ø3™†€20D%öþwõôûÖ**ii‡Krì½²|Ù¤$Ío‡â©m P88¦ºˆümíí©ð3Ñúk€'`nîíé*)Ť¦†oêþO½£¦„)/-­Uo›R¹±ÔR~~.„Žqda.Ø} ¿ï×B«©¢rûcÈŒBîÝ;ãn^lòw;Ä6¾·{÷î7tSy'' /’dr„Ž;+ë¨/QúM«¹Ciþ©‚}117úú¹„“†V6ñ‹‹¶K‹¶hðžwõW˃§grggrèè§-Í×!!oT Þ˜¼nacq«„ ‡&'ã~>$–Pæ'"ÆÇç;­®úúa6IR]}".XèÁåéæl7àwUâ²Yè,¶µò°ž&1èúÉÊûV[Œ°ê-‰ õñTª[UzÏÏó"! VwŽš2&”ɳÊWR– ÕI­] Û¹º67ËI…ËÅÿެßÙU™.Ϩr;ˆÜ)a2ðSÒ[¢?3ý2©ˆ]3$Z\e¾Éùäþ†Ÿ‹Š›ïè%bêúÁPתé[eeÓªßÚôΙ%ãŸB ¸z¿¨ÖÕqtHÆà!§Fúº17×Ö»%~œžt°¶æ63»ààâàH?=½ÝÝý;¬@”RÚkø#Á-’5Jaf®Úì[mDì5ðÿ[ ‹¸om,oߺöE•€ ®cgÍ{®HCôòV;Á|¦|Ϥï­Bª)‚¬Œ7hô¡´üâb*Ζա´¿¿~õþ»®* bp í[¥Ê›tuHLlöò²çؘ,ŸD’TÑã5%¥¨tÿ½v =,ÓpJý`¢g‰†|ÒÁ! `Éuumuu»S(KKIL6‡ËLC#L<®»Ãåz3 Ÿã©ñä°XS¨ÂÃ9`…ݾgg‹äÊE«êÒÒ•0Ñ•ØÛÙõíÒЬœŸO"#³W6!½N¡£CAHˆžRºèYU¥×}G ‰!<~…Òñqv.e±¹Žöíîß(BÍøxbqqúšJ§æï¬P±B^½-Vù¥¥‚Bíã¹¹……jÿèÉÌ>‰šv¡€Fx. Ì·GBi\OçsÞRCª;!¨n—ÇÉá$ÒòòÎ~~VàTŽ —²[w(ÌËû¤89ßYŸšTË%¤i¼t³r¢R®¢oR ås®©)»‚nšxÁžÏe åôðÐ|•ã |H.Ê#ì±Qd$;“þ½»ŠJ'¨ÿÄÄÓl“óp¿qYÞÚºcÍ<@ü¹lÕßì®?ݵŸ´5)¼#hU,zC?65/ù È!;L·—|7â/œû"Iw÷JLô¼€Ì©çœU‚¼½­•"m(q+9&=“⟬¿ ùô,æTê ÅÝ@ÈýðO©6¶Ðã6#ÛÞ ò·íbvOOÊ÷ŒŠj¤fv–…÷gFE§[—›Á ¯‰ùxäq¿y0Ã|¯¿¬8WpÙÕ­#&¦«‰C,‚ÊO$•SdÔôü9°¼Ö2‘Ìntj›ŒŒŒ ²ðós-%KC$Y9>Ägw÷£ªïìdY»Ãù4ôåV:í5þO xÑ}2|Ù±ÁÝžI™qIšà<ÝVöÔÄYþýnpx˜Êü,…ÍÛô®kbÁ;óÃñ函“õ”§ûú¬ƒ_XB2?GÇOËkkË+\µ*ygGËŽ‘† ʱíp_÷vŒ2C‚X?¤ZyÝöv‡ÚKˆßÇÅ2³:¥€PôFDš"ôó¡jaÔÜœ »m}}ý?td±oF%A‡ µëéÛB„_â×w—è6¼ì]wÕÔàLLz²ÿóÍ_“;™Ï­4ûógìéÌ­CÆý­‰1ÒîŒHÿëëe”CZZ4X8=‹¡jdDY­J¯¥æ”½é!‚ožÊ9ƒÉ,?w&úήû€"›K8v|j&/þ“‰ËŽ¿w]Ù¶ˆ^dwW§¹åÙC…ʤ !v•ê•øŒQUýtßáÅŽ!6äãqÔYF&9þë½!³³û……iIŒXŸ‚z‰ÖŸ  ‡EÞS’¯+ò1¡"xüxz…wæ±äêÊ0?Oa Ù«\q(l,톅\ãÆ À2›bb:ØLs3 G†Ë>ì–ÌZM¼s?б¶+'?hìSÕÒª·™¹X\4~öì‡ðÇcãoñ-vKs——ÃÅÅùóóض:¤gÆH÷vU0ìï¿sq:?§aO}“ ›¥D² ñAø„kŒ\ÄÒRü ê¦Æý‡µˆ§…j³òððìÚuXràr›®däëx(¡$aט¨ÐÞÍËÛ‰á}¡B^œ«ë”%û¯FGŠ9¿ÜWÃëNÂ(ˆô§/_ël`¼¯ü:Œ®'¯òÇ 1‰‰ &>‹“e(9ÿÜÎ?ÛaÃEò›­¦±‘»UÍÈq,,¬”wæFFY•JãŽ(¨””¨ŠŠšÖ.„ÐÄ;¶®Œá>4:¨hͮٷ9º8×dðÏ)é¦!k“@ û¡¡,4ghßä²Ò7®ó‡[¤ÁDBÏ›jÉy‘/TVVVRQ€@y[JK÷bœVo;WíÿôÍ…,¥7¢ îXuøñã‡F…>C^G ÞÖŽÕô¬ÇÁ‚}†ÐÍOÝÐ`iµm‘DÐæ«¯P!$ц„"îîÐÍÎΤÇëtÉpšð6w])©¾‹½&Zoï›ÓM â-,,LÒ`áàpèµF½fÝutu×ç$þ©ÞþþíÙ*q²“å§Ç«‰Å/•B377ÇÃÇ]dj÷9^éüJ«ª)øÁÐ(Y›±ÃŽÇve‰´ýÝ5!¿ß~Ç+®"";­Þ”öËõ+4±ÒÛûˆðáÙgµ3¹«v}Ÿb fšQÀC*ë8½¦˜h,‡ƒ‘®Þë]-5_¨Í£}ŠŠŠêjPPP—]òôØ%!ï¹89ݺ>=~ûM šÿO‘jÁýÃCFzº‹‹ ::z¥¼ÅÈ7Wf6¶³‹‹º††ŠÒÒÚšš³««# ÍÙeâsoŽ€™üsÇiöŠéZ׎Z~W¡(žž^óòÉß#úr€l"šT åCu¨A€tî¨ÐårˆàsÏ÷9é‘¡¦¾"Œú]›K8cÙµÑ^'Šž-N6”ÏÏϾS2ŠŠ¯‘‘}ïy’{ÖO÷A“Ì× &1I)»<=>ÌÂÉ8;9 §óˆ‘ÅrÚÿ±µ¶æýDœËõFþ‹¤ªní6¼ÈüBS4‘ú/uº1rXVÀ'›žÞ¯±ƒÅMY­{çÄBíΠ+£X2fÆf¦¢£ìí}îýÁÊÊsk˜°ª V\Dj­Ûùš††«r½–Ô´4”Ä÷¼¼¼ÖVV”””÷g#.¼K]]ÙõÜ(6ã@ :fîµ~Mø<‘Ÿâå)?úF4·ãW¸ÛMõQ‘ªÁÖfB¥–‘ ’.nØ|³kIf&tKbà+‡ҪäIIIÛÚÚÚom¼½ïJ4+~´¶ YŽR •”Ø,Ôèêb,44TJRtcJzlº·o‹óò(YYU¸¥?Ç¥§/NOc£¡‘ÚÊ‘ÅÊÊɽ¸°zÒÐÐÈL¿'¡Øˆ‹V\ŒÙG…@n¡ó)UÖ׌SêzfÜÿA7<ŒÄçW7qòð]ZZ³©6ý¦Õ55Îàú‡çY¥|ÅÊë×Wgg9J4åååÙª/{D%Hб°6 &Φ¦¦‚]  §&'{£ù¬Æ)J)¨¨¨¨©CeóþþýKÄïJ·Ø`¿|{±wq~މùÈUgÞò :Á©AAÞ‚úЙ)62^+#4þ:Gsª~Þw‰ghÞp¯aÝ_Á‘øNM Ýî²Ó X†û¾»¬ú<šÌ¢ðáìÿ%dÉb)0Ñ“/NN^""‹£ó»Í8¸»_Eàp\%ýÝJâ÷PÒи¬oѦx{ìqxØÞsâ±8žÿšàø«ò1 M#HHèär.ko?}µlp³_Óšéo×`6ÈïêŠeÕÇøóçOi—'šðµ“ëÙY­³€ÍÍ ž)Ì_º Ä ")aö¬;vQGœ'ãÿþqbJ=úhè,NòಲÎÍÁ½áŒ4Gr†2Ëî皊#ŠX˜†½¸!UhoDI¾‹“a Â>ƒ1ICý4r4=•'Í -^–D’¥€œ÷vfvÖÖ×÷be妼\c<ÊrÛw{´Ò¶#$db<ür¿ ð1|~¢Í³–»"E*:ü7Ö¸o¬-­b]\¤%ÑíÇê¶6^~;3Åw ÃÐBÅß`¼Ùý»¾ŽŠ•p;Ä嘘èEJj7QäöÞв±Q«¹QëïÆÙÖ»Û),~[^\Ìù%Ãü’âÔÇûšð!;Ÿ«r¤ñ,Õ"Ì7òòŠÑ¢y*.®´ì©¼ ²ù*´¾•(ÈÏ@"ˆdíÚÚ|¿A¹žw¿qÊÓq·(’ž•;ûF“”Ò¹.`ºç¿[<½{ñ !°Íã$³Êäé„F”1é꯼3`Zò¯ ~üh+-mËQUíö|hŽêö RVS#ÅǵÄ}ó8åæJ¸ FèŽ3,D:l†ûìpѳÉÙⱿÚpš¨r~EÅã#'9>E`6"¢ìké‘~¾~}®@’_¿~®­ À-Ÿµ¸ë‘Í/}!‡A÷ö ¶Z„¶ßµuÓ¾õnL±5ü.’S´zÂŒ…áy $LÒè÷0v¸4cc£û£U»­­Fš‚ÒêÅÅ tNð{ÀEææ˜¸'û¥Ï†3VHy,[*”’©“fjæ¾hS|ÔÔÔD»$4ŽG«úª,qîÐN Zy}Qf©,n¥ã½_j’L¢ÆyŒhŸÃÿK£2PTpX~ZnX¹¿ôkëlä›ù˜asóõ«WeZnZúúzCEetª¥e:)б ÕªAf³,MÙí>ÝÅý÷°—ihk«ÀÉx7LC-Ë;¶Uuб\Ϻ‚½ÙSoo/2´Y='_ 8 M·¹ò¤Ï»«ü®ååó]ôðÓß"4=õ‚••žÜ 7ùÜÂh<6Ÿx4~þ¸¸¸VE”»Àƒ#5ÔÕ奢Íö-r)L-/ožމX dû†v¡ô€Ð^^Þž(±Ï‚§Ü¸û…‚ŠÜËÃátBQèÕÝf¼Â,JØš«æ¾Œíà0ýU.Â4XÖŽAµÚ÷Ìfi)}àUta][ž#µŠ‰G#E#AøE |†…õŠ…¥]ÿGrAII½ÝÒo,º}É%C–õ‡w’¥E«†®Ÿà†º”ÍéåÙ9‰ Šç—Qy(Å@¸öñêœ?G³tq7R’#uìþZ¦ó!lÈ „ie««›ØØPk„¾ÓÀ>àÃt£ÙÝUA€çÿßoÏ/,t:ú“¶³ã?;¿k¿ÈÝ7çXK»Ò}ì±ätB—„yû?ìêœàÔPç'{­‘+& ”ó ƒ¿¿!A#@‡VÇã'¤:¤s4"âî¶'b0ö‡=êßC®mÓžcÙŠ’;¢lÂ(´ÿÄ*8½ì½®ÊKª««Š‹‹Š‹?Ù½S`$z<†ÄP2Û´eåšù¥ïy ó±ªêïíNzÆUºô ÔHò"‚¸ÍØ”ác„<—ùlh]ÜcœÂd0ŒŒœ^V²ÀÚrrrâ›!M1¾sÎf1fÇëÿÈÔ©¤¦ÆÎÆÑ÷QSVŽ0ÅÆÆFD =Ì £ö ËâM篘†ÿƒ"¬é\®Ìóªª?MMYÃÃbbñB7¦Þj“C½½œV}Ï:*AüCBAtÚöõ}Ë‘…N[¬5LüŽ‹=7?ßÜÌì¥îKxX”ÐõÍÍ:¯ kÚg(B)êþÄ t5G@z |96Ò‹T»ë?´¼×ž£9h„àRµ¸„þœÂãœ_\¼‰Ç–“ã~ô‡º³&) Éªªª Ÿ9ÕÔÔîo÷*2¼§G†•1{V@d47%%:pxØËéêæ¶»·nKJHàáá-ÎËÇ—””„„~(~~DäëA~¸Ø/šµ½··ÜèG÷NAÁœWVV0 jÅo?÷vw±éµ„ÉbKËÊÎÎÎîæ¨!¸PÆIM5ƒÓ;Z~òLôœ©ªnXÞÜr?¼9³íôñ'((//â2/¸|ÉU¥UÚöÆ©iqvvö%Æm˺, ê±ÇP‘›»;>žím ôáo{++†ææ÷ölìí ´µ­,,¶ŽŽ–GÊ+Û½—û榦zÌk®pPQ?&\__ð8å²ÂÇw÷§Õ[+«½ýi‰>åþÜjj®ÆýêPþ’\ ‹ÉÚéæï6†• ÃÚˆÿ#u'‡ Þ =°±›[Ü[Ž›6—Öj,œgJyÊrÅ“ÒVWY\oÏO*©ð ÆÜø¸zÐä›óÑ}UZé=]]UTDDEýTT`2Êk\v¾#Qïì•Èý›‘AüúðÍsrXŠçRs ®ªÊ}¾Àà˂̖&BnOÖ–ü|íy誫׸@ÔB®™UóqSŒï3Ÿ<01¿ê·\Òðò>Ü1¥¥í56Íyx¼ã€¾;ÿžþ½£¯cUé߈ØËW®-®{V²¿Ž¤¢L ø“‡SF2íÙ¼ë±-‘!rbè"%"€&óÍx¾ß»t³ÓÑQ–ýÕ³!Ÿæ—Ê9ä2L°×ä\V[70]•ð£ jVG±n?AwÐKÈÍ{p\Ö‘î§´œº\íÞ¿:’îHýÔg^ƒ‘Gø ’ƒEOó óuXAßíò Ÿ‹¨ ïalv¶wÕ´¡K–¯0öY[À‹înòÉ;ý(ZJ:(Ðü¦n¢ >®^äç­¨n³çñÉÉ>7N×ÏŸC¤qè‰áÀ'ž=#ˆ0^çù—Èý]hº»eúåqÿD©~$L ©Aˆá¬0ø?®6pþÞXé܉‹át´%—Ç{ÏçAY……–ææØ88¡XÐÉà…ÙÙdñôôôû•þ]_Q° ¤‚³®¿ƒ‡úBE2¦¶¶vee…\*jrf†XÀ‹‚bÈÖ.yÝzÛ¹v111€¢‰• Â$+Üúúú@ö;Àûï=x!’B ‘ÿyÀ´žŸ?§ó¨ª«»öF⵸aÛñºlÇ€Øú^QÑN‘j8>t¨ ÍÈ7o{Ò@333…âââááa`™þå Ÿ®a¡*ñ»gÞ3¥%%º•†0ŸÅ«ëë‡GFž¶ý‹á*üçA夤¤Vu©© Àå*vÄ”¦c>>>ŸQ×§+l2„µÿ3ˆEß/-PïßïIp<<<$1êéhj6XŒg^ù©€¿\Ñî†|Dû2²ÕÞ€ò¿½ÒxÀ1vúï+(óóòôŒ¦ŠÕWŽù8!†.ñ˜™q#÷÷÷ƒ‘pŒíkª«mmm+gÝ÷–dm¹þ0+î` À'$$477w{*¯¦¸®Ã·Ú.5OŒ0‘“çÔÕqŒ&!1<û;4›Mk†®ÝÚú0U¢ùçÏb_LìÛ§ÆÇÑñðh >SÅJƒ€gÅXÿ÷bíX ¤Ã!ð_é››C‚ƒË:¿£âãã Jãz½Àî}¹|ì $$„¼‹7áX »RÑäââbÐ‹×ÆÁøœ¶•uu„ýãÌÆ6’RRHð°¼ P4zœ¬EG½‚@B0‘ÈÀ¯áÙ/_¾„.¸kè Êý3ÅXG. ‹ãÍéæñ+dH c2À Ü,€©¹Ð],ú¹qß<ÿON ÔÂмAZh&$860)ÿ­|ã… èñO…ý§Çlš@ ÝÔÿ’#1a€! E¬ Ìxýb|¯|àà ¹Hÿë6çÿ÷'Þ>u0wdÒžûùAÿ–‘P/5 ü¿¬¾ DpDc‚ƒHŸ(xœí}ms7–î÷ù½NÕÆÞ’e4hÇU^g2ãªx'‰½3»÷Ë^¥ÞPl›´¬½uÿû=xéf7I©IJ”%Ç©$¶(6úà8o8ç9/ÿ凿¾ùðß?ÿ);_\L²Ÿÿóßzû&{òüÅ‹¿o^¼øáÃÙýåûŸ²üeærÚT‹ªžÊÉ‹ú'Ù“óÅböÝ‹———§—Åi=?{ñáןüX¹8ýõù¢÷ä©Y˜'¯þð2¼ðÓÅdÚ|¿e˜\ŸßµÒÀv!3ÿÝçöŸËêã÷OÞÔÓ….ž¸šÙ'™Ž?}ÿda?-âÃÔçrÞØÅ÷ÿùáÇçüÉ dQ-&öÕ/o~þI^ÕËEöf"›&Òƒû ‡ö ”xœ¬¼XTQØï»Q ¥”VDîF)É¥»» IiÉAº‘nîîéî®»Æï;çžóÝ:÷>w|tæ={¯õæï¿×Ú~û +I‚ A¶”¤˜ÝWŸ£ß?ázLsÞPu¤%Ä ;ÄŸ”ú¬H¢‚¤ÄD”œ·ç\5ß_Ü¡í³±E±Ï½Œed|øª¸S'Òµº5Uÿã³ :}£<‡bL©Bº¹õÔY:µg¤RDÕŒ©™vC0ÃÕë[=·H»8c“Õ“k]JCÁµÄ5˜©¡6âÃÏpj)0Èkû§t âôý²âý‰/:x£J[¦†A¤Og§¤T,Uùj_íÆ#HØdhÿ:TF"i‡¡€µ0 Q V±?€R>|(â-ùVLLòrá$Éó_Ά‡ŒÞõ¼©W ~ƒ‡ áaóóbCä8àGeIß¿ã‰ŠŠ¢  ˆŠ¶üùói¶¸¸ØÞÞþžfä÷oª—/LÒ‡ŒØIBºôâãâ2220H¶ÌËïEEGûãRzìL—t˜l™ùDye ã!{q>¢¤l´^÷ô¼knnõÇqvqѪwQþezsyâz¶ûúÕ«À  é÷ï ßFè©©ÅùøøDFFr禙\œ,ÕØo‘‘‘µ² Cµˆ9˜ëu„’£áýà¶N ìþŠïæîîyµÃÕÄ($ÔØIKOO¶3ÃÅÌüá\Œ&²Únc˜˜I KáÈdÔB̌Ͱ_¯XÕ WVJê!Y©û•ƒ½ý‰Å\M[k«“³³±‘ÑñöÔQw4=öÇìÌLnë½ùúšš;^Øà›¬‘«ã |JJ¹’ÓûÕ:;·Sm_¾ˆ_øÃËI5ý-;Ÿ[÷ý“.NuÓ<Éævòý“fq5±Í¹µ‹'Ù^œÞç¿àÇ‘ˆUµ¹‚?Lõ1ÓþßûÏí>’ƒ~ò¯I辶Æ~:³~'«iö³<Šä«ì_/*cêÅoz:|^´ó•½L£ÄÙý5}¸óPç•˹>¿JÃü¥ýyçätZ/äš4ÂëÉ$²Ú6~ àpþø—çϳ?Û) ßÍÔUöCýéêÌNaÇñÓügÏŸ·_ß]Ô³øÑбOâÛa£dYÿãfyq!çWOË#UßÌ–ê9l£óÚ4O^ý¼T“Jg?.§ÚïÍ&N?ö™×½GæõÂjOêð©,ÍgHA$,l¨'C’Óg7lC?\7ìŠqÈu¤­þá/g¯>œÛLªŽ^dJ66~/sõ<›„÷5§Yö‡¬›døuGLX²o œ¶jC¾«çöôôÔÏóå‹ÙðÅæjÚqÿ-üu^-$Ÿ™JžÍåExc7îwíl†$â×8¤á#?ìËêâ,kæzÈü£ŠïûÇ?àM³óÓÙôìI¦ê9óýô$[6öBÎ`WtOÀ/ždr²¢OtqK&|+›Ê 8á× Q™kçwÝÜʬ9—^FÌa×ÄïOkcÙ“­Œÿó¼Jç% äû'¯Óze‹s¹Èäé™m2}^MLf'ö¯z’Bõðpš•†À `#=Á:És|‚)õs»ž¨<ßNÕÛ)HЛȚM¤Þ$JNª³)”E ß²ie2Ør®*Øšójr•Íê¨ìÒó¢ ÄcBljÇÛiÿS¤fHýMÇC‚œªÕÿÀØMœ|x&fÜ\5 {±Im‰Nx~’s~’£òfZÉZAª‰Òù™¹¼ô_liܤƒ'åIÎèI‘ßL…ؠ‚Ü]ÛïäTú '³Iø-lµ¦2À>8ÕËfQ_ü<©[–®<)Nä'E‘‚3±’ú‹0‡tÒ/ì…²°9´6ð»y_|Vpª_½\zÒÌäôû'~>Ç0³t6"=è–M¹î¿ÿbaüÿæƒWÀ»+XÎï$"c[ZØt¹3aC¸Ë%¦Š!Œ IDtO½…§~²nñ$îs`nuv?}L?‚žzò tI‰þß¼ñô¯ÃT½v>yÕéÔ'v²}OGñ¼ÅÝAE=}6‘8GDhl ÿb©Lžs$¨+©âì |¬æ‹¥œdëÊ•ãÔ/gŒŒÝxAsgqɨ¢…åÆF c¡tî˜BNˆ[ñâ—Ÿªfñ¯“ųñÙ Ø«õÃdþ-û׳ÅÊÜqv´b?²WÕõ¬e½Ôœ7ÕGûÌ›æÍ"áy!La…uÔÅaù@–R%s­ÌÒòV<¯¦‹£rhœøÄ¡7õrÚÈÄ—ïÑgœd…–Ìp*—…µTÃB´0XÞ’3w³ÊÜñù'æ¾Nœ…Õ΂3µ3‹©d¢Ä¹“H–V*ÅÅH;ˆS%Êå—Îâñù/äov“¿£Œ5—Úäþ †RÄ0§”%g…%úVŒõræ¨l§Þ³%2ånV9íäqÆ’Ü–ÖGä¤àei¹ãŠˆ’X'Ê~Øêzœú¦º˜M*wµ›ÂÆ®äÄY[hKXNJk BJ¡ò0yôí5NõÜ^Ô·œ»v”šrG ™ˆ—® ˜²R*¦©Ê©Aê°SwtvŒSÙqŒó6æ`Î ef¥P¬æ.°/5±ö°ÓvìS6NµžX9ß툕¸ °:œ0§s§K[œÉ\iJ¹Bæ ì8•ugæHʰ¿a¾Ùa“¾{µ›•ëœqV"TRH© ƒœÔÔ‹ÊœåžÌ_~×þ>X2N½2ìÅD1Öb“ãiLr¢ c¥#¯â·ÜVrªÏëy {ìò.@8œê°ÌÎ LP»3SçcÆim ‡“éà”‚±› «%Å]2a‡w&¼“ó³jÚȇ‹øô^\(‘ÕÌŒip61ì(bhQ*&h:̤¹v+Œ¾ë.¸PM«‹åÅ»˜Bå9?'Ç¥ÅØ Ã(â9&Z«;Ý;¼+0ãÍÏß}çò¾2öP¦Èå¢>„#„°€s ’Æ`÷87š” š ãÐrd‡w޼¯þ×ÞnoøöbÀÁ6§KÅÍ­Ö†P 'Z“Ã\ÕkذûnÍùé 6`¬U®T‰5¡8@-)´Ä“²DFÝéùW¸Ô¼A›Æ ÿçy½œ­,šÞ‡·0kZa›ÆQרÆ>\Þ̤¶ðâ¤Î™%œÙÂb8ä%¬/c,G%UÞè––ÆrÿÈ*ý ÀŽ‹¤I!p®…`”¡‚ ™—ÞR(¬$ÆQ¯Y¤Þöê_ds~môõ®˜t’½T;|š€š[ù[ȸõ&9<Þ;Ø)û _`(£Væ…-Jc¹¥E!rðYs#ˆÒÈ=0hh¶ŽߨÅ_W–›7_#W‚)˜ý«¼˜ýñx¶ò˜çÅ¡Hå®pB`iÀ+v¶cY®˜Ð›÷ãÄï;s ÇùôYd~2'GÝtÉeΤÒy ƒã"§+w‚”ì0á¾85N¼çÔšEyK†i팎‚€„+ ¨w“Ãz©œ0˜æÔßÃÆ‰†½î[›ž[ëVlÐg£Œ¢Æ`! ͕朤ӨT%S–q^fÕnܣƉ_í¬hˆõ¶•ÿ î©þ6*«,"„• {¬6VHV B9×¥åC ”­ÉªQâ·ñÉGe/+³8?ñ׌ٹõÄŒñ‰«(æ^Gž^†¢Ò¨’Zg}Ð|'>ÈôOw°ŸPa‘špÞΙ¦X(pL…ã8f‡%fÜ›D%~ŸÚO4/--ƒS !°rÀu-°àeÉÉäãÄw6ÂʾFŸÜxݺ›…}æÿ:Æq«lNœb¹ã”ƒ)¸–Ž›‚` tè‡w9"{Ô{²~|½8Å_ªõÜ…±Û_e 0Õ„€Òa9E I-ƒ¥µŠ£üqðh|½ ÆÞ<#ÏQƒÀ=k\(ìe« F²C‡j‚Ä#S/Õä^˜4>ÆNÀáù`›¡‡õs û1j„Y ç7dÕÓÉÕûð€Ï<É~ù›œWÄá¿¥ÄäïÑ®ñ2–Ø‚ÿU–HËV‚x!3*Ëk».^6þ.ƒ8ø&UÁÂ60d/ß]1¯†)sZ–H¦(ƒ³N‹«Ýif‡w„ÊVy¥­€î>¹Ul&ç°[ã0{0OpÄ£ !KC¨õa&v³³””°Ý»°9\ýlàWýŽvùÙ{ã7;L9òrHÖÎa|Y2Ëu.ÀW³ ™’kÌK û¤T¼@èNÃøãï ܆I®-Å­öá$ްÏŇ£Z)¹Ö£EÁ‰3à¦Ða‘æS]DZñwÝR‚¯àSÙX³_RAÂ]ˆR®ÁçWÎhDrÎq‡]ɧqÂÁºý[+×»üÙz:f*d‘¥G•P™ç|yƒ5·pn©¤‡ùFGÊòpdœpàÈꤥú\s>ÃAå!¦Y¦¸`BàËâÃú Às‚?,bx/<%|ÈÃÖû^Ì«éY´¶ƒþC^Œ:á Ha¹P`ÑPZXiH^RLKê¢ü@3þŽÞ8á>BØHÝñ³S?ŽcM8ŽJ-,QZ2UjV°co>Øý3NøÜÊIKÕ¤Z\]¯ã_ýÕÝVõô«.cU϶ÒËñÂXn͘+1gÒæÜ «/È‹‚ñã¶÷•&;N}¬j٧ΧÄ9׆Yª‘ˆ1ƒäÀº£Êëù‡t˜{¹¡£Tûhâ¿9çÊæÍ¹¯•4û%ç•F)ŸFKÉ7 mr«Q‘3@˜¬§Zšz6H{½³äÙQÍ!R|X²Ü1ìD.‚…ÌùC»hÕÆ(Õs;± 0> Oö†¹ ¸iŽT †Jë˜ÓĨ8Œ§¿ü „k=‰>ê|ôš²ñYœÙÅ{$½«µ·w[èÌÖ.ä§ð&Úöëjºå×14¿BÃ.ôùÒÿ¶‰q÷E½ÿÜŽÂ!ª…CÎrP¦9…-ƒµÃš”`ƒ0¦¼©8výÚÚ…Åè´œèåTÎê^õúÝ·)Gc a†c+qî,²4¦Ëbø fBsÉnk¾¯›ñI\ÔËÆþ<·Mó§èùåÿ4|äã 9qDjGA©*nÀù*5e9aBM$9, sßÜŸDàÖ»ú£½³,Å¥Ôs­mn©R‚X)9e¬4Œ ÛíûbÖø$³~Mší6ü’ÜYW^Â×N6ÇZC‘Ò¶övåÓ÷ůñI~ýÔÈ›I¥»ÏÀ¨¥87Ø™œK. +N]©lžk‹ÕI^÷̳ñI\ž[;é3êïÝ;2Ê”ƒq¦|8¬^’+ls- C±(»Ý}Ù}1j|r6›\ý`\NV pœW÷‹7½ógïõãbéƒhcÎâ;6”0¥unKXA_Kµd<· ¢xAJz WtÏ Ÿ„ÇV¹+ÆŽ*_Æ}€# ª(’çV”V° (”GÁÑñI¬nÜÞN«°ƒÿ·uÈosÿ·vTTPKy©˜gX¢RʈÅKjᆰ‹Á‹á¬ûÒžk¦±¡¢0{[šh¬PÁ’ÁûÖï¼?ËcGÿÆ9oëœ7`ìŸÕó€Ûœ!ê“‘²$HƒcG"GÆaÁ¤Óê–É1G*wph|zRÍ~Ý·Ü‘Áµ/¯B°!ø<9U€1VH‰¬x^Ê€/ãˆ;çFc(%yHc@.|´'‰w]’G¸žH‰é»ÿÖmÈ÷X0…÷Æ-wRúÀññ G°”ŽV!®­Û¾GvOÀØ †ß‚a\ƒz”H IKF0‚cÊ’:n>°>ù>5NxÕ)¡Ÿ{© ÷¨p¡Á&.Yîr4‚ëŠ ªƈhW(ïµã„7vñó¶”Ûå¹=gelÅœ „ÃÁùó…ãŠp¢±ʧ§ ùp/ØÇ ÷8껹cOz6·3;•0%V†RlrI¨”Bj­0QEŽ(Á˜‰u%0`ê8áÁg;’³–˜<©µœôn¬·§;o±C-¥FÙ"§†äŒv0d”ä<5B ›Éí Ý¿–ð¸ÂóÊ´7\ÿ¡»ÃmdCbQ'pdÏñ«ÂÖd?ØFÏ«Y´|áC \ûi¡`οÁƒ;ÛFZÿåªÉà_9yf…Yzy^Ãï/<ôòl9Ÿù`€E목 8 -d)Œk2ç˜Õ.«á7󄀺6èiövš]ÔÀ, /k&š™zúí" zÂPW‹sŸ–×Ã\€ÚþhPâ_ÕÎaÊðŸý¤màQU+ÉžžÞ .v8¤ç«îñ (O[®î ز Øj»dëè.ÆÎ+Ï7¯/öO»S×­Wt'aåçËVtšU X0—)›MmãÓ`óÄíÐNï>Y¢b^›¥ ¬ë‹ بA|8qò~éeS˜Æ…œV3Ÿ“vߊïiö! צ\„½v³Ç÷V“«Öç`ˆÄ›K9n¸ÇÈû ãí1ìîÈr{ ºªÚïT¶ÇÀ{A~ù { ì+/¢AçTÆ;uÍR…ñà]È+ï¢Â~Ÿ÷@’¿½suy^éót4àÍÌêíjᯃ„E±2§Ùpí'ðt}}Ãø¼Vè௟EÖÓôIôRÍo l^_¾éz²¼ð²ÀT^8YQdÚN&Í´€%§jÜÊ Îäªdï+—¾¸Q¿žd0’ßzȺf²~ OAåU¾ðÆË~•AP.á¡z)HÓþ L*˜Â>¬98} OayÆ_}_è识o Û¶]¿‘`¡Â¤SÁHIãôÚIÖØhË »!t^0µ^zÊdxjÂÖ¹ÃCIóD ·£WT‘¶ì}ø<ªH^l]v]ÌÍZú ‹ßñ–_ûÁý÷'3p{‚úHÝ!¥¿gD&×ãÉÆ§³y½¨Ÿl’O¤²!m1Ë^zÓÖÿaÖ~û|â]ÿ;ÿÏF€»ßvì~4ßíÖ÷»ïº¿Fûzøà«§[>lGW¦ñZ?(9¹kƒ ?‹|÷÷hÇgÝÛ·Ì>ú`À9Ÿ¾¹Á¸-Ÿ‚þšGW°uýo_¥?zoYs#âÆ.lÓ'aË¿™[Ø·AøD颃øxpÆbô¬7÷ãUž÷@— «ÿ¨6ØqúðH¿A¶W‹$ÚÁìíIwÓ“íáôÿaÐÀä^ ¼ ‰Á]ï'€úGyò}ì¢×%廘ÒûEý1¿“£ÿc5δ7[ü^Þ÷Þ’”†zXT›Å«÷Öf¯'M o^ÀæXý“Žööý$½ýo&ñd¿Ý÷\¯¢]ßHŒ8SþÅe錰ÈQ–Kn íNl YìÃíÉYr¬rS€ì@„q!¾X¤Ð%±‚–RÜR~ìÐ[éQÊ;2Ï6EÐëåO4͆uL;YfA%>d«ì¨Â+q½•U^pEÈÿt&Ã42©3ÎVeá²Â§>˜“d+5Úbpùܼ¬ÚöxzxÍZ Ô´öY°r€Ì¦¾°Ý%÷Óñ;êã™`ÏN€˜hÀ¶W#ÚÈ‚Ö|ô÷›ájþ4ûïz¾à/$†«¬Ï­þ 8î,dœ<|'N,Îiý8•ÈQ/f÷j,v—êI!–&°†;¡(ñN>s…’̹YÌîH=á’áµaŠhA妤–“;_ØxKõ´C_º¯ê)¨§¸¨nú2´’¿ˆj¥5QôV{× 1ÂÕOµ …¾wÏ×ê,/[×uŸLÐ:|³b褘xó ¶j´ÀíL^zÅdO¬÷âÃ+G>“nJ Y†;t·œÄáädí"½ ˜|¨ý üDΚA<à$¨š#åwS/ßf–‹w©. hÖRŠ"f1p¸”Ò1Ÿ?ž— ÚM~GêBë3Vâ€m%)°ÍóÜy|÷–»­ºØ¡Ûæ£T!õuMØßFÔßúÙW[Øöáß¾Q®‚ƒ¹Î‡•„&ûû $g·iŒÁXUÓúAë•bprÒØ¯ÊáøÊá³ÙüBj†˜Ö`âST… ±1T£¹«TY–R8p™F”¢®$¦Z·©ô‡ ñ:û>J!¾žçÐnǯ™×HÐ÷‘AU¢Il¨«VZøœíž¼ðÉÚ¾P $ëØsù±ÃÙ„šœ&JÑ6 à$eÿÅŒ¤µ4SÃû¦u(HèKËp«×ŠÉ©µ¾ú!ҧÃ{'´~ÆÔÉ0I/轄mÓÖæãïê&Ÿ/ûÔSxmÖÃþÑ%¬Â…rØ0M9“¶+•ÔJ‹äIFÄ•ò­5‰Ô£¼¤s†;0B/å·”Œ;tùÞ[2ÍFm3âoHb7ûÎo›z±H—ÛÀç•I–_?Lýë5FÞñkÎg¾Ùa@Laï›]×zÜ´2™üÙß#ùj/£&dVu&dË‘m¦îÂçõÙ×å2´æá µ}ª/î%滋Ø¡·ýC¿sWõ092}zÆEÇšSè­™áeÿ"+îAD­òëÐ8ß."b¼öë3Šˆu7(”¡}Vhÿó¹r®Ë|„jk¿­¾ÿ®ÜŠü‹ðëûIè_”o?k!è[ïþè€kòöý1‹èøkEà]eçÐ÷L p+²îSñwµKÁ㾕7‹)Ö{-ǸÅ>Ñÿý3[ æA5›LúDf Öέ/¦ª¢~¬¦S»ÿœvoÜ™»’yÙ›¡‡ßœ×Kø¹YÈ«pqD¤ôáe½ØàPÄì†l'³Õ]mo+E·³h ŸcÊBÖb÷Œ0UΚ«œÛҀ°R(§°Áe¡ÈÅ@˜ãÆ0S˜27¬ áŒACH‰–ä–1Ú7|Zd{;‡/1÷y]«Ü•Êð’}]Wøz¯ù´AäæÓÔÜóEj`ù,"Úèß×ïÜ"ŠÖšà ¥¢g24ïåäÄÿòRÎM”òqžu¼o÷ðÕnÓX$8œ=®x6d¿ü½2 ˆ³§Õ©=m5ÑÎs ~ æÈ„I[é³ÈH!)¡š"n؃î»ïfðÿ^ÁßÍEÐkhvý5оÀF&‘ßÝTVj.çW^CG°ÿa;ÁXËbªfë”|öI]Õ*Á™6+µszzºŸ÷ì$Õ@¦1[ãñÏI¹‡ÎÊíÇÂÏ?-ß¾Ùâ–-ºÒ"ûå§|¨1Í4n A¨W­3©u=÷½’®-§¾&¥}¼‹Í¡!ú]mc„íæÜ©:zÝ4µ®TCoÒíééYÎíI4F]yÌ„“j_¾Äu´àÄ€A™;]Ú¢ŸLwJ¹Bf›S2éi—Þ¹'ödÿ!Ù[ 2S|/û寰¡Õ(-ÖÐ ¨2{õãrî³ÐOÚdý–¯¦2þVs6·«zÙLR¢l‡ó‚ìd·²ó=ÁU‡3¼jµžè…éÁBw*48ŒÆ&Ûþ=¿5’‰Óféôrá›:l€ÓÝèÛE¾×t2‰vžÙùÂ_ºWb£›Ú¦òtñÙzù×®!È|?BŒ G¦ö²ýÖ¨ _0vzD@®Cy/!¿Cc­/BÈm}óSÌÿP5r»¤OçäAJúîÀÞ·°¡ð¿v^G‰²&ñ3A$öý™ÇdûÞRz§«°N€¯ßƒíZP¶ÿ-ÓNpo\ð=;¶Ú¹…²CWÁG©P¶vì)˜µ˜ém4ÌHÅôEÛÊ0¬ýIv½f¸iòaÌßìÕ“WãÚæ¨“©¦oÚ2½¾ûÎgØ&ò³Ïê€ì°®©e ~ÛÓcØJïõVÍZíÅÃ}НE\ªPÛ¼W9&¶WÕOé]Åi6ZìÑ™Š/Ú{@ÐÏMô5AAdéZ')ô.ߦýÍBÅt gÝ%Pl¥š"Ç냽.C±D:+™‹‡¥³µœÇ‹ÍU;øô€”ˆ\ò¥sÛÿ„¾Ö6êž ¹Œ9 éûMÔ‰Á÷ ß„ý^¶ºt[µ¡‚±IÈmqÂ0`}iW ï`ë·/m#¿í÷Ü¿Ùã×+^ùG`7Ô¡ßÛsþ;ãd"¤ŸÅ/>RýËßßþðç?}xÿöÿüéï^ÿ׾퓘˜‰íºíFb´S{7C’Ú…ñN÷rr28ÓY@èôçBF{f(zNú»/×À¾õs¹ð8péÁ”¨«þôm‹´~YÏ ì=Ÿæåqò­iý‰–?½íæ-^°ÍBI¿J€Íž sb_êÇ9«ý EêËí[ýôY¡¶h†°\éÂ5‰0“yœu2Ç;.9aõÂŒÇû§bµ„‰KöŸËÇ×­\\²ðy·`.`%vt·c$Ø ‡nçT+ìÈØôäI¥‰®u®›»ï™°zIÜiÆqäÞ«åѲÿ¿ø$Ëã¿ÿïÙà, ÷Oë¹Ä¡[¸°$] ÷W·AO³üu6¯—S¿Qb¼ˆèß!4o*ç%M3ñJÇ[ÒÀP¼ÙeÜ$ví>ŽOÆ*0À´DúvHç ŽŒZ.Ú½áÛMø½_ÒêéPÀõEb¯ˆóŽNIH‚Ü^¤±6(ÜË÷ª§+°ëÕäZO…ÌÀZá ¼®¦“jjoJpª¦p~«»2ªúX7)Ø‘x»vÅÜUKîs6šÉó87rh€¸eWú¼¢¯{òN÷dL! Œ½nC~~-)¦Ú§¸ÅOÆzkU·žC÷ ”û¼šþcl}üá½_ΡHå®pB`i(+¶X—…አ_þ.޾k†íð Z;#‰‚ØÂ–†æÖäðN"•3Þðz¹¨{oYÙoÄTj§”7Øš`×,.-Øu‘ñ1bÙ_35‘ÓßBK¦Ô²ÉÒãWª Wz+&ÆB3ð÷ªÙyh°p6—³óJ7©@0> zý›"¸©Ø`EÀ*Üz[:Áì.À(Ôí{[ŸÍkle5L05±Í"Z¢ZúbÅjÚAIh[4àÍo#g‹Áh#É[&ƒyƒ&¶¸šËË=J8_ª¿ùV³ý$V/Âh‘Dðˆü‘ñÇ;ú€•þ­ý9±©Çz¿žËX^+¼ÌÿxOn°¡«}qþÛqZfêå…y¶ÊÅèœOßÛ] –öŸËj¾:ti^ÉÒ•Ÿö4¼ÆÏýãÔWÃK½­‰À·‰»¦æ±a˜ÐYäðçŠÊq·Ší½]l(§ë´ÚÛmXƒŒ¦¶”ª÷µ¦}ÁÖ.y[Þr6ú+›édzWoºÔô~U–ýÔUeKŸžYpœ4Ò¤¾D9Áóó­ /=}›½î¾%ã#–³ävMá >Qr˜Š°ÁŠäVzq[…ò—#皃ˆ ý%[ÿ®•‡ÕÔ§BnNè(YÜS¿wµÌ¸ò¥É¤{î@¶#$ /Zø;’‡]³Žë…á}™`p›#\*C7uòñR7Ø»ƒÕ•¥z!§!$ØÅê’YU· §a€Óì½ÿ#¥JùØð¢ qÆE ˆ‚|4þõ…Æ ÐýgÓÚÛ:±od›Z25Å¢b˜·¿}â3‘“Ü# ]›Z³}ÝgòÖô¼A’q5 øÚ¥ûð«VI]G–ïOcòŲ‰«˜¢yíþìùÛ7é³{÷íéý«w%—9“Jç%Hz\äT8­Yé‘\Iɾüåä _À}+€{”ëÉ• p=©ž˜}ƒ\O÷²Ý-Tº.‰wα_ub(l‡_öâ;ÜŽMá1©Hò¸Y©ƒËpWØi‚åÔ+Eµ’%q|Ø=„e_Œ4Ë—&Íz,»U6•oGÇ &ËÞÉ:þ¡ßƒ VlÄ+ó·ÿéÔO§ÌýÆ2ЇVVrçäY—Ôgÿm³É¹U ÍGƒk_žé"…ãªàsJ“[Gt÷'9‹~•E‡f eC.vE}ݵBïk«M¶~ hb^w/NîM•õ‘|`g^7ëb¦ñz1õH]î\‚¼Ë¶ZÝ+×Ùrº–\H_HVÇÈo9`¤mëÍy1`BŸ¬ç¿ɽyG-WWÔ«‹’½k«@ØG–[esâ˧\#'¸–Ž›‚` âœ<ÚÆ½ÑsÚæ«øÎ_ªCštÒ°÷ý–! Ûò¨ŸÞ‡‘ó¬½7Õ5lJÛÄ •îLW®wE(Ýû`Ž_] c‰‘ªK™âìvÑ»í8ŠMØ7`|£±»± ;²í¥õ[»§¯Ûü˜aY}|H-Ÿ/驪|8?^LŸ‡šúg­49׺ßIi}Å®"ÆI,¢³ˆ‘['¬Ý‚7}ó¥¥¹‡ ú“=³SódR‹ ]*iJJ,¬Žå ;ë” YJ‹ðª-íüà¯Ú‰ jKT0˰ÌmŽEÁáï–€…je÷¶ðÐÞ­r•)`Ó;« ]ÆrŠt » Ìm«8Ê¿8½òÕ¿ è#è¾Óùù´ýó2ÛÄsŸÎ½ÅóxØy:‚x¾œeL<€Y®σÛÒ­ð,w&·s<ÊQ‘øþ¹pŒH 6ãV¹½¯ ÅÒI—ç²`ÜzÈVŽ’È*$þÝmd¨pÚQƒ¬ª±Æ…Â~w¨ÎâÐã½…HÐ%ÛB8ilsõŠ?û>†?v 1«?¼Â÷ºÛ—nïÞ½LŒ`˜ŸNÎ+é²w褒¬& íæû쥮}…^¾~é¸j÷®iZK ŒQ€©¯1ýÀ|ìÇ”2r>¡—Q¯²m Ø›Pˆß6äé×¥<ü„ÐÙ6 l1­t=÷×Lõ´­G§Bd‹ê¢mY¸BÙö™)aŸG-:ÅW;f­õÑ#w¯g;¶)úMw:üUêŠtš½¯[¬ï-G(äÛÌ=ÎÐóüùŸÚ.¢½èø~0·¡\ƒÀòДRÁbh‘;œƒ‡!ÖanW’1„"}ðFf`ÿÀßaYN‡Í†ÒJ¬Þ£Ò¥y—.">Ϫ»)†0e›«Æû8×@>¯0ö‚quC#®®RÃcŠuð¶½m`›®3÷r~msç€ñz¼µê+ùÛ÷•¦;¬8׈ڢÎ0#å…ÉÁ--®é©tã;‚ט†÷{`n戂™Ë”àÔ‚ÝLYi'Ĩ8|xb|ä×il¸µŽ ØF,lÌ$þù–’ÈÇ&f›Of‘QŤe9¸š"/xÍ`ÇŒ;0ÈlY q;‹ !ª…¯–¥s0.%Ö`š‘Ò˜z´wÐÞcÝ4ǺR…U¨ö6vÙ¶eô¯XðöÖ ²„3[€‘«U‰¥bŒù=Ê· ”–’û(ÏòC®¤fšÉ!]ïÛO·ÝýoÕd¦‚A°èjì¼_¼ÇÓô+ö¶qXýÄoÝfñ÷ª½ïzŸå6' ³0µ(VQÂð¦‹/¨Yïì]` ÈT+^Óû1@ÿÌ{ ›r|¼Í×ùõG¹z–¥<‚á,Nbj³·èÄ|h¯Wì#Úu©ô ( ár^ lKŠ奔 e ,©°kôèÒ>zޭĹ³ÈÚs—ƒv€Ï@kÐ\²Gý¼&Õࢆ“þ³¿±øÓÇ[¶ùå+³7ö®šªßý=ùÈÞÃü!;(ð5/N<žqêÖ=HÊöº*b¶)ê:oq@¤;9ÔŒQ”eµ6R3ì³} Qßx{«CG¤v”k£¸1 Î4e9yF4XšèK<Ôïêöë™þýiïxÃÒ›Ïqˆ‰’®0Ô˜RäeÉ8w¥¶Fú88‡Cw»Cl).¥æ˜kmsK•S4?eàô2‚­wÓ!þ55ùúzŽwç8éæ¶]a«¦÷9Õ±ŒÐ_1^f©]œ¹£“nàd Á8ÒVR*U!¾å“4…©eø¡'œëJÂK­@~(‡^+cÀ/ѶV|‰'ý‡p³öfRéß¾žößßimÿüx®ý8T}ï„¥‹ŹÁÎä\rQè\qêJeó<}õ¥áG^ž[;¹ý‘úûj˜¯GêQ©°ð!uE'¼›,¹^ΛzÞíA´cÛÇœP’;] )Kn%. LJ«4œê"¿•Ö4¥ÁŠ(…°È5&$WØæZ‚=ŽEiÜ£Í9iïC¯9ßú÷‡'}= Í•¥‡N><—o¼èägÀV•éƒÃŠMfíãâ7šxÀb¢Ë™ó[¥J md]ö¶Ìªãn½¢__¦“žÛ®†ßçfºÄÊPŠM. •RH­&ªÈ%3;#ìëõ ½º^Cê2õNJ¤úoÍ@ˆÅp¼Ýå {-éœ0¥unK° |£Xª%ã¹uñ‚”´xòÊ·3h£n{4Mº÷Óã'žü¸_ õÒªÐÞõ2€6n] T²U—¬_Ö_æBÒäláQÝê‰Æ·„¯}åt ¹ =0€¾FvÞ¦¥„òéãñ¯£¾ƒ¹ ½è»mÞzÆ› HiV]Òú³VÖùì ? Ÿhh[gt’pà«Æõ•¢óʬšaE'–l=ç°›Vy(êÕ¡×Yê†ñÝËêÕœù³ïª1ÌJyR¢n˜[ïÛzRáU2öàˆHnà,È×0DàÓö­²WìòÖô]hFÇö¢ì$sð÷Äw[ÀQ‰-8€3`(9­ýnÔrš@ó\u¶ôY±;à|sPœ!…åBYžra¥!yI1-©sˆò|5¿ˆÙo÷HÜè* ÚKL.L©(e,Çþª a fð-Êëßù#påð÷b‡ ‡JfÅÖ#KÇ ²„1&áøú÷¾OËÖØ.ôiöv¹ýç–8z ífúí"VÂÇëHd¥ÞhÍÃFçsGqiò²`e)µì“x“i1<´ ¢z•ס-­¶Ü·Í`g>;É”O±êîz [yRývØÌ4â’p”SÊ}}#F9K%-²È¹bcf~­·Nk,sçZÞÒ3l-ÆÇÌ ¤ ›[Æ%*ß  ]õíjî}½.Ô|ï ¨üÑlÿÍ[u%|@éRs®u‰5–Œñç…Æ,t®¹éÓ× æ•î]²÷Wm«¢Þ¬Â¹ùÞ‚1» NŸKõìœuÙéwSL†ó ™ùléPö9-2Ã4Úgã|R³HE¤¾¯l£©»ƒ•~5½F§ýÝIÃBt—‹ýÅaKü6‰xš=ZuÁ‰KFcè2™¬L&v!ë¯Wû lœ(bC'€ûR`']Wzi|ŠÏ­tÚbÖëÛle1µ¹–§Ï‚Ñg„…ój1´h©çà+írz{y~`ŽTäRã3¶˜?ÁeÈ”ÔL¢|}QÆäbäùÎ;û .1"Ôßu@8Žø«¨XúÜ?ž¢É«÷oM¦¶A5øöXžÚ' K•:ïÄ…™^m1a´ Än4ÌÆdÛ5‚ &#·5´ƒu}_b/à{0HŸTŒ¹`Ý®7/K0„SNk/”ñ¶ d4{ag/ŒÑ¥Ä%ÕÊÍ…³B¦aÅÝeÕö3^qY æ@Ãè‚P® &ʲPÌМIêÛ/ãu—²41°P®•›%w\¥•*œÐ›·æÓ²\JZ# V°Îk­`–‘}Á?¨&Õâ*;¯àksHc8û?­ß9©||/gqäab(µ‚ùÎ¥’©R³‚p²,<œü­££ VzÐyuÒ GçÌ»KÞÉ›&§šoL4â$×Ç÷sª· 9Ê­üñ•S«mÓÈyå[ÉNb<>û寡(¿}(à=Ú‹z~å‹ûäYÊHê\Ù¶ „ÊÉ¥wîâ•èÆÛObä¿ï8Å ~¿ð=,Ê×[é¸@]Ø:,X€‚C©W™‹8` ®Çi•`µ maçÌ÷Ëiõ"§¤ì™{+<‰Ö¾}wDÍôώdÛWB/ÁfÄúãiú©=Ó0]ÜV%ÀQ’Ô£-Ú“5˹ƒ“}<6»'; S}jOÏN³¾¾ØÁ{[/1™M Ÿˆ¹•_¾±no Ó}x*¦îmFN¿Ýï†ýç€üV¼Ö¥(â5K2@"ëØôÇú¶Ï‡½ä­$¨ –òR1WäL¢RIŸ1g1Á’ÚGÛ/fGLE,M©T‰y®™Æ†ŠÂì+‰Æ ,a*¾]d oà…ß½Å9óä/O–?Ì[Úþ]Ê ïV·Ë°vàZ‘<©CbÊ]ß|¬hÜru²‡ E­Í-v¥´˜‘\€®à¸0*l5fé¦ ÕÛfÑjó¹Ö± E»€ÆÜö›½´‹_ð2ãÛ•žy¿rÙÔ^â¸j¶S¬ä†¬ö»;2³± 5>üŽ^2“¹—9a2/¥¹*d‰)XÈ‚ˆDM‘«ÿêÕtïZÊßLy¶ô“Ó×À “ôM5“–ì&íšÆwºyiéúõ¤©aÇ.à³{’Çlx­wÉÌäÀ:ú¶Ì ^¬°+JjœÎ1eZIaK\ê‹ê]—€µ'¢2“ ?©Ä\ iN‘–"‡@‡³<Q¹Ÿû ›‚š‚Q”…(¥ºÐV¦ ´p-jeï¹ÃËð`±\‰|~6–Örå,.8’Üçs•º$ƒWuï–Æumò-$Gˆ© ,À%Ó1ìâqAˆº!yl/çÑ ÆÇiüâó×Ôv›‹ùU[m½%éöú ÿ¿w ’§PµwˆörVÏ­"KÆþ#ºü;ÍÞwxý#xÿýÞDm·©œ³aÎ~6”ã6yð6Õ`­ÔJµißÑq]½51¤W>·º–9᣸lJsZp‹©sœÓ’ú‚$ì¨ÂŠ $ ˆ&z‡Ò\£\”)f"/¸u´(}Ö™õG¬9Š4WZQ/a‹\a³Öƒ8J¥ 2Zê⎤9X@¬&dØOŽiiS…R¢Yñeͽ}÷P°Ý[{$iLhióÙ‰OW}m{¤ƒîúú-’>÷B쿉:ô½õ¼9ݘnc¾Ü^ÙÓ\Ù‚¶*EÞéK ‡},W·•äÚFP€˜¼3HÂëùç Wgn}|t|n^;̤¹ VÄ@ œù!ß™™³:öG›\¥)w¿iû™Á&_´Ý:P˜òÄ6M¶êÞ±ÙÂìñÚøÏ`Ãz÷>#2»ª—€Ô㈡ÿÖZw4ïEظC$H¢Pš¹NU,üo Ë{!<5ݪÈiœ-9ü κç_5õ'5Š˜@ÿjõB·Êº‘n⮼““Ð5ú›÷4ûÏt½µAN/Ñ=P࢔€5°b%Aºž¬º©öïávUÖªnÖ¢ú›ìé8BP-ë¶Ö»7îßë¯ÿ}<öÓ ûRfý-9ˆŸ=[eÇÎòz·©Ó^l;ÀöÎd\AVb¹Xç ìË„tÙ3ú×mÞPÜ’Á6ñ}p;”¹‡±ï|Kñér2Y¿½ r¯…‡‹ÞVQ¤Ë¹zž99i@n;³±«¡°÷”ƺ0Ý  '§pšýc÷ªÂê‡Äõˆ¹_­KÐH1x> u]q ¬b MP¢ßÈþ†v„âƒ”ŽŸ¸0„FéK<¯.š®wäÆ[ëÆ×1Ì{ðƺò5ô5=ä‘Í=@¼éótÏ{º+,ÍÝFÆï@%íUAM‰‡%)‰Ï*£¹f¥t¬Òi„¸ò0¶w2ï2Ò.¹¤ÎWÐb“òðbFâRQ¯¶‡Š²g¤Ý‰Â—fMuÁ ) †9Ru…Ì%½m¤^€IJpQ° L¯+LQù¹ÃØL^J) „Â_p!™GX1¹Ô`Ã1¡ÜM±™½ºUã’aë0x„`•[V(“!Ú9¡Ì,—[Å~¬oQP#„fNjF,*Œ'Áƒ…³;ŠýŒïì/&ö38¢·Í—¼KýÁåO~!Žv»àÞèK¦…l6ýíZšÐx¿h݆pÏJ`ª*%ˆSLJ ’Ð_‘®ù‘-y¯#Øç^¾×»Ûýü¡‡ßÚp¡C¡lvè›;Ðvãñà5]ÛucpÌôx fFk>Kˆ|©øq`þ­ÖxÜÚó|2òR.]ûãIïN¢cÑã´Fö^Ÿ»²EhAsŒ ÖÆ–Vã\BJæÈ(Ǹ.µE(FܧêE®…B„ ÇJîŒ1Mùmm‘;$)YY€V5 z šsiÅÚ"¥“°.NPZ"+¹B¹µyá< ‘T8¡¯Þ-¢Kã´ETYeH‰`|•vEéÚ"¶$¶,™…µPœj#0,“ÈæN‚=Äïȵøbl‘mx_‘bîÑz9Rbf HÃ6ëPiµ7C@Á·‚Œ q¿ø;“¡ñê²´ý Ø|©õ< Ùù„¹TáÜÂ|ÂAŒ«+~DQѤ²'}³¤æ¬¢‹‹à@Zn-‹5Lžuæ­G¥Ú ìBþf³-Û½ ñ<½e¥ßƵó°áw'Ñ L†K„xòŸnydz\:1‘c@cǃ{"¼É#ÁÖWÒPã{ã¶J[`?DÀñ‚ï¶d3öŸ–Î[|-”Ñ€Þ“°=;‡v:جVÎa)þ m¦¿½¢©¹ª8nÁ¡Âqì%îøˆúa7/ãèJ[AÈ"€@Ë]Q _È2÷aU€Br¥œ¶É´ˆ`µ žžŒƒåÇRŽÝëDb5HÓ¯ 3ð‡óÙ~u ¸Ð\%Ë]îÀ¨ Rã‚j‡±Ú6Qq{=èÏw´#‚ÁèP‡™½A¾Ú[튠‚$¹†•§Ùªõºï¬4_ºzÞ¢çžnAz¶Eÿm‘k5YS7I1˜iÊ ž¼J‚üè%X±hï4û«¿éÝñ/AƒùK£Q7Íc1·IÄ÷ƒž3Ç&·Eš_6]Áà‘ã1ulØEH;Aq¬˜VÊPp–bl…²,7B~Ià2Þ&ÿP?:|™Ï··>™‡ ã¯ùpw­ÞÁþm®I ¨‡šÓÞM÷—£Ÿ µ ¥¾¹ºDžÚËø¦o}S¦fÑ⇬£/ør½Øcc ˜OçwŠbòGº_=Ñ èýOÂçýïIø8…á‹u{Ϧ#‰ÅãõuxlÂqRƒç9èçô™'±c‘§¥Ô([äÔÜgD8,”ä^÷ó¿<&@uŸ?ª^WÃA…þâÕŸ;Â[X€HÌùb1ûîÅ‹ËËËSSº‚ùÖó³ØŸa?ÄÏÃÞÈOùi~Š;ö©Ú\ù?ý7_ýáÿÁ¬ 0ã+”¢–!’ªŸ?ŠÀã-Vf¬¬ªÚ™´T  ÁÅÅUTR –¤Sˆ;~^oÄIˆSjÚ2?4DHNþÞÆf{oÏ5+˜»Rc7ƒy÷Žá\¨™ÁòÊJIIIW…®–ÖhÎè¶ÓGD³UÊMññZZZÄ.µÝÃÃ+Ïï‹Kf ­“ªÅ}“~~pzšËÌÊÀÀÀÁe¿Ðèî -)£±´´ôѵ…¨)*jîQRŠ˜w>\·*-ôõë×ÐÐP=ößu¢¤²Làõï)kÜ?y¬äú,“±é“Šûz+)ED+f3+f©···5¸*¸§m‚$YÖÅ;Spvþ®ÚÅ„л†š©B –Gqñ¡}›‹ßÃ^t§îÿäП¤ôiô88ÍQr³Õõ˸ôþ¶³3}…S]ó¾Ù÷Î&ùÛB-+777È`†ecx)3®Ï•Ó B…AŠE‡ –Xwï̼ÞLêfœçJÖåõ‚òHnþŠM”,7~½(bRÆÃËÖ×'`e5Û×G3UŠ¥õÉãzkSZÐÙ¤@›%qu©íuzºãcíZKZ]¢"±`o£%ÏÐòÝ ¸ŸxBŸ|ÙEð¥÷Å÷Ê¥ö¬O¢Ö6Z_œÂ<…‰ @ܡޙ`à6 {S¶¶t¹T;NFFw²Û¸ÙÝS(½YñÀ#àUjj¢íx ‡|“ub¢ñëmd°níìíÍ‹XE$–OèÀgºhæðž~Dþ-Ìñ~ØDh__¸/ûÝŒ°‰z¯3V6‡mòèÖ§¯õ=æÏ®uƒ:ž>3©¨Yç½õá¥TFääoBjläÚqŒrz“rhƒšÑïÅf‚ßàFÿ ±ˆöïþÚþóÖàm¦544TB¿w|˜mö¡ cx1ÅiñŠQõ €Š“¥Ù¦Ì_ã22N l3댼8'2vYï³ŠŠ¦ï²ÇÇR­X?ñ6¤( xÓtxôïM‚]e¯ù†1Rm— 0/¦‹7û¥ºiBRÒúÆFׯ‘¨¨¨ÌóÇsò„˜„ÞbâÌÌù……áÖcnéÈ4Zê¼m•3Í0s/X•ÃæÅ9S©Žº:-!Žj†K¢bDDÖ] __±Ê_ããÕååêŒñ¯uuAzåìóB{ׄÝQ”¼V‘°¯ª’+ëÇ51U „<ë£ÊÞŽŽûKm¡©SSSñLjVÏÖVW]÷~>d‹ïfçàhÐ-ž‡€ & `dD3K]>Ž€&fÀöDÙB“'/C{g§UOK­ýRŒyZ( JûêÀÇÇ2==¾¼ˆ+Z]æwÝÛÚúvs(K___AA!::š^6òWoï6b"Ÿbgwƒ½½ý™" ;l‚†ƒxouull¬}Öîý{gW×±ºEêÌU‚ñ ,±òMK8îƒ JJ_gÎPsKhh¿{÷NRRRIIÉÛûªX¿²!¦s52)êÙµ¿ï+ÏÜ{tx(EÞÁ~½ù5Æ‚G_Vö>|ð¸604äåá ’\"öª®© ï0ÊæiŠ;áOLÔÐéÂÂÂQ¤®¿{ŒïÈC$ˆ0¹7‡Yñyìùùù'†ÍoŸ2£zI„À@)Þ“sPÚ˰ =RŸ¶©©Ô ËEG¾‘ÓShx6@µh»†—v°ðûë÷¬ÝÄŸ®¯®zz{S---ïܹslgjº0š§f³#£‘ ™•_\üðáÃëÕÉÉÉ( pMU•|ŽfÃcI:::NNÎÔÔÔúúz€ÿººòòš)…¢Fæççc°e4´}|D3›Nïž={†CÇ™\䛦¿†Ðf}-ÎmÆ~{ŸÔu~uå ׯÅÅýþý˜tw÷³•®˜ÑÕ/K(”‰¶öØïß:ÆÆÇ%Éã•ò9ŠôôôDaÚ¬QæIŠ D~~·‹‹‹……¬ /øø\çÜ4 øèèü‹ÑÁ“ÊÎÍ»e,þU?öo¨·ºº 幯wM%> EXhä©Ãç°§¥VÆ»š«Yo;»†IK…<$óöÐÔŒƒ%í“ñZq¹oAJA b¨EÑÇ£j333~‡ÝLÊ ííÒÀŒ~åÛ:¬ã æùRVZZ@Hæáñ±ceió¿:ðgîêU˜uœ¬¸jý!ã猌ë#9J 3AÜÈvеñŸ>q_¾<Xt®¿<Ý=::Ý ù‘ÉuݾMŽE²MñtôKÑL¦ Q™Czº„ébõäƒ=éšQ”†ßdoG„ ¦ÿÕuú$'¦–lê¹çÑz…±ä­ @ß+Qï”.(]Êó7Búðošõ-·BACk½ðÉiƒ‹jF“dkœvºÈïLõ\¢2Ý­-q×ú;ljÊÄÏöj3D½Œs²µY‘}©6À¿ßG|âruŽ”2ˆGëìú®_ú‡bb5Z›–äs²yxX'K°ÕÖ((±kr\zÉË-«1vqT]ë®0xüæ|¼éÉyV™¬D)Š&6š; pÕè‘5-·;ª®uzÖeÒ;^(¯™£]M} Àœ]ùËPù¦vO}ý½¾ Ѥ6º?ïJßÁé©)+ÂÚ: .õ½æ’ ó[Mõ}?j °NPùÕòåÙ/—$±EºjôK³tY_ss“ÏoŠ–5-‹[ÈO˜âŒ×§ÁÏj}æô´N²l?× ÜCœ!{A1«Ž8ëoÔƒòò”Ô‡hÕ²RRÖçáV§Gº´³sé/mSð]Ž®ï‡íUÞÞÔ~û¶:q6Ÿfÿö­*â"Ð~uïZQ’Ÿÿàø˜[°ÅÆ—Ÿƒ±@Ï—‹’’Z[÷‰?7.q¶îà<Þ\;YMž™Üß ¼¦pˆïXyTíuaIó(”çx â2﹑ˆÜcq89yME¥hl;|¬ñÊ&OÕØÅÅ0>Å#Ⱥ Àš̹µ[K°iÿumMWTäF_Ý1̨»´ölÚ²Wš¡`dªò´i½°‰ IåuoÞ˜H6Ð…—ZÛ&ð¿ìÉð²O‰®QÒ_88ñ1@\î9…ú‘QßL¨‰S]E¼R¡`0aÃÇ/ÉÊÁ¯$‰XX?Â_Ö7»´&Ѭßxz²Ö»D|ùAÉ/ŸiSÆ0í¹È•Rb¸¢š©½¹y+TÐÏãT?™NÊv¢L|y}}l „±,AYú0U³Ý%®‰š÷ñØÑ›ý §4âæ&vX°‡í!\IH?Òͬ‘b§yõí57:-þ ƒ¥¼ý]v§'æ=Ìwâ^,5 B9:ï-¤Ý^åe¹4ºwabÖ}7Ž°Â”°s Ñ ÁwgTl“Í1iD{úНŽGgÕÄ}\¦ùLkl¶¢êÝ3°89¡G뻾û™âL]¸ &•£ye%ú.ï¶F>mnJ4È’ØÚž[[÷â| »@}TÓËýŽK¸ Ô2›.ê¥ëX^Þ;ÖèßèyÔÚ—*,iñ‹M%£ìå lw·ü µ7-ì×ü’}G¼ÒJ´Åm[¤Æ†[Ý‘ÁCˆ—Œ ÂHÄÁÓPG$½<ì½0; €û™ü€rÜÇ%ºeÒÖV¿g¯¥@dM©4ØÄ|/èòêrÁEìöª¼ðŪñ™”…w(÷ÜÅb`ä^KKlêEtEK-ós³«¹Fñ›óýò·§eÍÓ+gË¢ü&«·-`h V‘Ôs3`Š~›Ü®veïô±ðð…ÉÒŽrƒ{~åë!Ð~i/L>Ó“Ž+ÌQ’Yð3¯ì Þu~ˆÅ@.äÆÁú~ðg0ˆqÀ¬1I‚1Ù} ½±±¹ùâü n©j’³‹v1ãÜÔ·ž×FÇÙ±|¿¨,ÒiìÕßoÇ A-Ô…”UUnotQ¥û¡Ú&Lf–H‹H jE%v_]òò6†ªª,÷“½áõŠ9‡ùù¢¿{Ó§Ã&2ÒÒŽ€\¼:\k¨«ãKÄ]¸G‰?ÚΖX¸Ö«E-ò‰ìd¬ñT6š²Ùa!ûêJ‰LmÞø,éígÀPFºl¼×Ô|Fq |ƒQåp¶‚þªôÂë4¡Â/Mù¢ÌS ºÃü$Âo²Eüè7_î|5Øæ÷‘›[¿‚‚ ªêï·oým“ÛížéÚN9›ærÝkAËé{dI4XõÓ‘Ì,¾¡\`þ8a¤ây1¾¹YFÂîAÇÒ=T•§©q{.§¨?5¾³ó”´ùå×v@·¥OUªxqü‹ÅjÆöÄ•hCÏøxØ®ó1nrûBýÑþÉ„;¦ªÙ3žKMï[¸6+\TX¿€ÁÅYGPàÍ1w‡^߸|ή††Wq± K-ŠOX8À1ØØã§ÕØE`ÜϾËÂÂÝ2§âC°ýEÊ?#³M¹®]àD8­Ü®a7øuÇð\·Ìxu¬µëOi?ˆ³ºÀNšƒYooY©qZ7”f¶¶PSBKÿõ§E)l"ø`>WÍÆÃ±{I%Œ;U*C£ì)&&z:(’W¾ΦŸjnl¬j÷{( º´´2Å)W«üòÀÒRXRMNûq/èl'Ì0Ìu½„Ž^îA„ Ôàö=Oøú§Ði¾R’Mo=‘A\¢n£©EAÏ@ß4Rs·¶OL€[nЪºº)°½ÊUÆõm¥d¤³³Žèe±u³ÆÐ(±æöz¯QHXáÞÕ¾ÍWÚx–yz}ÖDQòe³^¨`àà·õ÷BB —–\'ó/_^å<‘éh÷æˆg™ä”Ãkyòw{Êù~­‡ªªÃ¾ÇÝg68xx‹º.d?M¸x] ÐŒÞ¥”ŸãØÆ§CêÉ¥ÎÃÚÐÔ×ù\ž¶’÷pþL³%áRŸ;ûÒ>˜.¬ êHÉdk+9îéÏÌÍf9e¤õ¦€x»Ç˜F%opÑ©çccÚYê¿V‚$—üïa‘äää\\\\xZ6V^L„ P|·°°ÐŒ[½^§ÁVòylÓñˆRMMMRR1“j_OÏHnr+O'‚K/mûV`ÎôÒcY‰“wýW»ã5 Ñ®GK¸º±ÁadlŒ‡‡gÉ£ïæv€…· …éÕ5»l p›w惑 hÆðˆˆP|ŠÓÝÚ…››Ë½ÝÝ]ÀB¥ŠzAoC zz“owOÚÇ#]A¯WQæ]Ro©-ЈõÍö dˆxòT231å%£-xRsr,A2£-ÍÔÔÔ-0:ɬO °X#NL@n¶xYÉËŒŠêO`ѲŸk÷áCC“MwHL<–†²¤ÈiK¾›©±»ëÿç$ëýû÷€†ØÙQÑÐ8¼  ~ œ.ˆ@ ^ÑþêïÏ¡¨üþÝÛÇ绹±ñrÂÔOüòŸ›l¥—)Ò/í‚‚üüüÜîiŸ?SRQñs"Ÿâ¿”#‰cxAéV[ –Ñ ££³¶¶v½ýóçÌá¸øø*òòשּׂÃbbàü6:gÃc~ÅÊ_srÖ± øìÓUy,‡„„p"$¥¤&J 'FFâ>}zó·Ÿ™óçÃr4ÿÚ3å~ÿþ=::ڰ֞àê£ýC’0içzÈa,_‘<\Jää9Å¢W¤q<š*Ì»t´µµ]ß¾Íjié’Âqª7 Ïf zC ÇšØ31qÖ“ÈöDFP@€ ÖŠÙ³²#Z˜œÌ7‰A¿?þ` ›š™Ýíïï{|ÄCF3ûD†%QñQ¨¸T¿rýbnÚìí©¡ñxáƒ`f^›SáƒkÏu䯆®‰ÉÀ,N¦Ã%!VrÁ¶Î®Éü0pþþ¢¾Ëommw€Ù140ø¦É¢‡“õé! Ir__ßì¬Q–úæÊʨ–)Ж»µƒÃDÝÏnsEEÅ3fd…xô£G²§OÉeHÆôõôhƒêŒJOº˜Xl篨Åü¤Ô´EŒ•5¼ 0Fó–Ç‹÷²©ý8b8T±··hII °¶P(TW MIº€ÓϹ9D~~>p¿¡¶ô3q% up…B“ä4 ø89£õYcåw ,Ü¢ÂÂÍgh )ÖDF.?5QQѳ eF%ee 4 PÇÇÆ¸,Õ-"*z <çú«åŽùQ‰H¨Ž”ƒ|ݽ•L¤øÅ*q®ƒ™Yvz:• XEËía8èè諸££ƒ¼×E~È«Û#p&¹¶P ¬³yûvi{»Wä`kùñ££«ëñþ>aDÇ\×NG拌 ³ŽpÀ€ÖVU號„§¤¤ãÛ²'” ƒü0ÙT8åä‘WU¥^ÄAÐÿã‰ç}9Id>/‘ú{Æ1*e«®ôþ?vuHõ— ¨¯2dî\réšÿÒ m¬c7ªs„B6Dkð¶4´ÉŒ4ÿåÕZç:Eãƒkjl<7U 91‰«±Ÿ·«X9L`iƒô£ñfª»ý zp¬õÇYÀðÖw¹È-¦‰’Þù–Û„ÊÊþ`щ%nIû=½!L©‰¯ÃßÛ&¤ ºÐÿ¡‚çs;\È­$G&š‡wÅrû *øCLe¹²Ò—þwCNVઽ†í®l·ÑÂü|,Ü/öâ~ç)TF¡´“„™àÄМ¿ ©¿  ½Çô2I ¯ŸˆŒçe(`e®cOìÑg@ÊB/ߤ=mb€fS;ͱ7õé(üð “Xvqqí]Ybf3±ÝÙ$¦—÷– Ñ‚Æ}S…7Co}‹n¶ïÈöß^îql Ì©ð5s)¯®›Œ¹KüøE[>:ä5ÝD¹Nèã-wÔì’£¢,Œ¹³S\TPó r¼(•ßÔs-‘sΟeô&Yª×ü?¾ið?_0~ÓE! µ•‘Á´ä‡@ ¹¶xgzfFÜûüSvþúºUnD'ÿcÉ±Ò  *ㆳ»Ñöû¶¾¾¾kkk}sq~ø€®)+ÛÛÍã?ý{¦­­£sÿþýS>““×9…SM)5ƒ‘Ir4ð.£ù>1üÓ§ò÷ã…##š©ÊŒ±ò:e&*ðçôAbWûm‰lº€v9þ*¶ŸÉî诲f4òr¯ÂõL­ƒœ´ôPT<£Êt¡ÍöïC/S­¯‹‹‹ƒâ·MÕÕnGëý>Þ™?¬o7^õV’‡gK?MN&ñ±úòo¿Ã0—ï4‰r{ù#3XµÍDi•ðïéiØxákà©ë×NþñÚŸ³!Ò::æ’²à'@+£¾>ACÕwgg§joœ€ŠŠª»»[.šRÐ ™  –6NÍ-Á˜Û:úßG/Ö˜ŽõF¦¦¦ë/80`Ù3íÛr𛌾V¾ÿ”ˆÇž¥²ì϶³™kèê2ý9ܽ{l 'w˜1{+ýóçÏIÎ;Ǧ4&.X?0xþçL¾§+—©`!ÈÀŠ‚Œªt©ä›€ÿF°zë O¾O÷o ï`?ÍxœÍ»uX”Ñú.Œ‚  € 4HJ)©tJ(]ÒJJw—€´€tIww%ˆtÇPÒ9ôC~‹}~gûì³×uÎ_ß7*Îż³Ö³ž¸ïûYï»Bå¥p°H°PPPpd¤øê ÔAÂxœí}ûsÛÆµðïù+p•™ÖîÈòb±‹‡ãx&ušÖ3q›Än{ï÷KfŸjŠ`Ò²ú×çì.@€¤(Yr“¹½Ab÷ìÙ³çµçñò¾ÿÛë÷ÿ÷ÓŸ¢‹ùå$úéïüñÍëèäÙóçÿL^?þýûï£ÿýËû·?Fñ‰Þ×bڔ󲚊ÉóçúëItr1ŸÏ^<~uuuv•œUõùó÷¿<ÿ„cÅørøóÙ¼÷晞ë“W_½t~ºœL›o7 Eáßv¿5BÃ?—f."üí3óïEùñÛ“×Õtn¦ógï¯gæ$RþÓ·'sóiî_þF]ˆº1óoÿþþ‡gùÉsd^Î'æÕϯúQ\W‹ùŸ&æ^Š^ODÓD¿kj3Uæåsÿ»¯^NÊé‡è¢6öÛ“ÏÏTÓœDëÃQ‡$$ŽxœÅzeXT_Û/*‚‚J— C:4ÒÝH‡R#Ò5ÀPÒÒÒ ÂJ·t ˆ”tKw0t u¶žóœóþŸ÷½®s/ïY|˜ÍÞ3+îµî_¬µÃÔUåðqÉq100ðä¥5ÏK Œ;ê8w«Ó&ø;àã¾™’œ4ÆíŸ¿LD^<-†‚´„¶Ç—Ý9O#bÈ ö>„H¾N-Bî;ß/:ƒØ“üL»9C#;Þ‚åêÖSHí¶ºjûqذ±aÑKyË”á¸88˜"x9v¯¿…g>ÅbÀT ¿¸æöQ¡Ç|(Ç£±w¹Ö«{Ø'2èÝæMÊ¨Æø@BãÉ] Ê<ŒWe´ OHäE~à1P/vXƒžE<’3«HÙ½Îu±²%É4ÜÚÚ²M~÷ޟÖ}€~³vçœyAНLäðÂñ3 Ûÿý^Ó«å;&´á´8þBò"Š**OqƒE¨Õ˜ŸP 8¾òÑ00ø ‡ÓÀÏŽŸ„I»Ò‹ºõo¦ÈŠ&ã£Ãx4Ž•¯ˆuÙ˜™ q0™Ô2s:::îúÓŠ‹ÃõW‘H==æøî¢"v½Wµ£m=k‡éÂîÑd¼² 8Ÿ½­%mÐÈè(¶z¬ÓуÖÖÖPâìµ™|{Ò̯'¦¹0f~Íaþ0-þ§y`–•¾†tù1R8Å·øÜÔðH üˆÓ„yÊ©6ŸÎüâߊrý$Î"ñ*úÝe©u5ÿ榷Ýó꣩?–æ*ŒâW÷·ðpç¡.JS‹Z]\‡aþÒ~Þy1Vs17:ŒðÝdâQmð˜þçÙ³èÏf ÃÃo#y}_}º>7S ¼ü,>£Ñ³gíÝoçÕÌ?Z"öÄÏôEýÇÍâòRÔ×'媯g ù ¨é¢ÒÍÉ«ŸrRªè‡ÅT!‰6~q_Ç”}Ó¥®z¯ÔÕÜ(uøVÖ3„Àæêdrx6N8j7ú~äUD„ƒp~õÕËÙ«÷&²C¨æ‘ñ¿‹lUGö£’ÿ‚µ4ÑüBÌñáeÔm艙œÌ/ÌÄÁØ\7ssöžFþqäŸ#΢諨Üiu…îõ¯5èrp¾­jsvv†/¿|>®F_O»}Öå\N"]ŠóZ\ºe¬ÿ¢ÅÔpœ€˜•MPðGY^žGM­¶€ü믥Ÿý×_aÞÙÅÙlz~ɪо=!'Ñ¢1—b¤²öf÷"|8Õ_‰¸F 4ü*šŠK`)##•zì'HôµQs!EÕ°Ñþµi¥ ?YÙ¢ï•ühàèé7Ý6GŽN¿=£$˜¾.MËnOÜ8gaÉÈ¡[€ñì4æü4NÙiœÇ¸ðí0k0~*›_à'CÈþRMt].&ór6 ?bª#Qƒè97HÜæÒÃ…ãóÅDÔ~ÊuøâMœÙI“8¶œx©êxʲçÒ\J‹U(Ỻ¯3±Tšk{ÒÌćÏÖäÃ@q Õº2ƒ¿>×øÿêÁ07÷ ‘,³Dhg&ͨR$šQ¦¤”if’D÷ž–Ÿø}ô–çðécøÊÙÉ+P RòŸíyíí_†/H8/ÕåÉ«MzÇ êÀ¯¾è´´'7̳ÜY¯àôž¸wÿ0ºšÎñó·äébSšpË“œi™g±U©I’<±Tœç’èƒ;ޤôðÙ~2¾àÉ¢'OÑdkæÑ­ÕÖB–B¨D+·Ì4Î`胰ø3ê÷’qè‘9í…”H©µ1TÇÀóe1“:ËR˘Ž3™ß’¬@'½¨jÏ.w™ ÙÎá蔯e¦þÅ!Aœ[[d™¶J3clBuaó¸0ªàì0¦µ ;ÌåðVÔç %ÄÃ¥{/,¤Ä¨Ì&Y¦(0@ (¦y’JkešPBèqIat®c`¡œ–—‹Ë· ƒZV2޳B&1M ¥šèŒ“Ly¥äQIb‡¹2^ÿôâ…_Ë;PEŠXÌ«C0b€ pnÓhªó"74ÖŠ¥ÀšmÉQ1²Ã\#ïÊÿ˜ÛÑް„œ«¬ÍOQ!sÂc£”fœÃ‰VL ;Ìuk4ˆO¡R%cÐŒ¨bœZjX¢唥)Ñò¨çc|.çÿ»Ašz‚ÿs]-fK¦÷ðjMËlÃ8r‹NˆJ6(ÞÊÀÄAœg†å Y ‡<…ýͲ,&)—ð—†3dÿÈ;(ÑpØq“K «¢ÈxF’¼P1qŠšBbðœcnÒs9Zý‹h.~7™³Ñ1x,$F/e‡ô¨K0à>8gú­‰$úÝùü›ÛSÊ~Ìšq#âÄ$©6¹áIRÄʰXL*bÚÉU©ïCm ý¿-57T_=Vœ*ýN\ξ¹;]yÌòÊ-ãDÆ6±EA…æ °* Ç4Ñ¹Ì õ°q?<à¾Sz˜Ï<òƒ:9†)"r0Ÿ…Tq ƒÓ$æª,%¹-Xš¦"ܦÆGL­h”·D˜RV#s,p¸Tƒx×1ìÒšf‡õ÷…°qàaßõµMÄÖªëäÙ(¢¸Ö´‰Ê¥Êsƈ*2ER™fÒdyž¦nÜ¢Æ_R–WÄzd…×-90ñžŠÆèýüá*´VI‘J–+“iµ",Î3Æì*ÊÝhýƒã48ØZÿhùz§GTÓ1å_M´H5Õ†qÇyžÃ•8·\ðÃ졃wvŒŒYž´›®n8Ÿî ârAL&ó"+ŠD2ø/™@€ÇŒ’ü0ÿõ½àpð![_Ð¼Æ T§m9ýU\Žº„€°Ää…†óÄÍâ”Sžrk Ï´ îáèŽþê>Cꎟ™â8z 5 ÉIa3ƹ`R‰ ìƒ,ÉRJQ|°ô3xmÄı¥rRί·ËøçNEuÜÈÔ~ºŒLÝ”33œJW…³9‡%ƼˆU`Ÿ°(#Ëäí|F`¸Ü‹Sst JLÔb"æfy÷²s7,a,hDçÔ[0 ÀŠÎm Ã3X Ev;çË}ùìÆqY-óSmšæO»8áŸßâS÷ úƒÁư3ËØÑ¹Ò2× Sų˜e…bŠ v˜n|ߨ_„ÃÖÛ꣹² §©P9Í•2±áRÌ€âʳ,Õ#Ã<¾‡¬_ÌĈævø¹56eyªœ+ƒY•Ôš©jÌan€ûÆ×ø"¾¾w~¯×“R}¸ÎÀFä4ÖÔê8›(Q±Ì9&Ž•¡òÀ@{ÆÙø"®.Œ™ôõÏîÁŽˆÒ ÀK&%‰Š2Kjb%Íi‘j{;/æ}!j|b6›\o¬XL–z#¨3K‡ûMsþ$JÌ]Z+áA›â>ìhs–I¥b“ž2 \QyÂR~`àÍ=#||˜Æw,ÄŽ ß,G·GN ˆv&Y›"5**ïàpPFDZôƒ¾™–Ž‚ÿÓ>ÇIl•CŒ$Üð<•™MâLT‚š1CÜÜîÎrG…—ÂYÇðâ«ÍáÝh¸Ÿfb£'K±÷â¾ÎzÚÁál¶ž1Pº—üh×Ê'{ÕÜ–IyMÊf‡™ŽP€éÕ`0Ïd¬m8{nÒT[ƒêuá®gG6l¨X³Ð4'šé”ÆÂ¤Là­ &θâ”»êýâ–®ZbãÔóäŽû`dÓÂÞ•Èl¬]ˆU›¬ZØ¿ºÚ,‚¶íæHäÓŽÌýMMƒµ*—ÒiávlwC¦OzXW°Öç‰Ä‘;¦¥¬E};í%>üùŸ¥>7­¼ åØš®–XàðÊÞ“Õx†„ß­[N(úp5 í‘ãMV SEó« ~ãüO¥i^8ªƒ÷š–tQĆ8U¬Å‰µó`>b¦ˆ4J „…gב®P"£‡@¼ž_€jæH¸¬]øo4[Ô³ªql׳\qnüªB)/·2ÌiBôTNŒ¬ ½Æß­.iÑ'‡Ù¬{`Hü¾ŠCLqQµi·ó&`ýÃlf‡»¦ÂH ‡¼`^óI\Î0dú¦ÅÜEÄW½qCFþMè<¼fÚ«îõNöݨÈ¥Žá«þH~ÞÚøcÙ#°@oº‚ULa„©Q¦i|ºK#¦þˆx;G©Ûl¯ž^ˆ&ðü5J¾l"éz Y -)m?æy'ò­«XN{BŰWf±q;²y8.¾ˆ#‡ïZ#Âà ç5ÚNõBÍÎÓ‰6PûàûJ-p$Ñ3ˆ¶{¯†çBŽ{æT0ÂOÖžÎêj^¬ý›i\XU½D#ÿÑ+ß>› qŽßák±Yh vßvÃ,?êµß®ke‡Ý9æÕ“ Û±g¢—XªãF‹Ÿ|€æñ«xi.‰ð1ú6z©*m^‘—ÏÝ¿­¯"8¢V4|æ­ìîookG&6ì‹÷“ÀžbàÛÚ–nxzòªµ&^>Ço_…z³¬˜úž¤‡¤¤+uâ”’×  Î_ïŽ9r±=õ¡]Kú®ÛþkýÙ–4/'Û ¼«ýu»·<špn¿³þ ð[rØ…îqfw(´ø(Ï졵× b¿[vÐÀÜx¬¼ëê3®r:)§æ(Gë3_ÔÓ x;&ÓRz«& ÅÒRÞL£;”±|”4êëýlv9ýFn»’[Ïé¶ÖÞŒ¾çñî‹<=[¡.§|“†yçlöŸ|_Ùˆ5r,bgü¿™:à ôú _\«+)=æ0Åóɉ˜~8‹` oÕºAzøòC•h¼ú²×ÁvAße9ƒ7@3vmJålƉ /£›Òw1À·ƒV¼`éW¸réÒÛù8½gå+Øò°ÀÆ»@UFéµïË9ŠÿêªÙä\Dù€BíîM €Á®jñ¸P°x¶sW-T7šQ|rGO®73Jõ¡ýÐÔC=îç,­Pê"_¼×Þ¹‹Œ)Ü¡N£Õíð NPÔa™ÞYÓ*«Ú{¸¤,ÅüÐ=äªö 餽c&ùÄ_†´÷7¸~QN[úìiº›‰ôé=0̓hzoö¹C ÖÉ>…Uÿ‹¸è=2Ç` Oë³Æ°Ø˜#л…ׂóÕñXÏÃCŽ5ü1ò@¼3SxMy(Sk–<õ Í%;]L±wSûiOá]‡ ì‹a ;T~ˆ,¡·îÛðƒÕ:•ûòG÷¦OyyIÖŠNô7xX¥éÜ.«jÆJpÚ¶ŸÂoÚ³†ö*j%7å»>,XíÀ*Ú›ëp±KE¦UÑN{¡gæffTiËCÞ×}Øñ¹·k ÙœçZKwY˸X .xTÎ`_üýö­Ë¥>v´÷Š)ùúô÷¤¹ÖRWS4ퟸPí§Î'‡xßuÓzÌzfõ]²Ô pðÞa™{ó튞?D¾Ý«Ð}=nY¯zÆ%ïÓ\Õ¹½¼rt–Ï6«û»“Ï·Ó…\d—ÞÊà)rn~|eènª««çªš,.§nQÝYCvf>ÝU‡Ý`n:Œ”> ªYX 0øþà½öŠhnûkL¬hÚðûÑ<7$rX”Âá82†œ¶KÍ%F ãƈépí7FT=¸ÀL8Í3qîB7–«ÇpîUÌ-ƒ>ˆÝ¡Ç]Î B««i‡ô<7DocOÁV•»ò÷ÈÏy$Ú`u§uŸûWÑ^¹†«h Ä¥¿²÷³å&¯úÝ¢ë9àPh®Ž„Æn]5«gÌdtº»ã~$üX´ÿ.Ûº¼õ©¢Åtåþܾ4—dŒ¿[A¨ ¤ì¯ÕÜ 2ª\2àUUpìoýIòÔrÇï'c|/†¸CÿªG½…—ú>VwÃý¢·C©£„oÿÝ¡gc€¬ ¤[Èg+Y¬ý{Úa´I¨²àÂÚ|4ÛæVŒoË£wÇ©—ƒØ}<>8×ëï²ë™/ügY¯À2¸qnsƒJ ^²8óɨE‹Üµ æKƒHÙ\:GײÂG»ÊKñÊ¢Æ\úå’{ÙMÃÙ:€!ùÝW¾ÁŽ8_‹"lV(j’ þ ©ã8'·)—y¶’£s:šõ:ˆ|þZäR[§‹ Wç¥,# –™B4[‹>Ûƒ±íÐ…îQ26ïXçl+Ýè¾À4•c2º~žÊÀW¶)FøÉ}X7OÛKdU½™ÆÇ¼tŒ¥´½ûréÞÊÄ!ýŸFW"Ü—˜yïê{ÀÂGÈò†¡;˜a榰ÍÓNƒ47fŸEO¾k#nË.ýl ia#BUⵌ¿Ö™>û©«³§·â~]žø×"Í„0˜ˆ)™Æjhl¢5$cØ{¯0fCBøÍ7¸xuâÔg·¿i«J}- ê”3»còŒ$µ ö).D*öNÙüúnœwXoVp“àêÀÔcÓ"Éáol—…bU×ÕÒûðÞº[~Y¼wØåò7Þ»;ïí;’>?ï5Ÿ`]zçíù7ç=¤Sö‘9o€_ÎÛ_ö œwp¡ý3^ÿüÏ7ßÿùOïß½ùúõíwÿ{<–S‘–1+<ÎA¦eEŒmƒ„Mo#KÞ—=Ra…c‘dIrƒÅasˆ Fa˜º{Ü¡±íãdwÑSw»í,À[¸BWj«îäìºèîpÃöEqjM`g‘_ á¹^gkºÍÒ\J½À*>˜°²ÏVFó•ºÔd¡=oðq, ¦ùUÕ¯œ¯Rղ奔ðsQ+>2“´ƒÔn-0(޼re½kÔ4꥞0 •~j]UwתO(¤]¥¬õÖÛ…]*1Þb¯úòû µç Þ ·Íй  7ä¹"Ü$iau¦EÚƒŽ3!’¾Þã^Û«|è×ó”Áä ¥Êd‘sCH³TÛœ1-Wj\Ž”Œ ô±æ5Ô„åDƒ}ª–ÒLЂÁÿh z)µ^ýY{û0«˜ËL˜,N¥=”ÃÜ2“d¹£Ø¤iÐå¶ŠwèŠû(•-t®kZʉ»Vå±zê%tœÔcËõYÛ¯¹•ì÷ëê 1"]Èpà¾\÷…6ßÝŽ+—ÄM?{zó‡¥áfòÆ®çp¢Ó]ƒ÷™µy:4ð½ÂãÊã V‚y™}÷äJàÓü]îñ]U­º·±=Ó¼s›:\Üyý¸§Q½®âÔ»PYsÕÛà¡Ù.³G犽m²ÂÆyB¨I9Éxž 4¡‚Û¨FÝÊÞÞ¡1÷£[‚‘Vtß*²³ß8o_†m|?¸‡È±‡¥)OwaOeË^2§È®ÝAÄmpL°½Ã÷•¥qÉn·K´£œ×,ã$ÖÒ(¥…Ê(Æ>Y! ÞLfnu^wh ÿÅ×®EüoÇõK9®h îêÏq>™6Ñ\ë´ˆÓ4Ës›*£úœs8O·;Ÿ†ÓT¨œæJ™Øp)AÁyÍ3°B3F­IuÓùüöG4¿Ñ/눉ŠÞ§»ðáºÏm?M«+ø™#}¤C¬áÐE–eçB&ã…Há¬éDLÜêƒU`lÊòT¹ γ’Zƒ¡ jLñ%âïÝÕëI©>üv¿¨ƒìáæ>S¸»‡ ÝÂlá4ÖÔê8y‘¨XæÜ¦ÒÄ1XÕò  ®øà\]3¹ýiùçr˜ßNËç>-nO]€ ÕÇ–…ó1¬¦ª{±½/ê®V‹­JˆinMÊR£¬Ð9WI|+Y§SM%“’Ð"V”±XR+ 2-RmmÀE{c¸å躺Úß{wãjSècß t—;7¶’Þ¿UxùáÆ=TÐí"”á:¾õ=‹5t5“º> ­{uN»²öf9ü=50o/1\–Ûú¹˜‡V™TüÕ {Á:‡µÙåþv%¡…eR©Ø¤ Í OW"Ëcc É–òääöÒhËΆ|Ī«æVÜë4àŸ¸²þ]ÃI˜®œ» BWbvㆬ•\6ôu"ûÛúÚå 8ªZÐÌñbƒ¸§sȵkÀÚ;8mLÆ! {௃¾«l-0T±#CXÁôðêÅÔM[žk¸ji,†à€¸PìýVtú'” ŒÚÇ·ÔÛb8 d㱸({Ù£/å«ʺ™·±/^>—¯nÄÌŸ±¥Ëjhç¬M´ÁÔU06T׃Ó5€ñQ³®U¥Âái3é,SX±)ü òýjýØÈ¥N#[~OAî»–œ¾ÿ `¾µK¾Ej =~¥Úò|aù;T%`XÍ“Ò00]#4‹SNyÊ­%<—ëóÅp[àÍQ ]ÖR{Í—:•œgYL M øS%…Ñ4ƒx’nŸóÀÊáóRKKÒÌhCfZ¤6Óİ,Ë|A·Ïû.lƒÛc3Wgvæ4ÿ^À‡J°®W.¶Ku•ÆŽã6³Ôn”ÊŠŒjsš[NS§I–¦B‰>ˆ7i ÃCªÒ/cÀºŠ|K’û}3 Ì§§‘Äø¢Þáví”G{‰o[™"¹`9†ç˜{–1-­á‚§1ÄÚdme¸×—5!¼ ·<¡5†R.§™)ˆJLl²\&ã5Ú]ß,æÞU«L ûT;F…G³=ü7“ê’ù€Ðås¥Rª¨È²<¥q¢ ­-T¬r݇¯cÌK>Ü»†îïÚFA½^Úøæ;|DïÎ81èG œµ°xL:r‘`ˆF»2SW—×sÌö]¿Ì*j桨fø1šª;Xá«éè»ã†m­æ]¢ög‡-ð›8âYôd­.B9…U”sßCú:UÃ÷ÚìWû"Ž ¥0®ùÇ} °S^.Ò/30Ú6¯ÈÒªU2[jLm áÙÓcÄì0·q(]k£ª¾3h—ÓÛ ru¤ I,¤Ö®”á N]˜ Ê‰W7eŒ/zœïLÙ_ °v ãZc£‘Âæ„€)JÒ‚ |˃{w9ÿºÒ„­·Q4`o6_¿ûØÉбÊoÌôzƒ*8ìN¿]ýqÕ7&5«/<”ÜVѾ ýÜïECìù2|ÛÅN™sÚíjç¼â35î´ö¼oZE³×¶Úæ‰Ö*4åJZ¦òš¢ÐÀL–%Ç )í‡{Ò4!™ £Æs™dEš&2Ó<η,Û/Üsèr)Dª5É@ ±’ t–ØæE!•”‰-ÔúõÂÁ¤Y¬)ŒŒJØgM•RºÈLÆâ˜nŽLJ ¬ˆó”I›ëÜä2æ…±I PÎ¥¾]0é8á~‘Ž$wž¾0‡Ño®¢uWѲGèRw¥º·û…Zߌ“ÉÁ*É#*9ÞùÇ—ëv M‰Ž\äD"© ÁæL%Ë•IŒ´$}œgŒÙÜ[þÃÜx³á‚¨ýŒ²¢È©Åª+67„J5äÖ/^tÀ˜Ÿz[ˆ%¢»<^‚¢¤¬8©VÆBK`T1š%9½#9‚·o.ïƒ:t–Y™¹da2bEŽìUÓ ×Ya¹ÌâT3n„b`K°Œ8pZbÔcåO»oêú–Eˆ†ôå ¿{ðô7q:¯åÑ3á–%¬z{+í¥ìûM¿ÛÐ Ô©þ夜_G%ü¬Žä{6fÿÕ*çM2ž÷²HN°ºç¦È°Å°+Vš%0+Òˈ‰É?:8Z#æé‹ëÓž³×Û]h ¡ý6 ¦LY¯-Ô§Ô«f[å±?˜ñ65Ê4¨Kìù<ñ^ôè翹<òö%WµÚ\Võ5&­‰ó"Ôiÿ¢7l뾓+´ÛüEæÚì§Þ_ß·‰|Ò9n|¯¢öwávåÄ.;g³Û0ç¶[Q-£×J€î·ê]•fP2­­: ”Sï?8j >NNÙÓä–%ZK÷¾kjUÓ‡©z—ûuåø{ìjé…J>¯v>µgºc®Éå2µÕs’jÔ½ÿÐ9XËÚÂÉöæžÍîÍŽaÃRŸ˜³ó³È… û ämEЧ-bfUã0³×Ñ–D-RMÁÆå"Žó<‡*7 qÁmb žÀõ£í>Ý•[Ø ¾¢WfMü«ÿEÜ`¸ê8ÓÀÜáÇþÈ^.:SlÖžZßù¶­ÓÞVÓ•™:YÜieõ¸~ì …ªp™38P¡jOÂ2*µr¿CGÁÄû%5ªH$ƒÿ°ê„!6f”äöNæŽ]Û n^£5}P5·G…ÿ §jßV9[ÏjS‡¹}OJ‡ïµÓâܯ;Ëh8Êã<2›UÐ^(Í}«¡¡ªÊÃ9qL+'*í¯H¯RŠÞf€­8­æ›lÐ ÁXMBy5qöû\2~-lj‹Øp#d, ¦leŠóÔ¹JÀ 7ù@™\¥œà™nv \ØÄD§9—8µ´( +ó ¯râ,Q”­O ¨Ø2÷ž©jc>†ÇyÎ7ˆÆ¡³ä‹ô¬Ý…ßlp`7]~ŸFsñak}æ²Á–?~—ž &Wå:š.¦ó¡©×– ­ËC™yï`ÑF¡/¦©ï*j.DŸ‰¬0Ž7kÂÅVHŸ´ÙímùÀÅ7ô­/kžú åP Ó¥IŒ´—û,ÕŸ®&†ÔCÃ'7â [¦÷ö0\Æ»·|Àݺçô÷û]žâò€ÃŽ·ÞºàEܲõ§ƒ [½´˜þX¿ïãa/~+I¸áy*3›Ä™ ©çf(£‚›GÛjÇ2€TèTÊ”æ±ÊÕ¼H4£Xc‘)*I’…2€o–·Ã›Ê¦Âw¯asÎÑ‘üåñòC.`ï÷.eY¢UµÛ°ràZ–<©\ê`ˆ8_­+<¸áêdŠjSahÆâd…Ã%ãRË _סzdæµ6Œö1üÁÓØ94jÓ/2ŒÜÎÿyÆï—ræÝ²î­ã˺BŽc˹ ³¾’bÑwd\-ÂÆe&`÷‘& 9X„¦1ËDœHÎc™ˆ”rÐÛª÷/^”¾ØòßPL÷®¥ðf*ôNØVä0p߀Q=iÁnÕ4Øû꥞»âÌßMš (vôîñG!˜M2=90±½MN‚‰%µIʵU1å™’¢0)M ŽYî¶‹­Ú³p&@~rAsU(Êc&™0œX2T3XåAE€ûÛ@\'9+’4)R¡ •(#0žØ¶cï½Ã“ç`³lJ0ªš cri Mr"r ÕJUÊSu/ïØÓa[\ODNgB&´“L ’Q+I®H^0&oˆ Û«ôðhpâãT~ÆPÀ±Ý†Yþ&­?ƒ´ÞO»ÝéÿÇ®†~°ÊöÑ\ͪzÞ ² ì?¢Ë¿³è]Wb~¤D}¿¥Yó¡Kk[óŸÃ.¼]9àÁoÚPƒ•)ÙFt{Ãu9k@H/émy-ëý.«²ÎÍy’Ê­ÍsžrL#¢–K*!‚kâGäæŠÄEJ€‘Ò¬ˆ“Ì:ž¤uV€øcFß 7—Jrä°I,Yalf –9Rj¢•PÉ‘¸9h@9hMDПl¦„&V&R‰Ä_–Óõ»‡R"í±5ëZ».,ŸøpÕ×6ë9讯߰çsoÄþDÔÙ£ïÐÕóú{©ùÛ˜{ê5ô›ºrCU²eñO¯ß:—\Õæ+ãSù}ðÎ ïÝZ{ûÚ d|én^»JG.±ú×´ŒZiè…V„ñ"€¹¬ËU¨|îãÿXh…¸B¥áVELgl¡çðœuÄ_9Å“êYŒƒ¹{®wb(•nâ®ÑÈ 51úÄ{ý=\o­Ó twXÏ%`O€掭„ò©§Ë&Ìý{¸PqªWŒª_’¬ïDÅ›èÉx]ŸÖ[Ö‘Ö[7Žóâõ?úc?-‹QЍO’ÿÙÓetüà,¯Æqë*\àùNI®DÞ¹()hÝN,æ«Xº õÉ›.&“ÕÛ;Ç÷Ú¢nþÀ›ÒKƒp9WÕ‘“ø¦63ãñ¡ƒ½'4V™éºs`¸H¿„³›Ùö²Üî»ÄU9îÖH$ï<Ÿº¼.OKCã„è‹Þ?‚P‡—|Âñ†MúÅEÓµ;\›5 n|ݺ3®¥Œ¯T_‘CX ÑìM]„CxÑ“]nkŽë?‚HÚ+9š3,&’2Œ*ã±ÊRa³¤V’K\€6½“yLO»È·˜KsXÓ‚¦’[˜¶0½Z&{zÚm‘`ÖµV\%y" MaàœÈ„ÛDÄ‚ßÖÓP@’,ò"ÉbZ`}wE²D' Óy®è›‰S!„&”qøƒ&"ú(: t¸¬ö&ßÌ^MîišQc)XŒQ›,‘è“aÊÚBê Xnåû±°¿IÂuQ¨Ì •1C `aîìH¾ŸqÊþb|?ƒ#zÛxÉcZì.~ò 1´Û G¥/¨¢Y··×ri\?Ûì¢U;²Ð,þ, Ê%! áŒäœ²T'Ä+Ò;²ï;_¢s+åîf;há·:œë¼'šZ½¤Ý¸?xEÖyÃvUS=ž€šÑ*‡OC½ü8Pÿ–{<®í¡”¼K×~<íÝIt(zœÚÈÞûs,]„'<¦”Q¥Mj –ˆDŠ˜hi³\%‡ê"œ’Cõ“$V…$Œ›¥¹%¼È²Lñü¶ºH[RfiRUKèH¾<¦8¢.’Zûb ÎSbD.IlLœX¬5$$ 5S ‹¨T[e—Fj Ê‘ "hÌr 6I(?ª.bRfÒ43°2çJ¶©ˆ š[úP~$]d¼¨Å£‹lªÇñ[˜{Ô^î(A±_fC‘†¿7«UÐ*TC@À·ŽAëü~.ðw&\ÿ.ÒEiã X½PóªvEê0`.d8·Ž0lÑ7ðqu%†‘W´WA_O©9­Èùâ|ñÍ—ím5‹•š<«È[õJµ Ñ¥ø`¢ äÞ¯ ñ,Œ½a§ßø½Ã­î»S¯P†Ý%‚?ùO6ÌñÔ•vÈ1€±ÃAW{ÂÍ„ÉH@úR ÕÏëÉ*À~Åþƾ۔MßWYXÔøÚRFxO1":‡z:è¬FÔ06Ó'/¯j.3ŽÛâPî8öwУ~ØÍËxu¥õÅ|ç–»v¬Â˜ÈR£[ï`\áç€\ §M<ÍW°Z:OOÇKÜûTŽÝóD|6HÓÏq+ÀÃùt¿¼š¨¼HÒ,¶±¥‚ E®,¥èµIm âæ|ПŽQ…iÇ 7V‡:L¥è ò›^±Q¯¸¡”ã$[Py-3P·ýf)ùÂÕó9÷dc¤§äß¹’“5µ“àƒ™†ˆAgùû‹ ÀÈï<Ë'íEÃ+Þ}cÿ$^µÅrÃ:æµ ,¾ï¬@ÌÜ5¸m}øEÓ% ޱ㠤œ »0i[0–;–™’Rkp†Sj i²XâK*.ƒ:ùûêÑÕ—ùÜñq{Ë“Ú]ÿwlôè·ÙR$ ^Õœönº¿ý`¨õR á—ËK䩹ò3ý[)5ó¶~ÈjõL×ó16óéì‘þ×ãË7ºÑ.A>OÑŸñN‚“nÐX7wZº#¶xwÝsœT`yº0}æEì˜äi8×Ò$1×,ƈK )ò<&$g‰ *äp®—Á-޻̢¯Åbº!îO’<ìt°;2p`ëü‘–§éõø H>¥iS ×AXW-n±+Ì+¥Ô(©zd)>ßã³­»?¥n^«/U{=嫦U¯_øæ#®ª™ór™“ºä㠿ݸUo(ægºÆÕ#w¡‹ÍÈyØÆB£ç·}ãBÉ'((ífuØÀ8ñ)T[Ê* ”¯—?((óA%(…Œ¿´$&>Ã'a¢§„oàLȶ;ßCé{BN>茩õ‚Šê+_öÑþäææÆ2!ƒû‚ï¡Ã›ù> ÊõÎ=”·Øê1ìŽxʬþSÐ#^ódRCßj¦*·¢âÓ‹þ3¡YÑÑÑfãyÐÑ«Tß|åPDÑŠ¸!Rk)n„@º»»9]"Éù×××ÿ°ðy_5ìÒ¨766~÷îr¸²E4íL£ÃFNNNM ??”´{QQQUe¥ÛÕ¹¨¨oBBBaaaLÌx­4§³£ÃÒÒR::j†‰ƒÃÍÃãlgçvº›¤úÜ¢ö*xss3°ó§ï"ƒyÙXZú589ivÙ§¨î,-ñ07k‚–jó>HU!¤#Ä:Û_¤$#ÛÝښɓ#]÷hÆÀ£ptq©¯­ÅÁÅM{c·œÂkã}¾¬ä˜»¹¹Ü×ÔÔ4¨üXÇlB.(Ø2??ÿ¹30àÛ7ixS™õ½›¸0ÊàdûB]]= `ÖÑ!ÆÉÉÙöìÄBB_¿Íf±Z®oJ’«þ^^ÞÙÞ~ exè7¼¡B—–fmcÃŽòÛ Òß¿óúòŒ)´ª®ÎDÏE€"r«´ @ZT#z‡ðéSÍ¥ã¨ëµ»6—C]õñš:FG;°`ß¿Oô«''#cÓm¢uaÍ**.󧦦îlGÍì@ËÙÙØØ˜˜ž„H ‰ºººÖ˜O¾¿xýzthhha!mï%C÷Òhñ( ¡£ZySÓƒßJ0t+=‘G555 QNNN~üø12¢è>ú”™ˆ]Ïso¾1444_!}(M¢$¨¡®žœ”495å}<Èûae{²¸¼ÞnåO³Æk¶T¤^å pmUuuþ‡¤±ƒ²‡~ÓÍnff[8¤ó0X.™t=Ê]"f¿ ׂ8ïǃƒƒ 8ÍÎðÙJÃî±°wdÖ°¦Œ *lì0¥ìw2ò;ýtnvŸü¨xlvwv,LMMú»JV––>›™™ŒA\lšŒçê¬%gffÜ\]ÏÏÏ{àšÖh¢SSuVs§óÂ7çÙô8[D_sn|”ñEÞwýþ††ÆeNË®×ü¸’‰©w`àƒ¤ÚäÄÄ@*ÿY?{›£££ê([òwÚÞÍÍ/:ÏUóÿ&ÿÉëèìT›–‰öòDòì$#”|_›Þ/Ï­X”v¯w”=}©ü3.û­,¿v·7íÏI\5ÝTÆEÑDcãûÚ.îå[‚¨f ôZÜ;åmUº\¡47Çé¢i¡%[Ù¾>A:ººV––Óe÷'0àCË1ÒP¶kó¦¬ÐÅÝ䀢HèÌ;ù~ex|°²l]¡‹RE!òÀÜü&fý7±JEÆÐÈá¢Ò®Ü@_c`ÙZëG==¹E6öry…[˜;ÊÝJ\N6q„n÷‰‰Ó(øÍÈ>=ƒôöõ§µô_IÄJÓ 9¬³óP~} ¡{/ßÊNxcá§ÇH˜›3oZLrè(i‚ÿ»M¾€A††-¦Ôå¡‘àWû§Dñ¦F„a]Ñá4Oâ¢+ ~–ýcÚØDWí½3¦PÙÍÙ7î(_ÀàÆ¡a…o’(E%ŠÉWWËÄ•?ϯã’Âm¯Õî=¾³BV¾ÕÆÒ²ý*¿œ}J,]—“s5äž‘m çDQK¾%ö£r†_|ƒ‹¡´R ˆ`Pýï1úþŸÃùÿÁ¥ wÔqÒcªïc 5é¢HsG,bÉ]“““þÂ_f4J‡fM—݉HLLüú¥®ø ‘ÐâOª‡Q‰à::>¾ÙÅÅô»ë€¸´´´Hæè6k~ùcTëÞgÄXÿolQù믨Hþ3U‹ýíÛ·ììår)<ãù ”¯ Ъ¹¹ù—뵘OMžlK…“H^ùä`¡Ý×Öž¾m¶€–9f #£æTKŠ‘Ž/¸>Žp°NJJò8Û»Þ..orÚ9,¶ßv»ÐÑ‘¥ßæ}’ƒ¸ø ױ̊Šrœ"@‹ŠW×Öö8Zí 'åÝ[hI‰ë‹ªËOì¼'zþü9!á+"V­“=˜ÇárW.¹Ñ @B¤$$uP6..U{q€ñ¯ ÿ4{"•E7üúpõÄ2©pprÚÀš¸ ÿ½fd}Â×'1ˆ‡˜XG³Û1õ<£¦ Z[ÛƒúEofü¬ìlbv½+0/ó‚,-~ן?lZ5›ùéÞÑÚ˜›÷–P ÁYîÐç®"TçýñâÙtµ | jüλ®È£\EÆÕCW4Ñdn‹þxVñÀGÔi}#¶'ÑDìš"ÖXµjÜŽ& UHõòý Z¼¯ÝÍÍ·}n/õý¨¤£fóåS‹ÊË÷××A\ûçõ ÎVâuö..¦Sh䀠àS€¢ù]öðèûèœ,뇮 Vä\ %»ºº4µµß×îìì ‰Þ.}¶ëZF·ÓßâXúêœÂç´ ÈÃz¡H·©Òtï 3v'Y@YÍÕÁÿ„“‚±Iy,¿¨ÿ£ÿˆe€•QŽ¿qXèéé)((ØÏgt?  ),(Žˆ01‰™­µpYê’¨ €Ñd¤k³÷u5do±ív(•±ÅCCQ±° :ÑüA)‰¦-úÔß°üâîL5KöööŒ¡Z­žÈ¯÷P7%уé0ñð†{{Í@Ç 9EýäUxÿ^»æËh‘Z1Úý_ç‡+I§À/É@>>jjŽö„ðäúl±ûÏç)+(Ç•,É0ÀßU`21ô¯ç../1ÐÑÕUUGn‹~̦Ñ‰ŠŠj×[§¾6 é EâÊHÒ§J—m+g8¢xÂNúôHFóƒ%à0}fVÑ7±»÷ rÉ žÂŲQ<ƒr­£7—cì=ÄÂR6»%"h<*ƒMt •‹ÐD@Äc©Zó¿…F€F$¬ Œ“ƒ»¾)žŸ%HßÞ…HKKŠ>¾¸ÈIÒ¬^8 îú]ª­&èAr„ ŸÞž*ÝÞƒ!põ\h\ûÐÑ-o›Ib§eRÏxÝñȈ­ÅT‰ÙÀöªÇ¾WÇ)H‹èû~€Â:²²²Ä>+Åô<,aeyÖeÌ @Ïe.®2î«QÎ÷”8_]MÐê/½@šo\\}šž¶£¬´Ò¤]€´*‘FpWRÀGäí­Zp×SB:Ë“•{{g&¾*­Hz!šešë4Ý×¼õxg»If&&5ä!]C©f·×6YŠŒ77‹ BÈ¥”ŶtNÏsz?ªæ–KÏÛk ‡ct¯Ñúæf÷‹˜F¹PŒåê±üŒPºÔãoŠŒDa·nããYËt*”îi|n¥xc|´zƒx (½º‘ª5²šáƒ<*M€Fî@Ó ±ºhep)÷F¦)ÈÈfë-LEÿîáÕÕmxhi cµ§ãsçî–m~ˆ„ª\xAÞ;Úç'ÃýÅÄ~ÏzÜÿz\:SzOkmãÏ=•õÓÛ »¿³·>Ó…ò…‚E çã’œÀàs3„’?h?Û,ÆËÃÿ$¿Ê¬O£Ð§Í í3˜&xÖÐVQѼPúèÚåÙð!ÂiýªÀªÅ•ƒ©vOƒzÇ×b~~wu=C¤½ºŽGîãç­ãîC½LGˆk$d?ißWä•»cd‚ǽFÅ .,\븟9•.ä•¿€ƒôÔû8óÖa~çÂîñANõþ´Ò…ØiFÿÁ ‹­„õ¤¡a ¡aG!°ÇD0}xg¡æ‹ê ]Ïc¡u‹§§Yû23ï#ò‰†U©íªtwžÓtþð¥ºúŸ·(ieåçÏ|)Hy/´µH˜§ãi{¹-šåäpê,e¢®{ä qž,Ö}->?Ù/¸÷¥°£ãH<¨Ìû1jÓ&sl Â$|ó9šÝ¼»+Fæ&p´yùNbà5¯Mš—·7¨¾Ë³ÝFFÂÐ\¿Z9Òc›ÖçúÐÀÐ(Zärמ=ÝÆ ¦à“6\ò¦±Ü÷ÌÚsS¡¶Npó/Œ ®‡QF/Ò‡-Æÿ°PS3¿X‰JJúœÀVº¿—úõØV„yr*t(­…”8!)êpä÷ïöîüòôt‡H òÍ\ùy­†I%Z™Çh&á.Ÿ2<Æ×`tï#b4Â$ %ÝÝýÌÆÑKô…+{#i¸g[ãgøßN,~¤ýLâȽ-R[ §GåkûºÖ¿òpy?C&z®^a¶ÖIâwîôôÎúú»ñ|ÈPÒŠõçÌ"‹ u‘)ÿx$¼ÞÔÎ.)_+w_/:ÓÙ)¯«_¥¦VÁÌÌl89_ZRiiN~#Úf¡q1[Ëø,NôÝ;t\òÙ“™èd’Ì–kÐÐ$7©oB÷ýø¹ i„Ecañ1JÖ˜''5†.äddpqµz[XH y­ŸíŽåªÅ?( |K6‚;3àqf¢OQïu醊ÚòÝf†cfx8÷}‚z4ÕÚý›0b›ã£ÐHŠëAx'ýþįL]QÑ-¤ÜU@™gÁcyPÎüôï±[ÛmÚåîLŠÂÊcZ™×V¦›>qÙšF¼›sÞ»Z˜©va }ˆù\è“qlzº}rÒy}@´T;…RØÛ¡?~u®¾Zý»Žkk“rn› €k¸ºž9eúSRë?á¬ÚÉçHÄñ±ÃÍA'ÂúüÜ®µÑ-L½ôCо¸òXKF†x\\­Ø’pþàC´æ'/ÈÎöR'†l†Sˆ©‘/ ºJ–hq"«—ú,9ÖѦ7º€Y£5þr¥2QVîÚk›˜]h{4»óç[kಔ㠬ì* ®'’J l‚B®²²}^‘dœyAééýR”NÆ;†ØÝ=‚ˆ c_Ù´» DßIrz”•”l-xIÊ .B9?<ÏËCgÖˆHhô!pïf·†Íêòvj¶šá5u±•vØsN|«#—>‘0ªÑjÓõž(‹îXO?3WAqyùqO”|‰Ïí1d_>ãðùhÕ÷J6:Gšvý¸âeZC‰jdtE²ûÉ µ ~$åF~ŽgæyM¿Iß›ÈØžý.;‘ÛØsõõª°½¯N€9$ëê6íê2^hŒ¹¾¹dÍ—'ÿ»2^o¶(¥Ö´ºêQmrÍÎb©,"Ò{)*V ´¼ë…c°ò…°ýêöXк†B—–_45'{¢R¬,Y²³ˆú¼ 3uŒ'•” ÎpÙa°ŽÅ‘ƒV/þBÇÈv"#Á ™£ CCÿHáhaL2•p›ët…\Z¬£3ŒÕÍ­+ŒˆüßÄ͸BÐKcb`g8ÉS" ¡8äÄ)|“ îž~•Ñ7eçÌg‚qmVÚ}á¤ì::|èM‘ÏÇÅ'}LD Úq/&zcl4T'ܶiw$h*ÛnOýüƪM…yyx~X‚–@}™ËERR.Œè"šÕãLïc ßROÔƒÁ·‘•Þ—ðPJ é­ã™þ“»3Ö*ù¸¯8ÆÊ}8GÐ{Ü‹ww;å6 @ZÆÄ žl•­üALL—#-aÉøDñŽGF¯˜o'>š÷¹¾HïíÕçB6áÊ_!õ/OuìW‹DÚwζòÅgk 7Žõî6»1fT¼¼Rá»ÛÂNÑ’ÐòÛ·vË Ìꮃéû½²÷èèâÌSêÏŠÀÌλҗ;åc˜îì:or<ÎêÌËîÅ>ÔÄ{I‹2œîó@a´}:mo¥¡Ç9²±¡iÖüFÇVI Yñ9…Œ|NJbÀlv22Nlà¬ÊÜBS“ß%OÐõ`¶+÷Ø4‡œg ­ õ¾hcãFTHÙ^ÙÞ'¥^vÌÎ~ƒÉ~LjH@ÌÙ {ß ¯Ú\öæíAeçápqMVR|a1dŒÙ-ŒYXðªÙû ×÷nl¶_«LL”DÅpþ !òûd³¬7UmjsºßôîS ¾þL±ð23?õÆD¹[‰,•Û¶ ŸÅla ŽË­÷Pƒ0ÛÇWo¸ÍÕ^…ÃB<4}®ÕNûÙÀ8ªêê‚Þžå]aANp­áµ_å_ˆÖ'zŽŠ~ùC./ø"Ÿ-}ù”¡™/ÏòspsT{`0<‚âúCvÙÓ΋ß-%É$K‡+¼ ¿¹Ša@RzMp¿iÁlƒ`›û—åýp­lióf/×+~ŵH¬/Èyc¾‘{•Íe´¬úñƒnë•+À&¦3rò¹áÔ%8LJ!rØY— G/¬)§¶6¤­è'ߌíá¡fº7I£Ë~ÉkÃäs‚ª¢¼· {‹Ã3µÌ×ç‡)€ŸK=rLðh”û€i;¿X?ߟ`#õ}zÛh»EBâùÌf·°êKiV|:À lîvVêPqwkܯ `ñÆk;çÅ›¯¶6sò«ÏÚrá¯^Û…úLgø‚Ù6}náóI§ 1ŃfÙõ&f9ç$·øŒ{¨=¶W¿azYZÖìNôj×ï­Þ\' ýÔû¡/ú9ÕD~¾?‹½ðt\¡djˆ¾Ôgò*Š›_?ù’Òn‚|}Ûç ‘ååÕÕ¦uÞÔ‚ò©M;A”Wyòä=ά8¹½wKï]€œ‰‰‰©_žÆ;¬7($qˆl‹Ùd€£z8” \„DÒuÙ8:\l¤çWë¾ñåD @ð»wz!ß›?(}kói ÀưøÛ+OX5c×o oñ¾:dPÀ¢íäøh[s?rÚ.ðã‡h–ÃCl²ò7bae‹"Ù {âbAß¾ì1ÇÆŠ67÷>xç9N0æ~<ÛƒEÁ³ïWéˤñ™“=I  ­§m×Ï3ôZj8¬7C. ø£›€8¸×ÙBËNJJˆr’Ý©vœ‚W cÐD¿“Bc<î¾N:ìåÙ!.Þ͸³‘ûQTaàõLQÓ\-×orI«¾¥_þóAåtô CÃìvÎÞ‹ÃÃÆWçzóüNUK¡aÌ8sFsÛ#™H­ëÞjž»8ø¯,³jm*$O¿‘s¡ÇŸD×6ŽÎ—wÞ6‚ïììÂaù€ç-¡]­nÇ4›õ¬ÚUž½Ëëãc ˆÄJJêÎAÎ Bœ¶];à1áV¥ù;ƒØó{žoW¿Â<;¨0„­,€¯”gïNG|^ÈÕEE…½Ž+'ìq—(Fº–ðÚ°n i¥Õ>—x®–1¦Na¾ßÀ›<`§)îѱÃ/ik\#AbiàY›E뱜 ¿÷EûA“I.È7ðû÷+!ï×Ý­í½á`.<ŠÕ½E&žÿÓ¦¤¤ÑïÏ˪M!šZËP¥äûšå]¶ÛF†¬úÄ”>/˜¶ÂäSKfÊ$‘o8íØwSÆP1Øn÷}ŠŠ-„oö›ÝÒêêΧ í~ f¥ EI ˜ÇÆ€DÍ7åÕáÒ©\é¶aÓqýt¶—¬1‚©-ÜØ6_ !àíìô85ÙT¼lqÁi£ùñNtÊ"fÑgXÐ~UË`ÞÜl@œ0äíͦ§'hwØ3ÄF&ä9>])Èkƒû B4¹¼ð»…ð"Úpͦ‰‘û”ÁÏV8j•õªo<: 50ä¤ìÛ™vëø&tÎkÙ ÔmsK}\ôçÛêoÇú“KÛÀ$ˆ‹>|&&êÇɺÒ.à ?·4Þm”@u@Ô·w°==_®:·t!cÃ?‘:RBÀW¯®¢ý1|`³,iZ¬‡›Â>­ Aì­0²÷pq¥ ÄŽÏX¾||œÎó1êvn‹!..X÷~\h¥d·&'Ó¡«`¸ÖDШι¢ì¬2øBjZÊ¥5ðMFÆg¯ËÖag¥äšå¢´ ©» Yí}ãTÕˆ…%„·øÆ6>”Ê9]& {#lÇ–Ö·X¿+ ÝÿIáþsš8A%¦úššNb‹ùòZZ$g‡Ç{£Ù¨sNf‚¡Yyrs׫2¢²}Ä|ob´••ßü^Ç%o¸ðÆ)öüœøù܉ð¾æ0M¦âÏxz€AA©­B­ddç\Ÿ3Xáùy—×…£„Èy¾ aßñÍê}ü÷‘lìzÍÀ;Q/4ÜOK×o“ C¯·*†´Eø•˜Þ“OUõÅ-$´ÄGêð]Ѓcªäm?p„¬l‘÷\å xy›,ÇÍÛ¥@ Wébÿ@l¿l„«~söÒ}¶7[Ë=çd§hfv§›ø+øì|#Òë$”&æŸ4ñ€E[uGÔh×ëm¯—gSí¨EP>‰€2º¿qRÆ!b9_ë‹ËßòB.x4¥X?ÒMkHèÒQ†_Ÿi%s™­ñå³Lqœ Ðm´(5³us¿¿ð<9yªùL¯Ëc_í!šQòêx—lzu°\§Ÿˆ(ï·»jfQ¨Ï± )?DŒ¹X¶ÎÅÃS—$xŽD2åâ7ʾGìÃ<†Gà Í·OÇŒ…ÝÃÉ“ŒÝólë\÷[ìµç²Löt9qÈÞ ›îÉÞFµÙ¯õMkLjãw;í~ËWЋ¤x`5_Izbgg7333¸EÍÏÏÏÆ&¯‰(ÎÌ,°Y„šc_h”ë1­%þîêjqG!¯{ŒÍµÆëmÒÐÑ[ª"ô ¥òBdàA”D§[ÇM^—Ñëûº¨º-îjÛºŸ*Bèž\ WgøÆró‡,Q3ÑÓÓS‰¼…NkVnSn#’pG{—‡6ãC¿}±JŽò•Mäßönòí4Ëù­GR¥°2°UCÕ Òå†/zz¤©^^^üüT \i6>ÏóŠììl__ßÒR+ 4˜t4­L4::úõ¢¿¯/‹TEEE&úƒ¼¼µØ½Aa¬hÁŠÄæ²ÆØsRŠP<’ñÒêêcÄ”ñ˜ëxK±ÏW­S|| [Šq¥ç%=’#A²€£Àçq÷ÊÝŽ‰524tØ›oŒŽŽž˜P%%Má4zÆç¸ùãçOuõÓÕÞ˜$NÓ1øI+€Ó:ЀÜÝs:ŒQ²stüÉcE2^m)ãdvžŒ³•‰lávÛ¯âU­ïÞÜÜ\?yLNûA£Æ+@¶W×Ôä~y ¨gÙQ‡0ÿûÚ¬goÛË9ÖéÓä«ÙIÏ“ Ž[Uã„©ÚVe{žÞ”DÄÞÞÞááá̰;¢±±ñuX¥0SÅQS3)* ôUkkkñññ€Y9yyÙ™™ Õ±ÿåþés˜ëɦ*ª¿|*|¦:èâÌÅk òùógZŽëÿu£–¶‰ŽŸßcºâ3pò½² ôSEÅ¿kkÆææÛ««ŽðYî¦C ÿ‡††þüù“™™9@o¥}hŸ­]__c…„„8®T›ëèèäð$h+èzÉ_ODDTª]/ä~²™ÌmÁÂÊ:Wkárq²åžÎ!®YžµTi»Ôá7VL.äéúËïA4i.~o.XT``à‰Uc·úáÁ—›×…âiä¹d‹"Т<{srsAz‡Hи+©©Å…‡®tG¦ ûì--}60XÞÚòÒ&nFA¡t¾{¹Ü…=³0Íç¾M–„à飠kÄ(úÔÕHë2ò2£¦¤¾ªê% ‹Ñ°SKK«O—!]T\œÔö ‚Œ×šLR ø]Ðö/Jõl_sXXX»¾÷•kÞð÷ïß“““‰Ùõ’8¥ªÄ×?}ú$*ê»J!I£äîî^o Û„,,,¼O`cegOx)sÊcu´ÚûäÉ55µ|…t¼°7λóL-ðÑycããÿüþ |g}rt Ó9 \én`hTëæ¡¡!|wׯ¥Ö¸%4PJNnp$S\EYyll,ðÑseq2®þß¼õó(›”ö*Õ’}>lOþ0•bˆ/ºÌ”i5À¥úP¿ƒ¸ôÅ2Jº¹¹±ê·674¼íÆÜœvo£¿æ=nÓ{¼OºRµ Ù´õ’{™*dX¯vVÙ¢Y’©zy]·z]êµy§f§P=ÇÓÝð>7''6!AØíÈhªDSÙ'ã )¯õOAз6‚÷97>¸ù99ö¸¦ Ín‘‚E……žÈªÚZnØ“?6ß;Y[Y¥¦¥é)+ã“‘ °Ö­ÎRSRòAu²ch2ŸÓöD¡ 6–^«ç[0Q“Ý@âë[ä°¬¬¬zÉÇ_wY!¶@iêŽäíøm Ý®×d!~yfѪ'Ù™]R2ðë×ÒîLµ’’R‹ÇYÞ­f§%£ËWïõÛ¼a¹ï‰Ýãþµ:ò‘ueïÙ“NN\\ÎJJXš$íQ8« êêê^¿~mll\¬QÏŸøTñøÒ}’\¤("á­C¬^°*ƒ=^êò%3‡7„’’wܽòí°Ÿ½Mš-ôûw Ù ii^ÛÑóSÙR‘`’uëwïÐ1%{.-zë69¾æâr´µý$¤¥Ùâ^›”ôœz?f2888žU»ÎjÎy0™{ kww÷—?ÆÎÖÖkV€Ðטž€Lb™T°ò»ì‘ˆÛmŽfƒ¢$!%Åxð )1q$ܛ҅%”W”¿äÕ'tÕTÀºÃ4ù(ò9§É·  qÖJTñF‰ª9€Ôc†ÚÿðJ¬ýB‹¿Õã¨ý\²áÎìÏC³æa°îïÏ;çs…€~‰¿²<ýBŸ«çååÕ¯·&×–R°zQMn½{¯yg>å®v8ªÓgLÓqž½ÊhhhPÒ6«ÝÞÞ–KáÁ!á †‹‘H¥jÿ½:Pt˜âœ°ýT\\l:hw¶§; »ŸœöÄÊÙÓ]}wruu=楡•9Bz>[Ÿ#ÊøZ†ƒW«„ðÍíF‚“‘“«5½¨ÛœíQ›Ú!‘]OoG™÷·zMâ"H†‚¢È÷ïwÝ›Òx”땺÷¿^4{hürÆlÇ}»±¤ÔÎ)oÏÛ¼ÀÛͨ¸ìÒ:ìQ>’M ¶ú¶ÍûãY+++û¶å°$Ÿ”ë%)ŽVÊŒ»»^LtôHO79½M/¯QqŒu=yøý&[ä¯>}5ÂN¿Ñâo Òë\Û ÝØHatÙ5çðð¸TÊ~ç´9’Ù+KHLÌ\I‹ûŠ“³º¾þììÌÆDøl1¿µKŒ¹夗&Ó‘Ø‘çDó8˜R¨fh˜÷Iˆô‹l­ÜfóX§“W¹ÓÓÓÈÞØþm÷ý€]Øo:ŠKÞtÇ8æ"V’gV”"û•?agkOw¶)…®FË{uåÒ[¸÷"¥~Ðn­MZüº?L!˜|3uoBÆec']øvç—¿ŽÕò2ÇLÙ: šÃõAS†Óër˜2Ñ×—>#?3 ¶1=…¨‰Th¢ÎW{µ³ß¸¹ßØü+*Ò2ž|ô2 ¢ésò%/"’*XøÆ5\ዯÇÑq˜——ÏB&Kž,Õ_7wg “tݦš£³ýü|ª‡b´øh‡çv ú]§{-æ×*û±Š¼{&^ª6µµ~Th÷oWxgØ0D’ÆÆnNæmWþ`WžïËÌÎjE¥Ì î»ÍTF·yÉ)}ûøá)±ÆÞlÜBÛm½¯ïe¹þm5Òã^îøhIП ùÁ­¬„¡†å;GDítµµY6­!éDp9ÃsPþU‡CLÈõA_ŸoǬ¶–Æ÷«”’ÑÆÐ>“±~KS"‚&ê OuÝiz½Àý{ÂÔÔa]Ñ(Éûó‹‚‚> N;t‚1l]0˜¼&U —^•m:;ƒ ÚýÖ• Rë¼ÇâŸùt., iO‰âeêdeKq®µŠ¡Ôt”én¥{VÕ—”ÈÚ/R† _ô¨‡@R8»a}}‰´·¼‚‚ÞÝSxCÜcË­"LޝwVVl¢á5,CõÓ+”ñDŽ‘ç'wûœY ¯rk­­òæež¢¢Š~Ù|Ö«»µuÈ¢õ!ilqlìcÿ}ãÑÆ’òÂ'ô´óøX¹‹Øh͆ÝÖÊø"ǵæÆýì¾g/F„ú;…HaÏÿ±³gGÊUòãOðê**ÙL*è%ú>@¼Él]ú­7– ÿãa&Ö9 …´f5]ØïòHÔ/~v+î&F,ûc¹O©oçã‘ä|«fÍ=@6Œ¼&”X ÂnsGôÖ˜AÞ¿/V­ÔÿrÖtª)#3 Ÿ»ý)å³Ö7Néó!"B¯§æÙ³‡ˆË¯ác(ÉÅuê\¾¾Ï?™ôÝ€âN¿­u=|ÅM|ÜMYžÿaf²(næ—ÿ±êI:‰d}•^_A=hˆéx]°çPý 7uÞ•~/Ó1U÷t®ö1šh³'ÒùhU× ò¼'êÁ~Ûb4ÜÞ1Õzp Åvr0…½³sØ ¹öÓ݊Ϲ&"RßÒÀ`s… â=}®&^¢¨ÈÜßï-¿Kšðb \ë&Wy<[JØëö:žÒ犳,䛑àש¹†Ãh—ðÍMMf%NÎìÍÍt§T.³ ä1Þ4›” Àôš¹Éb¸ìíÅŽ9¿Vµn˜çÅ…_*¿éùùI·%›@ÑÛ6V\”Ù¬æf>ÚÕ`6DY©Fã)d³òÎ;Œ(ÝÛý•p›Äøz²ã½* ‘0¯3Xáòr_E…Œ=»¶’t´NãX±é±Z1þÍE±eW¨¥FŽ6hjg_²Â#ƒƒûSx1jÌ ‡œYqž>Û´¶¶®q4SÕÔœ¼@p ¢—‰M¡~É]^Í}Ÿý.Üþ'W¡ð\-WDzzX€dò؇‰‘q¦Õ+Ð÷ž²4ùÁ ËWu­êu §ÚȾç [S žËÇ/7ký‘ù ‹ºêôZß2{ÜQàë°‚‹¨Ï|Sís0äh»¯.>¾…0ÛÁÙâÍ©•æ5©È1ðÑ%%$T¿ÛÍ qtº×éÌ:8Vª=·ÒMÜæ¡qxØ-¼¶Þj!‹f&=eŽP"D\Ÿi½õx‘k(µóí•—ׯo˜siB¬Ÿ dlwÅ0XÓÑYMÿµ1îŠJ¿È.Ïþdh¸µV‹ø¾a™Ð© ¬+URT¼@@í@)¼x÷¦J7ŒcªdëT‹óp:*-b[ó.ÈëXþŒ(ÚÀšB,‰³î§ Jz•9̾+h·L4·fûxÈòÁne%TEyOJ’p¤„(îï±[ R[«îüd¼xvk\w¦,X„D‹Š!3Å&茑A9d~ÙÛÄFO„Ú|B@C„>È.rI¥t ëªÌ'Ñê,”0Öù°ž>å^ôÞñßad|r`œ\Àuíh­ûð0L»fÄBÄ}xìðš—W«â¯ˆ]W×¥T::o•¼GŸ 4¥¾`víú<Sú·Hl_”ÛÝxÿÖ¿\ã0ö¶ïL/_ÞžŒg?“ƒÐ’¬®&ÌÕåz"&?jÏ©[B³F…®7=ö“¼%UõôzgkhCv'PÁâ™þ 3zŸ^ÍÕ~¹çãsÁ‡ÕFH¬ñ-@î°?açè½BRÞ4·ë¦ónJ†s}.ûœ•Lñã˜è½Á¤ã6 ^êúGïF ·ElëBÆÚnÜ-‚™ått­ ‰aÍHƒí ]::5Ë„ìF`ã.3{9.æÛå=k^‡uª:‹Q!AwÇ7n«ˆ›}+$² \˜ywáåDeA Óaú]n¼0ÆÉóÊ€"òç+ê+äq@·Jøw»''ZÉÉÛósŒúúú¡Ùž^^3BMrFæJaDò–¢Ñž“—¶ ß45²‚ç—²gpß>Ï”I"ÀÇç°ý+¢NïAT­ûõÂr¦*ޝjÑþõÞûx–Ï,«§gÄzO{Õ ZYŒ_|Û}›€Š{rv¦¡¾Ÿaf`h8Ã&ZkiiùêkÊÍ^?SQÍØDDbùz–59!+ÐøÑZ#Ùù¨*o•,ðWÞJr4"**ÊÙÙùââüÄÀ%û¡ãx~ðYJJ U[{.8øaS­L4-ΣGˆ„¸¸Ü ¥×½¿ŠB}û—Ã|g¸õ~lg–¼.ÙæËuŽJKrÜTTQQyñâ…†´Sœ&è`g5û³•Ѱ½}ñëׯöö •|yÓÝLRcý§–¹øK‘Ø8DxZg£Ë~ZP†t|üx¡Åc€†—·¾‰§¤°p¦Þ4–°m+Ú‡‡Ë]eeeoß¾½¾<ÃÃÅçëS–ú „úÝ1…òãããýƒƒä<–¥¥ƒUoÁ| òžÇëƒxÂW¯\öæ›Ìã!Z¶¶JÙöniËܘ~¥¥^ˆmµŸ©ˆƒÏz¢^äò˜R¬®'''ƒæíúd\A%ïìvýÖù&'æV–YÛ>òNeÚ ¬ü|Ó«¬ìì-É-‰#_pr’”þDÊkýˆ”§¤,Îçöún'¡ò#ËLÁ§ŠJù÷édªÊ÷@\­[[jjN:°ÁD¹wNÁºPÍüsƒSùÿîI&'%õêÒΰÞ=ÎxáuyÚâ}Ý´üî"0 @RIé ¬-77wB¹p®··W^^\‚&z€ô4yД•Eƒ]XZRzÛhÉÙWùe¾¾¾¾¿Ð’íQVßÙ×'šõM,suýÃço¿YµÅ[¼dL( \õ˜œ½/¥ç'N…Ãá’4QYîöº|n…&—Xg¾œÂµ{Ýi5²ùcge÷>©dPc*²[ cG‡ƒµå¾O8Êx©#€‰‰i€çicìÑ÷’kèÂÿÉy–§¼<¿vgª¡åúú:::ÊÊ4ø!$U˜’J ö'ÔŠ2¨*y™™Ô¢=…ô·q4B.b›aí¸ß”»+g27—–îžymhhøý[‚ŸŸôÙMuk‡®'ôqqqö›0Èòx#É À§®¦¢¢ Øt0'wØvFã,O.eyyywwW½T‹Ûj–+oýO°9÷©MÏÿ͎؇úªkÆ»\­F{c™Þ£µþ–––­w`}&ëºGuµµNîîî22˜œsâ.]'wOˆÞäƒQœ¶'üüüØõåÓË¢WËxLo¯6„éèè˜ÕK¾¸ÙS’Pÿ=²ãnnŠÈgi.ÏW}¸†Ûõ¿n[í€IÂCB˜˜™µ[Ükçm×’ê¬æÞIIµ¹çm\¬Z‘Ú.›ÿ•'"ŽŸ¡7ïM´Já°~ÚìvL!讪¢â€<2¶°°hRÚÃÖ¬Rx"xS#¸Þœ­eD=ÿ÷½­<ÂñÒŸäÌ–9Â<¯ï¶‡¦Û“&&&'|Ñõ/hh´ê,g€ÜSÒBXB)^ÿ¶uÕÉwÁÌèR+I€ÏA§§ß02ö€ÚUáÉý2­VŽ,^òšr0¦Þ1ë#éTF}·§˜Ã؃y $¾Ðmì¼ü×ݨÔùC¥ Їéêê†ÿ®Uóeii)*9ùe½@—¿Ü='ÁÜÔa¿å’Å—6ÝG88 ÒÖZä¦Í4UüD|º´$ÙÕÕ%Ë$ QÕа™­1ɵ${ÓãÎdþ¬srr’Ód Áã¬lÛ9“Å|È=- ‰ñõNn¹Ù<#˜opFÇ#жwãønl·¯ñʈgyA}ÿܬ* 4ńɦ¼‘¤œ1øJ•ë^Ú±ñ² T”¢¯ÿá =¡$¹gü¥ˆÔµâþ­Ï†³º³ÓïŒù’˜8¿RÃ:naeöÖd{ÂÈiûä+–Må#ËœÄÄgDïï!6G2;Û}ç¿§0k”™šVëJ¦.¯Üôô`cÚ¹ßzÔYƇ‡Ë9¸˜Šîpõæ˜Pç·A‘Tä-!Qü`ÒÊ ¼^È2•ã²m»5–ÝÑÁq·CT†ÞºÉ$ lžXš®$½/*xy¹èÀJ]ÜM2 !ûÔÔ&Óøœ´ Ÿ Q?>X^±©Ð}ò?>ÉͽVÒÔ_$Â’ ©/.2ŸaÅtÄR|-‚B +WS눽d™Bå{ü¡4Woï™D–PäÚqo¶§& ¦ãcp}mtôžlªë ÂPÐêfçäÜès=P$S˜wu÷y©²¥ y…Û‹HKU7SÆô}¼XˆúoX^>! 3#S¼»X &S¨VužfX@Óˆc‹ÚhGä€| Ð ð#Ë­v•Áë¸D×÷ƒˆ¯C Ã+õöîÏÀªõì)éÝ_’íc¤çE]e¥oeåÒ]ÇZöÄñA™zýÝ“´æçY-‰ï7=ÜÿÿÅ1£ÿëKï×a£(ÆüW2}lL±Áô  ù\‰îGõ_gÖJïMDæ0†ÂIP&~ ³³±EtÝw@Zl®«ûÚEòÐ/8"âôìÌ´]Q¸¹ƒ|ygh‰~ç§–42Ñpü¯äÿYj##Ú7Ê2îθiåîhmmMM…ù¢bЃ:™mooŸšâ¡¡ñ³¾“—2¨¨þÞ× ç{nÎF*rÏH°½–Áç«·ñ˜Aί^òÑîtWÓdTCָ߫?¾££#''çû÷G&€§deeK={Ö£¼„‚¥„Òô z÷ª_˜œ‡ÁVVV’ Ýä†DäÂÞ:ÎëNªêê&FF´“=ŒŒŒGGÜÜNööMÎpØùj/©©©¡áÊȈâÿ¸ Xé ×ß&%MØ×tä›r ³Èc GGÇ–â{g½€Íó—áÎNÿÆ­-·ýA“¨”m]Ò©‰‰Ý¹úrízk§ÒÇddvË¿ym®:ñ6†ŒI¤ÂIâRRúW ËeKXYÁ‹5ÊÁÚÄÄĹ¥"Șjß~eÑyqÏ1 =Rô1ÂÛfjvö¢7†!>>þ–••u¶èÓÖÐðÑù‰Z2X²‹½ýl£C~u5'Œ±l>Sµ\¸5'@¡@‹ÿíóçÏ@³a;8»ì/hji¥ôèÆÐöá!..%S^>l ØÔÈ”ÞÁ§T2øPé9Wv”öˆˆb6O{Ài'»31­ð¿ÀÐ5j+ªéê¦&%É`xé®ŽÜfäÅ4UZà£ýÚ8î2°Ë¦ éðW?ž]Ÿ‚06>^]]=°>¾˜BZ¥AWhW1èÈ˲²–=T›[«ÿû±U1^ï“Q)° ¯€ÆSnÎÓÙÛÛ³±²Â*>‹¿ dÜ$ºKï$ÜæðÙÚãa@;”®³µ üïÙIÞÚ¯69í6gaayNB÷¶”˜É—*Øj®N‰ÐØÔtðÃÊŠxùñJ¤0===`ƺšš‰ß¿¿YÇBòt@ådeÍçêX¶ü @ú뎶#Ýeˆه>ÈÊrprªhꢉ>æææabb³ë©nE¼Ò/¯¶•3üÊTü™ýŸwKú5QdAù~z~c…cþùßW÷Ï T¾ÕÉbׯ_[jÜk¿o$¸ùd :Z…î샖»ó8ÿÝ)WÛÅÛ{¬ †"þÔ=A/Iy‰2±O~ÿt!wOšÅõÄ6çÖ.žd xyz§ÿ‚Ç‹4aU›køÇT2í_ñÿÜÎá#9øà¯þ5é=ÕÔØ§qå?Éjš½•g0#ù2ûãEeL½øÓmO‡Ïëvþ¡²Wi”¸º¿§·ê¼²s9×ç×i˜¿´¿o=‚œNë…\X“Fx5™DRÛÆtÊÀ?ÿñüyög;…áá»™ºÎ¾¯?^ŸÙ)p?ÍOqöüyûåðÝE=‹- û$¾˜%Ëú7—r~ý$<Îê³KõXé¼6Í“—o/Õ¤ÒÙ—Síù³‰‹ûCŽÉŸúÌëÞ#ózaµŸêð©,­g8ƒ8±ÀPO†SNŸ°¢²zI„8ì*Ò€I~õÕ·³—¯²I9[œËE&çp Ïl“éójb2;±þ»ð˜ÌÎàå§YöUÖ-: 9˜\ØÆ?8…Õ^ñS=·§§§~íß¾˜ 'b®§Ý޼çÕBÂr2Sɳ¹¼È\=ÏcÓ®p8HZÐ å4|ä‡þ¶º8Ëš¹Þ4Ùþ³Šïýç?á³óÓÙôìI¦ê9Lê»'èIvÙØ 9ƒÍ>Ö=|’É È“þÂXpÈÛé·²©¼ pÛ0•¹õïž;çVf͹ô²dÜŸ™ÖÆŠ'«bál¤3•&úîÉOr*ýÖÊlþ ›ÚTÆÂï?¿¾lõÅÛI½8Mëñ¢è„ÄåIèIžã“¢@~Y7ϯÍ#¬f8÷çðNÕ€À׋LÉÆÆ- ûy±Ù0 ~’S?‹ü$çùí³ ›gñCdæí'#AÕê_0vO|x?ÙöÈ4×ÍÂ^¬O–žp˜fQœäˆÝ>U¶aª ãÔħù_ë33syå¿ØNq}¹8a'9F'E Ø `£¥@]„gÓa¹°Ê×kfáoó¾dªàP¼üva`ÜI3“SØ øýú[¤eÛë"ÓÿÅÂøÿ›^ﮀŠßH…%Ñ9å¥Ñ\ZC4É5EBsà –Œ¤ItO½§þjݯ»:ƒiÍ«³søíCúTÀ“— ¦úS|óÚÓ¿ PõNÁ“—ºzb'›Yi)鶘õà© ž>!…ã–éR"ʱʲi^–>S•BïEŠjº8:5Æ'>¯¯^×—ÓE"„·ÈšE6B]ÀÓÄJgrÂÇ• #¦<çÂ>XzŒOÕåÅtw’B™RbbÀ|¹ Ç\®ŒäÝ‹$˵";¯çQPmó.èþkÕ,þ8Yü)3õ¥—.<[üi/«D–w‹¹]èóA8×s"jú”„Á¤re¡¹-a4‡a…RÉò ôסéÇè.Ä16%-œÑ ’ç¹ „r­ršSKÈË<ãïòÄÙ÷4v¬2“4ÕNdPZS:W˜g3ަDØáÂY’ [¼ëndð± lÁ]‘Ë2‡“ 纴¶ÈáSÌ¢h/|¨+stÙ:>sðê_¯Ë‘(fÐY䜓ö8ºðç1ÝÌ4¦"7ðb‹iA´E\PÇ^XºŸ`¹‚Ï|3Á¢ëú4²ÓF!–ýQ^Ìþé׌°T— (¼]ÜO°5J:ªrÆì~ÆÍ½p|æ@À_V$ó’Ýà„îÈk!E¨Z î³J) o[–—?\RÏ|©Ìh…$—X*Y`¥3F{…, ¥¤ämã3_žÔVæ·\6«>ÚÉ(m¤uXle ­E ¶Œ—¢`%·¤`—6ã3OœµaPé¸1¥) ËMYŠ0c87„0D`ö#L5_\ÊIv/_ÁåÌÈ…nçJƱÊMÁŒQrÇUR¼òøÌíÇ™œš÷õ’8S{õKºAD‚^/¯LjE¸t…1¥.$£…º0%h>¡ –{Z1÷A¬ñ™WÓÆÎ}äg@­7Û¸@¹åÉçFY®|<¼Ìµ6%g¢0zÏ Ï}e|æ‘,‘Gv§ŒÈalD„ƶ(Ῐ5Ï9Ô1ªøž·G7{uÆgCaÛ¼˜ Â1{g mÐv`?ZƒRˆí3=ž nC3£³ž Û‹úÃqM¹£Ei8âÌ óJ&U©Áõ¢©ýÌÛ£“c|Ö‘ŸG´aÎ e.™PTa\:„ l”Ì¥&ûúhÇ>¶ã³Ö+ç[º©Þ¿£'|î4³EÁK™+M)WÈÉÉXeˆcº}üà žô#ÿÛyÎg%Baà#ƒòENjêˆE,/ó=ûÏ¿X}¤Ðÿ$ã³÷i™;„ô4¨Éq4W™²dŽ“—j?Kê†Ü‘-Þò‹ö&§z $³ó_vHáÔ9Q–Æi œL§T8ž «}^Á!‰°Å»~’ó3°yö¤ÃE|z'*0du銲Ԙ•8ŠZ0åœbFh?ûFV}×!¨£^?íA ìåy^ Uä˜3È”ñ­ÕAYb‹wb¼~ûÍ7q-ï*c÷%м\ÔûPÄ‚pnAÒl¸à¬uMˆæÂ8tPŠlñ®@‘½ƒ‡ª݉ 0Nu)lN5ØáÑÜ‚§Î.œhMîìa‹wÝ™ ˸çnçk•+Ű&;°B±%…–˜bÂ2ê çcü]¡ÆêmþÏóúr¶´hzÞÁ¬i…mGÝ`nûƒf&µ…·yX–ppç,†CÎ`˲ô—ÌÊÛñÒÒ˜sß?òa–¾ØeÛÛfRœk!JZ¢‚ ™3o)V‚Ì9ä&mñ®À«‘ÍùWs‡"ÒIö­êÈá«ÕÜÊßBÁâ™ä.éÎ=NÙ1Ó™]­Ì [0c¹¥E!rpƒs#ˆÒÈ=0hh¶ŽO¾±‹¿/-·^òœÿ &ËÏVÌ:B‘Ê]á„ÀÒ€£í4°#+ W¥Ð›öã“Úwæ@òé³HüdNŽºé’˼”Jç ÇEN(ª’ùÜIÂÊýL„û¢Ôøä=¥V,Ê;Lkg¼p$3 ÞMûE¤rÂàr?§þ¾6>y Ø«¾µé©µjÅ}6J(j >ñViÎ AZ”1ÅJeKÎÙ~æÆ}j|òKΊ†X­ü‘§øiTVù{—’îE° ØX!ËʹfJ°‡([‘U£“ßD'轪Ìâ<^$[?™Ñä}bÅÁ àÈ‹ÂPÄŒbÔ:#ÚmÛNã“2ýãø Y¡ wàá¼Ô Ž©p¼Çì¡Ý(­HôÑÉo¢Ó^üDsf}!œjP •®kgŒ“.ÈÇ'ßÙK;øA~{žÂvö™ÿqôFÏiG ³R8¬q¡°?*7í{‚Ó^,Õ¸Ú/£±0TßÛfh¿­;Œ'yVÝC:`=\¿ øºø“ìçÈy%ÿ3aY|‡ ¶s ÐXZ` v3+,‘ Ë€-ˆÅ%=láéïò¾ãÞ—j 6¶©€ »•U–^|ÂrÊ…)˜sà®Ð"Ç*Gõž·x×Hˆc }Ѭî“;7fr܇Ùx‚›R8ªÊœΟ&{ÇÇ΀Ý÷»h9\}ĉ—ýŽviÕ{ã¶Xr¤åpZ[‡_%+-×¹Û–È0®1gø„)^ ýÒ§n ¿Ž¿k,๲wâÃIa—€µ£Z)¹Ö£EÁ‰3`^R†°È÷³…o¢Øø»î(Á@ˆWð©l¬Ù-r¤`BÂWÞ ¦×à«)g4"9/ q*UjpœÆ'VÉ?Z¹Þ%Ä×£™v d$3à`*óœƒf°æÎ-•t?›öH ŠŒO(²>ÖèÌϺÈʶD–lj,?îLd†s®Mi©FLײÔ9Ø·¬rª¼}öÀˆÜ%¿ÍÚGï^{Ì%¨y}î/ÍN.…cF)Ÿ†E™äˆ‰…6¹Õ¨ÈK¼/nÐÑI3>kiêÙ sõ@ù¯v2ªñ¥SŠ€Ï[–»;‘KgÀ$E!sþÐÂï­ºõÜN,(úOBS½Ce(\ 2¼ÀE‰˜u¥ÓÄ9†÷£é&ùrÜþÑU€Ä|gƒ†“• ÃWn“Õtßûè3Í­&ƹõB)½m!1¢4«³Œ œ _âæ°& lDzTw9”ÆÊÁè´œèˉ\Øå=æÍÜØŸ±,ñ•ô.²–aîr˜1|+¡MìV´ 7`|õecßÎmÓüð¡=?ÿä? €ñÿŒVFG¤v”ªâœf¦i™“Rh¢‰${b(Ý3µÆ¨õSýÁÞ‰XÖWÔk޹Ö6·T)A¬”œ–%3%A;hH¬ñEbý’4Û]è%¹G%œÁ×N6ÇZC‘Ò¶ön¨B÷E¯ñEz}ÔÈëI¥»ÍÀ¨¥87Ø™œK.< $§Ž)›çÚbµ§ƒ yÏ4_ÄÕ¹µ“>¡~í>Ø’P† Æ™òad°zI®°Íµ, Å‚w·{Îû"Ôø"äl6¹þÞ:y9YF–ªéÙŒá¶w¾õ>P?ž™>ˆ6æ,þ²-š)•Ö¹e°ƒ–2Bµ,ynAEñ‚0º§WtÏ_„Ç]?aG•oÉýÅGT;Q$Ï­`VÀÊ£ èø"–7¥o¦Uààÿmò»ÜÛ.‡ÕCÔRÎTéÀ–ˆ)0@Kb1Á’Ú»a*miðb8ë>UŸçºÔØPQ‚½-M4V¨(“ÁûÆó ÞŽ_å±£¶ã”‰Y0×`ìŸÕó[·ÑA}–„1‚48vD!!rd¥tZÝÍêHå… ¯@OªÙ/»––DpíË™0„ŸÇ § 0Æ )‘ÒKÐe|‘sn5†RrŽ4äÂ{’h×%ç„k¥” “¾ûŸC¾ó}…RxoÜr'̈¿·¡p™te!`âêŽXV÷Aîñ»Fð;ŒkPi!)+ &Bpì@YRÇ-Â{Öß¡Æ'^uJèm/…çµ.4÷p¶¹ËÌ\W\Pí0FD»bO™x¤Ÿxco7¥òÜ-?éè¹F£íZ!–Ο/ÔV¥'[¡|:¨Ø3ø>.eÇ'î¡0ÞׇÉHz6·3;•0 +C)6IJ!µV˜¨"G”`\îÙóå>ŽÁøÄƒÏv$g-yRk9éelN/Þ`‡ZJ²EN Éí`È(Éyj„K5Ø¡½¡û×¾­à¼2í…Ç-×÷_uwïm³¸ÖuŽ -ãÎñËïÃÖdßÛFÏ«Y´|áÃ>yöãBÁšƒ÷èi{ÓÍ^þÐþ dŒQ™ÌÒ}1»ªç~I®:» [ÞÞ$<ÿf›Ûµ°ØØî½ žerj²&¢©ï¸¾ýpìw\Ù€ðÏN×v\Ëi¦¬75×u¦ídÒd*¹ÛdvÅ,<Í|ºÀ\U“E¼7˜@åBŸ¹ffuå*ø`^_eõ‹e…¡Û.ÇãåèlÁÑ·³Ô/vq9šÜfÓ˰=uRô°ùË^½I°›I;Hc^À~ªfñòµÙ«ISÃûð9v£Ox?Ñf²Îj7ÅŒ7A}P<Ô[ð#e£ÖL¼WNÚ±…îÎl´EÃÇOÇF>>³ÊG›]àýXÊC­vþç@{‘Nï·/àÇ“ìfv»m‘aÄßìõ“—ãºý¦™¯ÕWo5y—œyøqÓ£c Ø8ß› ”--•Ûä;»ˆ§± °¬¬#Ø Ã}él÷w+1ï ÏëInn'Ò_%e> ¼étEÏ)<Í^ðªwoZ/¢è¿nàÇë¾ Uó,á…g\Ä?h^D샭¢A»"ž¬>ÎÇ ¶Ç®=¶AÆØüÞ!ij Ô™œ›‰mmûw£Û$ïW¶v×ð+þÁ©½§\{1?š0n²üØ2øNRï+0·»èߢuícýÍ]dÿhsÑý„kDÐÝ·½…bÓIE¢I”­}áÂB°+Œã1mŽkç~‘Ê_¤ò¤ò=Þ–Ü¡}ñÎRy‹~ØN*¯.ýž­ñ¹Œ~1ųeŠ·›òEâ‘ø_ìðÛ$þ¸vyøÿ‹>f„ûÓr |·øàaüEHï- wÄwú» ãñ¥‡'Œ)S÷l{Ϫvr¿’öLÎâ=/°¹¿ÉÏÔDNÁ³¸²vºÌ橳• ûHì‘z¶;ƒŽ¿äá1èrÍ¿{î ªôþYs¿ÔËݹ•ŽSšÂ°Ü”¡3†sCCËG›á³‰±c³ÐøÉg•å“*•’äóîR…OÁœ[ŸÞ˜²ÏáxDˆ5")Ãù™ÕM8?äã´¨ÿË0›çÅ2%×§b¦„Æj›LÀ]Ûªl´ëVbÞnk«uË ™@!=×[Éç0Çmwfk ÁÜçc‚'}v.ÌÖçkjëŇ_t5ÚÝ×´C‡Ã@\/«b:Cöz˜3՜חð{³×!·1$?€tóÏw‹92|ϼûÜNf1¹2º(+4nWáR2ÖQäé>m„Ôg–t‡-wóúbûÌÕœQ]–@&^JòÍ ò­Ý¤ %W+y·§óÖn0*Ç*7c ¦KîXÀÖ)4ø”‚2)«ØÞ‡”8û¡$"=dÙ½9 jEßk6”ƒË)ÅÀ£àò3ƒÀßÄ’ú² ¹Lòß'ä‡ÒRMJE´ Nøöœ0ì<ÚT7ø« ¹V³—oÚƒÝl¤ a X“£F(r$ç^®• `ÛSv‡#=¾šÇy¤ƒ—wƒTxµ§HØÛA ­Õ·ðO>;yÒ–©$ñª”:õ~V}WiHŸP²3üÈÛHÕ44ù¨ZuVÉßê`Rú2#?\µéñôp´)|}U|†Ùx«CµU@0ÍŒµ¶Æ%{jOÏN?Uªú³˜ÌÐÞ ³$ÈP$jí‹sdã3Øÿ§¾ _;så1_Úæ‹¾²«aÁ˜¯3 ¯çÞt}Ôr}ܸéÛ{¼@ë—e!À†å’‘Û<ÏowWXV”4V*Nk8YZ–†S/,¼‡„*ha€dwÑãKù¢5–Z#nëU^Yø*¼¡²¸UADoji‹†B«ª¥³ú&FnT%^ä­ª$Îóßíäâíúf *LíkscQáFEÉ+¯o`Úëo¸ËúÓLºÈææRkÛ4îr‡‹µ¡½':fïkŸÈY3(c= à˜E«GÖ;šè»^5m_qz)Ne)ÎD’Y©W#í4"N1”Ë;Hññ…« `ÁîâšKyí䤱_döýÉìû¶Ž h mr>!%VHX¸RZ0^–è;ÈÕq7åqÊÕeêÕì亵9Är§L±¬í²ƒ­¾œ7•Gtø}…Yd6ñx0mÈZ€¡'—R(Y†D —Q …OÂHÍ¥z¾2šHª¦zrÐjRD^~’-êzƒ°õ¡ÛEX¦õ¥‰¶v(ºoC6ImÔvš=ýŒsûQz±°“qwP¤€pµŠsu^éó캲0Êâûj#ø§ÏZ4»]ÑÜYÌJªha9yÆBéÜ• 9!î ãÆ•Çã”qSS’ür{Óí}$P• ¸ttÔuk©ø[÷5¥xŽRÂê”ÓÜ’[&ÁW9)8ø6ÜqE#ÖI…r…ïâ=•RZ\P–ƒ‡=,…”΢œLë„Ý Yá!œ€Ø³~å\,Ób=ìà—Ñ­o0ÚÜæ³½A—fOï#ãY«Eu ÌžFÀ«ëTnÊ8Ó#ä[¯gW?Ë®dÈyñˆ:0Ã)lÀäú$‹hª›åYÂ'̬ÝI ¾LÛ( cÔW6f­ä­, ˜§¯Òû†Ë®âÛ*†GÀùñ÷AUÈÒ›ÖÓçÿkçõ•óJçesâT™;N¹­ÌµtÜKФDn6žwT¹ÕD9 "P 6X²¹ï«)%¼óóTË<ú/‚j7A• /ˆ êP-×ÄTž;‹©ñòŒ ŇSiþ»Š©þ²oSÍ lýݰÎÏ‹¯›ìç_ß|ÿçÞ¿{óøçO¯þÏå—Q¦€u dÈü2§H3ùVq”ß]~Cv~ÂTö£æ™ü ¤ï†²tOÕÑGÀÛ”èRM%ÒÒóø¢v,ä%AÂ~ ¡…úêE G:¸»L`Áƒ4ŽÓìÍ %äÄí¿¿·êò,»›QžÉ3›{¨VCÑ›²BÀptöb=Ý…î¡Þ.øØ1ê]qšw¼XÜu¹»×]Œ/àŠÒM×vKz~‘…ÛLû Î}úÛÒÇ‚“ñʘfóýd‚“OPÑcz È¯\q‚•9·Ò\ÇPu{É-EWÍ›ööÒtW«s»Œî·/ôP-Ã÷¥«ÏJþ¤øëcÒK­ë¹GŸ\¯éªpc›ôP—»ãë[œþòJÔÛÚÕ)Ì«¯³äb”(™©ŒŸeKƒóöö5ñÞ‘µÅNPóGVGKqÙfà= ÕwWmãy`ªm¹A_TÛ6Ó¾3ÿ`~kï$¼zVôZ_Ž$8Z±¸4²”LÛýsÎ42ZIe¨ï„dd!„E„PŠã{å·{”«Á¨çÀºß#<µW¿tx-ï(Ãô_÷Ñ‘þ!løàž µ`YlÚ˜åµç ë^b弫ӠÍ"rß¾'æµöŠçyÚý•»þ#žíM =¾š)§/ç!®Gyág¡CdÏœœÈù™¯ó›göß>:™  †ã¿ØÈªÉºIûµÏY[;l*$ͲJwöòo,›˜PásJR|^µ~ͼMBãäòM.g¾ <öìñ+:nlà&‹ùrQ_ÈEågq¼€t;¾ÞÛi¹Î“®Yϱ«›÷N Ü]Œ·¼y`Ú ëÀsÿêàÍáÊ=n€o½)’Ž[tPû9NmVS'¾Öæxšý#ªØ;%´…ZûNr®¢_в§U÷ÞÀùñ‹zö¬•=óÜ}*g¾_äÊ÷cgÆgÇ>»·RÚýpŒ¿ãAޏäßÍùHšø¦#2PÔG;%þâ}§cn¥~Jvíh¶{ïF¨SBåü“R!.…CÂX›#ø´p5ñaÓé:ë’k‚µ5 °(w9f?ÿÃz;)¤{ûDŠ«½sHö¢SpòkÀrüäžÊÁ–$þKÄ¥|·Ž‡Î8ñ¼”³æ 9'o'RÛan\'%=›Ä¢F-ô'lU]kÌÔ9Vë{ÒË©îEžß÷^‡yïÑTi:ðlÀ“ÚðµéõðšÖãÕWÔ©ýzXCtyíºiÜå7 íM» h2àßÕ9Nn«ž–}›}y­Wv—ª® ÜTØBq¥IΜw™Ï15y^ì)eäôdÛ~*aüeŸ—JX#ÛP òãg§äÇ/*á@*!¥¹m«V™i©Ööä•^zƒJˆ)u^v¯ïVЇ²Þ¤Öþ¢ÚjÐQÓ}£Á»ŸRGêû”B‹Dú9W1múJ5=·óêP¢êÇ4ác³Í–ч鲄еÊ*•D”2"0ösD™s² F´‡Ù륾m9„G½kÓ_Öƒú;Л¦EWrUH¤¯æl×~À¸ÆÞ Ÿ5Vµþ±šÆœëãÀoú|j/Š'Øzì]‹ÑîÊ;ƒúT8Ɖ³¶Ð–”@ '¥µ!¥Û üû!´aÅ7ßÄ|‘/ÐJÇv-*‡?œÃbh)… E>T&áuô¡ø~¹šãVŒ>©8«+__ "b–q<ÇûÁe¢ÏNžqá3Ž µÓƒ â«þh)²  dá…mŸ|]µú1ÑöHºÚAºîDª ²ñINòë ,Ñ#™×§Ç¸Ô[MÑõ…exäÏDÌ݃t7tZaGù6Ž´ãm+è Ìy¡ŒÃ%Š*ŒK‡p’¹Ôäñ¬º›zbåž=>¨·y|Ñâ}a è*Ï#4v;¥{˜ 8çÚÀYÕÈ•¥Î¥•ÎYJËÉ£E£]=PÞ;~í¾séÍã×çþêß|†%îkÑåãÆ^š˜þ7ì<ã#óE¦ÉŸ¦[¼)pû,–eë忬&U¦Zñ•:o¾=“¡6gËÓÔ!Tù³TþuzÑ ùàoªH?]A·9ñ¼’ó”¾Ú¦9.§÷õVÄø¡ÛÌ®±Î*!Šýó¯•9³‹ìiÊi ¯]6‹úâí¤î0 æÈ“–é^I!)¡š"nJOŒî™o¾™Áÿ÷BU¾ñ¶ïìö¸d2Iã´±Rs9¿ö×1Hï?l£b¦jf°OÉš„¡c½¬7ê`G›%ˆñééé`ê Ú=FïÒ˜mŒðÏ©UP@~OÕRhYþþÂÝÀ³…oùº¬[ øô1ÎY-;qýÈaʭꕜe;DÍ3`áa’S&A‚ (À´yé¡m>5"M=[ ôèSùžÓíü:ëUÓÔº’ÞnìQ¦=b½f]íq5õÔzX¶Æ.©ÚÎÑkæ!ÏhÁ‰Q¼Ìf¶(x)s¥)å ™M“ž Úâ *`õmD·pT•93„Zð R* z†0ƒl‡Ó¹TJ÷A`²äžf?ÿ]ý ö¨U;‹zãåÈ—s_­uÒ¶i險Igsû¡ª/›I[PÚç¥ÝÉv·*ƒr­,•H IYI0‚cGµ¤Ž[„ÕÚ ÁôXTrïmxq'=ëé`¾°< ÓêÙ8Áa0!8ðSè-çY#ÙAm¥Nßi¦éÁ_.ê^ à4ëãv.ÇŽç?ÉÌÎ(°L6^˜·ÐÇ]x¡ž˜•CsBS$NÀ'Ú¦o…>ÙÊFN‡É†Ë%#ÙI ¾>&»&w%v"óX…Ìùgã¡Ïa+Árü¢ ¿.ø¾jäfuÓƒTÝ©¾o’#`ù±³¢<ˆ–] =£ÇdEßQħpo'åWc½Ûö´Ú=’ºUÚÒAìgÇÖM‡Ñ:ã]O§ÖÙ˜cÙÓB+½\¡ºG2gÊ%{€¹©{+<¼Å˜úÒóÔ>ëIE¼?†ÞO¿ª=’GõBN"²äï1Oøø–Ðíy±Á…Xk }Ì$8ß² ./ÃÂ!‰P_Nd{]Ú51%ò¼«}“.x’Öï.ž{Áæ,tvLø íuîd‰n<ü,ú «â›Î s>á. ÌÚ!”†®i2ƒüét¸» ¡=yk@uO€½Œ7\éûMTœË }8$áeËŽá«ò8´tfŠ¯â¨‚AxÞ¾´ 4ÏaÜsq¦õ –êŬËè$}þ;âbRÕ%¬b#Šê`Š})ÛŸâ ˆÔÛLq€J=:ÅhÌöZ §ÔnŒwß/g!¯*µÐ8 ` .v]>ô¹/N®¾õkéã̦Œˆ0ËÁÔaן¾#ào®ê¹Þóùö£¶Ö´NGKŸ»y³ ¸× /½¨ç‘ ó…œ.âKý8gµ¤H}µ™ÕOŸõ7jƒúÛ•Ò²Ò™+™ÇU'›½£L'ì^XQ xÿT,·0Q) cø¼Õnçâ–…Ï» ‹HlݼÛ1’žl…CÇ9ÕD_e<îF$lzò¤‹÷Ä—͸oZ»'^¾$rDZq¹÷ª4óhþÿø$Ëãÿÿgƒ³0äŸÖ½‰C·M]’tlT䯎AO³ïýu6¯/§žQbä&ïçÒÀ6û›S9/iš‰×LÞÜ‚‚àÍ®"“Ø•Wøˆ<O€ýƒy„ ?©0¿“ð¬®/Á² ŽŒº\´¼q’ÖóZ|¥j“«íf‘˜šìÆuÇû­$$œGËûCnÝÅ_w½§¿°íMèðr³¢¼iø oȫ餚Úû3ªúPÅØó‘Ëw¹xE‡œŒüó/>ª´Î•ëþ O”'c[‚@Ø›òýðkI1ÁWÚOvî%PpQR+óÂÌXniQˆ\[’A”F.ôø»Á/]wƒæ|^M‹¸~¡ÎÎ/çŽP¤rW8!°4´dN[¬Ya¸*…v©‘A}Û|­á´vF!±…e†æÖäðN"•—&¼áÕå¢î½ei €Õze& ñ ¼ÁÖ»fqeÁ®‹„aÍþ¦øC˜©‰œþÐÈ£éÑ+ÕÆ4½¦ø{Õ žál.g畦&mU<êõo ó¦¬Ûå–1Ù«`‘wX\í{[ŸÍkle5,°‰aYÛ,¢%ª¥‡9¯ѨŵٳÞü6r¶0@nÞ°€j šð3—W§ÙÖýí^}¬Ï|KÙ~t¦-N<"düñŽ>`¥kOdê‘Þï'ørS°ác•†ù—÷ä ]mãVßãvÚÔË ól™úÑ9Ÿ3©½1öïËj¾šÉZlh°|6­½­ãEzׂØËÔ‹šf«ì³‚…¦“Ü#“^\·fûªÏä­éyJç“q5 |¨¶Im¿»_µL;²|34.›¸‹4ûš±™IƒªxžÞ½ŒMr™—R霤ÇEN…Óºdˆ;AØç¥5üñ‚ዸopr=¹’¡n·'Õ±o‘ëé^¶»…ê¶F¹ž†ØˆE˜¾ìÅw¸›Âc:Î"Éãf©®Â]a§ .§$^ê™Äñ^bw’}6Òlü-Ÿ›4ë‘ìN)W¯ß~óM'˜,;gôø‡~B,X±p2(R:ÏÁÕÝúvi!+Æ]¼l&¼¢_;éuòNCGÃ/õÕíòGb_±ã¸Ò_Ó“]ÁßrîKáÕ3—}u—ÆiÎË®{Mz×Py'¢Z“½^BG» ·2×O˜>ªf¡>m¬¬3ÿçy}9[Æg{F{$éÎ+¦9³”¹’)[…Ñen ,8cœ$™¹ò¦g'á~ü¤â¼ž†æÊrÎijöt±øåé¶_\rLm°'î~û±+Óì®r¨1¾¬Ps¥9'iQj;V*[rÎÔç§rÒ¾„¾íw·žÃ0{™ÎM›žò{P9ýD´âíÒ í*ߦyµ#ˆ¹i¡Ê>´vIlÝ>eá6N¥¸°­öúÇÜž‚ÎÆ¶“Úó6ž’ÍBw÷Kç@x§+º„{㮣ùß§ß ñÒ…¨r„ \‘Œƒ»W!,K‡2–½‡|& ê§Ó Ö~k­ÅC«= ¹sò¬Kj«ÿºY§Ü2¬‚^’'h}5íˆÞN/ ÑÛØPäþ¡ªãulÓå¹uLÓœ‡T.0 |ºá,e¡îpÑÇ}ë¹’åD"p°±B–"”sÍ”`¶"ãèz¼ø}üú#ôkb÷°õR—¢? ×~“Zz‡díbñª¯HI¬¢˜#`³‹ÂPÄŒbÔ:#>d¢áíØÇ/&Þ§¹ûø€ÎÈ=›x»œITXd…&Üáá¼Ô …x./°á{5Nû]œÉ/Jý‹R?¤RPk2\ûüH)|WŸRšÜ9¢»3ÌÉY|ô‹,Ú7c(R±+êë®z_[2Ùê5@ ‰yݽ8¹7UVGòyÝ¬Š™ÆWèÅÔG˜êåÖ%ÈÛ°Õò^¹Î.§+ÉEaêËÉòùï­Œ4´¡7öÅ€9㪞ÿ$÷úµ\^Q//Jv®qدa'Ì §5ÈJ0ÿ°Æ…ÂÞ_S!ÒïÐãuÐRUç&i>UøÞ7º»{öÖ·iøq?mVzQîñøw·çüwˆLè“ãjÈyå«]wÖ*Æ.d5I…ÀßeßêÚØ—èÛáßÏ—âÞûFýuåÖ4 È©O¿ÿêœí‡t›Âá‹Ð©—%Þ6hM¨QªÀ”]MÉ< µÚrp™½^OÛ"t*D¶¨.ì ¶Ó‡ý}Ð>ðyì.5±sŸzšý¥¾‚¹ÎOÖ.‚Û쥦;Þ7ÖÉË ,à]Ý*n8Bá*bîK°Ÿç§ÈÿÖ6Ié9»Á„„rM ×@SJ‡‰C‹ÜÓ/¤X… [JÆ`¥y½&³3; µXöãl"§²$N<”H½,‚ß o<1>ò«Äñûoü–'5D82TK.0.%þ‡s-%‘ »Xù·öt|cè˜yË[ýÝÞ{Ϥmr‰*%x¼LY‘DŽvQrg²Œ‰¸YÝC»ö.Cˆj᳜€wME.±ÓŒ0gHYªGžó^ëæX—ŵ´b Ãé_Ê áíiKKx &5ÖZ1,UY–-]ù^ÒR²æª{’ïã­?ÌüV T÷n!ôËÙ;‡ª UM6 *‹.ýôêj¥rÓOfÞ<Ä~©e{úd!ÿo%/ñJÆTÀûÌDÜ«ùçŸüXq˜Ý!—?<àÆocø#Sð‡‹“@×eÚ“¶{GØ÷ )g~ó} t€³P6¤JuÞâ6µâ9ÔeIQn”ÕÚH]b"J¡õ-`±w:Ô9qDjG¹6ŠâLÓ2' ψK}އú§úƒýr¦gÚ;Þ°õæSb¢¤+ 5†‰œ±’sÇ´5ÒÇÁ9º»bK1“šc®µÍ-U LEÐü´§·$èÑzp·â_R'…/çøwwŽ“nn{´jz—S3¬}úU–zr˜t'[ˆ’#m%¥R‚Pá!ó¥)¤ òN'œëáL+ª„C¯•1à—è[+>Ç“þ}¸Y{=©ôo_Nûïï´‡¶)žžkÏûªï­`Æ¢87Ø™œK. +NS6ÏÁÓWŸ´ÎÕ¹µ“»©_—Ã|9RâH…eÁ:•/õ弩ç=<³D;¶}LÁ %¹Ó’’q+1+0aV;i8ÕE~'­i˜ÁŠ(…°È5&$WØæZ‚=Ž3îÑæœ´÷¡7œï€Šö}Œ“¾š†vÒ£Êý¥:^ë±·2Ô­-“¦ÒûåáÍÚ‡GÄÆà}Àb¢ƒUñ¬R¥Œ„6².{,³ìXV¯„èW·é¤C.´Ëáw¹™fXJ±É%¡R ©µÂD9¢ãRg¾^eèzÐÁ g¿ V>MÕkæÛA‡p¼Ýæ {¥ÞŸ”JëÜ2° |£-ªeÉsë,âa´xòÒ#½¶7Q ·ðõ“nÅ=0ÉøI@n¼êW H}‰*´Çº x67d °aÙ@ ";ô·9Õg¶¹ŠhT·z¢ñ}7ë àíé"Nä:À‡=:pvÞ¦¥„Ê’ãѯ›}‡~vlsš ¦Ò,HôW­¬óÙ~@¿ÐÐÑ!®è$AdV,Œë“èç•Yö ˆN$Ùx,Λ–y(êå¡ D þæÛêå­”ù³f¥¼ ©@Q7Ì­÷mýTáU2ÂG‹€ýäk"Ði3ë„ì•„H·‘ƒ¾ 8Ýql/ÊN2W}O|C•ˆN ”«@Éyè*ã¹QËiÂqÕ٥ǿÛi˜ƒâ ),Êð” + ÉÅ”Qçåùr}>§¼Ý!qãmKÌö“ Ã¥e™c„ ?êBXƒKø‡ìæwþTÙÿ½Ø¡Â!VZc±5ÄHæJƒ,)ËRÂðÍï}—¶!ì±]èÓÌ·x·ÿ¾„-NØ-ƒ°ñrC’ðØq¼iŠ%³@­KQb£sй£˜™œ%cRËþo3-†‡6¡÷-ÓàºBô%Ë}Ý 8óÙI¦|ŠUïp×S`åIõÛ~+ÓˆKÂQN)Ô²’å,õÍ‘EÎk+ó{½qYc™;7Ò–¸ÄÖbLAÁq\Ztas[rc‰Ê×fÐîúf5÷®^j¾bTþh¶‡ÿvV] PºTàœkͰƲ,9Ãya„1 knúóëóR÷.Ùû»¶QQ¯(Ü|gAŽ˜í§Ï¥ú+pΪìôÜ“á[:dÄOc÷ °ŒöÙ¸8KU³Hùõ¾åV£©»ƒ•þ4½A'þî¤a‹®´MŽÅîâ°ü&‰xš=}¿ –×&y2YšMlÐÐ߯öA`œ(bHê})°“®«§4¾Íg€Vº ƒêU6[ZLm®åé³`ôJaã¼Z èÕõü|¥mNo/ÏÌŠ\*c|ÆVéO0 ™’º”(_Ý”1¹i¾5gÿAæ¾Á*5Ʋ Ç1¥Ïýã)š¼|ÿºÑdjTƒïàé¨}Ò°T ”ÜÙT°ÚaW"ØJŽ Q t„V¸”Z“csSðìhj¯µÄ©“Ï)¡¥f¼æº‹©àT®à?F‚š£Ú`°—Ÿ—x¨ME‹M…Î…^³÷ Uà9;!¨ðVF%E(YHÙ©ï•Çï`žˆ<8Ѭİ6—3UäfrsPó–F–ÃÃÃÜH¥|ÚgF‚‰à»™'9)9Xp–ƒÿ¯P``YÁ,˜_ØRmñ£5O6›%±¾ÒSëÍ´Z´žîqì”e´Õ¸‡¥ÒNþa+ÓYAÄìUØ‚¬Lûùï¡(¿}(@áØ‹z~í‹ûäYÊHê\Ù¶ „ÊÉ•wîâ•èÚÛObä¿ï8Å þÐ\~ Óójã¼½ßá¥e [‡ Pp(õ2sq Ç ÄÕ8­Šp>]ó²Ôë 8g¾[Nã¨ù8%eÏÜ[âI´îð]ì»ý j¦}v$Œ¯ž¸Zz 6#ÖOÓoí™î„Aµ”GIR^<´hOÖ\Μìèãù³Ù=Ù lXêS{zvš…ôåØ÷µ…÷xÖfV72;m… 2’ Ž0•yÎ9‡_4·`QImÙ?ëG;üv¬s|Å®ÚÏe›ÄGGÒ`¸ê[$‚?¦I„Ãï{#E½\±Y{jc×›~§½[¬§+oêtqg•Í/mh#w©½éRæT‚@êͰJèL•‰“ÜíÐapñÀá`F‰Bø‡ð°Èå#þhowŽtèZXñÅÜ{Ó{áÖ…=úüú{8U»búâÜxæ¼Õ8 ”Ûõ¤tô^;-aÀŽÌxbËã<2›MÐ^RÎ}›¡ }æ÷pNÂ×*¨ŠÀû+š%𔲷à+N{ë{>膴®¦M¬NIÁœ¸]n"ÿ s"·ÔJ•+ëËÈJM)³‚ëÜpËÆä*ç¤ðu³MÒáê‹mŽ ãTùW[‰…NñÒß÷äe¡1Y1â†wïX>7cxœç|ƒjK>ËÈÚ1âfƒ»é†ü$[Èßü1l"ðÏBñÙòË)îÒóAÁåªCsŠËébèêµ8‹©÷—'æåd,Æj‹i§ÔuA“_:oÖ”­O1”7Îôi[·Ð^©B|ÃØú8ò$¦;'´ÑPp1‚YýI .Ÿ­–˜Ì‡&†OÄÜH/ßs¬·‡éÆ><Õv–_°}½Û û>!ÏÁôoÙñ6Z—¢ˆ7lýɉ¬W`Óëë>v’·’ ‚ZÊ™*]‘—1%}ÆœÅKþUÞn‰©ˆ¥aJ1Ìs]jl¨( Á°’h¬PQ&LÅ7Ë€LØáM´ð·×°9g>üùÉò‡yKÛ¿KYâÝêvV\+’'u(BL¹ëëu®Nv°¡¨µ¹ÅŽI‹K’ З’ ¬VZºnCõØ,Zm>×:õ)Ž‘Æ. 1·}Äf/íâ¼Ìøz©gÞ-A„ƒ\6µ—8®Z„„í+¹%«ýpG&`66¡ÆÁ§ƒèe`!—Ò#—`–“Ræ…¢4W…d˜‚…,ˆH³©"rõß½šî]Kù›)O–~rú d’¾‡m’|V42Þ£Ž¾-s‚+ì FÓ9¦¥VRX† A}Q½ë°vDT.%èO*1×BcšE¤¥È!С†À*÷BTîç~SPSp" V&Ð…¶ª0¡…kQ+{Ïí_†›åòùÙXZË•³¸àHrŸÏÅ4#ƒWuo—Æucò-$Gˆ© ,À%Ó•Ø)Ä5â‚uKòØN8ΣŒÓøÙç ®¨í6ó‹¶þÚzCÒíÍAÿÿê$O¡jïíÕ¬ž/ZE–ŒýGtùwš½ëðúGðþ;益óa*çlXó€žÍ布M|§M5X)µRmÚwt\—oMé•Ï-¯ecNøÞ(.ëÒœÜbêç”Q_„UX„$ÑD(Í5ÊC Hq)òB€[G æ³Î¨?bÍQ¤¹ÒŠz [äŠëJk=ˆ£TÊ £¥.$ÍÁâ`5!ƒÀ~r¥–9U(% )‘ŸWÐÜÛwÛí±µG’Æ„–6Ÿ|ò骯m´×]_¿Eҧވݙ¨óGßùPÏkßV7ÝÆ|¾m¦¹² mYм!Ò·.ûX®n+ɵ 1yg„×óÏ®ÎÜúø*èø*ܼv˜I!=r¬ˆ@9óyêpVvrã7¸±>Øè#Ðç0Ø4a ´º€wÀw‹ AƒPÀm†A–ÓlMnÔ «¾—Aú¸ÒPQu^O:`œ2ó<÷ü¢6¾–ož äfvîãÇK vÑc­/VÝjî´`¶P4/¸D üi‰¥@:g¾Š,gënõO~Z1VðSšTj…‘.¶WVÜö¿Î3nN‹D°¨ÏÎ<ë< äÊêúbÉ+‘¡|ëÇô{H›ÿÜþ¶¬Î 5¿ÎúJ¯ x¶ÚšÓv×¶ñŽNÃ~[©EÆwf欎ýÑ&×iÉÝ_Ú~fgÀä‹¶[ KžØ¦É–Ý;Ö[˜=^ÿYlXíÞgäBf×õ¥ õ8bG迵ÒÍ{6rˆIJ3Wg $ÿ¦å½žšnUä´ Î–þgÝÓ¯šú“EL˜ÿr÷B·Êº‘n⮽““Ð5úÌ{šýwºÞZ›N/Ñ=ÌÀE){Œ°b%Aº†ªÙ*BIô¤s®êÁZõÁÍúAT?`“=Gj£ekýòÆý{ýõ¿Ç~\b_ʬϒƒøÙ³evüà,¯æq›:]àŶSlïLVÁta'.«T¾LHg‘<¡³‘Ñæ E– ¶‰õUó-Ê\€Ã‰ØwÓzú|z9™¬ÞÞ¹×ÂÃÅo«¨ Òå\=Ïœœ4 7ÙØÕÐØ{JcU˜®†‹ŒK8Í~„±{Õa÷à âjÄÜïÖh¤<Ÿ†º®ÈËC”è7#²„ ¡ø@Ùþå¥/ñ¼ºhºÞ‘koM¤ßǰîÁ×êÊW`ÐWôG6÷dñ¦ÏÓ!<ïé®°5‡Œ@%íTAM‰‡%aÄg•Ñ\—Lº²Òi„¸ò 0¶w2i—\Rç+h1‡Eyx1#1SÔÁk…í¡¢ìiw¢ð¥ÙFS]ðB ƒa`ŽTA]!sIïi‡` ’\eŽ…¦×¨,LQù9`l&gRJƒ0¡ð.déVL.5Øp¥Pî¶ØÌ.ÅÒ³[‡Á‹ «Ü–…ò1¢ÊlÀr¹SìÇÁþ5BèÒI]‹ ã§àÁÂËÅ~Æ9û³‰ý Žè]ó%é±?¸üÉÏÄÑn7Ü}ɴͺ¿½VKšoá­ú‘ÂòY LB¢qŠ Ó ýéŠÙNïUûÜÂË÷zw³Ÿ?ôð[.t(”Í}sÚn<¼¢ë¢c»j Ž™OÁÌhÃg ‘/?Ì¿å[{Þ‚OF^Ê¥k=éÝIt$zœÖÈÎûs([„4ǘ`m,³ç‚²P2GF¹’ëb_[„bÄ}ª~QäZ(Dr%ãQQ–¥¦ü®¶ˆÈȰ’ UB@A˜½Íǹ´â€¶söÅ J²’+”[›ÎI…úêlÍŒÓQe•Q`| &‚ñUئµE,#–±ÒÂ^(Nµ¶Iäs'Áâ²EÆA->Ǥ˜{´^ŽT Ø€ÙÒðßÍ*TZíÍPðm d€ ãBÜ/$þÎdh<†º,m6¿Ô‹zì|Â\ªpna¾á ÆÕ?¢¨hRÙO}½¤æ¬¢‹‹à0µÜZ+˜<«Ä[Jµ Ù…üÍfؽ ñ<½a§ßĽó°áo'Ñ L†K„xòŸnxdz\:1‘c0ÇŽöDx“/FÖWÒPã{#[%Ø p¼à»-ÙŒý§¥ó_ e4˜ïI`FOΡ6«•óGXŠ?H›é³W45—Ç-8T8޽ÄQßïæe]i#Ya¹ë *¢cá Yæ>¬êï`p@@.•Ó&™¬–ÁÓ“q°üXʱ}H¬iúu aþp>Û­nš‹‚•¹ËDj\Pí0öQ›âÑ&*n®}{¦- nE‡ÚϤè òÅ®ØhWÜ‚$É ¤<Í–¨7}g©ùÒÕó=÷t#Ò³ úoƒ„\©ÉšºIŠÁLSÆ`ðüãEPäG/ÁŠE{§ÙßýHï>(ˆ Ì_µˆºi‹¹M"¾¬ð”9öt[¤ù˦+Sè_cÙx¢@f§—«ådò·¼Ä?I0'mº6MtÓɹAžÏ_qØ|ûR±õkùܳ3;¥Ñá‘ûÝrðÖ:ô#t¸lß|{ þÆ·“êe3×/6Ñ1•þÉÏÿÙÔ—sÝ/&)6åéðí x¾$ýEÏféóᑟÿãùó°øªûüùPõº(ô/ÿÜM¼…ˆ“9_,fß¼xquuujê×°¾Óz~ö¢»ãcšØ÷ñóÀù)?ÍOqG>U›kÿ¯ÿæË¯þ[7v° ¶­¶©[ Ó:úxœ½Xw4›ÿ¿×…¯Zµj“JU‰­ö¨b¢Æ×ˆQjÖªFÚÑPEQ%Vj„ØU»êkU©­¥*¶"b…ßÓß½¿{û½ÿÝsîï&çäÉyžó|æûµ> FP*v*222m àšHFvÁˆò"ðŒÀ¾ü’;êB5ÈÎ} ÚÐdd,U:ªfÁ¹›y#Æ/gï ¹éÁñÂV4õþ_£vŠ”©¢6ëÜ)¼4-ÛÞÉ¥\¬/Ê,›?^›,ï©cƒ ±¯³vªCì/€ R`!B2wÜ*P{Êp\Ýv6¹0×K’ ‚¤ùxœí½ms¹±6ü}ŧ*kŸ’e À›]WùxwWeïÚ'{ŸûK ¯Òd)á,ë<õü÷»ñ2Ã’Ò)K^§’X¢8 Ñè7t_ýí|ÿ÷×ïÿçíÙùâb’½ýïÿúë›×Ù“ç/^üZ¼~ñâû÷ßgÿç/ïúk–Ÿ¢ìý\N›jQÕS9yñ⇿=Éžœ/³o^¼¸ºº:½*NëùÙ‹÷¿¼øèÇÊýÃéÇç‹Þ“§faž¼üêÛð“ió݆ar!D|:|×Jÿ\Ø…ÌüwŸÛ_V¾{òºž.ìtñüýõÌ>Étüí»' ûqþ“>—óÆ.¾ûï÷?>çO^À ‹j1±/~ýö¯òº¾\üy^™ìõD6Mö‹uvn§Ú~û"~é«o'Õô·ì|nÝwOþ½8ÕMó$›Ûɯ•³!³~”´ä14å7$sTƒxôN ¾F.†»ôžú‚ôe.JùIzÿjÐNZWÔféfê‹/¾…ît Ë~þ\ ÞKM¾p)nª=â¼z†va$‰MÒ›;E©‰dѵŸqGÑþÖßN°¢äUÏ'4:Å&vvvP(ÔÎnñ–Þ"O>@—÷.˜!@?UäNí[JÐx]]]½¶æÞöÓunÇOqÝøxQF-=½¿ª«,1nܸ¡ ó8…bææ6°Xþþu3sڨ̌O+IL@j2£o)$$„™‰I€‰ +Æ\÷^Ù¸{‚Æ£•¡<‡ÇãÓù äää™YYc4¦&&`†?Rû8&™mkCö\j,9ÙÙC‰[¶ÑbIÙ bµR¹çFGUÛ7ðxŸ  «âa${ro.\»b<33óøè(,‡8Ø0E/CS8RSoéHˆˆˆ ëcÌWVV(®\mÃXÕ—c0žÕoKÃqSŸÆÇQ¹¹­öÿ£›ñïÀZÕÁÚ­cÒŠŠà>>>ššWlT[;88ØÛñ©ióÒ§ï[Yɇì:aÌ+ÆVOI$ïÙFUä÷âp|†\þ0±¾±!5Š:SÎËËóòò"w`Ýœ…x&ùôÉ“'W¯‹Œˆ|üX¢—­æyrrb×ìßÿ@ ¾Ã®ïì쬭ýÁ^©Ê²fñd»}{mÍDe…aI!<èèR“’’Z[ïϸej[_Wg´1Ü988¨a¡.aÙ0áì˜ÎÖ7Òä·2¶7ˆD"·¶¼žª‰û.vÏÎÚ”¯"òe}G÷V†988²Dí ‚úC¢‘âðÞç™™‚¨ÝÝ͸º:)11±7^77¿¼ßüs±'qfzš[9Œõúu×:™"[P °z¯Í“_-ÿs{\åà±OŸÂÂÂÔÕð‡?—Žï™”ùz£CKKûÙ#gkoI®bâææVÕv0ÍáÝZ~Hâ¿ví0´2⢬ÉQµ°ø²+I‘¬…õ_ý´þ¥ÊÚ;ÞaO"6ö|†"Q[_¿Þý\‘Û—žS)TŠ—÷}ù¥)n¶ZipPÄfâö€*Ç¿ ”+¡ü^fj1•å+£ãªà¾$+›Dر dê­!Òôøá4bjmµµ·T΂÷1 6“)=ô††Ãßî|Tâ…h¢ù¢£ÎæF ­š$W† §hãÄ÷”üWMÔ¡qT çéÆªôò¸.ê-Ö˨®P¾!ô$ÒxÄu±rŠ¿1'®ü˜¸Ã3íb±“)ñⲎڅã33POÆiÑ*Ì–« ¸äk|ae¥àZƒ“ûc3ÿèž`Ö˜«±Ïamæ'Ä»¼_]ÌkY¢}:ŒT;¢û9Tñ0˜×mT›ÇÓn^1`(r;5fyYùÉÉ>¬½[4õ Avï hŽCÙKÈ&Ÿ×X„zSS%[Hu¸w·‡óš‰ë†z UÀÐ’)TÑ|{»îžœtK“ …hC”¾¾çÐÐK0Kbn.ç•‹ê…Y»ÑHdŽGßa­ÏÊÐm5üÆÔôxEjŽöœ®ê‚ãBßHÙoT†·Wéˆ-ˆ¦ùmcþä]7'Ó34t¢Õ*- ‰Ý8·  }—öŒõlúÅ®•DNNÅÉ”EgqKï1fýl½XIfì‡Î§Wi`;ÄßÚÛƒqÔ&Ú´v‰;‰f?#Ä}m‹¯“¾–ÐÃjCç{Û´æŒ^+«JI+%Æ“Ók9lv~FšÂº¶46jhi)ïØÛ{?¸ eì2æˆvV™oòCçäÌLÖÀ%%%¼¶¶¶”Ÿžž†a7&ÅÝ? $h ³²dÄÆÄìã z=£££ýýý¶¶¶92Þgß3 Éb÷MÔÖ®Óž¾Á'wÔòxÏ5ß+6é_~”®]°>`½Éfk}]Á©h{ߟ‡‡gÌ;×\ÜiI¯ "³N­5MÒ4+äÄ×Û[TyYï=V–çQl÷àtŒóý]u–a&`2LÊù†wV7¹†Žßçu{–—›K¯v1ònDμÃóhan7_ŸcÓIf@„Æþˆ[Åæ64…†6ʧqžsããö﬋ĩ³I“xÜfŸOœæÀ›z=ŸõT!,ëÃLC¯”:cŒ‹´6§ë½ZÀKüXÔë‘&ó7€:‹(;ÜmýD\Þ¸ø_¥à38²·ÂŽS·gíjšE YX&D_;>®““£c ËÙ¼kèç‡Õ¸R¨}¾_\ÊÚÕߘm¬WäÆëƃÄzÜ·‘g„*>MM™Zìùአº†ë*ÜgQÚbmkÊê.vªŒ×ÝÝ]«³b™Ù„a±{r3ßÄȃ¨Gïok3,/û‚  +Pj¥O÷±ó]f$3„¢›“SüyŽußÊù9£¡<×}cßóŸKí“4 ·à‹TÞ¦ßyôhCxû:õ\˗ǤPI3’Ñ󊌹G¯—¢ ssÙ ÓªòQ(ðè`!D«‡ÉF œArH»Î p ÕPn™ËMn—„ú9É{=šb˜<“1æ`UŃÀn[áÆ†;EähyfæÐÃ/ÜS²Ü½5Þê`W‹k1LÔ§qôòˆ‰-WÿƒpŽÆ6Û;®Càãe ‘?=ÛÏ?ÏMM¥'7¾¸ìš›ž¿üç•+’ÿûعòöíÛÂ=SS«þÄ·Ö>;ŒæZPJÏÉêoOcFõÞŸŠû/DUXTIÌcä[*îÎHOÿ‰¿¶—xÉrÙ»m˜/’5€•tª|Nv-‚îïLJ9¥NUÜOž=›äˆžªÐßv1fQõƒº¶B%i¦ÜÜ-ûéº6åãã[___-ßÙÙé`? ¸”B?k¬€u.ûnLÖtwwøðÁw©·ßI¢|í{ tóóó€håËù¹èê´l¿Óu~ÂU)ô&‹ëùÖ ¯âN¿:~"Hí+¨¿g?۔ݗ–çR%}aqR/²nxcœÿkˆÝË© ‡Ñ .7È>L§´N‹¼¥àú›3•Jëð›•Y-¡„5€Û0£X·ããË44E—.N{ªÔìçé—R÷³‡ó#RŒ5ÃÃ/B¡˜MhjBÂÏý}§VkçÁç¤6oœ×C[à&'ˆYÝ\ûù P{”…II0à oUúû|å‹ñš ý«øèbuž2 ÑNû«=rŸ”QÖ±ôí–±®î­z}z«¦Ö(É…*Nqÿ]=¢²¶’èÎ]ËJèWÚ¯J:99åàÇÏ&´[¸»ÛÂÅ%Hbˆqq1w¯uóß¼&Âúqè-Í‚¶«ëðò@rew T¥U©²~%–nÍÍ™…@â‰s‚B-¤Ó&{9UüãŒyȃ‡ €@ÒÕýòÅ%ÃwÄý}j®ÖW1 ¾Š8¡¢z›óâš“ë )ièÝv® j­¹¹½ ñÖÆíx8‚ʹöŽ‚6˜ú*"'y„µë]>Á7 €Šîœ‚T‹ÅR€ÞØu^Ø8Ÿü[qð¯‘}¯™·àŽŽ“)_˜hi«’9¸gŒ©#‹³) g €?ÄÖÆ–Ýl$‹V»yµ†2‘¦íìx====×iDÝEÿ?‚Eoü³gµZ VwJª«QÊ€»môÕÍ„ítÑ­–/..fÜ2”–‘ACî×:mÍ6á#¼ ˜BïÉꎾ¾8A3&ógiöñÓÓÓ@$™mЭ?><ìîíÕÒРžúXnÙcäì¼ ¸þwG?8TTÚg¼·çÛf…!¤rù°ÃÞdŽK/ÊËË¿1¹íL zc$p|rq²ÙІ ös’=2»¤¤ÄåË[Û‡•SÍ–w~+)zü’î\BÓPCLʤ@ oyA󾯤=§ ë$‚E³ ¸¸8ÜÝßïvzøÔ oüׯbg§qtúÂ{ÌÌ×å~üø±nÖ§Hìëíì°bø±ÔíÛng§Gvá„{ÖÖsF팤ó²dx_ ƺa+šN%AþþûDâB œ¢­ÝF$599OÒ5å±E*ÊŸX—ÁÖ½J"Ÿ3³:qk®hláFL‰A^èö¼R³ ˜˜OuìeÕï++íG?røå-˜zzz€1èë±n ?Z¤ ƒ•–¿~ýº  àF~NÅ`1^^^>>8`°ù?ñšÄE©H³³³GEGSÌuDSÄÑñ”ô½–õÇ=xðÀÅ……ýÌ>ù€ !h\í´£ömÆ»DøbG‡3ödXåütç›zo)óÑîò qý¸nù‘jõ`ºþ!àB†††|}}¯‹J«p§B)Ô=GnÕWXf‡uÃÎÂJS÷`ôƱbÄ\üûòr è÷±.Æ¢ëkk­mm«åó çÊùÙ ùl!M£úãåâRªŠ¥~¶DÏÜ\[e¥_CC re}«q€—Gý< KîýÐ\J òöâ»`¾"sÒY‚o÷Œ= î :îʲ²ÕÍM £Lׯ†ó¡çº°FÕåå°¢Ñ:nk Û÷úÕödK?åb–Ýã«YÂÖü(˜a¾r›S?C9X@@@I© †ògŒ®Ìü\ê³kôQŘç+‡¿ôÒP2pwÄê§â²²²ââbÀ’‘H¤ íy.‰W·MKŒ.­û!ær±æ•–éHä§OŸÔNí••ŒŒN¨[ ’’¸2Ïô(ÔÏÑ–…F•¶-€0R=½Ê)@ëe8“pì¦tOI¡‡ikO¶!lDˆ{{º%T@Ñ·DœŸ…Ÿ[ÕÅ{ù­Å}¼üÕ+î§j×XXp¾KZefÇ]t*¼1§§§&&&zq ^sÍ\ –w UHŸg ûÔ Ö+þß:Ÿnnn~nš×£åV >9ذ%¯ `Í™B¹˜•f" Üï»Q–¬€ìwª©©ù!Ss¬:ÊIPMÍŸG§ú9Ò_$77­œf¡æï‰Ë¿Ñ•Û “Âà÷Lz]˜•åÞÐ`ˆ«Â3Põ~ˆÜÀ[Ë*›¦]ü(ߺæ9ÒÉuAH|Ît8a½1«.—-é 3ì¶goãýŒFÚäÍ„,´6fÝ01\œÂ‚z–È£#*I Ar~[¬]#üWJ`âinþ Ôg5-ܧ;Íj.?ÇJo“fôaxè‡ZŠU «‰€áàÀxæráà@…iÅÉÔ?íׯ÷Ïu.Ô¿lîpT¤î¼¢+n®®þSÅ®ðîû¿*ÄÁäߢ £¢ÖÉ3d¢FPÏgMST ªö|EH^¾ ôÀp{¯–,5œ;=Ó"j÷®hŒíÏ  ðßV¿›Ò)$ÄÔÚºaSÝ‘¥Eæ9ê^ñ[{tÁXzHH½tJœïÆÌÈúcI‰´«kº%„!QÓÀ åbä“i–DMÇS~}<ì~£ß ÈÿÀcsm¼ÏÚšˆå¢Ì˜$Šïÿ?ij\?wߎ§ºä›€›¼ִ凧4‘šBòíàÃ×ådƒ«9.Õ†å鉵º„ëé%Ùˆ¸â O¢d|Bžg]ú»ýJ»"¦|UŒ"ú¦Õ뀽-I|ñÏ(HH@ M¼2œo!ˆ”!áûl“Ÿ? vup(„»{xØà<Øîô”™WÐqÊŠyNK‘Ô¬‡âãW×A,ÔšN®€»ÃÖÖvvu­–çææFêãSµŠM’YÅ; ÒJ0ayùÐïÒ###———Íàp¸¶v¼%¤d÷VÎ$#¨ Ì耑­­Šå;[s-………äƒúïA,C‚Ùé3À‡6 **†Udž‡‡CS¹ {{q€gV>©lk#õñDœîˆ®v6ù­àp¸5Q~㈈??? fbÂжå w™-{0óüÁ>~”‹‹k %…HPE÷¤ÌJSRR:::˜™™ý ;¼à½I… ×ó‡ÑTÐdv€õ#ÒÁSSS:2âÍ·ÔJ²À:‚s­XìXAÓô)…¿TáßàÎÎβDl%¦Ÿu’µLïßgc`°똰Ùë ¥òVB«•þ3ÚWðxÒ]Efd0200Q=… ëÃ`¯ ~R’H:&;´½ºêæînUãøTSiº±}€”R¹•ž¥¦¢©\_¢4Á{Ay Á~óÆEtþãµ­-œI.¬ø2$“OGBXxpòX•Ç6í0A”ÁK©þŽŽÈ—ž¦Oµ–8µ^)!Xxx¶8¼¼ŒzõÊ`sbd„ž“Â’ ÎÆÆ¦T­±–ªæU6µï£lX/1ÌŸï±gÕ} p#b»X©D¿k9ô"çåK÷hã`ÅWwywˆD´hä&e˰›í¥*ÜßO˜¼°¾¸##ƒ=kdﳟ”PX?—“°žof.´QíqGØ9EÕ™ofš0ã¯3mM·jöQÿýwL¶ ÖfõúOË©ÆÛ|Ù'óº÷ɼ^Xû~•ÄÍ—váoß“áþâ³±‹‹cvc¯@Æ]‡YÄXåï~÷ýìÕëdâ‡N§r‘Ì&RÛ&ѧÕÄ$vbÏðÍDNª“)lfQÃ[6QõÆMêy"çª<ŸW“‹dVl‡ƒO’ß%dü´Ãø›ñÌ®&°Ž_ê¹=>>F}ÿb6\­¹˜v‡üþ9¯öœ˜JžÌåYâ`ÃÁ_¶pŽ·½` pì﫳“¤™ë­Ëýç?«0ó?ÿ sÎNgÓ“' ?ˆÆïA„«9 :y¸"2R0f¸šgŒó4Õ„8Ca†ƒ ó©®ÌíÃf|éðîf³‚ÑQr¼mÖþ4FQs*•Ì•Òp¡q<32¥ÎXB©Tö>ÅèÒÛ£¸ ™’ñ [Új’‰B‹¬2äÈ€§’Úœe„”¥Ñ‡ñ¡»ÚøÒ[¨mÁß%¿—g³?ŽOß—ù¿“Îg%!ËK)ufˆ“š;fIž©ÒO^ÍãÄc§*sÆðT¥ÂæF)—¥rŠšgŠÉÃN¡š/–r’ÜÍiŒoa93ra×» I”ˆB•ð‡æ¹3¥Ä(R)L¦]AJW^ ,Õ]ðèñD»Å›z!Ù"õެG‘27¤PD¸Rq Ý9+\¦dáð8Z\ 8û¡BOŽýNþóöá;„ß×2x“ ægŠ“ÂRÂÊ\JW€x%Ó\³Â¤_”ǰí&ˆG`[JÎ ­á¬8ɳ Åq 4D£»z«ºžÜ>dÆ·€ p¹™ÓŽ÷y ¶ d-E3å¨)@(¤9‚PCrn¥%£Œo¡©Îf“Ê]ìÆM—ÔQ%@mâ6ËKg #K.2“ÔükÄÔK5±w”ÑM4pCôâƒm":F9ç] xYÝyIêéäâ½ÿÍE Eþ]Î+ üŸÑàýÙ™P¦œÂñ"Gâ@˜q®dpˆ)ÑãB÷N.ÚøÒ¥1}$¼YT>Xv@uR§¬e2uÄ9ÆuV ~MéRËó{ òñ¥ß2Èï“ô_¦M­jj³þ€ÊgÒT’WQâz’ÜígËGWÿ݈4O¥ n(žYAal¢(-•Ny®¼žLðëÏU³øýdñÇ’¼’ߟ,þx«ÀGë÷ àõDîÝrÞTŸìޤ›2’¹\0gm¦-+à@”ÖB”"ùatäöä¯Vµ]õÜžÕŸöKs6Ï #ˆÈ]Æ)òÐg¹J¹!ˆØ÷ã«àø²(¡BdÊ8Zä ¤ÁK3j”L¥fö¾Yæ"@ÇW­'VÎw#k9Í8œŽ`(bêtn³ $Z`œ Eó}í¸•ÞéݦÂ8äŽãžô A»ªq–{¨/â.@²»À°3@r uÆXKMJ3¢)K™2E‘;Æ@P‡¹±Vû’S}ZÏCxÁ.s¡gøppªW2;ÆZµ;q½(ŒÓÚ˜éKK'ÒÒê’³ëºR@Øa.„_äü¤š6Âá,|½rbuᲢР/P¸QÌð,WΩ<£„æ§»ô*ŒÎuP¨¦ÕÙòì—€A+K•¦E©²”æ–RCLÁ‰H)ÓúÚÞõ0v˜ËãÍ»—/Ã^ÞWÆ ¹\Ô‡@Ä.oÒjD),Mf „!räF!²Ã\"ï«ÿ=ÌbÒÝ a/0À×EiS®AQ„§VkÃ8ŒÖ:Z.Ãs] òóA` T«T©œjÆ©‘‘Z–iI9eyNŒºQüŸËGÚ^ÁMÃ…ÿ˼^ÎVMïá5Äš–ØÆqÔ%²1ÆA53©-LÜ:¼, ïZ HžÃùE‘ÐxQè––3¿È>ÊûU6ðI³¬¤©.Ë‚$¥N™Ls”2+Ùªð%‡´Ã\þ®þU6§—*Ð7¤£ä{ÕÕÜÊ>lýÚ—äp•}pSö#¾Ð‚[™f"6Ë–gY™‚Κš’)MÜ=S€†bëøâ»øÛJrëÙœñÁ—6® Ç8Q©Ë\YRi@+v®cž¡ŠRßoØ/`߉=ÈÇgøQœUÓ¥i!•Nsœf)/Q9úVY^Ü·P!¤ÆZ“(¯ 0­AâX2 p¹önR8/&•+ -Sêï `ã‹Çp£¾´‰ÐZ—b=?7†–2ÓBi!#º,4ÉU^([‘&nÜ Æ¿ºYAë]+|îTÿ¥U–0VäÀ{ œ5¶”EFBçªÌlV.~œÐ*{^™Åéä$§3.ŬâT˜Pž1‘e†“ܨœ[gJ~¯á4¾xOÓ?ßÀ}"™%¶ÔL8ÐÆhZhNKŠiéDŠÙ}‹N]£è£‹ß§ƒîOsËsWV!¤P]1>6Ï»ç„||ñŒ°’ƒ/!äWGôî&aŸà?Ç n•M™SEê D–BK'Lƨ„u_3àñpzOÐï¢g§økµg€ŸQ&ØYÍ0"å(©-2ŒUäz¡gw£ñ]ôŒ{Ã(%À™uI-èyf™,aØ®?³´àò0×ùeöœñ¹PG>ØÓ§àpšJMö3å¨É$cyÊ󜔙Érç4†§T¥äF­;Ì5bÊY6°×w“zå™êž\ˈ3“s¸ra˜=€W S”Ž熒«YÆ@®s–³Ü{˜CiCúù˜¯únÍ9×›ñ»¶`9\ÖÎff™Vè´]ÂÄäBS‘K¸'¹!7jfŸk̰è7¹v׺‡“0Â>†yǵbRв´¦4ºÌsÄhžZ¦‡Éü—Al|®kR09]TðT6Öìg!S° Ò•¹bBƒNªœÑ„¥¢`ÌæÈ¼% l€Nã éëï-]ïBtêéh´*1ÄÈÜ€"ŸLSº¦¡ZXÀ[.ùa²û-E¡ 2¾p€È ÓÆBQ.ÁOh£0¤\[(Qe™® ª–xÊ(‡Y´î†£ °ÕójzôC ÿ’g£J"P–YQ*h8Ϭ4,Í9å9wŽpq ˜y¨7¾p´`õ R‡~vŠã˜1ÐdDÒŒs Á”–…Ê5èí9¥(ÞÛû3¾ð¹•O–ªIµ¸¸œÇßJ9~õ™PN`[ šñŠ9M…6…åšX`øE¡S È2\!W»OW·©7ºj´í¼Á£˜KPˆš7§rzÒÞß]C¥r£éð\ "Œ¤¥6©Õ$K 4gÞOÐŒ¯Zšz¶¸•ÀðQ:)R $e8²ÔÔ•©täg–e2÷Í8ÛÉÑUÏ#íÄyü"0-)Š¡¦2ÅS¢2š$·®pš9—ÓÃ`úëß”Ôsï¦Fà­iïâÄ.Þ[O×ÐÊÑúR¶¬39“Ÿý+˜Š³í×Õt˯CòQxˆ†]èÓŸ$þ¶ VÐE½ünGâA×¥#Î `)‡+Cµ£šåÀq‹Bh7¾í¼Û5óñè´œèåD.ìÊËuùí¿Ù±ð#¨•4u–X›SáRX1<ƒðT׳üÝ•]z|gõ²±ïæ¶iþü©#=¿þ‚Oý  Ÿv/O™cR;LU ªF®y‘²¢ÔL3ɳ9Ü5´Æ7á¡õKýÉ^ X–Ó\jA…Ö6µ\©’Y)/ŠÜŒ\µï Xã›ðÀú-r¶ëÀK g]ÎD8®-`¶ ZÉÒµözùHw¯ñMxxýèÙÈ›I¥?^ f ÔršêL*¤(3*Á]®lšjKÕ!7w ³ñMœŸZ;éê݃erCA8Sh|©—¥ŠÚTËÌpZæÆ¨¿Ü1 Æ7!g³ÉÅÖÉåd¥ƒš¸òö\5ç;ÔúV ø Ș³ðîŬX¡´Nm'hyÎ8(Æ"µÀ¢DÆr~ VtÇßÖr¼)ÀŽ2ßB 9Y ¬)–¦¶Ì­Îàp@”ÑñM¬üKo§•¿ÁÿÛ*ä×ñv­†¯ÓD2n¹ÈUá@–$W €ÌRF%·×s˜ï(ðRÀu ä©.45¼Ì £(K3MÉŠ(ð¾Å{#½¶sK%¶®qÈ„Š°œ7 ìŸÔó+Ì]Û”¡ØgÁòœ ŠS¤,Sb- é´ºf¨Â-%Ÿ 4¾=©f¿í›|V°RhLv!p!è<†8•0–IIly/µ”\Æ7nΕÂP,¤!ºðÉv•ÚBÞ‹iÄwÿ³»ï±öx4ïKî,GÃCk7ÄbY 'HˆP‡fÑÞ!¸Ç7`ìÀ¯0¡=J¢KÉó‚QV–‚bÑ"î„%ôÀlÑ»ÔøÂ«Ž ½ë>Ü!7¢™™8/R—:X#¨®4ãÚQJ˜v‡–ҹЎ/ Pn €¸^TÇ­GhŒ˜+°EPþ0W”hjK…Á‚¥¼¿îäñ…cUƒõÍx”#…žÍíÌNG)LN•᜚T2.±˜V”©,%œQZ”÷Ê%0êøÂ½ÎvKÊZò¤ÖrÒóÏn>Ý"‡ZβYÊ Kí È()D l„e@7£Úºï–ÀÖ#óÊ´+œž¿ë<–m÷FÓµ‚ð= Né«ýk’m£çÕ,H¾ð‹a{ ûy¡`ÏáÃ[êdRÌ^ý¹anÃØ0jc̯sÑ »4©¦$þ5ßq v½fÇÉ?N+}º*Ï›à©`UãûÜÌë ‚ä¦õŸÝA©àÜV7PùÙñV0ƒÛýTÉ=wºOñ±§ëúëN5ÄðÎÏ÷…ÿõ¹®ZÕf™-ÌÛó‹:NÞ† åª9¼ðö,=-Àßøâܽ+v^a£Š`HÂ|³wJJ‘ÚÂ8& Á}¥ JKLÁ+4Ë­HA¿­fòó:`‘‡­œ¿Ø¸ç°He;Lâ ß`\NĹïíÙ«î|¾?%ÀÐÎ áL°ƒHcn¦IÜps;f‚`¢€•T[à…+3ªÒ”KP 9òjöÓÜÚn£r2©Ï$¸£©ÚJ=ð Œe8Â=TÓÐ9 ·’7á.ùÆ)Ýõ…ûН$ZN”x öǬC«jï,û¢>‚í53Ti>ÙÉE•§Ÿ½ž0ž=€¢ `½jQ¯?W >lóò×zbšä .O5›|?yö§8Ÿ£å':C/=¸áÙr"硵̱ç¢í¸0§>ov_Çw’¥)œ"e©âeΉ*àÜ2€Lfù`Ž—/=¾¯*µ -ôˆ~ú‹;Jþ<]ža'.¼b?Öz‰''{L÷’Ò-ã]a|¸peGAïÉÆÓÙ¼^Ô¾“þ·…BC÷[üý|õþh6ÞõÝenšE?CÃÜ:/óBÏj/V ]É@úÃý›Z?ñ7öG×MrZŸû[Ûî#•€ »AqÀwJ´/°o\K2ý Üg÷Ý ¿ 1j[C—ö*š €b‘Îí%¬ç/ u8ÁscÚP¹^Ç-m' ‡ƒáüÏ34áÏ$DÐy9à äñÀ«¼]ÇMµ´&úýT5³Náè(r{@gòéð H/¬›>€Jï+åíO8;’Ð×Ënv£R@€Ýš$0ÄjpŠC‰ºÍÀÛŒ2º-°ì!½ñÿŸ`ß½~«¾ß!±‰KŒ0 Bj>íƒÝ)ò ¡ö¦Èk´xÛ÷AªîSßðÛçTÉo˜¯ÓÝáÏÉèú!^=Ýò°× ‡aäîn=Û6ÈÔ<éf߇`bØî·<¾õ”>]Á}Âß¾ŠõfÙ¸WW0“7 e.¼ˆ‚’h;(r¯CàsFkõ DKÛDäÚ‚ý*°e â^H²CgÅ/‡$è£Û@‘ ˜1T9J.G„«öçüh/ž¼Ú¶òÝ~÷rà¾pš­>F¥}Ë×cðÚ žËU²u³«)Ó{»h¶ÒŽƒd>ïKØ€ÅqkäjЄ¨´I<ñ†¯÷Ö&¯'M½²vݾ[Ï#¶Û".!ã@ï)éøòÒé—$—õOÞi CÚCÁê·N8DzFo/,ŵ&‘èF"…p¹žÓ’ºáé|n[¼±•7AÕs)ÏT5 ަ8­«ÑŠ^ÕŠÜDž4/Wx ñé9äÿúƆ¨—öÉ©àé½ñ¡žõ~úûúûÓ?ùŸãäõô"©Wa«É;§3<­ç](Ènär‡À÷”\~Q}äKRÊͰŠ}÷Ñyà¿QÊ 9í@ 7‚.&”›Áƒ§8ùIõÉúà0=šv¶óÓzÒžR´Àã—ÇÉû:Úõm\Š×‘Ÿ’£þ¤ðçY bÞËà×=]TóU¸ÙëmçðùqŠÿËxøÿ³- ã,êYâ=@ÎçS4ð÷½nGa¼Œÿ?¡l¨_¨Ú¾¢mÛ…´0ù¯zaƒs߉uý×±ž¡?„.hô÷bíqìYca—:ÄëzB¹Vq÷ê Ÿ‡Õ«Ý>ï°2ë3$g§®žë=ùÓÍѤ›p+kë7ITžÂ˜ir#ŽÂ÷KåŸzÍ-öŽš0ÒÈ4´,€r;qìðrè|áC5|¬™–“‰Úb°K@ؾM¶"Í B0%¶nÅn›A55ìa  ¬qDwbkÁü"0o}„ÕZ aÚ¶±eÕéà-ö/óÀ…ÉZâýfèxmNë%üÜ,ä…'¿žRËÈ):¦s»åW0¤åÔNf+¾Ø»J=‘¿ÇvoÅjÒ 'ö¢P’w*뺳ö­[W‚1ŠÁ¤ƒôÃàd‹Ög½¼íóøq)Ú(ÿ°šG ×qËl@V‹D®IžÚã“ãý/óÊ\ìÖE÷¯…»ù(ëü¸w…q0¯ŸÁbÖ¬ ¸Ú‚„ Ö lD6Þö?õÒ¿bæÚg zëS«&?&ç§6+Ãæá°ñzŽ’ëÃ¥êã‚M_8dkÏe¦8),©0—˜Æ5ˆkš&}òj!?Ú›c”{- #xé„̬¡0Ó¥Ê8Ú­®Å4Æ·òiô˜F8×{Ê1<¯ÀTñf»UtºT/DÍ-S¨Vªj´M_ÊIâ­s$‰| ÞíÈâÕìfÀ)L=ýj˸­|&Ø;å9²XöÄJø 7Ð_ÿŠt ÍÍRkÛ4n9 ÃÉÉZRB„Óqò¡Æ‚Î9klo˜æÈ3€=¥bUZE3å¨)4ÅSÀYjHέ´‹0 B[¹‹±¹Å „=…ô}iy)uA ­a4Nò,Îá85†kc´ce å7Eɹ,Êœ¦N™[€´Pœí4aNå$•× äãy˜”Ü#ØF‡¯C…o†=ìKÈmûñ×Dʇþ¬>®¤ß‹ùÒ&HF ÜFÌcU ]/w–ÍÍvrÒØotû.éö] ÉFÒ\›(¬ Š(f §”.sQ`.Îu,+£}˜¤u{ôF¼$ʽUM'ÕÔ¶´í¶É:z¬oWùòC(™Z‹>.ãJOFSyïO(¨0ÅrÉ)’–AHÌ}åð7ØŠœGù4$v.çýQ+ÛÀÕºs¯ç‹`©Í%H*eÊ2‘çV8¡­™u £¥Š^Á¸¤Ž*!4á6ËKg #K.2Àg)³‹`±òÿf€ÖËû`›ki’1Êè] *åaF³ºùâÁRkUÊvZ7æn¼÷@ Ö¾tdl[Mro‰0« "ÌÉ÷º6öùþ…ÿûŽb¿…¡ùÃéZXÂÆN_õ §¯Ú„¬o…µ²AèÜzšºž{<·«Ï»RH=¼d¤:‰QŸÛ¢:áSƇOG ël ñ¯±úÎ'+c`J¢õ´-SDŽË2YTgQÂŽP³I½øC“tÅ8á͉cšvUXr£¦C"„‚8,cŽ1(,šÐ· œV!ý(yžü)¬ÛšNÎ~?^+aØ2ŒT3CŒ³šs^ X3»å`âׯŒÚbUˆÖrЬÂW»Ên‹~݈}#‘¬Næ­Ê] ú`M¾9ÏÖ“Å=\|•Ù·žFwûÕ÷Ϻ_Ô7æñø˜ÇW˜‰r=æá ¶›ÛUP2³±RÞ#â!{d·DÖ±™Á2d!ßòRÆóRnÓÚ~uŠ÷f:ãaÓÓ®7äWmZÈ£²˜¯'g¶ÕAÚ‚Ã27bÁùÉיƼŽfÇŠäCý›å†S­@¸)”$&PR×e º‚mËéèí+ÙÄ;±žË1ÌU9óýBÑ4È¡èåxLã&n0È¿ŸväW{î«»7—$ÚÔðã€\Ï­'Ø!YÆûºÿ2üëƒÞN.–›—¾Ô<.(ìÐFv³&˜ý¯À¾&˜ñÈŇIÐ~ý¹j¾Yñ ÎùfÇ= ÙE¯!Êâ)Ž¿œ7 w< ˆëÛ§µ¿uæ œ»·bo æZ,Å*d!e!»²ãH@˜žo±¨WS=Yb–m›?“¹ª·§íÎm‘=]̱y…º‚Qœ´ƒ´Vg?Úqòô§zžØÏiÉ.DíVµCúÚº 7í‹ÊÂ8¤5OõbL¼C÷øÙ’Ä,MMNL!lN­VJkTêûÌ–˜˜|5I\_lzˆ~'mi)³$场<Ï •ÂUJ%g’i)·€n¯6F2— æ¬Í´e0&´†P·òƒl÷CÞ^¾ !IßâŽo†p5• `øb- 9¢*\‘O•ÙRSð·KbÖ®Ì_Aê }÷¾sÈ Šì²¸µÃ*hõ‹Ýhj/2Ë “]D\ ‘m‘{ }ûàë(sË:n1¥$×\8žF‘»ŒST„U¡ÚpCBö3îb×áC@µ%´ÑE?&úõ°­¸_) м><Æ©ÞZx®7$?2wÔm\ÐiE„=éÛxÐìöì‡]¨¡BdÊ8Zä¥â 'ŽÐŒ%S©™=¨Îã} nëÆ?=ÁhÌÇdû»}Ò‚JâP¯\×7 °°–R85Ú®jb3BŠB§ÒJç,ç*O,…¶ÊÐÃ’6±Ÿô#¬Û‡·z…g·Œ½ÚLh—]/Ê„vãù"ÑäOcá´±hÚ³àøÓ«ÃYÏˉ^¯a…!4r"wì#6´Æø¨…ÓéEßHÁ~1qçx-òüy.çÑöY÷–÷‡=¤ˆq¤Û~]=4#T ɯÿ¨Ì‰]$O«c{Ü–|Ú¹/øwÒ*ˆa&mÎdJrÎ2ÉלS :‡¿|‰Q¡=ÇÁÕ {Öz÷Ï@£ NFjÜ9C+…-%cêAÜK»Á`î2U3ƒsj[¡ÔAˆòBœh³Êð=>>Þhzþì(úRâ˜­Çæ/±Š–¯Š‹ö? m¡Ï‡òÆì+†×b‘üús‹«ÐÒ-zb`nÏ̉]çÒÉÅ^û\n@£,å¹"` " Õ$K ,aøX؈4õ¬óp?@Ýó~ª_€g½nšZW¾÷X2-ŠõêØµèj°{ŸºÀè”E,¸·á<§(Q0£D‘:Û,…L•æ\(b¶¹“'=´ÃœƒØ÷Hwé¸*ÒÜ0nACÊX¡,ð–bõzì{`)݃A¯ã_ÿ¦þ…‘.‘í,꭮Ꟗst²µ1þ-\Me0v6·ŸªzÙL¢'Cöó Žvóqv(´²\]JžŒ²²óA¹–Pµ±ÃU Ô;?qG=ëé`½ý*»ðbXàИ0ì^í¯F”ƒÚ(1ßi¢×Çô\=ƒh±ã¤ï£ZíK‚ÜÔ Õdfç ßo}°Ø¶ÿLÈ îÌ õĬ™|ÔÒ¼5€„LíyûÖðtŒù›Ž½JñM´‘ìÅ ˜]ŸÁ%¹&uue â\=–e2FCŸÃQ‚äø<|^ðcÕÈíì "Ó½dVß5GÊñ¿v^²³ÆVá›=åIÑ×$ñÑÜÛQùu[ï®õÞö·¤îÔÁþ#ö³ÛæM7ÃuÆ ?L®óëß-vXöQTX„v=j­ÌñuØÐ¶©öe*gòs,·ü¥Ünb3Õôþm&fÿ²Ÿf‚¬>ýIâ`_~W,ê…œ„öw—<ò5Yr[®*}tL*o=¦.Ö³Û¬—~›!ÉX/µ3.¯ÌÂ>¤[/'²u—võý‰<7ÕfÙ#I¢ƒ'rýÎñÜ36'¾êilßѺƒp¸£®ÃÇÚcü¥­‹•¸€Q@æ0ü9ñ—µkËâ#ãbÅû#rwሾr+@u_]W|¿ ŒÓkÑþM@?Ù Sf@}ªLÎÆ%æVÚUóOÛI[C3V-8•!eZZàm¨A2:JBŽì$ù6¢ã.~EÃø¯ÿxûã_þüáýÛÿ÷Ïÿüåõÿ.±OeûKlÛ«°ÄöÜv[bf{5À†KjÕ÷åÌÇUÅpÑß¼ñB¡gHŸŽú·/,®{‹{9ÃðõøaŒˆð«,NýéÛiÌ?=¯çîÆ;ØÏÚZÓ*-|z× Åbà|–LzVÏæ é[f`A ç¤Æ1€ŠÔçÛ¯úñ³þAmaþ¸bXVÄ ¿“ù «ƒVÌÀÓó;òïcÅê#”ì¿—!‹ ;¹pdþyw`ΧxtënLj|²%ÝÍ©¦@ú*ƒ`ã—G½' ¸*SÙÞa7½Iˆ;#÷¦Š+âÿÿ¥!Ë þüϸ0¼?­z†îúê28¨p¿º zœü ;Í륯ï,‡°x\KÇŒžS9¤4 æG/PÜ€áMÎÃ%±kS E ¾ `?Ã` ÿûEùõùoµoò ŒZ.Ú»q”ïZ˜Ò·%©§C×'‰±uØwðoE" )t{ÇÚXá~­†GU/ìê :7ûE‰×, ÐC>^·ív#68×=Ú]6Ä>Ž·Ñ=ó"ûôò-·r~pÿÇowò’;ZC…þõ—\ÈÃ×"cª±uU̾ùnYë½±žsŸWÓÁ×O›Ü{rá'*u™+K* /rçK*eF¨¢Ôaò_Âè‡uÐÓÚÉʲd6³¹á©5)Ìɤr¥¡…ñ3¼^.êÞ,+Yàmláû.Dæ ²&È5‹s r]|0kö‘0Q9ýܼ•ý =x…¡zí$£Á4}¯šú:W's9;­´O/š´9ªð)òßhæQ·«¬l²¡š„ÝP¨Ûy[ 9¶²º>óÖB؉mAÕ+ÔV‹ Ô6[ŠÛzñÛÈÙbpZsó– À`(ÐøwÌ\ž';çr½þ\5xùV³}ây&Ž–¢ ¢wÐ+ý±ý9‚©z{@Õæô^kÚ .é¾»1ÐÙ ¯l¶œ½zÓµœì§'ØÏ]z©Ä$‡Ä‚â¤a!¡ªoo9^ó«?Ùù9ÂÐŽl2{€X΢Ú5…0.sÔ°ЍV"¹­|0õ-÷#g³ÉE«ßµô°šbä忆n%žûàÕP>kL yl´0òž „íHó–~Eô°«1r91¼+‘N/sx§‚t±È*šê6W4>?“SoìluQ¬ªÛFe~€ãä=þÕ¦Ú£ÞWs q ÊMœ¾“Pý˜¾˜@¨æ{z·Aj@S£-*˜yû×g@>ãr¢z„f0¬”Û‰íë:JÓóÚ2‰ÂÕÐ<€=‰ïB¯Z…‡Ý2}"4–M8ÅhÍkïgO¿Ø~IŸÝ½?èNïŸÆ&…L ©tš¥§YÊK§u‘c?"–$\zKOúo à®ÀÒõ¨Jú¼ÝUÀ¾‚®G¿lç…Šî’àsFº‡ÛáËH¾½wl Ÿé°ŠH›;8÷¾ÂŽ,§XÆ7°•$’ãƒÈî! {4Ôl|–ÇFÍz »VÈÕ›w/_†q¼È²wD~ô51/ÅfÄuŸ;«óúva!kÂ]p6ûcõ¸­¯Á;-Y‰CÁ/–ŒêâGv,Ÿ:DÆq¦¿Á'»„¿ÕÚWÄ«'>¶‚ñQÏa×¼ªX{Т÷5•w$ú— Ú‹:Ü•i¸¥¹¸X¸Üð¨šùü´±´Î0ü_æõr¶²Ïöy³*o±±cžæ–ç®ÈUGEÑEj2¬l› iæÚLÏŽ¼ü¨â¼ž¢-è©/súÌÛŸîÁ¿5=Ýö“Kn“x÷÷~ì{iög9ÜL+ÔBi!#º,4+ ËÕãc9ñ\0:ä¤g?ÌA¢sÓ†§| ,§ˆæM¼]äm«Ê—™i^¯ÙBlšÏ²÷5ÿº ¶îœïSÑ.Œ¦Õy}þBדåYÛ3¨ 3ÈÞž‰ßšÂc°™oú³tˆwtÑ5@ÜwÄÿ>ü—®×%i2LîÈ| X+ÎÊöîã™ÐÔ§ìýÊ\‹û–{âcçäIÔvÝ—Ö!·2„{© —†„­Ï§ÐÛåù!zë“Ü?UupÇ6]œ[wišSÊ…u2?k;‹Q¨{8ú„%ŒyÊ$5€[Ê"#Œ ¡sUæ6#ãÖ)ôqñ¾\üC èÕíïY+ˆûÍ—ºý©wûMj‰ Ɇcñž²¯=HÁ,6;#@6@feLd™á$7*çÖ™ò‘T&zÇ>ñ¾Œoìó=‘;ñöÁI’YbKÍ„£¡i¡9-iéDF Ãÿ†“ߘú7¦~ëLý^¬½z]Œ×é,…÷ÃUð%©Éµ-º{—99 Ÿ~£E‡F %C(vI}[¡÷Úê’­»üMˆëîÙÉQTY ;óºY'3 fè…ÐGXêrçä]®Õʯ\'ËéZp‘_úÊ@²B#|o 8¾öfß‘³|åŒózþÑSîMµ\¹¨WŽ’½sË@؇–[eSæT‘:Á…&®Z:a2F%svPëèû@˃æ´IÌÏVö¿V‡–|º×YH_¬gІ¡b[õÓ»ržµ~S]Ã¥´MˆPépºr=±_éÞˆ9îºÚêÎe´³ÛEÏÛ;Po–“ÅZ  f¾Ø…ò합õ[…»§¯Ûø˜aZ}˜ ¨ÆKâª*4çwÀô¹Ï©¿´ëо-òBJ‹»ŠSJVÀ!:K †ý‡Jk·´ü¹Úi‰&wA¶'vjÞMŠSd*MΙ…Ó±¢ YIƒsJK™K&2?Õ–ÏÜhí›÷ºÚ•Üæ$+lAejSZfþmP¸¡Vv³ùömed”ÉàÒ;«ƒ[V¤œènY†M=I^éêßô-è¾Òùå ´ý û2ÛÈs{“çq³óÐ*t äù’â,cäyP˜årò<ð–n-Ïrct;Ê£/SVº¿ÆW”ié &%ÈŒ[éö¾4”J']šÊ¬(I&,„I¬"ÒÉ» %„ëÒ Lé¶"©vT³ÜVêÁZ+<‘>nRÐ.0n¥ÜteSœÞg–Âì-ÊYl/³Tk•S© `U$ç ÛgHËÙ†õA~ˆä~:5vªóõ…)ÔQ;kcÕ$ 'o]D7Ráµä料}ˆÃ¢õTsߺÍPO¤á]W÷;‹­[œöšÚ…ÈMŸv‰ÜÃ7×KEõÌ%ƒåbãu9ÍZµ6Ÿh>ïl¯QhÇE<,n½¤Â³$Z­‡»8 4öÖOBn7?ÁRQ‡ñ£AÿwÒ¥KEF¨Í9)¸È¥šdTrÐ!Lª7Rü÷jjµ’¦ –X›SáRàð ¸Oeñ`eíK Ûg5`ú;Ôÿüéšå¯ýÇ Ãì_ÅúÓ=î¥7VÒå~~ï‹òp]5Z?j¢øs÷”²5Ž„ !Êúè³7¿cúý uQp’eµ6R}KeQ*±«aöZH2Ǥv ©%Œr¦y‘2 gL3ÉÈcDê_êOöN}8•½áèÍ—@b¦¤-Û˜¼Ló¼ÂåÚÐà$¨Œ:¿[Ns©ZÛÔr¥@TÎÏ‹"7#Vƒ» ‰‹Í)¾áñW‡Ç‘7·mvZ6½V‡ u4h'±Í‰¹!L7€ÙeY¢­ä\ª¬d¼Ä.Òd²dòZ˜Jˆu9¹V@?TH¯•1 —èŒZ[>FLÿÑ— }3©ôÇoØþõa»ïDƒ7à¹Æ+p(ûÞ©r!œ¦†:“ )ÊL§Jp—+›¦ é«ÇV­èüÔÚÉõQê«a¾¡Ôƒ@)ðÞQ¢cvõª¦^ΛzÞ+Œh·-sPBYêtF¤Ì…•4Ï(Ë­vÒ®³ôZ\Óä†*¦¡eª)c©¢6ÕäqZæÆ=Ü<‹p·’KðÛšû1ØI_O}S@‰…ú÷‡8¾“>p‡Ú8k?%÷¸¬ñ=&‡¯J“2[˺ì]™U¸zÍD¿~LG]1H»~Ÿþm9U†sjRɸ”¥ÔZQ¦²”pFiQÂÍð÷zýBÇ:]åæáê2VêKÅ·fØaÛ›ãí.Nßµ'V(­S›ƒ\€½Ë¸–…H­³Dd,çÙ“WX<·-¨pÛ`Òí¸WŸ3<ñÅ0ÏúRìËQùŽcç¾DÐÖÙ¨±êÉŠeô9¦¼¶áŸ[`T·|¢ÁV¦5zì§‹° _qÙˆ—“Óú;õl½üºÕwEÕ|Õîú^§&¥4«žý]+ë°?ˆõM2ÂŽŽbÕÑê“…q1/a^™Uë…á’­hq ·iÕßB½úÉwÖˆµ—_~ÿB½º2ÁÎÃÜì×>©:ð†¹EÝ— SÉPñ9Ô ñå4<}õC,x8m¿:>Þ6ùÛzƒ^úÒçal$eG‰«¾GØ£d¨ >d@*PrîõàmÔrK´¸êd‰1;T•`:s†eV”Ê2Д3+ KsNyÎ#\¤«ý…ŠDíâíáo¯¦’ëEÇÖ:1EirÅyQ¤”Ь„ꬴ†ðÏòËçü  rø¼Ô‘Ì‘¼°ÆRk˜‘¹+ ±¬( ¿ —Ïû>ƒ?c»ÐÇɸåößK8âXË:6Ø|ØÇ]¡ãeK,r °Ñº( jtÊ©pœæ&ͳ"Ï¥–ý%^%Z ‘6DÔõ=±õÔt¹ý«+÷‡fp3Ÿ% k/ô»žÂUžTÛ™&B2ARÎF#Ì(g9öS&–8—mì Ïzë¶Æ"w.…-ÏhA­¥”ƒ´°%Ñ™Mm!Œe*ÝXA{êÛÙÜûz¨akIO¨5[ä¿úª®ˆ0]^ÒThSMeQˆœ¦™)a´Ô©¦¿¾Ž0¯èpÏÉÞ?µ­Œz3ç èæ{ tÄìN81õg¸9ë´oSèÁ‰™ÕU¬§? ™ü6ÚoÃ0„¬YÄ”ìbÆhê±â¯¦—0àx¿;jجÚ%ÆbrØ.~E=2«Ò7{Òö¤Uç £î*ƒ]nÞôïaäas­?Ý`£uË{üyMõjùd>¤Lô¸­}LFº, ÚËãÇÉOË9þ+ìBOªÙÌWƒŒÓ“‰íbœÅïmRHá –ç ³‚0EÊ2%ÆÑ²N+`t8Wç}¸¶¨`µ-£® p”‚¦ràZÑ4RnMJÍíˆ ŒfÇS`{°%ÁÌDÊ/t.2¸\לJüg$°9® yÙ” ó2LU<ÛST¸<1ÈPuš³+K^¢ÔEIÁ Hfr•R¸5ñ ñ¤,@#ÑD04ã%ìÍ¥¹ÊRCXnRs£â l „,È#Êœ #•Â°Ï „: ¡×ORVà¬ý¦P `Ù2· ~Q˵¥V<Ù.–„5„ÖÛiµh5ÝÛ‘SÖ˜ÑFõË$•vñ÷SX¹Ÿ¢ÈZ‘ј¢è9yÕÞÙ&&¢M$Ôg]UáPAø@¾²In¹$ºDË"£¬,u˜¬ç„%Té!Iù²[Œ}×;g¬Bä™ÝÙ¥®uoàÚgeŠÐ•Áu°Òš<•Fm¡šÑ"ô–˜ úñ|~ p˜¢pªðI#ÒÀ+ä³Ù‡ˆ•Â¥ãªHsø•šz­@Çâ@މ}°=w?ÔÍ#ëZ\·÷+\üîÁ#L¿}®#x{ñ1­{÷ö÷¶t…ñúA5©Éi¯Í"…ІÙµ|§xœÙÅi}µL±¡LA0)™s[Ø'K*×EVp2Ï0û\NþÞ­£5Vb¯[yqÔ3å Õ%Tò¦Qß©æ k¢êƒÝê-uƒäVø`fàÔjÛ4r^aã²I°Ç'¿þMý c‘âG¾º=«ç˜Ü'ObDR§"ÈÞ°­!TNÎQ¹ .Ñق忯8¡‡=dö*½ÞºnŸ…~Ö™­ýy((”z¹¸Þ#Äu;­²ƒLû¶}Üœù~1£Zää”=q¯¥w+uø:òªëɾrZ=½ŸòÙ-•Më‘« ¢—ÔCCþñ4þÔâtG ªÅ 8P’zÔQp߬=I³œ;Àì ã!nv_v¶úÔŸ'>|9´ÒÌ÷oùlõr´»ôtPP¹jßïc9] U½h(kÛ©Åê„ÁÀb¬F[L»¤¾©¨k¶õÒ!áx»Ál1ÄP^ºÒ§mÞBëR˜ø†¶õ6˜£ï|¸sljâ.FÊ€ozã ²ŒÞÉDáXAMv±u+k{@Áó~'•æ¢AGh¯’aœ£m :°–͇"bn…¶qëaôØû¯BèÞ¦åôûyØ1y–ʼn·ÖºhE¼äè•Èz 6ý±þЇÃ^ôV2’qËE® —¥…$¹’1g)£’Û[|ÇšŠTš\©œŠTš^f†Q,XÉ4U$+bMÅ·+ƒŒ?áu-šbÞÀᜠ!ùñÑòûé¥íûRºSBa áZ’<©}bŒ]ßü¬+иÅu²‡ Å­M-u¹´´`i ¼B‚âRð’ÀU+,ß”¡z×,Hmk[?KcgИ·+÷;Cj^@šñ‡Ÿyßñ‚@—MÇU °m%WDµßÊøšÏqÀpðš $äBbåš§¬i¦8OU&sÊAB.YWS½÷Àú²éž[ =S–~púZ1ÈH}o¶ïô-\•AoèòèÛ4'˜XQ—åÜ8R^h%K›Ó¬ä˜TﺬZ^÷ýø…þÉ%ºÔ”§L1i9qx¨a°Ëý‚Æ6s, ¸Üd‚•Yž•¹4¥Î´U™ÉÏ\[µ²÷ÝáixpX.'ŸM¥µB9K3A¤Àx®\çl0U÷ñna\—ñL B8“*£%¨dZ’‚:E„&¢dL]<¶WçÑƇ)üŠñ‚kl»ÅüÆ­¿·Þt{¹ÑÿO-uŽšBÕúíù¬ž/ZF…ýäü;NÞ‡@vÝSÛb´@GÀ7+á·1¦rÎú=àÙ ªwe“ï´¡k©Vª ûŠëjÖ^úÜÊ-b®â²IÍy&,åÎ ÁsŽ IÔqE#D2 Mü©¹&i™ ¤´(Ó¬µŽg9F•Àþ˜5·BÍ•V)l–*VZWX‹E¥R†-uvCÔ$ R1ä'WhiˆS™Re&%±åã2š£|w_j»}Éæ‡ý¥1âô_|tõý]Î+ Gp¯ÏØ…¬&_¾‹£7ùî}‰:}ô=šzÞ`§âèy¼笠²­Ú*y‹¥7OF[®n3ɵ EBðÎ ¯§ŸÇº:s‹öUàñ•÷¼v5“|xäÊX r†qê€+ ;¹öŒKÔX46¢ú[M­Îàíë»…{£Oà6C#Ëq/²A7|Õ ²¾WFú°SŸQuZOºÂ8¾ÈÌó0Üó³Ú`.ß<–›Ù9ÚW5tÚMµ¾XW«…Óen3ÅÓLH’ƒ>-©,‰NsÌ"KóMµú\V°ü[aDÇöÚŽƒ‘÷hmápÚJ‹úä¯ÎSï WV×g«».vÓŒ?û °éð×íO«ì<àPó‹¤Ïô*_ÏV[Ë4ø »oX©f 08«9ˆ@.Ö)HM‹R–O"yú`›˜}d`4Æwbæ¬nªX )l¹ûŒ;Nà’/ÚnÄoyb›&Yuïè@¹¨'°ÂˆBSÆ 6¬±¦ÄÈ…L.ê% Å:b{gdì{Z¸7gà ‘@‰|jæúªB‚äÿÀ²P ñÅS£WEN¯l¡åð#à:¯š"¦ã׿:=œµ-º=q¨äÄêýË{œüwtom,§èîWà•€3‹°ðd%–t=Zõîêûábíª^Y«~q³¾l’§ã‚ZkYwµ~ñqã8/ºÿÑûyUûR&ý+9°Ÿ=[EÇpy=ŽÛÔÑÚNùb{'²òª ó'±\¬Cîe¬tÀ3 ú— mÜP¸’^6Á®k]•9_'ԾÖÓåd²î½ót¯-ÞVDç\=Oœœ4@7nŠ ˜Æ:1Ý4 7¶pœüc÷²üé{âºÅOë8R0žO}^W¸+Cã™èËÚ?PŸ| lßE9,Ò§xÈ.ñ­³FП£ß÷`Ƽòµ2èk|+›#€¼éÓˆ„§=Þåæf-ã7À’öÊ æ Ë’ä £Êxª‹\º"+¥Ó„…0¶‡™7ii—Br‡´TÀ¦°¼˜‘4WÜÁ´¥íUEÙÓÒîÊ S³æ:™, …Qw™L%¿®¥& $UŠ2+RZbazMŠÌd3B˜´Í¤¹”ÒÊ8üƒf²À +&•d¸¢Tî*ÛÌ^½i^Pë(hŒQ•Ú"Sh“aÚ¹R™-µ\®eûqp¾YÆMYêÂI]0K2ƒKÀbáÅ Ù~Æoö£±ý Pôºñ’7©±ß»øÉG¢h·ŽB_-d³©ooäÒ`¤Ò.zѺY&€>«’rEHF8#‚S–k „è"]Ó#Ûå½Å>wÐò‘ïn×ó‡~+Ãù…²Ù¡Óì€ÛÛƒ×x]Pl×…Á1Ñã)ˆ­pø,Vä‹ÉñouÆãÒJðQÈ‹±tíG=ŸD¢‡)ì}>7%‹ðŒ§”2ªÍ­¦iÉ2™)™£\!tv¨,Â)ªŸe©.aŒ¸"Žð²( ÍÅue‘2u¤$&/ò ¸ªQ «×Àù„¶¼AY$wÎÅ•œçÄJ¡Hjmš9,H$ÕWo@ѹqÚ®¬2 „¢@D0˜å@]–Q~£²ˆÍ™ÍóÂÂY(Áµ))S™–T8 ò¸!Yd¼¨Å£‘E¶ÕãøV)楗[JPì€ÙR¤á¿›õRi5Š!Àà[CÈ ‚Œóv?ø;“¾ñ颴Ñ6_êE=÷•ì0`.f8·†0l@8°quÅŠU´WR—¾™RsR‘·Å…â°´P¸•,Öjò¬oÝ*Õ:@’3ùÑ&[®{¿6Äó8ö–“~ÎKÀúß2~èóŸn™ã™/\ì :!c°Æ]í ?&#ÁÕW ¨aÞp­âد"àxÂw›²úOK‡_[Êh°Þ#œC9dV+ç06Ó¿^AÔ\e·Å¡<:öwТ~˜çe¼ºÒÖ"d¡€€7Ë]xR Ld™£Y}0¾p€7@®˜Ó6š*X­Œ§GãÅòC*Çîy"!¤éçø r>Û/ofZ”Y^¤.u T0©iƵ£­6Ùƒ TÜžúî&ª0íXÁàÊêP‡‰½A¾É[åŠ+*@yJr (“Uêeï¬8_t=oásO·Az¶…ÿm¡k9YS7‰6˜iŒôšpEB~ë)X!iï8ùº@zþ Oþ%p0tµuã>sI|ßX¹íå¶•æ—M—0xËvŒƒ€:06ìB¤]ɘr¬ ­”1Àà,§Ô–Ê©)åc*.ƒ2ù‡úÁÕ—ùÒñq{ó“¹w‹‡»i†ô Üßæ’ ‘õªæ´¾éþqôƒ¡6K)Ä7WNä©=3ý›25‹¶~ÈzõL× =6¶óéô¿¢üÝã«/ºQ/Á%|™¢?ã= &1Ü"±nïÙtKdñöú:<4â8©Aóôsú›Ø1ÉÓrn”ÍRnXŠŽ–J ‘"X&‰Ž9œ›åEðˆ÷.³j±Ønˆ»ã$÷;ì–8º€RÃò4½n¡1)¤4mk;ëªÅm»ìQË5äÜÍ]»Ú#¿²ôÃ#-½ó6!Øéòl=L~ôe‚WõOb™“¶ ]&º s.ဧó^C6ß@U*´~õ!Œ=;±S`]=r<-³Ö¾¡«@e{ùýôï'Õ«f®_lƒc0*ýSœþ³©—sÝ/&Ñ6…pøþ|ß £g³øü…Ÿ"ÜçÿxþÜoÞÕ}þ|Èz] ˆ ýÅ«¿t o˄Ŝ.³—/^œŸŸ›úóì︞Ÿ¼¨@îøöcxîïFz,ŽÓcÚOÕæÿÆ7_ýîÿ«V ™Õ ™·B‚xœì½ks¹µ(ú=¿‚Ç©JÆ)  40™¸j2ÄU™d^;9ç|Ù…§ÔŠÔfS–•[÷¿Ÿµ€îf7E©IŠ”%ÛÙ³m“ìÆca½±_þ¯oþñõ/ÿç‡o'çË‹é5¡4ÂlxœµXeXɺ†™Op$¸È ‚ëàAƒØàdp2ÜBAƒËâî®Y — Ãà§÷œûÜ{öü¾§úGWwU_U}ö¾­©¡Hô˜ö1‘²’¼6p‡caaã‚=“ºÐZà†g©ª(uÿוÛZ”Œ…EÖ­,/£ã›y ùtkñï&Ì ¨Ür#Bÿ·Ç¿ƒŠuMÆ«îÏ; ìÇYvɼ3¾ÑZªþ¤õºµÖ*¾Ö1‹^ ‚—>Ïãxœí½ksÛȵ(ú=¿ÛS7±wÉr£Ñ 4œW9žL⪙ÏØ;9û~IõSBL AZÖ>uÿû]«»$%ÔÃ’ì)ר‚€~¬îõ~}ÿ?þí͇ÿy÷çätq6IÞý÷Ÿ~~û&yòüÅ‹do^¼øñÃÉÿùë‡_~NÒc’|˜ËiS-ªz*'/^üù¿ž$ON‹ÙË/ÎÏÏϳãz~òâÃo/>ãX)~ÿù|ÑûòØ,Ì“W¿ûÞOøùl2m~Ø2LZ–eøÚ¿k¥¿ÎìB&øîsûïeõé‡'oêéÂNÏ?\Ìì“D‡Ÿ~x²°Ÿáã?êS9oìâ‡ÿþðÓsñä ²¨ûê×7ï~–õrñv ¿NÞLdÓ$¿Ygçvªí÷/Â[¿û~RM?&§së~xòïűnš'ÉÜN~xÒ,.&¶9µvñ$YÀìqR|'yW¬js™êS¢qŠð¹Ã#9xð3N穦Æ~>[ÿEVÓä<ÉWÉïÏ*cêůúÚ?¯?Ùù§ÊžÇQÂîþî<Ôieçr®O/â0mÞy9Ö ¹°&Žðz2  ¶ ŽpÈÀ_ÿñüyò;…ááÝD]$?ÖŸ/Nì®8Niòüyû²wQÏ£`Ÿ„Ùá¶$Iÿq³<;“ó‹'äaUßÍ–ê9ZóäÕ»¥šT:Á Ô„m}—Röǵ—áâ2_ÞvѽVÛA–…Š‚œgšŒŒ”ôèBµ@”[é7%XòíÝü‘±Ft½u×ëþâèðºå5ÆâæzÄʬüÄ‹ÕZ[ &7Þ‘J$ƒO÷€ÄÊÙnD*¿ ààú ü€Ñãöê¼ÆnÌözüY*=¿2$<ÇÅÆ¢š¯Ãe󪚂Cˆ_à08ƒÄçI½ªÀ œttøØ}´ƒƒƒ'ï||ÐÒï1U;¬Šq8¸¸ÊlO¤¥Û‡‡ÕJµ˜IÙÑòOhiý­¿jšÈS–í;Ô/óh\¾êééÑ.9‹—¾wDÙØØýÉgüLL9IIIh4z©Þ­Ò :„X5é‹FÑRó»£é’7êtøOá¬Äl±ÛÛöÍæÕâãš¾¾¾ffŒÂ„—7fUWS&Ä‹šX]…Z÷“Ö(Ô°â>øPYéæî^­R¬BM8ÍŸ¥ÁPq[i*œ°ÏÏÏ f ¥§715U·ÜP¯ÃM‘’›àãââruu¶n¸¨0¤¥ì2Â/Î[ëŠ4MA222Z[ZxŸË3«¬ß¤NMHAAͦ¬ /O/ææ(ýöÏ?’ØU•’bàð¡ááé¯W¯^Á`¯Ú¤¾“Húª¬VŸójK# %**ê½Önë`@èÄ0J}r|\Õ0$Â+Û¿°à·Xë {,X°³³wttŒŽŽ‚À‰JòIÖ€4,·&H›üL½Écó±r«BL®ÀOÙ¼„¸ÙÉIKöO;B|||ÙÙÙÿõÚãO50'çöÙÎÔÙ`ÀdŽ7KÀÇâè²36åÝó«ÅÅÅ©¢ J¿ÍAÄ÷À S''¤R”š”•ȪÈìì” ¾ÿã߸?•=äð¦/**BhN(ZäXw‰yü¨¶êKIM­G¡JtJÝ7z³^º‡,zïN—}DJJ›ÿù.ú`éÑ£G^p«4T µ` YäL…q}ܪ±–===#cà8¥ìпšYÁ„ä{Œ ?ÿ¨¥…ˆW¶ß96ñðð8­wGkhhL;g;¹óÖDêØÚþ”8j9] 8rYª©UõõÅÜ\žîd˜µ|³ŽNMMüEC#®Ì!«g÷ø/áàô1éû÷³e†åååh";ÿÖ Ë“Muuõ8ºNW<Ëþ»×LW=m×ô´æÌ¤Qòù¡ø$x¸¸b^¹v „b´IíL×ë›ÿŠÂ†“ ‹òI⩳]‡Z}ratñ¹†FBœL‚`ˆ½n4Ýg€…µ´ Á·[Òø÷hÈ»:O¡> 3µÅ=¨â¢HH†@ê+(Ú¬ú¤ç5"…0§’^èý‘Ÿ?}´ åHê¦,ï¨GÊŸÂ_òfõVÒ„! ÀD_K¥¢=¨{~"3!\mð9U¿ÏG!¦ã©÷Ìùè(¿c3axx¬¸)¤™K÷5áæÏY­Y­m/y‡ ÊS R(õ¤£7;{*QÄ\ÍÃD¥·gö|p.!!$M}Ôi`dŠ<°æaÇ[ ~«ÛšÓŽU°Òš`1iA=Jç.;Xn4V°«f!¡¥wÏ'˜ï?SþÖt§0õÃ%D°E覉Mù.#H;ÐÙ!3éÞಽóæ K‚V_?:#£{D}}}÷It± <«ú]ŠÖyÒsÞøm‘ƒ½ö ºÚïÎ÷6úÐ÷Ç´ÌËÐÈU¼*ðö¿eÅ¿¥·ÿÏ–ê0 bc?AÙÀ[‚îÛ€µS.KŒ“Õbœ&§»í€åÃçVõS]‘M± a!!![>Œß¿ÉöC¹çSVJE4h—Ì{:2^úÛó¤ÑÕÌɽ/ÕqëYÃGÞO×0·U›•`în¯ÉÈÈI%·iˆÎ9wll^:ÔïöIøìŸÑ‹:NO(Ö»,ýÜÜÜ<80ÕѱnÂ1’ˆîB…€€ ÀÖ’÷’››[T$)vöÍš1è QÚ§0—ýËÔ|ˆ?2¨Åf(ö —’RóÂäììWMΛÛÛëý™ÙÙ”äda‹Nœ½wuÄB"ýˆRRR%!]_Iˆ Õb·Ë¯Üíì8”“pd>»NÆ_ïÛ,Ú_V.„fG\I½µjW¿ “ÏÖLeŸ0$onh`“gIÜyø[N«¿±ä·ïiЯêsÇ}ü˜O@<¥/ŸÌÌL ‚”×OJIJúÏ6£>ËåÌÄó¹.­‰<Ý|‹`]¨ÐQ!_^^V³{ÜÇ@$ú*‹®¶[´qÓÑl¹1ðYB¡Q®mô¹áíüzÝA«šp5±p„ýê‰JO\nQ¶îpâ#>ö¸h¬òapñË·«»›/±ÿ×üÛí©%.Á˜K“ŠÒÒIê<䦿1ó3[É¥èù±œà;.„ÊwûçîÝÚz1kë믤߰®Øås z½•ïo¶>LNòøùQQò¥úðÇtälåÕ½0}Õ#Fšó±šJÃÍë,B­¦i¸€JIÑw.ꢾ’×oeUÖ1è¤ '—:›3/ßû~yïþEÛ°ËCvq ‘Çá÷±‰e%÷?T}ÞX>Î¦ÖætT#ú(ò`tŽóËŸ¡yÙ4¢¢·ÊI•íä0AjŠÇÙ&ÛXqn®/eºž »²×Áâ†Ä;^Ûò÷‚l©æ‚H‚8Ò'ðW——T†‘†/ݶwgúH[¶4H#ö÷ BsH6Þ®jš­¾âàHì1uô*TÇcê]«'±žì‚:9)áþwr ‰ÞK†úïxAè²ÀÃåè³|³L1OÏÉ9iïwÞÞ¶¬Ï:t‹òºËKXÿ¥þÏŸÁì®u)ëÎîsž‹µí4 à³*ó-ÁôGŸ¥#KKKGs¤Ç| ŒO&«‹Kt þÝ7ëXÄ—|˜2ÃòÇá¬,r½2¸¤¿Nÿ®#R]ΤÌläA¨æÀ }¹™ËmU.Y­·W/ë¢}TÁ ²üOf¹2ÓM~ó6z22™ï111-ï/Ÿ·òðò–ÕÇ™ššâ“0‚@UO2Ù”C˜‰Äk]Wšúûû@Úôpœsk¿¥dd<ÜÚª÷9XóüY<³›&l§M W+ ý†µ1ê"ùÒ¨uñq”Ý©R_§7kɗؽÖEA:fû˜ ‚Ô7þaÑj]”‰ø­L¼À+Êyø¡LoÚèÿoC]9ˆkÚ” -¡qùòtËÊÒ’žlAÜÔ4?‰+Ew“Ç€A}¯’s  •G"¼¼£3³ˆB¥ý½¼jããI6,ütÓ6ºH¦*LZü•áN?9bÖ:yáÌÚøµAä/%ô?5mk.ŸÒ~¹:1¡kè˜pjAïJ·»¿ÏÍïúí9kÿÐÆMLÜÒQ¦#ª©·w®2 ´ôðæ¢ÝÃe…%1JN®¯&‘Öêíu3”‘‘ßÂ"¸È­®Ö‹9LÍØ«¾ÒÃíá=þ9àël²O?P»îØÉÊ“»<àuîD_=¼Å08Á`Ì<ÈTtÉ‚F.IqøÅ$‰ÜQÛµ«µµuûTÇY®yÄñú¿Ÿq‡Rø`·úÍfHEEEí`gc΀@¡wÐ)P{–<`}úsDUM­Å{r¥ß×Òö3qÇôÛ8¥Œ5ï@G''ú—Ççsæø88Ë îV[£YÎËË›®¸½¾p[nâä,nlãáÙÛˆ—þê S VnôÅ|oÏYøÔ@ܵ¥©§§çáqr}Ô~´»+ÀV”ÓÜÝÝõÑY…÷Þ¬ztà/KKìì=µÉÉS„d‚ÖÖýQ©ö,CâÝ!ûuÐÑÒ¦˜kìϬ¬0ÐÑ8:Øt{DƒÛ|•LÁÄ8ƒzèç;7tqê€u$ ÓÝÙÔk+++$YÒ+l7ÊÆÆöþlBN%ÀÏËû…Ö¼í}£ÃÔW\Ê2#ÔîÕùžž%1iÑJó»xþ÷pÒôç6ƒ­Û¦IhõfåÛïÏWë… uJ¿}ûöéÓ§Àk´zÚsÌñPô§+&''„¬z¿áãâr!£Ÿrqý^¬]R|_Bô†/T6OIEe°¿?טüÂy^SGçSvvÐù®n©++«¤¤¤´tðHº¨ƒƒÃ¬1Nd¥™T§öì)¼8Ñû“!‰¯uu袜 Ì1X†TçÑ\XX@6‡³$¨À_49‹iëSùMUÔÕ½½½cápx||=ëãkg·u|||°Tÿ†/çý‰²‚‚ 30˜ï¥+éMOO¶tÔ~Ïf#50cK"£~ñco/`g²Šù½ia~~{kKñÈÑÑ1]ØNc̬NrHz(àìró§Öñ l œ‹ãæáa?Öà¾á¿ÇC ŠQ(ÐäœÞã+‹rÄÓÕ4á$ŸLïîîæx ˜v½.N狳W¿üôêŽEñåæŸŸ/{ožú¥ñú7_¦ ß]LgõŸ6 CµÖùíôl0þºK3Ág?ÿsU½ýÓ‹¯ç³e˜-?ÿåæ2¼˜¸üéO/–áÝ2¿üGwnuXþé¿~ùîsõâ ²¬–Óðúǯø[8 3?ùzjêzòSˆaf.|ù*?ð›/§Õì×Éù"Ä?½øŸå©«ë“E˜þéE½¼™†ú<„å‹É&næÃpüWÍbíÜßÀ_¾z;q8ÅŸðû°€¯Ìà‹¿á4Í<Õ̇w§y×ß›j6ùÁœÁŠÌëÉï.*ïçË?Þ÷vú~þ6,ÞVáº%ïîÍ—[u^……Y¸ó›f˜¿¶Ÿ·ÁÌfó¥YߌðÕtšAjà¿þ×çŸOþf0<<;±7“oæïnà`ãÔ)=e“Ï?oNÏ.ç—ù«`_äÙQ&“þ×õÕÅ…YܼH Ï«úíå•ý­~ñú‡+;­Üq§ÎÛú-eükÎÏýêñï®fùŽWêê pÿ9ÿãŽóÞÀ‹ù28ÜýpìI¢á¦ò^޾B¡ùîÌÆáºaW0ÍC®µ¡&Xào~óå% ã p±ž˜É4^EûŸ;$x¦/ú¨øã×Wõr~ñÃt¾ÌH0IKüÓ‹_ÎÃÄÁØ 3ͯNæq²„/§•4»9ür^Õø¿üñ_•? ËÉõyåÎ'¾ª/§æ&ÿt COLZÌ0È-ëÉuµ; ÃeþùöÊüÂ\ãƒí7œœ>‘pnä¤H{Hµ’ËônC*áÂÀ{‡Ô ¿-ú²²xý7åÒøÓúÒÌà0àó9ƒ}5ÈÝI ¥>ùjéñÅ`p˜µø}a'`a ÜhÍá&H˜+IÉ"m¦ïÞzoý-Ä%îDµ:;‡Oo› ×^¼³« ”’ü1OkˆŸ†oÙùØÛ‹×÷ðà{ÛbÙ?¹éÌ"qÍI¯ÒO¯~8ìŸFO ŽŸ!„.¤VÚzRS”J©B õ%ÛëDŽzã+îÞHçðÙ˨½f>*é}ä…ÔÒk 7Œ„‚1¹VÛyq>_dN°Í\x’?þf{ѾÎb Þÿò•ÅÍ£‚_/'#0(ƒð¬”2”A ­ c6(Ãáÿ™³‡„Ás%üyqUŸï |w'•UœXGX,mäÁ[åAÒâIäû±¦; °Å\ ߺ³'"¼ºÓþ½$†ebÉ5ÒRN%ÜIC¢æBrÿ[Ì•öÿõ|:_ì 4/Óû;A•>Ú²$°$ã JQjCT”éR# …-æJPø¹úOØl_ß ÚKà«„3ÃwÜu(œN3EC<$ ¶˜ aPíM_~0eênÈàxIµ/µ,ˆÊt¥‘Eá„6šî'ïB†ñ¹(ÞK8 ˉÞ_t!XiM´4ÒȵáÅ!á°Å\‡¡¾Uï ’z8ÊN@±ÖFj™—†rM(.4xUZ´«47‡Ês(ÁïYP!­ã.HÎ ghJNAØf¹÷¡[Ìõ@ziá°ÍP)€’ qà4‚ª*x”Âù‹‚¯?$,¶˜ë@°x³7‘ Úø@<#¥÷NFߥ, Iœ Æ7Æçz°‚ÙaÇΊ&wÔ1Ñ8ËÁ Àã2\—EMY[ÌõPE³Äw»*œD"báhY2å@þVX°QœÅxP“c‹¹¬p¶€øe/ÅSIi@ó‰‚ÉÒ‡’ÄH„LI½Õû)]oç•?ª->¾ê:,{ Íñ dF“ß™‹Ë?^†Ù˜…øj­ó…²ÆB+8¶Àl¹¢¤-éig|ÕœÌ?z€IßdÐ$+v 8@äÞ(®“ÞLbaAˆÓ R—O8ã«àdžÒƒ ~‘Aƒöíd –:Fn¸,X ÔJW)•W\¸ý;G‡Ìøª2=&ÓOú&ÃÇá?G=_ Ar”‰\)KB‰7ÒøCiø?þ44¾jЛÎòíÁ¿Èà©á_cÐÑÒRrÒó€Í•¥ 2€ü B8’ýÌ¿£Cg|Õ· ÖõäºòË󼜜\Ât$%Âz©½ BLA9-8¤ JKŸ(q¯ºÎÀgÐé21™Ó…§Ê S´.¦¹ÆO˜#Öî§û4ã«n@ópy®Áj#Ùz¥£d&ðhTaœt’PJž&€ÆW úyÝ¥°ÑÚO #~9ŠZ&„‚hk…c¦„¢Z•±ˆN—QÿTQktÕä:¿ÃVpkž…š+„g@û¢0Lx`‘’R&EmˆN=U¨®ºµ‡¥º0Æms&j¹tÁ1æ¤P„íg—Hã«îé0ÜK•‚1@_F5 °Ö\‚žF}p O"µþij|Õ}lz°Ubú†PW8b@›-J¼õC…ñOTy_uH´NJYr]ih,H ÆzJ(‰ÁsˆÝÏ#vt¯º¡ÃX)¦Pš)Póµ®´ZÁD¤¥ôQqî÷s½­Ë+3øù–㚺£ëÏÂì—Pñé‡9(ß5|i^ŸLì|>ÌgÓ›•H<™üøO³¨ `Þš0¼?‘m=‘‚³’ù’h΋Ò[°Rz!Ò?ø²ó6X¾jâ¯2xp¸&Îuão 8®‹fU»d¤Pãm BPÄEUD)Ba¥÷…’š3P…œ£!º¯™pbx7üøð‡Âê_Õò¼[_Ÿ¶Á¥îÅÛ¨4ó—íÇm¯p´bLí¼+•/Lá "£‘¥,<ád?ïȾ7ÙÛB||Ѹ¹¯çW­ìÚ…"ÞS,^¼i†N*«-ãÎ [hµßu'ò³£Bc|Õç¦îhá³Có®#ð¡mC‚¥žq j èÁAr öjº&,¢—ô‰×øª›ãz¢£0–zó`µÑhœ¬‘^—"H[ìw‰s|"]µñþyÉÈ99 Ü@¸"Srƒ«Èòifca÷Ó(~Nã«^„‹ùÛðfƒÊ2îV2<8€"=ž{O€IRÃàŸRµŸµv|v1ºêu€|¸Ëx HP2A‚Œòè‚¡Ò–Œ–,³=­¡£û²FWí¦Á,pªz»¨m§"+dДzY¢cV)Ô-#Nì§^ÿø·ª^þnºüãV‚dL™üîlùÇ#³‡1€tQ<=(o'Ø"c°ù‰P’$%N•¥hÎ’Rïç«8†*<Ìúí _̯w׆]os·§ Ì<)%#šD&Uz?ä{ xŒ/ÜͧW³= m=º=04Uzjµ1D‰¾E£ŠƒFNo1W çé¨9{yö§AÛ€åçå",Ýùw@àóÅnÁ‘EÉ9è³ÆÆ²p Œa.9U@¨ ¹1 ûÚb®CÃÈè!Àñ‚º Z¾3ŠR’B9K¶@‹<ãs=,ä¼A9•Kãv 8·Îy_ŽZ¦x«ÕG MC°u¯ÍA­·˜ëa`@ŒØ¡P± ¦¤@Ù@×e%\ &˜ŠV<¡»áuÞ:¾ò: ;|¬tõŒ9'-9Æôóh †cBS& î)07Np {ĺ·[ØøÊ7lp;¼‘‰5·0ùéÑ‹KX \AÀìÖkÀ~Й¼5QX*exB1ë_9ð§5μB7 Ðqb¹ˆÚi¢¢–Ãî ˆ¯JͺÕ[ÕøÊ7€êÀˆV®Á 4ÖÌZ½w(ÑÛRÀ©=aÖ6¾ò¥¶<¿ šªÞ…é(lLˆÌy´ã%H爄#S¥.d©/žP8Ù:lÆWÞ`Ö~€!eTÞ—¾ð’ú²à‚0)õœKL›Û3F³¹ý|ïàêÒ›eÈ/ngý©˜¥¾Æ(U”RXc VžÒèAå1 ±ñ 4%;v·Ä˜T >ƒp¼´ÜiN‚òRÅ%‹”Èý”é6ã›Tßx½þõ‘.o±ûQ4àýj¹ßí®s”•e¡yŒÊH^°@)QsYY”Ça°4¿†ÛSh1©$4#‚ÚJ”ØL8gÈžúXÚ£8¥o)¶£;@ÀŒ»¤·?ë–Idx·cxc Œ_OJε•0™4*ú2j%ížõW/ÝA]]\N«x³N€.ïÀ 1X^jcb¼–,D½gÀM‡‰{Wa؉qŒnᢚUW¸š¿V;*48n#˜Ü\bUL›RSKnŒPc¬ ñ-\˜w{hœ18dë ó„Bϰò[m[h&Fj˜3RÓàU–C¶èi ´${VÕx±>¾rãý·#P:9({ßy,ƒ½šrSØÛ6ŽD.½#{º1åÇW~nê±MPÒïÀšó •yShç ߬T{Z!ÇWÞ]š™ÿe¾Î,\ÿÔÜ f Á_¯®G3»•‰…÷¥+Œ…×®ð%H>¬ìÆ‚*žPfÎ:°ÆW^Íê°@ÏÏZo¶1hPŠŒï±AYô‡—Ô9_b­“»'”˜{[@­<ƒ%ãÈîÑÆ&\;Šþc˜@Ñ"JaÕž·GW{ÛÂÑÕgWØv /㤈oïBáº`ôÇà ±–Èý|¦ÇcÄ](ÐØªsÔÖî~'TEéQ2 óJiléÀô~ß„š£ƒc|Õ†·€0¥ :ë#+¥¶ÂbFaóÖPãø¾6Ú±Év|Õ)zmK3í;Q(îàit2…* µNeÉ~éƒ[n¥‡Ç4+ú8øÛ-6<í{þ·ŒH‹>CHÁ%ØÈ |I4NDˆ¤%Ý“Øü)¸#¹þ‡ _=VÞ ¸§÷@ ž²‚8 ®õe)#çž–{¸³ÀÖè\)¾hopÚײ°ø)a—*J"F]–>:Pf*ÕQQÆ[Ì•€ð½YœÎ³'.òÛ;ÖZ ®ŒEY:&KŽ(¤ÑÊ‚rк•[Ìu(d¯×÷{ƒEJ9¥¥¶e˜'¾DQL²E‰-æÊeÆ~øâ‹¼—Ÿ+öйZÎ÷H&¬nÓxæ•V´uÇ%°æÂGrPˆl1×CkÜö<¢»UhŒN Wê@±*…UDЖ »@Ñî°<·˜ëÁ`Xù=w£æ,µV2Ç‹ …²À g˜`\J²gvõ]ô1>Wêrs4Íÿ—Åüêr¥Ñô¾|€ZÓ2Ûf{‡ºÕ÷ëKãLÜÆa®Àœ ˆ\Âù–e‰—ÌõxO‹ì“|Z%v‚Ùö¶™šQ§u)JR(í(7T¢¦P<燴Å\ Wÿjêó;¯æ¤“É—¶vž°‹`~M-£Œ$ wîaÊŽ‘Î Óê -B!}PA…¦`S¯¹uä ÕyÜ ¶Ž/¾Ë¬4·^ð~‘ƒåާ+7zà‚X‹¨53 íèæÎyeKíž6ìǰïÔä›ï2ðurÔL7ÊÐÒX‡9Z ¿©Ð ¨J‰±“\>¥š’ 5¾x„ÔšFù@€9=2GÍÃIâÝS8/nlÔž•O¨&Ѐ/öU_ÛDh­k±IžJxÏ4ÞZ§çÄéÒieiC©”|Bé‹5¾øf=°ø¤Â{—R‚ì%p ÌmÊ‚p¡”“V˧æ([ãU£‹ß§½ÊP–J €ä9WEá‘ÞJ¢×Oí¶m§ñÅ'žþîøDŠ@‚v\E°Æ-`Ú‚aª£*À0{j7Jk}tñ›à´> *&‚Uƒ!´0] ¦•”Š?qF>¾øNGXéÁw0òûã¶Ó°ÏðŸ£w8ªÓ,€^' l°Æt°lX)›¹Å\hÛì}éc_¿­ê*ÕÙ%í¯Dôæ\Rf°.|!±4}e–’ƒZw[Ì5b‚¯µ']ﺷñ}i€Éy˜]º)_ê(lI%– Có•ƒ<Ž`QJOöÌÞ!¼~ãÆ×ý¯Žv©Ò›ñ·[l9Ãr¸¬­ÝƒF–A9ªA %ñR9¦¤<‘Vd¿;ðž»Üƒãs9„Ò&׎âAx8Í#ìâPÂYnŒÒ:xí.ÇzE\HÂ4}h¥·!ÄÆçz 3³eßš:øÝ<¤13LKË•[ÂF離ä<>©Pž9/¤æ?[¾ÞlÏG#Á°—7҃̅¡Tà™SèV±ŸÎu¤€„DÆYQÚXTÂô™m†LJ«°fm:2Îà”3¢öóD< G>„a«Õ/Õì,ëõ @7£Ê=p^¥-h4BÁxN¥`BЉPû5Þz Ò_8zú ©#¿0ÃqühÎ-Q£Ã…+;SZéÀÞ’Œ¡ødñg|á‹`¦‰-UÓjys·Œ?Fóáöe¦mãáŸó§mú ƒx§\[ɹ Ê”â†PFö°Í§Ú6b|Õ¹¶R5Ÿ}}Ž}×}gZ5ýì¿X¯bß½ðòØgu¹˜¯7Š^Ì—©Ôn½¢aó"{œYÉ™/ËhËHËÒàsÔ>,Õëøí˜FW¿²@Þ̪ÄsþÓäCì¡Õ°£Î,Ø$ÛœvLPŠ^$ wÏIù°-¯é˜ñ¯hu¥c^€‰È@‰sÇ,)ÊæšîÍl°Îàîò¸5ÇGÁ²¢>³ góÅ=ÜpcÂtAJ°€™+¸P¶(µ”…-½ ¥‘?Á˜âo]½¹¼œÞ|¢¹š®„)ðU~Ô½e¥M…gÝ+%¿h‘;}ضâ8—Œ j£*…Ã*S(*¸(TXéiCz|õ~a®ѱHP*a!Þ W¨Âh„k±…ˆ…¡{o4Pޝ>“ô·o»Tœ¿Ÿ_Õ!}1ùCÀ¿š‚øØ”iY½ ' vñ“ÝÅožýCÇ)~^«h„õ¨SvÔM‹‚:m ç$–R†ªË²tO1×vP„}tõ>Ü‚ö % -™ƒ#e” Åc¡¢ðÄQàÙº$n?vºwóÚ­;ƒ®úìV+ËmåK!càÎKZ:Á–f$zý29-#ÛÏ£ö€îµ[K–ÑuŸ XnÌ$¹ˆV[ê8¥%ÊèH`Ø@ |»g•ìGIn_ùYw¯™²â¦xÕÞ—ÿ3`•¨2…÷Q©|Ô.ª<ö/¼¦ª±—ÇÏÀhM÷Wõ¶ññW^“"VYVuÄ,U«¹=¥O.‚£_²utågÝeß¶@6ïÆlÞí dP”óeŽ„‚à¦Ôc¢Kö‰¹ËÇ[5^(X .RLÚmñOzk13@Hëʦ§Á‘Øì¾¥,šñU?¿$S(%+LG|&ZËmˆpd4–,jj¢7+ UO-"¤Õ™GW½Àb<÷>`ªÞ¡x-‚Àà V”D†XFÇc”lÏ"âøËq³JGwq†=¹²"7Â+ ¦Gî`“ÕlÃÏý‚ˆõ €b½XΗ&qémkÛ ‰Aqë¨ÐXu!2Çeô]Ò·VÝm-fetÎLÝÕôêUhÝÝØبó1…Õ+ ¹KBL%7|;XàöéÙ;`|hPþ°u}¯™9ÀÂ#7. ªVyÏœt¢¤¼ÔŽ;nøže=Zã›HÐú~þ6<X‹<9Å”sl+k5Æ(Q–Ò—û6Õzl`o"ë§F²=^Faa{®$и @ÙŠ9ë½ Ö,„‡º|,xo"Áë›$F¾žVî×Á ”Z­q"6³Vkœ+¥ ”ºÀìžæ#Ãl|×ç!Lû€úW÷Å–€"%œLÉ¥äÄÎÀ-Ñš™.Mt¼Ð9V2õà–t|nZ]þ´k2µr6Cœ6B–œq­‹ÂU ì)õf]ƒÇøÂ«îjë‡^ÀÝãÝqV8…Å‘)Øõ°F:¬ 1Â],öĹGíøÂë°üaSàÝâ 8~ÓÀ¹‚-߯´[b«8´Åàb½gêÇ¡_8Vùe~˜H¦æ†ár.ÃlÜIÎ,ÞG{¬³eŒ6 ÃƒfZP"8cåž„ƒ Æž®tÏØy:ã©´9X}ƒÍ„ð6Tx†" (¬QŠ¢x‘*ó&›©7tߣزX€ýÔ|wO°Íoºè‹æþ)‡o¶Ri|“¾~òM¨Ý¢ºÌ÷éðÃo¾ôÕÛvKËðniaϿ‹—¯¿73sꉙL“·,Z4êàóö|²¬–SXÝ/çaâ`+ ØéÉÉ_àÈ7'ywÝŒ—óËdƒû‰½™RM1ún›æoÃ.¢`“¨œ±˜Õ‰ ¬ŽT9.-¢ØÜgô‹/Œ÷ÀÒz2\ðHÀ&½DÍÛÕRza}³‰Å_‘où¼é}ÖŠÍÛ ‚’‚\ Ìj£u¡,¤ÃØÄÍkÍ·˜_ôü×ù5h›‹‘–«‹¥ùîFä>¾ffÛÍü¯ž–ư€7gß"ùd9Ç«àtôfVåsíï”Å\áéÍÛ®u—Î[`ï¾Ø;̰cèFÞ©]ìãîÚÞôd–®£o¤šÇÁ?@—õ$=lQ˵»Ùꦆ—~Nd€g.x»ROÜy5õ“¶282=39×{îm,¬ÖÔ“ú ˜aÀ»àÓ{³àku…Âä~©°É™Þ ¦á ¢°q¾˜ žÛdóiðåEæ¬ykõM Çtz‡gþÂܤ7k >s½©‚žŠ^ÔaŠÐ^§n$>¶Ú9®aÖ.£fùð Aæ³é r¢5ö„½‰)L0<‡3LÒfíàqÍ7—÷có]H·=;”øUhlµù{:˜ž ºáÓyÁà@‰§“73Ðw«™«.§á$áÝà½hÁßí <ñm8u€ €Ìº…êÛʤcš%½Mm â=É””—M[ûüMw>×ÔâyB¼9À¬[þgáôlkìÙ™÷æ™Ö,Âòj‘Ñxv…A¿ˆ ™’°ß¸‡:áËËŽþùxT ö Û¿yNz!Ì5ë˜Ág½ß¿ø"ù²™Õ·éciÙåí_Dòwð,Šþ‘ÐðúŠZÑO)Wªt%åÔ -±%|uA´.B£Ò5ï|ñEš}U\ñ%Àh>A‰ÕW9ïg™H:Ýp|ª[èÉäªÎ_5¡Ûí~Ʃ㠮c<Ò—‚y{Uð@ZB3Go À€‚HÜYÓ:¬Î°›àÕ:‡îbFÍW`Ò$«çûÐ>ùpp"Áà›¹»Â·LÏÚœ'€‚|Pô$n´æÎp¤Ì•¤d‘¶9ƒ=û©±º_Üúör1_ÎáëIúß­¨{4%º_ñ÷Åê~ô·ž °¥ÔÀÑ­Ü™@ H´;W«{µZÞÊ Í0îÚÏÝ‹Ä)¾ ±š…L¨u7üä2%(.´:ŸŸ¶cÔù.ÞA?…_¾þ9„ÉWÀßaº%|áwêလ¬ÅÂh˜ç̳ŒEtºŒÊøœ|÷sÓ¸:eNì¨Vj$Á^ØÖ+%ÌÇ£Q…qÒIB)éMÐ%g$F{A«ÞOÓÖÓ6¿´¯[œ/À†xe_¯vœagS„àŸ^À?§˜‘Mß0)#}¾Ä`UüLr&GòÑ ó>ÃÅ]¹ŸcèbŠR1Bó“K¬AXP¬¥ÓÂ7éíõåßÁ~ù &úÝÌÖ—³(áÄ—nîÃkòŽòå«ôï >Þ’pß©uØÅ“hx)”†#õßPï´7Š*c±%JªyžŸO÷Ïówã; ízÚ%º>‹ ̪;þžJ©l &¬ð–;)yY¥»Ûáµ{Jb||?¬ÝÏßúšr5ò®üº7&ŸMîbsíÜ3~ÔzÌÆ§?dÎÓý =G”]a\HÍF§WûÅöü}Ø)ÖzRÄz¥ ‰>¦¨õ%Û‡ÿ¯qþ©±!åZu<¿Ïëó¯ŸOÑ{@ÑÑcõÝ?'CŸ^|ýÙ†/ÛÑ€u›f¼‡^nd Ù1éfß°ûì~ÈaÎÙ-Àmø65˜V®Ñ…¿¾nþêÍr ›î]2¡u6 ×dÛÁCKÀÆFBÖÐ/[ÑLBqêæ€ËÕ í»Nn´rd/W¡î¹&—![Ѷ§¹?'ÝLÁø›vÓ= æï—Éð…69-6hô™§là¦Ø¦)îÀ&öà EL–²^#]™4’z«ã{Uñ¢fÒ#øº—Z°Í£ øâu“ƒ£$Û» çˆÌ˜Ù€òã~âý9,L ³lœgµ©EXt3,ú^zÌ«š%$<ÝŒ*›q€ëÒZç e)„VލÀl¹¢¤±÷äps)pþyœ½0ÀætŽGÄ4ãÐS7±ÆýŠÅ£’ÓnûóÆf\Fq tï,‰… œŠàaZqW>¹óþøåŽ; ³×iÇùlù¨‡ÝŠ@œϼõŠ„wËÓ¡V›"Ò}ú±qÁ%ÇÞï%ãôla.Ï_f÷Yö–Tuy%H{N@R¯Ð7‘žjçÉ1+NÉ]~Ÿã>·¦†ñ`(ã\¨ñ";Êùq×wW÷®!p ­´J+K~OôK žæJ¿fÞUõ§è;ÁOkxßá5þ­áD;Qp!¼¢”ÝèKâˆãE°”0)îð w8¼n/oG­Ë #ƒ¯`˜ä#]¤T^õ!Ÿµþxøõ| ÆÊÃI6³Í:|õ½mšù8T›‡%ÛôXý>wõ'E¹ØTÚiLŒ7–ù’¥`ëÌÓpåvø¼ù*KJNÂ\)KB±d” ð‡Ó\ñ§F¾o\Î~9õ®J¯îJ¼uªNúˆ´‹öHcbê;iï+á†lÍämUc$ï"\.BÝZ]­ª¶‘ŽÓt}2ÞA{ÓÒ¢ 3z£uYª ƒà1i@2ìåØyê5LFÚ …RIÛ„C'“»ñä¾M¥ 7/^ãÞž ðf/ç†WÇV¿q±wSÏAȨu˜a`ìßtnðîº;a·dº,¬—Ú *DPÁ”ÓBÊ ´TñÉi;ˆÝ(!~È7ŒäÍ=É£²J8«ê?èÁšNRÔ(Þ*_VïÂt‰°¼a6ˆDF‰N2ü.);3üc9®zPkMkƒ2u7Nëß“³Èœ.0í}êÍgcá1OîÚ¤¾jÂc>û×9r®m—žâ‡i`QšÀJNµΈ"”B“Ò±2G&õ.YI®êõåð†î®¦ÊøÓÜ‘½l)·³¿1“Ïjó ° ËΗޗhϯ;»»-"•íÿΠǣ=ÁÐ"c‰Üär^§*Ë8\ækogVïa„÷UŽçß2nÿQ']øø­ûc‚ní³çÎwöŒÏó¹r³å'Å“±ðÎc: šI$1}¢á…·R2cö)mÉæô™£âøé$1I“É¿ª»…&ò£x Ay•œüÈÓÓé”L*ºgÞí¾ù‰Ÿ‡zöûeË2·Ï-âƒºØ ¤ò–œ×mƒÃ½´¥û‚¤B47¨+æyܹ™Uõ‚.…žãv¯@D€nçRèÐõ“B“ÿ3¿ÊѳÕ[\as¿Óùhq¹7ðàuUŸ§gR™ª5¡‘±¸•w¸{Qñ¸çí$¶ÚõdáÑã¯Í-ÑšFÜ2‡z…wnzå›ðM\^·;d¤õx´ð*\ç:àëêAK8xs¿ºrÃ|™´ÔEx[ͯêu8oˆÊn‰ïÂüŠ'3«7h·zO”9IÑ °b88\0.ц8_„$VÓÄs/Âïk´‰®MŠ‹ÉÚÐM£O†w˜°ÑXgsŒk‚sÎ{<|3ϰc¢â†;ƒàua‰±Z;[c-áEĆZ¥vÌÞwgðsw¾=u¨Õ½û©Š}Âl6ð|•¦}ix‡)°·*S„A­+­V"RˆRú¨€&mK¿„zg•ÏÂ3É´( ^K+)eRÀ‘‡”>PùNw˜Ä]cƒ¶Î9µ‹\ºàsR(ÂÊÁ$ÍŽ©R0š$p&‡­5¸ä²  |DP‘Z?ÜM[œt‡ ,¬xŸ+€ÎY¡‹’/¥c:ø(Œgƒ ö¿ý?•§© Lž¶¤qöÃ’æï†šgçú‚¿ž¸^L†Œã[MºIr×PB`îÛö¸?ÓX¯Õ(>&Ó}²©Gç&»Sû8{|šÔþQûÖvâÊݽ"ñj‘Ýæ™Ò듬Â7³ò> ‰;NëO“?¦¨àí$nÞ$soÅß!~ó; àñ€òºWÿÝË0ÙøÇyÌÓ$þiûÄc±‡ÆÿhÞB/Ðú~»Óë£ÁBÀ4¸’´4ÚŒÈ iQJEÊâþï‡ËÞR–ÜGWbå)¨±ž ì3`™B’ j>Iòûèc¾SäQŽÎ>&-¾ßðê1ާ@%¬ÇNïI‘Üê h@ÂÆ 5–º4TÔBnC‘Œá÷:>Ï\ê¦!Á€¦[ïé!¬Øy5[~·§!;¯ß{ðîZñÕ­Ö×q+uï½o¡kòö‡]7ÒÔàÌÌæO“¦ºBSYá‘“sáÐ-¸õäÀ9øMqàÿm­ÈWfü³:5ãC«,Õ ¯{åªV ‹T[(ÝÇ÷)"ÅV`àe põdcõåBHM¬º»uóF'Ìg)L¦%§ZO–ÕÅêf4LçËß÷ï—óiX`./×h½nn ã™zÅqúAµ?Ï'UÞÃêHc‹«p2ùœž’Iª¨„+ïIÅŸÇju¬·Ë&`Á€Øð18!Àþ„…p/ -µÑÃòÑ}¦—ÄCªþ6~0Ö Ë1˜™„VµµÛ3¨»u>½ ‚õ•Mc…\[nª‹Ë¦ìTW@,½Eô»Àºn]ìY P$ØpnðNzÑEž^¾þi5&ÆüoWíqXÃ_G‡Mƒ¡:2Ç Ë¬`ʺÀœŒD‹Í›;Ý%Ã}´:é{Ô«÷©`xwÂÉúò<]2?nNB5óáÝJøÖÌý~öúSÃçRa;Üm &M‹H,§Ê¡ÒGÔ„w­c¸³ú9^÷‰boW•wúnøq3þêû>\-ݽôæ:Ïy±;뵫×ß…ìuZ½Š¼½Ð•.ëõ ³ª2ž °M•hSV?#,NïÅ€®l%¬kîªTv|UHhÀ.ã¾ý31V'™>âDx™ƒ±:0®wU¥ ¤ªï]?ét)rTWu°Ô3n}R¨ 9–x“B¤ˆ^Róâõ¹©ßlªw½;GgYï‘£`+¼5˜çñª|ÐÖëÒº«ê×Ó›!nµ5?‚QÛ×d߃ E¼§:XYP¡zƒ¬¶Œ;'l¡•y¯”š_ôP¨!œ‡ÈŽC+i;kUéÍÇýÜ£†÷w±ÈyU»g¢3º§‡:Ÿtã#ÔýBü“v2¦D3­ÃQÇ÷kDZ‡píñ„8DÓÆã#.æ_a·‡Á„èzêãr…úRŠü_Nn¯¸:7[§f-®^ƒ…„[(Ÿ†S`å 0r©ên¬DøXBßb¹GˆW¹!ÅZŽP[ÅÉüêÉüzõyuÙʤêH»H¿ñþ-O·W­dž¨é‚ wxû¨[È*3§QÝ7ácÂà>=!·Ó.G¼ -™ Á FytÁPiKFKË}´Ø-4˜Å*¯gŸ´WÃ#„y°R¼'`:PÃàŸRõ~ÃŒŽC ©´"šLwCiðÄHìat†'ð³Úì{-¸¾CÇ›³ìzYGªÝ¤õXåÿ÷Ax>?þ TšßM—Ü« Ö½WH¿;ƒQoÅ…4ý ž•#n~Õ´’ =w\ƒ5ÉExn§»Ÿ¬ÔGàkpŽËCW¶8zjª$´ºx߃Oæ=?ϨÛ1Ãìí‡Hü;›ÕûU¸H¥ü!À-“³Û,óK®Ž™²å±UËä_ió6ÔH •£I—+|œÙD»6Ç.Õ`xzÅJÎ|YF[FZ–Ö„ÒR»—3ö)öªÿÈ›YµlLGŸ_« u« ÕîÛaó”'ÇðàY“yÀ±cê`ÂKs àVì˜îÍñš&|-i‚Ãæ¡ÛWÃZ‹,SÎaˆÓFH ®ÁqhDT0ëÖ#˺ЉvG˜šŸâÂ/GEy º©ŠÅ8·œÒ ep…eA¸ÀGUö´Ú‡ 0… ‚Db€pRð¸Å&Hã/©@(­ãû^Z+™¢®tÌ »fÀ+9]Œeð_ôê÷¤ÃÞ¨_òžÍ±éè{×¥Ÿ=7è«û+ÁµÎ BK”“ú,bžâ`sOå ¯µ)Õ !ùïURÆýÝäPþ ‹6ÍgËÅ|Ú\>µ¡++%í Ú]»çÙïW…Ž~^…æb¦sô‹ÇÜ®t-åó¸¤{z¥JR˜$~ ÉLË\ëX)¥¡…‚ÚÂH&Š’k®›Õ4å³þWM“ׯ[u`é'ôtÌ8‹‘æŽí°JåPe ÿí#TâÎpRˆ ”° ¥!Òš2”<0Î`µf(îv&L¤Œ¢`®àBÙ¢ÔR¶ôf‘ïUìá)“uÕÓ\^No¾ÉxõÕ,é»müµzXÎê½·å&UWíE[æ/öÕ?›—.ðì…ÎW¸Õ·aVìsØåìa>œnr,eŽòcú/¾èhñ¿)ÖÄÞûÉ:¬›Âh)oUÕÔ¤»1u[]v˜;Ø”ß5=4k,å¬'§±áﺩ°Sñ;Î%£ÀX£*AçU"šBQÁEé¤*¢ÀàBŠ5‰UªI¼¡àõ0Ñ1ß­ÂÚæØ‹&Åú%—ÛÜa‘ù°LAmÓíþÖâÔœa¯Ä뀩yïxë°¨°àžÀ®â:ʨiÞÆo€-ÊÒ !ƒV$‰ê6îj£UgVœŠdn?q ÄK%,N ÓZG«J4- Çøí‰ÿ>¿kîCû>Öók¢çEPÚnH(ã9¶NRÄH„¢É;Ñ[Úa$Ó-sÇKÏ,·–0M@œ‚™C)¼`Zúxˆ´‘Q„ÿ0$Tª òI¢A}ç6¸åÀ:0]1õ;ÅJ6yVý°oWúí¬¥4úØoC÷ Wù÷Ühc#.áÅt‘rXW†Bà¥Å˜2˜ Br ¿RÑQ—¢x8mG] ]{'\¡ £=F[ˆXº_JØS¤íl~‹9¦ºÌø~[fgªM®ï=zŸtn쯃yºï}ñMJ}›Î½WN}?¥û}ÄîHÔ¹h~F}¶«®ü¤Úd={‰’ôòD®¨»£‹¼ûvÛ‰Ö»$7Áhþç*ÙD©xj<‚@Û¾ätÒóFÕçó«ijîšžPøh«ñçTøõ+?0§óË^Oo²(»Ãiƒ5±1’l­³U’ö€µÓr·fãÉE– Qû¡Kñtr‹%$)Š.Ã\ÕpبK“ŸÏ§¾íðqk¬>ÏÃ}~1÷Ø”s»)R\`j÷íf ŸÕ÷g¿¯Û*:-Ca-”!²Ú0£‰£ub*oÛßã²²gìûfQ(ú^ž¶Yûk;nð6V¿Jiâp–ggˆ:Ÿ¥ Ü¦W…ä¨pc1dÜ0ÀƒRÃõ%a¡ùÜGë#\¥¶É/GP_ÎÙCþ+PyJå›!fæÒE•õJæ4•¦?Ï –_ÈÜpÙGÛÓÉÕ¹5Á­åôj5¦ÄÌà@R_d(‰¡†6T>EZöørâ]ˆœ‰×7ì©ù]°Sz27&ùlZýz¿è«wU=Ä«ïÍÌœ¥>"èƒÁ{‡wUW¾ÄLúø˜ã“àç-Rs³!·­ Ú&>ChÙ]M3°Íz¾à·˜Nâj¹•®ÛCž»¿[shU3>&…# ±Š±`ù$³Ã¬B92û|v5ž¬õ×H¯õõejU–ó&Ea‘SsN&Ù\jÚpõÅÅa-ÝÁ7Ù„¸L¾ƒ±¶šYæ† ë7CxZ× ‹ò%Ñ,Ý“ghö“ÂnP|~1ÂõGšÀ‘j–%å`ÙBaÐÜaÀîPPÔ]•›[³6 ?Ç´ïÁŒM.Ȉm[ xxMÍæ× ÀÛÜùÊ=:ìqÔú†Çkn Qè§+ ê´%œ“XJ‰ÐeY:¡^¼n;ä|û6lªSñ໤’kå˜'ž(êbéŒ'ÑÖbÁo4}Ø]Òøþ> k~pJ±çmƒ}rÆíl:­zR´"åûº•L‰juÑ;Iå©¶Ðt×-í¹"ÊXÍ„¾B'J0.f†‰Ò­Yíò¾šNó]ù¨Ý†üt³å6´ÙZÙüï$+rÛÊmÙ¸Ûn´UÒ~LžC|VÅNâ¿<ÉR-kõC™¾Edjwð½àT|…póñ¤×8î¸m(bv>™ ˜ ¸,J"9^J êJibYh!ʆð0# -™ƒM1Ê„â±PX²ÌÑ ˆ.‰{¶Á ©ÕDOÀœõ:£| ±i <ëw™N—-ýæ6­áÝd9/MêÅ{ëÂ{#é_îìVg£1pç%-ŽJIF¢×؇Ó2²½:>? ”ÍÖvÿî)ÂæÞPvÕâ½ mTAºÒ¡$6HJÆAHW¤ÔÏöÒ½-k•.-ÿ²¨0³x~ýT*[o«è³Õ1ðvUY ÀWwÕXøÒœU£c¸P=åÊ*0gKચDÐ ¨Òéžnzu1{@±Çñ)>ôïÁêìE‚Lã ºåkûQ@ݺ ¦¤RÁˆ¾ ¡ „ƒ©*˜ŠV<[½¥óåôH æ¯Óþ¼óÒõúhìQl%cÑ{ ÈÝvn¼“ öÇ–—¬šØg¤›¬Á9Ë^¬RIšWòãu—˜‚Ã-^×¼…q«ÿ„º“Ð&yKŒêtòu˜N›.è±øVr1m¸™çrlÕbrQͪ‹«‹ôî…y—þ}]ùåyý ~øÕ“ÏvŽ)óžiS8e1§KG¤•¥ %XGövLY¾ÏKù¹…Gdü ͱž91eQ˹* /ˆôVŠÙ†8Õ‚/ævÙ.]IûtD¯:9ROè±Å‡tLhêÁ& î)¤VZðÂrDn¼)n“C½>Wi + La½.:ÉE[+p}"¬÷LXIy|ª&ë,x?Â"eTÞ—¾ð’ú²à‚0)õœKÂaº‰°®.=((Ð5 M]à”MëH¼Cåþv¤ÿ H¹-±¸[‚>>æ‚ÅMOMÙ‹°Ú°HY1MÂr5›…Ý÷£ÁRp©q…' Ò‹ÈAÒ’bßE³ò~FUM¾@¹Í©—æ&¥C§,ƒi"nUçl|ymróÚ;°c‚”Ø‚a*Cˆetb›À“é4§Òòd8+Eá¬z‹~ vUz]Si·fZõ:Í’N¿ùû|ÙÁÌç¶tÄðõæå¬´i®y5¨¿Ø{*á2k,”yaÝ4ÏÝõ[g¥é÷´À,ÛzMMÆùÌä _î¡9Ö8Šëùz©Xm“L2Pç5Ö)©±~E¿†Ìð5,ß~ܯ]Å“7ß6“j’Ÿ5óW“úÚÅ8GYY´ae$/X ”ƨ¹,‚,JàÇXDøp¢%š²p¦ôJh˜°@I_h[ˆÂÈ"ZÆ·òI´¬DK>Ö'*W>‰²êÛJ”{¥H¯ábæÂè¯hEGµ²›KwÊä‹ër ]Œ©7oË<ïJy’»^än®¥Q:‰ÁúT–= x/ àÍ\:=b"XuÍÙi—óšwÜÀétò ¶î˜NÍezÃÔ'wv¿¸“e­‘$pã<#`ñ &оŒZI‹nRý¦*Þ§øƒ”ý]/%ˆŒK3"8/dÔVbP Îâ2³?«¦Ô’Ñhˆ‘ØaQYÁˆ‹Žðh%¡æ¬~|#Ï“Õw-’×õCØôaÄÇÎ¥‰Û—?ñú5^¼‹æúá}8ÝËàsyœYË#7qûÁXUªý—´éÎ׺bê©ÈÎ'ÆþxŒý±õl¢ÄyŠÞ^2K,‡[ë´Te¸{ó7xž'óÝ®íów×ìù¶GçAû\_wµ¨ÛŸ¼:C¯ŽÉm¨Ût®[þŒ]±ªÆ§3„쪠'ŽT_ÙÏ×Fà ¢ÕÌM¯|î×öÀ>™,çó E=¡sèÌ–‹*4e‚sQTÒÒGÆÑN'Ÿa ÓðÎ ïØIM<¤·'_¤¡Tèñò¦ÆìM`2iÄõdK²DN_¶Åmv‡%h L–Š"(¦iA,cÚ:KK¢Ö`„ãæy2Â?¬ü›ð Ø„ ŪQú¦¹YçÁ˜‚õ¨ä¶7%–áÅxf¬ØÜ£¦‡ö‡i{OÑ ˜fšòB)¥¢²\K¢±„Zöc­4&°BDÐA¼6¼ÔÆÄ@J°iCÔáÙVÞùãÖéäb½ÂO÷½w]½´‘÷)£`ƒTž|ö!,/[yìæ€‘¡iú× ï ËËVz„l€Û±ÿ/SnÌ[ÀjÝf–ŠšŸ´Z«ñc†n]¦x,à ËHÃóë£ÖBwVªÐg_5ó ·]åÙ**ŒO«êŠëcØÿ„ÅüÁb~·`åÑ–4*¡ÈwåLT¾àÌ€Læf³®¾ 7£ÁqðIMh S˜RSKn Ìùaq³U–Ç'nvnÖä=nÞÁ¾ü&^Ö_çμl<ÃhC>ÑayY³þ]yYÛ÷ð²ú‹’7]h~\þ¾žüø¯7ßüåÛ_~~ó¿ýïï¿úßfrÞúN6'â J*ˆ“  ¦ƒU„>œÉ &"AZËSTPÔrPŸ+“;j”ÎGXYáaEñ©¬ÂX©rSR5ÔVÈ}’ï¨6׎E‰µmuÐ 3¿n²-×î‹›–/ƒøšÓÉ›A¬Î HŠÿù&Ø«³ÉèÄæ,äFbØcÁgÏþ¦p𮪗ÙâÍwÍýóÎK\ä± ÞiN¹)l4ÞƒM¹ôŽ`Zʹ©o1Äã¹ü}ŒÔ0g¤¦Á«Â3ÏÐAîi ´$LjX_o=;^æîºÝÝóoÆ7ð<¥À¦[ÖÕQ|bãÛ,û‰Ô6}ÿ—ÛŸjm'¾¾ò¾Þ|Sqœ](Ò¨k¯]Ö.»A·_ãoò}D{ÝõóX-êöÛw—ìØ ðͰJºµùšKð$¤&7ayÒwÜ¢$lm&,Ü¿Àt½F.T;Q´gGÉE´ÚRmi‰2:íC ¾-â‡DÝg]Œ_Òq§©@ÕCÈüÇÔNS’ Æs¥ •¯?.*PÀ§ÿJß»}z°-ˆÿš‹7Á · Ÿ‹þ05. ãx;VЏ”ócµE´SGä×Ù¼·®—IÒ»Šù¥7i>eûdU¬µ·Áè#wÃc³›aÈ–£›_ç|íãiyÐUŦqWn6¿Ú[v•ê^›TŽLâΦM‚c'sj´šf¿åcHÄ‚+¯I «¬ãTF´f­¢LxJË"Õæk{ p?¹1>Ù‡%7ní È óæÝ'¹ñ˜r£ ÉÝVn¬cÜJnÜ:¸{äF3ér#‡ÿ"ƒ¿ýܽ‚£ß9b“à¸5ð'ÉÑfÓUçý$ÇxõÕAr´%¨?%x>„U}—BзÞ;íÚÏ¥ÌYIi BrÍ _äÆªø¦ÒнڿÖÔ N¬—„–¼¾•ïªçƒÔö>Ó›5›8`­àu&Ñ$¶ÖwÔëžÃÇAiîÜŠ§©¹s_ÛWÍr~ÈqJ*cî²b»]!à¡)¸Ek°rRD©x ¡p—ŠhLžk‰|¶ +†D_|‘£¬>¹;^èL®j„Äé–kÕìÇ# ÈÛÊ7õŽúEQº£´Ñ½ÕRñRør^aé `ƒbCw•7úepŒé‹Ä.0Åà õÌz%|ûê 'µÙTài‰Ì¶¾®Ç1Ã7÷UܻñEHüëSí·gÈ<¯q®·ØŽI°ƒjö›{î6®è´*ÂŽüm¼ºÚæBš[UbJÖGVJm…e¬Œ„Ì[CãÏ·\ʺ¹é¦ÁìÙü‰GZ›Çg-h{ óÕ×Ë“=Cea7*ÝC]`T9´êH()KGM01!¬¤ü XÆ]ÿ _£WxaP=þúƒüX³ã=¸ {MÅrøæ°›z*ˉk@þYsÕ÷ªqܾÌ%$ÜêpÖƒb›ºk5)Ð}{fRFÛ–ÔÔïC³±8[öÝBèümªgœ®Õô:Á¯Í¢ ?nÃTWËûýZÄ8ÑmF×ÜÛl•äÅþñ_•? ËÉgM:Ř{íª^Î/~˜Î»z(ž)⹇…™ ¹ÁjÚ¼0‚ 'ˆò%£{ç‹/.áÏž« fë¹gà°d£i¸qWô¶² ³¸Ák€ì¤Ç/Û f¯˜¯êK8§F›„¡s‚<*up¢õªRüééé`éM“ì½kÆl}„iÚ¿¥MŽá3ÚÞàPÉ€•X-°Ãû*Û3u É~ÎjY‡iì{›(­^¢æd¯Y”4<Æ© ¨€TÀàHAK¬Õõ¡ˆãç—Ëdݽ/ÛóišïAf}U×sWÔ{iI¬×€±%W?Ÿ,FY‡å²én¹³÷Zb¡GQ(î­*it2…* µNe‰ßt1퉠-æV»oýøÀºu¶¤ÒsÀB*xiÈ.= ]ëüðõ$Rº/’5æéäÇØÃµbg9ßx9òÝÕOÚ¦L-\›ìËEx[ͯêi›†Ý‡Üîd»[•Á•³Aâ´²äŒk­XΈ¨aöÖAõXVf ï‡4qÇ=ç³Áza{XŪ•³yCgB£àÀ¿R¿PDFj3E\óLÝ ö½ÊÀËyÏp:é—4^ËšžçÒÂ@$—a±Äò¨Õ`±ù¼-ß¹æS¿æb˜äèÒÆ’€!»ÍS O0Y)a:,6].¡d'IÀ Øú ôK5õP…¡êƒ±Ðp” 9~’Ï_|SÕf³8hˆéIŠƒŽª["çHÅIÛY Xð/,‡–ÑsÒ¢ÈâwoÇå×}½ÛvÜÝ“ºUØÒNì—Ç–M‡‘:㬟§ÔوٓBký¹ƺGÄgKöX÷H{xz›ñó+Ä©}öÓ$a—r°ßÿ®öYΗfš«à~ &>†&t\l2!†‘s÷»þ‡Ýy;çòÊ-œ‚ÝÕÔ´×¥ub~°"Ÿwµ @â4<Ôï.ž{ÎæIê±ÛÔ2n¯ƒp¸“U¹öá× ù›ÔŠeXՠw“„¬]5åÔð¦YÌ ~º!î®{ À ídª{ÄèU¾ájž¯³à\UX"I“uƒßâÇ©oæ0R|½æ3(„çí¤­£yãžH›\Çb6_«û|q9Íè$)}øÌÛ¼™&v±±âó`‰}.Û_â%ö·Yâ Ìþè³2Ûk7\R{0h¾_]¦¸ª¦»ÐY*†Ñ”¶¾ÍŸNúØ—WÞâ^ú5±›ˆˆ´ÊÁÒáÔ?{$–*/]ÏpãÂ;‚oŽ>=tCµ¸× “^Ì ‹¥™-ó¤8ÎÙÇ.2¿ÞŒê§/ûµA|¤ãj²šH;Yä]7:{XN:½´£ñ>U¬Ž°Rªn‚q«ÝÉå#Kßw–ëvënÇhädË:Ì©fÀú*uS2`›7O:Opvua±ÈJvcmÚ;R_M’1¢Ùq¹7U³ò¬þÿìdBóÿÿË- ñ§5oòÐm¿«†» *ãW‡ §“oð…ùd1¿š!¢dÏ!,×RÃ1ãM€¯"ršzŠ’ Õm(0ÞÉuF’°6zÄàÍLá †RpQi}'é]7¿Í,0 {µlqã8-âZž2Ì\ÈÁÕa3KlÚç}çû­†I6åXZÜbë.ö¸éý<í…moB‡—›ýªíkž†ð†¼šM«Yx?M--îì²°ËÅÛh'‹ç‰È?þ„^¥ÛX‰}9>áäAq2·PI€½ !>Ö&x¤ýfç¾'…Ò¥†¡>¨ ŠBS8õš[Gbê{òœà§®K}¾¨f¿fG\?QgçÉUä‚X‹¨53^”2ºÀœ,¼²¥v±iº’Fß6^k8ƒsÑ®µæ¡Ò <…9¹±Q{Vú4ÃWWËyo–•.Z_ê5ÜtHÂtMÐk–×ôº øìÖì áÄNÍì×Ô~ «!i¼òP­Oµ˜ì0€½W] #œ-ÌåyåR{½i›¯¢ümܼMÔíj+ŸìuÒÈ»Zjí¼­Í†Û¬³[6Ôˬ‰:ƒ} ªeVj…þÚèYT¿½¹\ u7oØ@µL MzÆ/ÌõédëÖŸ_½«jD¾•Äl¿I2GËK‹IÉ;Û€•ûµýÜ€©z–Ê gÒ9Ò¥BRtáïä ®›ôÝA®ÖJSm[v¾ºF­š·­¶Ò§“Ÿñ¯&è }ÃË*ù—Cø£ŸÞªö›zÏŸÍæ¨ë Kﺳ#Om|Q³É:ú¬ÕBIËiÌ#tƒd×­Ú¾n3¡6½˜§ÔùF¹ºÞVÛ„¶?Ü®Z…‡™¿–#4®ê|Š]W€[öÅf$=N}ÆàôîilFZë¨NÏ *tt®”DEÍå‡RokÀùóÃ'ðØàùzcJ¦¼ÝWo€}_oîe»[¨^ù×Ì×›!6,lFönÇfðšË«høq½×é®°“W3¯éhÛ°ã½Øî> û`¸Ùø,7ëìA!W_ÿðÅyœ¤²ìу/} L,i±@MQ¤†ž;…«»õíÂBÖ”»|Ùœ^lêm| ›´¶l¥:+~Mð.~$wãÛ‘Ç…þ-9Ù%ü­Ö¾b^=õqÕ|uaܬyÕµb¯Eïê*ïXô÷·x/rèÌpW®á–çâb¹á«ê2å§¥uæáÿ²˜_]®ü³½/³¾ œtç *ƒ±”VÂQJtI}Á´’Rñ†g®Íôò$ÝßW\Ìg©¼™‚1ñ2ùŸîÙ¿1==ô“KŽ) öDÀÝo?vEšÝEŽðÓ ²N)Ήӥ#pb¥ ¥RÒ~x"§9Œ9€öœ†ÙKu®Ûð”AäôÑ’‹· ƒ<¶©|—›æ«5AŽMKYö©@kÄÖÓ$ÝÆÙÆ/Œ®Õ^#óÛ3¨ ³±Yë0ç¼u…7Áf¨v×W1ón®èj`îu¼Éê~ƒÀ˘¼Ê¹\àg¸ÜQ8¤°ISãÐä´÷τޠ~8Ý`ï÷æZ<µÜ“;gκ Ö¼ûß×·!·r„'­ —†„_Ï: ·ËKCô6%¹¿­æù:¶îâÜ:¤©ÏS((nxÙD¡îpѧ°ëa))7Ìæƒ6eA¸PÊI«å³ÍÈ8:‡Þ#.>•>~Žý¹ô§&ˆû„èÏÒµßtnÐ ¹u±øDÅ× ¤äÁ ¦° ÐY9WEá‘ÞJ¢×He¢áíØ»O*Þû¹{÷„hä‘U¼]h’í¸Š¬ Œ–N0m‰¢:ª‚yõt;M~Ꞔú!…ú“bX;0qçÚ‡Ç@:OáÓ¸*xŸÜäÁÝËœœåW?ñ¢}#†&C(vI}ݵBï±’­_¤ê×Ý󓣪²>:vózÍÔ˜¡—Ca©W[§ oƒV«{åùäj¶\”–¾r¬ÈŸ[(idCoó‹RåŒëùâ×ĹJoßQ›Õõê¢dç‡ý2vR‰p:’^.4¶`Ìq=/Kûl•A¬q›•ww†+˜ºèNŸ‚îaöæËÀU Èœ³’[–%Öæ´XYØÁo ù>²áiÚ{[•@xô>Fý䩎|;E¬ª' žNÞ,»`—*ÞÊ‹©û¡3›‡Øï"sOn›×nÁ¯M¾x~Ì{ï“&y¸é÷‘/µSD:Þ7Øp;‹¾'IË„ ùÍÕt¹^È"åà,z»jxׯ5°8z¶ÙËI£Ðwq’ïÂ[L-¯sãÔÅÝ•;m›Ûô[J©“>HAJ¡¤1Ê‘‚5`»•ý´SG%¯X0ŒÆ@BLE Ò¾©!¨)és•wèüs ô}êoß>°2àßãXy˜Ý ü½}ÂmFƲ]Ÿ&ãOfz‚ëªëÙI[+:{â”—xøp“’'mHs9¥hË̤ƒuY B½ ÎyãJ†f·.µ% ŽDÔ”Gn\Êy«¼væDI9ð3î¸áäC$êïçoÃ'šþøh‹ÂÑû÷AÄÜšXxá½ÔTÊR©(]ð†CÝÈ8&SL9hÖ‚ª’_”¥ô%'ÏÖ‚»ˆjêö~¢ãŽŽÙÜV oÅô.Tãy0äézÒT€ö¢t”­u©ˆ Fc Í…Æ­ÆFsó J#$DÉ•tø‡-èõìW°ô‡Héߤê\_O+÷ë'jÿø¨=éF øÜ! ì+¾·*jAˆ`Ô³è©2JŽZ%¢´R°ô퇖È}}Âôá$õ¯Õ0ŸHêYT:ø”„âšÄ“U} wµ¨ç‹^õŒìD;¶~,Àå4º‚#U0LŒËà¢ñJ¸‚>HjŽWËžt½}Ç€a?€A­À;Z|*Îv¤‚ x{ÔÔœSªÎvë¹ éµo«º²Õ´ZÞLÎ+xláΛŠýÙ·y¹]ŒzSè—öQDÇ’ t‰L úfY”’±hdÁ$fúÏn9¿-qžkss²Z~sKŠ¡ëXgkÖð¡jqk£9ó7m z-çó °f#|ða°¿°YTXbZçÀúµ¦éš6\Ì7x`ÎþÕõ:2½aý<ÔØéÈL¯1`Øå¨{,…ßÓ¡1É¡)|ººBþjãºñ&9få*,šì;_N[é9ëÉf©Wj³<¬>Ö¤âh]a¦`Îb7 ȯµ÷®ÐÒråBlôŽpªJΣz®œ²§µüàõÏŒmÑ~°ù®JÏ|öT5ž£ÄŸôØÕ-¦7™' Í·•³æSKÓ3¨–ƒ ÃÌIšXÏ)1¨¾ZKD ì“ôÒf÷fǰ«¶¹L2vrM2 üôÄË0—ó:Af'Ò¶Äo¤g>pa(UJÁ§(Eˆgë$D ¼MÚéÓ¡;ârM¯Ú/¬mš_ýˆ¸Áp×÷p$Ó†´e÷¹ˆ”?¿iÏObdh&þ¦í¸š©“ÅV¶¸JåËë+‡ªp™Ôs7®¯0.k¦•Ï‹Üè˜0$”V¥ ËáðH¤œõl ‰èÚ”—åïZ÷JzIgôwøø1PÕ®ñæ 8wÒj³¹])¥ƒ÷-jIîÖx2z^¥màFˆ¨™S)˜"F"Ô‡fÒ#™¯f©)Þ?<¶ÚĪ} t’L«$*î¯I–¬RšÞa€­8ëUUíÙ íC)è9çk×m•¤ÂEå=q@L»tn—QÓ ‚±Ôt:—N´r˜áA­unbNãÑ­»v’;L(ñR ‹SôÖѪ²ÎвpŒßž@qÇÜ;:ÛÇ| Ï“Î7ˆÆ¡³äƒô¬Ão6 Øçdå&2¿"¶ØgÉU½z¸ñ»ôlÐÔ2'¯fË¡©×8Êں̫é²)®úbÚ%õ]E«^EÙ.2Ž7·„-–‚6w®ô³¶ª&ús°„ÝÀÅ7ô¯¯zª€ñúkh³C±UÀv-݉û²±X¥u+›É±)ØêÚ Pðå 5j}S‰žnnoür½xàb¨bÀ¶«ðÂz½3l{Óâ[mÕÓuÛïwë@¾Ës°ü{N¼õÖ5^Ä;Žþd·\/±~Ö-Uí÷}8ì–æQû“’)„[¢5ðþÈti¢³æ¹òÛ~‡™–áºiu¹©þ'ÍjŸæ¥cÿª™’×afv¶é²£³òÿ|ÓFò7¬¡m–V…kl@×Zùϰõäç¶·ôŠO7×_c‡½Kž¶ÇÚrÏMÖ°fÿ™ön¡ñ^š´bP;¦Ì;T«Y€ô2%V~Ø|¼÷%o#EÞ Hh.z ˜rJEWp¡X–YNˆáÀšD¾èí½7^º®}!¿ì±tG¨–ÄÅJM |\’{!´£Œ?˜ª{9Ï7¢Ew¯ý-œ…™ïíÏ:+ÃÔrbÆxk=ñθb0éêí]¯´•³Aâ´²äŒk€tFD{¾ýÂ6XÉÕ¬JÖÆÂ‰ àIɳ»ÆCn9ðwöï^v+~šfö{èMÜ9£–žøê†ÛðÿªÃwœ§ž)ó®k@€*7½LÖ¥Iñ ¤S‡Sɵ+ì<™’ø\Ó8Õ†UG‚ùÛ0PêS‹{leÿŒ$NÊ4ž5þðY¸í»8™\Í’o™ai(2 cöùì 4ûDoo]yGµ6òÂüšûkèÞ¿„ÿ¼{ÃI–V`̸Ô!9¿˜|™ò?Û0ÇËTcÖûª ›ôt—üi&ôúê[˜ÿ¦™wÞ”&Ì^˱äÀé0~³ÖúÆ›> q™ú¹mht’ÛcüÚõjÐÑ\^³x†wžu¥^¹»Ñêj§­™ès‡ÚNaBØd„€v:Flé­G¢ØKj¼Õ`Î9ÎÊB±=TzÓÉŸojSÉMb`÷¹A©¥æ†6…™¬„Ó&žÖÕÄlb\3}Ûî®ÛäÙì®ûwnkĹ[à §t!Ki¥‚Ç á"c„»X<[q³ãý‡C„»myU|oÞ~*EoOzÅF½âžP»ÄIîåédåê¿ë™•äËý/7ɹÏ6F›½Ü ÿ6pÈ5ç×,N¯úݶµF~t_WöŽžNþ^º^Ø^bÿ$:-Çl»å"4,¾YròØ!d޽ܓÆ/xUwžÙÃWf8Pw.˜5ç Ø±-˜”\Œm±þ–6Rêä¿ÌŸ] Ïû¬ËµÏ5ðå"\†™ÿÀkk½„iæõ‘ê…'¥Æ}kÇ‘ôqà˜'﬛'C×Ps®óL¿‡«zÙj¬_sÃ^ç×9vêvÔTgw¤UÉ AÕ '½7ºÑ.Á%¼Ÿè*ɬ‚yjÀî2Tt˸-(œ±RµÉ[f˜ú©~Õ =økõ°´­ûØâÙc¼bŒÍû*¬ÍËÏ9Nç`yþ¿î®m·A†¾ï+º !m‘Ò ñ4iŸÐÇ HRкAíß×Î…–¦jÒ.ÚJ‰c9¶OŽoп>‰ùÆd‰L.X$–LIªù*K9gaÈ—‹4Ìߨ=Žã+¼cô"ûOüœ%ùÛi¸orp@tV¥†8 ƒG²Yc—øñe®îµPÓ=|Hij³;/ÜNbiW•Û‰üÓû?Å8mLT̯ÀLÚ÷i¼ôÍÜǺMžÄ×ù2¥ '4gÂ5µ¼gÒÌžg΄a'`40fbØ(-¥‘¯¥­JpÙÖq þF¼/“¦Î© ùÛEtlYMÀÚaÒjË‹m£Û:÷‘±F¤À%‹) 55Þh·¼ª\'j~ÕêÅsøÊ²Í,†&\iPH8Ðäµ_OsggQÕšÒ®ëˆÐ§3 Dt½£%œ_Nn/ö½ÙcŒpÂȼC¦ÅŸØ2yºH¨ƒŸM,’©:Œ:ŸÁÂ22»Yj>GS¨àkâV:ÃÙo‡†h.©Ý¹Óô«+1«|º?‹Ãá^À²«ïÝ»·¸²ò£!p«~ íjti¹l—á-Oxx8Î(©¤Ú€B=$~XZrÉǺT/g}ÝÓÃÃCõµŽ@¸‰t›iHìr“Ñû(½ø£Ö›Iƒ†]æ­|ªvÞÇoqq´Šj¦O‡°Xzzë?ûdS{š&y²;áуÙÜÜz˜?€I¸¯¸Éï*“ìêâ’ÿ“Ì@'&Yüìp¹TQQq'ÕeÏÑÚÞNË­lQ427?ƒé¦ÉÅs"Ña™ÛŽÒçÎóƒñž§Y†X0jsÈÁâ8e‚¶JJJ%ìډآ°b2ÐæP ;žn‰2)µ:Yȧؘî9ŒHº–•—K¢¬2ÓÒzb""WèèàÑш¢¢ó„??fææ4ÊË‹Ã>ŠâÈÍÍ]Ø ÂUp³;””VR =Þßx€xO_~†1beeGïg''_Sšp„9L&„#¶··ç3‚Ÿþꌟ¨r¯X12J9õqÌOŽö€5ã`a‘{ú£¦§GgYF«±ÒÇô(ª’ÎBÈ˸˜˜¥•wÿ¸‰‰z·±òövͽÕf‡ŒöwË¡ž1–õ~µ¾!@î'ví®N\»zuÇÈEÇê%û> |õ žøùì?Á'¬Æ¤Á©`ØåÏl1;Ο¾V8¶±É&²¯bÒWÐH‡qyJ \ð‘íÆ˜Ÿne†Úu(·ø‹á.PPÔã ÈwŸ{^­Hýx뀰º:)bܺ2úõùš—œÚ­L5A=«§kΕ#š9©þ+¯p%z±òäV yδ: 1ÓÔñ,’,‡[›lo5yÔ!ÉK>•!&­¬¼†fA_ àV2l÷€¼UiüãYä]j'ü`cd¶ËÛxæìW.Z†W<¨)}Cœýa°ßõÄ{åå.¢Ñj­Ö_Êʰ.›ŽÒµ¡¥¥­<¶7rGp£SI.2Ÿ®\î[7 í œÒ77Ç#šô8NL°¾Öäƒ1¦ÿ¤!oÒ7{ÙÉjáÍÌëo=UWúùõ„]lrËßÜÒ ®áêc¨ÊR9~\[š/Ðf†æ5wt˜ $b1ÐQkd&4J(Õ)#U)x·Ø¼ÚM‹O&ÞÊÏOKœú}Xƒ]GÜóçÏø4íÜ'ªÄnÜðþbpñâÅÝ`w:ta Køƒ°Š ¡ täiýz/wæ`kÞcª¡¶¢Â¨ˆk¨½ŒUçV^Ð`9vW°Môw˜$éi¬fŽ>¸Êmlpd$묪¦–9ZTT$"%å lÅ]Rì©Ä¯éÜ™çÏÉÉ\&t:4ôWfgÕ(ã»ì“0=—ôVn´ð¥Cú6ϘŽÿ§Ô‹–S??¿”TE}}ð2®Xç1PH'Ìql)a=u+âèJK“iÜŒ""%CüŠImŽçÓÊ?=ÈR‹ Û1Ñ!ïìð舱JT¿¨ùß·ÅòÀîd®ÐºÑ(ÙB˜ƒÉRÛ߯‡#ö·©—–½^þ-µZn0.åbý…¸¯#CÃõ‚Û;©^Þð7|÷ç)ñÞ#Y~€îXÇüšÓóN“ff¦ "Rz"^únÐ¥(òZQÝ,^zGøäL1£Ç±°îpL·/-¢n{7QE}ü¾‹¿¶öe?8—áU»ì8ûÚƒa‚ìÅÇXM~A –îÞâdL^ɤ±pFûè(¬Q¥† /© ½š¨x¼jE â’ƒj4Öa}™hße´{=ÖY!dŸ®ß"ÿR6wh$0°ë‘ÉÍ›¾iòÞ-;žqe4LyC#l±ŽµŽGpz¯_¯:ù4£©àp'ã®â’â“uá3­Ä?´OOú«¨x(/Í€tÒaqeý^¯ÎIÿÛ üo‚t•¼yóC©Ö3?Ÿ}‹F®õn±†•túr›XyNíó#»/€4——'lÙpòÜøžÃUliß)æ$ÿBŠÇáÐíìçÝCN6©8øê4l›Æœyoo¯#Âܳ» †1/44tÐèa ':n?7FÁh9¡Õþ>>r›-ü·ãx€žôÒ*ss#„`AÇÒ,ôô7:ImB™3ºï•ýVF;ãùF\|ÍÍ?5YËyÏQÛ(‹>6#uÆs œ“|øùÂ'°¥¾>='çêòòòüü5vvs ‹3®Ÿ:M–0–Öxp/3„ÅëÈ[WÂàPˆa7Ñ9ú;cç¹RÌßDwGËŽQðù’°&,×¾X›f\´³à¡•Ö„qU·þ™–Ë?¥úaò…w33³?édzÇ7õ¢uýs&ëÖ¿ÚeN×'‹Ž‹3FÆyˆ¯¬0i÷8ºlþ  ®ôC…]ùŸ¢B›~+0µOdØ¥È] ñ&à·ì&JªÞu*˜nÆ„$·–ÑþÆö<ñ&K¬Àïí7²ØúÎà.H-/ïZpÐá‚Cö}&ÁúÆö–9Èäuëo3GL'¿ôjcÃû®å·7ijÇÄô™Í1wÛ' ‘l\Ú3ô,¢nß>6°ÆÎ%$¼ R::¡l¤æÛ8ÛD‡cEíçŸÔÜDÏ·?i*+}Ó|ÛܪPˆÎÒ¶rXª)}+«ó<¢x*¡˜ÂÂ:Üø8ñ á·$¸˜tÞáÆ'ÄññWI”w„ûB¿Ê¾¤òð@è=4òb}c#©Ë~»üB_8 …¬[ÎñfˆD¼ãÓÒ-µ¨m¬=F_™Ùp«ý¿H$³º÷hëÜòò£ª¤”T ò…ÜÙÛFÁïÓ|[ý¹IPf+«–ƒâr™ìÖÜq™¦ÜììÚ‚‰Ôf3335œô*Qÿ°Æ+XÚó-Óç|ë‰*†††ïã㱃ƒ &¦o>‹ƒ²„DS# ‹õŸMõþkà…,æy4žÈàšä¨ˆ€Êl#çc÷䉸N0ˆ‹zdxxe²Þ(ÿ>½5õÂHOOÏÊz¯tP«ùÌp®«WqSSññwØy#Þ'%íîíq+ùÌ÷¥ï®l„Œ…4µ˜BøøìVÇ+ÅË33 ȇx¤éÖV¿ŠTQBbbÁýOs³³R.Ã`…SxãÚ—&è—ó/ :®"½çû,¿Ú¶µ½¹¶Ø>77÷AĽէôn£ûiÞÞÖÆ)çi=Õmddä3‹ ÞS>Ù~X§X­BA1Ý4Ë.›`¬Ú©-Žò™m§q4 ؿͫi€ú6‡bÜz4)!!!//Ÿ²ÙÕ—®¸Øð†¦¦£ƒƒ©²NН¶êë.ûAgé"ãâqT°l…ƒºz„‘¿9/œ¶¼RÏÂ"Í>yMùh¥âE¢¤¨e§zSñè|×¶³³ƒBc€ySp‡|ç@"ÍAªàÈogk[åAЭ–––v›j+¬[ól˜ÿÖRQé 8;›ªªjŠQll,‹­Bq¤2é3å¸DѰÏm&ùdT ç}¿åâ“+F£ÑóÛ‹CÀ[}sf@¹t%üñäÉ“ÊÊJ =Bè^úC>½Lå“îp Šp¾Ñ¦¤ºrÓÓ²½ÀÀ¸®<„ÔI•Œ$…í¯ÛÀ²ëÖ`II¯ƒM"ø½a'›DLNvö‚ƒˆ1r´Ò߸…ÞŸ¹‚‹ψ^@ZÖ'e¨ðÙOçzR·e¨.A"-j<§s´à!¡¡‹š81SST¯¯ïNs䊠…õÓ›B8rww×µœÐÕÖ®2XŽ“ããáWÌ9Ø”ôôÐÍ_]ß¾IW“Àˆn±± €€×ÍëýR‘À‚¬ÅŸ={öáò'÷Í駱‹­}“”‡ƒç­’_ý—Ìux×VUU•—K>íàøåé¶p|°5Qå>ë×s'îK‚¼:Uí?õˆù3²î²…ºKU"¿ÿ ¼§¡«^¢jýòÿGù¿„ ȉȡ)ÂVWóxœí\ërÛȱþ律`«6rJ"q¿È«io•½ë¬•““_©¹’(ƒ,Šbžê<Ãy²ôÌ$x‘AJ”¬ÝÄ?,œKwÏ×—ééÁÅ®¾ºùǧФžfèÓßþüáÇ+d ‡÷®†Ãë›kô¿ïo>~@ÎÀF7%Ϋ´Ne޳áð‡Ÿ,dMêº8çóù`î d9Þü2¼Sc9ªsóñ¬îô°šY£Wz»i–WQ¤_ÉB3xœ½˜‡W[ׯ  ÔJGʅЂ©JÕ€¥H•Ré A!JQŠt¡ÒI^B %¡0tBïíï}×½÷ýÞ/³W欬™3çÌÙg?Ï/ÑúºZ4—Ù.“‘‘ÑÜ»«þ8¿!#;§OI´ÈvØÖïK¶ÚZêdg¿Ï¨‚D22Æ…{êw ÒVÓƒõç;×o «®‚Çæ½¢(ú\ɬ^xÝ½àš¸’ï3 ¥b?œb±B›”Õø½ô¬‚nN­0N‚Ÿ^ÿûK¢qñíÚè€FÂíËÌüŸ/Ü-oTÙõ¯’0µÉŽ9%ÏK~ ô'øg®?“õHrhÅdS’³.^×#£¹CñŸxåE….ºÊµ±±Qrò…Yóš¬ó•rìù¹®ô:e­ñlŠˆ.aÿ(a§ik›™¤`f‹m'¢÷å/pJÿ­/ÕyŸ•aÏ×àõ555¿TWû;;/¼8O!j©àÕÉÒˆˆÈ-(ŠE«óƃ™b:;;ëêò±ÅªD¤Kåø©Ldd¤ð‡%üãð‘å¶¶6 =úÕ®§ðçÏŸÙÙÙ$©È¤4l:ª§ŒIƒ•ƶo³4ŒHŠÍˆð…ë=Ô iÀM:ƒ4 †$Ä+**œz?¶!»{{8“¬H¤ÝJ—oãxã߲˖”••}û&--=l/‰-¢¾ô šWçE„ºº.lEQ³‚¸¸¬ŒŒÚ|tîß7B‚¢[ýÀù³í±Ð¨išyÒœñ»áü#Nsô "ÍH–R¤ðS¶¾s\ÿÍFcÀÝD²Uów³œ*0›.¨ac}bCÆ‘µNió¬jÈåÐ+ÞͰ›Ì7È _½º(FïqΞ¨žpÄR¡Ç¬731N%Z‘„,@œŸeéŽÒšO«B¯Ð’}=þ¥z)¿c ‰ió}”% JÃB©&oéšò)á%̨šÂoeW:0˜5º¨èmV8¿´\ø>qG0{ާ S…ÒxY_-ÕrX3õ_¹68̪X9ÇNÈÃ8 ‰O"? ¹¡ÃbæS—² ™~ÙëGèõ Ðiœ¥c ¨LÇøvÛ|ÜY#žÏ¦ &¡ýÆL¿5Ä/뽈¬k9µFKE±xfõÈwÒMóÏÊive1Ô«0:úb,¡»mè_ár,bÇõˆmÛ,‰aŽ“¸ ÃD„yÐ’<ùjôS½ÖK¯ÇÉëQâbB£Àw…M#ìQ;†õb×ã$ÄþËE?Õ;DñÄÐ×Þø19SpŸ§¬ž\ÆËïÏÇðÀ±O‘2CižÍ¥ÀYÅûV‰cÏõŒŠ“8 (ޱ‡“0#ÇM’­ÒJ8§YZ(eðy¹´Û|Ri>AdT™þD_EbUz$k»±çÆœ{‚8^‚}S,Â@ äL„Ñ1%»Ç\J²1”€ÆÝAp"ß÷œ€E$òDÈ#°Ã^è:ܥĉ©S{Ìõh M;HØ‚@A=–¸œx~zv`»ô˜"Øc.%e$(€Ö´$‚ L$”Äœ9„3[Øn@½Ä @sÇ~neÊž>H饶^+3ý,n Ïž»!£¶ks°¯Ž\JÝ ŽÊ]Ç ¸çó—+í~ÊAÚ7FHI»ë{½œ l;QèECYAH½ÀŽ8,'~¹R駤ò¡1L±[Õ'— ¶¹Ï]/´‰SpBbÆÂóc×óöråÒO9ÈåÇ¥½R’Y‹Žú%zPy1 G6ÄÜ 6·grtÁÓ)ëe:£ª¤—ÖúùX­½ëùp# ‰50Ø Ðv‹ËTΪ–2“0GtV*z³ªfE!ïѹÍ&ÑYŒÐ; œƒZ´}ñh‚a-p¾ÊXg$È#­ %ˆßÕfõ@w°x*9ð5\h¤ÃH'h/­·zZ$J9E>ðj 3K~9Ðjûj a¨žË†ð Í') ¤ŽÀßB0VOö'¢"á mЛ¥n øy´R!P)4‚õÖì€ý€Æ Xé,[ !Á$U@üŠh§bÉY=tXJé;t®ÀHàiƒóÓÆ”Ìå,chŠAÈJä%¯ EèmÃVÃJš+Z—zù“¬Us ðŸqŧêªÎ3‰?xËex”Ú•#Öδœ)—{ŠrL.šuPÞØLÅ¢1G· ¶Lëβ§:Y¥ÊÇ©…ç¬Áç–_%Oaˆ:OÕàÖhºhÕãìûqý¦qȉJÆ-[L’$ô™ÍlO0‡G ã`ýáÄ¥DtTZ¤Ú «ã(ã(µ‹gÀ…R1L¿l ãüœWŸ Õ[ÕQ‰æõö‰)jE¡ŽŒ›ŸUðõQ‡¡ÀñÆø]K:S-q'ÛJÜãdQgê;²oâpkëiQÊZêƒkõoëÌN’Ë_Õïåê‹úʶÚ>¿wÕ1ðŠÄáŠÆUHl¿Î:“ÔÒ&êZTFEÔ‰¯òÛÎi‡~4øoÝÔàèî2.Ut30hühÅw©Ñ¬xíYéo<šø,§ë<ë9*æ0°ç;~ℱÄÒÁ¿Ðx,@¯®ÓŠÿx乨 öý¾Çâ$± ]â2?ñ°ãÛXÍýù×DO1»Å¸Iƾã›PX›ÀulÁ#×¶ çx*óýBýÃ)p©`ÇM(ö<— À_œE‰l?L„¢àÏØlœe¾Ú·Ô:rj"B£$`à ˆdÊo¥ã\–¼MX¶¬ÓiâM´•˪GŸ!â~›U°†ì«ƒ£íšØ'>fËÔ?ÍÕ¬¼mç±cìÙ,¡}/IÆ9ö°bûžFájÝé@~ºQÏc‡~œÐØ ˆ K×ß1QË‘r¬* Â2½¬z /Ȩõ®²>½ï¸¯äCXØ6`šj¸DaÛDž-ˆÎÓg¼úIªLô}Nªb™èjbëm?Õ†cké¸ã’QŽ]áØ0¬9¾ë¾ˆEKú» ×Mp´›þûc/ØÊ—X%ï†Ññ:í{™6é¯'g²7€l˜ì†€‡r¹a>=W¡#¢˜ƒ_+ˆëP’07°¡˜[ÂÜ–+e4z˜Êe~vc`qóçâ¨ßQŽŒ³îY!š–4ãÏAu¯‹oÐÕ¸ùº+Ýì9T¿78h¥Ý=„3ÓøÁÿÿ*MÁnÃÎ3(y¤aØÑÑÆ}¬\"1 eŠé,ƒoM–CížaM‚åÄ6„̉ ðƒp…ÐØ?…°G%ì·K!ll÷×kÕ×wûz€ÑÉŽ‡í¨.q3î ¯w òè4ÂUÉÁzU/&OמOi—̸À³¬V:9ƒYNôQÉ‘÷mý!m΂4fcâ»áºGµòï ®* uô’ý¯'Ñ:ÇèýzƵ©¸…O§è~Íùšüô€_øÂõkã}"ÚªKÙ‹ö¦V>¡Kt¡òÍ£øb¨ÿþö˜iË^»Ü8ö `g£’u/fV%¬]vt©|ÃÑ®û¸ÚÉÄý>à÷ï Ô°æPK=—p=^U´7m9¨è/.þvf[¡ £ØV ÿ˜í'†>óÚÀ×÷ùìQ=ýâà¤ÏE§Çº¸çZgs:uß:Ÿ¢TtàÐ$ì+°Xôs¾,‹ݪը¬s@W¥ÿâ»w©z?®*EV…GNø?º ¼“®Þù{TÈ¿8ä~Ÿú€è¹°¿v{<ð7Ãn¡?Í¿Æ<>â{\vxqo‹¤òG‡ÉÏòù„«ò¶{Êöª Î2UtÐÒµQ~·,ãëôéÔ¾™‚1S¤·½ Py:S>W—3¾£¬ 6ÆþolíVe„êäw²j1òºL)Î6J„umAC–VTWëÁLò*ÿcmêßð2,§|€Þ˹ªN—#¯ xÜ4K¾·“ëm*1K›÷[¤õézmð¬‚@ÀM T}4¿«ô®-,°0éaµb`ŠäAÛ×u¾n7eõÚ½yçéòަøðÑzú ¯gen¼ÄߥÓÙéÏP‰Y:«îÑÝ©:d4|ÕR{]àª:è’TÕNïDWÝ”>”xŠ]£0dJ•t‰¢>*0Ó ûNÿ?5ƒ¯®DtŸšò¡OIáñëN¥·RèJ½ ‡ßb0 ÊqÒ,- ¥DàQ èAúN…>±›ôkc³Æ )¶ÜfS{ëFA@W ×ð\€¨”IÄs¼XÉ«%)Û£ìSޔʪÅÑç]N©ÏWº^šú¬îi½xÅù¼zY¦ã4_Þëè@èpab9“E¡¯O›5^ µZ­×¨/ýÍbJdvªb9uP®=àf,WŒÞm†„Çõ$ý5›%®ú’ ¯nÏ”H-sˬû‘K¤÷(5Y+3Q5Gà‰spëzÿ ¾5J] žôHϤÑNÁFP µÉ±-à #¸¼ v¨ªa2U­3 Ì(_ÃÎ$@%‡KU•›;@Þ‰6R`‡´i3XU&° [ ®M-kZlXͶT5Ò^_õ+uiÅO7 Š S®k—A:Ø]ߪ(ƒøÞÞÝ›BÜmÔö¸’ù²â}%ñ§Ê ~ýnà¡Ûƒ¢íüOgv^e<˜Yý>ënÊžçãHÞñP_my¯§›ÀkÐ2Àê.æ=7ºS¬ßò2W;R<ÈÖìqùø¿¶æ¿¶æEØš‡%=uUìoм´{9ˆŒ:wÛ0e¼ì´B›Fd‡ÅhÓB+ñ -8®‚)\ÔÖç÷ž}–C}ñ†ux>bB+Du %Ÿl1¥Ý×UÜ=®©˜zøÉΖoÆû:£Ã‘óËDÇjëG×gšº×>ÎvN™n§/fmàßõ ɱ–eŠÄ4O,Vk‰Ç ;VŸi"¦?äp¹"¯W-ô¬ôô\úÿ&Çò}X¶["˜þÈ0:¿BKEm{5{æ¶VäH/¬@ùlŸÓ…¾œ©Õ6»ù“C€ÞÎõg×÷βg­µ‡€¬Ö?,6 ”TXh3ä÷w5ÅÄy…f¾¹Ö¢œO³Qüí—U+jÜÊÓö‘ÞÍ]0â;âö³ç(À`þBTž×¾#œ°ý1éË là…U¦TÌ#›ð Låï¶*)ü_éUM—•æuiJšŒ®Ò(ñ”{Ør‡Ö¯‚ýê>u:d¡˜Ûu.Äî‰Ä±iÛi™­v˾i/ïÑgÊuZª¥]Q§> ƒËu¼b¼à~w{«—Jœh[Ó Q,@$Ãù(ó‡0½´6›<"#8kp¬èÕÄ‚4Mî8±øã€ÃuìÚΩÍGÝŸ g"\ž?V–ûc98íÈo;„møg~ÜÐJõ%—'¹Ú°w+r_*CeÚ_©h?*üÕÅet’OœªÑG¶o³~û$DI¼Kñ µ8Ù»Ç[NÙ÷¾ñJ™gÒˆ÷]{ßßRÄXY(ëù1…U^¶‹3Éí"*À1x§rEžŸOF"LfÃüNØBtÝ™¡5¼~ím|ÖŃ %Hû‚Í;‰EO-,…[û²Ì·YÊÖº³<›(ò~‘Ñ’ä»&žuÇáI<><çYÑ#¡¢µ4yñžÁ’5\ô„½A ùÜÀ<Í 3×6qMÕ²sT4š/2‚‰$/Ö®z±Ä]> ¸YH+Q"( Ï-KùBìáJ’ê_h cÍ“pD}Swa~ƒ¼ÙõoZ ‘²žÃyª?ËÛûay¡žóiCeÏdÊÞ{ ÖIL ´X°…‰žÐøxFöÓôZJ¸ëR©ñ •½‰hûMg1[=;]è¾§Ítåñ@PïOD´õ¬˜¶ýb&6æ‚c)g[˜×hçàWf ·¯Ç2´rÃú£±ÁGŸ#PꄬM(Ë{÷ øÐ~KÝßBQXŠ8@$ñ,2éÍ0±Üwßs×/Žn{±ËF=»t»þleûl–Ìê~éã'^ÇÍC{O˜†D#/iñ”\¶ù<³tn©ÍôÙ«p£š%“,w]¶Ç+^wa:X^Mò™ŸõâŽS};ºØÈ<Í¡m)¸ÿcñ|}X³ï°Ùc¡žÿ:Š­Õßýû6{ÇV;P÷ܧOcŽ«ÖowAÖž«'~ñ» üS5/“/õ\]/öšHO?uçÅaEÜ)ð;ùqžQ·ê¹ž×ÞBC’.â³ö®>aaP;Sý|Ù|Áh­.…3¯Õ º’hS lUð{µYèÖÕÏÄD_˜°YÓ™SJ<<48kÆÒYë Ì(zÜ‚(¨ÌSßÓç¢WëÉÓ‰bÌ»M #ÕZ?Z\*…~óç–U´Î[âDù”Ljb°î䤞÷Â*’»á+ïúvSŒô1Œøªäìã!œ }=túpí^–ÖñôÚáamêz+Mȹ„ù|oF;ù]è`½ô¢ëQ[Š Œ‰Žq’AãƒuÿB£6ºálZ±h@öÞttû›_FÃ){š3+<2fvzµÁD±Ñ´:ŒKßrñù¥_={(¸%÷ɘ¬„Ÿx¾é¾¥W¸˜žO09Ï©<ÿ{;Ȥ}õàìm`ßÌÜHÞ^DÄð¡¯ÍÀζ¶¯ 4µqûÜ×ÇÝ|4qª2†¬nsáÚú{·µ Á± àäE¤ÙÒW\èÁ˜.Ž'‘@Þ,í#²¬L@R^ÈP{–‹úæÇîvfö—ã,´—¶0±á@Cv’û@_3]ðôj_Š%!–n/}Âðùgr~éJé»ëþiî>wQ*\ >`b‘œΊÞð‘oî¸R!уÅë{* ó½Kq±u³<%×ßo¥šòo/d5†—ÙÜšÿž9ÕaŽ(0ªû3Ã<ø¥hn†ùO‹çY¼J¤×ŃÇ ($¢Á\)ßÐÔK?F‘Q«ÔIã×ñ—)ë‡M–}NÙÛX8ßX X —²8% «Ÿ“ìÌi¢_ÖH|ó¬nì"¶ŸÒ™¹Ž XÓ rÜÑlùS2úÌÈôõQ[¶$¼b.ÜÄ&yõ9ˆöPÄN ô³¿nÓšgø˜Þ*ïœ#ó«3,.%ò¸«Ÿêã¾|y-ò;\uòèMÐu·ex§ši³t+àvqŹ'§£‚«êXž%N©ôìøØdjÇ®ÜðT)Üù‰­fý™ˆÍžÁ5ÃNës­k½[ ×ηŠÍè ±š™ çËÖº ”$­)öòáZÔÒ¬'ê÷Í«ö+Êœ{ÿž ‘1w ¾¢OußHñv¼Ï–ä½"˜*Éj#áJq58“ íÇÝó°g±½sã€|~ùì€V(?ôŸKA‹ÄC ý¦ªê;Ô´(èkLj ;@VwÜ…Œ\µ GŸW³4슕’”|FýLZ ˆ1¸ûQ°§w²ÛëéXZ ¨ùª%ˆÊý¾%{\ ü­ø Ñ…~ãëß1øé¾ï~÷¸ô¤Hµ#-ï…üï륺½¢Îb-N ˜ëÝÑŸÄ˜Ðøi´Ž0}lmÁòfuåw›ó ÝýŸMo¡¶˜ƒD‹f)}Õš-Á#Ýí©„w¿ú†'1ó™?Ôf¤åqº`Q©íh¹ð~_¼0lJLÞºXjâ.û‘¼Í8ó]iÇQ7Ì}ã^gJ÷½9\³úðÕ¨Šò—ÍÉœ¿ìL80Tkº+&õzdˆŽæ®ó‡—9ÆoöïEÈõI)¥¾yÛq´Ñ÷ôŒqYô~ ýuÁõn"-«Ý®’ñ¯M±ÁKpè i$ÚË6«î§Fаø¾Ê§nçcÓ¬3\?w_²„:!a.Þ7ó/OàA\EÆúÖ…ð팼;ÎÊS?Zd›ê>Ouzvµ?k¼pÇHú¶Ë8S&€BØ †·çÜú§ØÃDÉŒNjÓ³L÷ÔNæŠjØÞ;>r¹­€É•w?š²ã’‡²`ÿüÝÆ™tɸ.ge¥z¶¬á_Ótж6noM0gÓ»z¡åC‚3XNÆC8œÓ!ž1?.r&–0ŸHã'·1ã¾  ¶B;…g­Ë‚¥0½ñ÷ñÇM\ÈÓºûUû¹ ®ivÇÛCw—zB>jœ¼dMa¨ó,3m«m¶½Ô`ˆý¼.¥ã¶]†/w+CЪÙx¨.Þ«¹±¥e¯8]dº[ËýÚƒô½H M¢duDk»á ïïyɇP`¨fÊ©ð‡¢l¹˜Ô{ç0)²ôõqåwøõÈ&“Wø>xÉèEC¥Øãû|y¢Gb빈{üÓÁª¨E°Jwô©ŒÊ“ŸŒ£tÙÐêÊé¿{Q×f2¯»ÒrÏu4=${B‹¼K ñµ²BUòã!ãj+øÊ [Y# –Îfå>…ÐëÓ`îÝ•§_ žüju÷€š—dg!$ k³•™£7Ñ Á(ê§¥¾—äU€”Iº¤ɘüäÒ ®ÈDb-5ÔJNvÈþ Z÷ó?”šÎœ•E_•³øßÛOqbÓ”¨-Ág&ä©äWŠ8û´{²±žblt0èþc%§¯$Ї¦ØN©e¶¥0u«Ï™x"Ù>=³Âèæ5ê¨ÅŒÌÖPxáì®Gr6>6‘n‘ï¶LpV1Ý´€¦ÏØx—Ñ`¾0 uÙË≉+)º_oûËz• põ­£þœæx:}’eZþŽÜk'ž;ç• î•Sœ¶{ÏÄàpfPð’ÍŠðhm¯o ÐFöËJ~bço¤Ód#ú'Lm5B§YRàÁú?Oq´ÍC-ëÁleee„዇Zxàݪȃµ··×›ïtÇ2¼Wà¸ý0u%$QªˆÄí`E‹–––+±Ïºêòòr¿—Ñ‚ƒb Mø +ÄÀÈù¼izdDˆ kÜÎÐÄÄDAAÁɉ6<#ñ¬â9uÔ´¦°ÚWx4\²ªª ‡ÛÚî¶,jJym|‚ÁF¾¼ÒñÀíììä3­ATï/ú”§ir¥|›kôÙ ÆÂéŽOHp??\·éùhkkëµ6$¯¥;¸:ºtG[°¿cf&£g±ÜE„Š/ A“àrz”Rã^‚Ñ1ÕpQ-¨À³…2ôÉHJJ SޝYWMöôÜãàÀM€V0̹¹9µÞ»Ñõ¯×aMMM³"Å;?›xOTB!°?ê+LRÞcc½®.í/ž-ÓR8Ü}þü¹ƒCÎìgøCYÙçS‹ùEEbž+ߟÄ1§¥¥yíþ”agÏ«©ùT3\H¥„……EÉ¥)wDOIG‡@"e]Jsä?Š‹Ÿµl~‹ö?r ‰yÿò£ #‹Ó/Ö®J8ŒÄ“ã£Ì’òéƒq¦§§#ÊÞœì•#‘+Zh²Å=:b ¤½Hzlllõ22²ŠÒÄk†÷.ÿFÿ¬ çG¼ÖRQÐÖ&ͼguèOG¬èææ¦§—•5·3ר7o1Ûèã …B+ž7mÖùîYï[ÚŒŒŽÞ¾}¬ïŒôtõý¡|w!.>¾Š²2ÛI)©™±±OÚÅ£ö5I¼Ï`rëë'ÇÇ asç'»:Í\W$$$ŠŠ[[N*AGIàMö{ñ-~þr“/v wåÚ‡óŸpšÕããã'ÞÓùwÏêî³p6ÅðËóÍ 2ž‘B–«c³0l JJðXùýž :O×Hx®°Rrèì ‘È¥W†¡¬yyy¯_ËþÍ‹ÉÎþ9^ú¬oÌm¡“+ÑäÚNK_ÿ 8']¿õêâm¾³¿üMXXxÊéøïÕEO‹NQ°ÿçÒR FÒ¸¡4'±7 QgggŽnžž›àöWÙ·ûøøø8ô[£©y9\MÜ@‘¹ŸðªFƒˆˆ*?–——×ññ1­€yü¥‰©©ÿõßëtìÂÄ7 HÍ7tY? Ú¬nhðŸ­w2KI†F£—X ¬§ªm§§s.3³È’>r€MSUõ—›xÏG¦wÿ7o\ç¼®Îbhpi‹èéé…„„¨†'»­p‚Õ×õ½šÍåo)/Iy´,,,ê\æ@ÅÕ% †h§ q QÀƒ×ÖÖî>a§2Gd̾W€£PGàû}Œ‡G›ooo¡(j@®x´Ï/¶ø³¿ÿùA—ê=Ÿ‘f †;wú–=8wÕ‘æè”ã³¹‡oŽ·RSé<øÜã1Xuááá×W',}¢2Àf “••5«u’ç–Dr`ƒ¡Ò‘íÅ -œ¿¡8pÞÃ;Q‡Ë ¶1jõ™n8¿YíXÊEB< fmk«ü—ÖfžîHHØk¡ºœn$'iDbBBˆzkŠ"|© 0rv*·Ån°‹Õ,ŠehýÅôm²´÷õE}—½EÒ†,Œ c±ÆPx`F`œÓ™ŽjøŸ9|Â@qå똥}!I`ç16ž<™ŠÓmýÝ6ŠÈÊÙ8 xld!Kà)Vc21 ÉÁþ¾.¡=56 *ddmÝÛ·Òq=ŠÏwpsËqæuŒìï¶\«pàva y&QaåØœ0)es ûoWG N“•móó,ð`VX~þbå½ÿ6¼ÆdM-­ÒÏŸ!öÔÜ ³`K ºÜ{†]`¡¡ïΟ ce¯qŒz ¢¨Ptèãã†ÍäÏh5fš«³3‰âÀ ”@{ɺG¼Îîî©ÃŠ‹W][®Âu0‚o_Ê Î—>¾eðl ÅÛžE® ß­A~þ̳ejúÅn 3Š’œHÜkƒŠºV°Ê±%—9[åE„ä´´œÈxt— BM-jÕŽ†]é¨ym ¸C®æŽ,Ëãæ¬Æd¤EcøJé½³&O}²îU4wËô)FÌ(åͯ׉z½ÔK~S#mmmöu‚7üËbƒUãfP…j<1OÍÍgAk I¾»^•#t ¡J­7ИlÐPõÒG *wþÂÂBø B;í¬¹e «Or±™ž™±Á<-}Ç…ÖoCUÉû ™KÜÿe:]ï~D%6–Ä›ß CáÍG¤©1™{ÁÔ‰k…[å¸Þ!Æuón_˜¼XFVVV¬:@m®ZEÅSz{ˆÂÞTC™k±ª‚ð‡pžîÙÐÄ„ý{9_%¶ɹ4“ š<°€9å½=Š# ‹q?‚&-CÌYá&!ðP­10›(ÚCQìx_Tt|d¤„’‘‰©Ê‘Lù;˜rI_;’3l& ´*už˜°è@@Š€’;‰*0èÕÁÓ”ôXŠüòEØ›ŸíÁ ˆhšÀPKâSfï/˜*¤b²e¢kg-Í̡дôôhuܺ=úW¸<린‚€oh •!ú 6*9r Eû Ä¡•'Oòçº Á3åàôÙ2=¿ØmN¾ˆ‰ŽE|±'N07Ô:Qf2ù¯ ¶LÙ±„`7g߆¢¢§—½q6¸B}l”…¤ì+yàr )ˆÕuvpå_`F@/qq´Q9{ ^@H#Õo*XÊ{Kî²?®ü Q#7õ4>1ÁîÃvqá:[O¶LAÈU±0#?²¤ AN¼óHl”cmE‚òrzzÊJŸœ^;«Cޝz7Âf\?{“nWWˆ%>qdLŒâ?2{óË€pFGFê:ß„§¹ªoc2x„H„91‘Ò›>×}¸¿n æz‡“ Ä$/Ô±¯¿cå¶pü¯ÌÁå¹´L›üE°–òË–¦º;‘…$ b¬T• )p_ìf£ ¶Ð¯/mm ø€¥ êo£L}òK]#2bb¥ÆÈ`× 2ë¶þK•B¹V0¡1ùxw>N ø›å¼¡ÓëÓ?V7$Õ I”¡¡­]¸…H9lé)m°nk=zþ-+¸½ÿ§ÀÍ*(HÞ˜¼µµKLÔ#”# Q xxóß9ÓËÇé>¿L¹-ízp¨)k+!^„þZŒž] I3ÄIÒK¥-êxœ­zuXTû·þPRÒ]R ¤t—ƒt·H£(Ý Ý’"8twKwƒ´ )Ý}÷p<çx¾çÞßïþqyžyø0{ÏÞû³Ö»Þõ¾kQRÄ@#E@ÒRîì…¼ƒ5—‘ üB°—VCAA™YR\þDµ‘Ò¶0¿Â^pï1É@ *4DLÍ%e;õþË‘Î<{Å. *ä*;ˆh È.7˜œæ#ã:zWA¦Kqa}¨ ˃j=_—‚ú­ž4Êp\‹á(¾ái:ïÁSÃ×ÐstË5QÒ}}ÈÛwäpj¿r{96p¤z|¤¦­æ˜]‡¯®Ž jЮ9ð뎵~Ù€NEf˜Ï<š¯7;°^c)М_b£ñLIBÈ”/Ê·ÌÙ^BlÑUÛúñô»f˜G§P¾„tÚ•ü›!q„èAäk,bd9J6œ‹ÇžgÙèY®òÉ"´Y£%9`—]¯>7÷xœí[ësÛ¸ÿî¿Ç̤ö-QÔ‹òC3©\2ãôr©oÚ~ºÁ¥„š$t dY™þñ]ßÞß>Déj?!!¢'€DMUé)`‚¿$À¿¯ yÀާ‚šÁÌo_à”ÐMÕÄH;o>XI¼¤ À$£¦$oà›¹5×ïÁô܃´Ê)ÉQ´³C^zâÅæ†²" ݱBØ',4¨ùƒð”‡àU^Q»ýîy»}quAþùöêý%é´|r%i^pÅENÓvûõß<âM•š·Û‹Å¢µè¶„œ´¯>¶o5­Žžì~=Rµ™­XÅÞxïÔ,x›¥yq¶…Lg4ÙÙæY 1þÈ@Q¢Ÿ=‚ßçüæÌ;¹‚\]-gàf¯Î<·ÊN>aS* Pg¿^½9 ½6Q\¥0þåüÃ{*'<ÿIŠùŒœ§´(ÈGH@BÎà´mŸÚ;My~M¦’3ïwÕbEá é™W¨e Å@yDáênQý€^¤í8ŽD¼Ä1¿!L/q¦ÇAâm \êeÜ:<á¶e·þžòœ| 䈎ÉˌDZP'wÍ6ãâä ‡…£bw÷³¼7©)I%›.™·åõ½)Ð<Š*ˆ…WijE …¦rBÉàŽŽÈO#y|–DKr!n—Èva«Ó ÈÑQù°yV‰™Z Ö³«#Z©ó,£ré‘[®^ÌæÑbi*â˜G)gäͯ! w4¸‚#;„^8„.ŒEƒ€FÃá©õ#üQè÷Ì®-?G7Ôµ±è°Y(²K‡! !R? ‡ÌïD1 FÝ„Ò(ŽãGšE$DúD¾“u^¼Îfʆµý{ ¤ÓëEƒatЃpÀºÿú#û~öx”@nŸ_ »Yg)PéÄQ—CÛøëñÓºízdµn{[xÝí¹BDGþ Œ#@FÐÃŽ? úa ¥ž«çWÈnΙÈ2‘Û™_—c`ÑH¨«²A¿Ï‚pÔ†ú~?è}Åv°›uÇçSžÆ_Hä‡OË\Ù—}uƒpà‚QFQ8_» ƒ~äŪÛͺ„ « ?‹öœãÝ«¼f™R¯.ŒûÔÎõ  ½€‚I>Ó>Ô¸Ðfùk” vŸ¿R° ÿìAŠÆÚZ—HgÞ33×jmÍÝ2ø,VœÈ Z_@¯§‚I2,l֩✠Æ5‡¤˜³)QSªð?X"3X#q2¥7 ‡HJEšŸD-Pq¸=žâj€NXꆇÄq·<··4Z•d#ÙÆâÓ^ÖôÌ3:1¥'Ï&¤ìÌ[õ ƒ4ò£¶Þh¯Õ—Ô  É] …a€•ì×%h UWµÎÆÄ²W2û.' «bjd©æ†jL^Ô—&Å02³{.þZÌ€ñk:«`,Aj @ñP&Ïà{ƒ:‚[š¡ò5,DwZë«[^|Ĥ‰Â·"‹Šè­f!ÇU¥¤9êIë$Óº¡¨0¦plŽ $Å”ÎÀ"¬¤kà…;†4„ƉáÊÌžH»Mj™À`¢t£Q§Ùšãó©×™…y¸3ƒtÒ†1ã +ù {WC–"†G+Cw§Ba‹\Udô“åL1[Í´LápŽ» Ú–ÂTHþIäŠ"϶ý-jœÕHâö‘ïŠè!2kìÕH’Îf˜‡Úh±eʬ€7RŽòNP­šŠÝ§Ö‡~iá¿…†Î7älpãHVpD~eÔW¨¬8nÛp†ºoX€f‚®-€Zj'Rd+_e¶q¨b„õ°(õ‚ö±Nè’á D¬ãû°wƒQ8„½a¼ÇŽ Pû39>êG`b© QAº$‘zú¤Ò¨É2pcLûÊg«qµÿ÷½l š« >œ.¦Zì¢!møm2päüŒ+f^Û+Œ¾£Ï7\âJ ·­`MEÇ›®;‘t¢%ŠÄj£)Ï¡ž11ÃWŽîíjgäTW%ã×°Dªˆ \·¥õ1yض×ùÚgU3ëàd£±JJ©ë³Ž\WÚÉ!¤èXìNªÝ°=#¬êqÅË‘îAQ"öýsÝ4¥ýíâyD"KG}ßga”0†fáG£8I|‚6p´X!Æ¿õ;Ös[H¸8+t1 ÅùŸ'dªË†QÔ¢ õ z½¸°p‡ÝhЯ34â[Å•)0¬aU­4|oÑw¾‹þ‰Eÿyãz s²üåÆ$1±1«ÄxɵLÅ¥ 3T—Én™Þá².ªÂ:* ˜zÛôJϱ5ó¢µçÊRŲŒEÓ¹IsçLaœx‰ÞüD—UåÀ…`s½Z«±¶F‰ûœ,˜3±J]©îmŒb.¨„9ëÒ6úqZýÕ]}_®.ôe¼ñlÓG¯I™Z´Ib¼¿e°¤‹ñœfú\ôÎÂ~çC­‘pÇ:v§Wg§m¼,;ãƒmü7Çl¡]ýîÊm‹¦ìcÁ<ÊÏMÇ š`øú–RM='Ì[Äæ `¯a»{ÚÞ›VoÕ–}øïqô`ð¯Á>¥XMöØê²t{÷H;ˆ'µ›ç8†"ëÖXµžØŸªÿõP;-̼j;Ð÷°SR f‹Êm—áRÏ<+´lÕ]¸Œ´LLWk¬õäîtAÍ¥n^‘b 6,f6ZEºX-»A œ¹7dEô‹Œ›W$ŒÙ›l´Q¨l7ÜÏXäî½?.é“Á +pÇt3¾§ÁÛýT¾˜šöߦžt{ôVZä]bo'¥K•n2æ˜åb*¶Œ_§¨D=j„‹¡âÇš*ôÙÂ*Lÿ|˜øß³Í_±ÍXM;k3Ô×Ú6Üç°]íxòD{—ܺæ²ëõ 'á9òÅã9MWD?é¤eByþ hÜã|õ› ák‘ PÕÎ[¿Ý/tgå±ÿ“Æ]5];"°ª-AwÂY5kvxCÓ¹;Œ0æ¹R5Znk¹ÖÝ«UüÜñ ¦íö|Ãt;E²Å'T]_œßdŸd4eó´|ER aêšå„αrBÂÊ w½ÜµµÏëû}¦­Â^Ä:ýQ‡, XoĽá0êmëóV,½ÂåW¯'èÝ™Šº”ÉzîÒÌlÌqÖš,KCÿ#Šr«Ó0­[$eôÒ"û›Œe<çÙ<{ïJ|­Nz úà #%eLÌsuˆQS´âïñ¶Ã7é·FÖòí‡?<$Ÿwow‰Ëл†¥7Þ)<¢ò€2ñ¡[‡r2þ¾mî. lÝðçó¥{&N_wyÇY^yÜŠ~dŽIUYÕ1c)e–~XMn«äjn¾žúÇó²\(’‰˜'Ës(}<‰®·ÎØÃj¿ÝoþüyÜXíM ïžì»'û?ôdlqfæ=oÉMeÛäÆq½ñì˜Ó²Þ;YЂLª¯‰ª=&Bw×u.™ðŠãÓyj>ð’µ·Ù¦õ¿…Óß 1— Žípkj¿bÁùw‡Ífn¼m–X}•çl|¼”Ô7zçöxõ”Í“ËkjŸÈÅöã(ó\ýc1÷Ñ”±+÷áT%>÷!Z[?9Þû//ýKauG.+¢G¹9“XŠ(¬ÒD¦NƒŽ&åáÊG3ïCžúnÃ-{o QH$-.ÄÆÕJÑ@{Фæ‚ýËK^ØùktWÆ;Íé; ¯úу*"TâOhÓ¦.‚ò|0Îbµc“ò"YSö×Ë=ß,…âz,M%œÆ¹pÉ¡Oêe3„Žl¤™¾2åVË­¤%|IÙ÷ÜF~KJâÍÈËÖ™ËmdåìG{ ó2\å¸jôÂÄ“‰£cňÔW³‹d´fÜœãjn¦.¾î¡gâƒkçö‚ÒÒoL¿äº},O‚Ž—"PÎ9[æ<>¼JbL˜[Ûåh¤M ¼ÑȨX"S%¯¨ŒŸ=.$ðÓ ­ÆæÛ­ÂN*îgyþ¹³(Š€Ñz“=Xð|ý¢›—·ø mG¤òÖLfTøù”¤ ¹´Ûþ‹å²[ij3‘Í·£÷â(_­GE®Yz¼’¹E¤Éü$VÕŸÂe>žìÖŽ“•Ìn¿š’Ó ͧ.²^÷¶'¼JAõã¸'r–¯šWEKcóÄèçbeZñ7‡‘I0tÓ ¡æ}ãË‹šÐÃNˆ­]©—4>ŽòjrçcsýªçÅ«2ƒƒøÃÖM'i82³íš/âe ø¶ÇÈôºPh¼;GVo{Ûçâ=kUdnàêö»‘ìÇŠÌc?G¢y^ˆÜ|Е¼µ–#ÇQ~1¨Ì£;ÇRßáøf*mKÍoÄ,w@[¤„GÙ}p«k‹\2v3¿Ýþ¾3ᄎf³n3NV]¶4‡‹>3ÞÙK_CUªÇYÄý48ù¢ÊCTMæô€q««"¼íÖz½çôZuLsÔœ³!‘¬¸Gу7<ø[ÿåêÙÆèÛ& bHC<ù—ܾ·[¥"EzŽWj¦4¡*J†tæ§¹&ŸáJ%^‘5ιe~U— £õ:V_‚Äñ_oѨôiOèóYc%4a¤œ<=UW«“¸’OOuÌËžU fؘ`nwLp©Ÿ°›£ÏÑ})2;™œÛN1Ýnf8!o ûÎbþ µ2ý0ZÝAs{3\rŠ<9ŽûdqÛ˜ …î@·d’÷壡ô…©òõŠ ¼Ü|¤ò4¶ù[>²Ñ˜ÙNžàª;¦k;?%ÇiŸ‹s,ì1¿lJ_;Y®èÿlÁ¬¡^á²÷ ‚/rÓ[+‹Uª5ß”±ž™;a—¨—µžŠ)>øb­jEÃ_뢴56Vfê¾E“9둳ùjì8Æa<6 C¾höpµO£ï5Á¤ÝJ¯ÈŒ¹ûîã¾ngå™^Öp0šâÎmA ÆWnªQzKW}ü%­ØWòÁ¹™õ#ƒ”Õۓ\O˜h„™Ó‚×3ój¿*CÜ¡`+šŠ•5眅0”°rNéêÅÊ"]ˆ k¹æÚ E –\Tî[]Ë‹ò(0šµ«í33”tÈóŠÍž2ɃYÈX¥¢z4®ópvApîCúªONI»Nn·÷¾¤Žf…0ð7Ø?Æ! ±$ZŠhðjõB£ñÝxËáQ ÇHS£ûœ§âC‰{[Çã›2Ïq ]£Í´/þ ŸjÝß7ȸ§Ÿk×ü8r²ºžmÃe°^¶·Þ)ÀÑmÅ›ùä§|“q…F3žæ¶ò¬˜جŒ 1Nôˆ¨= ¿8µ ~@p\×:*Úä~Ô«¹ã›ÂÑþÎÛåØüþ­ôÚ¸àà±ÚÞÁËçˆ8 Ž} +ü—‡Š9O§ô¨F êé·svNéUd1wÀ™ÕÜÌx™‚“ª1úßi&?è{ /ƒ®]úI<þ"Ü4Hy6ñ…Ð'Iû.™4·lBúŸ±*e‰ãí¶ë›8/W³RœÓuíGÁ%žÓ7íŠs"³Î–º-Ò–ªøßvg¯†VÞlñcVïvÏHjzi׿UY@8zh+6êÌ@Í,œõr¿]Ì_’¯tw²Ø÷ÔÃüH Þ}çµ Âµ{/'Âø6 ~… õZ’zÝUZîC¬Zcµ+Ms…¾ü…è<¼SË)ÂݾŸ²ï'óŸ'{­6ò[,–à¼i*˜Ö’shÙ>=‰PäªâÒŽº=::Ò¾Œ­d¾œw³ìÎáÑba2cLÖÈ@-CÂSæÈÓi›0´«ˆCTÏ”8o⻃˜þ<þz麥GçrSUQðr¢Ö#úÚšÂÞ°üô-mº«‹k¢ñnÒëT¼žo&ƒÓ'ë÷gcÏÞ(„ ßn^žºì ¥é§zŽ(R>áÿÙÜ9ØT“w½=Écnƒ€ÑþǷ %øùiß—(ÊÄÊÅÞUãËËIÒx~§o“•! sU?rªg#©3÷P"ÉÁÌùç¹/ k/717 )­g)gŽkÏÓ­Þg£Â·n,è$}²YzTšJÙxŽý#é²³*jEœ” ?QKK²¯ãÙ4zcÑÆ;|ȧ‡Žõ09P ò‹æd}g¸!mü¤!ƒáñ|Ò}Ðnü3o˜ì¸W…N ?¨+NÅ‚¢Š6ÃPà A¢ÄØÅ P«7 5°|g÷T4›î·wŸFdy³}”E–&ZÍØC`Äg¿ 2€ùÃÁ¡ƒ¨î¯ãÂKB6DTœß¨`¨¨ÇAžU?AavO³3 –·ŒŸ²à¶¬-gÆO]•—Á"_zÃj§ÐŒ¯n€¨r­í—)åÈ'NûcÅ”—ØþaH´xr>&8#ÅÐ6v<ã!"¨+JíKô:Ÿ·_‰xå}tyòÀ~Ã-£Ú-™Áb¡ˆMã?8Öï… ÛütË7–k:Ux»ó úp~—Ò~8Ë­÷ÚSÙ2‚fYÊ/-#ÎK\´‰È„J4ŸÊ{–ÓäQãêD$;nªÌ̺MîÈyé,€ƒ3íµàÄ µßÕöAžm½‰*^4PÉd@Š¬Ëœµº]Îë~d;YÐ_6ÓË8 „?²ÑÚ Çë¼õçh¶SÝœU•Àã9èóñü¦Jô”‘FGñͲÁê­óznº˜(Ø£ìL¼ZY­{"æS×JuIû%çå?Î|sâ^õͶl¯‰W ÈÅdÍnÙÌTœvGÒËÙûÂÇb7ÂEŽOº¦>BCÞxM€ñ”“zŒ }î̤ݤ)ŠbMªRL]³ÓRYhòt],‚óÂ$å±)î@J#z›5R|+À䱿!ÆŒó}š1v|I[Ü«¹…¸æžpñ|„±¡ô½?»näP×sÜÖ–)ßû²áøßLP!(a°j*×ó“Œíð×%dmYñA8òp‚Ò—Z¯¿³½d'öö{òB≩õ [ÓÙ„õe-yFtÅC¿$’xâGåÝ›J¸›ÁØ„<Ú2â ï+©÷ß3CÚ°JãýÓx‰Mz‹‡¾VCŸ€«CµúÁŸ;Û -R´ŠSe¥lØ´‡OH ¼÷…¸YÖ÷mˆÉèI-Ö€‡4 Æ5¸;ŠÕ??p—xa‘Lç§ ox‚r,·=ªVP‰í}¬râD.6…I/äÑøD$é¹p¡)ØõLKù‡e¬m"2þ:¹µå€‘;ì–Ø¶DµMñ&`cÒ=²XÅ…¶DÁÞ¡f?1›«-¸çáY²î-/±qcžÁu×\æßŒ½ÇDÍ/(ËÐQ¦I—×Væóªt-o¼Ù"V—n@bæÒ(ÈÆèìLOT^øk ‡šÉª”?Î:~Ü.DiÂŒ*„læÑo˜Òf£n 0¥ A :à½X{sL?K>Åýày^þR$Aƒ®££në Øõ7½,‚Ç‘úé;¤Ã®›·¿0𕻚m*^Wz­ð Ï#§ŽÈ†MÚÐÄ;3ßVúÍh™,èñKŽ<ë®Ç*O¸#‰¿×ÛŽ|Ò8ŽÊíïkÄÑegʬãUÜ¥ì`07“ü9b÷Ù/È9HÞ#AŸ²¬îì‹ñ!sGÑ7'ã0úŽŽ}çÝÍù>~ûK‚‰•_™ ³ ³Ó,»Æ: SŒÛô•‚ó¬%×)Öa¾”ôšñÁß©N•ä¶êÛvíÌc6n5~Ž™æh:9‘ÉÏlfÊ ué.ÿÁŒÖÇ{tñ7Цk|sõ?›N«¾F\M¾áBƒ0s“Ž1ÿþ¢`£çÍ^$*7d{v…AŸ’ÆÊƉ옙àoÃ60n+0D]ðìÚc9·ÉÍ˧ÄVkÑÀÎ(NêEmqD—x¥pÓ"9 SÔk¸ÿÛÔr‘Ë8 rì~ˆjdîlb "†—/Z4 b =“=;ðëÝ%i¶¼§ð¼úû-¸1Mk1 9QâcÔjs‹(gœ¡„sýu+ÁŠÇmO„ta”åûa|Ð|¿Ò:;ub’6 ¹}Œ@Ð\Y>Û¢Ûš;–f¼ëñv.-«nžØnuÙÔk+&nÄüjÙÜ«Š6™„Œ‡+Eº*X¶[>ìÐÇ%Î\ø´0}5óe¡IÏuí%êöîmFß:9Šo-ƒƒXCæ=øOéókÓúßJû½¥Ñ5=íËË;|C¹#,ùLä}2fÐ1-Ó~Ýâ•Ó0ßz¹øÇ3Z“«·%éVP1æ¬OU1R&sîùN‘e²–GR .p‡ËŒ¥|#¸-·X%(0Æ—Q¨»ºÙ§EÈÆ„ßøFTéu˜=µjtÙfígù ÁótýÃTáÒÃÞ‚Nrhh‰íAó’§ Ÿ¡ è2 «2ªÎîGHº±9妿×2y¸µ£/F†Í¦>ù7U¦VQ%B^ÏÛgÁ¯•Ž*±•±´àNÎñy>—j]zÏήßo³‚.ßÈ…ŠÆZôÍ ô(åí5ض@Ë£U†kw††aZW7é¨mơ͚MGÖê¹Ý›·Ôš3ìœ7öí®98ò5“U’’ËiL™hÆ?D—п<ó{:ÓÑ^EÉçµDЮ};¯¯°ÿ™°”H]èshšl ølíGp_P±ŠcO7* Æ€Hö&ˆþ¶³¼IR;Ž °1†…þ89–ðÙÝý“:Öà­ûÂ&ÓQ?’á ÀkY¤@Šw€®ø€›_Î§Íæ}‡t Yé––÷Ý•I«3ê‡Z±P?’¯í×*1ï­Mâå8 å"ØÕ4?jnù©ä‰¼«„-2É%‹èíˆ,RìÌ<# ¨ëü_Pû·ËkÐk%`KE¹o,Â}QyaòóÊ;Pšÿ®u—´=£t*f¶J€aiŒ×ãü›Qv夺£‰8~؃b°÷þ×û‚p ³ƒðï³|,HâïùKeÀ®¡$é_\ݽ aFeÄlf“QvmpÊ/ÝÄ ˆEPä_¢Åk·ˆxaµÕ|Òqá,Ųà4ÙHÜ?Pu…ä ECŽÅ¼góÃÃU¶3OïÛ‘Ü麙Wë¯ð˜ô^‡2/ñà&b²¬d³¦KÄåõ£*køÕáÓðˆå=Q¥EA^Eï&E6§—¾u.—D΋uFão×Dná¾Nñ¾1H1liy øòvã\`âÄcß‹cÙÌ+²Ä6%w´^ZÁÛ϶Páî"Ó$å‚GåÚôIAò×:'ƒtãÓ…ë«zãåŸ7°îÈ*wÀ¯9MIo/D>sóz­«Pq:2ýQçoˆÎ]×®3›3F$–£ŠªPs‹‹ýü‹ÖCˆSµ—õùµ× @¬pº>~ÒjƒÏ–”Y=ae)ƒX— v Û7¢Á¿«%…â%æóý÷üÀAŒ¡¸sÐÛpç“÷i·Îè@˜¼-]‘€r±,FÃѼù€ÕXßáJÅs;fu2i­Å}ê:AióYDÐL—šA?܈‚7¯²<ÔçÆ®Ã<áI(NêÜš¤WeçˆiÚ‹0ìãgë‰Mþí{ŠUܶ›­Q¯Žˆú(P¦8õ&Z6l5I†ïo+-Z¹Â’˜.Ì6¦Êmh˜<åy¸&¬ÒY ø0l÷ž‚½.펲ÄCŽH:u‹pˆÌÔC§ÿVüÞaµÐ1Òhd¼^n:ÛÕÓ!úäP¨Œ!»@öy5é§^´v…­n«®_¡/‹®7·˜H@M³ör‰DîáÏ[Ì0>qu9 zé„wXwuƒøþK4k¼ •zhXx*¥.<­h øÙ?+µ­—<œY%»ºkê ¨/Àb ü§£s§ÖwEr…⑈||Í ^C‚×ßAO}üJ$ øš:…|ƒ ZºëX2­ØšÝ@=t³ ·“CADÕÚ¬aÝypírsļFޤcšöÖè(%ßþÀ$F È7ov2yÕD³›œÊ"*Gýý À(QaÒ= $8çqʉۚƒ0á:%• õIÚN8n*vÞúÏÆö±E—ÚË“ŠçÜÉýöØcšyêÊqJÐ,ñÍû¬‡éPH?‰õ¢ÁÝŽ?‘nkð‘\ˆŒjâ•®ýñï; Û*2Í3éàGr0 gR=kÎügÿ¬NØý¬@7€@¢.Aø@ìDZ}¡”QÃ#%,_G€˜}©¤šU’0=·}?ñ ƒ%À˜îBKÑ\²…òéd‡}=ï)‹çÅÙš[Å MÈWT?ôkVQb á@ ˜É§úÃä»Ý͑Pc#þ§«ÿcd€ ,»Š½©?Ê¢„ƒ~;ð÷,aŒ,Ù™ PÖa0øÏ!ÃÝÈÀXÞG'†¯Xá?‡ ÜUW¶lƒôfpò>>“!¿ Ô‡°jå/EP\nX6Ý÷‚ÁŸ¿?‡‚UƒUy*Fv¡ïíüO'ïAp_Ø•·^Ê:o îÊÕ 2ûÓŒ\ÈéÖ}ÝöÀÕLíÒ.ù~}¡è]ãs¯º»øEç-Ÿ³­áà+á&Ç.«Úɵ¬Óú*Ê¥·ãáùMå _b_Q›qÆŽ¤Ý*¦¹›{è—qTñ¤à <ëVƧ×ùþРF±èv+6Ûž(ÊgçÐMr pöU[NäÏ¡‡™ÒA[Ÿ#^{­Ùu»!¶(Y'`¯Þ#]¢1ø²Æ-rµ˜Ñ]$×À62HRB²Œ\S_ ¢µÂÀ_¼³-ÿÞ¯Ã9êØ1S…,¹uí˜|èüeW7t2©¸çUÙËW¯Øµ³,gú·=DŸS4_~|NJog¬xù„½ö¨ tc¡Ðö•áFk³Üȶ¼Žªüoöaûy˜î)YÛvùyêIDh@õäí»a…UÔ4 ^90Ÿûyü£ý\¥gz¸-ŒÛߨ÷¢ºe_ŸæsÆzKU7U/?ç]#&µNÀU¡r¾ÀÃB‹U¢ÅD(‹ƒ#‘=W\R.b óë…S?ë.6°ÂÆíãÈßÓˆåIíë绺ÜmºmôÚÊJ¥­>Þx©ÙާÜ*=<™Ïú0Ôb8Ï~%­*Þ˹V¼€·Á㜬ŽVàT.jÄYLs8ãÁ’ÆrŽl×ü켿gImXküU‹ rb¶¶kØc<ڶ̘‘‘˜,çî}¼1KH‚VfñXIïÍ[ëÖÐè7ʆÊohä«OÓe%s[îGîO‚ýkÄl®*3Yé0ݽ&Ú’îmBDZöÝ”#ß3м^T,ÙÙû Ò ÏÁ†ëAn÷vX)ÉúçËiäßP2¼ú0C¦JA»²ÎËlKø#7y‚Kƒ `÷uqïaõÍ¡ˆdñª”¿­Ö_°UºÄØŸœB¶Œ™Ë2P1fc(Éš5ê©ñ(ÊYò#Å”ðHû¶1èÛ#qìðÛ»ãÝ›¢¤^ì)ZeÁ¯ZYH½WËz¶ø‡¶bD墂Ànâ€: ÈÇé>P„ˆ*àñ\œ³?ÙÚ•¤ÒU¸Pëðö<܈²P@9y:&Ô•Ö1óÕ.¢×û2›!ze?Eáÿu‹òUÁ]ù؃9;fçmT~SKJ*§XHôbhÆ£vF5´ZD0Œ1;žMààX«º<]m29Þ½™ÿ‰<Ý× f„qV>×=7ò8HÛÎJhš¢cÍkÄÛ: Ï×`ÄyûJ4ÔS)¢;´2r§y6®(¬ÍãÀoÄ ’X=N"ß–[gxRmóŽÆœøÄ帹´S}üÔš•ìÝÚºƒ•~%5Z­În¾Ï­s‡X6N|¥t&¢ü†'_èlw µbàiD3uœ?Ï^6ÏÜÉ«ñòm9ÎrÙ×ù5 KŸn_þÊГÃí¤lÁ ‚—\AÓpz¨?> ôa\Q««DúPÞ ¨eZ©u_óV˜S ܬ‡÷ɯbgr½kÈÈ~¿Œ8Æy 3Eí÷5êDáãýn"‹¢ÕŒ (ÍÿU®>É@•i÷d€Ì–¾÷ú3mŠZ CÙ€­Ñí_€‚©iXÚBFÀcHCµ›°ØaÃAù?ž“=¿g9Ïô¨hêÉ eüìn$SÖÍç“èã1”úØ«Uíª3† .]:/ñ·ïö2ÐÌBmDÿoXcÂkh}ÏÕŸ®>U®IaŽúäÅn?rõ¾BQ¹÷pðs„›çrQÍyg¥ðˆëõQtÔ•i™6±g¤þeÆ£ÎmÁË^ÉØç\d×E‚šB9ïwu‡¨¡Tu †ìNgøÞë-ì9òE$æ¬6ÏR¹ðvß}¹ÛšS7_{ø9j¾†º"ÍR}U»IøĊèüIQƒ; “Ì‚MÞXYó>r —•Å PùUºÙÌ®½Ô½¢ôLj¢uåGUßÕ飄&¼mÖœ»C²„G!Çç w$~î¸É÷ñ°É€Š~R0Wϼõq ò½æ‘YaV¥"ý|{Ÿ îÝ´øy;†j±ÏÌòmÊ^¶d¨J6Þ˜Øm¿ÒUX‹Aýb*°ç›©%ŒfC gSñËCuxÈ"jU¬šƒ;Fê/‡ž—ˆN¡Û þ2ùÞ½Õº£°q]üʬ¸^Õž…çUËC_Z[cE<ÖSÞ¿Ô”¯aŠ Î5éõÿ´n>A„}ع×/ôÄ~[’C P §·7•å sòl ·u–ê¡VŽ t«o5¨p#Ž\ ‚?úØ~„q¢,ísôÖ Ô'¤Ò =¬Z«ŸwÊ¡÷´u ù¾dçì¦îÃ÷1Ž%z%_m2²f:çS4´Ú¨¦¶ÇýèJ9ocǰòî™<Īá kð¼žË¯[‡°Nïc8E¯u³(Z  ÷aÀ‹BsJölH~)TëZÉàÊÔî;M\;8úkÖ_¥6€{ÚL&éƒó놆A…Ϋt¯¿³ùP§¹•‘Œ€ÍÙø)ô)ü¥Ò ̆»K†l—,€ˆ¿DλÇ_ž”ðË”dýVPï˜ 2,ÇþUÇ0Ñ »/¦®xef1Ø«KKL¾?Ÿ÷ꢙAbãø[‰LÓèÁÞ]›‘zí…‘ P}ÀÃì¾÷ƒk†û&O{ÒŠšS7UäÇöféÃ9ÚA°$£»û`Û–ç/š½6Ðz¸šNJLwIb§¿HV^æ/{ªw²ÃѸ*ü›ZÉØ æÿØ“`«[Ø`üSÚ—¿{W“â'ˆòÓô¢_pqÙ·›í~ù`rÜíV¥wctšXŸa2öÆN§@ƒ¦§¯ïÑ1bR6½)Ò¹—z»Öꯞ Ï¡·ÇÆ^Õˆib{Ó¶äsŠ¥—±Õ\K'¤Ø ÊÑû7WC‡Ðç²¾PUC‰ßàµmæù ëiË>¤¤ôTó˜Üÿì»®"|E¿ìj‹'’½~Vi”û…¢sé=OEp“»áɆ Ì"ÍP¼OÓVlO¶–'--U×}é•Òwlcqy'9^ x~ž5§Á'J@PS/0í#ëí¨¾¿ ˜v9Ùý}—’òÝ·¯F€Ì‰oÚuÆ®[9CÝäΔeú—Äpt}øôœá[¸ì<€~¬È÷ãFt½('«ŒKÅñ9.ŽLkÂN˜R‡›Ô9ÝxRc­SrúÈý¦Ò¸ëü¸©ÛÐÊÊIx?œÎ?˜»•ÊéYÞU¬>hi£ßp¾hî0~.¹‘­LÚoâøÌ •$ùw±UâµÌ ,—0³ê”1byòÉ]$'n×ÍqiRHŸÍ ÒkCSë %€wŠì€´zïÛu›±fãqïlœ“ÛꉔJ\ðª}ãÁÓŒ™µw£Aú”I{ѵ§žÑúÌ9ŸÕj;åÓÿYšk¨Æ1sÍÊct6vòãJ%¥;æW¯ï^ÖId+œCEsž<¿Æ©ºd: ÓŠt;$¿TSø}ƾ“ŒusJ/›×3Õg'´k¬õ™¼[ —½ÚÖègôq,Ô0¡ñ¬9TjÛVÚr¬e'1¢˜”Sb®ø&ú1dïŒÕ“gaã²02c¾ÁÀÊꬅæmz­°RN*´ñ•5NûqãáξÈM3}ïvg“ËNÈvH[§.yVÔÉǼõ!Â;Ï€àSPÓ0¼otŒ 3 AÞê7£¾,„²‡ÔŒ‡²Âd±¯JÊÓâÌä'†nÕ­—y9ÌØØ3ÊZ$£&³¼]*#*’c;£Ô3¸ÏÆ3„Ù9ˆKèñÄvñ2¶ªx‚SI³ýòÙõº) ±A‚&ZžRÄKiï}êŠÝrÁâc¯éòÐ…n±.´ÅËþ!wy1µ’öŽ„µwᘨûæ¦~qõlþ‹‡†X¨­ÿV¤¨|]ý/- á³&—Hâ„Å¿Ò; ç*ø÷ÀÆþ®³{‹‡À&ÕPºuܪ?2ùß^©Y"ðK1óƒI°˜rœ?Ë2¡º»œ”r¯§¶°‡Šr\×Qoóe"LÂ¥f½dõ$ðoQHŽÈtË1®”®ý·‹£êîmüFЗ«•‘5®–bã^„ùu#›i»½›i«¼õfî½P¡*â¦Íâ¶ ËÚ¯&ª€]æÕlŸ,;ÍØ¯ØüÜ5 ÐIzÞ¥§¶Sõk¤ž}Ò8–i½[ç:àejÅgXTž>Å.°¶CeB´UG})) ºÆ¿¯ÀÞéßýQ¢¢¾Ü~løçÂ6brë13œ;Р#1ÉßùÖd¹c¶Ð¹tŒNðóEmg§þ¹êܧé(Õ@ÊluÅWa)»Iø…Ö)d&R6Óò­¶ …oêZÊån´”jz"k¡3“b¹huŽ6ÉkÖ ~,¤*1*Xëßtìt fií’¿­ÞËø¨©KŠVh¿ ÄS©ŠGºÅyR³½ö"MQ±4qÊ|_, H±³‹ó6:leñÎ¥Cž×Þ¥;ï犰‰usI7zÝ öòfÍ×a­â³H<Ú©‘ÎZíL0´mò§YU½x:j"?¨NRN‹Í+&"‹¸Ýw›o˜_t`¹ÄÖ¡“$^ûn§ó¼=ÿm5ü©¿âx"7áÿ®Zt­Úz"ÿH Þþ?Ú‰êÏ~õ«p`³Bá¯ã–DôôÕõ\'âcMé;-ÝõñxQpFd6¸Ò¤œÁ=8 ÷Ö»ÆGUËç~ÂÈA·­’Y›ˆÛv˜",Öãw.ÀÙJ0!â,Ï]‹àwæß¬ÙWüðM©qh]ÞLÔ;©O¾‘…úâ}àæ[šFˆLƒlu>€÷£8[ò7TE]÷·C@_½wƒMkPósí§‰t𾿘ŸZ£„hÊcnRÉLÂÜÿªìQ¨QÅs!ä4Eø«žWeÚØMw³DŸ]íÓÞá‰ôlÙÜþÙùÉÂs5>”ÀÎeF3Š uß­~ü”ûÕ§ˆ^°ôUwE÷ìQ¹÷|ól3–Êu¶HÔ ±»Øûuâ!õk‹ ïÆ}µþ¿F‰wóƒßì§/ÝÂõó2I‡´Ï €€i H¡¸ï~iÊk ýK¾ ‚•1'pK`Væ³w<ž:j:›MÆnÀ§nàð"NBÅÇÊç÷f½IžÊEV X¬ðûs‘‹,Kî­˜ó´Œñ.×È\‡#A„AƇ.Y ³™gÀ£`<Gœs\˜¸/ &H…ù0l1—áõµ´Ñ÷„cI}ï„ÜU fnz¾¯p™“@8H|®'|å÷Âá<‹ÕãòJÿ²ÑÔ|½AÄ0Di RÙªQ¢‰p£©ò„ ×á<T(&\ù³`:ÝQdú—È´mï1Õ%Qã>ëb~TU¯„ ".gc®¤7“Sé+à³h îÔ…LÆì(ðýË®·æê^—Ý Tº‡û®ëO¤Tw¦$p1/9þD8¾/`î-|·¦ÙÎâôþ*-BÀ¹/ªN×wÆ3ÇBˆÐCšuÜٮʰþe#Á|€+Í?â5{Ηù«Ò^FB* ÃÈCîôÿ@B:Óh*#ÇqÆ;ŠKÿ²oÀå8K²Â"#ék6H€Ó‰3 8ßUÜQNˆêÙ8D¡+ïg=>6ýËîbó±|ù/>S”„åõ—^)#|ኙ unèÉéØNÑ &àì(2ýËV¿x§°A7t㥛¿ö£ÜÉ­to:ófþÌãÈ pš‰\ÝS7Ýb6n1™÷†Vt “!¬5$¹»ÏnºíõáFjz.À$)"ŽbÞ÷åÌ™x3×ãâ~1Ç'¢þek~Ûy æ„€=C¡BrlÉ™›J9æÎ==ÐLJ Ùè2+¶DaжO$däOaÈIä*HÓ¬œmKƒfÔGƒþ3¾ŠQb£*1Óòv'¬\ðÏ6G¤h%íÀyVoÎ>ncÚ¢9s<–8Ið„Y•òs$W^oŽz´óì I ˜ö—iš<øÿežÀ€·(wÁI%ƒ=…ä$VOlÝ âE<¬’6æLøÎDvÙ÷iµ¤ümó$“U»šSo‰ƒõGÈM¦Ãçµ\»‹ Rf&¿Bÿ®…ŸIÒ´¿ÒïÅú‚.Õµ¶&Òþa€u´>7CF<®7Z¯n---ä››V™)vÚ+ši$b$Öo6„“×'-yʲÜä°ðœ‡ìt+¦bmpB9b#LBQRV ¹Ù_¼¬“GQ|‰; °Ï ùL|F"fF\•44/WP¬!YÄb1ʆ¬*óªdÖmd1É&´¿jÊŠ—Œl°VNÕÇ*²BAq4p¸Þ„’—@yss¥Ìµc“ FnZ–°¼56ÛsŽ|,¸ D¨‚0ÆÂ›MDÂû%Ú|‰G«¤<á\ÏS¡óV)›;”xDsçÒqGæ+«;˜³3¢½Q ª>Ò1]#¶ab<ì.AñÉt&U(©ü š;®r¦ÊùØ.š]þO4+âÿ€êݨÛlô]³Áó¶óz¯{F“|8yC9+J@Ó0šqЙò šyèˆN8‘åPüHìgl5!n€ªâídµÏ¸¦2xv¡ŸDj UUÀy…ÖBCS–èmê;‡´ØÞç˜ÄrÒó¤|Å‚¡cÑÓ E&òH#SfX¢A//NÉ_Õ+„miã]¯_A^¿n}q ÞÌZ[”/ìkoàXê‰BwåÚ¥é‡_öÙílù5ÐÌx_`5˜÷³úc‰vĬ_Bõµ_rÓx}{ºq ·‹°‘e6ðM‚‹QAv’ñnd»UÂFä‘’7a‰:Y•(ŠDã,-‹,ÑÝPwÒ òb¹ú7Y 1Žu-ŠÄ²¼Œ—& @ ÞD 6bDúN<¾E¥Ìîñ¸þ&¿¥FnkNÔO¦=ÿÇHi‹Ú¢ßŽ”L Y—”Œûÿà:µ¤to³ñˆhÊ –šœÝíÞIMœø?$ Í‹EgPnÆ’ºÙ>.‹ -¤ÎääÙü® `ß„ø(0eâåd6µŠUãuí›ÊìÄ·ædalF¶ £qIÜ €LÉfQ&¡%`ÁÏã¬*†ëT'°ntéqJ°o+UCCòbËEkÉ2ôE) ÙÏYg̦ Ö{D“—çÈ>yA.â­9N´¹Á&8ßã·6k` k³p6¥I3tÓš·fà6ò^[š˜ýuw»¥~ˆQ¾Ah\-Á»«ØÈ©.ë e±ê¦ö1 †–Ä0®µ†Ñ.ÄRqy%ѵ©Ãâ'ñÂvè·(ªü=}§¾ò®doê1Ÿ‚ðïjéì¡ú±£°ÊC³Ê5¶¿+Vé–ÛÞC7˜~»Ì'æië?øäÁùd‹Šëⓦhø”J§øú®ü’˜²åá•_Ð7'߆¼s*­C·¤:#š,2UIìaCÞ%ó‡aíP©MÆkÔXTi^€Š¥=·‹E7æLÍp%uÂ_‘³V鯷٧z2 Þ@Îð'žé™Ic5AèºÚF¥ŠE0AøºÂ/+bô"‘úØuÎÚ¢ }‡8Ë”“înmÀg\Þf­Ýž†nd‚ÖÿbÈlêã)6\©º4ŠËmq³¦—]Í®ËvM—7ª+u»u¦ùà-©Ùrhë¢w;”‹ éÒ>à{õñ£Ð}· õú”xvÆÏx¯qÝë*ÂG*ú¿3nñ(ıasâ»Ë‰Ÿì ¿ÊŒõ.þàÇÿE~¼ÃsHwfÆ-žÈÙ!f¼ò˜Í3åñ‚§g°ö˜lm%Uj²8"#JV%ü“YhNko‰’BÈU†Ã¬­ö8“[Ø'lÈÆ»ÛLP{¥¶~Mmy[Q12A}Õ-,²O"­è¹àšµo¯ŠŠli(ɨ€ÄVL' _VĶI<×…Ý´óZžþ+\üKgU!¡~kV“À[Øp„v˜æ'™çõ£jýô½*«y9Ôµ÷eEÊ%dÍÑ|ýæ-ã+´o†ê¼‘MÙ÷q™×²ußOV¿§Ë Y¿««E°~÷ÙˆZΟý ËÈ ž*¼XNfxœí\ësÛÆÿî¿âÊÌxäŽD @‚¶ÄWŠ“tl×¥i?uî±Qƒ‚$±}wïÔàdIaÓx<"ÞówûÞÿtò·ãÓ~øž-ÊeÂ>üü—·?³ÁÁhôËøx4:9=aÿøñôÝ[ævZðTÇeœ¥<¾?`ƒEYæ/G£‹‹‹áÅx˜g£ÓO£KË¥Îõ׃²Ós¨J5˜?;4^.“TÝ0Œ;›ÍloÓ¸Â%”œQÛøµŠÏÇYZBZœ®r0i¯Ž%\–¶ó+¹à…†òèçÓ7á`„ƒ”q™Àüãñ‡<Æö;N¸ÖìDP@*ápd[<;Lâô [ ~-‡Rë+ 9èr•€^”VâÌõ„Ô€&Õ«™Zᇊϙ¤)Žè>x‹oÜxKÓÔóÄ©‚Ë¡Ýö;\ûÀÏpE|Ξ/c¥²òÕ×z›ûÙ9ç1\Ô£ØÝý­¾¹õP‹ ^ÈŪæÇæzëxšf%/AÕ#¼N 5hqBdðãOìHqxlËÄŠd—«3H‘ä¡;ôØÁAÓØ´-³ÜÞZ;°³#¥0Ö½­«å’«Ü®ê»¼thz0ÿP‰$–ŒˆGÛm}çzþ«+‘è™Z7S¥’(Ùvaõ66'¶ë1t4Ø\i}ïkäGãµã®7nǼºóšæqyÏžæóͨº¦«4¢jî!ï%«!cÏX»AÓd½sRß)ä²8Áße ‡CÚçá('Öá"fæ%, $5Åߊîæãôl0?,òd¢sž <¼^xsœ:åKd™Î9rØ< j9*ý)6ÇYã–/¹LdäN|ߢº|:–7ˆ”ÀßT=}Ûë'ìõ"dYžÄg¸ ">[àÕy}‰d5˜CZ-‰ &Î+;ýµ!>möYYfËÁ¼åƒ$ƒ¯»Åºëöï2e9¿ ÄÈÁüÁO¢%òîYt(½ÿ<Æ2ð¤p"ý`:VÞL÷éâ^Ax¯óxÜ£è_òº‹9‰½= @*!Üé,PJúãÀåbìùJÎÂYȹçíjo¤ÃoßÍí‡yøøk}.«ÚοùÇÛžåG§0ȼ˜OìË_¿{ýzRÎçRMìOöÌNÍ«¹½ˆ¾›ÈºŽ~³ÎVvªí‹Óðö/&Åô]t^Y÷ÍÑæ'º®¢ÊN¾9ªçW[Ÿ[;?Šæ°Šfr|';mV®Jsÿ˜â}¤qŠoð¹­à‘<ø §iæ)¦Æ~8 øYÓèµ<ƒÉ—ÑŸ. cÊù××}ퟗïmõ¾°—Í(aw¿4wê¼°•¬ôùU3ÌßÚßwAN§å\έiFøv2  ¶5ŽpÈÀ?ÿóìYô£Âððn¤®¢ïËWp8pýò“ø„FÏžµ/ûwçå,ž–ÆÒ£•cüVÕ@Ùõ|åâUýæè-\Ù¼)YÛZ@H¸*lm“xbaœ“fûHÐ~pÙqÌùqœ²ã8Û×ÈV×ø“¼*ó¿Nì̶ßòJõo»†[-çøðÂßï‰0ª¯jÜïÚZi|œÇÇ1Ç1I¯_kºa­@úàx†ëüËúÒL%/=Ž5k\_GÂÓã8I±S8Ý% øÙÜó {¡,ÜSx«ú¤P0`n`ÜI=“SØ ü~Na_ÍýQOÍ×))¾:7øÕ` ˜IÌs©c’Q.bg&1RIÃcEk™I5oÑ}…—í'ëæ¸o ÄÚâì~{ßü œáè%Ðå”|f^ûú·á 0£¼8zÙq±#;Y=Ÿ­dk‡åoþÜ3‚'×ÍÙàDà›Ýïþ»?ÏànMçÇÑuß·8ÚM¾jíOͨí¯OGÎÌQa…¤:%Ši%‰–š2–©\ºL±BC•åäF°è1•Ý€ ³,µin“$Í2§qëTJ!H®”¸M ì0×­ÁîÇ#@ ÓPò»gª5¶ƒÞÕZƒ‘5c2„åÄp-MÂRšI*üÆZJ&SêƒPQÍr™r‡to°ßK€Ê[[éÕ벘ÎØ7+ëãȃ°œN®–÷ï8úõŸ²*$P¶?7VèoÈŽ"FJîx’3£ò,v:(Ïd¬4ç¹"7UÃ6èàÞÙÓÁýï7ÐÁGçêP¿ÜaÓåŠvVãœqV‡+¤Ô‰!Njî˜%À£`胠øëop¾÷’ñÕ£ñw/€¤D)c¬é…&Ô‰˜)B¶cÌÄ uݦð¾Ã\^Ÿ;œê%€ÌV¿y ì!¾çÜ9‘eokrf­K¨.èޜݪ·Ã\?Ë꬘ÖÂá"|½RbuÊe¦išQ¸QÌð$UΩD7Bo÷*ŒÎuP(¦ÅÅââç€ABÅÀ UÓÔRjˆÉ@çŽAã&z›ÀØa®`çxýüyØË›ÂØC"óòˆX Âð(¡&¹¥±Ñ,ÒœGn";Ìå!ò¦øïa¢Aw7p„½ÀKȹ΄¹¦Rå„ÇVkš3`´fò6Á°Ã\7ƒüp(Õ*V*¥šqêLN¨e‰–”S–¦Äܪ=t‡¹Æ áÂÿX•‹ÙR¢é=¼‘ká¢?ŽÚâkCGf=“ÚÂÄ ;Ï@5Îlb) y ç›eYLR®à'--g~‘}”÷«¬á‡]-s,AÑUˆŒg$É…Ž™ŒS”@ `*qxÛ,sãsù»ú7YŸÿi2ÿz£Cñ¶€t½P80dJUV¾óÑR7¾$ÑŸÎæ_ßü¦ìG| ·´Ý$56·#Ü&@/~y³‚ Ö»Vø Ü©~¥U–0–¥À{ œ5VÈ,!Œç¹N•HŽ‹e#­]ü&8ÓytY˜ùùq„?ž[\Ìœ2f§9 åË“Äp’•rëŒx8Þ•Mp_¼§éná>‘Ä+4Ëhc4Î4§íÆÂå (fìAÃi|ñ›àtÐ}âqjyê2Àj` „€”ªkBEž¦9{à„||ñŒ°”ƒ·òëw“°ÏðÇQpÔ É”$œ§LP’ÐØ1id|èÍlœ÷ùñM,fFΛ›9ê‡Q&‰×YÍð˜,æ§Íà$­ÊÉaA~-H72ì “ñ]ôl+¦ûÙ»“86)1YnSj]n¥´FÅ*ÕV äÆ7ƒÑOE=ߪÜnßtÏ¿Ò<¾©ª¹¯†6 Þ¯{îAПU]¼ßÕ´ 4±4±L 8Ñ ³4ã2»UËÙø\7Œz_Ôž‘R*C†ÄXó4%"1Iê(À<‰©ŠÉ­Úcv˜kÄh¶¨a¯­ÜÝÑîÉ-Dâ†aöžÈM&WYœÆ-œHÐÎr ¢ÄæºA”~¦ÄËþ£;sƒöfür‡-7Q̓eílЗifs ÐÚlFLškš§îIªò„[5èÏ5Ž›\9ŠÝÃIaˆãZ1)s!¬F‹$g΀ÂÂSBÅlÛ 6>× )˜œÎ x*ë=ƒ ÆèD¤Šå´åŒ&,Î3ÆÜ,ôn$®:/äܶt½ãsåtLðRÄ#S*+ã2ŽsÐê Õ¹¼å’&‹|²{@d|á‘%¦]ŸD´?=¢ÂrIl¦r‘ ‘€VËøÇŒ’C©ï†£ °ÕÃ禺zMÜèïòbT À›  牕†Å)§<åΞ(áßê/m…}‚Ô¡Ÿâ8£Ah ɉpãÜÂA0¥eòk–d)¥(>Øû3¾ðÊʉ'KŤ˜_mçñ§>Èìå­f^v¹rèžÛt éãÉ–™ViìŒSÒ¥BsA”ÄLP'ÐàÓ¦î5lr|!°(§ßËéÙxìä]Р @HÝT `üÀÒ\fy¬`N.`ç9%'œîÊÃîÒ ²=Sv|+˜Û<ÎÒ^ËÓó—L­yÐfÆú_FMÍ©’˜iðÕ<#‰ Žå9‹…L%;±Ý©Uf;`Ç÷Ò «ÙÛ6£’”fĦŠP*SÈ'‹AGH¸&–æäùõµÞ€Æ·pfç¯ñU`m{AÈSP$c‰‘ƒ^¯¤HlŠ•!IšfB¹AþÜA0ßÄÙZÍ®œ2ç:— ‘9¾àŒ&&KHœ2PÌaLçð<˃À3¾‡³~&ÖŽá‰Ì á n()LjI2Š)šä‚ˆ[-Ú1”‡íÀ0. Í™¦†‹Ä0še 2k¸IÖ„ò¼Bª*=ãÂ-Þ¿Ñ’ß˹=+«kd±MŒ8’’ÖHFð'г´6"³‹c"ùÑ2Øí’ÑèNäl6¹úÞ:¹˜,Åzf–<áæ|wG¦¢gD'I¬˜°.ÅÌÊX*š¯–ú†ì÷."ÿ·‚}|+zRÌ~Û7@ig…MnPd'uÆ,I f':V‡1•r/Çw0ø¯ï[Ë“_.µõ¢?Û÷¾Ô‰à¥1żxo v™;^co²wšwÿ܆7X¬ÑÆC›2 ìÎfš+ ùFP-”ˆÍ´ŽÞÌu¯p߉±k¿ä€Jkሳ9¨Ë1±¤ÚQÍRgò“A®¸}f¿18atZNôbPYÆPm'·^<ümrj% üÜŰbx;á1p‡ws7Àø&.4¼®l]_K0Æ 3Ǥv<×Få˜eªy³Lh¦™d‡ùYîZã›ðÐú¹|oo,Ëi*uNs­ml¹R‚Y q–¥&cäq„uŒoÂë7 }²¾¼dî¬KYžjï­Ï`V­ŒáDé„Z{`÷=Ãk|^ßûTàï&…~w#˜%@{il¨31([Eƒœ»TÙ8Ö–ª›å+ß[Pýè&.Ï­ôõ{÷`gÊ•åè̉ºÈˆ÷V¤„j9Ìò(5¾‰e@«iáu•ÿ¶¶Ü›„G,‡ÚÕÊrI´<ÍeBäÔq-¹Ë-¡f%߇[g|áEÑ×½°û­É°#Íb;X#01šp´(aÚ%Zµï´ã ¯íüõ¦ð›Å´Üy|Êh©BÁX[6€éâ*3ÀN© ƒR…|¸Îôñ…_€tô¶¼z£zÎ*;el´ˆ U†sjbɸ”B‚J‚nÎ(Ís7n¨ã ÷¦¦;²15@ž” ‹õ¼Ó›ƒœ7¨`–s£lsÃ@Ïȉ£BÉ< ÉYt³QÁzC÷ã?±²zêXóì—ï;°-n탈ºJ×¾Äõ9}ù½`Mô½­uUÌ‚þ0,n?Ììù|x»uºC™íÙË·çEµ§žÃÛ²2ƒi°q÷q}½šG¦¨gpóën’Ò­ÎëŽæåÆ™±³ÿ fEçß+¿ã‹°›Z Þ÷¿)浸ë/ÐæR¯@ᦒ,OœÖðDXÒ‡Î$‚hã²ÍÅ`Ÿ?ÇU5–,ßO }ýjØ×.w?/¼m*ª¯.ÜO„Ö`Ó'ÑðÈ~3¬:ƒ»n+?újâƒzÐßö ±ræ¾Lx¨§ïœø ù!ü­Å}À!E¡´9ܵó²*þ[Nç óMŠ)îÀœb‰é‘†¯µœÃ›Ñ +èุ\,øûh/ÌOË»Q‡ƒÇÛs5ƒÑ*øßäÒ_Œº.uáËúûÛXNûgú¤²É÷þ—÷…BìÉÓÈ5Þrt`®½{¯zä«z^VOO¢ÿ+Ñ…¼Š´·Xù°NÙ†K ×/ r÷uùOðŠÏÐv‰GûÕá#àßä;øÁUe(3¸óõÁê½J¼íÝøYNå™Å3nQvŠV#__})º­î=^ {S})©£Z$¨Û¤ø¾?i#o)m2Þ7Â'/ôDèFñ:Z{:«ÊyéáÖ"QZèþН–¿à¯fíÝͱ$ÏŸo~t”‡á/ŸlxØÎ"‚¼@=¢¶íV°ÿš9Ân^Ø‹Æfðâ~<^YoÐzÆ¡ãG|g¯Ž^nÚïÍ·{£6»aù9ü¶éë1XlÜúÓ­ðXÿ¢?ÁRÑ È5¼Ô€¿Gž}>Ž©½PçUÙ|}ûÙX1ÿªnäP·‘J‚âÓ§‘žÐ† î,é%RÑŒ¡iÆP¢¥´hYH –¨IAÀHz0[Ë‚»å}]”•íQ²”$ZA ÂΪvLº iÞƒ|ïؼ7ù^!Ü©¬ßî±OªÃ_ŸMОv‹”ÍoÛzykÂ]ûëMgû“ûæcø¹£DÛéÔõä)êö¼á‚ #é×ÎnÃÓ£—³6–þÅ)þyóKG«}%üÓ[ÉŠ©îZ ú½·ž QðdsI+{P Ö,,ßáqvV†¶—­í!˜·¢qšU1 ý{š#:>3/4´WÑΔt…Í?íl~÷Y>ªãßZ}V[íµ£U³—¯Zís7 ¾^Ç<®¦IÎ4†ªq‘ÅÄÅÀbCXjbsjx²‘`n¦„;¤"€Pcù4“vüº½úiæ0‰¾Ô%,eÌ}5×ÛÙÓõ¥” Ì™6ÑŠ¸DYsÔ¹©­;KVü]‚-ì ¯™ìŠÑ;t9ü1ú†ÂÓ­{ìöÅkîÆ±{rØ.è½Ô}á÷^¡L{ ¶­¢‰pŽI–&ÔY,\™Ø4ÅÚ\¯Åî K ìß;4æüñ»ß¨ó3ç¾ÿýÜ[†6g4å·¥…އlº j%Xø–£I¶°[iZ'A;â¥8Ý{‹P|ä´FñœHëDl2šc7iª©°Æqiè*­Yko»7¹Ù¡³í§Ln>‹’ê,áqÙ bÊuÍèÎþêÂ'¡ÈdiÆŒÓF]  ÊÄ$Î5±˜E”ÞFn*õŒ÷ŠþtÉŸåôg%ûl'гlPýG ;^›¹<·>Îu»îÒÑ¡^àó>èÜÇײš_ß­b˜…ú¥äÀ‚-u©´4c±0VKžØŒ ’išY>ÈS YËJVõ¡Æ„ÑæãŸ.ÚSù(H‡wú3Ê­³þ.òÕÏÊÚ—ÊFά|Ì.ޱGd„uÿ°K’ ùŽe ¢ÂECÒë×àSûœœÔ7B|ïq þx'úljúÆWñØŽüxJom}F†×˜QøÃa?Üî‚~ +§“«7CÙácn¡+›¶w\h“¼”Œo¢º4ö%yqêÿ½§€øæ÷\ Öº{n¢ž–©W˜V[ÛiòŒòú‚1u›´¾¨¢{¶b ùIôÊE}´Ašº]“Ø·|ó8ÐþP²º‹“X$`Qõ&d—SÓ’!¢yqÑŽ5q«XÿUÝã6órävªm/Wp²aKÓrÞ“ ‘#5æó“èM‰Œg ùäÙja£gñ ÁßÂÊ{LñÍXzëjI|BbÍ 1ÎjιÈa!Ìð$vd;)†Å9ú”ÑóŸ‚”mP¨í‡ÙDNå2 Øg„B;ÔÝ:\*\—¨gC>g/™spWà6{×Ïg`tâJï ßPö\¾/ÊEu»ÁƒÂiÇ VÜŽjš(ŠM•ï¦ëˆà7Ü¡dþ£äø× ûÃúŸ%þ>Ýî øHÝ0)Ò8¼\>c+·‹÷}…ÓBCUò|áÕ  ³‹þ-–RqTúÇ]ò5jÞ7y˜ÅmLMî)•×ämÆËjg?J¼¼Ó²ÝãßÔÐþ#D­=¯ý¶DdÝC@äVÞè¢â&¥Äšœ£õÏZó?zî·*ý˜]ÿ4l °‚yUN€`ú¼I‚,Û }˜m^@aò«ùR‚[Ê!^Š1%ü5rÅ<äà<w‹;^®}Î+÷¶&±"“XT“¦1Ëdœ(4å'2¥<ɘ`¢YM(å/Hº±lë5]"X¶êhÅùÛu´Üµ1æépXª‘„[ž§*sIœI’*‰Åð-eV+‡’üÞRáxÛ€GÉ}®“ ¯kð©eµ~æRë"è²\„ÂÝdïBø:]©Àóµ ¢±rÇ@IƒåyÇêL·X‰ÐׯkÊÝ Wï¥è`ØðKõvu_Ìå8HÝw”NÚõ¿*j/y‡J>ÆÞlM:ƒ'^´¿€#(€Xb£bŽgsy^Ö«ûjN¥)Ï´<•b Ç^˜æ¯xês_§u%lTÂ/JÐòáö^S´vø…\Ár›ÀƉó^Ũ;b·…EíwæAZ//dS ÖSû*­ÚÔ}§¬C‹ˆ»ã¼Ù¨PÎ…ú„0nS²½Ç-˜ÛÄïMr÷jiûQ/(*€^Sð¹oüzo¥7ß/kËPÛpÓ5zîeÏ06V<™l‚Í7šÊ!  ƒ*¥¬j”WðJ6%C€¾ºâl¥G+…ìݶ²ÝŸ—3VX^Õ±­œè” Æqže1%4ð£N„54ƒx’nŸó€ÊáóRGGÒÌK­aF¦.3IJ,Ë$ÖÝÛ>ï›æüÛ¹>‰°ð’ýÏ¢)ó„r$:ñPšFÛêÎ8¹Vé$µ­3‘Q£cNsÇ)àbšdi jy‰£ˆ:ä{”¥é¹n¹ÉòÊ}UnæÓãH¡Y³‡Üå ÜïÛÐÉrsž n1ÄG9˱ª6±Ä¹dmgxÖ·uh—Œ'4£ÖRÊÕå H ¢´Aä´LÅk+hO}3Ã{S®5¬Æé ¢f‹ü×_Õ%ñöËs­Sª©Ì²<¥qb„ GèX禿¾Ž0/ép¯ÌkÿÔ6²ìîjôéæ tÄìN8}e¸9kuï°ªW1|yR_ó“˦¾Æ[ ˜í·a€KE j¬G¬3ƨ˱š?M·páæ~wÔUäIWˆé¶Éa»øMñ$z2”ï|a€F|ôæÀÉd)oÔÑaS¹ã«ÏYFĸÛd`ÇÀ½¼ƒ¡)C…^—BàW-Åè]³ž)¥±+œ<F¬jåÙâˆia{{r ÉA 4Øß'C N½'Iƒ*¯Ê] 0ßùf)c§ ãÆ$‰ˆ…Ë I °A¥UÄæMQ…åüëB“)­g S¢Hµ/髼ߨ¹ÁhY—±ý(ÿh!¹VüÁ[&'\×+/]6’n+rwÖí{;¡»)ð ÐW]1ì¹/ y)ÑeÙ¯à‘QövÝZ&5T1¥±¦ŒÅŠÚXËÄp*à$oÁ­µC¾GiÀðÍÿ¶Y0ÚN|Ÿ­ÛÁºÀŸ!ö£gIú"㧪£ÊÁ:|ý¥‹hÒFQ_ØËYY-KzË^i[Ò÷œc1tôÓŸy3â¤P•¬®–æU|øëï…9ÃÀxÏ´»¢÷mQqO0Z7Z½¬N~rr²Ö'¤°ÎE>âbïHSÏɾ,<€g=(t݆A ßi#öV(m#¶EÊ–³6éqÏp:KJy#¢7bH&s—±4Eš”¦ˆ11ŽŠL:­nh­Ý¡™æ£$vã>üÐXêÆÙA#¯}í­öýC¨{HBÛhô£/~SŸÓ›í}ìƒØÿmlFúÀw ðþ1¸¹çˆ§{êNP_÷R÷ÒÓ¤o>ÒêYÚ•Yc×À¶ú%Æ¢s\òÄÆô *‚öÚ8àêjé[ðÁŽ«±/ HUå¬Â𯓫 5mñŠ¢‚ƒ‘‡ ‹œ-M ¢Õrßç°Ù¸·‹zõÆ }ö'ÑÝð†ut¢eLØ)èut^N:³±7Á> Ã=»( šæQ Âzô3[aðÞÒÂÜnúÉHûŽU/mî´Hm¢xœäÔR.$•‚è8E­"N×½´?㲂ëùçfQ¾²èI—¹²ã6"sS`R«§Ï˳3¼:OŠ{‚Úby±¼+áB-¦Ýï([õ~õn{Úp¨ê*ê3=tÚ€ØcMcĸY0Óxàÿ0ô¸‘ьЉc¡(¬w„½wiCmÏ|qm_´k¿÷‰­ëðû¦]tíã•…Ÿ6vÕÀr#ç2å#”Ññ6*NÞÚ±á& wFmò¾‰Õå¡oÙliCZ\ÁqÔ^;AÓHÛÚ¤˜"î¢Ó•ïeT´½±BâÎj5ªO¢4n¬µåôr}ý \ p8p#æžÐxBëk¶;\ká»JtôºñõôÜ@}`?J¬£'ãõE½­›EÓ`J~(êkZZàÝÁ 9ÄîUû” PlÛs{7õ™,¼îäüI,æ«P Óxxl`»ØáÁ7m聯V,Æ(´®Yo>^ãi9}6]L&«^UO [ŸjÀü&(Ó"üZV!­êøö ÆúÙ÷Ùìp“a ¡ ÙÒœNß›CzŠôÂ<õͪ¶hEü—#þ³(ª%Ò5ûjŒÞòZ–öàWãxÿ8ùUk.XaW}"v å€ü0¹µ+m¢‰àŽŠŠ÷˜Ó6®¶ÌêS˜¾¥=üéxP¤ kZˆ(?è¶2`›µÕ³iw”þ»ÕÄìXûÔ¢Qûœ–M Í1ú´í/ç²ÀÊ%ïmu‰0ô¾” vT±ˆÅ¬ gšb¥õÊúá~,ÔÊÊýàܾrÒú} Ó¸„Zµ$=ÜÛ¹yzXL/eeÖ7tË*÷ W¿w}´q1äS£… ï¹JØŽt1¼hYàˆ¶¸t 1¼/‘N/søÊK^Ðm*0!Õ­WÝ=IõBN[/k_` Aš˜”ã8‰Þ¦õÕy7ÝéXã¸RhÑ›œ¾“PCßXLD9›–Uã¬Bwu“ÓwÕ¸Ñú¹r}ä³YN£Á6ç>ä ÛWu¦^"ËÆ¦¶;äúÝŠ^Õ6¯¼súÞä©u9¦°YLÛûÙÓ/6_Ò§÷@ïºÓ{S~"sgRé8JO“˜ §u–’Ü –f6¡àÊZØ~f÷Íî‘®7ª$’ã>Uo€} ]ïŠâ…KÒq¾!#Òõfˆ!±¾ÜÖF´A¤Ã*z\/ÙÁ¥­l,¦(^`+]éCÈî! ûd¨Ùø,Ÿ5ëìFùX«(ŒãE–½ð£?óR¬èBù¡ÅçNàêüô­‰qU¸óâ­ô6ÿ¯Ã;-Yi†‚_S¤¡S»å¯!ã8Ó_ã“Mé•þÚ—Ä«'>¶‚ñq/Fn­rÉA‹Þ×TÞ‘èŸ×h/Rè@p—¦á–æâb1X®ÐÅÌçbþòuk ÃÿX•‹ÙÒ>Û{äÍ‘ˆï;æqjyê²T¥pT„€Å&¡"OÓœ54se¦§Çy¾„üPŪœ¢-艜€2ñÔÛŸîÁ¿Zз±÷ì0wÉ ¼€û{?ö½4û³n 2ѹÒyÎÑ"ÓN,S6ËóôÑ´ ßà庹ôì‡9HtFKç†åÌ{r¦7ñ‘ôTåmfšoWlóª¦Þ&)”蟓À÷+Ð.ìó[ËËS]NS¿©Ž 5CvŽ ^ü×+·Á>á!â·áç…s@¼] Ľv¡Æ~þúU˜Lë-QhUÖçÅĬRÆÉýB‹ cxfRô‚µë Œàkò@{?yL (^Ìä¦@õvEâW!·4„{© —è…-/§ÐÛåù!z{ŒÅWÞepÇú-/M6„ý íÌ¿µ_{KËÒ˜Ij5VÈ,!Œç¹N•H}ÑÇ;£ÐpÂûÒäËÂÌÏ?zÆê ?·Hæ?ñüÔ;ˆ]n’jÞÛjRJÓ«*Ôëåð Ù×>Uc™ÅöÈȬŒåIb8IJ¹uF<ú.Å›¼c>‹xÇ7öááÈ=‹xûà$I,±B³ÜÑ„Ð8Óœ lQ \žP“³Ï8ù™©fê÷ÀÔÁÚ§ɨqíÓ# ¥ða¸ >&5¹±Ewï\ɳðégZthÄP4„bk Yºz¯-/ÙªÀP‡¸îžÜÂ\ ;UY¯’,–m›Êk¥^,kÓ”×;¸w¹VK¿r2#ûû÷K_H–h„ï­Ç·ûkû{9oŒU ø4ú˲zç)÷ºZ.]ÔKGÉÞ9‡e ìCËŒJµŠÉ”$œ§LP’ÐØ1idüÉ ƒ‹™AÏÔA4|—Ü£@8î=ñú†;|õB=kѽ1³öÃE†ñzMÚ¶i¡Ì›£èZ1¥EËÕ>¡ËâýÁÝý¡1†ôí‘⺛0p?•òŒ­é¨kQ­¬eø²¥F—ý`õ¢îZòÍ…Eݰ¨/¼å·^Ë¿ï°ÌseCýâf˽.™ÃÙ¶³Iïå ~)E Ð Lhj“ þK¥2qœÁ]ÊUž­d©W†ïgì|)seœ—5¥ÌTªYÊ2b§Jd\Òl-§gŸ b£Lb³³š1-²,æD§Êf ËZ•“ø±R¿`7Z'KEøðF:ó£üht›²HžÜ‡Š÷´±`_ÆGçu´§À0”Á:÷JÆmºC“KXÓ¥l|ŒvÞ‹tPùPŒ©âZ1`ƒ…#°ÑÎÎ^µ×&îœDO¾mcÛ.Âl ±a¬8®ª«6pEþŠÎ»_õý}ûæÕÿûë¿~þöOžÞˆrþX¦­Z”G9.b&Å:§BfXÀ>cRò\z÷¨'~µE_ä[ôƒv ùœtq,“L$·\ÃÈ„I¬"Ò²0I÷Ѿ44‰c““å6¥ÖåVJkT ¤Ú*q–†þTÔó?Mæ_[ºKÿ9úÓŒµN“;Q内C þ¹XTu[Cì39’sìnRû£V„Êbº=ýf ²Ëšp>;¤ã•Ñ|ÎÊTO&¦PcÆbYnPDçÞQÐÒøið,ø „3HÚAºZ›8“¦WÈT¿mLãÍ*nrסƒLàã Ôk™‘Ø>ÀbkœxqUX‡DMsÏ^öØØ‡Û£ºVX Œ3机4MA®4„«˜JÎ$ÓRn¤º;KÄÌrrC9¾1çuŽ á ¶­4CÏi·¦ª×ýTšÍCØ| EÐGŸ¯DÅ_ʈ~ŸqðÇCÆ–ÏPGÝ#Ýû²÷Šz°ü]¬)ÿ^–Ž[k¿Öéw^}æiÔ8ø†»hŠfcP_ûb]ÝÃøÜ Ÿ°™pqžjSN2ž§Ræš$À圀[£oÄ'¨É©•X± øç.îÏ€kðXfÖr²Ånì ⿆ëS?”þ"ެW¿z˜„SÑ®(rh„ÐD®k_a‹))ëuC‰‘+•Ü Rg'±QVk#uFÑ /2¡`x¦ ³7Bê˜9&µã¹6*7È™æYÌ€ž1 ’1ù‘úçò½ýŒÓ<œ†çpôæc 1SÒ%†“ŠÔÏXò{jßÙ  7i{£¿ý0Ýf ‘åD[ɹT‰`\ÈÒ$R4]iÅtPB¬KYžjomÏéµ2ôPkŧˆéß— þ;l_òÛÿxØŽ…§ü xÖt°9Œ}ïä×"„ÓØPgâ\æë¥çÜ¥ÊÆ1húêS+ìvyníäæ(õûr˜Ï(õ(Pʼw{ë¦Ų^0ú±ÊªWM3ÑîZ>æ „²Øé„H™æVÒ4¡,µÚI“sÄ7TrAàÂæÄæ”1ÅâØ zþ¼[Œ}Ý;gÌQñ¦ÿ‹Ûk¶­(Q™Q×Á„5i,)¥šÑ,Ééö>$ûºš}–VÍ7œ—p˜,s*óvri3·-¾ýû1‘›L8®²85Œ[©YÂ2e6\1Ä>ÚŽ»êú‘u PÚû.~÷àŒv|]Pð®u] -'ÖÞÛP3ð}Qª˜ó«è¼€×* H!ß ûï6°+¼ÑÄYïC’ŒªãÜŠ «¨úhâ,É€8™&>)'ÿìÖŠvµ8ûí#}êÖãÀæÓF˜*ªµ†È¿5 ¸ÙÌ#7¡S«m]˪À²¶Ø)ÒW*ùEýůæ#Ÿ{b/Êê ý™ò¬Â~XT$t<èyÚö•“K,nªâ®Íî#ËWZwÊ«¶ÿÖ2/æÛëöa”@- ]Ì1?ÌwéšM¤^*k«´Ðþ²ÚÞ´é‹ÙU ôÌÞGSÖaŒNDªX®mb•3š°8Ïs6<±'îµôàõÏpÛî;–°œ>Lù쎒êzäj½Õ\é14„\L›ßZœîˆA1D=JÒÔõLÕŽêEå³C ÛZçDÿ-lõ‰=9;‰¼Å&¤µýúž¶€izAÛ½P[CŒL 5–qÇyžÃ/:· qÉ­§Ã7]CmÿÛ)naª¹ê0•m>ýQƒá®¯¡ˆ¦ =ðÈÅH_ôªØ¬ÅÚPf2¼‰é¶ ™˜+|g8SÇ‹;©ÌwÇœRj€ÊœB5}ª{+ôÍÐ߃âeÂ"÷C: *è/9ˆQ"Q þƒQ‹–¸˜Q’?Úªçw„tmŸy…ÚôA•|üý~ý#`Õ¾E41€bËÜ{z Çl Ï7°Æ¡±ä“´¬Ý…Ýl€°ËÉÒL$ß!¶ ègÞß¶|¹±»ôtPP¹J_ n1U½ÆPÖÛmÒk›Ž¡V£-¦]RßTÔ•âoôÒ!áxµ±»ºÜºÒ'm« ´ç`_މoh[_Ö48åõmSÙ°ÿéX‘˜ ©˜}Y6MÒûõ\Óݤ•µ= àáE¿¸E}UcGõÍyOW;¢TC¶]l„ùíaS+ÆÕ¶rZµ°}Uß¹És°ükN¼µÖ5VÄ-GôRjÀü'æxês®)Z§þæ>µ[ÈÏ„z\}ó_5ó–M…þ çŽåÄ =죶ØÖšÒ´+tsßÖ|CçÜãÐ%ò]×"·¹Žr6³²z„VòAªbÿz…&¿Kc`·áѱWÞ …&Ùt*o9ðac|P°í{—ã•' )èAÅáÆ¦ï“Kæ´‰¦u­!¯h#Øí˜N¿“×”9Yɬ÷ȹ_9ËåŠk‚3<%ÙÊ“hiÚöÎ’ó)«±Qä>÷dc|ÂÓ üo…\Q—¦n²°(ü”ýâ&MyCÈï\; úôIô êu½@Oþ%p0TsU¾ÝǼ² ‰o–ìu<„Ì]/÷¸Ñ$u§Ëß~ƒ²›uï¾aN0–9V™VÊ`p–Sj…Â2ÔB~J~_”Éß–Îõû1ËSâ8˜Uvæ£0?éÓ!avu½Å7×0 žC»- Õ?Žeù¬M^ŽæÍ 1# ˜ÚË0ÓWuSD+¸öV#°×ò2xÛ×ýìÞáWŠ:uíqï‹n@ÔKp ÇŸR…aÆ&– wI"º¢L%1áŒÒL| -ºZb€ž\}ÛsV^Ãtœ,¾–^»[ÆæÁ¡kóñ#$Ž“4Ïžì£obÇ2[–s£lsÃbgsâ¨P2ÏcBr–H¢›2[ëž¿CÊm5nRÛ qœä£ùÈ>¦‚GPjè9öìàghºò¶Ýž×±ÐxÖ_´&¥m—½Ñ2@ ¹´@óeXB{ä×ze>Q¯øïÞ*ÖB ²ÓÅÅjÑ^ùÎGð/]“²mwF­m˜³…žW§¡Ü× wDW^-„° À™ÓèR…ð´\‰Å‚ñ´]*Ûó Ð7^LŠ—u¥Oƒ©G?ÝÖÁ+Àí0kç_ùù¿êrQéÖ²±é¥“sÙ‹S˜jÛ|?Ó³YóÑ©_jÀ‹ÿyöÌÑÇÍ?{6dᮄÁàôåÚênaçóùìùééååå‰)?\ÁD'euvêk†=|žû;Ÿä'ñ íŽA•æ ÿÅ7_~ñÿh¡5 ñ1âdqRxœí}isÜÆµèwÿ \º*–RÙhthYV•cÇŽªìX¶”øÞ÷%Õ+‰h8˜3¢˜_ÿÎé0À,ÄÌp)+•D$ôrºÏ¾½øŸïùîíÿ½þkt>¿˜D¯ÿñ—Ÿ^}=;=ý=ùîôôû·ßGÿû··?ÿÅ'$z[Éi]Ì‹r*'§§ýûQtt>ŸÏžŸž^^^ž\&'euvúö·Ó8VŒ7?>›÷¾<1ssôò‹~“iý͆ab!DøÚ¿k¥.ì\Føî3ûŸEñþ›£ïÊéÜNçÏÞ^ÍìQn~®„~õl åmaaBBíYíÒ½½õ±ŠÖpŽ„R$RXLÌïಲ2KàÞhGG¬Z4c yõêU)]rb¢®Áöø¤»Ú¥þþþ%³ ËËËO9'tèy·T;ò_HONò™5ïuE] ‹ŽŽ–””ÔÓÓÓ«µê…ÃáXläË—`kœ§e6YÜ_×ÖŠ&÷ýUTHæË&ÏÏÏ×<ž›˜0ÒhqQ“DÈ"Ƽ}}9ÙÙkl­Ô ¾¾¾ì~…¨IfbÓåNHæ]ùå…ü¡ßABB¢_aÈFE\bæe<ÙTAmÀDJËcø§Ÿ»­-‡ç+S¾Ø˜˜b_ ¿w©©ß×××±XSÓAq'n ßÛ}铒ߤ23™hiEøùùo§©«eˆx{y©.R_ï‰#û1¶ì—‘ñ°òøJèÒîq$%Kr¿õ˜øè ÝKþyé3dÑvªL5f¹ôMghã÷è€Ça×TêÄ´›Ÿ€-°Vd5üà¶L[Un‰<’ÖÒŠ³â` sܯ,.~&yqôS5¸ÖLëôgkëM¡«V,¹cÑݸx¸ ÛX!çyîÅöK½ªe2/4BÃ܃ c¥/½d¾¨Â±±ÁdeA!/pVJuÐM|‘BTÂöpS½ õx[($áºF¥$Ê[>óE Nt4úe¤b‰Kü}ƒÆèØ&Þ¨»T¹›û¼ø$qÕíŸ>b ÍÇñoÕ*hr‘2:ÿu,çàp7ò¶;ñkÂñ oCÞ å/_»„[ƒRËãÅðåñÀ\\.+ú,kÇÇM¿æ3ÅÈ ‡œµ}}Ùmyê-›«çwKz8¤¬Ì2¼¨¡’šƒë ½àÊs¡™¿'ÏK{à ñÒšŽvî»QÂO+/¾©e½yÓ7¡·ºÁíáC»s wœýýgþµK¯ÊÉëþ÷ A|¨¤âÏÆÀÓ¸X﹚ ¿½åý—pAÞ58%aÿ»)Ó´ÿÏGiã4¯ß¼A”Q¨7º-㤞+.omµQŠÍ$P)þÁÕø¢÷ú|Ò¦*Ë÷ª;þ÷Z?«jiiÁág‰LWlq§jžÆÓÿÿ÷Þ{pžžìÕ±(ÞšÀ§.›'w«…²¡¡¥ýl-§´ŠÁ t¹KYe¨ðe^É匌Ô׋ˆ‹Í{ "XÛP^.ˆx»øm"jšémNÚ7±,RUh,#C—¥»‹ ïüêÖVå¨=ác;;Ì·¡ŒõT²£~K/ôÊõÂÆHð´UÙX »ê)ß½EΘ½Öü.Êóð‡Y­¡D)uÂs¡§¯cB…2³ÎƒÎV²ðZ̯yÇŒ8§,í£)'ÐæZå¨óo¢åUB#fDd È`_‘'h¤Û•fB]ƒ†Œ!*hdÄ Ùü ë!†g†§[¦ïˆ'«i5k)†¯…×vl»´9AKŠŒyqû6/]×ÍW šzÃ+çیӴ¤ÎÇ' ­‘sÉ]4¯rµ‘ðC|à‰á’ZZîqŸüóÀu¾yqÔî#§ùg¡ ^nš|N€\jò’’Æ¥Õ.¼¥þÅ5iâ*ØVësÞ§z¦/òqäå1J_NLšÔÕÏvvDÔ7–iWÉŽvfX¦z”¿À÷¾?èEzÐGŸ«ßp>Yœ}ñ$å‡X#ó°ÌDœg˜ÍΫ®Ÿ †B>«¬Â®þˆíî8?}Ign*³½Ðv¾4^Še•<¾#BGÇFçí~E`Vj1ƒ,)‰®á™Ô—ÙÓ;è·+Æv8ÿuxÔ^Фmnn.§º.nÏM¬]¥Þ#GGˆÅ4,ø;«>øjß³#MÈn8û¶#¾±klìÕø¼¹¶¶&fµV{–lhh˜ ^%呲Tá.TÿæÞ‡ß …x#w¬_2­w‘sqq½Sb—ÍÓ¼à!”¬«`šûÎî®w’î;àÞYåniÙÛÛ›Ì^õ·çå½`%ŽVzËL*(äæ<¢ã©6!¬´òõkÍØÿÉÑ›çÓÊÚßg d«qœàæ>:ÁVX¿f¬¶~Ø3PÓŠ1T•œ ·k˜Om£óúuE˜þ©Õ}i¾”ò Gÿ†Š  ‰Lײ’‹¬ì¢æ9ùsX|z~~Þ‚dþË—/¦ffee›››K,Ju¹i¢ä€½<ê•Z:\ì-ô©«þY@†Ê‹9”ˆÝØ(éËzè ó_¿§„ï\•B:íø9{jzšž‰isc#=9YòéÖhêo*JÅÆÆ¦ÿÉKÏ‹¹8?}$!AËk¬klœž–ìf“u< bÁÆö~ì!'‡ß 83roL Xêr&zúð£Ÿ;k8#ò$‚öN¥Èi²âÎÝ»§Äø¡ )0Þ’^;ÏÖoUŸc—––ú8Kx–YÄ¡{ígï++‡,kGDo)Ç_ž ÛµµµKúªÌZ!NONREÅ…ÂhîܹS[[{¸½xy´Ûà2«@z2?<8Øñ“8}„ƒÐpèêã#È Ú¶ŸLTW¼#ú]ðâó-¾»;; é(Çoþø!é¶Ô‘ý(@¡¥3'&骜"U*XÒ[G{ï_™†"ŽøBcr2-ñò½àã'*ýб òò£ó'§§láÀü333ëþÜjX úÑ„ñÙœÒ27G©öÍ+h#œ§I Ó­;ò;Ùð[ò,­­É/ªH0Ç’4·´q}ÇËüqæ:Ä/!AÆÆ®ÿ SR4û9ž9èrrc ¯ø€GSßQã„‡Š™fdÔ/þȳ¡¡!…¢|@ÅXBá5ååØ:”dÀÅ1††$ÂE¶|Õ²¶ñý{??Ãjô˜ÚÊ_qPWYÕÜb«?¾Iøö§Ó¯ Õ"$ù$…ï‘û×.`¬¬ bc5ôôh&¼6§XXr?@@å5©¯ÑOKJJJL”Ûv­öÍFr\\;66†®6×@¶Ë,ôôǨà‹P(ÁüÜÜ÷ˆP={÷îUê—£±¥: |Â`ñ9&K1–yt~Ó:„ŠûwnÊ[ rýÚµ /¯½Óíöj4v1ðÐÌŸØIc2€‹ƒã¥¤øìÃl#Ô”ç{ZÔg]†e©‚a;Ŧ§"4ÔÔ†µ²¬TšÕ„FådÄÄ#ŽÈ=WiiˆÉæ¶ßϥΜ‹=(E»4öâÇ| zhˆ¼¦r%Qe-”€”ö,3-MYt¾É“SPP›•jäj9™>gïTçq•y;355ðñ͇?š<1Ú2“هﲒrõY¡Ž º GØ99##"ÈÉÈÞ:WôX žƒ%ÕÙe|K©W¼¤¢ŽX‚†à Y(Ì“"í“¡*#rc4CƵ%J쌩ÐOœ·aÞfóÀˆß£§ÏyÝ6§ÉEÄÚ¨{…?¶¶©úä`e»f r)Σ§»‹—ãXù?þ€ç zóưòñ ÏÎÎr¿ÚKBÿzSQn $héó‡5Û÷î@›_nLÀ ieå»ÿàlbr= ¾Ôt:Ô„Qæ;uŒ`˜¥ê!(3󈆆®ñ¯ˆ–Ûz®®¡!…T‹·M*#˜Þ§Ê'LL„ÓhË ^–Üw™+uˆ6©lÿ× g5bÞÚš SrÃÈÜÜÚÎBAé‹©ñŒ£ˆI#wÔcÍûÒ•’Û«ÖKçç±mGù þðúvvÞ°;œ»ùz|MJʲ»‚V\\ýò¥j½{üøÅ±|BÔ?ÙÚÝü@j¾g_Xºž†]fú@vƒ™¹´[S÷U§<.@>d’ó±kmëy?öBÈÎ5è ­¸ÄžèæÕ¨LÙÇ9kù÷‡¥±-]]‡——/·¥p!þ?ˆC' +ÒÿZÿñèyE•ÊkjÜÎÐ结nfµÍe5ûÛÄÝÝÝÊEÚêÜ+1ænf!+š¥ºúWð µ×gN7u)z–í‘ÆåÄ0¢¿õž•f#mm½ú¡8ýã™ÎGÕ»[„ö÷ÓѰ^nî $6f°øåË—àM—“—¿CýÚª7F«³ï¯OII ðÈsîŸÔG$gÄ]RlSú;ö¢ù]ñŒML(oаCe¿~ý`;’÷3œUAÁ,q)u¶¼‹’B}þìøìBQXDdr|ôocc3MiÉ4Øø›êS­‡ž¨G˜¯_ß;N”xu~ºxYœ–•••ÂcŸœÜÃÄEEœ_PؕÀÁO·JKKGGG6G×½–ZˆW}Gfu/Á„éÌáµÈý~9J0{ÛSµ+Àžë³HÂ~´lW™4¸b'+ÑUÑþj8“®­­­³ Ï‚×R@{%ºŽ!AAA)©Ë$XTlì3W×âÐÃó³µVDÂsŽâå+ ¼v222ªªƒÛA‡-:õ5 ¦Ú¼]’/fX ÖãÒQiÒȵ>Ÿs¾i×à:ŸŸqv~®È¨o­¦62Èï VWWû¬ßÇÇÇÓÜÕ_ýö b`d,½¼óÝ¥,ØÊÊêñãÇÆÆ iûûK?|¸–éÞ=w0 –mÊô4xwHtK¯ÖgÈ99//ïÚ/¿ƒ\hжN¥hȘÙc_””^M¸p¥ö «Ç³ëq멨|”²õÔÒt½ØIiëC}jž"š‘´ü£¯O‰“a—x°VÏRØèµ®íïßüæÍYÙPÙ¼šœ?‘ÈýgÁ§&¾¾¢ÊñƒÂ’’ ÝÝk‡í— ÁÄ»äädpФÎ×5 (Ô¢}µÏ~^\\,fÉàÞî¢ýÀ'M®ÄµÓƒ­‚[[[[ãy‘±>âv~~G+½±ë.â—~ô 8mmm)|fþËt%ó>RRRÍ¥+ǘœ†›òR†9 ™P|G„j77~åx°“ŒTÄO••£RRЉ^uc:\Ô¸ŸÄ¾¤_€£ú·únÁÎ'kѧ<¹š\|¦¹p®þüSâäj½ûJOffæ.•¡Z ÜŠ†ä±µ¥0„‹‹ ‚Ë#]]]¹/SSÓïBâž³Ö‚MÍÍñì¿9—þÙmïû(ÈÚågR—ǨˋÃvvMÄXàÑrdARçŒGÂ(2Z” båçÇ7XŸôÜÔ õ€¾ÇEXUpÈ}|š½±@Ô©ii„#ÂÃç›…EEÁé¨ôMˆøõ𺻧Öäaƒ®2Óå—”¼ˆ]ÈÕWÜ>0èg'ÈržžVlÊ‚""gÇ»ýýýõÇláྊššYÝ·~¢®82lrf& 20ÀðPšPo¬I|B‚‰±±¥•• rp…!`¸ÿg+–ì*þ¯N"–·çu`}ªÛN¸ïÞèî¶1.Ëè|Çn¤¯ïs²·ž™ÉTåDO&x>ÔuöÖOûn'0[Í…FÊÖÖì±½ßÒì.€‘õ0°–ÁªèètëV>µÃÂÌ­ü›2'^ µÍóVh×E}’¸ño|ÆhæÞ©PôßUs‰£p¼íw£FÒ¤,¯.W%kú?jrHò oÞoðànßxœí}ûoÛÈÕèïûWðóݤpìr†l6@º6Àn›Ý¤íý..PÌÓf#‹*)Åqÿú{ÎÌ"%Ù”dÙ±³)M“ó83çýzñ??üíûwÿûæÇè|~1‰ÞüýOƒ®Üÿxœ½—eXTÝÞÆ7´JHHø "RÒÒÒ- Â"* ÝC‡8äC))1 1t8€(ݼËçœs½Ï9ŸÞïuf>Ìž½×µÖú¯µöý»ï(MuEr‚È••ä´Áo9áã‚«ëØkðChùDQºüýÍmE$@ÐÊr2º~™[Yš:(5¥Ð\‰®‰ ríæ£7éÓsžúk…&> †s[¡ƒ²z7½µj²î $Öço ÖoŽlZ™ÎGóãà&FâÇåºÒÈP:ÒÔæ[0¼£bïÌÈ\dñ hU㋳ãÛËD‰ ·.zŸí(ÿè3Å•%æ'þ´Ò ‘õZài1†ˆOAㄬ”^Ħ,k›ðñ øF'|¢¸#,콿1A‘ᪿ»ŽÈwæë¥¯ñßß8:ò‹T-×*Õ¥È ­þ[¹"$¬Ä–o;éûsss¥oÅGÈFÉÅçä œ¹yxû­oÅõ¡P¥ºÚ2¡¬Ä¡TQryyy...^#6(W¦Ýz<(·¤¤/(§¹Y¼Ö~väÞ [a¥}ãää´ÎñìÙ³h+þâŠ>[PEDP1D÷àQT#_Ó{±W©¿ml‹lýã~Ù»5GdúïÝ»¤””ˆ nnnÃ1mF°§Ã™ôeʳñeŽNN&'&„EDTدÕM« ÓG+€AWzȳÔé®_z¶ |ùí›­¿…O½!ñGš›ÊOžxz{“_¹²¾±ñž;L¸2JØââì800pÏÕÜ<àtº.Ä>b-½ö ÃYÄ 9³6ò˜ø[·HHIKòG^»~-üÊ•+*E_ìïOŽãããL/ø­€E¹Ë4z::¤ýýONö±•Ÿ-ÔœXœ¡pªƒýý¦¦¦Z1\(\ö©¦¦æ“'¤7?lÚŸŸGȲA!(Ìcb¤ñÖ礻C¶uÝ–q*EU¦/¨üŸ?åTdŽU´Ãno7$¼žF´·/~úô©ŒlòÃ{!Žým}„?¿þ>:zvzúÏäûÓÓÞýýŸ¿¼ûå爞è]-¦M9/«©˜œžþø×£èè|>Ÿ=?=½¼¼<¹LNªúìôÝo§q,ЇŸÍ{_žè¹>zùÕ 7áNjɴùnÃ0´( ÿµ{× ÿ\˜¹ˆðÝgæ?‹òÃwGßWÓ¹™ÎŸ½»š™£Hùß¾;š›sÿñ·ê\Ô™÷÷w?=ËNay9Ÿ˜—¿~ÿæÍ¤š¿Ã_¢ï'¢i¢ßŒ5µ™*óâÔ¿óÕ‹I9}ׯ~wôŸù‰jš£¨6“ùÕÄ4çÆÌ¢9̦ÄpŠÓ°^Yé+øG—"…S|‡ÏM ÄàÁÏ8M˜§œjóñÄoüQN£7â V$^F¸(µ®æßÞôµ{^}0õ‡Ò\†Qüîþn=ÔyijQ«ó«0Ì_Úß·AL§Õ\Ì#¼šL<¨Mƒcœ2ðÏÿ<{ýÙLaxx7’WÑÕÇ«33…K—ŸÐ“8zö¬}Ù½;¯fþѰG~v¸+QÔÜ,..D}uä@îWõõl!ŸÁM:¯tsôòÍBNJý´˜*¼žßÜ×4fßö>iÊ3¸¹ðú[ÿÃæ·fuÕ¸®æFᆆcGa×Ãuúå»kw4ÜXxvó}Å»‘—ò£®‚*  ¬ñ«¯^Ì^¾Š&âªZÌ#31ð<Òe3ƒGåô,Ñ &Ü"¼â'QôUÔíØ Ø_™;è¯5 i‰Ðú¥ªÍÉÉ îûÅél¸ }5íÎì5üX—s{ÙÅY-."[ÕQèçíî†c„ͬMÁ#ùEyq5µÚ°Ôý«ô³þë_0ßìüd6=;ŠdUÃ’¾;"GÑ¢1bÇ:øªûþv‰ P›þêÝP@ÚÅÂ[ÑT\¸a”Rßôg¼ºµQs.ÐÔp©ü'ÓJ›øhå(~vgù£?Jwþø¾;zwn"! ÅjIÑ-i¨YÉÃØM4?s|x?™ör4WÍÜ\œ„-#­H¤ùqNi’S’⾯_*Û°T@ynM·Ì?­¯L×â_l—¸¾ Z§Ç4&Ç uÐÀ-éËÜ}®Æ…¹Yá…¿Õ}„;—f®aÜI3ÓïŽbøý<†}…cGÅÖ)¾:×øõ` ˜»(>BšIcbmR jÒ‚Û,µ’ i4IÂ"º¯^ÃW?;Ç}ЖgçðÛ‡ð+PÄ£—@Rò­Ÿyíë߆Èj>¯.Ž^vÔûÈLVÏg«·Xtÿ#GìžÜ0þ¢àë;ôž¸oÿ8ƒ»4ãïOGÀYYX–*£¬Ï0j3ªò‚‹\eÆPû Á9¾è»ç1JJÍ<úõí…¼F*ÿq1û©ûœ©“œ‰”R“Ãÿ“8e‘¥2QÆð½à¼ÜPÐóªöc›¹ûÂö:,ù7ýâTdŸ˜Œ!.·LYB2-9UJkªh’Ñ‚Zž2J‹CB`‹¹~¸çþ-|ºÓþÓÂÆJ˜,Í­Í™–¶°¹HòLè”fYN¹ÿ-ærûÿ¾šTõ-.€û~·[§\$)O ¡ÆäZ2š'™°"/b‹ýÈ÷u·`|®ÛÞ‚$?”TÚõ6ÈPÒ0b´UŒrFÕRQÅâ„ÙBLJ„ÃsÝú6´€x·×­ÈuÆU¦¤²1a…*8…ãI®SK)£é!¡±Å\ YU“[Á%§€Pdµ‰`R  × ð6S¹äºà‰ä&?è•Øb®ƒÁèݨƒá¢HLžN´•±’6Z‘<ã4Íãýh䇪Ôw.à.¼1ówŽe¢0²§A‹ÂªŒf$'±)'$UÀÖ`’„&É,xÆàñ4´|àƒÌv 8³Ä$‚(‘J¦(§¼ 2Éda¸2É~œå>€3¾ðpw]íAÈ=ñ RøãŒxÌx‘P׊¢QPsà&#±&&¡ÉÃůñ…ŒÞ˜ñÞ‰Öê\ñX¨<™&$Éc£¤Ià\Òý˜Ñ}i|á= æBåyšJWÕ Êò,ÓL+-è€á\ë «ñ…w°òŒ„ì0Zr÷QàhÆ(ÌTh u (#6CHË39.pFÞ»Hk 1z” É ”šJSЄ –[L ·F“¦Å~ªà‡²ž/Ä$ÒÕÎæÎ Òè<0Þ™fH‹ÞTåtþ“G±YÕGrÕtrµ¼mÇѯÿu)€jý1X„¿#Ûª™qÂ-OPëËAÆS)p85*ç¹$ûaäMñfÓÎt~÷†“CŸÂº‰öë-6—ÓW÷§| 3õo»¨©ÜZМ@VFç̛ĺ°9- è‘ì Æ‹-ær@øEÔgå´ÙþëÝ YĨÌ&Y¦â4‹áF1Í“TZ+Ó$&ä zês å´¼X\ü²0bËŠBRš2¡qjbHuÆINc¦”<è•Øb.oÇyóü¹ßËÛR›}"ójˆW´à-Pë¼ÈMLµb)æDÛ=4×YºÇçò–îò¿ûIÝÝÀv,!ç*+ å*2'œ¥4ã0Z1qH0l1×­Á >î†8V’J™ÆŠñ´ÐÿY¢D ]š-Šãs†¹Ø‰¸©¿ð®«Ål)ÑôÞB¬i‰mG^ã“B_i3ÊÀÄ­À€†b’§p¾Y–Q’r ?)a8s‹ì£¼[e?lyHŠ%ELUQd<±P” š¢¤Áö”ǯ9¤-ærwõ/¢9ÿÃdþmt—@:Ž^È$k#Þ»@¤[_’ègóooSv#¾ÐŒA“¤Úä†' ú+è.˜Td?wî]¨œ›ÄÖñŃÚù·¥äÖÓªðשîNVU÷-ãDR›Ø¢ˆ…æ °*¸Ži¢s™êaÃ~|ñûNèA><óÀâ䨅Mä‚fB*П3àß”À¨²”ä¶`iöp #› 5¾x„ÔŠDyK€)e5Ç‚…K5°wMἘè¿ËŽ™mÀÆ{Õ—6Z«R¬ãg£€âZÇ…HT.Už3FT‘)’Ê4“&Ëót?qã¾5¾øåÍò‚Xß—üjà§QZecY ¼—À)ÄÚ"Kãy®RY¤æAÃi|ñ›àTNçÑe©ççÇþxnp1£N%f$sÊ3–'‰æ$Õ2åÆêb¿°û‚ÓøâMÿx€ûDCL¡XnA‹i¦x\HPL ›' ˜± §ñÅo‚Ó^÷‰ÓÔðÔf€ÕÀ@)T×$.ò4ÍÙ'äã‹ïd„¥| !?Þ(×ï&aŸácgÀqP/´$“‚pž²"&IL-ZÐ}ofð5ÜäÇ7±˜i17s $ ¥ôá,7illn„0çTY §¹H~ý¹læ×*n×o²ç;o«Fíª}ŒB%Dù7=苺)?l«iSü]±-#M E\˜ˆ™8ãb¿Žë¬BãsÝ2ÆçCÙ”»F9É ‰-c)åiJŠD'©µ Üñ„Æ’’ƒÚ¶˜kÄ 4¼'ä–Å»…ˆå:+,—M5UY±„th  AÌ~n©Dé'¼ì?º3_oƯ·Ø²‡åpY[«Eš™\Ñ4“æ*ÎS÷$•yBÈaòGç3OºM®Å­îáİ‹yßr%™yQ]hU$9³„qž’¸ ûi×Al|®[R01—ðT4;*&Th­’"•,W ÙJ«a4ϳ{²Ð»‘&è4¾páþÑÒõŽÏUÓ1¡BM´H5¨cŒ JsÐXu¬rxËßOÎÚûdw€ÈøÂ"KL»)‘äütˆ6 Ø b2™YQ$ ±š«„NYLòýìb÷ÃÑ…a¸!þÕè¯âbTÕ À“$Î#4£)yÊ­%|Ï<Šû@½ñ…£¬O:ô3Sg4®*!9)lÆ87‡pÜü ÚÇ(>Øû3¾ðÚˆ‰#K夜_]ÏãO]Õ˃&.v)ÌŽÛtyÌ㹊‰ Ôhk »Drÿ&Bð8cJ%<~8vîÕè¶ñ…ûè¶²š~.¦gãQ€wq.ƒ¤qŸPº)s|üœˆ‰+hž2is›\R^›ä¦Ð9—{ZeîÐF°ù;º1›M®~0V,&K þKÙÆJß8Ÿ(1+|ÉÙƒ6=Òý²­É,…EÆŒåEçZH™LR¸jE¶gæÓ}{|˜t}( Žcܤ$ÉL jh "2üŒÊ~j¿Ù/̤³åì0²8ÇwÐ ÁY^×mãO„–R‘dtàJðœ0# œä~ó½Âg|½ØœÝáƒquÆÆ¤Kj²Df ¸1em!÷ à¿Gl߀çG?~hMŠO~ý¥Z4Æ=ˆþhðŸ…-´.çåÓey·QØNB ‘ØáÝ?vð-j lpÔ‘›j« áÒH-ayDZ¡4 €±M’xOÒ=‚{|Ú¬üRÀa&iº™¤)ò9–g$¹Lö£oûgüî’Ö5ºò ñË\¥mcµ¨$1g)0›,µÀr²\`ÀF[¾'@öOýÝåîŒ.!²’˜´%X᪰Ě´L ±²±b)(]Y&oçæ)[6ú!G÷ ÄD-&€=Ëp‰ëåŒÃFŽñÇFÄÔb HE–Šáì„S‘í©•ß³›m|È9ÞÔ¦inä'£‰¼Ì2¡,Ï•–¹Ö±JÏ(Ë Ål?³ó}Ck|Z¿TÌ­€exœ •ǹR†.eÁŒ9ϲT‰}ÜñM8`ýo8×Ò$”kªoN€QH‘甜aY¢Àç{C÷#4±dv]jžÝà”ýªóܵeŽ]˜OWóØ;>_þàý`U—3/YÀ†ÕÍǹ„=¿‡w.Åìk*Ï^ba_|]ˆ«Hš¨™UÚæ¾,çç7†°ÞªØ1ÆBÁb>Ç%*1Åé±$s]M&ûÌ¿[-1Õ;¾{‘ª“ƯúàZÃÖ)žLªËæy´VåÚÖâìÂÕ§î?”SÀ&ÕqÚgŒã{9ÿÉS÷ œ6¦žÿV]>!O¿^ û¸@U~ÔÓÓÈ¿Ö0"s1›_Euu 7ÚÕoÖÞ]‰eù,@éå†rÚÛ- v°ä 9Žà¿ÁÊÞ›«ËªÖG/§XjÞÍÔ;"Uisø2ÃO–K^YMãbs&%Êö@zþðŸE5ÿö«EáË‘Á? k}úôÛµ*êQ{ˆXt®ÂÛ+}ð@ {„C©¦ãÿ,ÊÚèÆü€É«_¥˗Âý§Qe}!îRÖ¢¾:‰ÞÃteãþúÏRŸ™yty^ªó–\ø?¹å!†”Aµi<:âßNNNÖE½ÊZS7žzx]1ê”(„¸’ÜF4WݨøÇѼÛënônýàO¢×^\áu53ŸbAx, í8ȸÐlÛ_ÐWišŠDskLf°î/‘–9Ó¹Nçöü¹[Ž3µó£‚=¢W¡Š”_‘{îoÆ«Áu) 0Ú clj§ c)*b»i5=sV°¼# ZvåÑ øà÷Èaë…š·µÚS¶~¨Ô@ôØæ5õqÇK©»€ä ¢ÚÑÚÓY]Í«£µŠñÉ÷DÑ ð½ò×gáðoø¿µ!”º¿vÃ,Õkïz<´pRÉðó—O6í$¨w®Ê åF`=î‰Zƒã¨ð¨Æ;Iw»ÔÒ»ßÛÇGŽã¶óÕ@H¸Ž4mÑ–à iz¤é8ºžüÜ7*H¼G/ÇIÚuÛÞpÛvÝïb?lúpl/—~=‰þhu+@Ã4¨÷O*zœ Á¶Áz¬$ÝQÙ*ÜŒkèÈU¿¸ð‰å.ÔxÉk¼ÎùÎä­½m·¦Qh0öz¸ÒmhÔ!‘õÖòÐÍ—ü­ Ò¾»®§Óe9™ Ý"\C¸óë×ä¸]ål‚êæî~kÒq¨àz³ysÞгŽþßô(à‹žtJw«2ܲžÃRLôjÒT°à9<ÐwWuýæ„üÔ,‡-àÙèɶ2ÀÕî’¸Bã·G’e½ò]QÄw¥¹GLÚÚ[z¤ùnoøî×p·k¾_Ùùoú­ ÚMï€z€ëÞ+:¿ë}Wþ\ïùÂ/g½÷‡4ýív¾ñ[4¢xh7¾æ_h|ß1 ;¥]ÚÑ;3›¸›Édç^OîŽ[ty¨˜ñ…'|ÁûR¶h<ó0ÑÄ ~ üX‰Ú #ú éî -.ϳDã%‡ _» ¿xw½oÃñªôÊ*;cÒ_«¹ñ„Ê8òtÓû}û :Ë_Z1iàOîçàR\úd1­ úP>-‚{€ý³/ļTb2¹Š>”b' jgLÜÉ&¾E;¡‡yå´ŸäÂ#Œï‘ ¬Þ.Çn¸éayÎ?üþ\4í¥ÜM„ß³nCÏõ½Žtn­…×YµüÒ6jég¦sÀŸÀÕ¢FŸÁn¨´G.·„Pj‹FTÒÍ¢Vñ±mHuù¬ßÆjgRÕ|rßÑ>Teؤë“oaÙ#lׄˆKÏ6¿ ì’VyOž0ï+þþ°ŠqwØÏ'U‰Iâ´qUÚ»œª-ÿ¥v³¬#×{ÊÅ:ÒßǤÄ\ûË7=öÕnàÉ|QOѽæœYJ °Í¬šbÑœ–œ°œ âÙœÏÖ1¢ošÍžWS£—ì$úKu k­Wün~KS``Ki ]Á™v½­P•¹;\¨]½0ÇÑ3zB"E‰+ïñT4v*¢EU kkç¼Èa!ØŠÚ˜f…(†É}¢çXÆà‰èÌL1ª1Bר˜ŠÖ%ã@ÜfêxPwëܱ˜m?$QÈfŽá~‘M ë~ VòßF9ù8-ÆûxEÍUœæäšÊ¸ÍBº±àŒQŽ­My1 ÎÒþ]Ûœé^¿‹ªî"œUÿ Kæ\|(«EÝ1ÐÙËß–c¢—·®.v,êûµ(¬²\#(¶¤cIrézKX‚5È7mîd¾E‘­GÉÃ7JÔCáíq‹Õ‡&ì>Xòpa!u){Õs“ØÛØ7ÊøÇ‘): ¤ÓiÃýàÊ=‘.‘ÒG¨zºAîTñ¼[ ÐÎëÙMÍÙG9ØÝ;^îs¡+7‡»£¸´‘̦ݣÒÂÇ£„é“ɳ¶6aK¡îZ8}7PÜñŒËŠ v‰-½³FÛÙ<ˆŽÄu™P«ð=æ^„·ºáï)[$æy›À1\½£Ã^ØuKÅ·f Œ’=&û)ñ‡i ÂelUÓVx »m ;ÝÇ'.Ú0!u@O0h+­šÕí„ÃXKK+AÆanöÉãÛLs^-&º ÞŸ`¹¨@àƒûxQNQ\t ¹‚åNý€ åÔóV!I{¸ 캕/·!ÉfyýB* ,£ÁRžŒÞ}'1‡î3 ˆ›4B‡ÝǵyÚƒ†(Ÿ£ØÞÚºÑt°ùRú—/*kšù(P"~ß•?×bv¾Óˆ ˜'൙ƆKugø6tûØF/ò»!œ6_§3€ÐŽ'½ñövTåžo‚”èŽóèR ­€€_‡œo@kÄÔÃÚ3uªcɤÄþ3 vAel¨‰æqx{æõÑ?»ƒ;¬Ï̾ðû³,à)6+ŠnW.áz3B«Ê;RThàd¨ìÃqÅ·Ü·s ¹æI»T¸Ú½-Ó27øO^Z‹œ¯Š-ÅìQìa¼¥ž>lj×X§Û·œ8F9Äs ~✗ÎN¢Ÿ5þäw€ëf¸f4‘‹é^1±Œ÷º³âx‡eœeR)jRKÃSÆ•Èrj¬Y„¥<¹=óآģd¾ñ{¬´…Ø‘ÿÅdüÒßqXàŒ„¼¶öäe%%÷ÉÜeÐNAܬÕÖBàÖB¨DÃåTÜ2CRšQ¬ÈX|ÚiV¨q4NÖí¨_‰jÝ`¥cd÷ ]ן:êãÃ"°vØ4ØcC …Tãî JÖCâŒRªrŒÖפ–ÂÂÒA¸ÖÖ9:(‚¯Â|Ãm—~¶R›Úx0€¦t vZMŸý×Ô¨Q‡$fFʬÌ@Xå¹"¶È•N°ˆMô—[³-z·|>ÄlØÃå 1;01óà}(ÄÌ|„}éM¤¬¿ÎIYÆ Fב%™ @& —’TË”«1Øf½‘ýIYXÿ®¤¬¿íHYsR-fÀÕù­¿þóõþñÝÛ×ÿ÷Çýòêÿ˜Æi©8YkcÀ2ʉJ/$qadNèhÜxÿ¥GIã®^òÅæo¡ôŠûïªÇ_ûþ·½©>ùâ7µÆºMò§>ˆÝ/ÑÆFVŸy¡OccrèÚ ±èLÎ='Á¹ði•mÀópÇBœÇ@ïüñ¥åU—’v½]†Ð†Ø‰Ú` .°5à7òjã·W£þÄ  24˜›É•·ÿ·¶ôŽóˆÎT<ö[:Çô¨µO¹¶&aãÎÃï õzvx­‘¢¼u-ùYüy5é \0Á3?ܳ‹J£… ú%tfj D^ÆJ´›~ÒÜ«½Z3·ªHM"9MrAÒŒ ÑDÑ åtµ'Š&¸,·÷KX”7vµ1æ+;n£Ë7æöÓ¼:;ëó¤<1'è÷¨.–wÅ_¨Å´û­½_ÝŸ»~¶ÝÉó©ÛlÆÛ+ Ú©2:¸ãöŠâÏFF³#&úÁÚÀúhVùìƒÉUØr÷—6[àÌU$ Bq[ž€b킲KhMªA*|DFÚ§Á1·šö¢Å\D ¸a’Ɖʇ·=-Ü›5þ† DÎ຺*oúü_Xj H JGŽnÓfVÕsçÒ{¸Žð+§¾„8•[ÿòô\šWp®Â•@Ãñ:TƒµyO¢¿‡ð«µåÀ’=ñ +°žJÀ™ÀE˜;²ÒÕìí„tÑ£Î!F©¾Ô`ë'•à€Môd<äcÙ ¯Ö/b*Î\±9´.ÃP®^wH¹QÿJ:yGèn&܈!.¯úUµ‡bÛ{ÏSž‰Òi?ÖÄb¾ ¸—!¢ÍƒŒg@ô¯—ÚÒzþJ:±Õ«.’Ð…=øØF´êL“Éj £{m Gø{î~­êÈ¥FG>WÓ™ ˜Æu©¬=Ï`“~ 'ÑO0ö2 ÁŸ¾óïøÄ¨î°‡¾Žäëó¡ö ðtW ìÇÅß»ˆ‘Ú?PØmåE„y …¡ ¼Oñ]4]fÖÚ¬tãçèö=˜qÍ[„@¶i7 ¼¼Â‡¦Õ¥7uð¼Ç»|ºëÝòïÎ’îº™ì Ž%à ÊX‘«XMrªl¦„&V&R‰ö¼Þ{få~‹n¿Ÿ‹r?8¨Ûæ%R%ûâ­ßY“jϹzà¢YW¨6%2m%ø®* …f9É…,b. Ig$ç1KU‹˜gjEQh—÷ÊGín¡Æ!aÝ¬È U¸–IÿÛ1 ”!v"g;·"?n³|Ü~Œ·<>Òrÿ§!´Î ùCþ~}ºÚ:;ï'°Á÷È»ËØ¼D“ÝìÞ*þ°ÌŽ%IFrª²TØ,)„U„äÒ˜Û1›-:¥?Jfã+å­zË|çô߃›ì€>0 gXÇ c¨C¶T»/õ Qæ¾Ë|ϵbMH¹ºZM©×…_H¯fÀ.•]Æ{Í?Rlð…ñÖÑá–Å÷~Ï8áJ÷ÝŒKè>Ìè­fOôHã„[žäLË<£V¥&I`AT*ÎsI­ÛqÜÁ;èU ¿ûxàhÕûüyðV~ØTN'.Gæzí£K-98¾ ¢ ® Øá"_<΋ìEo¸•®DÄ—;yÈ;é£~`¯»ï†¯/Ų<Óî¡:I^dÜš˜$Õ&7Ó€”aTL*b_øNІ"?å¶.§ï½‡É3¯ú¬„Mì<9¨UœHj[€Š­Q(ryˬP6Ä ¹ÑÇÕ¬M3(eµ`EQ€>bRÍ©ÑædBÚBÇ™¯Ðñj1¯z³,ýk¯AŸD7&¢7^Iº!€?Ï/]êš¼wõ‘0’1}ï’Ù]f ¤/?TϳÜKèø,gç®0”Kg+U\¢=I4?/•†]Ë,¥†K—^(`w®”h;oßàý7Ÿ€2‹¶‰Ö ]Î}øT—SÑSÔG-fóÁhý<6°šåmô!s$áùcÙàå[rÌö‰ã™Ë´çoñèí´ÐÑ~`êÏsÑ8ïJã·ãÌ-ƒ ="dêÆ¹Ú>S¤úi#Tu[@ͧ®eÚž¤Ò…}ï¥øˆ¾‚]ªUâýãäW­Ix…]õ‰ØªNºaöŠ8ò!˜Ñ|XÆÖU£í1§ë¸Ú²Ðm¨Óã<»j1=/å²QPºµ¿y‚µOkñܧ†bÇèáU¦¿WTË{\" wÜ.;ªØÄbRX§X”½6.U¹ß |eånpOnKWÅñnÃ]ä&Mua:–ÓKQëõ Ø{ËÕï^Ã}T ùÜhaà= „íH{Ë–þŽèa‹K7Ãû9@àt2‡«êÝP ©n³ÐÑ“TÛèü.¾#ˆUŽªay7ÀIôÿñÑ.ðbŽt,•$:{¦§ï$T7&¾YžM«:„`R¨.tIJ_x¿}ä3,'¨G°Mß‚±ÛWu¦^I \ Í[T:ˆ^å‹ Ü}úG[1§«vûåÐéõ‹Í—ôÐ};v§w¯­(rA3!MÒÇ å…U*KIn –f¾fëÊï“õ¾0€ûf÷H׃*‰ä¸OÕ°o ë]æÑé[Ô:öàézbHl‡/·uº Æ„*¿Š@›%;¸4µéq‚ÅT»Ö,. +ã½Èî> ûl¨Ùø,Ÿ5ëìV©\ß¿yþÜãD–£¾ð£ßsR¬‹ÑEù¡ÅçNàê"·ZãªpçÄ[á> 1`_;î%Ó‡¡½àÒVÚ®Ú2Ž3ý5>J¾ö×¾$^=ñq™¶ºŒz^+º×¢w5•w$ú—5Ú‹ÚÜ¥i¸¥¹¸X .U9ó}t¢›‰°þÏuµ˜-í³½‡^ÞÉØÙ\¦†§6Ke GEÑÕI\äiš³@3WfzzŒgÒ\U¬«©Ë]P&ž:û3ÂÝÛâW›KëpÏs—Ü`Ï ¸»÷c×K³;Ë/Zñ¹±œ^ŽHÏn˜½DçÆåÍÿNXÎZ/’Þƒª|™æÕŠ`^—ÞÔ¢T}AÂþ9¹œ*408»°«!U]žªj²¸˜ºMud( Ù9‚zÁ¯íûD[­ÀOXX Ä;¸è îõe9ðsׯÆr\Î…Veu^Nô*e˜Ü}ëĹc‚ÿ 9Ue/ýfPa°÷“Ç”©‡âÅLœa ko÷ذhrKC¸“ z‰ºÐêrÚ½]ž¢w°ÇXöCYyw¬ÛâðÒ„@rW«C™™{k·n†0–¥” j@¬M!²„0žç*•Ej¾Pèk(4œð®4ù²ÔóóO^L`…Ÿ$óŸyé€Ãò¥–ø`šäSO*¡{õ{}Å$ûÚ%ž´˜ÏgG@–•‰¾ˆx÷ëûø€päžE¼]p’$†˜B±ÜÆ ‰i¦x\H’cýî$Ö9û‚“_˜ú¦~LýA¬]N×>?ÒY †«àSR“[[twNŒ?óŸ~¡EûF EC(¶Æ¥[¡÷Úò’­ºÜëîŽÙÉ]ö•‘аSWÍ*™i®+—^ÝìàÞæZ-ýʕϕïïß-}i Y¢¾·×zºì¯Õ<«.@p…Q.«ú½£Üë>j±tQ/%;ç8ì—° -g0j¬$µ$“‚pž²"&IL-ZÐÏN\Ì4z¦ö¢áÛä}±ReãîiËß 7&v¸(ê…|Ö¢{0³öÃE†ñz¡‡‹iö¡Ì›£èZ1¥EËÕžõË6‚ÞÝý!˜@}A‘6?›0p?ü•rŒ-t+÷Ôµ¬WÖ2|¹¦Æ¢ùhÔ¢îZòÍ…Aݰl.œå·Y«r!ÞcÃ)ì¤Q-·ÜëØ>œíÚ¾#%Cz9¨_‹‚4+Tl’ þ‹…Ô”æ¤à6å2ÏV²TÇ{Ôõ3v¾¹ÔÖÉšBd2U,e±Ó²È¸ˆ³µœžÚ®SªS¢³Ü¤±±¹ÂhIa# ôA>Vê÷ëÏe3ÿÃdþíŽ÷}s)èèÑÎ`¬urÚ¡Ù-„â}êƒ6³¨›¶¢ÙÍ$ù“¥ƒÞ;anóA±G`ãâo‘¬Ärz}èød—ê\d7Pö•Ñ\¼õTMÚ“ ïbk0Û¦ª6Q®-NW@~ê­bΡæã]H;HWðG;‰žlðçoèŸëR¯5_ –8/žÕ>¿f:Ø>î¡æé{MØ>æe°Á¤w^•Æ!‘ßc¿`9Õæãõ%Ý·¢µÝv¾¦01èõ”óئi 4Q.i,8L ±aÝÛ¬‹›±&N3.ybòh;‘q\€–o3I,Ö.º5¥©´±„²"³EÌóD¥ UyÁŠ[QsB¸*,±&g°b^P+˰še™|´²l9Ý”DßÅ¿-åÿÛáM‡ˆÓ»R˜½­5hXlÞÄJÉx}–aßI.á'…µ¡ÖŒò}ìÓw±OÝ»û-Щ¢Qhø¨mÏ:¸ ;VÄ̦¾yˆý‚òöÔf_ÛõˆÎ¶oÚ}Æp“gX.»cg0J³²b_,MàßËŠxkMŒ»†#w^9áiŒÓÃ]„ÊÝæƒ¯å;‡Xåw?>·Â'LVXš'$6)'ÏS!rz—à¶€[£nÅ'bÇF€gˆÁ?·¸<®Á©Èècåר<\1þ7Øvì¡´-ypd}¼rËÃ$ü›ª¢v%š}†PžÙõœó…@¤qAf>=~Ë,ûƒ u–qBµ4Ji¡°°°0¼½mCø´LèLmvBmI4Ñ"Õ±6Œ Jó<‡_Tn@(â‚?ZO‡ë|º†Úî·;RÜüT+rÕ~*ÛÄú;¢Ã]ß@M=pÈ…ô<_tªØ¬ÅZ_"Í¿‰©b ™è+|g8SÇ‹;©Ì5ýœR*€ÊœB…®Ù½ºÖì@ñÒ~‘»!] *è/9ˆQE"ü£ ±”Å$´{ïéÚóµé½ªP¸3ú+üú{Àª]Àp®Å9”§r»bJï5lqî–h5KL^Hƒý^ÀfFSó€óüsˆ•ë¡Ì«©3ê õ¾ÅÐpû{À‡ Z9Váîþ gñ"¥è†oç¼Im_rYȾ€ZÓ&˜ Ö¥Ö Ä2íÐÌÛ¦¶ †!©4è9Ëç©)r•€nò•fÞÛÌ×¾(æH~ÄêĆæ\âÔFÄEQX™gW‚f‰ŠÙúÄŠkæÞÑc8fcxœx¾5%Ÿ¥eí.ìf„XN–f"ñѰUˆ@?sþ¶åËÁîÒÓAAåª\%£Åt>Tõ‚¡¬-‰À\Læ¡ÛQh‹i—Ô7ue¤ƒ^:$¯76×®ôIÛæí9XS~`âÚÖ—ù¸Ç ¼¾7m*öî+p°!³¯ ‰e#Q&XæòÚP™¿•µ àáE?1»¹jEO6çu>]­æ_E Øv¹^X ²w†¡ÎûªmC²jaû¦¹s“ç`ù7œxk­ VÄkŽþx|Ṉ̃lÀš¨öM;Ñ[ÁH ÏS™Ù„f‚¤Rd&c&f±êÿXéí–id±Ð©”iœS•©Xó"Ñ,Æ=¦bI’,¤‘½^dÜ ¯ lÁó=Î’??Zþ0½´}_Jw @èÂ1¬ \K’'•ëKé >ërÒ6¸Nv¡¸1ÔÄ6&Î-€WP\2^¸j™áë2Tïšy© Ë'„¢öÞÒØ4êvångHíü H3¾Yò™·ËÚ Ž.ë )ŽÅ®¨Ó«ÖV2b-&·v8” U\ Œ˜9Ðd !gƒ5㔲LÐDrNe"Ò˜ƒ„Ü&ò>^ú®ðC6ÝsK¹þ²!Uúšü·@}[Qÿ®Ê êý¡Cmn$L,c›¤\[Ecž)) “ÆIÁ1ŽÈvaC[$t÷ýø™þÉEœ«BÅœ2É„áÄ࡚Á.Wüø#ÍtƒòeŠ6§'“\'9+’4)R¡ •(#0žØ6Q¯÷Ýö³ Ìç=™˦$“JŘ\Z'9yF‰MUÊSuo™¦>óèí'"'„3!“¸•L ’ÅV’\‘¼`L&]~½sêz&rwÒ”P1 “¤(@´q¨¦ä£úà[¶­&ålÿVº_¸õ­¸5æŠË"›žmŠ}èŒþºj©sÐÊÖ‡h.gU=oYö‘óï$zës³U¿Œ’èøŠvÔ‹ùÐ¥µÆíyÏa‰§.S|ðNj¦3áV Ò¨n¡2(®ËY@zÙßK·¬‰Ý;pušó$71·6ÏyÊ‚c œŒ%#D0 Mü€Ô\Z¤iœ4)@­ãIŠQg°?fôPs©$G ›PÉ c3c0oMH©‰VB%¢æãÁ„“šo0šoŠƒü¡{ÜäŽÃýÀÛ ÁqoÌ u¬\Oóªëê;ˆÜµÑUµð—™p9n]¡'ße¡æUí “ ¢"KºŽÁÕ3°ñ¹Újú¸ÂMÐÎ9 îñ©YweG‹©3ú 3X² À˜>›.@ÆB¯oÕ–‡V.HWpÃuïÇä= co8é×þì.Eà‡Ç¾°`øÐéDóŸl˜ã©+¨¥uÙ2ÐÁ;t1n&tÁÕ—0ÿU˜· ­ƒ¼s¬àÉ0|z4Цu•‡>ÊÙqB>Xï±o_ýÞ,½·Þ 0›Q?¨¸Ò¿^®YFz´Aù{ZÄE¨4Y8ª}cò‡Ürñ¤WŽTÔÍâ½V!`ËE.™Ó&šÖõ¬ !¯Áj¿e­´­ìóÞ ßôíïnˆœ»Õéq¢rб3j©¡‚ '\Ù8&LÙäÑ*ˆ›ýðoý¾eäØQùû‰½A¾ÈåŠ"ï%¹”'ÑÒóÝ;KÎ'ÂÖøÜ“ÁçO7ð¿ rÅ6µ“…Aá§êW® åÁ!¿s×—w–žDC§]/Šß‘ }˜ÁOÛîc^›@âÃ’!s×Ë=nÂEÓ9jß9õö@ݹ¡©-ËËLJ©ÁǦØ£ŸSP/ÊäïªG×û)ûfì6«ÍÌ™æ?ëÞŸ€!a鬿šÀËÀ€zÑÊmuäþq,k#o a oz‰Ù9ûÌ¥Ÿé›&THöq›«Qoè&½ô¡ÔëAÔÞáVT:# Q×÷¾èD½—ði‚­ÓXb©¦ô.Q€ˆ.c&J8‹ã¬øz‡¶Ä=¹zÕ‹DüKy»R7‘Å7Þb¼$ŒáÁ¾køøÇIšg/øñ“obKçºá\K“P®µ&'6.¤ÈsJHÎATð¯‡uîSK9ÄÀšnˆûã$Û wG G©aX° OöAdÁñã]I:ZÇBíX~Ñš”®»ìAË5äÒÍ~ í‘ßr÷™†<ÿÓ‡ëDfº¸Xuã‰÷.={wÂKç¡„ µ®Ãœk8ày}êk9šZuµ³½A«½™)0®ž–­°Ÿž¶-Ae{þbúÆ‹Iù²©Õ©7 µÉƧ›À:xå·œaê_ùù¿šjQ«Ö¸qÍ{'縧0áu³^÷¥šÍÂw§nÍAþçÙ3M—ýìÙ—Û 0$„Ó—î ÑÆwùíœÏç³ç§§———'ºúx;©ê³SßEÁïäÿÜ]6z’ŸÐ“¸;Yé+üß|ùÕÿ7ɧ’V/ÁÀ¥; pO—Ô̈Q%Kh64&<ÑÛjG(´bD©ñÿb»ßòJ¡7gNïQwÃ~´ÆMÙKžeVȉÍðÆþ T˜”…ñÞ/Þ¨½”wºßÙprÙpy¨¨®…oöPµƒZæÔáZGDS+“ÖÖ|fਚ~ëIüƒãƒmÙLW6·).‡Z#X*¥º¿·w;dO4^½"{ýâ­X¾è‹Šç„ÌšœŒg¹&&Dº°{©Ä@/ UXH6ï8Qª¾|¹]d%•b8;;+--]ªÿèæ¿8™¯r9::b±êS¥FÐî%»J;jDnW—>v²Ùq’MOOçÅÃ"Ï}”ÑÔüXVÖƒªƒ7­çb§ ÚÏ}Õ&Z3Y[[; ÿ1÷œÕH žX’ÑSy‘—wv6…T”—‡î/d¬Tee t½ŠFE¬ÕtO L˜ÏÕÔÔ$$$èZXh],'!k{~¿½SeR\QQÑ ŒÒº~}m¬v«åÛ7+^wÍ©~À)ÐÛá#ÚËÉ)»1VãÎ4512’ž“““—7=5eZ7¿ôWÉ6)vjð[XXPÔwg‹á'†5t"Ü&IЏí‹D¡®Æ×¯EnÜ€KDž$ ƒÇ‹=¹¸¹GG—ÖújÊÎÁüN­è10¿±?om®]ç?sƒZYYÉÌÌÜjoÂÒü&EDDÔÔìJÈŠf­|,!ÚÖ®lTáFœçtˆ¡Ždö"gгYÉdr¶ºÿ•êD G‚pá§[np!M´§åë¹³)†è­eË"+|)÷>Âïè£Ù£‘þÁ‚ÒÅªŠ£ªìhWC*ºª).))­ÈJqP˜£QA•v¤ n“טÕÕ“ùOZ_•Ý`K³fhôÆó®êqû³èÙ/NŸ'8°²’wi§—)+ï.D%ꔘŸ*ª!õ˜ùÙ„ƒšR©hûÇ\yùÇÄ%ègŸú\Ím¦¿ ÍÙÆ|8VWCׂ˜ †²¼vw°¹—¼v$‡ VåQc~Ø!Êî¨G£éÓkÁˆÒòòøÀ³6d­ººËw ïÇ øÎ‘¡-—عüZÆÃûGÁ±R5Ì@6Uµ|.al½od„ÄKÜù{Ÿ-7ÏÅ£™ËÎN„½iWbð÷D£S\ª5éã7CµAhÿÒª*&N>ÈýyÑOÉô"ôG°Ž­­³™Ä&˜ÙL¢ªB[ ·—xÇ>…wÇGN]M» Õ+(ø39Ù5ÅP÷Z,Žþ¯ãè$;ýÑ.a.ߤ5‡ùîáŒWß50ü­]ÿÂW:lÿ!jÿµ Ž)‹r@“L{ùüIm\bbd)@ñ(̽O¸À‚ èÁð²v®Gfo`‡Puo¬cçççë’çþárÓP%ΑÐÌÇòâvg•5ódMÉΟ=„€¦+³ÖEŠ_ɦÎÅÍÜϵW&ìð²½ÅÞlºð¸¹¹U~iiyè¡2oùDBµ™ 'íÒfäS{^¿~„4ûÏ4ÇÅÅ-2ÔUT‚Û+%ùrïuå2(JrV˜—îNCFƸÒ.»w‘®ä Ó¡$e@©?VÆ—÷o²*ÛB¦k=’†QÃÔm®§wûó´SSSC‰ð‹¯š¨À@«rgwwXÔû<Ùg Èéôž»6­n”¨D<Âä¹ã˲ƒ_CC€®Q¿†&9rQ’‡ðÂøç#Tèw/Ïi–œ;ÒH]I€•Nqq8¢W``hÈ 5¼Ê…—#ËÐýgô¯SN¥öÒžÕ¾¿ݾ—““3+!;TŽÃv¿¹···kS§”¼·Ý»ðI½`ÙµJÚ³2å˜ Šr ]ªKò#C{þËØá×¢MüøWÆ[ꄨµƒ ay‡’B{"(Ë€`õ AßÜ-žFEșŊ8x.÷‰7ÃnÞüwè›ù?bý³¨û®cØÆ×LåœùV–¨ã…Ò2þÏ==‘fe É HÔ˜•”aþã©SýÚÌY†eã8‡_AËNG6ðûPÌ6Í¿9ó F®¢5n`þMeå:4μÓþR>Û0eWCˆ4ô-Ð+üèÊßÜg´¥)èoo‡—Z¶r눊.ÎD6`‰PôýΰŸÎÎI{§þZ×s ç×'¸'‹;xµßP°¼G€§çTU\ “£9p‡‡O–Œ.ÆZW/õ$&ràP¨¾§PJy_¡q®ÚE=à%ÓÏÖd»Ã&'çûO’íe5^g§†Š}gw&hh)ܧÔNùa~¶ÓNúc1g§-0¬Er\·§'¡aײԮùÈ—ÙæhI}[-þƒéÂFžævw±ééѳ4û¢ˆ¼ȶ¤€{4 ÿ?ãòÚÑí÷>ÚÖÕ»»uü&“+áÚmfÐzZûÌàüIåÆƒE“°°¦ŒUåHQñÅþA˪ԛ¥D¢¶„S2艅•—­î!§U™OŒH÷?—àìµ4äQ_÷gi‡*ªª^*Y)))÷Hé<€Ïè»G(/¯ý&Ú&&QQQVxغêÖ®÷UÞø¹ÙÙ õq b]ˆµ‘NôÔU&,ëbΣ˜#U‡ÆÆàð“_Ý@‰«WaøÀ…–GŒJ™²×®%¬jÎ6F¼±‘îîêR`¿Ç º«"Ô þ9—IñBèz`‡ñì•K„:÷«ŠÆY 1G¿PJZ:”žYy¡P«‡´O§Ç»3dgpК}-ÒÔÐðóïR||¼3Ó…óçï!‘Ó1Þ#úOrÁØ Iú%»ßÊ|i"¾µThUFX«[ÆðQr^¾Ü›O5‡Go·µµ‘2äXöº°oïî’0— ýÚ»°¨(ÈTZNŽùfÓÔôÀ'7·²·(´´¢Â¤ÌF€ ×Ñ¡[ž.RÁ—Ðå þ"sD+|ï~hèÁSn‰zÿ¸••UùÞ¥Dšü’#K°8%{Y8ŠX`ä21åuCÃJ;ã¢oáè(Üî÷Úò²'ïÙxyN(=ÁÙvè¨Æ!ÜÝÃÂÂ\BWÄVÝÌÍÍa0¡©a e—nšˆ8êÞÝtct÷Qàƒ±>:dÿ´±ð{s“ôåK_.X]Usr´ß˱´°`霭æ+-#C]]ÍÊË»råÊÉêÛêð<111½òÔ§(—·ÃßÀ¶e6¡‡;ëx6ØfÌeøÞb¶¿¸¸¸‰8·­Ú˜ÿFð¶±ñV//)ÛŸ°J»j§†ÄUǦ _7·:±8Ž.î,,,áyE¥¥Ëôh‡o€@·*í¬ðxüD½oSÔéI… p.KOO‰ãÊ$!ä½ýèÎúDD_/Óè~¸¤„„†Ó|3ÒÒœñEoÞèJ§Éi1x–ÚHÓo‚ì즟9¹RžUŒkk>6båÿÑÇmÝçp¶3~¾éF<g¿àËÿÜ×—˜˜ˆTK?øÉ(ôŸ”;âÓ©k®4ü”þ~:c¤g¦[uþ?ö‹g eBe™I³I¢xœí]sÛ6òÝ¿§Îô’ž%ñKåØšÉ%͵3É5—¸swOXJœ„ –‡ûí·HŠ’åˆr¬&Î4“‰DXì7vžÿåå//.ÿûöG²(²”¼ýõï¯~Azýáðßþ‹áðååKòŸŸ.ß¼&îÀ!—’æ*)‘Ót8üñŸ=Ò[Åòl8\­Vƒ•?r>¼|7¼Ö°\½¸úÚ/Z+¼à½ÙɹÙð:Ksu±Œ;Níj3(Ç JôÜ>ü^&W½"/ /ú•™*²X mxœ½WgT“ËÖQáP! ÕÜ€t¤7  ]z• š`Bè(J@‘v."UŠˆ”H‚tÄH3@è(D¥÷/çü¸ëÜï÷]wf½3ëÙkÏ̳×óÌž§fì,,gΜa72Ôµ¢÷ñô¯‰ù,½g88Oï. Œ tÏœþU_KRé–"Fº·l‚sÖs}M¬ï[Ì]^U(È>`Xb¹È(åêæ.M¾öüÚÖ‘–—7KèfŸ.z\vñ3¶ RAqñëå«~Ø"")R˜ýëÅÛw4Ÿy‘R¥È;ˆABÎà|h?9O“üYHˆ/z¿¦THH/zª¸IA-Š)pßj;=AƒV¸F‚ßàO®Ó[\èq8D7^ëmª}’œÃõÀý†&9yK爑ﳄsQ<ûÔj3.®@^%°ª Xê~©;ƒZ$ ©d‹› ÌOõsg4ÏEA à„çijY JÃ@>!gðã/ý>ùäç’膼×7sÈQáÂ;ðH¿_O6s ±´CkÆöìî¨'„´‡U™eTÞô Ë-Vß-˨Z´\õfoË(MyUæL«¦²Ä}çzÁ³­%´(d­—¼,ù‰ iOØz«÷æ™tß±Ðl¼  ½?©X¹I¼å‰ÑåÞ&·ª±» @Ck ®Yo!nó¾²9Äðää|9{K JbDšhNèu¢þÅD¶Ä•I>rBª ¼)£4ßq4÷$EÐo„„Á` É=.µ Ó(……Ì0ƒÓSñ7ÙæîÓ›Cª–4¿èyø¼ðf¸qN3´Þ •0ºy[Jzþ°àú¹±îQFÝQÈ'0žNŒødÂ]‡zãiä¸àUH4«~ÆU¯!FBÓdŽhÉd¾À§«êõ¼7CÍ;ÏìηV¿Û\‰¢YoÖØdÒÞݼí€p½ÀhÙ“§{àò)î„ cÆ8 п§Û86ö# ×xÖpË‚J:ÁÞr:ßÓlùLàI*ÍØ>fŽñØ›Ò DÌcaHQD#ÀØóü0¸3ïƒø1™¿ŸHË|xxöw3léÔ Æ€çÈÔˆB§£0ˆ!GŽÿmHa?‘Šæ˜ñ}þJÈ×bþžÑô°ÃÂcÇÃè$`ZÖ#Ê#æræ û&ø¸ŸÈ >&ùá|t|‡Á0tÔ>Æ7nà¢ÛöG®L¢`ÌïÅÇHˆô¨.v/Ò:óÀYmDg¸]¹ÓN‡&e˜=xæÐ$híÌ¡IÏöç ÔÇHÜÇàÊ â £ GhOÞ©œº“à~çßšÉ4g !{$áø½Ã^šˆÏˆ§¢™ χÑ>º—! òÑ€Ëð€ûAL§Ñ˜£°'AütwØë³é6‰À6ÝÇRºíê‚AÿÎÃ~%Œü0âA¸l2a“( Çl €aŽxœ1ç^°H’c;Šý¸kÈüA¹Ðq1 &#0ò{î4L"éxäó"ÿkæÓ~Ü·ùô¹“¼²Ù6}ñ³րNj±éÏ o1§…Sð¢±;¾_’ZIÙòôøë~²$_Ë낸Ð÷BggFŒ¢¶L(Öˆ3‡S<žiäN\t­ñ=öÌ™ý4dôz“3ÞÈÙ¡Å' ÖuJsÚ4EKS­Dm{i€“— ˜L–Ú+5ܬÊÂu¥‚}À…‡–QmMtÙDD„’sÈꣿáRn†ªSJµ&óûRŠ«„ƒÒ’¸‚<ÑÅ`’ä˲8%¢,ðÓLËOâ„QM‰ëSf`qàiS|óQH/fïÈóT‰ó!>œsþI=G:+yæz@GcaŸ:”{Q0qÆî¢qàÏ£çŸ)(Ö‚Ã}´ÄxÚÔ°‘å/´’É’BZ¥…R¼¬Ìç´%¡ÝE‡b¯¹ãhÉ·²¡Þ­Qd{!ÌÝ…þsË5j k~Õ¿Ëõƒ~ä·æÖú~vÖ”øön.›=Ù1XÃZRI+hµΞî²9fí£ù^Y‰eþ&Ñ\°žQÙF Zi­š¯’bÑAQؤä#HQYÀÉÆ•Å]²ëP§~ü²Ó÷’; £û¥½ÁöSr·|?EŽønz³ý:󰸯õc×Ê}øïD÷n½¸\XŽÎ]_ݦ‚¢>6~uP»ö»ìDŸj ]2ðVcܽºÃ`ÐãÙ0©Éð‰.9¾œ]U‡ÝÚ¼ôÍÅñÜ¢ f>[7ÞAQÊ܆a¯ÃS’ `°–oKøõ¿c‡»™¯H€öÂåQ‰°By‡Ÿ4RüÛ¦Ÿþà˜ÏÁèIv¸Yúr’Ôw3-96×E_qò†~À°X•¶=,:îý£Äx8MoˆBRRq±@w¾éyäg-wëìsQX  U@³~™PÜB­(®â5nѾ‰Ûۙωk>·0qhT±¾2¢<²¶ýhø£¬²Ø£^•Lõ´ ;ÐÑ Ue~$¹Ñ§Vv-ê]aâ ¥PQ¹…‚9ó¢ ¿¶!kul ”“'˜ÌudûÁ7ÅO›Píä*i*ò¤Qa¢j-¨”ÝjíM Muð„).[[è,ùaÔϸl%¦ÝŒ»Ã­î—3î{Yá¶3€o×Á,[iejÇáò¾ù=Š+b!I*æTb–%Œ(M¯:µF³®É®Dþ×‚è› 3¸ºËýÊšQsjT2ׇQ†Zü•½VÕ«W¥ÔÖ¶\®’4Å3oEo‰`g ù±„ßKš>Õµ°­ˆ³u jÜ„LæINÓ ss8Ä÷"­píÚÅhœmÐ* wOdð-äFCX)®“Œ°ksªÈ\®?qw• («¹ÅÃD§K×’Ú‚.k…a@mÛ §Â½^y7š"G.ÖRعë©-°y —,‘7UÉQ³Ù€zE™•”;ØÂ[$l¨~&bK…Ò¸×Ì÷hºÏ€ë<g”J‡sñnÊvP¿ƒã׋!GH-NDþÍÍä­²¡ï°2êþæœoÃÕU7ߺ«ÃäÊM/÷Àîè |vËÒ—Ó.}Sß®DÕŽñ¯Ô›¢Áƒ²D/º[âX#JÊxMô©Z®)+P;„õO‘è¯Ô–2 ºTVŠ-uHi¦ ¡Q„¶Ø_û©¾Ñ>ž>­Û0þ¼ûyìw?¤áâ=²Í¨ƒ& ÛVÁ£u¯ÄùPÿ6«>Z{lõ'|úæuìƒÒQ ˜àsó&©bs6JiÃUE2&%䛲r×€±¶…V “š>XÿKk“V'Ì€<¯hµ0'äYÕaQ¦æ¿…Ú8¯bFÍ ~ªm’¨·8¿µÈ\ãÐH`˜Vo»{Š[¬nÁ–sѽjzË/UB’WLþŠ]L×»í?=Ñ7â‰ÞìU)? m C³å£tSívFr[›—ÖÂß$y’•i©Ë“­ÒB+|Úªž5%‰¦°Ê2ƒe™j•WÖ üY”¨^Œ– H)0Ÿà˜`¶©¡ºn?J ]!¹¾ÂT£’ÀR¢?1¹0æ­ºø“")AáLnŠ"3ç¬"'£sL‘Kn:.¤(ç LcP^¾ÖÝ–Ç(NÚÊ~ú€žnÿ\øîÐüMYqí ÛÝÁ׈éµÑúªáISl4]ÁUU±m¶-Õ÷Íf°Û–ä5•s4_)‘–EÓåpd#®È¹Ãˆ ¿Ots³©¬HzÊ2E•þпBT3D²ª # FW‰)R“2OtQÍ$¦†ü?ÜЯJ­ja(‹ô2½áãtþßO8‹…b¨ïZဩ7v™ÍÉJ_4o€‰¥È ãc‘â¡a*IA51’l¸‹£†¿…‹ß”(%«cu[fZØW‡ÔÑa`Ëe; i½h¦~±É­·ÍÄBàiÔ#ÃÙú½5¶g¹~•IëmFÜ¾ÍÆ¼Ò¨ývŸê-7†Õ›nÞUo꙳“ÿƒ“1Ë™¼$ÙÕèâ¬â ³i9§ÙùÈ‚ïSëÆÏè ¤©C"É)ËtÂ7'ÇÿKèI%fo)lÓµ\{‘‹ÍÈw|K8và†¶êá›V?@«E ÒLÓä *’«)|»Ö_ãF"[ÌA<ã~­‹ß–[EyUå³ÑE#"#‘Žz1¼ðu£)+ÕÐEÇDââÉéÑHA—"Qè§JØža<¤<°ãAà\0[fF·w¢Ê3¤î•v’&GÇ=è0 ›‡Vì;±ãz¦àÔ4ÍÀ³€ ܳb+8Ttôýû—‚?ž/óËä¿âÜë#BL 7ä4pxó…á¾É™gXÜ4:T"ôÃý²D€©¬È¯ò4/È·t6Çðãuúhã 3òœØ´e~lø46ƒÂà¦s;à‡J›~¸”6ë?ÄIš¢YàRÆœÐ1 ]FŒº1uMÛ÷©ïÇ;®¼Ï¡ã{á>š}«Xf.²æáwÅ¢œªÇ~&dvèYFè€ú ³,7pl—R?´í0ô;T‚õý‘`5“ÛkTÊϽŒí‡Ì6<Ç÷;²YqaÑX0AÓJ*žúá~OàŸh¥Œ-J€¿ãÉó_«·oο[ãÏþ%Ú }[Ï5l/ˆMæÆ®ë~äŽoÇžíì„ù‹àMóbDŸ· ­_ÿNÔ‹.pÖg“-D­8ŽgQ˱éû^èÙfìƒý8åŒ:»Ù(÷ `‹±¤ë¾o½·+nUûȵ™å0;Šm?k6rX¯cÓ1¹»Yá÷ w‹±¹(Q;ÎDpkyQìq'Š©mFVàsîØ€ -˜>¹c8žíÆ–iÂâ[¾º>·ZõÃNçóôî2ï7´¤éMðölù?sõe=šÂEL).’Ûz2¡Å]Û¤ÌñMÁ,`ìˆ æÁ2ã؇Œî~ØyAo¶´Ñ¶Dø¯Ÿpçû{2ÏË-1,|4eaì"Š}jEóÝ0pmá ¾›ŸôLî‡ýé1¬ý‹ÛæÓÝ&Dë ë7Ínsc Æ&á@fL­‹òàä£(Y‘ÌqûYî>/gYˆÛ*Jsöî–¡²æ—Ó¤T½’ižò’$Yœ3Šã勪Ñ㾠͸ô¨6õùCFæ)Ð'\’4ù"ÈChþ[AçS…d"ÓFÎGïÛHQÏ*É®%Wø6@ñ±$ŒìB’%©LdQ檜ÀZ_˜ÐÍ Œ8—4%‘ ÈÙ˜|S· R˜ávÀ~ÖGÄMŸµÌ0°MÏÌåAìX4Œu[ÐÞ¾Eßk5ü\Ñ/€úàxk<ÞàhjoŽ‚'ÀªØ`\óÂû¦Ì“Ìœ”0ôH v‡y§Ç'0P K±æ¶Á£ pÌŽ%/ƒz,“(½ƒqq7pøˆƒ¼˜_K²)l΋ü:á’ptÉ÷´sQÀk eäËZàÚ†ŒfÈŘUä)ê‹›LÝ}T4›LÍ{b_+Cœr´©Tò †¼>ÏKâ;%ÌK|êÍ”ü÷¯|!'ƒS˜n)ç'W‹Bª¤’ˆñ‚yt ÞÁî+ Е\ ×I;5XÖ°ù[­ó:j4.èÕ $ @옮˜Ã šAûN’<ênlHe”€›«E¿Eâ-{4™4 ò¡ïºAs°Õ¢ÈHLÓRx› œ$TËŽ…Ô'I´5QÓ2.òÙ2W¨÷`2Ê:XÒcr9]”ÒB,ÀkÊ¥ Ujç¹+e€vLr­TU«­å÷²êS=²¦¨È©p˜!|aÚ¦cʼnÜ(v<Ì)\qŸs]$R¬€ö_µ *ÝÙ™ô¯€×¢¸CVºY‚ÂdÛ¥õnž+µ¢£|{8jºWZ¸šṲ̂¦D!Á)­˜‡Œ WDþFýù)]”ËöÓ½+êÏy•0ͱ€ÌZf†%I2ÁDYÒB.†âvž& øL™ä/ïØv”‡æˆ›¼øRï0жÁ ƒ×qú:*<£ù"O”af(&wÚ¬åIŽÐ Î_žvµ·FŽVÝÄê´D,émS¢£Ø¨EÎÄL'¿Á‡c ÓkuB>üå/èÕæ7e‹órav¥‡÷Nê°7¤)Â* Ž y¼4±KT€ Á‡F”êÓjz öË©Ú Õ6šÚTt,U”Gþ\66Ù ÏɞРF!‘úl bZD (аvBËÕÎë¸1—z8i\!­k€ÔK[¢’}q †€¹Ž*iööië AÐu¬g]ÖRr'HnÔèÃIÂ--º€Àec’·ÁNÀ¥~¸¥Ø»ìš.#Ë,‡I Îa¦¡ax®°ÌÃtK5ÛNÔLI“²&½çÄ5:ë‚1yŸB×èá^ ÀV×s~Mû&Bà›A8`êø ÌøþÂMG³%Ï•-ÆlmÉì5çŒç€¥,GO Ç4c Ë*B:Š;” 6µ.~’É_³ÅL¨€'ù˜³e´³´9÷p‹c¡2¹¹cÆê½¿ÑÚSÐU.Ïãk§-q'«ù/Ú/ø•¯½+—>ù·fà®®yr'®…sÒÚnÌ)ì/ÏŸçl$ÅVy„e'ô.Ý\ðïÑÆ¿twÁ&ˆ^í¢²¯•m`¿Ô’â+n™˜+]?¹ž0]êÛnä‡FhSP#aÈ l'jSŠQÆòc^í'xb9>¾oßc‡Uk˜`×ëÕ˜è®TTBî"¶  ÏX’ l:H˜ì¸73(ÇpÒ ‹/×šŠ§ )æ×:*/0¶¤ásÎë£ÙQ^pQœŒa"Å“× ,<|-¿ÏÁ—ß ub[f,gXƒ½£¦£7‡aîµ|Œ&®-˜0y̰,¥ K }›Eå¼IQrœµ1žònåi—äGb|5Æ ÉóÅa8­(É3XV›†5ka4¢<®“n’ÇÓ¢µ_[(´J± «%›Ì蜕,‘Ì®HY°ó‘l7žgW˜PRu¿OÚjó‹6‹¨HÉÑ`—~›ØJ`ÆÂtlÇ =Î"Áô¼d1Ž"#¡Ô‹Iɤô¡ó÷Äã÷ÇÆ»¡p ¢ wC³ ÐS䋌7V™tT™(*,·RPž,žƒUBA÷ŒÏq3[ľÅø.0 §f•E^–;1‹l¹Ä.í“U†aøËþ'Ý‘S“VA¸æŒ —¦ÜZ#´üé(Ý«´&”:bU —uaýàž)«½¤¤”‰$]»Œ’?—u> ú&øPY(´T¯Õ(}½`ù¡p°f8gal²Ø¡ˆŒ„ú€EV#îó°Úî„:Õt yGkk‰üiÿwbæ†``§ܠ6‹,Džðl»å:Ë3¾#Óȶ+|Ó>[;W¿íòžáø =G8`Õr ×q—»¡ËÁÞŒªW´ØæÐp™âõƒ5zÊëfž‚M7Ã=·±Ëx|³ïÞ–Z6dñyÔ©CÁ1 (ô#×g® ¨ã†aØŽk³†G.‹„¢´ªêÆKèZz¸‚²Œ`Iº”‚ CSRé7O“Úð˜gÑRÈMÂý³’éz`ÓsËäA䘦k†¾ëù B€ÁÀ¡\ÅÑÙ5Ø>b7Zíd#Ζ~Üw,/2p2öÏ]F`‚¿Ú³ ƒyÌ„í0Ó·bß↿d’=BÿvÚ¯›gýš¸¶X¥ì%Y‰áë½ãÆ¥4àý»Ž ªÉpœÀŠó},,!„åv-·G ¦m¾fÅm©Šž /–ã™vD]n2G€‹çb ‡Å¶r+°—xæ1V^Û~gúí½á/t˜Ü€Í °fâ0´`m÷0 ]{‰gš¶ùÏl˜gåNíÈ ƒ@0aÌ´LÀ u"×0|²°• ¸ˆ;¢[.c£y²' ˜ˆÊZæ~ຎ)Y<¿ÉnhÁѺÂ2®*ž²Dõ?5¢ttsœŠÖ{jO¡vŒîö¼¿tBF¡pc)ÏÔ>©d@–µ¼àhL=*û7å´žÒs›QY#Ro7æsQg£þ…o˜•“‹6úô¾\Ú[…µ]<Çê_­³£ÁåÿS¬—ÚMóyƒ›L:›{ò,ž5ªl¿Ý´E½Ë—ÛnZÛZ-H»¼1$;¹8Úð°îY櫾–9ÞÔÉ£wœ>BÊ %™¸yñ :GÅ ðŠÞÑõpSµÎ•Á`UHJ¢SX›=±ÏI½ŠoâA­:Ëuø›á™œ*‰³TYœÇ'K‰ƒ*.R§êNÜà{8u3)Ws7åTW¥m³älQõ÷&9XîøJwNšö‹1æk©†ðé„Ü/¸áMvøEÜ.ú•Á}hY«·¶ìu®9'g˜SzáMäßM=õÍg#ø÷+¸ß½¦S™€:ye‰SÚ#°õO5!¤F|U…CTáŠ_UáH®×è:ÉÅ/>GªôW ¾O ~Ò¨_¥ò:/u¹ça=¿ªàõÂÚ¡¥Pqß ”ªÚ›¤!·(þª!_5äW§!?¦ŸÆ«¢ÿú}›¡^Ó¯4ü¥q))ó4áx sç\!hø-.xÕð< ß”J: Y%û0æÐ)ê9tºÖõ«zUïýê½ósËý­Z×?uYê~Õ]'º×8(…:©vC ]ΈWÿT_š¤÷†|¦Ïzâié™L.“Ôô\fxÃ@͹OLY¦ r©DU­4¼S7IÈÄ~ù“ôºóR§õJµÒ‹a¬4kç,Aáîi~#®Ui)Zéã^PÊUJ žÝ:‹Š ðîzå´lç;Ò¢-Ë¡ qHè»Õ9Üc ”îOIáQòúyÁº òˆ, IBK–*¶`b|‹á-jÏ’RÖq¹}xR‡Öv&â®>ã¶ïk6*~äåD+§QRoG*ùSzš‘x’K‰Ô§kIšç_š bKBx<&—9ѽ–í'ȶ3, WŸìï$“6%rä†+ôd&¾"ƒÔüm‰¤š5ÄÊÿ-°Râ&Þ=AøhŒ¡œh¬C¨O§²|6ORQL\ã“R¦Á+/£lܽÇ×î¿-è÷i‰m¨/=Øêh“þ˜¤­–XxRJZ“б‚¡Mçg1Ž~‡e‡ø.ý÷Fý¾%fµÎøà`L'©ã0löW¿CL;jçr¯f…új]’×Ýâ§÷QèRù ]1©Ù€a(Ù ëÏ»ìX¶A\šœÌò¯7‰;çŸ×|”î9¤UOä².j;¥HÐ2EKŒ½¶ãLÐLÕÙCmøh‘¤Õ)zKôyK:ÎUm“.lðvªR!)‰©´ñ½–ˆ‰764Hí¾|]ÔgYl€2žò)×SüC(ž½L€µ2Z-0Ý_ÎFÖJC[Ûó«U}egq×–F6X†˜Â´îYÛÚõÕ2ù¶¸êåq, OÖ ™©³ùYÁ©G÷lä~ZGI.9RGñ¼:_Ç5Û4<¾TŠpÛˆF)„Šf|‚¼O˼=ÿ×+¨ûe[\Ïuˆ *õå!ÅÇ{Ë¥ì06q¨ U-߬Wm¡©ªiš–û.²´Cñ]Jf-—V’VÂ>^ÔiÜKq˜a&ËI§|z·¥7¬€Ìp×?Þê¦w3ò¶»jÛ?5‡÷M-›Ë£1åþ[­WB×zú¯¢7DôTš&îSF>Ô‘XVÆ_;ûÚ]§ÖÎ÷&ñÊ•/d¡r—T¯>F‹âneGµlsïpÿ/‘u ÿ˜w„5ØEñiQ¼ŸÍ_¹›ºÅEõ‡f>ëÛç÷µyöð߃}Ùºñaä>í<×i Ÿ´Êy¦¼ ­×Œ‡Õö{à˜D´QyYÜ«‰ûIgyU®7¿C?­^Ö^•y*Ëåû¯×p,ó@ÚYéÔ•.Äõ,V¨WgZwV¤N¨¾¹+=ºë^Ù~$SäïÔ¤´»Fu8téöŠc•½‰ÓÄ)É2÷¤Íž*ë”qĤÄàòÍëkV)°wm†wm“2Ç7³ÀÙŠ8عTDŽaPô!‚øÓ²€ƒS¸ÍŒ_Uî•ûë' Z|?ü¼ü UìGà‘rƒ+Ú¦ÿuÕè˜f"E·;ç{RcûÎrŽ7+7¯èªñL'ËÉqNä§öo¯-¤Mú~:ÌC”ñ¤HÔ¶ºÖz+;F+×ÁìW'í_ICÔ`)|/0aºaì"Š}jEóÝ0pmá þ²%Ð^UäªÈÝÒ,o¿R¸ï¾B½.q"íÛüZiN9:ÉõWµ¾~œú¿mÃ[<Ý—Ì\Ld…w3˜Ûˆ‹²N1UæJdX¡µëÒÇ9^±Š™ãq&íÛ³褳4¹( 6Ù$}êÓ—ù¢`úÄ@=›ñT]#=4ÝÔ?±ù\ÿ0‘£´7)ãýdò”Áé鲺ŠóZŽÈäâo ìõz¡à™VÕüídrss3æùíLqœW“<[ ÚGõ\êsŒÍ±Õ`0ÊùþÅ7/Þü?9¶'k )|)Vƒ0Ïxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@ÁBONjޫ“ ùx\ï'Xôv²…©«ù>µÐ¶¹“;–cé‰%õoëû—1îc¯X,ìµ^’?Æ!äYúÌõ{Å) þ00ËñŠ;¸UåüIkï6ÇÆì“ë8eŽ©3š%ZÕŸbv•´O¬/ÒZÎàéêç²Î)¡ ¨c@Þvpsxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@AQOÇ‹Þä Ve–?òì=MùÔ9•nþTÀàéêç²Î)¡ Ê} ´déL¯xœí=isã6²ßçW`•ª¬ýÖ–x3¶«&3›ÝTå˜d¼µo?mhñ EjIÊÇþú× €‡›¢lٚĩ©X¢ ÑºÆÙŸ>þòáò_ŸþJ¦Õ,%ŸþñÝ?| £ÓÉäŸö‡ÉäãåGò¿¿üéGbŽ rYЬLª$Ïh:™üõçM«jþv2¹¹¹ßØã¼¸š\þ6¹Å¾Ll¬?žV–c^ñÑÅ›39àí,ÍÊó ݘaªÖò]A9ü™‰Š|÷Tüg‘\Ÿ>äY%²êôòn.F„©oç£JÜVªñ;6¥E)ªó\~Œ&ÐI•T©¸øõçόV•(>Ww© RZ–ä7‹BdLœMÔkoÎÒ$ûB¦…ˆÏGÿ©Æ¬,G¤éù¨ÄfåTˆjD*^Š/à( r”ó;øÃ“kÂpˆs|. xD—üˆÃèq’Œ‹Û±šûO4ÉÈ'zÑ òí,á<¯Þ=ÔZ>ϯEqˆÝ‹šÝ/úáÖ]MQЂMït7¯¿oÝͲ¼¢•ງ÷iªP-Jìð˜?:=%tï’èŽ|Ìoï®D|ŒÍ±ENOë—å»U>WZÄŽÔèÀ.„t—‹ÙŒw#‰rÕ7óEtŠD+GŸQš0‚Tªi}cZλ•—ó¦9o_ÿ~‘1dgÕ„èi,¬à‘|4Z†T?ëåAì´é¼½êxuúšûÆ7oÎæ¿‰y!J|@ª© ×I¹ )¡ó¹  ŒL<&¥ÌóÞò†4Ó–½®@(‰ø )LRç§¼ãñQp6™£hѦ¡á™‰Y$ .¾ ¿]˜ kiB8kI!ƒÃxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@ÁTONj޷— ¹š\/.îp½–¤)öm’©·—¢ë†]±0³ý¿Ž(¶ ä[~¾—›öÃüèôÈ~÷ ‘í„J$ Ù›Äükœšf*ÆÓ˜àeÀvpþVuŽOÆy¸¬|O=lñßÃ`-ÄÈÃ^Â^—´ÁÓÕÏeSB—:é‚ „ýxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@Áùž.Ž!½w/îå:ä Àò€ÿíŸ×ºB.:÷û¨Z«¾R–¢Û‰î¡dU ƒœÖ‡ïÈìwû¸®IUoG}²s“ÈrƒòŽÝ]þJë  ^ToV‘ynzfC®p¿ó«Â“ÒnK|OÛÀÁžëa˜Õg¥&a¢º#a½Æ>þ£ù1·•Žum»ß]ó !sö—ߊs–GâÊEà h©?Ê}#Ù†÷b‹’Щ ž®~.뜚?1Xô‚#„Jxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@Áž.Ž!½w/Øúv9òQ~—OWô"O.«¾–—‚\v†ù90.òðP¼¨ü±Á‰KK\°õú)®›¯?æÏû’–n’ÿ3{“\mwÍÂ_¾,§ý8 u†}ÊïY÷ ÿmÜLºk_ƒk÷·lß5?¯Ü•'Þ~C¡_ÜPy Ó¶Šc^;ÊIÉ”¼´+”ÑOÒŠyÈá¯ËxyÁYaÝ©¯îÏ»1wFb[øœ¥gxYßm8–¼¢v÷zËg,Óÿ…ïc¼+sï‡ÞL <]ý\Ö9%4Ö#i˜‚*Žxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@AOÇ‹Þä ®­AÌÿONYtåËÁô^æ#çOÌ`ìžÁ«9练 [À!vK†ôÝܬ¯ |êeðtõsYç”Ðç‘&Ï !8.!‚ %„ÿxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@Á…ž.Ž!½W/êó7ŠýØŸ8)i³g“oPç¤^¥q-ZÙ÷5&‡Äµ|ñ1¼™c–ßÀ)÷ô¹ýÉíw«ËÎí¼ýô½'K1oμ ¯ˆ +r{8–[?SÑz‘ôkEbÏAæÜŽ‹“_;0Z‹4×JF?‰guŸœ`îü^Ö8eƒ›í¼ÙŠóJ6ô^dñ¤íC¯bñ›‰®¿'Ó6•‰ûnz5þLýÉE‘¢ή?9èXOW?—uN MóT`P‚$„üxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@Áyž.Ž!½O/®åkd9öQ~¶ ©ÙÁGSVÏ ªÅ¢›žéù„ä¼;p§A£ÉÉÐ×,ø^·*{µ™ËçÌMþsþfÙ:Ç·ù‡|ï\üa2¡“1§Àsï–Ûì7”Úeeb•¹ÈõKï„:«Ï†ŠÏaêœá¼¯VgíX ÃÁ"Þ’ÙusõÇ­ŠÏn<d:±¨OpZbƒ’•…kLÄQ©í3÷_Ötý[õòÐ¥ ž®~.뜚oÆ[\#ƒ<Ôxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@Á2ONjޫ“ ¹ x\ï¯Z¡þJDfÏV™ê޲ GŽåý ˜¥øþ³'“rÆûF±`õàõq?Ø–Y4pϰUc:òi9“»BŃ[*£Î§.ÛhÚX³}ÿáY'Î-YÙ›~K*x»ÂN9áÝZÕìz;®«ò-áÉkSte±µ‰º€ÁÓÕÏeSB˜F8d"ƒLÛxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@ÁZONjޫçùš.–÷p¹¬ox¬å«åYê+ÌãZxŒËåüÅU\›9¥wiì»}÷Ï~c™Æ²~›GÍû\ä>8õrÆvÖD»j?ÑpbsåÏ´{;ã*ó?U9}þª'ÿzÌå,-_Lò8ñ]·H*ÓëɃÌ{•—odÇ|?Áþ€ýØ{IÖÅšïöÂàéêç²Î)¡ ‹±O~ ’»Æ’‚0(„d%xœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@Áãž.Ž!½W/Úú99Šý8ÿÒI÷üDwç=Ú ò:T0­IäÜÁ¤i ²¡IÜÜÑ[€+ùJF’áô§CÕ‚þÆ'çþ9?Çxzñê°ÂûNâïØÝÑÍzMãÑœ…Å:šïý)¼¯ 8Õ€¿¢5îÌ»GôS ŒqU´&ÈIê>¦Øl½ò³ŸóŸEóÏrÝ‘3ÊpiêÖ)³_|˜-<Õ4M"}ã÷×6Ó. ­}äøJ'Nî!óõP¶%¡¾Û®wØZŠ n·¦NëGÿöŠo#AÞgðtõsYç”ÐkÚoWq'ƒfçxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@ÁNONj޻— ¹´<ôßxi5 · ÷F›ÍÓ“ÆnÙpQIPîtµ«‚ņ£ö:‡7è쿦ñx­¡oEcö!þ9^ŒÚo =÷èöqêoð7\sHÂiI:£HW÷‚Jytj ¸¼‘ÑW#'GGCGÇ£¡¯åFPâÇ´I'?ÜËî\¾Ûþùêw<Ó…Šm7<¶­±¸ÿºÄ”£‚Ë~ZØtÇQü~DØJþ ‡ä¯ {À>!LxÇŸ6ßgé6f˜=Sº'<‘UŽ©rºù5N—‰¬j§Ï›øZÇE$ñ“„þ¹üK;_U.·y“¹ZyÍÔëûÎfVØ2iÓ>GþòÖ$`«Ý’¤ô¿óCÈä~‹‡kþ»ÿ½Ç_Õq­Æo ÿ<]ý\Ö9%4¢É{g CîÄC’0+‚¤b]xœí½isÇÕ(üÝ¿b¦ÞDJQdOÏÒÓ²¬*ÇË×µÙR’÷~JõJN bà@óëï9ݳ‚ APfReÀL/§OŸ}yó?ßþý›ÿ÷ÝwÁåüj¼ûÇ_~üá›àäÕùù¿¢oÎÏ¿ýðmðÿÿõÃO?á >”bZå󼘊Éùùw; N.çóÙëóóëëë³ëè¬(/Î?ürþ Ç ñåúÏWóÞ›gz®OÞ~ñÆMøéj2­¾Z1LÈ9÷o»gÐðÏ•™‹Ÿ}e~[ä¿:ù¦˜ÎÍtþêÃÍÌœÊúêdn>ÍýË_ªKQVfþÕ?>|ÿ*;9‡Aæù|bÞþüÍ»÷s1Ï«y®Ää/Å§à›‰¨ªàcMi¦Ê¼9÷~ñf’O .Kc¿:ùm~¦ªê$(Íä«“j~31Õ¥1ó“` ¨çÅpžózѲÐ7ðÎ? §ø ¿7%|%_üˆÓÔóäSm>ùÝÿ$£‚&*„Pxœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@Á=ž.Ž!½W/Ùf9Šù8ßóùu>‘‘MlÚ«#–mÔ.OR~á·%@§DÕÉ#Ës‹xØ{‘íWÆ-àûóü\ãéøpÙä+óX£oOÒ¹Cí?œÇ0k¼Ì ‘Ër}QÞ*“¬ê!—]WñÙMþ©¼G¾î ÜÛhÞU´”Ë,:Èh»çQGÑEIiæWnúÏ$Å\ ö<ìéüsD'nÞñ}¥ú މÖ)?èxº¸`U×õ°y¬ÿ'®ëËWW߯c;èOW?—uN M8¯kÑ‚)„ xœë ðsçå’âb``àõôp Ò ÌÁ$å?ÿOR,ÅNž!@PÑÒäsxD30ðaÆ©Ú|Ò@Á¥ž.Ž!½W/íäcti}È?wmø„ ýÎ¥‡oE\~¨`ðVŒâ 7:aõ/¥Èøhý3Ÿ´¥¯$[{ãû$½ ¿Bî-þ}F®,cw„Z‘ó™ø“[WÌžÄ&Rèf*nÀóðî«çL«..˜pˆóé– S¬Ò%Æì=Ž™^o8üö‘ÕÑŒ€C,Ñ&q'ýgÍx(Á¨îc?5XKÎ~ã§µ?Üï0n ÔXdÃöb%ÐÁ ž®~.뜚†Ç_¤òiðN\ÀŠÄÛàW¹ÖÅüËûÞvßMù17×õ(~w¯¿\{¨ËÜ”¢T—7õ0m>¯=‚˜N ´Ñõ_O&Ô¦Â1Nøç^½ þ×Laxx67Á·Å§› 3ÌËÎÂ3¼zÕ<ìž3ÿUØ?; Lô¿®WW¢¼9q ÷«úÃl!_:]º:yûn!'¹ ¾_Lâhå7÷‡Æ_ö^©ò @_xü½ÿcõS³²x…؀ÖÅÜ(Üâç=Ïw iß®%¨¡4Ü—ß®CÓ“! êïÖ@r¶¾¯z¾õƒ…~ñÅ›ÙÛ¯ƒÙ¤˜Ï…œ¸³ÒTðc>½DPÁ?ðmÕÍH˜0Y¸—Î‚à‹ ‚þÖbÂüAÃÏê?¥9;;Cx¼9Ÿ ¦o¦íÙÿ–ù\Àö‹‹R\¶(ƒ[ã¿nv=¨ÞäD|…ÿɯ.‚ªTw-úßÿÎýüÿþ7Ì<»<›M/N`ï%,î«r,*s%fpð·_mß„N1JÖߌHK³lx*˜Š+ ;cCåzô¼¥ƒ»HÉJÀBÿ޴Іž,Ôײ’®æïšó÷—;px÷ÕɇKˆú‘@ŠÊx(ºcpÿµ:>À˜Bþf¬zR©:N 9ÍÂÓ0f§!I w/7^^îâèÊ­eþeÅÊJqíð¹^ÐíeÐä4= );Bw¼Žˆù»P£Ì•¹’Î]!öÂoeÿÞ¦™æÆT31…áó%…}Õ‡: PŽTÞ&Søüù\ãÊÁ0w>7W¯K•‘aViÂâP)ž…)•"$eõ"Ú·~€·~4vŽû2 Í/.áÓÇú#Ý“·@ÄRò¥ŸùÖÛ¿ _€!ÅÕÉÛ–Eœ˜Éòù¬º÷k¬üÖ›ŽV¾¸o¦¯?åU͈êOî?ÿjnðÃi°Í˰ՅÁ/Ç#e²$¶ÏÕiD2É D‡,É”Øê0º•¸,JÖ™ qJ€Tf«•ojoÎ%€ü%Ê^Õ<Ù¿Ò׎pðÂÃÆ¸ÀL"Ràf†3)€§3kÃÌ€¾¤b­„Þ+.ŒÏåìy÷éyJÌç¦|†ÓN‘ê‹CìÆ\êa6b‹PvKj¹°1ʇD%”é$„½nw¡>¹>ˆš<¾úÊÌÿñÛ5ÅmLWÍbk™Rigg@õˆŠ Qœ«ó8¼«E>__×¢: dQL‚b:¹yï^ÀØ’S„E }ü¹ŽŒúЬiç•ߪ3àÓ™sá1¢‰‰ñÿZ™½F¬1—3˜¾Ÿ—ùôbK‹ÆÉldéöª(É´$‘ÂD,5*f*É80Ÿ-ƒaî€Às!ðŒ·Ü¦> AߊÊèïóÉd#H«"ʘ"a˜¡L"¸¸$Ëhn'_݉5æÚ$jº¼™‹1hè”Y ÜBÆ‹$h©QÈâÌ*ïõf¬1×þ ñ]Y(;mŽ8Ô$%„ UF$bŠ+kJ5èœÏö˜1>׎ž•Ù†>ëI“„Q4ãè,‹09#b¥Eʹݎ=ßåoŸkÇÝ{^cô¦ž%1jÉ£Yj,\]+­H2C"šš½’Ê5ærPøK¹¨.·„ƒÄw7»€ŒqÂx˜1ÐjSàßB«ŒQsJ˜Ù«q¹v†@ƒ Ù€žL®(Be©)Û⟌Â0${½kÌ5æe¼+Lsû G?Æ‹B’Z®£XG)áLdF%œ$&‘IÈ÷ ±5æ:0ÄÚxØÍ#3”0Ö„¢I‚§.SŵÑa¯Lx¹vdÂU+²oæÐç$ä$‚Û/‰¡K_b•"RY–FÙ§ñÇ7Pl dì3¸Ù$#‰‘!ÐÀ]¢ úqBã4M²ˆ¿°?¾fKÒÄn˜FàPওi„a¯”›4ÔQ :F²ß<é5æÚÑ,ú1¯ò ÃÌÃã8 “4%<ÒQj­"6‰€ †d¿†áñ¹F< ‹ öŠ˜Óʈí7;yf¢4Ó¹f“TÁ ¤ ›H‚uœ¡â(fÒX“ÄÀGÌ® ´·/ÏRÁ™·ý¯vÀÚ3þa-{X—µvøˆ="S!alFt ’]– À“TfÙk¦úsù·Ü&—Žb'<œø6 ¸I”Œ…È@_Рëó(‹­NaO)¡|Ëtº;nFçÚ_ˆÉf~Q âZ«ˆ§2ΔÞjEâ0cql·‹,yî·|ÆŽúsC×{ünÔL4Ñ"ÕT›8a˜èŠyf0ÀW$ÛÉ!”/Cd|á˜EØÞ´{­ wßOwÑFaHA “gœG2†ÿ1% 0ð0¦dKç 0]ø†+\…@[Ã_ ŽLÆA=I¡ã0Mh’&Ö’$ öê/|èÕÙÜ™@Ë-‹“ÄÀAÄX‹D,¥˜{¼ø3¾ðÒˆ‰#Kù$ŸßÜÍãψÿv¯ìÚz™ŽÛ´E3ÇkÖE¦i¬©•€{A3Càšd"SLÚq4¨z—Ž4¾o×Ê‹é7—bz1nòzˆóéU*õå—Ë•ŽŸTš† ËL€~¤×°SEYj–&‘ÞŽŸ›éâ*8˜—otˆ¸ßW"÷¾CœÊRÙÇUEaשüacÒiJNm&@•Eá9ŒÂ-]Ô‡N3ß–ì1ÞÁùÍûBFý…3fþãHB–ÆFÇ4²‚P›F6Íâ,KB£¢'’¹3¾ ©7 þ¬bOÀ=­ÙÎÏ¿2×i.X·uÝÚO@RyL„áT3¢,‹b•¥¡UT'Ûæ:Ö°¿os¿ î¶æ>n]¦fÓ³ßõ…s¶«ª™H“Ÿk÷ËH]Ó}ÑÆ|Ú}ñÕCÌ(HF%Ï”•<,J#PÌ¥C&‰ •NÑ%¬ÿRøŒãuKKÆ ‘¢˜¢’FYÅ„§@f"·¬ºwüˆ5ºë‹Ú!üŒZ[£š©e˜ÄÖXIbƒµx-Ñ23Ôl%vh~1¾ äM‘ˆµÊ0¯É0jVñçߺ±×ÏvLa±™T!7 dsQEF+kxÈc¾›GøpY¶£»@Ø÷Kí.­™3g3Mxçob'˜è _P-bŰpâÓ€ïø.¾u‚5âbö ab¤Œ"*bÎl‚¾Ê,b,eZ&!Iä–jðÁ!<º „ð°æÏ¡ Œ§Dåg<Œ8¥6‰ÒX' W!¨y';âu(5v|'j’ÏpEùyÊA]þÖ˜LZC£ŒˆŒ…Ħ*Ýí’¯Ú'êÀ +{m$jè€Y¨ ½<Õ…1ÇŠJù>¯_ÿ€ç.œzüBÔ]€‡PgêssQ”÷XáV¶ 0\§J1ΨVaB3›ÐTƒÀÆÒTlÙ2à A)£³Ùäæ[cÅbÒÙqóéÅ_á*–„© ìÐ8?h$XÂÕ@³8õËÝt̃¶ŒnÄcåwMãŸ*•q_6øO]€BhÏó¦Õß›N¨‹PÔÏþ¹Evä¦6nަ XA4±ß8è  ÖáÜÍûúàìjV®5a¨ŠÒPY¥­Nt†9»Ó½#A˜ ·TeéÝÀ*˜®*‹„½ÃÚH{nÈ)ˆ(¤6*`9iœÆqÈdÆ2ì•“lÇ|¶.ر ÂŽnmfm‚ÚºñJ ¨1u}AD˜2 ”Dð}¦¹ÜÎtµCýŠmÒ­F·€€éåY­­5f"ÎH˜$OLÊb R"’”Cì–byÇ7àDrL¸~\yœ%eÔÀ±%@Ê Ç:î¡a™6ñ¶‚áA3’Ç6à Ýäl?.´mš1@„@C“„§ðÃHÚÐf°âãÇëñ 8h·iß îĈP 4c‚j¬2 U‰4À%·÷ÃÔ9¼Ûø1¶Wó÷¿•Š󩹓­WsQÎ[ý²ÿ‹™ê•ßÏðïuCç)‘LKPˆ¹Ñi(´ä)¥*¦,Ú²ëàCª—·ÃÇ6ÐÅÅÿ0ÍRÿ·‰)Ú%J¿v4×XItP(Ž\$†UòŒbÛÁÄâ¢åñh¢Ë°_xÞBô]/ûàp 4RRGÇ`±P4J”Q&V6: à2hÇŽ%&Ve!ì–Zñàiã=â8ƒ-J¦¤Ôî®I(5\j.Ž7¦{|á˜^ Ä|/aݵÍpVšùQ#!•:I¨EœÁ…R’Æ2 ISÊŽ¨çÎ2PÇFj O %&½ éÕQ+¼/&I´4Q˜è8´&#–r)²,$$‹AÛTµ÷¥_Ugb®ã&`KYæÚÔßÝyüEÙ4|w¹,m÷wã$¿u_|k*Uæ3ïïÝÚçæ©Ó\ž…wìS«×|~%. Fv¶ào»>]Ów×8|õoç]ËðÙÛ…›ÊuE? `@µ Ÿ×ùü2˜_X <šk7€à\ÛÄ‚E‰Måï¯a¾{K‘yÀG×$½]DˆyPL•9 > ׉«s‹êùº†ábÿ™ähæõæ¦Ùn®-›cí2ã†Í¦všj«æM;̸i3¤zªs‡+ps縉ÖÝ7Å"PbhcA™€ :é‚ÂM[ÙÓC àêVÊK÷¯”Sª‘pãÖEƒ­\†w%ë´á:MÛfÜÎõƒÄ o~÷+иÐS‹Á׸}|Эye&6È+¤²ó²˜ ™ü˜‹­ô6ª&¦z«I6+uü_À€+q(çswÝdúPpTó¡›ýp$Û9Pò©˜›*x1…/¼ûå™G6@`@Ýâ¢G¬Í'DZ 4\÷d:¯*½ª»¡"¶ çÌý¡›{ìÙ²ÅD[õòl¨bpnã‰(‘s០/š~V‘½Œ_ú³éÎÇöí±§Sb§8ARt n_PñYv‹ínÞâ¥]Ö~OÍ®¥P¿Ê q´À»’Oáâü ‚΢4 +Ç·”˜¹&øÝÏóׯ¿Ÿˆù7bv|7©Ìi ¬z@·Õ+ˆ‹•â2œÄydÙšëúzáFÆçp90[ 7wWLiše·0ëÌ5uô;ð%‰Ž¾O‹ò ÄŒÊNëGÜñçp&Eñ«ãÒôIáv”a«¾2~/wýEåDHGïÿ·ÔýÇ e,·ó°ZÈÿ´*¤=ë‚y>Ÿ€P@U0P @sO6Wa’ËR”7:@–ú²ü 7ê0ÎV]:¯f °ùŸÙÃk’×ñVU'§žÝ²txÚêí²w‘Ü}›žÁàžvWõ~ØûËœ­d\¨Šú¸UæÈûè!ö—ykgf8 Þ-ÐÝׯÔ­ðŒÿ ¡Š,pCª ŒfÕ& ­M"CÓÈ;–Y«Q˜‹åyzï¼~=ëï^¼<‘dBóH.9•«Ô¦±ö£-cœ2‘.M$´~·õ\6ÒÂê$Í2LñŽaÒ( uJiš„‘ti._Ñji:3Wg/zùjâñ©“m^‚x¡J"Ià\_ßÖcm).P):Ôû‰|ß¾¡ mûÆþyj®áïà«à æL6KûÕÜ\ƒøuò~~sŽ¿¼ 6^8ú蕾a )ž…)•"$ew¬ê…jOé¶"ý„¥ŽNƒ¥o]Ù¨—_6ʾûçÍÿ¼z4Ð^½BªFÙ¡Î_3Ën”Q®µg\ÞQ–¶Ûí…?µµ6?u²Ä4¸*tno<…) æH3jã¬àq[wh×áìâlÃuûµ¹5ß2{)òþb€·•+ß0É‘pNNÞþñ·E1ÿò'#P6sPyoJÜvè©Q»ƒãö›ÙÝ ô"< ¢Ó > ’Ó€=Øš6V¶_ô×>P˜ùÅË¿p]ƒÉYÒÿÆÝ'vFûb:†³Aýý%}û“Ëö¾›.®à8QÇ ¾-ÔŸ=Ûä½ ÆÓç]i£tk{øÉ­oá¾Ì —p>HFŸi\"z¼A{+þ£—~}5A;9þ†ÿ»•ÍŽfÙö×v˜î£¾õ¬Ëà˜´ÀU/¿~=Ltæån½çÝ‚[ks4­‡÷(û·¶…äŠoOÞΚýú¶®|(Ÿ^ÂÍî=T3­n-K&qeÃsÖ…:q|ÿ—†»‚6d.†h;B:+*¯8;²vPqé MËhX*¶4ÖÌ$!2R— EQ$ˆ]œÊÛ©ÈÛš…ŒF7¡‘&IâÔS[3­³”ëÄ®ÈMmíô€×KT57²(‘5H6~¯uS­A‚è`ʯNÈ HÄ,Æ 8XÁ}žaØ;~&¾ˆƒó ‹o™«;{¼æšZÅ#Œ§˜="t{ƒÿ$5©ViÝå¨Ò«öÍ9LöÇ©¬f­£ªÕ•ÛÃï÷iŸ™³@ ÑJ_®<1hr¤ü¯)‹\—Ûž·8šNë·èSjWoëo ä«|ª& <·zŸ¨k½ðÔWL^6Û>Ä&)OÂ,á–Æ‘ˆ5ܲ`Ï2‰YH¢v“ïê;yß9®º·KçxádŸûϱG<´ûïäí_ ØÙÈ·¾AG\¹@žé#jСÖ|±>žŸ&»%˜¼~}ë«`ÈgÜ@ êÝþ²ÝùͰâÎH´Õx7®{Æ÷ëG¤n—Áß§ÁÝLñ>€¸!a “·«6{<{ý؛Ŷâí±¯ÜàË;w}ûƒÈæÓl’«|¾ ¢¥h[V˽ÑgQ"²ŒLAmî†ï,ø¼8ùtâç·Ï¢yØ}Û<~sòòlŰ«¸3Q'×èbvª`ÿ¤Ì_ƽ„ÆïKñÑt[)@á«ÉíYðƒ tÞ¯®BK *µ –÷1/&¨ŸÂÁ©¢„ŸgÅÔqÅ+S¡Aš•¸:ÝØ´‘‹ ô•ÎóàÅoßâÇ—Þ<«D@õ%¯ÜHn†ùe±¸¸˜çÛçaôe¼©íî >uSÏÁ±QîðÃY?æâWãœHÀë/óY3ù„kž¿‚§×ºhS%l6žÅ"T©ŽbI-6«&R ¢ÊtÎÌ6l¼!˜;ób Ò V0dßüe.|+Zz]¾êSËîæ÷3‡û©ó{3÷È„d¶s4o†w÷X@Íqwãsø#wé ‡ÞzÔŽè“;N¾ŽSëS&¯JhÈÆ+5žZ è73|yrÓAÎÑY ›™@1@ßð¥˜ÿÉs¤üÀ‡K í@çëÀ›³F÷n-œ>•9¨ Âôî÷Æ_Oª¢SÂ:h üs…‹õÂÓY©5Þ¡#Ì'-ÄðýÎ(ЧÍæ7 ,þE‚Mqåƒnü/µ#'X` aДíò±.ÚæºÌÒ¢XÔ/×16ääÔÍæÌ„üK4 ]퇠CÛ…PnW$o“¼ífØ,o "´a\ÝæÔg4xö8©åú‘±7 7ÞfP?^“…+QþŠê4Zð놄t¤¨~°285Ff.‘ 4"\Љ ^¬»4@ÐÎA®µt?æËCP˜ÍC·¹6cTì8¯Í€°þÎnç©[0mÿâïšio•ÔñÌ´ˆiërÇI}jõòwFwêàøÌž°Üe~¨zÜæ‡MSОÍ2?ŒGŠ'-i‚×v!&M=Æ6ò­-‚u;¯þV”¦:©ÁG·ø^Ÿú+wëƒë|2AoÒR^_u|=½d‡tŽÁ†d8ùeZ;žêŸ›üªû£þ‹ljã|T—Åb¢ë<—†26éN°«ÝRH0« Z¨ËCPË­rf6¿ûã‘«Çy÷1˜öñÜV ²Ýʯš[õ$W?êOrWuúù“\übh}’{¸j¨þQE7­Ãá‡õ"îÑ!ÚZçÇâ|pÁ–Œü²ÂC˜4öQžb«öïRÙ‹|µ¹D2n99N‰Ä)`‡I®½Þw@»Æ­r  ãkªƒȇQŽÇ§9Rtìíüw‡•Ÿ›Žú87ì¡mØãÖº£¾ZïÌNÎç¦"+Œ²•™if¦‡5gÃB•Ñ.IM¥[US^|ðÖfõ;õ–ðÉÄLšXæ.޽« óÓªÒ*ý}ÞUg?ÎJ×meõrlY\¥êÒçÐ÷j«ÌDµü–Àº¾t{õO‹é+ÌrpTæwo;óæwp|ž£¾ƒ~ëÏ×p¹ˆ\Á¢2­ûoauë¶¹' 5âõèû·—oÑAÂ6¶pßlŽñã±!ljñm¸Ê3¶ßYD¬Ó´Klÿ¸íý8Q¤ïØKî½¾¾h˜›©Ë=ìë.çV8Vù׈e·kA·‹§‚n\³csòò0¤ ÉÄ1âª(¡ˆôY¥ ôdf«À‘cÈ6¾ëZ¨ íöÞ¢-wEÄ`Ï9¬u¬ë„ý¤°"„ª®ØZíçm‹µ¤sööô _¹zÛD]e©Idfu,Skc“,6Ì`»,² ß]ÇílêÍt$ ´V1–PHXL¬¶*ŽB.2®¶bðÇ€áu`ÂJÒ?˜¦,øn²A¯EÈÆâAñø©òKEþ×Zw1ܼw@ô÷È[hÛƒnœÃ_×z÷ óWÁ¬õ–¼9wÿÈéåS›Ÿ8Qt±xMÉa ÊsR((NÚ(1¯/K/G”«_ƒËÜ…âLšÆu•J,,?-ºÂ¬ýKRWÑÄëæŠ!£IbP ¹˜Žþ<ºìjá*kÖ´ð+Í|QNë,‚KLНê:Ï8ß¼“¼0åÞ¤VQ=]>÷^g÷çÓy•;xûjÐíp £z¦š»Ð'tœ^‚ OƒWáÁü’Œ> ¾_”8ÖiÛàbà@U.LçÝ-££ªöéÛãŸÂVŠåBÃÈlüCuý)ã+È›¦Â£×ØåÂ}¨š<kÿõþ:°®Ýl©žd‰ËÃq}}Èæ1ß_¢òƒùtkHl¸‹×‰Ïy›xs-z ™ÛAƒÂ ¤qÞØ”åq–¶ÃðÖ¶¯ï‡bbbºo,ó¤nÈÕb2Ï±Ž«Æ“%gœ¿lÑÛÃÌÕxd¹S9nÝ(D·»Þ•ÅÇ\{³å|]9]<¦z.@·¸®ØÂ+Nn~Esª7ƒºô´#²R‹Ò/ƒàÃâ·nù8”š ñ©¾Â“_¸"LönýÏ·vX+Š­0@ëñ¥í!œ–ošk¨ÑÚ+o†êN&Õ¿þ'Š;ÍWØgü€‚hÚ Ž¡!P6÷ <¨0¢±O±r›×} :pºqÎ͵ƒ+`r…®ìk b ›ÅÌ— k*£´Á*gŒSÞôØbµf؃@áʹÜ,V#÷Ìv,ÏÓ€´÷TÖŠùL“÷ö ž þxÙ¥,¤¨òªå»=%Iï©î1»kýªLUÙE·|"œle~[ Lðýžb‚eyÓúŒVáŽá`áŽ:*ü ŽpÞ’¼£Üµ+´ÕåOb*.LÕfvæôšé‰ ƒâ\/ëE]‹›S'V(Ä ƒl,4Q‹‰Gô¾Ì‰(àgáÈ- >ž!ˆ,žüaô×Hyû;R&GµæAº> ½$kê>o öä¦].÷¥«häêóàÅ[¯W_ó÷E…Þ¡ÓAÐÈWqBHW޼ aÝ’Q]˜ ¥J_{ªpÒeá:éTX.¢üªæ¶m±î–[a5f_ ª!¨M7¤bÁøò[$v^4Vî:&k”7qùîæÃ­‰xxÎÓ§›¯gÏ–Ë=‚|«ú¶VM,O’”‘IF–òT I±ð€‡m\\>á µ©0”Å!ŒId`3„)ÊL²T3 D“jò‹•Ånew¶šE™±†§q¨9£œSé8¦$–*#F¡Qx/V³$Âp4¤!Ó:•œÚLPnh–Š0 ŸlÊ»ìÂèLz¨ê“÷wÜØ¨Ö¼¼Ⱦm.km~8à žbhÒŠ˜­ TÍ€š;IwŒ qÍ[¾‰ÒŠW ž,ç¬Ã}»š†Þ²A÷W /Ò`/­"žÊ8S&2ÒjEâ0cql3çtú§Ù / ÷ú‹Fg–4Sì—ä zZ‹ÉnGBE¡ëÎÙ)nê³mƒ5–®SÜ…Q­Â„f6¡©Óˆ¥©P¢n ú­±¤”UÝAO‘zÎß/ô‡ß”¦gªµóÙ ×ÞZSjÑ`¾­¬«HÈS"IF#N©M¢4ÖIÂUˆuÂOÞ✥f~%…LLD´Ò$¶:"TÆŠ‚øG÷ÃQ’¥°‰˜FÀ±©ŽŒM#›fq–%¡QÑgçiDZô£¹0SýH‚O·<¦Ç£ö=!ªoéz*Ý-9\jÏ£y9Îq×âï<æ7\qJÃ$”6cW•XbÃ$N˜J³x‹ïeíÞð÷Æwjã-)ª¯Š6•G°,T‘6±å<á ºf”°„$TÇ‘þ¦Ü~½›ý%ñ¦éSpQŠÙ¥‹jMô¢+Ç€^жCS­ípð4˜¢y|¾ÔzÌugÞç"NC€r£“ˆ›$ãð? è qiËöCÆAJyL„áT3Ð̲(VYZEu²]„è1ñû îzbt$¶kDZ‚ì÷:vìBó]‹ñmë äº^â1—©ßº_Ͱ3ͦàɧý÷û~ñ‡Xí=;š~Ødçwá—Dޤ>˜¯?™ª×@èòEa€–lö„ÑÐkqU ÷c@iq!JPÁ®rå(xu ¡O¹²xó`5jÁȵgúak´çM¿ß͸swû…Œ6mé7lñÝž]³ „PS‰ß@ã'JߺðFÎ^—³à»³‹3ïxq {Û­Ç¿âìèSWgÿÞƒ9ŽAß%t7­jêâ+? Ö]”uÀ³ß_Ïà1sZô›œÿÁæ°õ (]ðB{%¼îY±Ä³?â’ûУBcý®zA7¾³a ¦€‹u¥ôêïT÷Æ+\+f´œûr/hÂ_Tf¾ÀVˆã®*Ò‡}'@ÜiÓ0™U‘4qÀVJ(͈`ÒrÍ@GÇ|ÓMÛ2‘jɘá¦PŠ„)çQL8Ñ4!ÒÍÁölÓo„¶ÑutŸ¿{Ñ®µ;ågáõYx}^Ÿ¨ðꃼžÅ×gñõY|}_?wñuÔ"¹ÜEw¿ÂëxoÝ}¯\h"¤–a[c%‰ ϵDËÌP£>Ë€Œ¦8Õvý<ýgµçlãõÿÖü÷™3tpñîÛ6beØuOC6§p?éçÒô‡^¬J"zY›ô2˜šâ*[àbºl ‡ÌÀŠ\X ¢î°1}(ÚLª›DçÍ(‰"£dòÇ<9y‹w½«w¼¨Š~RcéB´ú‰ýí¾Ü(£|IŸ1ݽ?Î1Ƹý)E}/–K\,õoCj3MxB„‰IœP”&T‹X1*£­J,ûmøWSîù><éû A%»UÈ×iÇÊG›Ýb¤Œ"*bÎl e²ˆ±”i™„$‘üs¼ûhšð|ÿô«ÔT¾îNS¨f“+ WL –JŬȸˆe”dÄ„4Œ¹ ŸltOsn©á.cãoØ0~‡ P‡+¾Ÿ—( oåøÀ¿Ž3¤?Ÿ^š2ï!ôŽñú>쭉ǼñÅ:qu¢ r¤ßµß¨SÃ&.|o$Ƚ GìÖ¹w?Ì]ÒUÓT PÿñáûWY ."‹ÁLÚ|ª& —L=5×.‰y£‹E2®S™$Œ…”Јß*âFSÿ$ÑVíÿbµ1öFá}Š›^*3Å•èßýrÅË‹²XW«bS«¦íOw.Ë%IþV4‰…u°OµÇ "Å|4e™k©›$ÈüAØÔòÐ$FÈPš,±)SI’ž©ˆÅ‰Én§Ñõpç»Ú<Ûº6˜Ø„D§Y"qj#(ÄÊŒarÈ"EãÛî˜{£O-‰,I™Ñ†kP³˜&&fŒ ø~ö7¾.ÿ·“hù|ë׿õ.Ç­ýª›+Y¬¤˜*üLEX¤‘,Ž%O• 3àúJ$Bre“ÏŸ|W––e~¦¤î+??€Ç%㽋?G𹔥>î{ÿ¡®ˆÝ/Gˆ>2,ä£êB[î_a3…Ål)ûlIåîÕymÉÆç˜O]çñ{ÿ‹IrŠí>ÖUë"O>=K#º„ºz‰x•‡&«&×é–™*Te£à›WZNyX)¡i$$‰S.C’Q'!KÂô35­½¯+娿ôrœŽôÒ¯Ë(¥g+Z)=f|þÔå'·Ù;ÈaÏŒº¦ÜäŠà}ï ºâvXxuR”§(ðèÜUæ,½Ï£4]±™E%.\[l+~ùr °ÄÅT×ú¢—Æ:¡Ë¥î{•cë._ÕxÞ´Úú[Ñ_çC“éM8Çædfœh~ŽdfÀžÉÍñg«é‘§D«3ÿÆNu³6Ò|ž…³íPFÕ¿¡¶tÌ¢Y–ÐØ¢-V)&Ó„‘‘šKI­§O6‘ö~šùÌ ì}¨H©®œp¿4ðæ1R½ùù“Óý–…@E®ÖÒW-²`@G÷Ô“ªê(ª`R`ÿ&ú¥(ç—Å…«®¾\N ä´®“êrË™)±X:Šrº4êW—9zÕuYíí@‰ÊxQ¶n¼ÏÁ÷Xi?!È•à)Ú´³O¯„_ Ì蟋_ââ»Þ’uAú›UÏß´Ï÷6Ò¹$ÝMn¼$성šÑŽXú¯r'™” …ÝoÉð/îO%]v¤VÒŒE:JD&2³˜jI¦lÉ} ´îÄo'E_¥k…àŽ»‘ÎÚe±¸¸¬kMûÄ@]‹ãG°{ÊÁrõ”¦‚°(e†Æ¡Q)f¥¢X ”o·é ´Äis¥~tŽÏ‘s´@{æÇÃ;:óÌ=<÷hˆô3ïxæòŽq  ·ããŠÚçÈ9:ÍóÐñ3UOçýü­š6¦BFðB›W/=0–#iú=®žrs¾Î2uØžu°=lÌ£x‹öÕÙˆjÿµ¸6±Üz×~lfö«®×•1<³«Ûè˜~’s× åJLž%È›µr›÷f¨‚cÃ4ëÉͱZÒ6'ÎãS|¾ÄûI<iþ]Æ6.§3týìê29Ž”u6õÜÆÁŽ\:·Ö¸mÉàòCá¼1±cTRä îÞAw(cïXHãžÝþƒ¾Š–¼PG£.Å4¯®\å¦äƒÆ‰bÞËõ“›š<  °“V]^ËûQ|º^ã–ŒU”®s¸ç ³Ä(|k’†]ôÀÖ %…{Þî1°Ãø(n1ÅvÝHv«Qgò¾aÓ4ލ µ<ÍÆb(6Š©PóÆ·[ÿÆÃ3¬òÍ ¯)˜Oêkn§-‹+/Ï”æc^,ªe`ˆkÌ1t€Hb3%¤Õ }Z¦œÛ0Sq¢ÂÈ>Ùj'®Ìèjî Zô‡Â'ynÇkn{lÌu)qüáùï×ZWË|·éäëÁût{/ H~;/WØŒ¶ëBÒkŽ]Cʵùn£‡|_æªn­pœ9v jL]K½Bîê[â‹RVuÃ]CTXß rp`m{éÞØÀ#QFºÂ:O®Mš˜äÿÅ‚+Cü°8Ë-¨]ÉÇ9½=gJ‹is*>z¡nªÒvd«§j£”àô×!£wAÑIÔÏ`WMb|NX!bZî¢\]GÖ&3|P¤oØ#~iJmaëwd8¾û-H™Øî´í\Ÿ¶ù”Ws/MŠÀj Ø6M/ν'Õb±+10é›!ÈÄúDh£„˜$$M5 ©ä‚+Nc΢Tem¼*>šïUw‰ô÷s¿A? ‰AèÓ&¡+¯ZaDœˆ`bRÙA? å-ŠoÌúÆ·òÙ±¾å³y8þ÷h5VÎq0­–Èf+ª>uNX|eÄt}Õàp8x±¨|é§Á‰_Ö•~«qRøÛª×ä1M“ÏÝ8 ꆾ¸0¾:\ÁƒŒê"=Ñ}C¶¢x˜ðDEF†•xÓˆ†šÉÐå")lÅo{{Î2^Ùøir–{Lžýô6y¢)ç»éD”M‰í¦0­3nÔÅi”[훹C¨îôdß÷ÑÊÕÔ9Ânm1%¬ ~Ô•W¯/‹ÉRœrÝK¸ÕpÎñe‘T:‡|^õÛ œ8í  À„_;Ÿða8d»Îb‡×mtQgó”H’Q,⦈ÒX' W!¶L}ªÕu(ºã¦b'÷óçç¹Ø¦:±ü!8u×C?C; ^ ¸]“îî¡¡¨t'_ÈÿÀ¯gÁ_n3Àé äcn®gE9Ê.‘÷蜶¹j=Ó É`ýÃÒäM¿¸%88ßh êŒTxVƒ¨»¶UßàÖ8o"Ê—º09Ë‹+ ÐÌZ„„RÌÍé¸x×<´%8xÒíâ±+#:°î5¯7'^Ó:ÂDfh1Q#X—ƒ‡D[Ê™@•Þ[Ø›—6mq—ì:ɤRT“Ikh”‘±ØT¥OV[Yaü®¬2°&âLèTÊ”f!È`T'<Ò1eLƱ¢’D.QèÝë×½0Ȧ‘ó½ÒpÏ‹¢¼y&¦@L;)F5ǰDI«Ká:¥º<½yáSçV¼ÖTɧîÿtA7@Ãu[{ÊbRÓYOnšº6_ ‰­‰ÿŸº¢’ï;zZÑ1àÅæs—j9,nò°WÇ)¥• ÞEýnO“jÅDB¤¢i3F2IB‰”&‹yÌëÕÔQËG!µç…GmÖÞmmìAK´}VÝóo¿–õ@•¥>«;2“(1I–Jf£ ’JPžYlhLaµ;2–®S¥gT«Íï Mu˜F,M…O•ùÜ£‹Ùlró­G±¶Ö1ˆ!ͧ[ÊÞÏý ž“úáñÑLs3Uf Á@´¡Õ s?×çóúu¯vp‰Ò¨^äÕÁò4"+Š«(Üvª»oŸ3Ȥ¨%xÑCÃZóï Á3dº @ÞF[!U&&"Zi[*c4 EUœQߌÔaã•™_:p±¬h-¨‰ñ sçæD½:=¥À´÷¦~zÍÜ»´á2ô¯ ¢îäå ¬¯ lÊä?*ëûu/38û82—ŽøšÐq˜&4IkI’…ÎjÓ[ÚöîbE2g$L’Œ'&e±Å&Iʈ!ÖF'oƪ‘ËDxûIYQF¡4¹#~ÍAc†Î2mbÖ“6-Zö7±M3ûKŽÓ$á)mÉBÚ fovÛ¶…X5ó²Ü°föå#¶Úf‘Ö*4M”´±Ê¸5œëHó(Æ¥ì"/„©B'ðâÜX €f\~Ž>m/Ü÷Ñì&üüSÒ¶fcŽ™tóGﯾý_h£yæÑ_—ìü§(s`DÛíôî§êÑ÷ââà7F¢V¿ÆŽ¨¦MT„_ÔßþYí»ÜîÌ•½Lš[f’^j7úkTïBΔñõ™\A”Öš"gAÏÞP]‹ †ÜÅo¸iÞïimMC¿gë9˜•hl~ëí/¢¹¸pévˆ%p—‰ÛúÄT•ÿ<鼘Àu«¯ÒÓtÛ¼ôt™Eù€ Lõ/óÙb>n|Ú[¶6êˆÆcŒÊäj4/¯#q}Ét0Õ¡&.|VL+çGCË诹Ï1ʧxs=ÉiSºYÛÊn>nøf–Û"óYð:©æÖrzÕ§Ý ¬§p6íÈŒ#³®À†­«íˆµv ñ´@F²õ1×u|Ng$ö×/&ù¯#ê|[à°A±ŸÄT¸@êU‡I”O]|6&u¨9(Šø²Æ½k1¼ÛH¼ÑÝÔ‹ÐE-4Q‹‰¶¸ÀqŒ‚v'±˜/C¥@ªÁ3`w |Ó5¬bÐFÖ&êÞú‘#w™¾š.&“åä[G›¿øuôC…uu$mffªë¢Uƒæ‘wÄ\t;ܤßÂY€m Úgj£¾‹m_öàiù(/¼Ò“ðt(й+ÇT_ð‚€:pÀn‹^Gÿb˵Lù}Tâ+g­A7~Žn߃›œ­›âðð_š× @æÔegëjŸ9d ŒÍYÔVÅr¬ šXž$)1"“$4&Œ,å©’¢­B›ÞM}Ï‹y¦¨†Ud¡²L^oe$%„ †‡»Y Æ÷÷ÙY ¶k Ý>õ»£‹»ûLÔ²æÀQ$¨J ËÚÙª8¼µ¤èe­ƒë8#™œ&’ˆ$1Á¤©"E¦–´Žfy_O&upϘNˆTyµV8ÔÿÇqœ«`«ì¥QkâôêвÈ0Æ ^3jDˆ—§žMza($ŒÇav8ÐÃôUØš§½ ¤ƒU;< ÏÚø¼ö̱L§#iŒÞ‹$T,–E\XEH& »p,mXHcip cª,U>S&”V%ŸcO$U¥®>ïòO0ó.,K qS–õ«¹ytcêv+wÚÆ‘¬};cö§'½ú›C®;Œb¿BÐ7«"$0÷ÆEjë©À¬Âs¯rÏDîî™'"O·&ô)†34¶á¢Ìw»uJ b!^¸LªÆÚ€‰˜mù•*ø„‚ÃÍ˹¤!ˆ>a@gœ]¡=„NG®ó)Ç]Á‚KN‡ç¯KÌ0™6©³"Ÿ†ƒû¹•ªN@ZÍhǩᆤ tÆ©N“e¦òkÿP|ã¸ÒF9ÝÓ\²'‹û®ûÖ=ØïÆÿ=ãÝém丞o÷Ý:›Üޛ߂ñÄÁ§y Æ2ÒWeB>§£?Ý›ø¸¹æîV?çl?çlo”>=Z ä¾ÚÏiÛëÖ\ÝîçÉáî:¿g.÷Ìå¶ãr•ǨåšÄÏìî™Ým‰’Gâ±ÃêÆgýÖ6âÚ>ým8…ìÙ©ÿ0rÈ÷ùT×…¶ͱøIõÛB”ØÎîdSÊfxM˜:<ƒ]¸BþÚØ|ê«ú oQëÆoðñ™ ·4N%˜àÒLf]ÄÜR¨Zô8Hù™AÔaÕ´4è:GÞÉÛ§pšž¹ƒ``ZÆ>Ü5ÆThl9‰’ÕšuÚ¶ÌÀµQ±é”&2RFÀ£L£#®=¡ñ½%Z»eÒJ¦· (_©L¨8ŠH›˜S«ŠO•G­/sÝÎþô¿zýÚ—~j¿ø }ÒùtâPèQ2|a­^C•å´z_ÇêÖs½ÒLM«×#-ŸäóP¬à±R]ÖíÕo5 pEá|UãMôˆd„[ÐWÃZ#˜L1’R+Ò;”‰É?ÛuôŠÙ_‹›Ó~m WcŽQ­›ÖµqòòÖF}7ºýÛ)l·hé.’#ïË+áƒÞø©Á¦é¢D]Ô•rÊèß}_”ú%$ˆp>Ø\áÊÕ’ºr´U±¾_”U|:(hÕ‡“kŒ¾ÍŠÙëöÉËl¡.°@Ú|½rݨ^"£ÈU>‡e»s‘³‰P®óƒ+mï`å)ÓTÄEþ´\»ª.zÛò•šå7é2;çZ«ˆ§2Δ‰Œ´Z‘8ÌXÛì©RÊÆhÕ£w¯zlÛµ\Íæ #³2Í~©ß{3oZCµäêî¾R?¸¦â]#¼Ó-1hz{×==%yº)¾ö­Ê8îݼÉuðeMñÁ¶ ËË0MƒðÍ:ÃM´H5Õ&NDfYTf@(JDòd{-¹‚Q·®¶ûôPg7ø’\µµyâ_ýQƒá®ï¡xMkzà.¿4 _t†çYsk —Ô¶$š€d¢oð™áL«;Ê¢Is¡Pt*ƒÕTë"„½ºJ—¾E¬ûv³KGA “ˆQ<’1ü)a ±!(qÙ“u=Ð¥«Í/ïç%ç·2¿¸3ú|ü=ܪ5sÚËç€sçC©qê ·éMiá}붸7º2ãΧyeV‹ }/ÙÅP3ÅUi•Äà>]á[¬Ú:ä,^¤½Ãð…íVé ƒ†EÞ·X5ÖÀÚw¨ëô»sn¤jŽÚžæ=_Á‡Æ’ÏÒ²öv³Á…XN:3‘Ï3o¢¦»w÷pmwéé ý(¡ªWÊÜ-Ï}-ÓÅd^7 m1Í’ÄÊ’¨^/ŽV–Ïw®ôÅ¢jj¦Ï]íø‰¯WA2ŸöúŸ® z>­K˜WÞ r¿S,æõí½­ ‹ÚHË«Éh?í6²¶fÒ7²š©ª› ÍýbÔÍáJ±/W1/‡"l;_ ¯|^õϰWnÛÑ»UÖ?mÖ;j“ç`ù÷œxc­«­ˆwýi7ú·V_ýSª"D2-uf¹Ñi(´ä°;Sa¼§IoWÈUžÈ°~˜æŽSýw7ñj}#Ó-›ÏhÍâS2;âúÕ}/e]Âú~)ìÈ”4 ±+Ž!B1ÜžQ ²PbñÚH…Ën0ê]ï \yæ©cqÝoßù2ÓES\¹Ek½ hF2"G¿'€øÞÂ5Átµ¯´Äy~¹Pó¢<]&†þ9ïipî“‰ï “_uä {9˜O9Ëi°L´ÏÛ/|¨–v•ë4ƒ¬Èw˜€&ÎÈ‹ÍKž’aùX^Vp ÿªs=}+‹9~Z{@4<®vÌ<1ó³/ Ž–³‰ùh&C©™¾9_ç­ówˆm%‹‰Üãµh8ÇçL\t­a»Uù;çïÁe>ÑðË­ýܵow¸ ß”|LZ¸ wk.ÿÂÅMÕ:äzñ!›4 {¨àÊía= ¬X®X>RçþGs  ðÔIBUéŒÂ4cV22&…a àÖ»Ý3G”ÖÒêD³,ãÜdÄd4Že††§FE’šDºZݤ*ú8(?‘iN楩I|¿±Bæ¡—ÛØ›Uëþx`åv+ nžºÍã8r,™’Rk`p&¡ÔpiX¨¹øœBåP&ÿP<¹h¹ÇÌÛ&ÖbV:é!ÓÂ~ é'ÀßêŽp¦šõb›n¿ýãè·›¿R?ÙÕ Ÿšk?ÓŸ`Ƽš7ÑP˱$°×âÚ(ÞMlõ·"ßN»n8ܽшz .áqBS*Ñš§Cz—à ¢KË($IL)ãO¾¯Gºìè§_¶â©GW¦aîÿÈ›Xul¸\ TÊÀIµ-9-M&:­Éˆ¥\Š, ÉâH×’öÝ FϽqÒH]•¢â9ÁøA8º¦’I?ØÎýùÐŒ‘r&§wŠ:wï´‹}_…ìµ–qg!’ß_ ῜U¬@`¦‹«e7Ýíš/>hk^ÎõF­»nÎð²<÷^¼B-:çkß‚s{ƒzä/̘FÛÈOËèü¯Ë ›êõ›èo&ùÛªTç]úõù*¶?¿BܩӫeñéßÙå¿«bQªÆ²q׃g—¶7ç0ݪ9ï|MÍfõKçn¹þnüÏ«W.ÝðÕ«!·\JÎßþo „Æ!ìws9ŸÏ^ŸŸ___ŸéâÓ Àê¬(/Î1JàS½oý÷ϳì,<£íQÈBßà¿øäÛ/þ¾˜^¶š 8\Ö†ÞIªY,¦ð謒ÝÛW]ÑÔü×_êüíiUε¿–l\bÂNQ9á©ä³ØIÙöqsÓ+Y³}Îç½^nFv¶#CŒClþ訢¬Œ‡„Í’‹¥ñ‘&R®3VJPPpaï„––Ö£¶±º:¥%3-í•i*ŸAF—“‚‚Boo¯àƒrn,²òââ"ìpppW(üµ!êâX¶POsª(+“tu<þ|vÖ¾z½IMÃI]‡F»Ž|0RV#õ÷÷ÿ(µ{‰0R =Li Þ,\ñêô`Cû8'§cO–˜cÕqk4‰fdÄD± É!ËRÍ-&688è»Ü“-ýhZTû…ø§|¯ä‡”i‰Éb¡ö»y|pšé•%ÀŒ¹Ë˜ÈV¬¾¡aee…¡bcb\\]©—ˆn3Ç¡P?}å$$jZZ®FJîãp8§Ïw=Ç éØÊ”ˆ:¯‰¡ÑÑô´4š;wÜÓn8›ï}çêêBV¯?ãud_3!áÒ󡼜—$1§ËI¼Ê¼Ç¥†Ð奯øF+sÐÊæÙVíî6¬Q¡úúúݣؿ”•“ë÷ž˜èZòKzCêɪ¦¸À’¬°ÜsǯêãG,{¼¹´t°7>lõµ.9>9!£ 9X•{¼¹º¾n\:*›w `d”uh:??ŸŸwŒTb§!F"ˆv,uïÍëòlCrçÊÊ$òÆKN¡i.mmkkkýÅ™™áÌnƒ|y-“ôŒŒÆÆÆŒÌÌ£ÃC)ié ËÚxšÔÓrusó“!dÄ#PY™Ð¢ÔÒîè«©©‰@q&krS!K¼ÜÝ‘ññ…/Õï•ÎÝtµ–z!nïÀGÚQe³ôeîïé  re">}j(1Y_[swuÕ˜~zž7ÏΙxÉ,!!Id’öo_\tjáààð_éã¡ÿ3ó•ž…¥w?==íçïÏû†ô¯ÛMØ»ýÔЧ™Æ@°þ€%ûxõ¢‹ƒq&&¦2éöÊ·¸{“ªbTÕÕcL2üt'g•‡P!?Éh~Ïà,#»´;í9-§[å?ûæXMJò³”®:Î,v¹tŒò8˧'ˈØ~´½zCP´Áx1VfµÒ_€æ¡Iœ…¯1’¶¥¤¢“¾Ã«¿WR,0ÐLª¢tE¬ª|n³Çxس+þ:}L¼ÒSTO…Kƒüª°Ì¿JD4™a€n‹]¯µ´qpØzATܸßaád::г%éPdh]…P4ûË%ƒ²q¿²½ÇK-‰8Y%.ëÄÙê¹»sTÚ·¢‡3Ó$Sä áJ‚Ƽ_‹G/7Š?Œ®c»¡lž×Ê:b<€ãñD®˜ÈósF«¥‡ˆYšã3S›Ñƒ˜hY[ÓÀÚššq3 Z˜ýøý§ƒ‘ Á¾¾m ý+bºóü|ÝÁDaP ²Û—Wž“ßW0®Àxzë‘vK«ÿíÁ1~aÑÑÁ#ÄìömBæ_>UÍÍy]NŒ.¿ÇÆbÈ«[a¨ß ¾\¢¢†œÉY7$‰ûVöâãÁ]­0+%s΢wç]á@3Ï4uV=ÄP•zËìÇ ñóûúúÊ<9‘]o-¨²Ëmdji¹¾¾nik‹›ššé1*0l¸Úá+ÏÃã zÑ¢£———¶6ñ Ww†°G­,??¿¸xʇ'{½Ò6_¥DE}¶§e\]] ºººöTfÿÃRî†0´û†ÏµFçJ{oolpåf#íM()﹬—Vä<–>ו‘] M®¥Bª‚jOÇfdd|øðá^]£ï#ɸv_y ‰á™™¼öP]]MZZl\‚F£óòX|ÏÒ$#ëëë•ß²Ó—~üØÔÜŒ¿'B|¸5%¸n…Bw9=§êúúúßÔ¥M7 ©ùxùøRMËÊÊ?~ì„̾©.CM/‡B¡;PFAmýiE÷Ëé-ÂþàšWWÝX“V–—3rsÏ*WAv¡ª)Ÿ¬êEØÙß”–zj6S$Å•tjäåHsq-Pr±»98=Q‹eYÂþ_`ÙIßQ":’œ¸NSÏöêâúç·÷¢”„X=7T?‘Dw¾ÓÉT¼”ÿD”)GìŒÛ¡½òâ#ÃS$jí„p„€›ÇipC˜ú¡;\ÃÌÄzhm_6ï[!akÉ ²Hk'ý>¨:›=h,,3+ývã¾Í¬ð mK ú2‰jNÑùjœý0Ò1÷ê[ötÙ™ô.ã5*0{»³¯ysËdaá£õ «.?fÌÆº¥¥•©”6^I°úÃT×ùø¤X¶¹Ñ`E3©$(.]oY:Ê”áV{:mí–TîBë±ÿ ð²e£áéE_º`="%¥6òþ"~¡VˆnøóëÇ|ÁÊ ­r2 µ²2îVKc ÿÙÒÆÖönÚomeHuyymó”7õ‡£Xâ¥XöËÃðD×…üzŪ:ûÑöA{»¼H¾B@Á|þÌ©kæ«‚”f7Vérÿ°3fš·÷7 ‡¿3*vìŠ÷kÿÿ{A:×’µmúõ±ÄÉ$ÝDðß¿¬älã€Bû[3T(@C0„0ßžûÔ(“F‚úê΄Z=ruó>0o ÆoNÔľ¦q\…Ð;~“#¹÷Ïtß9GAGç²Aóòí•M€x¶®@úåÉJA¿ü^ÏîRw[[[×G,[¤‘„k ôlºÞùÙÉRæ8St‡£^®¢-†l{{ˆ8<<¬h¹l¬ªªª¯öŸ¨v *?h.’™{g¦2òägF½$œùïfðóçÏS0|rõ©Ôtæää\#ºÝt„ )ý Âvæ‹?_f÷ÁÑßG°Éê݇y“5Án,6æç Ø3»ÙäƒwÚÈáÅÅÅ›Sõä@%bª:âWåÁA‘¦Ò¾þÇstU1衹9CBGޏ3t)dŠZ]tl¬4˜…›B$À9HI}x §×ûÀîÉèÐPá¨ÇRÿØŒ¶!Î •ߊÂ`ÁÃïõ\,ÇFG¸¦‰y ò255µ³£?::×IIInLUMM‹› :NAEPSQ1ª{x$¨íe e^çæZ©¨¨RT™ÛÙÁ“’Õ«ªÄDE>Ó/ñc»ºø!n—ç'bbbï9ƒ¶&kÁ  ÌLÎ'/aQfóõT ˜ÒááÇ>îîkDláö'Œ0âØ6d\,xçM¶¡@ºv™Ù5àôô4X>IÆœ°wE©š’Ÿ¹QÑ‚kyÖR^þ|.###US]]ÝÐÐÓŽú»Œzaa_Oê?yr&~-­®¨[Ôq~DD±SõWù¼JEƒ0YYÚI•ØÛÉ,dL¯Âñô²y~<ÿËs¼üb)Ó®çóþÁAo_ߘ›¤Ó­%È{7ÉPk»#³[[y¹¹Sãã™à¤ÿÚóôì¬Þû÷ååÙ ÃÇÇGNJš…”"uÃqã1Øpy99“ Í/ƒÕ()FwÁø# æââ**+ÛZCØ~ ÿ’ #¡‚¬x·\¸x{ÿY[;Ô`£\ÒÉ»OÏήÀZäÙÙV}ý£¬c'W*†¬S9RéUVVðÑö ØRɱfØ 0€j öͬ”˯!Óðƒ1í‹(*>]éË I ¥¥DÌ| ÒPWï{-C ¼1’w¦á™ÿVáçdc`é’|hx¸Â¶9'%e~vV´gó²Âþé€ÁS³ƒ±‚ÂZoîÓ²üO¸>½-£\5ßÏA/l)ù)¢Íáü¯üv`÷pÇÀï ë¿Eÿ+æûCµï_à¡¥¦¯Z®lÿüßϹ±g ÓÍÓ›f-·PÛxœmW 8”kžÇR¶C “±¤DEŒCÙ¥c¬ÕAá#kJŒáš-K“%rlG”}KEC±†±Œeƾ/cËò3–Ó9ÿ?×5Ûw½ßó>ßóÜ÷sßïs¸6;?b¿®£aøü®g9|.ÅzÔ_‡ÜÔ®›°°°ô êY]uLÝ@ ŽZúû@Ìy0Äés]CÕÄ3aº¯?¤Áϯ8»žc*’ ¨;ò¹ÞE/]°b¨S–á1¬›s+{s^{:·Âá„d¡r—/MQ¬Æ€“Š˜µPzT yÒ¬¥íÜ)ÙS"5{ ó6¿.Ú~ª” x.&âÆD¶ÇŸìGO‹òe¿8çîRrÅ RìNDvQÏ®¹œ8,~”6_Ÿð ¶MÈM6F† jvÍØ¤Ü0rÆB¿Êoö®Ï2a[_9"y©ýÂù˜ÕËK/RT » Ò´Ôˆ§³ É»¹yŒEx/<Ÿîú²Û¹dX€Åp?Ø9WDÖì= y ¿'¡á=­ir²ÝCì)ZÙ&«’gãNN(Ëh. >[^õXû.³N€.×ò,S_¢ðjW‚Ö=Ç¡ýs§­Á››ìŽç:^ÔÙ‹áI…ó¡-†`Á¦µŠWÁèDñÔkã3ŃƒëøÐ­rßê¡¿#‘d,W` YÙ7Ý—v£ØÉ”,Ü|8ÆÅäON‘(…Ì `£U‚Èå¹Î2o:¢òÔ)A¨få ôì*+:£õE°ì¨ê?Ë¥WŠ×a¡ÞH³'>ÅØ 2,¸°m\ üÂêà•HÂÓév/¼~sEî…o/¤™áœN>…Ü mUñ5„ÿ©LØQ„é-ɸE8·–¨›Ôé(AhÈãÔÀjâôéùEu¨†«_XÐÛF}ù0Œä¼/p2¼Kha¤ S[ ¨®°]mwóçÚK3T fa'£m ”âtŒî™Y–šÆKÿ›m~ò·‘ût ÿûÀµ˜ì(8¡ Š1×Ò|½(d£uòŠMÍŠ6Læö˜³ÿ¤¬¥&d)Ñ—©ãÑ…*Ñü÷÷Á/¬^ñ |ÅÜw~à‰U-a—ePþyÏĆSzi¡_|0æ|øÏŒô¯Á]E“¤²RÂ9Óë¾:—½‚›E!ÿÈÖ¨2>ƒÑiNDTq0øozzJrf’+¯Iµµµë´É4ÒTÎc Æêƶº¯£º(T]$«™*û3à׆SKø" 3· `¹ì‘ [üElK}m­™Ûu,‚½ TŽE‰Æ•a´óœðÏÖˆ uY ™ìh:^1:²±&E…q?/(ÁH÷î½ícþîàîá!·bß1Š¢”h–A¨¹WXÆž¸  G('ç6%Dª S:¸<¼­ä1åù(rÛ@Ô£Q.šÃVzûOÏHKKÍfYžS•ï~´Á¡ôá$ßø¤—çt·W7ZÊØØØ±ãtACƒ ¶–ÖhÃk º|7=uX¿/*+7iv¿Öççµ´ø¦—½ç æ»ìß¼Ð{_®Zlƒ'@,ÏDâ'§*‡ØÜ×2ôlÑßr!Ã>¬ŠùžXX JáŒwêŽu;%×[óÒ«Òß’iÏŽ2M fÑü+…~j©˜/EfôUJ‰f±¹…rÙ©(§x áÑ)‡5ž/MÒd_ DõêU=ëÆé,ÐA0ˆ–µÓ ¡gz2ƒŒtövVæˆÚGA§Ó˜D12tØÍ¿"Q>\‘…åÚ1 Ð|HºÿŸ—{Ï;MÈu‡yk(á+i¸ŠgÝ%”U©ÂÎ4`,k³F„ÿûÖýkGijAAfyCaÅ人qR–.(´º¦Ø–gú¼º57é§¹šˆX;øÇ_EÛƒ(¢‘b0+ ­~Úrr‚‚"LEâSÈ@ØISÑ]y6hOÁhL´¥=)}àbÊ4Ÿ¤Ýå‡0Û„c×B¿6«?Ÿ²[/ºB†ÒC,_qŠR`§ÇZŒBß¾#§P¿RCøëûDÔ_ójooQ§IÕ"³ÄÄÄ¢µ< õ°FåÜw‡Ë<öO>[Ft f¦§Á§`Í3ӥ޼¯öôrr*ÌA–,±jùB½š^¹SõaN•nÇ/þ«ÀÇèýAF4$áiè8ø‡1nC% OX㈷¶¶¼[êª2ÔÖfœ"MØ 3 Ü%˜ 5kèºX×zéó””8#òݰ7•Q³îaz§™Ì¤g>Þ… ±DsbzúÁ ó_Pèâœe¯×?Ö}gÌ ËvÄ °¥×2.jÕ=5¥ÄáƒÚP†¸}Íü¤®{.ÛW¤£5b²—=Õ¶^ÁÕ|×=x Ë­¨øQÔiaV¶ÀÇ–•Þ«[Ð$ϵ„»ôq£‘Õ[ë7HäXN3ÇÏ0¹128ˆ¤¼nNÕ¾Š^qÈ©’Ù…²D>åx-ÐA¥z ™÷¦é[Ê·WÉyLaÄSs†÷¶ý™-wñÖ#ÉE Øêÿ‰ðä˜!À~a7%b€2í…å\vÆhÞ#ÊOwЉÒÉ ³xÔ —•?ï–ò%`ö“²ÂÏ2È‹ •Óq„f 8 T*µ»Èqoñõe\\¿T-® •¯îÓJM€Ù†—•F¬Àq‰]vñ¡L˜üÄ<2ž`_ê¨Ù8ê~–®“ô|5i; H0rí#^ëò12€N04Ä­!Ã,¾a µP›‰/Ž*;ÿ-mMðk;/謱ÐKM6Ëé[zþü¹‡ Iöw‰Ô«} ¿b@!œš ±áèm”Þ›«ýGåäøÑŸcYʉ"J4‘I`šæÁž:§^ÉÂ(iãÉpÕc‚ …#î׃18¸ðJ!‰ß‡§Nw5n¨m¶r·¢€S[M±8ÌPÇÍØ‹÷…yøÀ¸ìë~ðfeý |‡¡ÀCV2"!ÂNûjÛBéæj †ì/µg¨2Tx_g€Ð¦XðýŸÐéùuðKrËߌª?¸ ¼”•¡³ù®þà`mäj²º¬:µMb»µ¾>…‚×î« /~`9uûäR—uø4yÓ©–ÝOH¢ÚOD°š_C´ .Ü9ldøá=áK‘z³¡L¤(Bâ‹„¯ªzÒ-0ʹî¬&®ë¦E!¬öLÈ5øaCå§&ÜÞºZÐ/%Ê+ð ꈯÿü'ßÑ<ô~q©°òGn"§OˆÓä¾$û%ù’ùeªbÖiÑS!?+‹©+¥Z Ú‘ß& ”¹É]²ººa•µ¹–‘cn'ïúë&` Kÿi­>³J. 4ÊûV­·£ucmI%ýˆÍÍå/à«çS„–® ?Ti[Åø ‰`×îÿªRFmêI×ó˜ˆvw'Åœ/vIôÞtOêcàÔ°Îv +Ĥòñ£*à·3F-«×„¸×Ú0îpð×ãÆrW«D¢°‰hÕ‘™£k,3æÛr£üZ§A¸#ƒ%LŠÍ½ ÞyÞs~ÊqR£‰¿ä±)Iº‡l¹qÙÁNV5T­Ê‚Ä1%” ÝÇï×ñ¸["ïœÁ§ÍG –oÂdqŽ(%Éòô׆øiõ-;ì^¼éÈûE¿¸º,ü{sfßMà¸æ?L}æj}h¼NçðæÁ£#›þôgøP8ìAËB ¡¤ FòBYÅtYXb·j§CÙóy ¯¹÷N:‹—-þþÂÌP’WpÑ‚ç­+¡*”AqgeA™ñÌ+åŠàòãOÀÚö œá…£°¼˜ÎȼB增†ðDræ½S×Îñ(hY)ˆ,KWزÔ;Ác¹-3qgÓÙ‹Qåáï æBtÿñ}õéÜ\ìOûÆ÷ë‡Ùt1ñ_½¶›Ã!j#‰A©˜f‚„‡ %—ÀhAÌ…p°ÓéøÞ@øÙ™qØŒi.haMŠo¹ðî$ÑA”¤ŒØ‚e‰jÌ•PíÝ{ÀµÉ¼‚!MüÇ¿áõÃñÍ\i+tSD‚Ð¥(Û—ÀBUaJåÕ’ªåÏ̵ÉuÃ`[ÉS¡ut,zª@‘Z©(­ÒŽFI¥3 ¤ æº'ó6‹ùô­÷HI¯üeú}ãr;&¶¡ŽVj®MIË(J®A·UNZ=(em0‚$¯;aÏwM„ÚìŽPªzCl™Ò–L‘’»REHIB”ÀÑ Éœt^>(Em0Bö²#ê0 ¿LÇŽdþn‹Ü¯PZÆ=È]]Â✠ܫ@KÃTÔo0×= g2í ˜Y›|;3¶#F¬¡ BÂòD¡A©¥s”h†çê˜mb°¥¿T»³Ù‹þ[AE[i©}Õ(o€ïéE`^ª² …*ï«ñ¬@eƒ¹Z}ð•šjpU¬ÂlG¸œ/ÆóêçDFíHÛiËQ[Ç­fÚ{eŒ5tÚ艎EÉ¢ã;Açã´ò{Öé†×]‡ù?VLʆ£±;ú9¿øÃ þ2¸Ï™PB.:Ë‘¹(DI-×Ñr¬ð^7À盞±ÙƒP6`3Œ.· ¤eº¤^S7´þ’Êsa5ìh!4¼îM!t2B®?ª“Ev2ºÁÚþÎd.z?~sõÇOf‚~µA8_é"m?‚h64j`4`Ñ`júã…óàºo‡ó7³E}–ÁlñÏ!1Iܧ%+Xã¶ 0•¤"„ÂFÃë^QëAHõPo:ܑ棶M7Ê"Pgué-á†ùp´4¼î Ó9¼_ÞFCàŠ2jD0–Ú D”¥B­+9(ÄÇ ®áu¸n´Y{”w‹‘œiñ¯À0CˆŠ2ë"`¶±*”RPep\p©wsP˜Ã뾘–7̓Q’ú¸ nçÂÛÀ¨ðœF0´b¡­QŠ¢83Ä%ŸÙMÇ‘f¹~< 4¿ý×óÙb×ñ§@ôÖSh Jè«Â`I®8Z5pxÝp<½ÅE³)ºßìâdNŠR3eJR:¥ ˜EÚ¥ gZJ¬ ^÷m = Òßx$;à½WJ(–|á-±K ‡ÿ5Ì€ðu`Gë! ¯ÙÒ­ž¸Nq˜N† * E”&%§Úg ¥Ð€EıBhxÝ¡ïV¼pkü ÿcf}§Ý ²U6Rë¤ÒW PU^ k(޳†×½ ·>Ø6$ýÂxi­,up^hæyQ–Ô(,aeCú듬Áäνc´àÔ—–h©ˆ$P@¤—4x½›[ù‡2¸n8”Ÿop¦âÙÈFÕ§0ÄYœÖ;+Y¡À=ç%¡& CaÂ’ y´´>¼î$²nr¯vœ°A£Á 09˜³ÞxkÔå ®Q !º”‘cÑðºDïW¬küpå×LgÕŠ³¥Ó%¼£’Kt ‚jâH :›6»E,a”®{ d[é?‚@Ά¬(”íŠÞ[л3õSör.ÏÐÓæ ñ¢Ct‰—Òîå-ü®ðÃ×äänÅá–×aw‹TŒ ³1´ˆVŠB™2‘”q"HP²Ž•ï¯; ÄíØ´ö4|›RpË|á…¥ÄE¤¸õœP‚>_½cŒîÇ2¸îkDz± gI >ÆÂ±ô‘I©¬PLF¦ À>R«exÙɆKÙÐ~+½¶ÜSM)·EôA’H ÆB°Ä©vsÎìÃËNô±½í’Œpͬ÷„†Ò vsA´ Ì+K»GÛívÆqmxã­¶‚^&àlV ´ìi­ÕÒEKS:(œãÞì3èºÚß&¶0¸ïª]ÊÖJfIÓ:˜ ˜.µrš(¹a¥›²ÝâØO¦ÃûÁ^ÂtCPAˆ,+u! VP©„³¥)eÉÂ8V9¼nлƒÙÈX:ܽ ÿ`â&áœK!ÊBB€uzZ(%2PÅÕnù8Ÿáugæ38"ë"è¥ÌK¼eÊ9uÆ¢Š•¾¤Â‡£%¡áu¯ÑæJ¦ž”žG"4õÄE-˨¡,z&ùn úJæà²“’‰“m¨cÊè”$Ǽp\!m”1 >R@ /··½ŠI W€d‚—¡ð¬L¼e\”‚ÊÈKSìæ¬Þ.<0ÄB¡pƒ¡U8û¨¶¡n¤Yà–ð@‚”š’1RPMJ&U4÷¾Y¼ºÑà¾>ûXNµvLY‚du,($X ’Ýß!dÁàºÏLýdõ†Z¯ãºð†ÐRª \ð Aöåm¡èަÿ@•œ0[)Ó¤°í›,†w:îÖÒRÅÏóY5ùÐÜ1ç›â>ØÎŒ€ªÇJ©¢Â‚š§,Âùnþƒ£êðN{@ÝÖ¸8vɸB‚)C¹„¿¹V…WDíz#ý(Á8¼S·˜aݼå’6–‚ÌHïxé¤`Öʨ"a4^# ¥JmâÕðºë0w *·îP 3Ü3g¼ñÔ€=Íœˆj`p$:mJáðºo„ÒnD°f;X—Â2]`þ]Ös †åZ —q m“#5†— °ƒsZB0Í|$¥â >[iœbÑoE<^‚^7¨WÔ|wóväÎÏÂ,}ˆ‚>LñÙªûøõÎeˆÄ«@TXÓrV˜’2Æ©,yá9èãêü­~Ü(»““XŠÀxáD0ÎL]) / …Ñ»¥("IgpÝÙ_óD9^PZRNlˆ‘j^à}Háe`ŒÒ“Káé\÷ÊýùÊ3Wiâ|@ž¦àp­ œ @øi©„,I0~7¿Ëþöð²Í§ªÆšZÛËlŒLŠîƒ$#’€~F•‹ÄpljxxKæm³ÔÕlüæ öÌð~M9KËðk²qu_8Í ÎY'Jª± 1h`2¡‚µOÿélá7Þ~ àí|¦Š“Î(=hh ©‚LõÒ0­á£gêás?s-⦬ÅzÝä~Œ½'1î|Ü_ÓÝîÓMUy…™f±p!H‡LGú´#ƒR0ñŽÑûÿ¿Ÿ¿ÿÛ/£ƒ”æZþ,¤z]o?µ©üWùU]ÙñòþMÝ8—‡Ü•Òš¨d” VËàѸ*iT,¸ Én²es²¿)9òä>¼í6L²õƾJ# ]2B E ²ë>aB§´;âàFÍ5ZzD¿¬Ùr˜àÓàÖ[¨æ•mXí¹"ÊX j!ŒN”(¸tº0…Â(wK¹<q/߇ ž·ãñf!`ÅÁ0¾œb$Áì'Aˆ2x v±Ú5Ãë®ÍÇðÞÇ[±‡¿&çEb€“é»i}æ•{&™ñ`û¡ÑeåçgèŸÀgW>œr]J& I X]QúB8í ¬8‹NíØAæÞÁu'°N>lÖ[w2òÓöüI‚èkzÚüþ¯,|~õõtÐI¢‰+‹‚€!IË’å7¥)™^ñƒ9‡p’ ®Áûß ^ ,Øë ‚ô†Û&DXLô ÛŽ6ghxÝÞoÎ/¼ƒùF{1qua±¡Ð–zbËÒé+£"ì>¸nçO¦ž‡YðÛÀ´ÑUxž4‚9Ž~§³s3ß}µºä¾¤pæÒaʘ#]ÔáÛ¤D¾™úkSÓðüú(=¿øÏÊãL)lÔ&Zá=0p®+… óJCÄÑÖÞ^w‚ÐûY¨ë]aSÂ5—JY,Ö •ˆ^ôsØ]ñh ߯;Áæ‡&:½Ú(0}B`©  æ±` ¥˜9h÷G[êvxÝ 4?…q0õ= æ /ˆŒZ3¦pFˆ²Á±x´­f†× óϳöéïm`#Ê BÄ‚Ëx™²ðŒF°§uG[f{xÝËÒgK†üT Œ¶ÇòX© èÈ›ÀY)õ ë¢2çØÑŠŽáuw ¹&`?çó TZA£(|aK¬ue€™8@ @ÆwsÛ¤ÏËкq[â£Ü@ÚåÔœbÆ‚i°NeˆN§^ã`lz^ìXÚ÷ ²fhݸ¿ðÉœˆ&¢²B+•X±7#gX ìXÏnxݘKµé©ÝbÀãß‚…À]iÃw ôZÊ”ðÑ…Â) Ÿ¨ˆÝØ_~¹¼ùÞ4í?/à]ÎOzØ4%—]†eá›ñV<v$Ž–ö†×Àߎöžî)–ÚÅH¬#Àš%E©¹íÎj³£ùfÞຳ‡füËC”8Ç†Ïæ÷næÁËߎŒ“B¨˜Àb¢ >RI5``Q€ íÌnNÏàÀðºóÑmEËÿјPPV… ”¨Š!”Á{êˆB+î•?Zž>¼îy5pÞ}¬8Ù/8F/þÚ~•1Í0ØÞCP/EÕ!Šà#vÑ”ª wÔGë^wÚþ>Ùƒ€Yâ$¹ Á*™Ó%3¾(y,¢átÇê1‡ð³ ®»n{™½;3“Ásõ÷º»â=ÄçgSeJ°8¼41-çÖ -d<Ú.fÃë¶!Ngá§Ûü7ÖâÑÈ‚›H$Á¨v"ûqÒ-† ¯ÛÄy˜Ý нä:̦_œ‡ùÙÔw¹³é(±ôƒÁ‡ƒÑðúg‘§¤Ÿ–ßlj —ÈP)–¯œY¦¸ð^¢X!€ºJÃë_÷áµ½ Ï5MáJxiu¡…Ç[G¿·vÇñáÀ5¼þeý^€¥®,JÃ#Ç~¾tg¤ …'‚a[ïcÔðú» ú½àTb€ÒA9¬§¦Œ7 Ýp+)jÅ»z£HƒëïGØï*«¬\õÌP|Q.´“FÚR†;æTƒë¿ì¢ë»†Û}iJ¯Je#$RB G±àËè펵o£áõû™¹| ÔñÁëx–KIJRP*`šò’hÏáZPgùŽ^ÂÃsxýù<ñ÷óù¶×ð«·q!.GÇèy”¥pÜkÂÊÝ.1”ÃëÏžÒ9ìt¬"B)(?ÜG†7€fJ°’ ’—$Ö±ÚóÃë^\x3My_¹-/l³§v“pD¢äª0A+P ­0†»]÷¬}³šÒ}uÒ Ã;·ëÙ¡ªíÉèǘYePuθoÃÜTãzãr$µò‚3åBàL€ñ§ ¬¦ÁmáðºQ }cܯfÓÅdÊß^45¬ßtî'ŸŸÓÅÛÉ…^ª|4Á¾ µ›Ux\Éõ›¯|õ±]ÄØ<|šÛñÔý /^¼ùå,Œè3`§éÑ4Žæð帲33»:ýrVÕ#ø?üòÇVþC˜.Ï*w6òU}ø•B'ÜÈLü(møy=º¬ægé7Ð÷f§€(°’‹7šÎFóÅ| ˜5†é&£³éåh>ŧ6¯õb”¼ã_¿8ÈNOOñĺ%ä SBúõ2Øý+;{ýæ7¸…¼î³ùüâËׯ///OÿåÒ«8Å©›ž¿~ñæŽ>d`½†sKG›¯Rþ8YœÃÚð`GßNÝë­˜Þ1ßr­`°¢V¾VÐC’†|_\ûöb6OáëQúŸk¾UDÓîWü}¶ü€ýµgléa˃õÞùòËj…% [.ñõrK‚Ë€_ݺŸº ¿ ±š„:á­%;ªÏ¦‹±ÙÐT"*œ…1œÍÇ€¸m&£T-?}šO×ÛÑëÌ[£à0üüÍÏ€ZoÇõ2‡/üþÊInU›mÛ:v°|df~œv›vö•}Óbñtöå(_+i7™ÑÉNg>̾~A^eÑïªÉtƧϰüô™d~bÿ«2;œßzÅf¨â[L;¦ÄyØŸTB`™<+5¶:5º¹8®Î¿ ã)$0Õï&¶¾è$QB‘d:6X|| Zï‹Ï‡ÝËpõºf/M»M÷bðñ½ôHɧÿ4tÕý<ëê³…dÈÊ ¯ö‹ÍY‡-kYH!”ÔHŽwæ™.qÿŒ§J[³¸5æ66p„ubn [ë³³üëcÔ\;®ð²Þ‡Ñ*K/¿yy×íˆffÎçW8f#ûÊé/å… ÂÇä¡€?G_¾rÀO߯^§;ŒyuÓÊ6`¹£nK7€5ë€p$•»v"7| råÓŸr,}ÓüÓ›åšÞÁñ;,­á?!%=[xlL=$|ô!šÅxŽlfê†to ÍFçhÚ[P#^bsÞºBªBwV”ϼR®x²ÔˆeG+4ù± —ÓÙŽÙÐÖ´“ͬG  j25çAèç§0_Ì&‡;ˆÍ˜‰ñŸQœ¾œ¡·Ÿf&`’f9.|‰vâ^:‹v<:îÌLªúlîpúáttnf*>P£gÕ~n~ «°Ò毦 Xd£"µ;N¦Ãêb&X³e<¾jW…À~ùª}á)Aû2 u2ªNà&cM~cz1B ½$'#ò*óºêßáénò´5‘¿NþkŽ„Ñ(^Á„nô¾fhÜåuؾþì {ë£}u:z;éM‹`¸º¨\B3` ñÃħ5ê»W£8]Ìàù˜~ ªbÞHj<[Å¿în1Õø^G#×Ij 䘎ÀxÌ ÐQ=m`ÀÏë0þˆóÀßÕ ŽÓý:#«´ßeVw²<žtæ£0wÔÿ6ÀJÁ3±pn#,œ4z‰¶þ¾*¸Œš*yi5¯VÏ¡ Rp øWÁòΧ¾ŠÀ×6F“¢Y+î©Á2$‚:U ¾ðŸÉ¼Eã¦UJƒmé¹[Äÿ-e\†÷ϳʯ8y›ïš’œ+4ƒ'‘ŸxV 6U 2/ÿÆ£\Kø‰ëß%º½ÓTر°¨U5¯mxRúÿ¬£é$$gÈrIçðóÕ¹[pýe:öõè ‚êbÜpTÜ´™Í0ë6³WXH#zá»°äQ}f.Âéõ߃ÊoÇUXÔÖq«™ö^cfLGO4ĈŽ?ª{# «ä æÔ?î¥ôg+¼‰Ã$‹"9>¶µÆg ä躯é}7™þŒæãŠHz‚´™õŠܬª›ùÍ$í°*[ëR”¼H« a‚ÅÈ\„uPËuÌ-üŽŒë-cÀ÷2fìÆù.ÎÆ÷zÓ!q®¹]Âã"ïf[+aXòõ„Mc‚!k¦Cc|‰,1›O9Ä€N†ìšŸÚÿÅ6(¼;/A?ë òœ¥ihô„w·? 5Ú¡gæc~ †#ÈLc '©À)…3¸àNb¿5Sa2’t¿¯d…ð®´eˆÁH*B(| 1Ad‰ˆ?cYUßy:Ó›…€¡fl.Mafäúõ ÝFE^ÌBfƒÕ®¾ó­WÎ –+)l©‚e¨é-“ÛrãÊÛ$ë4ÍŠ‡k£šÂ÷é𒮿䪼:~u˦Ãl<5xlðW¿•Ï­èý»Z\mílQŸ.á0wÙ± Àšñ2Ž,m4¥54j8,…cÖ¯ï¸Í<ù&Mš?Íÿ*³Ú5'À!V3xŽ,ð—’´NïŒòU¨„ü-4®Ñd£Q4 ‚0.`d@þkO¶¨½õxZJÒêýkwFø­ÄÞ½³ÅÝL¶)A™.©—ÆÜ+Kà/©<ÇTýß³l’m'£Ûå×]»L£ý®^¼–‰·íb­¦ùFË®¼|ä¥ÿ§ù6±÷Ÿ»#o»“ó„õý'ú?!\ôþæêŸ.@¦T¨‚¦‡nšfhç7nôveæÆA´šÖ¾Â„”¥ä¸&)Þ¢¥ÄÂüVÖÚÚnK% •¶ÕýÀÂmSùÜwø†Ÿzn¿¼vXå¾Q`õÉùâüÕÖÌ÷ódñƒÂÿ³fñ=%f[“”—ƒ:n®i|k„{»¥e,߬êlxÐ(«øgêõ³¶^Ôb{Úß*üNGë mØvÕh’A$ ¼Q°«ÌïZ7 îhÍ”ÌP¹™Í¶!äSej¬Á×…‚î¯ÓŒÚ0,~ü‡Èy?øÄ8 )Ø›o¾üýÖåeSO«Î͇0ÊEêÆ³W/.r»Ì]5Áñ}9ž•ú­9þ𦎗ãç½ß‡ïßS)>«oµ¯'Õºú•Ò|å­ÄX×v€ly*<>Ÿ-r‡ ùl: ºXi3Uª‰÷ØZçy9°·¥eƒÎÃÒÿßÀcÅ‹rã²í"Fìµt2ÊiÀ¹áÛÉttf‰³M\€¿á¥ùÞoÈÝXêÓÑË?~rábžs VŽÉWçaR'‡¦C¸\ñ&Á¸š,¦‹z|uúꘔãcçVÃÓ;·Â½ß+Í÷má=³/à6­Ûv]5½Qj½ËÛèv–ɯNF9 «T.èÓ-aGeöξݞª£ŒšŒ¥6(eé„A+ÇJ.ÂNiþû¥ê·Lਠ¨þMìúÌÏwï¶oy'ƒÔ\è€: ¡]?Ê> ®²ã«&¨Õ[FÀºÀ5OgY)qÓs T5oöMX‹Å+D Ö^cÂÛÀ¨ðœÆ€q`mR”`C\Jk¹ Â+ÚC2wЉ6«|h Ú7•5γ:A—gSÌ6ÌÃŒ.ê“e–n£LõÂ!+`= JÎFÜtÇ…¦Y‹¨&âÊãø’Ù4žt¢~ªÄ¨7å»ó…®e8 ÒÞÍèž(6ºåt/•°8a0…ÖÀ«TY g€Ï¸"û@»eÆ“[Ï¡ `Ýu°u\mÒÄJ¸4|êÂ[ÑUVŽo£›ežê¡£áÌ A-q±€g=–P6Ä0²ÁWÓkŸa€š~/Ó¶uD\£,ÄÄXä˜Z~ÙéÃQÜP[ï <¨yÑcmpm7B°``OkM‹‰Pôæ6 ë¬2áLºŸÒùræÓî0ªUÔžÜ})J>ƒ…\¥qŒ…U¢½Y®1гéy¶ö+òï¹ìísQQf]Ùo¬ %ö‹ª Ž .5} ‚ù>rù‚çþrýÑãs»xQe5&‡.ˆ'y»æ£Y â;N+yÀoÕˆzÝ­ø÷’å¨Î4µ'öËÅ¢“¢ÔL™’”Ni8×x½ @+¥ô·s±™Ø ×<6&v3 ?6cr‹ 9Çc’’‰ŸíŒg;ãíŒ;ÈçˆL tÿgXwǽŒû`þcY÷¢ÖíýƒÁ“П›¥q#E<w,÷‘Ûì{cM;ÚÕæ¸¯Oâ`fǰ/ãF–¶GóJ Å)Ávï¼´%%þ{|IêXtÇÇÑÞ.æÓ·Þwõ—i.azèì ¬As˜Ðd?ë!×™¥²3z™2•L®lð*=úĪO8RÐÉÚRX]ö¹,ï³ÙX.R;z¹‚MåÚý¦-×´ä±$4j'£ä•ÊDzÔE‰­DM/·ŽcÊh U2ϰ¬š"J+^xl›HŒÕ²LÃÿypè~•ßß1Û¢ä>`çZ-h4Ápa¤×%––g±W4k¿ì–¶57!ÐPDiLHµ΀f\ êRQq|Üä»ESêËÃø-V†ÜÉaQõF8h¦îÅ´®+„sOñ¾uãB™Î¾ØÍsR/­•…¢0× Í<¶c°œ»ÂV6êkï¨Ó¬XL´Nw$gévwZ_œâe†” ¨’@Ðï—­>ó•}ó6·ÁÜ+°Q'ÕÅbÜ;³I1êyO>V7WwØa/¦pœ³ÂjxËD«9!l)O­P:DªšÍV?á¾™݅LJZE¾¡±Ì1ÐF2` [ŽÂªÊ"P¾²‚ÿ;žçK‹ÿlóØf!e¼`±Óh{©:']`lR,?äRM‘ ÜÌ¿aÜ^9 ì1JNGZê~mµàeú!"k[huŠ×iÈŒ¶ÙÛ0Um»:ðݸb(†–XIJ ÔIté4&¼øB¢UÕœSûNân+'6Ü·7W©%1ÚEA¤^e‰äV’¨¤aô–¹Ú³Ùj.É•s1i±Ç¼1ŽÐÊY%g  û;öõöSëÿÙb>Íyá`¥a û™†5xl“e(óÅ{kç;ím'ñG]‘òÖ^=µÈ’ÄTQÀwTX5×”‰"–;0ZjÉ•ÔWe9µöÒäó®f†`ß“÷2ì:ÁâQ©Ä–5³úxþ+©ÃÆJ³3ŠÉþ×\rëcå°€ÍÕvÊ< {Á©/-ÑR-HÀn§Q—4x¬¿ «þ¹=è_¦cà6šÛñÿ왼iSx¸Ñ"i¶ÍîúÊ;þ³ô’MŒl>«R;¿¥|ƒ¸lÛ£+œÔ`ã+„ÔDi#ð°w Êàw8'—õ÷³Ù»æ„ï|¥ÝÒåñX—â%]>â Oæ3§v…'éÂÝè¶eä‡^¾JƒÏ%s7 8Ô© ¾Û”ë‹•:ÄiÆßFÿÆj•“J[[Ÿ9¨Áꊢbv%æÈin ©«éâ¿@Þcƒ,‚à sèvøç…á¡„åmQ=`Ã$‚ K8oSi»0„kf½'4”ÆhmxA´ Ø•L–v¹â¼‚uÎ…Šþ¡˜V0 ¹%Øö‹‡¬KÐX"Mƒ[帲‡çW;®áNV…ÆK}wã…ÔR¢š„UÝøí+™eG9Þ?½À޹V{*Ÿ‘‹[µï 9|ò—ði¾> ö[ÈÕ—#âsiÄ­øè ¡#,î¦qœü䀽=eSÕÁÄËPxPs…óÀKAeä þ†%,ñn]+¿‹Ln½=² ’z)9‡5 ¢,¨ä‚2hïK.µ3fI;…ä!éd·%Ü-Ñ Öxj¬¿¤-߀u(?Mûløø‡ŸÝ[é ¬©C¢š“\b³­©™j‚¦¯’ÕUw"¬½¸åÔWÛÑošê»w¸†¶Á ®!ŒZ¢D§(® Î÷¸Îiœ‚°¸Ä»½1 `÷K´o‚«=é†ãnþFZZ{” VËà…õ¼¤Q±à‚&l‰þKlúg2kºS3MáÕ%t3uO²Ò’·ÔB&¸ÄQ^¾ê“Tã²=Q€·Ú—W¡¥§”¨àƒ#h÷ 8æUŒ^öÄJd5o|·"wÏ-YÍỘÙgvÏ2bS„¿7¯8ÿ´ `Ée­WxÉbÆI' ÀaÅùw3ßÌ÷{›žâõ“«äØ€}¸³jܰêu|9 @µé~MŠxà +“÷Ðe}NÄÆ; ˆU8Íà–F)¨¥45Ëå…5Ü%ºZW½ ]Ôp=`–·Ä~í•¶RÖË¡KÇAÑ~M™È5Û\Æ{¶Œ4õ†QÈz@7RV-à ¯°^òôr2êšvê…M3‡úÕ>É3Â!b]!)dÊ&-3²¬ä›éöÉóo¾Ž:ï Êi½íÔwÇÒíÇkŠGVÝ'!_Wíиš-ys=7óTÌ0u}_õ‹^ÍW ?yfê½Ê‹ïù®N¶ ‬"Ä¥ºÚº²dN— 샒ƒ!c8Õ¤eò0ö»<í7W¯›>9uõ¯†¡¿ì¼šÃvNGD©u ESü ÇHö,>œü¬=^·>K;6Þ9Åj +p»M©u û&sêè,sÓÚ¢’]Ùö¼sÅúîx`³éØ·Åd–Ó7­g[9 Tt GM)S†ÈRhÀqM•ÒGP+““à\RÆØšIšû|)¢‡žá±ùðpÆ £´ME–޹È]ôÞð¦,dãEê-ëÎJÿ&f†×”»xÙw“Úˆ\˜ms|·p‚G_øq°cˆ䢆»ÝtɆÞåi*¶Ô s.(?I†LÈ‘»„$ }júÝ~s:äç½FÊe!bPpY -ÈmÏht”é(°I}ë€HÅïtÇß–7U© F̃NÀJ©¨'ðMé‰Cÿn7G¯…ùR§Í9‚§« ¶öuåEa#µNz!½q¥0Ì+TÆš.ÑÚZ f»›á»{üv¸>¸›#ŽÞ?@ºßðÛ}ƒ­Ï)cw,÷ )cIœ£ç´ðõ³y’¡h’ëç´’oÝE54'º/I®¾ªøc…×dÈ`&ÆZòÃþ«í´¤8ì ;?6{]¶Ü‡Ñòl]ô³úƇÍ4™w[MN¯^‘xÀ‹Ê÷êZd5ªQ2ëžÎÕæ½uŠÊ+Ô½&½"Óé•q8JW‹º vL`’ÜÍwYà)”²n}/C\³Ð¨¾ÙôNÑËܾ"Õ¿N’«—ÄUÍÿ«ÎfÎ,|03ßÜþ]€ÎR<{ÚuW¶çÖ~¾8G¾”¯qØ0¿ Í\Ó:ëèm]ê¼´OteáuœdŒ5z(p:ú[kCáѤöH©ÖH²¢ÚFKîŠo̬ÞNÖÌÐþ›Í×a…£ä ”ŒKQ’æ<}…­RÐ +S/Û*$ýa’ËÚõý÷KÔ;}׶ŽœÎ|î0¤YÐ=&µ;Au·óƒN×!3Ÿ¢ T%[¨uàUMé¿wó,êìA¨ègè-ãø¸î@ráúMv÷ÄÇà„Zñ½ƒ¥ ¥6zµ1}ëRû%Ô;æ,—¥°ÞYÉ í9/ 5Ó•™°$0uÃÿuÚ¿Ýö· ¦®:_¹¯²ÜÊÝ4¬%YÕ¹zÖ“Sæ`ŒqXJ•\óCêÇÑË'KŽÉóäÏ ãd”2Ôr/¥~’²ùÜÊ%µ—ÀÇkC,ýƒ÷ë»ùÅ 'mgÇ/°{ËÈá[˜Ò6:Gæ—5¦Æ¥‡O0JJ98½¶8EÑË]ƒÝ^,7•ÝáySE.íÃÕ Lù^çÊŸ 'Äìœü¬úpÖ”Üüמ˜_ïm°í‘ºÀ…æ†1g½ñÖ1Wœ ¢¬‹®€ÅÏKI2€©îJøê˜;™ûgÕ!ï~w7VÓÔO“íu†êjº¥l2gµ(”×!…÷V3åhä!¶¿ý?@Ý\[:]Z+•\ò TG0C9)2kx½c%ÛÁiŽ™–pytG䨅<»üîXîá\~ÝíÐŽY®Ð>´=±‚ay».âvìc0I<6^pCXó¾ebÿ'\Ù©™ùv¼êÄ6áÕŠõ_›E/#ÈÉ)ÐVž˜7ý0©þ:)<ýE6|¿h_èû©Ê9 œ|B;LÙÑÃpSÊÆµ(þ©©`}˜8oRÿM2ËÚ¿Ç$–kˆ±ìq…-seoÚMgÓ+7Žú.'¾ü°zrÇä²ÙA )|P4F»0>˜3 Q^Ñ[PûK7_i¸­Av^áaÝìØýÓ!xT¿³õr³]“å:šôÆTZ)|Bœ¯&Á^õ'˜Ô™Æ ½:PM¥ùÕÞM·uýk=£… î %2ë­.yŒ÷ý«[Ǻ|0LYï¤$7-¬‘`k¦ £BÞÔû6M”[ßî•” o£TxÇT‰ÙĆ:Î1èï‹ •î§rLYÝʱýôjD Â÷™QÜAùû¥õ ªý´Nt½º ImAÃ>Ñá¶­0¶ÇÀ–ë4w¤W+wõšÅ^gBÏTz;•ÏñˆTŠVî*mõ7üÐ.…ÝéëÈùòõý‹õ·mM”5s¹_¥õìåê}[ÈÐÁ:@w”Þi-ˆåeû Jµ<)ÿçÜüŠ•.' ìœU]ëÉåØk|v†÷&ìu¡®›œæÁ¿Ž7°bìsÝVîë±À.|ßô@KßMãÍc<=·òË,ŽR5Æk7OSÁ„T»DQq ˶é äÿ+½ļpóélÏ€†M¦‹>?ÙJFì]EæMôB*Å ¢8H †×_ŠB Š%‚^¼ÉÅßï¼m8ÑÖ²‚PU*ãm£…m(íx „¿xãÆÁÌÖ l_…qp#G%éÖ ú,ì6´aÏSÌû6y×]•x“€ÜxÖÉò †ÝÊ·ŸtA±C‘#:Äa¼‚rE¢¢T[ç"ìƒi=nS¤½’ã1û€6¶ —d¶$.¾x÷eÝY”^Ú0_a÷)0й‚ktpÄæ~{^kuV¹áËVk¼å­²É ¼6Yœ[ÐÈ@ ìMÑTvÞsÏ.:Êö,kX×:&ì\Õûö‡œY‘~Pïó“–—jçªN!Þ›½>OV?„“g¸FÑ#"îßÃÁþn<ÿÃ%«îtÊþ‡^¯ÄôdÈbY÷cywv¥rUr®:Eo»•žôzžon_̯nÖÜ\eªº«dU·¨¶öÚ¶™ÝëRSHu ¨à¾K¯í6}´^ðB¹B‹" íáŸ@©±Âù¸“œ~×Þ¨Žz¼×j”I*£%… Qz ªTøü£Doï•פ¹¾Ç2`Ú-·õbZ?É|6dA}Üï§µE3®œ×¶=hiZ5-gÒ}«å-­þéŽzR-ç‹ÆE5‚£¹!‹—¹êÑËqõks½«~5:3©´ÔòzE[ÀäÖ˜>³53¿Çõø| ¢ÍééÉ37=O·\§yW>¤VÕMÑÌïqËãi â¨ÍûkA“;Ì X{} ¾Ëî𛨪›²ù ‚k`]+´tg ¿½sû\¹¬Çêöæ­0ïkˆI«DŸ+!#tšúJÕÞ#§¥f[&}ð(fJÆHAAª2©°ÌX3Ààßnï¬Vœp¡¨’žsÅœÂKô†ž)PÔsÁ£æVÅÛS±yt…Ò”‡"M±¼à¶tK+­Û7ôºïêÌÔÿa~äæÅËâeO,RÖ]Àè:®Í›Öy«Ð<6‡õ&®g(V\a#—0c£—x)màÎ{s¼i‰½‹á+—¼×õÅ|û8ÝÎ{P}òv6ù0_—lLÝ­•£ad½~ôH;,½¶ÜSM)·EôA’H ÆB°Ä©ŠoÒJv‹#o×§f‡+Äqâ‚/LÉCˆA]€rTaAÝ*7tðÈ à€þª] Bê² [Û6¯p;4»žS˜-¢GÉ'|Òä7<þ'¿<{S ÛÒ]yèÝÔä_ÃU~¹ï!+ä1]<‡Ø|2`oßþS¹áø®+Æ0 —]1 ®R r¥\¹}ý¼S9Çëp@Þ6q>ZL–I1/É«lü[P¼§ç£—Ÿð…W]Q%`Â0v—J˜Þyuí™ì3ȅʱ®n;þÉÆ«;_¤:i{‰ï>-#kYÙy}¿í¥¾pb=ô—@MÛŸ^¼ºõØúÐ]yé ^ÊMùš`5¹3­9«0 Ý«z+ A0¨Óô‡\*ÞÑTã}G퇵àµ-<¨Õ„ ‰eB´ˆVŠB™2-Ú8d‰%ásªÁf¯YÊ$2cc,|K™”Ê Åddº  &÷jÿÚ¡$ÈàŽÊwÕƒæ¾$ïíÀ¶â§Á×ÇJs\]¹Ž7$ü$fžJ%Ï×uµ¸`éæI"2»|÷õÒÌš+m_÷N»«Ï]„Y[P ¯·¡Ç¾¹Iûï0›Ž^N¦+¯>væUn™/¼°”8•âÖsB VÑ\ówo„ú™%GfizÿÄÈa|;¦Ô³î?‘¤È†íì+!²þ É[k(;”RÔ°Ž —ÚÞÑ{Ï6N‚¼.Ÿ¤ª¾o¯ÔpJÙÑ'>Þ៺=Áqß¼÷0ÉÉÛÄÆå·OjÌ}6ï|ƒÌÅ‘]̽·—ü‘fî:©wØjvãÒÅMˆiV¹Ü£v½‚qm8¡ïaË%ŸŒÂÜž¤V£‡èúIJ7jßÏ)¢[U ¬0 !OËh­–.Z eÔ£ -ôÛ—^O‡Áoo 4¤v¨ÇiAíAËI»=Ú0®mRíÒJck¯úBü2:%I`ÄGX“ŽK"€È ¬Ì“3ïvsb39YÌVêB¬ R gKSÊ’; šXRæ:¬ßÞè „ó3A0]jå„5Qr`}X/e[¿ý˜ØÀˆögŠºg ¡­ðíz¤?w}Œ@ÿ&ÂááÊ)ÙìußI¯C”½µJi ÄvzU>‹‚;¸©mkítg€j‡:;Ë÷Ÿ`‰=×ÃTª†t¶t&í­Â9—B”….„ AE+Cá(‘‚ æ[§êw»,ÜúèIéy$BSO\Ô²ŒJÊ¢g’‹&˜Ôõ’Þžm/ÿ¨Øö–Ïœ{›pbÞ+1ŒÇ’n¥ŒÉX¬€m˜—„: êŒÅ ª¬ô%>›¦ó0$ó™E_=<@ðuÙŽ)ܵDü'{͆ØÛZ ˆå7MÝVðï’9=¤¶vu*ÔÑû&6Ž¥^s«Èºw‡wVÑkAxâG>ðÄ•‚N*½0‚¯FâP÷ï3Ü3g¼ñÔÍ€]Ïœˆj°ÂAàëpl [ï¦;l˱ÇùÕ£Égê8;ÖÇÊ7¬l¹Ê[Yù–ùν'M*}ÃOŸ,»|惇vX¦ ìÃ…õÜzo(×½NaîÜq%3%ìþ̲™Òž—Î4ìüï„«Û‘Ø•!Ç?*1ÚnöXÌ™c-$úpz@ªÿðýR(>‘Rª×XY%Ú CdŒY™ç¥±¶VR•k×Ó†¿›Ôa6ÿv‰ ÛÞ±¹|»¸\´!²°ÄË—XÎ SR戲ä…ç¸NuþÖNs¦Ä«þšnååÒ¯Çhúôbmç œ!ôö’j¢¦Ä•$ÉkFkŒ%ÏžŠÂbíÔIõ¯Œòm¸“T¤´IØYC3Pg“W­Mê=9T)LlÃxz‰É6ñatmïài˜L›1ãÎ_÷1´E]×É ÚuSÙ÷iñµÄœëû$9å¬úp†Y>OÕ˜X)äÛmûOˆRP¼`àIÊkÂõ\¢w·ÑÁÐ=»}B;Í cø+p£&àtÛEêî9­aOªç7Á†§8*Ͷ·ßgçÐ~{~$ìÙ÷:A™XóçßêÕ:áÛš½=y ¬/×h"ÃI°®®©+K¿êNš/Ȩ̈N–Ã,[ÕÞ0EÙ0æß>K¾î:¿;ŸÎ9‚ñëC2g¦3ŸMb³ºá'(mP‹Áªm³×³_¯ƒu-~¸÷ØáÉ5 xÙêV©&jÿ˜_Á˜\·èoqQ~7Ï:ÕÕ·ºB&hqY4&ÏÙœBï–à/Çã<Ü¡ŽÀàG%[ž¤d9RÇÂþ\+GºágOÊ“÷¤ü0¬C5N‚ì˜ö•šu'ÁèŸMÞy5ÿ/Ðcã°«Ëê{U’¼gÓñ¸+hvý · Í%½ç½ï&‹•¨žcá)*?Ï"ýÐ"½h n¢ËÀ¹¬öFK%dI‚ñ{KôZÄ;!ý(ñ”ƒv©›Ó, -ô¢t+[ïg&h™Ä°¨ie¶r8VŠWžbŒHbœ ÊEb¸ãD5©ÕÂ7—"]*è“j^aë©æŠÞÝëÖ˜c7mfOd<¼§v[“[ô€öšœ³N”T—’2 èÂ+Œ`/‡Þ±¬ÐðÚ4;÷m³ïÕ6}-¯uKl~{´¤úkñºƒü’>n*o¼e½L¯æD{òê&B[¹uÛc—©Ò)ÖU=I.‘,¿ÏGçæj…4Ò¸_9Õ†Ç;Îf6Ц>Ãï^† Œ$†¹Ê5T»úù)ïrº˜Î*ò3wv…*Q×Èq’ÞÒ8Ø*¦µSÊ•*]I9µB£šZÂQ3¢5ê½w¾üu-tWÀrr®ó~«ι Jωu|ühx‚ã/ì2Ä™®té€ödT³ªLÖîÁ·“åÛã÷ð}ó#•·ß÷¯Á¯¸]–_ßr—­}þHê¡<Æ]H!à +Ü]ôc5¶ß{-]×iߺ©ùÀßPl¬²Ûºy14R¸8D¶È&g6x­½wLKË• ,ØèáT•œGu R’õ?òra‘ÌÚMTó:Œ#Jdø!µtŒ©"bS´¸[rs'i>¥Š/)£"…Ð1oo¨a±¯>èƒu‹r©Ÿ­yÍÖ•-vH+TØq-°A:d˜Òàq2(<ç‘›|œV~=øZ;»ýv”„÷«8Ô íûñ²9Îm…‡öoM€h5wø£^¸³¦ˆ 6*]FL_¦FP¹SÔ«Õjà@óq1^²ƒŽGTËÚ5·ìyI|½J6íÈÍÌi5mîT5˳Tãj~Õw›;[›³›Þå•«yu²Úä:Eí$;@>,¯¸µ;QTt°Î\Q:gœ/‰)mÔ¾äF8[w¢lPØ­mSz P3‘Á:àVuÙ§eÊ£;=´›bÇâÒš¨$lÏ £{Ì«/iT,¸ Éãºç6×ÏWuóÁB‹»3¤Gòî%–‘ès™’Ÿ(µ+»«›/=ûØê¸nëhê¹™‡6¾!Ú¸+5YbiN%|t¡› >QM >*Z0#@"yá\#Ú–¥æ©š—éah}ñ×i.J¶çÆ'ûè—¶> lMºd„8ŠÌ)¢Æf¹œÒRˆå$ß§N®Ûϰ:•½ƒ–e°¸jé2gJµeŽÆB8Cµcýs[–ˆ|èµÕ<‚²¨­¬Náµ Np¥aÔ%nšO¤›i—B"CGsôÌ,ãLÏKŸZƒjOЧ›5õ€ x »qçhàìtús ¢»’”E¤†•ªÀ¢ü¥„˜XÒB‚Öâ4Õ;„ˆo†üÌXÛ°2РÇÀ×VN¶0!0®+[ Š,:]F¦ÓêÁmÍÛVæÒ.HbŒ²Ö+%LÍÑv4N:I(%7ϵÂß¶˜ÍÉjbÁdvíe‰+¥y"N„µÙzÕ¤wc¤ÚsEˆŠBXà×hF‰‚K§ SˆÒ™™éCÞ3†6÷ÆïÍû¾mVY¯ç¾\Ú`']õŠOø¡a‘'§§§¯Ú‰§—mqñæç ËÇ‚•2Æ\ÚµpPæß-¼Y7rSÆ~ôÓŸ@Û¿ÅÊ„NrC+¸²dÀ ˜ñÀ}€ƒ`A¤åh0Ý»33ùü7W¯›\‡ºú01ã|èšÀ©V~ \£y.ûäp‘(·ægÓŇ³“æRÏhjÿw6»˜…ÏÕtQ÷j¡?µÂç£y6 ¸ÆúŽIüíd8ì‘ ¼äº ŠÄ‚Ä( „(ƒ§¤8¶^\5¨{ï}|ä‹Ç±‡¿Ãåã]\“é»i}æ•{&·»8s[;äZ\V~~v|w£wØÉY¨>œÍoÞÊSIuýÙ¤vJ£÷ßþi)ó?·šÎª£†ªAs·‰itª²Í1f¼õ‡Åé.†›ÚäÖEÍ$|šç‹C¹~ëÆ›8xƒ§ëä´štÛ×6µøFÇ9fÒÜð™.æ‹&5žN%¿{J¥›ÎÎAÎO'_Ôn¤}sëž’ú¿æ¡Ú‡ÜŒìúbš/:ç€e[5C+›¬å5°NgëPÅEÿ;̦¢áÓÅt–RvÎ͇°v»Æ«Ø¾:ÇJbSL8¨Ÿš6Û‚³ïªX^„»…ÃŒmp%Å0RU•æ¡ÑEÈåÆ'#?3—I5΄T†Äs:z·ò,j˜ù¥Ôa~q$dÓ"i/·ãcf|‰Å'l“R¿º3Ï]&N0}næ¹E½™þ=ÚŠɺ 5(XÒÿ¨Â%ñëÉçÓtû8"­$MÕX ˆ¯ìmyÝ÷Ç÷&A9ÁûÇ÷¸ãþàŠ¿ôtåÞM¬ŒKæâsƪÕb~kþ „¿WÓL€]u/ †Ù'KM»>×µºHëòÍ Õlùò„“QkZŽÂÇ0»ƒiÛFâÃÖtÏ€M˜fCœÎn1˜vn¹yif-›ÿÌ–ÖÄ̯ÆÕ›zxé ¾šç%ôè»EÏ Óȳ¬\^‚ω¡~7ù8ûEh (ÿ±jByˆ]·Mk„M²÷ÇÓ:/]€’5Rš’È–ðLÿµmÐzru‚Í¢ÿJGGézˆf1žÚ¹”dг¤®Ë•û†˜ýZ§j¦˜:·X±m‘…œÇ‹O iq8§B<= ¾åy/“ŸúæŸ` O/ûM†îSÚW*+ÝÙrS¯NZÎÙÔÃK*È;……]æ¶uOfÖÓÓÔ¹[nC&£— ú½:YC&@ØÕË·ëBúébÒéè/ÓKä¥'Èrœ'Íè Ø5@¤ÂÚ*WIðÜDR S¦ Ô—ÓÅØpuÀ©²ÆÑ$0€Ü‚ýM’ ‚'õº=¥†Ž_'^·´«oà•“é¼ñ»üþê¸äß&£·?C†T_ÕÙS7Ïz%p&ßùª’˜HÀ©ëEâ(˜=%½ë_ß»øÐ²cxµ®añ§w/èa2Ÿ$“…¤&F¥/„ÓÞ”\XtÊ¢—­q Ûúd¡½*Ho¸T!B Ý¢wA›<ò7çÛ'pjâʢРºð´,iP.pSš’ùèÇæ8ò_l¿f+ ì¹ä¢.¬16ÚROB,bY¢Ã=ü“sžíÜ#oâÇ猜|vÆ<{-îòZ<æVütˆ¿ínš©þfèé1lg‡“ù×Â`RÞên¾ OÕ£ô×?7â;™M«¾€†(.»oÌÒ.ì| =÷°Gõd×Ï.í\#l1Ùׂ³Ç.Ìá€ÒÅ-˜$Ñ›-.²clfRµŸ¾>¶šÄžt:´Ö“bÍç$¹LÐVi8QD˜÷j¼ O"|q3Îubp840» îØxG é~êÍ¿'yyx¼a’·•LßIuSχQAÈïáÿÁ ¼ÖÇp‚+9üK8Ù«ÖñR`pá“ Þ“ßWÍQãk©·xzôíÀ ÷ÂSYûÄíü·”Vضz¬ÑÜ]¢)¦wëÍÎ!xf:^¬xšÓÁ³0©Ú^7^qkÛϰÏ9ÖLJö}˜$δ‚§M2àÑÒFpt@ÀÛz î™Y•"¢óäpØæ›ŒšŒ¥6(eé„A+ÇJ.‚Z»ƒ 3¼m—|sÉ!ÛùÜ0oê†pa\øñÝûöÞ¼ÞF…ç4Œ³ik”x+Î qÆ(]º‚†DÐô˜T¡tð+|:DFSÊÆ—_šÐú|w¨RrÀôòIUjD°¥zË07>^/ì¥ÀöYÀ8··÷¾Ó5õìsyö¹<û\ž®ÏeéÖxöïoãß_Õ‰BR”aSmWn€vÝð8kܯR[î“4æVY)Œ0¡„.\t† #sQˆ’Z®cjçòò›n\þËÆÆÿf¶¨Ï²‰oñÏWMX Ÿ~yù#HÛ¿N¿É¿¡à_Yµ›Žá»ôPïëW'-tjó€Ó·ê–.Duº-\²^©UWŒ¤N]\«þlÃü¼YïCe VôE0·Šg"hô’ÁèK¾êÙç,ÑTcPßΧXc°ú54¯p?9z”¨\/.cÂæ'²‹1Ñ~D%ÏÕM”íÇïöþ9«`K Ð´/¦oÿ”Ƭ_î¹2ÁpšQ“ÙóìK| _âðêΗ |ö%>ûŸ}‰G{2Ÿ—/ñ¿ß?ûÜyö%>ûŸ}‰Ï¾Äg_â³/ñÙ—ø„ þìK|¾DTŒ?'çîçÙyö™¤øÂy6¼ú£sž(ŸgÏγÿ$çÙSó7}óÃûgÓq+¬Ïþ¦gÓ³¿éÙßôìozö7=û›žÄŸýMOØßtojÖÏžƒ:xžvvÔðGçài7üìåy/Ï[xO¸?eÎc®=£¾;±»u‹à,Z} ÿá [ …Ñe^F³–öÜ×Ýi†Õ<“5„µÍ®¶40ºR}²Æ5·©[-ýÚø7ºözK´?ÅÎy¨b·n—\¼¬8%¨Ñû¼ŸäŸXz$zsò»!§¯šÎ@ë[hÕºµ;¹›kÚí]ÅÁ šàÞ¨š?œZö¡Â>}ë‹}ŠÚSÌ2ߟ¾ºC—kuÉ}I²ÒQVb˜`e0 ²ñø¸ÊÙï«OçæbU?›O›oï¡›=G­ž£V·mé1„îOèÝž­‹Ý‹Œç(8Úæs=‰q”’´Yòº,Ý«¼ 6HlsC" DI/04Ê81T³hõ‹7À2r‘ÃØÇG’¹ñ{uÃxrT­:¤½ »«E3ü²£MH¶·Û.Ú—ŸžáöŸ!ÚŸ¬,\Ôm™Ó “:—¯£ÛÉÄÓ¾Ñ×Lñ_MŸÆ,þšÐ8¨ýØw*Ú¼qhDkW^p|{¤ò–¢†ML#ú0Ï|V¥CÊâÌÁø®xïËj"¤òôîž³+4ßF’ºQê…Í‘¤ÔÒ1}7Áõ§ëìáÕÉÈÍöxZ†Ù¯`5°ÀV8O/Âäî¢Üµ4—A/B×ÂdûKöÛ)md¬º3”þP;;½øBÈeÁ3 T~¾³\Û¹éø{‘!’ªJçö½M¯µ &_~áÂrH,;Œ …#ìØæ)TÖ*î–y€b›Ã6okcî¦hÉ'Vp[¢ •%^Àl¼82E°Y×NZÆAÚ3½3)Œn’ÇmæÈ 3›Ÿ4UÙ[4ÙEŒ©z•îd´¸ðÀ¦^¾BƼ!ø“Ü«6 ¾›_i ééÅáâfѸ°:OSö6ÅÑÛkyÿ¸ýsók@ÿüäö²ŠË$· M3ü“†`Žb7ø´»ÜùäZ³ã¿£äF«0\Ž\5s‹óz”s<%¸ºß4³WM'uœršSP cV^ø&ˬƒ§´Ë{ð•õþ^õèeÎwè¥I$/DJÅÊùðäÑklIÿ¾êÎÿ›œ€õ¢´ 3Ô…Ú¾¹×6Ò™8ÏÝ% ÑKÑ2pnÐBFñâMÎyø)ÍÖ¦5¾Zé¹\Îv¶yäÑÈ‚›H$Á ©v"R:`áÒo ËÔße%Vœèm1_ ?BÏÿáÚQõÆ”t•Oql~9íÚ—!QÂÇÞ뎊a¤ón¨+C³é$u0Ké“—)%ÚÇäšI¬&Ub n1ÃÈ–пظù -XAyá$.%3Z°zSV“°“½&ÒÆÆ‚žDZ#ÌúB,ÿúÅ8Äù~eâ9€0|›’ïÆØpà6ø?à`DF±½YøÒK2@î-dGÝ&né ­!<Žúðdý4nøöÅ›Œ_½ÆßÞ4ÿôæHKØPÂçìãÌ–T”“¼Ÿ_Ò U¾„°h”ýÚ° Ä£tž[3¥°Q›h…÷`”píX)|(Œ* ô3#º÷R}&·grÛ•ÜRL¾¡³îªÁ¼¿Ï&Oò)íTu?Ní*@EHWŠÎêïU}ž›ù¬ªf§£Ÿ1:“T‹FåÈŠÿ¼wòxÓ¸ž£?Ô‚ñ"L€ g» 6w†òVS§øŸ`†öƒ4)>RPj$ºtºÞùBâ-ªºîòøNº7ñ®ý[XzöæÌ¶™Mrå\`LZ¯µ7Æq#œaA”œ•À&mº7.Aû1GüyæÅϼxS^¼Û]®„Rx— e>dðf÷V¾Á _~‘Èm ÀØÒ0$,ÛݵëAÔÀ»'³¶3ᔾ4 œIy 0«,8·ÌQ¦Œ»cÆ?¥¢-[ób,D£Œ\$heá0¡Ž‚}>üÿ¢™÷Ž(n/Ýo–Ý;fú._ä\ß²QŽ'3ö‰ U3êp"åY!~߉§UhwJIœ¥ï³#"ùG²ë#ÇJÛTÝU„kß_N™ÞneïýýÞRŒE ‚Ñó&pVJE=oJOÊn½<‚Ý ‡çúìxäå^#ïhí—ûÁ=®Ÿvãv&½ùÈÜn£þÎ.pWÁ—ÊR¦„.NiøDEì@ñå—Ë ç{3KqŒík&Ì¿Òݳ81n]>œ&œ«ÒuÔ×¾—f¹…ù/]-jŽª‰¯œ™·Eáû6,¸3ÓV½¯ÚpX9%—„*jÊ£®Ë¼$dŠ uoEzxšÏIˆB‘~%Ï¢äî<‹’}ˆ’‡µ(>C‰2l/tzön²¤Ô.Fb‰ÖJ ƒ¿¤æ¾ðÌjc?£‡qø&~¯räû4ÅR’äϻɒqóî1K“ÆÓ”·y³jùÛ³/êYrÜ;>™©bôÑâÕƒ#=škßl&×|XÍ{wº²ðRKº Ó{œL×£'×'!M¾cSÃ$7kVÕëhÓ {a|*ÒÕܽI½ºêßX½Ç®÷+ËH!HTL8¹(¨TR šgQ(§|ÑÀÿÞöÑðDŸ—L;€…ô,Ùž%Û³d;¨dÛ‡mô,àö)à†m©ž ²›h+(+¢:ªbeðž:b£ÐŠ{å?#×_ºõq,Õ­ŽUN!¨~A@õÊd·_í&•æùÕgžþPÙ”ùúÒ>2ˆ–GÕÏ¡læ{”ð¹ÔK¥†|4!Dˆ ÚpGM_ä5ß[Ážç³â‚ÇUéï™n¶ïg^x/ÜS*Ññ±Äa…m©èìXÏ›'9è›Úº²dN—Ìø¢ä±ˆ†SM>fØ=x—ª¿øo®þ^ïÚ€äJƒ?=r4]ÕáTWkóäb:™$–%•·-œóøµOòi{• ;]ÅΗϱ)Ƶ‹ökM¶q•p M>\€*>Êœ›yåRd˜ÁÀRgø`jé0ŸŽº:Á¿|5J%©Û±À&Å55¯÷Ùd{yçæƒ8ínõæùI³ïDŸmßpÜ­kDPøcÇ×”x^-¾a‚,,09Ì3%-¹!"j/ðʸ–buì.Á`°ïS'„Í-9+,õÎhf  ¥2Ê•Žz}{ëk8aÓ,8rÝë¶æ5ÖXo Ó¨Š7âTu;ug…â%²šº»jZgÜÙ*åaJ±à©ú0Ç–MƒÍÕ=teöœ6UÔ*'•¶¶±Å Ñ ­ˆ 4±XCYÝyÕ[·ïò…!ðÁ{BCiŒc¡ Úf„•¥]NòçÔ?`ë ¨á˜G#x ¯ÎK]”‚ÊÈKS„åè3Þ~|#­‰J–AÙ`µ ^XÏK•F¶¿­®°ÝòP,è M0@¢’Ô°°´PLrJK!–ÃgÇw½clf°fþ碭ôkÿ?ë([é(ÕùyððO”µ¹^L×îbn~ 5¨èß}ÙI·‚8±°ó-Øç`OœY×HáÕZa›íº(ôkÀì³qÂ~/Ën®=wµØ>yvpŠÏ…õ@õÌvæ?Ù^2Ë–1ubA“gôy² šúl̓¸&ØWŒš*»v^xJ‚Rš©ÿ¿½+ímãH¢ß÷WÌ"@@5÷áx 8p6ÀìÄØ¯AŸæ $‡™C÷×oUuÏAJ2=”iK„2‡Ãîžž®×uõ«T<Ù¤Ë`Ñ©]ZAXËf‰_üI„ODDþ[8Â@zq‹HwÝt—(š_´~·Õ¶™c'—ª‰:ó¼se©ªuJz‹F;wZwL]¬¯ gÁ¶hüMÆ I?ue(AÚ˜"÷c…`J…‘£M&†/ã-5l Ëùˆ.ãÅ}BN%G—Å´Pt݈b±`ëʰùáT^™*âÿSe15´Õ»3=kïz ¸pTNü¶ŽÝf^|ÞŸòè&£(kkÛ®° —Tcn’­öC€•¨DNÛR޵Xk¶ª§Æ G[(vŽ%6ÍZÁ/@Ý74‹XQ±XQóu¹¥µŒÞ_ÁfOcòn`Á`y¤šw¸6w·*ú]é×xHxt0Á@›`ëºN¢©œ sö·'sŠp‹‚×Õ»Û  m_L{Dìi^µ×Ú¦¬ûá³~ô¥&íÁŽÎ â†öŒrånkH¶Àê±`w¸¢ñp}܃wýÙ¯ ³Øë,PAèÁ1·m C©æÅÂD’W[{4ƒð'o ëorÂȶ5zÚ¬wÀxêDï÷»#ÃÞ™äðpñš¡vyóÇ“þ(nãæÛ¶¢öÞ† Æ$Š©ÈYØ”˜ŸîxìDz×ùˆÑÞ…cj±Œ‚û‘¬zÖ£päN|ê…wÌÖþ ¶ÆsVŽ1¹ŽÐxÊ%Œ[Ì“~ÒE*1‹y+}FuÕ6}Ñà‡( gZ{ø( ·ŠûVè^-«z4œ.¨Ý¢¨ƒìì¯è—Œ’ Kdš¤\»‘«=×c!fË(¸¨%üó‘FÌ&8%Ѩr@Ñ`.YÁ°ýñ³Ø¶‡ZÊÔ‹éEêfE{+…îE@@I¦(6h®+±hˆ>‹3ñ×§²hQ+¿Y²õ´j“ΧsÕ&÷s?<' Zp—ü¢±¾5þtÐl×Üà/›jºRÕŸK_²­íp{°ö>ƤJúžç‰®aežÎ´bLž¸tIþ¹ë~B‰ŠÎ‡Ÿi?²åú'Ð)ÉSs^þ5ë6$_RN+èꪛު;ßM·/U=/ŽQ}Ou¬%–„2ñ4ztöd±b< C Uïé“(¡ÆˆÃ£`Ö¥2ŒÊMcÐØy€õY yF­÷’>.+7åa»‰ë{"Œ‘…‰›É rÃ,òψΓQérc螀¿z©ƒgÜý8x„ {lD]{7A&d–`Ò¯ bͽ²ÔRJÁÛ«k_ÒéÞ€€æ•ví°ÕüxJ)Rjeý¬ÉÒAÇÓŽ€ÜàCO­ùCŸ|êakþ ¯…«rÏi1j2é%A…Q!ÜdZËPÇI$B™¹AÂÎj å‰ÁæD¬ÁÏsä÷÷ÑJû;¶bŸÐÏ×1ºšƒ‹Æ8Ys•AØö’Ù#÷°§ýòõƒÜ¤ÖÚ}_(þÛ˜»£ý.Å÷/sÆ‹b1vÜÈEÞ3ûîðῬÌÙ1Þê.J÷ưwÊË9/E!Õ+÷åýýF¬¥g‚»í)ÎúHø×ùZ` ÔÐé €îïYYDÌ¡ÈÕ ª’š¶LøH#×µoë‰a¸t@Ë·A¿WƒXòÌ™tØàT §ñ+Œ6/—ÍŠê•Ù]¢m&_äõ–âȵÂú…®ëÁãJ­BYª4 exÚ÷’Œe»HÕ2ç}T•ѡ̞3E}´¤)E§Ø¥×ÇOï_À0cÈšØÔë¦vhÉ+CVI¤+ öWõqHŠN?ì#uª"èȺY´<}^ÿ®«93óþ)¿¦¤˜èJýÝ`,¸5I˜¥Â‡ tSOèD0éjpž°—©Ì»{ûHá„¶ZØÕO¦EOܽ¯£©:63õù OñuÁð¥{X$¯ŸNLÚ˜çä^v–Í¢Î/é¾ÁÚ?èýj+Çy]zÆÓff…&ßFõò0PøLؼ¼zõñ´¦’VT?]¡¸?Á{+)O”È©ðõéb±(6(Ò°ÚTõâe¼\䯪R\ÝùpE©þLçVESŠÖgsçË+øí4 Öëáoáãà×W4³Ãýóò’Ibsº¼ÜÕ“t¢Ú×Õ«_»Gk£þ¦·y]¯_\]m6›™,n¶0³¢ütE>1;€7æ:Ͳ7KgÞÌï&˜r‹ñÎWÿø?çO¹[ žõž¤?/ÉRtxœí\ésÛ8²ÿž¿«©šJêÅ^@b»Êã$;S/™8‰gç½ý²…£!qC‘’ò±ý6ÀC’­Drb{’ªI¥lÄÕ>~Ýxð·oOÎþÿô%™6³œœþöÓë_NÈho<þ=<_œ½ ÿ÷óÙ›×$ا䬒E5YYÈ|<~ù눌¦M36_\\ì_„ûe5Ÿ½_º¾׸ûs¯Yi¹o3:zt༜åE}¸¡›@ѶöuAü5ƒFWwþXd燣“²h höήæ0"º}:5pÙ´Ÿë©¬jh;{µÇGcì¤ÉšŽÞœ’_å ê¹Ô@Þƒ… ãöõ£ƒ<+>’iöpôG³¯ëzD*ÈGus•C=hF¤Áa»Ñ\×û¸›ª*Íþ2Ù9ѹ¬ëCWɵ‚×n˜nœ¬0p¹ßÒüFf9•œ‘<"?Î2cÊæùçZûòòªó .º^N\yÛîÜÕ4ƒJVzzÕuósÿ¼s²(ÊF6`ºŽóœøÉ@íú@>!gð×ßööÈß¡Àî±.QWäEyy5åïûŒìíõ•}ݦœ·EKÆŽÚÑQLY-®³™¬®Fžåí¬~€b1Û›ÁLAUŽ^â“Ųn)û!`Ñó•úvQèeýWø´¬L:ÖGm'ã…h´>ͮ쓂ç::]’ÜvxæNÔk7F#Uý‹v²tÞ¾«V'–“ÑÑAcPSr¿81|ž²#¤¸À9ŽÖä—jK®ò×É.ƒ’>3xœì½isɱ(úÝ¿WŽð‘ªªkéªñŒ"4/sÎŒ­Yl¿w¿¼¨Uì3 @£Qô¯™Uݸ4 (ó,#è®%+÷ÌÊüêÿ|û·w¿ü¿ïÿ8:›ŸGïÿþÍ÷ß½½øâõë²w¯_ûË·£ÿç/¿üðýˆž’Ñ/33©«y5˜ñë×üë‹Ñ‹³ùüâËׯ///O/Ùétöáõ/?½þ„cQ|¹ùó‹yïÍS?÷/Þüæ«4á§óñ¤þú†a¨Ö:¿ž ÆÃ?çanFøìá_‹êã×/ÞM'ó0™ñËÕEx1rùÓ×/æáÓ<¿üwffu½ظ1îGµÖ?6ʘ=“)D<…˜Ö*aR¥iÐ$Vø—–GÝ †V¿`«×`QdžMpNU6™âÓy÷ˆK>:rórË“Ðçíð7ºx¿ÞJ•MSÎFGƒŒŽ uËZôìǵðòùÓ~#«IV|ÈL«‘[˜ql„Al¢À§– %9(åQ(©þ&™°}ÒÇE“aß²ó2‡Jà.̈#J!¶Z‰˜q#¥Ì%B®ý6%bû¤OsìUêçl760i…ÒÅjfbšˆ¥©Š"Í Óo’ Û'ý Z¢JzÃxƒ co›ŽîÔD­Ûdo¢V óvûDSTjh‡LP.¬C%PËYr™„_´ ª,ó{\…ísÎê_ ×¹y!é×á±)ŽëXº€'ÛŒ6ゆëИ åQªZT‚8‰ý™²}Î[˜<%«l“¬² „h u@¹eJEaÊšŠ(àì˘t^fæ™´}ΈŽ[ßöÇ„–KïÚ’šü(góç³öá)¹3gŠuŸ=»æQküã)A[º›Ä²P²$&ŒD¬£(’Z³$„±ŠÕ-Ž~Ÿ¶të”'Ö¡^Ý?kEžl0ç[l0 ËÐŒ“Ì,¼Mv&û…/@\ÿj]eóÖEà‹u\Œá“ÊKýÎΦ°Q~Ê~šK4íP±tLšø"'Î;ÖD†¼{•ËIMˆ\H3­ÊÅdZ.üsóp¾àÝÉ¢Æõu~¾’x 8r“Ô~ܾ&)­ï*ÏJWûälšÕÿ»Âw¿g–\L3=%&«ç¹¼j_ͱk?½¬s¢5¹Èš©·¿¿ïh¦àií@';‚dè F'.Æ0J/<“+<È”…ž–U»h»Àu°­¬X§ƒ£¥óªlJˆ¹7¼¾[Ãá­{_-Ü£¹Q×£›û”q/ÝË—SZ {ËåuJM©ùs”q›Ю¦Ó/ ’T YL¹¬PQl®0tí$ S^¢eA9ŸçÊí’š|ˆ_ÁcR2âÀ4GÈq^—8¡ ÌF³Ó îéky…òÝôŽCZ[##!D„lJL€ ¢˜FRYaXj<‡Ö>{†ÞáxÑ”õq,Ûlt¾zÜãˬ~$oÒEÅΙÜsÈsã@ R_Vϰ†:Z2¦•é`ŒýX¨z>8/\º4pD/ip0ö’kwÔÛ€U/yÇ$„: B~¥˜ÂÅ3,ŠLÌ4O U÷$x¯¸•ÙÖÓàïƒ!-·Šª(hKMèu)“aÄKÚqVη’õ$¸4ÔƒÀ¢ÀpoIŒF2äC€8M‚ThÝð“#[ià= -xy02¢Ð¤ahE5ÒTF‹„Q(kA dçù6^½êiy>˜Ó{§€S)£ 6H Î>¹åŠ ˆu„¡qOÁ¯e[—ö$å'—`ÅÿÍߣµá§œúé§ïéo'Ä;õÍy©;sîSÙRý@óþÝ·Î۲ҙʯˆ©äEpn˜Ë¸ððnxÞ'¿`ã¢ëÊáÃîAõ™>P@n¼¾Ö-FM¾³ÅÜ ‡D*䣃ç@ å™–]5ßǾÉ™FºrŸÈç½HâTĹàeÿ^˜‰í’,n28HVwˆ¥ê›kP÷2ž¹~-pǼ²ÚÓåL!cM?¹?c5/n[ånáÐ:ŽÇ¨8±"€P €Ç6Iu' ¸S ŒùðnÉ&ê¶€¡ë£B€î‡c¤‡ã‚dˆ¬âik¤¡fÑÍQ-?5ð7‰¶éª+.´ S‹®—Ö0šÆRÒ¦¡m­’„ãK·K´Í€.A‘ƒŽD!‡0<*ÀÇSM¦?:»úñëýÂV²"«T˜7 cœK‹e ¬eЦ’ dý½ÊÌd 8ÉÕ÷= Œåa˜ˆ b™+˜R,ÔŽd X ›É’"€,• ‚ ‹DÑ0g:ÖV¤=)¯aÅ.” ˆ©m:tyÿTRËTÆTˆù"Š˜§a(#,¶¦á:.7µƒÊô)Îã?„†`¸‹–a]ÄO’J¡"›ôÄøg§v … ´ø­òV¸Ð̇>Èc¸ÔùÂ4U…^Kɪ~ê<Èàï†Ha´EXδ ЪÆ6E릩¥Â&!†¸^º9ü„SpÄ>¹®[°LòØ è4V, i`˜ñȨA„vžè  !õ ’Ô ,5©¨‘‘ÒA BJ˦j‚ø@P׆ÔW3U柣úfEVH]Ÿf—39€UÝ.i-V¤m[raŒ¼Ôäþ I¹{²T ”Ë05H“hí’ &ì^eˆS¶g–Düä1Ž_ëÚâîOöÉ¢ÀRâȃæ @§$çÓú–Œ%Å>å¸rZĶ3D ¡µ2 XOé?¡*_g;Ñ’X×fÏëbkØ>—›sž»ßŠ@a‰¨5ŠÅ,Dÿ\qæv&"—k >®rõ= í'v ýï}Ã.RÍB&©µš‡ ‡Tã[|ˆØ0â.É‚eºÀÚBBŽû'B€ †\$!zï85"bˆvAʘÛDöDì–/X.ù¯ågˆøòœÁ§4¾œÁvB|Îàúñ;ËÌ»ŽÉ4sKÔ¸äÛ™ªÊ…«ÊʆÃ>>öþX Ð5W>tÁ7÷.û¹ßPXDh…´2Ò(%Q½BaL¹ÒV3 Xo¥«ŒûVcÑm2 UÊx¨ce`£¢Æ"¥ArÁ9E^DMžOwTÎÝlW]Vˆ  ùj+³•cÍR¥9ú—](B¾dÈtD¦'䕬›Ó2¿ò¾b‡Pa…¢—Ÿ,ªsè0Ÿ#­ÍCù½JI,v®uÍ´4ÝÞgf¡»}±^º}R*ó)§a¿´plšx,þï2+ê}òøm*4qçK]¶©.ó.~$sÀ:_ï³·³5¤h¼¥•¨’!oS¡S…­e¥á=Ì¥·"[ƒ–ž«Z.jÇÊ‚d³˜L6.iç{yü„ ¦M5Ö¥mÈbn° ¾º˜"r¹…zÇè{"ªâH¡3šÂDf""aH*»¦Þ8üýø‰WëÌíQæ9˜å~¶iuE X¹È‚Fè÷¬0åE½÷áªö@S’yçnA‡n[•3üðg] %ÆÙD´d Ÿ¥lÇ Zâ„"6A9’ź]ñZNx²ÿ‹Ï1ž°Pk&ƤnS¤¡Öö_óé‰ÔSx±ìu™‘.]õØe¨žÜ7Fò™(t‘®CƒÞÌ}—†‹b™MY€È+¡è mXâ"§€ß< ²2ßmÇO®•D\kÃD!Œ”:’±–!Äi¦i¼áäÉ0V» q‰º­Ë¦œ° DÝaÌb—¸ÆÑR…Q*Ñê²ý³Üa‰3®/Û°¹ŒÐÒR!¬€üÖK™Š„Jð“Ù@‡‰c®h©„ZžH¦odoKÃ-—RDÓ™)1˜ŽhlÑ'‘;L¤eö™±p)Á&iLÇ4Iu¨m¤-b‹„™²$îÐxöÁSö£Þ4ÀÁyÜÆsí[“™ëiŽ ÚoO#:›–¹ÏV¶Ëk2›¹”e‹ÜnaC¹Õ"PÅAÈ%’# –‚ê IŒƒä¦ ]!ëM7®7¥è„¼ûGÈãæu﫤*>waQÄ1JH$‚:B—+îfz›M‡a+hÙ¨‹ô\O­9ô¶Í->%ÚÅMøÛï< sÝš£;VuãÜÐ0ÀM »*í–g \”äÃ`”à"¯Ý±C‡¶;¹ÈŠîØÂ~«)×Çy 1Iâ>DZBUaAÅ!K@ ÂŽ¡¥\[š6‚—›Z®úå@ÆÌe5¤ZfÛӤΈô0"­PpŽ¨Ñ± tqNi(ÊãÁèxñÿ0 {êF| Ž2ä†%Lp`qj‚€r@¼Cˆ‘€5Žî¸éÉ®mnd+r3C[„ºÝm$ngmÛ[oÑ5 û\)à ƒ„ÈJJè„"íqTßâOd/HÄ*:ÀÅOÒÒe à©¢ AŒ@̲ÆÞݶҖ;i¾þ Þ¾oçÎpWF×OÉ\6“¡Ñ»Û7Âò¼üjéñ¢Œ©Ò, ¢=µ“IÊ„Åa‰H¬ñï­; µý#]Mè—þUoæ6Zã«r5. ‚Ð<;ǰc!ñÊsx‰¼‰uFzWv‰ª§l¸!|‹ó÷;\G»uÔ}-Þn“ íé6ª]°Û·{îdñ]ìîòñqöÚ-,²fû¶G7ö¢ñ–30ŽŽÚËZ+t>Ó¢„Üóö*á^šžlšÄñ?f¿í}"d¾»¶xƒ÷JÝu£Üo÷¹wGݯ•1nˆÞg’ï¡YT…;ª^ü}—nEfÈ:|bÃÜ ÕÁe› ~Zøà+zD±º žíþkèº*dÑv„uÜóÿŒ÷²Âú¢']b8-˜õ—nJt ?cdÆå„s¬Óeÿž¶ÙM7u]Îæˆ«6©Ðjþ»“ß>œ½}súúíÙ¿N~~yò¿ÿzq|v¼’‚@Ñ%ÄvKxípéñ/ÕûjÕ ¼\<%ŸÖ¯Ïå{üW££í:{“g­3ÚÐtçûiÃóý[ >ûèÎ7ŸC•—Ò Ú÷v`H"ž8#P“æ¢D_=Y´ÙÁ• ²€[)ñ—r¿K%v÷‚[%^¿ û5Z¼~‰ô¶ 1ë/dýÉê|Ÿ÷o˓ڷû“²~kù– è/Û¶ƒmûM½R «ï ×uqˆç-»ºY¾²Á±ãáö+÷ߥ©ußð¶`rg–vÓ¥ý¿ìíÚÛ¿ÌÖ-‚Bg¹Ú¨®Û2¾…ówÖÖk¹(ðndb‡;•^húK•² 9ïhðíWR»Áý1S·_Uu ¥w´{}WlùŒ)_~;¯ÿfÜèÙ²lüøhù)¾þB÷AÀå÷Mû>ÿ‘ÆÕvîóÓé>Þ7L¡ûâØÕë7êmK_iUÉW™n­]SGF½þ#¸\5rÏRÜŽŠK¥J³ âè˜À×SwbÎú%Î /Ò¸£S¶ûº| ¸Eû_R2ø¿Yµ¿`ò ×У%V¿ƒ!Ž·';Ú63ö\gXBðªîÓ GÐÁŽsO†ì‰Û,yd;ÃýO£OGŒ|;Úž¼°¬mF8ª3\¨ø6§U>4œØ÷ä…ãmsã@v†æ¿Inù^4´=9aYÛ|pTg¸Pëœïù7ꣃ+§ô=¹sÂÞæÒÊ3Ü2'Ñ]2òÜih{rŲ¶¹á¨ÎqAÿiÙ§ ‹ޏ//ÞV7öd/ñƒØ3èÉ©yB}vtNËRé£3"ÑãõÆ«ìQÿèjŠ5—ö~êø’Æ]VØ[waq89» bzF?Ös‘x ³³†I1 ÅxœÍVmoÛ6þž_Á²@¿IŒ­,–K@g·kt ]1 %ž,béRŒ_þýŽãØMdAæ‹ižîž{î…Mç_/Þ’Ú5Š\|þýüÔЈ±/É”±Ù|Fþz?ÿxNñ1™[®[é¤Ñ\1ööOJhíÜò5cëõ:^'±± 6¿d5ðÆáoäö,cáÍ&ÃM£t›Ý3ǽu§ \àÒ€ãÄëFðíZ®2:5ÚvÑ|»JÊ~—Qן•5·-¸ìóü]”R† N:ykK¦øÖ\;PРUËÈLZ(±[r XÐ%LX¯~4QRÿKj UF¿¹¸l[J,¨Œ¶n« ­%iï^Á{czaÄ!W¤T¼m3/‹"~ 8÷n‚©lâ>¹Ôä‚/ÏÉ«F aÜÙCÖܬÀ®$¬ÊÔËȧ |4T-Ár[ÖÛóþfÿh®µqÜo”"h=æ 3ƒË‹("€FxÔ%Å–ÌÌf»ý—ƃxH¢(dQŠŒj¾Š–ÜÕ4øõ‚nŸ2¹V]Ùö¾ùRÓ|G“‚¢Ÿöê4žŽÄ 9ó¯RH‡ãT'eUQŠ‚êØ9žò„)™ÿøQÊÇ£ã$ “ß  $| ã“>ªNÒaà›rç ãa]@!QÝҥ˙åmV‚ç¾}îˆ»Ž¦‡Avèüþá{6ßñ豿'ŽdëÝ9^(¸ùÐ@S€Pªþ›Ýç(õóèžhÕ.¹Îè÷õÐçVóÏX%ñСÌ÷Î;ÿ~fNø{€ˆ®¤ƒæõApßÈÖGw•–Ëeð¶Óÿ€úçPá‘æJ.п•‹w«°ÅœÓÜs ¯^NÏzÇw .­ ãœñRä÷s‰‘Ê„OŒ£~.QÔ>‚µê›ÿ‡|¯ZsmKÿwiüÓ7üãÃW€·ƒxEì™<¥„71üê†,ߎëÏ(ÞR!ó<‡úíÈ<¥„{‘üê*ÞÆñ`!÷?¦–¬»¾&ÏÍå~güTÆ8?„å·³|-]}ËeïÁ'ú ß½úö_zxœÍ˜]oÛ6†ïó+XèMK²#©±lI»H× p±ÃPâ‘EŒ–Šþú÷%%ú#NÐÂ`õ& )ñ¼ÏyÏ¡-süææËõôûÝ{”©¹@w_ÿ¸ýtp¿½kBÞ†p2d ÑxœÍWÛnÛ8}ÏW°\ o}Ib¹±´v»-nƒÀEwQ,ŠYÄR’K1¾üý’}URÄ(ÐäÅ4Gœ3gæ åñèÕäËxúÏÍ{”ëB¢›¯ï®?ùÖ2™NÐß§Ÿ¯Q7ì ©¢e-´¨J* yÿF8×zþ†år.ûa¥fdzKV«ký×@ïy†\sœœ\ÀU!Ë:~¦;ow(7Kš"{6€÷bãqUj(u0]Ï#Öìb¬a¥ç+–SUƒŽ¿N?&D -!©#sYiMS 5A¡€éJ­Ñ-d  d0"Íѳ‘å(WÅø‡Y]c¤@ƸÖkãœhŒ´¡à#Û6ñ´ÓНÍÂÅ1Ië:¶vPÆD ×6Œ#J«°Éÿ3%º¡3È&èu!8¯ôÕϼ½Z€ZXz”±µ¡/Þød¨\€¢Šåkóq³2-ËJS Ü#¼•92P[ S'S³¼ ô'”ÞœEéMªÕz¥é½(ì†=¾Š‚Ǹ¤‹`NuŽ}\kpûä ¡Ñ½t²í= N¶41Hìùq¡î.£Þå€wû!íÒ,‚¨7@vÎú¥Œ§ÔS7]c)ˆÉ)ð¼KÓ¨ƒ~60Îùpu"vÙ»H/:çç¿kÈm“ qÉø"¹Å•JWó]E|Ô¦øM Zf×ÍøÐÁÛv¾6¨erÄ¡Á=&á¯amC9Ð̓Š&›gjŸŸ(g¦~š›[,ë9-cÜ3û¼gkZÒÂÜ­L~Æf{æƒpE²‰æöC šPBCñf›Xš÷À]Äæse{î“9w ™¹ÂTŠ™‰«Ä,7»…ßš:ãÄÆF¯ÿè^v®š€-ˆÛC¯ÔÄ­lG¤É!‡ÐP‘ôDÞùofý@·(7m“^îÞ à¯»ººW ¼ówVqø·éö§ÕƒÝ«<·ŽÄ©Jzæ/JÊ §––M†Š¹ñûU5gŠÎóçVÓ‘8UMÏüE©¹áÔR³ÉðQ57~¿ªfm~æE­£2­VÏ-ë!›Sõ=ÎåE Ý"×Rü(ùG¥o!=¥ˆó=˜F6?ú­‘$«*mFD’Ýl·:ß‘Ùþy3ñ¹û°Ÿ]~Ü#~º&ödrö?€­Zn¦7èÛÇéç[äôh*i^rÅ‹œ BÞÿ…ΔZ¼#d½^÷×^¿32½'Ë1‹í¿=u´²ÏÃÑŸÜÌE^N^ã„aX¯®žÊôeŠ"ól—|5Á×E® W½év%õh‚lT½ø*ɨ,AM¾N?ôLtÅ•€¨” A7\B¢ ¹E÷‚„<1©ï_ŒÏÿC™„t‚U?)KŒ$ˆ .ÕV@™(Œ”ÖµræžXÖ¸`[}a|…AËrbæAê)údâÖÈXž3Øôë¤?Sž£;:ÓD4Bo眱B]ýlu5_¬@®8¬m”k3‡¾ØÉÆ¡2’Ê$ÛÚ0wãÆhžŠ*`6ÂïB  JCû¤Ñ—7½úr^?‹â-º)6Ûäºá‚¾ÓwQ¯g]äl‚sºê-¨Ê°Õ5Õ8º@h¼UÙŽî€9Žö˜¶|ŒË‡ËÀ½ô™ã BêÐ4€À }H‡‰iœ°˜ZtÝ*yL´ ©d,~u©’PÅâÀjåj[j¸gÓUŸá§ ìœV|¹7šA8¯žªÛíP Ec»s˜Ç $¢¾'Áx>ÓŽ)¦w“(4Ÿ`W3׸˜Ó¹n÷rk÷ôÒª;Nn k#Š™?òId-ÉÌßÛ?àøÎ0yêS`i0JCÀ»t­ü~á'½ðR½Ý¨à3 $ù,Ó£•jçqÄöv½ý͹\ÕÏâÜ?]J?é×Pm‡˜ÔʺG^KÞhè¼Àw½‘ãAìGC‡Cê§ÃÀM¡ä_CµÉ º-–Êì4ÓlÍ\`|/õý„1†Á H.ÝQ< ‡#ÿrá5TëÂBè8f“=s€TÓÑÿºS®…ìüÀE£­G7¼|’Å¢•¹F±¯qd”ûZxLâFŒY7„™áCÚcû V³<”ÅR&`ËüOR0ø÷õ&O ]˜ýBïQl f\W£Yç¯FExR ËÒ®3QÄTœ?•ª±G±)Ôc“-=ÊvÿT»|ÍŸn¶ºQn¶ÕkÆó7WExÒ\–¥Ùúûd7nWÒÍì¶”ç÷»f<1|GÓÚqýÆÑ™åZ»±çg'¦Êç®×<-mç9@nÞN:²~¯ßÐþ#ÞJp =-Ã1W»R,(׿í:úÔ±âÍŠ°'=vœ'öˆZz¿{ÓïÈý|Cÿ´T`ÏzZƒ#ªvUxL]d¤eOs©IÚe!i>ë¨*éf=d)ÏïvÍxâ÷ަ‰ãö·÷ñ9ÝîTìÙa]Zúc#Î#×\eå£SjVŸRVGÕǧ¶öô²z›·'˜ûÓ:{"LÌ“ÑÅÇûÛÂàW«¿ºg«Õ›‹7ìo?]ü|Îì¥Å.j^6Y›U%ÏW«·¿,ØbÓ¶Û«ÕõõõòÚ]VõzuñiuƒcÙø°ùó¸<¹”­\œ|÷’ÞyÙ¼ºc;Žcý4Ý«¸„Bµœá½Çêk—]½ZœUe«Êöøb·U &ô·W‹VÝ´úáĆ×j_}¹xw-V0H›µ¹:ùõ¬kÚªø˜W-Ì g÷¦]sdóåJßöÝË<+/Ù¦Vé«Å×v)šfÁj•¿Z4í.WÍF©vÁZ o¨â HeeXN*¹ƒ™]1‘ó¦y…×U —øìÂ9’1t²Rª›¥žûÏ<+ÙG¾V/Wü„ý±È¤¬Úî{š®WWª¾ÊÔµå ¯±æâ£‡ÚdªæµØìÌ0?õß=/Ë $ª¤á4Ï1£ä’?³U Ãý,Ù6nvkU‚n"ÐŽÃŽû›éÞ¶ÚêK£`š:˜ c·/“:ó̵Li²Œõ¼\è‘÷Ù0VØìëHòJ\.N¦—³t‹·fÅš5µ+ÛcY‰ã¼ZWËm¹^0ž·w\^ÒÛž¼VyuͲ†q–Ô™JYo¬J/%[w™T 6Ön”¦­ú¾g5š4M¶Y²÷)ÛUãµb%< ú]¨|1µ²‰ä´~‰ôÕ≀jžëG‘ ¤œg XÐnÉ.6À,ü‡ýk&תe×›Ll˜ÌšmÎwú§-*ÙÌ@¨5mî³vC¿-—Ë™òÈ(ñÞÀ%vÍË™oZ^·¬k²rͲöþÿSÓU–`lpO^U—Œ·4jÛµUñ\KGÝðb›£¨`ø-‰¤aVÇè´¾ â¹]ÂÈ«ÅÉ=?"Ÿý`$937¸ š­ÀC¾c•oÓ.gU dU­J¡Ž@V°8@O5¥¼ÈòŒ×£hÞdý¡PÛe¿©H“]Òž˜;N•}5„âuÉŠ åIÕµŒIa¬´+…ößY êû¬ú¦iì9 cS”V5蚯k^ÀŒo@çY‰JÂasÜdÛ†%ª½V0]ü¥¨@·Y±­êÜ[²1¯çd©=ÑFN®ï%Óò$7«—ßàäÁh€\ÓÕ) y}FrX²·`»çÄ2 °Öl¸«µ dI•ò.o‘¬Ú1ÁK0\Æ…P`¡’]e\°*U7ìæô&kŽØNÐ7G¯GúóH«"N ðÅ}úˆÌ…ó3/!° Ó@Ï—#7( @aøÔ Ðüh­Žç¤ˆ¦Û¢'Àµ²J²ɱ²CSä»ÖIF^¿Y7ÆwÍÝ.Üý„?Áóó™ÿTå²ah=Û’Œ{r5^?áÐ)`6ä»x¬u—ƒŸn6|«F¹ã¸£KŒ›åq ûd䊗bSÕ –ÉW‹ìo > „T‡ Bm²Tq2½ _É´zïÙn øMÿ;v %"9nc4ÏÌ¿šeADZgW&몸_ÇIÓâȃ¨nO…›[0Âù‘Öˆ «VÛZ50a eUò49mÛq­íÓÑü¾ƒq Þ8zHÚ¬ùv3çït s68[ãÝûlÐÚŸÑ<=ŽCL¢™Œ1i„t ³”€I Z-Ó©,4Á[ÐÕð=ÍòùQ­¢Þç 0ЦŠ?b¥éÀ8,Ò"+1Ò#t ô£çd„lC¸ÍÀ9ýÅh´™ëª¾Ä9Óÿ1]þâH«¸à—ಖQV¼Ù!ÜÀ,ÉTñâeRC²Áþ@QÔ 24SMé!öç:ùžiâD¡+]ŸG<²¢8òÙ<´¸ïÙA8â‹\Ê‘yò­Qµg}2mé*»ÂIR/àI˜ò ´d$ÊRòtöº'<˜ë;³Ö+ _Ïd‰0ºT:Ÿ@[E“(«ºµª  —黬nZýp/Úׄ ¡z+Ÿ'¬«áˆ©åB5q5É&Óš¯1¤ÍsL\”‹I•Tû6vÖÕWêÑ6¶å€ÚU[c’î›Fû0úÆ^±—Ífg˜¸T;XrqRb>€¿œ°ÿÄ ñã?®Û 0Û»J¨ìð‡[5Ö‹Ë` ìSŸiÖô4m푇Q‡hqЋôQìè“:ðÒ;mOuµÅŠÈ˜7Áˆkj ”™ö õ%ê㤧ûrE_Ù¶"{Ç1ظõ¼“£K?ìq:QW?aíºŽT‘¦¾«œÀUaä'‘›øŽ2Že°¿v·óàªãŒÎ-Û’\ÂÔ4}ð}vÛ‡€»Â<ÂÉ<Ÿ­ùÿZ0qd²zä·®¸¼ "_õ@¿A0m'A½k}ö¶[S¢Eè4ZDÓ%Äè’œ6àè:ž±L[¨GkØïª®ŽöÜ×5oÊ?µƒÔ‡âÂ0èaoJX'L»š¼lï4‡X9ÉÀöÅb6ŠíàC?¶™Ì×€âÇÆ, ÖCÏj^üÇ"óýæôor~÷}ÍëæÑ4Hl°ÚÞîÃQ¦õUд™àùëêæÑTMvÛŒO³¤ºÙga>ø$¢?œ_aNg2+Üm¨+aÑJNo&9¬´#°"%ŸF½«¦‰â® `Êx€ªâðˆ~ØM~ÈUښ˺’a®·Õvzw¹ÎÖ›öpZùÂ4fÌ8? =i€Öb†ѽ¶ó ‹óSo&Z(âzp¬Üh!ªRTÅej¡AÆth©ñ.<‚~ecå£ê1ßs•ÈTq_zžp¹Å¥“x¡e éIÇOϪ/^¡‘‰>$-ÙëA#ÚŸ’š†evŽˆ« `ÝàÙ.´'„ËÕš×Àm;¢É·Lá Ïö£8VÜqì(²¥tþ³‚9ߟq|Ü…#Þïß3˜Rq©(ð#™pn‡q’: ±҃Ęnñ$õõ\Æa A 7†®{S6ÚóqÆC `ƒ ³† $ÒZ) Œå_~C˜,ßKTlyQk¡ºC*ÀÔk ìò§«$ Bá@RÈ&°8¬Xˆ,PZv”î|üSÕÓi„"´m[$Š‹X ?`Æiìr[¥>L"¹›ÆYÕ•í“èÄqªÂ0±\OYš¯ãƱd“8PáþŠïé|nÕöId,/áv ì–C$CœJäÛ±JºŽˆn«äœìèID|/u¼Ô*Jøßˆ m\*Ïû‘Þ<šŽH .ÒvÁÛp˜Bré%V¦‰ëº¡ÿ :Ÿª~»þ ´ÒÐ ebq00/v„'ÂÐ8eº‘cÝAëɺ +ñ¬D%Êõ=KÅÂö˜G)xX:–¼c:ª\·BîýÄ[ŽE0ôÆm­—ƒË Ç@xÉ©ò ;(þr¸8|’WsÝD˜»Àõ§®€è£ÐõI÷æì’ägî Ý,`¡hÑó—pq™ º#£Àm@,ÝZ«%‚|œbŽa·² ^¯3}¿P%ßéÀ§¯6ºtÍs® ˜9NŠC1T·›¬y8æsȕڷ¹BøÖ»;‘JîÅqì)WÒ·•´=ßò ŬgVº–ñÏš¿>ªLÕþÌõ,–Q wÓ¹î(<¨¿»øŽRà2±S7c‡KXH©PŽ€Õ%a,ÒÛ|OxÖáï¸]2fí`‰ ë§Ü<î†ÜæRú© \+€UçÛ‘€ÀîÁñ­ýbŸaíàðI=WkUÊÉþ;§+8~[ŒÕ5f£åý0SÏò[Z*÷ìùõBr LÏÍ%øóp¶§y: Gm\•à~ЙÒ&x{k€Äƒ_¸µuMsÇJ§Ð;oó ñìªÙI•ëŠ/°Ñˆ:Ûj<ŒJy3^`dª}Q‰6yæÃ• ³ƒ§×j¾ç¸f„C8aÊ㣘{‰ëG–²Û‹S;½»Cëê Š’=\²IY¬ß–Øx‚S«UQÍØ6R~ 6öMŽD¼”Œ¬( %Äk/N#òÂvSÿ[GÕÄ·†>ßã[Ê·-× »9IÌc;@ú@Dî·èk9¼)ŒLÌ3àÐÔ6ÆJÎ3kMš|˜O3)k½Cœ«*ÃA¢6ü*üÜX Up³Þ ?i;Ò9ÈT"϶„#!MBÛòà_îrØÂMÅž#6ítRvžÙ‡)!Ï»Wþ3® H_aìÔ;%ý†ˆQo ‘¥LÖÖ0v«Š4ˆQ Ó¦Gr ±Ì÷œÐ¤{ž¸s0‚¼8ö,+ÜŸ0úâ’{2ÎÆ÷•Š,‘Fnø€ȵ£ ö¥\!l¥nÿW°ƒ½²ï£‰¹"¶ýØ®â"ÿ[:ÝûˆH’dFB+«§B9«Ù Lìç¾ÍBkTã@Ó2i°1Q©Ù50¶û]é¿Î2©RµÓÒlýÍCäá£Mרº÷+ã ´ùWÙûñò¤ÃãùÁ¡iGÖ|½&§NpSwÌ Ïn£Þ·§M9ßsp•:ÞÙvÂ+!ðøRH'°,ð}ÑmôKå¶7À…ê#ö{…í÷2t½Q˜s=­0Ø iƒã¤àjméû¤W^@¬¸kƒ­ÿ^ˆ-ƒ°^™«KW¹Ò»U…ÂL'kŠ™æW<ƒÌ0ÃNM£ÔF±‰5‘V…)fÿ •­œ¤ .ÄŽ¥ÜwUèÇV(œPù·cÉÜfûfÓêdZMQÄ&ÍþV»î ®áÞ*z^uwž_㳪ÀŒWT5æˆUI(§ÉÖ%ÏÓæÛïüé–­L\‚ÎP|U~ÿL_x0–ÝR"( °UÄ#ß KÅI8ÒµSÀ‰qê»ßÚN%zF‚}j©£°~ÅcÇ•\Aü "ð¡P¡´„^wQ{3Îñ1¸tŸ,ÌÉõÓ(ñž†L^ª*ÌÙU‘“Ü‘~Ž´nÇ ‡ý6¡ ã­1˜Mö‡¶¸5F8’‘SÄ(uK‰à­ZW5-\²¨^ù´cŠ04?¿`DA'D·7ª5๿x€â8ÒÓ6¨ÍðwoF÷qòÆ’îÄ:Â]ð]ÀÝ¢ÈJ=GjÐi°R!žãu1©†€ÛêMÖêÍoàMVжµÇ-Ú¼¡fÞü`p–UM.ìVþvìQäMòÛYwÜy´´ûôQw—J#}ŽwÇb“åòx8±ƒ:2è*vëÍÑ>«Øë7¤¤ªË¥–y-<ßÒ—ó꺺ÖRJAŒºGd"KpÓÊÄø4ê$hhS¾*&&‹̵¦µÃÔÆ‹a w»šR?SZcº© кiµ5i÷kˆÐ)0ÃâÑ tèºXo˜ýÚJ©¶x6„kZ~x.$ÍäÆÒ€Ô„?0sÐÓ¦?CCwI`Ìë©Tk’=Óœp—1d`4D;ï °ÛfX »y/š>¬¡#)YuÙ m`ÍC§4þý`¶uW{/”ú¾ ÐTy^‡6Ûey{œiO‚m‹!6(ƒœ&[°#ðñ%Cæ—÷û|†ÖûÍ7¼ö<‘v×LÒärLGLnr3Étï xüNø·”ƒ¤Þ£tˆCyv©æ«ê ä<ädºßLóJè±ñLX ’DÇú´Ú¶Îµ¦—džÐzâ“90Ó¢QŒ‰ÛÃäöé̶8Þ¬JÐUUmA\HZoÉhH QfB7Ñá^ŒF¶w‘†›e‘. í[ùë“Êà[U§˜v–LñËáDÀx]Ð#*ÉÑݬŸÿÿ ̆üÚ/`)ÇæY 1©âà…UoŸxÞ8ï=ê:ǪPÙf<ÏxÓÛ7¨Q\R­YVÁщpÂÞØ9†áªÁS•²º.‡c‘L2¡·–Ðõí¨of»ÍQëäàÈ­QeÙÒÒmÉnŒ«ÊJÜÛRuQ©3åµÉ3±1/+”éc£Òº¶®šÏ÷ö†>7B"Ó{@ºóRú–kÑS¢G˜âê¨÷ZˆƒÉÉ•JÓ~÷ X'9§Ø¹|øBÛf—ÓIé:_Ø2o--r·]²©ùa¯‘Î[(…ikD7&5{d(##\zKöSu­®€Ã_?rÝœx #$uuIÛ r˜®wÀDF¡®5¦KÚC€¯á4plºy‚¨)l°}¥™†4ªÒ”OEÅ®@Œd§_;:‰&U•¦:Ck`(±!§Sõ`/W ËÅDë:ËkÐi`»ìj|¬/…Ltˆ™zÜžî„¡ŸH‘®KÏ -›+¬ïº~b)ß îHÌ©N'ëâCÙ×B©ÔšÎâCÉþfÛìàÇ_¾¬Î³²»·Ï¯ªL;|Z*¥ÆÏ½RúÍ¢†µ ³ÿŒõŸ|‡¿/ŽÉD3јˆ¤oZ PFã£ø‹'Jx½&ˆ€6ƒ¦Žÿz:.;šËf¬Ï4ÖÁ v@2ED-5}ïÞôiÛ–ìàC‰•y]?Éõ)_é`DCÐÄ ä/­Ã¹\èHÀO¯Ónô¼?Àþñ ¿–ש„|¡S€û¥ñY®ó‘8Ì`‡O™%¹=3LRûgŽ´¤ã&Çn>̃”1q”o¿N(}-L'C€ãkˆáX+½ÃN?ëÂò$vШ"Óo’Ð)ÏaïÚ :*´ïß9DÒzý¬Î¬ GåÅsíÍyÝ- ½yŠm¾ _šÀ ÔæLè@€õ¬[(¯°Û³¿fW l{ûÚ©Rr(€€òZ°‚ƒ¿|ÆLòSá‰N*h”Þ:á÷ovE¹I™fëNÛó!¹O´'Ó´‰hØÁ˜fm+|7ž…"Ö‰s#†>ÀJà:KÿÒ E€„ñ%øcƒ³Å£gÌÁï‚tðЧªMW¡ꉞ„®² S–j¢tüo{¬Š‘]ðQ-œAzS×xJnpzrÒØìh®bÓ˜X6•Ì÷Ö(‘hÃ!”xþ^SC`­gB÷QŸ-¹9UÝ…®©4O+*Û’Aä'¾‚t–;q§IQGp;t…ãÝ`Ú!Â(i {£ëÚû3¨!5Gì |öÁŽô…o*«`ÃÌNÌ}Ïm™:© mË÷|%ÜMÇܹ&i”Œ]øÄð ¢KW_šÇÁüžs_vdËÈ“Iè*–Âö¹ë©ÔK§D¸”=:ꥸ¤#„ºhަxд|ÇêQ7“4hF&îJÊË £,i"ÎϦ©;:DµÝé¶ks(`¬‹˜ÙNZE1³æy£Ë9† s&¤aèâÈšSU×Xo>øKñ Q2Ýô4Îà°ßv¬]ñx0[Ϧ½'‡¯…`¶ÿš9¬P>œñ¤9_YÖß*,’€ÿy£R ”ïð÷発î®±£N6:“ØN§'iz“¢0¸.|Kˆ>@žtf[ èáâÉLËo e+Û}¨ë׳/Ÿ/>üüñüÃÅogðùþüíoçï_:ýô÷þœ×ËÜ È#V þ(ûá5$†Îóжúl. 3%{bì`ÙT«¥ÌstOR~KR_>?EJQgâúê*u¡~?ÍsÞ};ûéíÙŸ{szqz[`ïÓ‰°ð…8$@ùà)øÿ:¡ÌZÜððFµÚ^A”ˆ‰ÅFa'?Öú©/D¸o¶£A0„†Àòûú5<·];.:â|V¦ÚÇÃúÇï%/õw Ùé“ÞýxˆkÒìF?äkÙ«mEŽA%”ö¯³ºõº­´ª(W[Œ/îêó­$Iý:/zµÛôõfæ5_$<óª¯áL«yuÚ ï<ùîÿèš(n ¦‘¦¡5‚Â&Qixœ4[TTß׺¥¤;¤CºADDº»KiîT® 9Ò-2t7 =ÀÀð=þk}®e¿yïÜsöÙgïûîľÕR&À} TUtA ”;àϱ1_‹ PË€ßÐ=åTõ°AØŸb€¿ã¸©z‚@ÔO?Q²¦±„|î¥øÁë«—¯¥‡5È××—×ÞÅÑÓÊÒÍš×ÕÃ6ïDòô¤ª «ç—]ñõ#Ÿ½ë9ƒ©²00 G0{É)¨`‘¤‡}Ьz¹Ž!{ƶ©kæ°&4àPNªxœÕ\és7®ÿž¿‚;©Ú•^I3}Ž­*Y¶×*±cË{¼/)6ÉžéUã>$Mþú€ìk$ëØÚÝ·ÊQ£éé&@~Á~ù‡7Î.þþñ-Û´EÎ>~y}þþŒ-Žßç>jfŒ¡ þÁ.üV'¹²•R6ù»J–™uøRlÕ X’a&:*ó'_۴΢½…hÁ½Î¼ˆ`߉|ÿ¤¿FLÄr1›C àØ ZX/#Nef„¸P½—[?}Ã'&Ph{”B„ð»K„"ÃN–Þ66Þ_G©Q•ê‘»é:|PX'àŧpfk#õÁ65Àô›°)¼ô]Í3’ GÜ"ÒÚ05Ÿ7\wt‡2gõÈëhWÓTðU#u?’]Ic¦ÇËmm-vBÉ+QoÝ`]y ú‡Oyû-=à…ßòÃéëš«.­¦8BÕK9rË2û÷¨â¬mÂŨ¸Ü nxFiÙ,8J!VôÃhÿý5âó ÓñR)¦,Žy¥)ølT‹žÞDâ?ËjAÊßßXíL8HÊŸ®ËZ?òpÊWãíͶE¢ÏÀš’çíy³Žùry!&H lÁöÀÇ=ªæ.J§ÌQZˆAç-CSÚògØOaš1Ö,d“kón]xÝæ[uÓ´è.ú)?I¶³áûXÄ”®šsO¡Ž[ÄHË=&(MO$ Ù„vŠ}}ëë> ¾ŽaQim˜£…µE¤V1.³L4g_s$ñ<‰=à‡E"1Ê¡ñ#ÍTî7©Af‡–D{®Bš„3Bñüú=«üë +FõÄýH·lû\Ù7ôP&¿™ ·¸\©õ¿ÑFÝÂÊt]êp£“èæfH^~‚2¹t·dûÜà0[1O¤¾I®|Ýúì¦^²2Ç,ö‡ƒ›H{NÚYL±jÔI¤[˜}îkÍ™|´ Df׬P•ÆŒ̋ߌ¹ïºxj;Æ [Xù)ÿéËþGR1¶`ÔeWCˆt9~é?Öo¬×;QúÍ ZBUrYàÁ§d3Buh(¯óK#T~ó>GØèp7U¥;àW»ÉÜë;®@ž²Ê"—»D<sL.µS&Å -3¯láï¯ì„%¢"Q‘!NR¬˜²7Zc,ö¡s¦!Ý-g^^¯ö›¶ôŸ ”/Êð FÍJ´<©b:PÙ ¡qâuÿu”8ž»bBþžÆê/ZX j¬=°“è‹ÿ O rБ•SfˆqóüF$uMÓvÛC<9>Ù2p㵇_eN™?Ú)‰…(MܯzîupÏE¦µµͨXº®qØáÌäÍÒ›n*ÅØiOg—=O¦…k 2â~’žâKŽ:ÏÐÕ ß9‰^³« ê}÷iß,FN@SõWõ\qúuãŒPZ!3G*S§Pavô!‚uãoÍ3 1r x^ Ü£g;æºÆáèo8¯ëƒª7øî• ) ‚"›äþ–îfá@5@­bw^•nKõ¼—šyÏh9"î3a}r¢W=43BbT}ãb'Úîܸ:ÕCS]ÄŸrw3æû®Üˆƒñ~6Vû>,TèrRÍÇJµ×ýüÑÌëQ¨¸žÂÀ€ $–°G’y˜ÒöwߌÐãÎ^ˆ„›˜6Ë0žk z露ª›1nâÏ6(ùrÊĦ’†Ü­d®¹âÄž·S2Ò!¡p£¦æ'*Þè³NÍ4VçtC8(P XÅáFGíÝPítn ó³ËrÐÇSƒTÉQƒ6 ³6ÔE€g%—øoXû´ï(¨©a4%.•õ"4Ž) Ýʤ—¶trOÚ”Ô˜ÁÇêÆZ” ÇÆ ƒdZ;ÃmJÔ*>@-ümö6‘%J9 ¢à¤df¾‰ŸaÁÁÏùZÉ|R±Är)¥_=/™]æ/ÒŸ…òËomÔùÚó1 hw§%2ù{ ÃÄ#@+}-)—Þ§x´5„G:+pè“̇O]¥AŒ”’#æ†IºˆÅ`ü¯µÜ-ùtá/åLZæ8óÉ‘v·‡ÕSRR¹äÚ\*¶vÖÏô]?ïùO®…E¡(ä†Mî.öºRù±¢ÏzêÑWé!Hs™ŽÛT2z LŽ/z¿ÉV:ZÛj;@B×Äß9JPÍÑBQ š!«väÚ©ûŠªüë›yØÁ¯^½2 ¾š½„­%''5C–p—Êt+QøñDÑMªš‘õÎq›šÀ½!OM}'@0§¶ãD¼··WECãÓÍéðBÝJL~"Q“’æUýyaÅ36÷îs´1Þ@y®ö§ÑÂþýÓ{_ýAççŽ]†.Eøí|Ñ’c¥´œéIûɧy3Ñb¥¯/þÕ™Ó‡‰yî&§¦þ]¯W·WçÈ+ض ×2:ò^×#÷¢oØ©u -˜qI­0¨3+D˜_Q¼‘œjþvÌ^ú1¼í Ë·*H@i–9Ks€NþJB~!)!6ÎFµ ÈâRSmÔ|x©ŽñÂRW-c ÐÏë—¬cן<÷¸TY`­í¢´aì9‹ÍŽÊ&ù¦EÃÁB¡‹¯Ëì1÷Úf ÓuKÞ¿y÷- rÇÆÍ¡öÔ=€©‚nwäESüép¡‰ ”““3–ýŠiOÝ:̆rÉœƒS«õΡfïæ¥†Ž ™úõ?¡Po„ýù£°øŸ=Z¶Ìß¾èÉÕ‘×j‘¨æu¦kæŽ_ù6ÉY¢E˜x»‰ƒ€dBÒ¾½D”xówöXk–êaŸr¸Iñp|hãûHÎÿt1Ð!åéçc-k­®ôê™Ûb¾'#¼MïÔ0ÐÞ…™õ¼­¹b6àTÔ^ñ¼»AŸã1û¶ýB# ×{t¨ªß‚?d(Ýh7HŽƒ" ÌçÖ¹“§æT#>#ꀡ JÁîïÒy¦jljÊ‘¾‹¾JÝQ9ôHc"PÔSZñùЙÇ{AžÚ¥íIÛf=¤—)ÄÅÆlþ¬˜A‰I-·,ŒˆŠB=]°-2uº`=a~dpãâWp”úÝJ— hEw½ÁÂpqúfYž ªüde//b„œœ\¿Ö¤m²kçá]jç)ËSIÜ'mjwŸ*b?[I‘Áe€¹Ï×-ºÆ, úüù³ßÝAùÁr›§«EòX-e7«<|3•*Š$:xÛÉ‚²L ñ åÚàù¯¶°¯¼Y£;_¦Po9_qF´^Ì`…%$$àiõâáân‘–:ÎÕÞßÕÒæÝ=E {@XxøL$ê#&+M.8fvˆ—õtóëH_©ÓŽÑEƒk +ú?2/-õŸìŽåô¥0)Ÿ/ó²³Çì…NH\=ÞG·yîÕÒ Ú$ÈÈS°Ú*%Þ’Ê:¼ªaÔ«ëð¶¾Îc ÐÇDñZ{ÖnRûÃîi×iPb'"Æ``‰þ.d44c?uJöç˜àk¡22÷§hCk•§dª—¨}ü/¬ÌWgpì@ì¶L›ðcÞ7ÔQ ˜R'I¦¼sýÍL"í †BU? c¬®gý].íj»ïN:`ÒÏxMüîXn)Bb»#ðKP}<èc –Ñ2P_´»Â;ÒÌÐ`¶¤ã¾w7ãÍsfêAA’Éðé ;;v¾®KRw ø²'Q<%ßÄ­ÅŒºa¦w¯Ì4PkÒ`œTJünd§Úë/h²ÿ{FM­¾Òî-ÕjÔì@ò̧ Ú É• ¼®w˜åDÞl½¯3?ÛôžQ¡%à[Iû4¤ð™òd"®Œ|rËAã é løQzÎqcc£óî°JÈy1½ÖWªžUØHüíÃQÒÅa–Ønt~|&|*tɘ‡ß›³Uåð¯"3]¾=Ôß]ãÍ—*dñ™O `àÉ„ç‚CCC¢]ªüS ÁKTvKÕ2>v=FˆaÛ/ÿzea®ë{¾­:éHBB’@-’ˆIð‚?èÆ-äñ~ñš)´®w/²x@‘ÀÄyÛ;=uÃ$¢Ó#Ñ*ÌëúV”Úˆ—|év?)±.|²ulllä 6ÏÍ%ý™b’™-Pzît±þû‹F¾h Pñ"4,Âü‹v]×þ8ŠQÄ]Ê)´iò/°AA ±ˆ=•Ô³xÇ]»Çs_?—Í´6ý™sÄ=š{œ¦ äƒ @4ú/,¶ôtQ0Wéþ B ‰X+Ë ø“ü¸0B{ßÜ×KV~>«´póWÈU/Ò¥àðX«ÍÓL[Uu£aÎj$}9ë%†Îw9ŒºN"^fiéBå¤/^ŒT6ùíÅ$&ÚÜßœéUH‘8ùõåêhμº¢;Ó:xã„5¶;ûþ–úæ·n0Âe¥àQdsÆ‹ãïÊ0Ä9wŦ™óÌd­MÚtqŽE@Nº*ópIƤœøio¢ Lª£Í¤ÍL…½áÜMd Œ.ÐåÑ\ÒkG15õ(„'|ÊGZh¿µwˆ±6lLþzÊ¡zÙaIµÖ0/xðPùþ8@ù‡¹œ:_Ô’œá <—œ[ÅÈ’Ù3]º®Þþ McQÏä÷Ø2™=å>‹weTØP)æCÅﳋ(ØvŸmóØÉug4r,¤ÌB ÅZ•ºÌˆõÝ<ÞÍ÷!5yò$±›Ì™«]hõVƒ„J‰4ª6eÝPº %&9“æ;-•’„ú Kv}=?«V¾ 0ªŠ´Ì·Å0|± ^V½ “Ÿó­<}3Ƕð»ÿÅ.¡KܶB¿Þ¦›¿C)LÃ׋Ë䪗½{ÌÓXü}ü.è6hÖùqÃlE?€«i4U÷šžSV/Ðtß2©‡®øÓ’öf¿²Z¢ú‹Nlqµ98ÄÄsü5ˆÛäW2q‹_“?à+¥Ùb¥ß<šF»ÁÇöåŒ:œ­ôÚ ’Îiùüß ñÐÎêj§Bš ©¼Ç»¥  ™­ÎòÍ)ÁQøÏ{¿IïûKºo*¸úv«wo;Ü ó† ?y°MÏÊÌJ¿uC{´Cþ”Äßãþc÷æãßjCA¥ª ½âŸÏÅ<˜áË‚Ÿß±A¿¸Œ6~èjkí,xipØ+ü”SBsó¥zKùÉí’$iS%%¥Ì´ òùÂì`åçW‹&“t’ÙUµí#ßct¾§oý²Ó"ûeþv0)Bq¾ÿh5&eîÅ&ÿ_þˆûø+Q=Ã>”[ùCߪ5ÖÅ‹ÉÜûŸÑ¢N—†žpI&eèJƒ´1½F´n}Ý¢0ðD,àúû0ÇÕR¯– §L3ïæv¯ˆ¯΂³¼PS<Ÿ¬@ÿ¿¿>­sËp?Ž«v}ѱc½£íhx‚0lD4kÿã±Ï¨uðB”•5ê•Õ1 tß„$¬·¯ÏÿjÖà` é A¼••UȨÁïÁ¢ZM.î\ùIl›¦@Âï{ÛÃü-q¦´ _å‰öWßÑ$–¹ãÊÿ®_¬í}§ fZàIÛàïŸ ßbãâ>´/ÔÖ‰âöÏIÕi¶§ì1ë´¹†.tïûÄ[*åg³§ ‰ ECÑY(ýØçuø'Œ>ÄL{¤ŒPYÏ/š°ü|™ëÂ#c¸ë¸eÉn¥½ÙS66L§ÅÉPúnŸ©RŸwpÑÕŒq¶9+ûüul…Å\y.¿åg‘º¼Iû/|/(6R÷im¨”×ÅÊ·D§¾ÉZ?÷„HÐ|…s?Za½+/ªÈ/Oÿøï§33³(U†›0ä³%íI•ˆ!ã~‘dƒPŠýJ¡¦¤]":É!‘µ ­ª–iÁ‘VÁÈfEC“ªºŒ Çt­©Ä³Ðë¥üñÓ*DVæã_ šíLµtÎ9ÿüûŸ FJfæ0ƒíh!IÝ'obf˜§)üÆ¢Æf+¿`^soQºâµ_§Xþ«ÈQyhß©Ðg ߿ĤL&¦WtÊÁfdêÅÆÕÅpð„¯–tÞ_k·"æÀHE@ovQµ¹ézy m ‚å/ ƒñ9…¤tʺïAAçÃl4bæ¾?¬™ãyÉ{Ä)ë‚a$FûgA‹~íþ×ЭªŸšlAnìvºQYåÖ_"n~ÆŸø 0¥ižï t]lß_Ù ݱëçêañMþ¶Næ½}ÐGRÓë…Fk<áq˜ ‘Ž(Pç­Šrä(ä1xTÚ©ØZ÷÷GÓž]ÈæŸØ˜·QÇ‘¡nÑàm·Ê‰L|sæ¡]{Èâµ–Ûfàn”á£ûÁòž>°Õ~@÷÷úûÀ“ÝŽñô> €³âw„p÷š>maå ÙËå ;Û-µð s$XY¬íâC—ò%LO~€c%L:‘'“÷ˆÂBgú€}†'?6ðµ¿Îï­ûôÍG$Œ×…Z(†àBz{Ê¼Š·]Ûï€jdÎm~o7‰Nêðˆ_0®‚;_J)û ñû~áœÚÇÖ¨7û}<„Ԍƒ=¿¤¹a`^µýô‰ª«]okwµæv'«è¹„7—Aíe€L”%ñóçª5FÍû€£)ð-úÈߥÃÁ`3aªÞ@açk­9y±Ôâ¼µ›çšyq…Â+)™¿W˜ø~œºÉò¤ƒF&¬®àØr¬^:*áõ´Ç¥««DÃÑÁ3Z¹}¤1¤JÚ•Ô–´k€š%A;ºáw£õ(èf'ÔØo3¼hî÷{Eü}qh‘0·Ñ%žÕ`¢5à™¥ø?ßÜܘLÎÖš.¥]"ÛcBšMÛ&5'Có`ˆÒSÐîvb׆ùÅn¤¤¤~_çb &mF‰èݺ¯ñ¸hå«Â'IÉiF뺞æí– ŠßRcuÇýt qùðTÌ›”&9¿÷]á]áj»”wÅyz:äó)_r¢'¼µÑ¯v™/êþ …šÄCœ–¥|¥pY}JñW‘Õ¡«9s탿×ÛàÓSâÞI‡rãVnã–„ƒ™r„¤?` ·v²Ì¶§Xœ>H§}¦ùÅ,SzëÆŽED·½•$sm™Þ¦qm ,—Ï:7X}SŽ&Z4³·×ÔØhØè”§}0Õ²'ž™ Þî$ H„C÷bäøwffqwwuäÒ¶÷´K1)y1†1Ù/ØúBÒß½þj€û5gf¹W÷n¡ ÚÊr õÈ\Óäx½ÌêÜëcí¥O†ÒP/f-/˜|”e:æ5øýØ ÀøZ]hÕ8ª›©n“ޓ‘ûC»µþÕÒMåæzé¹lë# lðþÛ *Qúº¿ÔÊW îÍÈÍ ÍŸ ½?S–¾YGãæ‚:ô‹‹‹©¤ýgkvýa)…',i”ïê.Ž™!Ó%X99ÝEy¨’–†™ÿ Ÿ…°)_vÏæ4ÎA¦í^²©Ë®\¾~]/†­ŸË´ðés*Ít!™ýÀùl_þ>I¹ž¢L·‘ëX»1.²&i»v}¼$h=B^¦‘#W®Uð‰'P¦ê]9áL÷M¾šµ#øy ªª´øwÜØæ\ÔÓj×®aG‹8qÒM§sŽc §µ+åɇµ÷.p‡¥«£ô­Ù½€”LŸ|­9ŸKϑұlmì­Á¤rí"é|Iÿóü9Í™OÐù†±Ü×ñ(h˜ÄÞg#ÁÅnW‡ýGu Ö°¿“€$lÔ6Õ•˜­ÝÇa‡ÔBšº¨·o 3/¬Ùc™åáÒ+Z`¡ÜXsºzôþUà5´m»ûOÛææ¦ß]Û«^-÷OWÜZˆ~®5gýʾ©ÇHHn8V£Ãl]3<õ{¦u¬n"bˆc=õí«¿Ñ ‡[aBÆÉÓÿ? ²€õ¨ÞiG«ŽåÖAÓw£‹Ëå8Tý P™±1 Þî îõëùêuMÃ’þ6Åæzzäh˜ø€ÕK •Èå#Âã‰Ë'¤]<ûâ#ùë³ýþŒ„8nå6ëœ/R.¡¤£Óš¤qÛ«ÿ½”5ñÒìÊûªnù‡àk#øGØj×åÉJÞ¿÷<~[/~-7r¯Õ,2+H"I ß¥-Ì¿Ícçi\€B]æûM‰B‚‡öNM|5¥žñ™õˆ˜˜ßÒŠ‹cn™:ŽˆŽ´ìE!d·îÏ{|*ý^‹z´‚l~¥~î«zä3­çÄÇX‘LÑB“íÅ’+ãò ù³Š†ÆPpÈåq ›IÇBƒSÙ\Òº'§sz¹ûš26Î΄ìréðžËÚ‡ÌÙ™"Z\w鯀ø¬·xØ…ýLÙ×½îf—G–Ö™jŠÚŽ2:ûƒƒ*wßµs‹¢ª¤ÄDÞK‡á4¶§ €X^½" úå‘-ub9kÀ—–“—ã`{—ÔxÜ ›ï¾$­a¬páJà¼z+ë#i=’þ?,ê¬ÑþNÿ‹$fØæa‚0ü|õ; ¥Õcüõœ›ßœ’ð„ÿ\9ÝòÜX+õö™rm¸oê$fáµm´œI Ít`Ž%Õ#æ€(­²™Yèƒ÷Ó.ˆ.`×8ivú·•¤T.‡¿–^gZÑaé”’’Bµ‘Ñâ0W;´Í>‡º›×¤Íûq?ž5k#yõŒ2§¯̳Zý‹þï7$ÜÖAž»c€°µž­ÔÏÒ[œ3¯4¨›˜50×Ü›(¨0ãÉé E&EîÕõª—ÿÃ{]»?Œ|@ÌVe÷’Z¹´B}ØÿDªüÒ L Ò÷Õd=< ¼`Òö22¡0Zƒ™­ö(E Nœˆè¢®»ûRûùz†§ \ òÂ= Hã]GëÔFÞý{ñ¨?¹šªÕ+ùª³çˬu^Í5}ìÇßñ 8”"WrsãDP) ê½ S…çœnð÷„÷·\µ<àÀ£›{Ng½oªkÊoeeñŸ D¬…>®¸£a…‹gZÓ^Û–?mÕð â[‘L-ˆN¼ ¤=<)#]¯ÅÂëÎÍ7£ÖI/å]’üç<Fr.:zEDE¥fgûý~q1]¬ˆ·t1nbNGè‚,ðö”~s¤.1iV©aHêøš©Û­8-Wúq¡Åy©Å?µÛÚºÒ!2‰áËÅÍÀ©_ù¶Æèu¥~•ÒÃèáßF}.F&uÏO>‰P“Ñ5ãÇõÙǬ7„¸„ß-ë°b¸²ÆŽêÀ¢«ó^†gônh­× ~ê9ÍC†ÙAØ&ø÷ädttäiQ‡D1¹äÿwŠÒÃhùâÞq€4!£¥=θA‹Ðù­£˜ùïPÈÉAp^çéJl1S‡d'H‘tXhý¸O\³mÚ‚/ cD¤k8EýÑû©¨Ñvˆqî”—Ÿ¯”¶+~-é»=Dh«A àPÄõñ…äj«+=›v!3@xõõüròò,ÌÌÉùùPU(§ÞiúÕø˜èïÓ£…¶K.Bgsy¥Ê¦ ³ªÖî”_ÃÜFÿíç_áܯXƒ%(6?2O¦XR½ óÕº0¬z_# Ÿs–Ô[ˆ¾tUì?UmrM¦¬*–š*÷éÓ9ܹ§ÍNe:ÿJ3¿ßiø£sŽšn*ìG”ÌUÄÖ~Mñbí¶‚Êp'Ìn劗Ťœ$ﺟ5P8ê°V,Š5ÝXYYÅ~ýZê²ÒúøÏÈó~H–vŸö__ X§­²+÷¿Àó²ˆ\ÍŸ^þ×°µP-&™!ô“Fnõ(Åž˜éžÅKÖ»Ù#Ü÷$u.5 .‡!b ’§=ý»|õis)LÊ1IIp£¼&ÛIVT¶¢ ¿žF/|<{K6?9kœN4/ÙzB{iç×êãÕÂ"É™©;¹¡ƒ¹1YZ¼‰$ŒW¢÷Ÿì[*q‰Ñî'øTpÒÚ6-%$á’ KE¢±è’ ¡*ÑYtY‚…ÊZQÄÃȾxŒ•œ‘Ñм O¤Û„›¥9î*~K‚_}Žv ôðOýÑÚÅG8 !íDh±ŽÚ+麀@ÊÉà2¸ãÔüQ^î¹ùG-ƒÓûìë…ýÝåÁÒÒ3hÓ$é³g˜o4"s…ºÏdª‘>4{•ï>,–«ÈðÏÅô›¾uþjÇg’üüT Xð4mOèÃJñ- ‹[×K²àÑL)åLÈâgÍäCg©CˆÚöé“äƒ×Y—Ð<Ðöí„È›ÉÂqÀxˆ\Žù ýbνô?íl:Pü=ë´½Áùª¶ôퟵ[ÔîQÜû»Éâ?O DÉÙ÷,(ZK¬ ).Q{åÕCœÒL¢Y÷Ž#P$iÿP®÷Õ=a(ÐÕ®¥ ;¡¯+Êr_Ì`u?*ìZÊå¾TÖ[Hóu]¦’1HÚBÙÄŸ1‚”ô°Ý5Sn‚¿£é°¶“žúÓßªÝØ<ßCð—+~5`ç§3"¯!~…x¸8¥fY–€ô™ðha y/X±ÐÂ`|ó{4ÏÇ“!'ÔÿD3‰Å†Ù|1LЉˆˆöÎGù°Öo΄Z`ck$Á¹±^Gzô5¯‘ppü,z'žªªêÆŸØNõ¹gQ£;O×ß_Îhî¥ë2·v†ˆH¿QÐ6îªå/&«Òm!ö9YŽ!a Òå[gôACû”ÙÅŽû¿¥hº8ýû™b+0ß~%qî=œ¢ëƒÑù²4[ÀÈÏ©w6J?åÞŠV¾èï.øêèÍÙ–g°;ç»Zñq—„ó«E Ww£ »/¦°Íù3¡("ú“?øîõg£A‚%ºØ|iOµa(Æp!âHdvwë2)w©aÖÕÕ»Bï¼8›½½›qßîæá¿Š)˜ÔHÀ'$(׊6¶ŸrýN‚"ÂOÎ/̳ïGå·v'݈y™€¿ÕæùûbÔbW;Åh{r_;î¶-Gû“‚ŠKz¥ÈNŸÞ@Òrú¹lò®o§µÙŒ.,¼?SN(·Ñ« ‡¬™ûÌÁXm—ý¦îøÊ)ÝÒ¶ê%ìÞ¥ªß‡³‰&-Hþ‘ØÄÈ_z©û]\ßÈÚ¿"xÛ¤Ç9ÈL㤯ŸÞ Þüæ •H{±R'ÄÃóµ¼0 Ž„Iiû…,v<·|ßÑcÒhíÛ†µ9id&ç¸õÜš¼žd_ÁVè#¢ˆÌòÙÉðýpv=cêå*ÅÛXéW¯R€¶C©œ”M¤Ñ¯_ïŽN5U3ßÞ_L">ééx^îëñau¸mÈÀOÆ{#ñ<¥ŠôÊYx\‚s+Çk™ØEÿ•¿BoœÒÕù×ÂÌÉûû Và3Ûó&ý7¾£Û2‘ìOxÃrg¢|Aícn¡¾”ŒäÁ! °9^lº;(ïÆ¯Qqo3‘~ü»åÑFõêãÓ~ 1a~º€¨P¾CMÀÔ&¤\åçÂ%*¹ö÷Ò⟡}*ØVëßdæëÇò· šrzøôÓ1ð¦0ÀpçÀuxæôfUJ¨´u•h=iÚÒ†yËGëä£ Y°qòôÞòjÎ|òéœÁQjÀ‚Wø¥î0¬­Ÿ›¢¨²ö%’«ƒ×]Ñûs`™¥VW_Æ„‡7¶£¼!«ê1  „(Ý“˜·ÿ~åŒ8R·šøé®|©Uऺ„Ò©·b"$üˆÌÄÞmg›ÖÓNÀT‰2Ñîx^ÖQs6îkû¿pËC/*• ë`ºøwœÿ\ÕÓ¤‰mOÞ{žZÒyýð Åu+°6Ì+Ø7ÁvÕ 1i˜ÔÏÛÉQP‹ËŠš“·‘c- ˆMÿP,ûé¸%EûÀs}ŽÅ^絩`²20ünZí”r„$N1YÜûp;ÀìȉÐÉd"‘ÂSEÊëì ¢¬Š³÷âššIÆÝ]·jEzàÿúÝXI¹¢¢tÃ0‹ ¿BS¬­¥Å*,ü,ÌYâºHd˜«ô—Õz(y»—ºÍÇÈņEø¶ÅÉP›Ñܸ;HìñfPfP)@îKƒnÏAì ºϘgí'¾;;Ο!œOV6³²ƒÊ‚Í$²Óÿ‘-/×ÉP‹¸xq¦£Í+Ÿ³T馳·Z (GIZ»¢»H?ÖÛ–_{ÿ,¤Ñ¶±yÆ×yúYFŽë¼±©éi¿÷ììÌÌtñúcpÈíNVÐÃÕœ×ä+ƒ|Ô“dÑ')ZN¾ÙŽ¢YhŠ¥µÝZl€ð¹ûËË×Ïõù.×çt6Øy YÒ2;;£œR:RtgŒ4㴈ÿ!ÏЙ–N¼ˆ(LÁ_E]ëãYæ!ÿ>•3ª:ŽN3&>žI@à¯ëƒÍù¸ÈÚóéqëÚß+eðƒoT`ò¨Âd©ëYEôu}hŸ.¡“ÙDlzw9 ©’b“TFž×Ç‹ÝñËQ‹“»—ÂGŠkh@Ž[Э{CW2¶£9û"Nýíµ´|L NäÀé¼?EâÖÌOí341ÁÊÉ9Rlkk+èº* `mrÃSßåíÿþˆÝ»ú{FñsµrÖÎh½öžÐÉh"\stXåy„Qúù3‡y~®©ræ{I¡™î»ÅƒúÔ€™;÷D*Ïû™ÙP)=_Çþ–Ÿ`ŒÖ?ýýߛ˖x`©!Œp§³äõ—Ò!¶ Xœé «Y@"ÿù®½¿o÷ñc~ÍǹzKy—_˜#,©ö:k›w‡N¾ÒÌÿ—n­ÝÔk­Ã$HŠcªÐRØkº}@/ =c¡¹ù®­N°7ãõ­ÈÚ0ÄU;4Y†eYªQ~W§[Šz†’ð}ïé˜ä ™¹Ê xÚô¶«±_já9‚Ô\øf÷k)( »»»£cˆÎ:¼}K\cÔ\ì8Wëµ?µÑYB` ÷ô‚=Ó½vÞÝ_­ùA{Œñv³µ®alÐâJñ^h³’HcÕ¶HxþÖÿž®ŸÖÈbܦFÔIð–2Æe™ÙÏÒ„i$¨hŒ1b¾ß  ÕUõ¿33ÃCC/¥¥W]Ï/R Æ7ûã ;ý^mllüç¼”YkÚñ·ÅÙ¸·¯OjIq€…äy–Âm@ Ѝ7cFz—±hû¤ÖÝs{Ž|5u&žÈê±ø¬hÀ{D(*dkT4êDzçiÈí¼LDƒß4#«ŒL>‹zæ¶cÅ'™ù/Áä|Y“±µI»\ï±¼*/0 ^ø¸N0MûvV >túWï–§6uýrÇ÷Õ«W ÊÊŽ4Ò‘žçÛª»“E“÷·8xx%!wOïH¾RÏür·*.™äŽ¥6ª:›Õج*@оÜŠ`;°µùAFóBKåúoËR¨±èoÛîå_&¼™|æÚàg›ýZ´$$Ó|ÌÌÛ/Wü@Úk쪲 o&+¢cm9©q0“;;òRê „u)ÛØ”å¹TY;Bý¹”×=ÖI^Ž»êP„¾¸ýt6„ lhaç1¬O¾ö*ÚŠA–QCKn//½X5s·aõj¹ñÈUžÑ‘znGòkµhzP·ù~·_Þ×`ôÐkÃpÃesìh•b8CÖh3·Í:$`¥3m­­›œ÷,A­÷§Zž€1¼3”ÒIÙFbÖðç!p’r´±Å8Ó[â-úýå¨8ÜþÍ»ÑÆÚ&nÇŠ’æiDáaÑÑ¿ y;;v„=«  ^ÝÜkÀ‹RÕ¼†u^$‚{9*xàÀ2´FOPRÃ)A†&;÷ Êš‡ÀÝÓª©ùþDªû*ÂÌmîwÅe³¤œèII5’x¯/ðžq[\ØÚ,EëÖ‡®e5V£eZKáëõóžœÃ}8TµPaE_èí !EZXÌ :/cWMxçtÖ B/3.îïbýh!Œ¼3¾àû›3$v sàÌ‚Wh´1ñCæ÷[œ_8®ÔºÐWü4쮆·ÑF¤‡øK†8RŽì-ú:µ4xAµöü„é.¯LV á{¾•$s׈Hå%@À¡ú'¥ïÊQf4f°\01A<]+a ¸(¬Æ™,}oåÈ?3ȸµ™Dã÷ˆìÉzÈ7ÝB6.ªþ«LõZxx"3C4xß4ktgFQw¹ix }UH³IاüüçÁhÈÃ>ñõâiZ˜¢‡>ñ*CóÉÃþæu¾—½”Ç{&_Sz.w{èHO_¬§=5CCÃì2Cµ\Ìbüoí£;‹Ç {eöïûy{gPìˆô¼Õ“QïLyo”-2˜}:µ÷þìx‹ào[Dð-N =Ф¤Xþçje®+â{b¢zÞ}•òN•ª~†sB}Rò0£ –J^×s²UE{æÎÚÀ×ÊÍ5ºÁŽð0ç9ßWÓ°ê":§Ð FîæV9¼«L®( :«°ê™ÑÂJI³6¤ÿ:/øï•¦ ÎÏ­îÙqwð bèâk‹¬õ›7ˆ3Y¤ ¶ ÐyÊ'%wƒ§¿¹ƒf„¤à"ÎR*àÕëÜ‹Àk¨%òþvõD+ÿìGšòÅ­¥!$ÄBæš¿-Ú>×r>2 5\àñEüž7wHDœô %ª¤ÚVwˆ¶\Ì=pëPW´GôÜ€¦éüXiAÁ%AבtŽOÖÃû?“ªQÍ|ÅcÔ­ ßcž–#X#ØË¶Åd<ÛLæÓ±›œõ~Zð}HË,”gÕšÂøôê¡ÒvY¸„)oVP<©ºê%!Px0 Ì¿ªkÙqоxK¿¥ƒt˜h³_‡Ž¥²F¯dÊ¿ËÅħ(Àò£ÃƒWíØ÷ꃕ”ž¥X‚4òE§©Çã=û8 =@ÐÄY£ÞTûÑ”Q§ž¬w¸;# z×5éݱœwóeýmá!O§¾½^R;5gèz¯´i 2+¸—¥Çé«ÿHw8ñâ¶ô ¡G›‰Ì‹¨3üÓO–‹Ã9û£,‹±!çÛÃYB8uÀLþÏi!õI‹/¹‚<÷&‚Ž)Éɾ`ØMc ®ŸÎS;­uÓ†Õ×óƒ—&žïiƒ.'G•WQ XAfê82ðÓG¶JûŒŽní6q׃¡|²oÄ 9WÒ¥é¸ÓF¶wíE½oÕúQTý;ÿ3p<ÎÂøùç–£ôs3$¤± ^Q± æ'û°[ð³SžsKlŒ?᥅´ej|\ÜG öÒ¡‘ VQö(Ôé…ˆK>Œ™àic`C77þøg<Œ’’ùã&_˜ÙÓºp4¬‰Ø"i•GäÃÓ›GHõo!M£V—qèBÓÓ »§Sj€,픪ëØ+ &–yèÃU)Éäö5P®t’½”Ó"ôCz_íì rmÆdŒ,%ûšwÓfBõÆŽÇ3 u镨%ÍÝ¿³È3u¡‘ŸÉÛ °ª±¡¨¬¨VÿA<ÆÁhéºp¬ÿ !yªÕé‡ÿæŒdÞŧÖ×ýy^ÙŒ„8þö§™–Ûñ°¦Žš¦¿ACÈw¾Ñ˜QàÀëEúþþŒ¡v>žûÚ (–äÝ~‰F‘´ÔœãÓÉ_ .f¢ ¨…ó›`3Ú2š@ ~´Íw!Æv¶KÕ³Êá'Að_”× õz”–šŽÔb…!»µÎAFGRo¬Jÿ½ýÖ ˜?˜K×exc»î³.QúïµÍË®N—73FDjǘ½Í¤¢3 B“Ø.VE¬R=¢ïöwî™;§š åñW†µü¿”qg£ê†Äî@ëmר­é+(TJ”¾J¿|†*ÈXöFÁŠï}:CÂ4¡zzÚ.QN²Ë~µ× ©xÇ&î{¢?YñdñúöN™VÁˆç¤Tìê‡gnUø6{w$€uŠ:0øZ–0ZÏÉ®FÛ¡&ð±Îü%¯bÃKåK”ÞqÀRÊÊ^Æp}ýËmž]¡à ÄƒU{šâ–}QÓ¥ê”6“…ÇþÈ Ø6¯ßÂ+Þ•“¾xqø¿sždÚ’²ºº¤Æ-Nb{xžva¬³L1{Ê‹BVK½ÿý”«5µŸ«¥}ª D¸ #€'x,Xg\„<}ñàð_EßN–¹–‘Ñ‹ñ¼½B¾´œœáŸ:%"wü@ÉÇß©aXͽÙGúCwý€FUÞl–á $Xb]ú·®)Œ²k*¸¢9DCŠà–4ŠßЭeMó{5ÍßÒíü`ÄN–n%—OÛ®Ò¼ürUØä½ j=µf L4÷7Ö¥ÿ”ý…n» wMA—Ô(ø¿¥^Ô5OÀ§Òu+Q|^URô°Ý‘Nª;Ô¦ë>bU¨}3*zwûv¡ÏN>Ì¥ggïò><øpós–iûÚ8Lø Ú:¶Ït±AX×›;mxË«ž¦ùYœ,ûšµ±i-þSóoˆ ‘ÿ £+u³ :-”$«º€yü „«(ÞhÝXf#×I&ˆÅ:ẸouE¸ÅùmTy†.‘UÖ‡BTnŒBð³Åk~#Çu:„¶Én¢ )‡þcµ¦@¸m3dib¦5 ÍJÊtsµ£{Ú¨èBÑ”ã5ºÝѪ4oØôëC¨çŽÿþox'CŽÑQ¤¿sÑ §'4ìÙo ²ëI§ÈÝRk?²c©¬Y§{ø~ýYÏŸZ[±ë=Z"k±b¢—¼YGòëß?Cy¿e’Ħ•ÿáÛŽ]°ê·ÕKáßÔÔäTÓútNy¯-;›Êè?»ß©,꼿`Ó%ÊÏzÚs·±a´ø4[©ÿd¨ò÷÷0–#›˜X¦ôõ…‹a¹mÈÍ)ÙU˜ƒ¥å£ð-ë¹Í:³Ë‹¤[/ï;ý/²ÅZwY@3¥[©î!ÔóT0Œî•ÅömHe2(ÿÂò-•Zqé?(ëLxíJ(ü4]÷Nì«E^¶3Ïâ:²u­,-ÿ ±‡`ǸA-IÇíEú¯FX´›ú%áy²u5ÏËßÚÂõŸvðôtœ8» „`të©}m“Ÿej_ñ X÷ÜMäzDV?JmPǽž„‰ÚŽo¹5î‡tI_SÏ\ÿZj'ÈþòÐq<;¤ÜcOòöà÷œÿ<ý™^™ UQw ÛÆ…‚çêÂ÷2tÓVbOœÀlÝŽõàí“~äßùÙ‡U°GÙ¤#¸(Œ¶çý9R¢}Še˜§>Ô'Ô"tØþóƒ`-ê‡>[ã]_²z„d°‹„yôÉšì„sZø"eÌ´<Çl?­#¦O£kÂC)7ꇚôvñ¤a˺ϋò¯_^øCáHÞ)ʹé¢#V€rv<¾ ã3‘ ÐŽ>onnþ4ëjß;x$[Òß#ü®êék{«“-.+âQùœeW‡Õæ`dªÍ5Ÿi{ºÕ`âtW ÜÓ̸ɆRß ›löVÀÚEÒ÷÷“’È_{—œ€+·>^l~z%°Wà[Ø4y8[eØðú‰wiŸ¾Á'ó½êѦÔñ8£Ù 1’)ÚºzèyQúOÈ"Eסð, @]ÊçR Úg &…à °¯±ýU„¹Žvï¦ÔQËèCz¸‡À‡Ë•&›E€î;».ý‡¿þný9”ˆµÇÓÅ£X·’aÊÀñA‡ánn¯­¨èÁÃöµ|Í‚¾&4rûÈó¸Mõzï¾"=—ðþGºQI3RtOë„O¥ôèQ"v :mÒ=T\ Û“_\A Á÷®yl±~6Â\:– 'Ë;”ƒ¤Q¥E¥þ/ú ò ”zÀë³ZëçÜÏ=ìTJÅk­¹ŸSØ“?×Z¿pV·[”RŸc)߇ý¥0gß¿*¥Ö÷ÎáxT)u{”búYû-+¥ê úw¤µ^Š=É2§ƒØ?ÛJØ_º÷ÿÃÿ µÖ9ßïîÏœíØ‰ÿÿÛ;÷ઊ;޶„£ ÄÂÐŽ!ƈ¼Lš€Š"Lk!…¡¤â€-EDiëL >ÆÖ2ŒhµåQ¦ òÐ ÔÀ0¶B)T)Akx…g Jщ¥F„†dûÇoorsrνy\Èk?3wîÙ={ι›óÝÝßcw„Ø}ód",IKK«rÄxë­·"zÇ{ILL¤cÇŽ|öÙgQË“”TŠ@YYÓì]râÄ ºtéBÇŽk[½z5cÇŽE3+ß` òòõ©i­?AwÏáže¼" ($ò†“;b^¦”êö©”z ™mÎ×Zÿ»®7 ãíÿ0Ñ#ò€,i#N€ã•R7xLjEÀCÈ̦ÎþF‡#³›ÑÈrtc9çwQJ}Y~ÊÏ4 µv›¹>³Ý‡€|ȇ×-Cî»®«uáëðå~#äg€9aß•#‚xUøX½aˆ Á+ò¡:ÙóSJ©+Ú~.ÀŒ± H X ¸X¼ ô¼„íEcb.ÙéwÐ Vz}ŸÉ t¯CVxª°3úfˆëºÚqœ‰H\fVP9¯9''§^íœ;wޏ¸88wî\IJŽãÔXÚ.//'!Á/Ìûâ³jÕ*’’’زe EEE8p€üü|¶oßÎÙ³gë5Ø à `¢ëº¡ùÀšH6_­õv¥T¼Rª›þX‘…˜ @f¬%ˆó.­õ¡¶0xWk]T@kí*¥¶ ¦‹â·`,m`ݣȊD¬hxC4îþ)ÞZk}@)õ)b÷=vè6DpÑZÿ½×k > £¢”+BDe‡Ï±/ý*h­¿2åw¼1(¥n@ìÝW!}ô(Ð=Öm5’AÈ .9§Jÿ*Bøçx´ÝÎè›)®ë^@ì-/•0`@Õ¿Ïœ9æM›‚ŠúRYYɇ~h '99™ÂÂêMÎŽ9BJJ íÚ]ê(¨¨¨`ÆŒddd0sæLJKK«–ósrrj €êÉËÀ}æù‡¸±Eã0ë t+µÖÝ̧»Ö:]kýó‹ ò ×^—û,$ö÷Ù¹ð>çÆ<£ÄŸ¡%Ð qðúi”Ï)ĦÜäß—íˆéad…í?ÈõõŽPõ’¢”ŠG'£-$F«vFߌ11ÛSÇùx&üX||<éééUÿ_·n.Ô?©ÓÖ­[9r$Ë5Š;«W™ÊÊÊøè£èß¿?»wï®w»±@kMaa!………,]*“À¡C‡²fÍÈéÓõކ›éº®ßRY!pâÀ‰döÐR)D¼Ö£‘‚,¶Z̲òPj;†úB4R»pN /îX.Í_,vÿÓZÿ¢©/¤.(¥&"+&=ý¢W”RÇ‘™~“c¢:JP¤U±˜ 팾`Äg*aF]ºtaÛ¶m;vŒ©S§2mÚ´àDॗ^bÊ”)tï¼²Õ«W/î¾ûn^y¥æ;oöìÙ¼ð ÄÅE/feeÑ¡CMGíÊÊÊaw^:wîìû}bb"Ó§O¬·eË HMM ,ãqHy®SDijy\$›¢Rj²œÖh»A²¸Íd¸óÅ„ E"¼hbðNQJ]§”J^²V½vJ©;Í56–©À ­õÏ÷Û€1>‘á×q+âÐè}IçÁV߯ŸUybVÛa¥qlF(IÜÔwY807Bˆj]VbnJˆÀ6$!ãM¹Fc…¾…àºîB`,ð ÀéÓ§™?>$''‡òòò÷Ô©SÌ›7U«VÑù£Gí÷{RRÙÙÙ̘1£VF¹µk×rôèQæÏŸÏWÔöÇIHH`ñâÅdffÖŠµ/))¡OŸ>\{mÍDjñññ<ÿüóŒ7?ºwïÎO_rŸ#vo¿ò“{‰Öæp¥”ïì#FƒÇpž&+¥†´7 {6Ù\÷- ÇqnAÂ}RbyÞ§Ÿ~šñãdztéRòòòˆgÀ€L˜0'Ÿ|207|\\Ó§OgôèѬX±‚={öPYYIZZYYYœ}ú°`ÁJKKIOO'33“Í›7Ó©S'zöìIvv6ëׯ¯ªsÝu×ñöÛoóñdzk×.òóó),,$))‰ŒŒ 233Y²d sæÌ©ÕȦ6Û¶mcÿþýlڴ鳕+W>|þüùnÈKb’Xcª·žy™½ŽÌª"ñÀ];‘8èßi­—…•¿ /º˜ ¼¤µ.7ƒ‚}H|ïB­u™y¹”!áu‹¸ÚG‘øìHÈŒùu­uD±ñˆOõ %ø 5£*€%^ÇA>aÊï6í¦!!u›€_逴»J©Wç¬Åˆ}4Å<£AæÙÒZŸˆpíÏRíP·_kÝ/¨¬§^št¥ùêgA¡RJ©ÑT' ÏÈt pW~Ÿ;¿úW"yº#ÏjÐY:þ5ð'­õÜ€ºýœ»‘PÅÈ=¼7ðdã¡aÞä.f€™‹8¾ˆô‘AÈà Š$Ç™oÂÛ®¦ –Hÿûœ«ù}…lJ©ƒæY,ÔZ1ß} øÅ0Û\³‹8ÞjÎ ýÚÔ¹Ü<ÛшøþI|TiŽw1õfšÏ"íÙ¤É –ö˜ºk?€;¨þý§ÖzЧN/Ä>¿XožS:2`(CúícÀjà¯Zëãžú‰È*Õó»ENC}·žˆÆü&“©éè7Â\o~Øwùž(›PýAH?Ú€˜ÂŠÌ³ÍBúÒýÞD=Æ9ò‡æ¾!ÉyN†Ÿ€¼wN#}aX¡o‘8Žs9"6¾3ƒ†’œœÌ¬Y³n¿ývúõëÇÁƒÉÍÍ­Q/))‰’’&NœHjj*×_=gΜáƒ>`ùòåQý ”RŒ5êȆ Š?ùä“ÈwðŽÖú½(uÇS33Þ^`ödë23ÊPR—j¡ï„ˆÁYª…þ[ˆF95…Þ;“j¨Ðûá+ôa縱i†2ãírt”Œ_fÐ2 ÏŒ$8)@2”åhOÆ.Ÿúßæ!â÷Œ–”´uB)õòlóÇ´Ö¾›¡¿ÅçÐ)`'p(h ãsžPf¼3È3z9$”ê]†ˆNâèYŠÌØßþÝa–шÏSÀj­õ^¥Ôd€µÙý·j‡ô§p¡ŸŽô­WÄþd ³Ú{ýÆê 2ÈÍò¼áaaB¹ùêSü…¾=Ò{…Þ”»øÒnD|##£ï<Ÿ›€éÈïqÁ\ã[ZëµJ©dP¤ñzSÿJÄ0ÌÜëq¤ï¾¯M~ Oy?¡÷ÃWèÍ9:"ÂÊŒw p,Ð>û,¡ ~5þB }}Ï }+ÀqœÁOŒÅù&L˜ÀÌ™3Y¶l{÷¸˜¢¢"Ο?ÏÕW_MïÞ½SÒ¶ κ®»¼©/Äb±X.ÖFß‚1b•†,s5ŠÇœyóæQQQAFF÷Þ{/ÙÙÙ“››K^^]»ÆÚLuÉÙ¤Y‘·X,m ;£o˜=íF²-5ÈK¶sçδoßžÒÒš¹R:uêD=8vìXƒÒÝ6¾D쾋.Å6³‹ÅÒœ°Bߊp§+â¨ó —6T¤9³˜æºnK{³X,–c…¾â8ÎíHV¨¾M}-MÈ!$6>7jI‹ÅbiÅX}+ÄuÝ÷ð—шWx[b?¦Ô׊¼Åb±Ø}›ÀqœáˆºN[(¶PÞžs]w}Ô’‹ÅÒ†°B߆pg0²óh«9•Hþù]×mñq‹År1°Bßq§²göx<û· '»•®ëžjꋱX,–æŒú6Žã8©H†½û‘”®Í•Rdæ×\×mtÞ‹Åbi+X¡·U±øý‘ô¥CüΗG¬tqùxxÙIk¯·X,–úc…Þâ‹ã8í‘üËC€ï!ù¦o@rTÇš ÈŽeÇ€]ˆ¸ïp]·a[òY,‹¥ +ô–:ã8N"ö7"»,%!›\tôù\†lû•ÏÇ>@„ý(Pìºî…Ky/‹ÅÒV°Bo±X,K+¦5„XY,‹Åb àÿ@<è8lw=ñIEND®B`‚Zt´ý dd…6Š4xœ•T]oÚ0}ﯸõÃÞ*Mý Htë$ºV]ªmÒ$dâ ±bjßòïg'†e[÷”ääúœûq®{ÇÃÛAúóî ršp÷ðqôe,âüûé€óa:„×éÍ:ñ ¤F”V‘Ò¥(8¿úÊ€åD‹ ΫªŠ«ÓX›OïùÊsuüáðÑÖÉX’dý£^#¸š¥MÐtÎÏÏÛÓM, és$>6§gµLØ@—„%Ei½@Yû•0µ‡/³\‹”<¤Ÿ¢3Æ )*°… ”p'fh{¼z…*!78MØÅ™µ  ³ThsDb@N,høÏÉC‚-k÷j Y!¬M<ŽÆAby™ £J‰«¸­ôF¨²I©ÇEÞÍ•”š.ÿvºÁõÍRaXƒÛ¾™*Wh„Éò:Ð\¯¿ßÌ ÊR“ok`øPÐ$ã[,|Ÿ\gÜã8Šà3–ŽÞ`RÃP¯ê–Îegq'îB­ƒ›XÒ‹zi,kÕ9^ÃÍ8Ùî€í Þk8†ØF²¥Ù× ³ûÌÎ “Bg®gh”…²z ÂõÀM©³ç¹#~`á3¸š[tRÌH›Ú˘xø%ft5>³u.±dýÉ P’ï©ù ¬É6¥e·ÔãE9c.=·/šA¥$å ë¼g£šåívðþfÜ ögÓ 3s{ÆÆ‹é!º%“Û‰I´ ('³[Qgüï"Ü/Ú+ä×B¹›L­ŸÉÖ–p~¸”4G5Qð­ {[5¼ÝŽ7óÛ7øÚX¯\>ÕšœË]ú/ûR)ÊÁU¶öåê”í5÷çö­¶«Yã°aÇ‹ûÈþÑoF¤ gg…7Š.„xœT]O1|çW,~èÛI¨*¹HmBK¥iÔVª„œó&gáØÁ^òñïkß9!Tñä»ñîÌz=ëîñà¶?þ3º„ŠæFw_†ßûÀ2Îö9Œðûj|=„V~c'ŒW¤¬šóˬ"Zœs¾Z­òÕinÝŒòuäjÅäô™Ñ^f.I²ÞQ·\ϵñÅ4­N§Ód×±(dXæHbl†OjY°¾5„†²ñf Êæ¯`„kj’/ÊJ8TÜ¿fgŒR¤±w#æè¢D*O]Þ G]­ÌT§{¤¼ôžC]0O¾B$Ô’H ˆ¤ŠŠTÙN³á9Mó‡ÔÁ mˇÐ4tʃèÁNA„&H[>ÍCb8­Ùê{X)ª`âNA¢/ZÄñ穊=©–dÝ& “˜h|{Ç’svur϶!¸DÃz]’;ÀPŒïªù ¼+ 6¥e;l‘±ó…™±Pt˜£¿,”(©*Xëƒ Õ¬ h»Í€$¿—v³Kk|•&vEh–\³ëÈþ¨1p³0µìÞ£ž²^؈þ c*÷Ï›ÆÊ)N¯{óÂ;»šj{—¯œ5µ–‚³BµÏ­¯*Ÿ&åù½’sëGk’“£ëÑI®Þy,½â :/)‚§UƒWŒ±€.38ÒLÜ= äº^Ž„Ê'"”Zj¡{r¢ò›YgòA° €ýÜN$ɘ>„µ‚¥¥0èS²ÊxªH Ù“wÇ#i“^Ã’d° ­I>pgHå@ö”}eÃîH¡—÷@v ¢HΙÄ‘õá£5¤ê-–÷Ô:4#B¡,%ͨÈpeËÞ~`„–Vyåò=¬½±\¹è„ 1®5{.uŽÂªhq,ËöÍê‘C:…ö)¶$Xƒe<2 KÏñ¡”â…‘Žç{‹íò®Ø.ïÛ[VøX¦=øÔ¢r%ŠÉs„˜´/3:Ð/‚:,û—í^ýà. d²$r#i)-”B)z#uC$iÂà±,Û ûT¶0È6É  •+‰9Gç¦-‰€q†yfÛ ÂkÆ¢ 9FOb"ø”©%sÈ:c3$œe»ŸÐÞ ÂQH ×gnH×&Ý‹Ú °O§¨(±†A|(ç‹Q]!£åž²8">…‰b#i]ß’óŠ‹z=fL¤àr`‰†1³d8§jÆHåÐÁ·…ý‰I¼¾Kâõý$^/N .ðŒˆvŸþžš2†TÉúÀuÉ Æ "/]äYa¦3¥f £F¤$‹I¢IR~ÔFJ"‹<ìÍõâ´Ýy]ÝT$ÒÇD:§¾ GGB]HÔo[$‰?Q 8BS7?àÊ}ún0’Q_ ²ìA"ÊwÒɆXD¸AÆ\/ö˹ H=95e>ÔèjOÜA‰çUjçû– I–«ùëQýñ½1ÝÞÅt{?¦ÛïîXrÈ%µR$®\¦†RI+8³žÚ^tB¬_]ÉÞ]¿~s/›ëšúI1;þrû¹V%dÛ{æ/þéöÞwsëÿõ=øö>xsñ¼½¾»;žmïØgýÌãgÿØ„£ ÍÍŽ'8œRÅxœ­XÛrÛF}÷W ܪ­ÍŹ_IU±dÇ®’m­­$»yÙê™é!Q €,éï·AQ¶#C¢è I g¦zºûœžÃNߟ\ü÷üe±è–Uqþ닳7'Åd:›ý.Of³Ó‹Óâ?¯/Þžü€ ¬Ú²+ëT³ÙËw“b²èºõóÙìêêêàJÔÍ|vñavÝïÅûÅÛŸÓî«•©K“ãg‡ƒ×ËjÕ lý÷·«7s}-±ƒ¢Ÿ;Å¿.ËOG““zÕ᪛^ܬqRÄÛ§£I‡×ÝíâŸâš»£_/^MÝdF›teWáñ;Xb»†ˆÅ[\lÚÃÙíÏ«rõg±h0MþêbÛNŠ«£IÛÝTØ.»IÑ‘Á­~B¿ïl 2Ô醾Rù©ˆ´íQ?Ž ÁßÎz3[;å*áõÁíÛ¾…rUœÃgp\üsY¦Tw?=¶z3^ÂæS‰WÛ]Nú±âývðÉ[-Jl ‰‹›í6¯ïžŸ¼¬Vu¦í?WU±ƒm¿ù‰ÜK¨êø'áÇ‹²- ¨Ê¶+ê\áIu¼\ÒB2¼úËÛ8(®ÊnQô1Ð’Í¢[à—9mÿxS¬êÕœþ}¾} PyüÙ'䂸¨›IQ¦íÉþ&ÇýËO Ç”…&_V›H;$={^|YÕdëÊÏvÿ}r¾ñæ?µN%×IñŒŽeá8ÇsJ‹ÎÛ(¤–stÒ8´‘þ¥í1K>9¦Í¶Aæï0\c;"Ìà:“´Ùs<'Á¬à­Ìà ^6Mݼ t‰O1KçD Rð$ÓÙ˜È2óÙÈ4ŒäUYUc¢°®Ê ÀKÆ¥Mh ™Mr2I­†QüÒ”iD*Óû[Î]2B8™Æ ã9‹À,ˆåM‡Ë1]‘­åœN&°huŠ<’DF¯œJA£8Cª c:Ã#ã‚‘†˜öGrP):foƒ1¶K8P„€f‘¯“^;+%(ü ¤¤„X9‰4¶xœS]o›0}ϯp]©ÚÀ|…@¶¤]+5m6Ñ}<¸ Ö“b7ÿ~œ¥S«©Û Æ×çžs}ïñødz?É~Ì/Q¥VÍ>ÞÞL¶ùæO™fSôý:›Ý"×vPÖP!™bµ œË;Œp¥Ôúœívko}»n–$ûBv-—Û&›_K=Ë´KUât0îw+.dò ÇqŸÝa–zY¢¨ÅZðøÄ6 žÔBPV¶_FE¿K°‚ê“/ŠŠ6Tò]Y&šD1Å!½£+kZšÁ*‡FŽI0s&~¢ªE‚•]H‰Q<ÁRí9È @a¤´ Ñi-/1Eæu¹×KÉ6¨àTʤC£CôÀm+ct˜(ag÷·Q&М.aLhŠÎV¬,kuñ·ì.^o Ù0Ø–IC÷&øfªŠAC›¢ÚšëÃþÍ TˆZQ¥aøÀ9êŠÙrè>éÎèåIJÐ'š^cQ¾GÓz·_‚ÐN‹l×öeÀVÕë>tl,6—Ú"g§nè\ŒŸx7Àt jF›%_)‚wïçèwÍ86ÅŠƒ >Oæ]½§Ôó©ŽâÒâa- /ԟИsœj¬¹‰êÔ˜¼ÊY9¥Šþ‹˜3¢ùÈq gè{±Å‹Ø÷ó¸ à…~DCÿ51ùßW[ä‹|' ׉^žþÈsQ "oñBtí<ÎàÐïƒXÔµ‚#’Gºeªj+3Æ:¾ð²t÷ÌŸß sš1ÁÁ,Ä<*Ò"ÓÁ/ydƒ¶ €€„|:‰|xœ•T]OÛ0}ï¯0Fâ-q>›ÚJ¬e‰B·m{tìÛÆšë”Äôãßã$îÊšº';7çžs}ï±g“Çñü×ìz%ÑìéÓýÝa‡á˜É|‚~ÞΧ÷Èw=4¯¨ª…¥¢’›Œp¡õú’ívënC·¬–dþì.¿I¶[G¿Ét¹æxÔ´‚»•Tõð?˲.»ÅåfY¦¨Á:ðü"6C<.•¥ù~ ±îkˆ5ìt—|Å ZÕ ‡OóÏNЉ!ÑBK=ÐÔkÊMa•CUH÷£7BýFE‹!~Ö.«kŒ*C\뽄ºÐi#hu@ÃKl‘yÉ÷fábƒ˜¤u=lâP™ý+pßÈX¡8ìÜî´S*šÑ% ¡‹•à¼ÔWÿÊnã媀­e71ôhƒ'S*Z±boinß'3P¥JM5pËp-%j‹ºá0}21Ë™ã /  ½Á¢|&ån¿eœ–º¾ Ç9€[¬.×]èØXl^‹\œû}ïjð"ÛŽ®•T Z¿‘°2 Þ%úS5‰m¹êàƒ¯ãY[ñ9…8æ9„~Ì#©·²œ¦©ïyiRá‘ÁÚ³©VïÎRQÖ8üt¡€ò~ž÷ƒÔg xœ…< ’$"ä^˜|$4¥ÕR¨ï‚Ãé: Di!Œ5š'Iâ{ý87;fN}¤3“¥ÖB-oÅÿ´.Ž<â˳8Hyx^Àyž…)ó,Þ+‘v`Ç)&únÔ‹²4ƈŒŽ¦Ù ]4•YëßÞY©}HÞ^-k±ÖËÖf;{mIƒõ^üe£NVpÈVæý ^µmÓ¾¤Ä™‰O1KçD Rð$ÓÙ˜È2óÙÈ´É몮§DaÝð–€—ŒK›Ð@21šäd’ZíGñS[¥ A¨Lç·œ»d„p2ÆsYO|”_z\MéŠl-àt2E«ƒPä‘$2zåT r?Š+¤ÒŒ4<èÄ´'8’ƒ¢HÑ1{ûŒ©]Â"4‹ÈÜay¬vòX})Õ›u_ýŠ5ÆþÛ"ˆ]C0ÂñHb˜´—‰‚Ù¥"‘´$PÆJÎ)Ù™±QƬbN‰V$ #é½²P½‡õ-^¶p;!•’"xZ9xÅ è‘’#¹æîi ¿7ÍjB ”aœ8Xj©…x‘2?³Î ä{%jü.Ç‘$cqŸÖ¾’àFi) ú”¬2ž’á$G2óá0!YÊ'R+«Ðšäw60”°g «X‡#…ïöu(ˆ9gF6„Ö|¯JŒXÞõKl'„BÉCr"ѲÀå°`„–VyåŸòwã c¹rÑ Ac\k$ ñ\ê…UÑâ×<ý´´ÚÑÒêKZZuGU핳(QÄHç€`©bFúE*£(™,•"‘O ¥BŠÞF5+ OØ«4«î%ùò8ƒö&QA ¿Õ"B‘ä:ç³¶Dõ>>ã óÜ|„׌ErŒž4(ø”©pvÈ:c3Û[š­ºãÊ¡ƒ ÕêT‡øÌ UI¥G8D^TƒûA¼¯n—“ºBFË=|¤ ÅFÒ"ºáâÌ(nšÍ”1‘‚Ë%ÆÌ’ᜟ Ê!Ýíþnrmvɵù2¹6Ë ˆK¼"M:æF¥3CJú!p]ò‚1A’<+ÌôM©d˨)ÉèfjHQ ž$^Íû½¹Y¾†®¿nꇚJ©)Ñ€¦;11VtTNiºÒ­È"ém$©Aµ·!4Mñ=n Zh‡ÁHFÕ?d`ȲAˆ(ß­§KªHÂí—Íò¸œ;‚ '£¦Ìç®#Ú[Æ)ñ¼# ¢û‰êò³fÍ®1óUÇ&7 ] Êb¾øÔû¹«úå}ì@}j¦ÇŽÐ¶øy‡lìm[Rc·h×UšÝ·ù0sqòÈtNí ¯µ¯ˆ<=|éxœµ˜]oÛ6†ïó+X뭸ņ&¶$N–pV'q±íj %Ö"J‘uüõïGR´DÉFÚÔM¾"Ï{Š”¨3zwóu2ÿwv‹2È9š}»žÞOîEÑߟ&Qt3¿‘<¢8–xœÕ[[o7~ϯ`ç¡ØVšZNÛ¤µ IJ›pZ'VÑ.°@À™¡4\SÃ)IYÒþúžCR£+)ÅÛš‡@1ùñ2ß9<^.¾ºþe0ü÷Ý )ÍD»_¯nßHÒIÓßÎiz=¼&¿¿~¸%gÝoÈPÑJsÃeEEšÞüœ¤4¦þ!Mg³YŒ?;™ßxœ­XÛrÛF}×W HUÞ(ÎýK¬ZKv’*ÙÖ:Jín^¶zfzDÔ‚À–ô÷Û Àر)ÑLá Äp¦çL£ûœž>ûîòÝÅÍ®_Ë~U׿½¼úå¢(góù¿äÅ|~ysYüûç›7W?eÅM ë®ê«f õ|þêmY”˾ßü8ŸßÝÝÞÉÓ¦½ß¼Ÿß¶ø°xü9ë?[yšúT.NζÞ¯êuw¾Ç ÷Þ?®ÞÎEHôXaÅ0w†|¨>ž—ͺÇu?»yØ`YÄÇ·ó²Çûþqñ‹¸„¶Ãþü·›×3WÎÉH_õ5.Þ » D,Þà*`ÛÍÿ89««õÿŠe‹ù¼ü£?]W-Öçe×?ÔØ-û²èiÃqŸaÂ`w>‚ Mz Gª>±†®;Ʊ¥!øËÀհ͸OµNxúxÚ7P­‹k¸Å³9,ŠVUJMÿâ¹ÕÛñæ#¶+¼­\ cÅ»qð›M-+l¡Ë‡ÑÌÏ»÷o¶ëuÓCi´ðº.¶`°lŸÈ3ôøn6+~Â5™§¹Ex(.›û‡[\S¤¹S~*ŠÙl7y;·o6CŸ[޼£ùá{nØ‹ ¹ø‰Ë¦-‹*>þ/”‹Ƭ€bFŸŒ&¨·ß|HPO~,>­ÆºµÞEË?/®·çúPëPrÏèX>€sœ1§$°à¼B `9G'Cé_zѳä傌.¡íwî±›fðIÚì€9ž“`wvÞ•jœ?¥sìë ûÿvÌZËnaŠäòÅ…p>•îïéæìõë×®µÅ2ZÀÏ„JÛaLùc?ÈʰÊt†‹š%$wõÃæÆ5þ1/©ÒÌôþÔy•¤Ð‰áF°Ëk ]Ý5ÍÍT1}‘ºâ‚W¤TlÔOþ0Ý\ë„(&ú‰6 ÁtɘIˆáü(À^S?ÅL ø)ø#ÉÕºåLAÝ(¸Åaü8¼*ؼë¾õå¹£cv‘ÒKòõ„…4?ÆZÛrùÈÔ#g3ßËËÈ/¾ðè®JÎUy¹ðݼ[þ}t´ª¤¡†¾‡7B;¤˜"OÀ ü|Õé·¬‚îK²¹–óŘU g¯ºgÝét–`‹5²vE+b7:¨!»ÅVœÉf_¶#zúðSkumê•Lo÷ Ê ™?kL1BáŸ))p0Ý FfÜ”$SœHÁt®x«Bÿà‡]ë±àŠåFªŽdh&ØþExÑO”œ}þæs²„°GV%—¦h *ƒø >­ò~22½J¬[Wã„PËF&0½Â”ýä컄”ŒK(íõ’n7ÔkÍ~nšõ^î4£ÍDâu¤¢¦kš³ƒ;§&ÄP5†Eš|ÖLŒ’K¨@mEY¬–øÒÔ¨Í?ûü7~o.Öš ¾ð{m|Ò› ô€ææ½a“àw¯ƒÂ A³¨G’Œj¯d$ÌQ­5KBI-¤ PÖ{6}ùKù»e`(Š£X\AŸÎ%2Á™g36?7ØrNhkúÉZ-×ÐRØZèEó$SmääÄÓµsvÍWóÜ×yk4?ÊZ¬ƒjO—µ°ŠÕ`]^‰Ìþ öñ°þ¿l™þϹ •aWj¨ ð$à+]ŒŒºRÒ ½F¡äÈ^rdýà„ ‹.–8‚¶…ãÌ—ÌJž—¤àºtáªP<„Ú…aŠØ»H¬ëvíÊh¦YßžþÚÆ?ZF%ˆ€°ßIQh2™ Ãk+C”(PG„×(^ mâ´(› ªˆ.iͼ}×®%pEFoA}ý! ›À ”VVl¹(lQ-AÉ?°8£êŸÖ̘’Þ\o¬R»ˆmÃ.Qì‘`FbV¶©»œ¸Ž¨÷÷'¯Þë4ìKÄ8}_†^µK‘Sõö޶öI„ÕTAt KNrìä o¯O^³,ÑUß þÿuhµoÈíàrK£»Oλ9Íóet‰¨¢Rz½U´.ÐÑÛR±]Ĥrú©æ ;’ØúÀ/0/[|…jYbùVñ"B/Â\}bº–F#W¨š…¢3¤ y -Q‘ãYãzT¿3î ÖwÇÍÐW§Ÿ7b‚þ¦ÊK©‚bXA"Š zi!–õÊî‚#}ÚQK·­IuP :ž—¬Hˆº–eˆHÒ$Q,œf¬ab& s«Ô0S¬ÊAÓæ"p>¨å9S÷«ÁϹt{™Ñ…ø<ý4 é‰g "FŸu÷dÃàÄFJN¬7s ’V˜R!–Z–”!!7BðZÇIó˜èúeKÌ~fN?½©G™@@L{ž¦6-Kˆ;>ŸÐ:Ê•ƒÄ¾Ê¸Á]'R{ð~‚N?×±ìýTœ:¼ågM²G¯ùÅБ@Ë2ä"º«¶Ä–›ß,!³Ó;ý€?óÖ⚟u`ŒíqΙ’¢kZ¡§ñ ´H,Ðég`•ˆ;“Äð*DbË’$jÈæqÍB@ŒA<&‚fL„XiGp>„hŃs “ñÞãV‡ Ï4:´çJä×6‚êÙ²Pÿ–."±µÑNº°7g0÷'gÿBá`™’Â:ˆþ ¦ìÙš*‚HïôÃ{KLôd²A„é»Ús y¿ÕKÏ`ˆ¡–…ö@†œ†M «~ÚÑ­°mƒD~¤ï>þF° LîEõôCîå‘¶]±P8Ùk;a©zZº¹qiem1qå‘Í¢^Ë’Goto9`‘ Ëosžš—\“ZáùûcÛÑ~òN?Ápd¼¯td‡h s,cµç¿Ã|\Ùý5ëD2ë;j´OØ8ËÜ„…X=oYJ²y h—Ý­k>á«Û7†ÚKãüô)̉nªB°Hä8 È>û.øÈîŸÂl+R°\*êö¢­+„;‚?0wo/D^˨@¯Þ*9 oð¬ab¦fba`z‡îPÎ4¸²*/•¬øÿèrkÃÃp¹€RÈLªäÛªjsmÆÛ­¥• ±}ú‰Ùµ«1H®¯ûÑ#ˆžfÎÆ/ÐOŠ#Eù°ç´È(Œ@{:+ÓÁ„Ž\ž ™îõOÊ6(á¤(ÆF§JK¤!Lóa&ƒ~ ü@˜@3²¤£ˆÄèCÎÒTÂðµÑV—ª6Œn]”‰ÑÐW'þr¨ŒQET’í]˜/‡ö/G BH @SáŠsd“¡…‰¡çIÏŒþy×ë¡;*txÝ-öèFîöK*ôbûÜô?¢^ïÐÙö¹*¥zbqé®×BDz½¸9Ài§ï¿±Ò\~•s­mí–[Ñ2x±wÇÕ7;ï9 ê¿G?šé8¸YpŠì 㜨%—hp¾Ú Ñ6c@{ÅŠ$ô ¹Ud5Ĉp¶: ƒž´e)dc|ñûo-¤Ò ñ¹Þ”s3’‰eÕ^‘4umc¬â¤HÉ­î§~Ähãb/$€Ì-‹ ¹Î«Îݦ^æü7gûF2x?øã|Xþ}ôî&DfLdGÖÓÜ#é¼¹êÕáO:åØß“Ù=Ðü‰&àV¥§ßô`}0­æèM^zu¶Ì@o Úôô¯„÷¾Z:~Æ©öõÕ×<ßJ9×À&Qº£šRý„HO³ÕׂêÐTµ­ÖåŒëgú1du)ã”ì}<Ûì€lÇ F·‚æßœ«Jꆣù9(yä0ºžäš(󬜖ã–Ó\¿¡Ú8Nh …\g:ñ;ÅÒ6ŒÑ“LÖjã­iÛ Ër/ôѸ cÅŽhšë­’‚QÙç¿dÛáYšA ô‰àV˜ã’GQiáIîôQ2«­l3˃=ÃÞ)¹^՞ؿ7¶+ßy¦¿ÈÀK:¡›“ã•H2Ù:q”Z0žÃ!âÔqêÄÅn8¯õyæm’tn¾ùš|VꆪõÜ®¤PDOD,½ø¶Ù É-çlU´XœŠæ9!æ“òÙ|÷ÖF¾Ú ÛñWÙϾÆÞDX,!üZî<®†Þ ÙŒír²j²•Z ºu27›¨ò¨”ŽˆdYy­*,¨åÔ5«C‘è¨põ]J[¶‰âº¶e!íå quQ4- c¶2ê ]ÁÌVæ\ѬJÁ!#Ó3>û¤ë6Z1i>Ðò¬ÎÈôòØ` ]!£+lÏÚ ¢)¶ SÜh§÷~ 1 #}E³„GTä#d^×GaÖ~ÖI¸&®?M#F׆@›– µ¦ä°ŸˆÉ¤;4Ôö?È3 Û¨ÈÚeg“7îWͽpÌ‹ŒT“¥"Ø5ðëþƒ³qAìÿÉ‘ÎhJd ]µ‚?è5Õ‘â™ycd¿/Ø9J=o¼x´G! ·«uib—æV]ö±ËþV]°ËÁV]±Ë¡ëò§?C»‚­Õ Q„Ç­@ÉÑåÞe0‘ÒºÅECjPþˆúD«¨ôÌu3•1«gi?Ô zÉ€Œxl’VÐx„ñ~­Íf@Â¥Ž‘˜ëvRtk¬t£Å ˆ`>n|:¹xGÕ)547Pb¨êC¸ .5½ ={ž›¥‰çMÌtQBŠX[›ŽAŽÈè–ÍSÐeÞ”Ižò›»T½ =©È†WÒÓ÷AŸmÇ$ÒäêW,SLƒ&aBqD‚Q\#…ÿ¢\}úâzöÖ¡Q‹05.:2'CuͼØ_Î&LìT•Aɨ¢°Z+‘;.ccGó€Ó|\>äénðyëIe|ìê³ ŠÂÊ~¹Ç U EfªT¥ÆyþtÂÔóö/xì°† ŽÓ(‘ª¶™H9xÇ @+‚¸Á¢Â¡.ð#XÙ.缚Dð¬Ë0¢–n#KU¼õê$ÏiWôÿ*[?Œk–Pú÷ݺªùÂ)Ê‹ÅT¨4âœ;ÓT÷sÀ”¨üàÁ¯çtÂÊíÔ>õ˜((J¡† èÄfI˜dÈî@_ôh¯Ø¦¤°šS Ò…aBªG^«µÃŠf: ‡·w¬61búõå:Gµc‰6l'±¢#ˆÚKÕºWÁoâò3 önнqÜÕFÑÈ û—â1/TI,›:I Œ+ø`€Ð³ÑÏÝè¯ê|¿a yú¾bÆØŒ/„us‹ÌÁ FE¡ÂÞEàû`¸Š@UØ€{ ¥]ü`VI¾eüXÿZô–˜ü*v–ÿÇ•@zJ,¿Í9-¬<4•Sù*³·}*ð-ãu&Ï´1'ãeµl*S ‹'xB´|ޝ´í¦sðä0[¤|< ™?ñ°"þ$Pu9P 5!™.EçðÉo¼€|vì…|~ƒEYŠÕ/Ÿ\¤:"_À²Q~cD›ô!¤\âlbŠUväl=žrÜÀ@úÖ…@Gò";Q»X1à= ‡õ9ÒDOÒ(Q2åÿ¥Ó/œ.€°LõÈHª+T·]|Škш˔ýêÁêµËk¹GçÏËõúÉI=ìæëýP3·h§øÝ|‰j^?.;üŒDºTKö©ogÀ•UrO¶¤«)y1_ƒCãµÐÁƒõ_ZWIØîWE_"jô/xÉGù&æœPe…]s=:I³ŒQe¯q?ÕùHþÃSƶfvïËì ¯^ÖáÖ»®:°s~¾p„>´µÀ…+GŠë–ï"™Þ²r!IOJ˜U4»ÚÄÎXÜ2wÏMœ_xb/»™¿Æ]„bعËPŠ›IÜå2!J¶ŸýUzž 5’?¤."*xœ¥ZÛnã8}ï¯àh€Á.àXÖÅ–½è\&Ý@z'ÝíÁì> h‰±¸‘% I'ñ~ýV‘’o¢#Ùû8.ÞŠ‡§Š‡¤/ºýíföïÇ;’ªeF¿~ørCœ ×ý#¸qÝÛÙ-ù×çÙ×âõd&h.¹âEN3×½û§CœT©ò®ûúúÚ ú…X¸³ïîöåaãêß µÓ²Ÿ¨Ä¹úp©|[f¹œZºñ&“‰i­ë2šÀÇ’)J°îûkÅ_¦ÎM‘+–«‹Ùºd‰Í·©£Ø›2?Æ)’©éï³_/ÆŽ (®2vu“Q)ÉgÎqº¾tùÃeÆóg’ ö4uþRýXJ‡–M©Ö“)cÊ! †«FÁ“;>¦zG¼xœí\msÛ6þž_òfÚd¦-ÙNóbiƱÝ43ÎÕIÔéÝÜÝx QC @–ts?þvAˆz%D9–_r.jŸÝų GßþzÒùçÅIÌ@‹ßÞ8!A- ß? ÃÓÎ)ùÇ/ç¤Qß#ESÍ —)axö÷€‰1Ù›0FõÑ~]ª~ØùŽq¬vvÿ¬™¹žõØÄAûÙ‘p<©n­¦ñúõë¼·•e4†?f(AÙûsȯ[Á‰L KM­3ÉX@¢ü­À°±É;¿ª43­ß:?×^! b¸¬}"¨ÖäÎUQ29 óægG‚§W$Q¬× þ4õHë€(&Z6Át˜ ˆéÜ,(€£†î»2žÀŸ˜_“§ha;SÐDÎq7Oc6®ç¿õ#å)¹ }vÒ6ù~ÀãXš·¾Þ¶]^3uÍÙÈ’ÿº_]cå¡’©:Ü0sê©8MSi¨a±áXb_†iôš?ßÕjä=Kax%Ý 9•ãIŸ¥`g¯êz“ÔjSa+kd–7Í䳃y²Úlá ;¸¶èqý Ø«[¹8/’5|$ü…Ä8ÄíL€‰îp˜jž'ì­oæú•òœ<Ò»téùeÉ“¤Pßk­íÅ /œ½V½˜ÙýV;w•ÖpTÝìÀÓ±šç…¢Š%UŸ²Œhg˜Ä>'@>~º¸ ÷,‡î¡.™¯Émñ¶^°x6î{}Ÿ\\Ô•u]U”Æ´Ö1£=išõr:û *[céqè£rm3¨éèpÔŠdò°o Ã<+âg´—W‘ÒûæBTʶXÑÌt@Ò]¨/Ýr㈢óŒ‘y!À—©3–³,“%y¾˜:^e(i’hÃÇWÚ%W—|¹ RÄȰ” ®þ\Z¦úe¾pvû¤DCV’-i9u~þvóxMÅ-UT“Œ$§KàüNáÉÞw¤¸`”È”bt+S'/æ9»lݶ2¨½2Sçs‘%Rƒ“@)žH‘3"abYe* ž+ò74Ï©ø;y*1½Éþfq3ƒ5‰zÃÞ$ê˜Ä¥ “@PW‰v”¼.(Ý¬Ä ³ã´-ª‘ÚZNÃjÓî<´*Œt/v<Ï;%¿ Jv€ö°9–ÿ‘{œA‘! M›  _[~Êã´MXvÊjpvL§A´m¸Ô§œPmFŒhN8Ôüôšò8Ì^-I esF¨R4N!Q«âF^Ç lÎ=VCí»÷•æ°š•¬Ùñ´éƒ7B/üñÙ4»¬Ú]3Ë‚s½VæÛiˤÛ¬ÉÐPE–t­Å jƒbþèLöp¹Ð&ŠLã$¨T'zvZƒsv÷«# é¢= ´å °°Ý>`×T²j/Åð¦ <A_õîYafÅdõ¼°gìŸHßOs ²6VHã}Wf°´*…mªárXXKÈGY¡ìtö}öüpô¾cþQÏ¡sÕDªÍ=(+“ t4£ ~ïº<,“ž?õ†AØ‚eÓå7.í9€Öù›Bð@òþ‡ô½’ªX>Ú™øzaýá¤Ã¹<Ùwæ;“%äCŽdB˜Y ÞjëäDêyXüñz£$¨Ñ 7jÍ“‘…ñÅJÝel ëqÚZÖ+§Ó—ÚåLwHäZɦà.ì€þxÒ‹-ð5ÐÃx¸ž™:LiscÖÞA9 e¬›òEšÁŸ&[ â]I…¡œÞ¬ëè´nÒþq/˜¢—Fø£1!p „¥ÅRK# ãR8Þ¤¶ìD@¹ F£^4~ß—‰Í—»,ã¥<ô&'¬²[ô qy0"$0¿%GxVe·ÆôOŸ7 NÀ p'j‰{Ï®ølM"æx-Ö¤4,Ë?îy ðÃñÒe O=+Q¿CC°Å”cŸ­õlý¨…sž•t?`NHuø²*3« cNz9FÁÏaÛÈÖsX ’p UšÅMHÆþØ×BGÏÊÇœNÝÃ+äŽ9ËìÈ¡§‘ Fm[–•Ž3ȇ2苦Åãg‰\¬•ûŽ¢·a€ŽŒ':>B¯…˜~ƒúDy0ÿ²ÞO÷wGŠGQ‚Mê½2{aÎÀ&ŽZØê7¸cMVG=‚ä ÊK ›„ö¾c˜Cáoô†^ ©ý[Ì)ª«cZM¾ïM‰¸;‚Ïa wƒ‘~(ª8r…f×Å[g·*!·­!ÊÞÞõÑ‚‘ Z4P«5Ú[€p?]C‚炳J’¡FÐýXÜ„l5òA ‚ÞhØ¡U—5s¤9g/W™â¥Vf¨ÓòR¶€ÄinKãZ•LW„ˆÓ©-7ÂQ¹6"Õ¨£îèñcËp:Š|Œ8ÿ[â`Ø€ ¥è ‡·äPm1£ß qËLUœB#SSgW;8Qp&-á6Âas8Æ3pO—˜+€Ã,² —W[¿áÈ©—ºe¦y–Ó"ä^äuáÞÙÛãDõ¾°á\œò,©Q®µ¹Å/Ð H§Ñ8‚o Ý¡í £ÉeSàî:‹7Ý¢ ss}“¢!4çi‚A]É{|}çÁlÎ#!@p`;‰ÚWØÈ;Už8rÔª¹Ðé”A†FÇàMãÉ× £N×  †îr¼ß¶Ü+lË6 [Ó‰7 ›†éŸU×Q Òçˆg]“$,.5×e:½@'¿ü?fü™™£¾ý.Æóüs/c¢.¨}¥bÁó{Q¬Ê&l»…5n»¶Ó€ÛiyK]e¸q¯ÎyœŠ"çÿ¥õÍ^U i¡ûD^ ñŒèê¼³Ùhö3©ì÷ÜFúá¹ÈŽ» ûÇSe» ¬ jDëï§¡YµÚGò[e%r57{x„‘ ¶p]yþ8›c“.H|ÇÔÛÄÁ˜kÌ·Ó0Ðmï`ª½É¢Îú¸%™{! ñËšcüZÁŸÿÔéÉìGL,Ç|)n‚²WZc³g< ¢Ý¦ï"õÂ%¾3Ò²dp*Èc†'Më£Ç'¡üÁÙ€uy=Ûì- °¶%P[ÃI mw¯†<ŒQAož_}1ÆçxãÐ'³Ô ßþàÉ‚©êq¤’or£€´ÒqHñ¦Mg,,³e'êàø+…«åÔÞËwýÞÜxþ~* kÜ«íCº|ûö¼ýUEbž×õO+vnP=»ë÷ýêé}ó^ý”ÁÅšWþkÄ'ó EE‡7@Žr¤xœ¤[ü‰PNG  IHDRh#÷áØYbKGDÿÿÿ ½§“YIDAThí˜MKã@Çgêš Eaz­­ Q‘ê—¨wOÒŠ7ô(ˆ ªA«½”ô{Šøöä¡…RE${˜&iÚκ¶.ó;ež·<ùwf: 4 pÇÕì~*\8F¸pŒü2onn^^^šÒJ+ãñx¦¦¦*LF%¡P¨I½µ4¡PÈ$”yÆá ³³³ïo®e™››³ùÇŽ.#\8F¸pŒ° Ç}>Ÿ >Ÿïèèˆv‹¢800‹Å°B!Eqrròþþž6BÝn÷ÄÄD&“©¿œ(IR ˆF£5ƒx¶z°žã¬g+Š¢ „²Ù¬ªª¹\!”J¥ˆËãñ¤ÓiMÓççç±ßëíímwwwllŒ6†¡ëúÉÉIOOOÍ[p®ªª™L¦¿¿?Ö fÃVFáfff‰žŸŸƒA⺼¼´¦Ö5M“$ÉdÄ Òñ¾¾>EQˆegg!!4*µH¥R@ Z®u¢X‹;ð•Âuuu‹E2,‹¶.úa Ãx7Í8‚Ûí¾¾¾¦S>??óù¼ßï'Á‹‹‹¯¯¯tAL©TêèèpÎ5õc pàß '˲­ëÏ‚0>>~{{KŒøB×õíííÙÙY44ÔÞÞŽ#Ößœ@Ú$izzúááïîîîííÝÚÚÕg@ÅÑÑÑýý}º1kîææ¦,Ëxhà€­&Шܡñ—€†¾ŽD"‘»»;EQpgÿ¶šØ|Vj”½½½¿/òãà¯\ŒpááÂ1Â…c„ ÇŽ›ãH¡P8==ýþVZ–B¡€2[­§äfôÖêÔ~sàÔ ßãáÂ1Â…c„ ÇÈoã–Fkâ5£%IEND®B`‚¢ººI`^úá1è_0Ðk]òf A&E™?*‹À¢ˆºK‡~\W#Íd¾‡…}¶Ý}¬§ÇùÆWæušùÌ{>ŸÙ7Ã8.K@äO/ ÉÁþ¢û‹–xýd2ùøøø#Ki&''?ôáGìvû-¬Iàù)r>Øívˆùs677…fâó-Ø_´`Ñ‚ýE ö-ß÷7˜L&‰Db2™Ö××¹Cf³Y*•F¿ßÏ ‚ B*•ŽŒŒÜÜÜÔ7¦®L&£(Êçó}*npyÞ%Ãn·å~‰D4M<§iúèèH£Ñ„ÃavH«ÕF£ÑR©”J¥¦§§™8S«\.///Ö7¦.MÓ±XÌ`0ø|¾OÅ߃¹Ÿñòú_ôw|||gg‡ínoo±C»»»Â)líR©$“ɾ(æ¶KKK P(2™ Ïd2J¥2›Í¦Ó鉉‰ööv‹Åryy)L‡)Šâf&B¯×G"øñ=¢¨ >ôW©Tær9¶›Ëå …è÷a „•J…»ë‹ym€ËåJ§Ó¹¹9¯×ËÄ=Ëå‚:¿ß_.—¬V«0U>ŸokkãªÕj‰D¢¯¯O(Ô­¿r¹\tèW%‰dhhèêêêS±° ÈçóLûööV­VW«Õ··7µZ}ww!T©Tì$IR˜Šëo4µX,‰ÐÒÒ"‹ ê êï7ßÌfóÙÙÛ===¥(Ši œŸŸ‹Î‚V*•ëëëáááúb’$kµàõõ•ïììdE †P( … ƒÕjeò???3ÆLçqqqa2™˜öìì¬×ë- 4M‹Š?| žß_Ü¿áp¸§§çøø¸X,žœœètºýý}fèððP§ÓÅb±———T*533#Ü,¿Æ`0X*•Ün7àì_îÜ­­-›Íf³ÙB¡q:N§3N?<<8î¬b±ǹ¿o*•*‘HÐ4½°°Àf–Ëå÷÷÷uuhäù!ôûý½½½$IÖÖÖ¸C@ ¿¿¿µµ•¹rqŸSˆ¨xooO­Vwttx<žßù[­VµZ­V«}g"ÙlvjjJ¡Pèõú`0ÈÎH¥R«ÕºººÊ]WWWww÷ââ"›ÙívËår¦+*¨Cƒýe™ŸŸ- 4«ùõ—ÿ~ý¬¬¬ü}’fÿ?F ö-Ø_´`Ñ‚ýE ö-"÷³§§§`0øß/åÿN2™‰òîÃøû‡¿„ç'ñ÷“(Áç/Z°¿hÁþ¢û‹–ë¾u{üº÷IEND®B`‚ ú z‘z†BŒ*xœÿü‰PNG  IHDRS#gò¡–bKGDÿÿÿ ½§“µIDAThí™=kêPÇsìÕÔEP»¶¡´K£Aqi?†®ÖYpèh‡~qÑNiAEbL|i)ÖAÜ…ÐÉÙb´ÐäÜ!b“Æ6·V¸ÉoÊóvÎó÷ω „ˆ!±lºa*7äÆx<îõz›jeÝÄb±%Ê(•Jêê7€Ë¨ìvøß¡º¢Æýž›Ê‡©ÜxèT^(p·Ùl8ŽßÞÞÊCÅb‘ E)ŠŠ¢‘Hd8Êv»$É|>¯=#@_«Ÿ¢<ýW^ Ãx½^ŽãAhµZ^¯—¦i)´»»Ûl6çó9Ïó‰DBô‹Ã¾¾¾f2™P($w ‚À²ìÁÁA>Ÿ×˜ô+}†ª.=ÊOOO«ÕªdV*•““)T«Õ”%Ò°óùÜn·pBiš&IRžØßßg.ÿšTMÐæÇ”»\®Éd"™“ÉÄétª†äJ „oooÊ5y~~ÞÞÞ–—,‹n·ë÷û•ɪ ¨êZzo×Íb±X™°Ùl@àúúZ;“eÙóóóÑhôþþ¾µµ¥#á+è9Ⴘ¿¿—Ì»»;’$Åçãã㇇Õ*q̓A8VFûý>Žãâs2™¼ººšN§‚ ¨~¦+¾ÄÊ]¡„¦é½½½v»=›Í:†aõz] 5 ÃX–}yyáyþììì³½*9g³ÇqòÎívw»]AÒé´Tèp8žžž4¾»Ûõ(‡Råóù, ‚ 777òP¡P8::²Z­â­&ùqnAEÑ`0˜Ëåäƒïììx<žËËK©ðââÂápˆ¦j‚?©\"•JE£Ñétú­ª_f-'\6›ýÇ6…ùöjßét†††Rmçp8BYYYGÍÍÍU«ÕJ¥’\‰¹{q¹\2”P(ìééqÏÐÛ°ÞÞ^@`³Ùââↇ‡É‘6›M L;³‡+<|ÐétZ­vÿþý!‡300@F FúþÎñsBÈŸêr:]Je{dä]]ƒa¾£NLL•”ÔMvö„„–-›vX°éûMñ/^¼ØÛÛ{÷îݲ²2•JU[[ë#þ¿+¼âÏïH:---+V¬xòäÉèèh[[›X,¾ÿ>ÙõðáC±XüèÑ£±±1£ÑXPP@}#ÓãPƈˆˆžž²ŸŸŸŸŸoµZM&ÓèîôvEEÅ‘#G(£\.¯¨¨ðæµ{÷î’’’OŸ>ùH„L&+--9uêTvv¶«ðBèÒ¥?ÏŸ¿'•–ÆÄ(bc¦]¯`[ƒ›¾Þâ3jtìØ±wïÞMNN>þ<**ÊG&þkíîs¹ÉA„J¥Z³f ‡ÃAݼyÓ½«¦¦fýúõaaaä6®)ã™3g"""Èá¡¡¼¼<¡P¸jÕªºº:º;½˜˜øôéSʨ×ë½y™ÍæíÛ·‡……1ŠGµÉ…ïâÅ‹=¾þL5˜Üäp:]ÿœ>ݸví/"‘‚Ü9 æ#‚L_oñ5ºqãF\\ŸÏ—H$ÔV c&þk=ã›áÌ®®®ÖÖV2o€Ã0µZ››KY&'zýßwî¼ln~åp8ú¼0‰]]eóèËs¹sçÊ•+³ò?Ë Ý±C²c‡¤¼<ûÞ½—õõ]¯^™ƒx7!ÐwvÌA3 ::¼  ­  ­¯oH£ùëåKS 3X ,ÀˆÅQ ÅÎ@g°<ì ,,,,°Éa±Xêêæã± €¾,a±Xèÿ“¡À:::È'ú€ èËô;éù$s¬Á€E À€E À€E À€Eþ“cîIõ­ùIEND®B`‚r9¬b [[Cž6†xœ†yø‰PNG  IHDR #»@ÍbKGDÿÿÿ ½§“;IDATxœíœaLIÇg ´5"´54‹Õ ¢iDÁJ.¹FTÄ&Ц~#OÉIõÃ<"jjdee%Žã†M;KfµŽTWë33+bb8~\$*މQ¯`+° Ô—1>£F ‰„Çã‰Åâêêj™P1½iMWø€qngøÑ`0¤§§S‡ƒêJKKóæ899©T*×­[çíRBEEE{÷î¼pá‚\.w÷µX,W¯^ÍËËs8&“©ªªª¸¸˜ìÕh4[¶l‘H$[·nmll¤¼¦¦¦,Kee¥B¡ -………IIIÃÃÃî3Î8,55µ¿¿?%%¥¨¨ˆùæÍ›îîn—Ëåç\ŽNÔÖ¾øé§KÉÉeååMoß „œNÄ( <<‡@D­xœ­Rü‰PNG  IHDRX#ŸZabKGDÿÿÿ ½§“bIDAThí˜ÍKó@‡w[Mñ X+‚-%Ú&Š("‚é]ð,mAT< þ ¼ âU!Z(´ˆ"¨µõ£QD¥ñdO¢—€•Æ É!î{HXC?ý¨­ðîsÊÌlffIv“@„ `©u"„ Îl<>>^^^Öª•*3::JÓô‡L„ÃáÚ5VmÂá°yîuù#þ‡}B˜ã!k„€a@„0 B|Sˆ`0È0 EQ ÃlnnšC¡PˆeY›ÍÖÕÕ%‚î„Bm6Ûððp2™ÄÎt^iòß#P9b±MÓÇÇDz,ŸœœÐ4Fq¨££#g³ÙT*5==­ûõ´Š¢¬¬¬ ˜5ä½G|Gžçwvv°¹½½=66†C»»» ëÙl¶¡¡!Ç™3Bèr¹b±X"‘`FÓ4=¤( MÓ÷÷÷’$MLL466rwuu…O\^^¦iBXv •¢¥¥%Nc3NÛíö‚!sa„ªªŸ¹#4ME±§§!äõzC¡î_[[óûý!ŸÏ'‚¢(}}}8ÛÜÜœ$IeûG¿'DSSSÁ¹0€¢¨ÁÁÁëëkìÌÇ9Ž£( `µZB¢(ºÝnMÓÞßß=ÏÝÝBÈápàGÛb±àl///e›Çƒs„øÎbɲìùù96ÏÎÎúûûõcÇsqqQl1RUõææfhh¨XæÙÙÙ¥¥¥L&#˲¦i¯×ÛÖÖ¶µµµ¿¿Ï0ŒÛíÖS===éЇé477c:ýa>yGD£ÑÎÎÎÓÓÓ×××D"át:÷ööôÐáá¡Óé<::z{{K¥R333Å.~A§ÃáEQ–å……E‘ã8žç“ɤî @@’¤‡‡ŸÏW¢D1@E „ ÝÝÝ‹°±±aƒÁÞÞÞúúz}û,Ñeþ%¡µµµ½½}qqÑ| ÏóãããØ|~~öûýv»ÝårE"‘%ŠQ1!0óóó###™LæKg} UU§¦¦noo+˜3_ˆŸá_buuõ‡J!´Z­ëëë,Ëþj¡Ÿ ñÛ jý!ßD"„€aP`׈D"Õï£æbrr²ú}ÔXµúCÖ"„€aðÄÿE‰NêøIEND®B`‚df¹è·øÍ5zjªZúPKÉÈÈ4M$É“}PV~AÛC8oÀüøÄ%;?ÿøô´â×/¼2bbb,Þ°°0.ù¨ÐßXÆÇ«×Çcx¯Oi­«ä™\¿®WKÿ†v*ƒ ÖyLJºPc/½ÏÂÂ24:5ÍÉÊúîÝ;“}†jSEEOó’kÔR††Š ¦ürƒ…ÙÙ’xÈ>MxóD‚^©ééËÛÛ U™ïÑa44èÍCCÖ 2@HêëëÃáô½33Ww·{wó î3NÊ´ƒŒïplRΪªªÙ*ë´ÔÔ¿ —LÇóö÷S@T–Lmýúµ»»›Ërž›——3C”((:<\Ä\.‰×~®ÆD0è¨þ”ANn.¯ÇµS}Þ@³«ÃGl.S&9d©#l¡ÚÖPY9z?x™Ïq7‘Ýø‘²ª2F,6DõùQü7d(ç ûâ0³T„ˆˆH€´äßÜ·éû…ß¿ÿr­»§G±§½ÆÜŠÁDÄQÐ¥ªªª‘¥eQaá|­ã^gg瀜¥•ƾLvz:»AïÆ»ÛÚ&koïèõ®g•˜À!”BZZZÉçÛ öVVV ‚ÙXYIòßUm·ƒ«C¤!­Ø=Р ;ÉëgÏtæëœeø“û ²23ÛÛÚäÃÑIž<164ô·4†ð(y¤ˆ!¨dý÷—ûŒ vX…ý«ùˆÊª•<º7¢¾°bŠà7añ§ÿêjçËÿVvVt¡å*ÍÛhú°••ZZZé"cm:0¢(T/¢Wt9°¤q¼ïî{ýš®údcä¾” uÒþklè¯È÷¾ÓMe áß;ëëJ<<5IIS/Nv甇ß"AÂ¥àjÂl³ÕG.g»=g{†HF[¦œgóÕD ¬ü1 a _K+È(¢ñ®¶–KðéâÔŸ&^Z9^™xöñ4©š—dDFzXVvæzÖk¼Uâzi´±Ü%Q*¦Ø}0¯†—l¥V#™“¦Ég°ÆRÃ)wjØC x¢Š=¥0Ôñx½Ïýª0'÷¹`]ç´ :#2H6Jpîl¦W›·ýI±==yüü™¯µøÅµ’Ÿn[1€*ñ§ñ4½j?üÎuº¬)k`xlì»Ý[PªÅe÷‹–—¹Ì^ÂåüüùÂH¹„‡W€í'F–WV®u>šúõ«‹È­Öxä=!á[)às$<áq}=‚|uÂËSóÛw¡ÉéÐïv<4è.©§îæV$=ùû‹@!ì ÅùÔIúDY¥ã蘟ÂñÅoƒ^Eö÷&3p,:8!AÜí”Ï úƒc][lyO›õ»?).–©ölcDùßèZ_€†U–s~~ì|t}u2"èB€Q-!.Þþœ‹œ\nr*Î×÷µŠŠJ b\TŸAë¢Â71©*,\T)äŸ/í°¸½`Dƒ i0¶ UÕb½®o*E6¢¢± g±ÿ¦£E…~O’'k²iÑHMm,Ž-/8Øå] p«ˆS/v׃¿>å'<<—+=’_ è®7•×hó‘/ø±îÅÚ@­ÃVæ« J™kÊø mØÝ^‹ròõ¶´Â*llÌoT–——óóó9)”xA %áx7¬  %œšnƒn ¥™­9I¬½"pt”þVÇ×?>ÎÉË[³Ó}““S^^>¢ð¤‡ª^z˜}}]‘ר˜} rpŠ1’†††T,È0`è\2îï¿l×V<+ÕÊŒÊÒM‘ ¯S𠳇ÛÉâVQ¢þD¥ár?h^TèTØ’³UïÎç|ЈÕ5pÃÿ†ÆÎÉM°ÚÃ]IL,°ñ®ycDæ ‚ì«Jॴò? ·ùãu_¤3;–7•pG…nG>­ÅÕOoâÔÓ"tÿ¯_“¼Í„ k—‹“Ó€5Ô/¥ç!âiCF z{^¿–#ƒ„Œ~ÔîS\Àåx5ü¹ÃàÕ½¥¥%.‹Ùõ½=mUU§õÁ§rry*E˜Ú >½}ûÖÚÚúÛ·oÞ¥’ ôô¶ lÙØ<’Ò&'Ä s2Ÿsù¨2q3œ!Á˜ŽÄùï¥-`¶=Y ^Þa ‘¬®®zÃÖú“®® š*?¾}ëa¥[oYq}ífjjJHHˆ  #t¶Â>¾¢â4ŽÍ°Âb.Ô×4‰°žX&.kÍEso*777;;;tï**L/_¦Lcab‚v‰‰…Ešÿó¡Ìu=€ <ÊKM ¯Zê°¼¸bŠç4ÿ•nj\}|l‡……ÕÔa½Ôž‘•…å—à¹Ñ:==íåå…t+âŽtH†§Æ‡¿L' õ{b0à=‹V×××Û;;Õš«·7Ws³³ñ¬»kÉ® ‹‹G,'ò؆R¼ã ¬‚€„„D; JIúM¿ ñ&§¤ð5Þº¬† ­Þì·TFf|%em¸4x(#ÓÚp^^ž"ePPëɦ²ºúå#Ò&£0hiÀ -þ¸¸”‚‰&é ÝȤÈ" ‘düúõ}:sdƒŸ"Œ7%7÷¼|xÇRWWFEÜ{šØs7M‘æBb⼜œ‡ÈëCi#Y®g¡Ô]óõ®Ú nÎûš°Ç/H!¯ìOâx)><ö›…Ykq °+é~m‡„XÎÕ¼8ÿñ㇑ÉåžÏ€¸¸¸””v2€@À&&¯¢ï5~¥îÚÞ63ñþÀý@Ê#ä¦OÌ_+QÐÜŒ5E‚órsYd)P‰àeffº_†„"^»3•{š|Hsvø¹.ɨåVf­±W$fŒòãê4ŸüÕÔÖ¶ÒB ¢tzÍRƒ´òž‘‘È>Zjj¥œÚ‡†ŠéÈKT󃃘¸nŽælÌëìî.,¥¢²R.B.è> únl¿~éÔÕéÎL£g#ÀYSP‚Ø@$o/Ð`R)ÀT«0ËÏÛÒ“šxFòñãGКûûûsss2œÆ ºó–÷ Û€022š˜˜€cš+q6Ï͹w~:º¢«­­AýšÁ` y®5¢½ WB‚Æ@²ÀÊrCÎÝÙ‚'<ñ:º9[P|ý:Ø ï…ˆWèâÁƒ†ÆñêÕy/q—‰³Î˜·ëܤ™¸’¦&YPÛ# ØùîC@ë~*½Hv™ìÁß¶œ±…zW­+¹/¯mÿüFB)*[+ãÇ)õô¯ 쬸s3Ú0ÑUŸ1 üë-TÌÏÑ ••Çn÷[ÂkxµÞ÷šèëg¦÷fÈñ¦Bô8pº&¤÷.- dÔ´üð•ß4…i&¹6)©;1‰¢Í±¼ DՃ辂¯È¢ Ý>Ѝól¼üéQˆAéøDHFaZæÓ¥!2ºLFpzú•0pˆ9HÌé$b&AnÞä_ÅOw-è6Ôãææž®t å€Keãg_“?yB·‘ÊûÇ?--íùÆ+HØï“ˆ±×)ˆËcwXm.’+ßoí±ÍM'•"Áo¡²2ïݺ> fÉQš™òéÜy °¦¾€©ûëéêú d ¥ôÊ[öÜÞž_CÃ'k½›ð¬¦L ëW! úøÕwゞ¯ÖéÏoŠ£Õ®?b>º2‘B2ïo·û^Û“%+³iq,,ÛÉ÷à‚}8èUä¤WÂ""ýã­¸BÁ쬛`À WM!Ìõû÷ .£Ye†ŠÊÄ[‰,¿¯×'ˆ“ÌîÚ (11혘ç$HÐz6Âo°*ǽ:ç[ÐÛ÷÷Ðl¨“|ÐèÁÆ’>=k!§¾àò¢â× fb*vÝÿ4—BEË[ïž‘\+&ÖÝà~ðö-œè5ÉκQaVÖ¿Q ³#¾‘_Êå¸ÛFÙS¤i­¨¼C½as›WCJv=ñS”ëÕ«ÜX¦J+;v•Ó]àOL‹]¤ïÌLEGLÚUv9äÂÔI®ë;ä±qjF–wA=é»scÔ0€[ {SÃêÎ×[¿Í44œ¢¢ªG®hãRXL-ct+å(ÒÛÙ¾øGg ­yµÖ¹küÙõ0éŠØ[í7'Þ i|·S$/Ö¼û}_ºÑcúëµbœwv>ÍDøþmADdä¾F£TĬÚZÝŽ·„„«1¯ä8UKNÀtg~Syé]J·fÉq°°˜}ËúËd;Qäv¾_92 ÷LžÎ‰ôÖÛ]œÀ,­ìlƒÝÆÁƈԩ¯µ*òì|ñÒ›»Û9F˜ ËPø'нOÎŽ¤M4Ÿé/ŠlfùþéÉÞq¡ùå¹õx¦ [,#GÇæ ‚ÎÀËräà&4ró †=6G1QEuˆ}¥æª‚CCkà Í_î×Jç>°ÎЋ8úd+žÞ‡\:‡@U]½”Ƕ 02ò>ׯº¥ÓÁ¡F¸ˆ1Èš™©¿ïõùõk%>>é…Âï¹ZËÉmfÆXbŠ]³ÏŸ_†“€H¼eÖ蹚Ú[RN±×j‡sUÖ÷§=Žkx“c'.@pFÒ-Ùœ¤@òðâi’ âÝ]5Nææª[î]˜ÇÝÓnèµ·ÁÌÏÎ Ö]þBeáuÜý¬·|38¸«)›S¬!f¼ÞÙõpYÿ àéé *-%+ÛßÝm²$’VX¸›-ÿ£*nÄi½hH+s©»;û™Ï¡×<á¡TÄñièL%“G“·üLEŸÅš"º÷¯òrÐâ,®¬3@ë”QRŠJσ  ÿ'"P1•”Í\M'(3ü3­››¼*ûççv”pÊÕ>Ò!NNô§™Ñfææ/`õ1Á`‹$«Ý¯Æ.Ž “xéÊš¬xx^`SÐÓåÔÙu™¦P˜3?ƒ I$ÊûT.SSm€ä`Õ6Í ›3Ï‚¸Ü9Ú(“ާBn´ðX*ÂÂ"ËõøƒFíx ¶_­ÃÎF"‡¸¸€ŽîÔ\MNES(ö ¨ÄX=lMÝÏÿôÇ\¢ßv  Ófs6Žnw$V7h[??F8óç”~N·ükþ”8¦ÆÅÍ-*e7¤_B]èÛURsr..OLííí7u:)Òª'--´ðBØ—íBçóæ2XCzņoXG %¥å'osšÈ®›oLü8‡Îwͤmmm€¼^¼xÀð úß5¸gÐ @¯õƱ§‹oßìáA)'¨R××Kàlëór£Ûoòq´]%cgߦ í±ø¯,mòΜôÉpn'"©Žœœ%ÌëGÔ¥¥¥9oG3þû]´[Ó×S1 R‹ùº©¦¦Ÿ.D $gJ¹ÃN’¢b¥ûË üÇùpÿîàÔ§O{¢¢3ôŠÿ¿¼•ö¢JÞò¿p4ñÄ€0ÞüüüÊÊJ­ãßé‚aeRRRµænw4ýÝùnÓ“ùG\HØT˜²n´=ÙäºRû­³øx¸ìZ§ƒ¡Ô·ýd.Ë9UÖô©ª©9;;óðñuJ)4ßÓczy¼1Ê(-ݳ3SY[U•“£¦¦†±ðnÝÑñ쩨߇Ø0www©ìe¿~ sÉ3Ùð.Ÿ«u”“”œ¬´¤c =G1 $ËJO,‘±5ˆõ¿~ ›©‡ö¬h¨ïn“=©V » Ýq%›ž^íq>ï87ÕÀÚµÔ-nÄ@$mfÿ-ù<æG»€74hn蔲“Äw¼*ÓT¬+Ý:tQm‹;µ=¸ÒÓáìÒÿ}÷m0.7ÕÆ£ÿ¸e/Œµ²½;ïÞ6å¬ „½w$6]ž57›™3}qØ/BmŃ¥ wTM"â8;'©¨¨8Ø&<;Löñ¹³q”ÀD†@Ó ¦–¦~Q"ƒ…©ž›ý’iñëé_O§çÈéðá°yC}5zNö’YÛœº t‡NÝ—ÉÓ…²æÇCd£ Q‹å•hqñ[êi 9àë¥'ÿûo“Ïö°Îö+ ú¢’¶ïpx{¿ôHÁg 9-‚ÇGFì(h›’efÊèV³àíÒ˜ËVÜááá++ö¯^=kø¢ nÅMFNN.¥‚±"ˆ|r{}tBÊ$ ×zÊ4€§ ÇÀЄµ“÷yÞŒ©+¹¿û }=’ecæ@Bu ¦:(Ì-).·Ã€¨ð÷ zeææ-É$V¹—e R†sYÔt,­…ÍVdŠ‘Üè¶ùbáêêR :íËÊD–—olOµˆ¯Ëd9þ¡Ä„„7³È ¥lŒŽT|Ö\Ù•‘^¨ ‘Ó|¯Ñq”@s\éŽÌξª´lÔa]ax2µým©o1˜P).pdäòZìÞéÙˆÜR­½"¡”ÿÆÆT9)[ûï G‰DNiiWÊ'q6§Û-îÚCØŽO`ŸŒgN¦o݃¼ ÔõÈr/ÏÄ$écAüˈùùº®ÊJ!~£ižÛª‘†ýüh:Ú;»èXX†.NTLMM•Çd# ± HýžÞŸ­d¡ ÜÆ­­Za꽇]ýŒ¥|£õµÓ]‘²Ï6µ<ƒ´ M]†R’ÖÖœ8º_«Üœ5Øñ¾æŒ)È™R£^ù¦lþš‹“sçü@Cn€K‘_«×åÈfðã=Û  §ÄR@Ã3FFž‹¾húݹ/š´Y¿7K aÓž˜½Ý¯x]ØYXY}{V’øÌöæ)ƒC\ß!îÜâ½@ñj·©´à2ìgÆgÜïY‹4sX?Zã).ÞÖª¯ Hçgq¾ªøtwkj8™“cocCRk4ddn>Äÿì>èW˜Àº÷îYDYÎr§À ´)íw¦GF²P*ã³5'®šè¨ÐwDZ ¿ëž9??€«GÞÃÂì&' %yltuÁS'PÕèp`Z¸ó«ãwßßCÀ­D¬<À¾'ˆ/ÿÎWk <|øP¨¼Ê?ždèÐêꌵZÓR1U ÓÙº ™Š£"í5& "â9GG÷M¸!(ÎȀ˿K#ŠŠ °ê¿ã)$#®/Ö€ÒbÒ4b¢c~žö©'ÆX9¿@F.Q5·¨ˆîŸ••oÑb{nšƒŸdú mUTá[îU­QŠ‹nOÈi|-//?”•ÄÇ”$è>0ªtÖMX9~­ F¬ønG[H"T0âÉɲz×%w·Ui·.aŠ0ÊÇ?–—ðii%ÎN“-uÙÈpQîC^Ì ïrssçÊ·J’’Ô@…Öo]knNއ7~f*î[EŪË9óÑ„öÀõãxósN‹Ä¡ò¼ÀѤdã½û‘ï¤óÆ Ëͦ6–KÇ¢þH8[(Ñ1Â2 Œ£EAyñ„t+Qh×ìGrâñðUí/¢0¤cܲ æ"ˆ»•?Ž3j¹iЦ5ù`=yðíuç#B{Ï«S,7Áj8UD@ç…ˆâ!ŸÇ6ÞÁíxûÚô°úWޤˆcÍκÏÎ~XW‘ùÇ*Ë, Æz©-âŪÐYNn -Ðz`$toªÃ£¹Äªz“11"锬«K­ 09\­Ì,Ú/újNü·‹-\nnON8tu>&ÄI?x+.þ®æ«ƒù|3bQI€( • Ý{²de;Ž wwþFY-njÖvii„œ\Îlîòf8C·M^ci¾þj}׃÷õÎÍæþÔ¶Ô{×ëòÂ\8 -S9t°(*õaœÓUKáO1åÇLدOJ3Y‚p~vë¿­BUš·'[××¥ÊWï¿D ?Äøðé†'D52½wÇ MÃì±O÷Þeÿ·½Ø+mAìg­%%¹Ò÷eÞÛUXŸ‡6“ ’¼/^QMÍW£Ò£ñSSå D¿ƒ©:k#~ýªÍû(c´kGÖáè ¨¦¬ìºÜ©ãìì÷£ûJFnÙÄf°½5œq÷táæ~:´W Ð2¼BÈ2}ý88i ®©arš6‡ l†+WÔûŠ´Vjª“\ž9ŽdƤ·ã}FAedÈ"™úú„¾¾s°úš©‘/ÄL‚Ó•{Ó»sGÓfÕ›¡ÂÒÒ–4Š·—'Ú‰‰íÏÊ42½é&Ÿ‰Ze5`¤Ò~— Ö‰¾( Är~¹Ì7¼¶²Æp=øÛRank%.„¸ï-â.”ÄkÖ—œž2Üø0:Z™ æÒ®FA(a qãËMLÐíeq¥P‰íÚŠrfÍòx¼¢J"*åüü<„”ëòꊘˆˆ‚×®sdähs,϶5Q´Pëh)//¯©©©£“ú‡!‚º§»›ŒŒ,11q:EòÖ-’WTøñ+u(âàöFB ¾¼©É1Þ~<ü9×Éñxff¾¢rs!ÌÕDçpkðg>¾6Ð:oÙ?“†ë²S°½µõGB–CŸca“ENH` &`òÅv—›‹‹‹ñññW¯^ÑÐÐ=ˆOVm>à @ÝÜ|‡Í°ßl®F«—£ˆeÒ.œ¸[{þyqe%”•´4Ûá¹ÅMò$Ï'£ž#A­HlÞTi8” ˆ"JΈ\µ§nG(ÖÖ¸ áÙýgåå³}   ¸-w6xÞV[l«ŠãLÈþ?oM¸^\ý_Ó_ãQÞ[››Üd¡aañ¦Ù1L!÷ A‹EB[ª ÃÃ™Õ¾…»s]EâpÆW—ì·ŠŠs^^/têå·/Ž é½»oÏu“ËOð°GcŒØÕÅÄÄ–,GÇFGÝn.ËkjxOŠÔP)ÒÊÈÈ€ïýçF…ÿyébümé¢`Â瓘Ț÷!A6)Y†5N‡s TH ‘vÏ@‹ÞÙ‘à^ áöíÛ·ÌÌÌÑŠðpyÃpj5EÅÈøøw¿™žJ±òñ%ÄSô¹Œ,ÂüøÁâN&2÷âÒ…›ÇRÈ\ PEm1±è߈F&%upÜ|^¼öÈbÁÃþ|ÿà5ÜÜôt›a|ŠDX½‹Îû^ ›{ÔâÿÅ â‘°AN0Š*+“ yÔÅÆNoŒäÀbbbf*-­­åKKJ5Dÿz¸»»+ê÷à§ÕÿAs¥b\l6½¦@„¬Â¨:cJJLØJ zbÔ€®‹Z::|—õþ€‚§d`(M(0'}}] 7ì%#Q"Ó¼@c‚.“nïæÿqMÃôó# Ð„Köýó§çÁÅ2h# 6ÌÿnU®Ü§å`dª½¢7àOÕÑ¥4›dv_éÆPÍWý󟻄i@WzSXÈg³œéÓò’£œfnÓñ|¿Ïñö[ˆ~ÐÒøoÏÛ.[LºœàUƒà/WhtþJ­ŽCo|c„N__™þã{£î¦œœ'wÖ-~OÜž_*ßgÒ5p‚I@:¯””!|¶[TG’Òw,÷»ñ*“úè¨#—7µ%œ›î$!qÔ—`Ø5MÂâìœAÌÈ_ã°c {Z=ùÛ·PŸ–J6ƒ,ì2ͨ$/‚‡LGüøGúÏŸü®§\!”§=Lán‚žk²3ãaªÊÊ[«—ÝѵSÝ£2_Â( aµ§ÇÓå†d¨>‚³^æ3«ªª77M$kØC{SI‚¼Üüþ½Èì”ÁIʹ=±”þ~Œƒ,VÈd"^ ‘ÉËÓë/f 3ÆÂ¯yoß4…¯¬DðúuˆJAü'‹ùÆo{@Oa¼ÁC6&zh6@KÌd±mbéàpà‡-zºàqBÓ\t¹U4Ñ‹fl\̨©:…‚ÅÇHæ¹7?#KÑÖ–±¶•ëÏmýÞö0ÊÉj6Åá1…ŠOѽGÿÚ\t„¾˜žŠËÉõ°6  Úf–‘‰.Ðh´\±Z\tŒšÌm=øå>VTtÛƒƒ =`I,âÛ» yêÐÐËÑ0àÆ›Š¢ü94 ˆŠ„’I[G¸.Ìd¾“¥#l¡ÆShi[Í!Kó5EvaèÚ†3 Ãváìíjˆ.ÈÎ[š«»øÛìÛXsý¨®>U?möM;ØGƒ¼@æØo«þ]î¯wu¼Fzò¥Ö¦Õ0«3ùKë5ÅÊRG ~Ï=J¡U2Þ2«ÕÞŸ¯w³È-7~ýjàýæÒ˜'îù$‰,ò]Öó.É`Ÿçz‘£PA^Þâ"KA[¿Gâʺ“·xZ’ОŽÞhiÛM½&ã]{ÈZó…å†Â²m|¥B¦{ùÒøÏoŠ4ñ0‰0šÌŒúF›¶ú´@Òð¨ãî.:I9¹çÌVÆÉ›¯ Êêñ–·&àÄÄžonïCßQ@ ûbbv$»Wév$2‘ï9ó9j©—›üMPçmº»Æ>Ÿæ¿“ÕgÓ]&3\ ¡~ ‹¾Xž¶Üm55$B×Ì6íFžŠSÿSüä ì~îï×vw÷VÛúsUÅv,ÕÖÂwg*óf¢ˆìú×"¸àØèUåúþìÔ´YÔ4«"vv›y*Õ..ñl†8oCãC3ßÜtq\àRTвÜ÷úý;½#¬”fcÚ´e‘—·õ±§Þa''làúâH¢¢Fã%C~@ˆLP¨¬û5·´´tÛøøvgx[Õ-D•BaZ³úpy©ãð…4‰Çê\m(×]SΉÅÖ¥ðóóâ¿”aIÄ$5³³užyôæŠööuy*p1‰¬ùº‹7ZÉ,æÓŸäž-ÍüXõv’Œˆ²Ã†RoÎÐFGyQP^߸KEpr¢ ¶µ˜ï²=C(^M§¨Ž%ÿ¯ {ÂG†ÔR4/nð í…@¢9;Ÿ8.œ”?±Ð×OMM}¹1Œ¶ ”*¬ ¥åGEU9ÍQu¶ÜÕ¨ ÀÚŸdklù^Ö£ÔnÃݽ/’6ÖØ8' U¡”!]ÕÉ9ÛµaîÄ¿">.@úŒoøÔ:ªDÚÁ@Å ]N [fw$k \ïÊmÑJK¡½mþÝËã„1Ã÷½÷ÏF–:p×ñpщ ÝS)œ¯¹ó¤cûž››ù9¦Ð½EE¸E »;WW—4§«k)­ꉂ Ñ¡!ÕJ “ÒËãÓ†Í%ü½u£ýžüS7¾¤?D¿AÉ€ê~i7{‚´ýAÐ>geõ¥Bç«E¥XÅÆªMH¼^Ýž2Ð$X=8GÄÆƒ÷‡Ç‰Å6+ÈòD¯€>KKw;ÿP~iƒgéj¯qcº\W³Í.PèD"ô¬ö“¦Jý‹UO(}:ûç+vê"G&?·Ä»ÈWUÄÔš(ŠÖâO¬¦ûоøÙÌqc8m$kïæd‚TFFŸ4aLÓã1Å£ˆà¥‹16Qt„K©¥Y”D-ÅU9«Éf¿IjF,‰3òÇÇ©öXXb1(Ê!ùûÑttd•=a{/×b1x/Ä[ŸVhŠ A@†*<£^.ú)z"詯©·|³¼¬¾~ ‹«Á#ÉóÏïmâÍ)ÅúpÛ 7›£ÕÒ/_*ëë´kìòЛÿ^êP{ú´Ëp slÜ&K–¼Î6kç ê# €óˆŠöS—ÏvõKDâö—7Qµÿ3ìe‰I\6Ïàr…Ú”ö›£õ°Z3b£4¶ºß#YŠóu]”ìÙ«}¥}$¹© žäf€“¬Áfï´mòÖ-/ŸÕí°ÌEPÛì/1º>„z´B%eÓS:6fßœµ¶ÓŸìž’Ÿ¿9ËëqSÖ¦´|´ÆCÊ%FRî~¶Ks刅ëØà°CŒæ/Ï@”Œr¡ââRãëëûg©Êzixd¥¶·¯¯ÑNÇÜÜ\Xø·Òý¯¤R?Kà}°0[m‹…‰é°3]n6źhËC ‡Ãëëb{úz{g=fT®==?}úôæMs_W¥ÐîÖÖL+ŽTIJMõ—/_ ½Å/¥"i ÔJ3s™@ò¤†W]#‘‹éë|ù‚&òYä9º·lÖÁuˆøwj7'&¶RA€ž—Gö Ö»œ|K[°=ºmjêÉv,©÷Ô62tÌV¤õUÌú°ô¢˜ ð2Ê‹¹FøÏ¼¼Ï–w;×ÏgºfgœÐ5¨‰)*lMlnÞn+jjÎæ© 8b|¨ÜDøãÇ2A7§óýE¥çðo\Mgª±Œ0L,¬sÞ¤þ¥ƒìû¹¹¹„„ÎüÉ`*Ÿºôlªg‹NA,?núÄ\¨ÝXXP0…S«­&‹eÒg}ü éåYÚ&êÚÇR8€¤·{¬É§B…ò¹iMQQY/'gOAqádgäü7ꮹڢA£²Æ[—›¥°¹d»¿V åÁ|õåÁZÐyùˆIËÛúïiµ-.ð¨N5æ3f³(“ܺºK•}ñ'{X)øøø22w°›ŽÎNÔ]Ó5_4øÎU>þ[þv=^—/‚ɡS¡£ú<­“ik“JHÐPRÃsvæ!Dnœþ™––ÖØx·Ü¹µ¹©Ê0uyAv UìÈQáw ~—wkw F£ÙäBwd‡+hÔÎü·I|Eææ7ký“ù?"”Žstž3^ ˜Æì}ŨµœuZü˺q{Ó×Ѐõý^£I‹60—Ålvvv•óÑj<‡)??6,99ÙŒ“ïéÓŸ y@…††Êl|oÓAlº˜QÌ’…UZÀDDD>~Œ©¯wßÊ»9Þˆ¬¬~íÕ9åæå%Ø|TV& jgÊŒ#­j++APîÎÕv„Fÿ¾· Að–`à~­z*UO{\ÆØ³ ü=PÛ‘EÒtžÅö¸žï×''XíÒdþV)²Nàá/Š$á§â«å~¹.«¤ôND¤-]ÊçÙ3¶LʤРñønðêé陚º£vDXp$K.ËAM]Ýb¡a®­mDäååeãí¥©"¯£#%«ž¤šÚ©ˆ††3ΙÁÁ22æ…°‚"‡•îhúù¿ÊʨџÑÓ›Žå*#!!i ôÌÌÌ´·‹kiy´6ïüÇ=%»Ñ C¶LïCF³ÏÑÉÅ=<.¾?½›ðÆò ÝqáI"ÿFzÊ~tã¿Óþ®?e¨’’’©q±‚"“”L„Þ›æÒ¥˹꣰\Z×+ˉÓݹr”É<¢Ù‘vƒREEÅ¥¿õ/söëƒe¾¸"#¥`Çã}°ÈWƒ<**ÀwxñMJêŽA›Ân{ò‘³s{ì¥çíÞXžhŽ.fw‘¦³™¹ÀWª€¿å€PmiÙÓ×#x@95øó­bæcÅazrn+a@(P'ûõÀÞrÜ9¾ßÛ°óÈr÷Ø£Áã§‚ §öjãæj‡´.±²=dˆZ BLÀ¡Xƒk L#ÆGÐÎè©ÒW¢–bÈÈ@@Ëù6E“‹Q||Ð7–ZÔèÞŸ˜Ü§2°z&« Í_«œ·µF‘)Îïsâ XËÊlHàè©”À-ç0¥™™ Vx8†ûLFÐ=wÑ*'ñNÖy‹ÿ\­ŠdÍ3@ý¨È —~õIÙßùˆè·ÏÉÈÄý¿^+[û6¥9]¹ïz}Ø3ú Í]¸såÐó–çÙ«W¾T›ÚŠ1‘ia¤\TÌVt>_ü·¾57câdqóÕªâ]q'¦noGüýëIYúQúPâÁEÄN»uf ›R02o?¨ñöž=X’vØkxŸuW “ í_9ìå°³OÒ3ÏjÂAˆÀ|tYI§é?/øc=·ÆóM™&-”•FëÜà±*1±*§·îŸ ¯Î|œˆ‰ù¨€ÖÙÃærüadddtb‚Œó½¶œœ¢FBFAÁtš|¿Kb b0ÙT’iCÈ[¬ídúú³dyˆ‰>ò{ôþ̼¿²¼î&Èc»úÁpÍš††W{³ ?ßåà¯..E]Z2Ž1| ,@ÒÚ‚všRìïáá;ß´dª Œ{ðÀ@½yØÉ ‡Dð:èTï^¹»Ë(+«uµBë=<Þ໺w_yí÷Çòä–—./a-Í1[›&½qKxé`xˆ-)ñUUïM¨ï=B–W:Þð§Äp™9w÷QÄÌl|aƒµI¨—ª ¥åþ·u§·÷™¥%ßC ܰŽ5«@66,[[飣žìjM]™¾FK~`ˆÁaû­L‹ù…&EmmEé ±R¬/@äŠS¡w'þ{:uðš!²Hðã!¡»ûRî—ÙŒj©ðÄD< -³]RÞ$N3ÕØoøµŽ;¹Ç×ÚpÏbxj*‰ç!¥ÐG|d„Lò´ä^>Ú§£•`¢£[(¥ý Ýh;²5:6FÎa¢äSûNš>Œ\šß»¸¤$ÓÓs'ól*HÞÞTy&¡FÚ¬ôÂP ‡o­¸Éd;nîÏ#¶—$µß Þ‡]T?¨¯8Øä½îêqÔ-n gÞ˜ûY£¨îIuŽ,’'·vÐýêÕðùuQ1̨¢jÊcâºÄ°ÃTÞFŒ¹y`õE#NîºÖ&>Üpņ„ô­A€Y./`¸Ø2«GRŒ±xbY²½EŽœõ3%%›Ž{˜·ø'ÝÈ]rV•Š´(÷ïÇTpº\^ƆҒŸüòMEEÅÐÐ9ó÷m£ýGúSôn2’¢‡Y,çù¥ˆ‡ÍöæÝ•>(nÅl¯Ér:]ËÁMT^tÓì_ÌPÙØ¼;Ý ásçõ^5{'äuݯC‡Yù:.NMl®…Öé£O¿Þ¹*C†V}Íy9¼+«û”T1b‹úå©›ˆ~¿‡ŠÇú-ÊøÑå^žá€`úö|ðù|€à1P­jjØL©ii…ii,Á"É›¼¼›®&ëëÙ¦Æ9v³Æ0P3T[A÷vfîQ«l×#ÑÑ« r5PIkŒ?øÏ§Î¢róžáô4ë.=üN…ÎÃSÔ£ÇéúHKá­B¼ÿ—¶&o߾㧀¬q%ï¯Û¹È`#v1Q£ßá{s¾¸6áÞHËÊ26R•ÄîL“ˆ££³¤ì­sÜÛÉ’ãx€Z?ßòL“@Ø›¶{j{5u+hH""MƒƒÌÜܪN*NNUÅÅ,‘]ìÌÌ蘘©$9+ç?ÞgÓ©«“Œ9Ý\ÚwPR.xßS¿ãÿj…ë½SáÜëݦÀε×èP l´~x|¼³6P{}™Wý-†(ˆ $äƒR­Ôá\m˜ù0¥ß±àÒ$xÿž—nOI¡šåêlI«NUZº§»;pºÜãæÒËËk(Mbmu4Õ›JÏôþgR%™™«áÏeee•ˆ``°prâ``ıê"{’ué°®øáî ¸9Yn.ùã¾Ðê|lD„¼ªêÓ©i§ÒE÷0ºþñ¿|A-ä~™^X¥07W]^þ)woK‹¨ššskÀCË…† ’D]=½V=Ö“““0r>ñÛ½rÝÍ´°°°ÐP{ý8“ŸCF Cƒ‚ÒÔF¢‘‰‡¢dn-µÿ×G´\æÿ¯ÑZ™0ý'kF¢žKEä¬pH"DêïŒÏFÂÿgÈoE!ÿß7—zSéèêv?ã<žs\hkmE èêŠc7þ·€©ßsqu»Pc¿¸éë»ç¶ ?þÛ^€»Èùÿx(«}íÎ5Œ\*B“‘‹™ypl,ÚäséTffæÛ·oÓ?lãï.‰«¨LTÛ®lO—›N•è7 ¡ø·•VV®ÙTÇÅÅ;ÚÚší•°¨R¡‚°ÍïK£•|<ôõ‰66ö+yùÀÀ@U†>µ_k_ ¿ù<ùëóÙÞ­”Mwݨp–<™ß¹äϯ¿u"¨ƒ‚‚ÆFG³ÛËM'<Žú¸„nŽGÀǯ|ó™ý©@«&üøñòåK<Ä“TÙâå.¾cÀö∧¼=ÑíxaVÂóQqÒ`þ°ÏñLZíÇï¨ÿ+Ïkß.¶øoMÍLM •]­i7zÐÒ®I·ìL•ÒòòNZ­öáàà`S¤efÒL:ØÙÍëJ ë0í’;‡{#ö©Þ=úz%¯¤P¥éºe¥ybˆà‘üúÜ‚JLKÊe0n¶ÎÙ¶/žƒ‚‚b”QNNŽ3!éû÷jj«}¤¨®èXXuNŘȤc±qq³œ]][÷æë]·'‹•‚JKÙb{`Õ6+”ž×Ö'›Ê¹áÿ@›}Òù$èëëó>ÇÝüÜÜGeì“>VK£9Š*>|ŽÖ·´\È×~ý»ûÿõ} êKjj½¡Ô·ÞaÀ OŸ>u€Á`ˆ îÌH”? tÛÍa 22£#Œ2‹dnnÎÿÁ“á?&Lóó󜜜~~~$$$ÞâÚÚ ŠÀ1e¡-Šÿ—‡Å®ðAšwÐôå]½ñù·¸Þ ”B¼BŸ¬ŒLHPn±ªÎë÷¼ “ÓÓžŒ=ç_|ŸlF}› 2‹ÄÏy‘çßNÔt1ó×g]øý>h{ŠŠl»óîWºÕ……¨ˆÿPBÏ›ÊëñÊòu­›ÍáÖڀо“o’l„›É³C¹"{è?lNm]tWàv;7x×=ãzÆDoÄîÝ”‚5ÏÊ Š)/:Ÿ»ë ê1²ÞÕËàvš/mLwt°d;*ýÝ›JêÍ÷{¾Cìää'œEÀ=E\Nnd²*¥,*']ÏáÎÃ/‘¬¾ ]rѦ+KÎ65upÒñvÎ|}m|"Yò_4ȋӗ J'7—C^žQnpuÞª]ùµ)Ŷ›A¼oíxþ}¿ì¿1ŸÁƺÑú¿“d¦¥ •fÕ„†Öú¥¦º%Ü®C…Ûç§Žâ•§tQ¸ü€—׋ø·ÕÍlµ?v{“횦=GnÞÖáa7+ÖB#“Û]3[)3Ï…ŒÇmK~þ3A8û®¨­qe€µþ‘gnQQNVVNZZÿ§OÀdÕqD>½@Xï„ÜãwvÈA‘`dÈ.XqØH=-ëEÆz£>âic£V± ûq–¦|:‹ÍC´rótt9—7g=‚‚Ö¡¡«=1!#à Æûv¨> ¦±11•މŸÂ‰1Ã$îê#å´’Y\ʾ +!ŠØNêbw t·|s㘉^›‘ë@Â_5²¶ÃÁ1;;«Ðdàìœ1ªl€“õ£c ùg ÕD}mnò¼çžH:#×ÙvN¨a”þØ›ª «º:£©Éñvï΀5NûŽÍØ$W:âŽqxmÓesèyÿæXä›7·ÐáÚÊmB.ìû‹ ¥ØöÖq£ž•¨|jµãï´ƒfè"¨³ YUT:l(&)·‚.OFv'ä4ȸº¢L÷9[kxµde18ô_| £´-) ÌÍ5ÉÑEþgR5ÀÚî—Fö»½f¥—Hð{ào·Ó¾ o,¢`“î&@w‘±†×k9X¬/×O¸œÖÂøÝ/)Æ$oŽþ7ÒÞªªï]Þ‚” H·4ˆHHo’néÎMw JŠtHHwƒ€twwwwݹýýÏýÎýßïß=ç2ŽÍvÍzçû>ïóÌ9×ZÍþ€‡´…“/¬qLi'Ÿëësh*)™\Ej²†ÿx†+–>xròŠ™ù±Æ©o¹ÕÑÑcÆ÷© ®?33%77%Ó•:õ®*rÊÊÒ¤ÂÈo¡¯ð<²«- z³[-Ÿ=Žy‹öâÕ¶ÈeýµX©¹9B%ÿÇDgZh¨Ã–€qçêÑöQU³ÔâñåㇽƒƒuMÈgÀ1\Fëaû>(Ô+«„ÇëñZu.ë}mpîÍ8wvl¨­Gžï½ª—–B‘Ux¿3k¤‰»9õð NîéS(Rw°déG(221S·ºp«Ø°±KÞΔü/&*QQhkÁ«ŸAzÐ1Õb|ì¯s=ה׆jÈ¢ã¾jÞc­sÇñ«ô]'9ÙÉ*p²orê·¥ÐJµ™Ï[<-§pߤó|NW¸"¸±IÊ›‘›ËÄÂ’Ÿ›KŒƒ3h­ðéSFCƒ`dçÎd©‘ªê3­DÄ˸ž&_#CÃ#eнºÃÐÐP@ÈoëÛïv "^"ØÆµ³ xìÖ¾îóvýNéŽå$vzÚq»îvWÍÅuûƒ¨H®5’.vkË1&*Š5­!év»°å‘ÏÆX¾olìé¼§ÕLqË^kHsg¤; Œ\0¡¯6öAƒŒ²r ›ƒñQb7ÿáá¡ÙXޣǙÑÐÐŽŽŽ‚CCW-ÔËM£ÃÃemll455%%ÑöéƒÓºººHHI×{ãlj.‚ÙØ`ŽŽIBžf_° Âlx>ÂY33KÔâ–ÌZWî»Â>.çÊVkvûï">½rU#ts—å,?Ë’©Æ$J¤‚úÖœn¦7Mÿù$Ù÷žr±rb @ëî¼QáöºP§˜êjsø|þ)qCóôôt¿UÏwvÐÁµµµ††Ï›C«ÈÆÆF 4ÃÉDÞ¼!&ëøô211‘\ÈcÆš¶’²ý–Ø‹"¨¹¹Y"ò9Ãß'cÌÕ8„TöǰhDEGŽŽêëéqYLe¤¥¥åä8oý x#!%ÕŸ$pÝé™d7·!Ø!>>þË—/뜉û0!er¨onÙ¿üd%táŠê±<9ôŠˆˆx¬Úq¨ª¡!­¥•óº¥ÂªŸßÑ<Õ·e 3‰Hß8»Ü½v6_ãÞÎ4>âèÓÉÆîÙt½oövG ר;/YAAaNÈHðqîyd’Û°0à˜ïÞ½ ˜¸àfýPäþ>ƒihLƒ1YLWpîì‚A¬®®ÄÇÃS¤šÇm5·3[;><|\zØÒÒr}¶Û};±!WPP &&ÖÚÚúÃ80ÄIéç}þÜóîrÝ%p¿JÚ¯}Vàåó5Ì}¤âŒ ¤À–8¾ñ?}–~j'̓iEÐÜÞzJËxØ_Ì_Ÿõ–”݈)| iI¥ŽøzÑ–,1SEòNú}ÏÞ„¼ÇÕ Ôn=ldÀX¹•ÁòDZ!Ž’Òèz2“ðÖ¨˜êœÅ"$è;))âgÏv¦+û'&¾×F\—Ž˜,ššš]6cðзÉÝœG"ŒÌ‚9—Ƈ•=Ÿ^ª1ã.ð6(àª,%•›“ ¦B§ÎiðÅ¢Q?£Úóȉˆ8¶ñò:LíÍ“¶/P>MÈëýW¾Ðšœ4*#ã ƒáL†‡µÌͯ8ž=ö¡¨¯·Èz¿¹¿Ì1D,ì&'Ç=ŒDB§úèbg’šË*i¬Çhà&èúÜ‹\&üsu‹žM[ø8Ìž„ËvEvéLñÛ> R+ ¼â$¨ëaÚÁŸÏ¹+‹Ý <òùþÒÀ«Úy_)7l|´øÇÔz¬N2ÒË…uM­k„ìºÙ}©žXJ Ôed¼ëݲå5°¨Tœ@à'‚€0è熊‹[L•y翺[ë>:–:Û•ºëŒ¤;??‡ñ»žít‡£/µÉ:;Š·ë~þÜØÞÆJÌ•.{ã…@¬©Ù\¨íl $Ú2|Š22M‘0~~fõtÒŽŸéék[¼ŽýIã…! %ñ¡Ò¾(‰¬šUû+xTç­6Ä~qq÷\¨ÒÒ•‘4Y ¾ $ PÏÈ\ý£Ùš鸗)JF6¤¹?–¸œ~.Üç2|?¯3WËçðë¾=üi>Ñ&Ú˰°–'O<øÍu÷ç+­_ÙoÄãÌ7&3u<úq HÛ~Omë-Å̬õ‹13[ gÔ´«—Çç Y©©cÕvd£cc®ÚõW¿rÞF¬dË×\Ÿ÷wv¨ö»%þ\Ý+Ö‡ùùex\)Ò.¼õÀëݙįw ”ˆ¼zô± õëĦfíÙ'$µI¼ü|—«²xŸž(†,ò5tŠéX^û¯:5öï]®¦@"E|hl5í8øû#é9K›OµP¡pÉÈíL¢ØïÞÝ…é èùBK ²€L<—õpfÎüLuIÉØä듽Yn]ݾ7gØÂu…Ùù­íF¤‚ I1gyà;@?HIN6Ó¡V¿È¡íEº-˜TöCÃÃç;“¾óºt4(ö×Ö,ç#VÊEM8óÎÔý.AeÝk%E-ÒîÞÝwææ1Éól\\>ÆÃ!þY2³Ÿƒk¢cUôŒ³W7xÌ·Flmßר¹sÛ¸Z.ÿA¸K4§‹ï33;"=ì{Òã¬K†øã• [|ïkXß›GÓ"E“$l…‘âa3ËXÓ:ž¤¬^~½M‹rã|n<\gÞ~H-Í"²üÉ’ˆ]±nËï Ê=<‰ˆ¹¹a$ÍÚ¯4¯í±È“0‰ëÖ¹Ï^tëŸ~ßy»o/a6’­ýõRšFÂÔ,wjâÄΖ('''!ꄞž~³'®17w»Æa{ŸØÌ(ªH®+Èú5ìss55[>ÉZjjaQSÕÇCÅ.‰¼œÛ­å¾(°ØØØÙjpEߟŒØƒWs€C>Æ(7ì%ÒÕMUùð̃…b¡«7ž üG l`ê\âµÑ”£kìÀʺøú5ò£GƒJò6<#e&wÑÑål.’¯Ž³¿çKJ§{ÿb¦´Ý»3Ê|ÔEAYÙ}Kq­XŸ{¶{tèCq)ñ'3³¼ôt1+üaÐëí®>3ÝâãßÞÕÊÊ_µut2MlîY.îYÞ¤".ÛófÕRln^sØ¡Ÿw9ôH· '«wÞR4´±YýíÍ;œE,›4#+_L:[ O¤bûqzz¨jk¶†$•%Äx\Wb1Ý:1±ê~eoy'rßíÕö]pðÔ›ÀµíM“ í:òöE9BB6Ù„wÞÒ_¿,ÿ%gÊr'ñ fkñ™Ô¤#@¼¾ŠP¢æMcò; ˜Ü8¹×”ÞØùTýúuÖì¿Ï}ý'KV©¯…œ¿cºÒª¢Ú9yLªƒm¦;‰çÛ·¨“wÊÊ. q¼ÇÚš»5%p‹‡þeTFë¾ûsÑÚu°¯ž++x_Hkõ/m»Jµ»{Ÿžî¬v‡' &V„ìæ©5©ÆY]¤îÌT×ÒÉ|šiLž®.ò{ ~sºCè;rÃxcV cƒ-·•NWôn ¦SϪݥ¦QÑ10ÛåEG§þP¿^#§§l**{•BoÚc—,¨wšyûfWfÕOòBxP%”r¡ç GÀÕnoÙ’ù`…%%®ça<! T³8>”fd]Ûâɉȳçµ/è2Ñ€äVL÷÷O*Üg{ùòCþ·¢ÓV*~ÆÒÌL‹ƒ$0eÄ]iTHlz¤T¥™úkÃf¤ä  Kýö³Ÿ|ÝëIBlÀŠõZýDCÄ*€:îK$ÊWWàWÝ7fB úÅa´,l³ÞÇè?d.‹Z›}ȈO€¶z+€¤à`ƾäó¾wËný°p¹\©$›Û­Qqñö[L‡·Åׇ³@jàw~¹¼ÒÉ>Ÿ-Þ4²°ð Ɔ»¥`#Ý]_ïsãÒ]‘Ö ïóD>ßþJ!›lÙùHχBÐ>Q€oe¶V65µÀä±@ª©»›ËZ@Çáwy'T;“GH?7éCÿIÙžuÃm¦l-!±Zm'2…¹âr¶ÓReçRX¡]ô»Ì€ZQi”EÍ–þõåa_âYEEÛM¨8"ˆ|=€Vj†kffÛß¾±ÖoöaðÁÚîNUlõ–ö§¦~±{§eÿþÍäyçÜÔ¤›]Y¹ H’ëd?Ôu»i†ý; J€ö“ž«(%ñ®J¾ZåÉ~_ ¦kçw¶í ç7¿ÙsNE§Ÿ×¹„¥±¸'÷<»AÄjßDHpj±eS[›€å sks‚C/[[£cÙŒ’…<ÙhW…´Žïë鎷eêt“ £Ý·ìr[h‚ÉðM8¹ÎK½·²5¥eoÍwÖ‚‚œõÛ•è+-ë¿s³)ji±3›' …cM(+ªŒÿü)ÀÛ³s]Rbja1 òL[è0`Dt–¬l0ñB;;><$}Ÿq¥60‡l÷ö¾åäÈj^‚$²×.îz}6›ãþÖÇ&Ò×°½:^ØÞ\kÈù|ýõŸúÙ‰f‘þ™ºðVZàMø R¬¡a;s‹[ÙdGRþ*¾Y5õ‚²²®7ÏnnI/_~TSë]jÅá¶j˜(5ZÓíF‰?88È"Ó’ªÝÀÜßÅè|r±ÜN¤¦ÖÙà)»ÿœ‰©³Ý‘8 b 3yÏwaì?‡ËU¤Ñ1g;ëɾŽûI&FÜAlˆ%“ B÷uØxQe½7pŽYœ|¾qþE9ùF]½´êº˜| … a6ö9ÝîÏ’Åâ±k³H±´7ZôÕªÕ¨S·1™þ°±­ÎíõôèiPLL×Ý­ú >.Ñ7§Oý“"­ƒÃÂ**+ÛÙ^CʳΗƒ¤óÚõ³ØÓwØ~YëNúú‰€³ŒŽŒ›õyþüŽ•–V× üúhÕÜ9ð•CmƪvܽÜfSÉÃN4Zc–0˜ž˜;iq¹ˆˆH’]ÊÂ"Ô¨—wa×=©wíÀÆñŠR¢ }º> IÛ$"yÇ÷5×Îèg"ßnKKa¢À57y`tLÌLó¯ÂÂ7ÆJ®×)>>¶‚˜˜€?ð»Z íîr}Ö=ïIèHÝ”§Ö¢’Ç“¯Ñ3ÿ 4Ǧ¥~v¨ïÿsµÀÅ Þä¾@WËë3)€:(˜#©|ïr'ªl~Úì¿xzj~v3,›p÷Ù«ìøü|Oáßškó™‡Û1¦ˆz ¶¾¤„sDÜ¥Ëj×#{–÷™+sõ˜Xä §ÇR+× RÏwãOï¥çn#"‡›€ï6ÈR:b’Ž‚ÑŒŽ†W1€££“Üùélg’ƒ™ùKmDMÜ{¶¾ÎLBÆÅ $Óa¤|]_€¼º¹9åÏ/=<ü,+åÚvÞ$‘Àm¥h²T ³ËÏs#pé>g@bôèýÁéíí-** …B -..®“ÎUÎ?:¾ 3iûB(&&†E.ÈÌÂ2[çlDcwÛ¢k7¾ÀG6ÞïóZÛÕoëõ®V€û¢^Ÿ¨EÆkÌH€‹UÕ¸¾9îœ+ÿU+*#ãÖö5|`#9 uð >þ¼NÚ¨/ÁÄ^uODTÔ?/ϼ%:ùVì)ÞÄÄDGw7ñ³gÀ"+××z㣣¢x¶ìV:C‰¹™˜ÌŒ5뜾Õú¦¥-åª6$”-v Awæêk¥bYi$Ž)$J€îJ2yÕí8!a¨rg¦G>e&‘'iiz±¬Z@5 làI»²…[lu{ˆ**âyt"¤´àøí‹ÉTX´ÙÔ7¦ïÚNºO˜Kõu3Ódîø™šŠ‡»|uÜÿ&†U`gGMMmš¨´¬âß—±pq#31órsÑ=Úœ­…µDxæÒþç%¬Þd¡ÆÅbggç»»;LLLfüíÞxn×ó½Ó““ËY *¼ŸË$ÀÏ0ÃÏð¾„bONNÆÅÅ‘`V"†´¢a`8À`÷Ì¿jkkþ\¼ŽðËýíØøøúêêî\ýt‹CÜ&úœhIdhX*Õo<2@€¨ûÿ–’5>~‚Knjì4ט,Ãnr>Ù°8ßcâ²0ÍÈo71é¿:×±2¯;¨®œ¸áŠÓ»ú+;à~ú +«²œœ±½B‹î#Ÿ¯11d<Ö *ᾜB/©t:?^üâÙã9ÌÑÑQ<ÑbÕ¼€î'OžÔ! yÜ8]l²hTœlþRÒ {ýVBâѾ¾›[ðQøÉwì:§k&FF«“ÏiÙ¯¸{ƬƒÙ/TÂ,Nº=y} Ôðiz#?FZ (ç‹ ~0ôñZ¯Âù®Tƒý&t»$¢þ?æOO^õ N”3UXØ«ëèqrFŸ³ÓÒ¶vtÕæeeÅ‚pÝÇ:ÕðÓ§gÄÄžÖÿ¬W5ª™Ÿ5º«úPÐÐбrÏ@•”€+‚Hb``Ö¢ÎÎÈø£áhk{tvÆÊÂÂÜ“§oü0s­üiü~·~üU ’àOá–üçÏ Ö‘Çýlð…ÏÚ û+{}Ùþt@Êçàë1@tÖ:Þ’<ûþÊ Ø*·¯Uø¶£”¤$°û;™³ƒƒíwâØ~@%åæšééé)))ÉÈ„EF*Ø=T”“sºœ”Ý‹¥æÖ´„;‹ âïp þÈAA³½ßÃÃnà›}"áXÇùùç=q¶·Wù*»€³QS[ÝÜ %Î@TvöEšRâ%#cW__AÜumM p‘?­­6!”8 **ëëë0àÓðƒë‰@šSñòNÍÍ‘5®@^òp>î(•éK,މ¹ÒÓ@~‚”š•Uí|\v{­pqM´$ÖÙÉÛ+ VŠ8úóg%ÜÏ/0_€ºñâòògVVȧ§ï">Õ:îRQQ¹¹»oö=€üF¹°zi©¤¤t>xqÔ;ÙÆž„˨vÞázn‹ü"ñ³DaFÆSjñ³tŸZƒ7~ýâEx&Jܪ&·ÐóþÎÞ²€ˆç3ÀL‚Yî~MËÄÔ2WÏ7œèïAÌõžð…°ë\Ý@ZÂû¬Šíýý*‹é/ Y/‘øÝ¾³yI @„I@*2üê~p²y=ïQšÁ$÷5"b¢ÒŠ+𠋺}Pë“7Ú$¤´t…ŠJÑ¥%S»»î 1´ßAa? ~­–­³IùX¥Œ3rse`øºƒY­4*µÍg] #MMÉjŒAâEÁÌxŸ°í?FÜ`ãùX°Íyùq´º¼‰I¥ùðñÀÙY>^”ýÙŽ–·4#C§jɧ÷’]ŒO£Ïbbj­GáåPA9 0\3•¼r‡FíúÌ›¶ÆÇ׫±©Ý±ä®7‰ë»SJœŒ¦‹cù2É}$|Žâ..aF(È7J Ûq½Þõ®îãýÝk{œñܲµžBý­´7ÍÈýg»qâci$ÄÛu©ÅNNNø ­È«Œ¿Ug­óæ(ÿ`¨ ÷»†üÿøsÑŒ‡ÍÚ¤$1áß…öF8Ú——´ ·(01 _¼Cèï[”KMU©´¨ÍÎ|Þè°}"Ÿn)ˆ,v%ÕtÞü—Á¡A/~pÝ9:$D”üÒ¨Äõ˜žï¯Ë$níl9^Ë)C¢gfž¯»ÜùŒKˆïây£››“ó^ þÐT .ó aØCìæ\Fw7/8JÙz³ÙGµÃëð$Ò–µÞõ‘‘©óíq¥„••ï@š´œò{ÜT$ë¤ù!é/“6UÒmhˆ4¯ÝÚ~vv|S“]TÔÔ`âOŒQ¥ukžé -’Wï²ÌT”Ô_›äLLc±²×&Äœ™ÿ†X(ž•ÑÀ8‹jÃŒß>bŸ[\ÜH–½‘ }°zÝ…œdW$:ÿ†@ÜÝt.øéàä¤Ub¢4¿@{ww÷À3 ”üðÑ Æ3‘„IIâ *ÛÙ }–œœœÊòS6¦Üjë¦7PhL ž(ÐoVËm¼XJæƒeø!‘~ï-‚MÔ¤g#ze×ñuOPc³oèÌíBŽK×§_VÈ×ÍÉ;ƒ¦·\EIIKnà©PcwMÍÖÜÜð—ÐÚÁxà~h¼HA Y{+ë±Uµ¤Ò[#”Ì=—g»±€§ò¡$ž­Æ°:•™Ñ 8)üjŒïb¬yF_ô»—êà5~ÈòÒAË„†úÛ@8)%ò2›2Þ_®#c`ˆ"ú²Ú·Sò:*^\®S>|¨%"R°7‰«£­ÍgRQö*‰ B±˜ùzy#)®Ýúoïêí¥±1 „¡òQ•çÕ·eµ¸ÁÛÌ®'¾ 2I=ò©*…2Nª¯ ^<-œ>ä€+ ç·žÏT'í1§ýîfZÛ$ng#ã‘ Üc¾¿:Éa¤X´†‹‰©©r®¿«!8€¦#Ž£6{&ðÇ}KÖYÚ|¶GA¥7œÉ¸·Q¿àÁ’(å¬ÚÝÏŒ‘¾în^Aꊊ­<µ¦¾>”d!¶>?8pþöO´'Éýc^#¨‡óN¨Q5'·ÇØHБÑb|fÔä—?ï£7ú¨JFFŸ:ØóÞ7D@,Û ¦!%-ã|L6s»ÖKpw«¯·W¤š ]ÏË÷Á^|C‰ŠÅ›©²ßô°>˜ø°Á¸-ZÉöxòÞ”’¨¬läNz~¾©•ÓT™wyyÞžÎüñð9czð;HŠ\<ô§°žöÖUÈ|œð*‡|Víí¼ÂB5ì.ö;³µ³6 P55Ë‘lm»µ/#r’’.+Ûñß¿~íý$y¶õ“µL…÷Dø8ii õdbÀÄ&Þ—&ßZ•q«IÛ¾ß)Rç{¤aÇCCêw¼3ªë—Ç>î×iéVÑQŠ9¹L¿²;1áçÉ`!À®t[*T5ΧëœgÕþ ŠÊç*'òxÜœ-¶ `íKÀö#cUž|xÄx¡N_ÊW"A7' k6d zhþ)¿ ÅêÉA/L~Ã/>ÛT-3¹;=݉¤‹ MŠU±]l®?^ß70lˆ‰%ÒÖ‘Èq;^£ÅkÍäûñ"88¸¤´eºÁ‹Œ©uüî–ÏQ³ÆÙŽ”õ8kôi8ùäK™Õ¡T_úMZÚèÏŸ'A7kmi¯gk™• g?ûaJDÐ#!x‰9=ùþt µŠßlÌZÑ»9E®•Ãh††æ™BæE½§Ž$Œ¤A^9&ž]_Î颃øaÉäª};ˆÏþTl<…ÅÅñÜÜífÂ70ì‹Àê×­CCO**ȃdX:hÙÂLJ ¨Ôx>KÙ%%cóB6cy8Æ(hO9Ëςጪc¸Æ3Gæ‘_VþéóëYè‚ÝŒºÜ‡zW'¿±È­EI!2V<½¬´4®] ¯©££1ñÄLMwÃÉu˜)›¾ @Êá1cWÑñóÃ+24®ñŽäµÿº>æÃaˆ„‡4.€ÿßZ ,aïå?_C†`?ù ïÆ‹ÎÎN¤]aÊñTß›oÔè[[aažî7ªP ÂçðpRCé?ÊËËËÉ}U17g¶þ¥”ëææËÒ‡œÄåñ””•×66x¬æøïÖRïæº!*Dÿ§Gõ]zŬoùŠ0Fm%n£œiíÛq¬¬¬„„ÙõÛŽ¿¾ºº;l'¯“²0o—T 'ŠÈN{GG› ›–è™ ’ÂPUU“!š^ÒùáÙd‰AHIIIMËû÷=™ÒñŠŠŠ¯89Ù´jFŒ›ÙPÔꜿQ‹Wi„“þ7˜Ö7ƒ!p½wÎν î}}éòQ…Ëg`y¸tW€šÊ”c££ LM»® c¢£[§?éé x;88PRRÖ»ž[V•èÒ…S þJpsû46”ÉZ˜•±±1Z@ßy#¢".Oþ¾ØK¥÷iÎ/%%C£rŒ¾c(¹á’Òlsj\\!5ÕÙLâ )©…•Õ}¯ñÿû1ÏÓ‘11`’ƒN..f‡ÑÂXç@±ÿÓ)ÃÒj>E•¢Is ‰¹—‘ŸŠU1ŒÆ7(€u333ÀŽeÓÙÉ6:ö ý× 9ͨh%dZ0(4¥ñÉö +*(ÌÆqÜר®â€ûÖÐàøö¾¾¤dð·o805YY6 Óéƒå+ç÷vt,({Á($”<½Œo­ùòåK$è»wï^iZVµp£8ßß¹ÛØØèêê:W;ÍN"B¨ þ)U¨ª%#V| íQ¼c€:@}|ã°5‚`·F\# K+q95åæ®ÌÈȳ²ò +<šIÅ–LEuMÍóçÏ••”VWVx^¿æ4FFöc³ÍÏËSÎS•WUý¿½°0P⧃ùAMmsagq{ÛÌÈHEAáx²i~ @•ž%ÿj›Í’O.`y@äÉ“/¤|;øÌ/4*vT­­»*±Œ}™YX¸-¦V––Ò²³y\N6¤ã¹¤x¾ÕšÜ\jT˜ÛØÙå\RVfîݨ¬Q‘§Óè13Ü>“{nïà --%“8ïE‰Óá’?:ü=øijÒ팠MîE‡PôX‡¦¨N”3±ÒМ¶…:Ð#‰þ´ðlOúà¨D»®ª·Ž83n•kekë°>AVJÊ€K“q Lí{/euõ§$ ;K/‰”RŒU‹›%%rf3¥ŽŽ¥¸,~0RRþ.)$TC  ÞÐ!¡aʼxv¼šÆ‡zÐ냜ˆÅÆcC¥¿ÖÓØÕeº(‚ÅS4(Îù¦‚àq!!quüSÞT­=yç›ÃlÚxï“êTÞ“qÃ÷†EäþìÎ'S±°|vLy·5,¾ÜŒŒeb"af– çæßº°Ð òÊŠŠM(]ì@¦æ§Xÿþý§˜˜–…Åíòré?MÁ"O’@ÅÄ´º2²R-ŒÔÑÉŽEf_RI¾´CBô$âj\¹#ß#ÂW}JI©" Ð^nF' Ã7Özòä±Õ¾ )_×ý¾g–½F½ UÒG@¿{½Eä>Ýžª”äå°ÞÄ|ð`iÏ25=}mçr¥ÓUGE´ÕÑžîJÓÞþÕ,üð½jpf89&Y][5í”·žÁÑÊ‹ËÀG{{a;óBF Â5¸·õõÿ”80Ä,3è®^n·š¯*VVÆ÷O™`Zæ„ÿÇ÷ïõŽù–ÏP ^…€ÊSm,·•µ†ôÊ#Ó9;Ç-,¼n¼·¬¶YŽû)…Ï`"*ÈBx`ððìEµµñUP‚9"hb™ qŸ–olfqq¹êÔ_½ƒQA ØbÀa¤Ahj 爫‚(Î`Ïqp9Æ}ù2rqX˪]' #Wò¯ü¸ðEµR±R$?‘õ>Iö*Šìl~6*}mO÷¡ô‘ƒ?…†?¦dÀ)ïßÔLL»@ê› GÕ»âš[ ÚÚ…lÊ zàŸòîÑã÷äMö7xö((ì×ú8%ÞßÔŽ2b¿í˜ã¤ æ, ´Ýy}þg<†U”›h¼Ô¨ýx] †™}¾ê°‡­qçþ õËÞ[ÀÓ9ð|Ò¨)‚ƒ%¯u<Å`ØØÚ_V»Yd“Ý/KšõÄá¤IóÛ$t›uÈ+{5å}€ˆ²õ§ýÞÐpÌõlÑÒRüׯƒ(Âî/"÷öâZgsB~1V'`ˆiꡳ3¡Î¼Žã^Y£Óá]†„+¹€‹8ܨ)Àöf³¨Å‡€Õ©ii¡ÀäHHžÓÜ´}’TWß›ª»470`ù«,R tå‹ {?3©éÔ×ùS”ADå'4Ÿ²i¢/(œýN#ñWHP¤PO¬­®á“¿¶ÕßüP†˜êÿ."Ðõ©-À]]ÈÊË1œnž#@þ<@kâb£X°Ótvæ ×">M¯¶7>‹Œ¯¢¨¨h¦Ëô@7î²®Žw«kIïaÙ=ŠgÀ¨dܕ԰ý I>l?yùÖϸ„gXשY£/ÏÎÎ. Bš„iÛþça*'Eo ?E¥éÚªï£ã ˜ásj}K\j$ë¤Òsé-qü-–ÆÇÀ¸´ýIî@Õït`Âßt)(,0sqñç|k´³íá®0ø ¾àgÑ–.¾ß—t;=ëNâëxû%9HF£»æúúoAw<ö_ ÊÊÊ ,ß¾}Û"ýíÛ·«««÷ÏKú“@šŸ‰†“ÖÎO/Q°Èââ:5.'Eº¿†^~C@€L!vZÒÅ­ú“·7_cÞóxý_Ô4 ÿÓEF²"ûs‰t2¯-2øP!žN®®×——¡„bÚÚs333ããçáBw Gçç•EE_##·ÓÅkkAŒ{ŸYZz¼Ü~ïü‘ó‹F›¸°¨Èz(C -  Òrvi·Ô ßÀÀÀÁáôû÷ï ýçdg›šjרç úÑH\]\›˜°?{Ö0Xey9 3óL…ÅôÍå11Y|lìúþþþÂÂo½â¹:çRؾ¶¬læZW___OÏŠ5Oš*³²±qvm-,477÷Û7yöB÷‰‘‘d dÍá7®w7E*…‚míl┨$"€ùu·LÝ͵•••Ý]-uuueå³è7?~ÔÄ)Q@¼¼€tt¬ul%"4 %/”.î¡^ïR¯œl[Û’ÀÀö®h¦êøºº:M--\\ÜÜ_¿€ªIHHøÁ‘âãÓ ÆSÝ­¬¬Ì¤œGÏÌÜÓÛë`m½ µ°µe ˆ) ‡í±Cå02—í±üÑÑÑ:Î|vNˆð6”’~do¶;4´÷è H˜ûí—Ÿ?WäÑÔÔÄ{úT<œ¬Þd8ó3.-w(¹Gw ‹¥¥%0aLL íM°AwÌéöxøu#žŽŽNpÚÿä›]±¿kwº×€0 F³úYX¸¿;]ùôéSç{t‹Ðˆ:Vž©Ýz^”VÕÀJëD$ûõ¿ÓÌ_MSHšÔ¨ Äxh¶Öji©„ŠjÍÓUÅ«¢§¿?|=´¬ÿØ¿'S§þ®õÁ_ÎôÜÉdÞ³Qâ“ÓÅÁƒ_ø‹v;€Þxwyñƒ$ÛÂr.pþö]Š’<1 ˆpqK©©µ60ᨓöÌ~™+læ+ålo h^<ߘ©>¾êŠocÉø§%<£ñ‚‰Ô7®_ˆ~JÁ°½b¤de³øD4üï· Â_„Mm×BrnÓÒ BI&C2³ø,ÞðܼDôú˜‚Ç*t_WØäp´ò៎n´äèRÚ.‹É˜n.E.·Çþ…WŽy}Dþô±µ,&ðx‹ÀÑ ôó[RRdÌÙɉ‰Ê?…«„ÅåTÿžé@êC„Õëw 5=^ާÇîÔ1‡ÑÌ?CÔC"…¦¾p.a‹dxJZô-Äp2æËÍú­æ=œÏ˜§¼áßÉm Y}ÒQS3©SÀ„7 ŒóãçOz÷ëÕj»={ø[Ћ}Ã(zŸKYÌ'nŠüÅ~l>P”ó´3‘¯Uûä_ö¢¶GÚü¤_ª"/v°ˆüOi¿0 ‹ˆHr#ÆûGB ¯ÏI ½i3R2&é P«Ã‰Èp#à¯ßIº¸Ý{h›ï¼ügÄz¤Â$òxåî×?‹õ¯‰žÙ§ò¡ÃÛbÃóyõî}ÇÅþù|þ¿ŽáŸ’®µ3Ú©²?¾ß "7ðä ™¡ÁêýY<í,üËÂ3 4é-ù†>èÈbýÓ-B4¨wpHwWŸGH."((üláݧeQnºR§¤äåßõF5ˆß;ü 86eƒ°Èç~¢“šÞŒêŸ²ð§MÐéêÄ]n€t5~÷ôôpbàÅ¢“““ƒ‰ )8ôHÈ~-©Ž;U¯lÒ¾ð«ü–ݰXÐQ¯£¢u´†œ' \¹]:ý5äÑ?…šg¤@«xlìÖå$tð­² zóåñy¸Öóžä_×¢“6)·/ÊÕÂÚ¥ŒÜg%óþµï‚ÎjEÝú^ƒ“<6ÑÖÛ¿éu/,^äP<™ßû1Òøw+Áøø¿zG—¦DD­âb¯Fdˆ×0åDM_Rýõš42Žˆýœ°ÄxaóߺÿÉšVT •f±žzzzJã#ˆ×h$X•¹¯/±¾2ʇ½Ðîü_ÎÐáĤÊŸ+ßGÐø6mÌÕ»º¹ñ[…†‡‡ÇÄàû6Q R=¿[\LLL\|ý·7bþ‘ Õÿ#¯ÝsîJãÉ—eˆLLÝ##Qçƒ==ÌLL!•þdä nom‰ˆˆ¸œïõj´pÎhñÑÑe(Q‹Ê3ã3½z52;›Xù’ƒ#²e‰Ýóîæ÷ïßÀ ###ÄÜ–‡ÓÜ!eøø!¥f* ùùÅaaDÀkÞâÆ÷Þ­ ÒHHþsÏ|creÄ5~äÖÖVJJ §Ù .Ò·¯_ÑÉ&ŒŽJ¼{wà8W¬RhÆÛÓ‰òMÀûx. R(¸GÌÚJB~»ñÿwo¾þr?WgWWMUÕLCÈõ`ggçôt- pyyyºŸ'fûùdxRssk=n]45Qák4s?ó £<8ÜÍ™‰/ˆˆ`ddŒˆŒàçW.Ðìœ]Y]]ãûwU%¥èÈÈå•‘¼,N%rk/XWUM:šÚÐà1[ã Mº´´Ô¬WŒÏ¦]§ßŽ9—ÏØ9 Fep$Çѱ”µ„þ„­©²ÎÖVZ:ºÀ–E¿À@Ùÿu±Åõ¢âlªÜ¬QO" ÚÑÕ…ùì…,t¡@«6S6™•–¶Üz±9óWEIIWÿþ`:Š ¢*Eõx„|t¼TZº“|În]Ƶ¦R†ðÇž?Õø·5– šÎìlz0íð˜}õ€z·\( Ð>Ìþéòòr"Œ·@Ì-4ÚŸ#5²RUPˆù~³‡¯È×þ0òF ÂâýáHu‘н’uåRre¿ 4à" Ô#8¸FIUuo-ÀžÊè‘.3 ÂÊaV>¾-Ø?­ö1à`È=ÃÙà ”#ã/kX{o3¤÷ƒ¶6.ñ5;ûuWtà“'»ðÕŠ09Ô#q-ÒîqnݵžÔDÞG× ½ %EÅoß¿“’'GGemÞñ®{Dñ¶Ý¾æ1Oô.èK𦿿W HGÍAiÙSŸÓ|¢£áw»:©÷ñ驲¹ä~ïÂÀP†ù(§¢²qĆþ¢ï¿m¹Ö"e¢]í¬¶ƒEF’{Þ¨¦æä˜›˜|Ô×eæ‡Ä*÷’BÎëãf}²ZRB¤¢"Õ‡ ­ky¹$ƒÌŸ¹99Ü\c€¼ó)˪¨$îC äôHžŠÒÒõ…ViéËEa¤«›}„³²dç“ù`Ü””׋-nääì勇ï¥gCÿ.©4‘;¬¼sQSë ÕéH8|g§’€m.<¼Xll,¡@͹ræÚš;|ù_{/ X9ÇÇR œfº•–¤ðƒÂ7Þ"EþŒLf·7O@ÞŽAϸâ#“’ìÎvæ XgîOr~yÞtÇjÈ$ûÅ#B‚Èð|Xðplêÿcÿ_DHL¸¹˜©®=<Äêî6ûê \˜Ä£ëCy7‚ÁÖ¥GÒHKKã¢X8ú»rhESæ|¾¿ž$˜è|¶3[i%tº3isç6Üy}¾3ùmOØÂô-ø5¼c0i¢é›˜lí þ\m·ô¶m8k¿ÖQ©¼œ3‰¿Ús¾È~P‡&(åð~SÄ<¯ãRHQ-€`iÍQˆû×½Åé7_}ï¯Ì¸’î@(’äP=*r™ñ]EÊSYr ÚÛyl¨¨__GEýñ{ ­=Öxõõãß}6c_‘ƒë¨ØñéØ~´Â~.ï´ì²2£öðùµ¹/mWdù`SêDÝÝ l‚$üNѽkÌšÆb€{Z9n-£æîKèìéfÚœVY®œg²tg†0Ü â噊}ƒi`0 …J¯…~ûú“]x98„©ºÒ Œ!7slnΣãd³­ d~"‘>??MZ Û¦…ÜÂ`>Jvá>zÔöçóßK€üµ‹ŽQ¾=Uº¹4DC«ªBóëØ•—¯LK³‚´ówJHlìi"¯ý×,>‚ &~û·wîã‡úwn  ^øÖòȈN•õþDqüxázö¯.édKs+!¤,Ðë…Úl󘡡_ ŸbAB¨¯‚! &‘'‹Fd”—룋¹øÜDñ÷lºZ“á£ÿ´ÈTXW‘ÏÎǦƒ¿µmf9Ço1”áQeõñ@Bk²º>Éaäá18Ô³ãwÁ@ w%èXlÙ/PP4綘úMÈáÁùj$Àó­¸ø0)4eggg# Ž4¢òöFØŽ©xí7®B‰ÍVW¾rÄ‘xËÅ̼;Sí ¬M-~·²Ác>Ããþ\!ãΉZâ7=t^‚ÍEu.iFÏø SÆÆŽ8„)=-íìd³§%px¾tèƒZ͈ÛÖˆ7Õ5ÅH6‘¢ââ9ãÈ‚=R#%¨²r×$¡ ŠHn-ŒíØ0KÆ@YyìGÜæC”~BnII¸×S”§”–—}ס„…⸛‹*·ªêhcX<|Îí0MNVÖnW˜˜˜ZT´®‡Q'Ek*¼Ü.ü¤¦–Sm' `+móîvæMàlr_^®¾š¡å,¯þŸ ¤%ÇIY€óD zäñ8l•,b"Ý-U@ÂIk£#* Û®N#éd÷Â]‡@ò:Cå2™o yýzퟥq*Ÿsæª*f ‰¶2DÄ$¢kРNüEÿ“Ðë‹b*ff‹A*»2ÄÅöè(ŇHš\œ³¦Vä'7ÎM1,Ã/9¸-ç-‹âþ«ÔÔÃÝÈ‘"(TeeÕ`½O”Û£c4WVK³ùú|¾Èv3* §«ÕpS›¾ü¢.·èriyyû ÎÙT?œ¿7ÏêÌdËq½äþåógvvöE ^»µ÷é-¶€}20ˆ¯¶k1ð¡pÜŸ›ý)EàCŽŽ^½ þ¹7Èp44sssÐGŒÇ-çê.{­ˆž>õ‡;¡È*Õ‹ƒà´´<5j0¿ýéâVãy¯ÙÍ'bv§ÙN·~’nF|õÂ_À4î%'çªû+Žî®®%‹—ì&G™w555_¿~œ˜ÛhÍÀÈô§ÅTÙíõ¹ÊÝé¸Îp¦´‚¼¼Í¿­$5^k @PQf˜ª±È%[š‡Æ ÊqŠaÎÐÜ_¹úZUÖB ‚ÎvcAò Á»¿9þ*“ˆ·ÑGûcÂüŒûœR⃺úÔïß^*-î…¤|Žô 8H‹[[¼6Kž2)Ëá=Åó?\õ¡óN&ÀkÔGâCñìñ(Äâ©ib?òÃç9Ùe0{¶11™ì`a”Ãè® ''™¿ú~­WÁÕóŸ[Çe’øã®ÿ×ó¸†úúÇ«ò#V§¦F÷@iih~w+XWöF‚.|º1¸üç3.ž(øÐ20ð•ÏÃã!   ËSá]Äš¼wºoxEµ45ôsÍ%¸$ª§*îÉW.g€³ÐÉžqrÏ'ELôZììNo»»{BŸvÀþ÷3·ªÕ¶´°ÈÿíÌí°J›‰é:üaµþ(*+[Î7ÔçèÃŒB¶¯ÍÍͽGÄÄ” l…‡¿¶¶ÆËÃs°Yû‚J’¯B–Xn¦ÿðñ„œ††, ;¥7’nÿêô:¹ÐJDoeõ)üTL‡qb@ÀzžZSNŽì„ynð“4Bî`x|ü³aY!›þßÿv°6~°Ö†höôáÇÀ/¯¦$ša:ø}uåÂò÷?¤UKAQqea!%/o&_£rccÃÊy†ù¤ùsF7UÅ\ýõ+·ªó«S…µž& *½­¾D0uJòòÃÅé"bm.žkx¢´Ï Éy¾ºìNqˆ¶:bb¾!% °ßón+£òú¹®5ÜÛÿx÷@[Aã—îBÙg '@ncï£ÃHŸz\ÐÏB½ÈŒúç´jN^¾ÁA’WUõ؂ߓˆŠR› öòÈ µØ¦2%Em¹msyÉÿú •Y¨‘†­F¨ñ­ºúqmØéñ±ÙOEdéÑý÷ÛåÙZYñ° «©WJpfö Ú6KHÉö´|I!ñ€»–Öáo€TæïþNIѱyô‘‰ùúë¨ä{¶BîÊﵿ2óï·¶TáoÅúˆ‰öჩ=2ÛŒé~ñ?žW‚ r-F]}? ’æs ØRXËâ§Ou?ø'UÞ¼éliinÒUm;*3ÄíwV¸Y|³ˆe`5‡Wï¡urå0þ ŒéÞæ\^îëè üð˜2HŒ%EÛ#P %ð+_L Ŧ©þ6fù{êï tåï~SËô4þ®°M‹ž |s(*$¨›ãeLMKOÌ8»Ôϯj^³_ψ1¢(—{Eý¹è£)WýZµ¿·2>g·²œV‘|ÊØÂ@¤E(ßa#á`[WÛѺ^7Ù£ xÿÊÉÑ©zAÅ~¨›®rPªš02’µºÊ))¹‹Dú÷),‰ßM'ŠÈÄ—”pÑeyM¹ÞÖi\º_È©kjªéô?Gù„ÂLyî¯ŠŠ­lùz^GE9•)¥r;#Q“›ï€Á\ì>Ÿ«càu9YKö”ç“Ë‹ŠíI"u[ïcÚ›¥ ]²æHS³é{h· ì)¡³]’Htåff‚‚•?ÇSF®³Ž–û£cc7Çò}Ac)ÐّѧUÑäûn¬HÐc<¿Æ{ Á9ч”UUe»ÖÈǹ9×:Óÿàì,€êx¶?O‚Kð‚ww'@°`ÁƒÜÝ%@ð ÁÝÝàÁ-¸C€ànÁ}ûæ÷Þ«}ÿݪ­Ú[S„ÊefºOŸ>çóíîéi®šO«…E~/ý¾¨2‰‰«)jš¢ ÛBâF®¤á­Í¸7¥óG/3‘×W¥ŒWŸ¬@¢Éùœc§¤55§»srr@UÍû"öö¨¯ûòÇ´º¸øÒB½U i-tNNÎnÄ6Î,œ1PR¢Ü ‹ƒ°Å1F¶åÝbb =o•ÛL ë=Ç&&ð8-Õ»8òòTàQsV2>hk÷<(¥ÏÌT‡†Ò*«´sz89-¥põdĹÃÂö^K‹ÒsÜý3zó«Ã¿ÙŽ®½\[ezúeÀêîÝÝ]G t–›d¨±­à;è<ŸÿÌïeÛ‰~þ§f•ðåKjöšk´!¦Cж¬"C’ŒbÆø]wç1xw²€XÈ;µù~WIEøGœ?¼ÒþÞœ®35“öGcÃ\qt1 ÍJÔžt÷âNi…–o~Bò¸<˜*Šy~5¢e½9[ã*í‘õÀ'ñëQHõ§Í3a„ñ´Ìq@¼€Ò—Û–äØ‹…ËÝå¡Ç z¿¾þàçg/ÔÞ ZfŸÇ’ónH@*Z«ý˜­±±Ôû×Ðë¼< Ž8pÜïZêgäåMä…UççWF½ò”чfªb3„¹:’ÝYPqºuüÔäÿy®¨äS©¦ËÞÉê¾%g éµLtôWùŒb‰¯;<Þ-Þ ŒƒÉÉ´ÚMÔ.ÔLÖá×TQ¬i"´¹*ºÞ_.5û¼Ês&AhÏέx¹ÒÓìÅW÷º9&çÝÅB­™yIÐ;UämQºÙà¿ ¥¬‰+V¥%Œ«wÞB§¶Vhe„ïÞ…v˜æ¨éŽºŸå«ÿ@Xçl&ÁLUðûi®ùê{âÄÓ³ßÛ?ÙÙòö©>DOô8j++eÖ«÷4•.…kÍäk,]½Âä|UFmÐù±IW;ôËËú\Çiñð#ކ³»õë´ãBš]çäÝ3ï›O#ég©£SŸ¶&!¿È$°Fh tùff ô+llºýùÃïóDà75Å.tµ+ûëׄH¢—\g…ÊH~k\÷¤öT^‚JFû³cð»³ëHHX-·„“ª,—u²2Ÿ0¤ì•]¡Æ¹ØêñpW‚Hƒð¥±q3)©¢ºéxy˜ŽqKWUGgö¬êï¸rïie±åÜonÓ hÀZ;ŽM¾¾7gÛâ.xøøl¸(­™™$-èºæ‘zêêê€ßV©C{{{É>§¯ì“,øÍîÁMj*‡~ûÖ;««y{à '¿rs¾ûø[¯!ŽÎŠ·123°Ò‘ˆHȃÉå|PÉÔvýå@¸¿ÙëîòóçÏ{{{XTr×߃Õ\o½´·½­¦¤„……ý– @_][{©ÚhHµ\+$?<<|Ì Ñ‚q:¶‚âkV‡­kÙã¡~”Þ§p·[hÎþ­x së{аá[?’ÕÕÕ´ÙªªªÐPRN22²yKΪý½éƒ”]vvöþ}Ü™¹¹~CÖššÀÂøxxÁæ óKHÈàw³÷öÔq‰$~=æÚº:ù ÁðVž—+üž×•ùù”ÞU/™D•%$¨()á˜hA~6aÆ•lŽÛî¤úx½7M§©© ÒygçÛÒõýFÂ4íƒ;Ò=5UU^ZÚäÄDCCCÇÇ®>>ÈÇ%Ôe¬nIÒ?C·´íª@„— ˜DÒÙ¹¾¬Œ¡ÊÌÄ$!-MöÀ fž°ÓúÅ‹0 ŠÕÕÕUê333ß¾}#Ä WUU5¶±9ÞÝ IøÞØ 35; ˜1¿ €ì¸ÀÚ5Íd4ÝÈÈ1à˜ñ³nïöÙhºÀþêªoÂ÷ææ”¤¤é©)ô¾z³,Y×ì_KKddd Þ'ùqQ»»Þå/d@êáêêJ¯^™Y\¼7«ëãäà°¿SŠ"4öo 3šŽW·º7d?¡ÅøÈìÑB[ú¤ \B8AÌO“Ë`7›D΂’ÂañÊòhél¼ ®æ¯]«………¿ttt€·h5;[ii¥šúgWœæØ‚v¥¤¤täi6.`g-b©,²U'VYfv¶_ƒ®’R—!kÑòÍ|OÓ5àÏ5¬€·fO“hï`žr¢û[ˆ­ü^ø üÓÐÒ25ù¶=ï«Ò‡?.?«ÓÏÐë&þhaaalœßØx³?[…‰ùŠáã—ì5]¯¸¨( jÇwQ‰ø]w'( ¡ýÿõ6UK—/_®Õ•”ìûBÛ[Xìïíu :ú¯:¢W5Ù9£tIËÈœ>Éi£á«á"À)’^ß»Í_ìGrZ&rØaRôA2S¡›;@=5õ`w·Ñhè•gBddds³‡§§§’ÒäPÀçžzÛÕΛ¶›ÀëO=¡/³²²®ËEƒP§ggŸ.m899]€ëßx>^­øïïËüŠËÎÍUVP ©?ÝÚ2¦   Šlpؖ˶½=ßm¿ÿ#ãàÀ¦8!…lU9oÉO«««»–ü}g5»¢'Òòž·»ËËËÀ¦===2ñô»Òý™‹tR“K©–!%óœqe)H:“x!ìvæé£tùùùõ†ãKd) Ãð¸¥î”ÿþ­z$^x ±(;ÝÇ>yx’æÞKI±ppôð~/Z›*R x5ý«°ïRFWGKÀk$›wÝ]-ÍÍÍA)ðóKÐ/ÓÞå`P¤ÕŽQßc¸¹¹­ã k{åá\u6§©­Ýj8€IS”“ƒ…qš•!ØyÃ5t/ÔÇgßåȃŸÛ˜©1;Dƒ²‡Ö† Â|FµãG#Â66z¹Ü–vµ!¥(ƒL,®Ó¡¬òò 2ˆ°c¹Bž÷ß¹yyï4ÔpQa ¥-èžN׳ï®'&ψéK‹Ìrhã:×[5ýá2ÚKò8b§˜ïK²íÊÃD„p°M&s Bw|VÐÐÐUÎÕÒ”áb]XžèŒù–¥‡K‰®‡à‡¨p½,ý©8'ç݇\P³ÜŒX]{÷óBjJJ®@ `‹|]AtÅÅœCýšš7Ê´£8k™ê¬¬Sd±wlüà$ÿÐØH„Û›¹5Dæ…_qg¨ûÈþÙþÂÛßÐ}‘T_òr¨ÁyO’˜Y ®kbk>ùEüîµâ Æ&{GmaQATV\4û!ïÞ†\ÕK:«#-lm-¾ù¡d{“Ç•5S} >n!saëÜ–p þ\‰¿þ,š>sá»w´ÄåTÀùÅ”””iκ¬Þ^\úܳ¼·Âž÷…ÔÝÙÜ,ÌfÍýþ=¿öü0†Šb|<•Ëï¤U4p¬®6ÐÜœ•ƒ#(¯gjÊòs×ó;fë˜Iw|lì¯F‡ jI=3³¢¢")gl(¨“v&êVÏ›ÝääÞýYÔܧó™,ÊÅÏý³ºô¾æOÖ}ÔD^n ß3¦xΙ:pŸ*}¸‡´(++oa±.xI?22’,o/—þ^Ðç‘3PßóÑÃÌÔ|S uÕ µ¢ÌŠ–¾”´ÅàgyaaIaáÐh…¥©i5ÚøŒêôŒ*¡ –Ù†$…'»ÝO\ ŠÆÈu‘bbbôkƒAqOeÚ ¡„uc0:JK;¯¯MpK)ù¢¼§cju¨»¸ivÛssŸˆéO9œ±°ã§ò,)´âø\ïíkþZÍà´¹í¶þîs^žÚ(·9¶ÃJ™‹¼qö·ŽÕ ׌„bŠŽSÔ,]Ⴣ¢ïeƒ“Íëhú°Äø™º'»ãÒÒšÓÑî ¡¢ØÅÝ·»ÄØâ_:Qc^‚`S¤ää±ßÒHs{íù8Ì¥Úþ”n»ú¶I˜DA96.&Ç¥–_ÄRwya‰©¢' ¹„ŽÖüœœ°—‘æ~î‹.‚ΫýN[Ûí|çiX¤»à p‰/*(€8C¥LH¯‹è¬µ?~u&ÆN’— óHŽ×TW/+¤¶01ùîqÅÿê9a-,¬è¸Ô”·äö¶½›ãìš){qX˜[Z®™9«Ïãü|W×êõi7•|¨Gž,œ(ÜèáÜÁÕ ¿ˆÆ¼¦g”$ÖÓCÄu“Âfß”³>ù$æ–•ñ:ØÂ¾«è†ÑFl" ˆ[À©¸¼¬ì°=“Žrw¯qAþ–±q›¹ÙjR¢©÷ã *ê:•tŽ ÁübddØÙíV […ŽJC{UBV‹×bl‚Ú¼7ªîh8AQ‹Ï“'cÂÊ>CXöx¡kô¬7Ë Œö1-eå´øø»=mmdgòè!S çù[‚ᯡ€~ˆîc&6#â¹i®3„g%ag¯¥¤—êŠ5´²zásÓ3?3c{m+^ÅËÛe½ükgð!w˜Ã´ßׯ÷탉܊ÏÏnÎ¨Š ƒé±yÍžDù’ÕutÔ44$~•EÇ(¥«++ûË_c¥"„-”EàòÂçbZŠ(Òçæš!üÛ|Ÿ'9™!YÙáV¦Œ¡—‰‰¦¼Ü_nW©{Þmý{-@Îï¡ïøÌ(È’÷7Û>èK±"xák«,ëïúRSÿÐÕÅfnŽWVÚË×âs™4õ†˜¥Jždºøx{iinà±kkÉÑÑÉ @lq„»X ÌßR`(ËÊyWdjŽZVèZårŒòx/2ùx/¦ˆ}„…B=_²ôÐ:SyMõÞnx*fAy9Ŧÿm±ª*‘•ÏdþnQMa»¤Ü£Ít±ƒ– npöÎáâbßW·«û†-ã£pü§À •v‡mØ!›åîdª”Äöv‘T…Ef$G”åg®!!ÍÍn°@3?úù='$$$&ÎØJÀj~+* :T“Ž©™Ùá\Õú¢M»øãÓˆošµ±±óŸ,ªµ¸˜˜˜«ÃE—ãeÁ !ýNЛ`‘_o”‰"@EÁ%:ÚÙ!ªWþæžW<'ÎR¸¾¶?]?Õõ\­È«Sý䟳žåo#è­Õ½Ü!‡´¹©¢þñHMm…ùS¯²òTš`šÍqIù‘™ÕÃ$8wzúÅA®Úñà¶üû÷_óó2XzûÖ/?k8…+²î $`h@ +Þw :\‹kÇÇ"¶0¿y£¿ÑÿíÍ›7›››ÃÃà 6+ýkÑVÞr aÀ ‚K¯º=ƒÊÄ‘r&ÝÙ÷p8^.QQ¹¸ÞJãsÛÛKýši ¼˜t\ ;`¥É4ðßïÞ-.-‰–k{\oÉ ÌgIµßÞÆÛ´ 8¬‰} rúòvµL“i¦”‡Ë½6!}9^6¥“X€v¯ŠBK?¥°Ú€•5zØ«¹\§uá={>0އ‡ç¾®®ÎI]=qN‰ÁþúD_VVÖó Ú$J 5ä!¢––û˜³³³ÎV+Ȧ ææg£BÄžL¸ä~PŸ}%ªm^¹]–ÒóÞJéé%—”\\­Œò{r/ JvÐÏÛ] f¡ý¤ƒ¼ãîÜŒ&P?†2\£n0~x&(ÉçAJÄ÷t;£œ¡En/“ÚÜ(ÏÄ(OMwÅþb¯+3S‡ñ×ô4áã´Ú«0yB^å¶•ì8Çùùùúúúîü´´¥Ð—tÁÚœC«Á¿ÿ¾q7/0ðXDtßÖV/‰¸ ø¸8Ë9fO¬.æ,…ÄøøzãáäíÑŒõvÐÓJt½OÏÏ[Ü/huú×O0Z/·ìîîò˜Œ¤µ(‚¾d8ŠQ[uÃÃT)‚ŽN‹m@J$ÔvÆDE¨fdDÎ}³UES“~7‚|Щe}[Ü4w?9l äõ¨mø„_ä’¸lÖ¸VÔ_ãG’ò1²®F&ÞýÞŽ,.6×Ñ!Šèæâ!Idù°ñ˜ÝFöý{¹t~3kë’þ¨7¢ d¨„¡ÁüËÐwOB¨A9ÙŽíìì€Öm©Å˜ ÷çÆsœ×f¥mz||Õ–ÛUßÁ¡¦´´T˜$sr÷¹È"là‚?¤ÅÞUKÀÈÈð\#É& þŠâ´ÔU[‹ƒÏ5òA çLQªcqbRx|~Þ¦±I‚BQ,Hy³¥UŸj.ÂÃ9¤Ü°qw±ÅËÊ.ÀQR¼GFz¤ý=Ê{µS›Ž®U¥äÀx„­}LÈÇ‘4>œ¥³±uéÖ¨—j6XƒâÖ {yóèw~éî311#"»ÄÔ ñ#)//öì***?‘¼Ô.td*h?qô/ÒyHñð ôò~X"¨U7­C×Ñíúú¯q˜–û˜^ÉÌ,UonÖžŽNLØÛ,¹w¬²´´ò^jzmYï]Á¤/Éb™¸ÖäÄ6[–âv¬ã ñ×ý ss¤¡xYÍÆ‰w¯½{ ,ë­.ö¦Ác¨äG~þiW½}.XÒÑþý{Acã&;žÓžòÒq{†µÍ(+3®”³cf…ºú׺JÜ»½é”?j±¨¢¯ÉÜÆ³iJTçÍÍ^PðÕú]Ì{\i·º_ðvµÑa[ðî€Í3!'gýñán¨Ã„„‚²²ÖO}#‹ˆ((¿Ú}žV¼Ã²w@?Bµ{†ßq'ª¦†-üfÍV«‰òW~'§‹Óõ¾õ†F@ŽQ¿yüfËîï~s¢y£y—ñ:Ç$Âëû›}¥‚è‡ûW.UÞf4TAm@705_37-ü™¨¿ñûGu5Â,)ÑÆr‹·ËÑåÍYÃJ›Õí^ Ð=³s®¿v*õà¿uÔ–¿š¥‡6W<ÊA!a"®¹‡˜Â»À…-ýRv¼é1R«vmS,¤ªÉ%T‚ïŒè 6Ožs•¨‹½›”>ØŸð !!8—ì:&Ñ(õZ/Ý&ùCËtétdåçÿÞÜÜ9<›Èû™#±ÞÕÉššFU¡kƒÖš ôˆ6Iü9˜’EøÁ~õRE}}‹¸XÃ;ªÀÙŠï'¯“‡;Ø·oÞee <5~o­´Ý:7w05õëçOµáa-YÙüœœR z@ÀööÌ×ðËY“FñôI·ÓjJ7Û§þ㪪ð Ï´›MZºò“4ªÉAAe:`¦"´yj¬úåŒSƒùÑn¿A¦äÍ—ÃеÓ/®‚¡Ù¦–JüÛe¥Ý«È <Î/à̳E‚تO4†ˆëd»”&“îÈùUd [ŸÍê[d›ãy bñ€¢!ïÑÓ_Å_«`0¶j{¤ì ƒ¥>9ùSEåÜ\A6ìs_fšÝ›F—JOÍNûâ^^C@]Mà[­<6†‡ þÂBj’{Xmú­Çv+qéé°!E­Ü°ì£ÑÝÃöË;³B|€N$oЏÂNnÞ¦É>‰÷§am0(D —ÍW›Õ˜¤€þÉÕÕyt¸,à²õóÔ°'žä´ù©8 vw‡ï´Æo îPQÛVW_ㆠ?Ç€Y=½–’½ãÅdFðtã`}5WÕÕöx{>«›18ZAÊG yÜŠÑÍçrõrPb ¿P }#F^™`#'›ñj·‘EF–¡Ý¹LD=·†N7pcKµÅm’DCž}—qA›ý„inwUÈÅÚÈÜ|$]@­@þÉ©©¾ àSûÙ ))i?*ëpuW[k5Î’_ó÷±_2(Æê¨%üš¥z«Xì×ÉÎÃã…—§`Š0±UUù–V%P:O— öù?’ÇG™&R2/òÂÇo0Ãj]Ì·}w—Ú%6«A¯­­ë›¾ÈžEµ=NŠ3K C1gßü‰ ®èÒlÐQר älóa笟™m˜ÇtÝÔ,`½_Ó%>c³&«NN²rNNŸ„$ÄICvˆÉí¤C³åä2æðÖ°àÉÈj.’,¬Ê䵈õW;¢Ð@}vÉ-±}õ¬"bχØ66_“I´iN•åQÌNØww°I"¡@®nvÕ¬ÿi?[^€,ÿ3٨š ¦üȶzôbò c ((9y›ëä’Ñ4Í9¤5¯Û Íz­ÒÂBŠ¿mý S*×ךŽÃiñ¸Ý'-9ù“~Õè"_vqqúA&d¬Ò1 á9 ÅIß$¥»ÍòýnE¤¥•"‚¤¥¥%#dŒhö·4LϲքK*öK•«. ¨¨˜œ§“®Ÿ_¿Ê$ÈñyrÆzIDtÏL×EuúÙ·0%DÏÖ¶Ò×÷Yš33·ÏcËNùؘ§OŸàü³ p°±¿àdS‡fSûwTVVö’"y 7RSòzr÷î}‰Ì°ïm²Î.ÃFàí³;Ærš$5Ü‚#G·#‰/ÎSŽ~†`¹þz­¢ƒêYµÞRÀ¢giypy¸ýüyqI‰|*÷êú:!¡ìÁB“SIF†.àÂ÷ïßKK#Ùaê;99 Å3h6Úw ~ŽK˜Mç[ûm;6¸G%Ô>ççÇåÙöù ³\³•‚›{nnŽ››û{ŒƒTßGÎVIß*û•5njddtyy™žžn%·¤XC¬¬4éºõ~o;ƒ8‰Ûý×âçCÛÈ,¸™{y˘/_‚?ï1¨*-+###À9½ºò¸´ÈÞþO›I‘­{iJЦ°°°———¹¹9(CF ‹•„nUçÖrkšÏCÝ;ÕøzÏ›]©gbnÛ ƒ ìD,Wçâ**LL‘†k)¨&?Y€9ty8f§…Œís±°ð¸ýÉmläÑ™ÛÒúŸt{{Üþô8CEšœ˜(&&ö•XH¹évi“)€ád†› "4TZB6dÆíî²,"5¨ ã…¨eMÚïS˜ÐÐuãG¯ÛÚø¾õjZlçë|éž®OªÛ/¤ãþüù©¯Öok¤äBÚÆÎÑQ«Ê §3˜ú4É´=Ê´:@æuc÷WØOæËJII)å¿¿ù3Ätxx(t­Ó4w–'%'ç¦0VT}À[Ëå–¡Íä$³o„ØÀ3iTaÿ:¦[©þ/–BA×Ô\\í Òmr4Šn½/²/…–azlÌÔûl¨Õž?¯¹*½ ..zTa©åÓ‰>G()î¥/×õ¥ULƒ‹˜ÚÇxåâNøýó–†ïÞ¿Žôʉ à- ÝäØ5ÐØEE"è¹mmDò0ˆðhDôÔÔßʵ›ýüüÞ¾}Ût÷*/Þ·£?ÃÇy¹þð,8ØÃdtùv¿ÂQTô¢¢-ùÏfBÌÔ”à½H$bX.vùS@7KD¥%&ªëB¦&rËʼn<Õkëëµ´´@”ÓÑYvYñ J³ª÷Ê¢ÈÞÞ^[›Ð›‡é½œ' Ð܃ƒ2ñŒÚMŽ»ƒƒƒ Hô„á„YÉZ*!øÌUå”—[t×õ<Oîá\äA%BùUEf}:óÇ:ݹ?8Ÿà :Ò¯^éêꪩ©L‘>;Û•åÛc .! ›ÈœÕبqþC¥Dusk˾ñ×bƒMIqñ%èÏ‘Ä8‡s7_ñê@zú ê¼ÏT7sÔ‰ £›Ìô×w;OE¢¶GBŽPQ9YY³ÇM¯ýHŽå&EHç()^ !}PRRRS[©1‰Üôf‡­Ÿo8ˆH ×è4durt¹¼;ý­¥’dWX°U½CÿÓ }ç62+«Žõ6§ó1QÉÉøo0ÈÏ+““)©¨°Rhhhòóóø 9àê¼5 íö-KƒlŽgT¥žÝP|~ß*Ù_Yùõæ,ÒÌÔ’™e¾Êã*n{t¨ D%â½Å£££¤¤$í–û…ZŒ³ÃÃVg[à «x9†Z‹*²óó{‚ì,&eA'ÄÁAEºæíxŽuO"O05Kü-µ%®Vøîdž%6„mçòììKØíƒý£S†ÀëOK*è‚bþ¦?™4¿ìB¾:;GqEÚ8<\\n¨á*\”×ððñþÐ%à {Ó€-GGÅÑÕwpEnÛ>/³|ùÑsåivÛr:Êʪ’ýKŸ?‹!#§ÝœQñð$±$ý1„GãrÎŽq`Í'ÉÎ(V©Š Àõë—qkâ°óÏN쨱§ÜSë.¾gøèDÅžë*Où/5WüzmfbÂm³,&!±þFtǰr5 8wRjXP~›ö”j¨A^íÞññ¹ñqÜŒ›“«•HN+$ÝöÇÎîFƘök¿èhúyõw"¬-p¡˜VÙˆ#;ˆ´Ý—G á_1ã².Ök'3ëÏîMo—ëúüúõ“‚ò 1ö‹ÞÔ ƒë,%妬¬sËøYÌ®ã¹éeìÅCxx8<Ûl§i—š·/î§0E&<Ž–š ƒH¾ñÞ*õ§ò„^^fllÍ›´ ¸³oýðÝï MãµÜú©ø@‹¡]«»ÜO¿ òw“š€y_bÓÃ<—s8 ‹Oà׉Œ·~ÍÚ-&5'n†à§—ˆ.΂"ª€-‚^ø ϹɉRRmo¥ÁB L<ðfÿ8³‚òáMˆÌ/,÷ 3ñEð³å_]½ª!6}ù•ÉöÊhªTYaáC!œ“càÒ÷*ýÙòFeÚ€wXBèÁ$qÒú5/H “zPŸÅ¢FÄÐEÐZWë½ä²Zš{Ö¿¼ý:ŠclØò«f{¯;ÄÃxä\À‘úvÅ'¬yŽ$4›Nm¡»ÇjbF5æÛîÎv`8A‘–Úìþ1d*ÓFÊŠ4˜$8%%Fv5&ÄË5Ûæ³‹ììÊ‘a‹µîŽØâ4±õB¾PÈÈ2\œ— ®÷Eô˜˜$t:@®‰¢>‘Šð¡(vÅGW./4c<ÂðÒþÌð}¡ñk”×Ä£]3(„¼¹ÃF„iúíZß+Ý'rYF’t}¹VRïn/Ú±þN— ’ ‡ø‘|êC]¬1ñ–ð`AADúX”Ÿ??où ÙPïs[Dšíš/•3ÀÍ[mhdfYßP˜†Fóxy©ÊbVKCca¹UJvÍjá1/gbÂþ4) ªh|¿ð”žÞ·?À´QíéÆŸ>=¢¢!Á.µÜL‚~Ô¼Tý+K÷é|ò9¯vໜ?®žšš¢ãH ÅCñ²wë‘6.º®× £BO~âar¸¯­tkwº“ØŠ((R­3¡¤0,õô„ &<_  Œd15A“››KìÐÛÙÝ………] ¸&VCëêì$¥£Cfò¼ù³é‹ˆFÌHGgñé“È£ÙöÛ&8ecn›å³-©---n ©^-<¨ñæ!´·D½1³i6ñ+«2HÔvëW-§6mU¡‘+¹B~™²iÅtõx,ïq [Y¼úŽ–Î”•¯o—k+çø¬¼mŽƒ:/+»'‚ƒþ…ýÿ·*çû÷ï‰II¾@Ö_ió¢’KÝyǬQ³3ߊ¨{¹5Œocsl4ïÔLB%ÚÜoÛÓ5/§ ‹ƒ¤»ðpËEg)ÑO]—‡ š]l2†6ŸÎF×#y¿ôao²‘èÅÃÃwtädÒµ½wõ”ÙOïƒF'çço9ãéVQQ±ÛØÐkÒßU3Å(%ííO_±NÞ µg‰ž_ï ?==µ¢ ÃD€¥•¬B%LŽŽîÜ´GFFV+U—v;Ûrssãàät>¥ÏFÌ êp±áÔžŠªÀj±~zfÆèªå7Ü@»Æ_ಽ==É,þC›¡OˆB’ …yé£{•Æ&ÌîíÛ(©]ýj8ÆSTWíMzšKdI‘ËÃ@  Z?ƒ„EÈïŠELIÀfŒ%øþúÚc>ë٘ꦸjU³XŠ8ú¹ùdöÝLJ;±›.›r­ÆjŸ'o2²œ2Í̸¤ÿZê³ÐöütahÈb­;Ø?<,Ì¢]í¼(„>¡°àßÀ–VV!Îܨ—Þ´ZŠŠú¦¦ýUƒCC='ËÐ!$P™L(åm³ªï~Fm†½úsãçocnn}¹ÈF ·Ø~'¥¬¢âs¸ êr….ÚÁÍW¯ÁaÒq|ŒgùkäOc^¥S3œ! íT6_´c(åä}æGßx)=¤è¿e( ×õ\DÃBý¢øžÙÔ‰£4íÎxè¯ûûû ËÖÖÕUè¶G‡FDÌÌÌD[YZþº;j>6^l8›7É  ¢âââràNÕõ¾é™›ÃeRûðapt´O 2`ÐÙéi7WWôð`U$µ²q))C›ö6+meÅÅ RÃ7gÛ\Ç¢ÝD<ö_¾×nlÔ~ê‹hjjµšôµ:½ª£££ºúðÙä¡x"ÈdS1Ý“’öR¥ç™ìp8<ÚòƬaÙr ×q bø×ú’äÄõ:ZjÒµåÅhSz,Lm)d$$<.k‚GòôÿAåXÄjñJ6fÆ BMðzœS§ÍãÊøÜ}Tf& ‡“Ó…€Çå?U“OãÍ+)¡££2¨ öÐèž¡gdLôâ G&Ýž÷@ B ] Ð=«›×äþüé&ý˜·Í‚ÏôtÝ1ÙßJ}68AaÇÀ „…Ë?\yjh¼I\ïK9ù½³!&ÂùŒøü¼ÍÞ^A¯“ß/C³ég¨95W:ôA˜G=2‚ºE Í^]]EÆa<0ðrq¹"61—å91)©Áx¶øIÈ ¨í(„ÐÓ ©dŽm ‹”ûûW|Ü•ý¨Û]ææx6+Þßâãñq®J³³UUT:&>DϸØê…ã>[ùžYáiIŠàþSJX÷³˜BK`àŒÕ"£ø;A['£ã_»bCQ„Š êÎÎR?Zƒ>á~+ã+ljY:`¼¿8·#ŸV¼øxJ uCî÷€ø¯ËT²á0-¯´=ü™«ê’K×*‡à¨­àÈbƒ¬™Y#8NOG‡,’Þ»YìÛœÝúpíë9€/‰. s‡õ„ü†oñÔh4¾éìäzØ88°”sæ^ŠQ""~Â&¦Ü8…¹½%#$Pg~à ÷æo?&½Ö×bôYikºg³êð“z: g%áË>²0_[n{ e<23X;«®n ƒLÅsWæËsp„J9; w “Îe`À@ÃJÂ4ÓRRz¬÷2S:ôĬàBfõRuÔÕ q®ØhßB6}Mæã0T—J‚ãÈïþ÷Z,Ä~Ø=?1t¨1Œ{##€èÞו¦}¨/鿍i)djÙ9ìˆù]_âß±SnII!JÈEX[ öö¾[“·áž÷õEþßkfó|õY•DD·†f$Ÿ»ãn¥~¨¡ÄÔÒߥ'ëkéù¹¶žVV*œšÃ3,]’çÉ×KÍ.aaaR_k"A¨177& èVœšœtX¨53„g¥þÕêqÕÿ>ìßnäÜ—Æç&tNŠŽI¤mna!ìÌí•ݘ”’tCËÁÁÅÉy׆Àjc$Ú[ÐzEEñaaCy2 ýUW×3ß’EìŸgÌA}^Vàšžbww¤¤|:⻌ò~Ósµ Xó@CãÄ”Ôèñ Óï³88²€N“® .í×o;îXZ;€~™ç~<[bw,¼ot ƒ†ž¼qÍ/ÖÌ”ò4x?l3 ¹ž#"¹_«°ˆ¯Ýý5«Ï—õ=ŸIÄŠÏS+%é_bEó«œýþý}DÄeô·¬‘¤u—­÷´ó«ŸŸ|S4ÿnßA‚q ëîÞU¡{¥Õä¸)ô®ìãKe5x¬Ý¨ß¿õ ¡¡yÓ¬õôlïÝÆµ³²²€G•—g¢¦F`SÄW„ó×××ÿ'®,''—ÎãŸššš—·¹9”ГŽj/ü}p#”ÀŸm^gO÷“3e8——mhD-¤|¤¬=½½Ö+m$$™MM·Ý!X‚‚‚ãããÝå µÞÞÜLOMuwwçææ¢Kè㪪©5XÎWƒÄ¸F†Ãäìä4<4´nË ®f»ê7ÇÖiÿw¡§ÄájêB{G~vãŸùBOï_"M¥¦A>Bêý½”´´¡s_¿~5¬™ï.V/ôe'æÅ‹ööö×û••ÌUÂèÿÐ %JÏÈrûcèævàYïX•AË]ŽK†XÚñ3FG«ñ×…Ï«´‹BÅo|u¥IIg1òþ‘‘úº: ÎÃꚚmKÎæèF-`Ú̬¬7m7¿; =<î"h…<.ééèd¨±C_¹»ºróòÆÇÅ)R @šêô7_5Ú¸é±OªÇa²„œ\cÙ!“]%è‚êðâŠââ=gÛ£¼NÒµQ®¾dÎ7··¨øœ¥²dEEE:::ÒÒÒËËË­Üíi@‹8ÄPšõõZÔ\´?pŽ-òeçH8‹=ôÍÍqs\øp)äæ~^­Ðø?×óè°þ3—nÀtù(&üòeÜ2!d0 ¸.š´tõ³gºÄ<ÕÜ´´û“òhB>‚ê¯ð /Þ^@²>d3 Ó×~€æ¿77÷õõqqp´zÞL€Dãì|ô dÈÛàà`.›eÀï‚n6ü ꫪxw¼¼lÚfølàÀ-£x£.‰qÆÇñw“Fñé‘_Œ¤ ?x/·‚VUUUyòv¹ÕCè¿g¥+²³Y=.-Ç‹¾@f¥Ï¯®ˆÜÏDzD—––°01y…êÚÛ}Þ¿ÿÚÔäžÒøwó’L\ú†ñvWþŽñ;o愈ˆÞ T¯¼lÖ/ÁM]==°"Q—|@ÿOR¤ È +‘PÀ~†¦ûÝöÍ%ëŸ 2‰5OOF*r~!GÓoÅÅÏçEBÄab`ˆ8cgºü¨øÐô¢vš%«ýÜÇ'óeÉøNô+3Ï¡.ŽÛ{@±l¹Ã¡7wLß;s[5~ÿBUȵûJ¦¶ž¸bµ(”—i¦×ˆ¨> èÞB{YПé£PµZ áËááòyùRžîkj NÁŸ§ü Š%K€c‰‡½zQ;ê¶có¡_>㹡/tB)½ÕJÛ¯o9"â¨É¨à=(€¡dÔªèyÈoá«ÝÊÍÚ:¡§ûþ,Ññç¾QÿX‹„‚#ª+¾ùázýWŽÄúö°¿IÔßaRê× ØÚ””½%EEÓã§z†ÐÕdƒ|·¿˜B4.^1•p88aÄÞ­·ZÚÚl Ê!à äBß§½Â™"|+´Û£ûe.nÉ=³[†Å~ ç  D'p#2²Œƒà$˜ÿO™™ÚÔc¦§§¯®^æ{󿙸øÜÜœ5ÌØÙ1Ûø+É{gr9ô¶,ûAŸ‡‹À€žåpü®þˆMÖ‰•îWÎå|ˆŽüÌ™ fߌG9¥¤²+„&z6¯€ÉÏ\ŸƒªM0wwyøìÙ³ééi ¾ONOC""(­–š¦GG+òóf¢¤ àFêª(dx™V#&" eNNTTTÊU( ŠÔõ>¬¹Ý|ù§‹«,iinè=Úå=—ϡ–;>wc"ȘZØ$³mÛŠˆ¼ˆH"éêêºíôÎíÏŸâüåqÄdMú PÎÈh¨ñì…xÍÍM*ùôÔŒŒHœÿ1Áöé¸âK ‘ §º’–¸b6!¶¸“££ÁIôÚšÐpþ¾µšÊìü@oŒòbbbÀ­CB¤Þ½ƒÓILH0±¶fdbj7zµ†^Å3ß yµeu~þp%œ­ímùtþÆáUƒõÝÂa¯»Ë¢Â¯¸,k6‡<.€°A“Ëú×ÎýU2šÍ§n«»ÃÉoYº’  ß%"/'Ææ2ËBžR„žÔÕ½÷mˆéÿçÀÌ©_X·¯ÕmâÜò]‡÷¥ýî¾ëÈßv¢$<™&J»?9¯û'd›™Rÿ7o\"$k€…455 &AççãK™ë1®áãÚ„ƒƒ¥"Eøy!¼—ºýÙfr‹ÉÎÁ¡°¢B^VVV^^bY~é„w4]`hpi%ü“þÿõÙ=R]ßl†Z 4ªô:üŠ‹‹u}¦‡‡Ã©SXÒÐxðv·…Ò„Ÿ¨"7’¢»ñOONl-¸1*Mù ë6íe¤¥#ˆ…Ú 03t••7ŽÛõ»#¼´ºMÚn½ß3É¸ÑøHÄmO^Ÿ™‰$‚N$?6é眗I ½$‚‰‰êÚZÇÁX׆Žeù©¨+¾÷w‚Áû­_"¼ ´‹( ÑPõmß…½Ò8X¼Êó{Îïã™Zο+òü׳Eÿ™l‰)ô%Ý+F-\"""\ÜàQl1ÅØ¿µxÝ©JHu­’ T›Mæ¢QÊ÷¼ÙL¸¼¼óï–xe‡Ýög{s3.&¦kÓ¾H™6cTýË€!pª0¸™üNâÏ´§§ãM²¨ŸûB‰ ƒ”ÝÙ üt³Áf…5éý=ðIEl+kk@/`yÓ¸ï§KÔ®›ÉP©äðºàc¿}{£Ã†‹r/àÌÈÎîÙJ¨ëUÇðfµHøs5)¶óu’aîé’Ë ±eÍvÛÝÈngÀgï›4ì5!gÊ …ÌììÎU[G'' só¨¾9AÊú+L §s¾¸ÛxùWßHX á¡Ü}ýž¯÷£`3ÆuóÐmñ¸ÊkЦQê&ÄŽâü Xè鮿@ý<™¥y«LÀça$æC§ÇíÓÛ·o--²ÅÃÐa²¨c5w9ùݺÅlùáB5559y®!)2hçéi’¾}ë444NǸª?.(JjÑÐÑ…A¿)zi<¼³eÇg¯œ¶?jÞTUQ ²¤gRûéKnû\«©ÎxxHxZÎ-ýÐ3õª”½ÓÜX œé!¢0"D“LÔùÞ‚÷µ¸øÖ¦] '«Jÿl뤷Wµºë&ôngjY —M‘/ KU[› ”¦æ ¥ëòS~¾ÿ*ßÒÒrÜvAaªZ û_Ó‰8õÿÎð:íÁ¹^þs‰k€þ ôW•UT@`ÚßÛ FöÄ ÎZY\l.* )œ‘BÆ dø;×™x^\°L/òöϤ³õH¡™éé›ëkô à²àæÜ ±>± w­;צåü¹ß=Hhhèìdëy‘ò¹Y«œ/^È300|ÐKñ6жPC÷á;ÛîB÷¡É®è¹d©jmØÈ1Ç\:Õ‹È„ñS@û…Ïeœò0™#!¹¨Z[âFR7w~5:d7ûùû‡ýjʎז ?^jJ¨¤4¹±ahÀFAÑ35…½¯×ôP¤TÜ ´¼ý+»ÉGKͧß/Ãáaa÷•”Ï×Í©hiñ{Ý:â…¿‹­5ËÖíIJ&žDZ^^^ Œë7 SÆPÊF'$è¶{·úù=ס®ÏŸ;’Û:h)Ø·ª÷¹#ÄhÕø2´Ù×k\¡‰Ãoü“òEø‹œwV¸ý!$3ë3qoÿý°ÆÁƒnèŽE•×{ËcŠKç\>ÔšÇo¢4í$ÛùãƒßtI‡‡tŽ"º(¦ÚIÿÛšÄüE} Ô„!çƒ9 &&&@*&ûçá˜ÂámOd&Æ#3õ¹Ö©)OA;Û=å¥þ~âÛ7´;6ÚTY„h[Òè‰dÔiµµ:MµŒÌÌVOíÇ¿ÜìÎw>h/­ÂÃæöU}êëGÍÒÍ¢–ÎûLWå\%—ÇÃãµ¶q.eF³=W†s¼½¥JÒÿC[ßµò‚Ë/Ö‰Ÿ™Y„”ºî¤ÇhÎÒËå >ȱÁ§Í_5>?÷bp Pñ§Ó¾q¹&×ÙÍÙ¬¢"Úr‹ é ‘Ù¡«ž0høÁ׸_ï·3^HDöÎ;p>Î# “ˆP¦ä£†úñÃÀ0×Úðœg^ '²´Œ^øÞ&ÇÝ`ÜEO‡³s»N[ª”³„³pÑI0è)e'""W6ÖXÝnǦKF[½Åþùžä5¹Ÿp*@<ÆÒ&—ŠËËW@þ ñXEH¹wææ_ççZ&ñª¸Œgc-/c kýÃiP<¿¿uHJI]Ÿö׬×úÙß/älYT´”q “»¸ÔìâÑ ‚ÒEK›<=ehdøMnâü¶¢®eî‡p5 ÍøÔ9Ò`ÛLÕƒó•«çç •Gç$³šûHY…(iå"c¦xŽM¼¡ææ¤ššaîyvcVЇD3Ux¾Õ1 ù­¤?€¼Ûì¢Ë®,äî¸;Wè A—HþdGQÑývÈãêÏñ]a…Í·“÷ÉìÆƒ±U“ù»r‰™Ãz?âàµ2I0`üBH˜t”÷¿¡* ˜IƒÓîXe_nºX[nõ»»BNdx‰ð%9ùg‘’}oõüíÂBñ?óÛ2àäã“›N¡GÉÛÆ”øxwoïÊ#vÓ’ÚX‡m¹å‡;X3³Æ€€i¿ýÈÚÊ1ýš zÇw_?£BCAEÃcŠœ¤KD†ÎT´+hh6>ÜÏã²4v'¯'•óÅŒ(òg’(¿ò»»c pâÕø³3M~£AupcBZ:»KdÏ]…àÕý–÷饟ôY^E A6°•„é(,.¾ºŒŽô©7>N1™Üe¶°Í¤¦/•“¢˜qQœê†ù{›“gà6‘—W+‘-­LEŽý˜ll Õ]¯sy5¶{:ßš¬‰Y©¨ÀV‚Œª‰"4åÔÆÖ苪»»/ïMO¶¶ Ø‚/={Pï»*‘q&®yÝÏ|žòz{sú#$yªG†6xóó?Bž¢ƒ\ޤ8§ÀeåV»OsÀJTç;ÆôðшZ’ÙÍÞs¡–VØHÉÛ¦%œ®K ôÿàeµsFî—Yp’Õ±Ô\ñõuŽóùÎÄé:GD°çæf] —DnÞæÆÖãD¦ùBÅYvV–Yü~ d>PÑåÓ½i|ùÑv"!Æ…Z³ËdŽIøÃ‰î§ŒWuõH0Ïõ•c=¨dƒËÏþü1Ê&ù⤠¤ÎS±zàsÿmcßÊ€u€OSS×@Da;èî:®r•©»ÈLÕpZ&R|,(,äåxùׯÌ$ ¸kÈÉ5I˜Z[7&$¬/Ô±QcÇßB' ]]„ º±"ŠcêãdSó:åɬ¸s}A\07¯lök¹± ûõ¢ ×ðÏwwwL3ã¯ß9‹yíwø¿E‹DŸC’Œú–U\CB‡ƒ3«P„MFvA£äX GÈgÊHî®÷TD×í±ÅDÜûûâp|©ý1½OŸö–ÔDE'‹”‘2˜Ð5M:ü¶½ ôYT¥¤ê3º oáå’49÷÷Ö3̵{h*(¡»Kе¦×ñ¬®uk¥§ ~äá¿' Ô'4òuäî7Ím}píy:^˜™”zóŸ%Èn§ÙGí>~„Yñ.©¨¨xïÌÝš™'n{øq5/Ž:ÔñQA\‘Œ,ÎëŽ _6eÆfõÅ{—ãeFFJ¾Ðg22È·p… Ò<Ø„è8†Š±å…¦Ós‰4èS1„2òŠÔ홲;Ѫ ŠW w1c‹/FV#ð[ì‡Ê$0^:¤B‡ÿ{ÐÙà‡³s›«]åÕ (¨¦Ú)†(Ó&L@ð§!Ç6PQ¹ð+§ ÝÙ67%݃nM—û 6)0…ÑØHe¯ÓŸ‘D×®¯­½uF€úÜŠ)ÕòVDâ«ËÛ¢œmúv·I•ã£#Ù¼úÖ”ÓΟYQXDæ$†¿ÏCû¼€þ»0âCÂóÿüRÄ*|}”¾el­×½¢Ê+ìFÄïÿ¹ ‡¸"¶øk”À€qUÕWŠs³v¡éϽtu3šb$݃û°ÈÉù\Úõ ªÙÍl8èÝó¸(ÉÉ3©ÁUBxŸ(0‡“SRVÚ}žr–ýÄžDžCá*ƒ¢Kþÿ¬ ¦ò%KD¨6ØáÌB—‘÷itÚÿ´N¨ëãu ˜%þѼȷŠ÷O¶¶•UUv¶¶¶TÛ·z Ì¥mmÞ=¡/­­­<4ARÐÿ_XUA»ï7‚¢tIn‘.éîî–n’Rº$”.AZRbÓ Ò))][º¥;¥îl¿s¾ûsï9Ï=—gž‡¥ì½Ö¬™wÞ÷ÿ[óÎ,±â¿ ºóžäÿçJ6ƽkiIÉwééií<—&FF>ÀWPà`cÃFG¹(KJ"TV znÔèuÚ79©-.Þ68XVQQák'×°¿£¢ÖRƒ¹¹¸ßÄÅÎÞÛÓ=Û›©U•–¶ì|“üÜx¾Ú+¡w|xø»óŠÌoÙݹ=== ã,ÿ[[Jùßÿx|ýA9[íSjêʇ㬶»»ªÃ®òßìa–Ò¨ìì·¢ðÏÁ¯Ž]7äÊO3ÈÐ&¤ddŸ0…O³“”8x•m7 Ã>8Zëg&Œh3±±³Ëñ­W®ŽŠŠªªªº°«Îûþ>?ŸÙfò~·Pø.ÇB Žx€Å›CœÐÅþhåøÒz(óôà ¢ºš”ßÅÂšºÔFUuè_¹°nWÈõD/“Ñho¾)V *!€”›?Ûå9ü¬µï/W€2_:¾Tr{{KÊc¿qMO£óâb¡ªªjeœÛ&ïKÁ·2ÊŸ*ì€nÓ)²·±ÇQømSHÛg/sMÍD€¶?ªjj¢##ö-,Üíüª><<ìííµLç÷:)ܨ¦€„„tzz @assÓ!UøíÞ,¸þ¡r¥0âÀÏŸ°‚‚ûx—¹kæ @CÅ"S°Ó­©áß,&HƒZ÷þI‰¶¹wéuWä }ý¿d›jô áM7<¼„:U`ï+!õéÉÉ:**@Ðç¿(ò¥¡Y»Úoñ?Z}žCKK ðc¥;Æš#•‘‘‘ SVG§¶  @Ù®Ó®2Ĺcb| C‰¤ 7 }†(&#ê1`Âváã§3¶)eJt·ÿ3ãJKëc: 6â×T F/a¡Øß£$W|]ŠNêG¾ßƒ¨……_}z©šFIÉÉÉu`º•¯—ÚZ[Å| L,-óKKY>*(Ëɳ›¡P)Î~µ>šÈ Ñ|}¤èíí=b…ƒr¹š ŠØÏ9??ÄmXò“’•Ÿ_³‰áÅE‚ô¢-‚Û4 açáQQVÎ|ËÚœofeÚbU©[ë8çââòÊ_S§ù·¡!ÿdddB™ññ¸AКššŽ0¬§±O%=zô>0éìÀIñãôììloˆ©®­mQh¨Lš .(â…šÅv×ÛL²îñ]´ÔÔNh:â~TLчûô's>£ÙkF‘gw+l ï ›šÜótòù/ž¬­­],“ð ’ãó80ƒú›ÝÔ›Ýi|||\\ .}#£fÃeïó½¥&²Â@€PkeûÜÏ“¨g“=XHË•QQR‚•—«*(ŒNN6ûÝ43 ¼Ô×de-«¬dþ|¿a¿ùY*wMqq1°HàÚ.PÙøùuv‚C‹HÇrvq™®4—54œ«q˜'#ÚÚÜ”–’âââÚ™oJãq•AT´…‰ù?¼£ÿ{ø”¡¨Wü ¿  ÿe~ÿ7;¬dÁü¢:€Q€Y¡ë¨á·ïøƒtNdþÇ©Ê5¶ tMÕ×׃ ê¢ [Ü^_ÎÏÏWÝ)ß6‰†"Vñ¡+Ô•Q‡›Ž"å–Ȇ¢»ìÍò¶µµÉÈÈp‘<6®xg£½S7}…ƒŸ콬¬ÙzˆbDÒÞÞ~ýgФý2oDOÄ<³Ëîô7õ\&¦ý…–,¾7ç{s=9ð±÷µÿãV*#"ö•å ~‰6Ôx7UåE¶è˜ÍœÖƒ¦Ô_¾4ŠEEŸè˜·yõ*5=]ɾ /xUVãækx¥¹Çƒ8\´LwÐÚÚI?Ìpj‹ßólïïÇ =¯ Ãÿ÷]]|íχˆ ¸^«çUKlhð¶²²RRztË=IôÝ ,- ÑUÀ«^màß ‡{šÐФ—èTKHìjƒaxWÞt…i·eO‰æ§‚Œ$φ‚{KlúCí‚$TáGàKT‡¸ÚoÚ[úL’8hŸµ¤®.CÎUÃ1ÂùìP‹Ö¢S¹«m‹a£÷Ä$G.P~Pü%!­Õ)7êuÍt$ÐÛFÓÞð﹜uAP—ï¾WB¢w׿½(ŒVÄX¼÷ezƒØƒ€fyÇ´HiffÖéå‹/}èáco‹´¼™ÐºÙkøµ=9Ð7ô¼Éëté›]Kõ/rÖk­3¬e?^dDr(v$£M঴º  ¹ àÊ\C²•…P‹×·×í(Ayˆu(PIåÅŽV×ËÊA‰G¼Ü(À>5ÿ>uÐßé)އ¸âž š£ aç—±öÏÔ*ïÏÓÖânòž:ÚúÈ2J»ùýor¦ý‹«+ yû†­í¦×,NæYBïrª_ÿÚÃÔTý—õ©iüöß_è>»C•ñ1Sœ„Œï5”A~T=Ò‰òëi«ÇÉŒSKÛo¬ (ø»0ae˜”Z_ïb½oFÆlk®Q³”¦fÓÌâ!)©°ŽN}nnÊǘSœæ¤™éé:É%%i õ÷4’»ýÏ~¥ßCÁëUîæ†‹Þ{¯µ_ÎËæFϘŠÕU©z¿¯¡ã çmÄ6÷3”ˆèü[<.’xÅ}þÛŽ0Ë«ó;ÿ[q¼„ Ä‹o®V{å¼ã¬ÓÓð” QÐÑ…í—“Ät¿}ÍF¾Ô„èNö@BqhÈ£ÇÜíÉ÷ïÓšÔAƒ ¬”ⱃ* ‰÷ì“23oøNŠª­”Éç ±,øòzŸÙDø_«÷®œ†Ñf=‡×O¤Å?zF;©2E •@˜¹t¦BϳÎúÅb`3×Pªm­¿B@%zû)#Y‡£T9E¢Î×{KÔƒ‘±ï¼9£þÔóò˜´ÔégT~ή‚lÓçvS™7‡FÝ;¢w°åcËú0`¸­º– ±WäB—c_˜µñ’g¼‰)éÂÒ>’às9­ò¶/©99yËÊVG‘âí-<¿œ’:ðH¯>N\\ Az]wm=Äx|¬H)D®`koŸÆ(öe›¸+:ÚŠÓŠ˜±/Fñ:‘w@„ç%Åã.­öjaž›“„IÆPÜ$§§÷ü8=HˆŸœk¼´+è<ßç‡Sãz{ãí¦“ ö) õ)8 È¢ˆ÷õmUW¯ÿN6hÐö8Ù0äçO¯«Œ|"ó(4.7÷ɇ<êâB0ÈÀ@ÅŒ-,´ÓÀ›˜@|…öذC,UïåVhhýy&VXGvïs6î üKò¹9‡½9ŒT~WŽð!Ь6¶½êÔÀÀúÚZ_·“>4¬7«ë¡2Ò¾V–ùi7ÀGW»ýycýÛ7—n¾ñ²0I;ç¾XâòÊŠ-I Øç›ßƒÛ~Ë?"Ü AXçbeÅdú›X¢Äýw꺺ôÌøoÓ…ãââØA÷||€GËÇÇgPçbIoýa¸?y§þk÷ì¼Z I¾²¦Lňèþô˜s•Á’ÈÈßí˜fžžññ×ùŠçOIêë?‹[P—•=mù¦S†OÆï2Õi1úùôñ£qP„…­¡è/4:‡ž·yÅ>7øþýÑ£ñ¥ê'œ‘;»ÊîîZÒ,ªgÜÜÜ ¬¬Ñm&B‹ýÏ[ÆÇÇÝ\];0æê¹yx&ÛÚ²ëë„„|&еàzÈŸ««W{ªÛo ¦È…Rpw·7€¨ãäBBB®Î÷kìõöS©ŒIó«ªÿœ.<7db-û±â,Da¬A?­ɽr¢ÌA… É›kxËÚ×p. _ò±¾­Óâ¸Úú£¸øÍ­ÐÏŸƒ“’ÎÍꟇu÷nº»³I/-ñ±ÀÊ)å²Qàð‹õ´ïˆÝB˜Š¡H@Èþýy§íêæè¥øÀÖÅ…#¡Ÿ¢ÞïÆk_#x!¾´´ViCžKž6PÈ\$QÝ+¦aó-þå%%W[%¼Nó|üüÊé|#¿~ÕÁ`°ó‰X£Þt1è'~×õµþä+iô àÎÄ@X…³¼ÿ˜œ˜øó»¤žž' 9ÉËYlê§OÅ/¾ÂvænoZ~¦×%K<žÂÊ{Á«F÷ßÛ »ß4 OŒeKôxØ$ÿÊÎÈr-MMf ¿+Ú——Í€ð¦-±£BÇ%$”¡Šssw÷¿½´†HúûÞˆM±Åúmmáåæ6UèÕExw³\¤Q„ƒÓ¿²Ü¬¢xe> óýõëùgcÏK¿)"²‡£>€8õô)F¹ñ90GBU‰öÚùù3eåÝìì^VÖ+{û70CﳓM*#JU“#DRSSsuu•ÚgkgÇ@S“Z¨Ó‚ãJ0®c (9•Ë€ dÖdïõŸOüýý­­­˜Å°W¯/£££ôinnÆÄÄz P`ž{/¯ÉÅcð(S8¿´ô e 313¯ßUúƵ´ÜÇ„ØëïXIþçe§ 2!X¿föùÝè¿ååaŠÇ–±f*ù¶¿ßW^Þßo±ÿUÔšïÕÙåÅ:ÆÜì¬×uÞØ¨œŽQÄ׋bbbël~ÃÂï]1@Ìõtá§xté_ ¾D½>‘ñõµ{}ðQ¿–¢Üàòðl7BSŸ†tUÍÍíu¦ˆ¥°‡Zj–qjòyê€_yNŽynÌ€H&Ï€IðzÈ fqûgÁˆÂ’""¢’â[îΜÊÊ€ŽuuuçOŸîT‰Au_¾ÌäsnŸœ$Ü´Óô{ùò¥‰É"б|d˜1¿]êRRR¶'K½ÿœ0„ç$%% ___Â9??ß‚£œ­³3n÷DpL#C¥.3¯y3=œ¦ß„r¤Ì®¸q¤\¯‚Ãññ¼âb"á°š¸~ßÃßYðø’{ãYBzýÝÝE-¹æzÀ=-uø½[ZöN°±±Ÿš2qæ#‹é–ÄV¢Mþø1N.oat9ôÓ##Ù……=+‡è(A'ÙwŸãüü4L"¡±mm{––§ÀÐb–´t²<ŽV“yDb6Ç'1SµMLH‰cþ~€r¿ãSÛí^ƒ?LÁõd£© à¥eHŒ‡ [$ñ# «Ì‘‘üº‘.02T†úú^6z°ŸqqrŽMO“xÛ›šÆ%$¬ìíÍ_Á²¹’aFM€œ-++344”¢ÂǦ££SVÈË£¦¡¡!‰²rtœ_¨ƒó SÄìollT·µÛ›ksPdùy,¢·xðšo¶#lL.OO5“ë3=dž]i©¥Ó|:_¼ Âø"_ç9-: °TMFw87JÛÊ¡0I€ì«a KHÞý˜îýýa ÛæçéÜÝx‚ƒ lí¶É ¥BºWDýoyDnyŽÇ¾ìç©!GFñ>éÆ'tmõêNÚÜÓMvòÓhœëµdã“ÓÓý¹†©ÑÑøÌLDRâö$ËÎ0 H€ƒ£££ÓÓÓá-¶˜`CN½ó![[[Ož<±ç!Ý>øñ“ƒø¶•¸oßž«ñ¤59ÌÔÐ(&™„€ñL88Á·{ø™ŠÔ¸Š Á¦ô‰ÁÁÁ`œ1&êy„²9éJáHñð>æÃìñü…4‹µ¾L:e0ÀÌÏŸß]U¶_ÿÞ‡W¾° FWݬ¶:ÇÀ¼B›ûíôÈÝ롵~O®iÁ†¹””!ò~¹&ÏcVvvQzú¶ÞMQ|…€Ìù. ì$$œf/š*+•GG  ’J(¨Èâ³ ¬T"iYeîúÑ‹ˆømÁû º¦þ ‡ÂÓËËËéñûœ×g-olðùßú,iØW½¯ªr9ï¥âuœy'·´´ÔîúvoöÃ7f3U§…æÝÅE6Óv`)tt_ÞîŸ=É<ج ‹x]׃mOu“>AU/B,}éyIE=“–×Ü<ß߯¨¥5ÑÓCÏÎŽSrv´Ö¿9ö…‰‰éêòD¦j«¬Ÿåh#Z‰Å!·Ks “Ûòò¨{{<Þç¬:Yô›ï¥>_s©fU½æï”›¹…·µi =‹µ”${Ï(/wWPx˜äôá^XÇááჇsÆ6ÍêC ?Ó§þ}+—‹iïÕ¹¡­­?5­HOGôÚ¸ ¾~)uŽ$ZÚ2ÝÊåw.™ê &|d€Ïª¯ª®þáõŒøzë"­Œl¹A£Çt‹è@ú¥¤\wòhÜ/^¾”zû–ñù&»››óªëëÑëëøààkàeÿ•·zûçÏV<&aÀ6Þ³Éí\úðîssón?B8´´çŽdnqñæô·ö,?¯ƒeéSµ.¸<žs‹<\ÿG{»Äw‰SúwRØ"?3üöç“zzŒkohÖ6›}û‹Æq¢z(+´l+øÙ2BB,uÍMml8Â:&F©8ˆ»à¸“VV/Wlœ} Õ‚u††ž—óúáŠñã'5êE«îÛV¥ú¼Û?"¶Jt(µux¨lŸÖ"Lñ$JNs¶éj,£”×Aáµó/" lO_ÑbÒi}ˆ«ªBN°í²H}zgð‘Vèú~Úß(5)©/ -EeêcÕfWòää`|üt*ÉåÇ 0XsAA]A¨¡‘‘±áÜì¯^š8ÍÍ“·ñÑê}#6Óúµ¬±nøb'M oÞtÙÚ¦åä¼x³[ï·=¹RXH@K›³íÁLl¢•*ìí¨œ^ÈæŠÄ¬…Þ¹ l¦Ö)­¸8U ˜˜HKÇ]õ<5ä1i\òÒ::Q 4zºjînš äæúǺ-B"ubÑ‘ÙÐ¥¥/ccC\×?¡Ý7ÊäÝo,ÅÐ.Me˜0wqácbfbjâ¶#»ôi+ÑáÆ¢H":?¡Úzˆ…†¦ýd3þ"äQhe²OdVëo FF’zîÍJ;»_À¹ƒ20°I«Kävttqs³vÛ˜Æ\«˜¡FBa©2u\¢—1'O›1 dôžH1. ä†·¼²Òs¿¾m{¹u¼¿¶¾þ®ƒõ5_¢ÌXÁÈ×JyNpÞËKPZ)éüžÞ¥Ÿ8ïwô Ë‘¡éWŒ´Y½ÔUƒQlý¨w5rZàqå3@WߘÒ§~e—¾„…•“D8Ò*ªÕ4db"šEóáC—¶6Œ¦F‘ùªµ/ª"¿ö׸ßäã=Ýñžs½å渼̨£ò„„€[؉e8­U´µ´’Ü*Äv¦gø ·Ó6QHžWHåäd/Q³°PEÜôÒê f%~xÚ6È ‘#»ÆE>0$Èj|ûöÅ‹¶2é±Ñ[x“÷f{Èd<¦Çׯr¾e ®{³þ•ÀÔußû'xÕ©(‘µ4hFižOLw¡RÄ ™q?L; Žò™t¥S‚nl™*{ÊI"ìm#ï¿Ä'X“}*GAÓïÄÈ&ÅqKkZ© ¼ºðCSq[HhQQ‘ïþúS43>~»¡^¨näÚ3lôWvw ûõXs%E¶Ž66Û[ËOуºWÜܵ* |}Ýï݃9ÄÐ"Þ‚îƒûPT/fzß Ô|òUO]5\qˆ 5ïùéúÀÐeðƒÞ–»]pjòx»UËÐÐóÞ~&P<¯¿7–DX¿*¶µ¶ÆÅ«^›­ó½ù16óÙ›´Ñ{ÊëÈ¢+FÔ  ›QÃ:]4ñË—óÉI“§µ˜ÚhÛõƒCØë>¯^á™¶óA^ܯE"ÆñöNøúUY6f>êýÅZW”l\\)섚|œX‚šq0Å\Ä:š?JNž†Õt¤ptd„‡Ž/ÆS£©ÃKÉïÂ+"¢]t­»3ˆê_ÓÑæIJ¾sšÍ¬Õ§:çUVÒNfþÞ°¡µÿ=6IÛ¦ôbv]síExøQ` £ëº. * óKü&¿›Ómë˜Áï…‡–í(í?S¬Ó#¡èá~aP¤øh%ÓbZªåä™Ú¬ÅCúMŠ (Ÿf“E­p/XÇèïᦽí ]½MSWßûºa¨¨âA¬ôÔqaž˜4€ÀýwßÇ Š ÕJ‡YÈÆÐJ7A\\KÞ—»Ý+¨ÈHÉW-¬æ¬ÉÆ:S9ùÒR¡˜˜a[›mÌ€%Ä#¾¸¸„ŽRÃíF3ÔgŒŒk%åf»»Êg;zVV,›ß[?ièêÖX•ÎΚñó7м®óÝIhð»¹<;,..J˜ž&´×Ín2ÒO“Ê¿»Y¤©EN^UVÆ"A›ðtéäpÀï‰S`_½Ï¿PPÔ´µÉ—•]µ\,ßÕ8f”Ã`PÄu ÏË×v}…oø1àr Ð (}8ݪ¼ºQOÕ‹ŠëëWåÞ6å?†˜œ´=’…t¶O¿Ü_¸¹Ò¡¦µàð¿Øü‚ÚÔ <&æËˆ r L.ReWÙ@dnºúÖÐûþöwšŸø‘Œ©iv…Ú¬3æ! ;ÊuQöáe“·?Õû€nR›÷==¯—Œµ·‹Ü¬“Ò½}›¶9öŒßXTdˆbÞ²5LÀõõyK¡®üµíå‘y¹Ñ„œ@á!õ_˜¾:õôô´;†ëÁƒ:×ßÑÓ¥úXBðááØøøø”!E(vÅ/{'§}n»I9úƒæ'¤ªGGö—»µ¬”¾ïK;$ =§µP AÆ6î£Cb¥+¢¡Ü¥‘Ü£ÅE&ÿkõÂ?ˆñ¥Ñ ['{{m;B+&1·e5y.¶½ÓÓÓƒg·¶¶JGž63Ÿ¥LNNòØŽæí…¿Ê¡ecã±Üù9ð`ßÿîêWµ5àñØÁAÐX''nžž—Ï[®–:Âjj€-dNLMí;sï8Ÿ¯·Šª7”?ƒOüð> >=XJ ½:Wê¡mI Y¼¹:á6èFV]÷­ñâ¶Û§H©ÏÒØ#&æ¹þ7õÆjÊÉ{ uäß½ÏSòž‘ …‡‡§§§«fddD„‡‡}R²ò§sáK‡Ãá ÷§S$¡Ø¯ëf9­/®®íìì訩M³DÌ·yõjk{{{qQMO8’ßûû¢­ùwþà GG ãš/»6Ç‹´T3ƒ×~ïó¹tÎô÷;öá3RÄÁ»î¡} Cȼw$¹n“8‘½?~­©é¢Ð×Õl~â™$ÝØÙa¦§¯øömw¿¯D§|¾ÚZÕÕ•3m +^ñß1)/Ëÿ6E&7%-íü-+fX‡ÊæÆñü6Ibçe€ŽñŸ>}ÚÙ±Ÿ–æ}q` ;h ¼GÊcø".ája85Š”w䔑:¨²÷-¿;æKùK÷éY!ø¼ÈìÔùu çïy´pd ¤-P¯"gäî~<ßT[fàÉ纾jؤ”"ç&eÆ›¨×1wùç!>>bØ)öÎ¥×>>>AAAnõŸHÖ/ŸO ý}qt`ª§÷KPÄX Úã\'$rWŽe!DQkÿëD2¬±ÿbbR…‰ÿRªmTçÅíÚm—åSuW=´Sãhø¹ €yó{Wì§OÄ•F”ÒêB”¤¤LÍÌ"‚ ©J™ÖæÇ¾††á9B*ß«åb*‘€šdÔÒRŠƒ@°k$àáù£S^ÖòzÉOªsw|<'Št|;)áÝ!i®)þzüªF!¨Z³û¤¶… ‘ឥ@!H ÎQf é"ãix&ðg gþ¶¸âè˜-w"òÕNWÀİ£¨HúêlÎïl‡…"æÈãi+ANáþý-PRS¥rš›ë“Õ#ò¾|¹?3€‘B~‰‚Dìú¾óAvöžˆH´º:žµi6뺅|7ªTÇÄDûÄ•àÕè ѲÖgß‚wââŽ>Í?^ÁŠ_ý9b$,9¼¹bÝÁNIeǺ»k¹»õà?LQ ÙÞ*V§§~2»ê ÓÙ±¯ÄÄZy½¶> «Tðë|á9晴Ø5¶½¬z sÃ0ó--„î¬èŰOÖúï”Ò/bJÑùÉöfj€ åæÞ9:úSUõç/f\ ¤ ð\ kËŠ‹«è§å•—;šè?ü\øåKAžqþÔ±(‚2Èzz=¿yŸG‰ÞT´ pªª:¸vñÈ¡40ÑÓ »Ñ³€¸JãRçƒx5úW¡~kçû õ–aà¢öÌʰB›E÷Šh+ ¢÷÷¬âA£‚(N%©Ž«ŽPÒ"è(AúµûsÞ%55–§¯ Ê÷ɨÔÕGÅSR5 {¨‘¸Ó1mÓ`†‘¼Z]E‰X-ÐÐ^#išªkdô¬L™CìÑ‘7·¥éÌSbÅ'ÜÜ:ôÉp lFbTè­£óƒüÎT7‡'ðxR|øÍÓ£HªsA¡­óF5oÔû„Ý6†[³ê£$ã‹m_9Ì2fš4©¯÷xü¸T÷.‚ÉÊJo˜4`¥mAÔØ«ôøñ»jðÏ66|¶‘×ä`ë««?Ý¤Ï {÷î]YYY^.$1)ו5=TX(˜Ì:75¡5S±”¯ø%¦¡LXÏÑš¤ï kÚQPж5]m}}]ccs}ýåþN¬¡F+K©í 6`…ÓÁry‰GÆÆ8lÇéN-*2(þÞš–Ö„Ûµ‡—ϵSmÑÅUƒßY 9³zgi]]“÷Lv…xeqqQÉv¹%Ž÷#ü2¯gÑmï333у®OÆTsš`öñH¤D-y KØvÖ„†ìl ¢ŠC„ï?{HŠÏÄHRQz\%s-(HýšŠ:ˆ åÃg{Äúh[5u@ìÇÛkýžšÅ[N«EïfgÝ ïÙr·št¦’ðhËÂG˜w,»F¥žåÊ32Þs“¤¢—ˆEï£E„еµSÙèÙ&7†!¸Ç(øz÷ \ªá…%Ó9_RL¢¯/X)@ÿâtö;ª IÉÝÿúuiéWç òŠW]2Ncž¬¬Ôä8ÊÐþµ©q. ¯µµyš|g4õ~¢«5Êøðp脺Zlî ­™™~%eR(þ9K<{v´€¯ÙcîËËÍ~—UzâîþL1prî:µ¸ëU­æ:×?ŠNŠœ(щù°ù–ýb˜=ÑÅůÌ*I"dE… yÜH‘  zææêÌ7>1±È«4í !Jö%z>ÿûõ÷øhŒuÍD^ö Žm˜ ÊýÁüú¡f>>BQ2‘¸Hvgë\ç°K©U¾€‘ö)5µëÇÓ¿«ÐŠ?n5a{ˆ’ãÍà»í‡¡>§’¤c‡üîowð8¤úÙïlÍΪ%eg÷Rú~ådÜR17OË[A6ÑÌ/(¸†F)øÖÜ|{q¸òôéÓ·{³8ÓõîÛmïÐHIH^¼xÁÁÉbý™'mww·Éj€ä*f\œ =àdlLc¦éjìúšÜØ—ûødsç g{SËK½_ô›ß!Ä4Þg;>|Hö® ïƒéUçäæžïÍ1 ¹­öàèèèXZZâá%™å&ª..¾"¹ßíõ%„HV?¬ãÉß-÷@¼WJáúm& (xzrÑß×—ž‘¡¥©i``Ð×ßB÷¦EîüîܦCRÝ œÞ‚COUuÿlwF×ÔÅ…#CEGS“‹‹KÈ÷—¶®ŽN­ÍMUœ¥åǬ,ÑVn¤V0n`Ã߈‰7ÎÛ¢Kõ‰fëOám¦1Y !DÏ‹iȉ f:ÿœHlÒéƒ@"rþo“ÑLb­k.Céü+ûûû;;°ÒÒŒØØrÿÛÆÜÜ\ íÊËËß½“´´Ìê³¥å’Ü~»àMaý/“íå•×xeRR »:ß7¹½½íOb)))™©uÊŠ‰jB |OAMÍàñoWÕÌŸ…%vz­fœ µQ“ãC(íß÷wÿ«¼)€ÝDþëLÓÎa~JR!1ñÅòoïºWê ­¬Ö)dŠø†çæç[š™å€/û¶µeHQr´·çbg·µ±Ùpæ^Z¹}(( €O@à)D(¶xèd?ý•AXxnpÐqs4ßuýg› ¸zayy7ÅÊk>˜Õ~ÅJu¨%ÞWtdhDâG‚É2÷Áþ œ%=ÍÎTÞý€†«¥Œ†`$¨ò†›—¶vÒ-àÅo߸ÏàííTtt_†ªQÅ­­­ÅÅ‘’PÏlþgëèhUýKwrmu5¯¨(%1ñäxHt̆ËÕõøv€ö99ù»fiiiñÆŠÏ»Ûyyy0Ê®ö[ÎÏλ ôô>|»3%B31AlÛ°ºvd¬³ŠÊA† iT$22ëË—¡Ž ~ßF³‘  35ÇÇÇŠªªN==èèèð*KŒ7ôÔÔSSçSÆþNNþ7@KD7ú@ ¤¨*KJì®ÎvÛÛ9™(+#jF£DËÉÈXœŸOÃÁñ.ï`o8etÎS¡d9j`˜k“vSek.uÛ“¥‘‘øƒ¾)¼NóëiÛ[[ŒŒŒ@¤ŠA&ÅFGÑþ™¬_»yrô`èZL~áá¥<j«˜ÐߟМ¬¬ŽG«½q¬Úzè(>%¥(€ OOOûKbXÅÐ~÷¼ñggggü‡–Se†sªÎnné¢þÍ›i¼N Š‰?k³¢”×qcc#V.ïààõRàÛ=jÜr啾sæ­éî}Rêê#ííË 1tM}}›’““‹‹‹ãâÔÍÌÌöí0!â±ÁÁÁÛÍ{æ(H»Ö¥×Ns^dDç AA/ ­<ìú’¥¢£¡‘äf91%ÖÿùOkRÇ÷šŒ’2ëóg¨@kþû{‘8‰ÊÕèEJt”:iŸ Üüª.>þí?Ó"JüÓÓÓЙüÌtÀœI8d¥¥•MÓÝÝÕ]ÎŒÝÃüw³NÞ/{sÛ•Þç£ ~L"þ"ow§«ÃÃ\.ÿ™Îÿd’úÞgÕá¡û]DˆÏßk[qV*x’`«m8—ž¨›•¨)–kû\ߪÁãKX˜[±ÄäÂd’ b"÷õ›üöÔÐààü›•Ð…È'2ÝÑsW+¯ßžK~QµžçR€@ HÕ°Ìíì,ììN²î<ñç/ùº£K¬¬¦÷ö&339ON'hÈ¡@òf#bYŸ 1'q©o÷EœWÎÍ»G±(UÌ9Y¿f NáҒ܃´ÂÑ>@8ã㯮Õ¦Š.7e$¤¾t[éÊ]Hó¯ªåMázuë£ÈŸ‡X*0Ì‹¸Õœì<)]iE–_÷ô¤)*ò'H$ÁuAÝæ~ó¶Öó„Þî ¤‡X·ÚaU—Yø …Lƒ)KË£¿zú¼œ¯ÎÆÇEIHgà;°š y4îšVºtO//Zy‡›H ýPÄÕ̺׎\]#¬ª^/Qû ˜àâáéÀt‘²Z!Þ 5sÄŒŽ. ÜÚ÷YZyDöö"%bÄ^êÿ–¼ÝC8Ñ?³¥ôs6¾§…@"Iÿo®ø? ¼hôdŸØò%¯Fsƒèè!¹¿{±ÿÿ=•ydÀ‡ÔrêǤ¬ÃüÁßSY e ³³³ƒ¡©­®žÂm§íæv2ßäMÆ¿¼µU ƒÙ›™¹¬ÿLÙ£c¤§÷¹9Ê¥üŠ-[UÅÜ#QòÑ‘Ë꾌ˆéŠqV}-ÆY™ÞŠ…;þ Mˆ•mÔ›“ü+Ý’†µõop¸ô”6á×Â2L:ž7}‰ ï©Ð—ÿã#˜ë¹i:ûkR1î›››d}Äv#N "`,Š3€¶E­˜†®´rèñnR\=ñ¡GÀýÕ¢„Ò~\kýêÕV¾b²véË(:&š¿ù=HÚß¾Aÿï§lEÒe<å²Ä …0XÞ‹¢\O pKO/ª l¡ö35CCÏ……›@yöìj*<;6ÛØxÁØÿæ[SÓÍéöT‰N9Å™á'%+MMMEEE ‹¼ ºÔó¼'"vƒÀ᯸»»ƒf522êˆ~ ÈüÝ爽óÿùI€¨&¸Ñ7oxB$zjø\°i#rÖIIÓ²™YllØЉåŽÏ*rs2fÚ}É}‚Š~Ý“þq­?«²ùŸsyqrøv&¸qŸ>}7ûñðå>DŽ0X}¤:°›xÄ&óydnÿXÂðŸŒÿ?¦ €ÈŒDø ÄF2mG쀑„´4¦M쮇_þväg.ˆIâ#Ë1L½{ÿuÿü4ñy"Ä[€‹soEQœ ‰T>d þ-/­"U&aô¿’³ä@ '–'ˆFóxœó ü‰PNG  IHDRu#%±ÒbKGDÿÿÿ ½§“¨IDAThí˜M,3AÇg[ZR4¸nRÒŠHK-7œOƒôiE‡éT æxœ¬¼XTQØï»Q ¥”VDîF)É¥»» IiÉAº‘nîîéî®»Æï;çžóÝ:÷>w|tæ={¯õæï¿×Ú~û +I‚ A¶”¤˜ÝWŸ£ß?ázLsÞPu¤%Ä ;ÄŸ”ú¬H¢‚¤ÄD”œ·ç\5ß_Ü¡í³±E±Ï½Œed|øª¸S'Òµº5Uÿã³ :}£<‡bL©Bº¹õÔY:µg¤RDÕŒ©™vC0ÃÕë[=·H»8c“Õ“k]JCÁµÄ5˜©¡6âÃÏpj)0Èkû§t âôý²âý‰/:x£J[¦†A¤Og§¤T,Uùj_íÆ#HØdhÿ:TF"i‡¡€µ0 Q V±?€R>|(â-ùVLLòrá$Éó_Ά‡ŒÞõ¼©W ~ƒ‡ áaóóbCä8àGeIß¿ã‰ŠŠ¢  ˆŠ¶üùói¶¸¸ØÞÞþžfä÷oª—/LÒ‡ŒØIBºôâãâ2220H¶ÌËïEEGûãRzìL—t˜l™ùDye ã!{q>¢¤l´^÷ô¼knnõÇqvqѪwQþezsyâz¶ûúÕ«À  é÷ï ßFè©©ÅùøøDFFr禙\œ,ÕØo‘‘‘µ² Cµˆ9˜ëu„’£áýà¶N ìþŠïæîîyµÃÕÄ($ÔØIKOO¶3ÃÅÌüá\Œ&²Únc˜˜I KáÈdÔB̌Ͱ_¯XÕ WVJê!Y©û•ƒ½ý‰Å\M[k«“³³±‘ÑñöÔQw4=öÇìÌLnë½ùúšš;^Øà›¬‘«ã |JJ¹r+îDÄÅ^½OX¤ùò1ž“““ò=)$\¬œ’ž•¥¡ªŠ.JÊÅ( ûÕ3;{-M;>>ŽŠŒüà1³pðý_¡#gd‘ªššþ$¾Ê””O…°ž˜×ø‚±-‹çS33¶Õ³½½½7WgµÕÕ8)¬jY²Idää¾÷×K †‡‡ÏÝ>q3Æ’>~¼¾¹ù®ü×”™¢âHjê3…õ>J55µ˜˜ ³âÊJË_¹.ú÷!IÕ¦h\H!À¨9á-;;{ö¤Ý«W:Ūػvc¨ÐQP|?¬Hz‰Õ77RMÄYRšHô@DHÅGD"Ä©')ËA£E7¨¯}ûfÞyw·»íÖûÖüN;ÏÌÿ™gÿ.Á²,À(†ê» Ès°¿Ê‚ýU–´AÓôñññw•’ †ÖÖÖ?mauuõû Ë(ŠB--ŽÀ' Ùô÷÷ó"xÿU쯲`•û«,?Ô_‚ r3‘L}>ŸÑhÔh4F£qyyíZYY1›ÍZ­¶ººÚëõrA‚ ‚ÐjµÍÍÍççç0ÈK+㶉¿‘!—*‘†ðü˦b{{›$É@ ðôô´»»K’äÖÖì2 ;;; ÄB¡ÁÁA.Î¥}}}ŸŸollDƒ"/IV¦BQïü+Ç_»Ý¾¾¾›kkk6› vmll%0-Ã0ÅÅż p`zzZ¯×“$¹¹¹Éïîîz{{KKKëëëONN%I$¿ººjjjÒétèDI$¡PÈjµò$Iú+gƒ°ÙÙÙ a—ÍfK$|{{[\\¬­­Mg–÷÷wš¦=Ëåâ"ccc}}}ápxfffxxŽÝDå]]]···*•ø]‹Jº»»“HRƒšæú­¨¨ˆD"°‰DÊÊÊD»ÐÐh4‹åôô”·vÐaðâåå…eÙ•JÅ+++aÙ0(Z°¨\¯×G£Q–e£Ñ([¿¢’‡‡ž$ ÙY¿f³ùðð6¸k“Éttt”臌ÇãgggV«5YŠŠŠjµúëë f¸¹¹áêþüü”*—1cæÈñwrrÒétîíí1 ³¿¿ïr¹¸í 0555::žŸŸ///‡††²U( §§g||<___;©r»Ý>77‹ÅfggÓ”´µµy<žX,æv»¥N÷t1§¹?°,ëõzkjj¸]iii íòù|uuu………ÜùŒ÷¢+‚ǽ¾¿¿w8åååUUU~¿?Q’Dò”ï7¡äââÂb±èt:§ÓYRR’Ò–ìœPFFFZZZ%©þ/âñ¸ÛínooO9Rè¯È÷II,,,d˜á‡ µZm2™à%IdêoÞÃfö5ü‡~ÈØ_eÁþ* öWY°¿Ê"r~ðûý¹¯#? iš$I4"âïÀÀ@®êÉC(ŠB›D†ç;Lrðþ«,Ø_eÁþ* öWY~¢˜L_è¸D©IEND®B`‚ù æV~O( øóóó(Š...b¦×ëQÕjµDUHHˆN§³X,ƒ¡¤¤×ñ±º»»% !ŠÅb‡Ã!t8b±Ø5%÷¢×냂‚///­VëÆÆFQQÑ:¢+€ê{â“NdddLLLÅñññôôt¢jrr’rxüÂb±p¹\B”H$jµB¨V«ÈN ›ŸŸ'”®®.E †ÄÄDWSSCt$_477óù|Egffp1--M£ÑPÞ”Sð““¹\îãã“™™yzzêÜi šš—””t||üæìQ:ñɧÓÁÁ\.'Š™™™DUzzúk{{{£¢¢¥£££¥¥Ån··´´ttt8íW»ÝÞ××WUUEˆ‡‡‡{{{ÏÏÏ€ªªªœœœ‹‹ ‹úFžžžŒFcWWWuu5®ìîîfgg¿–9xEE…L&;??OII!'@‰‡‡ÇÅÅEvv61Їqræ{Âßßßd2E“ÉôçÏÊ*òBp8©Tº½½M^V999 …"77—¼Ðt:]\\‡Ã°Ùl¢½Ùl&bòùü››¡ÙlT{Âjµâv²X,\är¹×××ä”ÈíÉÁ^4™L~~~NÁÂ[šÍf@ðæì7î‰ØØØµµ5¢¸ºº_ÇÄĬ¯¯¿æºÍfÛÙÙILL$ëííí“““íííd±¬¬¬­­íööÃ0‡ÃAèàýyzyyØl6¾Ì‰dii‰È¾üCÙ›ÁY,žŒÕj}ïÂÉ™wî ­Vº´´tww·¼¼,‰¦§§ñª¹¹9‘H´°°po0JKK]W“ë²rUVVV0 ß ”íóòò0 «««sm¨Ö¯V« …ÃÃÃWWWûûû¯ÏÏϯ¯¯Ç0¬¶¶¶°°ÃÃÃGFF,Kcc#¹#Ѳ  àÍÙn<±!„J¥2""@÷÷÷“«T*Utt´‡‡þKyŸ¯‰„¢T*…BaSSÓk“utt$•Jy<^ee¥SJ' „³³³2™ŒËåz{{Ëår½^O?±y<ùÄžšš æóù­­­ä¾~bÞ ‚òòòÔÔÔÛÛÛõr#6›­³³3--í§ \dÿÞþ]¿Š”žžž¯ù4‚°Ù옘âòŠœøY þ7Å-90¿;ÑÆ ºÀ8A'èã] xw2###ߟÊ/‡Â‰­­­âââïOå—ƒÐá}œ0ç}`œ  Œtq‚.ü «ÃPÛMœlIEND®B`‚s€s” žžŠVG•0CxœC¼ú‰PNG  IHDRƒ#8ã.ßbKGDÿÿÿ ½§“øIDAThíšK,;[ÇÏ´W©òo=C#!("U¯4¨„BÒÄk¯Ï "kQ*Z!(¥^!$  i„(‘ˆ–Q©Ò:w17“ÑŽëÕËܘÏjÎ÷œó;¿9ßsæÌBhë§`øÆ ºÀ8Aþr*onnžýH*¿ ™L†¢è ¾D¡PüPn¿‹ááa§™wÞ…B1::úýÉýq™s‚.0NÐÆ ºÀ8A'èÂçP©T‘‘‘'22r``€\544ëéé®T*qAA<==“““÷ööQ£Ñ5 å{Ňx3ÂÊÊJVV–¯¯/—Ë•Édccc_Ñ=¸P @@‡@Q”@ PYYé÷ûÏÎδV³³³„ŒqÞÙÓTMMM2™Ô.“ɤÃá0M黀çççÜ5eª¼½½Åãñææf}Mµ099™N§eYöx<†,ƒAI’²ÙìÖÖV[[›VallLQ”¼Sƒ¿mJÓ”¾{„ÏóçççÁX,æ÷ûyžGÙl6­¦Vxzz€××WŽã Yp:ÚÓW¸¿¿Ï;/­r®)ã2%>Ÿïèèh``@½<<>ÞÝÝýððð¥V¥Œ©©÷)=óóó~“Ò‡}ÍÐÂLÑÂLÑÂLÑÂLÑÂLÑbrJ¸¹¹‘eùû‡R☘:==üþ¡”8Ø]è`û-Ì-Ì-Ì-¿!—ã3(‰oIEND®B`‚D‘ÂèЪ!(7´‹¦]‹ (hD A»hLrQ…ißH­\ŬÌ&²œ”²¯¹‹çÎÏ­Û¼Þ×{yç·šóÎ×óŸsæŒÎq&‘†,ÛøC‘|A#ù‚æA9\^^fe*Ù¥»»û‡2÷#AdibYFàbÁýŸXYYI7Az¾ ‘|A#ù‚Fòä ñ¾¸ÝnƒÁ P( ÃÒÒ?´¼¼l2™”JeUUEQ@ÄqÇq¥RÙØØx~~.m6[0=™Ì#8´‚ø•sÚçóiµÚ–ewwwµZ­×ë…¡òòr¿ßŸH$hšîëë:ëééÉét644ðÅT*5??o±X2uô~ pN D‘¾´´´¬­­ÁâêêªÝn‡¡õõõô&pìD"‘››+“ɤJ¥âWÆq\¯×û|>¨LNNj4­V»¹¹ Dš¦m6›Z­…]1 ÓÙÙ™ŸŸo6›ONN>Íé‹È} …Z[[a±­­- ÁÝnÿYÃççç………ššèr¹êêêø«øõõuqq‘$I(¾¼¼D"‘ÙÙÙ‘‘ $ÙÞÞ~}}-“}O„$É®®®›››éééÁÁAq Š\/ÅÅűX c±XAA2Ä_†) «Õ ù"†aõõõápˆ~¿ßl6+ Ãär9¬ùøøü’Éd@Ôh4÷÷÷ÇÝÝÝÁ\JJJ`·°ædr½˜L¦££#X<<<´X,àÚh4ÿì¤R©³³3›ÍÆ£Ñhaaáéé)P¦¦¦âñ8˲ooo°¦J¥N½¿¿07Žã®®®@züæ_CàÓ/®¯×[QQ±··÷ðð°¿¿¯Óé666@hkkK§Ómoo'“Iš¦ûûûá OïŠÑh´²²’apÃX–›(½9¼îèègYvll ЇÃáp0 ‡{zz>Í%“Ï]Žã(Šª®®ÛårñCn·»¶¶6''œÓé‰}ž':N04EQ¥¥¥eeeûrqqaµZÕjõððp^^ooo{{{‹ŠŠôz½Çãù4‘ ûjjjŠÇã_j•AR©ÔÌÌLss³¸æH_„ÿK‰`nnîßw"Çår¹Ñh„/!¾dî÷|Ï~¡‘|A#ù‚Fòä Äy‰D<Ï?•lªà}Fú~ÀÓùÿ·#=_ÐH¾ ‘|A#ù‚憹óîæþÞ}IEND®B`‚ðàöG P‘¿PˆKóxœó ü‰PNG  IHDRk#ÖcZbKGDÿÿÿ ½§“¨IDAThí™ÏK2OÇwõÉ5ŠM딵‡Œ-Vˆ~P˜V‰FJ“³xœ³Lû‰PNG  IHDR}#6f’õbKGDÿÿÿ ½§“hIDAThí™OH*]ƽj-ÒÒ‚1 ³4 j¡´#è*DAË (ˆ– -ZѶÀ]¤™dšÕ¬‚ÜT«,"m3”’iêÂæ[ œï £]oÖ|_w~«sÞ÷œç}ÏÃ0G„ ־»¿Æwz`|§‡_ð$‰œÑÕÊUˆ#IJxœïû‰PNG  IHDR]#y;‘%bKGDÿÿÿ ½§“ÅIDAThí™MH*]ÇgôM +ûÚ–H…•Š…-²ZFSÏF"‘tuuý;' ìv;}ýpôz=lõ¯üÌ §ìŒåD˜÷;=0¾Óã;=0¾Óã{ R.©?ôÝjµÊår'—Ëwvvà”ÍfS*•|>¿±±Ñb±AAáóùÁ` ÞÞÞŽŽŽÖÕÕUTThµZÇSR° ¥:R¨tý€üû;ñ>ŸEÑ@ ÇQõz½ %‘Hü~"‘…B“““dœ”M§Óëëëjµš ªÕj³ÙŒãx:Æ0L§Ó}XnõwÚ†)Tº¸N©Uz½>çþþ'¾kµZ§Ó ¦»»»¤öööò·ÙD"QYYIŽ…Báýý}þâp8Ü××ÇçósœED&“ù|>¢ð/ ‚ p¬ªªR©Tççç`ûêê*Š¢‚* ëÈåòl6KÆÓé4Š¢777 ÊE(ï"‘(‚i4­©©¡LÁG""“ÉÀÏûÚÚšH$Òétsss@,šŸŸO&“9"ÙlðææfX3l0,K:>88hkk ¦§§q/^ètwwÛl6r¼¹¹i4á,e‰"|•ï€2Ÿ‡Åbñx¼ööö‹‹ zzr¹\ËËË …bqq‘ VWWçˆøý~•JÅãñX,‡Ãš°>‹ÅbðزÙl° ‹Á𔥆a---Ùlöýý½µµõúúÎR–(BÙÞ3.— LN'xÏh4·Û¿åCYÇ…B!9Î÷EQ·ÛJ¥âñ8*ä»H$z||üýàÒ𲞞»Ý¾¿¿?22’“¥,Q„òøîõzNNN^__OOO¥R©Çã!S‡‡‡R©ôèè(™L†B¡©©©üó0 K¥R±XleeE©T’ñááá………··7°R,cÇggg”@ ¸»»Ë›L&“É„ãøÃÃÁ` l PiXÃ0•J¥ÕjƒÁ`Že‰"”Çw‚ ,KSS›Íf±XÛÛÛpÊjµ* .—KÞ#)Mâñx4 ŸÏ‰DýýýWWWd<÷öör¹\°Ëb±ÔÖÖÖ××›Íf\ZZä???Æšš™Læp8((TÖ!B«Õ·,§,Q„²ù˜™™éìì|yy)i×ÿ‚L&311qyyùy©|ß)¾—ÄÆÆÆ'þ› Âáp¶¶¶”JåWèÖ÷Ÿ ñÅB0ßgèñßéñßéâ>ãp8¾¿ŸM$AQŽPø>>>þ]ýüEèõzxŠ|õE•æýNŒïôÀøNŒïôðø&oäNsäIEND®B`‚^˜FýþA§‚èP‡‚ ˆèuì"E‡"°„ %‹"²²$ý‚¢“§¨°«‘nT‹1ÏaùÎws÷Imê yæušùÌÎûó™7£3º$€À  ùéÒì *ØAT~É;¡Pèäää§JIZZZÞõŒ¥¥¥ª*ïù¥úÄß/+-ày¾µµ5.ˆ¿QÁ¢‚D;ˆÊ¿â I’ߤüIÝn7˲:ŽeÙ……ùÐââ¢Åb¡(Êl6»\®T•Ñ—J’$I’EÕÖÖ^^^~{Rå}$b{{Ûd2íîîF"‘½½=“ÉäõzáPQQÑÎÎŽ Á`°££#¡ZÉŒÂËË‹Ó鬬¬LF6ɤªþ|ÆÁÆÆÆÕÕUØ]YY±Z­phmmíãaÛãñpGQÃ0³³³àý=pssc³Ù²³³ívûíí-œ>66f0òóó=Ïèè¨Ñh,((ØÜÜŒÓ!333.¨ÔüÓ~R¢êÏg>Å@Àf³Á®ÝnpÈjµ&©ÓÕÕ5==Fý~ÿÙÙñße®¹¯¯¯¡¡áþþ¾®®®¿¿NE1 MMMµµµÅb±»»;§Ó900 Eqnn®¬¬,.©R3.iÊ$ôXInnn8†Ýp8LÓ´ê„PÛƒƒƒƒUUU===>ŸOõIƒÁððð ¥0ðççg@,“·µZ­ÜNW]]}~~'û'Í„«_¸-‹ßï‡ÝÃÃÃŠŠ ©ÍqÜÑÑ‘rŠF£y{{“ ƒËËË,ËŽŒŒ´··'_€^¯'B«ÕÊÛ’¾àõõõâ⢦¦&¥¥}†„+ñz½ÅÅÅûûûÑhôàà€a˜ ihkk‹aŸÏ÷ôô ;;;¥¸Ùlæy^‡ÃStww_]]‰¢x||œ——'iš¾¾¾–ÚMMMÃÃÑHdhh¨¹¹Y¹_TÛªK€AUMyÒø²“àr¹JKK5 Aóóóò!·Û]^^ž‘‘!Ýf¤àúúzaaaNNÎøø8L133SRR¢×ë9ŽƒG“Ãá iš$YYYq'ÉÿÕ§î ª¦<é|¥ƒÞÞÞúúúÇÇÇ”f¥)ªþ¨ü»•“““ˆ éοò«îûÀ¢‚D;ˆ vì **·žçÿ~iÁéé©2¨â ò…æH€ß£¿QÁ¢‚D;ˆÊo5£@Ð g\IEND®B`‚àÐùÇXÙ«›zñR7Äú/ÁzA¼ÈìSäÚó’—:F–ÉG‡'Ç2c6`íÎd½·É“t"%k¹ÎBJβѶ5 *fÚbòä¢nòV›ïÃ-ÍGƒÚ&Ò¤¼4*Ï…Öd‹Œ*°œ—{kÿxRñ¯aþ±ž½›·×Wëýø$ƒÔ!Q2Z'Ἆ–¢×DL 5¨ßÛÁÈ/]¾’?ÚÈœknI`#I´9²®D¥IËl°q'õ8j=lm Úk@ÞhÐ8•3gZ1´ò¶ä DÌ«B)F;ì×ï°›wópu1êu,%ω£b$ä¼$¥1_²ô;(ÞðWë >S ‘•ÀdqE%CR*•µx®¿Ñä`¤µZñBŽeçEðÎËàEFÞÍ^þž\Ï?Ó¨X‘PLÈ$£ êK6øÉûPŃÀ~àEøT˜3\3ż—ÈW¶ £™dÙ+›þr)½‹Bšb|ï¦"Å!ÑÅuz¶¿Jpí"G"ÿZ í9Ë…À¹z®¿Â&eÆbÆf#Œô–ôZ!öòw³"‚N†;žq@"rEøE>'®ƒTTTyP÷Nᛆú° zµ×Ý»yWç¿D g';™E*¨”Q”Ü2.V6Jí°¥åâ_fà8+(á‘QkB±…)õ*ÄÈQšJ‡ ƒØãí½­›æuXÐY[£ÅnÝåfTu Ö9eË6i…Þ“KÌB£1ØhäÃsvÏìðy›µëE×^ž5íj·¦Dá¬ÌÀmTrÞ)‘–ï¸n-óØfµûš š1lP¢ç!7N§hƒ5V%ì5<6¹%…ò³ªþ¼X•I£4¼æ%P@Π§ÉD¹,Ë¥ÄãÝ ÍoßíUµ–^æÂ¬SÊÅhBr²£.KÈ}"‚ý×.Ćöµ‹-XUPø\Œ"i]F?ñ³Åîy»ŒÂvÚÁßBêÖŽ®(+M¦dTM±ˆSÀ@î’҉ˢ—üå¡ð#GÚ«n?8Í“cL˜kúºÍxŸ9%&Ñ:|Çô¡ÍÒÑü]Á¥ýO‹BæfXL`Š>é"ŒIE Ø“1(ÉÎáîOÖ*Ó„òÅÙ6%†¦ã’å9de¤#†­ß‹t/÷UËgõ 5$=ÇßSR#¢ ¢ ½ *&ƒ9&u&¢oø°Þ½ÆúOkìMÖ8aI‚LöPHîÍhš¬ Ò¯ùÝ(¶£‘7MS_-V…›e2ÌJ{ Ìq81‡Öñ虌qmdÛÑâ{VdعÉÄ™°EZžÀ¯Q±°­KA+YÛXJíhbcz æ-¸@€¢á‘/!`ÞGb–ÖÖÓÃvõç˜þV1Ê d’Ù˜l‚¡´U kõ½ÌWËm‡yèq•9…žç½âÇ˱0tKf‘{k·WúÕUsûjÖÕ¡©Ã¢ž}üy—r`ÙPæY£ð¾uðÒ…в03yº”¾†h½ §TÂuÓííÉjkKhÞ *HÆ@ýôpsc(Uœ£SÓ½ÀÜIïÄéÖìÊ{nŠ&é¢Ê&RÊhiEe“VŒäc'^Õ®kÊ è`TÈc´‰cÚ^jãP©8&a=èî¢öqÍ0'qlyˆ9[ŽKB %`Ø‘˜$çÏA¦eßûÒšfUŒpž£ï(ñ$:Ÿ7yìw÷÷ØÏ£æj@¦MJÖ[Ñ“jáÀ$Læ˜Á èEx¢¹nÏËŒxP#o¨e<ágp‰Bí¤â.7;ÂÈ=.†YƒÙ‚Y&I…Ù„ÏA¸º+û‹=­ºßåyѸÊ;‰ µ—;\.®¨ˆ)ãÄ9Q8WU†‹(‹‰»ÐȳqøÑÜDƒÆ¢0½p¥ AIWîò¦+ï©tßÑ‘âTè4^¢aÞ­0ÝÇbµ2 íÛŽ|¨?^|OO€ßšyŒ1wШ"@êeä9‹¾ó+ýmOÎÛ«ïèGb”°È8–1B)Mýpgu(Üà¸[ûM?žqç ¯Ñ&ÑÃ Š²0i2¡ …f) ÍÝ“ÐϸðÖ†áÄ)“ï¨âL?@1 œÔ6{'M>í=%—þÔ¹J1—öÞä‹ÔN+INÄ''¶Þh{½ øÜß)7$I!µ¤0FgÑh³ “)é­‘=m¯AÏÚ/˜ˆÔR[eï¯qD’p¼ c`úé[Ñ£}mª–Øß\jt& ÒÊ'TRL?=6wŠóCÃR±‚‘$¢ZT–N”sðÆ }³Ö.†·–ñC£%C»pæ‚„qÈ[Ã¥rQd†À·½l?ÓÖ{—‡fAÊ ¶ÉOh$É+8i’)Õ“u}©õO¼ß¨¾ŠCÓáîîáqõÈøèõ±´-ºÝ¤šß½cφðn|M½{ÐÎË×ÍáU{óµw|õžWÇ—ÏÕ ét|Ižö+_üåpö +«+ˆtM‘l ~xœ­–QoÛ6€ßó+X ¶[I‰bhœv-®^êbÛÓp$¶PEJ%:Žÿý(Y®Ó´S O²Îw÷ݧ;}vþ~¶øwþЬüUIæÏ.ÞÎH4Šã¿ù,ŽÏçäŸ7‹w$S²h j _ÔZ”EL©¥xœ­YÛnÉ}÷WÌ2@‘Ø÷Ë®%À–lïÞ¬âÕ"ÉSЗjkàGKŽléïsf8¤(ÉIÁz‘4èºtUõ©SÝ/8ýíäü¿goª‹î²©Îþxýþ—“jr0þ[žL§§ç§Õ~>ÿõ}ÅYu>³EÝÕí,4Óé›NªÉE×]ý8~ùòåð‹X|Ý õwr~uC‹¿ýýÅÕj&›ÿ×ÉW”qüêψD+ﯟÇñf³oø¸n–ñâ2¾í|%ñðsäïXŽ­·Ñôä´Þ^•U;ùŽ›D)µ³îulx\¡ÒéŽð󺸙D³ºòXùÑb{1»·IäñÖïŒ_˜4-úÉÇÅëQÅÁ‰/|‰Ós®^XÚö4Þ‰NNË¢úDV ºIôÙMÛF¤Árµ~[b»Bôñ5:…Îc<„§k» [ÜSBÛN:96A_ .:ÌÀ)*‹·ã]žï ¨È–xÔüzUX[ûY÷òú››7ƒ—Y'#ïá£]­ l 1«íàæÍþýÑ ªjíàáeY’>l;¡N¡2áñl4"`Ü]¢·ä¼¾Ý.± =–“1#£Ñ^¹×õõõNt(l4u}-îŽE—µùâÇIÑ eÑzR;![›õU0 àÖ7kã T–¬«Ð™ÄõÝ@6…_‘®Ú@&~…ƒf¼ÓÚ{ßÛÔ A0«ñó!Åа|ú¥R¡0fU7)ìpÞÿéhÚ•dD4…ö Êë²ï¿©†æ¥'úÛï'ÏÉÁ–ÑÝ#ÿk6? }ÝúPDY*ešg9Kmžjk§HhNy4ô‡c˜=ë Ëzó3,fDYž V¥.É©næ9˸ʒ³Z¼¨—GQ/o‹=*áy*³Ôj&…˜:¦4…Ì8•pêtêô¿ƒš?"«;(%m¦e Ð4a™3ZÉÜR@‡ ¤ÎˆÂÐx‰×eíñÖ­¯¯æAq`Rc9E¦´äèl©ÊPmR•f.í˜_l¾á.‹êh‚ó0O<6{ˆ$™16K”5:C–¢‘Zdš Ñç8˜ÜÇÕ>Äñ¨‚^¢Ù'è˜NUÎP£ÄÌÉ<ÑJ»Ä.Ȩ=µ³ù.ñÝѲާJ&4åœ+™ dÀyî¨Õ6O„5J§^ËÕOc…Âp¤u.çB ‰, wÄq+UH]«‡±ëÊÕò< ª0+Žßý0uñUo2Ðý×"5Nò<Ï4 7†§’֤æjwkK¿®Þ]ã†u¦ß›†•f¿úÄÊwšÓ“ÿB˜§Éï´¶W8=€ˆ„Úb FpÇ(Ñi¡»}Àsà{:x Rh=qRFPZZa,€ÐJI,X¼²']»é««ÏacaÒKÕÑ!^o_ ‰{ç"Ñq„¾#tN‚"‚ùà¨5‚‰ä¨„¥À i_ ݲ¬b {ñÚ ÐŠÀ¡„€0’‹,‚I@’÷„¦7|„ö!Zn·ßÆ@~j›õÅH…ðJ'F0* 5'Œ$ÌÈà–Ø>Óe“`ÌîcbZY/=c:ÆYôŽº ¶ì)‹úþ³›wK ù´jrv¾Ú0Ã(Þ`&{•’H™œRó$£÷Px ßc³ÜøFï£&šr œNF±˜Ŕӯ6²¯¿¿‡Ú“u{¹y;¡XP¨=yzÍ%(%LÐAï °‡âO­»XNŠ£+œ!@‚VÉC0Ôiæ¬ÖTê8(öPü{_ß»\b¥xß\o\b)eÖ !lL$0¤€6³R…  Œn¿/ùTè‡7t»‚¿îr³êc7{’¸ó)±È’މ+e¼4\%n†g¨u·2OÁþ’aõzÔ˜úZ#ÁIHs Sˆò¹ò1êŽlôqR΄¶2h& xɨHU^3Š *¦‘b£ÄSÝûÕVY'ˆõž3B1‚.zŒ4 ±"^öeyÑÅýªßVÒíLÒB)A×Dxb-%X@¬v)xwW÷LÖçªCÀ~¨ˆ'†iK‘,I U”Òʰ7~wuØÈŒ!éù´aIð²·ŠS/,$ @0’ë‰Á…ûõèNú[`’`2%c¤’\Hƒöyæ!N oå=°[˜­6ÕzUï7kŒõûS[n(¸%Z€K‘ ã ÃäPŒX’˜4g­ªßK=‚^­šzÏ¡ãqK0œ%Ê`“aŒ]®ŸòXïýdKÛF¯k$n_³w‚o5ŽkCXˆÈ$«—ÁyE…Ç?œÿìýFp.ãB³k{æ!œ°8ö08BÑÂH¸¤/¡âƒ™g­icwÖœ–×PíÆ|.w"hJœÖŠ’ÞÀ€5ÁŽ,Ôcg /ä΃·LOyÍlit ,÷8%Ó²ù–€«ˆ}çùq¶…~¶Œ½-ßʨ„CƒeèrŒ2Ñ&8nÑáF#óNį̈ÿ´7üïy–mäX~±‹3À¶1Á0É“¥2r¶óëÒœ}(þóóÙ—Ï= ÅYëê®ÌeS»j±øøïY1[æ|ñv±¸ºº:¸âM{¾8ûº¸îuÑ^xúwž·$b޳ã7‡àõªª»£'ÔPkí(=ÜñcÙýÝ9üµ./f'M¡Îó³› ˜aüv4ËpGáÃÒµä£?Î~š›Ù•ä2WpüÁ¡ªŸJ¨bw¸ÞVeý­X¶ŽfåƒÐu³¢…êhÖå› º%@ž¡&„þB¯q1=Ï7ñ?byY„ÊuÝQ-¹{Ÿ{˜ §¬#\Œv~qe]œºs8\¸ãâï«2Æ&ÿø’ôpÞ\B{YÂÕ¤å¤?+~÷Vµ,¡umXÞLj~Þ|ß[ƒ«ë&» qÒ𮪊á1Ðõ:ÐOèüøa>/>AêñnáoŠÍõÍ9ÔÈ1s@X1Ÿo.wss1Ý9v6…º›Ý?îÃâ«&|Ã÷C EÙ®¨Ê.M*¾'6a½BAîr»¹pu,Ö52³HŠ«2/‹ž "y ÓÍÅxk£ÁåA¦i pa9 ¿LDÂòã[O¡c²igE§xÿ/ÌŽ{—Ì‹PÌ‘>xy] ü;® ë =ón›/®=/ëüóÍÛâNT³íèÿvrúÙÝ4ëü±‚þ]ƒóÿæ‘Á&’À¨´Ô±X*E¡µ³ã‡‚CŒþõ"лë²û aƒÚ&j8a $ÑÒ(çL œ9™,DŒÌD4ñ±¿¯ýY¾4ë:[^/S[…Y®–30³*=ª«ºT@®Ú +Ç«Uk¡ímšyE!MVÆß Gaåñm¤˜4i棪ÎÃ}ÿ Ð…ä ÊÕèƒÅËiÏ¿ãL šRj¼|ûê»êÎ MG›·þÛÉrÑ6gÓ¦íãý·à³rÌ…è…ŽŒI¦sZ(“¼BÛ4:Þ°nˆ[°§Ÿq´]Àg?\׋TKÍ…P"e2”÷Jg9ë’ì@ûõ=à?Ÿtû.Ü€qJƒoÒÊHËŒRAkÍ“5¡XéCIŒ¹HÔû¾5Ú ;øy—ë@2¹$b:RÌÑÇÌb )ëR˜(R ÝÜíðCWBj;›vã$¦–YñZFÁEƉ¸,›¢ˆ|¥ûÆÏü¥¥‹5 xažecL…rdVyÜKB( ä·°:»gÀ¼#äiÞ#£ÈK6éètÊ^$=÷•@E¸-°;ë}ÈÐ/^³L0‡z£¤äðÏ”bÅW˜öÖz³²¸Ol$ÿ‡¿æç *í&ö—áL9©¤å6$ò+Ê$IºÄ(KŸ¿&œ÷i¢)ð¢R ·(2 ½¡ì8!º”u~‚&Û'>o>`MýqÒîuìnÛ›Ãv  ³”ÉÇL´ÊEësA=ñÂôÛ¹o{7ópµÿ‹ÄOEËàDVÑT’(¬e¤)#0ÏNün“çè ƒg½ yÀq¢JEzž“Öä½³…߬³Ù×=î„æ@EÁ¯“N$+!ÄȪ$´t’ë;€Þj¿ÚØ,ÛÓ)u½gMecJ…WDÒFé„@q*ÄœTFËu˜î ÷á&jõïèF‰<âWp‰üFÈ’œH9$aÔwõ½³ùšJâm¦œ˜SÉX!‘Øœn¢ä™)“yþŠJVžÎr=û¸NiE ^EꚉFOñ¬¤l‹«¸ÝZíÙXú\üâXÆuw’d&U¼×¾äⳚi0[†pÛbî™?·B*e×<gA§KŽk…¶oœ,9Ý¯Ï Ó‰+y1&Eã²…¬Ìk!“Ò$ée!Ûìň/. ¥œ7¡/F+´‘FFnˆÿ[/N1Dl™¡¼2U²d"B_x&B çŽø &õmˆè¼"©rHÖûj(1Ó1ºôÝú=Üž,çŸ×{Òpl8‹’ ¶Œñe&˘c«{¿½ÁŽš‡ËÉš¦¨çÜ¥dDÁZ2ÉìsVÂ'žÜ*ûzƒ½×kZfÆ|²xÃà”›(Ào±_9ø­÷!å‡Ns/Ú:…雿z°ZF#¬á :ˆßâ‚ð$œ \rÛl[îYÐßàþ?ÑmË€HBJ98ÏÙ†` ! w½p0Û³Ò®ïU»ÈÉ:I9 Êr…ޝµHÆpIÑsTt·‰MÎhd¬F.î=¯CðNX¤wÓþvçûòæµ rœ8:œà& £ÎÚà³Ö’qËW »á6XšµCYpÑY“rÖè£w'îÄPP×6{º?«¯/Âå8 ÇàÑbe4J„`%º¸FæÝ¬¬ö„8NëËÅ:V…¼¥„[€ aˆ¡i3ä,!L·ƒÙnûà Øi³³.‚³¢$ácÉQ‹/‡ÁÝgظlŽ~©t†2„؇4d˜¤˜Á I‘‘Sw·°ç%? ¼3*4Ӧ͒„²‘ ia¢*Œ«¨<,¼·•çäâÇy³œåçÓ ‡Ãð ™­#QdÀ;NZ"ŒqÌÏß=Y•Gì\æ ª0*k0‡†¬£(2fh×[²jû`§óy3ß©«7+¼ÊŸ®™DSëÄ.Æ'I¶”˜Ô½ ¿ ÷c½û¿#¶Ð²ÉÌbD ƒšl»ôa¨qÖ± Íj{­ëo{@Þv hŽ3I4¡IhHß©.Àùì¶;Í6à/—Ë邺«|Ö)cbœc.Â/xá¤,y…!„Í2»ôä)­—šÙNÌ e‘U‰eƒ ~ ʰ`Ðüpx\d&‹=•Åc É¥YW‹²ÇÔ)=iª@º‚ú)ûb…ô`×ÜEP¨}èP’ŠÁ:4YÁWÊ—uð͈ +á1¥0JP,(`D^$ )_¬šÐé¸Fáí³TŠ´±uV¢w01üÕ£÷¿Ïd~êY{;V²¨0ŽAñ)¯‰÷³%·V儌)p•UƒÉ#ˆÏæx¢˜„À=8í„Ü£A:DâÉ3þJ¹»ùý /¸)T\ì’X÷,˜„>JèÜ#ñb{ï—í´¦ùîRòà £¥Ay[4G0œ´ÖXtPÎtôûíá·e˜·õ”ð¯/Û†G3 1G tˆIdм³\st$(=*r··ñ!…ÄØ‹›éÓU4Y$‹ŽG"ŒÝ  †É söÅéS8NG‚ZI‘[ä&ɂލž.Ÿ&árwþ gþÐ=ଃé!I%îRYÔAêŒY ÊE1ØJÉoÚ=¾Œ/jR%hLU\dR µCaJ/]1Oò&?Õ¤Îëôé]ˆ´»o èµèûbŽžAû±ÈQ­D}ÂíéíÁbðÏI½øôòÔÁ0Ï* “aO§F1xœ­YÛnG}÷WL¸Àb¬Ä¾_K@,+ÀY+±‚ì>-úRmLqrhI¿g†C‰”%‘’×–=îªÓ]}ªê”ûõ7oߟœÿçì´š´Óêì7ï~9©FãñŸòd<~{þ¶ú÷Ï翾«ø!«Îça¶¨Ûº™…éx|ú¯Q5š´íåwãñÕÕÕᕽz=­gŸªÉœÊÑè¯ö0-£jNӣѢ½™ÒbBÔŽªPB· ó8¶›|ƒ¹þ\¥iX,Žºï4ǧ°õá]3àÔ³Lׇ«sþêYu>Òëq8®þ~QçÜ´ß?eÝo>ÓüsMWƒ—“î[õ~ø¸·«IMó0O“›ÁÍÏë¿ïí!ÌfMZʃ‡¦Óªß -:ˆ"ƒßT?Ñ î±¶Š7ÕÛæúæ#ÍÀ1wÈEup°^ܯm›ËÕ§»Àކ«^Œ¶?w×§Mú„ýÓœªzQ…jZ/Úª)UÀ~r“–0ð¢]ÿzúæ•¿m—Ë®ZGûo^q•¹¼œ[¦X¢FrÅ‚í‹ùgVSFqöɾÀhöFDo’U.[¸*†B‰Ä½Ò[ +Àìáú§ëuò¨Ó¸ˆ@mvAI¥´4YorÖ¸Ùò¿2Ûd+p\[éFæÒ¤`“V`¥æ™Q­ö Üi»Ü;i®pI€ƒ¬’ –ûÀ¬UÁ³œrþ·Øm-ËkËKBkM¥±YkôDÔœÒÞÝ·¬¯M§Ö‡¿\ëœЬ ó6‰˜ uÙÝ›ž?Ů߷׾»¨š]»¼Ú gá@0D¨p<òè…¢cÒÖÈ[f{/ïÙšÓ&GŒ%M“± 9d ÞC ,èÁ±vk“áÞ@›²e¸6*(–;&hàÜ…È2ª>;÷ªÆ1:L)Ž Ð&`9©À°6¥—Ñß»+< ñä¦êßBü$¼™\q&;®¬ˆeÑ:¹æ¿±ù"ÿÏšT5ïÆÃuWáT ¬go™iÐÖè ƒ‘X2ÑpÍ’Me¦¢ýdõ%p×µÝxgØû¢óW‹ 1q“’Êx ‚3jŽ:*“öy…¸2øRåýSßz}žÇ¬¤%/xÊ\'ëB6ÆeE¥vùá@Vù˶Iç%p«åm0¸­2(JÙhÅÍ`8¥»yõñà¤L:¦-3(УNø£)îóYÅ]¤ž×~x‚š¹>|¸’IüxÒPmœ‰ÈÔ0É™’ÙîLãK_ço!/ÆuŽfíÿ‘YŽ „M(5vñÿõm"¦qg´€iFåÀÇó2qEÑ‹Ks³ŸÛæà»°¤(ž4&œ‡’×–²à£ 9P±‹Ô»÷p é›ìÇè4Ü«<ž+ɱ åœA’ÂïL仫êý7ÊdpNËDÙbø—€)U’b^ª„ï$|XH|ûñ íC¯±rõ†¾ëlzjä¶ßãåü® ±zõ#Ó©r×JëæÄª)µÝ¬™š«îÈÔ¸Ø48Ê©TŽ3çþ L/ ÄÄŒ0P˜ddxœµXioGýî_Ñ™‚,°Ôô}8[ò¬8¶²»ùôQ-<š‘g†–ôï·†Z´£ˆô.- Øêª÷ºêUuüÝÙ/§ç¿¿yFÃeMÞüöôÕO§¤˜•å¿ÅiYžŸ‘ÿ¼<ýа#JÎ;ßôÕPµ¯ËòÙÏ)Ãpõ¸,¯¯¯®ÅQÛ]”ço˛ѧ?gÖåQR1t¼¼¹¬›þä7Ì9·¶^ÍŸðãOƹ3ø°¬>ž§m3@3ÌÎo¯  qýí¤àfXÿ¾ëa8ùíüùÌ%:ª¡†ù™GWÏ+¨S\®‡×Uóž,:È'Ňá(ö}A:¨OŠ~¸­¡_ jB'Œˉ^hÓ-~¤ê#‰µïû“q:òŸ ¼a&œªIps´^çk_5ä¿€ãÒÏÉ÷—UJíðãCÖ«ñö#t+¸ž¼œŽcä—ipoW‹ :ßÅÅíäæåæûÞ|Ó´ƒ MžÔ5Y‘~ôqÂÈàÇw³y ºÇ¹$Ü’³öæöÔ˜=bGœÌf›É«¹C{µº l1¥º/>Óê6¾GþЩzâI]õi3ñÈ'µqy‰†ÜÝ2Ä7‰,T&É+5ëjXQ ="“aÓÌr=kãÁ+›¶#àãbmüxZ" VÌ?E mW*MùþŠù’2Cùàäe½Òßj½ÿð÷Gɨ‹íŒ` 1’R¤$>xœ¥YÛrÇ}×W¬‘ªT\s¿Ø"«$Ê’]¡bF¢ä)5—bËK, ,D2_Ÿ³À‚„, †/$§¦çÌôœîÓ½óò›7?Ÿ]þûâ‡jÒ]7ÕÅ/¯Ï:«FGãñ?åÙxüæòMõ¯/ߟWü˜U—³0×]ÝNC3ÿð÷Q5štÝÍwãñíííñ­ªfÔc…KQ‹úxœ•TËnÛ0¼û+¶,P´‰zÚrb Hì¼€¤q MN%.#!²˜HôëïKIt i›œ(-fg–»³}˜^Oæw³ÈÔ¢€ÙÍñåňEéBét>…ÛóùÕ%¸¶óŠ•u®rY²‚Ò“¯H¦Ôã¥ëõÚ^û¶¬îéü;Ý4\n“l>-õ,ӿГ¸7j7‹¢¬Ç¯Ð¸Ãá°Ën±È¸>¨4X Ÿ–ùjL&²TX*k¾}Di÷7& 7ªK>L3VÕ¨Æ7óS+"T“¨\O™¦:ͱàõˆv¡Þ¨ÈËÈ*cò¤ì´® TXŒI­¶Ö¢" ´”Qh #5å%’oõÁó¤«ëqÇJ‡Ø‹Àe#ctò’ãÆîîyÅòfìG”Åði‘s.Õῲ۸\aµÊqmX&M ®MðÍTYŽ«ÒlkhÎwÿof`e)SÈ ÃQQ@[ Ö ‡î“îŒ>>Xœa©é5’-Låf{¥öXd»¶–µ·X%»Ð¾±ÄŒº&/ÃÍX’B¦º~¬òy­@ `º.ÓåB'jáZUËT+9,KíL­`« 'ÔZT†I;ÔŽ©6GV€,ͺäsEmX?þÝ)ݘ4“œ›yÿ$nZbKÛGƒ—Eë¿XhÀEƒ9Jô\o?éÀž ò|òß&³³Š=fmÃ?²„%„Iˆ}¿ï;ï%œ»ÂOÂp‚‘x—`æ¡õ^½{—(¡ã¾p¹ð?Š|æ¹ÑÀ‰†?HDšü_ô ¹~ßMû"ÀaÐwy8ô‡ž‰4ôu%Cæâ¢ï»i? xö9úÜEÇaŽë8®xi_üE”¶“Ý»yçÜ?,-¤T¨]Bãýr´^Ôõ™Ý¿’¼[™ö©|þ„˜UjwÖ¬Óní¨yžhƒŒ{¿8ÕðydœŒæÝ}Có Q7ª:@ ý„~Åñ°½Øæ{üÊõ§*5a>?éÇi†¡ðÙÀy3àÔÓLwÇ«s¾õ´ºWôrN«?_×9·Ý÷Û¬—ãí'š}ªévX嬫~÷^jRÓ,ÌÒä~XæÇõÿ{¯¦Ó¶ åa…WMS-7Có~ ø žÁ¯oŽŽªw4Åò˜[ÅûêM{wESpÌócQ­'/çvíÍjèѱ£áªç£Ï‡ûk‰M›~ÃþiFU=¯BÕÔó®jK°ŸÜ¦Å5 <ïf‹ÔUaš«Å̬ʒ ÕmÝMªž s WÝ„†™ãÕ¬õ ¡[Ú´³ŠBš¬Œ¿ŽÂÊÓOÁ1iÒÎFU‡ûþÏÕè´wÉQuU>˜¼h–ü;½ójѵ—uúmþ—o_|W=®EÍhóîÿqvñꮞ/=þ§`„!*JÚä¬âÊåƒÉ:ÍLVFŽN‡ùÃ}oí^‡ÙEÛÜ_µÓ€˜ºä™s¬1F¤’çÁºdж’dÁŸKÀ~þS€sº ÝhÇ“™q Á…vªHWtf‰“fÞ²d—ˆ+‹'0g‹ùä0·ÜêU„†Ô=ÜÈ€f¸M™E™¤Ù{)]²Ñ#Oê`ùê¿0Þp#çX ë…,Bl„K Î ^øÈmü<o_v3`ÛF+È;in#àR΂ñ¨ ÛrÁyˆÔœµM;;D½”ˆPÈèÉ'myÝ…êYGÜ¥”ߢ^KÀ½²À^d¹¤¶žJL¥3÷ºìÉHÚ†WOŸR LQ”R)ÃE’T±ÌEk¤Vo ©÷ᮾ^\hoáÚõiwésîÛE÷nV¯õ¬H=ž¡úˆ.&ÅMá…xtPST*vaVOn¢¯º–ï÷pˆÃS€„éèDP2(d8ŠÎæèáy$¹Ä¶8ü}=ý¿Ïžp¿%"0’ÚFæJh9q†QYvžý"̺W‡QLx£¡/‘çà•‹ÎÛÂcˆXÅ-'~½Ý¸“ZÊ^´‹$ûJÅù¹R>mÍØ½vŸ5õÍ åžÞ{Éx?q]{B*P1îг„ºAI$T†ð½’xñÞf+úG¤ÃújÒí½‹Mƒµ#Pu'øÀÚ¨#ŠQÔ1\G‹Ò>ìfÓöË]}L¡ë æÏROç}B/pÌb)H2¹´5Ô?Âèž!ú€ ]ó9e¯ÉkðZ i™¡bKRPsA$¶£›³¾ù{Þ‰“´Õ9{‡¨ö}¦1Ú(e#Z+4$[O ès*Ï£½‰6¡õ` ÁÜKˆeYk‘#¡%PÅ]Àz< 9 ÆrãJܰ·6/ËĬێ¼ˆ}*=°Ç‹Ð Bߥš=Í“µ([S €ä‚*VoI)—hþ÷Så¯W¦ÙáT}¥&A IÆ%ž™4Æî_™ö»y3 ·m½‡n÷kôÃ6Й(ëÊXŽB"ç¹¶I¥’Ì9=ÄwoóöZÂ.RXqÚ¡uGvQ)%0Mú‚ªHâþC6ÛŠ†нX¶ ‰2¦lA)€Ä .»'Zí0Ð{&<ýs)s:H¿ú2¥8ŽÔÁ³6¬‰J\;t#R^Ô>ȇ–eT$‹?Î;£…B#•cT„Úvæád‹fÒ#S’b%rË-q¤ì^9Kÿ÷´åç’Û_K\8§´.AG´:Ñ0™Ñì¡×ü¢«z^çAb¡HZ+¨T/F.gg|ÖåÙÇÓ]UŽÖ. 4ŠðŸãR¡ï{jx–=¯«ÚhrRL± vÒžgT®ƒ"¢äÂP[«žÝähd.—¥ñI u:¦%¡*tTœ«þ¶ Z(¥$¸;Q÷û¶Û—ްª<óˆ$/¬.8% ¡•2ñ(ű·Ù'¼ò<÷d³UŒD•2šaWH“ _OÂh%j’–©U¢€–ÌŠ†ö””šX1)³§SîxùuüñE`ýõÿ‹gÒ¶¨îFÕøôñaù=»ž9_šòêÙaùÜ´ù 3zÄ«­½>£t»ÝN¶ñDwWtõ…îz®°»¿¾½…œH+½òd:îÖMkf  ‹¢ÑC.0‰—5XFú\~lÔÍÌ›ëÖBkýÕþ<"Æ»™gagGð+Q³Î€}]½ñs"‰U¶rÁê‚Fš)C'ÓFµßIÝA5ó~؉0Æ#43ÏØ}¦°±(åú„ž‘ºò¸–{¼HuCDÃŒ™õqè0Äî.{§£Z »ÉØç¦Z²dW0¥¬$¯•”Ú¾z=Äõ t7 ¶ŽeÞÇÈ'|2U­ c¨÷ŽæÝáþÉ ¬mµe¤c8o2¦çÀ9ádðòÌ÷É[h‘s ß“…Þí¯ ÅË'á$"¾Hr­¾CÇÁzî¨w7Ü o´øŽõCDÂH£Œ%º" ë‘ZlÖDac»°„µ’lZÜLR Û@¶Ê֤߃ÊÄÖà2é˜u``vÀèŽõ>s-âÂÆå¯Iá`D­;(éÎû¿Ú+û‘ø¤&>®&ošaÿÊš™ó!ýù‹“3r䀯»}æŸçËsŽu1aß[Xÿ‹ . €”³4Â_ʰ<Iqœž2¯ü çÎuâ ôÝ=ª~ÉözcßvJ:mÔ©’ê¤(’0a1¯˜”LU’I°`Ð>¢î+÷õ<. ¸(É8$¶<‹Ã´ˆ Î %B¤<.ò±Ý1Ƚ|ˆzc¬^/mý$hA"ÎyC³(‹b‘GIWcgiOþ óçn¾á&õO-ã ü¿Ö"ࡌ.«4KsÈ’"‹X–fx•ÌÂ{­ÝÑ~²æï='•ˆò"L (B†3ÀN$ϰ”ðÁžA]ÕïÍùN™/ Š¡HS‘T1‡*Á B…yÄa&ò$+`ÜX‡¹­H‡æhC¸ç•Öðå£åÑs†W«tÎwüøÈщ†/Ðmgv5X¡s©ƒ›Qçú´Ï,O~b`#ÿ¡RÄ‘¦2éqèOìÂfŠr¿ ™¸6’M‹™IÒ” ä²Î+2f€d’W0¯,·«v\žtºž€ «­òãy‹˜°by) LXu}Aê8Ÿ÷u±C² 5Y`úàâM3åßrzÿåW“[}hŠ»çýÓñé w ýæÏ]TQSF ·®òÖ&Á+OuÔ t0ÁÚb¹S˜O)3 ¿H×ÔÁ©ëqG§M—Fv¾™n‚åh°NUZri­áI§’Ê}¸¥J÷< ÏÇ]³Y·!w›ü¼¯ãŒf` u‚³èÁx)¼Ô,„¨+)…ˆAîгÖ{Ù¯ºËKã’ˆQá*%¢ "ê­õ‘r0Âìç'M}ÞŽiô@ú÷£ÒŒ×&Ð ­ô^in83x_ 0òê.~R{ûz/üÉU=¼‚°#KƤ1:h&™W¶RÔk$+¨µÔDÞ鼃\9m\€qÛ½iã-0­ãºÂT‘;ÌqL5àÖ0˲éú'ÝH„%®(æœVL€ ž ÅJq/£ò hAS¡½ð&rš|²ª¢@™ÖÖ3)÷nýâÛ®ÇR=¥Äÿ<òÎ:&‰‰©bàK‘IRYaz¯Ïz€ÿÁ-i(þ¬ÀñN*iÊ=cÊï”…}n O×ùzïy½týyÝ>ï»ÍÅì7Á€ÑŽzüT(ó•É9±jø |Gíø‡®…½ÜŸƒËúŸÇ«É vÂTŒ†Í R‡UÑs˂ᜰ\mkñ]½{äShO Õ˜&ŸÂ׉ £œ‰ drìG† ª¹HX“ÞËϰÞÇÝ ¹[jǤTX ”°Úš ¼K•tXuâLL%éFgâ}ýáD¼‰Üz%¹æØ^-¶ñ\‡é-)­¢ÛÖ»­Æ~Óïz.ÀHî¶Ï"ÓÉ{[…äYrL0Ù}Ïߎԓ½µä^¬°FKO%PˆÀ˜ÓBPÎ,Õ¢2ɱxÜÔáõÇBU^±¤xä^;ìTo& %TXNѽÐn³¿`¿ ­R0X# #V"ª*Ÿª„ÕAXú¯²‚ᇰ!m¢p"Z%WéJD*©|7+ÞÞÏI·Á‹Ð'…2áœM SÇz/ …ÉĆ(¹«ö…røØ~O1zñ˲ ËfÀûP­§ FÒûýþÃa—îÒ?¨JUxOŒÌawã [~jX$ñ¬ܘ~Ï>~Åú¸Å<^)÷7Ô»g§ ɈT)¾Šk¦•@„ÀþáìÊéz~;’ìÆ{sIê:,n)—·Î4P ‡óœu;êÆíÜ3Í»wçÀyš¯y&ÚÍNåùùòõÂ%ÉMnñô (ÔëÛ8—»¥gÇm³ùÈV=¦“â·|†¡`=¶'ÅïZVˆ¹`™ f„Ñ`ŒXÎô|ïè›kZ†“q{Z‚ÏÎG˜§ÙD¼=Úíó-4vð¸„Sö·uc—¿Ûç=­wר_7x3GYŽkìÇyñO‡Z5ØCVws˜îßÿtØlº ãáEÛ²‰ c Êe†ß,ì{ÜPx²eþŽu·wpC³GüH°ÅâÞx²ÍÝÕné!±Å\ê¡ø|y,‹o»ð‘øc¬°¶h‹5T–n¿xœµ—msÜ4€¿÷W3ÃÀ ëÕ’Jr3%i 3-„øÄèe•óÔg[×$üzÖ>_’6¥—øä»µvŸÕj½«=üìäÇã³ßOŸ’U^7äô—o_|LŠEYþ*ŽËòäì„üöÝÙË„PrÖ»v¨sݵ®)˧?¤Xå|ñ¸,///.ÅAן—g¯Ê«Ñ•矋|Gó æX,NÀ«uÓGï1ìµ[íi-¸ˆ5dGƵ øsS¿9*Ž»6C›g×P°ýwTd¸Ê[åoÂÊõä£_Ξ-LQ¢‘\ç–'M=«¡‰Ãa¹=:lêö5YõŽŠ?óA†‚ôÐC¾n`Xä‚dDÍ„qÁh±œÝó]¼ÆG¬ßиa8åУȽ%x1bfNÝF¸:Øîó¥«[rêÎá°tKòÅºŽ±Ëß|H{’wo SÃålåx”‘gáƒM­jè]V׳™ïvÿlÁµm—]†8[xÒ4dr†ÑÆ #ƒÏ òZ4k‰¿&'ÝÕõ9´˜cæ€p²XìOksw±Ý¶˜z(ÞÇâ›.¼Ff2ëâ»°]“#¹ß†Ì`ÙvCÊdiR»iòŠJ™åΖåÎê>äɧëBX휟Ï[$ÁÊÓß3E‰ «®/Xçzÿ‡²3¦dÁZ¶ ùñ¶ôwzÛQÎÏž³‡ØŸVü_Ë‹·Í0åù[P`"T¼®“Ñ:ið„ô¦Ö‘[€šm¶Ÿ«@(T wØÿýû¶CîÖm—g0ʉÎXaE¥´BÇe 6za¹#Øï>_ßâ‹üXX™RŠÔóõÍfÀ>¿íâr~ l4XHkLRJÏ“ŒÊ€÷B{1šÛí¶·zq>™½jqó [ I’VEo O¡F)­¡4­­¯vJúÌñ«Øóÿ_e«HP¤¢:*e)Ç D¬A:G¯QÚ´wÛ˜ozì‚÷îñ´öC2$ÔÚWZ&jî-©™ˆØEn$ZëJðਡ©—*ºJØ Ü¬_x}Ú.‚ª¾òt’éZW^I†ËPE¢EÊSü¥—Øv7OL Q’:ˆNˆBamµO[_;PÛ« úãOãUå@|ßÃÕj&k:ÊuˆÎëÁI4ްAŠPYí¦˜&°î ¼Üö×8†Wè’q’ª­)Þ8E' ¯C¨xšr»sø2±Ý ö¯›¶} ^tÍácû³ )žœh&¬AKô†J›Dkåë/6ô îðf}µm‡§Ì€ô’ŽNhB§ z‹Z¸Àz¿‡ÍXÍT“oº­i+DÀ:ùÄ%2ŽãtÈ«J~Qý•~TdP‚øyNßjèú@'zeEú’Íõž$¼ëž6 8±îxˆt+45dQWN„ ì_—§÷NJ#eÆ‹ÊØÚŽu• R{’ðSÆ«åxiíŸRšb2¾R(U *0µ ‚ §Œ¬÷5ÊH蜾·OI‡4¨kë#h3Þò¬‰."y౦ ó¾ù°zR>.Hê žL䜮˜¦¢¡+h„£§ÛÃ'Ól‰—Íú ¯ð‚©4.Zc¸P‘X…8¥‰Î-þç?¿Û®ýAá<†ŠIœ&žDk’Þ0E)•GR0VNyƒ_¥RNóÍÃLw?¿ýa°K]G:/Xyú0"NÑŸÕ‡ß ânpœ~0øtžÊir‡Êû᳜‡ôr´<}ö_GcX jÝÍéøMÀVïjšçöåtýèÅËy½üTÍVTŽ&t‡©m'ÕŠæG“¶»žS;#ê&U¨¡_Ðï8›|\_TiÚö¨N+< ÷¼ïaFœz™éêp}ÏŸB½¬NÃGz9 ÇÕ_uÎM÷Ý׬‡çÍ­.jºw9éŸU¿ŒwÞjVÓ*¬ÒìzÜæ‡Íÿ;ï–˦ åq‡Wóy5†Ú~ø žÁÇ7Õ÷´ÄöX[ÅëêMsuý‘–à˜;䇢:8Ø,ÖvÍçõ£[ÇNÆP·“ûû°Äy“>áü´¢ªn«PÍë¶«šRœ'7é|C·Ýêðïx¼^·³¿ýýÅ·Õí4ŸÜù?ON_Eœ+¤îtÞt]ˆsÜþ—@V%.¤“"îXâ–„Lâ¹Ë>ÚÉñSÆC„þñUÀ;Z¼ÏëÏíJoµL9k“ϬdfC.Q˜l"Ïn€ºc¶#È¢8"p–v:0ÉŒ”!XŸ5Ťƒ’¶p'oz›]·ÇÅi5„¢È ÙÙ¢¥°>úâc0ByÃcÑ·ƒÕŽ(mnYÌŽ0œ”œæ1èÈ’`äctÐÛŒyÜᤙ7«­dxà¶lcAÜ•W:%gb,>H8çÀ´ì±ÛCzmÅì¹sÖ+çjÁ0ÆÉ`ç.r£srÒ߯0z–––dNLY—r6%\Þâ³gjéÛ¨cRCŠZ[«ï„|’Ì%è*¿ÍŸ=È{Z_-ÂçÍgNkÞ+vRVgÔx‡l‘Ö y+Ök«ýµ´V¢MF 8qo)e--’ÆdP­lÓÒ>mvÓÓ‡Ú–xdB+£ ‚¬)Þfë‚Æ7'Š~JÛîB¢Ÿ(y‹¶NÛÁqÔî&…,Yb*ÊÒÇ‘Ìyt…ŠMv,²£É#àÕÇzùké¬yuU·}›¼½¯ÀÂÍ­Y0ÑÚ˜µˆ”Lr\7çÝÛ9õÕ¦„Å ibPX¥’·–k–L„è OѱµFÝ3ÜOëõ߯ê¼QBl*ï9´‚Íð}.øbUÚ¥;(½Õ™#ÀÚÂyÖ3éH'lË Œ" ¤Òæ\}Ë´ÅÚ¯àdƒÈ È )Zعå…xQë bÕË}‚vÞvÍ¢?÷ˆ ªÂ žãÆ$Iôh+œÅTÈ·Æm@Ý-pO]#¶  P† F8 ¨è,œPçy°Ï*èï9U‚H–“²Ñ ¯ûñЕþyŒOpsËuŸ€HlÆ3Z¡”C²B›b½õ‘ifmÂäû˜€\øæÚ½S.9Tr8-FïÈ ™‹}#_".UÞº÷ùÁ#- Ž!\JÄ¡£Ñ+‚aŒ0S¿zVå}àÝŒtöÞ:–(h¢ôJ£  «ûóÓÛ EèÚ¡sd\@ uQ}-RcÐV'þ>#šï:†¤ ƒ— Å–C1C?iJ²”¯£^Ы¸ƒDŸ¾«›ž]B+‹î3 ŸK³ Z3 +’m¿þ °×4o.÷3¾@D@AÓ7¨yȉ™ùñhl•¾¶ÐÖAì¡;ÉyËT€¦úˆâ‰lHJηŸ ú}F Œàýû¬‚žÅ£±åÝf4Ú˄݌cùS#ÀΚîx:¬ºózµU9•úQ7¢¦G ¸Qõ˜~xßn’mmtx:¼F¾}u¾yMþèýyiŒ‹“jz|û&~xñsŽ¿Üþ$“×ïç‡ßeîþ^1¾·~ ßÝoÞñOÇßB¦ýÊãÿ/×iç „dW‰L•xœSËnÛ0¼û+6,P´‰vlø‘XZ;i $(h{*hqm¡ÉD\¿úõ¥$ºNТÈÅ´³3ËÙáødz;É~Ì.  •†ÙýÇëÏ`çߺΧÙ¾_e7×ЉەÂ8EÊ¡9¿øÂ€Dgœo·ÛxÛm¹äÙßU\ª9üèYg,I²´5®w+m\òšÎh4jºk, é’€ áÓZm6±†ÐP”í‘AÞ|%ŒpGMóy^ˆÒ!%÷Ùe4dÜ“"éTxªK…Zº1oJ­±VæŠ {¢8wŽA‰:aŽö]H ÈK… P1ò0ÞÜʽ?¤Ú@®…sIUÇÒ—Ä‹Âu%t”‘¸‹›{Þe`&–8æ"…·+%¥¥óÿu×u»Ár£pX&U nCñÕT…ÂR”y±4W‡ïW3c, B>h õ0è*ï“wÆ'QŸÐxz…ù¦v·_¢ñÆø¢è®±d›ÒÑXVíØËrµ–¹¶ùƒŸKå@€VŽÀ.@øy¤Í×+ßè…•ëœ@ kã“ ‹: °UT@•ç• HÞ  ‚ê[мhšÏÂ}`»é§¼1yaKJ†}ÿ4,­,‰À@äããÁk]ç/5¶\ ­~á»÷­38r fÏwþu2»f‰µÕoÄbÔé‰Á ×>íæí~»'ÛÃÓAÞïöÄp0#–Â&¼’ÿ­EFLýËí…µ„þ<=î­¶ÉÏÒs|À²ÙfýŠŸ§;l¹ŽSØô!<¼^!ÓÖoÁ‚‘kV£Zgxœ­YÛŽÇ}×WŒ H€ì²ï[»€´’l²½‘×pòô¥ZˆäÈœÙ[¾>g†Ã½K$7Æ>;èêÓ]uêTÕðå7o~99û÷éÛjÖ-æÕéo¯ßÿxRM¦ÓßåÉtúæìMõ¯Î~z_ñCV­Â²­»ºY†ùtúöçI5™uÝço§ÓËËËÃKyج>NÏ>L¯ú½xo<~=èîXæ.OŽ_¼¯óe{ôÄ6Ü{¿¶ÖRÈøXPª~íýq^_MNšeGËîàìú3Mª´þïhÒÑU·6þ.ͪ¥îè·³wn2Å&]i gg…XŠ.xœT]OÛ0}çW\e@"J¿%¥Ó| ߯óÛèÆÈ5«°BÕLRzù™©¬}:£t½^Çë$Vúæ_é¦Ñê6Åá3²•1·œ¤Gco¸YÈÚLþ"ÓFmµç"ãnY eÐp#|^ŠÕ„dª¶XÛ(ß>!¢ÝMˆÅm‹Ï‹ŠiƒvrŸ_ECBˆVb:eNêJ äfL[èh,Eý•ÆrBžm\C@£œc·M…h XgB£HÃñæŠoÝÂÅ ÉŒ™48j±ÀMc|DÍq·÷¼e¢†{À1e)¼]Ε=ÿWµÇÕ õJà:¨d w|µT%P3]TÛ s½Û¿ZÕµ²Ì" R‚? šFÃõÉuÆ-ÇQ±vòŽ ó-LÕfû€µËØ0îÆ=ˆ¢Ùs­zj¡}cIµ!/áf,s©ŠGw~ÔÂ)ŒUsçáªX.\¡36V/ ¬æ°¬]2¡ôi€µ°4I0Îl…I[ÖNY_£4 +ª¶ø,\Ñ6IwÊ5¦¨”& x˜÷OEÒ¦%(ˆ\|y)}þR¥ÅNüÝû£3Ø« $‡Sÿ’Í.6Âø^¿aýÓ“aRöÊA§{Òç¼á )Vö“QÔôIøaΩµ[Z#8fJinr5”æ¿ÆÙR¯08'ì„w§å0Ix¿;ÇÎÝ®ÃX{E2<õξàКúûîg¼›çƒ.•²èzGÓ}dü„ÜùBp÷ÿÞÉÿ@V˜OrÙ.Œ4Ž…Uî £’ZË­”PmYÄ"E8ÍX'0:ñ™òC¾L®<íÉuÝßeÀ:ȆJ\rZûl-xïT Â$¶GùOñᬎN}€æ9ˆÂHPÞ:Œ"E'%p—m¶¹Ó_Fl˶’ŸÛˆrâ–&™4g´Ä„k%…WREE±Q<Úˆvù~.¨Àʲ Û­®«‚AqˆÉ¹¤ó^ ¯žkd‰…¨ñùšé(urÀÞì^°‹/ö¹ÈÊ€‚ì­·Øc9²æI°™ÀVüx»¿En7bФCf*Ea Ùy|ARy‘gÝ^È'íæÏFž9èÌ"xÇEÂÌ ƒo8Q<1‰FÁöÂߣܽ!™¤R:cÄà#¥À›V0˜öòã7ôxSÄÞA¼½Æ@ñ¡¸h(e¸Ãé Øê1§’ãë„[ӃΧÁœŸ`lšòUɉÁGÖ€HÊ*…³Í ³ ä©—zõ;^hÛ \ç+§*ym\D‘b’Ú¢/‰š$­4hÿ¨S{8A†Ž$ùi¸Øt—»¡“ñÚF9þ Ì;ÐÀ¬]ŽÈfüvÊŒ {<‘Ÿ:±Ú=v‡Ï›{†…7D )È€Æ4弘£Âg±lyÊÞô8.…Žœ‡,v1´ž‘j$×Ñ>Ìï…^е¶Ù”o€í•–Xó8â•¢ø—AT9üIÈýÐ=œ›:é»áã7ð2jiN8 |¦.{.,²t.„Œ´ï 4ú¾‡ÃÐÚ2Üoà^R9‹$ÐydßH”‰2ô‘ñi÷~¯áê¢í¾Yñ.µGºŠã=ᴲÀLžjuþQ«ñ‹ûݲb·˜ølc‘ۻߌTÇw»qÕ€áL˜»%XÚnDÆMØý Ñ´)W2Ó¶d·U©¦íS5H¿ø?F+WS ;;9YšvÙxœµXmoÇ þî_1¹Eô´óþâHÜ“““«¡¤í§b^8¾…W·Êîœ^úëËÝÛ“d[–N >kDò!9ò9~wòëâì?Ë×dUβüí§od6¯ª‰EUœÿ|öö”°JÎ:¿îëR·kßTÕë_fd¶*åâeU]]]\‰ƒ¶{_½«®[lPžþ;/÷4RI³ã‡#àõy³î0Üs[íQ|Âs(ž ²søcS_ÍíºÀºÌÏn.`Fâö·£Yë²Uþ!®|×C9úíìǹUh¤Ô¥ã¦~¬¡Iýaµ=zqØÔëdÕA>šýQbßÏHÍѬ/7 ô+€2#¡&„A`°XMî…6ÝàGª/Il|ß çÐá‘ÿèàt€™pêu‚ëƒmœo}½&Kÿ+Lþz^§Ô–ÓÏÛKè.k¸š¬,†3òët¸·©U ïâêf2óóî÷½-øõº-¾@š,¼j2:ý`ó„™Áïæsò¬Ñ<Ê’pCNÚë›÷°Æ³쀓ù|'<Ê–öb{t—ØÙtÕýìããáZBÓÆè?t@êžxÒÔ}!m&ýImÜœ£"÷¥ÛÄBü:‘Í+“ä±ÈU]Vd¨„‘IYÁ$Ym¥v|uÚŽ€«­òË)D,Xq|›)LL\µÝŒÔiºïÿ^ÌŽ‡”Ì F†åƒÂ›f¬¿ã%Ö@îm›àÅKrgšÙý;ÿçb9IŽÉþ‹gJÇÌ´”2g4Y戚©œþ _ÜÊtˆ6B^ §¯/1¦¿}ÿ8æ¦/íù²iËÊCˆ"°ÈeÈ1ZobdYPjcJ.1€Þê|†Ú!â©¿Á: <½¼•œ°MÆe ÓI*¼)¤ AI(Ä1à[¥Á¯Þ¬±-ù¦mék‚q<‰¥P)(žë$FMÓÜmü½Õ8üU£?ðx8Ð飨₴`›ìE©•G‘ Ï>9DmÊ'ˆqþ´Í²S3N•M3‚ŽÎ ‹,êNŒå#÷ãäËeu³Æîµ=ÝjÂ[ÌŒ Í5R2 #ƒVÊb¤ýÊ'ˆq>u9ÓàpØBÖ1l6Ê Ę…†£Ó\ ”å¡óqìEu 7“À´G­2mUi…áApÐÊ1´ 8U ¥ãÝY½_w û4|/Š$Ò™Fi-mN1 ÚnV+š}kµÖUù2¤ón©Î$®­Ï–ªX¥ejšibØ§Ûøy×üçûÕÕ¢ž¼ê‡»0rHe”N&'í·ô ó’EI­X9ç’zÚIa4Â!ímÎÞ€ðT¸£F‹Z0ÚpÆr%!,¿€¥R€ÓJ]'íÑÔEEpÊP“©¢Z´Q1Ç›ÓäÝZ=‡†‡ ÜVÕ#ubFÛ]wfiÌi¢1Sî7‡J¹sûmR3¹Ssl´ÔV"82™@…œ<žc–å#÷£äõíñ•ídÃQ©„ Ö ¹¤âI¹Ì ‹e‚%Uî¿ü°Äæú2‘Û«‡¾Î+›P%±h(µ¨i–Ô¨B0eù óR“Îí½´ç*rMÝVt€IEjò¨Š.QÇI}`ùðüÓj;á=Ðe:LGUMn¥–VŨ"í)mÀ¦T>AŒðÛëÍqt+Öœ1NeŒêˆ‰Y¤ºî5ÑšgÔ™•{Ç#@*+V©Z]‡î¤Ã-I dÇéÊH!$osHœ{A§ñ™N–ò1à9ü l®ªÕÇÍúöø!v åxÌXº.ê ™N&e)]Ð2¬þÀì9ÿ*ºé¯%½nèÕ´K!pëuJ‘––®†MÏiþ€èæ»7a·Å?qu±æ€3+´§+¼¢žŸJ ÝR5éQ%uùr<®Ëæ™kR4­rè&¹ H #]X pº9êlM41˜˜,¹Nþ ««ãÔV5´Nt‘s*1§¢ËÒ¸œ0Q™Aæ­KŠu_Ý<§}‹PÓÂ|k^ìŽBÅÃeRÒÍ€yEE†jÚQ X/¥§¢ëíFBhÞ†¶uaùn}<ˆGò]ßé~‰t¨Ñ–§*GÙÇ ]“D ƒèî)-Ÿr»­××Í a'šè[銫Uª«Â'©—,HÚótgsˆ·¯Xû—»á•îÙó]^¯iþÊb~¶lßÝ(Êþ9rÿ"œºçÁöYøð¹´6lß'û§Ãá‰qÞ?ÅÎåÙ«ÿ¿Ð: XZŸ4æxœ•˜Ûr¹†ïý³“ªTrAçƒ×R•-{½®²³Š­­$W©Ð§–"erdIoŸžII£pöJôw=@£ÑÀ›ŸÞÿv~ùŸ‹Å¢¾^¿¿ûüé¼(góù¿äù|þþò}ñï_/¿|.ø +.7°ÚVuµ^Ár>ÿð²(u}óz>¿»»;¹“'ëÍÕüòëü¾ñÅãþ×Y}`y’êTž½zÓﯗ«íéˆî½ï¬[-B¢×XCÑhgøý¶úqZž¯W5®êÙåà –Eìþ:-k¼¯;ãŸã6[¬O¿üeæÊ99©«z‰gï\ýRá2mßÌ»¡Wo–Õêb±Á|Z~¯Oâv[\ž–Ûúa‰Ûb]5¡zB#h<ÎûðÂ:=ÐTý(â¶ÛÓf74>7˜žS­ÞŸtßùªUqWøfgÅ_¯«”ÖõÏÿϺ_ÿÀÍ ïz/çÍXñ[?8Ùբ lââ¡wóëð÷d°Z­k¨1õÞ.—E n4O43ôã§Ù¬øˆ+rOÚ"<ï×÷W¸¢s'üD³Ù nµõú¦ÚOlÙ/õ¶|<Ü,KX®ã?n°¨¶Ëj[ë\Å“Öñöš ¼­7·±.`•ŠÛef‘Ûl(îªzQ4™°%rQ/°WÎ;ÕàêÖf½)â¢3~Ý"%¬<ÛÍML\¬7eQ¥~½ÿû½$¾]¶ùwöÏó‹·€ëO5^ÿíï¯^{O¸,Wþ‰¸÷¿€÷Bhf“ J3 <#ÇÄg’¡Á”O!ýêýiŸ‘Ö%ý©@ö&}8rvÖp†.Ë ¤Ã˜µΊd­*Ç/u±\×5„%NŽig1„d0iP±LÖ$‡)j)¤åÊQÜHD÷Õöx$ê¹ÑˆÈ”ðÆ@†&)«rÌQÛèƒå¹œŽ£¾b¬'áa4,Hž0¢cZž'A ñ(–òÐùsì;Ø4•ò(µ×õP—W˜ÀcVhîhæ“÷Ñx@!dÙ•Ü?'O‚ðxf&¡PÊLV@¤/W@G‹ÝWŽ£>nàfq”Õªz“žv ‹Ùr'cÈÊHå0˜˜=h0±Ü¹£Ui¬JÃL<¦$|“‰Z:\2å‚ñNyÜ–ƒÓ稦(½m+ùQà^Úcoräìê¬ø×W_. zDŠ«Æ-Ú2—õÂU“ÉùßFÅh–óÍûÉäîîîèŽÕÍõäêçÉ}§‹vÂÃ×qÞ’<Š9ŽNÞ}èïçÕ¢=~F µÖ®¤û½à"~Ì!»¢Û;†ß—åíñhZ/2,òøêáFEXý:e¸Ï+áïÃÌ5-äã_®>Íh‚Jr™+89s¨êS Ul?LVKï>Tåâ·bÖ@:ýžBÛŽŠªãQ›*hgyTd„º ÆÉp<_Çüˆåm*×¶ÇÝ:4¸äž,\t0N¹ˆp´²ó‹+Å¥»†wRüq^ÆXçïwI÷ëõ-4·%Ü Z¦ÝZñÓ°x°ªY kÂìaPóÃú÷ÁÜbQg—!N«ªèm§ý„žÁïÆãâ3,P=î-üCqVß?\ÃcÌÑ#VŒÇëÍýÞ\߬–6Ž WÝŽž.w×â«:ü†ç‡в-\Q•m.êT8þN0Q®a:ëþÆ?ýùÝûb£ªÑöµÿ}zyz_¶½³ÿàˆ±‚"P卿Jr±R •,%£“aÿpµÁ;kÜu÷¿ƒ†Pu`,¤ ErA;$C<åÜD~ídžþO]Ï߬mP<1o¢ !‚ )%1‘{uð'rݼ¨ "Ü!´1‘E¤J”¢/ÐÐઠX\çÙ^TL,8_Ärq½6ÙIf@Å ó@‰ÖNjÊDx»‘zùײ-}Y•ùa?º{Àôô àœb“R‚ÕVøà´WAs­KN àk¡o°C>±^æó ºÜPSŠ !\(‹Îæ‘`”É$€(ª©kÔà3Èÿ€ ÿ^A»ÿ §3ƒâÇ óá" ˜H`YÄ4¢Z¯©áÉsʼn²«ÛÞ’û渆ãè…5¶KÞ ‰M“fˆïÆ»˜^ÔÀ–ùߠα)¼Mi’ä:bTâ’I­œ×Az*#yâìgÑN_i„'eDà„¦#ÉDB¼'JíÅ{CÙ ùËów/ßþíågý.«o~û|µõ䋾êϾÿÍïÖ?8=»øî¯±µÖ«§×Ÿêøåƒ¬èD?û\þãrñëwÏ^-ÏVr¶zþöËGyvÂWúîÙJ>¯®þW~Oç²úîïo~^ž½Ä—¬«Sùþ'ÂWý¼Ó~ñ»—W?úÍïNgÿ¥‹‹ïôçrŽÑÎ~Q19‹³.Ÿ_\ÍóÏ´8;yMïäw/éû“ÿúaÑûrõ¯ûž^ÿ|ù«œÿºO›oy¥?;ùëæ‡“¿êýBÎéœßÙ|ͯÿ<ùèìl¹¢•ôÍ7üpzz²Œ\èw`°2øå_ž??ùƒœáëñÙ“öåä§åç/ïä :V^Øîäùóë¯?»Z~¼úÑíÂ>ÛlõųÝë¶´Ó%ÿã—s9Y\œÐÉéâbu²'„ñô%_~Àƒ|±:¿äÕ õ“Ë3hæÉXkÃɧÅêý‰jÂ$Ÿ¬ÞËæ“/¯>uý ´Z?³øðåéZÿ¾¿ 3œ“ÿ”þóR÷ Ó©ü·ÿþ›ßžÜ~œ>ÛÞþ{õúotöNÖ«þ_ÈŽa\Í&°«”#õƶ³O,L#~öýõ›MÐû’—ïæK¦‘¨š$—^­H+Rj,aHHÍø°Gò¯‡%½ÆáXÉùFV=!i·A&à\MrÕ:j}-kóÈÒ~üðñÀË‹ÕòÃëÓåj#1á«{•"©Shãˆq1ÎRI%Þ<ó€ÈÿùñÝ\‘¡ÎΙêºÍÙJa ”)û>z Ô‰|ÝÇ\‘%ˆ÷Ôs¨3ÎŒ‘³tk\?(òlö,sòÉ%KcØ‘º‹\;At[ 0`xœXYo#Ç~ß_1f€ B±ïc½ ¥´k#ÚXqdçx ú¨r䙦ŽüúÔ ‡"µ+‘”^D²ÕU_Wu_õ‡ïÎ~š^ýûò¼˜åyU\þòñâÇi1O&ÿäÓÉqu¾°øÁ¥•C"ÿFØdéså¶èðíGu¨‰«Ív#ܹzÙ+WÇZ•êíŸ×35ÙQ¡²©ʰ­qo½½:šúù;ÒÖGQ]ÜtQ>uœ¾KÇÜl®m8’V¡:Íõ4ÌQ+¬æ›÷tPÚõGÕ7n¤öæmt† ¥bp6mË!; ¾ÄêC]KÝ~îî²ö—«÷‡fÙ`‰Wº-+j7ÂS²9ø ÙîÙÔËÖöœ¢ï…Lq­­Zœ¡äÉ·È8YͰåž6kr÷Ûï ñ/ò¶ÿ׃›qô0WU•šd$CÝ–Þ»š›ÓÃÉOæë¥®o8LW£Å¶<…î‚ä\±¸-†lŸ¶šoäTxý¯é|u`¨¿@Bߌ/º87ØÄZS +q¼>ev-þꉵÌÿ1õä4‘ÀßÏ!•f¡¹}0¾¶TüÉÆñØÉ¹XOEúŸåb®)¢Ôh””1Ò$=¶ŽUÅà Vã÷š¢Ü?œÓÇ÷³%w×Y}ëÝXÉ„•¤‡Câ)¶”÷»˜ä?­äÃlÁ–‚®.”E\¯Ä8‰©ºm!“{ÀúîßÁåPóMÃù$ ›0/XúRƒ“"G¹«÷çtõ—óg%˜½1ìÅå 0OÁÚã”å¼9+³¥§ìl+œJm-ÃcjÉa;L²ß“®¥ÿþW Û9. E|³‡ó!l ur©ÅcN»§åÀ!Ü Õ§HY ³]}¶°8•x1ïC/¥ï}nЦÐP[K¬QØuÓM±<2S7£ùÖª'2P +e¹~hÆ<îšT›ˆðå.DüÆy€ó*£[h+`<ô‹9Mà•Òn-_ã]ð>öZ9âÄøî (žá›w$Þ>=÷¸ QrÇ!öÅ|´ ˜æãð8èqž-Ö™¿UB¾ùv§Ã,ƒeÁ5˜)ß27Û¨0\WPÿú¡ÕLíÈæ»åù—ƒÊ}W=(q†Ž”·™ lu,¤ Ž¢ÐWS° øûܘÕà †8_ xÓ‘8…¯¯Ñc—L“ð¿ ±¤®³™‚s\Ch_I=2Õ\#¹Â•]´¡ÁSG3 %߃É|´«fÌ ¹á“ºh &ƪ$ç!RO4>9ç»/ðÉ×D½²gi0>!úq ×tï½2…ƒe{jɵX‹‚ÉbdàFz ޹ÄfG|ª]8<ÊÉcñ`ë,ç 2 löè»ú˜^{Ð΄b5nT¬p5›V® Úú _¼&Š7±Žá3Ü% ¢ëÎ2ÃÌô59»õ¯˜ðÅo4&~±Z0þ¸ü|m‹»'.Áw‰9XfÞV*•¯œèî“DéÑùõO¹¥ÐÕ{Ö b‡—ŒØVÑJ@ØP®\×Ügû±‰B¶w!ã@ç«‘@Œá¹ÆæRñ€¿"À57"¦î„~ö÷§§‹×"¸ƒ®0µxÓy£8àÌ\œ´ TÚzl¢_g7“ˆÁ ø *“uPÔÜ`JpÀÃÒ¸]'}fâ׿^|þ@o,vÇ;L*Â^”32ÂÆÝß>5QÄßàL®Ù̪ÉU#d-˜2ð⟧a Ý®‘>3ñëßàÔ/Þ½_m-TR?›k±°”˜ŒuÙ»d¼à4_£¿»ÏN÷V>¯nRlУ–’ìDcÁ ¸.ÖèåFŒ>3õë¡â77%ð¤8á®îÖ‡ã`mv¹í…÷[ë§ž‚»:l“é Ú‡ä2¹ð/ä‚DÁ鎯„»`Ê«+ÆšhqÄ[-€ÒÇœ:T/ô¶/º³úálµ Ó]LÀã÷<ïèÁKU £êÁ¦èbŠc˜XŠ<&{ã4ç"2PÄõç‘áôaø³†—@½…C é*Vñ8"{`³cL# "Ôlñ)„$©‡%ÄC1¦œŸ/ÏÕæE¸ôsƒUS­‰qöc„ûŠÔj÷øâ¦EÊwõóâôôèñCÂuF8Në X(~˾ 3~‰>1žÍeÉñkä†ñä¬TBzè, \@n q̽¹l8_>>ú¡k“ªó˜ÈØ" ö º”»Ý¸Nýü^ÁÿWΗjeçHöÌÀä!…ìÕMgK£¥ŽÑ0€˜“$/_jÞ¹ž&Ì´ h5ÜLRJt;Zë {Üw= Á—«åý6üwvyeÍf÷K‰%Xî·[¶&àÀjJ–ýàCgÃø3¿[œV¿‡8óè*«xÁ&€ÎÚ8@mTœ‰þ‡¸7èÛÛÿs¸åy[ÕÓøøEÔëó+H…ØöÜâ¬Eª¼WËËy±ðÌÙZËH« fƒO€ Éʈ–L› ójr:k¢Pá,^/ûlzÐ$ãÊ0pŽ–ì¡³äIÅw¨>Qn0( dÑ–q};¹WÞ›•̾؉M“œ5Z%p¬e˜V@&¸ š |ŸÈ —qW`ty•žvm5áLôª̈ 7x|˜vßG#>ß‚ØÍs‰^\(=F¼á^ÀæÀô6Õ‚ÇT'@ìhšÝñ?‚å¼;‡ ϶ÖÃP•XÁèAáLq€Z¨£™¢>‡£/Ûð=Y¸è(´_ U22F°±¥A”o#›7ðý‘y­³"fÏΧaæhæc|’‚u¶QÄu±ã‰³ƒó‰½©©ŒÑjØ6„³!àŒÆÏœÝŸ—ý ·»—5ÄFZ(p8¹bÇ’ؤš{ƒåõ]žºQ@Q„Šÿ혹P'üedoïß…¼–³Yv5—â€ÿj&]ïæ”ü‰- ¨[žóÿãò¼Ëùy; £¤DU< dʘcð†ç᥷:ö2ŒÏ//Þ”÷@öLzN$ óm>u…jѽöJ¡Ù‡³gŽ‹†ehÖ Tg0Ý'…cá Ë)r>þ²é~L:¨÷Ž©¦X` »÷7.u¨ÒVdf^LcK%ü€r’",€¼€íŒã]aÀCHÇD¶(ºå,0Ñ‚`C—^\º·.˜Ž?Ê“)ºc˜Ü‘ …7¦¤“Óà?ˆ4Þߎ2EßÑæP³æ™ùÒ@cÕÛ=qM¬…ØÍMÂcÚ¬grª¼hœ€½oË®¬–ͶŒ×¼XÇAQ7 ÎåNxqW0”a²}èöj¬Œ5o¸AL˱ƒ2 ”߇ݻïoïÖCx»|Ê ÀþL 6§VˆIÏBê6áØ‘IS±<]¼¹¹«²°=°ÏÁ8ÚcF£ÐyçB¥¹û*{Wæå‡³7‰§PŸ+¿Í¹ r.; ïZ3£w†ÍvÞp@Ìð˜ymä¯ÎeÅïÆÒLX{£_pH)ÛT2¶ ‹€†]:†/>fS‰ÐÖ0 Qµ}`1>UP‘à§$æ À; ÅR-8ójr©¥¢éѰð;SÃ&•m?Œ|uy~b¶jÍNìGè2§ˆíOœŽ´iˆÆ_»ôsów´:Ê™ÖD^ÿT£ãx¤œ³¶Žôÿr0UVZ"rPôÖí¬Š×›‹C è(Ø@Hð›Ë¿#n´˜ xÎ3ø¬õ ^"º*¬hÉÑ·?þltð‹ªMñÍq­0Zär¥=ýö§h8æ–|”Þà1³: PLxè±áQÜþÜÛÍ ^ gù`uñAoÎ4œ5œ§`5P¡3eŸÿQ©ÿK¾ÌÚXê0™MÏÎ5p0”)g`W‰}Ð!¡ÿ ÓK™/–›¦&ÑЇ‡³}ÌI3ÜÁ[ûã±òvñA~^ž Y1'b,Ì)ör´(,Å‘)ïÁæ×Bß|ž%ŒÆ¤ì5À&jÖÅÚoZ4Ó~nÈëó›ÅN "n³VäP#KUªH¶‚Tù½‹{#ôŸ‹o¾|hËÃæu²lE³öJðÄžRLAÀŸ‡µD|÷Šö¾è)ìgG`à:ÅV€kr†J%ØOÙ„áÜ^ý] ÔJ…yªë“ =×ʾTÈh ²NYÔTϽÇôçå„ Ýt„=ë $Y0¡È8ª°NÛé*X{³c. ôB,˜Êðù1öb­Ùvµ¼4€Ò¿Ö…XàN%TPVÜòM‚…½eL^?ßøó‘lUgá}ŒÓ8¶1‰}¶%cfõ:öx"Òjm¸GŠF„ËAVï©p ÃûHWÁý±Š‘¢ûraÁç‹V2Vñ™ÃZ¦‚3ßPL/ë3Àå è? O»íæMûeÅl5¾ÙE€–«8<Ì]ºÕÊ9é[ÚÒ†ÇBf‹³K€òk¼-i2(ûû7ÿ;sú/ÏŽ §¸\á»-Ð;®†Öôö \¯*¼% *w’½Þà4“ƒaXk@à‘5Üöໄƒ"õ迦Þ' mÉëüÿÖSíÑÆ(»hƒõ)q¤r?+pW²&9ýpºxw6åvø„*xü¢5*a•{EßxGã4ƒúÁ„ªûCx} Å>vf§x¬?ô¬—+h-A8MÂ$Ê}_:…’¹ø ]5Â5':$œ!ÍýÜhù頴Ξœzà¶écꤷpÛ&ö Åù:tá¶%yö½| 7‰ËÁÖ.š-8Üpo.ËÊ“+Ñ—§@âþ¾Åd€ê»¹4Ö_Ó Ñá`wwÐbþéìW9_MÉÉ€qúý™Ëë‰ q>i½4à]œ2x¦ 5>nnožº/zŠ‹xÜ”@[íCs8o#P[€D§A[©Y&‘HW¬zôý>x4ø…Ó ¸¤uz߭׆! 97±¨QVë›Ç90ÜûÆÀkŽõyγoamà]ÀÈu¡}Qùµ¬iq­í”x-ïV"ßsÆ:ÝÝVG®­Öš6dnÀIHqûÚ¬ÛRÕ"µP M[´ÐÀóØwÓ¹–7Õ{l‰ ¾Z[ex‹ØaLßædÀ¥Èí9!Bs/£©™®Ž±cÇÂ:*ÌÕ±0aolõcM¿ÈÙ» ñ™{‡V|d0/Ÿ£ÖÞ†–G¬Œ&Kõ‘:´s3B9ó`x?Í(n‘#1Ø7 ñÐàsÛ𘻡»³ÃÖ±¡ƒÜÆq „9 —äX)Pfo`’Í™m=:\­ÂÌcD |T¢)ÁÉNfŒ}4é—å'9¿ZÌ9 L:4»²·JºÞ…Ò*ò‚‰´/¥a-ñß.é|µ˜°€ØT°lLæ½ÃëkrCëuš½Ê`ùÃùòòpÒÁCY,Ñâ,¦‘SK8‰ÆÑÇ)ÆIà Ó²Xž’ESFˆ¤†eèL`…dÑ´àzšüÏ‹—ŽÛœn«±ÎÏazÍ%Kówa=‚i@þUÈA´ÁPö™ZÅûM‰2ú£õ»c¾ ÃÔåaUÔL{É™J…= :ÚlÔÛºTˆúÄEX` }z8•Þ%#[JU‹3°(Cí4‰v<šJ¿;†ÅÙñªPÀÝ2s²°Õ -s6\+Ìš^ŠÎÁSÎ\1YèÛ„3à¼u0ÃK–¡!2?I®†q´FÆÞ]%Ï¥iå¸fÍl’ÖÌK†m“Æ0!½ãNfáÐUî®5ŽZAoˆ4¼ÔõPcÎû3 Uàá%ß•‡ÖÓSgWáR°ÐžØ Œ+×? ñòtµ¸jóዱ˜T×$¾Áÿ2° GÕ`óS0ϨÍ_èÄ.-Àk5±¹5­Ÿ.•X‡“­Ãî«ÙÞÄr;›ô¯g?ÓüF9àV›òkøßl¬&¤% l$n¢‰ûÖaùе^4WìC¯„€ ˆ†'“Óþþ@Œa6×k@òbÓ,tQîSG+X†Qð`¢‡qù¡Éùü»‰E11§ä”ÀÁø:øEë£=unD¾>^\Lˆ+ì\wXÀ.ã´)S4„‹àîrh¡XŸeoÂå_ÇÀgá= Ô¨E.Ü$ifUE–ÔŽ÷ »ÄùŸ´Ùµ¦~Û öêSĨ­–E«õBc3 å`§‹)¹òú¶Q!ðÒˆi놀¸"ëÒcú¦>ðoÛ aixøÆ|ÞÖàƒsÚ@M[‡ n©•z"švczõŒ©Ú,7ßa×+ýª÷ÎÑÉpx6>xÚÿ;aì˜ |ÁL5»u©´>„"x'ƒèQw nÌpÝEl÷¾¬µ¬)|÷~- ­»±:  ÇÝÖ’~¢™Í·>WšÜÈTvGv …Y¼O­×ÚÁ÷Á¾zóò`š}Šìu|Î"kÏ8ž غ5Um-¸Z:´È“_Aæ5šr6»Ñ›ÕÄ'@*öø§ºÁÔ‹ž¨C2ÿþñã¼Ir÷Úx"hSFí£ EQØÆß4Ù—¾·ø—ËÃÑË;»™«’¨îœ6nð¶ÇXàpBKf”DÞNÙM•{Œ&Õ ]»ÈiíE &_¡]zEŒeðÝM•=1 þŽôÖ“µï_Ô"7Mú11¹šg¦ñ!éË«>çsÍ8;[­bÌ5:ÖÚ–Ú3ÐPŠ“?Dùþ¶üttñÚ Øˆb²Uû&r¦de_E¦˜f_¾½ ZåAnÆe͹õ©Â~ø®G{£›MIxöŽ(;pÆ´°nR£Añ$`ÅÀB{ÉärqÇ0­{¼ò>$Ù·®¨Yg“'‰ÚÈÙlO‚Òû‚Y¾ÓJÁY÷õ.Y0Ú¸õ¡äR"e€²-8[öå¼¹jç MŸe®ƒž…Ô¼%RÁ–¼ùfÓÀù˜BAg4î4k31‡ ‚U Áq –§èÈ]Ý×DpP?øækÇ/b-i3ü\mÞצæH¥LJl†Z­Ü¼Pk&xí4kse÷„F³÷”ÙB5±jÙz“a*ÓÀÜr‚ßóþP×Ì›=<¢L]Û½dª¦:“V}F ‘&ÚûN¬È^ÿs-õÈüjö¬ûéI«ž“2—"VX—ýùÕ7²'•­ï&Yç¶2<,8ˆx­ áIËr8Š¾Û¢Ï«;¸Q®©‚S[D¬³Öµ%GMZkþJ̫ߩ©MÖ-Ì;µQšKëÜ¿´e<6e† ÇR5uLÃicEíOæËVhv÷µ»§Z -u ÚÉ4SÐ6¡R‰¤€Fv>úTß-¶× ³Ã$ Nš-]:t;9ç¿Ët;£‡ŵºUÖ¬í&LëMƒUQvñ >6mÌÇ¡¨Çµìcj†L¨†Í`Ëŧä9ôûRµÂΛæjÊãÜö(öæ¤k(W’õ°`&û§Ô Ýë³ëvÑõ ³ ­7r’ëF¼Ý°â9}vwŒC‹Eûž°g£àÃç =%8é#Òõ2JO(:;õúZÀq-»¯¬w ü0²Môýüã2•cXD˜Áš9ùnGïÚ¨2®“)'x‚£2–Ãü(ǺV0 ¦_ ¾1TÇw¿/AáZîl(¦•õ¤oîj†aÖüe- §ÙõnÆÀœîÚ8¬°sª¡&À× xšQ¨OsjS/Nw;fZ­‚• 3`®aeíhRþëÙì„åÒd O€D©6kŠÃ¹´ë7¡<ÉfoÓ8¯©ÐÃ/˜J$k@xܱK·9s®º¶›9°lnN{nxŠFYã.|<gYî;…£z²Fö  Þ 8AR<ÀJ“”hÇ­ï9â2{÷úу¤é… Õxl.˜ ¶B/8ȤwöñÈëÇHÉN ¹JÑtømìKÎÜ |š°pÜõÝ.„? nh7B®¶hó°Xüˆ˜dH­GB¨­=ñↀ±Dã±R¶YêÃÀqµr;‹#ûãbÉ¥éû7@Ÿ¾vÁW§íà@rµMÎD—¿é!8Ò;2Fˆ$m»£Î ð¼õN¡bÞqÙÖaMt Vwc»1EÄ vÍh3É ä}§­è^Ó‘rèƒ3Ùá Dè[ØHQL›ùšŽ»`ÃÔ1´Ði+ ‡)é]è(¡‰¯¶¥4•˜ÝtIœí•+€ãˆ’`iá‡Õ—hÎ  l]un_«‚{Âçzæ"s-l¹a Š5G°I¨Á†8&)Ò|õÕÜ1 ‘TÀl´8æo0[5ñôGß7x#u±<{»<•s:ãùmè:k‹,ÛÓ«VrD(UÕîæÙj4àÀ éú „GuQƒÖ÷#NÝU5¦ú-Y`©–颶+{JNø¢IóŒ·;\kÕ/T«k yM²Ib<âÊ}„<Ä€Œ8ÿ§èK1jxkç4L ßw‰˜Kp>¯“ö=jÇ:C½ûlü‘.qgrÁÂær.áž•âqäb® ïb‚̇^÷ëES¾A1Št«¡„aœ¶i´Àcæ¡Ò³Ýõ»j<­­ÆÍ} hO÷±zv; È«qäÁ»|§ï»)f üÇâb1%ä½%´k£ €Y´A¸˜;b†\ËW­<zT\-‹‰A9eÏCƒB HC3÷½Fkû^îs%rbMá6QΚFÒáºlrðš@LÔÁí½ÃÞ‘ù§YÖ•CZˆšYGÌÚÒËԜΠx–©Rÿz9oa×ôÄ@¨g§ï©rêÄÀ«¯»ùí;7®Ùæ]!QJÒ°—”`~ çý¸.@{Xà[Z®)¾ƒ'±`^{€£ÍY½ïcí°ŠþÇàÉm*Ä>”ÒK³šãQ'¢3PÕð‚sbÝCoñØÝá š;è‡$Rõ@úðÇ}4Çm$êlŠ®iqóC-wP²ï0˜4§·ŒZ Ñ{X9°‰PrÈP²þôèT¤m/Öö´Xð3²¶ùÐ…­7Š<.û‰Yo·YÜ“tî"šV›˜]·_ë}_b¥9($ÖÜÊ^R‚:A=Ÿø¾¯¬ïO†)µÀ€¨ÀØç̤™H‡òñÀØWðPL@{¥Uí`*k­ðè¿–z[è\@ìZr`lRo0fä}4v×|- À`­SdQåf\–+ À2vÚ¨ SíÖ*ûlöØÉ91[rmë]o¦`Ê€ûsj¾¹™”‡žÓ¼/Uึð&€ó'±#\zÖ>ô%Zå¬Ò½ã}—Q7çæ'Ä0œ6Ô’2D€ÚœPø‰ä{Æ*”9Ûï'Xcš€CÂ÷Je«[[I|3û°Æ±NÆ’¾ä«êKãRr9R´€¦½V›}$r¦Ç÷­é>>P¤c纉þ¾§}]!Žp÷TÍio˱“Zõ–ŒV}kùÅuW“Ç¥ÍÒR.Z®P½… ñ¹bÓ4ìÐlrlµz䀬¹/Ùitx…”ŸqÎMÖ·QúâÌ¡Sø™œwsAªíÂ2×ÄÅ E£ÚC4I;mO8ÿðWg»o„ïÚ Q¯]ð²÷\L9óµš 9‘2 €­Ñ€fÌÒ°¡`‰t`~<ÕýòãÏ—§§šbùãòóÜ<Ç8¨*)Ž!äfHàøÈy°!Çm7š‡o%×Y¬óÛc¤õuGÑtYoÒHQ;š€ëƒð“vÙ³Ðk‰Olß1ªFuÉ}]­ÓÆ8U sšT*xùñVÓæåàä®ím1èÉ[d‡ ˆ ç}Ö~ÝáôI]2LD"½ÍâpJr5÷ðzzß°›P²§,û ùôqy>¿ô@«E Rí½èÛ~*èæè¦€¸Á‡*§Rù»u„^oت¶ÓN €J^Úèú¦Q€ü0Ê¡:¿¸ø§h3Ò£›PPY߃i½n.EÃÄø—sh›ŸÇ$¥ÛŒãèAí ¸á4}§Q}h ¸THn󦉃ø÷EŸÒaúáîÆkΨ-†S^#;y8Íø­–§• ?A¾iÀÚ eol=¡¨ulÃ5—Ææ­Z³ß­¹ÕÑzˆ¾W+þ»6ókÙh“¢–g»h®ìÛÄŽÖ÷q.i‡R#T5Q>ÊE,&‹³6Â]ÉÁ@ÜõëÀfFâK‡¾„´¡z 1ZMáèÚ2®¡GƒboÀZ~ ÅÙ‘F+Á?FLpÏljwEØek{NÑ÷2Íh->|<]ŒIï±ßÍ7¥iâ7‘b„ XÖôÐÔâñØÎŸò>ß›Ð-8L/Úír”:ôE…PÎí„óÉ_½óª`aÐï6Àí9–LúvtÍUIQHÌï Þ^· 1ýu±Å Ò™­Ç„ZMZa™” íÀ“¼/WòÖLI¸S•‘m«Ê¶¥*ç%m·à*Å*!–›>‚V0‘WË3Õ-\›únù½JΖõ«fÙˆ7FÛ’‘Ø…6²!ÞÝ«]éÇÔê‘–жxNZúâS·€†ÅÁ‚̯Ã\¿dF8XÐt”C*Í÷uˬRñ'µKÀáÜ=FÂ$µIVZ,™¬¾6âQè²ÈÍÑ`=L Ñ‚ö¦ 3EªOV<صÇÑúGÅÓ‡Öe'‚–º”ÆV{ðƒ˜À“JÒþ¿ÙdÍÉâh5ï|o“¾7ÓxÇüiOÒÍÇ«ÃÇ|ÕÁÝ„KÀÓx»æ1t*‡ŸÄyÞ×È÷ã_–gò7 4àí=E-ëŽÌ£h²F®a}§y§½üîüe(´Z6×*l‡Íú&ŒT4QkÚÀ¾™7Pm×n] P¤í;ë´íkܼêæàð¾™3ˆDEô=±!Šâ¦P4ý4ãC©ˆ¸ ÃûfCsü­dã;@ê°<´ås÷{§o-å C[Ñù·ØR2Ô\<`W{b¬\±Çª =Ü#yiÛ{{¾Íü6¸-hÑž ¬æÎ=Ü1>Äë–ƒ“wýo±‚6*QíJc[°Úg&Ç”±¹XWØšƒƒ\g¢ÜÜíK¿Ô‹”Kop=¹2j…a-Ó\'£/swâ¥â´m4¬ùÍè {RJW¿,ßÑùbõþÃâwŸ3ž¦oæ.‘°‹)ia:ÌEÒîüÙ;üþá÷¼¼<Õÿöůßÿî_ž??áåÙJ;‚ž<ŽŸãÇ×cË%–öÙÉËïÿ grNØæ“O˜ƒÿjÌïW«¿}ùòÓ§O/úòóp¡Ëów/g]®â¥Ï¾ÿéêç:€û¢¼°/Ü•l ¡-ûýU?ùýoþ?ýJ²#Nµp³»Šó­dfÏ`/·SòóEB“^<¦=ì7WÐ^Up=Z9ì÷ȇqskSó ZÛúùíhæÍú÷ÖìbÑ$› Œêš Î@×Û@ž\žM&ä5,Ð<ÊwKŽš›Û3X`Ž•»l—“Éd-<ȦærµuOl6u—}¹Ý‹«ŽþC ¤êˆ%uÕ%ÒDbÑŸÐøå*"p—Ú¥OÄ.Y.03I²\WiNúL虤9Œ’ùJjmÁ¦A§i X?_)?CÄ„-¦wL!1~Þ´©ÂxÞÿ¤lÚS‚±‘ ¦ /ë!ÿ¦ÉžÃ/¿î<'÷êPgûÃÙ±½m–i ù',W>0 R Íu"èèœ7ªÔŸMï4†cøm Ó¯Û*Œæ•RÖD0`8•B*§8Ë¥÷–>4ßkm ñve9bë5ÕÞǨ$UEጎ’‡ }> ócPÓ éºãì ýkÒj£8‹–ZÖ¹ÒIN}ôTD§(³ÿ“5ï׺0"ÆÒ*Qp`ŒÅh„*@Z>kAi©lá$ÕÀ©0ÊÚˆ¼yË”:°M¬Uþ¼;ÁF Ýfînªn„Bc+7’•? ^^B)7Àöòßàa“=¬uÚ²KÍŬnÖrVh[24„À=W‚Œ”Eîe Ø«M/¦‚6˜kÌ÷ˆ[ù0cÞÏÕëú›á:6 Þ"ɧ÷cú0c(ãcáþ½VÃûðh{ø˜‡úáõ0öë@>>”ò^rºó/†4—Õ VÅV‡|^| xœ•VkoÛ6ýž_ÁjÀ°³ER)¥±Ôy4@ºx‹mŸ>.#¢²äJtlÿûQÇnÚ-`@ÖŽç\{Ä«‹7W³Å_ók”»eæŸÞÝßÍP0 Ã?¢Y^-®€Š/]”b„xœ­WYo7~÷¯`¶@Ñ•—äòX&¶×Î8‰ê8hûTðZ ¯µÎ.åãßwvµ²–ÒúE”¨™ùf>Î ‡{ÏŽ>žþ={Iæé¢&³O¿¿=$Ù$Ïÿ,óüèôˆüõæôÝ1a»”œ¶vÑU©j¶Îó—ï3’ÍSº|žç×××»×ÅnÓžå§'ùMo‹õÊã×Iz ¹RȦ;{àÍE½èö¿c†cVÚƒ,Ø€Ë$KzÙ |^VWûÙa³H°H“ÓÛKȈ_ýÚÏܤ•ò ?·miÿÓé«I™åh$U©†é‘ES¯*¨C·—¯¶vöêjqNæ-ÄýìsÚõ]—‘êý¬K·5ts€”‘„P#B/Ð[ÌG÷\nq Õñµíºý~Zܲ_l÷0~Пïîc´¨EÙXg«Raxýk€‚ܹÕyn6›ñ&Wõc¸øn[,ÒGî¨r¬¦gávY”Íä;0$˲¾ºË¡ýe N 6w_Ööi̪ÒAéF‹Ý ¤ú»Ià`ëúâ·*unòiq3JƒÐƒ8ë ˜^ uc¡ÐÍE؇Î. [~Fy f|qcÕ4ª¡˜ÛÐä.@ÎS mB‹íÉJïüEÛ'¤ Ñ4“6µ‰¯÷-ÍÀcK Ûqÿœ„-Ñ\<ÂE(¦èÇ¥Õºroÿ«º‹WOP?YØ (³6††àÉP¹…ZÔ*ß 0ï÷÷'#ˆ²¬œp „Ë¢@]3д^'¯Œ¿¼Ð-”Þç"¹CWÕv÷¥÷X:&cŠF£}r—ëªU: £n‚¯ÃíXdQ©Ï¾¨Ù TØÆ¡Ê áûÑ•Z/}¡'n\½V‰R£ué‰Lç´±.G­ÏŒ\CfØgí„ëjªPy_|><¢7l4}VÊ £òªÕüÿ^ÓV’Z£‘·O^ÿ¦ë•ö²üôóÙ9:@ü·Ùü^쪵». m¥Óû3P%‰Á\ œ$,Î(Ž(1±Ð‚¤q0}YØå—ˆ†Œx8gŠBÄý © Iq––È”1œ}¹µÍGP{ðTjà gR.™ŠYÌ1“ 2™ñDÐ|_3Ê v¤Úåšcüëþª~/¸¦±RZñØ$ZaH6§ISAñëÜþ©¡¾+µUмƾn\µœÕž="„ó$Ö& ‹RžrÁ('1Ï86-ûsÍ¿±{ÍOtÍmmõÀŒ¹Iµæ:ÒŒhÅ ¦ŒQ¢ã˜á˜ŠcË´U'ûå®ôC8¸Œ"£uB$IiɈLI5e‘ŒÅGWöMIX¢87ŒzÙTF!Õ8„ íÝñT¾4åKíæU¿™^UïÎÁÒ¯@õÀœÈ ÓŒœAäç ÐR¥Nã8&QÇ|¨ú.ûïJ çv»«“:èSŸß:ÂÔkL™¤æ”)M2ž)®ŒbÏôUßt°‚úÆÅ;Ñxlùºƒnk±Ê÷¶e‘ÆŒ)Â3À&fJe‘"T #±Ÿo?Ø®à˜7ìNºÃé¾?É¿9âMU9ð§f8=,‹îlöý +ëðÕ ûÒ}:¯Ôaµt;lX/û5ë:l3§gÿ¡YéÚ 99…C_‹ xœT]OÛ0}ﯸxÒ´=¤n’®M¡-ŒI0:T´íirì[báÆ»_ÿ~NâÒ"¦Á““«sϹÇMnƳßÓsÈíBÁôîìêÛH@éÏxLéd6_—³ë+Û˜•¬0ÒJ]0Eéùw$·öñ˜ÒõzÝ^Çm]ÞÓÙ-ÝT\a•ì?{ÙV´5¬7 U˜Ñ?hÂÁ`Ðd×Xd ´ *l€OK¹‘±.,6˜m‘oþFÄâÆ6É'ønª\bÉJžo=ÍåîÿÝ ¬(´e…g8U êbÐTnNn2î8 øŠ…£wXȶ0Ñ›í=ÎcI;lG;pµú± íKüª y®Ö’)Í\ýX"H ”4ô˜«Gh¾\¸D'll¹äX!`Y8g¼v¬¥Í¡r‚qÊ`sôHÚ v ÌÖ9ºd·ŽaO‚Š.ýÇxZ£êY`Yœd¢›tCÞïó~–%=>@dyØç’îü*œT£ç<ò¨Kû–ÚÒX½˜*m½ààKŒ\d¢Èµcz³´4ûBi÷Ó¢ÐAÀ9…”¢OºcRQÂödÎ{I²uº»“µÜiBùâl›CÓqÉò²2ÒÃÒ¿Étg÷(òI}CMOIωÁw’Ôˆè‚(Ø^“!€“:ÑwbØ,ïÞàý?VÜ›¬qÂ’„˜ì¨Ú›+È4Y¤_é»ÁlK·MS_Ì—…›e2ÌJ{ Ìq81‡Öñ虌q2˜m ‚üž‡¥v.ÄD2q&l‘–'èkT,°u)h%+Œ…Õ–kÓ1o¡í5ä z ó>³´XM›ÝŸb^æH(W¼sZ*ˆIfc²I„ÒR%¬Üw6–ÛóÐÃ*s =Ï{Å=Ž—ƒba.è•Ì"÷Ön®ô‹‹æöõ¤­CS‡y=ùúa›rïiÙPæY£ð®uèÒ…в03yº”c´.„c*á²iÿïHJ.P99Hb4I(yç yŸ1©Jeå#‘<½Í÷fPΈ݅²gó¨Íh%]ádKô”ðpÝàþ{½Â@̺ފN# ‡Æh2°A· OôŠMŠt¥ ½ç¦h’.*@RÊhiEe“V Òi+UøHi2'Á<Äœ-‡”&!Ðy0SI ,Œóçà¢= ío%?³ˆ*F&ô3¾fr—SN,ƒ-tyL¾ÈŒÉª%ñä§Åg|ÊÔ†!—Š Ñ:i\œé¤1Ã"!9©MxGMþØyþ)]>] GLݧLÂ:µÓJ’ñI-ÞN/·)«{™5$Ie0`¢ztÖÑš0sv›Vz<½Du=k½ ©¥¶Ê0Þ è"I; ch¦úéyoˆhWLÐA»oRœ#!ÇBÒ˜ð *)¦ŸžwÌ­ò|X*V 6#x΢²t¢œƒ7®g¨èm€7–ñ}Ð’áÝ«Š/Aèzk¸ÄD/²ƒðâ›AϧW´q¢¾ Áb°L&xE$¯æ¦¼†(Sßÿ3î/=î.W–)nXÊt vUãû»šëº=ë¢nŒî.ðòâ§¿Å[¿Ñnvú+¤ávgy 4nËÆÝ›‡/þM ‹‹’ea¥N•xœ­YÛnG}÷WL Ø+±ï—Ø`K¾öFë(ØÝ§E_ª­AF¤BŽn¿g†CŠ–d‘ÔÆ/’ÆSuª««Oš~õÃñ¯G§ÿ9y[µçMuòû›OªÑÞxü/y4ŸWÿþpúùSÅ÷Yu: “yÝÖÓIhÆã·ÿU£³¶½øe<¾¾¾Þ¿–ûÓÙ×ñé—ñMç‹wÆÃ¯{íšå~nóèðÅ«ðæ¼™Ìqý÷ ëþ] ?Ω U÷îýyY_ŒŽ¦“–&íÞéíª´øë`ÔÒM»0~™ÎÂlNíÁï§ïöÜh 'mÝ6txàê]MMžW{Õ»ËIꢛ¿/þûÅ«¦žüQͨŒþl÷Ó|>ªfÔŒæímCó3¢vTµ€к:ïã!Ô8Í·ø‘ë«*5a>?èžÓ Â7>u0N=Ét³¿XóçPOª“ð•^ÃaõÓyó´}ù”uÿ|ƒ ww‡bŽxœ••ß“Ú6Çßù+g&Ó>[–%K9`æî’ΆÞiûÔÑxê³/¶8࿯lL É%\ž„—Ýý쮤¯F¯f§Ë¿·hí ´øt3ÿmŠ‚0Šþ$Ó(š-gè¯÷Ës„‡1ZÖ²lr—W¥,¢èö÷kçßFÑv»nɰªWÑò>Úµ¹pÜÿ ÝYäÐ8L£¸{(ÊfüL,„8Dw¾ _ÀIÔú†ðy“?ƒiU:(]¸Ü?B€ôák8عCð•^˺7þ´¼ yù$.wLfÒ§ºË¡0 ÑݦÔmuÍ(:ü=yù/Z×`ÇÁg7ÔM Šqи}ÍÀÈylOkÚìQ_ªªÌÞ/&BºM3níP{“üŸaÞbzN^Ø =y‰r£HNЛ‡Ü˜Ê]ý(º³WOP?å°í³L[úØ_œjC-k½Þ÷iÞ¿_œA–eå¤Óg¸. ÔM›ÃÏÉOÆ/¯Â½ƒÒ§÷¾HíѬÚíWPúóƇx˜ 0<:w¾®z<˜Nƒ úmoüAyó³øjà ™|©Î£×U Üô3þG“¶Œ)ú-óΛ¢Ûó‰’õµòSüå×Á[tJEp>æ?¦‹®ºæ^K¡eÊ%£YF9ã 5œ*£±U6Å1I0éýûÖ=æÈº¢Úþ +Ñ)“Œ3­¤ÔbkItœ'Œ†¿Ïj`^­.¢®wù… §£F%)Ô*Jc*™¶“تÕú?ƒZ¼ «3”È 6N°Œ)N˜ÕJdÜÄ,È4Sü»(°U ÷ðXTîoÓ¸êaá{f¬ ‰!*#` “bÁ M•¦‚2K[æ—˜o¸«¼¼ØàÂßaõ‘'SŒS¦µaX R1H(èL¥LÅiÚõ؇|«œ¯ãE½}lÐ&Š ž€‚ ˜Í8VBY¬5ɰd±9 µy–8{q¬_S³$U1!Dd$“„pe8N™„ËÔû|µþil*À߃ÌXËIªÒ æïˆ%&¾u%~ŒÝ”&/W³¼q^+.ß}¯tpÛ…ôtïUJµÍçË,ÆþÆJ¼ €¡BwôSÔ9?ê”ç¤pG5ûFælUù“ hrÌmîÖm¥½lŸ^QsÑî)=Vzyít¼—Ø£Gý“µž“ÁNè‘!†“<È@„$Ô¦1‚;D ˆN mÜ/ïià-H¡}ôÄIAii…±B+%±`8ðþEH´04;‘¾¹ê6Ú&½ä!Qâõúš¸w.G¨à;\ç$("˜ŽZ#˜HŽú@X Ì0öU×-‹26°W\B3ZX"”&@r‘E0 HòžðÀô&¡yŒV‚Ûm·Ñ‘Ÿ›z}9R!¼Ò‰QŒ Ž Ffd‚p‹lŽé²I0f ÷11­¬—ž1ã,zG][ öœF}ýßw¾Åκó²î:çËMdÒÌd¯RI`d€'‚Ô<ÉGï=&ÞCÃج6ö£Ñû¨‰¦§“Q,¦D1å´±Ñ×ß߃í麹ÚÈD(rOÞ…>Ž‰æ ‚”&èÀw ؃ñçÆ].'ÆQ€N€ A«ä!ê4sVk*u{0þ›GÑvVŠõÍÆ$–Rf­ÂÆDÃÐFbVª”Ñì)Ÿsý C»Ëùë¶«W½ï&pOw>%YÒ1q¥Œ—†«Ä-C÷ µîŽæ9Ø_;X½5¦¾ÖˆD°…D’Ŝ¢TxœXYoãF~÷¯` ØVVßGÆ60cÏLÌl¼»û´è£Ú"B‘Iùø÷[ÿ7?ÏÏgÙ~Y|ý’ÑC’-WµEWÔ•+çóÿ̳|Ùu—?Ïç××ׇ×ü°n.æ‹oó›ž퉧¯³n‹ò0v1?98oVeÕ?ÆZkGêá.¸ˆt.ëïÎà¯uquœŸÖUU7[Ü^Bž…ñí8ïউ߅¥kZèŽÿX|š™|ŽLº¢+áäÌ!«O”±ÍfÙ§uzéÚ£ùøóÁQYTfËÒqþWwÚ6Ï(ó¶»-¡]tyÖ!ì„Ö_è¹Ï'Q}oñ‹«,”®mûshðÈ=8øÒÃL8EáæpÔù«+ªìÜ]ÀÑÜd?­ŠëîÝkÔÃy}ÍU×—Óþ,ûm:ܛղ€Æ5ay;±ùeó¾7WUuç:ˆ‡÷e™ Â@Ûó@;¡eðñÃl–}† ÙãÝÌßfgõÍíToæ²l6Û\îvõåxtoØ|r{‹òÓT‘w0üäN:&,ë&ÏŠ8Ùø!?éŘe!›¡Ëðòº|~\Ö%Jó~ÝÕ_]sQTûûÁÏÙ=7(óm‹ÿëôü‹»­×ÝÇV(Æ ðŽl" ŒðJK ‰¡RZ{‘Ÿ<&ìòWÞßí7 Ð6Qà %‰–F9gáÌÉd!Ò0`lh&³£ŠOõü}íEøó´^WÝNm{‡H˜ß˜¢§¬±¶»ÀÅÊÏÔÙÞãèíò÷ü $).38=BGLQV[`ejoty~ƒˆ’—œ¡¦«°µº¿ÄÉÎÓØÝâçìñöû    !"#$%&' 3"?#D$H&M'P)V*Y+]-d.k/p0v1z2}3‚5Š6Ž7”8˜9š;<Ÿ=¡>£?¥A§BÙCDE%HPJxK†LŒN¥PÅQÒRäTýVWY+[6]9^T_X`bcpdse€f„gˆh˜k­nËoØqQ!µ‡Œ‘–› ¥ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú{uoic]WQKE?93-'!´z²y­w¬u«tªs¨ržpœo™n˜l•k”i’hgeˆcìsðuvx,y3z?|G{‚†Ñê  0P\m|‚”žŸ! %¡(¢+¹-Ö/Û0Ü1Ý3å5ú6û7ý8þ9ÿ:=? @ BCDNFQGRHTKYM\N_OaPbReSgUkWlXnYpZs\^_‚`…a†bŒîñnoª·óë›O4C¾¹}¾/ª½½õËÝ»Íü|õè.°£þØ—H”ï¾å†ýø #oW‡Å¤É|1ªêÜÇø¿HÀv{U®öpdxùbÚùa¦%M)5Xð?¾õCuç…¦£ÍHÿ~t±læg'ÓyÓíñÛà³rÌ…è…ŽŒI¦sZ(“¼BÛ4:ܰé£Ä-ØãKìdðÉO×õ²ÕRs!”H™ %Á½’AÆÀYŽÅº$[ÐîýðŸOºýnpqJ½oÒÊHËŒRAkÍ“5¡XéCIŒ¹HÔù¾5Ðnü´­¯ ™\1)æècf±„”u)L)…înü—h5©imš˜XfÅkm'â²orˆ"òU”î?ð}Cgë4à…y–52Ê‘Yåq. ¡t.ßÂjížóPyŒŒ"c,Ù¤£Ó){‘|ôÜ Wá¶À$C÷ò:Ës¨q%%‡¦+ָ´·Ð+˜•ÅýÄ®—ÍÇ/‹Ó9ºíNì¯Ã™r RIËm6(,ÔW”I’t‰Q–>ÿpÞOM§•J8E‘í eÇ Ñ¥¬ói²½ãÓùG¼Sš4ƒ¶Ý.{Ó _à£t–2Ù☉V¹h}.è'^˜n9÷mï¯f®vâUø©ˆb™œÈ*š€N…µŒ4eæÙ…ß.ò4ÙûwÖËá‘l'ªT¤ç9iMÞ;[øíÆZ›¡îq&´èB( ~t"YÉ$FV%¡¥“\ßtVÃzãü¢9žÒô:]”)q4^I¥Å©sR-×aº3’›èÕ€ zŒyÄWp‰úFÈŠœH9aÔwý½µù;ÄÛL91§’±B¢°9+ÜDÉ3S&óü7: ²òx–ëÙ§uI«(Jð*b;ø©% Nñ¬¤l‹«¸ÝZ $–®¿Ú–qí™$™Iïµ/¹8Á¬f™-C¸¥˜{æÏíJÁ5ÅY¤Ó%Hǵí'KN÷;ä3CÆtâJF^ŒIѸl!+$óZȤ4IzYÈ6¹ñáÅe¡”óF8ðb´BiddÈ ñãâCÄ’Ú+S%K&"ô…g"$‘Ðp^ÌÅo ô×§!¢óФÊ!Yï R«@É0ˆ™6£K‡Ñ¾?ÀíÑÅâr½v! Ç‚³( jËïÐf²Œ)0Öfuç·3àøçE8Ÿ¬Óýœ»”ŒH"XëL2ûœ•ð‰'·ª¾Î`ãz–™1Ÿ„,Þ08å&… Èo±^Ùû­‡$åGzp[ÂôÍüº°ZF#¬á ÄoqAxÎ.¹í¶-6ô78ÿÏtKÐ ‚CCH)ç9ÛlÁ&DáᎠ{³v}®ÚENÖIÊ]–+0¾Ö"oKŠž£¢ÛElæŒFÅjÔÒ]€óZï„UAz1íoW>4oQ "‡À‰ƒá7ImtÖµ–Œ[ö¸ZØ ·AHÈÒ¬Ú‚‹Îš”³OîN܉¾¡®mº?©¯ÏÂù8 ÇàÑbm4J„`%X\£ònVV!ާÓú|¹ŽU!o)á B˜16CÝÉÉt‹Ñ›í¹? ";mvÖEä,„( ¢#<,9jñõ0¸{‡ÍÁ—Jg(Cˆ}HC†IŠ š9uw ùáÑ¡™6Åh–$”T( UaÜXEåaá½­<ß ?-æ³üÜašasž!ó¡u$š òŽ“–£GósãwOVEå;—y‚*ŒÊÌ¡!ë(šŒéézKVmoìx±˜/vêêͯr1®% “Èajb­ØÅø$É–“º×á·áÞÕ»ÿ±…–Mf#ôdÛ–C³ŽehVØ“h-´y³yË42¤9ö$A0B“Ð,¾U]€óÙm3Í6àû³ó‹é’Ú£|Ö.cbœc.Â/xá¤,yŠÂf™]zr—½ÖKóÙNÌ e‘U‰mƒ ¾eX0 ?lúÉb ²xL!ù 4k{Qö˜:¥'í*®Hý”‹}±BzÁ5·F”zJR18B’Õ|¥|ƒo2` ‚¬„7Æ”Â(A± y‘4¤l|±jÓqƇSg©84)hcë¬w0ÑÿƒêÑó2™Ÿ„zÖÜŽ•,*ŒcP|ÊkâÝlÉ­U9¡c \UUoòâ³sJàNî€Çòb{¿]4Óš»[Ƀk0Œb”RåmÑÁpÒZcÁ œé臭á÷‹°hê)á¯/[††˜#:Ä$2EÞY ®9:”¹ÛËø˜BƒÄ”›åÓv4Y$‹ŽG"Œí  †É söÅåS8vG‚ZI‘[Ô&ÉFTO·Ï“p¾»~ú=l/MÖÁô¤g©,ú‹ˆHêŒY ÊE1ØJÉoÚ=~_DR%hLU\dRHk‡"”^Úfž"äM~ФNëôùCˆ´›ˆ7 p-x¿EÌÑ3h?9ú •èO8=½=Xlþ5©—Ÿ_^:晇h¶¤ …—εHPÉ Hê9;î.Dî.^Ö—,_ݾ”ù5ªÆ‡w÷8Wu3iWÜß&Ý]îåÕíNw÷yÛÕßút×KýÍÏú†hÜߤÛ7_ý“" ÞMÞ‡qef äxœV[oÛ6~ϯ`U XÉI‘"›Ø@ç\Z Y³ÀŶ§—ÃX˜"¥Ûÿ~ÔÅ»SÀ€¬£s¾ï\yxòêôÓ|ñ÷õZú»]þíòãEq’üIçIrº8EŽ“#d¦J±xœ­YÛR#G}Ÿ¯hËŽuÄ‚ê~±"< cOÄx=8¼û´Q—¬Qlj‘šÛßïéV $Pƒ—Mgžª¬Ì<'©×ß¼ýíèô?'ÇÕ¤9›V'¾ùðþ¨íÇÉ£ñøíéÛêß¿œþú¡âû¬:]„Ù²nêù,LÇããªÑ¤iί®®ö¯äþ|ñi|úÇøºõÅ[ãþǽfÃr?7ytøêux}6-pý÷+ëî] gÔ„ª}w¾\Ô—££ù¬¡Y³wzsN£*­~;5tݬŒL“°XRsðçé»=7ÃIS7S:|àê]MÓ¼¬öªw³Ô®nùz¼úó«×Ózö¹š,¨Œ¾4ûi¹U šŒ–ÍÍ”–¢fT5€íÑÚZïã~©qžoð‘ëË*MÃryÐ>§…­Z˜§žeºÞ_íù×PϪ“ð‰^ÃaõÝYó¼ùñ)ëîùü’—5]õ^ŽÚgÕoýÃÁ®&5-Â"Mnz7¿¬ì!Ìfó&4”{?M§U·Z¶>'DßìíU?Ó ‹}X\]"ƒ¥”ƒu¯ ʆÇx…:ݾ¬Š‡i4¯+•Û{ˆÞ¦‘‡ŒÍR5-øéçÅy,¢$€øÂ—0;Uê¼€Ò¶(Fç«ÊtÞµ'Éðùè¤,ªѲ7¾ø‰iÛ5PN£ÖoKh—>B>ÐŽlB‡žŒ®êÚnÃÃÈ”ªm§š Rß.;𑧍,l&CÌWª¨Ðµº…“DÍЛ»ÂÚÚÿȺ—×Ð<°Qæ }…C- hTc–ÛæÃîý`UUµWìˆð¾,Qï ´FÈSÈLx¼ŠctU€ºHoÑi½ÙÞBúMLð„ 8Þ)÷º¾¾D‰Æ²·¡QÞ¼Æ<=> Cg_½ ΘeÝD¨°cŽÿhÖ¹#@q(YP^•}ÍgPÂ]ûåíÑ;ôˆe´Ÿå?æ×—j[¯üES ¾VŒ0Gp­2 @ˆÀ Û4ÏÃ:®¢Ù7Vcã>íûC‰GR§rjTn“N¨ÀËLHMµD1¾GÚþzôÇ*Ìˈ¯SÉC:Nj–1ƳÜQ­rçx $ßÃïÍ&ÙKá"“çY®3#³„å DƉÃ)g%n^¯.ÚÈK¥¥ Á1+µ Jc!˜VØhÉd?—»½°DcK9çi– Çy@×Ôð $ãJ>ÖKËCR‘k~„sg%¤ŽåX KËSéä“åù.wí³y»RÍmQ]4õê~Ç쨊¥‘`€fRI 1в´+ÚÀ¼gvpxgƒO»alyjsœ€ X57 %äBì8þL©BfŒ„2ñ\‡žg‡ÊTfÔ“£{ÅîdÀÏ™f‘˜¦š© va°œ”/k´÷›¢½óµ´U\;¢|.s' Ô€±)6BføÎæÿõßÜ«Ê>[ýUÝÂH—:…µi&4°Ô2¢AIª„Q.4†µ7x’ ^ÆÆ3škëˆT9èÐ^B¨0Lá¤í@¨Èža[Ô/?Æ…à&µ&ŒªeXĕs" VÎ>¢¹øÑi”ô;äqWíöÒw ËÕµ‡°’Ùãê[~Ùy:.àÇûb)Ú¿ Œ‹²ßÈã²Ü-Õd¼|$æìè?Óˆ#Û ŠlŠ‘Rg£(¾xœ¥YÛrÇ}×W¬á*W\s¿Ø"«$ʲ]¡bF¢ä)5—bËK, ,D2_Ÿ³À‚„, †/†ÓsfzºûœÞ}ùÕ›_Î.ÿ}ñC5é®›êâ××ç?ŸU££ñøŸòl<~sù¦ú×O—ïÎ+~̪ËY˜Îë®n§¡øû¨Mºîæ»ñøöööøV·³«ñåûñ]¿G݆åqîòèôÅË%àÝu3Ÿ<± ÷Þ¯¬—s)d|\Sª~îý±¨?žŒÎÚiGÓîèòþ†FU…fŠ$zxœ•T]OÛ0}ï¯0FBÛCâ|@ Úñ!Á覠ÁÓäÄ×$Zš”Ä4í¿Ÿ“¸+ÓØOŽoÎ=çÞëcOæ·³äañ åbY¢ÅÝÙõÕ aoöŒy2G÷—ÉÍ52u% ­ÚBuEKB>}ÆçB¬Ž éºNïl½nIò•lz.³OVŸšx‘©3Áp<™‚›eYµÑ+4f†cö€Êä²AQÕàé¹XGxVW*¡%Û`”» ؈1ù$ËiÓ‚ˆî’s-ÀD’ˆB”Ï©¤:/ d-ÒÐùs•õÕµS2þžLË¢úòx„Ÿ„žµ-F ”nŶ„6 )«Ôz@ÏNT©iͶraÅe%mÛ¨C#Cô·Àu/£tŠŠÁF{¾¡E…ô¦„ÆèhY0V‹“eñz ͺ€N±ÌúºUÁ7Så4´Éò­¢¹ÜíßÌ@«ªTS §e‰†b í9äœädär iè*I/±(Ý¢y½Ù>B%ýè¦n!MÛ¬¨Wch?X¬Ž½•F9:4=ãd" cÇ¿ª“ÅdyÝ`T05ãïÇ}âH“G&ÁÏåpæ1—€«sšÊYÞø89F{&(ñËi™-.ºÊ‡&iJS‹únê‚g{¶áØVʘÉíÔõ¹ásŠã]‚šÔ{Eôá]¢Œ»†åØÜdÜ2ì °©e¾„¾í¤U3jNFóù„¨U`´~B¿úxØjló=>rý±JM˜ÏOúqša(|2pÞà 8õ4ÓÝñêÌïB=­.½‡Óê›ë:ç¶û~›õr¼ýH³5Ý«œõcÕ/ÃàÞKMjš…YšÜËü´þ½÷ a:m»ÐQVxÕ4Õr34ï×€Ÿà||utTýHS,¹U¼¯Þ´w÷W4E¼¹c~,ª££õäåÜ®½Y =:v4\ûòÍ×ܰï_ `äéÃî°™4ig£ªÎƒÿs5:í·qT]UG¸2L^4Ë;?½6ójѵ—uú}þ—o_|W=®EÍhÓßÿ8»xuWÏ—§ü:aˆŠ’69«¸r¹ð C²N3“•‘£Óaþàà  Ýë0»h›û«vºS×€T…‚¡DA`,Û/—Ÿ#¾­Aï)u;îèú¢¾»7k'+M…%$'Ži™7Áq¦”(¢˜ ²_Â>Z=³ö¢i».ĆV×Õ¯7à»àtrAèPJTp2[ɸQ¸ø¼ ã'Ì?ßÈÏ(uûGö—w¥–‘AÎâνáÈ&Å‹ˆF*°£ë›EƒB‚¹{…Ã'XŠ!§t6%†r"œöT"pAŤmø7º¦W»ËÉ&`”>YrÉ«h”c*¸œ|â>&‹êìäŸÿºuá ·zÞÕ)4¯Û»u¨c¼b¼È6d%“*988‰¬mY"|j¹Ô«8‡€JÝà h6 ¶)³(“ô1{/¥K6zÔI,_]ãgÆ{nÔà‹a=‘Ep‰ÁYÁ ¹ ŸÖàíËnÖlÛˆ`y'­Àm\@ÊY0µáb[-8‘š³¶ig‡°— =ù¤-/w¡ú¨#îRʉoa¯%à^U`/2‹ÚŠ ¶žJL¥3÷¼ìÉHÚ†WOŸ—R LQ”R)ÑE’T±ÌEk¤VoK©wᮾ^\¿ooáÚõi·ô9÷í¢ûqV¯ù¬HˆÏ >¢‹IqSx!ØJÅ®2ìÑêÉMôªkéð~‡8<P˜ŽN%ƒB…£èlŽžG‘Kl‹ÃßÕÓÿûì ÷["#)¡md.@²€Ë‰3ŒÊ²óìaÖ½:,Ä„7üy^¹è¼-<1†ŒEð±¸åÄÏ /T7²'mÁ"É^©82Wʧ­»ç¾¹¡Ü‡÷^4ÞO\kOPÔã>@œ%è%QPÒ á•ĉ÷6[Ñ? ÖW“nï]l¬Õàk£Ž£Ð1\G iv³iûù®>¤Ðu óg±§ó>A@À 1æƒ ±H2¹´5Õ?вÛ=$ÐTðšÏ){M^#®¥–*¶$6´äOÀvts†Ní™'NÐVçì²Ú÷•Æh£”h­Ðl=1 Ï©$¥&VLÊìé’;^>| ¿~âþÙ£øÒ¶Pw£j|úøPÿ¶î&ýî†W ozòêQÿòuÏæ«áÀò]Ãð`ýº`<¼V÷3O_ü³g. ÙÙ†#hŒJÑxœ•UÛnÛ8}÷W°,Pì•)Š”"5¶€¬´ÒÖ[¸èîÓ‚—QD¬,¥"Û¿ÔÅuÚI~ 5š9gÎpf4{±ü´Xÿ½ºD¥ÛThõåë÷ „B¾²!ËõýõnýáÑiˆÖ­¨­q¦©EEÈåGŒpéÜíBv»ÝtǦM{C֟ɾâ]ðø7p÷"§ÚiœOf=á~SÕvþ šeÙÝû‚ÐþØ€¨ó àÛÖÜÍñ¢©Ô.Xn#5<ͱƒ½‚ÏU)Z nþe}¤˜xg\ùRx¨+•¶(@WÛZuÙÙ^Of•©ÿEe ÅsSe-F-TslÝ¡[8Œœ§Ù:‡Œ©ÊFü¡ÍR•°vÞÙ¡õ&ñƒáº£yL­a?4¦F+q3"rôjc´nÜùcѽ½¹ƒöÎÀnDYt6ôi4>ª4ЊV•‡æÝñùÙ¢®'èᢪPŸ ØÃ×ÉWÆ/‚½…ÚÃ{_$hÙì7Pû~K§t¡ 8:÷¾®¹L§ÂâñÚ­o”W/ižO|ðü{v>U6-FF5þ§Äy—F€Jø+óÎÛª¿ó¼ö¢wÿí÷Ét€ ߯óŸ‹Õ…´¾­•{ï`Ó«|)”TA,Eù§šfZ†Š‡,d,>8ÿ)n¬…ç=’_V°ñbžd¿‡fëÞ¶FÜž§àÅh•qÊ“…ÐZ¨°à‰V¡{îSÔCæ.Ÿ§iÁ_Α’¥¡öA&ŒÆY¤ÌdÄ•Š%ËÒAîÑÓ½~ zk]³YU;êá~(–ÊAÂD”DL¥Y©Wwàßc~­æ«qe÷Ö YÁÿ“¤:âRq§ð,‰D'þ" ÐÒ~à~6çÏšy¡¢4£"€Œ _ŸÂ™žÈħBÕ æ¦|ºo.öÆ~ud¤*Ž/˜„‚û ©Œh…Œ&*åICÇŽ1÷I?0§Á<áƒé,šÆ>’Ÿæ|ç/¦ËrÜ6§å¯‡éï¿÷·á¸úõ3n†ã!ã¦%g>ù'0,ª’E~’~cÛ¶iÒ@9IÛ°.¡]„4 ;к öl0ÕÔn®¸Hl©ÛvÒ­C—ô 'fà•ƒ«ñÆçº¨’¹>ƒÃLO“˹:¼zHº_¯/ ¹(àrÐ2ëÖ’OÃâÞª4º±‹õ æÝöÿÞtUÕApƒ†£²Lzc ítÄ8ÅÈÄdzÑ(y UT÷&f×Wë3¨b¾É1“d4Únî÷†ú|³tØt8ö6&ʋ瘣W1aèôÚºhŒ]ÔMšnˆñßE:íÌ%E2ŠG7¯Êþ̧ýû_~=x™ÜÈC™ÞŽñ³ù‰^CÓ»ö\»Ü „‘$Js£”§„$œ*¬´J¥Ó­Àày¤ ¨Xº,þ…¹n¢ó²û‘µ)a Kk ×È*sÁSJŸ[{ ˆ{Cï„îXÐBfu¹ZVûëUxÛn@ciJ°3 £† l­œ1Je[ô u/ûs}ùx0“ÚSç„¥šçÔ)KpN)ãIånp8*‹³jƒ¾'ý}'4à…´È2Ōɑ$3é 1òùm|/vóz'üèªh?ƒÝ’ÆLJafØäŠçȈ¸àEJQÈ{òVæ>ì¼Ôžè¶d‚xOrO]䘳Y@;žC÷q»³ë è¬@Tj¤#ȯrŽa!”ÁŒ‘]èöõò<¬w‚?èæ¬¨Þ6õê|i%H¡‘‰QGظ¸ÀõZÐôà[bwÀë vr¿X4_º›ek*9&ǾâŽfˆÂVš*’oÊú¶ÜòªcðEî)|á1•¹–.æ)ëZ›D B}¬2/vò,wqWm¨—]Ó˜$#&5m°Ã£¸õ{)fwÌk™ž÷ÛÃyñ"¹î9#‚ÄN­bw1ž”© Q !îô¦t6÷¸r´3kvFÄzd1@àc-(E+$(—^Kz×™‰³²°ÿ< ˜›ûœ8b„Ž]ÉÆ[ 7š³Z¯öi ·ãŠã}C$(묎jj)â^sÁ©C ±Ÿãúà‘ýì÷VÆB§Èù˜.·Œ£œÏ=EÚåÏq½Š—Þ“Bi%ÕZùJ°–>ÖBìb1 ®UßãÇ·",:C7><.5r‰¬—Ôó¨áÎŦ¦ Öb€ÿ)¹¬ÅnF¾íxwgîóu»OšdÓ› ò2šÛY8̱7Ÿn3Wöß·çìaÞìÛaæÜΦÙ0ÃgÝÎéÁow/< ùù‰{i“z +xœ—YoÛF€ßý+Z ÷â‰%À•sN¢&Ò>{ÌZD)Ò!W¶Õ_ß%EÙNìZ²Ÿ(-wæ›™™>;þ4;ýkþ:Y„e™Ì¿þ~ò~–¤£,ûFgYv|zœüùîôÃI‚Ç(9mtÕ¡¨+]fÙëi’.B8™e———ãK:®›³ìôsvÕéÂððsnIŽ]péôà°^-˪ܣ+¥6Òý^Ð.>–tÒíÁ÷Uq1Igu  £Óõ9¤‰Ýü›¤®ÂFø•]覅0ùzúf$Ó,* E(az¬£ª7”®MFÉ›Ue;ëÚÃlóúà°“ ‚\k¡<xœ­YÛnG}÷WL ØK±ï—Ä`ËvÀN´¶‚ì>-úR-LrÎè¶_¿gÈ¡$˲I*†HµºútÝNUµž~÷â÷ãÓÿœ¼¬¦Ý|VüñüͯÇÕh<™ü)–†zjxPxœ•ßoÛ6ÇßóW°*Pl²Ä_ÕØR;i¤«¸Øö4â1JK©DÇö?J–g-âzO’Nw÷¹ã‘_Ž_Í?Í–/nQáV->¿»ÿm†‚0Šþ¤³(š/çè¯Ë÷b´ldÕ–®¬+i£èö÷…sOo£h³ÙŒ6tT7Ñò!Úv¹p<¼†î$r¤¦Wã¸]Ùªü βlÝû‚Ôþ±'QçÂ×uù< fuå rár÷Ê÷_“ÀÁÖ탯óB6-¸Éçå](‚È'q¥³0KŸê®«[¢»u•wÕµãhÿûjlËê *0“à«åm ì$hÝÎB[¸9hC—=JUµÞù‡.ŸQneÛN:;4Þ$¿1Üw˜SV¶£}ÏeY¡…|„q$§èͪԺv×/E÷öúšç6C–YgCŸãO§*Jhd“»!͇Ã÷OgUU;é@n¬E}1Ðv9ü:ù•ñWaˆÞCåÓ{_¤vh^owPùý&FxDPœ{_W?íMÇ… †±·~£¼y“øúÊo:ý¯:_L^ÔM€J=¬ñ?¾¢®ŒYú‘yçµíg>µrÍ/¿^½EÇx°Áéÿ1[·®^-líúî^K™³ŒhãTAbÆd˜&RhE$˜žÄ ý{Ö(•…w)–c4Ö‚&Ì$}û¦â¬:]†E[wu³³Éäåo£j4íº?M&————ò YžMNßM®ú³x/<|ww$r—GGOž®¯æ³E{øÀ1Ü{¿–^í¥ñ1§.TýÞ1ýu^_ŽŽ›EG‹n|zý‘FUZÿv8êèª[ ÿœ¦aÙRwøÇ髱MpHWw3:zpÔ«šf¹­ÆÕ«óEêo×>¬ÿüäé¬^|¨¦K*‡£¿ºƒÔ¶£jI³ÃQÛ]Ϩu£ªì€ÖoèOŸ WM¾ÆG®/ª4 m{دÓKá“…7=Ì€S/2]¬u~êEuÎèé$U?Ì뜛îç¯I¯Ö› Z^Ôt9œrܯU¿‹;5­i–iz=ózóûÎ'„Å¢éBGy8áÙlV­.CmìËàã»ñ¸ú…8{«x]½h®®Ïhxsü@Tãñfójo×|\/Ýv4¸½E üð=7ìç'yts;\&M›å¨ªó`ãÿÎGGý5ÆÕ¼ÃeØ|>[ùüh»?_ž·Óüøä§êö šîÚù_Ç'Ïb‹°NÝɬéºg´Rõû@V%.¤“"îXâ–„LbÝeíèè!á•UþùUÀ_;š¿œÍêíJoµL9k“ϬdfC.Q˜l"ÏnuGlGSô€ÀY6ÚéÀ$3R†`}Ö“JÚ¼Aèev=ŠÓrE‘$²³EKa}ôÅÇ`„ò†Ç¢oVR;B¼£´Ñ ²˜ `8!(9ÍcБ%ÁÈ Æè —bqp ÇͬYn †{fË6ø]y¥Sr&Æâƒ„yLûÀ>7Û§ ¯Ò[1ûØ9íÙjµˆ0ÆÉ`ç.r£Æ˜•gHÛÄv9>_^l æ˜ó\˜¢Ò–+qGAùÌÉIëÿ•У¸´$ëpcʺ”à³)àŠð¶8>{$—Þ buLŠbHQkküO’¹^å·ù³GðžÔWóðq£‚àÌiÍ{ÆNÊꌚë-ÒZ!oÉz-µ?—–ÀJ´ÉHá'î-¥¬¥EÒ˜ŒP+Û¸´O›Ýøô>·%™ÐÊh#ƒ kŠ·Ùº ñ͉¢â¶»Ðè·LÞ¢¬Óvp\µ»I!KF–˜Š²„ô1E$s]¡b“Šì òðò¬^¼¯36Ï®ê¶oS·÷ظњ­Y‹HÉ$ÇS6"scSA™5O`ÿg¸Wõü|þ¾þ½®w¨$oÂusÞ½œÑ}Ô¦„Å jb`X¥’·–k–Lé Oѱ5G}"¸C<­÷ÿ²¬ó† q<ª¼çà 4wÂ÷¹à‹U!h—î ôR;@ܨ-œi=“Žt±L±À(²@*}=rêÅ>†ì> )¸ɨ’а2x-‰‚4¢rúÏ£ãËØ//è‘yz"3Ê™M"°»)æ¬YLRÐúûÆÏ}M­E†{.Ñxk%cN r@@U)0Jl×ô-æÚ}ÍkaÙ ŠW]š-tźdÔ ¨©-S;>Þ®HJRANæèr†—“¶‰“TRahYÿ¦]9VX(©”°–CçˆaŠitjo~éKÉr¯b(Œ•çÆ 9-0&Â\ }è¦üŽ¥ ±?3/t„â¸ëžï™P0gKQ–ÂÕJp®íðÙU\o±Ü Ü–±ÁC¾šªX²2/æîøýj¦”¶Ì" 滑ª4žÃùäœqÇEÁTŽÞaaq€‰Þ–¨Ü¾õãV| QtWX«×uèd, c7nQ®.[Ýæ°á¦þ®Î“º$ xðø»"©/#‘™od5óTérŤø‰oÞ6nàÄ’œûüy<dj‰U{—ìyÐê°^¯Ó¼îÍn³Ã›ýë^ÞmwX¿×g’B÷NÉ=+ÑSsÇFþêðYk‹®šž¼Ú [øúÂÄNˆ×V·è|£‚³Õƒ»Ç)а­Ô#ÓÆ/ÔÊQþ qœqŠn”B —xœWÛnÛF}÷W0 ´@eî{Il©ì\§QmŸŠ½ÌFDhÑW¾ôë;¤(KI[΋(­fæÌœ=;OéâyQ\]]^ñÃfù©˜}(®»X´s¾ŽÒŽçaH!õ€×çõ¢=¾# 5Ƭ½{[°çlÖÙŽà˪º<Î'Í"Á"f7g~ýë8OpÖÎ/üÜ.[HÇg¯F:/0HªR ã‹¡^UP‡6e¯V ße×뿎êjñ9›/!ç_Ò¡oÛ<[B}œ·é¦†vò,!ì€ÖtÑš„`m‰DxœSQoÓ0~ï¯ðb„+cž/ Ùn·á6¥z"ùgÒ8®È%ûÏÀe†Ì0œö¦­`³µNþBM&“.»ÅeöX¡ÈaxYóM‚3Y¨M¢»%Ø@cºä«¢¢JƒIóy0ÆÄ’n¤3j©æÓ(@óu]¸êô”t¿{SÁë¨RP&øÅ„…Ö) Öf'@W#ce½š8vâK]J¶³ãTªuââ lˆþ¸s2^‡× š°ëùžò-èL MÑÙŠ3&ÍÕ¿²Û¸Ü€ÚpØz–ÌÅЃ¾šªâ ¨*ª§¹Ýß_Í@ëZj€y†k!P[ hÇa}²ÎØã$Ð{¨-½Å¢åÍd³{‚ÚîÛ8ŒÂ ‚=¸ÅùÜ…Æb?vmåì4õ¯zvaâôWu¶˜¢’ #μÇß%N]’(°#³àµhgžJÅ-uËðæmïX@àc§?e‹ë†ë¶¿S:¼8Çå õ£ó!cÅFqÓrO†“ÁhˆS÷Ý[¥Nnm4gI©˜Îå‚7 ô…³µÚ€WŽé9ë.Êq³a´„,í­Oiƒ"_´Êm±4iû=øº÷ðsK) XïHzÓ–›ÊÕç—åðvY7¼ö/³j»=~°û þ¡‡L{?Óìy»‹!Uׄ|„ê2óµmÛãn–¸d¿Z8ë`œjàúp]ó;[-²©ýG…gÏΫšôâ>ï~½¹„åeWC”I·–½÷5¯`i—~~3„y³ù½w»X4É&C„—uõÉ@ÛÅ@ž|<²×°Àðh›¹›ì¤¹¾ù ì7}HY6mŒ{ÛÔ\¬—¶ÄæÃ¶·Ø(ÏžRI^`Ãðñmv˜ŒŸ7Ë<«ÂÀñ¿ù¸Kc”a4Ü24^Õýž/÷tz‰ñ~ùõày¶ u¾KôŸ“U›šóiݤ¾Ä§–9ç¹£ž ½×VyO#'DûŒS<ïø $ à€ºDÄ3{ƒD¸‚žÞZØFebé•A”`½àB9ˆP ø{ët'x—ÕÛžQ[WÿAØ'…f•Nk8Gç! *”ÖÆ€& ™NP FÒ ôÀ6ilûT~»°€ BY2/yÐL ”ŠNEª”³ uvÐ{ìú#N4& ImpF2æS\³ûi¬®¡ž6ÕÃ3}›àüeß”0 êh˜Q¾ ŠÇRéK-Kªœë{gÇkÒ:ãi³ÖÜ ˆ0$¯$s–s…L Sî$èèÊ[ß]¶³fÒ4ËÐ>XäK×¢ìû¾±ÒÉ”¢5ÓBH0@¤¦› e$"ÇЧñó]¹ ©<œÉuÕn‰Ö¢"‚;Œ”6j ÖšÒ®]ƒ£ý·xµõ0«üç3ë ~ "WJ« uÊz¼˜‰: =3òLjMZ•Ç Q L“ ‚dÔ‚H¸,·¥(}IP(î¢ ßåØÀšÆXr`’ƒÒ¥ÓÜ• |0&ȸèËG×êi ÎKìm \Ra¢ ÅÝ vRãÆ>¹TPB´ÚjÔXFÀ¸(Yà4zÊQŠï—û[äfõMpÑEZϵ¢<‹'H”–‡ÀÀh³òI³úÙÊ#©kÈŠ2.H ¶Y½(µò(’áÙ'‡¨Mù 1Ì·Y¶Ê>â”Ù4s!è蜰ÈÁ‚¡ê*»èDÀX>1?Lþ0ŸW7ëqìNÛÑ­&¼Å̘Ð\#-fadÐJYŒ´Cù 1̧Êb¼ö[È:¦‚ÍFyã³ÐÁptš+²Ü7>Œ½¨®áf¸•vh Y¦­*­0<Z9†6§l¡tÜ¡ÛQ/À—mÁ<߉û$‰t¦Ñ²–6§˜m7«EßZ­uDU>‡ »0ê¼ë…ýRç×ÖgKY,€Ò25E‡‹41ì–Ûðy×üóŽýêjVžõý[7rHi”N&'í·ô…yÉ¢¤R¬‚ »sIåý(7a¿ìmÎހ𔸣B‹J0ÚpÆr%!,÷¿€¥T€ãR]+íÐTEEpÊP‘©œ¢\4Q1Ç›Ód½uÿ#¸U‡Ô‰mst홥1¤@c¦µß*åÖì ´QÅäVÙÇØh/¨¬Epd2 9y<Ç,Ë'æÉËÛã3ÛÊú£R A¥rIÉ;9&’r™%ËKªÜ~ øaŽ×Ô­Œävê¾®óÊf”I,ZZT4K* T !‹²<À¼äŨs{'íøA€Š\Sµ`R‘Š<*†¢KTqRX>¼ÿ¼X8F÷´}Z£ ÓQV‚[©¥U1ê„H{J°)•ÏüM{s½‘õsΧ4FyćÄ,R^wŽŠhÍ3ªÌÊá ¥•‹T-®ŽC·Ò¾KÙqjÉ…äm‰s/¨ð4>ÓÉR>¿ÂêªZ|Z-ob{Ú¾pPŽGÁŒ¥vQÉt2)KɨAËt°¶ø½a‡ü ¨¨3?žK:]_«i—BàÖë”"M-µ†MÍ)þ@´ñî† 0ûnñ/´Îcúpf…öÔÂ+ªù)ÅP—ªéL—ˆ*™¨ËÃ~]6WK£¼Ù(ûjÛ€T0RÃj€S稳59P`01Y>1Hþ‹«ãÔª/¨‘s*1§¢ËÒ¸œ0QšAæ­Kеo½pHû¡¦‰ùÞÜ’…î‹ûfRRgÀ¼¢$C¹Fíh X/¥§¢­öÇ ¸PC]­ë*ÂüÝòá¸OäÛº5R‰t¨Ñ–§,G«j“D ƒhû”§#¹]×Ëëfb޹°öÅ‹ô®ÔâjGY†òªpÁIª% R…Íyº³nn±v·eýÍØÁ•Y^.)~e1=Û]¾ÝWõ¬ñ²»ÜÝȦöJns-»EÙ]Õmî»ëºþZoÚ]NåÙ«ÿÝf  YYož:fxœ•˜ÛrÛ8†ïóNÕÔî…,œ“ØU‰s˜T%;ÞÄS»{µÕkdÉ‘èÓÛoS$%Ù¢Wœ+IÔþš  Ñ7?½ÿýüò?ŠY}=/.þx÷åóyQN¦ÓÉóéôýåûâß¿]~ýRðV\®`±®êj¹€ùtúáeQÎêúæ×éôþþþä^ž,WWÓËoÓ‡Æow_'õÞÈ“T§òìÕ› ðáz¾XŸ˜áÞûvôF‹èãk(íÜVw§åùrQ㢞\>Þ`YÄö×iYãCÝ~g°Zc}úÇålj+§d¤®ê9ž½2õ±ÂyZ“âãí"6Þ­ßLÛ¿_½™W‹?‹Ù óiù£>‰ëuY¬p~Z®ëÇ9®gˆuYÔ„íh ±>í\ ËôH©º+âÖëÓæ9®è/6ÎັAq¢ÈÐÇO“Iñ dž´Ex,Þ/¯pAëÍðQL&½x£­—7í£]`ËnÚ×´P~ù™öú-y¶õŽœ‰³åª,ªÔÅø¿?ʳÆIñ£˜Ð”‘øv¾™ó³ž_¼ kZ¯±þ\ãõßþþê×bg çå~´Ÿ‰7ïú3x/„f6¹ 4“À3rL,p& LùÒE„èÏ]ø‚‹ô—Ù éÜɳ³†3t X!ƬµpV$kU9 |Ù©‹ù²®!Ìq´OÛ½KÖ“KÁd-Ar¢–BZ®¡Ä xôP­;A¢ŽˆL o\dh’²*ǵ>XžËÞè0êÆz®vHÂä #:¦áyp€|)÷bßÁªÉTG©®ƒº$¸Â³â!š<£˜{C³/ÛØ dj#ê_Q1f(]Cò)gÉ\¦y%pÄÌ­ÔÓ¢z~»º;¾Œ6ª&MBíP-‚Ì lHÙsg“<ɈåÖì ´QáÜ*;ªrB k}ÐÜ;ÐÌ'ï£ñ€BȲ+Ÿ˜?$‚îñxf&¡PZ%˜¬€Ho®€ŽÛ·F}ZÁÍì(k£ê`LzÚ.fËŒ!+#•Ã`bö ÁÄrkvˆV¥°*õ;0ñ˜’ðÍJÔÒ9à’)ŒwÊ+à¶ì¢š¤ôv“ÉwÒK› AQk°$ȄəÌ{ic$Q¯<º‘Ñet¯‹›Xäµ¢JiX´ÊD£”&¸b›ð¢ãZ¾³×o‘+õp4õÁ£¯ ÖêÑÀà"Z¥•ìàÚý̘.«»u%‹B¢G„¶´µ“«*6´ SŒ­Êw'0@ñ§ÊÝΞ²•¤’x½ž`ô³GyJˆ5©SÜ ¼êŸÓÔÀþ~´å$k#¶>í¼÷Ø’‹1A'bœ3þ½N"H‚·BcáSQ ÀB-2Iön'`Q 8Ò Ó@b’Ø×XŒ¹Nú©¬ö×¶m/EÊ´¶Ž'¼}ƒ™è" ‚ŒZì‰ïõRR µˆä158: #ˆ ¤ m•Á²&ßí%›€xR€ Øg)§ÖGÂ9×À(X»ÇKyQ|ĦsUæÈJ÷zj9rê…u–€¥ ¹IÑ—¥ÁRî”Ù‡\•óK@ú<€ºö=óª(›f‹i`âsI@RÂ™Š„2Ç – ‹œ6þ¬á> ¿xšîœû²¬›rÞêYûžp©¨c%v¤\NcýQ ‰Þ0íðŸd^„m+ì[Q!””šY&%ƒØÀ% ¨«}Žº§pw—°î=œÀÎÃê'°x&¨cø/VrÓWîNâEƒº¢þV‹IZ˜×€„U¹¶÷)'˜#Àœûýøt¹o…N<"O’ÊÁp$Ò"qJ#2U%1ˆ=Û }‹‹oE”ŠKA°­x4Ïl(ù¢``£X$v#ÖÁí7r{ÖÖrœŸGæä&V’ çì«³Þ êô0§WòSclî¡¥:¢&8 $µp2Äù¹3d¿t)2 L¾Äล³#b;Æp4_¾5#¶«œãÒké1Õ™!ÈŒ 8Ûà½á¬!vÕ×Î…ÇAìs“QlɘÞD(ä˜ÝDâ ž0mt~UW¶0wóÚåP‡aðV8è"š“ZZËqLUYýÀâÙù»+–Iö+§ñ)âØ(ÁÓh¥ ØE(2„RÒp&Þ*Ïýê± P$…T £¢-˜µLÀáÂû]Œ¢ÎÿçwƲ/c“r¼=É8¹À‘j-‘Ä„Fœ+ìžto†ð—+‡Íû‰|+aIK’­ }Ó_Ç` f w„­Jx/ò%`~30ú~ù°Cp.²) ™}Œ.$Ã澡 v?r”÷Ór9xØýTåëF•L›ë‡ %À# Fk‰k˜«Ún ­Ô6î¤{?Û¼Ó­ßä¾z¬Ke‰>e““ͳß}ÞÌÚ“ö›·à¸z ì„·GûGÂî5²(\?(Nú‡×I»óäàO=5— XpŸ4àxœXYS#G~çW´åÇ:ÂBu ‚0v,³f½Ø{¼lÔ‘…:¶¥ÆÝ-ŽýõÎnµ˜©á¡Re~•Yy|YGßœý2½þ÷Õy6kæEvõÛÇËŸ§Ùh<™ü“O'“³ë³ì_?]¾Ìè!É®+·¨ó&/®˜LÎÿ6ÊF³¦¹ýq2¹¿¿?¼ç‡eu3¹þuòÐꢭpÿï¸Ù’<ŒMu€óbQ¿ †ZkWÒÝ^p?æÐ¸¬Ý;†?–ùÝñhZ.X4ãëÇ[eaõíxÔÀC³þf®ª¡9þíúblFTÒäM'gU]äPÄ:gËEhOWMV?ùâÙ¬‚t<ú£9 u=Ê*(ŽGuóX@=hFYƒ°=Z»¡Õ>éêËøˆ1¿ËBáêú¸]‡ —ܳ…˦ÇÉW6vù"»r7p4q'Ùwó<Ʋù°Kº[/ï ºËá¾×2mײ_úÅÁªf9T® ³Ç^ÍOëïƒ5¸Å¢l\±×pZYw¨[è'ô ~|3gŸ`êqoæ³³òáñoæ²l<^oîö6åíjiãØQí5ÊwßRE>`Àð“§Óáa¬¬FY{ÿ·´ÇgU6Æ+ÃÍË¢»ó Ô˜ÎÚ¿ñ/ßü˜mÔ@1Úvõß§W§yÝø­#Æ bˆ@•£š+ÉEÄJ-T²”ŒNúý½ùµÁ;«ÜMûÛ À_!4=¨Š:0R"¹  ’!žrî "?¶2/ÿ§,çïÖ6(ž˜7Ñ…@A”’€ÇȽ|áBSVo…*ˆHwmLd‘©¥è‹t'4¸â7Íl/*3œ/b¾¸Y›ì$3 bÎy Dk'5÷DHMe"¼ÃÝH½€ü{^ç>/òæq?º{Ä”ðôàœb“R‚ÕVøà´WAs­KNõàk¡¯°C3±\6çÌ1•zÔ”bGÊ¢³y$e2 ŠjêÃu#øò? À¿×Pï?鯱Q„æçæýD @1‘À²ˆiDµ^SÓçŠeW·½%÷Õ p5ôÇè…5¶KÞ ‰M“fˆïÆ»˜^ÔÀ–ù_¡Î±¿ Mi’ä:bTâ’I­œ×Az*#yæìÑNßh„'eDà„¦#ÉDB¼'JíÅ{GÙ ksŒS–SÿjEít¾¥ìl+œJm-ãˆcjÉaM²ÿ®¥ÿø|äœÓB…"žlÄ•Z„M¡N.µ8š¬Ý=-û·ðÛvÈ+Õ§oUÜj©>[Wc¥Ä¶ÕûÐK¹ò Ûß›¢)ôHë{}àC-ìºé¦X™©›Ñ|kÕ(Е²\iƃï·ýÖ™¿Q|½yºÓáÂâÃú‡àÌ”oNNaT®+qý¥j Ðþ=°ãÛåùç9ÊÍ}sçØ[€nT%9_#LvOTîœs‹ÝØßäk¢^Ù³4(wˆ~\{š§)7ã#,@‚Að6“§É5pÁQúbÊ ˜5’ÉÙ‘À q¾*Ùš‘8…/¯ÜÑCÇLÄò@‚ÝRÏÝLª!´/¤Ü™jÆ~»Â•]´¡’h†¡ä{0™ùÕ½w BbŸÇ§ ÅKvô”*Çjq+£J6Uñ+ɆÚR=ŽÈðÈ8 ¹Žô´sìñ0éðöä›iQð;,lt90ûèüŽs|@3nOjr-Ö !’mưáu{ ޹ÄfG|ªа5ÊŽÃÀ5Xδ‚-Û¥8æ¤>v<ö8C×™`X]cÀÖ¨pI¬{Òãª÷Ýç¿]Èù\<cR kjÃ|=Ø0æhAÁVsO¼‘‹Yp•œ±™lʰµ€Ã)r²ÖãHò÷±¦x›`}«ä¬ÓÈĜڗ°¸]–à8oŒÐJÁbõèíp¡6Wª³-.>»¼\ýx*ïÍ®'2xDð ²u8vÐ’5Qbq˜Œ©ñZÈí' úùìBnÙ¹áÙDñ©Žž;)œÕ%hê–˜õמ¢öX'©€É05®õÁº‚‰„Æ—Ðû£ýÇwt~­]¦{Xó!J!aJ¡Ñ’€]koΆ®VM??á±ß_žÿvãû€€*ÈpD0¡XeŒÅ ÷X³iåÊ<¯¿0áÁkwƒßê>mɹî,3Œf_³Å˜³[?xý… ~½¢Õâbµ+þnùéÚ³tO\‚ï <4øÞV*•¯¼ÛÝoN¥Gç;lÔ?å–áVïYÃV9b[6%C¹r]S“í¯M²½ :GXÞ ûÏ56—Š:ã¾1u'ô³?žž.>\\‹à6>GéM"ʯ¤rqÒ6X`ëk…ü²8»™D V×}.LÖAQsƒ)Ážívô;ÿjñé=}¸±Ømðì ;wV ÌÈ÷rû­‰"~…­¿&0«&CñAi‚iàjp–Nh¶Ðíéw&>þ5Nýâí»ÕÖB%E ¹¦ K‰ÉX—½KÆ Nó5x¾ÿ݉âÞȧÕCŠ zÔRòh(g´L°¶Àb7bô;S¿‰‘¯à„»p¸ HŽƒµÙå 8 ˜Ùo¬¿õÀÜa›L ¸>$—ÉÕ€!,Nw|! S^]1ÖD‹#ê`|Ì©CõBoOC‘K5K ÌÜ eÁaQ7’R­ØàêÛ³Õ‚Nt1?pí£/d#PŒ^¨›¢‹)ŽabÙ)xLöÆ+ÏEd Yç‹Gª€gÉ^õ1¤«XÅãˆlÇfǘFJ¨Ù†s7RÊIR Ncˆ‡bLwFp~¾µ©:oºl±³`@1À©`—¹ÛoÖÏïür¾T3>G²gè)d¯8 [-u ˆ††$yqø¾äÞÍa¦]ÀáWaóªPŠàÑZ×À â¾›/¾\-¿í·à7Ë+s9;¸_J,Áv½…ܲ5ÿ·S²ì:«Æ_èüíâì°úí")Ì£S¨€Æâ›öoð5s—û#$åÁ ooüÏ gà–Hvn]\R#D 0Qoæj¬`‘b»º{ Rå}¿¼œ Ïœ­µ¬¡¨ î7øà¢“¬ŒhÉ´ 2¡&§³& Îâõ‰±Ï¦½A2® ïkÉN:KžX|çAåƒbÀÀ¡ÁFmÉO÷z%/v·EbÓ$g ¿ˆÞk¦˜ .¨&êß'rÂeÜÚ]^ež\[M8½*õâ ¦Dã÷ÑoÜ¢äÍ÷v‰^\(Ä=F¼á^ÐìÀ/ÇÖ‚(U' pÝñßF½=‡ ϶ÖÃP•X°ÍèÁ@áLq€Z¨£™QŸÃaºm~,\t”è€_ U22F°±¥ÁÄoCu7üà‘y­sfÏΧaæhÁb>’‚u¶QÄu±ã‰³ƒó‰½©©ŒÑjš7„³! ¥ÆÏœÝ_–ý ·{ÀFZ(p8¹bÇ’ؤš{ƒåõ]žºQÀ„ŠÁP'üÏÞÞ¿ y%g³ìj.=ÄÿÕt×í*ÔX1kJpƒ˜–ce(¿wï¾oâ†ðfù”A€ý™>lN­“ž…Ôm±#“¦ byºW~›sAå\v AÞµfFï ›í¼á€™-à¿›ymä¯ÎeÅï~ÂÒLX£_pH)ÛT2¶ ‹€†]:†/>fS‰ÐÖ0 Qµ}`1>UP‘à§$æ À; ÅR-8ójr©¥¢™—°ð;SáQ'ÀÈï/ÏÏAÌÖA­Ù9ƒàCæ±ýi€“À‘6 ÑXàkw€~nþŽVG9Ӛȋ⟪zœ‚”3cÖÖ‘þ_v;Ó;Ðì·®—`U¼^ÕXzœ @GÁ6B‚ÏØÜ.q½” Å\À»pžÁg­oðÑPaÝ@K޾^²ðg£ƒ_DPhŠoŽk…Ñ"—Û(íé×K}DÃ1·ä£ô™ Ði€bÂC Úq£½ô`¾[®Þ­†³ü°Æ:¯¹7gÎοS°¨ƒÐ™²Ïÿ¨Ôÿ%Ÿç m,u˜Ì¦gç¸@Ê”3°«Ä>èпÓé¥ÌËMS“hèÃÃÙ€>æ¤É³à­€ýñ€Xy³x/?-ÏßÓ¼ {caÞH±— ¤ùÞ€` (ŽLy6¿úúƒð,‘`4&e¯6Q³.ÖxÓ¢™žðs{D^‡œ_/þkJq뤘µ"‡Y¨ª0PE²¤Êï]Ü¡ÿ\|xýù}[0ßQ'ËV4k¯tOì)ÅüyXKÄ÷žÂ~îì\§Ø ðbMÎP©»ã)›0œÛ«¿kZg3Ou}²¡çZÙ— !PÖ)‹šê¹÷˜þ´œ¤{ìJ,˜ÊpÊ1öb­Ùv5P¼4 Æ¿Ô•XàN%TpJòM‚…Adã*Ür~€Àç]‰Ùª ËÂ=§fcûlKÆÌêu°jNbÕ=0 ïÉà°aÿ#òÁ˜gh¿«¯fÇ096< E#Âå  «÷T¸…á}¤«àþؤ]¤è¡\Xðù¢•ŒU|æ°U©àÌ÷ÓËú p9(úϰ“Än»ySÀþ@Y1[ov å*Îs—n—yNþÂÖ¹´á±Ùâ¬Å°›oKš… ÊþajÁ9ýÌ˳#Ã)nWøn ”ÓŽ0†«¡5½}Â׫â‘G ¨Êd¯ïFpšÉÁ0¬5 ðÈÆšN î{ ð]ÂA‘ªË¯¨÷Ih[ò:ÿ¿õT{´1JÁ.Ú`}J@©íÎÕwÉÀˆÅ–RÕê,ÊP;Í@"€æêßÃâìxU(àn™9ÙFØ‚j†–9®fM/EçŒà)g®˜,ô€mÂpÞÆ:˜á%ËЙŸ¤ WÃ8Z#cï®’çÒ´P\³f6Ikæ%˶Ic˜Þq/³phÄ%w×G­ 7D½j‰z¨1çý™…*ðð’ß•‡ÖÓSgWáR°ÐžØ Œ+×? ñòtµx½.ƒðÅXÌ¿G*ƒkßàÿ  X£j°ù©˜çÔæßèý„Àk5±¹5­Ÿ.•X‡“­Ãî«Ù¾;ˆåv6é_Ï~8§ù=8À­:7å×ð¿ÙXMHK(ØHÜ+÷­Ãò $ kd®Ø‡ ^ ! O&§ý­GÃl®+Ö€äŦYè¢Ü§ŽV°: £àÁD âò}“óùw‹bb"NÉ (ƒñuð‹.V³ ]‰|u.¼¸˜W¸sÝa»ŒÓ~/Ñ.‚»Ë¡…b}–½ —¿ÎÂ{@©Q«h¸I4Ò̪Š$,7¨ïv‰ó?#hsךzøUl'Ø«O  ¶Z- Í$”ƒœ.¦äÊïôm£Bà¥ÓÖ qEÖÅóÆôMâ!ß¶Â4Ò°ûÆ|ÞÖàƒsÚ›I[‡ n©•z"švczõŒ©Ú,7ßa×+»+MnäN*»';…Â,Þ§Ökíà{˜ Ì˃iö)²×ð9‹¬M]àí2`wèV·Tµki2ájéÐ"ÿ*¿þLi4µM/³½YÍä0f?ºªL½è‰:$óo>Ì›$w¯-‚6eÔFZ…½aüM“}é{kÿ±\Ž^ÞÛÍ\•Duç´3„·=ƇZ2£$òvÊnªÜc4©mCENk/J0qø íÒ+b,ƒïnªì‰ið÷Ïöê)Z< 31(絊«=øP=Ú¯ÚŸyJÀâžygg«UŒ¹FÇZÛR{j1pò‡(߯ËG¨Í€è!&[µO`"gJVöU$lŠiöåÛ«ð§U`¹]Öœ[Ÿ*ì‡ïÚy´7±Ù”„gሲgL ë.8OÒV ,´—L.wp ÓÊ+B}ëኚu6y’¨†lqð‘Íö´¤>üËò­V κ¯wÉœÆ5“%—)„mÁÙ²/?àõU§`hú,s´ð,¤ .‘ æ +&µqOb]<$pRžìvM;ˆ7˜×( Ëé¬l‡ÕÔ\¦Åëb¢ÇäÝà¼y‰Ï®i¯¯Òà(jñØQY³Àà´‘ÝO|žÑ3+ŠŽ(¢¶ö£æ­†P v,o&sËöîÎf}0)³£&«Pï0€Æ!kséšc @/àRw;bLÌö½Ÿ’[JJÍäVY¨b¥‘ц‡ÐRù]=K 8Ç©:hC‹@ÜŒÔÀ‘¶Ñ†àÿm7«¦ék­o´@ÿIò¨…œlc½ÛŸð^Êô#»øŠÎ#ð;ÁJX%Þa55¿®‰Þ†c¼m¦Ìj÷x'yp HêÞº†„iñ†ìÄ ½›PåcÉ›¯7 œQJg4î4k31‡ ‚U Áq –c”ò1шDpÐwøækÇob-µÈ=W›÷µ©9RgÀñᛡV+7/Ôš ^{µÚ\Ù=¡U냃ƒlqü°jÙz“a*ÓÀÜr‚ßó~W“Ñ{xD™º¶{ÉTMÕ¨¨V}F ‘&Ú\O¬È^ÿs-õÈüjö¬ûéI«ž“2—"VX—ýùÕ7²'•­ß¯¼Ö0§+Qï ¬-]:&šœóŒ?eºuöÇU^§V4—J´‚/G,pÔFi.­SóÒVäñØ‘1jp«jf ˆ€ÓÆŠÚ> Ä$–­Íìîk÷.Z‰´“i¦ mB±T¶HËë|ô¡{鬩úh,¢²^kŠÚɤ‰æú5;©é‘λ¹õ9‚¤DÀø5¤´‹£èÛú$u;ª¬YÛM˜Ö›9ª¢ìâ @}lÚ˜-ŽCQkÙ“2A4žsjn„z…ƒAÓû+ÉÆu#Þn8ä1.ý¡‡Åƒ# e€zÀ t îJ²6Ìdÿ”¢¤{Ëišà<ÙœÝ(>%Ï¡7ØÌªUƒ®Ø4÷xÝÑ’‹ö=aÏF±ÏAzJp:Ò¨›¤%O(:;õúÆÀq-»¯¬# ˜0²M4þüã2•#èµÓóP3'àÃíè];aÆu2åOpTƲq˜åØC× &Áô Ä7†âøî÷%(\Ë Å´²žôÍ@›°0š¿Ü<Ûá4£ÞϘӌ'Àƒ–`N54ð“3 õiNmêÅéÝ /J WPVƒq¹àèkì‚]$½°G^xÝ¡ÉÖ2䪧gCs¡Yræ–M×Ûê/v—ƒy€[U¸8ÉÔE5òáJR¢·Þà˜»œ;L­ZÁ8Eç ÈÀá1œi4©?ß—ÞïÅŠ ¦/3pdú†_vÑŽ)Ç ­…òâ†zGã±ëxn¶Y€NÀÞY¹Ý‘ ´Ý7É‘mÜœ¶%ñ=ü–†¦yβ̅J„#¨ <0±ž³SmÖïe§×o×yÐØfðBéö¶`Ÿ#YòéÖh›]ºÍ08þÎì.¸¡½¹Ú¢­Ïbñ#âDâH­;‘ÌNC°é!8Ò;2Fˆ$m»£æ=[¸!}ýŽ&DGweøÀUë §îªúS}ÇŽ–,°TËtQ»+{JNøCÿòÈ>âü O¨ ©k„kv&ÌÎ_"’4Þ(Qu¬…ÅÐÞ®Uê5É&OòÀì&ÖY¦}ÂéV¹ä0NÛƒwYøó%J¶0—>²|^ç? W"'Önseáit`N Ë&¯ ÄdAÜÞ;ì;2že]9¤¡… ™uĬ-½LÍ9á¨ó€g™*õ¯—óvmàÜXýöìô=bNxõu7¿½bçÆ5;ª+$ ö’¬\¡â¼×h»¾¡Åášâ{0 gß±wÀÚœÕû>Ö«XÀ“q ߆­ìC)½4«9•q":ô /8'ÖízMÈÝ9ÐÍÆr$‘ªÙƒ?î£9n#QgStM‹›<ºG|‡5ë¤éyeÔJÀoÞÃZƒP†’C~HÌéèT¤m/Ö~¡XpM²¶ùÐ…­W–<.{–»&ÅJs9PHÌ ˜½¤„½…®Ì|WÙž›‹/ˆà–¤s'¸°‘Äìº}›×î«HÖ˜ˆ'ÔZ`@Ô˜ïsfÒL¤C7Çc_£À±öJ«Ú9 ÀT ×ZáÑ÷½ñvu4 v­À­3V²7³z»k¾– Þ7EæU M¹Òfb§Ú0uÑnm0 ²Ïf߈œ³%×¶Þõf ¦ ¸?§–á››Iyè9ÍûRŽk oXs;ÒÈ¥gíC_¢UÎ*Ý;Þwu#pn~B Ãi‡()CÊ…ŸH¾g¬òA™³ý~r€5¦ 1|¯T¶ºµe@‘Ä7³këôa,é[ξ•.%—#E ÜØkµÙ×I"gz|ß ™. ËcE:v®›XáïÀkÚ×âwßAÕœöö°;©UoÉhÕ·‹’¯»š<.m––rщê-\ˆÏ›¦Qf“c«éùdÍ}‘ÀÈNÛ Ãt§ ä‰sl²¾^Ñg¿Ëä ¼››2m°¹&.f0˜ Õ¢IÚi{’Àù‡¿:Û}#œxÏÐh Hˆzïè‚—½çbÊ™ßÕj6äDÊ4´FcÚ1KÆ‚ÂÑm0ðñT÷Ë?]žžjŠåwËOsóã ªÜ;†› €ã#çÁ»·Ýhvç9®³Xç·ÇHë뎢é²Þ¤‘¢v4'í²g¡×ŸØ,¾cT‹’3ú:a§qªæ4©Tðòí¦ÍËÁÉ]ûÿÙbГ¶ÈƒÎû¬ýºÃ铺e˜ˆDzšÅà”äjîáõ4˜~7¡dOYößòñÃò|~éV‹@¥Ú{Ñ·ýTÐÍÑMqƒU O¥ò÷ë½Þ°Um§ œ•¼´ÑõU¦ùa”Cu„ÿx·¸ø§h3Ò£›PPY_èh½n.E£¸›sh›ŸÇ$¥ÛŒãèAí ¸á4}§Q}hÝ ¸THn󦉃øÇ¢Oé0½»»±Ç€3j‹á”†×ÈNN3~«åi%ÃOoð‡6HÙÛÀˆ(jñÜpÍ¥±y«Öì—wnu´¢/ßÕŠÿ®ÍüZ6c¤¨åÙ.š+û6±£õƒ€¢KÚÕUMÔ…r‹Éâ¬pW²+ xgå®_63X:ô-§ ÕküÏjºC×–q½=[¼ÿpº‡›Åíx.HØj K&}Uµfޤ($æ˜÷è^}ú&¦ Š 34å‹vš¥Ê}I c;Ù{ò£·VÌ”¦8ˆ;LŠÆ0[ó>S‹eëñ;×mB4ýž;pjUé¨T%…¤ý\¥X%Äró&½mw¾Jë*Š3[Õj5i)eR’k´µNò¾\mÆú ;&òýòLŠ–ŒM}«ûJΖõ[dÙˆ7F‚‘p½¶õ±!Þß©»Ò©’,¡;m®œ´èħnÊŠƒíXØG]ÕËËSýµ/~ûæ«ß?~ øÚ­ãäùsü?¾ÂX.Wrþìäå7’3¸ž•ô“‹Õ;åÕÐÞ­VþðòåÇ_ôå§ÏoåìÅòüíËÅY—+[öì›®~®8±/Ê ûÂ]ÉÆÚ²Ößõ“ßüîÿJ¢îÇ ÝL݈4rl ™xœ­VmoÛ6þž_Áª@±³ER|›Ø@æ4m€tõÛ> |9ÆBd)µ˜Äþ÷£d9ñ–"v¶}±,êîž»çîxwòæìËdöÇôš‡E‰¦_¾¼˜ d¦¿e“4=›©ÍqšŽŽxœµ}ks[É‘åwÿ Z1±±’êý°»;¢Ÿvï¶Çš–lïΗ¬¬, aŠÐ`Kš_¿'AI¸ԺݒšnÖ#+óœ¬Ì¼_ýþ‡¿~ÿæÿ¼úñäÝêýéÉ«¿}÷ËÏߟ<{þòå?ü÷/_þðæ‡“ÿýç7ùåľ0'oÎéìb±Z,ÏèôåËÿíÙɳw«Õ‡?¼|ùñãÇý‹åùÛ—o~}ùIŸeõË›?>_m}óE_õgßüÀOïOÏ.¾Þñ[k½úöú³B¿½—ègŸË^.~ûúÙ÷˳•œ­ž¿ùüAžðÕ}ýl%ŸVW_þ#¿£ó Y}ý·7?=/Ï^â!«ÅêT¾ùð¨ŸrÚ/NžŸütyÆ:º‹¯^^ýõï¾:]œýóäݹŒ¯Ÿýçê_\<;9—Ó¯Ÿ]¬>ŸÊÅ;‘Õ³“Än¤éôé/7CmËþ¿õÅo'|J_ëÏå?¢;?øEÅlä,κ|zq5ç¿Ðâì何¯^Ò7'ÿú~ÑûrõÇ}ß^ÿ|ù›œÿ¶›§|¯?;ùëæ‡“õn!çtÎï>oóçëÿžü:;[®h%}ó„oOOOÖƒ‘ }Ö +ƒß~ÿüùÉŸä ÇgOÚç“–Ÿ>¿•3è[ya_¸“çϯ?¼þìjùáêG· ûl³íP”ý›Ì…ñßÜŒƒáwËóg'‹¾Yãÿ‹Ïê0žŸ`ó±eøðåézÏ¿¹ 3èéIÿi©zÍt*ÿí¿ÿî'·“ÓgÛKþïß¿ú•ÎÞÊz¦ÿBv ãj6]¥©7¶}ba!ð³o®¿°Y}(yùv¾d‰ª IréÕŠ´"¥Æ†„ÔŒ{$ÿvXÒ+(äJÎ7²Êè©8IC¸ 2Ÿ¡ß?Í>_"2Äh¶ÔUS„¢®t™¦~IP2áö}š><< ²a½¼NgW骵EZåþï ìh]pÉøè¤\-ʪ}Ç QJm´;YÐ.>4jeðí®¸%“º P…Ál} ²›·Q`6ÊÇv®— „Ñ×Ùù OÒh$¡„ñ™Ž¦Î (]ƒèü®²­wÍIºù|tRÕ š/Á’oah›&AK(GIÖ%4s€ a{´V µžö®šÚ­ãÃ÷È–ºiFí9,ã‘þÛÁe Ó㕃Õpóg]Thª¯á$ÕcônQ8W‡ã—´»óú–÷<ôV&íúÒlj^ÀR/í|Ý›ù´}?Ø‚®ª:è®·pZ–¨sšÖFä)2oôªh>Ê"³Fgõj} U¬·|H† [áN6Ô·›£'b“>íM,”wo‰ÀÇG±`²ñ£wÑ;¯— *\ÏñŸ!·nD{hS…ïÊ.çã oà‡Þ£'u(“]ŠL/õº¾ ]hoµÓTXG$pÁ$5Ø0'½1V‰\fÀl2~ÔèBÿéÓ—…ëÍ !´ò @QÌË„WF0šrk5Þ5ßj qQŶè1”¶Kk½‹,3JzNãÖ9ë™ÚÁèÔúFº9; ¯ck©%^c-@“N±õ3o&ú?²f-¡RfŠyŸkÁ2 „ïˆLòÿƒ5'$:3K ˜)¡µ¼YM„eÒ‘}¬ö¦¹Š4û¹;]Më™pJ ’9ª8ÉeüÉX¦hY,¹¶•†/¶IQ÷¡Ý5¡^LËz(%™Ô9Qá<€çˆÅÆs•3—;Ñ">ê|õ¬¾3ÿÛqâ÷BG8p^x˜¥™%šú±ëÛƒˆ½»…³ŒkðŒä4†2bD†3LcaùHn«ó n/íËׯH ˆ<6ŽÀ8.(s1©X•y£^ŽqZ¬zo ÿÄŒ-§"Š$”°1Á.¶˜¶sÆ<ìáõüaE»Ãmžkk@a¬=C¥Š½ïáZ†]þ2··WÅõüÕ˜4£ +Û^1Kc¯*†¥±‚ú˜\¬÷`ÆoÓz³»ìo…O»a³-'Î Å„b!”â˜r®EÆsóêâ×uÎŽÖ×Ю?Û«TJ-ÁÛxm:ŸsM±É@b制Åð²ÕÛ3íßÓ€ÝÓgSÖ×u,í¥ã§yýP„yëm¿5<-qn3Å»Mnw«é§{·Fô~» ¤ýÆ”¶’㣿Í^N ==‡?sŠxœ•UÛnÛF}÷Wl hRÜ ¹Ë-Ž|‰§VSmŸŠ½ -¢©+Kúû./²T'­U@ÀŠÃ™sfÏ g.Þ\=LçÌ®ÑÂ- 4ûòáþnŠ‚0Š~cÓ(ºš_¡ß?Î?Ý#2Âh^«²É]^•ªˆ¢ëŸ,œ[½¢Íf3Ú°QU?FóÏѶÅ"mðð7tG‘#ël09»è·Ë¢lÆß!RÊ>ºóeý±§PëÂ×uþ4¦Ué tá|·‚™þi8غ>øÜ,TÝ€™ß„iy—»&WÊCÝäPØ…èf]š6»æ"ê_Ÿ]yùZÔƒ¯ndš&@5ã q»š€ ó´[ëТGCªº²;Øü ™B5͸µCíMê†û–fàÉK ÛQçO*/ÑL=ÂE¤&èÝ2·¶rçÿÝÙ«'¨ŸrØ (ÓÖ†ãÉP‹jU›Ån€ù¸>A•eå”; \ê’¦Åð:yeüñ& Ñ-”Þû"½CWÕv÷¥ï·tDF…áÞ¹óuÕª7„ †²7¾QÞ½%ŸŸù†a“çì|2fQÕÊí ñŸë`Ò¦¢5 }ɼóºèj>Y¯¬Oå‡ÏÞ£Á±È¿Lg÷jW­ÝuKÏÜÝñ­Š¹M¨Ñ$ÃB+œ$<–3J²XYEÒ8˜¼ ì¤øé¢A‡ci(0áTiKHŠe’ñD§âˆáèËmÞ|³OµÍx&¸VJhnb ̵©¥HíÁ÷1C½`Gª]n¡yÈ2ÿ¹½ªß nŽilŒ5"Îk0¤ g§MSEñëÜþÖPß•67мƾn\µœÕž"DÛŒ©„³T¤BqJ™$Rà¬eŽù7v¯ù‰]s[çv`Æ"K­–YN¬`q‚)ç”Ø8æ8¦ê¸eÚ¨“ûå®ôE8„f,³6!š¤À­”Ô™¦–r¦cuÄÑ…ýߦ$<1BdœzÙŒ¤ZÌ0Êúne"Õ/›ò¥v³ªß ¯ªwç`éWz`N´ÄTr‚%0_·XÕ&•8U\à˜°Žùõ]ö_*ÀÎòíR­NÊ w}þf X†©×˜rM%”K¤F˜Ìðç ú¨o2XA}“ÅÕxòòõº­Õj±o[Î,æÜ!g17F2C¨V™Æ¾¾}a»€cÞ¨›t‡‰ºŸžßŒÕ¬ªø©Mz“»E›ß°&[Ûöc»[ÝÇklçÝÞFú~ôGÊŒZÏÉÙß”Õ¹Ò rr… tŠÿxœT]OÛ0}ï¯0FBÛCâ|tm m$haL‚Ñ¡ mO“cß6n\b÷ëßÏI\Ú‰iìÉÉ͹çÜO&ãìçôf!ÑôéêîËaïñ˜I6A?n³û;úÊ*Zja„*©$äú+F¸0fyNÈf³ñ7±¯ª9Éɶæ ëd÷虣LŸŽÓΰÜ.d©G¡ ƒA›Ý`r{,ÀPTc=xY‰õUi 4^¶[F¬}a[Ó&_°‚VÌè)»ñL,‰FB:¡–êF€äyèfU²º:=$íçÎPŠòÌFøÅøLkŒ*#¬ÍN‚. FÆÊ:µP³Wj®øÎ\¬“TëQ‡Ê†è»ZÆéˆ’ÃÖo{¾§¢DS:‡!¡):[Ε¹øWvWk¨Ö6Že\ÇЃ þ7U! ¢+vŽævÿþß ´,•¡¸c¸”5Å€®9ìœìdìqâyè3”–ÞbQ¾CµÝÍ¡´~KüÐçíÁ Ö¨e: »µkk”³Ó°\t¬aâôµ:[ +T…‘ànÆ¿Ö8­ËðÐyve¼’ÍÎÓ5•‚?Òr>vÎÑ$>ô·ñ´A5ýÒc„3¥Î©ëÚ®=»(ïÉò–l,§)6Ÿ–:ª´¹â8îZÂíJæÕø/0NE]u› ”ëeŠ¢&ׂǵ،ñ¤ÈäÊZî#ÖíÆXÁVuÅç,£ej|·¼´BL4ˆJB<¥êR€ä²Ðå:gMwÕˆt¿{#)òŸ(+!ãGe³ªÂ¨9Æ•ÚI¨2…‘Ò´†­IhЉi5)øN/\l“´ªÆMJ¢Ïó†ÆðˆœÃÖîÎ|MEŽôF„Æèt%8/ÔùKÕm¼Ø@¹P”IC7&øj¨L@IK–í ÌÕ~ÿjšç…¢ ¸A¸µÍ@Õ`h´2zycYè#ä^ç¢d‡¦Åvw¹ö[h;¶‹,kŸÜæªâ¡ „Åfì•6Êé‰ôÏ{Ú0^üÔn†eE‰‘àFã5Ž›6,T#KL'¯e;ó¸Ö“•³Æ{û®w† ñ±Ð_&ëJ«…,T{Ä:L„!äu¸ëÑÐ|ˆX@ƒd@êàø¨¦áýKð‹9Ýk5“°Òͯß÷]žr'¤aä1' ý4HÀq¸IÚpeéÀI™×§4ºç`)å¡Ï¼öO5f˜Z¸N=ÁUö?á~'øIê3g˜u#Çs’!$}žôµjÌõ£’vhsìð‡CÒ¢P  @âƒ×j¡²¦KãøÃÄ;¶¯Ðñ4Îl¯€qçÞÅÄÜvÒdƽ_è幇 :Ò:‰ w’ xœ•VÛrÛ6}÷W°ÌLž* K3‰ì\fœFm”iûˆËÂâ„"¾èï ’­*u¥<‘÷ìYìžöü—‹Ï‹ÕßËËdí7U²üúöêã"I'Yö']dÙÅê"ùëÃêÓU‚§(YµªîJ_6µª²ìò·4I×Þ߼ʲûûûé=6íu¶ú#{®„*vˆXKxœ•SÛr›0}÷Wl”™¼ŒïŽ™ÖNšÌ8›!½< ´6šÊÂÅ࿯¹v§™Nú$´œ=g÷ìÊ¿X<Σ«HõVÂêùãò~Ä¡ô[Né"ZÀ÷»èa žÛ…(gªZdŠIJo> ©Ö»kJ˲t˾›å=Ѫæòêdûéè³L—kNÂŽßV[©Šà o:¶Ù 7Ç5ƒëàË«Ødž)J;Ña‡’ö•n“gIÊòuðÝ:B ‰Zb¸`†êV ä8ð•å‚Å Ÿ¶¿;¾ê'¤9®ò¢Ý¤(ä(RèƒÁ¥ˆš€6²V­ÔìÔ–gü`.öHVAÇÜ„Øe-cu„âX¹mÏL(X± ú”…pµœgzö¯ì&ží1ß ,-˼ŽÁ£ ¾›*˜³À"«Tfß&®çöÀqŽà«³]:KìØ ³(W—Þ¨;ó_e3Àp˪'¦6ع†ßµ”äܱ/óUƒi ½dÄ =³O†<éòÁtسØ{kôÖƒ5 ¶#Ój õ¿Zñ`Äûq2vû]ÄÞל ¼x2Å^<òFñÛZ´éîdɱý¿|Yg™Æœ O—B§u}vΧgÇ[ß›·w¾‡vÍàíL޳£vÇi ;¿úLdßè}á_'~9µÞ¦ó³óðaSÕÝì?Ü`)åˆlAÙðØ€WIo;ï·åÝ,]4µ‡ÚOVÛH3~ÍR~¿6kÕvàg_Wï&Eš'¾ôÌ/Tpõ®„ÊvÉ$¹¬o7Ъ>Àî<-ÎΫ²þ–¬[p³ô»Ÿš®K“ªYÚùmÝÀ§‰Ì‘°7è ²­nì6Ö¡“—•2° Å>¶Qµmný‰¼…–€…•Š^I-Q âY`IÆ>Áد”†ê礔…0çN0æ˜ÒÊ„½ Î,.r£ìsR A@ÛÇÐúO=BxÛùf³¬šG)1U(§ƒ£”jì¨Í…Òš0-•µ¢'}ć:Ÿ¢¢Åm{‘Œ@:!)"˜ãÂkn8`n ›ٯ§ë„#,˜±R3£Œ¤Â0Be†ƒ &ŸÕÉ2œÚã©[FËHˆ7¡òú.Þ™Gbe¥¤Ü¢]NZÊ ÆˆãPðÐû¦xìþî€ý‹Qüœ4)·EpÏ «•ÂBjGh)¨ÕÄr‡ž“f òaû_Öê(Ûδ×Ó®¤š‰0叿îp8rœ†zÒ|,é>î*0^é –ª=z@¸Eìî˜ Ç…þ‡\É ÐМÀ%#P8F•Žˆdº—H ü›<\8lÄ:Ü2|é<›Èòº¾h6AMÇŠ¦»0>ß·ë°õHÌ99ÍE¡°¥IK 0¡±  µ£h~DF:S}‚lGë]ß;Älh *E(w£¨ÒyH(g=ŠvDígÃíüt¥ï®ïîu×4A i’ÍŸ&„ûÒ¯ûHãœò49ÚqnÆÇý9*ÎÃàgŠÝì‘Å-ë-çgÿ¨…s°þ*ó|áIù49^|üt*s\z¬›ÉþþõÉës‡ÅÅÕ¡/ÝÛä}…JùÓuP??OSk}¬”Kå¬[‰ CØYMäÛ‹é»ÊdÉ98V¬lKŸ–˜Y´Ç€•ÒåÔ(´m¦ÅÈB'0bD%H5«R¢ÈP›¤¢X]÷ž€úkW,Ñx-*€+Ø¥æ›úO‹màøÂßGÓ[l,./åTæ|½—æ y¥ßì–\É#! JÉÀ#À”¾oÖX.Ý8HöèU—†Ô6[ë%¿Asuøùâã½"‚Apѧ IBCÕÌ”t‚8wu¢-Ô.‰B‚úƧ%°ab_kK±´k^†þ;Q·û§Ý‚`c2JWŒw¯z´ ù‘uðF„oMËÉ´¾[—ì}vO¼d¹:V0, ÿƒ›ÌÍî-®¿[³«£é²ÎƲò¶ÒÙò¶åäÚ´ Wë ƒ:$'¯Ktш¸lÈîš4F{BI3:"] ÉBKE$i éë…¿…¶\¬Æ‚tdc“£ÁÅpµP’ÆåûO¡‰ÛÙƒEÎ4ÜlN…†ô„”Œ>ÇvF·[âÛj{ÿN™UI[­ÖšD© 1ĺþý† 4ïøÖ_M{¸èÚº_ÏN˜ “E)te†wљǡmw_÷.Ø\«>›ÌxÁ01ÚµƒÆ¨©@$Ø-ҺŽݻ3I7ÑÐ !C«*–(”\».PY¶èÔãŘ¾ .­/1«~ó:8We£kˆz×ç.ÀJÿÖT5YW2±³™‚½ª!U*¡*cƽ=²¾‹`r‚êƒlª%o0§ ¦T”¢ÒõÿzúñœÆ¾Úth)êT’Ë“Á*è÷X’¨¬¥AÊCømmvùãÀpl].kÒ.• îбp”¨—²u`6 ºÈòšû–q€É­e$•)ÀýUoývðlxOÉ\ú—ÖºnrÉ49†þH"f xÍÄ,.Ee"µéÚ$ZÀw$W·€6Œ~£àN)U.¢ì‚‡¬r¨ˆœsž}öìœiãÀN–SšŸ>Œns” €åX|D0+¥¬ó¶n1¦®Á½˜¿—å0ºÏv§j@½l4âAë}ˆH.â ®9ô[Z£ÉýJ‚ÛÀIRð‰ FOÌŒ$%GØ2d²Á4xÅKÉÀ:$¯*ŽQQ½a] ß•àÃËÅ)-§ÃÙùè>é.xJÃÜLžÅtJºïC4œûxv¿go|¸Þ nn ÛawÊ'KÌÀëíU5Î k“cR6´Ü¿÷h©88®ÐM–ãM5©¹äL÷pxu¾l­õ>ïq]-{#ÈÕ$>£éXÊwGÖPŠR“¦ ͞ჴ*¬M÷[|m Ù"ewPTц5kü0¾4J­Aˈ$rc ¶˜µ»ƒ²ÖXL{§úô¸9yQI‘óÝÝh ÔÖ_oÝ Œ‚o˜¯¦úƘª¹Ÿ8Â>']r¹Öº_¾z,àú€ož h‹¨horpøå)ƒèù~)›g¾<{ÂWϬ@ùúYŒÍ3 ë‡6Ï%\?¿p°yÎã Ÿyøè?|'¾ #9#Œ y˜3xœå[moÛ6þÞ_Ár@_ز$Û’ÛÀ–´ë€t-Û° %d.´¤RŒ_€ýø‘’¬ØŽ›8¬•Õî'ÅÔÝsâóECöŸ^¼?ýñá5šˆ)C>þxùó9Â ÃøÍ>7Œ‹ÑúýíèÝ%2›-4â$Ψ IL˜a¼þ#<"}eóù¼9·› ŒÑ¯ÆBa™Ê¹ü³!Ö<›ððI?¸˜²8ì€1{½^áÛ äe ‚ eÛ€O×t6ÀçI, Ñ2Œüâ× XˆÂùÌŸž|½i¸Ø ‚ Ã7”º¤™èEÓ>£ñšpø“húY†6À™X2È&#!•øÊ@áåÃyI°”—€ÎÏH– T;pÙD6.U˜2X4‹^¾#4FH}ƒ ѳ) ‚DœÝå·'3à3 óå\µ¡÷eãÞP œp²,aÞ®~ï@â8D@P"üÀÊ2…!y’ÌÈËÓFý±„—¶È[¢‹d±Œ –æ6ͦ…•qn+’´hº!Ñeb t»9—o:”mk¢+|é]>T®€ØŽW&V¶*ÓÀc‰%ùˆfˆ &áQ""û$þõT:ÊŽ†2t†æTLÇ)„(€Ìç4Uc"{U>Àv@9ø"áË­˜ fÀäƒüȱ@³›3x¶j3Pxœµ[Ûrɱ|×WÀt„ŸL±ï¯Ä‰Üõ*,Ë:½çœ'GuW5‰p¡.þzgƒ $S+À%Kr0häÔ%+³óäÇÿ8:ùÿ×?NΆóÙäõ?Ÿ¿|q4ÙÛ?8ø_{tpp|r<ù¿ŸOþþr¢«ÉÉ’æ«é0]Ìivpð㫽ÉÞÙ0\üåààÇ?ØÇ‹åéÁÉ›ƒ}-Ýß¼ùuøêyà½ÃGOÖøñ|6_=ýetÎùêÝës…?Îe I?w_~½œ¾ºw´˜2öO>]ÈÞ¤^ýõtoÃÕ›¨g´\ÉðôŸ'?í§½,2L‡™–úi*3^Mö'?Î/ÏeIÃbùäàêõGOfÓù»ÉÙRÚÓ½_‡ÇuµÚ›,eöto5|šÉêLdØ› øÜÍÇõúò¬eÁŸðƒ§ï'uF«ÕÓ~\–8Dÿuàeÿ˜ÍçLç,_]ôßi:Ÿ¼¦Syr@‡“?O™Ã·½{}|ñ^–ï§òa³ÊQ?6ùÇæàÖKMe=û´Yæçë¿·^æóÅ@ƒðf…g³Ùd FV} Ä ‘Á?ìïO¯Ê£~–’%±Ï¨5Àÿ)Ð_‰$Š\*«æË3<4û†2îçb)ëA.¶r±K—¿Ëž âIêwõMpDƒæÉ|Ü㕉Dбt ª†X(û>F¹=á<·Ï¸?À¡˜YSi'â$€fGXÒ/ßaÉx &lv1š&²Õ²ðM'Š'“0)û‹ç­ñó—rPWQäu3J˜&)ÄkaU«ý 0¤êÃå0’ÜŒ»®ÕuÓnõˆIB\«ç@Øöm=?ðH1 <’o6<΀…x(ŸQ 4ù> Ö‰Sy†ËVCðmÆeï>GsÕi‘øj­¿Ï¾3»­³Ïrkl«´©Ó–FÉÃ5Ú­R-:Ý£”éø-LÇl»»EAèvž`w­ÝJQÓLK«}GÈJW¹ËiDÈiq]¯÷vÞ[èœßrB”Ô4ƒZÏ‘5é¶¾‰tÆhšÕÃ~‰­É¿}ªé®"ÖÂwÞ=²ÛßD²§t1%i-ÜКìwN5ÕÕ§v-t+`M²»ßDªg‚u·¶—ÍzM%œSM{U›×BºÖ$Û=¦´P9}‹}ù• ¼þsh-êûz¿©uÍ׺æÎZ׬£Ö5ï®u—ôœ–í:–Ý1mðl°Izí6q¶k…»k]F–ɵjL§è5O¿èÝà¨A4«cÒÞEs b!¼Iƒâ ^ŠšUq¬;›lò•²DäKùõÊR…ÑRÆz„YÆ:ð,cíœe¬:fëîY&0‰çZàØ¡ãøAôznËõ»VÇë´Ú펳{–ÉSÿbЙa¬ÓŸa*~áÙaGÏ!o…»GµÜL 6 íNq&º!¦†uÙ;õZÅ»O°jUWC±£š¸¾L¾ˆ“tòˆò­âÝ'_n§)ß×¾(¬û©qÃN&ˆ ™ >a^²xDùn¾OÇM-AíG:J+‡þäS˜Zßwíúóÿ!é²°#ý„Ëw¿Ÿ¦»ÓNÝnÊ»IÖ9‚$+zØ$Ë)ÓI²îוd+Ž"–x„ÕþF¬ÂìNÄâ¶ÖÛÎ9‚DTËœu,j%¢ûu&¢,Ø¿¾œƒj±Ô;‚´*Ö8êY9Ñ[ªoïÙ—%¿×š@…r@´ÙJÔ9¢!`¬LÃîmZK•ØÚ ŠpÉ´8+ ±àÁÉ4:E)pãïþñ‘%LØ û” áÓ¼B™ëÿU׸Zaµ*pݰŒO x6U^`Å*žošûýùlV–Ê0ƒ¢aø,%ÔÍ vvNv26|ð<¸ÃÒÒÛ\H·0V›í K믞ømð¼}rkÔbKš5kr »µ¤RñÛ?V…²ÐTÌö#_Îm¡Ζ%wnÔ—°bUÁR»âK˜¥ûÀr9·•¢^¹Å5¬ “ƒ3‰¶MÉñ9¦«¦é¥¬½4ü>šÜ°jÌ {d‹‹+x›AIš¡-¤2Æi{©5éŸ^^ï#c½¨Ëã8ŠÛœaZù$ º­D´x'’€ O+ý¼™±ÕÝ‹–Õ Ï•ç.ù E‘cä OÛI'HCgE!#t;½cýºô½ÎÕžUl‘´{KxÄ"Þn]Î3ÁÓN¶º1,îbx¬]—žjÓzþÿì½ò‰2¥ Vèð`ÇzÅ¶ÛæRÞ$±3iý0_ÚÆ¼õ-i ¼7:mê2‡q]È™ „_{‰BÝxœT[o›0~ϯp]©oàHm@ZI·Nj×l¢Úö4ûÐHá4—?Î’jÕ”'ã£ïrìó™ÙÅü)N~.îHŽ+EÏ·ŸcB-ƾ»1códN~Ü'ı‡$©yÙXT%WŒÝ}¡„æˆëkƶۭ½uíª^²äÛµZNK6Ÿž0m‰’FƒYg¸[©² ß‘q‚ èÙ¸ÔË “kÁËk± i\•%ZÉ~ ”ˆ~R„öä‘óº Ÿ“Ö”2-‚*ˆ>©*媙±~;˜©¢üMò²¾ -š†’THÜ+hr¤µQo­3­¥•ÜëE"oš°­C­KüMᡵ1>E)ag÷g|äEI| 3Æ#rµ*¤¬ðæì®^m Þ°5*q[#O¦x¶T^@Ík‘ïÌýa¶/Ë 9‚4 ”"]3дúžôÍèå²È'(µ¼Æ’tOæÕn¿„Rçkj;öˆXÖÜa±Z÷¥ãÅR3æFãêÒ™ of¯ª`ô5^ÜòzΑ?òõàšüm˜‚¢¦ÓµªyªÀJu2~Mó®ãKΧÞDø¾ç‡À•™äPŒ}'phô–içæ`Ú÷`¿Ö8×^´à£¿çyÒõA"c'u¹Ÿç¹Âõ¤3OOý;ê{ œë½¬ù:?zO={b4r&BdR¤ãÌN|!¹?÷Ô»£¾õfÝý‡vÐ?“˪ ¡¦„EÇ l ÌÛnM?Ù'£ûœ¾“˜.š&5‡t1ó Y‹Œ4—• mùáÇ­“y_E-óÛÃ¥…cEéͱ•mM#á·•m& --ftv2vertline.pngftv2vertline.png  ''ftv2pnode.pngftv2pnode.png( //ftv2plastnode.pngftv2plastnode.png %%ftv2node.pngftv2node.png  ''ftv2mnode.pngftv2mnode.png( //ftv2mlastnode.pngftv2mlastnode.png %%ftv2link.pngftv2link.png& --ftv2lastnode.pngftv2lastnode.png !!ftv2cl.pngftv2cl.png !!ftv2mo.pngftv2mo.png !!ftv2ns.pngftv2ns.png* 11ftv2folderopen.pngftv2folderopen.png. 55ftv2folderclosed.pngftv2folderclosed.png ##ftv2doc.pngftv2doc.png  ''ftv2blank.pngftv2blank.png %%sync_off.pngsync_off.png ##sync_on.pngsync_on.png  bdwn.png bdwn.png  open.png open.png  !!closed.png closed.png  ##doxygen.png doxygen.png  bc_s.png bc_s.png nav_f.pngnav_f.png nav_h.pngnav_h.png tab_s.pngtab_s.png tab_h.pngtab_h.png tab_b.pngtab_b.png tab_a.pngtab_a.png tabs.csstabs.css ZØÄ“b-üµr+ê¥dÒZ1. 5;layer_8h_source.html.src/layer.h Source FileC- ASitem-tracer_8h_source.html-src/items/item-tracer.h Source File?, =Oitem-text_8h_source.html,src/items/item-text.h Source FileO+ M_item-straightline_8h_source.html+src/items/item-straightline.h Source File?* =Oitem-rect_8h_source.html*src/items/item-rect.h Source FileC) ASitem-pixmap_8h_source.html)src/items/item-pixmap.h Source File?( =Oitem-line_8h_source.html(src/items/item-line.h Source FileE' CUitem-ellipse_8h_source.html'src/items/item-ellipse.h Source FileA& ?Qitem-curve_8h_source.html&src/items/item-curve.h Source FileE% CUitem-bracket_8h_source.html%src/items/item-bracket.h Source File/$ 39item_8h_source.html$src/item.h Source File3# 7=global_8h_source.html#src/global.h Source File/" 39core_8h_source.html"src/core.h Source File/! 39axis_8h_source.html!src/axis.h Source File  qt.css qt.css& --ftv2splitbar.pngftv2splitbar.png 8Ëg¡d-ò¢Pþšk81; 5;range_8h_source.html;src/range.h Source File-: 17qcp_8h_source.html:src/qcp.h Source Fileb9 [wplottable-statisticalbox_8h_source.html9src/plottables/plottable-statisticalbox.h Source FileP8 Ieplottable-graph_8h_source.html8src/plottables/plottable-graph.h Source FileP7 Ieplottable-curve_8h_source.html7src/plottables/plottable-curve.h Source FileN6 Gcplottable-bars_8h_source.html6src/plottables/plottable-bars.h Source File95 =Cplottable_8h_source.html5src/plottable.h Source File54 9?painter_8h_source.html4src/painter.h Source File;3 ?Elineending_8h_source.html3src/lineending.h Source Filed2 Y}layoutelement-plottitle_8h_source.html2src/layoutelements/layoutelement-plottitle.h Source File^1 Swlayoutelement-legend_8h_source.html1src/layoutelements/layoutelement-legend.h Source Fileb0 W{layoutelement-axisrect_8h_source.html0src/layoutelements/layoutelement-axisrect.h Source File3/ 7=layout_8h_source.html/src/layout.h Source File [ÏžR¶V.þÈ›e/ç›[>J ?KclassQCPAbstractItem.htmlJQCPAbstractItem Class ReferenceJI QQlayoutsystem-multipleaxisrects.pngIlayoutsystem-multipleaxisrects.pngFH MMlayoutsystem-addingplottitle.pngHlayoutsystem-addingplottitle.png4G ;;LayoutsystemSketch1.pngGLayoutsystemSketch1.png4F ;;LayoutsystemSketch0.pngFLayoutsystemSketch0.png+E 5/thelayoutsystem.htmlEThe Layout System4D ;;InheritanceOverview.pngDInheritanceOverview.png.C 55RelationOverview.pngCRelationOverview.png&B 1)classoverview.htmlBClass Overview^A M}plottable-statisticalbox_8h.htmlAsrc/plottables/plottable-statisticalbox.h File ReferenceL@ ;kplottable-graph_8h.html@src/plottables/plottable-graph.h File ReferenceL? ;kplottable-curve_8h.html?src/plottables/plottable-curve.h File ReferenceJ> 9iplottable-bars_8h.html>src/plottables/plottable-bars.h File Reference/= )Cglobal_8h.html=src/global.h File Reference/< )Ccore_8cpp.htmlâ°fF ܪ`@ÈŒ8ú¤x>8i ??QCPItemBracket-length.pngiQCPItemBracket-length.png*h 11QCPItemBracket.pnghQCPItemBracket.pngTg [[classQCPItemBracket__inherit__graph.pnggclassQCPItemBracket__inherit__graph.pngv ?KclassQCPItemPosition.htmlvQCPItemPosition Class Reference(u //QCPItemPixmap.pnguQCPItemPixmap.pngRt YYclassQCPItemPixmap__inherit__graph.pngtclassQCPItemPixmap__inherit__graph.png:s ;GclassQCPItemPixmap.htmlsQCPItemPixmap Class Reference$r ++QCPItemLine.pngrQCPItemLine.pngNq UUclassQCPItemLine__inherit__graph.pngqclassQCPItemLine__inherit__graph.png6p 7CclassQCPItemLine.htmlpQCPItemLine Class Reference*o 11QCPItemEllipse.pngoQCPItemEllipse.pngTn [[classQCPItemEllipse__inherit__graph.pngnclassQCPItemEllipse__inherit__graph.pngæ°b$ø¸ŠR5 5AclassQCPPainter.html•QCPPainter Class Reference+ 11QCPMarginGroup.png”QCPMarginGroup.png= =IclassQCPMarginGroup.html“QCPMarginGroup Class Reference) //QCPLineEnding.png’QCPLineEnding.png; ;GclassQCPLineEnding.html‘QCPLineEnding Class ReferenceK QQclassQCPLegend__inherit__graph.pngclassQCPLegend__inherit__graph.png3 3?classQCPLegend.htmlQCPLegend Class ReferenceU [[classQCPLayoutInset__inherit__graph.pngŽclassQCPLayoutInset__inherit__graph.png=  =IclassQCPLayoutInset.htmlQCPLayoutInset Class ReferenceS  YYclassQCPLayoutGrid__inherit__graph.pngŒclassQCPLayoutGrid__inherit__graph.png;  ;GclassQCPLayoutGrid.html‹QCPLayoutGrid Class ReferenceY  __classQCPLayoutElement__inherit__graph.pngŠclassQCPLayoutElement__inherit__graph.pngA  AMclassQCPLayoutElement.html‰QCPLayoutElement Class ReferenceK QQclassQCPLayout__inherit__graph.pngˆclassQCPLayout__inherit__graph.png <°H ¸„B&èÆ¨†bDè¼’f<') --ssPlusCircle.png©ssPlusCircle.png)( //ssCrossCircle.png¨ssCrossCircle.png'' --ssPlusSquare.png§ssPlusSquare.png)& //ssCrossSquare.png¦ssCrossSquare.png3% 99ssTriangleInverted.png¥ssTriangleInverted.png#$ ))ssTriangle.png¤ssTriangle.png# !!ssStar.png£ssStar.png!" ''ssDiamond.png¢ssDiamond.png! %%ssSquare.png¡ssSquare.png  !!ssDisc.png ssDisc.png %%ssCircle.pngŸssCircle.png !!ssPlus.pngžssPlus.png ##ssCross.pngssCross.png ssDot.pngœssDot.png? ?KclassQCPScatterStyle.html›QCPScatterStyle Class Reference1 1=classQCPRange.htmlšQCPRange Class ReferenceQ WWclassQCPPlotTitle__inherit__graph.png™classQCPPlotTitle__inherit__graph.png9 9EclassQCPPlotTitle.html˜QCPPlotTitle Class Referencee kkclassQCPPlottableLegendItem__inherit__graph.png—classQCPPlottableLegendItem__inherit__graph.pngM MYclassQCPPlottableLegendItem.html–QCPPlottableLegendItem Class Reference Fàš<ΜKñ›PóÒ«{F29 A/namespacemembers_func.html¹Namespace Members-8 7/namespacemembers.html¸Namespace Members$7 +)namespaces.html·Namespace List6 !'pages.html¶Related Pages'5 --qcp-doc-logo.pngµqcp-doc-logo.png04 !Kindex.html´QCustomPlot 1.1.0 DocumentationH3 _=dir_68267d1309a1af8e8297ef4c3efbcdba.html³src/ Directory ReferenceS2 _Sdir_d1ab82e73f77cddd99808c625b504457.html²src/plottables/ Directory ReferenceW1 _[dir_78a97038723513eb3e3a9e944a7f482f.html±src/layoutelements/ Directory ReferenceN0 _Idir_17cee08e17148530a7aedf85f92ee362.html°src/items/ Directory Reference// /;namespaceQCP.html¯QCP Namespace Reference7. 7CclassQCustomPlot.html®QCustomPlot Class Reference1- 77QCPStatisticalBox.png­QCPStatisticalBox.png[, aaclassQCPStatisticalBox__inherit__graph.png¬classQCPStatisticalBox__inherit__graph.pngC+ COclassQCPStatisticalBox.html«QCPStatisticalBox Class Reference* ##ssPeace.pngªssPeace.png AË–oEøÈ˜h8بxHæ´‘iA%N 3#functions_0x63.htmlÎData Fields%M 3#functions_0x62.htmlÍData Fields L )#functions.htmlÌData Fields/K 55inherit_graph_11.pngËinherit_graph_11.png/J 55inherit_graph_10.pngÊinherit_graph_10.png-I 33inherit_graph_9.pngÉinherit_graph_9.png-H 33inherit_graph_8.pngÈinherit_graph_8.png-G 33inherit_graph_7.pngÇinherit_graph_7.png-F 33inherit_graph_6.pngÆinherit_graph_6.png-E 33inherit_graph_5.pngÅinherit_graph_5.png-D 33inherit_graph_4.pngÄinherit_graph_4.png-C 33inherit_graph_3.pngÃinherit_graph_3.png-B 33inherit_graph_2.pngÂinherit_graph_2.png-A 33inherit_graph_1.pngÁinherit_graph_1.png-@ 33inherit_graph_0.pngÀinherit_graph_0.png#? '+inherits.html¿Class Hierarchy$> )+hierarchy.html¾Class Hierarchy'= %5classes.html½Data Structure Index$< )+annotated.html¼Data Structures2; A/namespacemembers_eval.html»Namespace Members2: A/namespacemembers_enum.htmlºNamespace Members Qذˆ`8èÀ˜pH øÐ¨€X0üÊQ6d =;functions_func_0x64.htmläData Fields - Functions6c =;functions_func_0x63.htmlãData Fields - Functions6b =;functions_func_0x62.htmlâData Fields - Functions1a 3;functions_func.htmláData Fields - Functions%` 3#functions_0x77.htmlàData Fields%_ 3#functions_0x76.htmlßData Fields%^ 3#functions_0x75.htmlÞData Fields%] 3#functions_0x74.htmlÝData Fields%\ 3#functions_0x73.htmlÜData Fields%[ 3#functions_0x72.htmlÛData Fields%Z 3#functions_0x71.htmlÚData Fields%Y 3#functions_0x70.htmlÙData Fields%X 3#functions_0x6f.htmlØData Fields%W 3#functions_0x6e.html×Data Fields%V 3#functions_0x6d.htmlÖData Fields%U 3#functions_0x6c.htmlÕData Fields%T 3#functions_0x69.htmlÔData Fields%S 3#functions_0x68.htmlÓData Fields%R 3#functions_0x67.htmlÒData Fields%Q 3#functions_0x66.htmlÑData Fields%P 3#functions_0x65.htmlÐData Fields%O 3#functions_0x64.htmlÏData Fields 7ÇŽUãªq8ÿÆTâ©p76u =;functions_func_0x77.htmlõData Fields - Functions6t =;functions_func_0x76.htmlôData Fields - Functions6s =;functions_func_0x75.htmlóData Fields - Functions6r =;functions_func_0x74.htmlòData Fields - Functions6q =;functions_func_0x73.htmlñData Fields - Functions6p =;functions_func_0x72.htmlðData Fields - Functions6o =;functions_func_0x71.htmlïData Fields - Functions6n =;functions_func_0x70.htmlîData Fields - Functions6m =;functions_func_0x6f.htmlíData Fields - Functions6l =;functions_func_0x6e.htmlìData Fields - Functions6k =;functions_func_0x6d.htmlëData Fields - Functions6j =;functions_func_0x6c.htmlêData Fields - Functions6i =;functions_func_0x69.htmléData Fields - Functions6h =;functions_func_0x68.htmlèData Fields - Functions6g =;functions_func_0x67.htmlçData Fields - Functions6f =;functions_func_0x66.htmlæData Fields - Functions6e =;functions_func_0x65.htmlåData Fields - Functions Ì•`C&{ /globals_type.htmlûGlobalsz %globals.htmlúGlobalsy !files.htmlùFile List2x 3=functions_eval.htmløData Fields - Enumerator4w 3Afunctions_enum.html÷Data Fields - Enumerations1v 3;functions_vars.htmlöData Fields - VariablesÆsoverview.html,Class Inheritance Tree(thelayoutsystem.html"The Layout System(thelayoutsystem.html,Classes and mechanisms(thelayoutsystem.html2Rects of a layout element(thelayoutsystem.htmlMargins(thelayoutsystem.htmlLayouts(thelayoutsystem.html2The top level plot layout(thelayoutsystem.htmlExamplesÿÿÿÿNamespacesnamespaces.htmlNamespace List"namespaceQCP.htmlQCP*namespacemembers.html"Namespace Members*namespacemembers.htmlAll4namespacemembers_func.htÇmlFunctions4namespacemembers_enum.htmlEnumerations4namespacemembers_eval.htmlEnumeratorÿÿÿÿData Structuresannotated.htmlData Structures"namespaceQCP.htmlQCP2classQCPAbstractItem.htmlQCPAbstractItem2classQCPAbstractItem.htmlQCPAbstractItem2classQCPAbstractItem.html ~QCPAbstractItem2classQCPAbstractItem.htmlclipToAxisRect2classQCPAbstractItem.htmlclipAxisRect2classQCPAbstractItem.htmlselectable2classQCPAbstractItem.htmlselected2classQCPAbstractItÈem.html"setClipToAxisRect2classQCPAbstractItem.htmlsetClipAxisRect2classQCPAbstractItem.htmlsetSelectable2classQCPAbstractItem.htmlsetSelected2classQCPAbstractItem.htmlselectTest2classQCPAbstractItem.htmlpositions2classQCPAbstractItem.htmlanchors2classQCPAbstractItem.htmlposition2classQCPAbstractItem.html anchor2classQCPAbstractItem.htmlhasAnchor2classQCPAbstractItem.html selectionChanged2classQCPAbstractItem.html"selectionCategory2classQCPAbstractItÉem.htmlclipRect2classQCPAbstractItem.html8applyDefaultAntialiasingHint2classQCPAbstractItem.htmldraw2classQCPAbstractItem.htmlselectEvent2classQCPAbstractItem.htmldeselectEvent2classQCPAbstractItem.html anchorPixelPoint2classQCPAbstractItem.htmldistSqrToLine2classQCPAbstractItem.htmlrectSelectTest2classQCPAbstractItem.htmlcreatePosition2classQCPAbstractItem.htmlcreateAnchor2classQCPAbstractItem.htmlvisible2classQCPAbstractItem.htmlparentPlot2classQÊCPAbstractItem.htmlparentLayerable2classQCPAbstractItem.html layer2classQCPAbstractItem.htmlantialiased2classQCPAbstractItem.htmlsetVisible2classQCPAbstractItem.htmlsetLayer2classQCPAbstractItem.htmlsetLayer2classQCPAbstractItem.htmlsetAntialiased2classQCPAbstractItem.htmlrealVisibility2classQCPAbstractItem.html*parentPlotInitialized2classQCPAbstractItem.html(initializeParentPlot2classQCPAbstractItem.html$setParentLayerable2classQCPAbstractItem.htmlmoveËToLayer2classQCPAbstractItem.html*applyAntialiasingHint2classQCPAbstractItem.htmlmClipToAxisRect2classQCPAbstractItem.htmlmClipAxisRect2classQCPAbstractItem.htmlmPositions2classQCPAbstractItem.htmlmAnchors2classQCPAbstractItem.htmlmSelectable2classQCPAbstractItem.htmlmSelected2classQCPAbstractItem.htmlmVisible2classQCPAbstractItem.htmlmParentPlot2classQCPAbstractItem.html mParentLayerable2classQCPAbstractItem.html mLayer2classQCPAbstractItem.htmlmAnÌtialiased2classQCPAbstractItem.htmlQCustomPlot2classQCPAbstractItem.htmlQCPItemAnchor>classQCPAbstractLegendItem.html*QCPAbstractLegendItem>classQCPAbstractLegendItem.html*QCPAbstractLegendItem>classQCPAbstractLegendItem.htmlparentLegend>classQCPAbstractLegendItem.htmlfont>classQCPAbstractLegendItem.htmltextColor>classQCPAbstractLegendItem.htmlselectedFont>classQCPAbstractLegendItem.html"selectedTextColor>classQCPAbstractLegendItem.htmlselectable>classQCPAÍbstractLegendItem.htmlselected>classQCPAbstractLegendItem.htmlsetFont>classQCPAbstractLegendItem.htmlsetTextColor>classQCPAbstractLegendItem.htmlsetSelectedFont>classQCPAbstractLegendItem.html(setSelectedTextColor>classQCPAbstractLegendItem.htmlsetSelectable>classQCPAbstractLegendItem.htmlsetSelected>classQCPAbstractLegendItem.htmlselectTest>classQCPAbstractLegendItem.html selectionChanged>classQCPAbstractLegendItem.html"selectionCategory>classQCPAbstractLegeÎndItem.html8applyDefaultAntialiasingHint>classQCPAbstractLegendItem.htmlclipRect>classQCPAbstractLegendItem.htmldraw>classQCPAbstractLegendItem.htmlselectEvent>classQCPAbstractLegendItem.htmldeselectEvent>classQCPAbstractLegendItem.html layout>classQCPAbstractLegendItem.htmlrect>classQCPAbstractLegendItem.htmlouterRect>classQCPAbstractLegendItem.htmlmargins>classQCPAbstractLegendItem.htmlminimumMargins>classQCPAbstractLegendItem.htmlautoMargins>classQCPÏAbstractLegendItem.htmlminimumSize>classQCPAbstractLegendItem.htmlmaximumSize>classQCPAbstractLegendItem.htmlmarginGroup>classQCPAbstractLegendItem.htmlmarginGroups>classQCPAbstractLegendItem.htmlsetOuterRect>classQCPAbstractLegendItem.htmlsetMargins>classQCPAbstractLegendItem.html"setMinimumMargins>classQCPAbstractLegendItem.htmlsetAutoMargins>classQCPAbstractLegendItem.htmlsetMinimumSize>classQCPAbstractLegendItem.htmlsetMinimumSize>classQCPAbstractLegendÐItem.htmlsetMaximumSize>classQCPAbstractLegendItem.htmlsetMaximumSize>classQCPAbstractLegendItem.htmlsetMarginGroup>classQCPAbstractLegendItem.html update>classQCPAbstractLegendItem.htmlminimumSizeHint>classQCPAbstractLegendItem.htmlmaximumSizeHint>classQCPAbstractLegendItem.htmlelements>classQCPAbstractLegendItem.html&calculateAutoMargin>classQCPAbstractLegendItem.htmlmousePressEvent>classQCPAbstractLegendItem.htmlmouseMoveEvent>classQCPAbstractLegendItem.hÑtml"mouseReleaseEvent>classQCPAbstractLegendItem.html*mouseDoubleClickEvent>classQCPAbstractLegendItem.htmlwheelEvent>classQCPAbstractLegendItem.html*parentPlotInitialized>classQCPAbstractLegendItem.htmlvisible>classQCPAbstractLegendItem.htmlparentPlot>classQCPAbstractLegendItem.htmlparentLayerable>classQCPAbstractLegendItem.html layer>classQCPAbstractLegendItem.htmlantialiased>classQCPAbstractLegendItem.htmlsetVisible>classQCPAbstractLegendItem.htmlsetLayerÒ>classQCPAbstractLegendItem.htmlsetLayer>classQCPAbstractLegendItem.htmlsetAntialiased>classQCPAbstractLegendItem.htmlrealVisibility>classQCPAbstractLegendItem.html(initializeParentPlot>classQCPAbstractLegendItem.html$setParentLayerable>classQCPAbstractLegendItem.htmlmoveToLayer>classQCPAbstractLegendItem.html*applyAntialiasingHint>classQCPAbstractLegendItem.htmlmParentLegend>classQCPAbstractLegendItem.html mFont>classQCPAbstractLegendItem.htmlmTextColor>clÓassQCPAbstractLegendItem.htmlmSelectedFont>classQCPAbstractLegendItem.html$mSelectedTextColor>classQCPAbstractLegendItem.htmlmSelectable>classQCPAbstractLegendItem.htmlmSelected>classQCPAbstractLegendItem.htmlmParentLayout>classQCPAbstractLegendItem.htmlmMinimumSize>classQCPAbstractLegendItem.htmlmMaximumSize>classQCPAbstractLegendItem.html mRect>classQCPAbstractLegendItem.htmlmOuterRect>classQCPAbstractLegendItem.htmlmMargins>classQCPAbstractLegendItem.htmlÔmMinimumMargins>classQCPAbstractLegendItem.htmlmAutoMargins>classQCPAbstractLegendItem.htmlmMarginGroups>classQCPAbstractLegendItem.htmlmVisible>classQCPAbstractLegendItem.htmlmParentPlot>classQCPAbstractLegendItem.html mParentLayerable>classQCPAbstractLegendItem.html mLayer>classQCPAbstractLegendItem.htmlmAntialiased>classQCPAbstractLegendItem.htmlQCPLegend<classQCPAbstractPlottable.html(QCPAbstractPlottable<classQCPAbstractPlottable.htmlSignDomain<clasÕsQCPAbstractPlottable.htmlsdNegative<classQCPAbstractPlottable.html sdBoth<classQCPAbstractPlottable.htmlsdPositive<classQCPAbstractPlottable.html(QCPAbstractPlottable<classQCPAbstractPlottable.htmlname<classQCPAbstractPlottable.htmlantialiasedFill<classQCPAbstractPlottable.html&antialiasedScatters<classQCPAbstractPlottable.html(antialiasedErrorBars<classQCPAbstractPlottable.htmlpen<classQCPAbstractPlottable.htmlselectedPen<classQCPAbstractPlottable.html brusÖh<classQCPAbstractPlottable.htmlselectedBrush<classQCPAbstractPlottable.htmlkeyAxis<classQCPAbstractPlottable.htmlvalueAxis<classQCPAbstractPlottable.htmlselectable<classQCPAbstractPlottable.htmlselected<classQCPAbstractPlottable.htmlsetName<classQCPAbstractPlottable.html$setAntialiasedFill<classQCPAbstractPlottable.html,setAntialiasedScatters<classQCPAbstractPlottable.html.setAntialiasedErrorBars<classQCPAbstractPlottable.html setPen<classQCPAbstractPlotta×ble.htmlsetSelectedPen<classQCPAbstractPlottable.htmlsetBrush<classQCPAbstractPlottable.html setSelectedBrush<classQCPAbstractPlottable.htmlsetKeyAxis<classQCPAbstractPlottable.htmlsetValueAxis<classQCPAbstractPlottable.htmlsetSelectable<classQCPAbstractPlottable.htmlsetSelected<classQCPAbstractPlottable.htmlclearData<classQCPAbstractPlottable.htmlselectTest<classQCPAbstractPlottable.htmladdToLegend<classQCPAbstractPlottable.html removeFromLegend<classQØCPAbstractPlottable.htmlrescaleAxes<classQCPAbstractPlottable.htmlrescaleKeyAxis<classQCPAbstractPlottable.html rescaleValueAxis<classQCPAbstractPlottable.html selectionChanged<classQCPAbstractPlottable.htmlclipRect<classQCPAbstractPlottable.htmldraw<classQCPAbstractPlottable.html"selectionCategory<classQCPAbstractPlottable.html8applyDefaultAntialiasingHint<classQCPAbstractPlottable.htmlselectEvent<classQCPAbstractPlottable.htmldeselectEvent<classQCPAbstractPlÙottable.htmldrawLegendIcon<classQCPAbstractPlottable.htmlgetKeyRange<classQCPAbstractPlottable.htmlgetValueRange<classQCPAbstractPlottable.htmlcoordsToPixels<classQCPAbstractPlottable.htmlcoordsToPixels<classQCPAbstractPlottable.htmlpixelsToCoords<classQCPAbstractPlottable.htmlpixelsToCoords<classQCPAbstractPlottable.htmlmainPen<classQCPAbstractPlottable.htmlmainBrush<classQCPAbstractPlottable.html2applyFillAntialiasingHint<classQCPAbstractPlottable.html:aÚpplyScattersAntialiasingHint<classQCPAbstractPlottable.html<applyErrorBarsAntialiasingHint<classQCPAbstractPlottable.htmldistSqrToLine<classQCPAbstractPlottable.htmlvisible<classQCPAbstractPlottable.htmlparentPlot<classQCPAbstractPlottable.htmlparentLayerable<classQCPAbstractPlottable.html layer<classQCPAbstractPlottable.htmlantialiased<classQCPAbstractPlottable.htmlsetVisible<classQCPAbstractPlottable.htmlsetLayer<classQCPAbstractPlottable.htmlsetLayer<cÛlassQCPAbstractPlottable.htmlsetAntialiased<classQCPAbstractPlottable.htmlrealVisibility<classQCPAbstractPlottable.html*parentPlotInitialized<classQCPAbstractPlottable.html(initializeParentPlot<classQCPAbstractPlottable.html$setParentLayerable<classQCPAbstractPlottable.htmlmoveToLayer<classQCPAbstractPlottable.html*applyAntialiasingHint<classQCPAbstractPlottable.html mName<classQCPAbstractPlottable.html mAntialiasedFill<classQCPAbstractPlottable.html(mAntialiasedScaÜtters<classQCPAbstractPlottable.html*mAntialiasedErrorBars<classQCPAbstractPlottable.htmlmPen<classQCPAbstractPlottable.htmlmSelectedPen<classQCPAbstractPlottable.html mBrush<classQCPAbstractPlottable.htmlmSelectedBrush<classQCPAbstractPlottable.htmlmKeyAxis<classQCPAbstractPlottable.htmlmValueAxis<classQCPAbstractPlottable.htmlmSelectable<classQCPAbstractPlottable.htmlmSelected<classQCPAbstractPlottable.htmlmVisible<classQCPAbstractPlottable.htmlmParenÝtPlot<classQCPAbstractPlottable.html mParentLayerable<classQCPAbstractPlottable.html mLayer<classQCPAbstractPlottable.htmlmAntialiased<classQCPAbstractPlottable.htmlQCustomPlot<classQCPAbstractPlottable.htmlQCPAxis<classQCPAbstractPlottable.html,QCPPlottableLegendItem"classQCPAxis.htmlQCPAxis"classQCPAxis.htmlAxisType"classQCPAxis.html atLeft"classQCPAxis.htmlatRight"classQCPAxis.html atTop"classQCPAxis.htmlatBottom"classQCPAxis.htmlLabelType"ÞclassQCPAxis.htmlltNumber"classQCPAxis.htmlltDateTime"classQCPAxis.htmlScaleType"classQCPAxis.htmlstLinear"classQCPAxis.htmlstLogarithmic"classQCPAxis.htmlSelectablePart"classQCPAxis.html spNone"classQCPAxis.html spAxis"classQCPAxis.htmlspTickLabels"classQCPAxis.htmlspAxisLabel"classQCPAxis.htmlQCPAxis"classQCPAxis.htmlaxisType"classQCPAxis.htmlaxisRect"classQCPAxis.htmlscaleType"classQCPAxis.htmlscaleLogBase"classQCPAxis.html rangeß"classQCPAxis.htmlrangeReversed"classQCPAxis.htmlautoTicks"classQCPAxis.htmlautoTickCount"classQCPAxis.htmlautoTickLabels"classQCPAxis.htmlautoTickStep"classQCPAxis.htmlautoSubTicks"classQCPAxis.html ticks"classQCPAxis.htmltickLabels"classQCPAxis.html tickLabelPadding"classQCPAxis.htmltickLabelType"classQCPAxis.htmltickLabelFont"classQCPAxis.htmltickLabelColor"classQCPAxis.html"tickLabelRotation"classQCPAxis.htmldateTimeFormat"classQCPAàxis.htmldateTimeSpec"classQCPAxis.htmlnumberFormat"classQCPAxis.htmlnumberPrecision"classQCPAxis.htmltickStep"classQCPAxis.htmltickVector"classQCPAxis.html tickVectorLabels"classQCPAxis.htmltickLengthIn"classQCPAxis.htmltickLengthOut"classQCPAxis.htmlsubTickCount"classQCPAxis.htmlsubTickLengthIn"classQCPAxis.html subTickLengthOut"classQCPAxis.htmlbasePen"classQCPAxis.htmltickPen"classQCPAxis.htmlsubTickPen"classQCPAxis.htmllabelFont"áclassQCPAxis.htmllabelColor"classQCPAxis.html label"classQCPAxis.htmllabelPadding"classQCPAxis.htmlpadding"classQCPAxis.html offset"classQCPAxis.htmlselectedParts"classQCPAxis.htmlselectableParts"classQCPAxis.html*selectedTickLabelFont"classQCPAxis.html"selectedLabelFont"classQCPAxis.html,selectedTickLabelColor"classQCPAxis.html$selectedLabelColor"classQCPAxis.htmlselectedBasePen"classQCPAxis.htmlselectedTickPen"classQCPAxis.html$selectedSubTickPâen"classQCPAxis.htmllowerEnding"classQCPAxis.htmlupperEnding"classQCPAxis.htmlgrid"classQCPAxis.htmlsetScaleType"classQCPAxis.htmlsetScaleLogBase"classQCPAxis.htmlsetRange"classQCPAxis.htmlsetRange"classQCPAxis.htmlsetRange"classQCPAxis.htmlsetRangeLower"classQCPAxis.htmlsetRangeUpper"classQCPAxis.html setRangeReversed"classQCPAxis.htmlsetAutoTicks"classQCPAxis.html setAutoTickCount"classQCPAxis.html"setAutoTickLabels"classQCPAxis.htmlãsetAutoTickStep"classQCPAxis.htmlsetAutoSubTicks"classQCPAxis.htmlsetTicks"classQCPAxis.htmlsetTickLabels"classQCPAxis.html&setTickLabelPadding"classQCPAxis.html setTickLabelType"classQCPAxis.html setTickLabelFont"classQCPAxis.html"setTickLabelColor"classQCPAxis.html(setTickLabelRotation"classQCPAxis.html"setDateTimeFormat"classQCPAxis.htmlsetDateTimeSpec"classQCPAxis.htmlsetNumberFormat"classQCPAxis.html$setNumberPrecision"classQCPAxis.htmlsetTicäkStep"classQCPAxis.htmlsetTickVector"classQCPAxis.html&setTickVectorLabels"classQCPAxis.htmlsetTickLength"classQCPAxis.htmlsetTickLengthIn"classQCPAxis.html setTickLengthOut"classQCPAxis.htmlsetSubTickCount"classQCPAxis.html setSubTickLength"classQCPAxis.html$setSubTickLengthIn"classQCPAxis.html&setSubTickLengthOut"classQCPAxis.htmlsetBasePen"classQCPAxis.htmlsetTickPen"classQCPAxis.htmlsetSubTickPen"classQCPAxis.htmlsetLabelFont"classQCPAxis.åhtmlsetLabelColor"classQCPAxis.htmlsetLabel"classQCPAxis.htmlsetLabelPadding"classQCPAxis.htmlsetPadding"classQCPAxis.htmlsetOffset"classQCPAxis.html0setSelectedTickLabelFont"classQCPAxis.html(setSelectedLabelFont"classQCPAxis.html2setSelectedTickLabelColor"classQCPAxis.html*setSelectedLabelColor"classQCPAxis.html$setSelectedBasePen"classQCPAxis.html$setSelectedTickPen"classQCPAxis.html*setSelectedSubTickPen"classQCPAxis.html$setSelectableParts"clasæsQCPAxis.html setSelectedParts"classQCPAxis.htmlsetLowerEnding"classQCPAxis.htmlsetUpperEnding"classQCPAxis.htmlselectTest"classQCPAxis.htmlorientation"classQCPAxis.htmlmoveRange"classQCPAxis.htmlscaleRange"classQCPAxis.htmlsetScaleRatio"classQCPAxis.htmlrescale"classQCPAxis.htmlpixelToCoord"classQCPAxis.htmlcoordToPixel"classQCPAxis.htmlgetPartAt"classQCPAxis.htmlplottables"classQCPAxis.html graphs"classQCPAxis.html items"classQCPAxiçs.html(marginSideToAxisType"classQCPAxis.htmlticksRequest"classQCPAxis.htmlrangeChanged"classQCPAxis.htmlrangeChanged"classQCPAxis.html selectionChanged"classQCPAxis.html setupTickVectors"classQCPAxis.html"generateAutoTicks"classQCPAxis.html2calculateAutoSubTickCount"classQCPAxis.htmlcalculateMargin"classQCPAxis.htmlplaceTickLabel"classQCPAxis.htmldrawTickLabel"classQCPAxis.html getTickLabelData"classQCPAxis.html,getTickLabelDrawOffset"classQCPAxisè.html&getMaxTickLabelSize"classQCPAxis.html8applyDefaultAntialiasingHint"classQCPAxis.htmldraw"classQCPAxis.html"selectionCategory"classQCPAxis.htmlselectEvent"classQCPAxis.htmldeselectEvent"classQCPAxis.html"visibleTickBounds"classQCPAxis.htmlbaseLog"classQCPAxis.htmlbasePow"classQCPAxis.htmlgetBasePen"classQCPAxis.htmlgetTickPen"classQCPAxis.htmlgetSubTickPen"classQCPAxis.html getTickLabelFont"classQCPAxis.htmlgetLabelFont"classQCPAxis.htmél"getTickLabelColor"classQCPAxis.htmlgetLabelColor"classQCPAxis.htmlvisible"classQCPAxis.htmlparentPlot"classQCPAxis.htmlparentLayerable"classQCPAxis.html layer"classQCPAxis.htmlantialiased"classQCPAxis.htmlsetVisible"classQCPAxis.htmlsetLayer"classQCPAxis.htmlsetLayer"classQCPAxis.htmlsetAntialiased"classQCPAxis.htmlrealVisibility"classQCPAxis.html*parentPlotInitialized"classQCPAxis.htmlclipRect"classQCPAxis.html(initializeParentPlot"êclassQCPAxis.html$setParentLayerable"classQCPAxis.htmlmoveToLayer"classQCPAxis.html*applyAntialiasingHint"classQCPAxis.htmlmAxisType"classQCPAxis.htmlmAxisRect"classQCPAxis.htmlmOffset"classQCPAxis.htmlmPadding"classQCPAxis.htmlmOrientation"classQCPAxis.html mSelectableParts"classQCPAxis.htmlmSelectedParts"classQCPAxis.htmlmBasePen"classQCPAxis.html mSelectedBasePen"classQCPAxis.htmlmLowerEnding"classQCPAxis.htmlmUpperEnding"classQCPAxis.htëmlmLabelPadding"classQCPAxis.html mLabel"classQCPAxis.htmlmLabelFont"classQCPAxis.html$mSelectedLabelFont"classQCPAxis.htmlmLabelColor"classQCPAxis.html&mSelectedLabelColor"classQCPAxis.html"mTickLabelPadding"classQCPAxis.htmlmTickLabels"classQCPAxis.htmlmAutoTickLabels"classQCPAxis.html$mTickLabelRotation"classQCPAxis.htmlmTickLabelType"classQCPAxis.htmlmTickLabelFont"classQCPAxis.html,mSelectedTickLabelFont"classQCPAxis.htmlmTickLabelColor"ìclassQCPAxis.html.mSelectedTickLabelColor"classQCPAxis.htmlmDateTimeFormat"classQCPAxis.htmlmDateTimeSpec"classQCPAxis.html mNumberPrecision"classQCPAxis.html"mNumberFormatChar"classQCPAxis.html,mNumberBeautifulPowers"classQCPAxis.html(mNumberMultiplyCross"classQCPAxis.html mTicks"classQCPAxis.htmlmTickStep"classQCPAxis.htmlmSubTickCount"classQCPAxis.htmlmAutoTickCount"classQCPAxis.htmlmAutoTicks"classQCPAxis.htmlmAutoTickStep"classQCPAxis.htmlmíAutoSubTicks"classQCPAxis.htmlmTickLengthIn"classQCPAxis.htmlmTickLengthOut"classQCPAxis.html mSubTickLengthIn"classQCPAxis.html"mSubTickLengthOut"classQCPAxis.htmlmTickPen"classQCPAxis.html mSelectedTickPen"classQCPAxis.htmlmSubTickPen"classQCPAxis.html&mSelectedSubTickPen"classQCPAxis.html mRange"classQCPAxis.htmlmRangeReversed"classQCPAxis.htmlmScaleType"classQCPAxis.htmlmScaleLogBase"classQCPAxis.html&mScaleLogBaseLogInv"classQCPAxis.html îmGrid"classQCPAxis.htmlmLabelCache"classQCPAxis.html$mLowestVisibleTick"classQCPAxis.html&mHighestVisibleTick"classQCPAxis.html mExponentialChar"classQCPAxis.html"mPositiveSignChar"classQCPAxis.htmlmTickVector"classQCPAxis.html"mTickVectorLabels"classQCPAxis.htmlmSubTickVector"classQCPAxis.html"mAxisSelectionBox"classQCPAxis.html.mTickLabelsSelectionBox"classQCPAxis.html$mLabelSelectionBox"classQCPAxis.html$mCachedMarginValid"classQCPAxis.htmlmCachedïMargin"classQCPAxis.htmlmVisible"classQCPAxis.htmlmParentPlot"classQCPAxis.html mParentLayerable"classQCPAxis.html mLayer"classQCPAxis.htmlmAntialiased"classQCPAxis.htmlQCustomPlot"classQCPAxis.htmlQCPGrid"classQCPAxis.htmlQCPAxisRect*classQCPAxisRect.htmlQCPAxisRect*classQCPAxisRect.htmlQCPAxisRect*classQCPAxisRect.html~QCPAxisRect*classQCPAxisRect.htmlbackground*classQCPAxisRect.html backgroundScaled*classQCPAxisRect.html(backgroundScaledðMode*classQCPAxisRect.htmlrangeDrag*classQCPAxisRect.htmlrangeZoom*classQCPAxisRect.htmlrangeDragAxis*classQCPAxisRect.htmlrangeZoomAxis*classQCPAxisRect.htmlrangeZoomFactor*classQCPAxisRect.htmlsetBackground*classQCPAxisRect.htmlsetBackground*classQCPAxisRect.htmlsetBackground*classQCPAxisRect.html&setBackgroundScaled*classQCPAxisRect.html.setBackgroundScaledMode*classQCPAxisRect.htmlsetRangeDrag*classQCPAxisRect.htmlsetRangeZoom*classQCPAxisReñct.html setRangeDragAxes*classQCPAxisRect.html setRangeZoomAxes*classQCPAxisRect.html$setRangeZoomFactor*classQCPAxisRect.html$setRangeZoomFactor*classQCPAxisRect.htmlaxisCount*classQCPAxisRect.htmlaxis*classQCPAxisRect.htmlaxes*classQCPAxisRect.htmlaxes*classQCPAxisRect.htmladdAxis*classQCPAxisRect.htmladdAxes*classQCPAxisRect.htmlremoveAxis*classQCPAxisRect.htmlinsetLayout*classQCPAxisRect.html setupFullAxesBox*classQCPAxisRect.htmlplottablesò*classQCPAxisRect.html graphs*classQCPAxisRect.html items*classQCPAxisRect.htmlleft*classQCPAxisRect.html right*classQCPAxisRect.htmltop*classQCPAxisRect.html bottom*classQCPAxisRect.html width*classQCPAxisRect.html height*classQCPAxisRect.htmlsize*classQCPAxisRect.htmltopLeft*classQCPAxisRect.htmltopRight*classQCPAxisRect.htmlbottomLeft*classQCPAxisRect.htmlbottomRight*classQCPAxisRect.html center*classQCPAxisRect.html update*classQCPAóxisRect.htmlelements*classQCPAxisRect.html8applyDefaultAntialiasingHint*classQCPAxisRect.htmldraw*classQCPAxisRect.html&calculateAutoMargin*classQCPAxisRect.htmlmousePressEvent*classQCPAxisRect.htmlmouseMoveEvent*classQCPAxisRect.html"mouseReleaseEvent*classQCPAxisRect.htmlwheelEvent*classQCPAxisRect.htmldrawBackground*classQCPAxisRect.html updateAxesOffset*classQCPAxisRect.html layout*classQCPAxisRect.htmlrect*classQCPAxisRect.htmlouterRect*clasôsQCPAxisRect.htmlmargins*classQCPAxisRect.htmlminimumMargins*classQCPAxisRect.htmlautoMargins*classQCPAxisRect.htmlminimumSize*classQCPAxisRect.htmlmaximumSize*classQCPAxisRect.htmlmarginGroup*classQCPAxisRect.htmlmarginGroups*classQCPAxisRect.htmlsetOuterRect*classQCPAxisRect.htmlsetMargins*classQCPAxisRect.html"setMinimumMargins*classQCPAxisRect.htmlsetAutoMargins*classQCPAxisRect.htmlsetMinimumSize*classQCPAxisRect.htmlsetMinimumSize*classõQCPAxisRect.htmlsetMaximumSize*classQCPAxisRect.htmlsetMaximumSize*classQCPAxisRect.htmlsetMarginGroup*classQCPAxisRect.htmlminimumSizeHint*classQCPAxisRect.htmlmaximumSizeHint*classQCPAxisRect.htmlselectTest*classQCPAxisRect.html*mouseDoubleClickEvent*classQCPAxisRect.html*parentPlotInitialized*classQCPAxisRect.htmlvisible*classQCPAxisRect.htmlparentPlot*classQCPAxisRect.htmlparentLayerable*classQCPAxisRect.html layer*classQCPAxisRect.htmlantialiöased*classQCPAxisRect.htmlsetVisible*classQCPAxisRect.htmlsetLayer*classQCPAxisRect.htmlsetLayer*classQCPAxisRect.htmlsetAntialiased*classQCPAxisRect.htmlrealVisibility*classQCPAxisRect.html"selectionCategory*classQCPAxisRect.htmlclipRect*classQCPAxisRect.htmlselectEvent*classQCPAxisRect.htmldeselectEvent*classQCPAxisRect.html(initializeParentPlot*classQCPAxisRect.html$setParentLayerable*classQCPAxisRect.htmlmoveToLayer*classQCPAxisRect.html*app÷lyAntialiasingHint*classQCPAxisRect.html mBackgroundBrush*classQCPAxisRect.html"mBackgroundPixmap*classQCPAxisRect.html.mScaledBackgroundPixmap*classQCPAxisRect.html"mBackgroundScaled*classQCPAxisRect.html*mBackgroundScaledMode*classQCPAxisRect.htmlmInsetLayout*classQCPAxisRect.htmlmRangeDrag*classQCPAxisRect.htmlmRangeZoom*classQCPAxisRect.html$mRangeDragHorzAxis*classQCPAxisRect.html$mRangeDragVertAxis*classQCPAxisRect.html$mRangeZoomHorzAxis*classQCPAxiøsRect.html$mRangeZoomVertAxis*classQCPAxisRect.html(mRangeZoomFactorHorz*classQCPAxisRect.html(mRangeZoomFactorVert*classQCPAxisRect.html&mDragStartHorzRange*classQCPAxisRect.html&mDragStartVertRange*classQCPAxisRect.htmlmAADragBackup*classQCPAxisRect.html mNotAADragBackup*classQCPAxisRect.htmlmDragStart*classQCPAxisRect.htmlmDragging*classQCPAxisRect.html mAxes*classQCPAxisRect.htmlmParentLayout*classQCPAxisRect.htmlmMinimumSize*classQCPAxisRect.htmlùmMaximumSize*classQCPAxisRect.html mRect*classQCPAxisRect.htmlmOuterRect*classQCPAxisRect.htmlmMargins*classQCPAxisRect.htmlmMinimumMargins*classQCPAxisRect.htmlmAutoMargins*classQCPAxisRect.htmlmMarginGroups*classQCPAxisRect.htmlmVisible*classQCPAxisRect.htmlmParentPlot*classQCPAxisRect.html mParentLayerable*classQCPAxisRect.html mLayer*classQCPAxisRect.htmlmAntialiased*classQCPAxisRect.htmlQCustomPlot(classQCPBarData.htmlQCPBarData(classQCúPBarData.htmlQCPBarData(classQCPBarData.htmlQCPBarData(classQCPBarData.htmlkey(classQCPBarData.html value"classQCPBars.htmlQCPBars"classQCPBars.htmlSignDomain"classQCPBars.htmlsdNegative"classQCPBars.html sdBoth"classQCPBars.htmlsdPositive"classQCPBars.htmlQCPBars"classQCPBars.html~QCPBars"classQCPBars.html width"classQCPBars.htmlbarBelow"classQCPBars.htmlbarAbove"classQCPBars.htmldata"classQCPBars.htmlsetWidth"classQCPBars.htmlûsetData"classQCPBars.htmlsetData"classQCPBars.htmlmoveBelow"classQCPBars.htmlmoveAbove"classQCPBars.htmladdData"classQCPBars.htmladdData"classQCPBars.htmladdData"classQCPBars.htmladdData"classQCPBars.html removeDataBefore"classQCPBars.htmlremoveDataAfter"classQCPBars.htmlremoveData"classQCPBars.htmlremoveData"classQCPBars.htmlclearData"classQCPBars.htmlselectTest"classQCPBars.htmldraw"classQCPBars.htmldrawLegendIcon"classQCPBarsü.htmlgetKeyRange"classQCPBars.htmlgetValueRange"classQCPBars.htmlgetBarPolygon"classQCPBars.htmlgetBaseValue"classQCPBars.htmlconnectBars"classQCPBars.htmlname"classQCPBars.htmlantialiasedFill"classQCPBars.html&antialiasedScatters"classQCPBars.html(antialiasedErrorBars"classQCPBars.htmlpen"classQCPBars.htmlselectedPen"classQCPBars.html brush"classQCPBars.htmlselectedBrush"classQCPBars.htmlkeyAxis"classQCPBars.htmlvalueAxis"classQCPBarýs.htmlselectable"classQCPBars.htmlselected"classQCPBars.htmlsetName"classQCPBars.html$setAntialiasedFill"classQCPBars.html,setAntialiasedScatters"classQCPBars.html.setAntialiasedErrorBars"classQCPBars.html setPen"classQCPBars.htmlsetSelectedPen"classQCPBars.htmlsetBrush"classQCPBars.html setSelectedBrush"classQCPBars.htmlsetKeyAxis"classQCPBars.htmlsetValueAxis"classQCPBars.htmlsetSelectable"classQCPBars.htmlsetSelected"classQCPBars.htmladþdToLegend"classQCPBars.html removeFromLegend"classQCPBars.htmlrescaleAxes"classQCPBars.htmlrescaleKeyAxis"classQCPBars.html rescaleValueAxis"classQCPBars.html selectionChanged"classQCPBars.htmlclipRect"classQCPBars.html"selectionCategory"classQCPBars.html8applyDefaultAntialiasingHint"classQCPBars.htmlselectEvent"classQCPBars.htmldeselectEvent"classQCPBars.htmlcoordsToPixels"classQCPBars.htmlcoordsToPixels"classQCPBars.htmlpixelsToCoords"classQÿCPBars.htmlpixelsToCoords"classQCPBars.htmlmainPen"classQCPBars.htmlmainBrush"classQCPBars.html2applyFillAntialiasingHint"classQCPBars.html:applyScattersAntialiasingHint"classQCPBars.html<applyErrorBarsAntialiasingHint"classQCPBars.htmldistSqrToLine"classQCPBars.htmlvisible"classQCPBars.htmlparentPlot"classQCPBars.htmlparentLayerable"classQCPBars.html layer"classQCPBars.htmlantialiased"classQCPBars.htmlsetVisible"classQCPBars.htmlsetLayer"classQCPBars.htmlsetLayer"classQCPBars.htmlsetAntialiased"classQCPBars.htmlrealVisibility"classQCPBars.html*parentPlotInitialized"classQCPBars.html(initializeParentPlot"classQCPBars.html$setParentLayerable"classQCPBars.htmlmoveToLayer"classQCPBars.html*applyAntialiasingHint"classQCPBars.html mData"classQCPBars.html mWidth"classQCPBars.htmlmBarBelow"classQCPBars.htmlmBarAbove"classQCPBars.html mName"classQCPBars.html mAntialiasedFill"classQCPBars.html(mAntialiasedScatters"classQCPBars.html*mAntialiasedErrorBars"classQCPBars.htmlmPen"classQCPBars.htmlmSelectedPen"classQCPBars.html mBrush"classQCPBars.htmlmSelectedBrush"classQCPBars.htmlmKeyAxis"classQCPBars.htmlmValueAxis"classQCPBars.htmlmSelectable"classQCPBars.htmlmSelected"classQCPBars.htmlmVisible"classQCPBars.htmlmParentPlot"classQCPBars.html mParentLayerable"classQCPBars.html mLayer"classQCPBars.htmlmAntialiased"classQCPBars.htmlQCustomPlot"classQCPBars.htmlQCPLegend$classQCPCurve.htmlQCPCurve$classQCPCurve.htmlLineStyle$classQCPCurve.html lsNone$classQCPCurve.html lsLine$classQCPCurve.htmlSignDomain$classQCPCurve.htmlsdNegative$classQCPCurve.html sdBoth$classQCPCurve.htmlsdPositive$classQCPCurve.htmlQCPCurve$classQCPCurve.html~QCPCurve$classQCPCurve.htmldata$classQCPCurve.htmlscatterStyle$classQCPCurve.htmllineStyle$classQCPCurve.htmlsetData$classQCPCurve.htmlsetData$classQCPCurve.htmlsetData$classQCPCurve.htmlsetScatterStyle$classQCPCurve.htmlsetLineStyle$classQCPCurve.htmladdData$classQCPCurve.htmladdData$classQCPCurve.htmladdData$classQCPCurve.htmladdData$classQCPCurve.htmladdData$classQCPCurve.html removeDataBefore$classQCPCurve.htmlremoveDataAfter$classQCPCurve.htmlremoveData$classQCPCurve.htmlremoveData$classQCPCurve.htmlclearData$classQCPCurve.htmlselectTest$classQCPCurve.htmldraw$classQCPCurve.htmldrawLegendIcon$classQCPCurve.htmlgetKeyRange$classQCPCurve.htmlgetValueRange$classQCPCurve.htmldrawScatterPlot$classQCPCurve.htmlgetCurveData$classQCPCurve.htmlpointDistance$classQCPCurve.html*outsideCoordsToPixels$classQCPCurve.htmlname$classQCPCurve.htmlantialiasedFill$classQCPCurve.html&antialiasedScatters$classQCPCurve.html(antialiasedErrorBars$classQCPCurve.htmlpen$classQCPCurve.htmlselectedPen$classQCPCurve.html brush$classQCPCurve.htmlselectedBrush$classQCPCurve.htmlkeyAxis$classQCPCurve.htmlvalueAxis$classQCPCurve.htmlselectable$classQCPCurve.htmlselected$classQCPCurve.htmlsetName$classQCPCurve.html$setAntialiasedFill$classQCPCurve.html,setAntialiasedScatters$classQCPCurve.html.setAntialiasedErrorBars$classQCPCurve.html setPen$classQCPCurve.htmlsetSelectedPen$classQCPCurve.htmlsetBrush$classQCPCurve.html setSelectedBrush$classQCPCurve.htmlsetKeyAxis$classQCPCurve.htmlsetValueAxis$classQCPCurve.htmlsetSelectable$classQCPCurve.htmlsetSelected$classQCPCurve.htmladdToLegend$classQCPCurve.html removeFromLegend$classQCPCurve.htmlrescaleAxes$classQCPCurve.htmlrescaleKeyAxis$classQCPCurve.html rescaleValueAxis$classQCPCurve.html selectionChanged$classQCPCurve.htmlclipRect$classQCPCurve.html"selectionCategory$classQCPCurve.html8applyDefaultAntialiasingHint$classQCPCurve.htmlselectEvent$classQCPCurve.htmldeselectEvent$classQCPCurve.htmlcoordsToPixels$classQCPCurve.htmlcoordsToPixels$classQCPCurve.htmlpixelsToCoords$classQCPCurve.htmlpixelsToCoords$classQCPCurve.htmlmainPen$classQCPCurve.htmlmainBrush$classQCPCurve.html2applyFillAntialiasingHint$classQCPCurve.html:applyScattersAntialiasingHint$classQCPCurve.html<applyErrorBarsAntialiasingHint$classQCPCurve.htmldistSqrToLine$classQCPCurve.htmlvisible$classQCPCurve.htmlparentPlot$classQCPCurve.htmlparentLayerable$classQCPCurve.html layer$classQCPCurve.htmlantialiased$classQCPCurve.htmlsetVisible$classQCPCurve.htmlsetLayer$classQCPCurve.htmlsetLayer$classQCPCurve.htmlsetAntialiased$classQCPCurve.htmlrealVisibility$classQCPCurve.html*parentPlotInitialized$classQCPCurve.html(initializeParentPlot$classQCPCurve.html$setParentLayerable$classQCPCurve.htmlmoveToLayer$classQCPCurve.html*applyAntialiasingHint$classQCPCurve.h tml mData$classQCPCurve.htmlmScatterStyle$classQCPCurve.htmlmLineStyle$classQCPCurve.html mName$classQCPCurve.html mAntialiasedFill$classQCPCurve.html(mAntialiasedScatters$classQCPCurve.html*mAntialiasedErrorBars$classQCPCurve.htmlmPen$classQCPCurve.htmlmSelectedPen$classQCPCurve.html mBrush$classQCPCurve.htmlmSelectedBrush$classQCPCurve.htmlmKeyAxis$classQCPCurve.htmlmValueAxis$classQCPCurve.htmlmSelectable$classQCPCurve.htmlmSelected$c lassQCPCurve.htmlmVisible$classQCPCurve.htmlmParentPlot$classQCPCurve.html mParentLayerable$classQCPCurve.html mLayer$classQCPCurve.htmlmAntialiased$classQCPCurve.htmlQCustomPlot$classQCPCurve.htmlQCPLegend,classQCPCurveData.htmlQCPCurveData,classQCPCurveData.htmlQCPCurveData,classQCPCurveData.htmlQCPCurveData,classQCPCurveData.htmlt,classQCPCurveData.htmlkey,classQCPCurveData.html value"classQCPData.htmlQCPData"classQCPData.htmlQCPData "classQCPData.htmlQCPData"classQCPData.htmlkey"classQCPData.html value"classQCPData.htmlkeyErrorPlus"classQCPData.htmlkeyErrorMinus"classQCPData.htmlvalueErrorPlus"classQCPData.htmlvalueErrorMinus$classQCPGraph.htmlQCPGraph$classQCPGraph.htmlLineStyle$classQCPGraph.html lsNone$classQCPGraph.html lsLine$classQCPGraph.htmllsStepLeft$classQCPGraph.htmllsStepRight$classQCPGraph.htmllsStepCenter$classQCPGraph.htmllsImpulse$classQCPGraph. htmlErrorType$classQCPGraph.html etNone$classQCPGraph.html etKey$classQCPGraph.htmletValue$classQCPGraph.html etBoth$classQCPGraph.htmlSignDomain$classQCPGraph.htmlsdNegative$classQCPGraph.html sdBoth$classQCPGraph.htmlsdPositive$classQCPGraph.htmlQCPGraph$classQCPGraph.html~QCPGraph$classQCPGraph.htmldata$classQCPGraph.htmllineStyle$classQCPGraph.htmlscatterStyle$classQCPGraph.htmlerrorType$classQCPGraph.htmlerrorPen$classQCPGrap h.htmlerrorBarSize$classQCPGraph.html$errorBarSkipSymbol$classQCPGraph.html channelFillGraph$classQCPGraph.htmlsetData$classQCPGraph.htmlsetData$classQCPGraph.htmlsetDataKeyError$classQCPGraph.htmlsetDataKeyError$classQCPGraph.html"setDataValueError$classQCPGraph.html"setDataValueError$classQCPGraph.html setDataBothError$classQCPGraph.html setDataBothError$classQCPGraph.htmlsetLineStyle$classQCPGraph.htmlsetScatterStyle$classQCPGraph.htmlsetErrorType$classQCPGraph.htmlsetErrorPen$classQCPGraph.htmlsetErrorBarSize$classQCPGraph.html*setErrorBarSkipSymbol$classQCPGraph.html&setChannelFillGraph$classQCPGraph.htmladdData$classQCPGraph.htmladdData$classQCPGraph.htmladdData$classQCPGraph.htmladdData$classQCPGraph.html removeDataBefore$classQCPGraph.htmlremoveDataAfter$classQCPGraph.htmlremoveData$classQCPGraph.htmlremoveData$classQCPGraph.htmlclearData$classQCPGraph.htmlselectTest$classQCPGraph.htmlrescaleAxes$classQCPGraph.htmlrescaleKeyAxis$classQCPGraph.html rescaleValueAxis$classQCPGraph.htmldraw$classQCPGraph.htmldrawLegendIcon$classQCPGraph.htmlgetKeyRange$classQCPGraph.htmlgetValueRange$classQCPGraph.htmlgetKeyRange$classQCPGraph.htmlgetValueRange$classQCPGraph.htmldrawFill$classQCPGraph.htmldrawScatterPlot$classQCPGraph.htmldrawLinePlot$classQCPGraph.htmldrawImpulsePlot$classQCPGraph.htmlgetPlotData$classQCPGraph.html$getScatterPlotData$classQCPGraph.htmlgetLinePlotData$classQCPGraph.html&getStepLeftPlotData$classQCPGraph.html(getStepRightPlotData$classQCPGraph.html*getStepCenterPlotData$classQCPGraph.html$getImpulsePlotData$classQCPGraph.htmldrawError$classQCPGraph.html(getVisibleDataBounds$classQCPGraph.html"addFillBasePoints$classQCPGraph.html(removeFillBasePoints$classQCPGraph.html$lowerFillBasePoint$classQCPGraph.html$upperFillBasePoint$classQCPGraph.html*getChannelFillPolygon$classQCPGraph.htmlfindIndexBelowX$classQCPGraph.htmlfindIndexAboveX$classQCPGraph.htmlfindIndexBelowY$classQCPGraph.htmlfindIndexAboveY$classQCPGraph.htmlpointDistance$classQCPGraph.htmlname$classQCPGraph.htmlantialiasedFill$classQCPGraph.html&antialiasedScatters$classQCPGraph.html(antialiasedErrorBars$classQCPGraph.htmlpen$classQCPGraph.htmlselectedPen$classQCPGraph.html brush$classQCPGraph.htmlselectedBrush$classQCPGraph.htmlkeyAxis$classQCPGraph.htmlvalueAxis$classQCPGraph.htmlselectable$classQCPGraph.htmlselected$classQCPGraph.htmlsetName$classQCPGraph.html$setAntialiasedFill$classQCPGraph.html,setAntialiasedScatters$classQCPGraph.html.setAntialiasedErrorBars$classQCPGraph.html setPen$classQCPGraph.htmlsetSelectedPen$classQCPGraph.htmlsetBrush$classQCPGraph.html setSelectedBrush$classQCPGraph.htmlsetKeyAxis$classQCPGraph.htmlsetValueAxis$classQCPGraph.htmlsetSelectable$classQCPGraph.htmlsetSelected$classQCPGraph.htmladdToLegend$classQCPGraph.html removeFromLegend$classQCPGraph.htmlrescaleAxes$classQCPGraph.htmlrescaleKeyAxis$classQCPGraph.html rescaleValueAxis$classQCPGraph.html selectionChanged$classQCPGraph.htmlclipRect$classQCPGraph.html"selectionCategory$classQCPGraph.html8applyDefaultAntialiasingHint$classQCPGraph.htmlselectEvent$classQCPGraph.htmldeselectEvent$classQCPGraph.htmlcoordsToPixels$classQCPGraph.htmlcoordsToPixels$classQCPGraph.htmlpixelsToCoords$classQCPGraph.htmlpixelsToCoords$classQCPGraph.htmlmainPen$classQCPGraph.htmlmainBrush$classQCPGraph.html2applyFillAntialiasingHint$classQCPGraph.html:applyScattersAntialiasingHint$classQCPGraph.html<applyErrorBarsAntialiasingHint$classQCPGraph.htmldistSqrToLine$classQCPGraph.htmlvisible$classQCPGraph.htmlparentPlot$classQCPGraph.htmlparentLayerable$classQCPGraph.html layer$classQCPGraph.htmlantialiased$classQCPGraph.htmlsetVisible$classQCPGraph.htmlsetLayer$classQCPGraph.htmlsetLayer$classQCPGraph.htmlsetAntialiased$classQCPGraph.htmlrealVisibility$classQCPGraph.html*parentPlotInitialized$classQCPGraph.html(initializeParentPlot$classQCPGraph.html$setParentLayerable$classQCPGraph.htmlmoveToLayer$classQCPGraph.html*applyAntialiasingHint$classQCPGraph.html mData$classQCPGraph.htmlmErrorPen$classQCPGraph.htmlmLineStyle$classQCPGraph.htmlmScatterStyle$classQCPGraph.htmlmErrorType$classQCPGraph.htmlmErrorBarSize$classQCPGraph.html&mErrorBarSkipSymbol$classQCPGraph.html"mChannelFillGraph$classQCPGraph.html mName$classQCPGraph.html mAntialiasedFill$classQCPGraph.html(mAntialiasedScatters$classQCPGraph.html*mAntialiasedErrorBars$classQCPGraph.htmlmPen$classQCPGraph.htmlmSelectedPen$classQCPGraph.html mBrush$classQCPGraph.htmlmSelectedBrush$classQCPGraph.htmlmKeyAxis$classQCPGraph.htmlmValueAxis$classQCPGraph.htmlmSelectable$classQCPGraph.htmlmSelected$classQCPGraph.htmlmVisible$classQCPGraph.htmlmParentPlot$classQCPGraph.html mParentLayerable$classQCPGraph.html mLayer$classQCPGraph.htmlmAntialiased$classQCPGraph.htmlQCustomPlot$classQCPGraph.htmlQCPLegend"classQCPGrid.htmlQCPGrid"classQCPGrid.htmlQCPGrid"classQCPGrid.htmlsubGridVisible"classQCPGrid.html$antialiasedSubGrid"classQCPGrid.html&antialiasedZeroLine"classQCPGrid.htmlpen"classQCPGrid.htmlsubGridPen"classQCPGrid.htmlzeroLinePen"classQCPGrid.html"setSubGridVisible"classQCPGrid.html*setAntialiasedSubGrid"classQCPGrid.html,setAntialiasedZeroLine"classQCPGrid.html setPen"classQCPGrid.htmlsetSubGridPen"classQCPGrid.htmlsetZeroLinePen"classQCPGrid.html8applyDefaultAntialiasingHint"classQCPGrid.htmldraw"classQCPGrid.htmldrawGridLines"classQCPGrid.html drawSubGridLines"classQCPGrid.htmlvisible"classQCPGrid.htmlparentPlot"classQCPGrid.htmlparentLayerable"classQCPGrid.html layer"classQCPGrid.htmlantialiased"classQCPGrid.htmlsetVisible"classQCPGrid.htmlsetLayer"classQCPGrid.htmlsetLayer"classQCPGrid.htmlsetAntialiased"classQCPGrid.htmlselectTest"classQCPGrid.htmlrealVisibility"classQCPGrid.html*parentPlotInitialized"classQCPGrid.html"selectionCategory"classQCPGrid.htmlclipRect"classQCPGrid.htmlselectEvent"classQCPGrid.htmldeselectEvent"classQCPGrid.html(initializeParentPlot"classQCPGrid.html$setParentLayerable"classQCPGrid.htmlmoveToLayer"classQCPGrid.html*applyAntialiasingHint"classQCPGrid.htmlmSubGridVisible"classQCPGrid.html&mAntialiasedSubGrid"classQCPGrid.html(mAntialiasedZeroLine"classQCPGrid.htmlmPen"classQCPGrid.htmlmSubGridPen"classQCPGrid.htmlmZeroLinePen"classQCPGrid.htmlmParentAxis"classQCPGrid.htmlmVisible"classQCPGrid.htmlmParentPlot"classQCPGrid.html mParentLayerable"classQCPGrid.html mLayer"classQCPGrid.htmlmAntialiased"classQCPGrid.htmlQCPAxis.classQCPItemAnchor.htmlQCPItemAnchor.classQCPItemAnchor.htmlQCPItemAnchor.classQCPItemAnchor.html~QCPItemAnchor.classQCPItemAnchor.htmlname.classQCPItemAnchor.htmlpixelPoint.classQCPItemAnchor.html"toQCPItemPosition.classQCPItemAnchor.htmladdChild.classQCPItemAnchor.htmlremoveChild.classQCPItemAnchor.html mName.classQCPItemAnchor.htmlmParentPlot.classQCPItemAnchor.htmlmParentItem.classQCPItemAnchor.htmlmAnchorId.classQCPItemAnchor.htmlmChildren.classQCPItemAnchor.htmlQCPItemPosition0classQCPItemBracket.htmlQCPItemBracket0classQCPItemBracket.htmlBracketStyle0classQCPItemBracket.htmlbsSquare0classQCPItemBracket.htmlbsRound0classQCPItemBracket.htmlbsCurly0classQCPItemBracket.htmlbsCalligraphic0classQCPItemBracket.htmlAnchorIndex0classQCPItemBracket.htmlaiCenter0classQCPItemBracket.htmlQCPItemBracket0classQCPItemBracket.html~QCPItemBracket0classQCPItemBracket.htmlpen0classQCPItemBracket.htmlselectedPen0classQCPItemBracket.html length0classQCPItemBracket.html style0classQCPItemBracket.html setPen0classQCPItemBracket.htmlsetSelectedPen0classQCPItemBracket.htmlsetLength0classQCPItemBracket.htmlsetStyle0classQCPItemBracket.htmlselectTest0classQCPItemBracket.htmldraw0classQCPItemBracket.html anchorPixelPoint0classQCPItemBracket.htmlmainPen0classQCPItemBracket.htmlclipToAxisRect0classQCPItemBracket.htmlclipAxisRect0classQCPItemBracket.htmlselectable0classQCPItemBracket.htmlselected0classQCPItemBracket.html"setClipToAxisRect0classQCPItemBracket.htmlsetClipAxisRect0classQCPItemBracket.htmlsetSelectable0classQCPItemBracket.htmlsetSelected0classQCPItemBracket.htmlpositions0classQCPItemBracket.htmlanchors0classQCPItemBracket.htmlposition0classQCPItemBracket.html anchor0classQCPItemBracket.htmlhasAnchor0classQCPItemBracket.html selectionChanged0classQCPItemBracket.html"selectionCategory0classQCPItemBracket.htmlclipRect0classQCPItemBracket.html8applyDefaultAntialiasingHint0classQCPItemBracket.htmlselectEvent0classQCPItemBracket.htmldeselectEvent0classQCPItemBracket.htmldistSqrToLine0classQCPItemBracket.htmlrectSelectTest0classQCPItemBracket.htmlcreatePosition0classQCPItemBracket.htmlcreateAnchor0classQCP ItemBracket.htmlvisible0classQCPItemBracket.htmlparentPlot0classQCPItemBracket.htmlparentLayerable0classQCPItemBracket.html layer0classQCPItemBracket.htmlantialiased0classQCPItemBracket.htmlsetVisible0classQCPItemBracket.htmlsetLayer0classQCPItemBracket.htmlsetLayer0classQCPItemBracket.htmlsetAntialiased0classQCPItemBracket.htmlrealVisibility0classQCPItemBracket.html*parentPlotInitialized0classQCPItemBracket.html(initializeParentPlot0classQCPItemBra!cket.html$setParentLayerable0classQCPItemBracket.htmlmoveToLayer0classQCPItemBracket.html*applyAntialiasingHint0classQCPItemBracket.htmlleft0classQCPItemBracket.html right0classQCPItemBracket.html center0classQCPItemBracket.htmlmPen0classQCPItemBracket.htmlmSelectedPen0classQCPItemBracket.htmlmLength0classQCPItemBracket.html mStyle0classQCPItemBracket.htmlmClipToAxisRect0classQCPItemBracket.htmlmClipAxisRect0classQCPItemBracket.htmlmPositions0cla"ssQCPItemBracket.htmlmAnchors0classQCPItemBracket.htmlmSelectable0classQCPItemBracket.htmlmSelected0classQCPItemBracket.htmlmVisible0classQCPItemBracket.htmlmParentPlot0classQCPItemBracket.html mParentLayerable0classQCPItemBracket.html mLayer0classQCPItemBracket.htmlmAntialiased,classQCPItemCurve.htmlQCPItemCurve,classQCPItemCurve.htmlQCPItemCurve,classQCPItemCurve.html~QCPItemCurve,classQCPItemCurve.htmlpen,classQCPItemCurve.htmlselectedPen,c#lassQCPItemCurve.htmlhead,classQCPItemCurve.htmltail,classQCPItemCurve.html setPen,classQCPItemCurve.htmlsetSelectedPen,classQCPItemCurve.htmlsetHead,classQCPItemCurve.htmlsetTail,classQCPItemCurve.htmlselectTest,classQCPItemCurve.htmldraw,classQCPItemCurve.htmlmainPen,classQCPItemCurve.htmlclipToAxisRect,classQCPItemCurve.htmlclipAxisRect,classQCPItemCurve.htmlselectable,classQCPItemCurve.htmlselected,classQCPItemCurve.html"setClipToAxisRec$t,classQCPItemCurve.htmlsetClipAxisRect,classQCPItemCurve.htmlsetSelectable,classQCPItemCurve.htmlsetSelected,classQCPItemCurve.htmlpositions,classQCPItemCurve.htmlanchors,classQCPItemCurve.htmlposition,classQCPItemCurve.html anchor,classQCPItemCurve.htmlhasAnchor,classQCPItemCurve.html selectionChanged,classQCPItemCurve.html"selectionCategory,classQCPItemCurve.htmlclipRect,classQCPItemCurve.html8applyDefaultAntialiasingHint,classQCPItemCurve.html%selectEvent,classQCPItemCurve.htmldeselectEvent,classQCPItemCurve.html anchorPixelPoint,classQCPItemCurve.htmldistSqrToLine,classQCPItemCurve.htmlrectSelectTest,classQCPItemCurve.htmlcreatePosition,classQCPItemCurve.htmlcreateAnchor,classQCPItemCurve.htmlvisible,classQCPItemCurve.htmlparentPlot,classQCPItemCurve.htmlparentLayerable,classQCPItemCurve.html layer,classQCPItemCurve.htmlantialiased,classQCPItemCurve.htmlsetVisible,classQCPItemCurve&.htmlsetLayer,classQCPItemCurve.htmlsetLayer,classQCPItemCurve.htmlsetAntialiased,classQCPItemCurve.htmlrealVisibility,classQCPItemCurve.html*parentPlotInitialized,classQCPItemCurve.html(initializeParentPlot,classQCPItemCurve.html$setParentLayerable,classQCPItemCurve.htmlmoveToLayer,classQCPItemCurve.html*applyAntialiasingHint,classQCPItemCurve.html start,classQCPItemCurve.htmlstartDir,classQCPItemCurve.html endDir,classQCPItemCurve.htmlend,classQ'CPItemCurve.htmlmPen,classQCPItemCurve.htmlmSelectedPen,classQCPItemCurve.html mHead,classQCPItemCurve.html mTail,classQCPItemCurve.htmlmClipToAxisRect,classQCPItemCurve.htmlmClipAxisRect,classQCPItemCurve.htmlmPositions,classQCPItemCurve.htmlmAnchors,classQCPItemCurve.htmlmSelectable,classQCPItemCurve.htmlmSelected,classQCPItemCurve.htmlmVisible,classQCPItemCurve.htmlmParentPlot,classQCPItemCurve.html mParentLayerable,classQCPItemCurve.html m(Layer,classQCPItemCurve.htmlmAntialiased0classQCPItemEllipse.htmlQCPItemEllipse0classQCPItemEllipse.htmlAnchorIndex0classQCPItemEllipse.htmlaiTopLeftRim0classQCPItemEllipse.html aiTop0classQCPItemEllipse.htmlaiTopRightRim0classQCPItemEllipse.htmlaiRight0classQCPItemEllipse.html aiBottomRightRim0classQCPItemEllipse.htmlaiBottom0classQCPItemEllipse.htmlaiBottomLeftRim0classQCPItemEllipse.html aiLeft0classQCPItemEllipse.htmlaiCenter0classQCPItemElli)pse.htmlQCPItemEllipse0classQCPItemEllipse.html~QCPItemEllipse0classQCPItemEllipse.htmlpen0classQCPItemEllipse.htmlselectedPen0classQCPItemEllipse.html brush0classQCPItemEllipse.htmlselectedBrush0classQCPItemEllipse.html setPen0classQCPItemEllipse.htmlsetSelectedPen0classQCPItemEllipse.htmlsetBrush0classQCPItemEllipse.html setSelectedBrush0classQCPItemEllipse.htmlselectTest0classQCPItemEllipse.htmldraw0classQCPItemEllipse.html anchorPixelPoint0c*lassQCPItemEllipse.htmlmainPen0classQCPItemEllipse.htmlmainBrush0classQCPItemEllipse.htmlclipToAxisRect0classQCPItemEllipse.htmlclipAxisRect0classQCPItemEllipse.htmlselectable0classQCPItemEllipse.htmlselected0classQCPItemEllipse.html"setClipToAxisRect0classQCPItemEllipse.htmlsetClipAxisRect0classQCPItemEllipse.htmlsetSelectable0classQCPItemEllipse.htmlsetSelected0classQCPItemEllipse.htmlpositions0classQCPItemEllipse.htmlanchors0classQCPItemEllipse+.htmlposition0classQCPItemEllipse.html anchor0classQCPItemEllipse.htmlhasAnchor0classQCPItemEllipse.html selectionChanged0classQCPItemEllipse.html"selectionCategory0classQCPItemEllipse.htmlclipRect0classQCPItemEllipse.html8applyDefaultAntialiasingHint0classQCPItemEllipse.htmlselectEvent0classQCPItemEllipse.htmldeselectEvent0classQCPItemEllipse.htmldistSqrToLine0classQCPItemEllipse.htmlrectSelectTest0classQCPItemEllipse.htmlcreatePosition0classQCPItem,Ellipse.htmlcreateAnchor0classQCPItemEllipse.htmlvisible0classQCPItemEllipse.htmlparentPlot0classQCPItemEllipse.htmlparentLayerable0classQCPItemEllipse.html layer0classQCPItemEllipse.htmlantialiased0classQCPItemEllipse.htmlsetVisible0classQCPItemEllipse.htmlsetLayer0classQCPItemEllipse.htmlsetLayer0classQCPItemEllipse.htmlsetAntialiased0classQCPItemEllipse.htmlrealVisibility0classQCPItemEllipse.html*parentPlotInitialized0classQCPItemEllipse.html(i-nitializeParentPlot0classQCPItemEllipse.html$setParentLayerable0classQCPItemEllipse.htmlmoveToLayer0classQCPItemEllipse.html*applyAntialiasingHint0classQCPItemEllipse.htmltopLeft0classQCPItemEllipse.htmlbottomRight0classQCPItemEllipse.htmltopLeftRim0classQCPItemEllipse.htmltop0classQCPItemEllipse.htmltopRightRim0classQCPItemEllipse.html right0classQCPItemEllipse.htmlbottomRightRim0classQCPItemEllipse.html bottom0classQCPItemEllipse.htmlbottomLeftRim.0classQCPItemEllipse.htmlleft0classQCPItemEllipse.html center0classQCPItemEllipse.htmlmPen0classQCPItemEllipse.htmlmSelectedPen0classQCPItemEllipse.html mBrush0classQCPItemEllipse.htmlmSelectedBrush0classQCPItemEllipse.htmlmClipToAxisRect0classQCPItemEllipse.htmlmClipAxisRect0classQCPItemEllipse.htmlmPositions0classQCPItemEllipse.htmlmAnchors0classQCPItemEllipse.htmlmSelectable0classQCPItemEllipse.htmlmSelected0classQCPItemEllipse.htmlmVisible/0classQCPItemEllipse.htmlmParentPlot0classQCPItemEllipse.html mParentLayerable0classQCPItemEllipse.html mLayer0classQCPItemEllipse.htmlmAntialiased*classQCPItemLine.htmlQCPItemLine*classQCPItemLine.htmlQCPItemLine*classQCPItemLine.html~QCPItemLine*classQCPItemLine.htmlpen*classQCPItemLine.htmlselectedPen*classQCPItemLine.htmlhead*classQCPItemLine.htmltail*classQCPItemLine.html setPen*classQCPItemLine.htmlsetSelectedPen*classQCPItemLine.html0setHead*classQCPItemLine.htmlsetTail*classQCPItemLine.htmlselectTest*classQCPItemLine.htmldraw*classQCPItemLine.html$getRectClippedLine*classQCPItemLine.htmlmainPen*classQCPItemLine.htmlclipToAxisRect*classQCPItemLine.htmlclipAxisRect*classQCPItemLine.htmlselectable*classQCPItemLine.htmlselected*classQCPItemLine.html"setClipToAxisRect*classQCPItemLine.htmlsetClipAxisRect*classQCPItemLine.htmlsetSelectable*classQCPItemLine.htmlsetSelected*cl1assQCPItemLine.htmlpositions*classQCPItemLine.htmlanchors*classQCPItemLine.htmlposition*classQCPItemLine.html anchor*classQCPItemLine.htmlhasAnchor*classQCPItemLine.html selectionChanged*classQCPItemLine.html"selectionCategory*classQCPItemLine.htmlclipRect*classQCPItemLine.html8applyDefaultAntialiasingHint*classQCPItemLine.htmlselectEvent*classQCPItemLine.htmldeselectEvent*classQCPItemLine.html anchorPixelPoint*classQCPItemLine.htmldistSqrToLine*2classQCPItemLine.htmlrectSelectTest*classQCPItemLine.htmlcreatePosition*classQCPItemLine.htmlcreateAnchor*classQCPItemLine.htmlvisible*classQCPItemLine.htmlparentPlot*classQCPItemLine.htmlparentLayerable*classQCPItemLine.html layer*classQCPItemLine.htmlantialiased*classQCPItemLine.htmlsetVisible*classQCPItemLine.htmlsetLayer*classQCPItemLine.htmlsetLayer*classQCPItemLine.htmlsetAntialiased*classQCPItemLine.htmlrealVisibility*classQCPItemLine.3html*parentPlotInitialized*classQCPItemLine.html(initializeParentPlot*classQCPItemLine.html$setParentLayerable*classQCPItemLine.htmlmoveToLayer*classQCPItemLine.html*applyAntialiasingHint*classQCPItemLine.html start*classQCPItemLine.htmlend*classQCPItemLine.htmlmPen*classQCPItemLine.htmlmSelectedPen*classQCPItemLine.html mHead*classQCPItemLine.html mTail*classQCPItemLine.htmlmClipToAxisRect*classQCPItemLine.htmlmClipAxisRect*classQCPItemLine.html4mPositions*classQCPItemLine.htmlmAnchors*classQCPItemLine.htmlmSelectable*classQCPItemLine.htmlmSelected*classQCPItemLine.htmlmVisible*classQCPItemLine.htmlmParentPlot*classQCPItemLine.html mParentLayerable*classQCPItemLine.html mLayer*classQCPItemLine.htmlmAntialiased.classQCPItemPixmap.htmlQCPItemPixmap.classQCPItemPixmap.htmlAnchorIndex.classQCPItemPixmap.html aiTop.classQCPItemPixmap.htmlaiTopRight.classQCPItemPixmap.htmlaiRight.classQCP5ItemPixmap.htmlaiBottom.classQCPItemPixmap.htmlaiBottomLeft.classQCPItemPixmap.html aiLeft.classQCPItemPixmap.htmlQCPItemPixmap.classQCPItemPixmap.html~QCPItemPixmap.classQCPItemPixmap.html pixmap.classQCPItemPixmap.html scaled.classQCPItemPixmap.htmlaspectRatioMode.classQCPItemPixmap.htmlpen.classQCPItemPixmap.htmlselectedPen.classQCPItemPixmap.htmlsetPixmap.classQCPItemPixmap.htmlsetScaled.classQCPItemPixmap.html setPen.classQCPItemPixmap.html6setSelectedPen.classQCPItemPixmap.htmlselectTest.classQCPItemPixmap.htmldraw.classQCPItemPixmap.html anchorPixelPoint.classQCPItemPixmap.html$updateScaledPixmap.classQCPItemPixmap.htmlgetFinalRect.classQCPItemPixmap.htmlmainPen.classQCPItemPixmap.htmlclipToAxisRect.classQCPItemPixmap.htmlclipAxisRect.classQCPItemPixmap.htmlselectable.classQCPItemPixmap.htmlselected.classQCPItemPixmap.html"setClipToAxisRect.classQCPItemPixmap.htmlsetClipAxisRect7.classQCPItemPixmap.htmlsetSelectable.classQCPItemPixmap.htmlsetSelected.classQCPItemPixmap.htmlpositions.classQCPItemPixmap.htmlanchors.classQCPItemPixmap.htmlposition.classQCPItemPixmap.html anchor.classQCPItemPixmap.htmlhasAnchor.classQCPItemPixmap.html selectionChanged.classQCPItemPixmap.html"selectionCategory.classQCPItemPixmap.htmlclipRect.classQCPItemPixmap.html8applyDefaultAntialiasingHint.classQCPItemPixmap.htmlselectEvent.classQCPItemPixmap8.htmldeselectEvent.classQCPItemPixmap.htmldistSqrToLine.classQCPItemPixmap.htmlrectSelectTest.classQCPItemPixmap.htmlcreatePosition.classQCPItemPixmap.htmlcreateAnchor.classQCPItemPixmap.htmlvisible.classQCPItemPixmap.htmlparentPlot.classQCPItemPixmap.htmlparentLayerable.classQCPItemPixmap.html layer.classQCPItemPixmap.htmlantialiased.classQCPItemPixmap.htmlsetVisible.classQCPItemPixmap.htmlsetLayer.classQCPItemPixmap.htmlsetLayer.classQCPIte9mPixmap.htmlsetAntialiased.classQCPItemPixmap.htmlrealVisibility.classQCPItemPixmap.html*parentPlotInitialized.classQCPItemPixmap.html(initializeParentPlot.classQCPItemPixmap.html$setParentLayerable.classQCPItemPixmap.htmlmoveToLayer.classQCPItemPixmap.html*applyAntialiasingHint.classQCPItemPixmap.htmltopLeft.classQCPItemPixmap.htmlbottomRight.classQCPItemPixmap.htmltop.classQCPItemPixmap.htmltopRight.classQCPItemPixmap.html right.classQCPItemPixmap.h:tml bottom.classQCPItemPixmap.htmlbottomLeft.classQCPItemPixmap.htmlleft.classQCPItemPixmap.htmlmPixmap.classQCPItemPixmap.htmlmScaledPixmap.classQCPItemPixmap.htmlmScaled.classQCPItemPixmap.html mAspectRatioMode.classQCPItemPixmap.htmlmPen.classQCPItemPixmap.htmlmSelectedPen.classQCPItemPixmap.htmlmClipToAxisRect.classQCPItemPixmap.htmlmClipAxisRect.classQCPItemPixmap.htmlmPositions.classQCPItemPixmap.htmlmAnchors.classQCPItemPixmap.htmlmSe;lectable.classQCPItemPixmap.htmlmSelected.classQCPItemPixmap.htmlmVisible.classQCPItemPixmap.htmlmParentPlot.classQCPItemPixmap.html mParentLayerable.classQCPItemPixmap.html mLayer.classQCPItemPixmap.htmlmAntialiased2classQCPItemPosition.htmlQCPItemPosition2classQCPItemPosition.htmlPositionType2classQCPItemPosition.htmlptAbsolute2classQCPItemPosition.htmlptViewportRatio2classQCPItemPosition.htmlptAxisRectRatio2classQCPItemPosition.htmlptPlotCoords<2classQCPItemPosition.htmlQCPItemPosition2classQCPItemPosition.html ~QCPItemPosition2classQCPItemPosition.htmltype2classQCPItemPosition.htmlparentAnchor2classQCPItemPosition.htmlkey2classQCPItemPosition.html value2classQCPItemPosition.html coords2classQCPItemPosition.htmlkeyAxis2classQCPItemPosition.htmlvalueAxis2classQCPItemPosition.htmlaxisRect2classQCPItemPosition.htmlpixelPoint2classQCPItemPosition.htmlsetType2classQCPItemPosition.htmlsetPar=entAnchor2classQCPItemPosition.htmlsetCoords2classQCPItemPosition.htmlsetCoords2classQCPItemPosition.htmlsetAxes2classQCPItemPosition.htmlsetAxisRect2classQCPItemPosition.htmlsetPixelPoint2classQCPItemPosition.html"toQCPItemPosition2classQCPItemPosition.htmlname2classQCPItemPosition.htmladdChild2classQCPItemPosition.htmlremoveChild2classQCPItemPosition.htmlmPositionType2classQCPItemPosition.htmlmKeyAxis2classQCPItemPosition.htmlmValueAxis2class>QCPItemPosition.htmlmAxisRect2classQCPItemPosition.htmlmKey2classQCPItemPosition.html mValue2classQCPItemPosition.htmlmParentAnchor2classQCPItemPosition.html mName2classQCPItemPosition.htmlmParentPlot2classQCPItemPosition.htmlmParentItem2classQCPItemPosition.htmlmAnchorId2classQCPItemPosition.htmlmChildren*classQCPItemRect.htmlQCPItemRect*classQCPItemRect.htmlAnchorIndex*classQCPItemRect.html aiTop*classQCPItemRect.htmlaiTopRight*classQCPItemRe?ct.htmlaiRight*classQCPItemRect.htmlaiBottom*classQCPItemRect.htmlaiBottomLeft*classQCPItemRect.html aiLeft*classQCPItemRect.htmlQCPItemRect*classQCPItemRect.html~QCPItemRect*classQCPItemRect.htmlpen*classQCPItemRect.htmlselectedPen*classQCPItemRect.html brush*classQCPItemRect.htmlselectedBrush*classQCPItemRect.html setPen*classQCPItemRect.htmlsetSelectedPen*classQCPItemRect.htmlsetBrush*classQCPItemRect.html setSelectedBrush*classQCPItemRe@ct.htmlselectTest*classQCPItemRect.htmldraw*classQCPItemRect.html anchorPixelPoint*classQCPItemRect.htmlmainPen*classQCPItemRect.htmlmainBrush*classQCPItemRect.htmlclipToAxisRect*classQCPItemRect.htmlclipAxisRect*classQCPItemRect.htmlselectable*classQCPItemRect.htmlselected*classQCPItemRect.html"setClipToAxisRect*classQCPItemRect.htmlsetClipAxisRect*classQCPItemRect.htmlsetSelectable*classQCPItemRect.htmlsetSelected*classQCPItemRect.htmlposiAtions*classQCPItemRect.htmlanchors*classQCPItemRect.htmlposition*classQCPItemRect.html anchor*classQCPItemRect.htmlhasAnchor*classQCPItemRect.html selectionChanged*classQCPItemRect.html"selectionCategory*classQCPItemRect.htmlclipRect*classQCPItemRect.html8applyDefaultAntialiasingHint*classQCPItemRect.htmlselectEvent*classQCPItemRect.htmldeselectEvent*classQCPItemRect.htmldistSqrToLine*classQCPItemRect.htmlrectSelectTest*classQCPItemRect.htmlcreaBtePosition*classQCPItemRect.htmlcreateAnchor*classQCPItemRect.htmlvisible*classQCPItemRect.htmlparentPlot*classQCPItemRect.htmlparentLayerable*classQCPItemRect.html layer*classQCPItemRect.htmlantialiased*classQCPItemRect.htmlsetVisible*classQCPItemRect.htmlsetLayer*classQCPItemRect.htmlsetLayer*classQCPItemRect.htmlsetAntialiased*classQCPItemRect.htmlrealVisibility*classQCPItemRect.html*parentPlotInitialized*classQCPItemRect.html(initializePareCntPlot*classQCPItemRect.html$setParentLayerable*classQCPItemRect.htmlmoveToLayer*classQCPItemRect.html*applyAntialiasingHint*classQCPItemRect.htmltopLeft*classQCPItemRect.htmlbottomRight*classQCPItemRect.htmltop*classQCPItemRect.htmltopRight*classQCPItemRect.html right*classQCPItemRect.html bottom*classQCPItemRect.htmlbottomLeft*classQCPItemRect.htmlleft*classQCPItemRect.htmlmPen*classQCPItemRect.htmlmSelectedPen*classQCPItemRect.html mBrushD*classQCPItemRect.htmlmSelectedBrush*classQCPItemRect.htmlmClipToAxisRect*classQCPItemRect.htmlmClipAxisRect*classQCPItemRect.htmlmPositions*classQCPItemRect.htmlmAnchors*classQCPItemRect.htmlmSelectable*classQCPItemRect.htmlmSelected*classQCPItemRect.htmlmVisible*classQCPItemRect.htmlmParentPlot*classQCPItemRect.html mParentLayerable*classQCPItemRect.html mLayer*classQCPItemRect.htmlmAntialiased:classQCPItemStraightLine.html&QCPItemStraightLinEe:classQCPItemStraightLine.html&QCPItemStraightLine:classQCPItemStraightLine.html(~QCPItemStraightLine:classQCPItemStraightLine.htmlpen:classQCPItemStraightLine.htmlselectedPen:classQCPItemStraightLine.html setPen:classQCPItemStraightLine.htmlsetSelectedPen:classQCPItemStraightLine.htmlselectTest:classQCPItemStraightLine.htmldraw:classQCPItemStraightLine.html$distToStraightLine:classQCPItemStraightLine.html4getRectClippedStraightLine:classQCPItemStraightLineF.htmlmainPen:classQCPItemStraightLine.htmlclipToAxisRect:classQCPItemStraightLine.htmlclipAxisRect:classQCPItemStraightLine.htmlselectable:classQCPItemStraightLine.htmlselected:classQCPItemStraightLine.html"setClipToAxisRect:classQCPItemStraightLine.htmlsetClipAxisRect:classQCPItemStraightLine.htmlsetSelectable:classQCPItemStraightLine.htmlsetSelected:classQCPItemStraightLine.htmlpositions:classQCPItemStraightLine.htmlanchors:classQCPItemStraightLine.hGtmlposition:classQCPItemStraightLine.html anchor:classQCPItemStraightLine.htmlhasAnchor:classQCPItemStraightLine.html selectionChanged:classQCPItemStraightLine.html"selectionCategory:classQCPItemStraightLine.htmlclipRect:classQCPItemStraightLine.html8applyDefaultAntialiasingHint:classQCPItemStraightLine.htmlselectEvent:classQCPItemStraightLine.htmldeselectEvent:classQCPItemStraightLine.html anchorPixelPoint:classQCPItemStraightLine.htmldistSqrToLine:classQHCPItemStraightLine.htmlrectSelectTest:classQCPItemStraightLine.htmlcreatePosition:classQCPItemStraightLine.htmlcreateAnchor:classQCPItemStraightLine.htmlvisible:classQCPItemStraightLine.htmlparentPlot:classQCPItemStraightLine.htmlparentLayerable:classQCPItemStraightLine.html layer:classQCPItemStraightLine.htmlantialiased:classQCPItemStraightLine.htmlsetVisible:classQCPItemStraightLine.htmlsetLayer:classQCPItemStraightLine.htmlsetLayer:classQCPItemStraiIghtLine.htmlsetAntialiased:classQCPItemStraightLine.htmlrealVisibility:classQCPItemStraightLine.html*parentPlotInitialized:classQCPItemStraightLine.html(initializeParentPlot:classQCPItemStraightLine.html$setParentLayerable:classQCPItemStraightLine.htmlmoveToLayer:classQCPItemStraightLine.html*applyAntialiasingHint:classQCPItemStraightLine.html point1:classQCPItemStraightLine.html point2:classQCPItemStraightLine.htmlmPen:classQCPItemStraightLine.htmlmSelectedPeJn:classQCPItemStraightLine.htmlmClipToAxisRect:classQCPItemStraightLine.htmlmClipAxisRect:classQCPItemStraightLine.htmlmPositions:classQCPItemStraightLine.htmlmAnchors:classQCPItemStraightLine.htmlmSelectable:classQCPItemStraightLine.htmlmSelected:classQCPItemStraightLine.htmlmVisible:classQCPItemStraightLine.htmlmParentPlot:classQCPItemStraightLine.html mParentLayerable:classQCPItemStraightLine.html mLayer:classQCPItemStraightLine.htmlmAntialiased*cKlassQCPItemText.htmlQCPItemText*classQCPItemText.htmlAnchorIndex*classQCPItemText.htmlaiTopLeft*classQCPItemText.html aiTop*classQCPItemText.htmlaiTopRight*classQCPItemText.htmlaiRight*classQCPItemText.htmlaiBottomRight*classQCPItemText.htmlaiBottom*classQCPItemText.htmlaiBottomLeft*classQCPItemText.html aiLeft*classQCPItemText.htmlQCPItemText*classQCPItemText.html~QCPItemText*classQCPItemText.html color*classQCPItemText.htmlselectedColor*LclassQCPItemText.htmlpen*classQCPItemText.htmlselectedPen*classQCPItemText.html brush*classQCPItemText.htmlselectedBrush*classQCPItemText.htmlfont*classQCPItemText.htmlselectedFont*classQCPItemText.htmltext*classQCPItemText.html"positionAlignment*classQCPItemText.htmltextAlignment*classQCPItemText.htmlrotation*classQCPItemText.htmlpadding*classQCPItemText.htmlsetColor*classQCPItemText.html setSelectedColor*classQCPItemText.html setPen*classMQCPItemText.htmlsetSelectedPen*classQCPItemText.htmlsetBrush*classQCPItemText.html setSelectedBrush*classQCPItemText.htmlsetFont*classQCPItemText.htmlsetSelectedFont*classQCPItemText.htmlsetText*classQCPItemText.html(setPositionAlignment*classQCPItemText.html setTextAlignment*classQCPItemText.htmlsetRotation*classQCPItemText.htmlsetPadding*classQCPItemText.htmlselectTest*classQCPItemText.htmldraw*classQCPItemText.html anchorPixelPoint*classQCPItNemText.html getTextDrawPoint*classQCPItemText.htmlmainFont*classQCPItemText.htmlmainColor*classQCPItemText.htmlmainPen*classQCPItemText.htmlmainBrush*classQCPItemText.htmlclipToAxisRect*classQCPItemText.htmlclipAxisRect*classQCPItemText.htmlselectable*classQCPItemText.htmlselected*classQCPItemText.html"setClipToAxisRect*classQCPItemText.htmlsetClipAxisRect*classQCPItemText.htmlsetSelectable*classQCPItemText.htmlsetSelected*classQCPItemText.htmOlpositions*classQCPItemText.htmlanchors*classQCPItemText.htmlposition*classQCPItemText.html anchor*classQCPItemText.htmlhasAnchor*classQCPItemText.html selectionChanged*classQCPItemText.html"selectionCategory*classQCPItemText.htmlclipRect*classQCPItemText.html8applyDefaultAntialiasingHint*classQCPItemText.htmlselectEvent*classQCPItemText.htmldeselectEvent*classQCPItemText.htmldistSqrToLine*classQCPItemText.htmlrectSelectTest*classQCPItemText.htmPlcreatePosition*classQCPItemText.htmlcreateAnchor*classQCPItemText.htmlvisible*classQCPItemText.htmlparentPlot*classQCPItemText.htmlparentLayerable*classQCPItemText.html layer*classQCPItemText.htmlantialiased*classQCPItemText.htmlsetVisible*classQCPItemText.htmlsetLayer*classQCPItemText.htmlsetLayer*classQCPItemText.htmlsetAntialiased*classQCPItemText.htmlrealVisibility*classQCPItemText.html*parentPlotInitialized*classQCPItemText.html(initialQizeParentPlot*classQCPItemText.html$setParentLayerable*classQCPItemText.htmlmoveToLayer*classQCPItemText.html*applyAntialiasingHint*classQCPItemText.htmlposition*classQCPItemText.htmltopLeft*classQCPItemText.htmltop*classQCPItemText.htmltopRight*classQCPItemText.html right*classQCPItemText.htmlbottomRight*classQCPItemText.html bottom*classQCPItemText.htmlbottomLeft*classQCPItemText.htmlleft*classQCPItemText.html mColor*classQCPItemText.htmlmRSelectedColor*classQCPItemText.htmlmPen*classQCPItemText.htmlmSelectedPen*classQCPItemText.html mBrush*classQCPItemText.htmlmSelectedBrush*classQCPItemText.html mFont*classQCPItemText.htmlmSelectedFont*classQCPItemText.html mText*classQCPItemText.html$mPositionAlignment*classQCPItemText.htmlmTextAlignment*classQCPItemText.htmlmRotation*classQCPItemText.htmlmPadding*classQCPItemText.htmlmClipToAxisRect*classQCPItemText.htmlmClipAxisRect*classQSCPItemText.htmlmPositions*classQCPItemText.htmlmAnchors*classQCPItemText.htmlmSelectable*classQCPItemText.htmlmSelected*classQCPItemText.htmlmVisible*classQCPItemText.htmlmParentPlot*classQCPItemText.html mParentLayerable*classQCPItemText.html mLayer*classQCPItemText.htmlmAntialiased.classQCPItemTracer.htmlQCPItemTracer.classQCPItemTracer.htmlTracerStyle.classQCPItemTracer.html tsNone.classQCPItemTracer.html tsPlus.classQCPItemTracer.htmltsCroTsshair.classQCPItemTracer.htmltsCircle.classQCPItemTracer.htmltsSquare.classQCPItemTracer.htmlQCPItemTracer.classQCPItemTracer.html~QCPItemTracer.classQCPItemTracer.htmlpen.classQCPItemTracer.htmlselectedPen.classQCPItemTracer.html brush.classQCPItemTracer.htmlselectedBrush.classQCPItemTracer.htmlsize.classQCPItemTracer.html style.classQCPItemTracer.html graph.classQCPItemTracer.htmlgraphKey.classQCPItemTracer.htmlinterpolating.classQCPItemTUracer.html setPen.classQCPItemTracer.htmlsetSelectedPen.classQCPItemTracer.htmlsetBrush.classQCPItemTracer.html setSelectedBrush.classQCPItemTracer.htmlsetSize.classQCPItemTracer.htmlsetStyle.classQCPItemTracer.htmlsetGraph.classQCPItemTracer.htmlsetGraphKey.classQCPItemTracer.html setInterpolating.classQCPItemTracer.htmlselectTest.classQCPItemTracer.htmlupdatePosition.classQCPItemTracer.htmldraw.classQCPItemTracer.htmlmainPen.classQCPItemTraceVr.htmlmainBrush.classQCPItemTracer.htmlclipToAxisRect.classQCPItemTracer.htmlclipAxisRect.classQCPItemTracer.htmlselectable.classQCPItemTracer.htmlselected.classQCPItemTracer.html"setClipToAxisRect.classQCPItemTracer.htmlsetClipAxisRect.classQCPItemTracer.htmlsetSelectable.classQCPItemTracer.htmlsetSelected.classQCPItemTracer.htmlpositions.classQCPItemTracer.htmlanchors.classQCPItemTracer.htmlposition.classQCPItemTracer.html anchor.classQCPIteWmTracer.htmlhasAnchor.classQCPItemTracer.html selectionChanged.classQCPItemTracer.html"selectionCategory.classQCPItemTracer.htmlclipRect.classQCPItemTracer.html8applyDefaultAntialiasingHint.classQCPItemTracer.htmlselectEvent.classQCPItemTracer.htmldeselectEvent.classQCPItemTracer.html anchorPixelPoint.classQCPItemTracer.htmldistSqrToLine.classQCPItemTracer.htmlrectSelectTest.classQCPItemTracer.htmlcreatePosition.classQCPItemTracer.htmlcreateAnchor.clXassQCPItemTracer.htmlvisible.classQCPItemTracer.htmlparentPlot.classQCPItemTracer.htmlparentLayerable.classQCPItemTracer.html layer.classQCPItemTracer.htmlantialiased.classQCPItemTracer.htmlsetVisible.classQCPItemTracer.htmlsetLayer.classQCPItemTracer.htmlsetLayer.classQCPItemTracer.htmlsetAntialiased.classQCPItemTracer.htmlrealVisibility.classQCPItemTracer.html*parentPlotInitialized.classQCPItemTracer.html(initializeParentPlot.classQCPItemTracer.htYml$setParentLayerable.classQCPItemTracer.htmlmoveToLayer.classQCPItemTracer.html*applyAntialiasingHint.classQCPItemTracer.htmlposition.classQCPItemTracer.htmlmPen.classQCPItemTracer.htmlmSelectedPen.classQCPItemTracer.html mBrush.classQCPItemTracer.htmlmSelectedBrush.classQCPItemTracer.html mSize.classQCPItemTracer.html mStyle.classQCPItemTracer.html mGraph.classQCPItemTracer.htmlmGraphKey.classQCPItemTracer.htmlmInterpolating.classQCPItemTracer.hZtmlmClipToAxisRect.classQCPItemTracer.htmlmClipAxisRect.classQCPItemTracer.htmlmPositions.classQCPItemTracer.htmlmAnchors.classQCPItemTracer.htmlmSelectable.classQCPItemTracer.htmlmSelected.classQCPItemTracer.htmlmVisible.classQCPItemTracer.htmlmParentPlot.classQCPItemTracer.html mParentLayerable.classQCPItemTracer.html mLayer.classQCPItemTracer.htmlmAntialiased$classQCPLayer.htmlQCPLayer$classQCPLayer.htmlQCPLayer$classQCPLayer.html~QCPLaye[r$classQCPLayer.htmlparentPlot$classQCPLayer.htmlname$classQCPLayer.html index$classQCPLayer.htmlchildren$classQCPLayer.htmladdChild$classQCPLayer.htmlremoveChild$classQCPLayer.htmlmParentPlot$classQCPLayer.html mName$classQCPLayer.html mIndex$classQCPLayer.htmlmChildren$classQCPLayer.htmlQCustomPlot$classQCPLayer.htmlQCPLayerable,classQCPLayerable.htmlQCPLayerable,classQCPLayerable.htmlQCPLayerable,classQCPLayerable.html~QCPLayerable\,classQCPLayerable.htmlvisible,classQCPLayerable.htmlparentPlot,classQCPLayerable.htmlparentLayerable,classQCPLayerable.html layer,classQCPLayerable.htmlantialiased,classQCPLayerable.htmlsetVisible,classQCPLayerable.htmlsetLayer,classQCPLayerable.htmlsetLayer,classQCPLayerable.htmlsetAntialiased,classQCPLayerable.htmlselectTest,classQCPLayerable.htmlrealVisibility,classQCPLayerable.html*parentPlotInitialized,classQCPLayerable.html"selectionCate]gory,classQCPLayerable.htmlclipRect,classQCPLayerable.html8applyDefaultAntialiasingHint,classQCPLayerable.htmldraw,classQCPLayerable.htmlselectEvent,classQCPLayerable.htmldeselectEvent,classQCPLayerable.html(initializeParentPlot,classQCPLayerable.html$setParentLayerable,classQCPLayerable.htmlmoveToLayer,classQCPLayerable.html*applyAntialiasingHint,classQCPLayerable.htmlmVisible,classQCPLayerable.htmlmParentPlot,classQCPLayerable.html mParentLayerable^,classQCPLayerable.html mLayer,classQCPLayerable.htmlmAntialiased,classQCPLayerable.htmlQCustomPlot,classQCPLayerable.htmlQCPAxisRect&classQCPLayout.htmlQCPLayout&classQCPLayout.htmlQCPLayout&classQCPLayout.html update&classQCPLayout.htmlelements&classQCPLayout.htmlelementCount&classQCPLayout.htmlelementAt&classQCPLayout.html takeAt&classQCPLayout.htmltake&classQCPLayout.htmlsimplify&classQCPLayout.htmlremoveAt&classQCPLayout.html remov_e&classQCPLayout.html clear&classQCPLayout.htmlupdateLayout&classQCPLayout.html,sizeConstraintsChanged&classQCPLayout.htmladoptElement&classQCPLayout.htmlreleaseElement&classQCPLayout.htmlgetSectionSizes&classQCPLayout.html layout&classQCPLayout.htmlrect&classQCPLayout.htmlouterRect&classQCPLayout.htmlmargins&classQCPLayout.htmlminimumMargins&classQCPLayout.htmlautoMargins&classQCPLayout.htmlminimumSize&classQCPLayout.htmlmaximumSize&cl`assQCPLayout.htmlmarginGroup&classQCPLayout.htmlmarginGroups&classQCPLayout.htmlsetOuterRect&classQCPLayout.htmlsetMargins&classQCPLayout.html"setMinimumMargins&classQCPLayout.htmlsetAutoMargins&classQCPLayout.htmlsetMinimumSize&classQCPLayout.htmlsetMinimumSize&classQCPLayout.htmlsetMaximumSize&classQCPLayout.htmlsetMaximumSize&classQCPLayout.htmlsetMarginGroup&classQCPLayout.htmlminimumSizeHint&classQCPLayout.htmlmaximumSizeHint&classQCPLayaout.htmlselectTest&classQCPLayout.html&calculateAutoMargin&classQCPLayout.htmlmousePressEvent&classQCPLayout.htmlmouseMoveEvent&classQCPLayout.html"mouseReleaseEvent&classQCPLayout.html*mouseDoubleClickEvent&classQCPLayout.htmlwheelEvent&classQCPLayout.html8applyDefaultAntialiasingHint&classQCPLayout.htmldraw&classQCPLayout.html*parentPlotInitialized&classQCPLayout.htmlvisible&classQCPLayout.htmlparentPlot&classQCPLayout.htmlparentLayerable&classbQCPLayout.html layer&classQCPLayout.htmlantialiased&classQCPLayout.htmlsetVisible&classQCPLayout.htmlsetLayer&classQCPLayout.htmlsetLayer&classQCPLayout.htmlsetAntialiased&classQCPLayout.htmlrealVisibility&classQCPLayout.html"selectionCategory&classQCPLayout.htmlclipRect&classQCPLayout.htmlselectEvent&classQCPLayout.htmldeselectEvent&classQCPLayout.html(initializeParentPlot&classQCPLayout.html$setParentLayerable&classQCPLayout.htmlmoveToLayerc&classQCPLayout.html*applyAntialiasingHint&classQCPLayout.htmlmParentLayout&classQCPLayout.htmlmMinimumSize&classQCPLayout.htmlmMaximumSize&classQCPLayout.html mRect&classQCPLayout.htmlmOuterRect&classQCPLayout.htmlmMargins&classQCPLayout.htmlmMinimumMargins&classQCPLayout.htmlmAutoMargins&classQCPLayout.htmlmMarginGroups&classQCPLayout.htmlmVisible&classQCPLayout.htmlmParentPlot&classQCPLayout.html mParentLayerable&classQCPLayout.html mLayedr&classQCPLayout.htmlmAntialiased&classQCPLayout.html QCPLayoutElement4classQCPLayoutElement.html QCPLayoutElement4classQCPLayoutElement.html QCPLayoutElement4classQCPLayoutElement.html"~QCPLayoutElement4classQCPLayoutElement.html layout4classQCPLayoutElement.htmlrect4classQCPLayoutElement.htmlouterRect4classQCPLayoutElement.htmlmargins4classQCPLayoutElement.htmlminimumMargins4classQCPLayoutElement.htmlautoMargins4classQCPLayoutElement.htmlminimumSizee4classQCPLayoutElement.htmlmaximumSize4classQCPLayoutElement.htmlmarginGroup4classQCPLayoutElement.htmlmarginGroups4classQCPLayoutElement.htmlsetOuterRect4classQCPLayoutElement.htmlsetMargins4classQCPLayoutElement.html"setMinimumMargins4classQCPLayoutElement.htmlsetAutoMargins4classQCPLayoutElement.htmlsetMinimumSize4classQCPLayoutElement.htmlsetMinimumSize4classQCPLayoutElement.htmlsetMaximumSize4classQCPLayoutElement.htmlsetMaximumSize4classQCPLayfoutElement.htmlsetMarginGroup4classQCPLayoutElement.html update4classQCPLayoutElement.htmlminimumSizeHint4classQCPLayoutElement.htmlmaximumSizeHint4classQCPLayoutElement.htmlelements4classQCPLayoutElement.htmlselectTest4classQCPLayoutElement.html&calculateAutoMargin4classQCPLayoutElement.htmlmousePressEvent4classQCPLayoutElement.htmlmouseMoveEvent4classQCPLayoutElement.html"mouseReleaseEvent4classQCPLayoutElement.html*mouseDoubleClickEvent4classQCPLayoutEglement.htmlwheelEvent4classQCPLayoutElement.html8applyDefaultAntialiasingHint4classQCPLayoutElement.htmldraw4classQCPLayoutElement.html*parentPlotInitialized4classQCPLayoutElement.htmlvisible4classQCPLayoutElement.htmlparentPlot4classQCPLayoutElement.htmlparentLayerable4classQCPLayoutElement.html layer4classQCPLayoutElement.htmlantialiased4classQCPLayoutElement.htmlsetVisible4classQCPLayoutElement.htmlsetLayer4classQCPLayoutElement.htmlsetLayer4clashsQCPLayoutElement.htmlsetAntialiased4classQCPLayoutElement.htmlrealVisibility4classQCPLayoutElement.html"selectionCategory4classQCPLayoutElement.htmlclipRect4classQCPLayoutElement.htmlselectEvent4classQCPLayoutElement.htmldeselectEvent4classQCPLayoutElement.html(initializeParentPlot4classQCPLayoutElement.html$setParentLayerable4classQCPLayoutElement.htmlmoveToLayer4classQCPLayoutElement.html*applyAntialiasingHint4classQCPLayoutElement.htmlmParentLayout4cliassQCPLayoutElement.htmlmMinimumSize4classQCPLayoutElement.htmlmMaximumSize4classQCPLayoutElement.html mRect4classQCPLayoutElement.htmlmOuterRect4classQCPLayoutElement.htmlmMargins4classQCPLayoutElement.htmlmMinimumMargins4classQCPLayoutElement.htmlmAutoMargins4classQCPLayoutElement.htmlmMarginGroups4classQCPLayoutElement.htmlmVisible4classQCPLayoutElement.htmlmParentPlot4classQCPLayoutElement.html mParentLayerable4classQCPLayoutElement.html mLayer4jclassQCPLayoutElement.htmlmAntialiased4classQCPLayoutElement.htmlQCustomPlot4classQCPLayoutElement.htmlQCPLayout4classQCPLayoutElement.htmlQCPMarginGroup.classQCPLayoutGrid.htmlQCPLayoutGrid.classQCPLayoutGrid.htmlQCPLayoutGrid.classQCPLayoutGrid.html~QCPLayoutGrid.classQCPLayoutGrid.htmlrowCount.classQCPLayoutGrid.htmlcolumnCount.classQCPLayoutGrid.html(columnStretchFactors.classQCPLayoutGrid.html"rowStretchFactors.classQCPLayoutGrid.htmlcolumnSpacinkg.classQCPLayoutGrid.htmlrowSpacing.classQCPLayoutGrid.html,setColumnStretchFactor.classQCPLayoutGrid.html.setColumnStretchFactors.classQCPLayoutGrid.html&setRowStretchFactor.classQCPLayoutGrid.html(setRowStretchFactors.classQCPLayoutGrid.html setColumnSpacing.classQCPLayoutGrid.htmlsetRowSpacing.classQCPLayoutGrid.htmlupdateLayout.classQCPLayoutGrid.htmlelementCount.classQCPLayoutGrid.htmlelementAt.classQCPLayoutGrid.html takeAt.classQCPLayoutGrid.htmlltake.classQCPLayoutGrid.htmlelements.classQCPLayoutGrid.htmlsimplify.classQCPLayoutGrid.htmlminimumSizeHint.classQCPLayoutGrid.htmlmaximumSizeHint.classQCPLayoutGrid.htmlelement.classQCPLayoutGrid.htmladdElement.classQCPLayoutGrid.htmlhasElement.classQCPLayoutGrid.htmlexpandTo.classQCPLayoutGrid.htmlinsertRow.classQCPLayoutGrid.htmlinsertColumn.classQCPLayoutGrid.html*getMinimumRowColSizes.classQCPLayoutGrid.html*getMaximumRowColSizes.classQCPLmayoutGrid.html update.classQCPLayoutGrid.htmlremoveAt.classQCPLayoutGrid.html remove.classQCPLayoutGrid.html clear.classQCPLayoutGrid.html,sizeConstraintsChanged.classQCPLayoutGrid.htmladoptElement.classQCPLayoutGrid.htmlreleaseElement.classQCPLayoutGrid.htmlgetSectionSizes.classQCPLayoutGrid.html layout.classQCPLayoutGrid.htmlrect.classQCPLayoutGrid.htmlouterRect.classQCPLayoutGrid.htmlmargins.classQCPLayoutGrid.htmlminimumMargins.classQCPLayoutnGrid.htmlautoMargins.classQCPLayoutGrid.htmlminimumSize.classQCPLayoutGrid.htmlmaximumSize.classQCPLayoutGrid.htmlmarginGroup.classQCPLayoutGrid.htmlmarginGroups.classQCPLayoutGrid.htmlsetOuterRect.classQCPLayoutGrid.htmlsetMargins.classQCPLayoutGrid.html"setMinimumMargins.classQCPLayoutGrid.htmlsetAutoMargins.classQCPLayoutGrid.htmlsetMinimumSize.classQCPLayoutGrid.htmlsetMinimumSize.classQCPLayoutGrid.htmlsetMaximumSize.classQCPLayoutGrid.htmlosetMaximumSize.classQCPLayoutGrid.htmlsetMarginGroup.classQCPLayoutGrid.htmlselectTest.classQCPLayoutGrid.html&calculateAutoMargin.classQCPLayoutGrid.htmlmousePressEvent.classQCPLayoutGrid.htmlmouseMoveEvent.classQCPLayoutGrid.html"mouseReleaseEvent.classQCPLayoutGrid.html*mouseDoubleClickEvent.classQCPLayoutGrid.htmlwheelEvent.classQCPLayoutGrid.html8applyDefaultAntialiasingHint.classQCPLayoutGrid.htmldraw.classQCPLayoutGrid.html*parentPlotInitialized.pclassQCPLayoutGrid.htmlvisible.classQCPLayoutGrid.htmlparentPlot.classQCPLayoutGrid.htmlparentLayerable.classQCPLayoutGrid.html layer.classQCPLayoutGrid.htmlantialiased.classQCPLayoutGrid.htmlsetVisible.classQCPLayoutGrid.htmlsetLayer.classQCPLayoutGrid.htmlsetLayer.classQCPLayoutGrid.htmlsetAntialiased.classQCPLayoutGrid.htmlrealVisibility.classQCPLayoutGrid.html"selectionCategory.classQCPLayoutGrid.htmlclipRect.classQCPLayoutGrid.htmlselectEvenqt.classQCPLayoutGrid.htmldeselectEvent.classQCPLayoutGrid.html(initializeParentPlot.classQCPLayoutGrid.html$setParentLayerable.classQCPLayoutGrid.htmlmoveToLayer.classQCPLayoutGrid.html*applyAntialiasingHint.classQCPLayoutGrid.htmlmElements.classQCPLayoutGrid.html*mColumnStretchFactors.classQCPLayoutGrid.html$mRowStretchFactors.classQCPLayoutGrid.htmlmColumnSpacing.classQCPLayoutGrid.htmlmRowSpacing.classQCPLayoutGrid.htmlmParentLayout.classQCPLayoutGrird.htmlmMinimumSize.classQCPLayoutGrid.htmlmMaximumSize.classQCPLayoutGrid.html mRect.classQCPLayoutGrid.htmlmOuterRect.classQCPLayoutGrid.htmlmMargins.classQCPLayoutGrid.htmlmMinimumMargins.classQCPLayoutGrid.htmlmAutoMargins.classQCPLayoutGrid.htmlmMarginGroups.classQCPLayoutGrid.htmlmVisible.classQCPLayoutGrid.htmlmParentPlot.classQCPLayoutGrid.html mParentLayerable.classQCPLayoutGrid.html mLayer.classQCPLayoutGrid.htmlmAntialiased0classQCPLasyoutInset.htmlQCPLayoutInset0classQCPLayoutInset.htmlInsetPlacement0classQCPLayoutInset.html ipFree0classQCPLayoutInset.htmlipBorderAligned0classQCPLayoutInset.htmlQCPLayoutInset0classQCPLayoutInset.html~QCPLayoutInset0classQCPLayoutInset.htmlinsetPlacement0classQCPLayoutInset.htmlinsetAlignment0classQCPLayoutInset.htmlinsetRect0classQCPLayoutInset.html"setInsetPlacement0classQCPLayoutInset.html"setInsetAlignment0classQCPLayoutInset.htmlsetInsetRectt0classQCPLayoutInset.htmlupdateLayout0classQCPLayoutInset.htmlelementCount0classQCPLayoutInset.htmlelementAt0classQCPLayoutInset.html takeAt0classQCPLayoutInset.htmltake0classQCPLayoutInset.htmlsimplify0classQCPLayoutInset.htmlselectTest0classQCPLayoutInset.htmladdElement0classQCPLayoutInset.htmladdElement0classQCPLayoutInset.html update0classQCPLayoutInset.htmlelements0classQCPLayoutInset.htmlremoveAt0classQCPLayoutInset.html remove0classQCPLauyoutInset.html clear0classQCPLayoutInset.html,sizeConstraintsChanged0classQCPLayoutInset.htmladoptElement0classQCPLayoutInset.htmlreleaseElement0classQCPLayoutInset.htmlgetSectionSizes0classQCPLayoutInset.html layout0classQCPLayoutInset.htmlrect0classQCPLayoutInset.htmlouterRect0classQCPLayoutInset.htmlmargins0classQCPLayoutInset.htmlminimumMargins0classQCPLayoutInset.htmlautoMargins0classQCPLayoutInset.htmlminimumSize0classQCPLayoutInset.htmlmaxivmumSize0classQCPLayoutInset.htmlmarginGroup0classQCPLayoutInset.htmlmarginGroups0classQCPLayoutInset.htmlsetOuterRect0classQCPLayoutInset.htmlsetMargins0classQCPLayoutInset.html"setMinimumMargins0classQCPLayoutInset.htmlsetAutoMargins0classQCPLayoutInset.htmlsetMinimumSize0classQCPLayoutInset.htmlsetMinimumSize0classQCPLayoutInset.htmlsetMaximumSize0classQCPLayoutInset.htmlsetMaximumSize0classQCPLayoutInset.htmlsetMarginGroup0classQCPLayoutInset.htmwlminimumSizeHint0classQCPLayoutInset.htmlmaximumSizeHint0classQCPLayoutInset.html&calculateAutoMargin0classQCPLayoutInset.htmlmousePressEvent0classQCPLayoutInset.htmlmouseMoveEvent0classQCPLayoutInset.html"mouseReleaseEvent0classQCPLayoutInset.html*mouseDoubleClickEvent0classQCPLayoutInset.htmlwheelEvent0classQCPLayoutInset.html8applyDefaultAntialiasingHint0classQCPLayoutInset.htmldraw0classQCPLayoutInset.html*parentPlotInitialized0classQCPLayoutInset.htmlxvisible0classQCPLayoutInset.htmlparentPlot0classQCPLayoutInset.htmlparentLayerable0classQCPLayoutInset.html layer0classQCPLayoutInset.htmlantialiased0classQCPLayoutInset.htmlsetVisible0classQCPLayoutInset.htmlsetLayer0classQCPLayoutInset.htmlsetLayer0classQCPLayoutInset.htmlsetAntialiased0classQCPLayoutInset.htmlrealVisibility0classQCPLayoutInset.html"selectionCategory0classQCPLayoutInset.htmlclipRect0classQCPLayoutInset.htmlselectEvent0classQyCPLayoutInset.htmldeselectEvent0classQCPLayoutInset.html(initializeParentPlot0classQCPLayoutInset.html$setParentLayerable0classQCPLayoutInset.htmlmoveToLayer0classQCPLayoutInset.html*applyAntialiasingHint0classQCPLayoutInset.htmlmElements0classQCPLayoutInset.htmlmInsetPlacement0classQCPLayoutInset.htmlmInsetAlignment0classQCPLayoutInset.htmlmInsetRect0classQCPLayoutInset.htmlmParentLayout0classQCPLayoutInset.htmlmMinimumSize0classQCPLayoutInset.htmlmMazximumSize0classQCPLayoutInset.html mRect0classQCPLayoutInset.htmlmOuterRect0classQCPLayoutInset.htmlmMargins0classQCPLayoutInset.htmlmMinimumMargins0classQCPLayoutInset.htmlmAutoMargins0classQCPLayoutInset.htmlmMarginGroups0classQCPLayoutInset.htmlmVisible0classQCPLayoutInset.htmlmParentPlot0classQCPLayoutInset.html mParentLayerable0classQCPLayoutInset.html mLayer0classQCPLayoutInset.htmlmAntialiased&classQCPLegend.htmlQCPLegend&classQCPLegend.ht{mlSelectablePart&classQCPLegend.html spNone&classQCPLegend.htmlspLegendBox&classQCPLegend.htmlspItems&classQCPLegend.htmlQCPLegend&classQCPLegend.html~QCPLegend&classQCPLegend.htmlborderPen&classQCPLegend.html brush&classQCPLegend.htmlfont&classQCPLegend.htmltextColor&classQCPLegend.htmliconSize&classQCPLegend.htmliconTextPadding&classQCPLegend.htmliconBorderPen&classQCPLegend.htmlselectableParts&classQCPLegend.htmlselectedParts&clas|sQCPLegend.html"selectedBorderPen&classQCPLegend.html*selectedIconBorderPen&classQCPLegend.htmlselectedBrush&classQCPLegend.htmlselectedFont&classQCPLegend.html"selectedTextColor&classQCPLegend.htmlsetBorderPen&classQCPLegend.htmlsetBrush&classQCPLegend.htmlsetFont&classQCPLegend.htmlsetTextColor&classQCPLegend.htmlsetIconSize&classQCPLegend.htmlsetIconSize&classQCPLegend.html$setIconTextPadding&classQCPLegend.html setIconBorderPen&classQCPLegend}.html$setSelectableParts&classQCPLegend.html setSelectedParts&classQCPLegend.html(setSelectedBorderPen&classQCPLegend.html0setSelectedIconBorderPen&classQCPLegend.html setSelectedBrush&classQCPLegend.htmlsetSelectedFont&classQCPLegend.html(setSelectedTextColor&classQCPLegend.htmlselectTest&classQCPLegend.htmlitem&classQCPLegend.html"itemWithPlottable&classQCPLegend.htmlitemCount&classQCPLegend.htmlhasItem&classQCPLegend.html(hasItemWithPlottable&cla~ssQCPLegend.htmladdItem&classQCPLegend.htmlremoveItem&classQCPLegend.htmlremoveItem&classQCPLegend.htmlclearItems&classQCPLegend.htmlselectedItems&classQCPLegend.html selectionChanged&classQCPLegend.html*parentPlotInitialized&classQCPLegend.html"selectionCategory&classQCPLegend.html8applyDefaultAntialiasingHint&classQCPLegend.htmldraw&classQCPLegend.htmlselectEvent&classQCPLegend.htmldeselectEvent&classQCPLegend.htmlgetBorderPen&classQCPLegend.htmlgetBrush&classQCPLegend.htmlrowCount&classQCPLegend.htmlcolumnCount&classQCPLegend.html(columnStretchFactors&classQCPLegend.html"rowStretchFactors&classQCPLegend.htmlcolumnSpacing&classQCPLegend.htmlrowSpacing&classQCPLegend.html,setColumnStretchFactor&classQCPLegend.html.setColumnStretchFactors&classQCPLegend.html&setRowStretchFactor&classQCPLegend.html(setRowStretchFactors&classQCPLegend.html setColumnSpacing&classQCPLegend.htmlsetRowSpacing&c€lassQCPLegend.htmlupdateLayout&classQCPLegend.htmlelementCount&classQCPLegend.htmlelementAt&classQCPLegend.html takeAt&classQCPLegend.htmltake&classQCPLegend.htmlelements&classQCPLegend.htmlsimplify&classQCPLegend.htmlminimumSizeHint&classQCPLegend.htmlmaximumSizeHint&classQCPLegend.htmlelement&classQCPLegend.htmladdElement&classQCPLegend.htmlhasElement&classQCPLegend.htmlexpandTo&classQCPLegend.htmlinsertRow&classQCPLegend.htmlinsertColumn&classQCPLegend.html*getMinimumRowColSizes&classQCPLegend.html*getMaximumRowColSizes&classQCPLegend.html update&classQCPLegend.htmlremoveAt&classQCPLegend.html remove&classQCPLegend.html clear&classQCPLegend.html,sizeConstraintsChanged&classQCPLegend.htmladoptElement&classQCPLegend.htmlreleaseElement&classQCPLegend.htmlgetSectionSizes&classQCPLegend.html layout&classQCPLegend.htmlrect&classQCPLegend.htmlouterRect&classQCPLegend.htmlmargin‚s&classQCPLegend.htmlminimumMargins&classQCPLegend.htmlautoMargins&classQCPLegend.htmlminimumSize&classQCPLegend.htmlmaximumSize&classQCPLegend.htmlmarginGroup&classQCPLegend.htmlmarginGroups&classQCPLegend.htmlsetOuterRect&classQCPLegend.htmlsetMargins&classQCPLegend.html"setMinimumMargins&classQCPLegend.htmlsetAutoMargins&classQCPLegend.htmlsetMinimumSize&classQCPLegend.htmlsetMinimumSize&classQCPLegend.htmlsetMaximumSize&classQCPLegend.ƒhtmlsetMaximumSize&classQCPLegend.htmlsetMarginGroup&classQCPLegend.html&calculateAutoMargin&classQCPLegend.htmlmousePressEvent&classQCPLegend.htmlmouseMoveEvent&classQCPLegend.html"mouseReleaseEvent&classQCPLegend.html*mouseDoubleClickEvent&classQCPLegend.htmlwheelEvent&classQCPLegend.htmlvisible&classQCPLegend.htmlparentPlot&classQCPLegend.htmlparentLayerable&classQCPLegend.html layer&classQCPLegend.htmlantialiased&classQCPLegend.htmlsetVisi„ble&classQCPLegend.htmlsetLayer&classQCPLegend.htmlsetLayer&classQCPLegend.htmlsetAntialiased&classQCPLegend.htmlrealVisibility&classQCPLegend.htmlclipRect&classQCPLegend.html(initializeParentPlot&classQCPLegend.html$setParentLayerable&classQCPLegend.htmlmoveToLayer&classQCPLegend.html*applyAntialiasingHint&classQCPLegend.htmlmBorderPen&classQCPLegend.htmlmIconBorderPen&classQCPLegend.html mBrush&classQCPLegend.html mFont&classQCPLegend.html…mTextColor&classQCPLegend.htmlmIconSize&classQCPLegend.html mIconTextPadding&classQCPLegend.htmlmSelectedParts&classQCPLegend.html mSelectableParts&classQCPLegend.html$mSelectedBorderPen&classQCPLegend.html,mSelectedIconBorderPen&classQCPLegend.htmlmSelectedBrush&classQCPLegend.htmlmSelectedFont&classQCPLegend.html$mSelectedTextColor&classQCPLegend.htmlmElements&classQCPLegend.html*mColumnStretchFactors&classQCPLegend.html$mRowStretchFactors&classQCP†Legend.htmlmColumnSpacing&classQCPLegend.htmlmRowSpacing&classQCPLegend.htmlmParentLayout&classQCPLegend.htmlmMinimumSize&classQCPLegend.htmlmMaximumSize&classQCPLegend.html mRect&classQCPLegend.htmlmOuterRect&classQCPLegend.htmlmMargins&classQCPLegend.htmlmMinimumMargins&classQCPLegend.htmlmAutoMargins&classQCPLegend.htmlmMarginGroups&classQCPLegend.htmlmVisible&classQCPLegend.htmlmParentPlot&classQCPLegend.html mParentLayerable&classQCP‡Legend.html mLayer&classQCPLegend.htmlmAntialiased&classQCPLegend.htmlQCustomPlot&classQCPLegend.html*QCPAbstractLegendItem.classQCPLineEnding.htmlQCPLineEnding.classQCPLineEnding.htmlEndingStyle.classQCPLineEnding.html esNone.classQCPLineEnding.htmlesFlatArrow.classQCPLineEnding.htmlesSpikeArrow.classQCPLineEnding.htmlesLineArrow.classQCPLineEnding.html esDisc.classQCPLineEnding.htmlesSquare.classQCPLineEnding.htmlesDiamond.classQCPLineEnding.hˆtml esBar.classQCPLineEnding.htmlesHalfBar.classQCPLineEnding.htmlesSkewedBar.classQCPLineEnding.htmlQCPLineEnding.classQCPLineEnding.htmlQCPLineEnding.classQCPLineEnding.html style.classQCPLineEnding.html width.classQCPLineEnding.html length.classQCPLineEnding.htmlinverted.classQCPLineEnding.htmlsetStyle.classQCPLineEnding.htmlsetWidth.classQCPLineEnding.htmlsetLength.classQCPLineEnding.htmlsetInverted.classQCPLineEnding.html boundingDistance‰.classQCPLineEnding.htmlrealLength.classQCPLineEnding.htmldraw.classQCPLineEnding.htmldraw.classQCPLineEnding.html mStyle.classQCPLineEnding.html mWidth.classQCPLineEnding.htmlmLength.classQCPLineEnding.htmlmInverted0classQCPMarginGroup.htmlQCPMarginGroup0classQCPMarginGroup.htmlQCPMarginGroup0classQCPMarginGroup.html~QCPMarginGroup0classQCPMarginGroup.htmlelements0classQCPMarginGroup.htmlisEmpty0classQCPMarginGroup.html clear0classQCPMarginGŠroup.htmlcommonMargin0classQCPMarginGroup.htmladdChild0classQCPMarginGroup.htmlremoveChild0classQCPMarginGroup.htmlmParentPlot0classQCPMarginGroup.htmlmChildren0classQCPMarginGroup.html QCPLayoutElement(classQCPPainter.htmlQCPPainter(classQCPPainter.htmlPainterMode(classQCPPainter.htmlpmDefault(classQCPPainter.htmlpmVectorized(classQCPPainter.htmlpmNoCaching(classQCPPainter.htmlpmNonCosmetic(classQCPPainter.htmlQCPPainter(classQCPPainter.html‹QCPPainter(classQCPPainter.html~QCPPainter(classQCPPainter.htmlantialiasing(classQCPPainter.html modes(classQCPPainter.htmlsetAntialiasing(classQCPPainter.htmlsetMode(classQCPPainter.htmlsetModes(classQCPPainter.html begin(classQCPPainter.html setPen(classQCPPainter.html setPen(classQCPPainter.html setPen(classQCPPainter.htmldrawLine(classQCPPainter.htmldrawLine(classQCPPainter.htmlsave(classQCPPainter.htmlrestore(classQCPPainter.htmlŒmakeNonCosmetic(classQCPPainter.html mModes(classQCPPainter.htmlmIsAntialiasing(classQCPPainter.html$mAntialiasingStack@classQCPPlottableLegendItem.html,QCPPlottableLegendItem@classQCPPlottableLegendItem.html,QCPPlottableLegendItem@classQCPPlottableLegendItem.htmlplottable@classQCPPlottableLegendItem.htmldraw@classQCPPlottableLegendItem.htmlminimumSizeHint@classQCPPlottableLegendItem.html getIconBorderPen@classQCPPlottableLegendItem.htmlgetTextColor@classQCPPlottableLegendItem.htmlgetFont@classQCPPlottableLegendItem.htmlparentLegend@classQCPPlottableLegendItem.htmlfont@classQCPPlottableLegendItem.htmltextColor@classQCPPlottableLegendItem.htmlselectedFont@classQCPPlottableLegendItem.html"selectedTextColor@classQCPPlottableLegendItem.htmlselectable@classQCPPlottableLegendItem.htmlselected@classQCPPlottableLegendItem.htmlsetFont@classQCPPlottableLegendItem.htmlsetTextColor@classQCPPlottableLegendItem.htmlsetSelŽectedFont@classQCPPlottableLegendItem.html(setSelectedTextColor@classQCPPlottableLegendItem.htmlsetSelectable@classQCPPlottableLegendItem.htmlsetSelected@classQCPPlottableLegendItem.htmlselectTest@classQCPPlottableLegendItem.html selectionChanged@classQCPPlottableLegendItem.html"selectionCategory@classQCPPlottableLegendItem.html8applyDefaultAntialiasingHint@classQCPPlottableLegendItem.htmlclipRect@classQCPPlottableLegendItem.htmlselectEvent@classQCPPlottableLegendItem.htmldeselectEvent@classQCPPlottableLegendItem.html layout@classQCPPlottableLegendItem.htmlrect@classQCPPlottableLegendItem.htmlouterRect@classQCPPlottableLegendItem.htmlmargins@classQCPPlottableLegendItem.htmlminimumMargins@classQCPPlottableLegendItem.htmlautoMargins@classQCPPlottableLegendItem.htmlminimumSize@classQCPPlottableLegendItem.htmlmaximumSize@classQCPPlottableLegendItem.htmlmarginGroup@classQCPPlottableLegendItem.htmlmarginGroups@classQCPPlottableLegendItem.htmlsetOuterRect@classQCPPlottableLegendItem.htmlsetMargins@classQCPPlottableLegendItem.html"setMinimumMargins@classQCPPlottableLegendItem.htmlsetAutoMargins@classQCPPlottableLegendItem.htmlsetMinimumSize@classQCPPlottableLegendItem.htmlsetMinimumSize@classQCPPlottableLegendItem.htmlsetMaximumSize@classQCPPlottableLegendItem.htmlsetMaximumSize@classQCPPlottableLegendItem.htmlsetMarginGroup@classQCPPlottableLegendItem.html update@class‘QCPPlottableLegendItem.htmlmaximumSizeHint@classQCPPlottableLegendItem.htmlelements@classQCPPlottableLegendItem.html&calculateAutoMargin@classQCPPlottableLegendItem.htmlmousePressEvent@classQCPPlottableLegendItem.htmlmouseMoveEvent@classQCPPlottableLegendItem.html"mouseReleaseEvent@classQCPPlottableLegendItem.html*mouseDoubleClickEvent@classQCPPlottableLegendItem.htmlwheelEvent@classQCPPlottableLegendItem.html*parentPlotInitialized@classQCPPlottableLegendItem.html’visible@classQCPPlottableLegendItem.htmlparentPlot@classQCPPlottableLegendItem.htmlparentLayerable@classQCPPlottableLegendItem.html layer@classQCPPlottableLegendItem.htmlantialiased@classQCPPlottableLegendItem.htmlsetVisible@classQCPPlottableLegendItem.htmlsetLayer@classQCPPlottableLegendItem.htmlsetLayer@classQCPPlottableLegendItem.htmlsetAntialiased@classQCPPlottableLegendItem.htmlrealVisibility@classQCPPlottableLegendItem.html(initializeParentPlot@cla“ssQCPPlottableLegendItem.html$setParentLayerable@classQCPPlottableLegendItem.htmlmoveToLayer@classQCPPlottableLegendItem.html*applyAntialiasingHint@classQCPPlottableLegendItem.htmlmPlottable@classQCPPlottableLegendItem.htmlmParentLegend@classQCPPlottableLegendItem.html mFont@classQCPPlottableLegendItem.htmlmTextColor@classQCPPlottableLegendItem.htmlmSelectedFont@classQCPPlottableLegendItem.html$mSelectedTextColor@classQCPPlottableLegendItem.htmlmSelectable@cla”ssQCPPlottableLegendItem.htmlmSelected@classQCPPlottableLegendItem.htmlmParentLayout@classQCPPlottableLegendItem.htmlmMinimumSize@classQCPPlottableLegendItem.htmlmMaximumSize@classQCPPlottableLegendItem.html mRect@classQCPPlottableLegendItem.htmlmOuterRect@classQCPPlottableLegendItem.htmlmMargins@classQCPPlottableLegendItem.htmlmMinimumMargins@classQCPPlottableLegendItem.htmlmAutoMargins@classQCPPlottableLegendItem.htmlmMarginGroups@classQCPPlottableLegendI•tem.htmlmVisible@classQCPPlottableLegendItem.htmlmParentPlot@classQCPPlottableLegendItem.html mParentLayerable@classQCPPlottableLegendItem.html mLayer@classQCPPlottableLegendItem.htmlmAntialiased,classQCPPlotTitle.htmlQCPPlotTitle,classQCPPlotTitle.htmlQCPPlotTitle,classQCPPlotTitle.htmlQCPPlotTitle,classQCPPlotTitle.htmltext,classQCPPlotTitle.htmlfont,classQCPPlotTitle.htmltextColor,classQCPPlotTitle.htmlselectedFont,classQCPPlotTitle.html"select–edTextColor,classQCPPlotTitle.htmlselectable,classQCPPlotTitle.htmlselected,classQCPPlotTitle.htmlsetText,classQCPPlotTitle.htmlsetFont,classQCPPlotTitle.htmlsetTextColor,classQCPPlotTitle.htmlsetSelectedFont,classQCPPlotTitle.html(setSelectedTextColor,classQCPPlotTitle.htmlsetSelectable,classQCPPlotTitle.htmlsetSelected,classQCPPlotTitle.htmlselectTest,classQCPPlotTitle.html selectionChanged,classQCPPlotTitle.html8applyDefaultAntialiasingHint,cl—assQCPPlotTitle.htmldraw,classQCPPlotTitle.htmlminimumSizeHint,classQCPPlotTitle.htmlmaximumSizeHint,classQCPPlotTitle.htmlselectEvent,classQCPPlotTitle.htmldeselectEvent,classQCPPlotTitle.htmlmainFont,classQCPPlotTitle.htmlmainTextColor,classQCPPlotTitle.html layout,classQCPPlotTitle.htmlrect,classQCPPlotTitle.htmlouterRect,classQCPPlotTitle.htmlmargins,classQCPPlotTitle.htmlminimumMargins,classQCPPlotTitle.htmlautoMargins,classQCPPlotTitle.˜htmlminimumSize,classQCPPlotTitle.htmlmaximumSize,classQCPPlotTitle.htmlmarginGroup,classQCPPlotTitle.htmlmarginGroups,classQCPPlotTitle.htmlsetOuterRect,classQCPPlotTitle.htmlsetMargins,classQCPPlotTitle.html"setMinimumMargins,classQCPPlotTitle.htmlsetAutoMargins,classQCPPlotTitle.htmlsetMinimumSize,classQCPPlotTitle.htmlsetMinimumSize,classQCPPlotTitle.htmlsetMaximumSize,classQCPPlotTitle.htmlsetMaximumSize,classQCPPlotTitle.htmlsetMarginGroup™,classQCPPlotTitle.html update,classQCPPlotTitle.htmlelements,classQCPPlotTitle.html&calculateAutoMargin,classQCPPlotTitle.htmlmousePressEvent,classQCPPlotTitle.htmlmouseMoveEvent,classQCPPlotTitle.html"mouseReleaseEvent,classQCPPlotTitle.html*mouseDoubleClickEvent,classQCPPlotTitle.htmlwheelEvent,classQCPPlotTitle.html*parentPlotInitialized,classQCPPlotTitle.htmlvisible,classQCPPlotTitle.htmlparentPlot,classQCPPlotTitle.htmlparentLayerable,classQCšPPlotTitle.html layer,classQCPPlotTitle.htmlantialiased,classQCPPlotTitle.htmlsetVisible,classQCPPlotTitle.htmlsetLayer,classQCPPlotTitle.htmlsetLayer,classQCPPlotTitle.htmlsetAntialiased,classQCPPlotTitle.htmlrealVisibility,classQCPPlotTitle.html"selectionCategory,classQCPPlotTitle.htmlclipRect,classQCPPlotTitle.html(initializeParentPlot,classQCPPlotTitle.html$setParentLayerable,classQCPPlotTitle.htmlmoveToLayer,classQCPPlotTitle.html*applyAntialia›singHint,classQCPPlotTitle.html mText,classQCPPlotTitle.html mFont,classQCPPlotTitle.htmlmTextColor,classQCPPlotTitle.htmlmSelectedFont,classQCPPlotTitle.html$mSelectedTextColor,classQCPPlotTitle.html"mTextBoundingRect,classQCPPlotTitle.htmlmSelectable,classQCPPlotTitle.htmlmSelected,classQCPPlotTitle.htmlmParentLayout,classQCPPlotTitle.htmlmMinimumSize,classQCPPlotTitle.htmlmMaximumSize,classQCPPlotTitle.html mRect,classQCPPlotTitle.htmlmOuterReœct,classQCPPlotTitle.htmlmMargins,classQCPPlotTitle.htmlmMinimumMargins,classQCPPlotTitle.htmlmAutoMargins,classQCPPlotTitle.htmlmMarginGroups,classQCPPlotTitle.htmlmVisible,classQCPPlotTitle.htmlmParentPlot,classQCPPlotTitle.html mParentLayerable,classQCPPlotTitle.html mLayer,classQCPPlotTitle.htmlmAntialiased$classQCPRange.htmlQCPRange$classQCPRange.htmlQCPRange$classQCPRange.htmlQCPRange$classQCPRange.htmlsize$classQCPRange.html center$classQCPRange.htmlnormalize$classQCPRange.html expand$classQCPRange.htmlexpanded$classQCPRange.html(sanitizedForLogScale$classQCPRange.html(sanitizedForLinScale$classQCPRange.htmlcontains$classQCPRange.htmlvalidRange$classQCPRange.htmlvalidRange$classQCPRange.html lower$classQCPRange.html upper$classQCPRange.htmlminRange$classQCPRange.htmlmaxRange2classQCPScatterStyle.htmlQCPScatterStyle2classQCPScatterStyle.htmlScatterShape2classQCPScattžerStyle.html ssNone2classQCPScatterStyle.html ssDot2classQCPScatterStyle.htmlssCross2classQCPScatterStyle.html ssPlus2classQCPScatterStyle.htmlssCircle2classQCPScatterStyle.html ssDisc2classQCPScatterStyle.htmlssSquare2classQCPScatterStyle.htmlssDiamond2classQCPScatterStyle.html ssStar2classQCPScatterStyle.htmlssTriangle2classQCPScatterStyle.html$ssTriangleInverted2classQCPScatterStyle.htmlssCrossSquare2classQCPScatterStyle.htmlssPlusSquare2classQŸCPScatterStyle.htmlssCrossCircle2classQCPScatterStyle.htmlssPlusCircle2classQCPScatterStyle.htmlssPeace2classQCPScatterStyle.htmlssPixmap2classQCPScatterStyle.htmlssCustom2classQCPScatterStyle.htmlQCPScatterStyle2classQCPScatterStyle.htmlQCPScatterStyle2classQCPScatterStyle.htmlQCPScatterStyle2classQCPScatterStyle.htmlQCPScatterStyle2classQCPScatterStyle.htmlQCPScatterStyle2classQCPScatterStyle.htmlQCPScatterStyle2classQCPScatterStyle.htmlQCPScatter Style2classQCPScatterStyle.htmlsize2classQCPScatterStyle.html shape2classQCPScatterStyle.htmlpen2classQCPScatterStyle.html brush2classQCPScatterStyle.html pixmap2classQCPScatterStyle.htmlcustomPath2classQCPScatterStyle.htmlsetSize2classQCPScatterStyle.htmlsetShape2classQCPScatterStyle.html setPen2classQCPScatterStyle.htmlsetBrush2classQCPScatterStyle.htmlsetPixmap2classQCPScatterStyle.htmlsetCustomPath2classQCPScatterStyle.html isNone2classQCP¡ScatterStyle.htmlisPenDefined2classQCPScatterStyle.htmlapplyTo2classQCPScatterStyle.htmldrawShape2classQCPScatterStyle.htmldrawShape2classQCPScatterStyle.html mSize2classQCPScatterStyle.html mShape2classQCPScatterStyle.htmlmPen2classQCPScatterStyle.html mBrush2classQCPScatterStyle.htmlmPixmap2classQCPScatterStyle.htmlmCustomPath2classQCPScatterStyle.htmlmPenDefined6classQCPStatisticalBox.html"QCPStatisticalBox6classQCPStatisticalBox.htmlSignDomain¢6classQCPStatisticalBox.htmlsdNegative6classQCPStatisticalBox.html sdBoth6classQCPStatisticalBox.htmlsdPositive6classQCPStatisticalBox.html"QCPStatisticalBox6classQCPStatisticalBox.htmlkey6classQCPStatisticalBox.htmlminimum6classQCPStatisticalBox.htmllowerQuartile6classQCPStatisticalBox.html median6classQCPStatisticalBox.htmlupperQuartile6classQCPStatisticalBox.htmlmaximum6classQCPStatisticalBox.htmloutliers6classQCPStatisticalBox.html width6classQ£CPStatisticalBox.htmlwhiskerWidth6classQCPStatisticalBox.htmlwhiskerPen6classQCPStatisticalBox.htmlwhiskerBarPen6classQCPStatisticalBox.htmlmedianPen6classQCPStatisticalBox.htmloutlierStyle6classQCPStatisticalBox.html setKey6classQCPStatisticalBox.htmlsetMinimum6classQCPStatisticalBox.html setLowerQuartile6classQCPStatisticalBox.htmlsetMedian6classQCPStatisticalBox.html setUpperQuartile6classQCPStatisticalBox.htmlsetMaximum6classQCPStatisticalBox.htmls¤etOutliers6classQCPStatisticalBox.htmlsetData6classQCPStatisticalBox.htmlsetWidth6classQCPStatisticalBox.htmlsetWhiskerWidth6classQCPStatisticalBox.htmlsetWhiskerPen6classQCPStatisticalBox.html setWhiskerBarPen6classQCPStatisticalBox.htmlsetMedianPen6classQCPStatisticalBox.htmlsetOutlierStyle6classQCPStatisticalBox.htmlclearData6classQCPStatisticalBox.htmlselectTest6classQCPStatisticalBox.htmldraw6classQCPStatisticalBox.htmldrawLegendIcon6classQCPSt¥atisticalBox.htmlgetKeyRange6classQCPStatisticalBox.htmlgetValueRange6classQCPStatisticalBox.htmldrawQuartileBox6classQCPStatisticalBox.htmldrawMedian6classQCPStatisticalBox.htmldrawWhiskers6classQCPStatisticalBox.htmldrawOutliers6classQCPStatisticalBox.htmlname6classQCPStatisticalBox.htmlantialiasedFill6classQCPStatisticalBox.html&antialiasedScatters6classQCPStatisticalBox.html(antialiasedErrorBars6classQCPStatisticalBox.htmlpen6classQCPStatisticalBox.¦htmlselectedPen6classQCPStatisticalBox.html brush6classQCPStatisticalBox.htmlselectedBrush6classQCPStatisticalBox.htmlkeyAxis6classQCPStatisticalBox.htmlvalueAxis6classQCPStatisticalBox.htmlselectable6classQCPStatisticalBox.htmlselected6classQCPStatisticalBox.htmlsetName6classQCPStatisticalBox.html$setAntialiasedFill6classQCPStatisticalBox.html,setAntialiasedScatters6classQCPStatisticalBox.html.setAntialiasedErrorBars6classQCPStatisticalBox.html setPen§6classQCPStatisticalBox.htmlsetSelectedPen6classQCPStatisticalBox.htmlsetBrush6classQCPStatisticalBox.html setSelectedBrush6classQCPStatisticalBox.htmlsetKeyAxis6classQCPStatisticalBox.htmlsetValueAxis6classQCPStatisticalBox.htmlsetSelectable6classQCPStatisticalBox.htmlsetSelected6classQCPStatisticalBox.htmladdToLegend6classQCPStatisticalBox.html removeFromLegend6classQCPStatisticalBox.htmlrescaleAxes6classQCPStatisticalBox.htmlrescaleKeyAxis6classQCPS¨tatisticalBox.html rescaleValueAxis6classQCPStatisticalBox.html selectionChanged6classQCPStatisticalBox.htmlclipRect6classQCPStatisticalBox.html"selectionCategory6classQCPStatisticalBox.html8applyDefaultAntialiasingHint6classQCPStatisticalBox.htmlselectEvent6classQCPStatisticalBox.htmldeselectEvent6classQCPStatisticalBox.htmlcoordsToPixels6classQCPStatisticalBox.htmlcoordsToPixels6classQCPStatisticalBox.htmlpixelsToCoords6classQCPStatisticalBox.htmlpixelsToC©oords6classQCPStatisticalBox.htmlmainPen6classQCPStatisticalBox.htmlmainBrush6classQCPStatisticalBox.html2applyFillAntialiasingHint6classQCPStatisticalBox.html:applyScattersAntialiasingHint6classQCPStatisticalBox.html<applyErrorBarsAntialiasingHint6classQCPStatisticalBox.htmldistSqrToLine6classQCPStatisticalBox.htmlvisible6classQCPStatisticalBox.htmlparentPlot6classQCPStatisticalBox.htmlparentLayerable6classQCPStatisticalBox.html layer6classQCPStatisticalBoªx.htmlantialiased6classQCPStatisticalBox.htmlsetVisible6classQCPStatisticalBox.htmlsetLayer6classQCPStatisticalBox.htmlsetLayer6classQCPStatisticalBox.htmlsetAntialiased6classQCPStatisticalBox.htmlrealVisibility6classQCPStatisticalBox.html*parentPlotInitialized6classQCPStatisticalBox.html(initializeParentPlot6classQCPStatisticalBox.html$setParentLayerable6classQCPStatisticalBox.htmlmoveToLayer6classQCPStatisticalBox.html*applyAntialiasingHint6classQCPStat«isticalBox.htmlmOutliers6classQCPStatisticalBox.htmlmKey6classQCPStatisticalBox.htmlmMinimum6classQCPStatisticalBox.htmlmLowerQuartile6classQCPStatisticalBox.htmlmMedian6classQCPStatisticalBox.htmlmUpperQuartile6classQCPStatisticalBox.htmlmMaximum6classQCPStatisticalBox.html mWidth6classQCPStatisticalBox.htmlmWhiskerWidth6classQCPStatisticalBox.htmlmWhiskerPen6classQCPStatisticalBox.htmlmWhiskerBarPen6classQCPStatisticalBox.htmlmMedianPen6classQCP¬StatisticalBox.htmlmOutlierStyle6classQCPStatisticalBox.html mName6classQCPStatisticalBox.html mAntialiasedFill6classQCPStatisticalBox.html(mAntialiasedScatters6classQCPStatisticalBox.html*mAntialiasedErrorBars6classQCPStatisticalBox.htmlmPen6classQCPStatisticalBox.htmlmSelectedPen6classQCPStatisticalBox.html mBrush6classQCPStatisticalBox.htmlmSelectedBrush6classQCPStatisticalBox.htmlmKeyAxis6classQCPStatisticalBox.htmlmValueAxis6classQCPStatisticalBox.htm­lmSelectable6classQCPStatisticalBox.htmlmSelected6classQCPStatisticalBox.htmlmVisible6classQCPStatisticalBox.htmlmParentPlot6classQCPStatisticalBox.html mParentLayerable6classQCPStatisticalBox.html mLayer6classQCPStatisticalBox.htmlmAntialiased6classQCPStatisticalBox.htmlQCustomPlot6classQCPStatisticalBox.htmlQCPLegend*classQCustomPlot.htmlQCustomPlot*classQCustomPlot.htmlLayerInsertMode*classQCustomPlot.htmllimBelow*classQCustomPlot.htmllimAbove®*classQCustomPlot.htmlQCustomPlot*classQCustomPlot.html~QCustomPlot*classQCustomPlot.htmlviewport*classQCustomPlot.htmlbackground*classQCustomPlot.html backgroundScaled*classQCustomPlot.html(backgroundScaledMode*classQCustomPlot.htmlplotLayout*classQCustomPlot.html&antialiasedElements*classQCustomPlot.html,notAntialiasedElements*classQCustomPlot.html0autoAddPlottableToLegend*classQCustomPlot.htmlinteractions*classQCustomPlot.html$selectionTolerance*¯classQCustomPlot.html(noAntialiasingOnDrag*classQCustomPlot.htmlplottingHints*classQCustomPlot.html&multiSelectModifier*classQCustomPlot.htmlsetViewport*classQCustomPlot.htmlsetBackground*classQCustomPlot.htmlsetBackground*classQCustomPlot.htmlsetBackground*classQCustomPlot.html&setBackgroundScaled*classQCustomPlot.html.setBackgroundScaledMode*classQCustomPlot.html,setAntialiasedElements*classQCustomPlot.html*setAntialiasedElement*classQCustomPlot.html2set°NotAntialiasedElements*classQCustomPlot.html0setNotAntialiasedElement*classQCustomPlot.html6setAutoAddPlottableToLegend*classQCustomPlot.htmlsetInteractions*classQCustomPlot.htmlsetInteraction*classQCustomPlot.html*setSelectionTolerance*classQCustomPlot.html.setNoAntialiasingOnDrag*classQCustomPlot.html setPlottingHints*classQCustomPlot.htmlsetPlottingHint*classQCustomPlot.html,setMultiSelectModifier*classQCustomPlot.htmlplottable*classQCustomPlot.htmlplott±able*classQCustomPlot.htmladdPlottable*classQCustomPlot.htmlremovePlottable*classQCustomPlot.htmlremovePlottable*classQCustomPlot.htmlclearPlottables*classQCustomPlot.htmlplottableCount*classQCustomPlot.html$selectedPlottables*classQCustomPlot.htmlplottableAt*classQCustomPlot.htmlhasPlottable*classQCustomPlot.html graph*classQCustomPlot.html graph*classQCustomPlot.htmladdGraph*classQCustomPlot.htmlremoveGraph*classQCustomPlot.htmlremoveGraph²*classQCustomPlot.htmlclearGraphs*classQCustomPlot.htmlgraphCount*classQCustomPlot.htmlselectedGraphs*classQCustomPlot.htmlitem*classQCustomPlot.htmlitem*classQCustomPlot.htmladdItem*classQCustomPlot.htmlremoveItem*classQCustomPlot.htmlremoveItem*classQCustomPlot.htmlclearItems*classQCustomPlot.htmlitemCount*classQCustomPlot.htmlselectedItems*classQCustomPlot.html itemAt*classQCustomPlot.htmlhasItem*classQCustomPlot.html layer*classQCusto³mPlot.html layer*classQCustomPlot.htmlcurrentLayer*classQCustomPlot.htmlsetCurrentLayer*classQCustomPlot.htmlsetCurrentLayer*classQCustomPlot.htmllayerCount*classQCustomPlot.htmladdLayer*classQCustomPlot.htmlremoveLayer*classQCustomPlot.htmlmoveLayer*classQCustomPlot.htmlaxisRectCount*classQCustomPlot.htmlaxisRect*classQCustomPlot.htmlaxisRects*classQCustomPlot.htmllayoutElementAt*classQCustomPlot.htmlrescaleAxes*classQCustomPlot.htmlselect´edAxes*classQCustomPlot.htmlselectedLegends*classQCustomPlot.htmldeselectAll*classQCustomPlot.htmlsavePdf*classQCustomPlot.htmlsavePng*classQCustomPlot.htmlsaveJpg*classQCustomPlot.htmlsaveBmp*classQCustomPlot.htmlsaveRastered*classQCustomPlot.htmltoPixmap*classQCustomPlot.htmltoPainter*classQCustomPlot.html replot*classQCustomPlot.html mouseDoubleClick*classQCustomPlot.htmlmousePress*classQCustomPlot.htmlmouseMove*classQCustomPlot.htmlmoµuseRelease*classQCustomPlot.htmlmouseWheel*classQCustomPlot.htmlplottableClick*classQCustomPlot.html(plottableDoubleClick*classQCustomPlot.htmlitemClick*classQCustomPlot.htmlitemDoubleClick*classQCustomPlot.htmlaxisClick*classQCustomPlot.htmlaxisDoubleClick*classQCustomPlot.htmllegendClick*classQCustomPlot.html"legendDoubleClick*classQCustomPlot.htmltitleClick*classQCustomPlot.html titleDoubleClick*classQCustomPlot.html,selectionChangedByUser*clas¶sQCustomPlot.htmlbeforeReplot*classQCustomPlot.htmlafterReplot*classQCustomPlot.htmlminimumSizeHint*classQCustomPlot.htmlsizeHint*classQCustomPlot.htmlpaintEvent*classQCustomPlot.htmlresizeEvent*classQCustomPlot.html*mouseDoubleClickEvent*classQCustomPlot.htmlmousePressEvent*classQCustomPlot.htmlmouseMoveEvent*classQCustomPlot.html"mouseReleaseEvent*classQCustomPlot.htmlwheelEvent*classQCustomPlot.htmldraw*classQCustomPlot.htmlaxisRemoved*clas·sQCustomPlot.htmllegendRemoved*classQCustomPlot.html$updateLayerIndices*classQCustomPlot.htmllayerableAt*classQCustomPlot.htmldrawBackground*classQCustomPlot.html xAxis*classQCustomPlot.html yAxis*classQCustomPlot.html xAxis2*classQCustomPlot.html yAxis2*classQCustomPlot.html legend*classQCustomPlot.htmlmViewport*classQCustomPlot.htmlmPlotLayout*classQCustomPlot.html2mAutoAddPlottableToLegend*classQCustomPlot.htmlmPlottables*classQCustomPlot.html¸mGraphs*classQCustomPlot.html mItems*classQCustomPlot.htmlmLayers*classQCustomPlot.html(mAntialiasedElements*classQCustomPlot.html.mNotAntialiasedElements*classQCustomPlot.htmlmInteractions*classQCustomPlot.html&mSelectionTolerance*classQCustomPlot.html*mNoAntialiasingOnDrag*classQCustomPlot.html mBackgroundBrush*classQCustomPlot.html"mBackgroundPixmap*classQCustomPlot.html.mScaledBackgroundPixmap*classQCustomPlot.html"mBackgroundScaled*classQCustomPlot.htm¹l*mBackgroundScaledMode*classQCustomPlot.htmlmCurrentLayer*classQCustomPlot.htmlmPlottingHints*classQCustomPlot.html(mMultiSelectModifier*classQCustomPlot.htmlmPaintBuffer*classQCustomPlot.htmlmMousePressPos*classQCustomPlot.html$mMouseEventElement*classQCustomPlot.htmlmReplotting*classQCustomPlot.htmlQCPLegend*classQCustomPlot.htmlQCPAxis*classQCustomPlot.htmlQCPLayer*classQCustomPlot.htmlQCPAxisRecthierarchy.htmlClass Hierarchy(classQCPBarDaºta.htmlQCPBarData,classQCPCurveData.htmlQCPCurveData"classQCPData.htmlQCPData.classQCPItemAnchor.htmlQCPItemAnchor2classQCPItemPosition.htmlQCPItemPosition$classQCPLayer.htmlQCPLayer,classQCPLayerable.htmlQCPLayerable2classQCPAbstractItem.htmlQCPAbstractItem0classQCPItemBracket.htmlQCPItemBracket,classQCPItemCurve.htmlQCPItemCurve0classQCPItemEllipse.htmlQCPItemEllipse*classQCPItemLine.htmlQCPItemLine.classQCPItemPixmap.htmlQCPItemPixmap*cla»ssQCPItemRect.htmlQCPItemRect:classQCPItemStraightLine.html&QCPItemStraightLine*classQCPItemText.htmlQCPItemText.classQCPItemTracer.htmlQCPItemTracer<classQCPAbstractPlottable.html(QCPAbstractPlottable"classQCPBars.htmlQCPBars$classQCPCurve.htmlQCPCurve$classQCPGraph.htmlQCPGraph6classQCPStatisticalBox.html"QCPStatisticalBox"classQCPAxis.htmlQCPAxis"classQCPGrid.htmlQCPGrid4classQCPLayoutElement.html QCPLayoutElement>classQCPAbstractLegendItem.html*¼QCPAbstractLegendItem@classQCPPlottableLegendItem.html,QCPPlottableLegendItem*classQCPAxisRect.htmlQCPAxisRect&classQCPLayout.htmlQCPLayout.classQCPLayoutGrid.htmlQCPLayoutGrid&classQCPLegend.htmlQCPLegend0classQCPLayoutInset.htmlQCPLayoutInset,classQCPPlotTitle.htmlQCPPlotTitle.classQCPLineEnding.htmlQCPLineEnding0classQCPMarginGroup.htmlQCPMarginGroup(classQCPPainter.htmlQCPPainter$classQCPRange.htmlQCPRange2classQCPScatterStyle.htmlQCPScatterSt½yle*classQCustomPlot.htmlQCustomPlotfunctions.htmlData Fieldsfunctions.htmlAllfunctions.htmla&functions_0x62.htmlb&functions_0x63.htmlc&functions_0x64.htmld&functions_0x65.htmle&functions_0x66.htmlf&functions_0x67.htmlg&functions_0x68.htmlh&functions_0x69.htmli&functions_0x6c.htmll&functions_0x6d.htmlm&functions_0x6e.htmln&functions_0x6f.htmlo&functions_0x70.htmlp&functions_0x71.htmlq&functions_0x72.htmlr&¾functions_0x73.htmls&functions_0x74.htmlt&functions_0x75.htmlu&functions_0x76.htmlv&functions_0x77.htmlw&functions_func.htmlFunctions&functions_func.htmla0functions_func_0x62.htmlb0functions_func_0x63.htmlc0functions_func_0x64.htmld0functions_func_0x65.htmle0functions_func_0x66.htmlf0functions_func_0x67.htmlg0functions_func_0x68.htmlh0functions_func_0x69.htmli0functions_func_0x6c.htmll0functions_func_0x6d.htmlm0functions_¿func_0x6e.htmln0functions_func_0x6f.htmlo0functions_func_0x70.htmlp0functions_func_0x71.htmlq0functions_func_0x72.htmlr0functions_func_0x73.htmls0functions_func_0x74.htmlt0functions_func_0x75.htmlu0functions_func_0x76.htmlv0functions_func_0x77.htmlw&functions_vars.htmlVariables&functions_enum.htmlEnumerations&functions_eval.htmlEnumeratorÿÿÿÿ Filesfiles.htmlFile ListRdir_68267d1309a1af8e8297ef4c3efbcdba.htmlsrcRdir_17cee08e171485À30a7aedf85f92ee362.html items6item-bracket_8h_source.htmlitem-bracket.h2item-curve_8h_source.htmlitem-curve.h6item-ellipse_8h_source.htmlitem-ellipse.h0item-line_8h_source.htmlitem-line.h4item-pixmap_8h_source.htmlitem-pixmap.h0item-rect_8h_source.htmlitem-rect.h@item-straightline_8h_source.html&item-straightline.h0item-text_8h_source.htmlitem-text.h4item-tracer_8h_source.htmlitem-tracer.hRdir_78a97038723513eb3e3a9e944a7f482f.htmllayoutelementsJlayoutelÁement-axisrect_8h_source.html0layoutelement-axisrect.hFlayoutelement-legend_8h_source.html,layoutelement-legend.hLlayoutelement-plottitle_8h_source.html2layoutelement-plottitle.hRdir_d1ab82e73f77cddd99808c625b504457.htmlplottables,plottable-bars_8h.html plottable-bars.h(classQCPBarData.htmlQCPBarData(classQCPBarData.htmlQCPBarData(classQCPBarData.htmlQCPBarData(classQCPBarData.htmlkey(classQCPBarData.html value"classQCPBars.htmlQCPBars"classQCPBars.htmlSÂignDomain"classQCPBars.htmlsdNegative"classQCPBars.html sdBoth"classQCPBars.htmlsdPositive"classQCPBars.htmlQCPBars"classQCPBars.html~QCPBars"classQCPBars.html width"classQCPBars.htmlbarBelow"classQCPBars.htmlbarAbove"classQCPBars.htmldata"classQCPBars.htmlsetWidth"classQCPBars.htmlsetData"classQCPBars.htmlsetData"classQCPBars.htmlmoveBelow"classQCPBars.htmlmoveAbove"classQCPBars.htmladdData"classQCPBars.htmladdData"classQCPBÃars.htmladdData"classQCPBars.htmladdData"classQCPBars.html removeDataBefore"classQCPBars.htmlremoveDataAfter"classQCPBars.htmlremoveData"classQCPBars.htmlremoveData"classQCPBars.htmlclearData"classQCPBars.htmlselectTest"classQCPBars.htmldraw"classQCPBars.htmldrawLegendIcon"classQCPBars.htmlgetKeyRange"classQCPBars.htmlgetValueRange"classQCPBars.htmlgetBarPolygon"classQCPBars.htmlgetBaseValue"classQCPBars.htmlconnectBars"classQCPBarsÄ.htmlname"classQCPBars.htmlantialiasedFill"classQCPBars.html&antialiasedScatters"classQCPBars.html(antialiasedErrorBars"classQCPBars.htmlpen"classQCPBars.htmlselectedPen"classQCPBars.html brush"classQCPBars.htmlselectedBrush"classQCPBars.htmlkeyAxis"classQCPBars.htmlvalueAxis"classQCPBars.htmlselectable"classQCPBars.htmlselected"classQCPBars.htmlsetName"classQCPBars.html$setAntialiasedFill"classQCPBars.html,setAntialiasedScatters"classQÅCPBars.html.setAntialiasedErrorBars"classQCPBars.html setPen"classQCPBars.htmlsetSelectedPen"classQCPBars.htmlsetBrush"classQCPBars.html setSelectedBrush"classQCPBars.htmlsetKeyAxis"classQCPBars.htmlsetValueAxis"classQCPBars.htmlsetSelectable"classQCPBars.htmlsetSelected"classQCPBars.htmladdToLegend"classQCPBars.html removeFromLegend"classQCPBars.htmlrescaleAxes"classQCPBars.htmlrescaleKeyAxis"classQCPBars.html rescaleValueAxis"classQCPBars.Æhtml selectionChanged"classQCPBars.htmlclipRect"classQCPBars.html"selectionCategory"classQCPBars.html8applyDefaultAntialiasingHint"classQCPBars.htmlselectEvent"classQCPBars.htmldeselectEvent"classQCPBars.htmlcoordsToPixels"classQCPBars.htmlcoordsToPixels"classQCPBars.htmlpixelsToCoords"classQCPBars.htmlpixelsToCoords"classQCPBars.htmlmainPen"classQCPBars.htmlmainBrush"classQCPBars.html2applyFillAntialiasingHint"classQCPBars.html:applyScattersAnÇtialiasingHint"classQCPBars.html<applyErrorBarsAntialiasingHint"classQCPBars.htmldistSqrToLine"classQCPBars.htmlvisible"classQCPBars.htmlparentPlot"classQCPBars.htmlparentLayerable"classQCPBars.html layer"classQCPBars.htmlantialiased"classQCPBars.htmlsetVisible"classQCPBars.htmlsetLayer"classQCPBars.htmlsetLayer"classQCPBars.htmlsetAntialiased"classQCPBars.htmlrealVisibility"classQCPBars.html*parentPlotInitialized"classQCPBars.html(initialiÈzeParentPlot"classQCPBars.html$setParentLayerable"classQCPBars.htmlmoveToLayer"classQCPBars.html*applyAntialiasingHint"classQCPBars.html mData"classQCPBars.html mWidth"classQCPBars.htmlmBarBelow"classQCPBars.htmlmBarAbove"classQCPBars.html mName"classQCPBars.html mAntialiasedFill"classQCPBars.html(mAntialiasedScatters"classQCPBars.html*mAntialiasedErrorBars"classQCPBars.htmlmPen"classQCPBars.htmlmSelectedPen"classQCPBars.html mBrush"classQCPBÉars.htmlmSelectedBrush"classQCPBars.htmlmKeyAxis"classQCPBars.htmlmValueAxis"classQCPBars.htmlmSelectable"classQCPBars.htmlmSelected"classQCPBars.htmlmVisible"classQCPBars.htmlmParentPlot"classQCPBars.html mParentLayerable"classQCPBars.html mLayer"classQCPBars.htmlmAntialiased"classQCPBars.htmlQCustomPlot"classQCPBars.htmlQCPLegend,plottable-bars_8h.htmlQCPBarDataMap,plottable-bars_8h.html*QCPBarDataMapIterator,plottable-bars_8h.html8QCPBÊarDataMutableMapIterator,plottable-bars_8h.html$Q_DECLARE_TYPEINFO.plottable-curve_8h.html"plottable-curve.h,classQCPCurveData.htmlQCPCurveData,classQCPCurveData.htmlQCPCurveData,classQCPCurveData.htmlQCPCurveData,classQCPCurveData.htmlt,classQCPCurveData.htmlkey,classQCPCurveData.html value$classQCPCurve.htmlQCPCurve$classQCPCurve.htmlLineStyle$classQCPCurve.html lsNone$classQCPCurve.html lsLine$classQCPCurve.htmlSignDomain$classQCPCurve.htmlËsdNegative$classQCPCurve.html sdBoth$classQCPCurve.htmlsdPositive$classQCPCurve.htmlQCPCurve$classQCPCurve.html~QCPCurve$classQCPCurve.htmldata$classQCPCurve.htmlscatterStyle$classQCPCurve.htmllineStyle$classQCPCurve.htmlsetData$classQCPCurve.htmlsetData$classQCPCurve.htmlsetData$classQCPCurve.htmlsetScatterStyle$classQCPCurve.htmlsetLineStyle$classQCPCurve.htmladdData$classQCPCurve.htmladdData$classQCPCurve.htmladdData$classQCÌPCurve.htmladdData$classQCPCurve.htmladdData$classQCPCurve.html removeDataBefore$classQCPCurve.htmlremoveDataAfter$classQCPCurve.htmlremoveData$classQCPCurve.htmlremoveData$classQCPCurve.htmlclearData$classQCPCurve.htmlselectTest$classQCPCurve.htmldraw$classQCPCurve.htmldrawLegendIcon$classQCPCurve.htmlgetKeyRange$classQCPCurve.htmlgetValueRange$classQCPCurve.htmldrawScatterPlot$classQCPCurve.htmlgetCurveData$classQCPCurve.htmlpointDisÍtance$classQCPCurve.html*outsideCoordsToPixels$classQCPCurve.htmlname$classQCPCurve.htmlantialiasedFill$classQCPCurve.html&antialiasedScatters$classQCPCurve.html(antialiasedErrorBars$classQCPCurve.htmlpen$classQCPCurve.htmlselectedPen$classQCPCurve.html brush$classQCPCurve.htmlselectedBrush$classQCPCurve.htmlkeyAxis$classQCPCurve.htmlvalueAxis$classQCPCurve.htmlselectable$classQCPCurve.htmlselected$classQCPCurve.htmlsetName$classQCPCurveÎ.html$setAntialiasedFill$classQCPCurve.html,setAntialiasedScatters$classQCPCurve.html.setAntialiasedErrorBars$classQCPCurve.html setPen$classQCPCurve.htmlsetSelectedPen$classQCPCurve.htmlsetBrush$classQCPCurve.html setSelectedBrush$classQCPCurve.htmlsetKeyAxis$classQCPCurve.htmlsetValueAxis$classQCPCurve.htmlsetSelectable$classQCPCurve.htmlsetSelected$classQCPCurve.htmladdToLegend$classQCPCurve.html removeFromLegend$classQCPCurve.htmlrescaleAxesÏ$classQCPCurve.htmlrescaleKeyAxis$classQCPCurve.html rescaleValueAxis$classQCPCurve.html selectionChanged$classQCPCurve.htmlclipRect$classQCPCurve.html"selectionCategory$classQCPCurve.html8applyDefaultAntialiasingHint$classQCPCurve.htmlselectEvent$classQCPCurve.htmldeselectEvent$classQCPCurve.htmlcoordsToPixels$classQCPCurve.htmlcoordsToPixels$classQCPCurve.htmlpixelsToCoords$classQCPCurve.htmlpixelsToCoords$classQCPCurve.htmlmainPen$classQCPÐCurve.htmlmainBrush$classQCPCurve.html2applyFillAntialiasingHint$classQCPCurve.html:applyScattersAntialiasingHint$classQCPCurve.html<applyErrorBarsAntialiasingHint$classQCPCurve.htmldistSqrToLine$classQCPCurve.htmlvisible$classQCPCurve.htmlparentPlot$classQCPCurve.htmlparentLayerable$classQCPCurve.html layer$classQCPCurve.htmlantialiased$classQCPCurve.htmlsetVisible$classQCPCurve.htmlsetLayer$classQCPCurve.htmlsetLayer$classQCPCurve.htmlsetAntÑialiased$classQCPCurve.htmlrealVisibility$classQCPCurve.html*parentPlotInitialized$classQCPCurve.html(initializeParentPlot$classQCPCurve.html$setParentLayerable$classQCPCurve.htmlmoveToLayer$classQCPCurve.html*applyAntialiasingHint$classQCPCurve.html mData$classQCPCurve.htmlmScatterStyle$classQCPCurve.htmlmLineStyle$classQCPCurve.html mName$classQCPCurve.html mAntialiasedFill$classQCPCurve.html(mAntialiasedScatters$classQCPCurve.html*mAntialiasedErroÒrBars$classQCPCurve.htmlmPen$classQCPCurve.htmlmSelectedPen$classQCPCurve.html mBrush$classQCPCurve.htmlmSelectedBrush$classQCPCurve.htmlmKeyAxis$classQCPCurve.htmlmValueAxis$classQCPCurve.htmlmSelectable$classQCPCurve.htmlmSelected$classQCPCurve.htmlmVisible$classQCPCurve.htmlmParentPlot$classQCPCurve.html mParentLayerable$classQCPCurve.html mLayer$classQCPCurve.htmlmAntialiased$classQCPCurve.htmlQCustomPlot$classQCPCurve.htmlQCPLegeÓnd.plottable-curve_8h.htmlQCPCurveDataMap.plottable-curve_8h.html.QCPCurveDataMapIterator.plottable-curve_8h.html<QCPCurveDataMutableMapIterator.plottable-curve_8h.html$Q_DECLARE_TYPEINFO.plottable-graph_8h.html"plottable-graph.h"classQCPData.htmlQCPData"classQCPData.htmlQCPData"classQCPData.htmlQCPData"classQCPData.htmlkey"classQCPData.html value"classQCPData.htmlkeyErrorPlus"classQCPData.htmlkeyErrorMinus"classQCPData.htmlvalueErrorPlus"clasÔsQCPData.htmlvalueErrorMinus$classQCPGraph.htmlQCPGraph$classQCPGraph.htmlLineStyle$classQCPGraph.html lsNone$classQCPGraph.html lsLine$classQCPGraph.htmllsStepLeft$classQCPGraph.htmllsStepRight$classQCPGraph.htmllsStepCenter$classQCPGraph.htmllsImpulse$classQCPGraph.htmlErrorType$classQCPGraph.html etNone$classQCPGraph.html etKey$classQCPGraph.htmletValue$classQCPGraph.html etBoth$classQCPGraph.htmlSignDomain$classQCPGraph.htmlsdNegaÕtive$classQCPGraph.html sdBoth$classQCPGraph.htmlsdPositive$classQCPGraph.htmlQCPGraph$classQCPGraph.html~QCPGraph$classQCPGraph.htmldata$classQCPGraph.htmllineStyle$classQCPGraph.htmlscatterStyle$classQCPGraph.htmlerrorType$classQCPGraph.htmlerrorPen$classQCPGraph.htmlerrorBarSize$classQCPGraph.html$errorBarSkipSymbol$classQCPGraph.html channelFillGraph$classQCPGraph.htmlsetData$classQCPGraph.htmlsetData$classQCPGraph.htmlsetDataKeyEÖrror$classQCPGraph.htmlsetDataKeyError$classQCPGraph.html"setDataValueError$classQCPGraph.html"setDataValueError$classQCPGraph.html setDataBothError$classQCPGraph.html setDataBothError$classQCPGraph.htmlsetLineStyle$classQCPGraph.htmlsetScatterStyle$classQCPGraph.htmlsetErrorType$classQCPGraph.htmlsetErrorPen$classQCPGraph.htmlsetErrorBarSize$classQCPGraph.html*setErrorBarSkipSymbol$classQCPGraph.html&setChannelFillGraph$classQCPGraph.htmladdData×$classQCPGraph.htmladdData$classQCPGraph.htmladdData$classQCPGraph.htmladdData$classQCPGraph.html removeDataBefore$classQCPGraph.htmlremoveDataAfter$classQCPGraph.htmlremoveData$classQCPGraph.htmlremoveData$classQCPGraph.htmlclearData$classQCPGraph.htmlselectTest$classQCPGraph.htmlrescaleAxes$classQCPGraph.htmlrescaleKeyAxis$classQCPGraph.html rescaleValueAxis$classQCPGraph.htmldraw$classQCPGraph.htmldrawLegendIcon$classQCPGraph.htmlgØetKeyRange$classQCPGraph.htmlgetValueRange$classQCPGraph.htmlgetKeyRange$classQCPGraph.htmlgetValueRange$classQCPGraph.htmldrawFill$classQCPGraph.htmldrawScatterPlot$classQCPGraph.htmldrawLinePlot$classQCPGraph.htmldrawImpulsePlot$classQCPGraph.htmlgetPlotData$classQCPGraph.html$getScatterPlotData$classQCPGraph.htmlgetLinePlotData$classQCPGraph.html&getStepLeftPlotData$classQCPGraph.html(getStepRightPlotData$classQCPGraph.html*getStepCenterPlotDÙata$classQCPGraph.html$getImpulsePlotData$classQCPGraph.htmldrawError$classQCPGraph.html(getVisibleDataBounds$classQCPGraph.html"addFillBasePoints$classQCPGraph.html(removeFillBasePoints$classQCPGraph.html$lowerFillBasePoint$classQCPGraph.html$upperFillBasePoint$classQCPGraph.html*getChannelFillPolygon$classQCPGraph.htmlfindIndexBelowX$classQCPGraph.htmlfindIndexAboveX$classQCPGraph.htmlfindIndexBelowY$classQCPGraph.htmlfindIndexAboveY$classQCPGraph.ÚhtmlpointDistance$classQCPGraph.htmlname$classQCPGraph.htmlantialiasedFill$classQCPGraph.html&antialiasedScatters$classQCPGraph.html(antialiasedErrorBars$classQCPGraph.htmlpen$classQCPGraph.htmlselectedPen$classQCPGraph.html brush$classQCPGraph.htmlselectedBrush$classQCPGraph.htmlkeyAxis$classQCPGraph.htmlvalueAxis$classQCPGraph.htmlselectable$classQCPGraph.htmlselected$classQCPGraph.htmlsetName$classQCPGraph.html$setAntialiasedFill$clÛassQCPGraph.html,setAntialiasedScatters$classQCPGraph.html.setAntialiasedErrorBars$classQCPGraph.html setPen$classQCPGraph.htmlsetSelectedPen$classQCPGraph.htmlsetBrush$classQCPGraph.html setSelectedBrush$classQCPGraph.htmlsetKeyAxis$classQCPGraph.htmlsetValueAxis$classQCPGraph.htmlsetSelectable$classQCPGraph.htmlsetSelected$classQCPGraph.htmladdToLegend$classQCPGraph.html removeFromLegend$classQCPGraph.htmlrescaleAxes$classQCPGraph.htmlrescaleÜKeyAxis$classQCPGraph.html rescaleValueAxis$classQCPGraph.html selectionChanged$classQCPGraph.htmlclipRect$classQCPGraph.html"selectionCategory$classQCPGraph.html8applyDefaultAntialiasingHint$classQCPGraph.htmlselectEvent$classQCPGraph.htmldeselectEvent$classQCPGraph.htmlcoordsToPixels$classQCPGraph.htmlcoordsToPixels$classQCPGraph.htmlpixelsToCoords$classQCPGraph.htmlpixelsToCoords$classQCPGraph.htmlmainPen$classQCPGraph.htmlmainBrush$classQÝCPGraph.html2applyFillAntialiasingHint$classQCPGraph.html:applyScattersAntialiasingHint$classQCPGraph.html<applyErrorBarsAntialiasingHint$classQCPGraph.htmldistSqrToLine$classQCPGraph.htmlvisible$classQCPGraph.htmlparentPlot$classQCPGraph.htmlparentLayerable$classQCPGraph.html layer$classQCPGraph.htmlantialiased$classQCPGraph.htmlsetVisible$classQCPGraph.htmlsetLayer$classQCPGraph.htmlsetLayer$classQCPGraph.htmlsetAntialiased$classQCPGraph.htmlÞrealVisibility$classQCPGraph.html*parentPlotInitialized$classQCPGraph.html(initializeParentPlot$classQCPGraph.html$setParentLayerable$classQCPGraph.htmlmoveToLayer$classQCPGraph.html*applyAntialiasingHint$classQCPGraph.html mData$classQCPGraph.htmlmErrorPen$classQCPGraph.htmlmLineStyle$classQCPGraph.htmlmScatterStyle$classQCPGraph.htmlmErrorType$classQCPGraph.htmlmErrorBarSize$classQCPGraph.html&mErrorBarSkipSymbol$classQCPGraph.html"mChannelFillGßraph$classQCPGraph.html mName$classQCPGraph.html mAntialiasedFill$classQCPGraph.html(mAntialiasedScatters$classQCPGraph.html*mAntialiasedErrorBars$classQCPGraph.htmlmPen$classQCPGraph.htmlmSelectedPen$classQCPGraph.html mBrush$classQCPGraph.htmlmSelectedBrush$classQCPGraph.htmlmKeyAxis$classQCPGraph.htmlmValueAxis$classQCPGraph.htmlmSelectable$classQCPGraph.htmlmSelected$classQCPGraph.htmlmVisible$classQCPGraph.htmlmParentPlot$classQCPGraàph.html mParentLayerable$classQCPGraph.html mLayer$classQCPGraph.htmlmAntialiased$classQCPGraph.htmlQCustomPlot$classQCPGraph.htmlQCPLegend.plottable-graph_8h.htmlQCPDataMap.plottable-graph_8h.html$QCPDataMapIterator.plottable-graph_8h.html2QCPDataMutableMapIterator.plottable-graph_8h.html$Q_DECLARE_TYPEINFO@plottable-statisticalbox_8h.html4plottable-statisticalbox.h6classQCPStatisticalBox.html"QCPStatisticalBox6classQCPStatisticalBox.htmlSignDomain6claássQCPStatisticalBox.htmlsdNegative6classQCPStatisticalBox.html sdBoth6classQCPStatisticalBox.htmlsdPositive6classQCPStatisticalBox.html"QCPStatisticalBox6classQCPStatisticalBox.htmlkey6classQCPStatisticalBox.htmlminimum6classQCPStatisticalBox.htmllowerQuartile6classQCPStatisticalBox.html median6classQCPStatisticalBox.htmlupperQuartile6classQCPStatisticalBox.htmlmaximum6classQCPStatisticalBox.htmloutliers6classQCPStatisticalBox.html width6classQCPStatâisticalBox.htmlwhiskerWidth6classQCPStatisticalBox.htmlwhiskerPen6classQCPStatisticalBox.htmlwhiskerBarPen6classQCPStatisticalBox.htmlmedianPen6classQCPStatisticalBox.htmloutlierStyle6classQCPStatisticalBox.html setKey6classQCPStatisticalBox.htmlsetMinimum6classQCPStatisticalBox.html setLowerQuartile6classQCPStatisticalBox.htmlsetMedian6classQCPStatisticalBox.html setUpperQuartile6classQCPStatisticalBox.htmlsetMaximum6classQCPStatisticalBox.htmlsetOutlãiers6classQCPStatisticalBox.htmlsetData6classQCPStatisticalBox.htmlsetWidth6classQCPStatisticalBox.htmlsetWhiskerWidth6classQCPStatisticalBox.htmlsetWhiskerPen6classQCPStatisticalBox.html setWhiskerBarPen6classQCPStatisticalBox.htmlsetMedianPen6classQCPStatisticalBox.htmlsetOutlierStyle6classQCPStatisticalBox.htmlclearData6classQCPStatisticalBox.htmlselectTest6classQCPStatisticalBox.htmldraw6classQCPStatisticalBox.htmldrawLegendIcon6classQCPStatistiäcalBox.htmlgetKeyRange6classQCPStatisticalBox.htmlgetValueRange6classQCPStatisticalBox.htmldrawQuartileBox6classQCPStatisticalBox.htmldrawMedian6classQCPStatisticalBox.htmldrawWhiskers6classQCPStatisticalBox.htmldrawOutliers6classQCPStatisticalBox.htmlname6classQCPStatisticalBox.htmlantialiasedFill6classQCPStatisticalBox.html&antialiasedScatters6classQCPStatisticalBox.html(antialiasedErrorBars6classQCPStatisticalBox.htmlpen6classQCPStatisticalBox.htmlåselectedPen6classQCPStatisticalBox.html brush6classQCPStatisticalBox.htmlselectedBrush6classQCPStatisticalBox.htmlkeyAxis6classQCPStatisticalBox.htmlvalueAxis6classQCPStatisticalBox.htmlselectable6classQCPStatisticalBox.htmlselected6classQCPStatisticalBox.htmlsetName6classQCPStatisticalBox.html$setAntialiasedFill6classQCPStatisticalBox.html,setAntialiasedScatters6classQCPStatisticalBox.html.setAntialiasedErrorBars6classQCPStatisticalBox.html setPen6clasæsQCPStatisticalBox.htmlsetSelectedPen6classQCPStatisticalBox.htmlsetBrush6classQCPStatisticalBox.html setSelectedBrush6classQCPStatisticalBox.htmlsetKeyAxis6classQCPStatisticalBox.htmlsetValueAxis6classQCPStatisticalBox.htmlsetSelectable6classQCPStatisticalBox.htmlsetSelected6classQCPStatisticalBox.htmladdToLegend6classQCPStatisticalBox.html removeFromLegend6classQCPStatisticalBox.htmlrescaleAxes6classQCPStatisticalBox.htmlrescaleKeyAxis6classQCPStatistçicalBox.html rescaleValueAxis6classQCPStatisticalBox.html selectionChanged6classQCPStatisticalBox.htmlclipRect6classQCPStatisticalBox.html"selectionCategory6classQCPStatisticalBox.html8applyDefaultAntialiasingHint6classQCPStatisticalBox.htmlselectEvent6classQCPStatisticalBox.htmldeselectEvent6classQCPStatisticalBox.htmlcoordsToPixels6classQCPStatisticalBox.htmlcoordsToPixels6classQCPStatisticalBox.htmlpixelsToCoords6classQCPStatisticalBox.htmlpixelsToCoordsè6classQCPStatisticalBox.htmlmainPen6classQCPStatisticalBox.htmlmainBrush6classQCPStatisticalBox.html2applyFillAntialiasingHint6classQCPStatisticalBox.html:applyScattersAntialiasingHint6classQCPStatisticalBox.html<applyErrorBarsAntialiasingHint6classQCPStatisticalBox.htmldistSqrToLine6classQCPStatisticalBox.htmlvisible6classQCPStatisticalBox.htmlparentPlot6classQCPStatisticalBox.htmlparentLayerable6classQCPStatisticalBox.html layer6classQCPStatisticalBox.htmléantialiased6classQCPStatisticalBox.htmlsetVisible6classQCPStatisticalBox.htmlsetLayer6classQCPStatisticalBox.htmlsetLayer6classQCPStatisticalBox.htmlsetAntialiased6classQCPStatisticalBox.htmlrealVisibility6classQCPStatisticalBox.html*parentPlotInitialized6classQCPStatisticalBox.html(initializeParentPlot6classQCPStatisticalBox.html$setParentLayerable6classQCPStatisticalBox.htmlmoveToLayer6classQCPStatisticalBox.html*applyAntialiasingHint6classQCPStatisticaêlBox.htmlmOutliers6classQCPStatisticalBox.htmlmKey6classQCPStatisticalBox.htmlmMinimum6classQCPStatisticalBox.htmlmLowerQuartile6classQCPStatisticalBox.htmlmMedian6classQCPStatisticalBox.htmlmUpperQuartile6classQCPStatisticalBox.htmlmMaximum6classQCPStatisticalBox.html mWidth6classQCPStatisticalBox.htmlmWhiskerWidth6classQCPStatisticalBox.htmlmWhiskerPen6classQCPStatisticalBox.htmlmWhiskerBarPen6classQCPStatisticalBox.htmlmMedianPen6classQCPStatisëticalBox.htmlmOutlierStyle6classQCPStatisticalBox.html mName6classQCPStatisticalBox.html mAntialiasedFill6classQCPStatisticalBox.html(mAntialiasedScatters6classQCPStatisticalBox.html*mAntialiasedErrorBars6classQCPStatisticalBox.htmlmPen6classQCPStatisticalBox.htmlmSelectedPen6classQCPStatisticalBox.html mBrush6classQCPStatisticalBox.htmlmSelectedBrush6classQCPStatisticalBox.htmlmKeyAxis6classQCPStatisticalBox.htmlmValueAxis6classQCPStatisticalBox.htmlmSeìlectable6classQCPStatisticalBox.htmlmSelected6classQCPStatisticalBox.htmlmVisible6classQCPStatisticalBox.htmlmParentPlot6classQCPStatisticalBox.html mParentLayerable6classQCPStatisticalBox.html mLayer6classQCPStatisticalBox.htmlmAntialiased6classQCPStatisticalBox.htmlQCustomPlot6classQCPStatisticalBox.htmlQCPLegend&axis_8h_source.html axis.hcore_8cpp.htmlcore.cpp&core_8h_source.html core.hglobal_8h.htmlglobal.hglobal_8h.htmlQCP_LIB_DECLglíobal_8h.htmlMarginSideglobal_8h.html msLeftglobal_8h.htmlmsRightglobal_8h.html msTopglobal_8h.htmlmsBottomglobal_8h.html msAllglobal_8h.html msNoneglobal_8h.html$AntialiasedElementglobal_8h.html aeAxesglobal_8h.html aeGridglobal_8h.htmlaeSubGridglobal_8h.htmlaeLegendglobal_8h.htmlaeLegendItemsglobal_8h.htmlaePlottablesglobal_8h.htmlaeItemsglobal_8h.htmlaeScattersglobal_8h.htmlaeErrorBarsglobal_8h.htmlaeFillsîglobal_8h.htmlaeZeroLineglobal_8h.html aeAllglobal_8h.html aeNoneglobal_8h.htmlPlottingHintglobal_8h.html phNoneglobal_8h.htmlphFastPolylinesglobal_8h.htmlphForceRepaintglobal_8h.htmlphCacheLabelsglobal_8h.htmlInteractionglobal_8h.htmliRangeDragglobal_8h.htmliRangeZoomglobal_8h.htmliMultiSelectglobal_8h.html"iSelectPlottablesglobal_8h.htmliSelectAxesglobal_8h.htmliSelectLegendglobal_8h.htmliSelectItemsglobal_8h.htmliSelectOtherglobal_8h.htmlisInvalidDataglobal_8h.htmlisInvalidDataglobal_8h.htmlsetMarginValueglobal_8h.htmlgetMarginValue&item_8h_source.html item.h(layer_8h_source.htmllayer.h*layout_8h_source.htmllayout.h2lineending_8h_source.htmllineending.h,painter_8h_source.htmlpainter.h0plottable_8h_source.htmlplottable.h$qcp_8h_source.html qcp.h(range_8h_source.htmlrange.hglobals.htmlGlobalsglobals.htmlAll"globals_type.htmlTypedefs 9±`¸QÜ{³9x Io OQCPCurveDataMutableMapIteratorplottable-curve.h::QCPCurveDataMutableMapIterator?ad85cf567575500cc8877fd65f4c5b9fbj ;a OQCPCurveDataMapIteratorplottable-curve.h::QCPCurveDataMapIterator?aeb3dbc9f09e8ce9957be86dd6e8c803dZ+Q OQCPCurveDataMapplottable-curve.h::QCPCurveDataMap?a444d37ec9cb2951b3a7fe443c34d1658_1U OQ_DECLARE_TYPEINFOplottable-bars.h::Q_DECLARE_TYPEINFO>a620613bd0461892b290f74997828edaesEi OQCPBarDataMutableMapIteratorplottable-bars.h::QCPBarDataMutableMapIterator>a5f61a38b8bb85ebfefa76ae0983f1c78e7[ OQCPBarDataMapIteratorplottable-bars.h::QCPBarDataMapIterator>ad8f7e19ade25016f69f2ebedbd130f92U'K OQCPBarDataMapplottable-bars.h::QCPBarDataMap>aa846c77472cae93def9f1609d0c57191O)= OgetMarginValueglobal.h::getMarginValue=a23a2679d3495c444acc26acc61e35b5bO)= OsetMarginValueglobal.h::setMarginValue=afbf6e3084c108f2bb4372107945ee82fM'; OisInvalidDataglobal.h::isInvalidData=a07ab701c05329089f933b9cae2638a63 HžLêzòÆžDì˜HN!C OselectableQCPAbstractItem::selectableJa9189e752025533e1595eaade0009a3bcR%G OclipAxisRectQCPAbstractItem::clipAxisRectJa37f86618740b5047eae23eedb2de061aV)K OclipToAxisRectQCPAbstractItem::clipToAxisRectJa5b0ea171823033bcb8aee81f4a034871X+M OQCPAbstractItemQCPAbstractItem::QCPAbstractItemJa9922507d8b4503a1fe1ed0b1030e23b6&++ QCPAbstractItemQCPAbstractItemJ*// The Layout SystemThe Layout SystemE$)) Class OverviewClass OverviewB`1W OQ_DECLARE_TYPEINFOplottable-graph.h::Q_DECLARE_TYPEINFO@ae6c02a20d51ce03bc5dfd27c25a1cc6an?e OQCPDataMutableMapIteratorplottable-graph.h::QCPDataMutableMapIterator@a4798b07422d0d4c46a8665c23958b0ea` 1W OQCPDataMapIteratorplottable-graph.h::QCPDataMapIterator@a0fd9a83e0a1783a82f439b0e200b6ae5P !G OQCPDataMapplottable-graph.h::QCPDataMap@a84a9c4a4c2216ccfdcb5f3067cda76e3` 1W OQ_DECLARE_TYPEINFOplottable-curve.h::Q_DECLARE_TYPEINFO?a274cda11a63dec5b5796c0cf25efd5d7 @´Vü¦T¶l ØŠ@H"= OvisibleQCPAbstractItem::visibleJa10a3cc92e0fa63e4a929e61d34e275a7L!A OhasAnchorQCPAbstractItem::hasAnchorJacbce9e5ba5252541d19db0c40303357aF ; OanchorQCPAbstractItem::anchorJabed974cba7cc02608c71dad4638e008dJ? OpositionQCPAbstractItem::positionJaf71345bd150f87fa1d2442837b87bb59H= OanchorsQCPAbstractItem::anchorsJa8454b9941960b840608a5a1e00b1977dLA OpositionsQCPAbstractItem::positionsJadf6a680cc29a6bce8345c3b6af3a91a1N!C OselectTestQCPAbstractItem::selectTestJa96d522d10ffc0413b9a366c6f7f0476bP#E OsetSelectedQCPAbstractItem::setSelectedJa203de94ad586cc44d16c9565f49d3378T'I OsetSelectableQCPAbstractItem::setSelectableJa8a8e32a55bc478b849756a78c2d87fd2X+M OsetClipAxisRectQCPAbstractItem::setClipAxisRectJa7dc75fcbcd10206fe0b75d757ea7a347\/Q OsetClipToAxisRectQCPAbstractItem::setClipToAxisRectJa39e05b9d4176b9accafc746d16ca6a06J? OselectedQCPAbstractItem::selectedJa225865808640d8d9a7dd19f09a2e93f2 l°V¾n"Êr¸lJ-? OclipRectQCPAbstractItem::clipRectJa538e25ff8856534582f5b2b400a46405\,/Q OselectionCategoryQCPAbstractItem::selectionCategoryJa777b5d384936396ad9c3ceb3d3453f1cZ+-O OselectionChangedQCPAbstractItem::selectionChangedJaa5cffb034fc65dbb91c77e02c1c14251V*)K OrealVisibilityQCPAbstractItem::realVisibilityJa30809f7455e9794bca7b6c737622fa63V))K OsetAntialiasedQCPAbstractItem::setAntialiasedJa4fd43e89be4a553ead41652565ff0581J(? OsetLayerQCPAbstractItem::setLayerJab0d0da6d2de45a118886d2c8e16d5a54N'!C OsetVisibleQCPAbstractItem::setVisibleJa3bed99ddc396b48ce3ebfdc0418744f8P&#E OantialiasedQCPAbstractItem::antialiasedJaef5cb4aa899ed9dc9384fd614560291eD%9 OlayerQCPAbstractItem::layerJaea67e8c19145e70d68c286a36f6b8300X$+M OparentLayerableQCPAbstractItem::parentLayerableJa98d79f5b716d45eac4347befe546d0ecN#!C OparentPlotQCPAbstractItem::parentPlotJab7e0e94461566093d36ffc0f5312b109 ŒHö Dî–>ê„ b85W OinitializeParentPlotQCPAbstractItem::initializeParentPlotJa8cbe5a0c9a5674249982f5ca5f8e02bcd77Y OparentPlotInitializedQCPAbstractItem::parentPlotInitializedJab20b7dbd8e0249ed61adb9622c427382R6%G OcreateAnchorQCPAbstractItem::createAnchorJaf3fc92527802078ca395138748b629a7V5)K OcreatePositionQCPAbstractItem::createPositionJa75036d39c4d4e2e1a7dd145fff915d32V4)K OrectSelectTestQCPAbstractItem::rectSelectTestJa4c0e14c4e92df91174cb7183fb363069T3'I OdistSqrToLineQCPAbstractItem::distSqrToLineJacdca343717d625b8abb3c3e38c0ed39dZ2-O OanchorPixelPointQCPAbstractItem::anchorPixelPointJa94bde62b8a2fc133666dcbb8035deeedT1'I OdeselectEventQCPAbstractItem::deselectEventJa91f090d6763cfedb0749219c63788ae9P0#E OselectEventQCPAbstractItem::selectEventJaaf92af7b9893712959a6c073d334d88dB/7 OdrawQCPAbstractItem::drawJad0dc056f650c3ca73414e6b4f01674efr.Eg OapplyDefaultAntialiasingHintQCPAbstractItem::applyDefaultAntialiasingHintJa0839031abdd71067e2256a4d53c7a011 < Nè´Hî¤Pö’<TC!O OselectableQCPAbstractLegendItem::selectableLa0a0205f33f37edae50826c24cb8f1983bB/] OselectedTextColorQCPAbstractLegendItem::selectedTextColorLa076db1717257b82875b12a15ecf99ba3XA%S OselectedFontQCPAbstractLegendItem::selectedFontLafccfe665eb8483cec924a9c0a53ddf2bR@M OtextColorQCPAbstractLegendItem::textColorLa444caef8565ac8d8653269f14d82b42dH?C OfontQCPAbstractLegendItem::fontLae476404706638d84fadc01021df2b19eX>%S OparentLegendQCPAbstractLegendItem::parentLegendLafcd683e43058f99a47d6546eedffc5c1j=7e OQCPAbstractLegendItemQCPAbstractLegendItem::QCPAbstractLegendItemLafaff87610e8da0fa238ecf552872d7742<77 QCPAbstractLegendItemQCPAbstractLegendItemLd;7Y OapplyAntialiasingHintQCPAbstractItem::applyAntialiasingHintJa62bd552d1a45aa9accb24b310542279eP:#E OmoveToLayerQCPAbstractItem::moveToLayerJaf94484cfb7cbbddb7de522e9be71d9a4^91S OsetParentLayerableQCPAbstractItem::setParentLayerableJaa23c893671f1f6744ac235cf2204cf3a D®^¤:Þ†0â˜DRNM OouterRectQCPAbstractLegendItem::outerRectLa60bbddee2d1230c2414bd776f44d17b8HMC OrectQCPAbstractLegendItem::rectLaffdfea003469aac3d0fac5f4e06171bcLLG OlayoutQCPAbstractLegendItem::layoutLa6235f5384db871fc6e3387a1bc558b0dTK!O OselectTestQCPAbstractLegendItem::selectTestLad0480d5cad34627a294a2921caa4a62fVJ#Q OsetSelectedQCPAbstractLegendItem::setSelectedLa6eed93b0ab99cb3eabb043fb08179c2bZI'U OsetSelectableQCPAbstractLegendItem::setSelectableLa9913ef48730551b696e7f98a2391c599hH5c OsetSelectedTextColorQCPAbstractLegendItem::setSelectedTextColorLa4d01d008ee1a5bfe9905b0397a421936^G+Y OsetSelectedFontQCPAbstractLegendItem::setSelectedFontLa91db5aee48617a9d3206e61376807365XF%S OsetTextColorQCPAbstractLegendItem::setTextColorLa6ebace6aaffaedcdab2d74e88acc2d1eNEI OsetFontQCPAbstractLegendItem::setFontLa409c53455d8112f71d70c0c43eb10265PDK OselectedQCPAbstractLegendItem::selectedLac776e68e3367704452131c6aa9908bb9 &°Rú¢Jò˜>è„&\Y)W OsetAutoMarginsQCPAbstractLegendItem::setAutoMarginsLaccfda49994e3e6d51ed14504abf9d27dbX/] OsetMinimumMarginsQCPAbstractLegendItem::setMinimumMarginsLa0a8a17abc16b7923159fcc7608f94673TW!O OsetMarginsQCPAbstractLegendItem::setMarginsLa8f450b1f3f992ad576fce2c63d8b79cfXV%S OsetOuterRectQCPAbstractLegendItem::setOuterRectLa38975ea13e36de8e53391ce41d94bc0fXU%S OmarginGroupsQCPAbstractLegendItem::marginGroupsLac43921c997570389c14a1671bc3ea499VT#Q OmarginGroupQCPAbstractLegendItem::marginGroupLa22cb1bb62c452fd802e43ca2524660dbVS#Q OmaximumSizeQCPAbstractLegendItem::maximumSizeLa1fc85c79e15c2ab8051eccd455fccc4aVR#Q OminimumSizeQCPAbstractLegendItem::minimumSizeLae71f9230171d2d898e21dc461fc3df03VQ#Q OautoMarginsQCPAbstractLegendItem::autoMarginsLa2f499b1179b3126e22d0d7508124ccb3\P)W OminimumMarginsQCPAbstractLegendItem::minimumMarginsLa60ec7f377c26726174d536bffb632002NOI OmarginsQCPAbstractLegendItem::marginsLa85ff977dfcced84eef32d9f819ec9543 4¢Dæ˜8؆6à€4JdE OlayerQCPAbstractLegendItem::layerLaea67e8c19145e70d68c286a36f6b8300^c+Y OparentLayerableQCPAbstractLegendItem::parentLayerableLa98d79f5b716d45eac4347befe546d0ecTb!O OparentPlotQCPAbstractLegendItem::parentPlotLab7e0e94461566093d36ffc0f5312b109NaI OvisibleQCPAbstractLegendItem::visibleLa10a3cc92e0fa63e4a929e61d34e275a7P`K OelementsQCPAbstractLegendItem::elementsLa311d60d78e62ef8eaaedb1b6ceb9e788^_+Y OmaximumSizeHintQCPAbstractLegendItem::maximumSizeHintLadbd3a00fec44c977150c6be7329eb801^^+Y OminimumSizeHintQCPAbstractLegendItem::minimumSizeHintLaebe14fb71f858c0f98caf8d342a9864aL]G OupdateQCPAbstractLegendItem::updateLa46d52cb1f07ba05564920321f4ada184\\)W OsetMarginGroupQCPAbstractLegendItem::setMarginGroupLa516e56f76b6bc100e8e71d329866847d\[)W OsetMaximumSizeQCPAbstractLegendItem::setMaximumSizeLa74eb5280a737ab44833d506db65efd95\Z)W OsetMinimumSizeQCPAbstractLegendItem::setMinimumSizeLa5dd29a3c8bc88440c97c06b67be7886b h¨R¢Dâ~²hHnC OdrawQCPAbstractLegendItem::drawLa97dedc084c672359710f16b31d046d1dPmK OclipRectQCPAbstractLegendItem::clipRectLabcb540c331b49ef7ee0ea1abbd0dcac3xlEs OapplyDefaultAntialiasingHintQCPAbstractLegendItem::applyDefaultAntialiasingHintLa71c3baeda42ba78d2cccd97e74110a5ebk/] OselectionCategoryQCPAbstractLegendItem::selectionCategoryLa53a80054ab329beaca072fb08c08944b`j-[ OselectionChangedQCPAbstractLegendItem::selectionChangedLa7cb61fdfbaf69c590bacb8f9e7099d9e\i)W OrealVisibilityQCPAbstractLegendItem::realVisibilityLa30809f7455e9794bca7b6c737622fa63\h)W OsetAntialiasedQCPAbstractLegendItem::setAntialiasedLa4fd43e89be4a553ead41652565ff0581PgK OsetLayerQCPAbstractLegendItem::setLayerLab0d0da6d2de45a118886d2c8e16d5a54Tf!O OsetVisibleQCPAbstractLegendItem::setVisibleLa3bed99ddc396b48ce3ebfdc0418744f8Ve#Q OantialiasedQCPAbstractLegendItem::antialiasedLaef5cb4aa899ed9dc9384fd614560291e *¨Lä„&ÂV”*hx5c OinitializeParentPlotQCPAbstractLegendItem::initializeParentPlotLa8cbe5a0c9a5674249982f5ca5f8e02bcjw7e OparentPlotInitializedQCPAbstractLegendItem::parentPlotInitializedLa1478899e80e8244b411e96ec3b2e5ce2Tv!O OwheelEventQCPAbstractLegendItem::wheelEventLa300521d2fd18a893c1b85f6be11ce2bfju7e OmouseDoubleClickEventQCPAbstractLegendItem::mouseDoubleClickEventLaa8fef6486cb6ceb7c82cbdd50bc32ee9bt/] OmouseReleaseEventQCPAbstractLegendItem::mouseReleaseEventLae526ac828cce1e5bb94eaa85776d7404\s)W OmouseMoveEventQCPAbstractLegendItem::mouseMoveEventLa14f4acf58cdb8dd2c6c571479c4c4a40^r+Y OmousePressEventQCPAbstractLegendItem::mousePressEventLa2d82ea21fe0ee628f177bd824bc51a71fq3a OcalculateAutoMarginQCPAbstractLegendItem::calculateAutoMarginLa005c9f0fe84bc1591a2cf2c46fd477b4Zp'U OdeselectEventQCPAbstractLegendItem::deselectEventLae64e667e7c5b85cd92c9b91928faef28Vo#Q OselectEventQCPAbstractLegendItem::selectEventLabcfe9e335d99c7fac74e03d26723c1b7 !šBÖ¤;ò“+Áy!U#O OselectedPenQCPAbstractPlottable::selectedPenNa006065572c5add883a944ea4cda699f3E? OpenQCPAbstractPlottable::penNa41d060007cc6b3037c9c04d22d0c0398g5a OantialiasedErrorBarsQCPAbstractPlottable::antialiasedErrorBarsNa630cfb27ff99ab4373b09631748fcf4ae3_ OantialiasedScattersQCPAbstractPlottable::antialiasedScattersNaefc379bcc011660a5371ecc6088a97eb]+W OantialiasedFillQCPAbstractPlottable::antialiasedFillNa68d1c358db03faae376ec47c589abf27G~A OnameQCPAbstractPlottable::nameNa1affc1972938e4364a9325e4e4e4dceag}5a OQCPAbstractPlottableQCPAbstractPlottable::QCPAbstractPlottableNaf78a036e40db6f53a31abadc5323715a0|55 QCPAbstractPlottableQCPAbstractPlottableNj{7e OapplyAntialiasingHintQCPAbstractLegendItem::applyAntialiasingHintLa62bd552d1a45aa9accb24b310542279eVz#Q OmoveToLayerQCPAbstractLegendItem::moveToLayerLaf94484cfb7cbbddb7de522e9be71d9a4dy1_ OsetParentLayerableQCPAbstractLegendItem::setParentLayerableLaa23c893671f1f6744ac235cf2204cf3a *´X´^ ¼Vèx*KE OsetPenQCPAbstractPlottable::setPenNab74b09ae4c0e7e13142fe4b5bf46cac7m ;g OsetAntialiasedErrorBarsQCPAbstractPlottable::setAntialiasedErrorBarsNa757beb744b96cf1855cca5ab9d3ecf52k 9e OsetAntialiasedScattersQCPAbstractPlottable::setAntialiasedScattersNa2f03f067ede2ed4da6f7d0e4777a3f02c 1] OsetAntialiasedFillQCPAbstractPlottable::setAntialiasedFillNa089d6b5577120239b55c39ed27c39536M G OsetNameQCPAbstractPlottable::setNameNab79c7ba76bc7fa89a4b3580e12149f1fO I OselectedQCPAbstractPlottable::selectedNab901903adcb0e29467d63de72340ab29S!M OselectableQCPAbstractPlottable::selectableNaf895574da1ec0d050711b6c9deda296aQK OvalueAxisQCPAbstractPlottable::valueAxisNa3106f9d34d330a6097a8ec5905e5b519MG OkeyAxisQCPAbstractPlottable::keyAxisNa72c7a09c22963f2c943f07112b311103Y'S OselectedBrushQCPAbstractPlottable::selectedBrushNa403745791879916431adc872b49207e5IC ObrushQCPAbstractPlottable::brushNaa74cdceb9c7286ef116fbfa58e0326e7 &¢Pî˜>âŠ6àˆ&_-Y OremoveFromLegendQCPAbstractPlottable::removeFromLegendNaa1f350e510326d012b9a9c9249736c83U#O OaddToLegendQCPAbstractPlottable::addToLegendNa70f8cabfd808f7d5204b9f18c45c13f5S!M OselectTestQCPAbstractPlottable::selectTestNa38efe9641d972992a3d44204bc80ec1dQK OclearDataQCPAbstractPlottable::clearDataNa86e5b8fd4b6ff4f4084e7ea4c573fc53U#O OsetSelectedQCPAbstractPlottable::setSelectedNafbd5428c2952f59d952e11ab5cd79176Y'S OsetSelectableQCPAbstractPlottable::setSelectableNa22c69299eb5569e0f6bf084877a37dc4W%Q OsetValueAxisQCPAbstractPlottable::setValueAxisNa71626a07367e241ec62ad2c34baf21cbS!M OsetKeyAxisQCPAbstractPlottable::setKeyAxisNa8524fa2994c63c0913ebd9bb2ffa3920_-Y OsetSelectedBrushQCPAbstractPlottable::setSelectedBrushNae8c816874089f7a44001e8618e81a9dcOI OsetBrushQCPAbstractPlottable::setBrushNa7a4b92144dca6453a1f0f210e27edc74[)U OsetSelectedPenQCPAbstractPlottable::setSelectedPenNa6911603cad23ab0469b108224517516f 8¨Jè˜Bâ–>è–8[$)U OsetAntialiasedQCPAbstractPlottable::setAntialiasedNa4fd43e89be4a553ead41652565ff0581O#I OsetLayerQCPAbstractPlottable::setLayerNab0d0da6d2de45a118886d2c8e16d5a54S"!M OsetVisibleQCPAbstractPlottable::setVisibleNa3bed99ddc396b48ce3ebfdc0418744f8U!#O OantialiasedQCPAbstractPlottable::antialiasedNaef5cb4aa899ed9dc9384fd614560291eI C OlayerQCPAbstractPlottable::layerNaea67e8c19145e70d68c286a36f6b8300]+W OparentLayerableQCPAbstractPlottable::parentLayerableNa98d79f5b716d45eac4347befe546d0ecS!M OparentPlotQCPAbstractPlottable::parentPlotNab7e0e94461566093d36ffc0f5312b109MG OvisibleQCPAbstractPlottable::visibleNa10a3cc92e0fa63e4a929e61d34e275a7_-Y OrescaleValueAxisQCPAbstractPlottable::rescaleValueAxisNabfd0805eb1d955c0111a990246658324[)U OrescaleKeyAxisQCPAbstractPlottable::rescaleKeyAxisNa1acecfcca3e7fcda00fcbaa3c886386fU#O OrescaleAxesQCPAbstractPlottable::rescaleAxesNa7e8fc3be43c27ccacd70a7bf9d74a5cd \¢@î¤@Æn´\U.#O OgetKeyRangeQCPAbstractPlottable::getKeyRangeNa7aa24ed0b3c39bd99338c7b9f145a71b[-)U OdrawLegendIconQCPAbstractPlottable::drawLegendIconNa9a450783fd9ed539e589999fd390cdf7Y,'S OdeselectEventQCPAbstractPlottable::deselectEventNa6fa0d0f95560ea8b01ee13f296dab2b1U+#O OselectEventQCPAbstractPlottable::selectEventNa16aaad02456aa23a759efd1ac90c79bfw*Eq OapplyDefaultAntialiasingHintQCPAbstractPlottable::applyDefaultAntialiasingHintNa76e9d6cc7972dc1528f526d163766acaa)/[ OselectionCategoryQCPAbstractPlottable::selectionCategoryNa5eef607bcc2aee8bfe2380a8710f6c64G(A OdrawQCPAbstractPlottable::drawNacbab5e30dcd04fd302b4a5902ac2c482O'I OclipRectQCPAbstractPlottable::clipRectNac01960b0827913922f5364d559c124ed_&-Y OselectionChangedQCPAbstractPlottable::selectionChangedNa3af66432b1dca93b28e00e78a8c7c1d9[%)U OrealVisibilityQCPAbstractPlottable::realVisibilityNa30809f7455e9794bca7b6c737622fa63 z¤Fè˜DÐTÖzY7'S OdistSqrToLineQCPAbstractPlottable::distSqrToLineNa5ea1cab44ca912dcdc96ed81ec5bed5d{6Iu OapplyErrorBarsAntialiasingHintQCPAbstractPlottable::applyErrorBarsAntialiasingHintNaf687bfe6160255960558eb71f1f81e73y5Gs OapplyScattersAntialiasingHintQCPAbstractPlottable::applyScattersAntialiasingHintNa753272ee225a62827e90c3e1e78de4b1q4?k OapplyFillAntialiasingHintQCPAbstractPlottable::applyFillAntialiasingHintNac08a480155895e674dbfe5a5670e0ff3Q3K OmainBrushQCPAbstractPlottable::mainBrushNae74c123832da180c17e22203e748d9b7M2G OmainPenQCPAbstractPlottable::mainPenNa19276ed2382a3a06464417b8788b1451[1)U OpixelsToCoordsQCPAbstractPlottable::pixelsToCoordsNa10408828446e9e0681c46d65120f382e[0)U OcoordsToPixelsQCPAbstractPlottable::coordsToPixelsNade710a776104b14c1c835168ce1bfc5cY/'S OgetValueRangeQCPAbstractPlottable::getValueRangeNaed35cfebe5546feea7af2638dd869d5f D”*Älˆ ‡D@A- OQCPAxisQCPAxis::QCPAxisPac62c042968bae0e6d474fcfc57c9b71f@ QCPAxisQCPAxisPu?!M sdPositiveQCPAbstractPlottable::sdPositiveNa661743478a1d3c09d28ec2711d7653d8a02951859f243a4d24e779cfbb5471030m>E sdBothQCPAbstractPlottable::sdBothNa661743478a1d3c09d28ec2711d7653d8a082b98cfb91a7363a3b5cd17b0c1cd60u=!M sdNegativeQCPAbstractPlottable::sdNegativeNa661743478a1d3c09d28ec2711d7653d8a0fc9a70796ef60ad18ddd18056e6dc63i<7c OapplyAntialiasingHintQCPAbstractPlottable::applyAntialiasingHintNa62bd552d1a45aa9accb24b310542279eU;#O OmoveToLayerQCPAbstractPlottable::moveToLayerNaf94484cfb7cbbddb7de522e9be71d9a4c:1] OsetParentLayerableQCPAbstractPlottable::setParentLayerableNaa23c893671f1f6744ac235cf2204cf3ag95a OinitializeParentPlotQCPAbstractPlottable::initializeParentPlotNa8cbe5a0c9a5674249982f5ca5f8e02bci87c OparentPlotInitializedQCPAbstractPlottable::parentPlotInitializedNab20b7dbd8e0249ed61adb9622c427382 K»v/â£T ¾m Ó”KFN!3 OtickLabelsQCPAxis::tickLabelsPa9a78fcccd98a73d37b3d991df7b6ef1dh+ OoffsetQCPAxis::offsetPaebc032ac6eea164a02859c017f52d5e7 Tµx+Ø“Dõ Sþ§TP~+= OsetAutoTickStepQCPAxis::setAutoTickStepPa99fe77b034e06f5b723995beab96e741T}/A OsetAutoTickLabelsQCPAxis::setAutoTickLabelsPaaa47e3a6bac0c20d4beb9028f01bc1a1R|-? OsetAutoTickCountQCPAxis::setAutoTickCountPa7c7111cbeac9ec5fcb40f93a1ef51a0bJ{%7 OsetAutoTicksQCPAxis::setAutoTicksPae867c23d3a6a7bd4d09cc66c5d018f63Rz-? OsetRangeReversedQCPAxis::setRangeReversedPa2172fdb196b1a0dc3f40992fcad8e9e1Ly'9 OsetRangeUpperQCPAxis::setRangeUpperPacd3ca1247aa867b540cd5ec30ccd3befLx'9 OsetRangeLowerQCPAxis::setRangeLowerPafcf51227d337db28d1a9ce9a4d1bc91aBw/ OsetRangeQCPAxis::setRangePaebdfea5d44c3a0ad2b4700cd4d25b641Pv+= OsetScaleLogBaseQCPAxis::setScaleLogBasePa726186054be90487885a748aa1b42188Ju%7 OsetScaleTypeQCPAxis::setScaleTypePadb6c5c45bdf899ea221881dd3b43b406:t' OgridQCPAxis::gridPac4fb913cce3072b5e75a4635e0f6cd04Hs#5 OupperEndingQCPAxis::upperEndingPaad503ac95ee34e614ffee0bd66473e1a c­h¾i½` ¶cP‚ += OsetNumberFormatQCPAxis::setNumberFormatPae585a54dc2aac662e90a2ca82f002590P‚+= OsetDateTimeSpecQCPAxis::setDateTimeSpecPa262e06731debed7eee11fa6a81d67eafT‚/A OsetDateTimeFormatQCPAxis::setDateTimeFormatPa2ee0191daa03524a682113e63e05f7a7Z‚5G OsetTickLabelRotationQCPAxis::setTickLabelRotationPa1bddd4413df8a576b7ad4b067fb33375T‚/A OsetTickLabelColorQCPAxis::setTickLabelColorPa395e445c3fe496b935bee7b911ecfd1cR‚-? OsetTickLabelFontQCPAxis::setTickLabelFontPa2b8690c4e8dbc39d9185d2b398ce7a6cR‚-? OsetTickLabelTypeQCPAxis::setTickLabelTypePa54f24f5ce8feea25209388a863d7e448X‚3E OsetTickLabelPaddingQCPAxis::setTickLabelPaddingPaf302c479af9dbc2e9f0e44e07c0012eeL‚'9 OsetTickLabelsQCPAxis::setTickLabelsPa04ba16e1f6f78d70f938519576ed32c8B‚/ OsetTicksQCPAxis::setTicksPac891409315bc379e3b1abdb162c1a011P+= OsetAutoSubTicksQCPAxis::setAutoSubTicksPadcbdec7a60054b88571e89599f4a45bf _§\ ²c»hº_X‚3E OsetSubTickLengthOutQCPAxis::setSubTickLengthOutPa4c6dfc3963492ed72a77724012df5f23V‚1C OsetSubTickLengthInQCPAxis::setSubTickLengthInPac46fa2a993a9f5789540977610acf1deR‚-? OsetSubTickLengthQCPAxis::setSubTickLengthPab702d6fd42fc620607435339a1c2a2e1P‚+= OsetSubTickCountQCPAxis::setSubTickCountPa4b1554ead9d7f9799650d51383e326ddR‚-? OsetTickLengthOutQCPAxis::setTickLengthOutPa3b8a0debd1ffedd2c22d0592dfbb4e62P‚+= OsetTickLengthInQCPAxis::setTickLengthInPafae1a37a99611366275a51204d991739L‚'9 OsetTickLengthQCPAxis::setTickLengthPa62ec40bebe3540e9c1479a8fd2be3b0dX‚ 3E OsetTickVectorLabelsQCPAxis::setTickVectorLabelsPa921d3ba3853ca3bd2cce3459f7a243edL‚ '9 OsetTickVectorQCPAxis::setTickVectorPa871db94c5d796c80fcbe1a9d4506e27eH‚ #5 OsetTickStepQCPAxis::setTickStepPaf727db0acc6492c4c774c0700e738205V‚ 1C OsetNumberPrecisionQCPAxis::setNumberPrecisionPa21dc8023ad7500382ad9574b48137e63 2·nÒƒ>ë¢[ö™2d‚ ?Q OsetSelectedTickLabelColorQCPAxis::setSelectedTickLabelColorPa9bdbf5e63ab15187f3a1de9440129227Z‚5G OsetSelectedLabelFontQCPAxis::setSelectedLabelFontPa02ec2a75d4d8401eaab834fbc6803d30b‚=O OsetSelectedTickLabelFontQCPAxis::setSelectedTickLabelFontPa845ccb560b7bc5281098a5be494145f6D‚1 OsetOffsetQCPAxis::setOffsetPa04a652603cbe50eba9969ee6d68873c3F‚!3 OsetPaddingQCPAxis::setPaddingPa5691441cb3de9e9844855d339c0db279P‚+= OsetLabelPaddingQCPAxis::setLabelPaddingPa4391192a766e5d20cfe5cbc17607a7a2B‚/ OsetLabelQCPAxis::setLabelPa33bcc382c111c9f31bb0687352a2dea4L‚'9 OsetLabelColorQCPAxis::setLabelColorPa6c906fe56d75f0122335b9f79b999608J‚%7 OsetLabelFontQCPAxis::setLabelFontPa71ac1a47f7547e490a8c4311d1433cf3L‚'9 OsetSubTickPenQCPAxis::setSubTickPenPaede4028ae7516bd51a60618a8233f9cfF‚!3 OsetTickPenQCPAxis::setTickPenPad80923bcc1c5da4c4db602c5325e797eF‚!3 OsetBasePenQCPAxis::setBasePenPa778d45fb71b3c7ab3bb7079e18b058e4 e¡Hï7â‘@÷¬eD‚+1 OmoveRangeQCPAxis::moveRangePa18f3a68f2b691af1fd34b6593c886630H‚*#5 OorientationQCPAxis::orientationPa57483f2f60145ddc9e63f3af53959265F‚)!3 OselectTestQCPAxis::selectTestPa2877a6230920c118be65c6113089f467N‚(); OsetUpperEndingQCPAxis::setUpperEndingPa69119b892fc306f651763596685aa377N‚'); OsetLowerEndingQCPAxis::setLowerEndingPa08af1c72db9ae4dc8cb8a973d44405abR‚&-? OsetSelectedPartsQCPAxis::setSelectedPartsPab9d7a69277dcbed9119b3c1f25ca19c3V‚%1C OsetSelectablePartsQCPAxis::setSelectablePartsPa513f9b9e326c505d9bec54880031b085\‚$7I OsetSelectedSubTickPenQCPAxis::setSelectedSubTickPenPa2a00a7166600155eac26843132eb9576V‚#1C OsetSelectedTickPenQCPAxis::setSelectedTickPenPa8360502685eb782edbf04019c9345cdcV‚"1C OsetSelectedBasePenQCPAxis::setSelectedBasePenPaeb917a909215605b95ef2be843de1ee8\‚!7I OsetSelectedLabelColorQCPAxis::setSelectedLabelColorPa5d502dec597c634f491fdd73d151c72d ]·h%Ø‹Dûº{8ïœ]<‚8) OlayerQCPAxis::layerPaea67e8c19145e70d68c286a36f6b8300P‚7+= OparentLayerableQCPAxis::parentLayerablePa98d79f5b716d45eac4347befe546d0ecF‚6!3 OparentPlotQCPAxis::parentPlotPab7e0e94461566093d36ffc0f5312b109@‚5- OvisibleQCPAxis::visiblePa10a3cc92e0fa63e4a929e61d34e275a7<‚4) OitemsQCPAxis::itemsPae437656a5fd1a03721a8f2d7aab460fe>‚3+ OgraphsQCPAxis::graphsPad3919e7d7400f55446ea82018fe5e3a8F‚2!3 OplottablesQCPAxis::plottablesPa4f7404494cccdbfc00e1e865b7ed16a4D‚11 OgetPartAtQCPAxis::getPartAtPab2965a8ab1da948b897f1c006080760bJ‚0%7 OcoordToPixelQCPAxis::coordToPixelPa985ae693b842fb0422b4390fe36d299aJ‚/%7 OpixelToCoordQCPAxis::pixelToCoordPae9289ef7043b9d966af88eaa95b037d1@‚.- OrescaleQCPAxis::rescalePa499345f02ebce4b23d8ccec96e58daa9L‚-'9 OsetScaleRatioQCPAxis::setScaleRatioPaf4bbd446dcaee5a83ac30ce9bcd6e125F‚,!3 OscaleRangeQCPAxis::scaleRangePa7072ff96fe690148f1bbcdb4f773ea1c &µl'Ö…8ë–9ä&d‚D?Q OcalculateAutoSubTickCountQCPAxis::calculateAutoSubTickCountPa3c5c045019fcdc0843a3e064eda7478aT‚C/A OgenerateAutoTicksQCPAxis::generateAutoTicksPa626eef437c874148df1a5ac78506d463R‚B-? OsetupTickVectorsQCPAxis::setupTickVectorsPa57d9e961bae7d62f5b4e1f143e660c78Z‚A5G OmarginSideToAxisTypeQCPAxis::marginSideToAxisTypePac0a6b77bd52bec6c81cd62d167cfeba6R‚@-? OselectionChangedQCPAxis::selectionChangedPa62b598abeee7174a05f9d542cc85b1f5J‚?%7 OrangeChangedQCPAxis::rangeChangedPa0894084e4c16a1736534c4095746f910J‚>%7 OticksRequestQCPAxis::ticksRequestPaf46d99613d29518795134ec4928e3873N‚=); OrealVisibilityQCPAxis::realVisibilityPa30809f7455e9794bca7b6c737622fa63N‚<); OsetAntialiasedQCPAxis::setAntialiasedPa4fd43e89be4a553ead41652565ff0581B‚;/ OsetLayerQCPAxis::setLayerPab0d0da6d2de45a118886d2c8e16d5a54F‚:!3 OsetVisibleQCPAxis::setVisiblePa3bed99ddc396b48ce3ebfdc0418744f8H‚9#5 OantialiasedQCPAxis::antialiasedPaef5cb4aa899ed9dc9384fd614560291e a­\ ¸WüRû°aL‚O'9 OdeselectEventQCPAxis::deselectEventPa53512242cde6ec21943a3ba10dbf78c3H‚N#5 OselectEventQCPAxis::selectEventPaa8a5fe80e2898ec08ada26b5fbee9ecaT‚M/A OselectionCategoryQCPAxis::selectionCategoryPaca53b2f365dfc1257cba9e62395aa68f:‚L' OdrawQCPAxis::drawPa258b1e783eda5cd14ec5552c696a424ej‚KEW OapplyDefaultAntialiasingHintQCPAxis::applyDefaultAntialiasingHintPa13bde39eb1e0b7c14a02935689be8abaX‚J3E OgetMaxTickLabelSizeQCPAxis::getMaxTickLabelSizePaca8025b82a43a4627eb87db9026a69c0^‚I9K OgetTickLabelDrawOffsetQCPAxis::getTickLabelDrawOffsetPa3344f814ff1d560f23c7d58fa4fb91f4R‚H-? OgetTickLabelDataQCPAxis::getTickLabelDataPa1fe23bcd7e074a3891fb89de07590a28L‚G'9 OdrawTickLabelQCPAxis::drawTickLabelPab7adf6d12ddb90d8f0b11e073d023065N‚F); OplaceTickLabelQCPAxis::placeTickLabelPa374e5a891b7ac3dc944e29f8d0d8c296P‚E+= OcalculateMarginQCPAxis::calculateMarginPa47bdb0a55de6759489ee47665199aebb V©f#Ú‘Bí Iú›VB‚[/ OclipRectQCPAxis::clipRectPa07a8f746640c3704b09910df297afcba\‚Z7I OparentPlotInitializedQCPAxis::parentPlotInitializedPab20b7dbd8e0249ed61adb9622c427382L‚Y'9 OgetLabelColorQCPAxis::getLabelColorPa42bd69b9e9c571f13624079be18ccdc1T‚X/A OgetTickLabelColorQCPAxis::getTickLabelColorPa0f8583f7ac24ccc70d39fdd2389cad6eJ‚W%7 OgetLabelFontQCPAxis::getLabelFontPab0768eb2879efb202645d19ff789e63eR‚V-? OgetTickLabelFontQCPAxis::getTickLabelFontPaef30b66668986523225089a67280ec7aL‚U'9 OgetSubTickPenQCPAxis::getSubTickPenPab4f7e60a40eb051c775afcaeab895c85F‚T!3 OgetTickPenQCPAxis::getTickPenPa7f503910be40fb1717e1635be3ef17e1F‚S!3 OgetBasePenQCPAxis::getBasePenPa3eb0681d31baf579bb73b86a0153cb02@‚R- ObasePowQCPAxis::basePowPa97d69f021a05126fcb978d0aefea47b8@‚Q- ObaseLogQCPAxis::baseLogPa1385765db2419ee5fb5505a6cf9130fbT‚P/A OvisibleTickBoundsQCPAxis::visibleTickBoundsPa06320a944d1120732cc0d72fe1306d8b >£Jÿ =Øw©>h‚e!3 ltDateTimeQCPAxis::ltDateTimePa4a7da0166f755f5abac23b765d184cadafc70594a9d877124dd11ccc187d4ac52d‚d/ ltNumberQCPAxis::ltNumberPa4a7da0166f755f5abac23b765d184cada7f1eacf3b73adaefd334bea04e094b7ed‚c/ atBottomQCPAxis::atBottomPae2bcc1728b382f10f064612b368bc18aa220d68888516b6c3b493d144f1ba438f^‚b) atTopQCPAxis::atTopPae2bcc1728b382f10f064612b368bc18aac0ece2b680d3f545e701f75af1655977b‚a- atRightQCPAxis::atRightPae2bcc1728b382f10f064612b368bc18aadf5509f7d29199ef2f263b1dd224b345`‚`+ atLeftQCPAxis::atLeftPae2bcc1728b382f10f064612b368bc18aaf84aa6cac6fb6099f54a2cbf7546b730\‚_7I OapplyAntialiasingHintQCPAxis::applyAntialiasingHintPa62bd552d1a45aa9accb24b310542279eH‚^#5 OmoveToLayerQCPAxis::moveToLayerPaf94484cfb7cbbddb7de522e9be71d9a4V‚]1C OsetParentLayerableQCPAxis::setParentLayerablePaa23c893671f1f6744ac235cf2204cf3aZ‚\5G OinitializeParentPlotQCPAxis::initializeParentPlotPa8cbe5a0c9a5674249982f5ca5f8e02bc p™(Åbó†eÉpV‚o-G ObackgroundScaledQCPAxisRect::backgroundScaledTa67c18777b88fe9c81dee3dd2b5f50e5cJ‚n!; ObackgroundQCPAxisRect::backgroundTa0daa1dadd2a62dbfa37b7f742edd0059L‚m#= OQCPAxisRectQCPAxisRect::QCPAxisRectTa60b31dece805462c1b82eea2e69ba042‚l## QCPAxisRectQCPAxisRectTj‚k#5 spAxisLabelQCPAxis::spAxisLabelPabee4c7a54c468b1385dfce2c898b115fa851e0600e0d08b4f5fee9361e3fedabdl‚j%7 spTickLabelsQCPAxis::spTickLabelsPabee4c7a54c468b1385dfce2c898b115fa584e0a3dc4d064880647619f4bd4e771`‚i+ spAxisQCPAxis::spAxisPabee4c7a54c468b1385dfce2c898b115fa8949d2c1a31eccae9be7ed32e7a1ae38`‚h+ spNoneQCPAxis::spNonePabee4c7a54c468b1385dfce2c898b115fae0df8123a5528d5ccf87cb7794f971ean‚g'9 stLogarithmicQCPAxis::stLogarithmicPa36d8e8658dbaa179bf2aeb973db2d6f0abf5b785ad976618816dc6f79b73216d4d‚f/ stLinearQCPAxis::stLinearPa36d8e8658dbaa179bf2aeb973db2d6f0aff6e30a11a828bc850caffab0ff994f6 QŸT ¶c ¹Zó¢QN‚z%? OsetRangeZoomQCPAxisRect::setRangeZoomTa7960a9d222f1c31d558b064b60f86a31N‚y%? OsetRangeDragQCPAxisRect::setRangeDragTae6aef2f7211ba6097c925dcd26008418d‚x;U OsetBackgroundScaledModeQCPAxisRect::setBackgroundScaledModeTa5ef77ea829c9de7ba248e473f48f7305\‚w3M OsetBackgroundScaledQCPAxisRect::setBackgroundScaledTae6d36c3e0e968ffb991170a018e7b503P‚v'A OsetBackgroundQCPAxisRect::setBackgroundTaf615ab5e52b8e0a9a0eff415b6559db5T‚u+E OrangeZoomFactorQCPAxisRect::rangeZoomFactorTae4e6c4d143aacc88d2d3c56f117c2fe1P‚t'A OrangeZoomAxisQCPAxisRect::rangeZoomAxisTa679c63f2b8daccfe6ec5110dce3dd3b6P‚s'A OrangeDragAxisQCPAxisRect::rangeDragAxisTa6d7c22cfc54fac7a3d6ef80b133a8574H‚r9 OrangeZoomQCPAxisRect::rangeZoomTa3397fc60e5df29089090bc236e9f05f6H‚q9 OrangeDragQCPAxisRect::rangeDragTaf24b46954ce27a26b23770cdb8319080^‚p5O ObackgroundScaledModeQCPAxisRect::backgroundScaledModeTa3d0f42d6be11a0b3d4576402a2b0032d T§Nñ¦e$Ý–Iú¡TJƒ!; OplottablesQCPAxisRect::plottablesTa5b0d629c8de5572945eeae79a142296eVƒ-G OsetupFullAxesBoxQCPAxisRect::setupFullAxesBoxTa5fa906175447b14206954f77fc7f1ef4Lƒ#= OinsetLayoutQCPAxisRect::insetLayoutTa4114887c7141b59650b7488f930993e5Jƒ!; OremoveAxisQCPAxisRect::removeAxisTa03c39cd9704f0d36fb6cf980cdddcbaaDƒ5 OaddAxesQCPAxisRect::addAxesTa792e1f3d9cb1591fca135bb0de9b81fcDƒ5 OaddAxisQCPAxisRect::addAxisTacbc382cc7715d23310d65d91f50a4bde>ƒ/ OaxesQCPAxisRect::axesTa66654d51ca611ef036ded36250cd2518>‚/ OaxisQCPAxisRect::axisTa560de44e47a4af0f86c59102a094b1e4H‚~9 OaxisCountQCPAxisRect::axisCountTa16e3e4646e52e4b5d5b865076c29ae58Z‚}1K OsetRangeZoomFactorQCPAxisRect::setRangeZoomFactorTa895d7ac745ea614e04056244b3c138acV‚|-G OsetRangeZoomAxesQCPAxisRect::setRangeZoomAxesTa9442cca2aa358405f39a64d51eca13d2V‚{-G OsetRangeDragAxesQCPAxisRect::setRangeDragAxesTa648cce336bd99daac4a5ca3e5743775d 6»x7ôµp-è§`Ê{6Bƒ3 OcenterQCPAxisRect::centerTaea5e6042bca198424fa1bc02fc282e59Lƒ#= ObottomRightQCPAxisRect::bottomRightTa49ea3c7dff834b47e266cbf3d79f78b9Jƒ!; ObottomLeftQCPAxisRect::bottomLeftTa724b0333971ea6a338f0dbd814dc97aeFƒ7 OtopRightQCPAxisRect::topRightTa232409546394c23b59407bc62fa460a8Dƒ5 OtopLeftQCPAxisRect::topLeftTa88acbe716bcf5072790a6f95637c40d8>ƒ/ OsizeQCPAxisRect::sizeTa871b9fe49e92b39a3cbe29a59e458536Bƒ3 OheightQCPAxisRect::heightTa1c55c4f3bef40cf01b21820316c8469e@ƒ 1 OwidthQCPAxisRect::widthTa45bf5c17f4ca29131b7eb0db06efc259Bƒ 3 ObottomQCPAxisRect::bottomTaf2b5982ebe7e6f781b9bf1cc371a60d8<ƒ - OtopQCPAxisRect::topTac45aef1eb75cea46b241b6303028a607@ƒ 1 OrightQCPAxisRect::rightTa6d0f989fc552aa2b563cf82f8fc81e61>ƒ / OleftQCPAxisRect::leftTa55b3ecf72a3a65b053f7651b88db458d@ƒ1 OitemsQCPAxisRect::itemsTa0f17ed539962cfcbaca8ce0b1776c840Bƒ3 OgraphsQCPAxisRect::graphsTafa4ff90901d9275f670e24b40e3c1b25 '»r-ì¡Z¶gÉx'Nƒ!%? OsetOuterRectQCPAxisRect::setOuterRectTa38975ea13e36de8e53391ce41d94bc0fNƒ %? OmarginGroupsQCPAxisRect::marginGroupsTac43921c997570389c14a1671bc3ea499Lƒ#= OmarginGroupQCPAxisRect::marginGroupTa22cb1bb62c452fd802e43ca2524660dbLƒ#= OmaximumSizeQCPAxisRect::maximumSizeTa1fc85c79e15c2ab8051eccd455fccc4aLƒ#= OminimumSizeQCPAxisRect::minimumSizeTae71f9230171d2d898e21dc461fc3df03Lƒ#= OautoMarginsQCPAxisRect::autoMarginsTa2f499b1179b3126e22d0d7508124ccb3Rƒ)C OminimumMarginsQCPAxisRect::minimumMarginsTa60ec7f377c26726174d536bffb632002Dƒ5 OmarginsQCPAxisRect::marginsTa85ff977dfcced84eef32d9f819ec9543Hƒ9 OouterRectQCPAxisRect::outerRectTa60bbddee2d1230c2414bd776f44d17b8>ƒ/ OrectQCPAxisRect::rectTaffdfea003469aac3d0fac5f4e06171bcBƒ3 OlayoutQCPAxisRect::layoutTa6235f5384db871fc6e3387a1bc558b0dFƒ7 OelementsQCPAxisRect::elementsTa2bda6bf2b5b5797f92583cecd01c8949Bƒ3 OupdateQCPAxisRect::updateTa8bdf6f76baa7b6c464706bce9b975a27 u³X®Y­V ÂuJƒ,!; OparentPlotQCPAxisRect::parentPlotTab7e0e94461566093d36ffc0f5312b109Dƒ+5 OvisibleQCPAxisRect::visibleTa10a3cc92e0fa63e4a929e61d34e275a7Jƒ*!; OselectTestQCPAxisRect::selectTestTa9fcf5d0ea19f2c23b2b528bce2c6f095Tƒ)+E OmaximumSizeHintQCPAxisRect::maximumSizeHintTadbd3a00fec44c977150c6be7329eb801Tƒ(+E OminimumSizeHintQCPAxisRect::minimumSizeHintTaebe14fb71f858c0f98caf8d342a9864aRƒ')C OsetMarginGroupQCPAxisRect::setMarginGroupTa516e56f76b6bc100e8e71d329866847dRƒ&)C OsetMaximumSizeQCPAxisRect::setMaximumSizeTa74eb5280a737ab44833d506db65efd95Rƒ%)C OsetMinimumSizeQCPAxisRect::setMinimumSizeTa5dd29a3c8bc88440c97c06b67be7886bRƒ$)C OsetAutoMarginsQCPAxisRect::setAutoMarginsTaccfda49994e3e6d51ed14504abf9d27dXƒ#/I OsetMinimumMarginsQCPAxisRect::setMinimumMarginsTa0a8a17abc16b7923159fcc7608f94673Jƒ"!; OsetMarginsQCPAxisRect::setMarginsTa8f450b1f3f992ad576fce2c63d8b79cf o©fÊ,×f%ÆoTƒ7+E OmousePressEventQCPAxisRect::mousePressEventTa77501dbeccdac7256f7979b05077c04e\ƒ63M OcalculateAutoMarginQCPAxisRect::calculateAutoMarginTae79f18302e6507586aa8c032a5f9ed1c>ƒ5/ OdrawQCPAxisRect::drawTafb1bbbbda8345cd2710d92ee48440b53nƒ4E_ OapplyDefaultAntialiasingHintQCPAxisRect::applyDefaultAntialiasingHintTa9a6dd0763701cbc7d01f899bcbb3f9caRƒ3)C OrealVisibilityQCPAxisRect::realVisibilityTa30809f7455e9794bca7b6c737622fa63Rƒ2)C OsetAntialiasedQCPAxisRect::setAntialiasedTa4fd43e89be4a553ead41652565ff0581Fƒ17 OsetLayerQCPAxisRect::setLayerTab0d0da6d2de45a118886d2c8e16d5a54Jƒ0!; OsetVisibleQCPAxisRect::setVisibleTa3bed99ddc396b48ce3ebfdc0418744f8Lƒ/#= OantialiasedQCPAxisRect::antialiasedTaef5cb4aa899ed9dc9384fd614560291e@ƒ.1 OlayerQCPAxisRect::layerTaea67e8c19145e70d68c286a36f6b8300Tƒ-+E OparentLayerableQCPAxisRect::parentLayerableTa98d79f5b716d45eac4347befe546d0ec I«P®Uò4ëœIPƒB'A OdeselectEventQCPAxisRect::deselectEventTae546370644a5551c76af739afc008beeLƒA#= OselectEventQCPAxisRect::selectEventTa7498c2d0d081cf7cad0fb3bb93aa0e91Fƒ@7 OclipRectQCPAxisRect::clipRectTa07a8f746640c3704b09910df297afcbaXƒ?/I OselectionCategoryQCPAxisRect::selectionCategoryTaa4035e586b7f317a06ba7e74e242a5ea`ƒ>7Q OparentPlotInitializedQCPAxisRect::parentPlotInitializedTa1478899e80e8244b411e96ec3b2e5ce2`ƒ=7Q OmouseDoubleClickEventQCPAxisRect::mouseDoubleClickEventTaa8fef6486cb6ceb7c82cbdd50bc32ee9Vƒ<-G OupdateAxesOffsetQCPAxisRect::updateAxesOffsetTa6024ccdc74f5dc0e8a0fe482e5b28a20Rƒ;)C OdrawBackgroundQCPAxisRect::drawBackgroundTab49d338d1ce74b476fcead5b32cf06dcJƒ:!; OwheelEventQCPAxisRect::wheelEventTa5acf41fc30aa68ea263246ecfad85c31Xƒ9/I OmouseReleaseEventQCPAxisRect::mouseReleaseEventTadf6c99780cea55ab39459a6eaad3a94aRƒ8)C OmouseMoveEventQCPAxisRect::mouseMoveEventTa4baf3d5dd69166788f6ceda0ea182c6e CŸBóq%祌I Å€C:ƒP' OdataQCPBars::dataWac05c21de37f677545d06fd852ef8a743BƒO/ ObarAboveQCPBars::barAboveWa9ca48a6577586825d85bdc1fbf410803BƒN/ ObarBelowQCPBars::barBelowWa2c46a686cbad95f180ca3c2e88263961<ƒM) OwidthQCPBars::widthWa42798c38abd5f5db22bd45d77f429625@ƒL- OQCPBarsQCPBars::QCPBarsWa64006999ad9dff308f40df41cef176adƒK QCPBarsQCPBarsW?ƒJ/ OvalueQCPBarData::valueVacab57005d8916d61b64e9ddef6113b60;ƒI+ OkeyQCPBarData::keyVafe544b035ef19027ea3d65adeaf81b42IƒH!9 OQCPBarDataQCPBarData::QCPBarDataVa8d214eda9ef41bc6da2a908a09623836ƒG!! QCPBarDataQCPBarDataV`ƒF7Q OapplyAntialiasingHintQCPAxisRect::applyAntialiasingHintTa62bd552d1a45aa9accb24b310542279eLƒE#= OmoveToLayerQCPAxisRect::moveToLayerTaf94484cfb7cbbddb7de522e9be71d9a4ZƒD1K OsetParentLayerableQCPAxisRect::setParentLayerableTaa23c893671f1f6744ac235cf2204cf3a^ƒC5O OinitializeParentPlotQCPAxisRect::initializeParentPlotTa8cbe5a0c9a5674249982f5ca5f8e02bc ;»x1ê§Rÿ¶o&é–;Xƒ]3E OantialiasedScattersQCPBars::antialiasedScattersWaefc379bcc011660a5371ecc6088a97ebPƒ\+= OantialiasedFillQCPBars::antialiasedFillWa68d1c358db03faae376ec47c589abf27:ƒ[' OnameQCPBars::nameWa1affc1972938e4364a9325e4e4e4dceaFƒZ!3 OselectTestQCPBars::selectTestWa0d37a9feb1d0baf73ce6e809db214445DƒY1 OclearDataQCPBars::clearDataWa11dbbd707132f07f862dff13c5789c2bFƒX!3 OremoveDataQCPBars::removeDataWa1fe9bcb57d670defea1bb65cadf43765PƒW+= OremoveDataAfterQCPBars::removeDataAfterWa99de6e7abbbf03fb41fa604c7f08aa8bRƒV-? OremoveDataBeforeQCPBars::removeDataBeforeWa9d12779a3fad4820aad2c428f368298d@ƒU- OaddDataQCPBars::addDataWa1f29cf08615040993209147fa68de3f2DƒT1 OmoveAboveQCPBars::moveAboveWac22e00a6a41509538c21b04f0a57318cDƒS1 OmoveBelowQCPBars::moveBelowWa69fc371346980f19177c3d1ecdad78ee@ƒR- OsetDataQCPBars::setDataWaa3435aab19e0a49e4e7b41bd36a8d96bBƒQ/ OsetWidthQCPBars::setWidthWafec6116579d44d5b706e0fa5e5332507 z£hÞL¼w4Ûz^ƒi9K OsetAntialiasedScattersQCPBars::setAntialiasedScattersWa2f03f067ede2ed4da6f7d0e4777a3f02Vƒh1C OsetAntialiasedFillQCPBars::setAntialiasedFillWa089d6b5577120239b55c39ed27c39536@ƒg- OsetNameQCPBars::setNameWab79c7ba76bc7fa89a4b3580e12149f1fBƒf/ OselectedQCPBars::selectedWab901903adcb0e29467d63de72340ab29Fƒe!3 OselectableQCPBars::selectableWaf895574da1ec0d050711b6c9deda296aDƒd1 OvalueAxisQCPBars::valueAxisWa3106f9d34d330a6097a8ec5905e5b519@ƒc- OkeyAxisQCPBars::keyAxisWa72c7a09c22963f2c943f07112b311103Lƒb'9 OselectedBrushQCPBars::selectedBrushWa403745791879916431adc872b49207e5<ƒa) ObrushQCPBars::brushWaa74cdceb9c7286ef116fbfa58e0326e7Hƒ`#5 OselectedPenQCPBars::selectedPenWa006065572c5add883a944ea4cda699f38ƒ_% OpenQCPBars::penWa41d060007cc6b3037c9c04d22d0c0398Zƒ^5G OantialiasedErrorBarsQCPBars::antialiasedErrorBarsWa630cfb27ff99ab4373b09631748fcf4a V\ Æq(ÛŒAö¡VHƒu#5 OrescaleAxesQCPBars::rescaleAxesWa7e8fc3be43c27ccacd70a7bf9d74a5cdRƒt-? OremoveFromLegendQCPBars::removeFromLegendWaa1f350e510326d012b9a9c9249736c83Hƒs#5 OaddToLegendQCPBars::addToLegendWa70f8cabfd808f7d5204b9f18c45c13f5Hƒr#5 OsetSelectedQCPBars::setSelectedWafbd5428c2952f59d952e11ab5cd79176Lƒq'9 OsetSelectableQCPBars::setSelectableWa22c69299eb5569e0f6bf084877a37dc4Jƒp%7 OsetValueAxisQCPBars::setValueAxisWa71626a07367e241ec62ad2c34baf21cbFƒo!3 OsetKeyAxisQCPBars::setKeyAxisWa8524fa2994c63c0913ebd9bb2ffa3920Rƒn-? OsetSelectedBrushQCPBars::setSelectedBrushWae8c816874089f7a44001e8618e81a9dcBƒm/ OsetBrushQCPBars::setBrushWa7a4b92144dca6453a1f0f210e27edc74Nƒl); OsetSelectedPenQCPBars::setSelectedPenWa6911603cad23ab0469b108224517516f>ƒk+ OsetPenQCPBars::setPenWab74b09ae4c0e7e13142fe4b5bf46cac7`ƒj;M OsetAntialiasedErrorBarsQCPBars::setAntialiasedErrorBarsWa757beb744b96cf1855cca5ab9d3ecf52 /¯ZÎ{<ñ¨cÁl/:„' OdrawQCPBars::drawWa42b894e34dac799f90ff3700706b31dfR„-? OselectionChangedQCPBars::selectionChangedWa3af66432b1dca93b28e00e78a8c7c1d9N„); OrealVisibilityQCPBars::realVisibilityWa30809f7455e9794bca7b6c737622fa63Nƒ); OsetAntialiasedQCPBars::setAntialiasedWa4fd43e89be4a553ead41652565ff0581Bƒ~/ OsetLayerQCPBars::setLayerWab0d0da6d2de45a118886d2c8e16d5a54Fƒ}!3 OsetVisibleQCPBars::setVisibleWa3bed99ddc396b48ce3ebfdc0418744f8Hƒ|#5 OantialiasedQCPBars::antialiasedWaef5cb4aa899ed9dc9384fd614560291e<ƒ{) OlayerQCPBars::layerWaea67e8c19145e70d68c286a36f6b8300Pƒz+= OparentLayerableQCPBars::parentLayerableWa98d79f5b716d45eac4347befe546d0ecFƒy!3 OparentPlotQCPBars::parentPlotWab7e0e94461566093d36ffc0f5312b109@ƒx- OvisibleQCPBars::visibleWa10a3cc92e0fa63e4a929e61d34e275a7Rƒw-? OrescaleValueAxisQCPBars::rescaleValueAxisWabfd0805eb1d955c0111a990246658324Nƒv); OrescaleKeyAxisQCPBars::rescaleKeyAxisWa1acecfcca3e7fcda00fcbaa3c886386f 4¯dÆy4Ýp%Ö…4N„); OpixelsToCoordsQCPBars::pixelsToCoordsWa10408828446e9e0681c46d65120f382eN„ ); OcoordsToPixelsQCPBars::coordsToPixelsWade710a776104b14c1c835168ce1bfc5cL„ '9 OdeselectEventQCPBars::deselectEventWa6fa0d0f95560ea8b01ee13f296dab2b1H„ #5 OselectEventQCPBars::selectEventWa16aaad02456aa23a759efd1ac90c79bfj„ EW OapplyDefaultAntialiasingHintQCPBars::applyDefaultAntialiasingHintWa76e9d6cc7972dc1528f526d163766acaT„ /A OselectionCategoryQCPBars::selectionCategoryWa5eef607bcc2aee8bfe2380a8710f6c64B„/ OclipRectQCPBars::clipRectWac01960b0827913922f5364d559c124edJ„%7 OgetBaseValueQCPBars::getBaseValueWab60a3c4b8e7c59f0f14e25590d96fa4eL„'9 OgetBarPolygonQCPBars::getBarPolygonWa1d118a76662cfd691a78c6f573e3f78cL„'9 OgetValueRangeQCPBars::getValueRangeWacbcbf97f591d3b8a130b2fdf0a8af74bH„#5 OgetKeyRangeQCPBars::getKeyRangeWadbf608df1ba1d28c0bc7a929b18d997bN„); OdrawLegendIconQCPBars::drawLegendIconWad4fb35d2ab7d2aa460a6612aff3e7a15 !½v /à$Ë€!\„7I OapplyAntialiasingHintQCPBars::applyAntialiasingHintWa62bd552d1a45aa9accb24b310542279eH„#5 OmoveToLayerQCPBars::moveToLayerWaf94484cfb7cbbddb7de522e9be71d9a4V„1C OsetParentLayerableQCPBars::setParentLayerableWaa23c893671f1f6744ac235cf2204cf3aZ„5G OinitializeParentPlotQCPBars::initializeParentPlotWa8cbe5a0c9a5674249982f5ca5f8e02bc\„7I OparentPlotInitializedQCPBars::parentPlotInitializedWab20b7dbd8e0249ed61adb9622c427382L„'9 OdistSqrToLineQCPBars::distSqrToLineWa5ea1cab44ca912dcdc96ed81ec5bed5dn„I[ OapplyErrorBarsAntialiasingHintQCPBars::applyErrorBarsAntialiasingHintWaf687bfe6160255960558eb71f1f81e73l„GY OapplyScattersAntialiasingHintQCPBars::applyScattersAntialiasingHintWa753272ee225a62827e90c3e1e78de4b1d„?Q OapplyFillAntialiasingHintQCPBars::applyFillAntialiasingHintWac08a480155895e674dbfe5a5670e0ff3D„1 OmainBrushQCPBars::mainBrushWae74c123832da180c17e22203e748d9b7@„- OmainPenQCPBars::mainPenWa19276ed2382a3a06464417b8788b1451 aµJç|aÝG¯aK„%%9 OsetLineStyleQCPCurve::setLineStyleZa4a377ec863ff81a1875c3094a6177c19Q„$+? OsetScatterStyleQCPCurve::setScatterStyleZa55e43b44709bf50a35500644988aa706A„#/ OsetDataQCPCurve::setDataZa631ac886708460013b30052f49cbc9daE„"3 OlineStyleQCPCurve::lineStyleZa0314dd644258949aeb4a95cebde5abafK„!%9 OscatterStyleQCPCurve::scatterStyleZa9ab864c9f6ba0cedf65853f59d867a68;„ ) OdataQCPCurve::dataZa9ac194d35d4f334923aac9df1bf599caC„1 OQCPCurveQCPCurve::QCPCurveZa36de58e2652b3fa47bdf9187d421d3ce„ QCPCurveQCPCurveZh„!3 sdPositiveQCPBars::sdPositiveWa661743478a1d3c09d28ec2711d7653d8a02951859f243a4d24e779cfbb5471030`„+ sdBothQCPBars::sdBothWa661743478a1d3c09d28ec2711d7653d8a082b98cfb91a7363a3b5cd17b0c1cd60h„!3 sdNegativeQCPBars::sdNegativeWa661743478a1d3c09d28ec2711d7653d8a0fc9a70796ef60ad18ddd18056e6dc63H„#5 OconnectBarsQCPBars::connectBarsWa6ea37802cd22f97235cab614b14b9f19 "¼fÈ€6ø¤Hê®b"=„2+ ObrushQCPCurve::brushZaa74cdceb9c7286ef116fbfa58e0326e7I„1#7 OselectedPenQCPCurve::selectedPenZa006065572c5add883a944ea4cda699f39„0' OpenQCPCurve::penZa41d060007cc6b3037c9c04d22d0c0398[„/5I OantialiasedErrorBarsQCPCurve::antialiasedErrorBarsZa630cfb27ff99ab4373b09631748fcf4aY„.3G OantialiasedScattersQCPCurve::antialiasedScattersZaefc379bcc011660a5371ecc6088a97ebQ„-+? OantialiasedFillQCPCurve::antialiasedFillZa68d1c358db03faae376ec47c589abf27;„,) OnameQCPCurve::nameZa1affc1972938e4364a9325e4e4e4dceaG„+!5 OselectTestQCPCurve::selectTestZa5af9949e725704811bbc81ecd5970b8eE„*3 OclearDataQCPCurve::clearDataZae0462c61dbfbac07db0736ec64110241G„)!5 OremoveDataQCPCurve::removeDataZad45bb5479be799163028ef2b776f7221Q„(+? OremoveDataAfterQCPCurve::removeDataAfterZa0365cb947c4e6d405ee22e00191d5f52S„'-A OremoveDataBeforeQCPCurve::removeDataBeforeZaf6f4284fbc2f34e676f24dce03c34fe5A„&/ OaddDataQCPCurve::addDataZa4e24023c3b9ac75440c7a260172c99af V°l$Ú”Pö”0îœVC„>1 OsetBrushQCPCurve::setBrushZa7a4b92144dca6453a1f0f210e27edc74O„=)= OsetSelectedPenQCPCurve::setSelectedPenZa6911603cad23ab0469b108224517516f?„<- OsetPenQCPCurve::setPenZab74b09ae4c0e7e13142fe4b5bf46cac7a„;;O OsetAntialiasedErrorBarsQCPCurve::setAntialiasedErrorBarsZa757beb744b96cf1855cca5ab9d3ecf52_„:9M OsetAntialiasedScattersQCPCurve::setAntialiasedScattersZa2f03f067ede2ed4da6f7d0e4777a3f02W„91E OsetAntialiasedFillQCPCurve::setAntialiasedFillZa089d6b5577120239b55c39ed27c39536A„8/ OsetNameQCPCurve::setNameZab79c7ba76bc7fa89a4b3580e12149f1fC„71 OselectedQCPCurve::selectedZab901903adcb0e29467d63de72340ab29G„6!5 OselectableQCPCurve::selectableZaf895574da1ec0d050711b6c9deda296aE„53 OvalueAxisQCPCurve::valueAxisZa3106f9d34d330a6097a8ec5905e5b519A„4/ OkeyAxisQCPCurve::keyAxisZa72c7a09c22963f2c943f07112b311103M„3'; OselectedBrushQCPCurve::selectedBrushZa403745791879916431adc872b49207e5 Rª`Âv*Ôˆ6àœRG„J!5 OparentPlotQCPCurve::parentPlotZab7e0e94461566093d36ffc0f5312b109A„I/ OvisibleQCPCurve::visibleZa10a3cc92e0fa63e4a929e61d34e275a7S„H-A OrescaleValueAxisQCPCurve::rescaleValueAxisZabfd0805eb1d955c0111a990246658324O„G)= OrescaleKeyAxisQCPCurve::rescaleKeyAxisZa1acecfcca3e7fcda00fcbaa3c886386fI„F#7 OrescaleAxesQCPCurve::rescaleAxesZa7e8fc3be43c27ccacd70a7bf9d74a5cdS„E-A OremoveFromLegendQCPCurve::removeFromLegendZaa1f350e510326d012b9a9c9249736c83I„D#7 OaddToLegendQCPCurve::addToLegendZa70f8cabfd808f7d5204b9f18c45c13f5I„C#7 OsetSelectedQCPCurve::setSelectedZafbd5428c2952f59d952e11ab5cd79176M„B'; OsetSelectableQCPCurve::setSelectableZa22c69299eb5569e0f6bf084877a37dc4K„A%9 OsetValueAxisQCPCurve::setValueAxisZa71626a07367e241ec62ad2c34baf21cbG„@!5 OsetKeyAxisQCPCurve::setKeyAxisZa8524fa2994c63c0913ebd9bb2ffa3920S„?-A OsetSelectedBrushQCPCurve::setSelectedBrushZae8c816874089f7a44001e8618e81a9dc j¬l Ö>ì–XºjM„V'; OgetValueRangeQCPCurve::getValueRangeZa5e788d369793e0179c5a46fce3bcb0fbI„U#7 OgetKeyRangeQCPCurve::getKeyRangeZaed062a72e98372480a683cdd201b5612O„T)= OdrawLegendIconQCPCurve::drawLegendIconZaaee24451e0044d1debfa1fee92c58d7b;„S) OdrawQCPCurve::drawZa2361302d2fc6ec669849bd3bca00c4b2S„R-A OselectionChangedQCPCurve::selectionChangedZa3af66432b1dca93b28e00e78a8c7c1d9O„Q)= OrealVisibilityQCPCurve::realVisibilityZa30809f7455e9794bca7b6c737622fa63O„P)= OsetAntialiasedQCPCurve::setAntialiasedZa4fd43e89be4a553ead41652565ff0581C„O1 OsetLayerQCPCurve::setLayerZab0d0da6d2de45a118886d2c8e16d5a54G„N!5 OsetVisibleQCPCurve::setVisibleZa3bed99ddc396b48ce3ebfdc0418744f8I„M#7 OantialiasedQCPCurve::antialiasedZaef5cb4aa899ed9dc9384fd614560291e=„L+ OlayerQCPCurve::layerZaea67e8c19145e70d68c286a36f6b8300Q„K+? OparentLayerableQCPCurve::parentLayerableZa98d79f5b716d45eac4347befe546d0ec b¬^®h¢V´bO„a)= OpixelsToCoordsQCPCurve::pixelsToCoordsZa10408828446e9e0681c46d65120f382eO„`)= OcoordsToPixelsQCPCurve::coordsToPixelsZade710a776104b14c1c835168ce1bfc5cM„_'; OdeselectEventQCPCurve::deselectEventZa6fa0d0f95560ea8b01ee13f296dab2b1I„^#7 OselectEventQCPCurve::selectEventZa16aaad02456aa23a759efd1ac90c79bfk„]EY OapplyDefaultAntialiasingHintQCPCurve::applyDefaultAntialiasingHintZa76e9d6cc7972dc1528f526d163766acaU„\/C OselectionCategoryQCPCurve::selectionCategoryZa5eef607bcc2aee8bfe2380a8710f6c64C„[1 OclipRectQCPCurve::clipRectZac01960b0827913922f5364d559c124ed]„Z7K OoutsideCoordsToPixelsQCPCurve::outsideCoordsToPixelsZa3a4d067f833d51be6eb67f0aa1e2c387M„Y'; OpointDistanceQCPCurve::pointDistanceZacd7a68c6f268ce1ab845eaf69fc2c6a6K„X%9 OgetCurveDataQCPCurve::getCurveDataZafa895f8ba9ae34fea6ecea295fd7b1e5Q„W+? OdrawScatterPlotQCPCurve::drawScatterPlotZa45593f30b81beec4b6130b6b53306087 v¼t œ*ÚzÂvI„k#7 OmoveToLayerQCPCurve::moveToLayerZaf94484cfb7cbbddb7de522e9be71d9a4W„j1E OsetParentLayerableQCPCurve::setParentLayerableZaa23c893671f1f6744ac235cf2204cf3a[„i5I OinitializeParentPlotQCPCurve::initializeParentPlotZa8cbe5a0c9a5674249982f5ca5f8e02bc]„h7K OparentPlotInitializedQCPCurve::parentPlotInitializedZab20b7dbd8e0249ed61adb9622c427382M„g'; OdistSqrToLineQCPCurve::distSqrToLineZa5ea1cab44ca912dcdc96ed81ec5bed5do„fI] OapplyErrorBarsAntialiasingHintQCPCurve::applyErrorBarsAntialiasingHintZaf687bfe6160255960558eb71f1f81e73m„eG[ OapplyScattersAntialiasingHintQCPCurve::applyScattersAntialiasingHintZa753272ee225a62827e90c3e1e78de4b1e„d?S OapplyFillAntialiasingHintQCPCurve::applyFillAntialiasingHintZac08a480155895e674dbfe5a5670e0ff3E„c3 OmainBrushQCPCurve::mainBrushZae74c123832da180c17e22203e748d9b7A„b/ OmainPenQCPCurve::mainPenZa19276ed2382a3a06464417b8788b1451 N <Ølœy'ë«gN„w QCPDataQCPData^A„v3 OvalueQCPCurveData::value]a72b39b8e1dbf7b45382ebd48419b6828=„u/ OkeyQCPCurveData::key]a8a4ec5f2b9a396149fd842e309701bd49„t+ OtQCPCurveData::t]aecc395525be28e9178a088793beb3ff3O„s%A OQCPCurveDataQCPCurveData::QCPCurveData]a48252779b5198a509d99c69ae223fbf8 „r%% QCPCurveDataQCPCurveData]i„q!5 sdPositiveQCPCurve::sdPositiveZa661743478a1d3c09d28ec2711d7653d8a02951859f243a4d24e779cfbb5471030a„p- sdBothQCPCurve::sdBothZa661743478a1d3c09d28ec2711d7653d8a082b98cfb91a7363a3b5cd17b0c1cd60i„o!5 sdNegativeQCPCurve::sdNegativeZa661743478a1d3c09d28ec2711d7653d8a0fc9a70796ef60ad18ddd18056e6dc63a„n- lsLineQCPCurve::lsLineZa2710e9f79302152cff794c6e16cc01f1ade5822ce6fbf131d3df131795c2e1003a„m- lsNoneQCPCurve::lsNoneZa2710e9f79302152cff794c6e16cc01f1aec1601a191cdf0b4e761c4c66092cc48]„l7K OapplyAntialiasingHintQCPCurve::applyAntialiasingHintZa62bd552d1a45aa9accb24b310542279e @½‚Cö§Vè¢dΆ@C…1 OerrorPenQCPGraph::errorPen_a83455e01093bb899f3b59d4a6fdcd57bE…3 OerrorTypeQCPGraph::errorType_a250bcdf78abac87bc6d46ee6fd99a92dK…%9 OscatterStyleQCPGraph::scatterStyle_ae0227c79f4e42a350c2c99fb2fb879dbE…3 OlineStyleQCPGraph::lineStyle_ad6db8d31abeac256a285fc68d6b9b9be;…) OdataQCPGraph::data_a8f4c17d993df4759c7426db45b33fbc0C…1 OQCPGraphQCPGraph::QCPGraph_a0393a38cf7183cbf46348eb6cf9a5a6c„ QCPGraphQCPGraph_P„~+= OvalueErrorMinusQCPData::valueErrorMinus^a51d8f42bf4d49a1f263531e70cadd6a3N„}); OvalueErrorPlusQCPData::valueErrorPlus^ad26912552d03485ea20d91dcad16aa8fL„|'9 OkeyErrorMinusQCPData::keyErrorMinus^af107d650b8ee5c3b2961ecddcfb1bccbJ„{%7 OkeyErrorPlusQCPData::keyErrorPlus^ae468c3808107c2fd23052481156ab5b5<„z) OvalueQCPData::value^aefe1ecf8fa2e34ed875b67523e5423738„y% OkeyQCPData::key^a2f5ba9aca61bb74f88516e148a4cf71b@„x- OQCPDataQCPData::QCPData^a1f06d624e36ba0ed72ac36d42aa5c7ee ,²X¾j¼nÌ€,Q…+? OsetErrorBarSizeQCPGraph::setErrorBarSize_a10f50c5495ce45ef559ec2066194a335I…#7 OsetErrorPenQCPGraph::setErrorPen_abd4c7f81939e10776ea64603a704f22aK…%9 OsetErrorTypeQCPGraph::setErrorType_ac3614d799c3894f2bc646e99c7f73d38Q…+? OsetScatterStyleQCPGraph::setScatterStyle_a12bd17a8ba21983163ec5d8f42a9fea5K… %9 OsetLineStyleQCPGraph::setLineStyle_a513fecccff5b2a50ce53f665338c60ffS… -A OsetDataBothErrorQCPGraph::setDataBothError_a873fe46bdb20be5710428e474ade8908U… /C OsetDataValueErrorQCPGraph::setDataValueError_acba6296eadcb36b93267628b8dae3de5Q… +? OsetDataKeyErrorQCPGraph::setDataKeyError_abce9f07c0d722bc3e4fa7bd73c7e5dfaA… / OsetDataQCPGraph::setData_a1df2fd710545c8ba3b2c99a39a27bf8bS…-A OchannelFillGraphQCPGraph::channelFillGraph_a5369f23863e04a6164f8b66d49fd18f4W…1E OerrorBarSkipSymbolQCPGraph::errorBarSkipSymbol_a04dbc050ff04561658ab1e7f3df37a01K…%9 OerrorBarSizeQCPGraph::errorBarSize_ae31efdcbc6ba3d73a7aeb83c774f958a H DªV Äz.܆H;…) OnameQCPGraph::name_a1affc1972938e4364a9325e4e4e4dceaS…-A OrescaleValueAxisQCPGraph::rescaleValueAxis_a2ba0e1df416486d7e74299ef8cf68bbaO…)= OrescaleKeyAxisQCPGraph::rescaleKeyAxis_a2108a729046b0ab6e0516afb249dab13I…#7 OrescaleAxesQCPGraph::rescaleAxes_aa35b75b9032800d783df749c8a004ee9G…!5 OselectTestQCPGraph::selectTest_abc9ff375aabcf2d21cca33d6baf85772E…3 OclearDataQCPGraph::clearData_ad4e94a4e44e5e76fbec81a72a977157dG…!5 OremoveDataQCPGraph::removeData_a4a0fde50b7db9db0a85b5c5b6b10098fQ…+? OremoveDataAfterQCPGraph::removeDataAfter_ae42d645ef617cfc75fc0df58e62c522aS…-A OremoveDataBeforeQCPGraph::removeDataBefore_a9fe0b3e54e8c7b61319bd03337e21e99A…/ OaddDataQCPGraph::addData_aa5c6181d84db72ce4dbe9dc15a34ef4fY…3G OsetChannelFillGraphQCPGraph::setChannelFillGraph_a2d03156df1b64037a2e36cfa50351ca3]…7K OsetErrorBarSkipSymbolQCPGraph::setErrorBarSkipSymbol_ab1c1ee03d8dd94676a564e5e5f11aac2 z¬Pò¶j*Ú–N¾zA…)/ OsetNameQCPGraph::setName_ab79c7ba76bc7fa89a4b3580e12149f1fC…(1 OselectedQCPGraph::selected_ab901903adcb0e29467d63de72340ab29G…'!5 OselectableQCPGraph::selectable_af895574da1ec0d050711b6c9deda296aE…&3 OvalueAxisQCPGraph::valueAxis_a3106f9d34d330a6097a8ec5905e5b519A…%/ OkeyAxisQCPGraph::keyAxis_a72c7a09c22963f2c943f07112b311103M…$'; OselectedBrushQCPGraph::selectedBrush_a403745791879916431adc872b49207e5=…#+ ObrushQCPGraph::brush_aa74cdceb9c7286ef116fbfa58e0326e7I…"#7 OselectedPenQCPGraph::selectedPen_a006065572c5add883a944ea4cda699f39…!' OpenQCPGraph::pen_a41d060007cc6b3037c9c04d22d0c0398[… 5I OantialiasedErrorBarsQCPGraph::antialiasedErrorBars_a630cfb27ff99ab4373b09631748fcf4aY…3G OantialiasedScattersQCPGraph::antialiasedScatters_aefc379bcc011660a5371ecc6088a97ebQ…+? OantialiasedFillQCPGraph::antialiasedFill_a68d1c358db03faae376ec47c589abf27 0¦DàžL°fÈ|0I…5#7 OaddToLegendQCPGraph::addToLegend_a70f8cabfd808f7d5204b9f18c45c13f5I…4#7 OsetSelectedQCPGraph::setSelected_afbd5428c2952f59d952e11ab5cd79176M…3'; OsetSelectableQCPGraph::setSelectable_a22c69299eb5569e0f6bf084877a37dc4K…2%9 OsetValueAxisQCPGraph::setValueAxis_a71626a07367e241ec62ad2c34baf21cbG…1!5 OsetKeyAxisQCPGraph::setKeyAxis_a8524fa2994c63c0913ebd9bb2ffa3920S…0-A OsetSelectedBrushQCPGraph::setSelectedBrush_ae8c816874089f7a44001e8618e81a9dcC…/1 OsetBrushQCPGraph::setBrush_a7a4b92144dca6453a1f0f210e27edc74O….)= OsetSelectedPenQCPGraph::setSelectedPen_a6911603cad23ab0469b108224517516f?…-- OsetPenQCPGraph::setPen_ab74b09ae4c0e7e13142fe4b5bf46cac7a…,;O OsetAntialiasedErrorBarsQCPGraph::setAntialiasedErrorBars_a757beb744b96cf1855cca5ab9d3ecf52_…+9M OsetAntialiasedScattersQCPGraph::setAntialiasedScatters_a2f03f067ede2ed4da6f7d0e4777a3f02W…*1E OsetAntialiasedFillQCPGraph::setAntialiasedFill_a089d6b5577120239b55c39ed27c39536 "ªfȈ<ò¬Z²t"O…B)= OdrawLegendIconQCPGraph::drawLegendIcon_a32115df0e940cf8ca7b687873c2d02ee;…A) OdrawQCPGraph::draw_a659218cc62c2a7786213d9dd429c1c8dS…@-A OselectionChangedQCPGraph::selectionChanged_a3af66432b1dca93b28e00e78a8c7c1d9O…?)= OrealVisibilityQCPGraph::realVisibility_a30809f7455e9794bca7b6c737622fa63O…>)= OsetAntialiasedQCPGraph::setAntialiased_a4fd43e89be4a553ead41652565ff0581C…=1 OsetLayerQCPGraph::setLayer_ab0d0da6d2de45a118886d2c8e16d5a54G…<!5 OsetVisibleQCPGraph::setVisible_a3bed99ddc396b48ce3ebfdc0418744f8I…;#7 OantialiasedQCPGraph::antialiased_aef5cb4aa899ed9dc9384fd614560291e=…:+ OlayerQCPGraph::layer_aea67e8c19145e70d68c286a36f6b8300Q…9+? OparentLayerableQCPGraph::parentLayerable_a98d79f5b716d45eac4347befe546d0ecG…8!5 OparentPlotQCPGraph::parentPlot_ab7e0e94461566093d36ffc0f5312b109A…7/ OvisibleQCPGraph::visible_a10a3cc92e0fa63e4a929e61d34e275a7S…6-A OremoveFromLegendQCPGraph::removeFromLegend_aa1f350e510326d012b9a9c9249736c83 t´dÊ|(Ü‚.Òt[…M5I OgetStepRightPlotDataQCPGraph::getStepRightPlotData_ab2ad46716889c73ab977cf9280de0788Y…L3G OgetStepLeftPlotDataQCPGraph::getStepLeftPlotData_a6b7c14e04deed69b70d552dbe70c4d28Q…K+? OgetLinePlotDataQCPGraph::getLinePlotData_ac76804eb33446181f3e4f708b7639a75W…J1E OgetScatterPlotDataQCPGraph::getScatterPlotData_a0899c4d6357aee19a3abff5897c3c8c5I…I#7 OgetPlotDataQCPGraph::getPlotData_af66183533a29520be3e74489ad1449ccQ…H+? OdrawImpulsePlotQCPGraph::drawImpulsePlot_abc01180629621f1e47e94559227d3d8cK…G%9 OdrawLinePlotQCPGraph::drawLinePlot_acebc22c3385829b19a87e6281fe6ade2Q…F+? OdrawScatterPlotQCPGraph::drawScatterPlot_af1872a60bed7acb3f3b17bfae3f4764cC…E1 OdrawFillQCPGraph::drawFill_ad6d07926e6d6b7cfa70258780d47b7a0M…D'; OgetValueRangeQCPGraph::getValueRange_a9fc0c1288455fa5bb64b603d6b01de6cI…C#7 OgetKeyRangeQCPGraph::getKeyRange_ab39c7e8c94b64804a8dc9c19bc7d4683 . Fþ Hê6Ö‚.Q…X+? OfindIndexAboveXQCPGraph::findIndexAboveX_abab2a75b5e63630432bdd1f3b57f07faQ…W+? OfindIndexBelowXQCPGraph::findIndexBelowX_a6f4e9461d5925be9228fc4760249a04f]…V7K OgetChannelFillPolygonQCPGraph::getChannelFillPolygon_a0374b7268e35cab9802a6be2b5d726d7W…U1E OupperFillBasePointQCPGraph::upperFillBasePoint_a363d066c179e0f46cc93c12bafb0bfbaW…T1E OlowerFillBasePointQCPGraph::lowerFillBasePoint_a41f982e8ceaefe6a53eb7432f26d64b6[…S5I OremoveFillBasePointsQCPGraph::removeFillBasePoints_ad31b49a90e91e538fd9caf011c913a68U…R/C OaddFillBasePointsQCPGraph::addFillBasePoints_a5fa7884620d7c54b81dfbd255d97b636[…Q5I OgetVisibleDataBoundsQCPGraph::getVisibleDataBounds_a8963c90087cf53b889b29dd59aa41aadE…P3 OdrawErrorQCPGraph::drawError_a4df6807066ce877705e999773e7ffbc4W…O1E OgetImpulsePlotDataQCPGraph::getImpulsePlotData_a0ff6e856387cc079b28592ead2a81f6c]…N7K OgetStepCenterPlotDataQCPGraph::getStepCenterPlotData_ac79dc75dd98db9948d9656447b463af5 0¬XÂjü°`¼x0E…d3 OmainBrushQCPGraph::mainBrush_ae74c123832da180c17e22203e748d9b7A…c/ OmainPenQCPGraph::mainPen_a19276ed2382a3a06464417b8788b1451O…b)= OpixelsToCoordsQCPGraph::pixelsToCoords_a10408828446e9e0681c46d65120f382eO…a)= OcoordsToPixelsQCPGraph::coordsToPixels_ade710a776104b14c1c835168ce1bfc5cM…`'; OdeselectEventQCPGraph::deselectEvent_a6fa0d0f95560ea8b01ee13f296dab2b1I…_#7 OselectEventQCPGraph::selectEvent_a16aaad02456aa23a759efd1ac90c79bfk…^EY OapplyDefaultAntialiasingHintQCPGraph::applyDefaultAntialiasingHint_a76e9d6cc7972dc1528f526d163766acaU…]/C OselectionCategoryQCPGraph::selectionCategory_a5eef607bcc2aee8bfe2380a8710f6c64C…\1 OclipRectQCPGraph::clipRect_ac01960b0827913922f5364d559c124edM…['; OpointDistanceQCPGraph::pointDistance_af93762a12a481a7edb4b3dd9e330dff1Q…Z+? OfindIndexAboveYQCPGraph::findIndexAboveY_adf50243f1df203883a2187089734bfcbQ…Y+? OfindIndexBelowYQCPGraph::findIndexBelowY_a6c4d556de3d1e02f548401001f72c6ff >˜(¶f¨N¢>a…n- lsNoneQCPGraph::lsNone_ad60175cd9b5cac937c5ee685c32c0859aea9591b933733cc7b20786b71e60fa04]…m7K OapplyAntialiasingHintQCPGraph::applyAntialiasingHint_a62bd552d1a45aa9accb24b310542279eI…l#7 OmoveToLayerQCPGraph::moveToLayer_af94484cfb7cbbddb7de522e9be71d9a4W…k1E OsetParentLayerableQCPGraph::setParentLayerable_aa23c893671f1f6744ac235cf2204cf3a[…j5I OinitializeParentPlotQCPGraph::initializeParentPlot_a8cbe5a0c9a5674249982f5ca5f8e02bc]…i7K OparentPlotInitializedQCPGraph::parentPlotInitialized_ab20b7dbd8e0249ed61adb9622c427382M…h'; OdistSqrToLineQCPGraph::distSqrToLine_a5ea1cab44ca912dcdc96ed81ec5bed5do…gI] OapplyErrorBarsAntialiasingHintQCPGraph::applyErrorBarsAntialiasingHint_af687bfe6160255960558eb71f1f81e73m…fG[ OapplyScattersAntialiasingHintQCPGraph::applyScattersAntialiasingHint_a753272ee225a62827e90c3e1e78de4b1e…e?S OapplyFillAntialiasingHintQCPGraph::applyFillAntialiasingHint_ac08a480155895e674dbfe5a5670e0ff3 Xœ0ÂRè„"¼Xa…w- etBothQCPGraph::etBoth_ad23b514404bd2cb3216f57c90904d6afa761cb7d61670c1e2efecccd8974409abc…v/ etValueQCPGraph::etValue_ad23b514404bd2cb3216f57c90904d6afa147022ccdc49f6bd48f904cb4f61872e_…u+ etKeyQCPGraph::etKey_ad23b514404bd2cb3216f57c90904d6afa2a5d89cd76fb8b6b18d71b8f6f6c0f43a…t- etNoneQCPGraph::etNone_ad23b514404bd2cb3216f57c90904d6afaeae745e7cc1766bb8546e35d4b76a711g…s3 lsImpulseQCPGraph::lsImpulse_ad60175cd9b5cac937c5ee685c32c0859aa3b358b4ae7cca94aceeb8e529c12ebbm…r%9 lsStepCenterQCPGraph::lsStepCenter_ad60175cd9b5cac937c5ee685c32c0859a5adf7b04da215a40a764c21294ea7366k…q#7 lsStepRightQCPGraph::lsStepRight_ad60175cd9b5cac937c5ee685c32c0859a9c37951f7d11aa070100fd16f2935c9ei…p!5 lsStepLeftQCPGraph::lsStepLeft_ad60175cd9b5cac937c5ee685c32c0859ae10568bda57836487d9dec5eba1d6c6ea…o- lsLineQCPGraph::lsLine_ad60175cd9b5cac937c5ee685c32c0859a3c42a27b15aa3c92d399082fad8b7515 =”0Ä«h¾c(ß”=T†/A OsetSubGridVisibleQCPGrid::setSubGridVisiblebad4ad6bf714ec45e08845456355a1b700H†#5 OzeroLinePenQCPGrid::zeroLinePenba06ea986b651860446e1224d2097259b9F†!3 OsubGridPenQCPGrid::subGridPenbac698f8c6864b1d8f0e2af97ca4b39cc68†% OpenQCPGrid::penbaca20b67548e3ae31fd02e6398ffd6cb9X…3E OantialiasedZeroLineQCPGrid::antialiasedZeroLineba4dfbc1cee989d8cae1434b765ab2a13bV…~1C OantialiasedSubGridQCPGrid::antialiasedSubGridbabfa6c638a05b45b2ed31b680fc9b31fcN…}); OsubGridVisibleQCPGrid::subGridVisibleba0a8963e384d53cd77cbab7df96147458@…|- OQCPGridQCPGrid::QCPGridbacd1cdd2909625388a13048b698494a17…{ QCPGridQCPGridbi…z!5 sdPositiveQCPGraph::sdPositive_a661743478a1d3c09d28ec2711d7653d8a02951859f243a4d24e779cfbb5471030a…y- sdBothQCPGraph::sdBoth_a661743478a1d3c09d28ec2711d7653d8a082b98cfb91a7363a3b5cd17b0c1cd60i…x!5 sdNegativeQCPGraph::sdNegative_a661743478a1d3c09d28ec2711d7653d8a0fc9a70796ef60ad18ddd18056e6dc63 h¡@ÿ°_Ó€Aö­hB†/ OsetLayerQCPGrid::setLayerbab0d0da6d2de45a118886d2c8e16d5a54F†!3 OsetVisibleQCPGrid::setVisibleba3bed99ddc396b48ce3ebfdc0418744f8H† #5 OantialiasedQCPGrid::antialiasedbaef5cb4aa899ed9dc9384fd614560291e<† ) OlayerQCPGrid::layerbaea67e8c19145e70d68c286a36f6b8300P† += OparentLayerableQCPGrid::parentLayerableba98d79f5b716d45eac4347befe546d0ecF† !3 OparentPlotQCPGrid::parentPlotbab7e0e94461566093d36ffc0f5312b109@† - OvisibleQCPGrid::visibleba10a3cc92e0fa63e4a929e61d34e275a7N†); OsetZeroLinePenQCPGrid::setZeroLinePenba209f40fdb252397b418b82d3494d8ea0L†'9 OsetSubGridPenQCPGrid::setSubGridPenba9edd3593f384d1f0b0202a39cef4453d>†+ OsetPenQCPGrid::setPenbaa05ab9816ffb440908171e45e833b593^†9K OsetAntialiasedZeroLineQCPGrid::setAntialiasedZeroLineba3cc6d54647393ee71afb6da56af07aa4\†7I OsetAntialiasedSubGridQCPGrid::setAntialiasedSubGridba5692310ba183721a413d60951407d114 2¯f¨kÇhÌ2L†'9 OdeselectEventQCPGrid::deselectEventbae546370644a5551c76af739afc008beeH†#5 OselectEventQCPGrid::selectEventba7498c2d0d081cf7cad0fb3bb93aa0e91B†/ OclipRectQCPGrid::clipRectba07a8f746640c3704b09910df297afcbaT†/A OselectionCategoryQCPGrid::selectionCategorybaa4035e586b7f317a06ba7e74e242a5ea\†7I OparentPlotInitializedQCPGrid::parentPlotInitializedbab20b7dbd8e0249ed61adb9622c427382R†-? OdrawSubGridLinesQCPGrid::drawSubGridLinesbafa5d9d12de419e881f381f2ab7cb414dL†'9 OdrawGridLinesQCPGrid::drawGridLinesba3aff10e993f6625e255c19e4f97a09d8:†' OdrawQCPGrid::drawbad009c23f96078616aa4f66a750974b23j†EW OapplyDefaultAntialiasingHintQCPGrid::applyDefaultAntialiasingHintba9916f5e38b4d6cae446537aeb47c7272N†); OrealVisibilityQCPGrid::realVisibilityba30809f7455e9794bca7b6c737622fa63F†!3 OselectTestQCPGrid::selectTestba4001c4d0dfec55598efa4d531f2179a9N†); OsetAntialiasedQCPGrid::setAntialiasedba4fd43e89be4a553ead41652565ff0581 t£Jÿ {&ã”7ì›t$†')) QCPItemBracketQCPItemBracketfN†&#A OremoveChildQCPItemAnchor::removeChilddab65ec61984575f737f43c2bb59dd0d76H†%; OaddChildQCPItemAnchor::addChilddad11517e2ce5c2f9a798e78fb45e2e0d0Z†$/M OtoQCPItemPositionQCPItemAnchor::toQCPItemPositiondac54b20120669950255a63587193dbb86L†#!? OpixelPointQCPItemAnchor::pixelPointdae92def8f9297c5d73f5806c586517bb3@†"3 OnameQCPItemAnchor::namedac93984042a58c875e76847dc3e5f75feR†!'E OQCPItemAnchorQCPItemAnchor::QCPItemAnchordaeb6b681d2bf324db40a915d32ec5624f"† '' QCPItemAnchorQCPItemAnchord\†7I OapplyAntialiasingHintQCPGrid::applyAntialiasingHintba62bd552d1a45aa9accb24b310542279eH†#5 OmoveToLayerQCPGrid::moveToLayerbaf94484cfb7cbbddb7de522e9be71d9a4V†1C OsetParentLayerableQCPGrid::setParentLayerablebaa23c893671f1f6744ac235cf2204cf3aZ†5G OinitializeParentPlotQCPGrid::initializeParentPlotba8cbe5a0c9a5674249982f5ca5f8e02bc P¨f̆>æ˜Lü¤PQ†3%E OclipAxisRectQCPItemBracket::clipAxisRectfa37f86618740b5047eae23eedb2de061aU†2)I OclipToAxisRectQCPItemBracket::clipToAxisRectfa5b0ea171823033bcb8aee81f4a034871M†1!A OselectTestQCPItemBracket::selectTestfaa6933caff1d42c54bcebc769ef88c798I†0= OsetStyleQCPItemBracket::setStylefa612dffa2373422eef8754d690add3703K†/? OsetLengthQCPItemBracket::setLengthfac7cfc3da7da9b5c5ac5dfbe4f0351b2aU†.)I OsetSelectedPenQCPItemBracket::setSelectedPenfa349785c31122778a520c64891fa204c5E†-9 OsetPenQCPItemBracket::setPenfab13001d9cc5d8f9e56ea15bdda682acbC†,7 OstyleQCPItemBracket::stylefafad726f453f70fe77c0e9c2f260fff97E†+9 OlengthQCPItemBracket::lengthfaed5126eafcb1381ee5718499c20ba023O†*#C OselectedPenQCPItemBracket::selectedPenfa9f6ea5ea9559ef36dfacdadd6e9bdcf0?†)3 OpenQCPItemBracket::penfa8963ff4a232b649c83d2461fd3c30d39U†()I OQCPItemBracketQCPItemBracket::QCPItemBracketfa44ecfa37a76de5e3549e2d61f9d8ee56 @°d¬V¶l ØŠ@G†?; OvisibleQCPItemBracket::visiblefa10a3cc92e0fa63e4a929e61d34e275a7K†>? OhasAnchorQCPItemBracket::hasAnchorfacbce9e5ba5252541d19db0c40303357aE†=9 OanchorQCPItemBracket::anchorfabed974cba7cc02608c71dad4638e008dI†<= OpositionQCPItemBracket::positionfaf71345bd150f87fa1d2442837b87bb59G†;; OanchorsQCPItemBracket::anchorsfa8454b9941960b840608a5a1e00b1977dK†:? OpositionsQCPItemBracket::positionsfadf6a680cc29a6bce8345c3b6af3a91a1O†9#C OsetSelectedQCPItemBracket::setSelectedfa203de94ad586cc44d16c9565f49d3378S†8'G OsetSelectableQCPItemBracket::setSelectablefa8a8e32a55bc478b849756a78c2d87fd2W†7+K OsetClipAxisRectQCPItemBracket::setClipAxisRectfa7dc75fcbcd10206fe0b75d757ea7a347[†6/O OsetClipToAxisRectQCPItemBracket::setClipToAxisRectfa39e05b9d4176b9accafc746d16ca6a06I†5= OselectedQCPItemBracket::selectedfa225865808640d8d9a7dd19f09a2e93f2M†4!A OselectableQCPItemBracket::selectablefa9189e752025533e1595eaade0009a3bc D°V¾n"Êr.è DY†K-M OselectionChangedQCPItemBracket::selectionChangedfaa5cffb034fc65dbb91c77e02c1c14251E†J9 OcenterQCPItemBracket::centerfa2dbcabdf5f467f28be12a7b25962ffcaC†I7 OrightQCPItemBracket::rightfafa6c1360b05a50c4e0df37b3cebab6beA†H5 OleftQCPItemBracket::leftfaf6cc6d27d96171778c6927d6edce48b0U†G)I OrealVisibilityQCPItemBracket::realVisibilityfa30809f7455e9794bca7b6c737622fa63U†F)I OsetAntialiasedQCPItemBracket::setAntialiasedfa4fd43e89be4a553ead41652565ff0581I†E= OsetLayerQCPItemBracket::setLayerfab0d0da6d2de45a118886d2c8e16d5a54M†D!A OsetVisibleQCPItemBracket::setVisiblefa3bed99ddc396b48ce3ebfdc0418744f8O†C#C OantialiasedQCPItemBracket::antialiasedfaef5cb4aa899ed9dc9384fd614560291eC†B7 OlayerQCPItemBracket::layerfaea67e8c19145e70d68c286a36f6b8300W†A+K OparentLayerableQCPItemBracket::parentLayerablefa98d79f5b716d45eac4347befe546d0ecM†@!A OparentPlotQCPItemBracket::parentPlotfab7e0e94461566093d36ffc0f5312b109 J¼`¸lø¦Pú¢JU†V)I OcreatePositionQCPItemBracket::createPositionfa75036d39c4d4e2e1a7dd145fff915d32U†U)I OrectSelectTestQCPItemBracket::rectSelectTestfa4c0e14c4e92df91174cb7183fb363069S†T'G OdistSqrToLineQCPItemBracket::distSqrToLinefacdca343717d625b8abb3c3e38c0ed39dS†S'G OdeselectEventQCPItemBracket::deselectEventfa91f090d6763cfedb0749219c63788ae9O†R#C OselectEventQCPItemBracket::selectEventfaaf92af7b9893712959a6c073d334d88dq†QEe OapplyDefaultAntialiasingHintQCPItemBracket::applyDefaultAntialiasingHintfa0839031abdd71067e2256a4d53c7a011I†P= OclipRectQCPItemBracket::clipRectfa538e25ff8856534582f5b2b400a46405[†O/O OselectionCategoryQCPItemBracket::selectionCategoryfa777b5d384936396ad9c3ceb3d3453f1cG†N; OmainPenQCPItemBracket::mainPenfa8df4ad873bf88a4a7bfb9bbbd490e495Y†M-M OanchorPixelPointQCPItemBracket::anchorPixelPointfac76827e3acba5faee81f149af4047a39A†L5 OdrawQCPItemBracket::drawfa8343cf0559c64886add7aa7f4b22f1a6 „¬Fâ‚0Ê\ð„i†_; bsCurlyQCPItemBracket::bsCurlyfa7ac3afd0b24a607054e7212047d59dbda5024ce4023c2d8de4221f1cd4816acd8i†^; bsRoundQCPItemBracket::bsRoundfa7ac3afd0b24a607054e7212047d59dbda394627b0830a26ee3e0a02ca67a9f918k†]= bsSquareQCPItemBracket::bsSquarefa7ac3afd0b24a607054e7212047d59dbda7f9df4a7359bfe3dac1dbe4ccf5d220cc†\7W OapplyAntialiasingHintQCPItemBracket::applyAntialiasingHintfa62bd552d1a45aa9accb24b310542279eO†[#C OmoveToLayerQCPItemBracket::moveToLayerfaf94484cfb7cbbddb7de522e9be71d9a4]†Z1Q OsetParentLayerableQCPItemBracket::setParentLayerablefaa23c893671f1f6744ac235cf2204cf3aa†Y5U OinitializeParentPlotQCPItemBracket::initializeParentPlotfa8cbe5a0c9a5674249982f5ca5f8e02bcc†X7W OparentPlotInitializedQCPItemBracket::parentPlotInitializedfab20b7dbd8e0249ed61adb9622c427382Q†W%E OcreateAnchorQCPItemBracket::createAnchorfaf3fc92527802078ca395138748b629a7 -†cÑ?ý·aу-S†l)E OclipToAxisRectQCPItemCurve::clipToAxisRectja5b0ea171823033bcb8aee81f4a034871K†k!= OselectTestQCPItemCurve::selectTestja741375c11667b5f9c95b2683f93ee514E†j7 OsetTailQCPItemCurve::setTailjac3488d8b1a6489c845dc5bff3ef71124E†i7 OsetHeadQCPItemCurve::setHeadja08a30d9cdd63995deea3d9e20430676fS†h)E OsetSelectedPenQCPItemCurve::setSelectedPenja375b917669f868c5a106bf2f1ab7c26dC†g5 OsetPenQCPItemCurve::setPenja034be908440aec785c34b92843461221?†f1 OtailQCPItemCurve::tailja9adddfcc5275be0cf27e3c0c31c37c1a?†e1 OheadQCPItemCurve::headjafc067f0d1e60cd04812f2c2c7fdf36c3M†d#? OselectedPenQCPItemCurve::selectedPenjabd8b8be5b13bc4dafec4c1758c281336=†c/ OpenQCPItemCurve::penjabc6321e55a9ba1a0c7df407843dfa252O†b%A OQCPItemCurveQCPItemCurve::QCPItemCurvejac9b7508bb5c8827e1a7a6199f8c82bec †a%% QCPItemCurveQCPItemCurvejw†`)I bsCalligraphicQCPItemBracket::bsCalligraphicfa7ac3afd0b24a607054e7212047d59dbda8f29f5ef754e2dc9a9efdedb2face0f3 N®`ºb¾r*àšNI†x; OhasAnchorQCPItemCurve::hasAnchorjacbce9e5ba5252541d19db0c40303357aC†w5 OanchorQCPItemCurve::anchorjabed974cba7cc02608c71dad4638e008dG†v9 OpositionQCPItemCurve::positionjaf71345bd150f87fa1d2442837b87bb59E†u7 OanchorsQCPItemCurve::anchorsja8454b9941960b840608a5a1e00b1977dI†t; OpositionsQCPItemCurve::positionsjadf6a680cc29a6bce8345c3b6af3a91a1M†s#? OsetSelectedQCPItemCurve::setSelectedja203de94ad586cc44d16c9565f49d3378Q†r'C OsetSelectableQCPItemCurve::setSelectableja8a8e32a55bc478b849756a78c2d87fd2U†q+G OsetClipAxisRectQCPItemCurve::setClipAxisRectja7dc75fcbcd10206fe0b75d757ea7a347Y†p/K OsetClipToAxisRectQCPItemCurve::setClipToAxisRectja39e05b9d4176b9accafc746d16ca6a06G†o9 OselectedQCPItemCurve::selectedja225865808640d8d9a7dd19f09a2e93f2K†n!= OselectableQCPItemCurve::selectableja9189e752025533e1595eaade0009a3bcO†m%A OclipAxisRectQCPItemCurve::clipAxisRectja37f86618740b5047eae23eedb2de061a &¸jÎ~0æ:ö¬f&=‡/ OendQCPItemCurve::endja24ecbb195b32a08b42b61c2cf08a1b4dC‡5 OendDirQCPItemCurve::endDirja28181a9dee9cc3c3da83a883221bd2d0G‡9 OstartDirQCPItemCurve::startDirjaa124bf66c09cc51c627fb49db8bf8a7bA‡3 OstartQCPItemCurve::startja20c3b5ea31c33764f4f30c2ec7ae518bS‡)E OrealVisibilityQCPItemCurve::realVisibilityja30809f7455e9794bca7b6c737622fa63S‡)E OsetAntialiasedQCPItemCurve::setAntialiasedja4fd43e89be4a553ead41652565ff0581G†9 OsetLayerQCPItemCurve::setLayerjab0d0da6d2de45a118886d2c8e16d5a54K†~!= OsetVisibleQCPItemCurve::setVisibleja3bed99ddc396b48ce3ebfdc0418744f8M†}#? OantialiasedQCPItemCurve::antialiasedjaef5cb4aa899ed9dc9384fd614560291eA†|3 OlayerQCPItemCurve::layerjaea67e8c19145e70d68c286a36f6b8300U†{+G OparentLayerableQCPItemCurve::parentLayerableja98d79f5b716d45eac4347befe546d0ecK†z!= OparentPlotQCPItemCurve::parentPlotjab7e0e94461566093d36ffc0f5312b109E†y7 OvisibleQCPItemCurve::visibleja10a3cc92e0fa63e4a929e61d34e275a7 \¦dÀv´`²\S‡)E OrectSelectTestQCPItemCurve::rectSelectTestja4c0e14c4e92df91174cb7183fb363069Q‡'C OdistSqrToLineQCPItemCurve::distSqrToLinejacdca343717d625b8abb3c3e38c0ed39dW‡-I OanchorPixelPointQCPItemCurve::anchorPixelPointja94bde62b8a2fc133666dcbb8035deeedQ‡ 'C OdeselectEventQCPItemCurve::deselectEventja91f090d6763cfedb0749219c63788ae9M‡ #? OselectEventQCPItemCurve::selectEventjaaf92af7b9893712959a6c073d334d88do‡ Ea OapplyDefaultAntialiasingHintQCPItemCurve::applyDefaultAntialiasingHintja0839031abdd71067e2256a4d53c7a011G‡ 9 OclipRectQCPItemCurve::clipRectja538e25ff8856534582f5b2b400a46405Y‡ /K OselectionCategoryQCPItemCurve::selectionCategoryja777b5d384936396ad9c3ceb3d3453f1cE‡7 OmainPenQCPItemCurve::mainPenja8089126f5645b6edfbaddea49d1e8390?‡1 OdrawQCPItemCurve::drawja56cb5b72cd02db2eda598274a39839a9W‡-I OselectionChangedQCPItemCurve::selectionChangedjaa5cffb034fc65dbb91c77e02c1c14251 'ªXô’4ä€Y¿m'C‡7 ObrushQCPItemEllipse::brushmac012e4fd59fdb1afb6554937bae8f7e1O‡#C OselectedPenQCPItemEllipse::selectedPenmac52ab52225d238365ff3264b4b69130f?‡3 OpenQCPItemEllipse::penmadb67471eabaf1214c99767f1653ca0edU‡)I OQCPItemEllipseQCPItemEllipse::QCPItemEllipsema759b77ef002515eba0263b5447ecb3fb$‡)) QCPItemEllipseQCPItemEllipsema‡7S OapplyAntialiasingHintQCPItemCurve::applyAntialiasingHintja62bd552d1a45aa9accb24b310542279eM‡#? OmoveToLayerQCPItemCurve::moveToLayerjaf94484cfb7cbbddb7de522e9be71d9a4[‡1M OsetParentLayerableQCPItemCurve::setParentLayerablejaa23c893671f1f6744ac235cf2204cf3a_‡5Q OinitializeParentPlotQCPItemCurve::initializeParentPlotja8cbe5a0c9a5674249982f5ca5f8e02bca‡7S OparentPlotInitializedQCPItemCurve::parentPlotInitializedjab20b7dbd8e0249ed61adb9622c427382O‡%A OcreateAnchorQCPItemCurve::createAnchorjaf3fc92527802078ca395138748b629a7S‡)E OcreatePositionQCPItemCurve::createPositionja75036d39c4d4e2e1a7dd145fff915d32 lªb ¾bºfÊl[‡'/O OsetClipToAxisRectQCPItemEllipse::setClipToAxisRectma39e05b9d4176b9accafc746d16ca6a06I‡&= OselectedQCPItemEllipse::selectedma225865808640d8d9a7dd19f09a2e93f2M‡%!A OselectableQCPItemEllipse::selectablema9189e752025533e1595eaade0009a3bcQ‡$%E OclipAxisRectQCPItemEllipse::clipAxisRectma37f86618740b5047eae23eedb2de061aU‡#)I OclipToAxisRectQCPItemEllipse::clipToAxisRectma5b0ea171823033bcb8aee81f4a034871M‡"!A OselectTestQCPItemEllipse::selectTestmacd7e5f9528630b2ab5987e2a5782eb7cY‡!-M OsetSelectedBrushQCPItemEllipse::setSelectedBrushma9693501cfaa43a099655c75bed0dab3fI‡ = OsetBrushQCPItemEllipse::setBrushma49fc74e6965834e873d027d026def798U‡)I OsetSelectedPenQCPItemEllipse::setSelectedPenma6c542fba1dc918041c583f58a50dde99E‡9 OsetPenQCPItemEllipse::setPenmadb81a663ed2420fcfa011e49f678d1a6S‡'G OselectedBrushQCPItemEllipse::selectedBrushma0043e401a912d54ea3195bab0967b394 J¦Pþ°fÒ„:êJC‡37 OlayerQCPItemEllipse::layermaea67e8c19145e70d68c286a36f6b8300W‡2+K OparentLayerableQCPItemEllipse::parentLayerablema98d79f5b716d45eac4347befe546d0ecM‡1!A OparentPlotQCPItemEllipse::parentPlotmab7e0e94461566093d36ffc0f5312b109G‡0; OvisibleQCPItemEllipse::visiblema10a3cc92e0fa63e4a929e61d34e275a7K‡/? OhasAnchorQCPItemEllipse::hasAnchormacbce9e5ba5252541d19db0c40303357aE‡.9 OanchorQCPItemEllipse::anchormabed974cba7cc02608c71dad4638e008dI‡-= OpositionQCPItemEllipse::positionmaf71345bd150f87fa1d2442837b87bb59G‡,; OanchorsQCPItemEllipse::anchorsma8454b9941960b840608a5a1e00b1977dK‡+? OpositionsQCPItemEllipse::positionsmadf6a680cc29a6bce8345c3b6af3a91a1O‡*#C OsetSelectedQCPItemEllipse::setSelectedma203de94ad586cc44d16c9565f49d3378S‡)'G OsetSelectableQCPItemEllipse::setSelectablema8a8e32a55bc478b849756a78c2d87fd2W‡(+K OsetClipAxisRectQCPItemEllipse::setClipAxisRectma7dc75fcbcd10206fe0b75d757ea7a347 D®^ºbÆv4âœDU‡?)I ObottomRightRimQCPItemEllipse::bottomRightRimma5c8404be601d61b7fafeaaf1c05c4c42C‡>7 OrightQCPItemEllipse::rightma50091a3bd8761d3ce0d95d9c727e4a82O‡=#C OtopRightRimQCPItemEllipse::topRightRimma744446970b38a4a3bbea46d722b7c54d?‡<3 OtopQCPItemEllipse::topmad50f907d6f9d1402c6c5d302dca5c5d5M‡;!A OtopLeftRimQCPItemEllipse::topLeftRimma33ebd2a751b63b9240edc9aa46c19effO‡:#C ObottomRightQCPItemEllipse::bottomRightmab73c8deafc0d8d1ef7d75b6cdcc37159G‡9; OtopLeftQCPItemEllipse::topLeftma12fd8420c06718d0c8a2303d6a652848U‡8)I OrealVisibilityQCPItemEllipse::realVisibilityma30809f7455e9794bca7b6c737622fa63U‡7)I OsetAntialiasedQCPItemEllipse::setAntialiasedma4fd43e89be4a553ead41652565ff0581I‡6= OsetLayerQCPItemEllipse::setLayermab0d0da6d2de45a118886d2c8e16d5a54M‡5!A OsetVisibleQCPItemEllipse::setVisiblema3bed99ddc396b48ce3ebfdc0418744f8O‡4#C OantialiasedQCPItemEllipse::antialiasedmaef5cb4aa899ed9dc9384fd614560291e $¸bÖz6ÚBä˜$q‡KEe OapplyDefaultAntialiasingHintQCPItemEllipse::applyDefaultAntialiasingHintma0839031abdd71067e2256a4d53c7a011I‡J= OclipRectQCPItemEllipse::clipRectma538e25ff8856534582f5b2b400a46405[‡I/O OselectionCategoryQCPItemEllipse::selectionCategoryma777b5d384936396ad9c3ceb3d3453f1cK‡H? OmainBrushQCPItemEllipse::mainBrushma2a9757204877c9d0fd07adfb26d6b1d8G‡G; OmainPenQCPItemEllipse::mainPenmafc78d49ed5ffa886bccf18f297f83d30Y‡F-M OanchorPixelPointQCPItemEllipse::anchorPixelPointmad3c607304dba081e2f778b6a81b903bbA‡E5 OdrawQCPItemEllipse::drawmafe97ec827adb05f000fe007783faae3cY‡D-M OselectionChangedQCPItemEllipse::selectionChangedmaa5cffb034fc65dbb91c77e02c1c14251E‡C9 OcenterQCPItemEllipse::centerma8b6dd0e854f99239c5806ffdf2f590b3A‡B5 OleftQCPItemEllipse::leftmaa259cd03efaedf60cf5b1019b20e4f2bS‡A'G ObottomLeftRimQCPItemEllipse::bottomLeftRimma31f31a9e9f9098c90fb47573094276c5E‡@9 ObottomQCPItemEllipse::bottomma2dc80ff9f5db600eae0133bdde65066f ‚®XªRþ˜4Ô‚O‡U#C OmoveToLayerQCPItemEllipse::moveToLayermaf94484cfb7cbbddb7de522e9be71d9a4]‡T1Q OsetParentLayerableQCPItemEllipse::setParentLayerablemaa23c893671f1f6744ac235cf2204cf3aa‡S5U OinitializeParentPlotQCPItemEllipse::initializeParentPlotma8cbe5a0c9a5674249982f5ca5f8e02bcc‡R7W OparentPlotInitializedQCPItemEllipse::parentPlotInitializedmab20b7dbd8e0249ed61adb9622c427382Q‡Q%E OcreateAnchorQCPItemEllipse::createAnchormaf3fc92527802078ca395138748b629a7U‡P)I OcreatePositionQCPItemEllipse::createPositionma75036d39c4d4e2e1a7dd145fff915d32U‡O)I OrectSelectTestQCPItemEllipse::rectSelectTestma4c0e14c4e92df91174cb7183fb363069S‡N'G OdistSqrToLineQCPItemEllipse::distSqrToLinemacdca343717d625b8abb3c3e38c0ed39dS‡M'G OdeselectEventQCPItemEllipse::deselectEventma91f090d6763cfedb0749219c63788ae9O‡L#C OselectEventQCPItemEllipse::selectEventmaaf92af7b9893712959a6c073d334d88d Pšy*ëœ[Õ€9ò¥PR‡b)C OclipToAxisRectQCPItemLine::clipToAxisRectpa5b0ea171823033bcb8aee81f4a034871J‡a!; OselectTestQCPItemLine::selectTestpa7541e5d9378ca121d07b0df3b24f7178D‡`5 OsetTailQCPItemLine::setTailpac264222c3297a7efe33df9345c811a5fD‡_5 OsetHeadQCPItemLine::setHeadpaebf3d687114d584e0459db6759e2c3c3R‡^)C OsetSelectedPenQCPItemLine::setSelectedPenpa3e2fec44503277e77717e9c24f87f1eaB‡]3 OsetPenQCPItemLine::setPenpa572528dab61c1abe205822fbd5db4b27>‡\/ OtailQCPItemLine::tailpa5d2ca0f784933e80f3e6e1d15dceebb3>‡[/ OheadQCPItemLine::headpa5f6cbc5c763feae9dfbce71748fc43f1L‡Z#= OselectedPenQCPItemLine::selectedPenpa9fde5e95a1a369008252e18f1925650c<‡Y- OpenQCPItemLine::penpa235779dd079a263bedb20b3daecc40ebL‡X#= OQCPItemLineQCPItemLine::QCPItemLinepa17804b7f64961c6accf25b61e85142e3‡W## QCPItemLineQCPItemLinepc‡V7W OapplyAntialiasingHintQCPItemEllipse::applyAntialiasingHintma62bd552d1a45aa9accb24b310542279e Z¯b¾gÅz3ê¥ZH‡n9 OhasAnchorQCPItemLine::hasAnchorpacbce9e5ba5252541d19db0c40303357aB‡m3 OanchorQCPItemLine::anchorpabed974cba7cc02608c71dad4638e008dF‡l7 OpositionQCPItemLine::positionpaf71345bd150f87fa1d2442837b87bb59D‡k5 OanchorsQCPItemLine::anchorspa8454b9941960b840608a5a1e00b1977dH‡j9 OpositionsQCPItemLine::positionspadf6a680cc29a6bce8345c3b6af3a91a1L‡i#= OsetSelectedQCPItemLine::setSelectedpa203de94ad586cc44d16c9565f49d3378P‡h'A OsetSelectableQCPItemLine::setSelectablepa8a8e32a55bc478b849756a78c2d87fd2T‡g+E OsetClipAxisRectQCPItemLine::setClipAxisRectpa7dc75fcbcd10206fe0b75d757ea7a347X‡f/I OsetClipToAxisRectQCPItemLine::setClipToAxisRectpa39e05b9d4176b9accafc746d16ca6a06F‡e7 OselectedQCPItemLine::selectedpa225865808640d8d9a7dd19f09a2e93f2J‡d!; OselectableQCPItemLine::selectablepa9189e752025533e1595eaade0009a3bcN‡c%? OclipAxisRectQCPItemLine::clipAxisRectpa37f86618740b5047eae23eedb2de061a '¹lÒƒ6í˜CÁh'>‡{/ OdrawQCPItemLine::drawpa1fc045dd33919f8006df0692aeb0e84aV‡z-G OselectionChangedQCPItemLine::selectionChangedpaa5cffb034fc65dbb91c77e02c1c14251<‡y- OendQCPItemLine::endpa15598864c1c22a2497a1979c4980c4e1@‡x1 OstartQCPItemLine::startpa602da607a09498b0f152ada1d6851bc5R‡w)C OrealVisibilityQCPItemLine::realVisibilitypa30809f7455e9794bca7b6c737622fa63R‡v)C OsetAntialiasedQCPItemLine::setAntialiasedpa4fd43e89be4a553ead41652565ff0581F‡u7 OsetLayerQCPItemLine::setLayerpab0d0da6d2de45a118886d2c8e16d5a54J‡t!; OsetVisibleQCPItemLine::setVisiblepa3bed99ddc396b48ce3ebfdc0418744f8L‡s#= OantialiasedQCPItemLine::antialiasedpaef5cb4aa899ed9dc9384fd614560291e@‡r1 OlayerQCPItemLine::layerpaea67e8c19145e70d68c286a36f6b8300T‡q+E OparentLayerableQCPItemLine::parentLayerablepa98d79f5b716d45eac4347befe546d0ecJ‡p!; OparentPlotQCPItemLine::parentPlotpab7e0e94461566093d36ffc0f5312b109D‡o5 OvisibleQCPItemLine::visiblepa10a3cc92e0fa63e4a929e61d34e275a7 O£\¸Gø¥Lù¤ORˆ)C OcreatePositionQCPItemLine::createPositionpa75036d39c4d4e2e1a7dd145fff915d32Rˆ)C OrectSelectTestQCPItemLine::rectSelectTestpa4c0e14c4e92df91174cb7183fb363069Pˆ'A OdistSqrToLineQCPItemLine::distSqrToLinepacdca343717d625b8abb3c3e38c0ed39dVˆ-G OanchorPixelPointQCPItemLine::anchorPixelPointpa94bde62b8a2fc133666dcbb8035deeedPˆ'A OdeselectEventQCPItemLine::deselectEventpa91f090d6763cfedb0749219c63788ae9Lˆ#= OselectEventQCPItemLine::selectEventpaaf92af7b9893712959a6c073d334d88dnˆE_ OapplyDefaultAntialiasingHintQCPItemLine::applyDefaultAntialiasingHintpa0839031abdd71067e2256a4d53c7a011F‡7 OclipRectQCPItemLine::clipRectpa538e25ff8856534582f5b2b400a46405X‡~/I OselectionCategoryQCPItemLine::selectionCategorypa777b5d384936396ad9c3ceb3d3453f1cD‡}5 OmainPenQCPItemLine::mainPenpa7b5bc4ebacb55774b87c91b308ca7912Z‡|1K OgetRectClippedLineQCPItemLine::getRectClippedLinepa36e8620019a221ccea4357f0287b81c2 :¯LëŽ?Ü·bÔ{:>ˆ1 OpenQCPItemPixmap::pensab2b821c80cfade589472e933b9c4361fVˆ+I OaspectRatioModeQCPItemPixmap::aspectRatioModesac5b95c097169e107a61eebbb7c77523cDˆ7 OscaledQCPItemPixmap::scaledsa54026b89dff3c60376c2360f01b6fb83Dˆ7 OpixmapQCPItemPixmap::pixmapsa73dea89e0eb45127a2705e2c7991b8d8Rˆ'E OQCPItemPixmapQCPItemPixmap::QCPItemPixmapsaa6de42a37261b21a5480e7da122345c3"ˆ '' QCPItemPixmapQCPItemPixmaps`ˆ 7Q OapplyAntialiasingHintQCPItemLine::applyAntialiasingHintpa62bd552d1a45aa9accb24b310542279eLˆ #= OmoveToLayerQCPItemLine::moveToLayerpaf94484cfb7cbbddb7de522e9be71d9a4Zˆ 1K OsetParentLayerableQCPItemLine::setParentLayerablepaa23c893671f1f6744ac235cf2204cf3a^ˆ 5O OinitializeParentPlotQCPItemLine::initializeParentPlotpa8cbe5a0c9a5674249982f5ca5f8e02bc`ˆ7Q OparentPlotInitializedQCPItemLine::parentPlotInitializedpab20b7dbd8e0249ed61adb9622c427382Nˆ%? OcreateAnchorQCPItemLine::createAnchorpaf3fc92527802078ca395138748b629a7 .¯bÎw(Ñ~/ä‡.Vˆ+I OsetClipAxisRectQCPItemPixmap::setClipAxisRectsa7dc75fcbcd10206fe0b75d757ea7a347Zˆ/M OsetClipToAxisRectQCPItemPixmap::setClipToAxisRectsa39e05b9d4176b9accafc746d16ca6a06Hˆ; OselectedQCPItemPixmap::selectedsa225865808640d8d9a7dd19f09a2e93f2Lˆ!? OselectableQCPItemPixmap::selectablesa9189e752025533e1595eaade0009a3bcPˆ%C OclipAxisRectQCPItemPixmap::clipAxisRectsa37f86618740b5047eae23eedb2de061aTˆ)G OclipToAxisRectQCPItemPixmap::clipToAxisRectsa5b0ea171823033bcb8aee81f4a034871Lˆ!? OselectTestQCPItemPixmap::selectTestsa9f8436aa141fa0fb504191c882c2f4d9Tˆ)G OsetSelectedPenQCPItemPixmap::setSelectedPensafc5e479e88e53740176ce77cb70dd67aDˆ7 OsetPenQCPItemPixmap::setPensacdade1305edb4b5cae14f97fd132065fJˆ= OsetScaledQCPItemPixmap::setScaledsaea813ff1b12163ae5d3ac182593b1d6fJˆ= OsetPixmapQCPItemPixmap::setPixmapsa726b69ea4025edf48f9b29b6450548a7Nˆ#A OselectedPenQCPItemPixmap::selectedPensaf8e839d7c7b84e214608feda3caec2bc ^«Z Äy2åœMô¯^Nˆ*#A OantialiasedQCPItemPixmap::antialiasedsaef5cb4aa899ed9dc9384fd614560291eBˆ)5 OlayerQCPItemPixmap::layersaea67e8c19145e70d68c286a36f6b8300Vˆ(+I OparentLayerableQCPItemPixmap::parentLayerablesa98d79f5b716d45eac4347befe546d0ecLˆ'!? OparentPlotQCPItemPixmap::parentPlotsab7e0e94461566093d36ffc0f5312b109Fˆ&9 OvisibleQCPItemPixmap::visiblesa10a3cc92e0fa63e4a929e61d34e275a7Jˆ%= OhasAnchorQCPItemPixmap::hasAnchorsacbce9e5ba5252541d19db0c40303357aDˆ$7 OanchorQCPItemPixmap::anchorsabed974cba7cc02608c71dad4638e008dHˆ#; OpositionQCPItemPixmap::positionsaf71345bd150f87fa1d2442837b87bb59Fˆ"9 OanchorsQCPItemPixmap::anchorssa8454b9941960b840608a5a1e00b1977dJˆ!= OpositionsQCPItemPixmap::positionssadf6a680cc29a6bce8345c3b6af3a91a1Nˆ #A OsetSelectedQCPItemPixmap::setSelectedsa203de94ad586cc44d16c9565f49d3378Rˆ'E OsetSelectableQCPItemPixmap::setSelectablesa8a8e32a55bc478b849756a78c2d87fd2 t±f¸oÝ’M·t@ˆ63 OleftQCPItemPixmap::leftsa8c85fcb8cb8ce292859a0499d16539b1Lˆ5!? ObottomLeftQCPItemPixmap::bottomLeftsa01943e569233382b3627e24636b0fff2Dˆ47 ObottomQCPItemPixmap::bottomsad7da77f530868e846151eff8a28fb948Bˆ35 OrightQCPItemPixmap::rightsac9c0fd231f9e285765978a05d13f8280Hˆ2; OtopRightQCPItemPixmap::topRightsa72eabd0010be41a4ec1b22aa983d2aa1>ˆ11 OtopQCPItemPixmap::topsaf7a156590b1d59ab21b453c430c56a7cNˆ0#A ObottomRightQCPItemPixmap::bottomRightsabcc38063f9502b876bf6615c45cc0994Fˆ/9 OtopLeftQCPItemPixmap::topLeftsa43c281ef6ad46f3cf04f365289abe51aTˆ.)G OrealVisibilityQCPItemPixmap::realVisibilitysa30809f7455e9794bca7b6c737622fa63Tˆ-)G OsetAntialiasedQCPItemPixmap::setAntialiasedsa4fd43e89be4a553ead41652565ff0581Hˆ,; OsetLayerQCPItemPixmap::setLayersab0d0da6d2de45a118886d2c8e16d5a54Lˆ+!? OsetVisibleQCPItemPixmap::setVisiblesa3bed99ddc396b48ce3ebfdc0418744f8 K¥b¨U ¯dñ KRˆA'E OdeselectEventQCPItemPixmap::deselectEventsa91f090d6763cfedb0749219c63788ae9Nˆ@#A OselectEventQCPItemPixmap::selectEventsaaf92af7b9893712959a6c073d334d88dpˆ?Ec OapplyDefaultAntialiasingHintQCPItemPixmap::applyDefaultAntialiasingHintsa0839031abdd71067e2256a4d53c7a011Hˆ>; OclipRectQCPItemPixmap::clipRectsa538e25ff8856534582f5b2b400a46405Zˆ=/M OselectionCategoryQCPItemPixmap::selectionCategorysa777b5d384936396ad9c3ceb3d3453f1cFˆ<9 OmainPenQCPItemPixmap::mainPensaf21085516585c475dc9d839e7f377233Pˆ;%C OgetFinalRectQCPItemPixmap::getFinalRectsa245ef0c626cab7096a810442f2f6a2d9\ˆ:1O OupdateScaledPixmapQCPItemPixmap::updateScaledPixmapsa8bced3027b326b290726cd1979c7cfc6Xˆ9-K OanchorPixelPointQCPItemPixmap::anchorPixelPointsa88abce3c1027f371cddcf6dad35ffbb1@ˆ83 OdrawQCPItemPixmap::drawsa879e8076c2db01a38b34cfa73ec95d2fXˆ7-K OselectionChangedQCPItemPixmap::selectionChangedsaa5cffb034fc65dbb91c77e02c1c14251 I«TýªEâƒ2ͤIXˆL+M OQCPItemPositionQCPItemPosition::QCPItemPositionva3efc524f37fdcd22907545eb77555ce4&ˆK++ QCPItemPositionQCPItemPositionvbˆJ7U OapplyAntialiasingHintQCPItemPixmap::applyAntialiasingHintsa62bd552d1a45aa9accb24b310542279eNˆI#A OmoveToLayerQCPItemPixmap::moveToLayersaf94484cfb7cbbddb7de522e9be71d9a4\ˆH1O OsetParentLayerableQCPItemPixmap::setParentLayerablesaa23c893671f1f6744ac235cf2204cf3a`ˆG5S OinitializeParentPlotQCPItemPixmap::initializeParentPlotsa8cbe5a0c9a5674249982f5ca5f8e02bcbˆF7U OparentPlotInitializedQCPItemPixmap::parentPlotInitializedsab20b7dbd8e0249ed61adb9622c427382PˆE%C OcreateAnchorQCPItemPixmap::createAnchorsaf3fc92527802078ca395138748b629a7TˆD)G OcreatePositionQCPItemPixmap::createPositionsa75036d39c4d4e2e1a7dd145fff915d32TˆC)G OrectSelectTestQCPItemPixmap::rectSelectTestsa4c0e14c4e92df91174cb7183fb363069RˆB'E OdistSqrToLineQCPItemPixmap::distSqrToLinesacdca343717d625b8abb3c3e38c0ed39d f»f#Ü“Hù¬[µfLˆXA OsetCoordsQCPItemPosition::setCoordsvaa988ba4e87ab684c9021017dcaba945fXˆW+M OsetParentAnchorQCPItemPosition::setParentAnchorvac094d67a95d2dceafa0d50b9db3a7e51HˆV= OsetTypeQCPItemPosition::setTypevaa476abf71ed8fa4c537457ebb1a754adNˆU!C OpixelPointQCPItemPosition::pixelPointvae490f9c76ee2ba33752c495d3b6e8fb5JˆT? OaxisRectQCPItemPosition::axisRectva7f10fa702a324880cc4de958f434cec7LˆSA OvalueAxisQCPItemPosition::valueAxisva8d3a039fb2e69df86b4015daa30dfd2dHˆR= OkeyAxisQCPItemPosition::keyAxisvab99de7ae5766d246defb2de9f47eaf51FˆQ; OcoordsQCPItemPosition::coordsva253d7adbb6d46299bd6cbc31aa8819f1DˆP9 OvalueQCPItemPosition::valueva6817f7356d3a2b63e8446c6b6106dae1@ˆO5 OkeyQCPItemPosition::keyvac3cb2bddf5f89e5181830be30b93d090RˆN%G OparentAnchorQCPItemPosition::parentAnchorva0db87cc41efabc1cf94acee7ebe14eeeBˆM7 OtypeQCPItemPosition::typevad64a1a26fbed5b8917e0eb8843099fd6 Zµb ÆgÇT×Zzˆb+M ptAxisRectRatioQCPItemPosition::ptAxisRectRatiovaad9936c22bf43e3d358552f6e86dbdc8a01080fd00eaf09fa238ef6b73bbfef75zˆa+M ptViewportRatioQCPItemPosition::ptViewportRatiovaad9936c22bf43e3d358552f6e86dbdc8ac7d6aa89ceacb39658b0d6da061c789apˆ`!C ptAbsoluteQCPItemPosition::ptAbsolutevaad9936c22bf43e3d358552f6e86dbdc8a564f5e53e550ead1ec5fc7fc7d0b73e0Pˆ_#E OremoveChildQCPItemPosition::removeChildvab65ec61984575f737f43c2bb59dd0d76Jˆ^? OaddChildQCPItemPosition::addChildvad11517e2ce5c2f9a798e78fb45e2e0d0\ˆ]/Q OtoQCPItemPositionQCPItemPosition::toQCPItemPositionva577a7efc601df85a20b3e709d1ac320eBˆ\7 OnameQCPItemPosition::namevac93984042a58c875e76847dc3e5f75feTˆ['I OsetPixelPointQCPItemPosition::setPixelPointvab404e56d9ac2ac2df0382c57933a71efPˆZ#E OsetAxisRectQCPItemPosition::setAxisRectva0cd9b326fb324710169e92e8ca0041c2HˆY= OsetAxesQCPItemPosition::setAxesva2185f45c75ac8cb9be89daeaaad50e37 l‰hÚ‹Hõ°[¹lJˆn!; OselectTestQCPItemRect::selectTestxaf13b0797079b40b73d1c7286b76f18acVˆm-G OsetSelectedBrushQCPItemRect::setSelectedBrushxabd1792859844118dedee86223cede7afFˆl7 OsetBrushQCPItemRect::setBrushxabbd4e346a03513ee466afc25d9c75446Rˆk)C OsetSelectedPenQCPItemRect::setSelectedPenxa52a1bcb2dc753a538e406a2ba3cf21ceBˆj3 OsetPenQCPItemRect::setPenxa483c0da5a17e1646cd17ddea2c124e7dPˆi'A OselectedBrushQCPItemRect::selectedBrushxa3b586228393f5c8efa78c4d2a4b25cbf@ˆh1 ObrushQCPItemRect::brushxa03d2d26ffcac78b25b8e90915f9c4abeLˆg#= OselectedPenQCPItemRect::selectedPenxa7e701c34e72a4c25647e93fa369f395c<ˆf- OpenQCPItemRect::penxa3cb7b6de5e82cc5a3c99e9de919a55e6Lˆe#= OQCPItemRectQCPItemRect::QCPItemRectxa412ad1579f7a1fba453d0fa28c496cbcˆd## QCPItemRectQCPItemRectxtˆc%G ptPlotCoordsQCPItemPosition::ptPlotCoordsvaad9936c22bf43e3d358552f6e86dbdc8ad5ffb8dc99ad73263f7010c77342294c P«Z Äi¿p%Þ•PBˆz3 OanchorQCPItemRect::anchorxabed974cba7cc02608c71dad4638e008dFˆy7 OpositionQCPItemRect::positionxaf71345bd150f87fa1d2442837b87bb59Dˆx5 OanchorsQCPItemRect::anchorsxa8454b9941960b840608a5a1e00b1977dHˆw9 OpositionsQCPItemRect::positionsxadf6a680cc29a6bce8345c3b6af3a91a1Lˆv#= OsetSelectedQCPItemRect::setSelectedxa203de94ad586cc44d16c9565f49d3378Pˆu'A OsetSelectableQCPItemRect::setSelectablexa8a8e32a55bc478b849756a78c2d87fd2Tˆt+E OsetClipAxisRectQCPItemRect::setClipAxisRectxa7dc75fcbcd10206fe0b75d757ea7a347Xˆs/I OsetClipToAxisRectQCPItemRect::setClipToAxisRectxa39e05b9d4176b9accafc746d16ca6a06Fˆr7 OselectedQCPItemRect::selectedxa225865808640d8d9a7dd19f09a2e93f2Jˆq!; OselectableQCPItemRect::selectablexa9189e752025533e1595eaade0009a3bcNˆp%? OclipAxisRectQCPItemRect::clipAxisRectxa37f86618740b5047eae23eedb2de061aRˆo)C OclipToAxisRectQCPItemRect::clipToAxisRectxa5b0ea171823033bcb8aee81f4a034871 #µn!ʇ8ë¢Mø±b#<‰- OtopQCPItemRect::topxa96e50db552fb297d6fb62614676217bcL‰#= ObottomRightQCPItemRect::bottomRightxa409f3bfe615a7e322bb3d4d193d85b26D‰5 OtopLeftQCPItemRect::topLeftxaa70feeef173489b03c3fbe906a5023c4R‰)C OrealVisibilityQCPItemRect::realVisibilityxa30809f7455e9794bca7b6c737622fa63R‰)C OsetAntialiasedQCPItemRect::setAntialiasedxa4fd43e89be4a553ead41652565ff0581F‰7 OsetLayerQCPItemRect::setLayerxab0d0da6d2de45a118886d2c8e16d5a54J‰!; OsetVisibleQCPItemRect::setVisiblexa3bed99ddc396b48ce3ebfdc0418744f8L‰#= OantialiasedQCPItemRect::antialiasedxaef5cb4aa899ed9dc9384fd614560291e@ˆ1 OlayerQCPItemRect::layerxaea67e8c19145e70d68c286a36f6b8300Tˆ~+E OparentLayerableQCPItemRect::parentLayerablexa98d79f5b716d45eac4347befe546d0ecJˆ}!; OparentPlotQCPItemRect::parentPlotxab7e0e94461566093d36ffc0f5312b109Dˆ|5 OvisibleQCPItemRect::visiblexa10a3cc92e0fa63e4a929e61d34e275a7Hˆ{9 OhasAnchorQCPItemRect::hasAnchorxacbce9e5ba5252541d19db0c40303357a x·t/â¡H®gÁxF‰7 OclipRectQCPItemRect::clipRectxa538e25ff8856534582f5b2b400a46405X‰/I OselectionCategoryQCPItemRect::selectionCategoryxa777b5d384936396ad9c3ceb3d3453f1cH‰9 OmainBrushQCPItemRect::mainBrushxab0bd8e272e822ec851ba5b0c20e9200eD‰5 OmainPenQCPItemRect::mainPenxafa0fb7c6328a1e197ecd537de36daf8fV‰-G OanchorPixelPointQCPItemRect::anchorPixelPointxae0973f8281fb52361b0c99ee899be07e>‰/ OdrawQCPItemRect::drawxa18cd583638b876cdd50f1a155ec182aaV‰ -G OselectionChangedQCPItemRect::selectionChangedxaa5cffb034fc65dbb91c77e02c1c14251>‰ / OleftQCPItemRect::leftxaad0ca1af0c8debfc20d7b47fc942764dJ‰ !; ObottomLeftQCPItemRect::bottomLeftxabd8ee63fdf81f0c74bf7ccadee8603daB‰ 3 ObottomQCPItemRect::bottomxa99313bf2b338d9f81e19bd38082038aa@‰ 1 OrightQCPItemRect::rightxa7979c1915f61ad2609a9cc179c2e445eF‰7 OtopRightQCPItemRect::topRightxa77e0eb6e4aa6efee620d35e2c21bdad7 /@íšEðŸ<Û~/L‰#= OmoveToLayerQCPItemRect::moveToLayerxaf94484cfb7cbbddb7de522e9be71d9a4Z‰1K OsetParentLayerableQCPItemRect::setParentLayerablexaa23c893671f1f6744ac235cf2204cf3a^‰5O OinitializeParentPlotQCPItemRect::initializeParentPlotxa8cbe5a0c9a5674249982f5ca5f8e02bc`‰7Q OparentPlotInitializedQCPItemRect::parentPlotInitializedxab20b7dbd8e0249ed61adb9622c427382N‰%? OcreateAnchorQCPItemRect::createAnchorxaf3fc92527802078ca395138748b629a7R‰)C OcreatePositionQCPItemRect::createPositionxa75036d39c4d4e2e1a7dd145fff915d32R‰)C OrectSelectTestQCPItemRect::rectSelectTestxa4c0e14c4e92df91174cb7183fb363069P‰'A OdistSqrToLineQCPItemRect::distSqrToLinexacdca343717d625b8abb3c3e38c0ed39dP‰'A OdeselectEventQCPItemRect::deselectEventxa91f090d6763cfedb0749219c63788ae9L‰#= OselectEventQCPItemRect::selectEventxaaf92af7b9893712959a6c073d334d88dn‰E_ OapplyDefaultAntialiasingHintQCPItemRect::applyDefaultAntialiasingHintxa0839031abdd71067e2256a4d53c7a011 ]l¾g½h ²]R‰)!K OselectableQCPItemStraightLine::selectable{a9189e752025533e1595eaade0009a3bcV‰(%O OclipAxisRectQCPItemStraightLine::clipAxisRect{a37f86618740b5047eae23eedb2de061aZ‰')S OclipToAxisRectQCPItemStraightLine::clipToAxisRect{a5b0ea171823033bcb8aee81f4a034871R‰&!K OselectTestQCPItemStraightLine::selectTest{a64cc3796f58ce856012732603edb2f1cZ‰%)S OsetSelectedPenQCPItemStraightLine::setSelectedPen{a5c33559498d33543fa95cf0a36e851ffJ‰$C OsetPenQCPItemStraightLine::setPen{a9f36c9c9e60d7d9ac084c80380ac8601T‰##M OselectedPenQCPItemStraightLine::selectedPen{a9e33ae966a7e2ea1083b3b9aeabeaea5D‰"= OpenQCPItemStraightLine::pen{ad858ab1a444391aab778f765453ea222d‰!3] OQCPItemStraightLineQCPItemStraightLine::QCPItemStraightLine{a41fd2e1f006983449eca9830930c3b10.‰ 33 QCPItemStraightLineQCPItemStraightLine{`‰7Q OapplyAntialiasingHintQCPItemRect::applyAntialiasingHintxa62bd552d1a45aa9accb24b310542279e Y¯Lí’;è™Hû¨YL‰4E OvisibleQCPItemStraightLine::visible{a10a3cc92e0fa63e4a929e61d34e275a7P‰3I OhasAnchorQCPItemStraightLine::hasAnchor{acbce9e5ba5252541d19db0c40303357aJ‰2C OanchorQCPItemStraightLine::anchor{abed974cba7cc02608c71dad4638e008dN‰1G OpositionQCPItemStraightLine::position{af71345bd150f87fa1d2442837b87bb59L‰0E OanchorsQCPItemStraightLine::anchors{a8454b9941960b840608a5a1e00b1977dP‰/I OpositionsQCPItemStraightLine::positions{adf6a680cc29a6bce8345c3b6af3a91a1T‰.#M OsetSelectedQCPItemStraightLine::setSelected{a203de94ad586cc44d16c9565f49d3378X‰-'Q OsetSelectableQCPItemStraightLine::setSelectable{a8a8e32a55bc478b849756a78c2d87fd2\‰,+U OsetClipAxisRectQCPItemStraightLine::setClipAxisRect{a7dc75fcbcd10206fe0b75d757ea7a347`‰+/Y OsetClipToAxisRectQCPItemStraightLine::setClipToAxisRect{a39e05b9d4176b9accafc746d16ca6a06N‰*G OselectedQCPItemStraightLine::selected{a225865808640d8d9a7dd19f09a2e93f2 O«LªU§Jý°O^‰?-W OselectionChangedQCPItemStraightLine::selectionChanged{aa5cffb034fc65dbb91c77e02c1c14251J‰>C Opoint2QCPItemStraightLine::point2{ad26c0a732e471f63f75d481dcd48cfc9J‰=C Opoint1QCPItemStraightLine::point1{ac131a6ffe456f2cc7364dce541fe0120Z‰<)S OrealVisibilityQCPItemStraightLine::realVisibility{a30809f7455e9794bca7b6c737622fa63Z‰;)S OsetAntialiasedQCPItemStraightLine::setAntialiased{a4fd43e89be4a553ead41652565ff0581N‰:G OsetLayerQCPItemStraightLine::setLayer{ab0d0da6d2de45a118886d2c8e16d5a54R‰9!K OsetVisibleQCPItemStraightLine::setVisible{a3bed99ddc396b48ce3ebfdc0418744f8T‰8#M OantialiasedQCPItemStraightLine::antialiased{aef5cb4aa899ed9dc9384fd614560291eH‰7A OlayerQCPItemStraightLine::layer{aea67e8c19145e70d68c286a36f6b8300\‰6+U OparentLayerableQCPItemStraightLine::parentLayerable{a98d79f5b716d45eac4347befe546d0ecR‰5!K OparentPlotQCPItemStraightLine::parentPlot{ab7e0e94461566093d36ffc0f5312b109 N·RÝŽ+Úa ¯N^‰I-W OanchorPixelPointQCPItemStraightLine::anchorPixelPoint{a94bde62b8a2fc133666dcbb8035deeedX‰H'Q OdeselectEventQCPItemStraightLine::deselectEvent{a91f090d6763cfedb0749219c63788ae9T‰G#M OselectEventQCPItemStraightLine::selectEvent{aaf92af7b9893712959a6c073d334d88dv‰FEo OapplyDefaultAntialiasingHintQCPItemStraightLine::applyDefaultAntialiasingHint{a0839031abdd71067e2256a4d53c7a011N‰EG OclipRectQCPItemStraightLine::clipRect{a538e25ff8856534582f5b2b400a46405`‰D/Y OselectionCategoryQCPItemStraightLine::selectionCategory{a777b5d384936396ad9c3ceb3d3453f1cL‰CE OmainPenQCPItemStraightLine::mainPen{a63ef39814c5b560dbb7b13e3fec1d940r‰BAk OgetRectClippedStraightLineQCPItemStraightLine::getRectClippedStraightLine{af18ac29577b5b96fece15b0ffea70177b‰A1[ OdistToStraightLineQCPItemStraightLine::distToStraightLine{adc9b6c5bd33c7f806b748b79dfa25926F‰@? OdrawQCPItemStraightLine::draw{a2daa1e1253216c26565d56a2d5530170 '¥Hë’'¾Y—v'L‰T#= OQCPItemTextQCPItemText::QCPItemText~a77ff96a2972a00872ff8f8c67143abbe‰S## QCPItemTextQCPItemText~h‰R7a OapplyAntialiasingHintQCPItemStraightLine::applyAntialiasingHint{a62bd552d1a45aa9accb24b310542279eT‰Q#M OmoveToLayerQCPItemStraightLine::moveToLayer{af94484cfb7cbbddb7de522e9be71d9a4b‰P1[ OsetParentLayerableQCPItemStraightLine::setParentLayerable{aa23c893671f1f6744ac235cf2204cf3af‰O5_ OinitializeParentPlotQCPItemStraightLine::initializeParentPlot{a8cbe5a0c9a5674249982f5ca5f8e02bch‰N7a OparentPlotInitializedQCPItemStraightLine::parentPlotInitialized{ab20b7dbd8e0249ed61adb9622c427382V‰M%O OcreateAnchorQCPItemStraightLine::createAnchor{af3fc92527802078ca395138748b629a7Z‰L)S OcreatePositionQCPItemStraightLine::createPosition{a75036d39c4d4e2e1a7dd145fff915d32Z‰K)S OrectSelectTestQCPItemStraightLine::rectSelectTest{a4c0e14c4e92df91174cb7183fb363069X‰J'Q OdistSqrToLineQCPItemStraightLine::distSqrToLine{acdca343717d625b8abb3c3e38c0ed39d 5½j+Ü™F´sÅ|5D‰a5 OpaddingQCPItemText::padding~a00e0fa03822ff384bf4921c1c90322ffF‰`7 OrotationQCPItemText::rotation~ae8991207fa1697511c1c8af9f3ca0e0aP‰_'A OtextAlignmentQCPItemText::textAlignment~aaa1d84b3f61f9f2a0cce230e66ef7194X‰^/I OpositionAlignmentQCPItemText::positionAlignment~af13c6adc480f268116ae72196eb44b06>‰]/ OtextQCPItemText::text~a9547f7832010486abed0837e75db5330N‰\%? OselectedFontQCPItemText::selectedFont~af2e7cacb1975132508714a51c5f48c3b>‰[/ OfontQCPItemText::font~ad34943fd68a9b1451d3e3234d072e418P‰Z'A OselectedBrushQCPItemText::selectedBrush~ac6802bbceff1ade0053166c64a5a6966@‰Y1 ObrushQCPItemText::brush~a38b981dfacb703efa8e27346eebcb5a2L‰X#= OselectedPenQCPItemText::selectedPen~a70c86ec95133d3e904d1718023fe3c4e<‰W- OpenQCPItemText::pen~a552bd02f46dbcb4b4812559036893352P‰V'A OselectedColorQCPItemText::selectedColor~a44f690ec0ba6a32e518f2e923c002e39@‰U1 OcolorQCPItemText::color~ac9cb0a8a27f64d1b40855910ea9ebd03 4·^Ä{"Û„=܃4L‰m#= OsetRotationQCPItemText::setRotation~a4bcc10cd97952c3f749d75824b5077f0V‰l-G OsetTextAlignmentQCPItemText::setTextAlignment~ab5bc0684c4d1bed81949a11b34dba478^‰k5O OsetPositionAlignmentQCPItemText::setPositionAlignment~a781cdf8c640fc6a055dcff1e675c8c7aD‰j5 OsetTextQCPItemText::setText~a3dacdda0ac88f99a05b333b977c48747T‰i+E OsetSelectedFontQCPItemText::setSelectedFont~a0be2841772f83663c4db307928b82816D‰h5 OsetFontQCPItemText::setFont~a94ad60ebe04f5c07c35e7c2029e96b1fV‰g-G OsetSelectedBrushQCPItemText::setSelectedBrush~a6b8377eeb2af75eb9528422671ac16cbF‰f7 OsetBrushQCPItemText::setBrush~a1c7e131516df2ed8d941ef31240ded8eR‰e)C OsetSelectedPenQCPItemText::setSelectedPen~a291febe586f0da3f1c392e77bef4aa20B‰d3 OsetPenQCPItemText::setPen~a9b9ec6eea0eb0603977ff84d4c78d0a3V‰c-G OsetSelectedColorQCPItemText::setSelectedColor~ae7ba0bdb75c897b028388e45bfd435faF‰b7 OsetColorQCPItemText::setColor~aa51efc0841fe52da9eaf8aff6fc8a8b2 D³fÀs*Ïx%Ö‹DD‰y5 OanchorsQCPItemText::anchors~a8454b9941960b840608a5a1e00b1977dH‰x9 OpositionsQCPItemText::positions~adf6a680cc29a6bce8345c3b6af3a91a1L‰w#= OsetSelectedQCPItemText::setSelected~a203de94ad586cc44d16c9565f49d3378P‰v'A OsetSelectableQCPItemText::setSelectable~a8a8e32a55bc478b849756a78c2d87fd2T‰u+E OsetClipAxisRectQCPItemText::setClipAxisRect~a7dc75fcbcd10206fe0b75d757ea7a347X‰t/I OsetClipToAxisRectQCPItemText::setClipToAxisRect~a39e05b9d4176b9accafc746d16ca6a06F‰s7 OselectedQCPItemText::selected~a225865808640d8d9a7dd19f09a2e93f2J‰r!; OselectableQCPItemText::selectable~a9189e752025533e1595eaade0009a3bcN‰q%? OclipAxisRectQCPItemText::clipAxisRect~a37f86618740b5047eae23eedb2de061aR‰p)C OclipToAxisRectQCPItemText::clipToAxisRect~a5b0ea171823033bcb8aee81f4a034871J‰o!; OselectTestQCPItemText::selectTest~a285b95bb6634c2e4f7768abb7a8bc69cJ‰n!; OsetPaddingQCPItemText::setPadding~aeea8a3e01f135f9dd0bb08f51db66310 #·r'à“<ùª]¿j#DŠ5 OtopLeftQCPItemText::topLeft~a6354d8762182a3502103fabe5fbb8512RŠ)C OrealVisibilityQCPItemText::realVisibility~a30809f7455e9794bca7b6c737622fa63RŠ)C OsetAntialiasedQCPItemText::setAntialiased~a4fd43e89be4a553ead41652565ff0581FŠ7 OsetLayerQCPItemText::setLayer~ab0d0da6d2de45a118886d2c8e16d5a54JŠ!; OsetVisibleQCPItemText::setVisible~a3bed99ddc396b48ce3ebfdc0418744f8LŠ#= OantialiasedQCPItemText::antialiased~aef5cb4aa899ed9dc9384fd614560291e@Š1 OlayerQCPItemText::layer~aea67e8c19145e70d68c286a36f6b8300T‰+E OparentLayerableQCPItemText::parentLayerable~a98d79f5b716d45eac4347befe546d0ecJ‰~!; OparentPlotQCPItemText::parentPlot~ab7e0e94461566093d36ffc0f5312b109D‰}5 OvisibleQCPItemText::visible~a10a3cc92e0fa63e4a929e61d34e275a7H‰|9 OhasAnchorQCPItemText::hasAnchor~acbce9e5ba5252541d19db0c40303357aB‰{3 OanchorQCPItemText::anchor~abed974cba7cc02608c71dad4638e008dF‰z7 OpositionQCPItemText::position~af71345bd150f87fa1d2442837b87bb59 3Áx5æ¡Tºy Ç~3HŠ9 OmainColorQCPItemText::mainColor~ad7bf17e4945cc86bbf9a36331da059a0FŠ7 OmainFontQCPItemText::mainFont~a23d391bd6471c45e73f45add67ede902VŠ-G OgetTextDrawPointQCPItemText::getTextDrawPoint~aa6e478b1ce198eace89157c4cacc3ddcVŠ-G OanchorPixelPointQCPItemText::anchorPixelPoint~ad248f988534a9d07bc7c220a2457142a>Š/ OdrawQCPItemText::draw~a8793adb271ab79b4cf391dc55e9987f1VŠ-G OselectionChangedQCPItemText::selectionChanged~aa5cffb034fc65dbb91c77e02c1c14251>Š / OleftQCPItemText::left~ab8c6c6e1df36256986fab1463c0a1d38JŠ !; ObottomLeftQCPItemText::bottomLeft~a6a1c872ad3789ecafcaeac2066e218a0BŠ 3 ObottomQCPItemText::bottom~a94aeec080f877d3d1d0c3d8ffc10e9e6LŠ #= ObottomRightQCPItemText::bottomRight~a8ad47045c29af43b0312f7d93bb74374@Š 1 OrightQCPItemText::right~aef159622ce6502412e782a21ba6d84f2FŠ7 OtopRightQCPItemText::topRight~ad18ac45cb4cc135de1eb78f2e86b6504<Š- OtopQCPItemText::top~a5c87ee162cbbe3d166b97826c8849304 i¹nÊY ·dºiNŠ%? OcreateAnchorQCPItemText::createAnchor~af3fc92527802078ca395138748b629a7RŠ)C OcreatePositionQCPItemText::createPosition~a75036d39c4d4e2e1a7dd145fff915d32RŠ)C OrectSelectTestQCPItemText::rectSelectTest~a4c0e14c4e92df91174cb7183fb363069PŠ'A OdistSqrToLineQCPItemText::distSqrToLine~acdca343717d625b8abb3c3e38c0ed39dPŠ'A OdeselectEventQCPItemText::deselectEvent~a91f090d6763cfedb0749219c63788ae9LŠ#= OselectEventQCPItemText::selectEvent~aaf92af7b9893712959a6c073d334d88dnŠE_ OapplyDefaultAntialiasingHintQCPItemText::applyDefaultAntialiasingHint~a0839031abdd71067e2256a4d53c7a011FŠ7 OclipRectQCPItemText::clipRect~a538e25ff8856534582f5b2b400a46405XŠ/I OselectionCategoryQCPItemText::selectionCategory~a777b5d384936396ad9c3ceb3d3453f1cHŠ9 OmainBrushQCPItemText::mainBrush~a10d6585a030633aa79d5ebc5a437f183DŠ5 OmainPenQCPItemText::mainPen~a9ade32d362b22853659201c738269e2a =<ß-±o×=AŠ*3 OsizeQCPItemTracer::sizea2607fcb3d01e90773ea1532fd6803760SŠ)'E OselectedBrushQCPItemTracer::selectedBrushafed284222253083375bfd21d3d4dbc30CŠ(5 ObrushQCPItemTracer::brushaf07527750cfb6afc3c0ba4bec012011fOŠ'#A OselectedPenQCPItemTracer::selectedPenad75e5d2d868dbedc176f7911091f379b?Š&1 OpenQCPItemTracer::pena1f51b61e98c276298a0874d5e89707f0SŠ%'E OQCPItemTracerQCPItemTracer::QCPItemTraceradc5ca846eeac323db4aa1fc4081e36be#Š$'' QCPItemTracerQCPItemTracer`Š#7Q OapplyAntialiasingHintQCPItemText::applyAntialiasingHint~a62bd552d1a45aa9accb24b310542279eLŠ"#= OmoveToLayerQCPItemText::moveToLayer~af94484cfb7cbbddb7de522e9be71d9a4ZŠ!1K OsetParentLayerableQCPItemText::setParentLayerable~aa23c893671f1f6744ac235cf2204cf3a^Š 5O OinitializeParentPlotQCPItemText::initializeParentPlot~a8cbe5a0c9a5674249982f5ca5f8e02bc`Š7Q OparentPlotInitializedQCPItemText::parentPlotInitialized~ab20b7dbd8e0249ed61adb9622c427382 Vºt(ÒŠ2æŠ@ô¨VOŠ6#A OsetGraphKeyQCPItemTracer::setGraphKeya6840143b42f3b685cedf7c6d83a704c8IŠ5; OsetGraphQCPItemTracer::setGraphaf5886f4ded8dd68cb4f3388f390790c0IŠ4; OsetStyleQCPItemTracer::setStylea41a2ac4f1acd7897b4e2a2579c03204eGŠ39 OsetSizeQCPItemTracer::setSizeae47fe0617f5fef5fdb766999569be10aYŠ2-K OsetSelectedBrushQCPItemTracer::setSelectedBrusha0f55c084980a7a312af859d3e7b558efIŠ1; OsetBrushQCPItemTracer::setBrusha2c303f7470a30084daa201ed556b3c36UŠ0)G OsetSelectedPenQCPItemTracer::setSelectedPenae1bf70db7f13f928660168cd3e5069f3EŠ/7 OsetPenQCPItemTracer::setPenaf8048636fc1ef0152e51809b008df2caSŠ.'E OinterpolatingQCPItemTracer::interpolatingab318c233fa35c17a317af38ce7b3c312IŠ-; OgraphKeyQCPItemTracer::graphKeya361c5c9b93bdf4588fc49bc3097529adCŠ,5 OgraphQCPItemTracer::grapha74c90da0e6730839b8d7cf6445a4ec1fCŠ+5 OstyleQCPItemTracer::stylea871832dace1709f877c3136fac7ae1ec T¤Tü¤P´Vü¦TOŠA#A OsetSelectedQCPItemTracer::setSelecteda203de94ad586cc44d16c9565f49d3378SŠ@'E OsetSelectableQCPItemTracer::setSelectablea8a8e32a55bc478b849756a78c2d87fd2WŠ?+I OsetClipAxisRectQCPItemTracer::setClipAxisRecta7dc75fcbcd10206fe0b75d757ea7a347[Š>/M OsetClipToAxisRectQCPItemTracer::setClipToAxisRecta39e05b9d4176b9accafc746d16ca6a06IŠ=; OselectedQCPItemTracer::selecteda225865808640d8d9a7dd19f09a2e93f2MŠ<!? OselectableQCPItemTracer::selectablea9189e752025533e1595eaade0009a3bcQŠ;%C OclipAxisRectQCPItemTracer::clipAxisRecta37f86618740b5047eae23eedb2de061aUŠ:)G OclipToAxisRectQCPItemTracer::clipToAxisRecta5b0ea171823033bcb8aee81f4a034871UŠ9)G OupdatePositionQCPItemTracer::updatePositiona5b90296109e36384aedbc8908a670413MŠ8!? OselectTestQCPItemTracer::selectTestae71f3728421c83c188c117279ca050fdYŠ7-K OsetInterpolatingQCPItemTracer::setInterpolatinga6c244a9d1175bef12b50afafd4f5fcd2 ^²hÔ†<ì’Lúª^IŠM; OsetLayerQCPItemTracer::setLayerab0d0da6d2de45a118886d2c8e16d5a54MŠL!? OsetVisibleQCPItemTracer::setVisiblea3bed99ddc396b48ce3ebfdc0418744f8OŠK#A OantialiasedQCPItemTracer::antialiasedaef5cb4aa899ed9dc9384fd614560291eCŠJ5 OlayerQCPItemTracer::layeraea67e8c19145e70d68c286a36f6b8300WŠI+I OparentLayerableQCPItemTracer::parentLayerablea98d79f5b716d45eac4347befe546d0ecMŠH!? OparentPlotQCPItemTracer::parentPlotab7e0e94461566093d36ffc0f5312b109GŠG9 OvisibleQCPItemTracer::visiblea10a3cc92e0fa63e4a929e61d34e275a7KŠF= OhasAnchorQCPItemTracer::hasAnchoracbce9e5ba5252541d19db0c40303357aEŠE7 OanchorQCPItemTracer::anchorabed974cba7cc02608c71dad4638e008dIŠD; OpositionQCPItemTracer::positionaf71345bd150f87fa1d2442837b87bb59GŠC9 OanchorsQCPItemTracer::anchorsa8454b9941960b840608a5a1e00b1977dKŠB= OpositionsQCPItemTracer::positionsadf6a680cc29a6bce8345c3b6af3a91a1 R¨Pô°fºnú¨RSŠX'E OdeselectEventQCPItemTracer::deselectEventa91f090d6763cfedb0749219c63788ae9OŠW#A OselectEventQCPItemTracer::selectEventaaf92af7b9893712959a6c073d334d88dqŠVEc OapplyDefaultAntialiasingHintQCPItemTracer::applyDefaultAntialiasingHinta0839031abdd71067e2256a4d53c7a011IŠU; OclipRectQCPItemTracer::clipRecta538e25ff8856534582f5b2b400a46405[ŠT/M OselectionCategoryQCPItemTracer::selectionCategorya777b5d384936396ad9c3ceb3d3453f1cKŠS= OmainBrushQCPItemTracer::mainBrushaaf4e72e2d87f53279b9f9ba624961bf5GŠR9 OmainPenQCPItemTracer::mainPenaf87132b7698d5bb35c96a8a0b9e7180eAŠQ3 OdrawQCPItemTracer::drawaaaf49b48382c730ec9be0e74c2538315YŠP-K OselectionChangedQCPItemTracer::selectionChangedaa5cffb034fc65dbb91c77e02c1c14251UŠO)G OrealVisibilityQCPItemTracer::realVisibilitya30809f7455e9794bca7b6c737622fa63UŠN)G OsetAntialiasedQCPItemTracer::setAntialiaseda4fd43e89be4a553ead41652565ff0581 h¤NöžJä€ ÎhcŠb7U OapplyAntialiasingHintQCPItemTracer::applyAntialiasingHinta62bd552d1a45aa9accb24b310542279eOŠa#A OmoveToLayerQCPItemTracer::moveToLayeraf94484cfb7cbbddb7de522e9be71d9a4]Š`1O OsetParentLayerableQCPItemTracer::setParentLayerableaa23c893671f1f6744ac235cf2204cf3aaŠ_5S OinitializeParentPlotQCPItemTracer::initializeParentPlota8cbe5a0c9a5674249982f5ca5f8e02bccŠ^7U OparentPlotInitializedQCPItemTracer::parentPlotInitializedab20b7dbd8e0249ed61adb9622c427382QŠ]%C OcreateAnchorQCPItemTracer::createAnchoraf3fc92527802078ca395138748b629a7UŠ\)G OcreatePositionQCPItemTracer::createPositiona75036d39c4d4e2e1a7dd145fff915d32UŠ[)G OrectSelectTestQCPItemTracer::rectSelectTesta4c0e14c4e92df91174cb7183fb363069SŠZ'E OdistSqrToLineQCPItemTracer::distSqrToLineacdca343717d625b8abb3c3e38c0ed39dYŠY-K OanchorPixelPointQCPItemTracer::anchorPixelPointa94bde62b8a2fc133666dcbb8035deeed –,¸JÜÀy.ï®g DŠn1 OaddChildQCPLayer::addChild„a57ce5e49364aa9122276d5df3b4a0ddcDŠm1 OchildrenQCPLayer::children„a94c2f0100e48cefad2de8fe0fbb03c27>Šl+ OindexQCPLayer::index„ad5d7010829a6b99f326b07d7e37c8c99<Šk) OnameQCPLayer::name„a96ebd1e436f3813938cb9cd4a59a60beHŠj!5 OparentPlotQCPLayer::parentPlot„a3958c9a938c2d05a7378c41484acee08DŠi1 OQCPLayerQCPLayer::QCPLayer„a5d0657fc86d624e5efbe930ef21af718Šh QCPLayerQCPLayer„kŠg; tsSquareQCPItemTracer::tsSquarea2f05ddb13978036f902ca3ab47076500a4ed5f01f2c5fd86d980366d79f481b9bkŠf; tsCircleQCPItemTracer::tsCirclea2f05ddb13978036f902ca3ab47076500ae2252c28f4842880d71e9f94e69de94eqŠe#A tsCrosshairQCPItemTracer::tsCrosshaira2f05ddb13978036f902ca3ab47076500af562ec81ac3ba99e26ef8540cf1ec16fgŠd7 tsPlusQCPItemTracer::tsPlusa2f05ddb13978036f902ca3ab47076500a3323fb04017146e4885e080a459472fagŠc7 tsNoneQCPItemTracer::tsNonea2f05ddb13978036f902ca3ab47076500aac27462c79146225bfa8fba24d2ee8a4 u³<ó¤KµfÄuLŠz!= OselectTestQCPLayerable::selectTest…a4001c4d0dfec55598efa4d531f2179a9TŠy)E OsetAntialiasedQCPLayerable::setAntialiased…a4fd43e89be4a553ead41652565ff0581HŠx9 OsetLayerQCPLayerable::setLayer…ab0d0da6d2de45a118886d2c8e16d5a54LŠw!= OsetVisibleQCPLayerable::setVisible…a3bed99ddc396b48ce3ebfdc0418744f8NŠv#? OantialiasedQCPLayerable::antialiased…aef5cb4aa899ed9dc9384fd614560291eBŠu3 OlayerQCPLayerable::layer…aea67e8c19145e70d68c286a36f6b8300VŠt+G OparentLayerableQCPLayerable::parentLayerable…a98d79f5b716d45eac4347befe546d0ecLŠs!= OparentPlotQCPLayerable::parentPlot…ab7e0e94461566093d36ffc0f5312b109FŠr7 OvisibleQCPLayerable::visible…a10a3cc92e0fa63e4a929e61d34e275a7PŠq%A OQCPLayerableQCPLayerable::QCPLayerable…a76592e80a4657e03da4bfd91aab91ef3!Šp%% QCPLayerableQCPLayerable…JŠo#7 OremoveChildQCPLayer::removeChild„ac2f64ac7761650582d968d86670ef362 -©Dçœ)æ•@Ý~-N‹#? OmoveToLayerQCPLayerable::moveToLayer…af94484cfb7cbbddb7de522e9be71d9a4\‹1M OsetParentLayerableQCPLayerable::setParentLayerable…aa23c893671f1f6744ac235cf2204cf3a`‹5Q OinitializeParentPlotQCPLayerable::initializeParentPlot…a8cbe5a0c9a5674249982f5ca5f8e02bcR‹'C OdeselectEventQCPLayerable::deselectEvent…ae546370644a5551c76af739afc008beeN‹#? OselectEventQCPLayerable::selectEvent…a7498c2d0d081cf7cad0fb3bb93aa0e91@‹1 OdrawQCPLayerable::draw…aecf2f7087482d4b6a78cb2770e5ed12dpŠEa OapplyDefaultAntialiasingHintQCPLayerable::applyDefaultAntialiasingHint…afdf83ddc6a265cbf4c89fe99d3d93473HŠ~9 OclipRectQCPLayerable::clipRect…a07a8f746640c3704b09910df297afcbaZŠ}/K OselectionCategoryQCPLayerable::selectionCategory…aa4035e586b7f317a06ba7e74e242a5eabŠ|7S OparentPlotInitializedQCPLayerable::parentPlotInitialized…ab20b7dbd8e0249ed61adb9622c427382TŠ{)E OrealVisibilityQCPLayerable::realVisibility…a30809f7455e9794bca7b6c737622fa63 /›}3ï§W ɉAùµs/A‹/ OlayoutQCPLayout::layout‡a6235f5384db871fc6e3387a1bc558b0d?‹- OclearQCPLayout::clear‡a02883bdf2769b5b227f0232dba1ac4eeA‹/ OremoveQCPLayout::remove‡a6c58f537d8086f352576ab7c5b15d0bcE‹3 OremoveAtQCPLayout::removeAt‡a2403f684fee3ce47132faaeed00bb066E‹3 OsimplifyQCPLayout::simplify‡a41e6ac049143866e8f8b4964efab01b2=‹+ OtakeQCPLayout::take‡ada26cd17e56472b0b4d7fbbc96873e4cA‹ / OtakeAtQCPLayout::takeAt‡a5a79621fa0a6eabb8b520cfc04fb601aG‹ 5 OelementAtQCPLayout::elementAt‡afa73ca7d859f8a3ee5c73c9b353d2a56M‹ %; OelementCountQCPLayout::elementCount‡a39d3e9ef5d9b82ab1885ba1cb9597e56E‹ 3 OelementsQCPLayout::elements‡a51fe2675b53e829130b229bc1f7b0f99A‹ / OupdateQCPLayout::update‡a91321049c2e37e372abd118095f65b87G‹5 OQCPLayoutQCPLayout::QCPLayout‡a04222e6e1361fd802d48f1a25b7020d4‹ QCPLayoutQCPLayout‡b‹7S OapplyAntialiasingHintQCPLayerable::applyAntialiasingHint…a62bd552d1a45aa9accb24b310542279e ^Àv0ÜŽ@ò¤T¸^W‹/E OsetMinimumMarginsQCPLayout::setMinimumMargins‡a0a8a17abc16b7923159fcc7608f94673I‹!7 OsetMarginsQCPLayout::setMargins‡a8f450b1f3f992ad576fce2c63d8b79cfM‹%; OsetOuterRectQCPLayout::setOuterRect‡a38975ea13e36de8e53391ce41d94bc0fM‹%; OmarginGroupsQCPLayout::marginGroups‡ac43921c997570389c14a1671bc3ea499K‹#9 OmarginGroupQCPLayout::marginGroup‡a22cb1bb62c452fd802e43ca2524660dbK‹#9 OmaximumSizeQCPLayout::maximumSize‡a1fc85c79e15c2ab8051eccd455fccc4aK‹#9 OminimumSizeQCPLayout::minimumSize‡ae71f9230171d2d898e21dc461fc3df03K‹#9 OautoMarginsQCPLayout::autoMargins‡a2f499b1179b3126e22d0d7508124ccb3Q‹)? OminimumMarginsQCPLayout::minimumMargins‡a60ec7f377c26726174d536bffb632002C‹1 OmarginsQCPLayout::margins‡a85ff977dfcced84eef32d9f819ec9543G‹5 OouterRectQCPLayout::outerRect‡a60bbddee2d1230c2414bd776f44d17b8=‹+ OrectQCPLayout::rect‡affdfea003469aac3d0fac5f4e06171bc @¬X°Z¸r&ÐŽ@K‹+#9 OantialiasedQCPLayout::antialiased‡aef5cb4aa899ed9dc9384fd614560291e?‹*- OlayerQCPLayout::layer‡aea67e8c19145e70d68c286a36f6b8300S‹)+A OparentLayerableQCPLayout::parentLayerable‡a98d79f5b716d45eac4347befe546d0ecI‹(!7 OparentPlotQCPLayout::parentPlot‡ab7e0e94461566093d36ffc0f5312b109C‹'1 OvisibleQCPLayout::visible‡a10a3cc92e0fa63e4a929e61d34e275a7I‹&!7 OselectTestQCPLayout::selectTest‡a9fcf5d0ea19f2c23b2b528bce2c6f095S‹%+A OmaximumSizeHintQCPLayout::maximumSizeHint‡adbd3a00fec44c977150c6be7329eb801S‹$+A OminimumSizeHintQCPLayout::minimumSizeHint‡aebe14fb71f858c0f98caf8d342a9864aQ‹#)? OsetMarginGroupQCPLayout::setMarginGroup‡a516e56f76b6bc100e8e71d329866847dQ‹")? OsetMaximumSizeQCPLayout::setMaximumSize‡a74eb5280a737ab44833d506db65efd95Q‹!)? OsetMinimumSizeQCPLayout::setMinimumSize‡a5dd29a3c8bc88440c97c06b67be7886bQ‹ )? OsetAutoMarginsQCPLayout::setAutoMargins‡accfda49994e3e6d51ed14504abf9d27d b´lÄtÀl¸bS‹6+A OmousePressEventQCPLayout::mousePressEvent‡a2d82ea21fe0ee628f177bd824bc51a71[‹53I OcalculateAutoMarginQCPLayout::calculateAutoMargin‡a005c9f0fe84bc1591a2cf2c46fd477b4S‹4+A OgetSectionSizesQCPLayout::getSectionSizes‡a92d9dcd95e9510b323706ef7fc4ff62eQ‹3)? OreleaseElementQCPLayout::releaseElement‡a4afbb4bef0071f72f91afdac4433a18eM‹2%; OadoptElementQCPLayout::adoptElement‡af6dbbc24156a808da29cd1ec031729a3a‹19O OsizeConstraintsChangedQCPLayout::sizeConstraintsChanged‡a6218cd7e5c0e30077c1aeaffe55b6145M‹0%; OupdateLayoutQCPLayout::updateLayout‡a165c77f6287ac92e8d03017ad913378bQ‹/)? OrealVisibilityQCPLayout::realVisibility‡a30809f7455e9794bca7b6c737622fa63Q‹.)? OsetAntialiasedQCPLayout::setAntialiased‡a4fd43e89be4a553ead41652565ff0581E‹-3 OsetLayerQCPLayout::setLayer‡ab0d0da6d2de45a118886d2c8e16d5a54I‹,!7 OsetVisibleQCPLayout::setVisible‡a3bed99ddc396b48ce3ebfdc0418744f8 P¬Rð¤4ô’8ð¢PO‹A'= OdeselectEventQCPLayout::deselectEvent‡ae546370644a5551c76af739afc008beeK‹@#9 OselectEventQCPLayout::selectEvent‡a7498c2d0d081cf7cad0fb3bb93aa0e91E‹?3 OclipRectQCPLayout::clipRect‡a07a8f746640c3704b09910df297afcbaW‹>/E OselectionCategoryQCPLayout::selectionCategory‡aa4035e586b7f317a06ba7e74e242a5ea_‹=7M OparentPlotInitializedQCPLayout::parentPlotInitialized‡a1478899e80e8244b411e96ec3b2e5ce2=‹<+ OdrawQCPLayout::draw‡a547bcc1e6e2be5645ca781efe0834653m‹;E[ OapplyDefaultAntialiasingHintQCPLayout::applyDefaultAntialiasingHint‡ad6d2b4bb0291c2441b2e1ca3d5296df5I‹:!7 OwheelEventQCPLayout::wheelEvent‡a300521d2fd18a893c1b85f6be11ce2bf_‹97M OmouseDoubleClickEventQCPLayout::mouseDoubleClickEvent‡aa8fef6486cb6ceb7c82cbdd50bc32ee9W‹8/E OmouseReleaseEventQCPLayout::mouseReleaseEvent‡ae526ac828cce1e5bb94eaa85776d7404Q‹7)? OmouseMoveEventQCPLayout::mouseMoveEvent‡a14f4acf58cdb8dd2c6c571479c4c4a40 ) Dö”h ¾w&Ù~)R‹M#G OautoMarginsQCPLayoutElement::autoMargins‰a2f499b1179b3126e22d0d7508124ccb3X‹L)M OminimumMarginsQCPLayoutElement::minimumMargins‰a60ec7f377c26726174d536bffb632002J‹K? OmarginsQCPLayoutElement::margins‰a85ff977dfcced84eef32d9f819ec9543N‹JC OouterRectQCPLayoutElement::outerRect‰a60bbddee2d1230c2414bd776f44d17b8D‹I9 OrectQCPLayoutElement::rect‰affdfea003469aac3d0fac5f4e06171bcH‹H= OlayoutQCPLayoutElement::layout‰a6235f5384db871fc6e3387a1bc558b0d\‹G-Q OQCPLayoutElementQCPLayoutElement::QCPLayoutElement‰a8947f0ada17e672aaba3d424cbbb67e3)‹F-- QCPLayoutElementQCPLayoutElement‰_‹E7M OapplyAntialiasingHintQCPLayout::applyAntialiasingHint‡a62bd552d1a45aa9accb24b310542279eK‹D#9 OmoveToLayerQCPLayout::moveToLayer‡af94484cfb7cbbddb7de522e9be71d9a4Y‹C1G OsetParentLayerableQCPLayout::setParentLayerable‡aa23c893671f1f6744ac235cf2204cf3a]‹B5K OinitializeParentPlotQCPLayout::initializeParentPlot‡a8cbe5a0c9a5674249982f5ca5f8e02bc 3«VªSŸDéŽ3X‹X)M OsetMarginGroupQCPLayoutElement::setMarginGroup‰a516e56f76b6bc100e8e71d329866847dX‹W)M OsetMaximumSizeQCPLayoutElement::setMaximumSize‰a74eb5280a737ab44833d506db65efd95X‹V)M OsetMinimumSizeQCPLayoutElement::setMinimumSize‰a5dd29a3c8bc88440c97c06b67be7886bX‹U)M OsetAutoMarginsQCPLayoutElement::setAutoMargins‰accfda49994e3e6d51ed14504abf9d27d^‹T/S OsetMinimumMarginsQCPLayoutElement::setMinimumMargins‰a0a8a17abc16b7923159fcc7608f94673P‹S!E OsetMarginsQCPLayoutElement::setMargins‰a8f450b1f3f992ad576fce2c63d8b79cfT‹R%I OsetOuterRectQCPLayoutElement::setOuterRect‰a38975ea13e36de8e53391ce41d94bc0fT‹Q%I OmarginGroupsQCPLayoutElement::marginGroups‰ac43921c997570389c14a1671bc3ea499R‹P#G OmarginGroupQCPLayoutElement::marginGroup‰a22cb1bb62c452fd802e43ca2524660dbR‹O#G OmaximumSizeQCPLayoutElement::maximumSize‰a1fc85c79e15c2ab8051eccd455fccc4aR‹N#G OminimumSizeQCPLayoutElement::minimumSize‰ae71f9230171d2d898e21dc461fc3df03aÅPÅÊÏÔÙÞãèíò÷ü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôúï ðñ"ò-ó8ôCõNöY÷dønùxúûüý$þ.ÿ7ANZgr~‚ ‚‚  ‚+ ‚8 ‚D ‚O ‚[‚e‚o‚zƒƒƒ!ƒ,ƒ7ƒBƒPƒ]ƒiƒu„„„„%„2 „>!„J"„V#„a$„k%„w&…'…(…)…)*…5+…B,…M-…X.…d/…n0…w1†2†3†4†'5†36†?7†K8†V9†_:†l;†x<‡=‡>‡?‡'@‡3A‡?B‡KC‡UD‡bE‡nF‡{GˆHˆIˆJˆ*Kˆ6LˆAMˆLNˆXOˆbg–ºÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôúÀº´®¨¢œ–¹‘r¸‘i·‘`¶‘Vµ‘K´‘?³‘4²‘'QˆzR‰S‰T‰U‰)V‰4W‰?X‰IY‰TZ‰a[‰m\‰y]Š^Š_Š`Š*aŠ6bŠAcŠMdŠXeŠbfŠngŠzh‹i‹j‹k‹+l‹6m‹An‹Mo‹Xr‹cs‹mt‹xuŒvŒ wŒxŒ%yŒ1zŒ;{ŒF|ŒQ}Œ]~ŒiŒt€Œ ‚ƒ „+…6†A‡MˆZ‰fŠr‹}ŒŽŽŽŽŽ(Ž5‘Ž@’ŽK“ŽU”Ž_•Ži–Žs—Ž}˜™š ›,œ7BžOŸ\ h¡q¢y£¤¥¦&§0¨;©FªQ«Z¬e­o®x¯‘°‘±‘ kµXû¬Y ¹\¾kP‹c!E OsetVisibleQCPLayoutElement::setVisible‰a3bed99ddc396b48ce3ebfdc0418744f8R‹b#G OantialiasedQCPLayoutElement::antialiased‰aef5cb4aa899ed9dc9384fd614560291eF‹a; OlayerQCPLayoutElement::layer‰aea67e8c19145e70d68c286a36f6b8300Z‹`+O OparentLayerableQCPLayoutElement::parentLayerable‰a98d79f5b716d45eac4347befe546d0ecP‹_!E OparentPlotQCPLayoutElement::parentPlot‰ab7e0e94461566093d36ffc0f5312b109J‹^? OvisibleQCPLayoutElement::visible‰a10a3cc92e0fa63e4a929e61d34e275a7P‹]!E OselectTestQCPLayoutElement::selectTest‰a9fcf5d0ea19f2c23b2b528bce2c6f095L‹\A OelementsQCPLayoutElement::elements‰a311d60d78e62ef8eaaedb1b6ceb9e788Z‹[+O OmaximumSizeHintQCPLayoutElement::maximumSizeHint‰adbd3a00fec44c977150c6be7329eb801Z‹Z+O OminimumSizeHintQCPLayoutElement::minimumSizeHint‰aebe14fb71f858c0f98caf8d342a9864aH‹Y= OupdateQCPLayoutElement::update‰a46d52cb1f07ba05564920321f4ada184 J±Vû–9Þ}ÁJt‹mEi OapplyDefaultAntialiasingHintQCPLayoutElement::applyDefaultAntialiasingHint‰ad6d2b4bb0291c2441b2e1ca3d5296df5P‹l!E OwheelEventQCPLayoutElement::wheelEvent‰a300521d2fd18a893c1b85f6be11ce2bff‹k7[ OmouseDoubleClickEventQCPLayoutElement::mouseDoubleClickEvent‰aa8fef6486cb6ceb7c82cbdd50bc32ee9^‹j/S OmouseReleaseEventQCPLayoutElement::mouseReleaseEvent‰ae526ac828cce1e5bb94eaa85776d7404X‹i)M OmouseMoveEventQCPLayoutElement::mouseMoveEvent‰a14f4acf58cdb8dd2c6c571479c4c4a40Z‹h+O OmousePressEventQCPLayoutElement::mousePressEvent‰a2d82ea21fe0ee628f177bd824bc51a71b‹g3W OcalculateAutoMarginQCPLayoutElement::calculateAutoMargin‰a005c9f0fe84bc1591a2cf2c46fd477b4X‹f)M OrealVisibilityQCPLayoutElement::realVisibility‰a30809f7455e9794bca7b6c737622fa63X‹e)M OsetAntialiasedQCPLayoutElement::setAntialiased‰a4fd43e89be4a553ead41652565ff0581L‹dA OsetLayerQCPLayoutElement::setLayer‰ab0d0da6d2de45a118886d2c8e16d5a54 D¹Pï Kò‹(ÓjD#‹x'' QCPLayoutGridQCPLayoutGrid‹f‹w7[ OapplyAntialiasingHintQCPLayoutElement::applyAntialiasingHint‰a62bd552d1a45aa9accb24b310542279eR‹v#G OmoveToLayerQCPLayoutElement::moveToLayer‰af94484cfb7cbbddb7de522e9be71d9a4`‹u1U OsetParentLayerableQCPLayoutElement::setParentLayerable‰aa23c893671f1f6744ac235cf2204cf3ad‹t5Y OinitializeParentPlotQCPLayoutElement::initializeParentPlot‰a8cbe5a0c9a5674249982f5ca5f8e02bcV‹s'K OdeselectEventQCPLayoutElement::deselectEvent‰ae546370644a5551c76af739afc008beeR‹r#G OselectEventQCPLayoutElement::selectEvent‰a7498c2d0d081cf7cad0fb3bb93aa0e91L‹qA OclipRectQCPLayoutElement::clipRect‰a07a8f746640c3704b09910df297afcba^‹p/S OselectionCategoryQCPLayoutElement::selectionCategory‰aa4035e586b7f317a06ba7e74e242a5eaf‹o7[ OparentPlotInitializedQCPLayoutElement::parentPlotInitialized‰a1478899e80e8244b411e96ec3b2e5ce2D‹n9 OdrawQCPLayoutElement::draw‰a547bcc1e6e2be5645ca781efe0834653 pª^ ¨Jô¤<Òp_Œ3Q OsetRowStretchFactorQCPLayoutGrid::setRowStretchFactor‹a7b0273de5369bd93d942edbaf5b166ecgŒ;Y OsetColumnStretchFactorsQCPLayoutGrid::setColumnStretchFactors‹a6c2591d1a7e2534ce036989543b49e57eŒ9W OsetColumnStretchFactorQCPLayoutGrid::setColumnStretchFactor‹ae38f31a71687b9d7ee3104852528fb50M‹!? OrowSpacingQCPLayoutGrid::rowSpacing‹abccdd33c1b284feb6df90fa02f23d9a3S‹~'E OcolumnSpacingQCPLayoutGrid::columnSpacing‹a3de19753fdca81194458cb15156f7315[‹}/M OrowStretchFactorsQCPLayoutGrid::rowStretchFactors‹a3744496abf73c8e3b464181d63bb20a7a‹|5S OcolumnStretchFactorsQCPLayoutGrid::columnStretchFactors‹a39bd7994d00687d1b9defef6f1bda835O‹{#A OcolumnCountQCPLayoutGrid::columnCount‹ac39074eafd148b82d0762090f258189eI‹z; OrowCountQCPLayoutGrid::rowCount‹af8e6c7a05864ebe610c87756c7b9079cS‹y'E OQCPLayoutGridQCPLayoutGrid::QCPLayoutGrid‹ab2a4c1587dc8aed4c41c509c8d8d2a64 vœ@ê–Bô¬hÐvWŒ +I OminimumSizeHintQCPLayoutGrid::minimumSizeHint‹a67aae235fb4dd9a479aafe07462ef9eeIŒ ; OsimplifyQCPLayoutGrid::simplify‹a08bba60e4acd20165526a8fd7f986b58IŒ ; OelementsQCPLayoutGrid::elements‹ae9e24e01552f6667b6d05b12a54a4caaAŒ 3 OtakeQCPLayoutGrid::take‹a666a9fe9e92054436f9b66eba25cca0cEŒ 7 OtakeAtQCPLayoutGrid::takeAt‹acc1277394ff8a6432e111ff9463e6375KŒ= OelementAtQCPLayoutGrid::elementAt‹a26849ee5c47b4c940e8d65e8462f1065QŒ%C OelementCountQCPLayoutGrid::elementCount‹aa682b1d36660478f665bab3c64e956a9QŒ%C OupdateLayoutQCPLayoutGrid::updateLayout‹a07f8dd7d3d61d7345026621d446042a4SŒ'E OsetRowSpacingQCPLayoutGrid::setRowSpacing‹aaef2cd2d456197ee06a208793678e436YŒ-K OsetColumnSpacingQCPLayoutGrid::setColumnSpacing‹a3a49272aba32bb0fddc3bb2a45a3dba0aŒ5S OsetRowStretchFactorsQCPLayoutGrid::setRowStretchFactors‹a200b45f9c908f96ebadaa3c8d87a2782 d¦\ ¼p"Ά:ò¬dEŒ7 OlayoutQCPLayoutGrid::layout‹a6235f5384db871fc6e3387a1bc558b0dCŒ5 OclearQCPLayoutGrid::clear‹a02883bdf2769b5b227f0232dba1ac4eeEŒ7 OremoveQCPLayoutGrid::remove‹a6c58f537d8086f352576ab7c5b15d0bcIŒ; OremoveAtQCPLayoutGrid::removeAt‹a2403f684fee3ce47132faaeed00bb066EŒ7 OupdateQCPLayoutGrid::update‹a91321049c2e37e372abd118095f65b87QŒ%C OinsertColumnQCPLayoutGrid::insertColumn‹a1e880a321dbe8b43b471ccd764433dc4KŒ= OinsertRowQCPLayoutGrid::insertRow‹a48af3dd7c3a653d9c3d7dd99bd02e838IŒ; OexpandToQCPLayoutGrid::expandTo‹a886c0dcbabd51a45da399e044552b685MŒ!? OhasElementQCPLayoutGrid::hasElement‹ab0cf4f7edc9414a3bfaddac0f46dc0a0MŒ!? OaddElementQCPLayoutGrid::addElement‹adff1a2ca691ed83d2d24a4cd1fe17012GŒ9 OelementQCPLayoutGrid::element‹a525f25e6ba43ee228151d074251b4e6aWŒ+I OmaximumSizeHintQCPLayoutGrid::maximumSizeHint‹a1ec4bf5914900a51829a7919f74aa58c .¼n$Ìz(Ö„0ÜŒ.[Œ%/M OsetMinimumMarginsQCPLayoutGrid::setMinimumMargins‹a0a8a17abc16b7923159fcc7608f94673MŒ$!? OsetMarginsQCPLayoutGrid::setMargins‹a8f450b1f3f992ad576fce2c63d8b79cfQŒ#%C OsetOuterRectQCPLayoutGrid::setOuterRect‹a38975ea13e36de8e53391ce41d94bc0fQŒ"%C OmarginGroupsQCPLayoutGrid::marginGroups‹ac43921c997570389c14a1671bc3ea499OŒ!#A OmarginGroupQCPLayoutGrid::marginGroup‹a22cb1bb62c452fd802e43ca2524660dbOŒ #A OmaximumSizeQCPLayoutGrid::maximumSize‹a1fc85c79e15c2ab8051eccd455fccc4aOŒ#A OminimumSizeQCPLayoutGrid::minimumSize‹ae71f9230171d2d898e21dc461fc3df03OŒ#A OautoMarginsQCPLayoutGrid::autoMargins‹a2f499b1179b3126e22d0d7508124ccb3UŒ)G OminimumMarginsQCPLayoutGrid::minimumMargins‹a60ec7f377c26726174d536bffb632002GŒ9 OmarginsQCPLayoutGrid::margins‹a85ff977dfcced84eef32d9f819ec9543KŒ= OouterRectQCPLayoutGrid::outerRect‹a60bbddee2d1230c2414bd776f44d17b8AŒ3 OrectQCPLayoutGrid::rect‹affdfea003469aac3d0fac5f4e06171bc (¨Pø P¶\Ät(IŒ1; OsetLayerQCPLayoutGrid::setLayer‹ab0d0da6d2de45a118886d2c8e16d5a54MŒ0!? OsetVisibleQCPLayoutGrid::setVisible‹a3bed99ddc396b48ce3ebfdc0418744f8OŒ/#A OantialiasedQCPLayoutGrid::antialiased‹aef5cb4aa899ed9dc9384fd614560291eCŒ.5 OlayerQCPLayoutGrid::layer‹aea67e8c19145e70d68c286a36f6b8300WŒ-+I OparentLayerableQCPLayoutGrid::parentLayerable‹a98d79f5b716d45eac4347befe546d0ecMŒ,!? OparentPlotQCPLayoutGrid::parentPlot‹ab7e0e94461566093d36ffc0f5312b109GŒ+9 OvisibleQCPLayoutGrid::visible‹a10a3cc92e0fa63e4a929e61d34e275a7MŒ*!? OselectTestQCPLayoutGrid::selectTest‹a9fcf5d0ea19f2c23b2b528bce2c6f095UŒ))G OsetMarginGroupQCPLayoutGrid::setMarginGroup‹a516e56f76b6bc100e8e71d329866847dUŒ()G OsetMaximumSizeQCPLayoutGrid::setMaximumSize‹a74eb5280a737ab44833d506db65efd95UŒ')G OsetMinimumSizeQCPLayoutGrid::setMinimumSize‹a5dd29a3c8bc88440c97c06b67be7886bUŒ&)G OsetAutoMarginsQCPLayoutGrid::setAutoMargins‹accfda49994e3e6d51ed14504abf9d27d Z¨Pê„Èp´ZWŒ;+I OmousePressEventQCPLayoutGrid::mousePressEvent‹a2d82ea21fe0ee628f177bd824bc51a71_Œ:3Q OcalculateAutoMarginQCPLayoutGrid::calculateAutoMargin‹a005c9f0fe84bc1591a2cf2c46fd477b4WŒ9+I OgetSectionSizesQCPLayoutGrid::getSectionSizes‹a92d9dcd95e9510b323706ef7fc4ff62eUŒ8)G OreleaseElementQCPLayoutGrid::releaseElement‹a4afbb4bef0071f72f91afdac4433a18eQŒ7%C OadoptElementQCPLayoutGrid::adoptElement‹af6dbbc24156a808da29cd1ec031729a3eŒ69W OsizeConstraintsChangedQCPLayoutGrid::sizeConstraintsChanged‹a6218cd7e5c0e30077c1aeaffe55b6145cŒ57U OgetMaximumRowColSizesQCPLayoutGrid::getMaximumRowColSizes‹af348d903e3b8bc416f1fe1b8125d1173cŒ47U OgetMinimumRowColSizesQCPLayoutGrid::getMinimumRowColSizes‹ac645fb9b1c4257b08a9f09dee10b9b3fUŒ3)G OrealVisibilityQCPLayoutGrid::realVisibility‹a30809f7455e9794bca7b6c737622fa63UŒ2)G OsetAntialiasedQCPLayoutGrid::setAntialiased‹a4fd43e89be4a553ead41652565ff0581 $¨Jä” ÜvÌz$SŒF'E OdeselectEventQCPLayoutGrid::deselectEvent‹ae546370644a5551c76af739afc008beeOŒE#A OselectEventQCPLayoutGrid::selectEvent‹a7498c2d0d081cf7cad0fb3bb93aa0e91IŒD; OclipRectQCPLayoutGrid::clipRect‹a07a8f746640c3704b09910df297afcba[ŒC/M OselectionCategoryQCPLayoutGrid::selectionCategory‹aa4035e586b7f317a06ba7e74e242a5eacŒB7U OparentPlotInitializedQCPLayoutGrid::parentPlotInitialized‹a1478899e80e8244b411e96ec3b2e5ce2AŒA3 OdrawQCPLayoutGrid::draw‹a547bcc1e6e2be5645ca781efe0834653qŒ@Ec OapplyDefaultAntialiasingHintQCPLayoutGrid::applyDefaultAntialiasingHint‹ad6d2b4bb0291c2441b2e1ca3d5296df5MŒ?!? OwheelEventQCPLayoutGrid::wheelEvent‹a300521d2fd18a893c1b85f6be11ce2bfcŒ>7U OmouseDoubleClickEventQCPLayoutGrid::mouseDoubleClickEvent‹aa8fef6486cb6ceb7c82cbdd50bc32ee9[Œ=/M OmouseReleaseEventQCPLayoutGrid::mouseReleaseEvent‹ae526ac828cce1e5bb94eaa85776d7404UŒ<)G OmouseMoveEventQCPLayoutGrid::mouseMoveEvent‹a14f4acf58cdb8dd2c6c571479c4c4a40 Dœ<ê„\ªQ£D\ŒQ/O OsetInsetAlignmentQCPLayoutInset::setInsetAlignmenta62882a4f9ad58bb0f53da12fde022abe\ŒP/O OsetInsetPlacementQCPLayoutInset::setInsetPlacementa63298830744d5d8c5345511c00fd2144LŒO? OinsetRectQCPLayoutInset::insetRecta5ec7037b3b8d20fbf9560e01779b1442VŒN)I OinsetAlignmentQCPLayoutInset::insetAlignmenta78c0c494bb5728237cebb63ae8ef5c58VŒM)I OinsetPlacementQCPLayoutInset::insetPlacementa8472ff2508807513e4cb0ce0c1d652b3VŒL)I OQCPLayoutInsetQCPLayoutInset::QCPLayoutInseta3ad984f3221735374cc5dee14356a7dd%ŒK)) QCPLayoutInsetQCPLayoutInsetcŒJ7U OapplyAntialiasingHintQCPLayoutGrid::applyAntialiasingHint‹a62bd552d1a45aa9accb24b310542279eOŒI#A OmoveToLayerQCPLayoutGrid::moveToLayer‹af94484cfb7cbbddb7de522e9be71d9a4]ŒH1O OsetParentLayerableQCPLayoutGrid::setParentLayerable‹aa23c893671f1f6744ac235cf2204cf3aaŒG5S OinitializeParentPlotQCPLayoutGrid::initializeParentPlot‹a8cbe5a0c9a5674249982f5ca5f8e02bc R«V²i$׆5ìŸRJŒ]= OremoveAtQCPLayoutInset::removeAta2403f684fee3ce47132faaeed00bb066JŒ\= OelementsQCPLayoutInset::elementsa51fe2675b53e829130b229bc1f7b0f99FŒ[9 OupdateQCPLayoutInset::updatea91321049c2e37e372abd118095f65b87NŒZ!A OaddElementQCPLayoutInset::addElementad61529eb576af7f04dff94abb10c745aNŒY!A OselectTestQCPLayoutInset::selectTestab5a2f2b88c05e369fd7da9583d17aa3aJŒX= OsimplifyQCPLayoutInset::simplifyabb9eb23bf2d7c587a8abe02d065eae0aBŒW5 OtakeQCPLayoutInset::takea9ac707ccff650633b97f52dd5cddcf49FŒV9 OtakeAtQCPLayoutInset::takeAtad6756a3b507e20496aaf7f5ca16c47d1LŒU? OelementAtQCPLayoutInset::elementAtab096d07b08f9b5455647f3ba7ff60e27RŒT%E OelementCountQCPLayoutInset::elementCounta2087b97b9266fd9e0f571a8d3cf709f9RŒS%E OupdateLayoutQCPLayoutInset::updateLayouta7b33fdd51b18e6db7cea9bfb2d263b4aRŒR%E OsetInsetRectQCPLayoutInset::setInsetRectaa487c8378a6f9533567a2e6430099dc3 N·p'â“HïœIö£NRŒi%E OmarginGroupsQCPLayoutInset::marginGroupsac43921c997570389c14a1671bc3ea499PŒh#C OmarginGroupQCPLayoutInset::marginGroupa22cb1bb62c452fd802e43ca2524660dbPŒg#C OmaximumSizeQCPLayoutInset::maximumSizea1fc85c79e15c2ab8051eccd455fccc4aPŒf#C OminimumSizeQCPLayoutInset::minimumSizeae71f9230171d2d898e21dc461fc3df03PŒe#C OautoMarginsQCPLayoutInset::autoMarginsa2f499b1179b3126e22d0d7508124ccb3VŒd)I OminimumMarginsQCPLayoutInset::minimumMarginsa60ec7f377c26726174d536bffb632002HŒc; OmarginsQCPLayoutInset::marginsa85ff977dfcced84eef32d9f819ec9543LŒb? OouterRectQCPLayoutInset::outerRecta60bbddee2d1230c2414bd776f44d17b8BŒa5 OrectQCPLayoutInset::rectaffdfea003469aac3d0fac5f4e06171bcFŒ`9 OlayoutQCPLayoutInset::layouta6235f5384db871fc6e3387a1bc558b0dDŒ_7 OclearQCPLayoutInset::cleara02883bdf2769b5b227f0232dba1ac4eeFŒ^9 OremoveQCPLayoutInset::removea6c58f537d8086f352576ab7c5b15d0bc E«Zû¢Ið—<á–ENŒt!A OparentPlotQCPLayoutInset::parentPlotab7e0e94461566093d36ffc0f5312b109HŒs; OvisibleQCPLayoutInset::visiblea10a3cc92e0fa63e4a929e61d34e275a7XŒr+K OmaximumSizeHintQCPLayoutInset::maximumSizeHintadbd3a00fec44c977150c6be7329eb801XŒq+K OminimumSizeHintQCPLayoutInset::minimumSizeHintaebe14fb71f858c0f98caf8d342a9864aVŒp)I OsetMarginGroupQCPLayoutInset::setMarginGroupa516e56f76b6bc100e8e71d329866847dVŒo)I OsetMaximumSizeQCPLayoutInset::setMaximumSizea74eb5280a737ab44833d506db65efd95VŒn)I OsetMinimumSizeQCPLayoutInset::setMinimumSizea5dd29a3c8bc88440c97c06b67be7886bVŒm)I OsetAutoMarginsQCPLayoutInset::setAutoMarginsaccfda49994e3e6d51ed14504abf9d27d\Œl/O OsetMinimumMarginsQCPLayoutInset::setMinimumMarginsa0a8a17abc16b7923159fcc7608f94673NŒk!A OsetMarginsQCPLayoutInset::setMarginsa8f450b1f3f992ad576fce2c63d8b79cfRŒj%E OsetOuterRectQCPLayoutInset::setOuterRecta38975ea13e36de8e53391ce41d94bc0f I¥^ ºm»Rý¤IXŒ+K OgetSectionSizesQCPLayoutInset::getSectionSizesa92d9dcd95e9510b323706ef7fc4ff62eVŒ~)I OreleaseElementQCPLayoutInset::releaseElementa4afbb4bef0071f72f91afdac4433a18eRŒ}%E OadoptElementQCPLayoutInset::adoptElementaf6dbbc24156a808da29cd1ec031729a3fŒ|9Y OsizeConstraintsChangedQCPLayoutInset::sizeConstraintsChangeda6218cd7e5c0e30077c1aeaffe55b6145VŒ{)I OrealVisibilityQCPLayoutInset::realVisibilitya30809f7455e9794bca7b6c737622fa63VŒz)I OsetAntialiasedQCPLayoutInset::setAntialiaseda4fd43e89be4a553ead41652565ff0581JŒy= OsetLayerQCPLayoutInset::setLayerab0d0da6d2de45a118886d2c8e16d5a54NŒx!A OsetVisibleQCPLayoutInset::setVisiblea3bed99ddc396b48ce3ebfdc0418744f8PŒw#C OantialiasedQCPLayoutInset::antialiasedaef5cb4aa899ed9dc9384fd614560291eDŒv7 OlayerQCPLayoutInset::layeraea67e8c19145e70d68c286a36f6b8300XŒu+K OparentLayerableQCPLayoutInset::parentLayerablea98d79f5b716d45eac4347befe546d0ec RBéŠ#Ò]±R\ /O OselectionCategoryQCPLayoutInset::selectionCategoryaa4035e586b7f317a06ba7e74e242a5ead7W OparentPlotInitializedQCPLayoutInset::parentPlotInitializeda1478899e80e8244b411e96ec3b2e5ce2B5 OdrawQCPLayoutInset::drawa547bcc1e6e2be5645ca781efe0834653rEe OapplyDefaultAntialiasingHintQCPLayoutInset::applyDefaultAntialiasingHintad6d2b4bb0291c2441b2e1ca3d5296df5N!A OwheelEventQCPLayoutInset::wheelEventa300521d2fd18a893c1b85f6be11ce2bfd7W OmouseDoubleClickEventQCPLayoutInset::mouseDoubleClickEventaa8fef6486cb6ceb7c82cbdd50bc32ee9\/O OmouseReleaseEventQCPLayoutInset::mouseReleaseEventae526ac828cce1e5bb94eaa85776d7404V)I OmouseMoveEventQCPLayoutInset::mouseMoveEventa14f4acf58cdb8dd2c6c571479c4c4a40X+K OmousePressEventQCPLayoutInset::mousePressEventa2d82ea21fe0ee628f177bd824bc51a71`3S OcalculateAutoMarginQCPLayoutInset::calculateAutoMargina005c9f0fe84bc1591a2cf2c46fd477b4 9³` ¤Cð‰¡ƒ9G5 OQCPLegendQCPLegend::QCPLegenda0001a456989bd07ea378883651fabd72 QCPLegendQCPLegendz+K ipBorderAlignedQCPLayoutInset::ipBorderAligneda8b9e17d9a2768293d2a7d72f5e298192aa81e7df4a785ddee2229a8f47c46e817h9 ipFreeQCPLayoutInset::ipFreea8b9e17d9a2768293d2a7d72f5e298192aa4802986ea2cea457f932b115acba59ed7W OapplyAntialiasingHintQCPLayoutInset::applyAntialiasingHinta62bd552d1a45aa9accb24b310542279eP#C OmoveToLayerQCPLayoutInset::moveToLayeraf94484cfb7cbbddb7de522e9be71d9a4^1Q OsetParentLayerableQCPLayoutInset::setParentLayerableaa23c893671f1f6744ac235cf2204cf3ab 5U OinitializeParentPlotQCPLayoutInset::initializeParentPlota8cbe5a0c9a5674249982f5ca5f8e02bcT 'G OdeselectEventQCPLayoutInset::deselectEventae546370644a5551c76af739afc008beeP #C OselectEventQCPLayoutInset::selectEventa7498c2d0d081cf7cad0fb3bb93aa0e91J = OclipRectQCPLayoutInset::clipRecta07a8f746640c3704b09910df297afcba D¶t4ê¢Lú¤Rø–DO '= OselectedBrushQCPLegend::selectedBrusha600dde0d207ddc6f5a603767360cceac_7M OselectedIconBorderPenQCPLegend::selectedIconBorderPena165630cad7e41f89b54f65cdef3310e8W/E OselectedBorderPenQCPLegend::selectedBorderPena63156bc4ce64431bada7415cfa2b4dd1O'= OselectedPartsQCPLegend::selectedPartsabbbf1b2d6a149013527ed87b0780894aS+A OselectablePartsQCPLegend::selectablePartsaa90c7fdbad7a0e93527bafb1f1f49a43O'= OiconBorderPenQCPLegend::iconBorderPena2c4719d79630b0d0c75ef2333c59a912S+A OiconTextPaddingQCPLegend::iconTextPaddinga9d6d07042a284c4ba5f9e3cb5c9281efE3 OiconSizeQCPLegend::iconSizea27dfb770b14adc0e8811bef8129780a5G5 OtextColorQCPLegend::textColorad60a058af7491f6b140c104c6a0f9458=+ OfontQCPLegend::fonta5cf8b840bc02f7bf4edb8dde400d0f41?- ObrushQCPLegend::brusha7e5d2766e7d724f399022be8a4e8a2cbG5 OborderPenQCPLegend::borderPena8ffd92df86ddf43696d95f04a20e3226 r°V¾x(Ú~&ÊrU+-C OsetSelectedPartsQCPLegend::setSelectedPartsa2aee309bb5c2a794b1987f3fc97f8ad8Y*1G OsetSelectablePartsQCPLegend::setSelectablePartsa9ce60aa8bbd89f62ae4fa83ac6c60110U)-C OsetIconBorderPenQCPLegend::setIconBorderPena2f2c93d18a651f4ff294bb3f026f49b8Y(1G OsetIconTextPaddingQCPLegend::setIconTextPaddinga62973bd69d5155e8ea3141366e8968f6K'#9 OsetIconSizeQCPLegend::setIconSizea8b0740cce488bf7010da6beda6898984M&%; OsetTextColorQCPLegend::setTextColorae1eb239ff4a4632fe1b6c3e668d845c6C%1 OsetFontQCPLegend::setFontaa4cda8499e3cb0f3be415edc02984c73E$3 OsetBrushQCPLegend::setBrusha497bbcd38baa3598c08e2b3f48103f23M#%; OsetBorderPenQCPLegend::setBorderPena866a9e3f5267de7430a6c7f26a61db9fW"/E OselectedTextColorQCPLegend::selectedTextColora08005f3c17728c2c4e23b8ffc0842ffbM!%; OselectedFontQCPLegend::selectedFonta4c1b08fc0afacb4ffd54f6a49737fa77 T 8àŠ*ÞžDú´T]65K OhasItemWithPlottableQCPLegend::hasItemWithPlottablea2eb1d24bdf5658e64962a656303fd61aC51 OhasItemQCPLegend::hasItema380dd19eb631592e1ebb9b24cc5b398aG45 OitemCountQCPLegend::itemCounta198228e9cdc78d3a3c306fa6763d0404W3/E OitemWithPlottableQCPLegend::itemWithPlottablea5ee80cf83f65e3b6dd386942ee3cc1ee=2+ OitemQCPLegend::itema454272d7094437beb3278a2294006da5I1!7 OselectTestQCPLegend::selectTestaa3892801051bc7b985e003576df844db]05K OsetSelectedTextColorQCPLegend::setSelectedTextColora7674dfc7a1f30e1abd1018c0ed45e0bcS/+A OsetSelectedFontQCPLegend::setSelectedFontab580a01c3c0a239374ed66c29edf5ad2U.-C OsetSelectedBrushQCPLegend::setSelectedBrusha875227f3219c9799464631dec5e8f1bde-=S OsetSelectedIconBorderPenQCPLegend::setSelectedIconBorderPenade93aabe9bcccaf9cf46cec22c658027],5K OsetSelectedBorderPenQCPLegend::setSelectedBorderPena2c35d262953a25d96b6112653fbefc88 ~ºn"Ј:Ú€.â~aA9O OsetColumnStretchFactorQCPLegend::setColumnStretchFactorae38f31a71687b9d7ee3104852528fb50I@!7 OrowSpacingQCPLegend::rowSpacingabccdd33c1b284feb6df90fa02f23d9a3O?'= OcolumnSpacingQCPLegend::columnSpacinga3de19753fdca81194458cb15156f7315W>/E OrowStretchFactorsQCPLegend::rowStretchFactorsa3744496abf73c8e3b464181d63bb20a7]=5K OcolumnStretchFactorsQCPLegend::columnStretchFactorsa39bd7994d00687d1b9defef6f1bda835K<#9 OcolumnCountQCPLegend::columnCountac39074eafd148b82d0762090f258189eE;3 OrowCountQCPLegend::rowCountaf8e6c7a05864ebe610c87756c7b9079cO:'= OselectedItemsQCPLegend::selectedItemsac93eaf236e911d67aa8b88942ef45c5eI9!7 OclearItemsQCPLegend::clearItemsa24795c7250eb5214fcea16b7217b4dfbI8!7 OremoveItemQCPLegend::removeItemac91595c3eaa746fe6321d2eb952c63bbC71 OaddItemQCPLegend::addItema3ab274de52d2951faea45a6d975e6b3f 4š<Ü„2â’HÄ|4EM3 OsimplifyQCPLegend::simplifya08bba60e4acd20165526a8fd7f986b58EL3 OelementsQCPLegend::elementsae9e24e01552f6667b6d05b12a54a4caa=K+ OtakeQCPLegend::takea666a9fe9e92054436f9b66eba25cca0cAJ/ OtakeAtQCPLegend::takeAtacc1277394ff8a6432e111ff9463e6375GI5 OelementAtQCPLegend::elementAta26849ee5c47b4c940e8d65e8462f1065MH%; OelementCountQCPLegend::elementCountaa682b1d36660478f665bab3c64e956a9MG%; OupdateLayoutQCPLegend::updateLayouta07f8dd7d3d61d7345026621d446042a4OF'= OsetRowSpacingQCPLegend::setRowSpacingaaef2cd2d456197ee06a208793678e436UE-C OsetColumnSpacingQCPLegend::setColumnSpacinga3a49272aba32bb0fddc3bb2a45a3dba0]D5K OsetRowStretchFactorsQCPLegend::setRowStretchFactorsa200b45f9c908f96ebadaa3c8d87a2782[C3I OsetRowStretchFactorQCPLegend::setRowStretchFactora7b0273de5369bd93d942edbaf5b166eccB;Q OsetColumnStretchFactorsQCPLegend::setColumnStretchFactorsa6c2591d1a7e2534ce036989543b49e57 >ªTÂv.ä”PÄ‚>AZ/ OlayoutQCPLegend::layouta6235f5384db871fc6e3387a1bc558b0d?Y- OclearQCPLegend::cleara02883bdf2769b5b227f0232dba1ac4eeAX/ OremoveQCPLegend::removea6c58f537d8086f352576ab7c5b15d0bcEW3 OremoveAtQCPLegend::removeAta2403f684fee3ce47132faaeed00bb066AV/ OupdateQCPLegend::updatea91321049c2e37e372abd118095f65b87MU%; OinsertColumnQCPLegend::insertColumna1e880a321dbe8b43b471ccd764433dc4GT5 OinsertRowQCPLegend::insertRowa48af3dd7c3a653d9c3d7dd99bd02e838ES3 OexpandToQCPLegend::expandToa886c0dcbabd51a45da399e044552b685IR!7 OhasElementQCPLegend::hasElementab0cf4f7edc9414a3bfaddac0f46dc0a0IQ!7 OaddElementQCPLegend::addElementadff1a2ca691ed83d2d24a4cd1fe17012CP1 OelementQCPLegend::elementa525f25e6ba43ee228151d074251b4e6aSO+A OmaximumSizeHintQCPLegend::maximumSizeHinta1ec4bf5914900a51829a7919f74aa58cSN+A OminimumSizeHintQCPLegend::minimumSizeHinta67aae235fb4dd9a479aafe07462ef9ee ^Àv0ÜŽ@ò¤T¸^Wf/E OsetMinimumMarginsQCPLegend::setMinimumMarginsa0a8a17abc16b7923159fcc7608f94673Ie!7 OsetMarginsQCPLegend::setMarginsa8f450b1f3f992ad576fce2c63d8b79cfMd%; OsetOuterRectQCPLegend::setOuterRecta38975ea13e36de8e53391ce41d94bc0fMc%; OmarginGroupsQCPLegend::marginGroupsac43921c997570389c14a1671bc3ea499Kb#9 OmarginGroupQCPLegend::marginGroupa22cb1bb62c452fd802e43ca2524660dbKa#9 OmaximumSizeQCPLegend::maximumSizea1fc85c79e15c2ab8051eccd455fccc4aK`#9 OminimumSizeQCPLegend::minimumSizeae71f9230171d2d898e21dc461fc3df03K_#9 OautoMarginsQCPLegend::autoMarginsa2f499b1179b3126e22d0d7508124ccb3Q^)? OminimumMarginsQCPLegend::minimumMarginsa60ec7f377c26726174d536bffb632002C]1 OmarginsQCPLegend::marginsa85ff977dfcced84eef32d9f819ec9543G\5 OouterRectQCPLegend::outerRecta60bbddee2d1230c2414bd776f44d17b8=[+ OrectQCPLegend::rectaffdfea003469aac3d0fac5f4e06171bc P¬X°jȆ8ì¤PQr)? OsetAntialiasedQCPLegend::setAntialiaseda4fd43e89be4a553ead41652565ff0581Eq3 OsetLayerQCPLegend::setLayerab0d0da6d2de45a118886d2c8e16d5a54Ip!7 OsetVisibleQCPLegend::setVisiblea3bed99ddc396b48ce3ebfdc0418744f8Ko#9 OantialiasedQCPLegend::antialiasedaef5cb4aa899ed9dc9384fd614560291e?n- OlayerQCPLegend::layeraea67e8c19145e70d68c286a36f6b8300Sm+A OparentLayerableQCPLegend::parentLayerablea98d79f5b716d45eac4347befe546d0ecIl!7 OparentPlotQCPLegend::parentPlotab7e0e94461566093d36ffc0f5312b109Ck1 OvisibleQCPLegend::visiblea10a3cc92e0fa63e4a929e61d34e275a7Qj)? OsetMarginGroupQCPLegend::setMarginGroupa516e56f76b6bc100e8e71d329866847dQi)? OsetMaximumSizeQCPLegend::setMaximumSizea74eb5280a737ab44833d506db65efd95Qh)? OsetMinimumSizeQCPLegend::setMinimumSizea5dd29a3c8bc88440c97c06b67be7886bQg)? OsetAutoMarginsQCPLegend::setAutoMarginsaccfda49994e3e6d51ed14504abf9d27d N¬Tò˜(èšHø°N_}7M OgetMinimumRowColSizesQCPLegend::getMinimumRowColSizesac645fb9b1c4257b08a9f09dee10b9b3fE|3 OgetBrushQCPLegend::getBrusha236fe4cd617c9f88620fd9de74417f20M{%; OgetBorderPenQCPLegend::getBorderPena60172c9d2212584f38f5d0c1e50970c7Oz'= OdeselectEventQCPLegend::deselectEventa5208ead4331c9b0440f768f059777c58Ky#9 OselectEventQCPLegend::selectEventaf93bf87dc5c383a9d2ada80b35f3a1a5=x+ OdrawQCPLegend::drawa4462151bf875ca85fa3815457c683fdcmwE[ OapplyDefaultAntialiasingHintQCPLegend::applyDefaultAntialiasingHinta26307f532c3458b379663b7d517a5f47Wv/E OselectionCategoryQCPLegend::selectionCategorya7a9795a28c9c2514b4ae50f0a63d407c_u7M OparentPlotInitializedQCPLegend::parentPlotInitializeda4d552c63d82742d77fb7f177bae7b1baUt-C OselectionChangedQCPLegend::selectionChangeda286149b644d5f5c884a0140219d979f6Qs)? OrealVisibilityQCPLegend::realVisibilitya30809f7455e9794bca7b6c737622fa63 0ž:ê–@âŒ8Þ|0IŽ!7 OwheelEventQCPLegend::wheelEventa300521d2fd18a893c1b85f6be11ce2bf_Ž7M OmouseDoubleClickEventQCPLegend::mouseDoubleClickEventaa8fef6486cb6ceb7c82cbdd50bc32ee9WŽ/E OmouseReleaseEventQCPLegend::mouseReleaseEventae526ac828cce1e5bb94eaa85776d7404QŽ)? OmouseMoveEventQCPLegend::mouseMoveEventa14f4acf58cdb8dd2c6c571479c4c4a40SŽ+A OmousePressEventQCPLegend::mousePressEventa2d82ea21fe0ee628f177bd824bc51a71[Ž3I OcalculateAutoMarginQCPLegend::calculateAutoMargina005c9f0fe84bc1591a2cf2c46fd477b4SŽ+A OgetSectionSizesQCPLegend::getSectionSizesa92d9dcd95e9510b323706ef7fc4ff62eQŽ)? OreleaseElementQCPLegend::releaseElementa4afbb4bef0071f72f91afdac4433a18eMŽ%; OadoptElementQCPLegend::adoptElementaf6dbbc24156a808da29cd1ec031729a3a9O OsizeConstraintsChangedQCPLegend::sizeConstraintsChangeda6218cd7e5c0e30077c1aeaffe55b6145_~7M OgetMaximumRowColSizesQCPLegend::getMaximumRowColSizesaf348d903e3b8bc416f1fe1b8125d1173 L¸Xü®Lævè’LCŽ5 OstyleQCPLineEnding::style‘aea324dbfddbca9895ca8a3a968671299SŽ'E OQCPLineEndingQCPLineEnding::QCPLineEnding‘af2eaf8123b000d97fbd11929c669f61b#Ž'' QCPLineEndingQCPLineEnding‘eŽ1 spItemsQCPLegend::spItemsa5404de8bc1e4a994ca4ae69e2c7072f1a768bfb95f323db4c66473375032c0af7mŽ#9 spLegendBoxQCPLegend::spLegendBoxa5404de8bc1e4a994ca4ae69e2c7072f1a0fa4758962a46fa1dc9da818abae23c4cŽ/ spNoneQCPLegend::spNonea5404de8bc1e4a994ca4ae69e2c7072f1a378201c07d500af7126e3ec91652eed7_Ž 7M OapplyAntialiasingHintQCPLegend::applyAntialiasingHinta62bd552d1a45aa9accb24b310542279eKŽ #9 OmoveToLayerQCPLegend::moveToLayeraf94484cfb7cbbddb7de522e9be71d9a4YŽ 1G OsetParentLayerableQCPLegend::setParentLayerableaa23c893671f1f6744ac235cf2204cf3a]Ž 5K OinitializeParentPlotQCPLegend::initializeParentPlota8cbe5a0c9a5674249982f5ca5f8e02bcEŽ 3 OclipRectQCPLegend::clipRecta07a8f746640c3704b09910df297afcba ºr&ÚŽ@î’Bþ” qŽ#A esFlatArrowQCPLineEnding::esFlatArrow‘a5ef16e6876b4b74959c7261d8d4c2cd5a3d7dcea2f100671727c3417142154f8fgŽ7 esNoneQCPLineEnding::esNone‘a5ef16e6876b4b74959c7261d8d4c2cd5aca12d500f50cd6871766801bac30fb03AŽ3 OdrawQCPLineEnding::draw‘ac4b2fa94bd27b2f008b5fc090fcd7c0bMŽ!? OrealLengthQCPLineEnding::realLength‘a6a528e6dc5aabe1077a573b045715f03YŽ-K OboundingDistanceQCPLineEnding::boundingDistance‘a586b45cf738881a70119e353dc1ed59cOŽ#A OsetInvertedQCPLineEnding::setInverted‘a580e4e2360b35ebb8d68f3494aa2335dKŽ= OsetLengthQCPLineEnding::setLength‘ae36fa01763751cd64b7f56c3507e935aIŽ; OsetWidthQCPLineEnding::setWidth‘a26dc020ea985a72cc25881ce2115e34eIŽ; OsetStyleQCPLineEnding::setStyle‘a56953b9cb8ed1bed0f025c3935f16910IŽ; OinvertedQCPLineEnding::inverted‘aa4ffbb182cbc89fc3d92eb348630502cEŽ7 OlengthQCPLineEnding::length‘a1744315d7b73f6e7ead3621e2cb18c28CŽ5 OwidthQCPLineEnding::width‘a028328ee3fb139a40acaf65fb56edf67 ZЬ>Îfö‚Z%Ž()) QCPMarginGroupQCPMarginGroup“qŽ'#A esSkewedBarQCPLineEnding::esSkewedBar‘a5ef16e6876b4b74959c7261d8d4c2cd5a2b2cc96e757ca9bcd91fb70221ed43abmŽ&= esHalfBarQCPLineEnding::esHalfBar‘a5ef16e6876b4b74959c7261d8d4c2cd5a126c390f0c359fcd8df1fc5e38d26d5beŽ%5 esBarQCPLineEnding::esBar‘a5ef16e6876b4b74959c7261d8d4c2cd5a2cf543bbca332df26d89bf779f50469fmŽ$= esDiamondQCPLineEnding::esDiamond‘a5ef16e6876b4b74959c7261d8d4c2cd5a378fe5a8b768411b0bc1765210fe7200kŽ#; esSquareQCPLineEnding::esSquare‘a5ef16e6876b4b74959c7261d8d4c2cd5ae1836502fa43d8990bb62b2d493a140agŽ"7 esDiscQCPLineEnding::esDisc‘a5ef16e6876b4b74959c7261d8d4c2cd5ae5a3414916817258bcc6dddd605e8f5cqŽ!#A esLineArrowQCPLineEnding::esLineArrow‘a5ef16e6876b4b74959c7261d8d4c2cd5a61f78ee8f375fb21cb9d250687bbcbd2sŽ %C esSpikeArrowQCPLineEnding::esSpikeArrow‘a5ef16e6876b4b74959c7261d8d4c2cd5ab9964d0d03f812d1e79de15edbeb2cbf 4§ZÈs&Ó³fÒ{4DŽ53 OsetModeQCPPainter::setMode•af6b1f7d2bbc548b10aa55d8b6ad49577TŽ4+C OsetAntialiasingQCPPainter::setAntialiasing•aaba1deb9188244d9ea65b035112b4d05@Ž3/ OmodesQCPPainter::modes•a99b89eaf5363faaa1e1e6162856f436cNŽ2%= OantialiasingQCPPainter::antialiasing•a13370d7996315a7150be2fc868da3d4aJŽ1!9 OQCPPainterQCPPainter::QCPPainter•a3c52cb0f43f34573d29bea487da28fe8Ž0!! QCPPainterQCPPainter•PŽ/#C OremoveChildQCPMarginGroup::removeChild“a20ab3286062957d99b58db683fe725b0JŽ.= OaddChildQCPMarginGroup::addChild“acb9c3a35acec655c2895b7eb95ee0524RŽ-%E OcommonMarginQCPMarginGroup::commonMargin“aeaeba9068dba2ef8be41449f0f2582f7DŽ,7 OclearQCPMarginGroup::clear“a144b67f216e4e86c3a3a309e850285feHŽ+; OisEmptyQCPMarginGroup::isEmpty“a28c8e87a0b87c01bd28c693faabddd7bJŽ*= OelementsQCPMarginGroup::elements“a2f39e319c9ece34e0392c2ca350f1069VŽ))I OQCPMarginGroupQCPMarginGroup::QCPMarginGroup“ac481c20678ec5b305d6df330715f4b7b A·t/æ¥^š'¶ArŽ@'? pmNonCosmeticQCPPainter::pmNonCosmetic•a156cf16444ff5e0d81a73c615fdb156dac1e481bfaf408f2bd2eaad3ec341f36bnŽ?#; pmNoCachingQCPPainter::pmNoCaching•a156cf16444ff5e0d81a73c615fdb156dae78f9a4eb277a5f9207f50850a51a0b0pŽ>%= pmVectorizedQCPPainter::pmVectorized•a156cf16444ff5e0d81a73c615fdb156daeda679cd55dcd468341d07d48a30b6abjŽ=7 pmDefaultQCPPainter::pmDefault•a156cf16444ff5e0d81a73c615fdb156da3bac5e87e3d58553b297befb4eee2a45TŽ<+C OmakeNonCosmeticQCPPainter::makeNonCosmetic•a7e63fbcf47e35c6f2ecd11b8fef7c7d8DŽ;3 OrestoreQCPPainter::restore•a64908e6298d5bbd83457dc987cc3a022>Ž:- OsaveQCPPainter::save•a8fd6821ee6fecbfa04444c9062912abdFŽ95 OdrawLineQCPPainter::drawLine•a0b4b1b9bd495e182c731774dc800e6e0BŽ81 OsetPenQCPPainter::setPen•af9c7a4cd1791403901f8c5b82a150195@Ž7/ ObeginQCPPainter::begin•a0a41146ccd619dceab6e25ec7b46b044FŽ65 OsetModesQCPPainter::setModes•a5fac93adc29c7c4dea9f3e171e9e635e :ÈW£Vÿ¢;â:PŽKK OsetFontQCPPlottableLegendItem::setFont–a409c53455d8112f71d70c0c43eb10265RŽJM OselectedQCPPlottableLegendItem::selected–ac776e68e3367704452131c6aa9908bb9VŽI!Q OselectableQCPPlottableLegendItem::selectable–a0a0205f33f37edae50826c24cb8f1983dŽH/_ OselectedTextColorQCPPlottableLegendItem::selectedTextColor–a076db1717257b82875b12a15ecf99ba3ZŽG%U OselectedFontQCPPlottableLegendItem::selectedFont–afccfe665eb8483cec924a9c0a53ddf2bTŽFO OtextColorQCPPlottableLegendItem::textColor–a444caef8565ac8d8653269f14d82b42dJŽEE OfontQCPPlottableLegendItem::font–ae476404706638d84fadc01021df2b19eZŽD%U OparentLegendQCPPlottableLegendItem::parentLegend–afcd683e43058f99a47d6546eedffc5c1TŽCO OplottableQCPPlottableLegendItem::plottable–af29e9a2c60b4cba0cac2447b8af7b488nŽB9i OQCPPlottableLegendItemQCPPlottableLegendItem::QCPPlottableLegendItem–ac1072591fe409d3dabad51b23ee4d6c55ŽA99 QCPPlottableLegendItemQCPPlottableLegendItem– x£@ÓtÀo"ËxPŽUK OmarginsQCPPlottableLegendItem::margins–a85ff977dfcced84eef32d9f819ec9543TŽTO OouterRectQCPPlottableLegendItem::outerRect–a60bbddee2d1230c2414bd776f44d17b8JŽSE OrectQCPPlottableLegendItem::rect–affdfea003469aac3d0fac5f4e06171bcNŽRI OlayoutQCPPlottableLegendItem::layout–a6235f5384db871fc6e3387a1bc558b0dVŽQ!Q OselectTestQCPPlottableLegendItem::selectTest–ad0480d5cad34627a294a2921caa4a62fXŽP#S OsetSelectedQCPPlottableLegendItem::setSelected–a6eed93b0ab99cb3eabb043fb08179c2b\ŽO'W OsetSelectableQCPPlottableLegendItem::setSelectable–a9913ef48730551b696e7f98a2391c599jŽN5e OsetSelectedTextColorQCPPlottableLegendItem::setSelectedTextColor–a4d01d008ee1a5bfe9905b0397a421936`ŽM+[ OsetSelectedFontQCPPlottableLegendItem::setSelectedFont–a91db5aee48617a9d3206e61376807365ZŽL%U OsetTextColorQCPPlottableLegendItem::setTextColor–a6ebace6aaffaedcdab2d74e88acc2d1e XŸDéŽ3Öy ¹X^Ž_)Y OsetAutoMarginsQCPPlottableLegendItem::setAutoMargins–accfda49994e3e6d51ed14504abf9d27ddŽ^/_ OsetMinimumMarginsQCPPlottableLegendItem::setMinimumMargins–a0a8a17abc16b7923159fcc7608f94673VŽ]!Q OsetMarginsQCPPlottableLegendItem::setMargins–a8f450b1f3f992ad576fce2c63d8b79cfZŽ\%U OsetOuterRectQCPPlottableLegendItem::setOuterRect–a38975ea13e36de8e53391ce41d94bc0fZŽ[%U OmarginGroupsQCPPlottableLegendItem::marginGroups–ac43921c997570389c14a1671bc3ea499XŽZ#S OmarginGroupQCPPlottableLegendItem::marginGroup–a22cb1bb62c452fd802e43ca2524660dbXŽY#S OmaximumSizeQCPPlottableLegendItem::maximumSize–a1fc85c79e15c2ab8051eccd455fccc4aXŽX#S OminimumSizeQCPPlottableLegendItem::minimumSize–ae71f9230171d2d898e21dc461fc3df03XŽW#S OautoMarginsQCPPlottableLegendItem::autoMargins–a2f499b1179b3126e22d0d7508124ccb3^ŽV)Y OminimumMarginsQCPPlottableLegendItem::minimumMargins–a60ec7f377c26726174d536bffb632002 vŸ>ÝŒ)Ô(ÅvLŽiG OlayerQCPPlottableLegendItem::layer–aea67e8c19145e70d68c286a36f6b8300`Žh+[ OparentLayerableQCPPlottableLegendItem::parentLayerable–a98d79f5b716d45eac4347befe546d0ecVŽg!Q OparentPlotQCPPlottableLegendItem::parentPlot–ab7e0e94461566093d36ffc0f5312b109PŽfK OvisibleQCPPlottableLegendItem::visible–a10a3cc92e0fa63e4a929e61d34e275a7RŽeM OelementsQCPPlottableLegendItem::elements–a311d60d78e62ef8eaaedb1b6ceb9e788`Žd+[ OmaximumSizeHintQCPPlottableLegendItem::maximumSizeHint–adbd3a00fec44c977150c6be7329eb801NŽcI OupdateQCPPlottableLegendItem::update–a46d52cb1f07ba05564920321f4ada184^Žb)Y OsetMarginGroupQCPPlottableLegendItem::setMarginGroup–a516e56f76b6bc100e8e71d329866847d^Ža)Y OsetMaximumSizeQCPPlottableLegendItem::setMaximumSize–a74eb5280a737ab44833d506db65efd95^Ž`)Y OsetMinimumSizeQCPPlottableLegendItem::setMinimumSize–a5dd29a3c8bc88440c97c06b67be7886b ^¥L÷–5Ѓ »^ZŽs%U OgetTextColorQCPPlottableLegendItem::getTextColor–ad762b07439c738660ba93e78c1d03667bŽr-] OgetIconBorderPenQCPPlottableLegendItem::getIconBorderPen–ab36270e6b022a6961fa44136f35c0e4b`Žq+[ OminimumSizeHintQCPPlottableLegendItem::minimumSizeHint–a76bad654ebc8e870392f488419a6a483JŽpE OdrawQCPPlottableLegendItem::draw–a68a781c3de4f9959fdf82075052d43aabŽo-] OselectionChangedQCPPlottableLegendItem::selectionChanged–a7cb61fdfbaf69c590bacb8f9e7099d9e^Žn)Y OrealVisibilityQCPPlottableLegendItem::realVisibility–a30809f7455e9794bca7b6c737622fa63^Žm)Y OsetAntialiasedQCPPlottableLegendItem::setAntialiased–a4fd43e89be4a553ead41652565ff0581RŽlM OsetLayerQCPPlottableLegendItem::setLayer–ab0d0da6d2de45a118886d2c8e16d5a54VŽk!Q OsetVisibleQCPPlottableLegendItem::setVisible–a3bed99ddc396b48ce3ebfdc0418744f8XŽj#S OantialiasedQCPPlottableLegendItem::antialiased–aef5cb4aa899ed9dc9384fd614560291e $­FÉtºOì‹$dŽ}/_ OmouseReleaseEventQCPPlottableLegendItem::mouseReleaseEvent–ae526ac828cce1e5bb94eaa85776d7404^Ž|)Y OmouseMoveEventQCPPlottableLegendItem::mouseMoveEvent–a14f4acf58cdb8dd2c6c571479c4c4a40`Ž{+[ OmousePressEventQCPPlottableLegendItem::mousePressEvent–a2d82ea21fe0ee628f177bd824bc51a71hŽz3c OcalculateAutoMarginQCPPlottableLegendItem::calculateAutoMargin–a005c9f0fe84bc1591a2cf2c46fd477b4\Žy'W OdeselectEventQCPPlottableLegendItem::deselectEvent–ae64e667e7c5b85cd92c9b91928faef28XŽx#S OselectEventQCPPlottableLegendItem::selectEvent–abcfe9e335d99c7fac74e03d26723c1b7RŽwM OclipRectQCPPlottableLegendItem::clipRect–abcb540c331b49ef7ee0ea1abbd0dcac3zŽvEu OapplyDefaultAntialiasingHintQCPPlottableLegendItem::applyDefaultAntialiasingHint–a71c3baeda42ba78d2cccd97e74110a5edŽu/_ OselectionCategoryQCPPlottableLegendItem::selectionCategory–a53a80054ab329beaca072fb08c08944bPŽtK OgetFontQCPPlottableLegendItem::getFont–a8a85c8a25affb4895423d730164d61de ,‘8É\ó˜)²o,@1 OfontQCPPlotTitle::font˜aa5f4cf007db51ccdd1c137191f564119@1 OtextQCPPlotTitle::text˜aeaa6f2384a611e8a610262b976b3cee5P%A OQCPPlotTitleQCPPlotTitle::QCPPlotTitle˜aaae17bee2de6d6a1e695f76fb1abed03!%% QCPPlotTitleQCPPlotTitle˜l7g OapplyAntialiasingHintQCPPlottableLegendItem::applyAntialiasingHint–a62bd552d1a45aa9accb24b310542279eX#S OmoveToLayerQCPPlottableLegendItem::moveToLayer–af94484cfb7cbbddb7de522e9be71d9a4f1a OsetParentLayerableQCPPlottableLegendItem::setParentLayerable–aa23c893671f1f6744ac235cf2204cf3aj5e OinitializeParentPlotQCPPlottableLegendItem::initializeParentPlot–a8cbe5a0c9a5674249982f5ca5f8e02bcl7g OparentPlotInitializedQCPPlottableLegendItem::parentPlotInitialized–a1478899e80e8244b411e96ec3b2e5ce2VŽ!Q OwheelEventQCPPlottableLegendItem::wheelEvent–a300521d2fd18a893c1b85f6be11ce2bflŽ~7g OmouseDoubleClickEventQCPPlottableLegendItem::mouseDoubleClickEvent–aa8fef6486cb6ceb7c82cbdd50bc32ee9 "³`´i ׄ+Ès"N#? OsetSelectedQCPPlotTitle::setSelected˜a8d441a889d371307df86f1ab7687a333R'C OsetSelectableQCPPlotTitle::setSelectable˜a8866b07b9fa14877d4cefbf38406c5dd`5Q OsetSelectedTextColorQCPPlotTitle::setSelectedTextColor˜a09ffd8c52ac8824d00382f84be391b66V+G OsetSelectedFontQCPPlotTitle::setSelectedFont˜a5245980ead999ceed51dbe702d0e3131P%A OsetTextColorQCPPlotTitle::setTextColor˜a71273e3a0ca6b4c151591b37b9e5ce33F7 OsetFontQCPPlotTitle::setFont˜a199fc7170802ea65006c371875349e37F7 OsetTextQCPPlotTitle::setText˜aae5a93e88050dfb2cbf6adc087516821H 9 OselectedQCPPlotTitle::selected˜a9771f3a4bca026484d7c8b5d953b5e82L != OselectableQCPPlotTitle::selectable˜a8d75c7cbcf2049c9512a3335d6f11416Z /K OselectedTextColorQCPPlotTitle::selectedTextColor˜ab2262e40edfc41540c1dbc1c4234f9d2P %A OselectedFontQCPPlotTitle::selectedFont˜aa865a3656e01ee8db41837afa892f2a3J ; OtextColorQCPPlotTitle::textColor˜a69f2cae768ff84dbf9f8a387ad617781 P±j'Ú‘:é˜Gö£PP %A OsetOuterRectQCPPlotTitle::setOuterRect˜a38975ea13e36de8e53391ce41d94bc0fP%A OmarginGroupsQCPPlotTitle::marginGroups˜ac43921c997570389c14a1671bc3ea499N#? OmarginGroupQCPPlotTitle::marginGroup˜a22cb1bb62c452fd802e43ca2524660dbN#? OmaximumSizeQCPPlotTitle::maximumSize˜a1fc85c79e15c2ab8051eccd455fccc4aN#? OminimumSizeQCPPlotTitle::minimumSize˜ae71f9230171d2d898e21dc461fc3df03N#? OautoMarginsQCPPlotTitle::autoMargins˜a2f499b1179b3126e22d0d7508124ccb3T)E OminimumMarginsQCPPlotTitle::minimumMargins˜a60ec7f377c26726174d536bffb632002F7 OmarginsQCPPlotTitle::margins˜a85ff977dfcced84eef32d9f819ec9543J; OouterRectQCPPlotTitle::outerRect˜a60bbddee2d1230c2414bd776f44d17b8@1 OrectQCPPlotTitle::rect˜affdfea003469aac3d0fac5f4e06171bcD5 OlayoutQCPPlotTitle::layout˜a6235f5384db871fc6e3387a1bc558b0dL!= OselectTestQCPPlotTitle::selectTest˜a5b7ae716be9134a48f4e378feb0e6699 0±Tý¦Oø±fÎu0B,3 OlayerQCPPlotTitle::layer˜aea67e8c19145e70d68c286a36f6b8300V++G OparentLayerableQCPPlotTitle::parentLayerable˜a98d79f5b716d45eac4347befe546d0ecL*!= OparentPlotQCPPlotTitle::parentPlot˜ab7e0e94461566093d36ffc0f5312b109F)7 OvisibleQCPPlotTitle::visible˜a10a3cc92e0fa63e4a929e61d34e275a7H(9 OelementsQCPPlotTitle::elements˜a311d60d78e62ef8eaaedb1b6ceb9e788D'5 OupdateQCPPlotTitle::update˜a46d52cb1f07ba05564920321f4ada184T&)E OsetMarginGroupQCPPlotTitle::setMarginGroup˜a516e56f76b6bc100e8e71d329866847dT%)E OsetMaximumSizeQCPPlotTitle::setMaximumSize˜a74eb5280a737ab44833d506db65efd95T$)E OsetMinimumSizeQCPPlotTitle::setMinimumSize˜a5dd29a3c8bc88440c97c06b67be7886bT#)E OsetAutoMarginsQCPPlotTitle::setAutoMargins˜accfda49994e3e6d51ed14504abf9d27dZ"/K OsetMinimumMarginsQCPPlotTitle::setMinimumMargins˜a0a8a17abc16b7923159fcc7608f94673L!!= OsetMarginsQCPPlotTitle::setMargins˜a8f450b1f3f992ad576fce2c63d8b79cf S¯`¾g ™Vý¤SN7#? OselectEventQCPPlotTitle::selectEvent˜a22672ef2abe442b1e73b7ee04cff9bddV6+G OmaximumSizeHintQCPPlotTitle::maximumSizeHint˜a2afaf11a379038e5ca58040a0eb0ae4cV5+G OminimumSizeHintQCPPlotTitle::minimumSizeHint˜a695e6037e72a1e129387e7e4a980faea@41 OdrawQCPPlotTitle::draw˜ae4f1f8d24489628dabb7256363b097d2p3Ea OapplyDefaultAntialiasingHintQCPPlotTitle::applyDefaultAntialiasingHint˜a0e2a491864bf8d8e8b159ef38e9d85bdX2-I OselectionChangedQCPPlotTitle::selectionChanged˜a3a01ede2da3b0b5eda33aa5274cc3523T1)E OrealVisibilityQCPPlotTitle::realVisibility˜a30809f7455e9794bca7b6c737622fa63T0)E OsetAntialiasedQCPPlotTitle::setAntialiased˜a4fd43e89be4a553ead41652565ff0581H/9 OsetLayerQCPPlotTitle::setLayer˜ab0d0da6d2de45a118886d2c8e16d5a54L.!= OsetVisibleQCPPlotTitle::setVisible˜a3bed99ddc396b48ce3ebfdc0418744f8N-#? OantialiasedQCPPlotTitle::antialiased˜aef5cb4aa899ed9dc9384fd614560291e '«` ªQú8é„'ZB/K OselectionCategoryQCPPlotTitle::selectionCategory˜aa4035e586b7f317a06ba7e74e242a5eabA7S OparentPlotInitializedQCPPlotTitle::parentPlotInitialized˜a1478899e80e8244b411e96ec3b2e5ce2L@!= OwheelEventQCPPlotTitle::wheelEvent˜a300521d2fd18a893c1b85f6be11ce2bfb?7S OmouseDoubleClickEventQCPPlotTitle::mouseDoubleClickEvent˜aa8fef6486cb6ceb7c82cbdd50bc32ee9Z>/K OmouseReleaseEventQCPPlotTitle::mouseReleaseEvent˜ae526ac828cce1e5bb94eaa85776d7404T=)E OmouseMoveEventQCPPlotTitle::mouseMoveEvent˜a14f4acf58cdb8dd2c6c571479c4c4a40V<+G OmousePressEventQCPPlotTitle::mousePressEvent˜a2d82ea21fe0ee628f177bd824bc51a71^;3O OcalculateAutoMarginQCPPlotTitle::calculateAutoMargin˜a005c9f0fe84bc1591a2cf2c46fd477b4R:'C OmainTextColorQCPPlotTitle::mainTextColor˜ac1b02546563a2e76f97d78a576f82f5aH99 OmainFontQCPPlotTitle::mainFont˜a7e74004e3a68118b16491848708a8b3aR8'C OdeselectEventQCPPlotTitle::deselectEvent˜ac6dfce05bebdb9bd0bfacd5ff02f3325 &µRó¢=!Ú›XÌ…&\O5I OsanitizedForLogScaleQCPRange::sanitizedForLogScalešaaf6a9046e78d91eeb8e89584fe46b034DN1 OexpandedQCPRange::expandedša6437bdf29a7ebc2c88a6045c4e622384@M- OexpandQCPRange::expandša0fa1bc8048be50d52bea93a8caf08305FL3 OnormalizeQCPRange::normalizešaf914a7740269b0604d0827c634a878a9@K- OcenterQCPRange::centerša3825b53cf17da5de0843c1f3baad07dbS+ OupperQCPRange::upperšae44eb3aafe1d0e2ed34b499b6d2e074f>R+ OlowerQCPRange::loweršaa3aca3edb14f7ca0c85d912647b91745DQ1 OcontainsQCPRange::containsša030ce95b527c32e01414d0351347b46d\P5I OsanitizedForLinScaleQCPRange::sanitizedForLinScaleša1ff029704c29a75adbc1dc36cecaf44c N¶dÊ€2âŠ@êžNMhA OdrawShapeQCPScatterStyle::drawShape›a992d531ac471ec2b29bdec6aeb400a06Ig= OapplyToQCPScatterStyle::applyTo›a81817dfd404635f211e6ff2a04657d36Sf%G OisPenDefinedQCPScatterStyle::isPenDefined›a7f1385a8d5e4f349a6b8030723fbd0f7Ge; OisNoneQCPScatterStyle::isNone›aa3861281108d0adbeb291c820ea3925cUd'I OsetCustomPathQCPScatterStyle::setCustomPath›a96a3e949f90b2afe5677ca9412a12a1eMcA OsetPixmapQCPScatterStyle::setPixmap›a5fb611d46acfac520d7b89a1c71d9246Kb? OsetBrushQCPScatterStyle::setBrush›a74d692aaeb8d4b36d6f7d510e44264b1Ga; OsetPenQCPScatterStyle::setPen›a761f1f229cc0ca4703e1e2b89f6dd1baK`? OsetShapeQCPScatterStyle::setShape›a7c641c4d4c6d29cb705d3887cfce91c1I_= OsetSizeQCPScatterStyle::setSize›aaefdd031052892c4136129db68596e0fO^!C OcustomPathQCPScatterStyle::customPath›a4dd4998dfb0d6889205668a06c790328G]; OpixmapQCPScatterStyle::pixmap›a9bab44cc41fcd585621a4b3e0e48231b &”*¼Pàt’&iq; ssStarQCPScatterStyle::ssStar›adb31525af6b680e6f1b7472e43859349a6047a2d64e41f1d6ce54445d595d442fopA ssDiamondQCPScatterStyle::ssDiamond›adb31525af6b680e6f1b7472e43859349a4fc5929df1b2dad0a3cb2ef2c8b6e633mo? ssSquareQCPScatterStyle::ssSquare›adb31525af6b680e6f1b7472e43859349a279e48703ddc9f1cf4a61d3e2817ab3cin; ssDiscQCPScatterStyle::ssDisc›adb31525af6b680e6f1b7472e43859349a281fe1434696dcbab3aa6b9ccfbb09e9mm? ssCircleQCPScatterStyle::ssCircle›adb31525af6b680e6f1b7472e43859349a7c92a110880d0ef2170dff3a5b4f7779il; ssPlusQCPScatterStyle::ssPlus›adb31525af6b680e6f1b7472e43859349a2d7f1d3c1a148b9d9d17f2fd9cae5eb7kk= ssCrossQCPScatterStyle::ssCross›adb31525af6b680e6f1b7472e43859349a9eacd60f059dc3ef71bf249f515a6fe4gj9 ssDotQCPScatterStyle::ssDot›adb31525af6b680e6f1b7472e43859349a06e15a735b79093a1d999c0374fa3aa1ii; ssNoneQCPScatterStyle::ssNone›adb31525af6b680e6f1b7472e43859349abd144c291ca274f77053ec68cab6c022 EŒ›#µEmy? ssPixmapQCPScatterStyle::ssPixmap›adb31525af6b680e6f1b7472e43859349a8718b849ca7c307b07b8e091efb0c31ekx= ssPeaceQCPScatterStyle::ssPeace›adb31525af6b680e6f1b7472e43859349ada3b2988ece38c121922a4b5007eb08duw%G ssPlusCircleQCPScatterStyle::ssPlusCircle›adb31525af6b680e6f1b7472e43859349a6fa151d01f1694c9ff9922da686dc535wv'I ssCrossCircleQCPScatterStyle::ssCrossCircle›adb31525af6b680e6f1b7472e43859349a524613ba5d1c4eaa1541d74cf339d283uu%G ssPlusSquareQCPScatterStyle::ssPlusSquare›adb31525af6b680e6f1b7472e43859349a5aa8e9db545e5404482fec774768ee25wt'I ssCrossSquareQCPScatterStyle::ssCrossSquare›adb31525af6b680e6f1b7472e43859349a7081310936c200c6c78e34c172f72d07s1S ssTriangleInvertedQCPScatterStyle::ssTriangleInverted›adb31525af6b680e6f1b7472e43859349a6156274d21d8b4115197567d3ea2d9a8qr!C ssTriangleQCPScatterStyle::ssTriangle›adb31525af6b680e6f1b7472e43859349a74a8d4eff1d97b57c53a60d0003453c3 ,bºlÆl΄,U%K OwhiskerWidthQCPStatisticalBox::whiskerWidth«ab02392dd54ebd6dd7c8d6fb5c3f0421cG= OwidthQCPStatisticalBox::width«a0733a7bd575fc5929ce6d507bcc2a04cMC OoutliersQCPStatisticalBox::outliers«a73eaa2f800b47e3832d7f09ad1f3b7e0KA OmaximumQCPStatisticalBox::maximum«a928bcf07dd2176affad91d85be03172fW'M OupperQuartileQCPStatisticalBox::upperQuartile«abd15951907b54343a89b1f7feddcb7a7I? OmedianQCPStatisticalBox::median«a44abdee617fe0bca72e6a2ea3fd492deW'M OlowerQuartileQCPStatisticalBox::lowerQuartile«af9c4a98f5ca95b5a5a8b140f57b64aceK~A OminimumQCPStatisticalBox::minimum«acd94c05d59c05d9146d3b60d9f52df82C}9 OkeyQCPStatisticalBox::key«a767af754f39872d6308b900a0d1758ca_|/U OQCPStatisticalBoxQCPStatisticalBox::QCPStatisticalBox«a75c2b3e7fcd0741cc981693a2ba63b27+{// QCPStatisticalBoxQCPStatisticalBox«mz? ssCustomQCPScatterStyle::ssCustom›adb31525af6b680e6f1b7472e43859349a15d9bcfd9de94edda949006529f9219d L¬R¨\¨Vö¢LS#I OsetOutliersQCPStatisticalBox::setOutliers«af9bc09620e0bf93bf444ee35e5800d1dQ!G OsetMaximumQCPStatisticalBox::setMaximum«acec5ad1901f00f2c5387cfb4d9787eb3]-S OsetUpperQuartileQCPStatisticalBox::setUpperQuartile«a65a1375f941c5a2077b5201229e89346O E OsetMedianQCPStatisticalBox::setMedian«a65970e77a897da4ecb4b15300868aad3] -S OsetLowerQuartileQCPStatisticalBox::setLowerQuartile«a680941af5e23d902013962fa67223f9eQ !G OsetMinimumQCPStatisticalBox::setMinimum«a84ff7cc61ba44890f0c3e0c99c19941eI ? OsetKeyQCPStatisticalBox::setKey«a84a1c6d34b2f9af40bca0c527d51e97eU %K OoutlierStyleQCPStatisticalBox::outlierStyle«ab7e5a68bce97ba43a7ff18e074c4dcadOE OmedianPenQCPStatisticalBox::medianPen«a96aa0bb650b83e9dfa0387ca4db7fa05W'M OwhiskerBarPenQCPStatisticalBox::whiskerBarPen«ab151a727fb0b6396acb3b6c72505a4feQ!G OwhiskerPenQCPStatisticalBox::whiskerPen«a26d2b34cbaeac2dd639bb21590f317c4 H²bªJò”Bî¦H[+Q OantialiasedFillQCPStatisticalBox::antialiasedFill«a68d1c358db03faae376ec47c589abf27E; OnameQCPStatisticalBox::name«a1affc1972938e4364a9325e4e4e4dceaQ!G OselectTestQCPStatisticalBox::selectTest«a7d3ac843dc48a085740fdfc4319a89ccOE OclearDataQCPStatisticalBox::clearData«a19112994449df0c20287858436cc68e3[+Q OsetOutlierStyleQCPStatisticalBox::setOutlierStyle«ad5241943422eb8e58360a97e99ad6aa7U%K OsetMedianPenQCPStatisticalBox::setMedianPen«a7260ac55b669f5d0a74f16d5ca84c52c]-S OsetWhiskerBarPenQCPStatisticalBox::setWhiskerBarPen«aa8d3e503897788e1abf68dc74b5f147fW'M OsetWhiskerPenQCPStatisticalBox::setWhiskerPen«a4a5034cb3b9b040444df05ab1684620b[+Q OsetWhiskerWidthQCPStatisticalBox::setWhiskerWidth«adf378812446bd66f34d1f7f293d991cdMC OsetWidthQCPStatisticalBox::setWidth«a0b62775bd67301b1eba5c785f2b26f14KA OsetDataQCPStatisticalBox::setData«adf50c57b635edb12470c0e4a986aff37 `š2ì–Lò¤Rþ®`K&A OsetNameQCPStatisticalBox::setName«ab79c7ba76bc7fa89a4b3580e12149f1fM%C OselectedQCPStatisticalBox::selected«ab901903adcb0e29467d63de72340ab29Q$!G OselectableQCPStatisticalBox::selectable«af895574da1ec0d050711b6c9deda296aO#E OvalueAxisQCPStatisticalBox::valueAxis«a3106f9d34d330a6097a8ec5905e5b519K"A OkeyAxisQCPStatisticalBox::keyAxis«a72c7a09c22963f2c943f07112b311103W!'M OselectedBrushQCPStatisticalBox::selectedBrush«a403745791879916431adc872b49207e5G = ObrushQCPStatisticalBox::brush«aa74cdceb9c7286ef116fbfa58e0326e7S#I OselectedPenQCPStatisticalBox::selectedPen«a006065572c5add883a944ea4cda699f3C9 OpenQCPStatisticalBox::pen«a41d060007cc6b3037c9c04d22d0c0398e5[ OantialiasedErrorBarsQCPStatisticalBox::antialiasedErrorBars«a630cfb27ff99ab4373b09631748fcf4ac3Y OantialiasedScattersQCPStatisticalBox::antialiasedScatters«aefc379bcc011660a5371ecc6088a97eb dœ0ÂvÊj¾dW0'M OsetSelectableQCPStatisticalBox::setSelectable«a22c69299eb5569e0f6bf084877a37dc4U/%K OsetValueAxisQCPStatisticalBox::setValueAxis«a71626a07367e241ec62ad2c34baf21cbQ.!G OsetKeyAxisQCPStatisticalBox::setKeyAxis«a8524fa2994c63c0913ebd9bb2ffa3920]--S OsetSelectedBrushQCPStatisticalBox::setSelectedBrush«ae8c816874089f7a44001e8618e81a9dcM,C OsetBrushQCPStatisticalBox::setBrush«a7a4b92144dca6453a1f0f210e27edc74Y+)O OsetSelectedPenQCPStatisticalBox::setSelectedPen«a6911603cad23ab0469b108224517516fI*? OsetPenQCPStatisticalBox::setPen«ab74b09ae4c0e7e13142fe4b5bf46cac7k);a OsetAntialiasedErrorBarsQCPStatisticalBox::setAntialiasedErrorBars«a757beb744b96cf1855cca5ab9d3ecf52i(9_ OsetAntialiasedScattersQCPStatisticalBox::setAntialiasedScatters«a2f03f067ede2ed4da6f7d0e4777a3f02a'1W OsetAntialiasedFillQCPStatisticalBox::setAntialiasedFill«a089d6b5577120239b55c39ed27c39536 BªTôžBâ”@â˜BS;#I OantialiasedQCPStatisticalBox::antialiased«aef5cb4aa899ed9dc9384fd614560291eG:= OlayerQCPStatisticalBox::layer«aea67e8c19145e70d68c286a36f6b8300[9+Q OparentLayerableQCPStatisticalBox::parentLayerable«a98d79f5b716d45eac4347befe546d0ecQ8!G OparentPlotQCPStatisticalBox::parentPlot«ab7e0e94461566093d36ffc0f5312b109K7A OvisibleQCPStatisticalBox::visible«a10a3cc92e0fa63e4a929e61d34e275a7]6-S OrescaleValueAxisQCPStatisticalBox::rescaleValueAxis«abfd0805eb1d955c0111a990246658324Y5)O OrescaleKeyAxisQCPStatisticalBox::rescaleKeyAxis«a1acecfcca3e7fcda00fcbaa3c886386fS4#I OrescaleAxesQCPStatisticalBox::rescaleAxes«a7e8fc3be43c27ccacd70a7bf9d74a5cd]3-S OremoveFromLegendQCPStatisticalBox::removeFromLegend«aa1f350e510326d012b9a9c9249736c83S2#I OaddToLegendQCPStatisticalBox::addToLegend«a70f8cabfd808f7d5204b9f18c45c13f5S1#I OsetSelectedQCPStatisticalBox::setSelected«afbd5428c2952f59d952e11ab5cd79176 >¬\¤Dü Jð’>QF!G OdrawMedianQCPStatisticalBox::drawMedian«a16fef8bc19e5a09d82033edcfe919495[E+Q OdrawQuartileBoxQCPStatisticalBox::drawQuartileBox«a9ad0abdb154fefb04e9872f0db8e2ec7WD'M OgetValueRangeQCPStatisticalBox::getValueRange«a2db77e9a3c2cc016381340968a250be0SC#I OgetKeyRangeQCPStatisticalBox::getKeyRange«a2f66940ae92d7ad438834c861fc2d57fYB)O OdrawLegendIconQCPStatisticalBox::drawLegendIcon«a51764ed423fa02d3ef63f6848851ec33EA; OdrawQCPStatisticalBox::draw«a753b62761217dd6b92f8a29e286a1317]@-S OselectionChangedQCPStatisticalBox::selectionChanged«a3af66432b1dca93b28e00e78a8c7c1d9Y?)O OrealVisibilityQCPStatisticalBox::realVisibility«a30809f7455e9794bca7b6c737622fa63Y>)O OsetAntialiasedQCPStatisticalBox::setAntialiased«a4fd43e89be4a553ead41652565ff0581M=C OsetLayerQCPStatisticalBox::setLayer«ab0d0da6d2de45a118886d2c8e16d5a54Q<!G OsetVisibleQCPStatisticalBox::setVisible«a3bed99ddc396b48ce3ebfdc0418744f8 ¨Pž&Ðv¾pOQE OmainBrushQCPStatisticalBox::mainBrush«ae74c123832da180c17e22203e748d9b7KPA OmainPenQCPStatisticalBox::mainPen«a19276ed2382a3a06464417b8788b1451YO)O OpixelsToCoordsQCPStatisticalBox::pixelsToCoords«a10408828446e9e0681c46d65120f382eYN)O OcoordsToPixelsQCPStatisticalBox::coordsToPixels«ade710a776104b14c1c835168ce1bfc5cWM'M OdeselectEventQCPStatisticalBox::deselectEvent«a6fa0d0f95560ea8b01ee13f296dab2b1SL#I OselectEventQCPStatisticalBox::selectEvent«a16aaad02456aa23a759efd1ac90c79bfuKEk OapplyDefaultAntialiasingHintQCPStatisticalBox::applyDefaultAntialiasingHint«a76e9d6cc7972dc1528f526d163766aca_J/U OselectionCategoryQCPStatisticalBox::selectionCategory«a5eef607bcc2aee8bfe2380a8710f6c64MIC OclipRectQCPStatisticalBox::clipRect«ac01960b0827913922f5364d559c124edUH%K OdrawOutliersQCPStatisticalBox::drawOutliers«a60ebb332a497f51ace837767db5105b9UG%K OdrawWhiskersQCPStatisticalBox::drawWhiskers«a6f8d093ec7e404529388d02da4c72b34 HŽ˜>Ôl²HgZ7] OapplyAntialiasingHintQCPStatisticalBox::applyAntialiasingHint«a62bd552d1a45aa9accb24b310542279eSY#I OmoveToLayerQCPStatisticalBox::moveToLayer«af94484cfb7cbbddb7de522e9be71d9a4aX1W OsetParentLayerableQCPStatisticalBox::setParentLayerable«aa23c893671f1f6744ac235cf2204cf3aeW5[ OinitializeParentPlotQCPStatisticalBox::initializeParentPlot«a8cbe5a0c9a5674249982f5ca5f8e02bcgV7] OparentPlotInitializedQCPStatisticalBox::parentPlotInitialized«ab20b7dbd8e0249ed61adb9622c427382WU'M OdistSqrToLineQCPStatisticalBox::distSqrToLine«a5ea1cab44ca912dcdc96ed81ec5bed5dyTIo OapplyErrorBarsAntialiasingHintQCPStatisticalBox::applyErrorBarsAntialiasingHint«af687bfe6160255960558eb71f1f81e73wSGm OapplyScattersAntialiasingHintQCPStatisticalBox::applyScattersAntialiasingHint«a753272ee225a62827e90c3e1e78de4b1oR?e OapplyFillAntialiasingHintQCPStatisticalBox::applyFillAntialiasingHint«ac08a480155895e674dbfe5a5670e0ff3 2Ц„4êœBà’2]e3M OantialiasedElementsQCustomPlot::antialiasedElements®a81e954fbb485bb44c609e5707f0067b3Kd!; OplotLayoutQCustomPlot::plotLayout®afd280d4d621ae64a106543a545c508d7_c5O ObackgroundScaledModeQCustomPlot::backgroundScaledMode®a3394512baf54fbcdc7613ac44a07c3b6Wb-G ObackgroundScaledQCustomPlot::backgroundScaled®af9a6e0fe88e4b8ae5504ee9646abb121Ka!; ObackgroundQCustomPlot::background®a4643ddc8249cc4f51725650677c2b779G`7 OviewportQCustomPlot::viewport®a953ecdbc28018e7e84cb6213ad3d88c2M_#= OQCustomPlotQCustomPlot::QCustomPlot®a45b99626558651a6428b83972b0b34b8^## QCustomPlotQCustomPlot®s]!G sdPositiveQCPStatisticalBox::sdPositive«a661743478a1d3c09d28ec2711d7653d8a02951859f243a4d24e779cfbb5471030k\? sdBothQCPStatisticalBox::sdBoth«a661743478a1d3c09d28ec2711d7653d8a082b98cfb91a7363a3b5cd17b0c1cd60s[!G sdNegativeQCPStatisticalBox::sdNegative«a661743478a1d3c09d28ec2711d7653d8a0fc9a70796ef60ad18ddd18056e6dc63 fš0Þ€ÊjÆf]o3M OsetBackgroundScaledQCustomPlot::setBackgroundScaled®a36f0fa1317325dc7b7efea615ee2de1fQn'A OsetBackgroundQCustomPlot::setBackground®a130358592cfca353ff3cf5571b49fb00Mm#= OsetViewportQCustomPlot::setViewport®a3f9bc4b939dd8aaba9339fd09f273fc4]l3M OmultiSelectModifierQCustomPlot::multiSelectModifier®a9b6b1a0fea8da3fda6d5e3d687202877Qk'A OplottingHintsQCustomPlot::plottingHints®a130b55e205697a5288081e9fc11e443e_j5O OnoAntialiasingOnDragQCustomPlot::noAntialiasingOnDrag®ae07f2895a34d13a97a10cae4d8e17a36[i1K OselectionToleranceQCustomPlot::selectionTolerance®a7b738074c75e80070ef6a10263c6cd69Oh%? OinteractionsQCustomPlot::interactions®a12401c02b6949a717f5749bb28c62983gg=W OautoAddPlottableToLegendQCustomPlot::autoAddPlottableToLegend®ad1599fc3fd1833b5988f6b89c1f616cacf9S OnotAntialiasedElementsQCustomPlot::notAntialiasedElements®a8060cee59757213764382a78d3196189 v˜2Îbøˆ0Úvax7Q OsetSelectionToleranceQCustomPlot::setSelectionTolerance®a4dc31241d7b09680950e19e5f971ed93Sw)C OsetInteractionQCustomPlot::setInteraction®a422bf1bc6d56dac75a3d805d9a65902cUv+E OsetInteractionsQCustomPlot::setInteractions®a5ee1e2f6ae27419deca53e75907c27e5muC] OsetAutoAddPlottableToLegendQCustomPlot::setAutoAddPlottableToLegend®ad8858410c2db47b7104040a3aa61c3fcgt=W OsetNotAntialiasedElementQCustomPlot::setNotAntialiasedElement®afc657938a707c890e449ae89203a076dis?Y OsetNotAntialiasedElementsQCustomPlot::setNotAntialiasedElements®ae10d685b5eabea2999fb8775ca173c24ar7Q OsetAntialiasedElementQCustomPlot::setAntialiasedElement®aeef813bcf7efab8e765f9f87ec454691cq9S OsetAntialiasedElementsQCustomPlot::setAntialiasedElements®af6f91e5eab1be85f67c556e98c3745e8ep;U OsetBackgroundScaledModeQCustomPlot::setBackgroundScaledMode®a4c0eb4865b7949f62e1cb97db04a3de0 .˜>æ€4âŠ2Ü~.M‘#= OplottableAtQCustomPlot::plottableAt®ac1d1bc6ae4e13616fb02cef6d9e2188e[‘1K OselectedPlottablesQCustomPlot::selectedPlottables®a6721b8c689bb7f2f400987e580508fe8S‘)C OplottableCountQCustomPlot::plottableCount®a2dbfbf15dc38713f9a1c445a3dd2e989U‘+E OclearPlottablesQCustomPlot::clearPlottables®a9a409bb3201878adb7ffba1c89c4e004U+E OremovePlottableQCustomPlot::removePlottable®af3dafd56884208474f311d6226513ab2O~%? OaddPlottableQCustomPlot::addPlottable®ab7ad9174f701f9c6f64e378df77927a6I}9 OplottableQCustomPlot::plottable®a32de81ff53e263e785b83b52ecd99d6fc|9S OsetMultiSelectModifierQCustomPlot::setMultiSelectModifier®a8fc96e3b5138a06759a2a90c166df516U{+E OsetPlottingHintQCustomPlot::setPlottingHint®a3b7c97bb6c16464e9e15190c07abe9a9Wz-G OsetPlottingHintsQCustomPlot::setPlottingHints®a94a33cbdadbbac5934843508bcfc210dey;U OsetNoAntialiasingOnDragQCustomPlot::setNoAntialiasingOnDrag®a775bdcb6329d44701aeaa6135b0e5265 j®j Ѐ2ÜšR¶jI‘9 OitemCountQCustomPlot::itemCount®a6fc860e30df17fd5c46056bf6fe29390K‘!; OclearItemsQCustomPlot::clearItems®abdfd07d4f0591d0cf967f85013fd3645K‘ !; OremoveItemQCustomPlot::removeItem®ae04446557292551e8fb6e2c106e1848dE‘ 5 OaddItemQCustomPlot::addItem®aa500620379262321685cb7a7674cbd2a?‘ / OitemQCustomPlot::item®a3e842b5a65b1d17fbb96cfb1fa1314d1S‘ )C OselectedGraphsQCustomPlot::selectedGraphs®ad2a0493bdd01e7aa99a4209ae3a5b67bK‘ !; OgraphCountQCustomPlot::graphCount®a7d9b4d19114b2fde60f0233eeb0aa682M‘#= OclearGraphsQCustomPlot::clearGraphs®ab0f3abff2d2f7df3668b5836f39207faM‘#= OremoveGraphQCustomPlot::removeGraph®a903561be895fb6528a770d66ac5e6713G‘7 OaddGraphQCustomPlot::addGraph®a6fb2873d35a8a8089842d81a70a54167A‘1 OgraphQCustomPlot::graph®a6d3ed93c2bf46ab7fa670d66be4cddafO‘%? OhasPlottableQCustomPlot::hasPlottable®a4fc28914e2ee91aab424b7ce46b6bdf1 ^¬fÚˆ0â˜Hü¨^G‘7 OaxisRectQCustomPlot::axisRect®a4a37a1add5fe63060ac518cf0a4c4050Q‘'A OaxisRectCountQCustomPlot::axisRectCount®a340fa24b1607e445cedda9685670ead3I‘9 OmoveLayerQCustomPlot::moveLayer®ae896140beff19424e9e9e02d6e331104M‘#= OremoveLayerQCustomPlot::removeLayer®a40f75e342c5eaab6a86066a42a0e2a94G‘7 OaddLayerQCustomPlot::addLayer®ad5255393df078448bb6ac83fa5db5f52K‘!; OlayerCountQCustomPlot::layerCount®a1b3926884f5bd4bdda1495d8b3c891d0U‘+E OsetCurrentLayerQCustomPlot::setCurrentLayer®a73a6dc47c653bb6f8f030abca5a11852O‘%? OcurrentLayerQCustomPlot::currentLayer®af73057345656cbd1463454982d808b00A‘1 OlayerQCustomPlot::layer®aac492da01782820454e9136a8db28182E‘5 OhasItemQCustomPlot::hasItem®ab4199c38b03e63a2623c82453fe8add5C‘3 OitemAtQCustomPlot::itemAt®a793e4b04e0ede11a733021907368fa83Q‘'A OselectedItemsQCustomPlot::selectedItems®a1a48b13547e2d9ac5cd6927516f47a2e V´\ ºbÊ‚:ò VG‘'7 OtoPixmapQCustomPlot::toPixmap®aabb974d71ce96c137dc04eb6eab844feO‘&%? OsaveRasteredQCustomPlot::saveRastered®ab528b84cf92baabe29b1d0ef2f77c93eE‘%5 OsaveBmpQCustomPlot::saveBmp®a6629d9e8e6da4bf18055ee0257fdce9aE‘$5 OsaveJpgQCustomPlot::saveJpg®a490c722092d1771e8ce4a7a73dfd84abE‘#5 OsavePngQCustomPlot::savePng®a7636261aff1f6d25c9da749ece3fc8b8E‘"5 OsavePdfQCustomPlot::savePdf®a84e33ad7492180f20ff520e557ed102dM‘!#= OdeselectAllQCustomPlot::deselectAll®a9d4808ab925b003054085246c92a257cU‘ +E OselectedLegendsQCustomPlot::selectedLegends®a1ea6297300c3e2770e65f95836411755O‘%? OselectedAxesQCustomPlot::selectedAxes®aa6baf867e8beb96ed5bd471f83ece903M‘#= OrescaleAxesQCustomPlot::rescaleAxes®ad86528f2cee6c7e446dea4a6e8839935U‘+E OlayoutElementAtQCustomPlot::layoutElementAt®a840458186d4483c8a42d6a399448d38fI‘9 OaxisRectsQCustomPlot::axisRects®afd67094aaeccbc5719761348b2d8c891 *´n*æ Zºl ΀*S‘4)C OplottableClickQCustomPlot::plottableClick®a57e5efa8a854620e9bf62d31fc139f53K‘3!; OmouseWheelQCustomPlot::mouseWheel®ac80a14206f99304a91d2aa55775ec3ffO‘2%? OmouseReleaseQCustomPlot::mouseRelease®ac8dc0ee6bb98e923c00b4ebafbe6134dI‘19 OmouseMoveQCustomPlot::mouseMove®a742ca4f94688bed2a685fd8a56ce5704K‘0!; OmousePressQCustomPlot::mousePress®aca75bf9afb5dd19349c375de2a87a051W‘/-G OmouseDoubleClickQCustomPlot::mouseDoubleClick®a9b232142c64fcf273a953ee08e5b90e9C‘.3 OlegendQCustomPlot::legend®a73da53368aa4c2db3d874cf0db50d140C‘-3 OyAxis2QCustomPlot::yAxis2®af13fdc5bce7d0fabd640f13ba805c0b7C‘,3 OxAxis2QCustomPlot::xAxis2®ada41599f22cad901c030f3dcbdd82fd9A‘+1 OyAxisQCustomPlot::yAxis®af6fea5679725b152c14facd920b19367A‘*1 OxAxisQCustomPlot::xAxis®a968b5ac86c181a49bba78c2b62a80cb3C‘)3 OreplotQCustomPlot::replot®a563540b54b2a09c8ef092d42e9621f42I‘(9 OtoPainterQCustomPlot::toPainter®a1be68d5c0f1e086d6374d1340a193fb9 JžRú®Vª\œJO‘?%? ObeforeReplotQCustomPlot::beforeReplot®a0cd30e29b73efd6afe096e44bc5956f5c‘>9S OselectionChangedByUserQCustomPlot::selectionChangedByUser®a500c64a109bc773c973ad274f2fa4190W‘=-G OtitleDoubleClickQCustomPlot::titleDoubleClick®ad51d65f6abf5edfaeef6e0519a4c1a2fK‘<!; OtitleClickQCustomPlot::titleClick®a2137a819e518fee7edd1c0bf5984d8d6Y‘;/I OlegendDoubleClickQCustomPlot::legendDoubleClick®a0250f835c044521df1619b132288bca7M‘:#= OlegendClickQCustomPlot::legendClick®a79cff0baafbca10a3aaf694d2d3b9ab3U‘9+E OaxisDoubleClickQCustomPlot::axisDoubleClick®a6df35357460181a72da3e93d600f5256I‘89 OaxisClickQCustomPlot::axisClick®abf635f8b56ab5c16d5de9f358543e82bU‘7+E OitemDoubleClickQCustomPlot::itemDoubleClick®ac83aa9f5a3e9bb3efc9cdc763dcd42a6I‘69 OitemClickQCustomPlot::itemClick®ae16b51f52d2b7aebbc7e3e74e6ff2e4b_‘55O OplottableDoubleClickQCustomPlot::plottableDoubleClick®af2e6f1cea923dae437681d01ce7d0c31 "°XÀp ´^´r"M‘K#= OaxisRemovedQCustomPlot::axisRemoved®a8b46607021c463c94709d3504951cb47?‘J/ OdrawQCustomPlot::draw®ad7a7d878bf050f101a43008e7d8fdb52K‘I!; OwheelEventQCustomPlot::wheelEvent®a7b8bd7e8d3a1d23a8595e9c6a6b76ef1Y‘H/I OmouseReleaseEventQCustomPlot::mouseReleaseEvent®a724e97d2e8c03e68adac5f4b6164a1b3S‘G)C OmouseMoveEventQCustomPlot::mouseMoveEvent®ac64727a4f442770f6e5e6be2d0530843U‘F+E OmousePressEventQCustomPlot::mousePressEvent®abce84fa2c71e47b9295d67e8fce84bb4a‘E7Q OmouseDoubleClickEventQCustomPlot::mouseDoubleClickEvent®a77591913a5b543bdc465dd5e08325a49M‘D#= OresizeEventQCustomPlot::resizeEvent®a13e05523a40c3f08875df5cde85cf0d9K‘C!; OpaintEventQCustomPlot::paintEvent®a2bbc3b1c24bfcc8a7cc1f3008cdd9b73G‘B7 OsizeHintQCustomPlot::sizeHint®a21d84d299c3651ec36d11a7826274a3cU‘A+E OminimumSizeHintQCustomPlot::minimumSizeHint®a4904f06d831afae29cd5d10e889388c3M‘@#= OafterReplotQCustomPlot::afterReplot®a6f4fa624af060bc5919c5f266cf426a0 v¬Nþ¨<оr$Öv]‘V# msLeftQCP::msLeft¯a7e487e3e2ccb62ab7771065bab7cae54a9500c8bfcc9e80b9dff0a8e00e867f07K‘U)3 OgetMarginValueQCP::getMarginValue¯a23a2679d3495c444acc26acc61e35b5bK‘T)3 OsetMarginValueQCP::setMarginValue¯afbf6e3084c108f2bb4372107945ee82fI‘S'1 OisInvalidDataQCP::isInvalidData¯a07ab701c05329089f933b9cae2638a63‘R QCPQCP¯i‘Q7 limAboveQCustomPlot::limAbove®a75a8afbe6ef333b1f3d47abb25b9add7a062b0b7825650b432a713c0df6742d41i‘P7 limBelowQCustomPlot::limBelow®a75a8afbe6ef333b1f3d47abb25b9add7aee39cf650cd24e68552da0b697ce4a93S‘O)C OdrawBackgroundQCustomPlot::drawBackground®a05dd52438cee4353b18c1e53a439008dM‘N#= OlayerableAtQCustomPlot::layerableAt®a3fffd1d8364f657482ae985e0b5aa028[‘M1K OupdateLayerIndicesQCustomPlot::updateLayerIndices®a3117754df3a5638787a6223c7147970fQ‘L'A OlegendRemovedQCustomPlot::legendRemoved®a9d173454555021c9ffd4f675c4d9037a &ž@Ü~¾^ø”&k‘`'1 aeLegendItemsQCP::aeLegendItems¯ae55dbe315d41fe80f29ba88100843a0ca1aca7a50c1b95403958733a4acafe773a‘_' aeLegendQCP::aeLegend¯ae55dbe315d41fe80f29ba88100843a0ca9e0127a6361b5d0596b031a482c5cf97c‘^) aeSubGridQCP::aeSubGrid¯ae55dbe315d41fe80f29ba88100843a0caaedf83369188a15a69f92bb1d85ca97b]‘]# aeGridQCP::aeGrid¯ae55dbe315d41fe80f29ba88100843a0ca4fbb37118d62288af0ca601ff2b07a2f]‘\# aeAxesQCP::aeAxes¯ae55dbe315d41fe80f29ba88100843a0caefa92e89cd37f8a081fd2075aa1af73f]‘[# msNoneQCP::msNone¯a7e487e3e2ccb62ab7771065bab7cae54a80aa4149f16dabd538f8b2e3d42c42d5[‘Z! msAllQCP::msAll¯a7e487e3e2ccb62ab7771065bab7cae54a43d7361cb0c5244eabdc962021bffebca‘Y' msBottomQCP::msBottom¯a7e487e3e2ccb62ab7771065bab7cae54a5241d8eac2bab9524a38889f576179cc[‘X! msTopQCP::msTop¯a7e487e3e2ccb62ab7771065bab7cae54a5db8fb0d0b0ecf0d611c2602a348e8a0_‘W% msRightQCP::msRight¯a7e487e3e2ccb62ab7771065bab7cae54a93c719593bb2b94ed244d52c86d83b65 x”2Ê`þ–8Øx]‘i# phNoneQCP::phNone¯a5400e5fcb9528d92002ddb938c1f4ef4ab7283c5bfc1ba9e597015389880bda42]‘h# aeNoneQCP::aeNone¯ae55dbe315d41fe80f29ba88100843a0caa9e90d81896358757d94275aeaa58f6a[‘g! aeAllQCP::aeAll¯ae55dbe315d41fe80f29ba88100843a0caa897c232a0ffc8368e7c100ffc59ef31e‘f!+ aeZeroLineQCP::aeZeroLine¯ae55dbe315d41fe80f29ba88100843a0ca261f8ea78cf3c9561726223ffa33dc12_‘e% aeFillsQCP::aeFills¯ae55dbe315d41fe80f29ba88100843a0ca788810f0aa930137de6ad6cc6d83d354g‘d#- aeErrorBarsQCP::aeErrorBars¯ae55dbe315d41fe80f29ba88100843a0ca9dcf3882cb321bb305f71fdc0f09f63de‘c!+ aeScattersQCP::aeScatters¯ae55dbe315d41fe80f29ba88100843a0cae45ed8cd167bffe27d7f40da4bc17e9c_‘b% aeItemsQCP::aeItems¯ae55dbe315d41fe80f29ba88100843a0caf7712a85d6b0c75b24301d2fe9484db3i‘a%/ aePlottablesQCP::aePlottables¯ae55dbe315d41fe80f29ba88100843a0ca4145e4251b0cf2dbedabeea0a38f84f6 &ްHàtþ”&k‘r'1 iSelectLegendQCP::iSelectLegend¯a2ad6bb6281c7c2d593d4277b44c2b037a269c9af298e257d1108edec0432b5513g‘q#- iSelectAxesQCP::iSelectAxes¯a2ad6bb6281c7c2d593d4277b44c2b037ad6644ac55bef621645326e9dd7469caas‘p/9 iSelectPlottablesQCP::iSelectPlottables¯a2ad6bb6281c7c2d593d4277b44c2b037a67148c8227b4155eca49135fc274c7eci‘o%/ iMultiSelectQCP::iMultiSelect¯a2ad6bb6281c7c2d593d4277b44c2b037aef673112c5067c3cf4cfddb62da7265de‘n!+ iRangeZoomQCP::iRangeZoom¯a2ad6bb6281c7c2d593d4277b44c2b037abee1e94353525a636aeaf0ba32b72e14e‘m!+ iRangeDragQCP::iRangeDrag¯a2ad6bb6281c7c2d593d4277b44c2b037a2c4432b9aceafb94000be8d1b589ef18k‘l'1 phCacheLabelsQCP::phCacheLabels¯a5400e5fcb9528d92002ddb938c1f4ef4a8e9cfe5ee0c5cd36dd7accf9739aff65m‘k)3 phForceRepaintQCP::phForceRepaint¯a5400e5fcb9528d92002ddb938c1f4ef4aa3090dafa0e0f9a28c579c79d6c2d283o‘j+5 phFastPolylinesQCP::phFastPolylines¯a5400e5fcb9528d92002ddb938c1f4ef4aa5fd227bc878c56ad2a87ea32c74ee4d (”(i‘t%/ iSelectOtherQCP::iSelectOther¯a2ad6bb6281c7c2d593d4277b44c2b037af67a50bc26147a13b551b3a625374949i‘s%/ iSelectItemsQCP::iSelectItems¯a2ad6bb6281c7c2d593d4277b44c2b037aea2f7c105d674e76d9b187b02ef29260 ûõïéãÝ×ÑËÅ¿¹³­§¡›•‰ƒ}wqke_YSMGA;5/)# ÿùóíçáÛÕÏÉý·±«¥Ÿ™“‡{uoic]WQKE?93-'! ý÷ñëåßÙÓÍÇÁ»µ¯©£—‘‹…ysmga[UOIC=71+%  ~ ~} }| |{ {z zy yx xw wv vu ut ts sr rq qp po on nm ml lk kj ji ih hg gf fe ed dc cb ba a` `_ _^ ^] ]\ \[ [Z ZY YX XW WV VU UT TS SR RQ QP PO ON NM ML LK KJ JI IH HG GF FE ED DC CB BA A@ @? ?> >= =< <; ;: :9 98 87 76 65 54 43 32 21 10 0/ /. .- -, ,+ +* *) )( (' '& &% %$ $# #" "! !                                            eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØd äc ãb âa á` à_ ß^ Þ] Ý\ Ü[ ÛZ ÚY ÙX ØW ×V ÖU ÕT ÔS ÓR ÒQ ÑP ÐO ÏN ÎM ÍL ÌK ËJ ÊI ÉH ÈG ÇF ÆE ÅD ÄC ÃB ÂA Á@ À? ¿> ¾= ½< ¼; »: º9 ¹8 ¸7 ·6 ¶5 µ4 ´3 ³2 ²1 ±0 °/ ¯. ®- ­, ¬+ «* ª) ©( ¨' §& ¦% ¥$ ¤# £" ¢! ¡    Ÿ ž  œ › š ™ ˜ — – • ” “ ’ ‘   Ž    Œ  ‹  Š  ‰ ˆ ‡ † … „ ƒ ‚  € eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ‚I I‚H H‚G G‚F F‚E E‚D D‚C C‚B B‚A A‚@ @‚? ?‚> >‚= =‚< <‚; ;‚: :‚9 9‚8 8‚7 7‚6 6‚5 5‚4 4‚3 3‚2 2‚1 1‚0 0‚/ /‚. .‚- -‚, ,‚+ +‚* *‚) )‚( (‚' '‚& &‚% %‚$ $‚# #‚" "‚! !‚   ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚   ‚   ‚   ‚   ‚   ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚  ÿ~ þ} ý| ü{ ûz úy ùx øw ÷v öu õt ôs ór òq ñp ðo ïn îm íl ìk ëj êi éh èg çf æe å eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØƒ. ®ƒ- ­ƒ, ¬ƒ+ «ƒ* ªƒ) ©ƒ( ¨ƒ' §ƒ& ¦ƒ% ¥ƒ$ ¤ƒ# £ƒ" ¢ƒ! ¡ƒ   ƒ Ÿƒ žƒ ƒ œƒ ›ƒ šƒ ™ƒ ˜ƒ —ƒ –ƒ •ƒ ”ƒ “ƒ ’ƒ ‘ƒ ƒ ƒ Žƒ  ƒ  Œƒ  ‹ƒ  Šƒ  ‰ƒ ˆƒ ‡ƒ †ƒ …ƒ „ƒ ƒƒ ‚ƒ ƒ €‚ ‚~ ~‚} }‚| |‚{ {‚z z‚y y‚x x‚w w‚v v‚u u‚t t‚s s‚r r‚q q‚p p‚o o‚n n‚m m‚l l‚k k‚j j‚i i‚h h‚g g‚f f‚e e‚d d‚c c‚b b‚a a‚` `‚_ _‚^ ^‚] ]‚\ \‚[ [‚Z Z‚Y Y‚X X‚W W‚V V‚U U‚T T‚S S‚R R‚Q Q‚P P‚O O‚N N‚M M‚L L‚K K‚J J eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ„ „ „ „ „ „ „   „   „   „   „   „ „ „ „ „ „ „ „ „ ƒ ÿƒ~ þƒ} ýƒ| üƒ{ ûƒz úƒy ùƒx øƒw ÷ƒv öƒu õƒt ôƒs óƒr òƒq ñƒp ðƒo ïƒn îƒm íƒl ìƒk ëƒj êƒi éƒh èƒg çƒf æƒe åƒd äƒc ãƒb âƒa áƒ` àƒ_ ߃^ Þƒ] ݃\ ܃[ ÛƒZ ÚƒY ÙƒX ؃W ׃V ÖƒU ÕƒT ÔƒS ÓƒR ÒƒQ уP ЃO σN ΃M ̓L ̃K ˃J ʃI ɃH ȃG ǃF ƃE ŃD ăC ÃB ƒA Áƒ@ Àƒ? ¿ƒ> ¾ƒ= ½ƒ< ¼ƒ; »ƒ: ºƒ9 ¹ƒ8 ¸ƒ7 ·ƒ6 ¶ƒ5 µƒ4 ´ƒ3 ³ƒ2 ²ƒ1 ±ƒ0 °ƒ/ ¯ eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ„x x„w w„v v„u u„t t„s s„r r„q q„p p„o o„n n„m m„l l„k k„j j„i i„h h„g g„f f„e e„d d„c c„b b„a a„` `„_ _„^ ^„] ]„\ \„[ [„Z Z„Y Y„X X„W W„V V„U U„T T„S S„R R„Q Q„P P„O O„N N„M M„L L„K K„J J„I I„H H„G G„F F„E E„D D„C C„B B„A A„@ @„? ?„> >„= =„< <„; ;„: :„9 9„8 8„7 7„6 6„5 5„4 4„3 3„2 2„1 1„0 0„/ /„. .„- -„, ,„+ +„* *„) )„( („' '„& &„% %„$ $„# #„" "„! !„   „ „ „ „ „ „ „ „ „ „ „ „  eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ…] Ý…\ Ü…[ Û…Z Ú…Y Ù…X Ø…W ×…V Ö…U Õ…T Ô…S Ó…R Ò…Q Ñ…P Ð…O Ï…N Î…M Í…L Ì…K Ë…J Ê…I É…H È…G Ç…F Æ…E Å…D Ä…C Ã…B Â…A Á…@ À…? ¿…> ¾…= ½…< ¼…; »…: º…9 ¹…8 ¸…7 ·…6 ¶…5 µ…4 ´…3 ³…2 ²…1 ±…0 °…/ ¯…. ®…- ­…, ¬…+ «…* ª…) ©…( ¨…' §…& ¦…% ¥…$ ¤…# £…" ¢…! ¡…   … Ÿ… ž… … œ… ›… š… ™… ˜… —… –… •… ”… “… ’… ‘… … … Ž…  …  Œ…  ‹…  Š…  ‰… ˆ… ‡… †… …… „… ƒ… ‚… … €„ „~ ~„} }„| |„{ {„z z„y y eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ†B B†A A†@ @†? ?†> >†= =†< <†; ;†: :†9 9†8 8†7 7†6 6†5 5†4 4†3 3†2 2†1 1†0 0†/ /†. .†- -†, ,†+ +†* *†) )†( (†' '†& &†% %†$ $†# #†" "†! !†   † † † † † † † † † † † † † † † † † † †   †   †   †   †   † † † † † † † † † … ÿ…~ þ…} ý…| ü…{ û…z ú…y ù…x ø…w ÷…v ö…u õ…t ô…s ó…r ò…q ñ…p ð…o ï…n î…m í…l ì…k ë…j ê…i é…h è…g ç…f æ…e å…d ä…c ã…b â…a á…` à…_ ß…^ Þ eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ‡' §‡& ¦‡% ¥‡$ ¤‡# £‡" ¢‡! ¡‡   ‡ Ÿ‡ ž‡ ‡ œ‡ ›‡ š‡ ™‡ ˜‡ —‡ –‡ •‡ ”‡ “‡ ’‡ ‘‡ ‡ ‡ އ  ‡  Œ‡  ‹‡  Ї  ‰‡ ˆ‡ ‡‡ †‡ …‡ „‡ ƒ‡ ‚‡ ‡ €† †~ ~†} }†| |†{ {†z z†y y†x x†w w†v v†u u†t t†s s†r r†q q†p p†o o†n n†m m†l l†k k†j j†i i†h h†g g†f f†e e†d d†c c†b b†a a†` `†_ _†^ ^†] ]†\ \†[ [†Z Z†Y Y†X X†W W†V V†U U†T T†S S†R R†Q Q†P P†O O†N N†M M†L L†K K†J J†I I†H H†G G†F F†E E†D D†C C eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØˆ   ˆ   ˆ   ˆ   ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ‡ ÿ‡~ þ‡} ý‡| ü‡{ û‡z ú‡y ù‡x ø‡w ÷‡v ö‡u õ‡t ô‡s ó‡r ò‡q ñ‡p ð‡o ï‡n î‡m í‡l ì‡k ë‡j ê‡i é‡h è‡g ç‡f æ‡e å‡d ä‡c ã‡b â‡a á‡` à‡_ ߇^ Þ‡] ݇\ ܇[ Û‡Z Ú‡Y Ù‡X ؇W ׇV Ö‡U Õ‡T Ô‡S Ó‡R Ò‡Q чP ЇO χN ·M ͇L ̇K ˇJ ʇI ɇH ȇG LJF ƇE ŇD ćC ÇB ‡A Á‡@ À‡? ¿‡> ¾‡= ½‡< ¼‡; »‡: º‡9 ¹‡8 ¸‡7 ·‡6 ¶‡5 µ‡4 ´‡3 ³‡2 ²‡1 ±‡0 °‡/ ¯‡. ®‡- ­‡, ¬‡+ «‡* ª‡) ©‡( ¨ eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØˆq qˆp pˆo oˆn nˆm mˆl lˆk kˆj jˆi iˆh hˆg gˆf fˆe eˆd dˆc cˆb bˆa aˆ` `ˆ_ _ˆ^ ^ˆ] ]ˆ\ \ˆ[ [ˆZ ZˆY YˆX XˆW WˆV VˆU UˆT TˆS SˆR RˆQ QˆP PˆO OˆN NˆM MˆL LˆK KˆJ JˆI IˆH HˆG GˆF FˆE EˆD DˆC CˆB BˆA Aˆ@ @ˆ? ?ˆ> >ˆ= =ˆ< <ˆ; ;ˆ: :ˆ9 9ˆ8 8ˆ7 7ˆ6 6ˆ5 5ˆ4 4ˆ3 3ˆ2 2ˆ1 1ˆ0 0ˆ/ /ˆ. .ˆ- -ˆ, ,ˆ+ +ˆ* *ˆ) )ˆ( (ˆ' 'ˆ& &ˆ% %ˆ$ $ˆ# #ˆ" "ˆ! !ˆ   ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ   eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ‰V Ö‰U Õ‰T Ô‰S Ó‰R Ò‰Q щP ЉO ωN ΉM ͉L ̉K ˉJ ʉI ɉH ȉG ljF ƉE ʼnD ĉC ÉB ‰A Á‰@ À‰? ¿‰> ¾‰= ½‰< ¼‰; »‰: º‰9 ¹‰8 ¸‰7 ·‰6 ¶‰5 µ‰4 ´‰3 ³‰2 ²‰1 ±‰0 °‰/ ¯‰. ®‰- ­‰, ¬‰+ «‰* ª‰) ©‰( ¨‰' §‰& ¦‰% ¥‰$ ¤‰# £‰" ¢‰! ¡‰   ‰ Ÿ‰ ž‰ ‰ œ‰ ›‰ š‰ ™‰ ˜‰ —‰ –‰ •‰ ”‰ “‰ ’‰ ‘‰ ‰ ‰ މ  ‰  Œ‰  ‹‰  Љ  ‰‰ ˆ‰ ‡‰ †‰ …‰ „‰ ƒ‰ ‚‰ ‰ €ˆ ˆ~ ~ˆ} }ˆ| |ˆ{ {ˆz zˆy yˆx xˆw wˆv vˆu uˆt tˆs sˆr r eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØŠ; ;Š: :Š9 9Š8 8Š7 7Š6 6Š5 5Š4 4Š3 3Š2 2Š1 1Š0 0Š/ /Š. .Š- -Š, ,Š+ +Š* *Š) )Š( (Š' 'Š& &Š% %Š$ $Š# #Š" "Š! !Š   Š Š Š Š Š Š Š Š Š Š Š Š Š Š Š Š Š Š Š   Š   Š   Š   Š   Š Š Š Š Š Š Š Š Š ‰ ÿ‰~ þ‰} ý‰| ü‰{ û‰z ú‰y ù‰x ø‰w ÷‰v ö‰u õ‰t ô‰s ó‰r ò‰q ñ‰p ð‰o ï‰n î‰m í‰l ì‰k ë‰j ê‰i é‰h è‰g ç‰f æ‰e å‰d ä‰c ã‰b â‰a á‰` à‰_ ߉^ Þ‰] ݉\ ܉[ Û‰Z Ú‰Y Ù‰X ؉W × eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ‹   ‹ Ÿ‹ ž‹ ‹ œ‹ ›‹ š‹ ™‹ ˜‹ —‹ –‹ •‹ ”‹ “‹ ’‹ ‘‹ ‹ ‹ Ž‹  ‹  Œ‹  ‹‹  Š‹  ‰‹ ˆ‹ ‡‹ †‹ …‹ „‹ ƒ‹ ‚‹ ‹ €Š Š~ ~Š} }Š| |Š{ {Šz zŠy yŠx xŠw wŠv vŠu uŠt tŠs sŠr rŠq qŠp pŠo oŠn nŠm mŠl lŠk kŠj jŠi iŠh hŠg gŠf fŠe eŠd dŠc cŠb bŠa aŠ` `Š_ _Š^ ^Š] ]Š\ \Š[ [ŠZ ZŠY YŠX XŠW WŠV VŠU UŠT TŠS SŠR RŠQ QŠP PŠO OŠN NŠM MŠL LŠK KŠJ JŠI IŠH HŠG GŠF FŠE EŠD DŠC CŠB BŠA AŠ@ @Š? ?Š> >Š= =Š< < eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØŒ Œ Œ Œ Œ Œ ‹ ÿ‹~ þ‹} ý‹| ü‹{ û‹z ú‹y ù‹x ø‹w ÷‹v ö‹u õ‹t ô‹s ó‹r ò‹q ñ‹p ð‹o ï‹n î‹m í‹l ì‹k ë‹j ê‹i é‹h è‹g ç‹f æ‹e å‹d ä‹c ã‹b â‹a á‹` à‹_ ß‹^ Þ‹] Ý‹\ Ü‹[ Û‹Z Ú‹Y Ù‹X Ø‹W ׋V Ö‹U Õ‹T Ô‹S Ó‹R Ò‹Q Ñ‹P ЋO Ï‹N ΋M Í‹L Ì‹K Ë‹J Ê‹I É‹H È‹G Ç‹F Æ‹E Å‹D Ä‹C ËB ‹A Á‹@ À‹? ¿‹> ¾‹= ½‹< ¼‹; »‹: º‹9 ¹‹8 ¸‹7 ·‹6 ¶‹5 µ‹4 ´‹3 ³‹2 ²‹1 ±‹0 °‹/ ¯‹. ®‹- ­‹, ¬‹+ «‹* ª‹) ©‹( ¨‹' §‹& ¦‹% ¥‹$ ¤‹# £‹" ¢‹! ¡ eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØŒj jŒi iŒh hŒg gŒf fŒe eŒd dŒc cŒb bŒa aŒ` `Œ_ _Œ^ ^Œ] ]Œ\ \Œ[ [ŒZ ZŒY YŒX XŒW WŒV VŒU UŒT TŒS SŒR RŒQ QŒP PŒO OŒN NŒM MŒL LŒK KŒJ JŒI IŒH HŒG GŒF FŒE EŒD DŒC CŒB BŒA AŒ@ @Œ? ?Œ> >Œ= =Œ< <Œ; ;Œ: :Œ9 9Œ8 8Œ7 7Œ6 6Œ5 5Œ4 4Œ3 3Œ2 2Œ1 1Œ0 0Œ/ /Œ. .Œ- -Œ, ,Œ+ +Œ* *Œ) )Œ( (Œ' 'Œ& &Œ% %Œ$ $Œ# #Œ" "Œ! !Œ   Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ Œ   Œ   Œ   Œ   Œ   Œ Œ Œ  eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØO ÏN ÎM ÍL ÌK ËJ ÊI ÉH ÈG ÇF ÆE ÅD ÄC ÃB ÂA Á@ À? ¿> ¾= ½< ¼; »: º9 ¹8 ¸7 ·6 ¶5 µ4 ´3 ³2 ²1 ±0 °/ ¯. ®- ­, ¬+ «* ª) ©( ¨' §& ¦% ¥$ ¤# £" ¢! ¡    Ÿ ž  œ › š ™ ˜ — – • ” “ ’ ‘   Ž    Œ  ‹  Š  ‰ ˆ ‡ † … „ ƒ ‚  €Œ Œ~ ~Œ} }Œ| |Œ{ {Œz zŒy yŒx xŒw wŒv vŒu uŒt tŒs sŒr rŒq qŒp pŒo oŒn nŒm mŒl lŒk k eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØŽ4 4Ž3 3Ž2 2Ž1 1Ž0 0Ž/ /Ž. .Ž- -Ž, ,Ž+ +Ž* *Ž) )Ž( (Ž' 'Ž& &Ž% %Ž$ $Ž# #Ž" "Ž! !Ž   Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž Ž   Ž   Ž   Ž   Ž   Ž Ž Ž Ž Ž Ž Ž Ž Ž  ÿ~ þ} ý| ü{ ûz úy ùx øw ÷v öu õt ôs ór òq ñp ðo ïn îm íl ìk ëj êi éh èg çf æe åd äc ãb âa á` à_ ß^ Þ] Ý\ Ü[ ÛZ ÚY ÙX ØW ×V ÖU ÕT ÔS ÓR ÒQ ÑP Ð eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ ™ ˜ — – • ” “ ’ ‘   Ž    Œ  ‹  Š  ‰ ˆ ‡ † … „ ƒ ‚  €Ž Ž~ ~Ž} }Ž| |Ž{ {Žz zŽy yŽx xŽw wŽv vŽu uŽt tŽs sŽr rŽq qŽp pŽo oŽn nŽm mŽl lŽk kŽj jŽi iŽh hŽg gŽf fŽe eŽd dŽc cŽb bŽa aŽ` `Ž_ _Ž^ ^Ž] ]Ž\ \Ž[ [ŽZ ZŽY YŽX XŽW WŽV VŽU UŽT TŽS SŽR RŽQ QŽP PŽO OŽN NŽM MŽL LŽK KŽJ JŽI IŽH HŽG GŽF FŽE EŽD DŽC CŽB BŽA AŽ@ @Ž? ?Ž> >Ž= =Ž< <Ž; ;Ž: :Ž9 9Ž8 8Ž7 7Ž6 6Ž5 5 eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ~ þ} ý| ü{ ûz úy ùx øw ÷v öu õt ôs ór òq ñp ðo ïn îm íl ìk ëj êi éh èg çf æe åd äc ãb âa á` à_ ß^ Þ] Ý\ Ü[ ÛZ ÚY ÙX ØW ×V ÖU ÕT ÔS ÓR ÒQ ÑP ÐO ÏN ÎM ÍL ÌK ËJ ÊI ÉH ÈG ÇF ÆE ÅD ÄC ÃB ÂA Á@ À? ¿> ¾= ½< ¼; »: º9 ¹8 ¸7 ·6 ¶5 µ4 ´3 ³2 ²1 ±0 °/ ¯. ®- ­, ¬+ «* ª) ©( ¨' §& ¦% ¥$ ¤# £" ¢! ¡    Ÿ ž  œ › š eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØc cb ba a` `_ _^ ^] ]\ \[ [Z ZY YX XW WV VU UT TS SR RQ QP PO ON NM ML LK KJ JI IH HG GF FE ED DC CB BA A@ @? ?> >= =< <; ;: :9 98 87 76 65 54 43 32 21 10 0/ /. .- -, ,+ +* *) )( (' '& &% %$ $# #" "! !                                              ÿ eØøðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØ‘H È‘G Ç‘F Æ‘E Å‘D Ä‘C ÑB ‘A Á‘@ À‘? ¿‘> ¾‘= ½‘< ¼‘; »‘: º‘9 ¹‘8 ¸‘7 ·‘6 ¶‘5 µ‘4 ´‘3 ³‘2 ²‘1 ±‘0 °‘/ ¯‘. ®‘- ­‘, ¬‘+ «‘* ª‘) ©‘( ¨‘' §‘& ¦‘% ¥‘$ ¤‘# £‘" ¢‘! ¡‘   ‘ Ÿ‘ ž‘ ‘ œ‘ ›‘ š‘ ™‘ ˜‘ —‘ –‘ •‘ ”‘ “‘ ’‘ ‘‘ ‘ ‘ Ž‘  ‘  Œ‘  ‹‘  Š‘  ‰‘ ˆ‘ ‡‘ †‘ …‘ „‘ ƒ‘ ‚‘ ‘ € ~ ~} }| |{ {z zy yx xw wv vu ut ts sr rq qp po on nm ml lk kj ji ih hg gf fe ed d , øðèàØÐÈÀ¸°¨ ˜ˆ€xph`XPH@80( øðèàØÐÈÀ¸°¨ ‘t ô‘s ó‘r ò‘q ñ‘p ð‘o ï‘n î‘m í‘l ì‘k ë‘j ê‘i é‘h è‘g ç‘f æ‘e å‘d ä‘c ã‘b â‘a á‘` à‘_ ß‘^ Þ‘] Ý‘\ Ü‘[ Û‘Z Ú‘Y Ù‘X Ø‘W בV Ö‘U Õ‘T Ô‘S Ó‘R Ò‘Q Ñ‘P БO Ï‘N ΑM Í‘L Ì‘K Ë‘J Ê‘I Éqcustomplot/GPL.txt0000644000175000017500000010451311630571626014516 0ustar dermanudermanu GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . qcustomplot/examples/0000755000175000017500000000000012236016576015146 5ustar dermanudermanuqcustomplot/examples/text-document-integration/0000755000175000017500000000000012236016576022267 5ustar dermanudermanuqcustomplot/examples/text-document-integration/mainwindow.ui0000644000175000017500000000770112200540233024766 0ustar dermanudermanu MainWindow 0 0 786 440 QCustomPlot Document Insertion Demo 400 0 0 0 <html><head/><body><p>Size of plot<br/>in document:</p></body></html> 0 0 1 9999 480 x 0 0 1 9999 340 Use current TopToolBarArea false Insert Plot Save Document... QCustomPlot QWidget
../../qcustomplot.h
1
qcustomplot/examples/text-document-integration/mainwindow.cpp0000644000175000017500000001315312236011346025140 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); connect(ui->cbUseCurrentSize, SIGNAL(toggled(bool)), ui->sbWidth, SLOT(setDisabled(bool))); connect(ui->cbUseCurrentSize, SIGNAL(toggled(bool)), ui->sbHeight, SLOT(setDisabled(bool))); ui->plot->axisRect()->setMinimumSize(300, 180); setupPlot(); // register the plot document object (only needed once, no matter how many plots will be in the QTextDocument): QCPDocumentObject *interface = new QCPDocumentObject(this); ui->textEdit->document()->documentLayout()->registerHandler(QCPDocumentObject::PlotTextFormat, interface); } MainWindow::~MainWindow() { delete ui; } void MainWindow::setupPlot() { // The following plot setup is taken from the sine demo: // add two new graphs and set their look: ui->plot->addGraph(); ui->plot->graph(0)->setPen(QPen(Qt::blue)); // line color blue for first graph ui->plot->graph(0)->setBrush(QBrush(QColor(0, 0, 255, 20))); // first graph will be filled with translucent blue ui->plot->addGraph(); ui->plot->graph(1)->setPen(QPen(Qt::red)); // line color red for second graph // generate some points of data (y0 for first, y1 for second graph): QVector x(250), y0(250), y1(250); for (int i=0; i<250; ++i) { x[i] = i; y0[i] = exp(-i/150.0)*cos(i/10.0); // exponentially decaying cosine y1[i] = exp(-i/150.0); // exponential envelope } // configure right and top axis to show ticks but no labels: // (see QCPAxisRect::setupFullAxesBox for a quicker method to do this) ui->plot->xAxis2->setVisible(true); ui->plot->xAxis2->setTickLabels(false); ui->plot->yAxis2->setVisible(true); ui->plot->yAxis2->setTickLabels(false); // make left and bottom axes always transfer their ranges to right and top axes: connect(ui->plot->xAxis, SIGNAL(rangeChanged(QCPRange)), ui->plot->xAxis2, SLOT(setRange(QCPRange))); connect(ui->plot->yAxis, SIGNAL(rangeChanged(QCPRange)), ui->plot->yAxis2, SLOT(setRange(QCPRange))); // pass data points to graphs: ui->plot->graph(0)->setData(x, y0); ui->plot->graph(1)->setData(x, y1); // let the ranges scale themselves so graph 0 fits perfectly in the visible area: ui->plot->graph(0)->rescaleAxes(); // same thing for graph 1, but only enlarge ranges (in case graph 1 is smaller than graph 0): ui->plot->graph(1)->rescaleAxes(true); // Note: we could have also just called customPlot->rescaleAxes(); instead // Allow user to drag axis ranges with mouse, zoom with mouse wheel and select graphs by clicking: ui->plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables); } void MainWindow::on_actionInsert_Plot_triggered() { QTextCursor cursor = ui->textEdit->textCursor(); // insert the current plot at the cursor position. QCPDocumentObject::generatePlotFormat creates a // vectorized snapshot of the passed plot (with the specified width and height) which gets inserted // into the text document. double width = ui->cbUseCurrentSize->isChecked() ? 0 : ui->sbWidth->value(); double height = ui->cbUseCurrentSize->isChecked() ? 0 : ui->sbHeight->value(); cursor.insertText(QString(QChar::ObjectReplacementCharacter), QCPDocumentObject::generatePlotFormat(ui->plot, width, height)); ui->textEdit->setTextCursor(cursor); } void MainWindow::on_actionSave_Document_triggered() { QString fileName = QFileDialog::getSaveFileName(this, "Save document...", qApp->applicationDirPath(), "*.pdf"); if (!fileName.isEmpty()) { QPrinter printer; printer.setFullPage(true); printer.setPaperSize(QPrinter::A4); printer.setOrientation(QPrinter::Portrait); printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName(fileName); ui->textEdit->document()->print(&printer); } } qcustomplot/examples/text-document-integration/mainwindow.h0000644000175000017500000000444512236011346024611 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include "qcpdocumentobject.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); void setupPlot(); private slots: void on_actionInsert_Plot_triggered(); void on_actionSave_Document_triggered(); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H qcustomplot/examples/text-document-integration/main.cpp0000644000175000017500000000024612177037743023724 0ustar dermanudermanu#include "mainwindow.h" #include int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); } qcustomplot/examples/text-document-integration/qcpdocumentobject.cpp0000644000175000017500000000656312236011346026504 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #include "qcpdocumentobject.h" QCPDocumentObject::QCPDocumentObject(QObject *parent) : QObject(parent) { } QSizeF QCPDocumentObject::intrinsicSize(QTextDocument *doc, int posInDocument, const QTextFormat &format) { Q_UNUSED(doc) Q_UNUSED(posInDocument) QPicture pic = qvariant_cast(format.property(PicturePropertyId)); if (pic.isNull()) { qDebug() << Q_FUNC_INFO << "Plot object is empty"; return QSizeF(10, 10); } else return QSizeF(pic.boundingRect().size()); } void QCPDocumentObject::drawObject(QPainter *painter, const QRectF &rect, QTextDocument *doc, int posInDocument, const QTextFormat &format) { Q_UNUSED(doc) Q_UNUSED(posInDocument) QPicture pic = qvariant_cast(format.property(PicturePropertyId)); if (pic.isNull()) return; QSize finalSize = pic.boundingRect().size(); finalSize.scale(rect.size().toSize(), Qt::KeepAspectRatio); double scaleFactor = finalSize.width()/(double)pic.boundingRect().size().width(); painter->save(); painter->scale(scaleFactor, scaleFactor); painter->setClipRect(rect); painter->drawPicture(rect.topLeft(), pic); painter->restore(); } QTextCharFormat QCPDocumentObject::generatePlotFormat(QCustomPlot *plot, int width, int height) { QPicture picture; QCPPainter qcpPainter; qcpPainter.begin(&picture); plot->toPainter(&qcpPainter, width, height); qcpPainter.end(); QTextCharFormat result; result.setObjectType(QCPDocumentObject::PlotTextFormat); result.setProperty(QCPDocumentObject::PicturePropertyId, QVariant::fromValue(picture)); return result; } qcustomplot/examples/text-document-integration/text-document-integration.pro0000644000175000017500000000076312177037743030143 0ustar dermanudermanu#------------------------------------------------- # # Project created by QtCreator 2013-07-06T18:51:44 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport TARGET = text-document-integration TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp \ qcpdocumentobject.cpp \ ../../qcustomplot.cpp HEADERS += mainwindow.h \ qcpdocumentobject.h \ ../../qcustomplot.h FORMS += mainwindow.ui qcustomplot/examples/text-document-integration/qcpdocumentobject.h0000644000175000017500000000536012236011346026143 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #ifndef QCPDOCUMENTOBJECT_H #define QCPDOCUMENTOBJECT_H #include #include #include #include #include #include "../../qcustomplot.h" class QCPDocumentObject : public QObject, public QTextObjectInterface { Q_OBJECT Q_INTERFACES(QTextObjectInterface) public: enum { PlotTextFormat = QTextFormat::UserObject + 3902 }; // if your application already uses the id (QTextFormat::UserObject + 3902), just change the id here enum { PicturePropertyId = 1 }; explicit QCPDocumentObject(QObject *parent = 0); QSizeF intrinsicSize(QTextDocument *doc, int posInDocument, const QTextFormat &format); void drawObject(QPainter *painter, const QRectF &rect, QTextDocument *doc, int posInDocument, const QTextFormat &format); static QTextCharFormat generatePlotFormat(QCustomPlot *plot, int width=0, int height=0); }; Q_DECLARE_METATYPE(QPicture) #endif // QCPDOCUMENTOBJECT_H qcustomplot/examples/scrollbar-axis-range-control/0000755000175000017500000000000012236016576022643 5ustar dermanudermanuqcustomplot/examples/scrollbar-axis-range-control/scrollbar-axis-range-control.pro0000644000175000017500000000070012177037743031062 0ustar dermanudermanu#------------------------------------------------- # # Project created by QtCreator 2013-07-25T20:43:22 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport TARGET = scrollbar-axis-range-control TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp \ ../../qcustomplot.cpp HEADERS += mainwindow.h \ ../../qcustomplot.h FORMS += mainwindow.ui qcustomplot/examples/scrollbar-axis-range-control/mainwindow.ui0000644000175000017500000000345012177037743025363 0ustar dermanudermanu MainWindow 0 0 469 357 QCustomPlot Scrollbar Axis Range Control Demo 0 0 Qt::Vertical Qt::Horizontal Insert Plot Save Document... QCustomPlot QWidget
../../qcustomplot.h
1
qcustomplot/examples/scrollbar-axis-range-control/mainwindow.cpp0000644000175000017500000001165512236011346025521 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setupPlot(); // configure scroll bars: // Since scroll bars only support integer values, we'll set a high default range of -500..500 and // divide scroll bar position values by 100 to provide a scroll range -5..5 in floating point // axis coordinates. if you want to dynamically grow the range accessible with the scroll bar, // just increase the the minimum/maximum values of the scroll bars as needed. ui->horizontalScrollBar->setRange(-500, 500); ui->verticalScrollBar->setRange(-500, 500); // create connection between axes and scroll bars: connect(ui->horizontalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(horzScrollBarChanged(int))); connect(ui->verticalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(vertScrollBarChanged(int))); connect(ui->plot->xAxis, SIGNAL(rangeChanged(QCPRange)), this, SLOT(xAxisChanged(QCPRange))); connect(ui->plot->yAxis, SIGNAL(rangeChanged(QCPRange)), this, SLOT(yAxisChanged(QCPRange))); // initialize axis range (and scroll bar positions via signals we just connected): ui->plot->xAxis->setRange(0, 6, Qt::AlignCenter); ui->plot->yAxis->setRange(0, 10, Qt::AlignCenter); } MainWindow::~MainWindow() { delete ui; } void MainWindow::setupPlot() { // The following plot setup is mostly taken from the plot demos: ui->plot->addGraph(); ui->plot->graph()->setPen(QPen(Qt::blue)); ui->plot->graph()->setBrush(QBrush(QColor(0, 0, 255, 20))); ui->plot->addGraph(); ui->plot->graph()->setPen(QPen(Qt::red)); QVector x(500), y0(500), y1(500); for (int i=0; i<500; ++i) { x[i] = (i/499.0-0.5)*10; y0[i] = exp(-x[i]*x[i]*0.25)*qSin(x[i]*5)*5; y1[i] = exp(-x[i]*x[i]*0.25)*5; } ui->plot->graph(0)->setData(x, y0); ui->plot->graph(1)->setData(x, y1); ui->plot->axisRect()->setupFullAxesBox(true); ui->plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); } void MainWindow::horzScrollBarChanged(int value) { if (qAbs(ui->plot->xAxis->range().center()-value/100.0) > 0.01) // if user is dragging plot, we don't want to replot twice { ui->plot->xAxis->setRange(value/100.0, ui->plot->xAxis->range().size(), Qt::AlignCenter); ui->plot->replot(); } } void MainWindow::vertScrollBarChanged(int value) { if (qAbs(ui->plot->yAxis->range().center()+value/100.0) > 0.01) // if user is dragging plot, we don't want to replot twice { ui->plot->yAxis->setRange(-value/100.0, ui->plot->yAxis->range().size(), Qt::AlignCenter); ui->plot->replot(); } } void MainWindow::xAxisChanged(QCPRange range) { ui->horizontalScrollBar->setValue(qRound(range.center()*100.0)); // adjust position of scroll bar slider ui->horizontalScrollBar->setPageStep(qRound(range.size()*100.0)); // adjust size of scroll bar slider } void MainWindow::yAxisChanged(QCPRange range) { ui->verticalScrollBar->setValue(qRound(-range.center()*100.0)); // adjust position of scroll bar slider ui->verticalScrollBar->setPageStep(qRound(range.size()*100.0)); // adjust size of scroll bar slider } qcustomplot/examples/scrollbar-axis-range-control/mainwindow.h0000644000175000017500000000447312236011346025166 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include "../../qcustomplot.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); void setupPlot(); private slots: void horzScrollBarChanged(int value); void vertScrollBarChanged(int value); void xAxisChanged(QCPRange range); void yAxisChanged(QCPRange range); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H qcustomplot/examples/scrollbar-axis-range-control/main.cpp0000644000175000017500000000024612177037743024300 0ustar dermanudermanu#include "mainwindow.h" #include int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); } qcustomplot/examples/plots/0000755000175000017500000000000012236016576016307 5ustar dermanudermanuqcustomplot/examples/plots/mainwindow.ui0000644000175000017500000000162312005266722021016 0ustar dermanudermanu MainWindow 0 0 548 420 QCustomPlot plot examples QCustomPlot QWidget
../../qcustomplot.h
1
qcustomplot/examples/plots/solarpanels.jpg0000644000175000017500000005131411704633102021325 0ustar dermanudermanuÿØÿàJFIFHHÿá€ExifII*>F(i‡NHH0210 0100 ÿÿÿÛC     #!)!$%'('+.+&.#&'&ÿÛC   &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&ÿÀMôÿÄÿÄA !1Q2Aa"Bq¡±#R‘ÁÑá3brðS‚’¢ñCc$Ts“²ÒÿÄÿÄ1!QaqÿÚ ?ýS€H‘J@HQBƒ@ )A …( ¼¡@ ,åI€¿Pµ• &ý>Ü ?=àeïÛ8޶$¡w¿Æ“±€ oüÂ76P #PL &úÒ§{3)Ðuh£Jµ0d/ÛEÊÌÌOÄ™B ú^I°7ï€-¯ó(’Eì3= ÖöêA‘ ˜ü6•HeØ„›!íßÞPìFD“ XK-Æ">ñ½¿ó€„¾€²Õ¨.ž„±’+Öðî/zÌ:h¢36d\’u;Êa—æv€Ý†D(P4¬‚A¿™¿÷ °Ì‡#g=¹D" c½¾pªU$s`+·¥‚Ž‚ð¦˜Q( €¤Q F@ ”J… PL¡@ €Œ`#i¤+\å²QyYfÌN@e´* ÿ8B$è?õg¿Æ“}  È `A7€eiP¯hS¸ã›ßÚô©‘fqŸEýLµ\$…7n­·´bKjr÷”j=¶÷$ÜÚþæ0Û¯¶ð$›› àÃ¥ÇÎP³Èv !qïÔÛHc`-—AoŒ{Nƒx\ ÷7ø@z€®‚áªrzS«4m^·‡ÍR2Ó8³9–'S(C,­ŸS´̶@A¼ ÌÝ›MàX,¤0ÉŽƒhÌN@“¹ÞTbl9º“ÐH¤moíõ3rD#ê§5(Q $H¢ (TÅXP2…2©@ ¡ &P|úod…Êß„¨Í‰'YDœ¶>°€Ø Þ›oœ¢uöÚ¸IPµ¶Yt Dioʆ&6öŽŠTð[œt:/¼­WUVÈêÛÀç×®]¥ Ø Ž~Ú@‚Aì!LXj=‡êaMò÷€ ºeó.Æú ö×üÎÒ€³vè?X&ç2tÀl$;~su\5ejeL—«4o^°¥› Õ"Ê£Óˆóݳ7$±Ôʤ2Ðy¾PeÃ’€£ÿ( csk{H-I[7_Jþ°%Ù³¹$L(Uk‹ ±Ó´ "×[ä5;§6=?h \d€¹¨œÔ@$ E &… R…8ˆ%à“"Œ )TBªDÂ)(P„n`0¶×ò• ›cøÊ39ë1¬¨“ßò,@„/ÊP‰Ó8Nyˆl´×´!Ç;JÄu9üaIU€äè tÓAO;ŒCWè¾Ò#ÕC *lŸ9F9IìJ‘>ÿ´¢.K;–ÇÂ$ß 2ëxA},? kYØž—ì-…{†­m K1p:,¢B’ns'A}`6\Ø€Äu„¾†¾#ßÂ@3i7Fõ« Vgs’ ô‰3ç»Ý‰9¹ÔÍ*F]<Ý Q# ¬-Ôõi\±èøJ-M†#ôÌ;¹$³c¯hRUl¼¤“ ¶²¡° •'?Q‘PnM† Uˈêh b<ŒôÎô÷œš(@@FòFŠ{B ` ’‰†0… ¡ YB€³02„c çñ•ÍӦР÷€‰ å ¾²¢Xçü OÎ,Ý€³”"[H bON°?ú€S¦ÎÖsé¥BSBqXzŸ«{B9ëUÅ•ì£E”e`MÎ{ C%ÊþûÀ›ß;e¬Vè.:í ‚ovÃxÎIË2zÀ`=‰ÎÃV”Km º  IÏ2tÖE‰óä|„æ=Žž‚²µJ2hèn!èÒûC„œ–šåa&`óݼĒKŸ„ÒÊÇ ÉÐB™a„‹îmàN"ÇAo”Š¥µ®yÿ¸À£“‰› û¢ç3r6Þàª#c=´¹Z/mðë×…¯nKÔ-%U}V¥ðÝ0îÅÀXç‰Ga}ä¢ @ 4P‚/36¨ü (R”å¤ ”([æL¨d…·á*u›5Ïë Ymñ$íù¢I¾…(–$œ¡ ÇcÇ+™B aq×­àI;kÚD¸,X*¯3¦4iRqaö掣’­BívüÒˆ°¾y˜ Š[+þ'X‘7#ØJ+ä=öö¯°Åb,3èÌÀ–vcarO]à0¯clVêHPV©ÔÛ°¶hW9šL}Ä\xj÷±P78„—<5r} ?̸-x`¤®1¨¹Š±Ö ± P¨^Eè$F-ÂrïT–=†_h€§|ËÑE}R‚ƒ{ç©//„È^Ÿk¿ó¨UàÂ“Š•†¹¥ W„A`@ÐÓáBúÇ .lí2€¡'¦Ÿ¬A›ñôÁ°F#ü¢ n4ej ±ÐüDñÙÙ) ·11gé äùBí XdÇë`2„} àД)(w…(B‰bd¡H¢…e¡@Yo`<&ÝöšJú\Xl"‘‘7…€é*#ŽÙåùJ‰ÄO´ç 9J‰>#z[¾P 4ÀÃð„#N¡6ÂGs(<*–ÉGýÂ( ¿ÛïˆE£‡À^¶ÔÅ… `i«¢ÛâdD?îÅ™˜ŸÃ/Œ´%àÀÌ“ï3ÂÓ¹6îßÄ] êÔo›\Ú=SÁÃ-É4óêOóƒÿŶf‡ö“¡âáE¬Ê:äƒöDž#‡¹±v'e¾³@“Øu¿ó ¸Ú@M¯þQýum3 ¾²Á'JK–¦ùDõú„ùi ÷¼°oÃW­U‹)IyšÚÉ¢ëÕT_¨·ÜI3ŸS‰­rK°'ÒBhf¡Í™ŽÂúÀd¾#rqu;J!‰9ˤ Tb]ó6Ð$ô9Xr‹ëX’[.¦AVq—Ú™ÀL@¸&ìu0©1Ïa¼ ,1x‡˜í2VÖ°øÀ`aµ…ØéÚAB¥$|{jI9ʧžfÄ€^HƒIxŠ?ôÇ ±ˆ)@V&X¥„ï,)`=ÿ(…¼°¤¹°üL`gKã*$¢õ"!:á”")î¿” &˜ê?8Ð[3ù @j ¿çhDøÉ÷Xû´ 5Óª_ÜËøã_ m*Ä‘{"Ò)ÉÈ-»ÄÑz­gkéåÍ ê„ ¡ÑF‚"9½Rl‰;BÄö½ØîeY€ÐöH†'v= ”‘|ÿä›fM„¡@­öÛÞ|ƒkñ€Ô/W°êÀ| I k¨Ð[H©¹¾ƒxpÛ+âõ5ôì%Ÿ1 „ øj"¡$åEy˜õ“Gi¯àð÷*)®Š£[LÁçV¬îØÞ×ô‹i43ómó…V'SpH~Q†kä4ù©ÎJ n§hB:hB‰6flÿõ  ¾\FØ|É„"H76Ä~D…“” ,Œ<ª¨b a¹¿S *„ 8@Ãf5¦ú@œarUR7k~²#ê²í<ñ±øËàYGå'Ñó‹„÷‹„+ö‹€¸ÚKŸJWì%¤£äBÄw‹«±‘ Þ.“»neºLoï›0Í”~“H͘“"§ñ$í(]ï’9T½Ì"XÔŸyQ>ùÀLVݬ¨uü Ä- ÷ý¥{öéH‰–äò§ê`]jì«áâí´ˆãgf'2IÔï(/a©¶ûÊfHÓ´*1Ì)'å ™éñ2¢m|ØØ@¦O¦ãÿs8Wÿpcæu;ö$›mq Ú(AF­rNƒx¢›½˜–õiØ@Ϙ€·HðÔ+ 9žÒhíf§N$a¤¼«÷»˜GÄW5_Äuÿ&Qˆ7»0ê`‹VÂA(¤žU#ã­p,IÔÈ \[+±ÐZQAØPÚó4,Ìl/n€B'5 þFqð ð‘9»w=aU†ë{LuÜÀ3ÉÈ7ô‹i €¬Nw“@„§ˆÀ c .3&ãÌHÄtÏH«}H¬ 7¨.—Â2ü„¨úYãë¡Ún ¼› ‘JéDx yB‘H›J Ì¢€¶góšÌe ýBMÕˆ×XR9u”IϯáºÀ’oí*µ¥MòîeBþð‰-†fÈ~ò¡9An×€•K0q1Ð@ì¥LSËÕú/´¨Æ­|ŠÓ6N¤õ„rÜžÀBÎVü¿xîXÚä“Ö2ëîe±ÙÛ¢þò¡,nAbtLn ¾£S´* ÚÊ„„ཎþô!Fغ ¤RU7±'A}`S $Œ`ŸSp%œü ‹m߆ k1U`fÍ"»‰¥Jˆ'ËEtxïóøšÞ3ãkáô©€³ÌMº™UjPÌ„JßXD3Xž¬u0°* è Xk¸T±æcÒ›7E{k‹ƒ„[×´"±œ8Z˜ÔÛS" ³3e×@ <ùAËÔÒ€±*.N¢ÞA»nL ².lm&þb<£%XDY™·&µ^ ¥L7Í­Õ©p P¦ …žò#ÐÈNceyÕ(¼ •Eä P@/ PÎ’€ys £e¦ó\g¬Ù‰™Ö¢(L¡[r%Næœõ0°ëÂiH=l  ºßm¥D{~æ #¡·Î³rĨtлYEÏÀ@ëUJjJ›/©Î§ÚV\Õ«ã@ÃLh7…`Mó † ä[Œ„,XØuí¬öåÔïí*;'-A"¤_V¹'A¼ ¾dâ÷oÐ@’K›  µ—Bÿå5ÇO7ÊT$)bt óz›hnrQ…mÃðïYŠ­‚Žw=!€©Ñ’‚ïë;Àó¸šÆ³ãv*ç(ÂØ‰%½ò…XðbbBŽU·4"Y¬I&î{i" Ómàiq±5O|–lÀ \o¼¡®V²ÝŽƒhtÃT_Ö÷“5ò4C/(×´‚±Ýp¡VÙ™rÇ ; UÛ‘O˜êvF£ð÷„º÷‘bÇnÐ,¸¦ —l¿ˆ­*U¢(ÓóW©©ÚA ©G‡t¾¤¶¦X˺yŠðà€^P¯Š¥xàI$À »þSy‰º­×å-LÆd“2ÙD“´ªVÊ÷ˆ‰'¤¢zæEûÀDަTO[“¬¡5†a¿ÚÇ­‡´¡ùm©ö·ÎÜØfw•F–6Ë%Í´£«ìéSû©·V†\•ë °°è°¬¯|Ø_õ€bµòû{@‹âÈ  †_ÿi@õ ïe 6@‘q™“ ´€6bȑ״"13€ï¤)ß-N›´!;·RKüdT¨µ‰'A(«Úö9ú›hFd–8TeÐB¶áè½gÀšzŸ •’­4¥…r¢¹“÷̃Îâk5wÄÙ å]àafv¾_´¢Â ‰˜Ð_60%‰#A÷dT*XåÈ,¥*Ž%¬À“©€€U˜û0UÆ«syy`fÅm„aÛX²ØæXè6Gö©‹e— °€Ç–Ö[¹ÐmÉP¾ªâ<Í„ Ù‡*(€ÁÂ11QúÀôø*c†¡ãÕQâ7 ¶r *T=&­W:­Óô•[=z¤»>»µ¡_Gyät ÅàŠ¥&Z ö€…ÉÞQ`'ñšÌe ää2nµ˜‹ûH¤en{deDNŸàÊàüeM´µà 3ÌÆTULr:üdÅÖ'<Éšd͆Œ?iQß r­8×8PjzŸiQÐî”b”£ŠµBÎYÏA´ À¹“Òð)n½Úúö#›¥€ï‚¢×Kƒ¢ïY¬oa~Ý= !—A‹cÒÆ0›n­Õ¥D\±èø@wÛ.ƒïB•J†÷6ÅØiW+.N‚Ð-]–ø[Íêm f\’oØJ5¡N¥gðé›ýæè$G¤0S£„1WRNndw\×kœ©.‹¼ªçÍÛýÊ0ÜÜS~ñ€yˆÏÒ»@€¥‰$›u0,«€©°‘hÁ–ùÇS´«–&m¼ ,Ío¹@#(Fg!„o©¼(PÄÖ; àS!R<Áª?Â5€Âw;À@˜ßa¼ ¡±Þ«ô¶ŸÌ Í”>¦¡yšåGMàwýÃ#ƒÅW¾922°Ø‰âj䣜¸/‰®8š¸Ê‹¹…s³b7 ÂAõ3ÊêP ö”€‰”€±^Ÿmæ³ ¢B‹|&¸ÏY3’uü¦7w[̉€‰…NgQøK‰ëñý¥™ì ã+[ÞTI'¥ýà+/·”Ktü6„ Î×”Iîʉ7;è¥C Õ”è£V•+ZµVŸP_Ò£Aâv%‰-v=aP™Ïå*aI_‰Í™6´0Û;ߢÛâ`C0ÌI:˜O÷|  iÚà0^ç691¹È„ bBW¢ßY¤K5‰êß)[ ·'A ¼@0©oSÜåȵ쪢Ý+ZÞ­O˜ú› =5Ztéá[-%æm1˜Gĵb@8hŒ¬:Àå,ÎÖ€$U ÁˆQÌÛÀmQˆ“„r¥àf 1$±Ü˜ ›‹›à å@XŒØÝÏÂ*Ìä ½¼ìö¬Ä­î|çS´ P ØòŒ 7vžQ¨#2ÇS´«|È!F°4ÂÀ ®†Ç”[#ü@“qæ7.ß ªsÈu;@êáxWâj ©J+©è›V`ˆ0Ч·^ÐŽ¤kšµn¸¶2Ž&Ã’« #ãÞE M˜]s¯é®'™Ô^@^\Jà$ÀÑW©„Þc;¤ïl—3¾Ñºf2,OYž´/ ’ÇAœ¡_­à"Ö„E÷ü¡_­åD’O`!Gk~¢IÎÃ3¼!XŒí§]¥tÐçÓyB˜æáê£C š »zSoxfª½R™/™Î§iQÂÄ“`nN§xP«­ˆjIÒTIÈg§A}`M®q1Ëç ¦[[5'`y}áHÐ5ï©ÞU¶5«åHQ×ËÓ¼°I®KXÑVB·'üRÚ÷ @¾wc©…@µîIÐZ—%3¤ ÉÊ/m kB‘©PRK’yŽÂ¥M)Ò¦R™µ1ÎýZF\RÄ æ`5€1NlðŽU";u&¯†r8…5ÔLÅ Ç„…ô©7Í¡$õ&)BlAð×6#¬̤ãÁe*Þ\»ird,|Іl`7ts•<Ó¥õþ`fÍs˜ŠÌY|í‘ý zôPp|:€ ñ´ˆUª/@ÞÍU¾'ö”yMUØšµ Ý´Ëã Ì3“`I&AwbE5bw7Y¬€%*®rûÀ÷‡Yæv…[YP^ER-óÐo5˜Îê‰T·á5Ä•“½Îs;­f"㬊 he{æFRqÀý¥D¾‚¯°ýå@Ì6ä¢}ÅÎÐÙtϯí*"äì€_ †ð‰gÎâ×í(tÑ‚ªÝÂÙMš›0¿ª§í4ι«qùiœ5#¬͉˜Ød ;›jmñ0¨Â×bHÐ_!ò&äð DCgÕ¶ö•“ˆáQ”)è2Ó«B6e”M‹Ìrê`Vy\ŠÊ%š×ÝŽ¦¢Ö6»î¹õ4‚ ¿•FP.•7wéŒNu;@õhQZHiS?þåA×°„×ħ§夺å1È×9(6è$U¥7$ª!fê@½¥ "Àƒ\³0$‡cÊ{ @Ñi;¨§ûšÙkúHA ÞÌÚg´ “5Ñ ØfÌM M×$ ë ’›¥ûE¥2ßfŒ£«1`$Q{b¨:À†»Üv)RÄ #d{@n  ]HÕ˜@‡±È„i(j€Ä‹ž_ÞAép<:ðôþ·X†b.‚êB+qU͉Ú%G•ÄTë5F,Qt¶[B°b®Iü W•S‰†Ú8¦ˆ)¦3U¹²Ó´‚1"yp¶¦ð>€ õŒóÇp`-dƒUK7å7˜Æé=@2Sžñºf1&÷Îe°-¼¢I×=e­Í·´"I¿[SòÛ­öýæ‘ô¼€Bb£{lzÂ##™½¥âÝÇä!{ä.oñtišeÐs6Ò¦ºÀ§N™·–ŸRuiYrWâE:ïÞ]•AÂ4‘MVà æt+©¹å¸øÀ@\V»6†ð3±ÚÑ_içw5RO魯†ìl ½îz™©»¬ž¡a`,»o&ëYŒó=¦TFV”#s¤küeˆ“—í $ç™=â!Ž£Þ “s°ð-î-Mº‹ü¥.yÚç¥à ‘æ¿íƒžBÀ F´(x™— OS ºê¨Ôi(²ÿY¦\5ªv9tYVÌÍ”*ˆ[ þí²òŒÉ€MΦÚ¨ kç½´” €+6¤ŒÚAÌu° C_Ù– ØfÒÀ‰ nuè6„Já͘›|áVpdsñ:/E„fÅEÀ$“©Þ$]Ž‹Ž YI,yØþ3$¸*’p”Á.~=jhP¤Êv#7{Lô×Å+ÃÒfÀþsHã%m…AÃ﬊ E–ît@»¦ ¢þ§¹›06@Q €Ç”Ø(Æ~*ëƒÃTQ÷ß<àfÌA@Q €Ç–À(Æ~‹ÄšJ‰Ÿ3À͘h¢Ê7€„@Ätýàh®PUCQµ%FP3fa[ÔÛY§,L‡Kk–£S>! Xò‚£ó€™ˆ¹6ÆÚä2 v6ȦÚ@èái?XSO* M´=ŽïÄ­ÊSAçaæúG‰(|*nqMó¥ààbPa½ØóÒE%¹<ÖL6¹$"ˆ ¹r^¡8F‚ÿ³I&äÀ¥E°/S : _(AM ÌÜ/ÄÎ9Ž»ªvEr4Q.™X»–79™šÖb~&Z¹:äý>„[l̦ߴN_îp…rs9 AÚ߆Ð$±ÐfOXA§¾ûJ ß›âÌä tQ£p !=+Õ¥‰ºÚ©F\L2D!+.:¾+6'R[ ¶B*³êÊ1ím`2•q[í¤d©k-7·øæeCZUFˆ×êm¤éoé¾°æ`G…]Û:l?é9@£F¶ø/ƒl9™@iWøO‹üNR¢GXæÔª{a9À£B¸ š,\è- F¸-*‡s„ç¯ \Xø.IÐa‡® _ îy› jAÈP¨l ^ˆÈ -‰º‘¤ú4E4ij°óÔû£´ âiÖ–‡ NËlÚñÄq·Ä…iåÔÜg kÁq_' ¸€ ˆÀ)-«cp\G*¨Â?¸gN º‹á\]<Ã( ð5ÔYpÚœcòŠp\E°¨\#ûÆpàk1 ~ƒ‹ýFº®MM™µ8ÆQp#ÁWÃ…J[¯œg^°7cLÛ¦1Xàj€\Ô¤_ Å§x¡}F°\šž#©Æ"‰GÕ¸½J`” ³]êR J \EËÒ' Å”\ÿ¬u«Kþèõ ˜BŠ´€'ÌqEÁÒM>‡(NÜÌ kLS§D¢=˜æ[ ÌÅHä^b,x‹±ëᘪŸørÿúƒÿñ™*«þ˜pøç¹ðÎqC~™UU¬ê¿fMÌT&ú=V`AHÅ}Lë9íᘠo£‘˜±¬äŸþ£zàK©'·ó0ÙYI7Áß/æ!O¹ùD)Z­Š¶°ˆz0Ó'Zdû…¦,qÓü„—Ùgæ§ù‡§jbÞjyéˆjZcK–žálIa*C1Qà ,TsûD?€€ñQþ"ø@F¥‘ª¾ÙAèÇG/´\ý¿hE8Ã>c Ê ĵ5qâUûNÆX­S^J ÿ•àA«MÙCV*FI”õ^5 úÃ:â0€q °®Äû˜ q'Ç6n`#ÄÐ}³gÜÂúC‰ A>3Xw0žŸÖ8{ã6z â n/‡ o¿3ŠáÀÕlÿÊ gˆá±[ÆbêÊ Ÿ­ð¿ó›ÿ(ýg†¸#\ÿ—ï,=‰ánmT:ç$=O×8_ù‡ò1TœGõ0ä±éciYnM:gÍÕ¯’Ä+«ÂP ©wÓ!s,D7Áƒ`‡/í"¯p¸qmŸöˆ‚Âä6,zDxþ l}”I03Çð¸qxMžžQ,xîaû6,}8E⥾áA#Âcì¢ ?â6^þ+œ@ÏÒ(@M&¹Ñpˆ‚_éH _¨°Ê éÜø-aÖÂ_¤xr¥š“(éÎ Ò<8š./ °ˆúJ6^ÿ„ _¤xrø|6jÖüJÄE'Â:åâ”å?Â?IÑP ¤ùçl uµe^j”*Ì2FÖ>^›×¬N6×·a‰ºçJ›1ðl£w‚3?J¹?Ñ·ýf£ô£¨Ò9رÒ§úTªàŒ}|ÆÐ©¥*)Ãá-úæa"Wé:¬l)'æaM~“v{ K‡®gH ¾•|G ·v7½ï™ÓiÅÙX»[ô€±ÜØuëß¼ZÚþR…ˆœÎþ6%É6“·s¾Ðk ô?™%‹fM€”º[ØoKÛ­ÎûB°ÄÇE”wСáMf«ðYXÝGÄá&#wõ1é)+Ÿ[ßS¼ŠÁ¶­ò€_"I8zž­*&ìæÃ > Œ6/SÔÀE¬#Ùv –»1Ëx “•Çø¬¡3‘{±ÔÂËÌÙì7€îØ¿¿¯öÀ†k +§S¼.¶Êìt@3ÌŸ©Œ f¾Ké‘[Dª6VÚ­ÃPú²à[ì<ÏÑD#>3‰Á£C©ÿzÀòÙ°Üv<Æ*2ÄÚm¼ %‹¹å@Lp‚ Ý1ÖP-‰¹{u€É#ÎÃÌyDŽ ‹ùΧh¢ù“e˜Müì<£%X å|ç7:v* |L æÈ\S]Nð …dé 7:À»ò.nu·ÊÿÖ¤[ÔÞ%ÚöU倅ÀÐneÿFp¦³ž"ª’ŠrxÈ;Õ]«Õ—E=;Ê+Œ®ÜMl*~Ít¿ÎUr¹½€Q¤€EË ‡MÌ €ñ\s•ƦQââ<¿¼ ìdT`ìÜÖùJ>ÊÇ«ßhqOËIΩŽË Ï­³œSˆž€(…P6éøoMRçA~Ã!{Ø 0ö埨”¢1È´€¾[me êhQm@‹“›uí¬!‡!´RGB2YD3’rÎú›k©£»„E þÚJ•ßÃJáT3jš~ιøŽ-Ùˆ¦ÖZÙ~‘È\Ÿ*ÿîEˆÐ‹[h Ô8&˵³2£0YÍɰWÑvêÐJŒMØŒ], Á6,Ç/œ ÁõzVÚJÔ7>lLuh,[2t]áµÊF;f~ì Ùò§.¦Ú˜%z]ŽƒhCWu ªÃ>f´ Ùú.CÚ¨`B¨ÅQ²Ú0=> VQR³æÇLÞ@¸þ1©Ù:‡A·y®#ÌzrYËT:›é •&ؘ£ã  ì¤T&ÇÒ '¨×%˜µC©'H—9’B`Pr¨r•`QÉ/Q‹T;"ˆ\Lm{§h|YÜŠkñOUÞÏQ‰•o+»I&\ßÃV¿Þo÷¤ ñ—ÃE%Ì÷›;­‡Aƒ\DùŽƒnð)jT¤V"£kÚ3AÏÔ`$»ÚÀj`tðT_Š®òÓ\ÉØB½J|CU¬ÈŠž /Q^²OQÃôøÍ*lqzˆùM#…تàçÔI)‰¯îvWÆÚŠ>Tz¦îÍ—Ðm6vf¾„¡*1“þ ï©»S(bÓŸÆPb` FbY´$ü`gs¹êŒÈ¹½úNnªkpà‘Û!›ß%:š…ûöþë| & uËmýàN¹–ËÚYpŒó蟼±XUÎö@6$¶Þò¬ ÃP6ío”'•H´ xz&«FÜÎzJ›®äZt©§ z˜êßÄ2ãâxPaF+HvÖ]1Ì|Ù 6‘T¢žw|+Õ­¯a[µô迼"mŠì[ñ´¢ì…nXé@5á$â»ü M…±1ËçÊŒŽ;Ôû¡rYQ›¯}Nð ,Ndè$Ê ùj‡sÌsòÊŒ˜­°«>r T @¸.t9J*­Õ*«›y›< fÄ[ ° R) Ô'-r”z¼7 8\…Ÿˆn½H^Ÿ M•Zõ›;Ú÷•S$’רu;H©U“eÀÐ*ñÀ·"Xçü@ƒå7&î~%P6x² jªŒ =@ˆº ÌÈyØ‹žQÄÖÄ >ð4DW8UD³`"çˆxk×8Ç\²ürapù m—\ 7@§Â§Q^üÄ^=­…Xa(@Ðn`^ 'ŒÕ±å[çïlP\‘Œ÷Ò,l,IïjTZ»­ Ew¹:ÀõJ 4ׂáóvçhDñU)ð¼?‡Mµ¼·ëÞ^$YF2ÃÓ÷‘YÛû…ÿá•…Éóð*ª*‘JU}Ⱦ²ŒÜ‹V H€œØXjv­:b³›ÔDEN‚Q6Æä±m Cݘ’Gµà‹i¦H®™˜tMËvQWékÓ©Ik{ü u9“Óxó½ÅÇ^‚“*õøÀc-5êÛJ"Ûù˜rÇ á~ª/|†¬zÊÍw1§F–c1¢õ>ò²óøŠíXÝò^‹¼ŠÃ7:Ø„)åm—âÒ„NEÛ ÚD /æbmó”3™>•,Ö½Øêа¾Ãxž/ïø,¢€WN§y£ ‰c¢ÊŠÎävõ6Ð3fË òüäU(ÂFWs ÚPn çêhD3 a^_œ PT€êÐ=N†ú°Œ|KŒ‡Ý„>*ºð¨@8ê¾wßøå»ŜޡԞ¬Ô_2l£S²# å]à2lq¶lt@…ÌŸœ 6"Ú"êw€®…”r¬ $³nL ·ÿ“ÌÞ •M‘s'xíˆä,‚ACÈcÊ6ï(3\†n~  9žb>RÌÙF¦QCÍæad\€( ÷½GüûÒI$æOX|ƒç:öíÖáhއÆÂõêdÐ4%xJ R©½Fæý¥GŽîÕª5j¦ãýÊEdÌX’u2 EÇê<½»Êû5¿©†]„€þšÿsÈ@M†dÀ·È k™¾vêe ²µ$Ìß;u0Ì NæA*¥šÂšŒ§ 6!F–6¿yGp&à±9è:™‡CÀÜqùBjŒÇ"I=z˜P A?Š„)³§©„F&c–@|%ZÙzž¦j­`À Ú{À€Ió1Ë{@ëᨵZ£ ?JõiSuÓ^²QPÏkŽT!—ŸZ³¹½Cž¡v‘XÝÙšÃxUb7ŠJ‚¥V&åƒ6öÈ{@€l16ð«Wuk€ íae„CÔ767'V¶°$X‘rt[@´¨êÇ ú±Ã(ÉŸ¢é½µ€ó]EÜè-¤ˆ¥¨Ã\$žg e(ͪzTY~p(\Xa΂Ú@ äEÂIçr dÏÑ@Ãí¬ []As ¶=N‡ÕÔ3¢·ü¢Ü°‡Ä×^ ¸z¯ñþ%]Z¬ÎjT±¨{i"³[±èSh¬9ˆ7€=BÞwUYT Z`³µ¬ 0*÷ò­°Žf´ z‚ EJi X3–7 @¼×ÊÚ½ QqƒÁDKúŸýé'qÊ£Ê>2l(·A¼ ¢¥êT¤®Ç”åÞQ%°g„co| JùšÁGçÁV`€}šæMþ0F§Q¼´Í:j4Åsÿ¸3:´K…9ç”_ãÒú7‡¤´¾·YHÂ|·:ÇGU;³*®_pƒyQåñœHâªU²­ìIøÉUÌî¦À-”i )»òs×´¢éµ2ÍRµ2Ê:¶{@E‘™ª” _!„ Ù”’HbO÷)J¢ã±ÄtøÀÑ t‹¹lÚw˜².,Ã0˰^ð46E¶a˜gØ@Òšp¡‹R°b/eCa®HûÄff[NM6´‚%³|#{f}¥)#Sì¶ùȱy™¬=¥dÂ.òXçï‚lIÄ |  £"ÄèXW})W­goM1úÊÍi_ˆJW»ªF@G¯9ÞìYŸž»H¨ 9™²?Ue@·KôK," u9ÀA@±$tçÝp¶Uß©²À͈¶an§x RÄ ‚ç@zD — TV>§ID-…HÃï¬"‘ ¢Æ¡Ð2€™b¡ÔýçÅ0­‚ÿÎIM±‡Aq”ÈÈJ zš÷´#6½°¨òŒ §MBÎyVÐ=.†ú½ªÕ\\Cr¦Ð5¯Ppô™ÉUµ¹×ø•C—,j9ÅPé~’+0ŒÇ?Ę­u,­%ÔïH'ÌËeª AÍr '´ƒD¤î|:JXúšQ8qyEÂ.¤õKe² D+b—<¢Úw€Ù™ÀU…C®Z@–òŒ /÷Žð%›–(ÖAeXý£¡2Kö”,ÇÚ>dòƒ Ï2w&–#ìÓ6<ÖùJ©!u;ÿ%ØX*òyŠ Ù¹GÇ´¾†n.¹gÊšóÒQé›q,¸z]^ÐŽ¥8¬Lh&ƒ&·Ê yï侯ÚEJ©f°ëÏ…4ÉGSó”ÎÁ$^§§xísa’¢ƒrÜ£X yØ»rmò”ÎÅß”kl¿ÌY‰=`U03vÑzn`4óQó3~¦3bÇ2`vfÞf6-žÂÙt_ÔÂÖ;¶û{@@ulï ÞÎý mÑ`K5®½õ;š!Ä':,#Òá¸aDâ{=c­ôIQO€št|Õ3GžÏ­ØêÛµÅÉÑaUõ»õ= ÂÅWN§xS µ®ç¦Ðƒ©±ÏÔÐ%šþU8 $›ü ¨üž³\aQe 00› ßå(C¨/SH‰v¸°ÉD*”a z‡A´ Òê¦çÔÛJ!˜[ òŒ„ :/ëÔà¸o õ†*ÍÈŸ¬£^"²ðÈj9ÅU¿Û{BuäÔvf5jœNÚ ¡Y]·'©`òƒd³o$0¹Êšè7›ÆçðA¥°ù7:öí(_؇/S@—`|«’ˆ F¿éÀa™<øˆsŽðb€­Î3Ìví6½‡S´ ¾#Ô"ÿ¿œ 5À.Íá®Aoð›Tbo{{@¬L‹|GÐ_A µ«Vˆ*ŽC¶½»@†b£>oQý%˜˜Úÿ‰é Ú‚?YiRÞÚw0=šÆØxJÖ@µ¥ÄaÆñ ÂQZt¹½?¹—ƒÊ.ùÕv&£iûȬ±ŒÅ¨óeð”Y¬ô©š*íÌp‹û@ÍØ Áa‹Õü H$žÐ)šäS@ê`]J¡Õh¥$°êl`fì‘@*:îd |Ì(¹LC2¢( d;÷”iYé¹ZtiØf|Ð$Õ4ü”ŽCR:˜(äÙX÷ 2ÒMLÈQ®¦ÚÀc#l ·Ê –R\ùœ” ‹\áUË ¥gp””3ïÐJ=:4’ŠÙ-ŠÖzŸ´3ºæ¯ÅëN€F¬b‘ÂÎ4P-ó†Cl ¾ÛB,8Â@U¿ª¡ý%¿•W- Pòœ€/¾Ò‰0TgÏ8–½”-‡A‡”Ù@-Ôí(e©”©„g¾²#6plåÐ^d¦À]ýô•TM"¸QY@æruí&u ¤(éxE€š‡A´ >)—,yÜÚÐ1fKaR@öÖ@ÀUÍôJ=>…JAxŠØž£f¨GXÖ¬œ:šµšîÙeÓ°•—“YÅG5ªoʤtý¤i;jI= ZcƒUõ= 7ðÎHÌ).ã2`fìë`4ÒA@È9Ó-?™E:"Y)Õǘ€r›ÃX[©Þª¶ÄÌ0üà^PÖz‰Joü@œ×ÎOœæÝàB©b±&‰LÔ>6]Ë1´Ví€0Àº›ü`KÝŽV 44K mc°¾²•Zj+T\Û–ÿ8…e°’çNÝä…¾ë~P4ÜÚ•4fcÍaסHp6˜¸Š’àЫPw »Úïo”¿¨ñ\½jV¨6ëûH¬›5È?”‚‘pŒdgéV¦¾+©òÜkÞQ)ä_þcËûÈ3§"_ÖÃòE¿©‡ä%ò%ýM§a9œ‰oS|ý4¿©Çä?™BJx½M§a ÎiÞP¤ ¤iiJ¥‰E6½´ö–"lml$/¶fA;a°ù@߇áêU8PY}U’J•4§O 0B[«ÿõÖBÔÅîq–Z@¶ZtéŒ5 ªÚŒ<¢( óoÚA*˜ƒŒ£T¦*¶ªˆŠ/vËñ.¡› °ðÓ¨ùÀ‡»€ €Ä24KyÚÖ ê`výÁ=zž5aöZ’O4@‘ÄÕ¹P§Ós´£“éjíaEHÏšÇá<ÖR‹€X±æÏNÒÄØ)¯‡Q˜Q¤…·°ÔÊTt>‘Ï-L q`EÀÔîdªÌÀ®ð,†vZtÔ4Ë^ðyˆ¦™î`ÉÝW®çx ³“ß2´Ó02ê` ­MsR:™ASÊ0olÛÞr ±%/#SÝntí(Ô ñÛí"QÌÌ-øç¿‡àÁ V¹%5ÔÀê«V V nU%G—Z¡¨Øê°?us…eld’ã-MŽR ©>*¢ ïv”I¶X­oJÞ Œ,äœC¹¾4ZxÙ•iIav‚¤Œk[Ò·‘…ݳµýô•V”™•°Ø æru€­q˜!ƒy0w:{*4JU+IK}ç‘`A©¶f¾#–h$¨à€ªZ¡èŸÌª-„”^oSˆf¼¿9PÆÙì7•]ü -õ®$eé_½í¨þšõ͈Ð}ßæTxõë7þ%L©ŽU¼+bÆÿ$bžU¨rö€Zßf™“ÌßïHìÀ¼£®òT[rð*ÿü™<«þô”+”ó±½C˜íÞA ÉG?³C—Vßø€ 6C$\É.ØŽBÊ4£ ýÐzÀ pý£±åç(CÈ1ç:vï Ì\›r`hrû$ÌHêv€ÿÆ™îwþ K‘l Ê:î`$\G[™;@߇¢ü]u¦‚Ê?ñ=š–8. 9ŽÒŒxÞ!xZ.kyÿR£ÈRTx§˜òßç2¨0ªä[ú˜~BÁ4–àÙØeØ@@”[úÛNÂ\ïÉ(–¿™µì RU©EegØè ,L‰rÇwÐJ3ÆßxÈ4ÄQ/–&í ”iF³ÐBà&6Én£.ò ÕŠ©¨@¹åÊÙï<_Ú h–Pjܾð#û£óŠ:ÚØ…Øè°¯G…á0R¸ÇTòÓÛÞ§ÄŠ=qÕ#ò•:ó*;.çCù f/3º“‰^‹¼ c„ݳnƒ¢Â%AbXœº“ «‚ºaA ê`"mbÃ?Jí Ø›û“² å¦5;Ê ä /¥wgmÌ ÝPÿ“B7[E1¯y³bì‚@8FuM¿˜E+º])9¹fÒˆz†ØU·ÞÔ°ÙšÝõ„zGÑaÿåqÊ9Wxu(5ë¶ÍWîÿ2£Ê­ÅT®I,Rˆ:¿Ì‹íQ‰Øt+KÌ:e§óÒ«Ó0¥ÛS„eÚLà +c¹¶²3ó0D VøŽŠPdªzʾ&5]Ê e2Ø-ÉhH_"€XêGÊPÙ©•©ÒúŸ¿Äƒ7e¶øÀJªAbQßXSðXš•Ãà(S¯iDø{t›Ä’ÍsÚvZcšÎFÚEÔD¥LZ¨j¨±òˆÃ+ˆb<Ý»H!P±IÐ^©Iª2ѤA'sk™G±J˜à8`‹æ®úÚ¨^‹Œ¡›7$ü%Äx•«ÖjµH·[„ŠÉñ3_/ÎATÓVkXt¾¦‰B««q„ ÌÌ ìÆ¥E$ ím{@ÍÃ’Y”Üö€Ðwm€õ0©7ªà•SÔí_;5GÌ Ï~Ð!˜³=`:j Ù¹W_Ú[ÔrÌrµ Õ©÷GÈ@U\d° ³`Sœl d£xxÍCìé°æ6½Ì£×¡ÃSáÍÔø•º»h°3â8´¦Zšõ¤o/WšÌrÎukÌ´@-±5ÀùÊ4®ø‹zP A*¤œD¶öÒ ¤b,l;k°)”Äï„zP.°©6Sv#Am FD’ùu&Aª¢2’j¦?6•–LÄZÞUgn`I¥:xÁTtQo31´ +|®1ÜfdÁ˜å`€0téTĵS·§ù…›£J<Ú3mÚTK «aêm¬©a‰Á·A¼î „,~±Å (4R-â I?mPX(º­´Â<~*»q5 $­%ÓýÞ*¹±h,ƒi€"ìtw€ìÈmbjŸÌ2„HEÀ¹ŸQý$‹‹2l£S…›3妿ïç(9¾ÑÅ”d«¿ilÅÏXý1ýçáüÀV#È¢îr?´ˆQMþñÞ¢â:Ø NÐ,çîÓ_÷ó”æçËMÛ{À‡lFú[@:H)Q…þè=`!â6dò߯xùˆscËûÀοÓ[zØgØB½_£xu᨞.°³åB7£v'‰«Ìyè7šG•Æñ ÄÖ—( —¿y5\ÎÂÁ”uÜï J¥šÃ.û@£öŽ2Q¥öÞPØ—aM9—ùÈ&£e^UÓ¿x 3XweÙÜ*1d3ùÀ§¯V Z+Q™@_YDT©¢)º‰ÞÄ€$ö]F±ÖÄÚ˜U­† ž\Ì2`Cœ ÃÍ¿hÜ}ÑK„M,Î7éj B•Qé±sp¶oŒ£˜ è­ õ8®.äÑáòV¾å%€W®§xPP ßEÞ@óŘÄç§A*6…7c«o J  O’ôÀ£‘…Ï¥ "p›“z›í •[Ü“`52ŠÈ­Ï•€u„ÚÌã?JÀÛs¼ È‚ªl£™·€dGݦ?2`C1c¥‡A…ÐØgPÿãüÈ—’™óf”K0¶Ó©ÞÑ@ÛNƒxGõCõšìVšè4¼öl_mVʃ5Só0+ŠâŸ‰rŠR÷÷…ŽW¨M‚’iœ©*117<¢úÀ¤©R‘Æø‡NÒ„îÂø˜š‡˜ž’LLl¹è ]ñ›…RD zÍVØ‚­$ÐíåµBÇE°Ð[H¨ÄyGë ´¨´”–¤­Q´$œ¥H¦-„#>ÒP€ n{ÀÐab) %o™¾°*©¢äS TfKuï(ÉÙ ”\(ø÷€ÑÜ–8F¹@ÒšR¨ÅêÕðÑzaø`Íâ3 #+~!üÌIay"áÉR}"úÀïú;jŽ8ŠöðÇ›[Þk­V¹Ê…?Œ¿ˆåúV³a•”bæ³ †Ò4©D¶EÛ\ô*Œ-÷L 2 T–nk„¡ÕG¢¾)Wavì6A©µì6œ o"`ÍÍû@ Ñ-£0ϰ€"_Ôúv"‹öiÔܽ†ð ~Eñº/¾ð1`j6ƒKõ0 ’I$ܘMA%›•s=û@h j¹›_2vÀ*1«Pª» E¯Là¥RÊ:ާy³­°…²û뀪G–î}7ÒQ`ÓÂ@Rjzœ¶Be«{»À` ˜²ïþÎ×lMXè¶3%T ,uiTR1!}¥H¦:ŽTT ¬ÖZÙ4K±8Åõ$ޔ髂¢ª"fkçHj1¥Ž°!ƒ1ôÛ  2iMñ@©Øéü›Sd&šØµ¼Ì áÙ  ºà$OSm·ÝÁðmU¼n$`¤½4¿hˆûB­r'ëWÄ?P¢ÜS“×¼.9’0¨!GÆ@*Øcq—A¼Øã¨<Ç0ι§™7¨~Ì PXØ Ì µþÍ—RÛ÷ö€dþUÊšæOë¯`”h 5 n.: à;Ÿê>dè y<훜Åþp3Ôî`Yºý˜æ:þÐò EØŸ1)Brxjo÷Žò E,l2ï´ >rrQ¿ÎP¹Ø*ùQwùÈ%Úö%šâ$¶J507áh?ÄËÖÞ‘×­èàøq`giF|etáh§®‹Üï/ã.Wªù›å~¦eY’I$Ü“Dò/ˆuôþð"iý·P|½ÎðfΫ±;\êe—bos Ò™* F:d õ2‡AÙÆ&øt^æ@Z£UªA_(Ï´£6¨Y±0û@tìÆì£ÌÈ)©X@Tkck EVt­UE:X@ Σ!ò¨8WLõ>S 0.¦:û˜ÕZ¨`J¤Ô{tJ1@ baeý`g„}á ÜyM—7ßiTÀÔ)°õ1„C5ÆQñ…P\¸»ß8C†ËÍPõÚaS{êÒT[d¿9TÉÑœЉ1ÂnÙÔÛîʨ±9û“"/",<´Æ¤õ”s’ ð¨f,~@t‘…s¨ñþeËÉO6#ÌÐ%˜têw ¢Ø›%ùÀíàxSÄ7[ËE~=„£Ò'Äó°µ%å]ÿ‰Qæq¼SqiÒk'S¥ÿ‰4Ž7al |?"„Øœ>úÀ±QI ú@”6«Wú•™Î€;ÀÈ3³rIY'úifc©´ ñXÓð)„Ãêl#?âQ“¸åP0ò¿x|Ì£׿i+¡lu)‚ƒ ·´ b¬MV@£Ò£ýÒA™`ÌI“Þ 4ÀkDd/§xý…:W»øÌ;yeùi‹\‡a¶‚Ø6½¤RG\LlÆPêÓE*u¡:•ßhÙ.#ûõ0!Q˜Ø|ä-•XR¢¥€ø÷•^¢ð0¦™Ö}HÞtéø4˜œÜ‹¹)QâU58šåÜ=´+*—cÊ@°×8²P.Lªäò¨ÔýÑΫØyTûD¢j6#²`$ ZöNÐ(ý£…Q`2´Î&TLÀÈw€T Y0½w03å¬ jy†:fǼ¡7‘z›6ý¤ôéÿsÈ0304§ä_®‹ï¼EE˸º§MÏA(J Z„±×60FÄ×µ†€l$±&_%6JcRNm(Ⱥµ€Sa ø…P¬¿¾‹"ˆi—.yœè7‘(-n¦ÚȨf&ÇAk^…iàÆõ.äyS’ˆ>F$¸57ÛùB¦+ù…†¦ÉLTí5ÔL¢b `Kr4Ø ÀÒ'Ę TìF_Ì@š›£J.Ú1À–W«[©¶°%S«‚éÔ»8>¸†ñk Wð¿aô…ªeÃErU¨GÇñ-YÍ y(ÉŽ—þ#Lq30!Ë©ÞE$PF&ÉFÚžÐ(ççqe(ý ýŽ/~Ußø™%ÎdÀ² y½C‘íÚµ¾Íݲ$| K£›ýâ:ÀH¸ŽÀfNÐ(ù͇–šÿ¿œ gÊšÿ¶ÅôØm¨ 1°¾Ãs†Wªþbt;™Bóc¥ó¿yI¹7=à_ôÖþ¶vé­ýl?!þšÿ{È@޲‹o³\˜óví õþáÇ DñU……”l mDo¬ÔÌžAúÍ#Ëãø–â*ŠtÉ(_Üw“uqÍP…æ§s -îvhîÂÈŒMºƒ©”hüET¥õu{W[ fìQpXbõeðgˆì?(9À¸0ŒG›ö~%:t0x*j8Í®rˆSLV³0˰×cùÈ4L(¾%È:/ï(Ó†N U«Q€S`0ê`dª‹³]Flw'8رas(KL³X0iáµz¡)FŠ @®*“Ò"†\ͳ¹”C+S§†ÇfÙtè e Ö• µ²!a{^%€µÎ€ E„áLß«mþï …PØzš3 a\—ç"@fÙeSÌ·™Îƒh@N çw:¤T¢–¹ÑF¦QY0û´×ãüȃP…r®òª—kþ@H‹¹Ô;t”[Ȇìuh ˜4êw€‘A›%œ S‹©ˆÝh®ß!R gl. Ó]«B<î7Œg‡6èJü„Âï„`V'v¾°¤˜Ébjd ¹cˆä‹ ”hõªTµJ¤*oÂ&£1¹±ü Uü1r3˜Ë–A¢ÔP¯„Uº‘ËüÊ3fî¡F",Ùœ»@…šÁs=䄊`¹7×¼¢ŸÁv H:¢êXü`dì¤ i”€TR 8F²i%:¥ž­QM+[à Eƒ¶7a€eaò, n¾ÀÚDÂ1µÝ˜}^¨O¬TBAÓ¿ñ0¬/QÁ' #S Í®I&÷0-ñ1å¬?§T}šgŸS½Ö«åFž½åG'Ò¼Và¦LÃ?íKÁç³L^¶v+)ŸÓKÛÎÃ.¿f¸ýG—·xyÅ:úxÀºvA✣¼˜ÕÛ07ê` 1¹w&Ã60%س=`×Zö“°FõjQa F„LÕrûÀ*y¤:sw02©òS·©ó=„ ¥zhkhÚ'¿S(š@]…Õs=ûH ±,XœÌ LlÁCûÀª•[‘Žï-VȨNøG©íÒØR±Ý…1«ÖlT‹²Ž–€Â*fÌ1t= „}²Tªz ›@ÌŒ …e,ukÈ%i“™ /Sq_Úž;¤º Bçù”Fl̶QÊ¢ È?”ˆµ¦àáD-Pì4”"¬§ÃQç919@–`Ó©ÞŠÄÆÊ:Àéá8fâŸy(¦§nÐ=^ˆW§j|>t͗ͬ™èó¸þ-Í*fìrb>BiDàR€‹žb>R*Uql¦AFÍý´×ýüàÍæo*.@~%ر¾›Ò(°óP~rƒú~vÍÎbý;À?¦.¨~̃0 6 Yò 3'˜Ž½ ÏÃLÉÔï¹p)Ë©ÜÊ!¶ƒ©ÚAÔ`«åEß§s(Ú0UòÓ_‡s±X(²€Eä›(ÔÀ¯ê1cåUø  5 Û$_€Ú»–kè4t*Íىºçð¿J¯Ä€ †¤Ž‚±ÅT.ËÂÑÔêeÁ—Y8N*gl—ûŽò£ÉñjTcZ³~§hVLìM͉=„ §kp ŽÚ™Ñdj†¥jjê3lȾкWª_ÃðÔ ð ÝÕìFVÈUv¶` ÉØ@±‚­URÅA•ì%¸¤]iÑrê2]L p  jëa¯sg€î¿œ YS,y¬~4©B¯Jî–j™oa*`¢š–óh£¾ò Œ ¤ ’Íʹžý  µ\Îm™'¤Uƒ¸åQ«åÑy»˜@Øy)bõ>C°• tü1’ŒýåÍŠÝÐU/•qêoaÚ…êÍ×hy« Ì ¤¸ÝVö¼‚—í `%œx™†H.¤*–k“œ‚ù0æn»J7¢ƒ]nH=/§Âª1@˜›ëxQO8\d_¼ x`xŽ*2p©6Òö•½aâW^y)õ·Y‘ËÇñ/Ai¥àØì×ç3@Ù{’H+"Çeÿ´H4bÑ~&p5¬0¹¤9S/s¼+èx C„L<ÕbÞð„ÔÖƒáK“SV'9qU«W%² 6UM|œÓ!°ýäVp‹¯“xc%L‡ïÖòÚÐ}ÉþZjƒB1ð1«yh ¼Ïç(ËJãV6¿l¡UOËMê E”v¼#(Á¥<îEð øÀT€z€6wÌ÷€jµAc›{@+´*2 Ð#ÜÈ5ªJª >Äž·•Z§ôxl*¨q’ *4•¶:F%߉‘†SéøÀªj®álEÎð4EEe­È°—G¤x/*Ó¬Ê-s–¦ÿÙqcustomplot/examples/plots/dali.png0000644000175000017500000166463111631024224017732 0ustar dermanudermanu‰PNG  IHDRX¤íÞ[#sRGB®ÎébKGDÿÿÿ ½§“ pHYs.#.#x¥?vtIMEÛ (%™xÄÕ IDATxÚd½ÝŽ%Irç÷33÷ˆ“UÕß3Ù!)’»„VA—z ÝJO¥[A¡w$Â`ÉY,—äp>zú³*óD¸›™.ÌãdQ[}QÝÙ™'ωp77û…üoÿËÿú?ÑhûΜ TQD7T…ð"@U‰™hÜ'ªJ&„‰ˆyý "†ˆáˆ$4DPT¨ÏLR ‰@I‚$4AID…LQÆ´mGÖk„(î$™ˆBjBkªõûYï•úc&¨*ž‰ˆ‘Èz™ùú>ZkÌé˜Y}=•õ®#HA¦ÌŒˆ ©õÚÖqºx &‰fÌ9Ѧ˜4R ±fÊu_DÝ;ã~Ò·NF’$ *ø9ÐÞëzz¬÷ê˜u"v5ÎD…næÄÎŽs$ŠÐH1„\×5¸?ÿÀÖ;žl‹¤u#Óa­ƒ r 2ãÄHh¦ ÂI„L]k¯®§{ b xÝs²>ºÖT]ßM” P5b:îwz7"¼Ö¥ÖûPÜ® eŠÖ}ÐZ'°™´Ax­ôº¿@FýÍ„BdG`­Ã$"ÉTD $P¦ûã=Ô¾IÂ_FD‰°„„¤–\ým¦k]$´¶îßú½ž£Þ×µ ƒHÌâÀDQSÜ}­ÇdΉˆ6Ò„IŠBí>®M`€„³ï;s Zïø‹YŸÛÕFrb*h&‚0³ÖDÈ2 %ëú“„*õM„ôƒÞ 2‘uÒ'µÍ¬]‹ºÖ„ c \ ‰d’ˆuY{^ @µ1ÆIkBøDEëÚ["ÌH£iâÓiÖpœ™‰F"©ô^·dJÆ9iûp˜¤Š¸ÏZ?uêsG`&«NDÝ\qÄ“3î¼ÿú÷üäÏ~É&N{{ã~õŸøä³Ÿ’ÍØ¬Ф’Z?Zç‚ÕïˆÄ}֞ؔßþ§_óòü[Þ¼{Ã_þ ~NÞ¾íüö_þ…O¾øŠû÷_óîÓŸ³ß>Ã4QÛˆS%QÆ43D |"*X:! ¦FdC¥ãD®’¡V5/œø¨6 ¶j¯r §÷FbxM£>÷~Ï7ÿük>ÿ‹¿fŸÚž ‚§7ã¬ú?†cVï³Î’Äš1Ýëþ‹ žà5ð˜ XëÁ¶º^šX b‚dÔÏ«`²ãqœp%šñõoþ?ûùŸ#lÛÆó{°6×9¦dV} P¡5ƒ0<“#ñ9 ¼öRû=Зª7*Á˜“¾mŠhCP?ç"ÄË|ýÿwþñïÿ=¿ûã7ˆ?žÎoþù;><;ÿÓÿøßñ?üíg÷œGç·¿û¾5¾øüæxÏß?sw¾ýîG¾ÿñä‡_øîÃÀ? þæ¿ù7üúù…ÿü÷_W-Pضó8ضVËXÕºŽªòï~~ãoþ«Ï8¶ÿ÷?üÀý>Ñ­!Z{SM٥ò˯ÞñÅgŸp>¿GRðù $3k_Íì­z‘3 MøÕ? ~ñW¿à»ß½ç³¯:ïïo¿ùõ§?E=ªyÔFp¢€ZÓUì×â5ˆëÆéÚÀ×E¯&Lu}="NæDW㪸HÝÀÖ¸ÏÉûûGÈÕŒµ–ˆLƒ›(MÀ<'‰æ®v57»£Ú0ë¨Úú÷†¬ÆKUQëJJ1A µVÍÕœ¤;’‰‰Ð´Næ«iT Pæô~÷¬†®>6¢FkJ⸟Uغ®Í¬ˆÝíIÃWCá„;AÆY¿O‰Aä‰d¢ÚðYß»m’INÇGb[#×?xéDf Sél¿½6VjZ‡”‚Z5½JÃWg$ª;xCQðI¦ Z XòFÓ7´m¯î³G.ëûòÒñ3ÙÚŽõ†Š¬âb¨öU”íq­ëZ]ÍŒ¬ÍSÅC„µž¨FØë{2Ì o[µ¢ˆ¶Úëó¨*âIC1[ {«×Ô RHë<ÖBfîéŠP×®µ^ûEتРàQï-[ïY^£ªÕÖIÅœþhÀT3E×P&†¬Ã¢µºî“fV×Áš"š¤ß™DN6k&PU‰œõs­U“N'0£ ƒÖ3ÁPa²2­ÊG5ƈ;ˆ“r":ÐLÎñpêT¾« %€(kpJr5Í× 2§¯ÆFi­Öǘ“_û}5D4Ãj•â¡ 7R7¦TÑZ«K2«Ã¯uh­öâjv¦.A·VVÖçOÛäÑä«*}3Ô’¾ß@ ñ¨F[ "&îkRµgÝ—$‰{5ë¤Ô¾TÅúÎ@ˆT<‚A V Cª‘€ø`oIŒdbæu½mÖ¥Õx˜Ô¢šDŽªÇví™\,Œ9WM¨¾YgÛvúv«&§Îlª½Ö1DÕ?«á[ Ô`æI΃_þò/y~þÀËóÇ3?¼ÿmâv{bJ­É1¢j¯î¬áªö™H`h¶µg“`¯a gäø¨.Èãý‰ÖÁ+×PMÕXÖá ¬&Ãð Jä3·Û—43Žï¿…ý-¤¯†¨¥ˆÀ¬~Çcðy®³2@ ]«Ù·ÔFHÇWÍ—(§+#­ö0ï‘aCMpq~ö³¿äïþŸ|x™ôîÕìȪãd æJ:õ}" êˆ:Û&´VmR«13š6Ì ÕU PL;á‚IO ©Úâp{Ëg_ý-S¼T©Z•)¼yÚùéWoñ{`-8Ž;瘸;Ógr¹3ç .¸Cõo‚HTÓ ̉ºŽ‘ÁÖ;s [™uÆWÝj¨?&AàÛïžyÿr'2ÉuƮ߅Ԡ[àP¢’´PöM1«kÙô‰§§Oxûæsæ8ÑÌIDuÀ¢J†Óµˆ'}’b5E‹C’ÃÁ5«Y³Fd®F«:ÉÞ·uP¼nFU¡×9¼ºFcßo é™4"êïóNê€<Øzã$ðlL¯zbUÄÔ° 2³ ¹&)¾ÞS\ó<ªÄ§"¶ŸLܬ¦éˆ*:îAÕÕ…^e@NæùL]è•£¡h éɉP(ZïH5x:‚˜^“«:BpÜ_fÈtzïŒ\Ýwn…@ÙFÐ 9brÜÀÄi½Õ‚Ü”lH$qN8'ªðÖzM"îÌyÖ„„0FÒû¾x¡«²™±›¡8‘ŽÙVÅGj’QI¨÷ª­ ”†¾Ù™M˜žëzì¤iJ`¤×„'Z0ÈŒ b‡ìôvcÎB•bU¨ã 8}¡Uጄ™…\,4UDW3/„VI’0Ô&áwð¨ë–^HªKÝ£†Y5Ob˜½Exb w2«¹i­1°VM„»c >¦ƒ™ <‘ÒHQÄ(Œ<¨Õ£u½LHI¸I®ÊðŒâ(Ð$V3‹0|Òqhi82˜Ù˜Ùh­ÓÏAW'æ‰f€)[vM²Q {[(l$OÖ¹™²«ÀBAš$-kÐêh:ºò›¬öQÞ€Có"H›1r“ãu’;½$殉¸‚;äD5˜>™‘´ñR ìy  :Ö•‰ø2 ’¾‚̬µ,#&kpX:dçöùÏøÍ?ÿG¬?ñÃ÷ï™!¼œ÷Bjsð´¿ÁÚ§ìO¡OÄB`2¨-BH23±&ì6‰ñL +œNkëàˆ‚Õ4D¦b¶ÆT­FD ̪ÉOHˆ¹×Ù'¢ôžHžt ÂOz‚EÕGO'V­S«AÎÎb]S÷¬ZoÕôÏtÒ”‰jÐ;&Ö7ÆÖ˜n¤$‘^èi&ïžvº &ÎùáÎ|yÏ£Îä,´0òà<ç,v©+‚c½ÑBy³½å8_Öy]Èz6㬢¢dŽTúÕ4W³{{·ñ!c²¿Ëšc\Pih6R±*@aÛ;c܉gÔïÒ° QeÓX¼ÓÐvšœüáëgÆñLjðáù;ÜOF*‘hÞ|Z”®F¢^h¸£R7„Ömù 0œD{!I½bT ]hbX(EÁ˜5í뽈Hº-DŠBk®é¾ë†dmF HŒÂÆ#“°þ€öEÖ\–U¼U’ š“ 23Ôj²Ö?1ñ˜ÈñB®F«µjÂ.t M‹NR¦;îÉËËAïVH”Ö`Û>êµo·I4åð‰EÒUÑf µ¹¦êZ轸Äê¨UÉú’Us:û¶aÖéÛU`¿mhS¾ý.ù÷k ÿW}Ÿcà‚I}ž­k e¢(‰†ÐdÉQT™yÉ?ò!gšã™_üâ§üðÍ·<½}ÇnŠŒÁó÷ß³ èm·šÒåDÔMPðXk¡@’‚_tØ¥KZºë¿¯7ðñU}hH2mmés’L§µF£ÅPbÖD`¶1üÚHF¨Ð–!³&ÃE¼®¹h tA½õÒ%6£÷W]g’á´„f†JÑ7ˆƒ$Ó29ÝÉãBPHŽÇ¬š“§K¡ ²ÖJúDÅçôƒ—ç´Þ9ü|ìÉ7oŸÈp¶VÚËnF.t‚¶"50Žq¬µ)%Mˆ’´Û§üÛ¿øoy¾Ÿ“q:ûÓÒ6>ÿêKfÌ’ˆ$E©"kð½jú\ŒAïõs# ¨á­Ö–â ð(Í£d'£!Ñidî…°¨HM>ùªÿE}(ɘ 㳟þ"¸¿¼0çYÔ£;¦ îÔÙ=JÃ(‹r_gÛÕÐÉZEÓ%î^hÛbF”„œä’Ú¤T]ª¦ˆ >'Ö6>ùì'|øðž_ÿݯ0‰ÅeÑ…j¨4<‚ûœ„žÉyR”H£[£[/ßUs#g;UV‹sS12Èœë{Ó9‚qžuÎH}†œâˆQ¹j'B˜³†,wçåå…1 õRK“éÉËsI‘~þç¿àÓ/?ã8Î%ýø¨ä`zÐ{£oKê3éΛޙ(ÿøÛ÷ÈíFïOôm{hPÍlÉ) ¨è·ÛyÔýØcäê'X¬K« É»[#Oç‹Ï?¡moé·OxóÙ¸v4BJga¬î_:*³8Ñ(”!3Péö þò¢×A(Ö°¾qúD–`43hÍI|¡=Hñ㦂¤?¾VÍÜÒK©-½â*œs®Ã›뢌–0ZÕY~ %C0í¥³Y*º* ôA•h¡x©Ò–¢×Z+íÓB"rµ EÔFŠléZ–´ÄËYBSŸu·Þ‡Æ\ÚUå8NŽI2„?ãó¬m´m§íöÊ#/>º øy ’œÇùX@"%jTO6 °÷œµKœÒjªñ⢃dz "IÁƒœ‹)¾øîqö}ãùà ¶ÐÁ‚‰ MŠÐ5!^Bý(KÛÚ)ZÚ¥©¹6÷ÕØöÞ‘¥“»šr]“¯¬ÃkÍBŠ¢:i4ÝA_5&BÑdÛ'·Û¾NÅ'Œ ®S—.¨>÷9î‹6¼4—Ø|[ÃÃ:TÌèÖ±PŒ¢`3Ê,r‰¥…‚¨Më:d$hiXh%ľܲÐãI=ÖJ+–\›|iÌÒ@iÕŠ¦nBÓ¥µÈ¤éVôªÕšUé4Û‹RPÅb"Wá §©”{.™’“ÄVCš`‰IG(ݣꎶIdK‹GQ5­m…n>Jx.-Q£eÑF¢…ÚT}WL7d5º¨á\r„¼*î…øJ+dBjÍEÖðR£ÒØ­Ï®Š´NëO )N ÖÙ;CJ÷x8#v|‰öȨb>}Ò:%ðÏ¢gcǸ¯aiC†¬C¡€ûy2OgŒËPñJÛ^³®=£á´t$òñ™çXÒ‡¬á%¨ÔKQµVÈ6¶jR™ÒO"^˜ó'9ë=FOoß5¾œ¾•Qƒ e‰,ôг | )ÈLå10CV³ÉÆá'Û¾ñËŸÿ9LîÇ ÍôaF¹¿«q®æ÷Ì,ýCŠÑ[gÎä~N¦'¢—$Rk€NeøÀËî‚êm­®$™e’:oT„\†![Â}]¬hñ¨C;µñ“/ÿŒwŸ<1ü™Ì’ äGƇ2IU^ƒ.b•è:Ïâ,ò°¾P÷WÁÖÞ4iHJQâÜç‰hâQô Ç´ƒ¼@Ûøä«Ÿ±íßüöŸ0¤€í}¡S‚h¯z¦…Üâ I[º¯uÞ›,p¥„“¾À”:g/yL骄¥ A"󫦴j8{é@­­ÃuŽ1ˆþ„Ï$éŒù°Ð¬斩 £õ·ã…ß|ýŒ{™Ýædän (#Si—ûíÆÞk ö·Á÷?Þyÿüñ’ø`YÆ»ôƒIË¢œï§ó/¿ÿ#b '±ÞÈéô&e¬03PAuCs°÷Ž5À_¸ø†§žt9Ðá0F—ª1™ó¬b Õ(hpå'Δd³rç¨êGš¥vÅäÖ·Z8«ðQî’·­“ËibËÄî¨(#(¨•]µ´²%" w#t[´…>(¥âÒ6‚luØËæb[×!îi˜k[UÉ`¦CÓÒ'¯CÌ좃JÜš2\âŠÄr‰0ŸåÈ0-´ÎJ @Z!‚s-ô‚<ý…yþˆú$d ËñbìB“1éêè}.êÒ~tÛèûVnªfÌQ<¿æ‰©ÒoÏ õ'ͤ^Nœ$Wc]lbàqÒz5‘ኵr*uÑ*¦2PKƶ}«)NbÉŒ‹¾@‚P«&ÅÚ ¡•ÖÖa) ´“"¯ð>ùhêÉþhºˆÄ2é‹V1LoÕ JÝ+b'càs”S«Áœc¡šÉœEÅŒQ.¸¢›‚Ë«‘[‚t)tƒkš)QVQ4RÂLU%5q©õ#G3e}÷yQý@SèqpÓ•ò\HÆj¸k(sia«^ÞÅüÉ—B¾¼@œøy,P§5Øö·Ð•˜¥Û$nVz QrÙ m{5U³Œ µFjRiˆ MgaJSC²Á˜´U-r)°uz lÓZ´%þצŒpÌýéÆñÁyº½ã<ŸiÈL<Ç4œphLv›-PÙ©Û?h\Db-iÙkS%Å‹¾Œ5\Z!Ù»¶ÌÐY|µ5xàgþox9ƒy*ÇüC±U>CÊÅ{Iv+ã†fÉE¤W£!ùp†ÌeÔÒbDa ª›5z‚:»Y4zµbÿ”7ï>-zxÑ0 ¾xû†ÌßKWÝÞâaÜGùQž,Dà8OÎÈ2`ô&|÷>øçù‘ÿ÷W_óíï¿AIö¶Ñ·Ös¹cë0ôØqv=IŠî¶iŒ›p>+sï8VÎÓH$ŠÅPÔÔÁïÿð=Ú6NOˆ±œ„å NI˜Å…°#8ƒ°7Øþôpøª$­7Ž©è9ÂkòçÁi˰š¨ÒPéÃ¥)Ø‚1 ­Í= ËUX”N.Z§þ£¦£ëÀ¡i g¯´’•>)Xº… ë©—N¬–öUt.{ÿåf¼¦À_·è—WúÒ(˜=²¦„ZÜVX$m5Žªú@<³Dq©%D´)ÅAäºí¶8î,”Nƒd2ÎðëVý(RF‚k;Û­¸lQÁ6A,ÊŒ¶šPd6§µxØååvã '£6nF®B²(Û9!&¦ 9˜+Òbbô(ËAF áXNt9#÷ÍÊÁaô€ØJƒÉ˜ŽØRî®Kœ]×·&Ûðxè”JOQˆP¬ë<=¯š²,뺳òphºÇó˜¢/§×ƒ‹O/DiÅ=Ì€”Ðj´}5b…r(©;¢XçÄ+º e9zæÒvIqîPŽÌXtE‚Ic)”(s¹;/žS¢u—ÄU¨ik¥é2-a÷%žs.mÙBBM¦h¡AÚÐnKljD dm~“Vš?Ѻ§± i8E? ¼¼ÜÙ·§§[öYÍ­`Üǧ/ÔðB°›nd(F‡yu½b5Ðö« 0çäÖZ½ošqN&÷˜Õ4¤•¶„$£"m½‰låR’DíÒ åA¥>ã`!˜WÓ±jR"mÝÇXTmbZ”‹,MTÎ@RÖß1µKíǘ8ae4„ŠXi}¡h±Ê•¬º›5ž¶NÓå̵…ÔG`ͳ öG%:Ü:ãôŠQÈɸho+ÊlJ02“ΑÉ'.ä$u º,”Ίú¼LJVƒ.7Òñ¥ÉþîåÞ|òë%  åŠÓI0+G-KÙZR.+¶ÍK«´dVu¤k x&ïž~JÚ9>L^îwÔzié|¬†£tw½o…ì>Ьó@ŠÄÖ…Ö±"k¦˜óP-f<œæä«þd99'½÷:Ü£˜Z³(&Jë;º÷’{˜âs²!ºLÅT™)å”uxû‰e ºÄbŠ„q¾ }>èúy½˜Z „‰’^±$Wœ@DmTSoß|É»7_p{k¼|˜HËåºUïJÇUlSÑòWX"ÕwÑaº–›÷2x9“é3&¦ÂôƒˆÒ={–îN IDATÖð£­Ó÷wEÝ-úÞ¼yCfgâ˜íŒ1É´åP¯aébqXCFz);[¿ñù—OÌ99à8K¾2½ôš%99aihËܘ—ÊÊäÖZãwøâŽJ•2£œb«˜L¾ÿá™mÛÙ{{u6¯hž9Í”®E¿žéè4üœ ÕÚImB0Ž1PØ–sê$Æ÷Üî_Ãýš8Ž.®˜Gî‹=ÊBA‰Ä‚^ÍêC®Ð¡Öª9+4`‰²³è¡KÓ˜(®5M\TÐÕx±ò¦ÌÇœx‚˜ñ©=6ÎE=¬ÇWvβÁ^ôMЬ›y}&–\×,”%TÕº‘×aqYÜåqȗй4¥ÇZVÝ幚̹¦ÚÖkjí[gž£8|?Øú5Q·rD~ä܈ð¥=èdPEÔ Ÿ“½7|:h”ëó< ¿òm®ø y\ÏéTcq9u"`"t5Lf9ˆL“óx¦É|mî< kjÔV¢ëãtæÌµ1WfÒU`…•7æÿ…¾hÎXZ7» ‰ÕÄ\ÌuoliÖ™ô‘¶ë¡Ãódžó‘Q¾€‚«ëG¶••¤¢ì)%àŽ©°²‚.*'Öº–%À½Š¡Ïu”¯ÃËWƒÑ„—ÀôÒ5]%k­j—áôåvÉL¶ÞÖo¯ƒHr 9–¶a/dœŒñB_¦‰\zȇÁâ#ËõEG][ißoh†P:8ÆxLÖ™Ç\Ѿ¤¹è¶‚6£PíR/2Ǩ5ÙÇYÔžÇ(úlE™´V²° cž Zýt q–:XâA7Ø+ÿˆxýÓz!–Ö„flBOèZHZï­L!á˼P9Z"‰i ¦/Gñ2ad|¤ïËåyˆÎ£$aöÐq\õ1¢ò‚XÓQh[:&J,mc` {Qçk #ƒÆH<*¦` ¯÷%JxrÌñ@§Oª÷(JE|S×ÌV®ZÕ!A*²A×£ux³¢lÞ¿ÿwÞ|ò„û@€}Û ­ox*3^"YëÎ öÍ8„dk%|÷q@ÖµOJ·óVàçýï—Ù;ç1ûÞkUÔ_÷öƒA¸ Kçxáû«é¢WΩržÇªÍµ~Cªv^:Îéó#éCå¤]y[ªk€Xg’{°í7"`ÛzÑQX/ÃŒ²ŽõUWG¼¢ $NÒOr·v§q}œyI ûúª{ÊÚϹ(GŸ¥#+aúàg?ÿ¯ùþÇïêVã GµcºjÊÒ)^Ã¥J[¦#Y¶,VFþUQ.B-5%”&ñu&]ÒJ»(×< ­íf§7ÊÖ6æ¼sœƒ——Á9‚áºÌ |1ë Ûú†f²ï?>þäç_ Yt\©|–_£¾_Vcvi¦}VÌŠFß·Î}f bb­WŒƒ¶U¯•Ûmãëožùð|²ïôcÉÏò_IŽ4&á±ò×òÀýÇùjŽFí1$èý|…Ž–­¿¿C¶'ñpÐð€·K|þZ¼¥ îG–TºÁ 'B7öj˜Æåü(Jqè±ôcžÑüœå,°åDŒÈ‹FU9ªt}¿™<ŠÝ•™s5ªöpª\N÷óqà_"j®p:ŸìZÉ)±´-î^0­â€­&Yh•H57û¾—àW’më5­gé¯Ú¶!¶/ºËWq(Ëu'Ëò»œX¯¥iò$|c.}’Øé¨Ÿ%»ªËÆÊÏÁŒ#D8£u¹0¼²Ïæ3éw´UpZy¤MK¯¡ÚÉØHæšdãQÄ[ïñ8>ÆòcUp^E*\™Núpˆ>ôL騭)¾¦L­éâ Ë×ì>¢yK¸ÑVpjD©±r *ø•¬ÂÒÒ—û©6Je¤-ÁôƒŽºP“«i’‡¦%xœë$såÁÉrʲÂ\—Xr…ø]™N¬æ±èës)˜dQ»T2^8é8ošÐU°E o&d6½YiL¬îG.‡çœ÷ÕøÌ¥µŒ¢Õôrè-£ÉÒ¹`M˜ã^yF> U˜«‰“ó…ÆQH¬$šÆ™WÙL-$Íl£gCÏ`ÇSØnûÒèºDç±ôjе 4Œõžª!œÃÀúT@ê0¼LáD 2‡¦Ibœ+ BVXl5Ymi0Ò±î³.L嵆¨uÐŽõÀÕG-;|âÚÈÖ8å¢K3^ÆY˜d$§Ú6f*f·2¬L“\¹Bá²(óVâm¬ñ¨¦¢™!:Ú·a’ÀAp¯ì‚\ƒïʼj.Ë€#>IO¾ýúÈäË/>çåù=~?¹?¿· ém¹ÝJ±?WnVGÑK€O‰ýÓk8yG­ˆ²ò­n·™wHå§ò§|÷íï8^NF ­ëªÝ±‚JK­jK›ºê¸Ô€¬W¨™—PŸp6“eÀ¨Æ¾µj0ârŸ.4B×=¾òŸT+dÚ#±(=JÅ̈<¤*›n‹†Š5 4ÈI3_Á³A_îûI–Zu¹¨u5'*Ф“¾ô£á¯¦±kh_™|¯÷ B’ÐŽËNêŠ>øòË¿dÌgë­P¾+púÒ’‰ÒlÃóDÍq×nÄêuµ!Ëü1?ÒG»Ðh¶£º“(ÛV,KkÊ¡¾èÞöQ¶Zò§¿ø âIžÏø<™#Š1¡ê¬çGÃSœøtkh:÷ûä“O>§÷½r»nKïÖmE›ôê)¼‚^U[I²-úäÛ/|øþ}ݪéððÍŒ§ÞÈ ¾ùîŽgET™|é9/÷íˆQÆpgzý¾&›ÞŠ&nÅòuýê‹7y©¢·wˆ=¡öIé0¼.nø«s mÊÏ4×8éRöÓ)pÜT1&‘eíåµGŧòd3ËtDÒ´àä¡ýÆIëµ@Ï• Oez—)kâðY©É3duÅJï{Å>ô¾ÞwM¥‹XA‰è÷¾¦Ò_”–ø„1*(4Ë¥Ó¤øïÄ핃–¥ñ±f5Õ-'†ZQ"㬬£\ÓJ&+5½4gŒÚ¬(9!Ž ÜPÙ@¯l2!û”r`ˆV±i²+ô§ ë;š¾&«`ÐF9êž?<ÓÍhRî±L°ÅѳœE2æBœæÃ•br#2P˜¶e=/­©0/×K:F²S®FòyÇ%VÞ“¼N¡ëšŠ¶ºÿ« J8êU¬2mI. ¦£•y†’¶Ò·£ô`Áà u0‘kŽÆ‚¼Ya³rAÓ+w¨ÙklÖÓÔµìîò.[šº «ðF“}ñó“ÞŒsfi-°Ò}cLtÑ!+—çÒ êå*¨À >‰Y-%Ølâ|ºwn’ÜL0K2'½%f¥Ù³ÓL{4/DæBBe•ç)ˆ{AÜgeÑ:S(ãéE±ø8+ÍË8’>éZˆ‰grø(Å”'„32™b¥/1åÔÆ©Æ™e iX©Šj,w› fµîVc8½5Ò}™`’¹ìãƒÞ*w¬è¾ZwM…}ßP6Ì'O­R¿aσž…øú\!·*å J+sæXæ¡÷½Ä·Ò 7I[á•EæPÚ «ƒ1ÆJî^º³ÔNRÍZk÷ûÅ™T&žhë¤8ÒŠŽArE¯T}¬ŒÍ ÝßrÌD¥±‹`Kï˜4z{ór»Dö¢4’‚/´?ÄpéÌlpŒ<äÆ8^ˆl|x¹ÃýÎó‡•Ëä?.ú«Ø±ž±ü=ô„Í`Jé×ö\:A&ÊIÌgÌ'[ >ùÉ/ØŽmƒ8oö[í½ëi!ËýÍò“¶4±„IäIȺfEJ ˜UõrÓz5…!œœ’„Uz{ï¥Í€Í§^ó ýxHP¦Wmxûî Þÿð]­‘y¾Uf“ŽBZ¢Z±¦ [ÍÓRyjZÁœY4¹õÄ–û¯ÌdжijâFS’9*UÆ8Ö“Mv4ÏßýcãüGÚÞØaS/ä|Axî¶LM­5¤íœ+¸µ‰2‡/]ïK§É«AhúÀs–™".¶§2';M±­˜«V9ªÆ—Ÿ7,&õú'Ê}Nü>ñ¨xˆ‘p†ó2#båÖS-f‚³Ø³U|D+ô¶ÑßtB‹–D…}· ýŒBŒ·¼ÑζÃwÎî–ä iÃZ¢=ùþ»ƒ98'~ÆŠB©'ÇhBœ¥›n¨PAåÆmS\‚[‡Èƒ);¶m8^9Xïö |,€©³oOØŠPózÌ#}¹lé²V2³Ù«%<æ ¯$ÝÖZé‹(ç+ ú¢jR9jT ¨µ­&C‘²>\¥Ç˜KÃu¡`ðÐ%%¬ûÃX‹d>&{]ßxÁŠ*²‚eQG9ò1%ϬÇWDÄrˬtû˜ûâe9 ¶­-hýžXöòƒ¶ô#M:„ѶNä‰û >žëžŒ ^±éNÛ–•8 ´`{d l=K§ @kÜIˆ2f55}ë•½Š…JåI‰î•⟄L˜ÙJÛ‰¶ÓVˆ,‹ú*Á—9¡ší *ì4ß—ô4K~Ú¥¦åÑÄGæÍÊ€ ŽHÚ#¹ÎcpùÍt´ác‰—[>¦¬B¢|­Ç¥ã5ÜVþîÑ+ˬ¨¬ù¶«Å:¾¬Ã‘…zÖëWÓ–•X½hµkr³¬Älk—¿B`»´•H]>Ê' ‚N¯, n-ÙTÐ<5Eròæíζ]’·{ãM«pXË ·Ò­È•‘´šÙ0³=Ñ8yyù–}Ñ‚äÚ{gzeOVÂÿrìFC¤}”}T͹™-×Z b Q¨¦Ü3˜&uØ+¾¿Eµ´:óôX×úraù,d¶ʋÃëé ÔÿÛ›²]‘‘e˜ñæAË‹,é/ìXNz›˜TFÓ¦åì½ï²¤ç¢q–“7*bie pd³ÅeXúÂJq»¡ŒN¯ô÷”Æ@+š £m™}–sQµ"„¢‘"êwgiÁL×cIÄj¢ó}z¯½8Æ`ŒY&’tf”ŽSVv[¡¶俊M¹<µû~ãýû¹/¨À¯ÿþWüøÃseëYçø–ãYPí´m£?¨¬EUÎÁ9ÇÃxî–‰—ÞpéOu= Áõ¾÷§Ï¿â›ßýŽá©¥ÛC¼2‰–ËÏçÒÈ.º]´X©øzUÕ ÷%/H•¥ÍYQ;št1ÃÑ„±ÌÒŒÓï+p·jQWyDÎ4[Oôˆ“O?ýŠ÷ïXkã`oûƒB÷)ds¬Ç´©#Z2š2µÄþs9”¢"É—–pi,­ƒ&4´õr¾ç¿Ö?‚»e’M u¾úÅÏùðÍ×øxÏì!Jx+ƒ4\æ Õ%ï9iôî^`Ûéô¶#}ªùØ/žÂIyŲ¬§D´dž÷… Û¾³÷ÏÞÝèqÀ<0IÄ×5)µ?FA#ªƒd†px*¼{÷ÄËqG[+¦¤²}1R>Ob:º®™2ϹäI‘^ŸcÛ·Ь†$]çÀHøþÇ÷¥–¢àÝç’¶ÌÒâ^2©ðÞJø¥h=ŠÏ¡7åiïë|™è8^¸mm‰lûy.nú£À¶‡&á² /ýA¾Jb®¿÷¶ô!ßvSh+m=ËÊéQ":¿œ/ܤuØi[ÂLy͸Z‡Æ¶m!]^Z} ½t}QW\Öx‘âˆÓÜ—¡J+‘ØÖF‘,ÈßV‘éÒ}½æ.]ð{+Õw¹ƒ‡_í5½>×#õDËú~ë¶ÄCõ|¿‚ ‹¾Ùw£·õÈÄÞ 1´FhÙ°µµ•+U6\ÏšpÃêfW£Æ +UtY*IحиþÑá±moPÙÉlõ<>±ÏÆð`ÌW­Â¶×Ô«¢4­çÂჭf£49-QüþuÑd—;Sµtå±r9¿^µ/Õ,›Òš®k»:µR«•Š'HwÂG… ª­Àº×l3Y*± LÇL9Ïñ¾^âοZ‘/$à `½®‰,¡¿¬<²é㊒±žxb8gé„„å•¶¦ìÛ†HV8”“H…rëª!Q‚Þt=)`5•áõh‘Ê$›ƒô“­uÒ—Æ1ƒpåÃñmY´Í—©Â–HjZÑ<Çq`ýÆàNΣÐ:f¾´ÁåŒ}u@Ž+gÈs!‚ƒà â|fÆðŠ[Yy+’¡RЗÇ|™+de£M2ë1V½o4KLœ®YYS1hh ŒzާPÀ¾mÃéÊ„S{ÍœºÖFÙýëq>*øê¦(#·Ì1ñLêá½è£%ˆ¬ç:ÆJ#7ÝÖŽ%©¨çC–Ö­®g¡ÒÛC_˰q¡ö™EGèõx•µ×EÛ¢W— C‹ºÎõ¬Ê1æÊ ‹Ç瘈ֳ\ÿðÇßÔÓ æäé©W–T«\;Ÿ­Ó¢õ<Ô˜æzÃzÙ¼b8Öà-8MmåHUø©’5d´†YâÇÉ/þâ¯øÃïÃxù€9¼}»-„eZ™µ·×#±r±ôñ¼Û×Gýd–kQäÖGçÒdé)u)†-wSqÆyÔ#Õà1D¹Ob=0÷ªãÖ„¶=•1åþŒÇÁq”ãÛ}¬ø˜º¬Çþèz†i5Åu>´¾Œ)Í2z=¯´ÌG®m=®©r°.#×#pYW†¤n wÎ|úî+þøÛ¢õ%¡hŽtð"6’¾´L—3ŸGãÊõ,Ã5tÙz.ïôõô©Æµ[=V­S;TFUÝÚ­ž<ûYR¬íX{ª¨\ŽJU^æàÃáž5dKãœÂ{Oî>é[cžÇŠv[F•%ï¹ä>Fi¨­t¿ž'Öõav«¨Ÿ­×³R¯µÓMÙZCÒ¹?Ÿœîì· ëRú©Lì£3åü!¯Ya1‘åÈÍÉËÿGÕ»õÚ–]YZ­÷q™kíë9't:“çC’J(¡’¼ ¤‚„øeü„¨Þ AbRT–”dI.WéJÛa;"Žçº÷^kÍ9Æè‡Öç\;,;¤ã{¯5çýÒÚ× ú2]‚îì/¯Ð:×Å,Ö3k ‚;Âyä[¬‚‘$ë„{ŒÃîˆH63†_‚…«F·Â+¨\C4c±"k˜Ò=ç[Þ n9nkØòZDEÊã‘+* aΟ™Ó®ÌëœuÊÑ ç§ÌŽrÕכּ{ÔôÑÐásûó•?µŽé k—9Ðû‰]çÂŒ¤57¥Ûœ_gõn’bÂ@*. ,zFFwC3_ZëhT\†68i­Q6õ4æ•ZmFÇ™nÙ„I3íÏ…ûv€z_Ev8þ¼´ 9SPÜû0f¤ÆØ“„TvqûVoѺ.ƒ+•€+6è6¥È‰º@|ÄEŽa®ÚJ_³EÁ<: A»eäœ0ÏmûNˆà0ˆf毩lS¶y^(ô••Ú_¨ 6FŠdX£àJ€fÎÊݶÜY/¬¤H™†‡”æùßÿ™{·åÛIL£«•Ä¥CVPˆ–Ó/;bCÿ¨Ê鄤Jø­Ÿ“ë%-bT ^i>ÐGçÚ %`À)îèÕ‚¾êêÒ&ZÖ·beDN¢YÃýÃ]°á.ðþ>BÉ~ð.^½z¤;b?¬ ?L ñ=B¯ ŽŒHýPÅÒ¦"FØðR­â˜ÔpQUOß{ß}ùæ‡HaÔœøfEÐFèdå‘¿Å7¹„F¦¦à&†–ÎБSæZ…»pºç«” qCÑŒ* ±±™•,òh{·mÁŒWÊ3Þyö>Þ¾~Ö,³¡÷Bh‹Ä=ÊîZ†`î%ÎÌ$o ×vó†K€p§-Âf5#}oúh w'¤·ÓÍXëÏ>ú÷q|{l'hÄš™ 4K]˜‘±a¨±¹‹w¤˜ú5ŸOÉ,Õ¨õs‡¦ŒÙ-WLJ‚¡LGH‰@W˜ÅpbÂÑ :öpÙo™•#Þj%Wå¹R@Ü ‡³È*°¹A=!ë¹aêÁ™r°q:5…ž4mæ¤Þ;#Ÿï~÷®dà¢$,ó‚ªê×ûö%cpêqÛÊ3[íc1`‘@ù G®‚û»qO‰@_ˆ@ë”±/;dÍÔË8/º¸,èäì¡ÊÀJïú’aThМaÜ W,ˆü%Sp=Üm¬¨3ÇjqG.•kJãhY| + ‘·*Äc´¹M'RÀ% wAk7þ ¤BfÉ™Éט&¸Nwú6:zXH7»x zÀSɾË[ÌŽÇ$ƒ˜Â!1ÁÓªêí7Œe ƒ®uÅT µ²cC"”s ƒçÊQ›$ç-•l]á§üÒî…¥)ÄÖ"‚&‘ácRÑŒ?7Ù½/ŸÆ ìÌ=ÐaXPuA?ÞÑåvz€õNJðn‡‘Âyb|~0÷ o™‰EtX5\™Ø%NRÝ1…Ûi8Á¤);Gߣò™óá–âÔy¢¶`ˆmÌ-:E©õHç ªhÍ F£GÎEYÈàÞluŒqrKâ¹%Æu㋞B°ŠÕ­]œGá–íÊd´ü怘šæ¶Ê—:»Bm§*!X, —¤Š“u´á ÀÍf Þ¼|…«‹ c;0bŒ/êØçº+0Q¿çÖÑÚÍ zêÞ`‰Ei-\×iÖ K Wñpºà$boŒ+<¡£bÀ M ÔãŠëPd<6ŠDÄ–Ä:NÈ#C™k¯ÐþÉ€‰Á%3ÃR',R±¸bqàÔ Ô€Ï10ZGo”:4’Qü‘Ó+ºw•…ÅÛ &LR!¿.²í¬¯„u_¯Xšœ3L}Wǘ#L¹ 2Ä7˜ùDš3ÌiæXM>çI‰lXüÁÀ¢ÏE ÈP D°G’þ˜¯ `º½ Õc9p:ÌS¦¼7|ûípŽ|ðáû8ª]Óʾ Š£íÄÉ™Š0|G4 ]7£‹;â<`‘Âܹ˜¶™Â“¡ á£O?Á—ß|Žã¼`*»Èl”&ˆ¸žU5 xkÈ‘¸ ’ÅÈìÒÁÁ UNƒ‹çô%/Ïèí4ÎÈX‚'Ôó"ârC˜”µÞÔ2¡\Ü` :Çó9cØÂßA:Ÿ#4®-³òßk SI^§¡£À!}!+Ò®-¤)Xp‚átm¯S¦1Í+<3m€‘<†§ŸþŸÿæ(5€• Lï=Œ^%²h…ñqã•n-ÐÁðF³3<\²Ÿéô+ É•®H$`(<6b¡ïM¸sïÞœ˜b¡ŠV©¿îX Á¥äÆh6ÇâƒÅZ3¸(–ÔýŽ=ãí2S×"˜¡°ôÀôÐziÁÉʨSE©\Ç«S-0j.ا K3, 9‰‚OÞMx÷F1–†¥Ö( h`“‡ø™Å×k Ä7—hÇ{¸ß.îO'ÌËL÷X$GŠ}Û2çèH3?VtÂIN.{ŠòO¥,Ùª¢ªDèóÚŵ`C•ÍÖ¹™óEaíô™4ioè-â;‚‰UU‘E)p©q­NEz›ën£Í’A“n˜†eYhL•ÝXïÌ,TUÔR"¿Û¨JfJŽ°Ë´i}¨‡b@n[fxÂÕÁŒ\/ ^a9pc,(p4¤q. 7^§Yk|Fß›Òåµ#Êi³Äs…q^ ¸qÊÅ‘°pª%1.nÁ{çá ®&›4It‚h”ÅHïGÔÂßÑ PÊ%Ü+’&Â(¡è£mcYÇ9'êûz,9?còˆkd¶Î=´UêØ¦ª WËBȾŠ1 ®J:yNùìB]~áº1qZ§9r »­Bc9ƒ)ãâ”À6úwGÇ“bë")°B–”Ô@5tô±„ ×ÃɲƒB°«‘‘E÷%À§Ôýtk°p—®.Æ*árÅ€û‚Ãñˆ«›[67¤´Ã†n 4_ðr ƒ®Jׄ.ü]­(¼¤˜:¬‚Ìi‰Ó‰´†³ 2Rè|ú8¡ãMä—1 ;ÌqÊø'‰0hj6Ú–ïIæ×0o8N&F AÎnQbJÜh¼Nnl}6é$U8ÍáÒÌ¡½Z ¹mUÓzŒ (f3¢’Ò÷LjðxºbkÍ›ÖOùbcÀR ÓL&˜·5Í@_sü„1U°Ò bánܘ€©Dw^èb4:‰×iÛÆMò#À©9€:Ë)p·aŒfµ*îµÎx———hË@͇éî^P/®e梆"k3¿wâÕɓա¬ÔîùLœ¾Gº¹Õ·‰s’ \<¹ÄÛW¯™n1•€ > K‡3›…®SR¨‡±jv0‘c]€ŠýãîØM/ý>⬤j¸Ó £”ª¤š¢ÈõpRÃ1øœ4ÙHÂ0àòöítD;`6°ß_o â5›U#¡¡÷™LA1>+¢±N¬p-X @(­XþÄ3“ÓfŽ¢|"HIãâ÷œ#Ç÷bÿžöãAáÂàfU¿Î“ÙòeMGx„±J±Þq• $ QM‚Àžݹpä,[éIñ·ÿê3O @ƒŽ²ý=ê)X†~fLÖ–¨õ8÷?øøÖÞÎj£³°ç† Ó?b QK%ÊÅJ:àÕQ P+³xS¼|sÀÒÚ² / Ÿ~ø.UIY` ñ;úærFg±Hˆ– IDAT°¹£éùNÔ—6£ÖŠ$5ç¡I8âªìÃÂ"½ê›ØµI€?Gï1^|µ³s‘ã‘'¡«¹$üºm\#´óh†&Ž /öûmº´+÷Ö7n–&y g›1ã¿ùí×ø“ÿ©$ä’‚g™ÏúÄ•(¾ItTÃù³\LÙ»¬`?Ýby㸿¿Ã‹—¯qZ: ¼ÿà±âu§ö-Í5jçpy‹½¡]²"UHÕWWWÌz­…® vµ”Sì°- ),ÝbʇT0ŠØÍ–èø" :DvëzÿNìƒU§Ó‰]ÆX̰ ãX4åÐ8yˆ†m a …®k%ÊyÄĈܤ«KÛþþuÒ³žÖ&(¼wF‘ÄE»á–’9áYÝG[Æîš 'b8–åÈÎÖ%Ws 5jol,ìÁNí“uVÇê ²šÚˆÐe°ØÍ‰;\ J-½žÝ?óê¶á•朷½»JŠq10OäÏh…Y} (ÝWb2”Lñ€Ñ Þ10r…n .WX†¡¹¡#¡y >ƒnK2~Ìu6Ε<ÒáÄó·AZÇù÷L•GJ|·æ«F0Ñ2‚1˜¿¥Eàž0"ÑLÏÛJz=\ÅÏð¸uZãÄŸÇd*BÄ¡ä¹ENר4VëcÓ÷eüìVÄöÌñP\9‡¤š ZÎaÁ®©èîh6S‘ÈÀ¡7 /pãÏÔz£nQS8 áû+fîŽÖ;jÙ…~Ë!Ñ4i2zÜq½Û#ÃNRuÙÅû©²vÉ9Á¼!×ÉG®¡DÜ@§ xO‚ÜnNÚ=‚.MWÝ ³ÒÉÎŽÂy¢†›’ )9'˜‹¡¤$uíÐsüýºR#™‚ÁÖÂÅê¨Â v‰¸÷"y®Ùø¼ñ9Xgù‰; Ò¿‹¼‚tÏ¿\ù¢cø‚¥-[6£ÅûÀÏÔP2› b4‘6õ~¢FñȘÊ Ô;0ÆÖH‹àwNˆ\WB®Ää}Õ`- “‡¡–‚ZvØïöx÷wñúÕ¦|…¶RÀ5£¢mú:RL¹ÓvF̓ð]Nžn)Ô5ÍÑDQ›#N0ú ——¾à»ï^@¼£&Šê»Á³’çלÀ¤yå­M$f¬Â÷±º½‚ã¸A€•…„(_‚­KlA(ûp=ƒTyLĹc†šÈ ºw7·XF‡/3z;¡N•ïÎÆHÌ0dž‡Ì‹1Œ<ÄœÆÆø’ÍtwˆŽ­XXïÏÇÒ ai” Œpƒw¤ÔáØcµ#R–Ö6=Òšq¹þ¯±­\¢4M€ñHÑ ºñó™[ÛœªÉÃ$¿?§¶½'ˆÏÈê(n¸zúïAó ’¦ó÷㟢úR»ÔXPbásÙƒí•ÃæÆÈ¨]æ4¹9Њ >ù£±s: ‡t’à‡u$7TUL¶«$­º0Œ1Ðàí}Ã|jˆàɤ8¶#ºw˜p°c‘L1B¼Îa±ªÂ0| ?t$5tNóÆ ôÙõÇÒÈÉȨŽpRíȃ[1 Y E牠;B= ½Ÿ;¬umå2Eç[ãϰR”Ð}²¿rÄÜ0:ÿ4O¡û"L0EךÂÂn«Ó,×CÕûˆ ;r´6í˜*-ÍÔ%qíÉß“yë¶1e8Úd×Tvp£kn½öûݵcî,ˆ”ÊÕ‰é%¡õ5ß8/a„ÅÈÖݨXQ+ %ñÖ!ɶ‚I8çmý•5]n}+X×ýú:f¶-ÉSI›Fc¥ð;fB›·»;Zêu‚鮜ŠMš8žÎç=86G×Ô_îªG6ƒClbÌØk@Í!ÃYN¹F~Õ™Yu&”óÒÞÖN*îX:;øÅxɨ`+rÖh›á[~¦Ÿ“â׿ɺBPf WS&:!uNšºóPaˆ›7áϘhJhÝcè–.$´n T­» ØèV™©ˆ#µÐnñgm} /ŠgÏž¢-Óº5t›1¼cš257‘%è6ãþð5æùÒ÷½D×›õóóáó¡æ6cfˆFGh*Èå)¯ïº/Fj}/FŒíõ¥D“YGÎ<èàŽÞű„eP¬Z ÝBI4 M=dž(¶„…ÕçÒżҜiŽ6"rá2L)6,m&Þ"¢¼ºÌÑ}ÃÄ;Ë8ÂóÀÒF|3%9BòZÄKIÐÂY¸šÑ£µÖ³nJùÿSá<…’dñÀ‘¤GëIgh<,&ܶ@ua&˜'3št"ú˜QK}£·;B¦†f'Hby·Žå´ îöØí¯aÞà²ÃG”èB|ÕýÅÿÞ2!Eb=b=Ýcuî™Q)ëúÇ™ŒH†7ÃãÝTÅÍí ÞÜp÷ïÜܳcÄiDîWhJ‚dïP›·é7ƒŠÏR ]ˆIäš±‰mŠ-BÝ5MD}4¨~ ±¾2í7OК…ö/C+pyy‹¥-ËSEÝ]b† ­ZOœ£Ù8‰ËHºƒcLƒBSaDêó2X¤H†IAJÜšHhïhQ'l¶ù@}ò¼TLIQÊ5T®¯.1å I<Ê=\c¸:æÞ¡êÄ´ £‡Ó @W|ùõ+|øÁ0«çµ8_WØw.%þ>‹³‰ní:åssÞÓ4áÕ›×8;[Á$XþðGïXçþ0ê³£¡~.îÉœ°öÖÐBØŸTq:,(¥b_wØÃ‘Ÿß¡i·ûqÄÑ ËRš|‘‰BÆÐcð”`õF²3 ´däTˆXµî˜Ç…ûÝu…ÒÝ6÷Î*]…Ï« ³w¶%M[åMwM?ç%¹ñÔOŠy^"Þ‚£_ ‘nD„]ge™‘ccÁcpR: 1ÓêQ¼å¸ˆø{ÉºŠ”ÕäÉ¢`x‹• /á2%—™A¾Ó´Y©Ï…€`tv”+‘R Šjt51E"ÚÆ¾IXæ™/Çš“WA¢\­zpÐ2ÌY*Q…õ’ݘ€NF§ ]iQ0ð˜v®(ªø*XgFeÚb,TsÄñÂLQà¬Y•=U7,GÎz¡µ{6H !?4´o†]M'¤(¬»#â9„ó-y^c 3§šæ 2–Á=»·{<ÿö´v‡v:àx8BóŸüðÏP¯®q€DdN®5´?@JQ9Á;qÐ…îKã³ÓÚ‚2e¬Z¤;½Ím*]}QÜ>ÉxþâÔ²Go8ž¨¹x†Öb›Ñ±Ìo0ZC͵N,M°«•’„Â-´WKo¼PFc1±4t[Ë實ÓÐ;ú£ÕUXLBó‡mî6€p.Y9Í šzR }Lß²ÎúèÑQmd’ÔUøŸÞãâK$¾€¢@Ñ m9Á»†™£Y€ï÷”+–¶DF›Ñ|¢ë³€V†µñZ0UÅè$`3T:Ì:ÆÐZYU]£²²õFr­½ßȦMÑG9z9)šÍ‘Xù÷˜¡yƒ 4‚!GØAá¶CóN-šy虩ê=¸L]âg!2ƒ›d^î‡åÀ¼ØJíÑÅt˧׸{ù×7?@Í ¬BÆ…ÉìkA Š{ﺽ‰C±¤$®X\‰)ÑhR-õˆ‡QˆKLÉÆ‚ûÛwðÅg¿Æ|‚.5hn©ÔÀL5à ¡{Š””½‚‘5—~ ý‘ÅZ^ƒm• 5Yc´G¨E ­#m[)öp,KÃnŸðúí+¦=!{W׸˜&Æ•„±HÛ‡ãæö)òî’Œx|öœD{ë$±÷à%Fæîî!ö»«ÈnS o£ %ƒ0MgãGJtÑ"*˜Yt!§xÆNÓ¾Á5Ž#|ˆ“ÈÕ˜zRg9b"F¨möpÙ±»Šd5…I nÑU²ª|%¥àtqº Q,1IUˆvšà…g ][k¼§&þ=/@¤bZlýz,’ÂAÌ6¢ã›ž> d7ìrÁ⊔ ¬ÏXF‡æUW”xÞPôƘ¡ªÚj©‡l…IÛ‚Œ>^>ÿOßy‚ðî¾y…ýõSÆw9%C<Œ-tÒu›B#Ëó°…IÆ Ó™¨Ž”±ôØ]’A[—ø³’F;áÍ›ïp}sƒ‹ëwà‡d~nîŽá†Zw8žŽ(º‡)Í+𥒦pÞòþ(9ô@\æ¶FÈŒõy£›µfÝòs“ð™Ù¥xž°éhŠ?øÃq¥'¤JÈõAÀÜ mÄà`Ð=9šÁœNÛ¥wô!éexöô ÇÃÝC<µdHVÔ"¼;UQ ÝÜ5óž*µ`ˬRÁg¿ú=ŽGÀ# §-†š€¼{‰:)0Slœï¶AÂäd˜’ ·…Ó5¡„é4ÈËÛMÇ#®n®q˜¸¤ÿú¿ø¯þBÅ‚#ÀfÎaQÀxpª=ªPÓŒ6¦‰,w–.Ô·ÄEâ]–϶$vð¿Å:²–°ž/ÜЧ™îœRr ï±ÑÚU=¬Ü IŠ>7 øh¼4ö'nÙBVÐ x.=“îŠ9™š-ßGSÆ‘¶/ÙªãPáÊ/å°÷×m%OÜ9«V™ç䃣UM€2›JtÂhäW- ¶¥N8-1>5Z·=еíÅðÁ5¤0X5«Á%A|(Ðü†’#9=´ª‰áÝ:b­!Û˜Uèm Ö5…Ý3ص„½ábƒ¶âÅ’Iõ®B²ºd MLð@‘j–ÌnVr8é¤Ò«³˜3 [‘)Û:–“«óŠð¼ªâÉ\¸"Š)Ù ”<ŽÎËbd¨“çˆ qtQ€ÔC9ðüˇú?þ÷øÝïþ-nŸÝàƒ>ÁõÍ»xòì=Lµ¢Ao ¿ýí¿An Oßy]÷ýÀÜ{|×n¡ ¼kçËÍE W–SÝ¡Ô µfd¦\(ºŽÂd?|ûõ×ü>Ä1º¢”5€¹àøp‡ãÃ=v»+hÝCSB‡¡Í'ø8Az†–Œª\Zˆˆ“ö ¼zù-rʸ¸¸Ü4„>:¼±°îÖ ¦`ŠHãdu(’+jJèam椙GQDÎ΃7)&$+Ò`È*­ôžÉ³ËPxk0)p?¢Ñ[ŒÂrØ€•Ìl¿`@åL:+ñž6ê¸ j]2 ìÙÐl ”)ôšïv®@*”X'x1½}(‹ÇÖæ`j¸Õl e#€×VÈÂ0ò>‡Ë²3km¢ŒÅ`wG^Ò½:)5m^HMié£B~n&)PFçnR#~¥+º‘}ôp8àÉ»Ï0®°wš‘uu„¢¦Hù*ï&n_s…Z ëú§µÆ`÷rŽ2Aµ²šžvúÜP¦ºžIX°´eÙì¸.ÊØYóÄÒ¦ZW±6Ü7톯ÐRQº[ܳ0E€f Š“š«Ñ ˜^HÚ+Pd‚-+ó§Ç…+0™v0Qd5œŽGh w–¯£ø•RÍ¢W è³ LcaÝÈéÁ¼I3P"Öb<^çäè€5œ*Š9W» ä²C‡C‡…ÆJ8ÞµæíûÉ9átZĺ4ÀwÈn±óŒÖCt6Wu ÄôA…ÜÚMÅ›÷3÷Ú"-³ ê†ÝTp:ÍÑYà‘ÈL:Ǻ^múƒöè\CÑ–Oî¦AQ±öï ‡Ÿâýúr]¡~ƒ/^\â_ýüwøõ—(êøƒO~€«'ï`wqƒýÕÔݦaØî Ú8à§ÿ/ñï~ÿøã„?úôOa™ÙW‚©Ôœ#;Π™!³¹d, ¸"‹£R”ÍöÓ%–Ó `à»ï¾€dê'öÓ $Oȼxõ{À»ÝÏž>ƒ‹ õÇ6˜Ž|q…á…nWk_U ºPœS²ÛÛwbš• Œ¶ð¢M†Ói†Lu[«§ˆ…’ìÛêP×™SRô~äÔS=„»´ésâÛiˆfÅ ÞZJ àwt¤ ^s-•BÄrCãÙà”Û7]™»c(ÿ|oœžš–-w”:AzÆ 9wø ¿N%!NÊ‘,"UV³Žš…+ž%­Ó%…¢KJsoš^tõUƒ’sÕõNNt¦µ¶‰53ÎydˆqþQI¦e¸¼’2_OxQæ¼@~£ùcmÇê½Ù†Ê·H¦rðjè‚ÓXG¥G™ۻƊŒB]N®¨’סNÌ0`²=rÊR[múcÓ‘ìö—ñϊ̳sæ2Á‘"®Ä1]ìx‰¬ÖÝÕ‘dc³ ‘ûF±¬\“uÄ»M¦Xá3à6… Í1/!ØëÌžR‹40×í`å×EeüŽü ,@‚" ˜½ÍpêªqÊÜKâôŠü«r†¢"òµÄ·¢)Å¢º¨@¼Ñµ*m>!'E ê™YtΉ”m«EkpÔT €âõøsøWÿ3ž¼ýŸðìò c™PÌøÕg‡þ¿ý/ ý„‹Ruc6ÞÄIž8‹ü©DfÔL>VNþÜœo1üæ7¿‚ÁõÍ{xöÎû˜và3¾}ñ;\ì¯ñþ{ašv˜ÛŒÓé÷÷w­a{º»@6Eî3W'p8Ný-ž¿zŽ·wo±¿Øãâò€ ÖéÑê9Äåpì.öH’1÷JªŠw»nLŠqïŠ a N&Pƒ—Tµ B(l¨©$Žš¬e9ñ¨Ø2÷r¦îÄ!°”–íì^‹‡m[”ÑO1)imás„ž#¦ÖÖ;ºÝ1zi6®–‘ ÖQRªzGvô›Ñ]œNá±Ð+‘Ùv9AWKÃd[šµ“ëÔÌg•”Ã:/[#5‚¨¹0ü‚ä|—Ðé „º Ìf˜= ”.@J µKacaaÚ±èˆbyÓ鑌išb}”âsK"¨|±±,3Nó „éȆ³ì ÅÒ+Æ„…o@„¨RÐïÆÉr*@)Xæ†i¿Ç—¿þ ¯_‡'O.¢Áä&B}0tÉ 2:’*JVžÙB` Κ *ݶ46Ö¾0Ѹ®a‡— ¾2÷AÇ5Ä1ÚŒ¤!¤NéÑÔ\Q§K\Þ¼Cw½-˜ö…Œ5• ¤NýàzߨX x_£c"Û5\ð=4§ü, 9>C®égþYqÀùì­fOÄfœúÀõíSÌ÷¯qu¹çE>ÜŠ€ïPH‰÷¢FCÛLj +uz,q#]ãîs¸?À¢Pm ·*êÀÒÓ ÞƒºFøU¢g•{§›7úˆ;t °hÂoþþ3|üÁ-ö“ %‡cáô+ôp)­X6Yl,¨µ #ã·_~ ‡ ù ¹(JîøñŸ<Ãû·ÈÃP1Й›ô(°­Ù•ˆôs")4àá*çµ­ˆà8Ÿà½£ÖŠœ rë4‹¬0^T¤‹ÇÃ=ö×tmyÇTöÛAŠ)Ñ`g¹ +W‹¼pEcáDä ß­›rˆ{Wïc"¹#¡ÖéTsl¢rUA ‡:AÈÂC(þ=#׺‘àÙea[C¶¥m¼û{|üñ!IÁ4Žq8PKÅ;OßÃT3z_BSáX–»Ýµì‘EqD#¹]fd5¼¹»Ã2ϘrÁíõ»(yBk'L5£dZ‡ãŒiš0鎅a*蒸ʓÚ¡UɰdMŠÞ#0Y8)¤Ñ…JÓ <…A¡Þ#7‚MÔn7ÅTrPÑ“@?»&Ž’*TzˆãצŒ¢el­§èöãÂü™V0¶|SU(È .µ9>Âá…LVŠ][W:•Gš"Æ)tWbü÷X„·#8mŸAÚŒÐóçQ¡Ì=o8ášÐde¬” `¹ IŠ÷_¢ ˆVø8qy¨Y¨lì½cu”2¦\Pe ˆ¢Ãâ¿C{˼{´ÎlÁP\‘Èw…Â-Œ €¤™‘*6ðzÆ [ÇM[mÉ{(2®žÜàðü÷x©{üðê9±0¾ØUN"BȬÂ)’['jÅ9©“ÄŸKC§J7³n0Ö•ã$cfq2fè4aÌKH>®Ž„ 8q;I' k›xÕ}2P¸¾y/_}‰ÃñשÄÊ—™š)#ÄÓ¤üh0 •9‰Ý‘ÊžÞ£÷ÐGU,Ë Ó„T&äÑ‚ÁÇï^PàÆ»¬$¼'uìw;$O8žnp¼ ICà³#‹Ä$jAÉæ U'4ï¡V1-Œµ™K”ëMäëõûçðÈÂg„’¢¹uÜ:n¯**ÞNÈPLYpj Jæ}r:œàšqys‹þò;dÔœp<Î@Ï8À ó¾{†¯>6ŸP.÷8ÌŽ22 JN˜b¨3ZGÙWY òÓaàùónÄ©ìQ³âöú)Žw/¡B' …„ÔpfWtoHêÛ³íIàQ´#­CÝ øÃ|B-=§’AéeÝ#õXß ÛŠ+ëË[VùÙq•/pên‹ &i‘žN­‚¸„c…—¾ka|FÎhzšDàdWvc,ÄÙ»"#ã´,H™†Öçpà¬"fÝbpv“ÀzØsSØï$zŠ Ù¡ÎËŒ’)TV¡Øx9qgÜÏin(¹ÀsBr§LD–<œ‹…PÓL×Þé´ (Wq+DÚcÅU.šÐ¡ã‰oAÉkÎc_¡ofð.°Ì°^hÁ„f¥K¥{Q×¼Q—b­5ÔiG˜ž(Ý‘’¹âØv5aŒ² Ô'´ÖYœ¸£c`«»’\€dèË‘ã|i%W²KV}7 Š5à¡ÐˆVØóçcü AŽ«fîp2Ø|İ…#ù4P¯>€u ¥EyG"h¶„V)šáä †kª¤oÉÀh'¤4Ñ|  ½+jíèíª{Òu—¸ôù[ìæßc¹ÿÏ‘qB™V öé„’.ð—{ÄÏŸßã—_~‰þá€ÿ£Œ‹:áùëxùÝ·8≮8 ç—œvBpw8 ïðË_}‰åØñâí \=\ •„gïÝ¢|øó›vW;ÈH˜Ô8¯íw¸’_#Í_àÕ‹+Èõ?†èŒû¶àÙíûdžW/¿†ï.ñþ{£–„ªÞ.G,§×WO0!.}ãªsžï1ÆÀåÕ-¿å/§TàøÐñöõ W—Opµ3¤Éñè(%&¿nÛ´óp¸Ãåå ÆìÈÉaãÀHÏpuäÂ7ÄÐæF†ÝðíyUŒ”0B[¢êÐFJ¾f‡JáAÚä)C)°l¹%kF¤²˜ë€–À°S0‹R9M‘ m/aß÷$˜mÀ­Äss”©¢ÍK„¿òžT€Äu¢…W³ÇzäÈM¦µðSs£;¤¨H?ÑQ&6¡"çh0wŒ¦¯,X:‡#w—Ø•†ª¼ä‡5,íˆZ'&€"ú>†h8.àh€ ŠpåäIÉQ€ ~Á<Ïxöþ;èó‚ #FÑY #ÎÒˆLAÂi8UgH20ú‚´¿B ‘†V* š–)¢*T Cp²L0Õ0l,”A8§îµÒ´Ãa®åÇ{¨¦ aY/÷˜VpÃÂÝà“‚å„A}°§€†Z'©[ p->ÐŒ© PAGCµÄ„},Æó·&jx%¡ ÍE6JZ÷ ÒïP¤ÝÚoÞ¾ÀÅå;˜.3Þ>píd " E¡4 2i:âßç޼ngÈ5Bë34Þɘ·ºN%Kfs?…„§ŽS¸Š†Å®¯ßÁý›ïðÎG?Ä|wÀ¬ Ð=\À=LÖƒT°Ì†ºËŒ¬µ· ÅÉ;jæÐ"=| ´ïPP0Ô° æxZša’ð×ÿò_ãã?þ|•±¿1\î*渿ÄŽx¨WØé„‡ÃçhÝ1ÌЖHÆÑfÈIð'ŸNxûæˆÃÝ»©ÙP§MÏ-ÔVVgÌΊ¶pÌCðÕ·÷x}œ1›ûèøöeÂ<¿EÕÈ0…¡¡ñ*ƒÂ0c±++hܤRØ?ŒˆŒù÷o1Ï:§"Ï`YfüöW¿Ào¾ø-<™vÈ—¸¿Ç_üGOþøOðñ§áÉ{OÐŽĢ#®ýgøHÿ ×ò ÷˜Ê+Û‚o^ ¤ÓÕóÅï~‰gýýá€'~‚zq‹û‡ïà¢x÷£àÇ#FÞaª/^}…»ûjÍДp}}ûÃ<þ5î˜"×xzó5%®SA¥g%ßΡx8q±¿&®Âƒm¯|¦r®ç“Ä‹¼õFÝ,k>›Øà$‚ßz†°ñY]²i‹¢1åt&! ˆ U3M)óýŽˆßÊŽò\:ó›œñAƒï9ÑœrJ "þTІ!yXÒéLYW¸>´¸"¤ž˜[)«$К«9)ÐÛ‘˜‘÷f2oX7–Y›Ø4¡šx®toÄêÞ=&6²Â~WžC爂”¦Ñ)‡ ”GèšÃ<ãÉ;·, /æÄеwâ3’è¶ÂµÁ$‰Ó`æ¡Â’¹2 F Œ-¦HÔ¹JÉÌ`U+ÏÈT}høñ Êõ3Œ¯ðþÇŸÂQ ŽZÕ?$ÜŠDƒS±˜^ÔÄÃh1e5ì /uãZÑ9#Aú§Î“("ñ5n§Â{'hZ(±±¦eij*Õ&†>{u|÷â\¿÷jž/7<ð/+Q?Á1HÔ]/ŸKµ ýnë( ʰ%Þ½ˆA³Þç-/ÕbKŒˆ£“bá3¤&”–a1„`Ì—¤:¢fl`*n $°89«`Â@V`~x…vüw¯`½“&#¶-Ž×oŽøüë·øú¥ãéŸýçÀÓÿÿßϾÁWãÏ>þG8Þü!öû÷ Ó%î÷,ËýÆÕ\†a9~ôÉ *LJÔ]AwCžvè3qÓŽtÿœøÌÖZ‘2Ë8ÎÿúgŸaiÊðjQô10Ï3þìO?†ÍGëÒ ÑûPdåTŠÁ鴃¼YajˆhÆìú+h§†ë«Kêœ-4©=ò¯Ì˜‚®[QD-A!këk@­ 0KçHœÙD¥”óJNåö©Â[g*zÊߵ流})ì8ÖhŠ•Eœ4gŠ£Ùa)B˜¹»µ3íÿìsþüßþßüÍOÿ’›·®SKáåÙ)»Ý@Ϊ;¸Ø\êØ)ry~·ï}‡£ã›,{ÄØ‘ºŽ[oÜæÆòÜM¿A\ǺV¶ jÖ/žòégÍ£—ßðù—Ÿrïƒ:VÇ·H{û\¾|Jî÷¹ùöwp®£Ý8&õŸËþÞmN®¿AX$Ä ¯^qÿ‹¯É_›»·ïqtí€ý¥:ÓBèS¡n^¹L:™&Šf€FòKÕ]¤¨ºÈÅ @«;‚g´êåÚæè&g‘UêF›ž•«Ç)¢h†ÍzG£Ò;OË™"•26K‚Hx[¡N ÇæÔY‡¸”Ȣƌ4Ýì3WhÓŽ7œE;m¶;m:‚‰bE/’fSâ†þÌa Ìõöÿ‰IYK¦ùZMclÊx© ¦Dw=Tß9Ôb¹B«Z<:cùiBS5Ð6xE“Q;~H¹RŒ½B§Ÿ¯Móbì t܈I(u´‰ž»Å¢fö–Kv»®6›åÊQÍéû^ÍcT¥Š»6Ÿ]ŠÔ:èÏÞTO©î<¡B-ø&ä\‰É²º E0Ý´ÊÉõ<{ö’~ËõF ®˜PßÏàêRt¶ w¤¤ñQbýàTö½SMœÝL1EMÚ@¨RH|-t8>à“º]Q¦VÕ»0oQVÍòë,9™2þ¼÷é®á%°>{¥ŸÑ¢£¶áІo«eÕ[MNBÍ•œ³LÓcš¼ mÑZéAz½ýL¢—{TןP!€ø@µ`f]]÷¤kǬ?%·Áò]¸ Ìù=¾÷ñïQ‡LŒž2lè– |Ý©à Åa‘±ñæÍÛ‹ ®Œú^wêê ¦»*ˆ"h HÍ8¥…âÓŠ_ýö¡NÖ@ÏêæuÊ)óËÒE®¥ CͳãwBZ4{‡•ÊÁ2,'ÃÃt~:燜3±¹@H G#¹‚LਦUuˆ:ª¾bã$JxC*صZtŒc™WâcÝË;›°`¥BE»a‡!t‰ÞØC1Fí¢¬È"zÕþÔŠÇ’Æ›N^”÷d(|ËýšD†ÞÆ}Ó¨i’¶›E\ªØØ)/+ˆ0¶¦vLçè—Ú´ÐË${]k)ÐÐx%ÞB®cbaãZ­+u,S´,@?Ó†S2q¼ÓÌ.ýß#É ¨š«X: Êèà{¯Œ—fbMýH)’&¢±Ù¦•=(![œ½¼j`ȵÐE1}VO=¥ì躎q(¸.™XÓÁ8"E™<"–5+¥ÉÐGuu5oÖiãº)MÞÕÄ€8áÞ»‚Àó§ß2 ¼uïmJëTÙ§9EÂ4•ðÆIÒ Cï­BЗ4OÛ¾äùƒÿÍÓœ_Ž<—SW ±Ðu“ðì™ðÓ¯¶ÄnÁútM Ú9ú‹óÜ{ë.¿ú›Ÿ’[áËOÅ·ßæèø:—Û—ÛÔ-‘è¹vtELôÅ3zXíßýøŽŽŽ(²¥eOë=ŽYü€_|ö ¥9=ç6òÅ˱O´aÇÝ»7xøåÏYîró­÷¸ÿ›Oyëíw9"²~ö„ÍxJÛ–7îqãFOð#/ž¿ ®õý8º¦ èêçÓÛtµó–•(Ú0Œy˜¤:¢Æ<’B`³QFÛX3è|`RI7…d¶RÔ©–²â‚%Å«pXÏÆË¹çœ x[ñ«ÎQ‚½·-ëŸñž0`dS«½Wy•"sƒášE 1¹Ú*MKàl/4Ê$úv‘$¯€äàD…>]M±1g]V§ciÉ#>Ðr³É|³¼2ÍËsæq{¼ÅM¸ L°élŒÆbs6‰P’ûÄLK4‚ꤒ\ {‡wªÏÉvöaò oS5F´yÅY-WÒ{O®ƒ6ÎYešÍi®2¯zÊàÕà¤Bð2‹¤y=£LW—¦ŠZifVq2Øþ4"¢"r±„׊ñ1vŒcVs“Tc²u¼ûáyxÿ3Îeäå³G¾ñ.ëÓçìí­hRgÐtkYÏãZébï„qT-çu’*ŠŒ÷H© ¢?3@èPµ€,U‡ÎLUÍèõ! 4O…ãb|¶i2«brƒ 72Òsóö[<üê·ìÝàä`yËAcåbèµ4ÔÐv»cµêˆ “¿L:µŠÄD ‰ÚFÍL-ã•¶PÉGÕîU¡6öÒæ³—§ßðÒ½Ddœ'Ÿ):+†1ãýÈ"Al/úÀ¢[°;¨Ô±Ò¢ãù‹çˆ¯0Tͪ¬:! 1sttÌ×î!}LŒMhAeÅÙfeJ=1DßOQOÂéÙŽGÏÖŒYðd§kZ†4Èã€÷Úî†qšP* WQPî5†^3°i#ׂ‘:êìCÇÙåŽÛͱ«…èáþ›?ú¤½9ù‚2”|°Q´'·bõ¬âbè´@JÀÉì|˜C5FÚˆ4úЙ¶ÓiŒ9ñä5¨žïL&B4AûÄ»*e´¢IœEìRM&¯<ç-³Ð;]ßHQ‹oÒ®µë;F=8º.²Ý ¤®W‹xkˆwÊ‘©Í"B".8ê8ÎÈ}s«¢pàÉñc9Uˆ1Ðb²¡KÞ¦qj ˜ÅñâÍcæØô­Êk+,úŽZ·T‰F%ž¦D œÄ·!DÈE£†½X›²¬¦N·¡+4ÌmØlï¦ÐeçHÓáe«¸bk‰bpÏèÙ\$Îë*¢ä¬AÝc ÔrÉåvÍnØàBÓ¥XF¡­¦ðfÙëzu‰C¼gµÚçèð§¯^±¹|F:X‘Z§ÎÉxW ’Ë¥Œ¥Ò\¶ý+$*CËÄó¯Ø=úkŽ÷+‡Ç{ßx›ýë7Ù¬G.Káù:ó³ßŽ|ù8³w÷m¾þüs.^žQC´ŒI!vKöRà›o¿e‚G‡,—K6y0F[bØmYìõÔq`wqÉÉêˆø_ÿcbŒÜ¾÷¦NRT¤‹H |ùpàÑS!·ÈYØg;$n½ÅÝÃ5G«D¨¿¢^ž±«•õX¸÷Îûä͆³ÍøáðæÛŸ°;}ÁúbMÙì/8XîÓ-ÍM¦¼Ÿ&ZIh-0X“#Ö,4),q ê˜J š8#"{%ìÏùvžP>ÐDa²Ò¼áAŠJ¬#¬¥@×)/É{C 8FQnU žè¼¥Ü«é¥VMIð¦™Ñá®·èÈÓZÇV/M")Óš¹9Ž +ØœËA3«¼P¦¨ Z&Ogë‘ØEŠ÷”&ø"ÖÔ(H×=z•6j!–‚M,%"7|TDJkCoÙžêš/M 2ÿõçJÁ){T¦XXvKBÐWÍCP‡ [+ô®\Õ@m–ù'3¤§Î6*ø.°Ü_0nR¿4 ¤6…Áœ÷䢯&Y·dèï­Qz©U(j0Q´8,©Â&[^ÙOËÐéyä4¿2$‡dý¾]˜²\=‡×®qÿ«_³h;Þ|û=Æ]%Ûj*x5t¡ÃymÖêTè€1¼²Ñ¼­ŸÅyró,s$‘¡­4[=¢& 4ÿSÏrŠ×Ú4—ÑVŠU ŽkF$uˆöT)t©gsù’Î%ÜÞ!ÁÆmQýXp¶–VXŒÚKË$IT >8¢PG4¬Åô»©§]Í©AÀd:ÞtZS0¹AWg@uSžwI êöOfouÈXÑè§ì/§Ë 3 (û«Mì/©D¯Û‡§¹)2g‰;òÙàWa×ô©cWG6ë‘°<⇿ó Î÷\®ÏFˆ]àòâ74vùòü "ÎWÆ,Œ£àÅqçÝ#ž?¸Ð¦(è3¸­ú€÷•Å¢ÇÅDJ…>èÔ°ÆŸ~þ„ÇOÖtKM¡iD[+kƒôÉ÷ïÒÕ‘Q Íy$&BòämÅý~|Õ°îbé)Á© ˆq@Ü[ÐûÀÙ« ËýNWÕ·:›PÅ+"žjq3qš¿—-H3”%f+Zò¬µRG…³ÂHã!6-Ó§¤Œgx†©˜±ÑjÙ ðÄymcœó y­‡Q3±â´;×31\ÅäJÜ >M9Oµ‡¨z€æ1Ó¥dÁÅZ0Fç(¹—(SàªÆš”Úhx‹XAž6éÃŒxì¯V(Óíuæ8fRÒö5AŠIÔÊË IDAT#9•ÖRéz¯Ö\X,;6Ö"¡=Œx:sJYD…¹c2Á½\‘'>–©—RT–UÉs`õÕú4ÎÔä0ç4jæ™70&Þ]±<.OŠ —&M™Å‰´+³ ‹ÎΟ‘ÇÍ\^}+\»y‹ê¸ÆÈÙRL7ê4Äñ·i’yôåg m͇?ü¶£yazŸˆ‹´•†JË; t2òøÉ¿çh/ÀvCh¯XÖ%‹Å1ýûoñËÏ¿æþ38ÏŽ>9v»‘Z+Ã8à¿€.RSäÙ³o¹|®ôrïT;‚Œœ_ž’ú=<ÞDö×rï»ßãâlÇG?ú˜{ï}h+éŽä®íˆqI®…±À÷ðû¼¼õ„gÍŸqÏ9ì"!3Œ=—ëÆ°ßñà¬ÐÇ}ÎOOÙ­_qrë=÷øâóŸü’k×ïpr´oB^GÅëÊÉ&“mÚà ˆ‹¤Ø ;Š:‰„XM UÌœ $wï…a4X§ 1‰lEçD/¢zJÍà1yD‚Æf¡…y’¦qK¦‹„Ȧʥªs¯5KSY_ËÓD§]ºÿ±‡‰c]€!ª7áÊÑè¦lË\2"sÀ¼®ç&Ãé(¢ÐFAMM—4uoå¦Ózç'ý¨>ó5W¢JfªSÛœBì´SŽjQ~Oxå%s“ƒ4+P£ia²‘ïÕšB ‰2¡R§gtð’ǹd.7¯Ñ:N 5i•Z²²©ðˆ‹¬×/8¹{‚ož(ºâlî*+µÖ‚ Do1N.àS¤d•3L  83˜8 @÷¢NIÉE¿{ïõù±µpß/Çl뵨ëGã/•ÖðqÁÁµ;<~ú ÕÂbŸÍf0àe  ±…³àò×´ÃÎ)°Ùb›D*)®dK…0'fÕ†RÉÚÜ6s‘Õ¢ŽÊf²ÞÌZ9ƒWëôס“ûZ‹F¯ÕÈÁþ!ž~ÅûËÝÉ’*¾P:ô^Ì—äq!QÆŠw“®¬ÌÅ’žï½R¼Ó!@¹ºk"žAŠÆØ´6¯iÝ„Bj#]\P}#48ºóß|ñ)ï];$Ò²{‡+|ÂÇH“lÏ^2+–êkƒ‘ì'_ð,…£ƒïrqôkòË,÷Œea«YOê‡t}Ï0@×%¶ãH©‚Ý.yé8ÛîX-Ã<=jÒ8Xì鿞5«–RQ.Ž–¼®°nr‚hj‡÷žäœ]T=~‰—D§È*ä'‹jU×ðÕ"ܤ6šÓ‚*¸¨Å¢“ó¢Ù“¹Ò™ j.ª ñþ òäÑ7ï1ÖJø§ÿø¿ÿdÌ´ØÓ ÒÐe<± cÉÚ!5™-µúÂË:1»ç NÞ{åaUÙ;eÌ:ÝKkˆ©^^˜XÞÏ:†)Øy:,';®ÌŽu6sÕ8®²ä0¢³·Ì3Õ ©@³}lBº*kk¸Ú´c¶U–wŽ:š]:1¾Œyç­hó¶ÒÐÿÀv;°\.t]ÖErÕÑxˆÁ¾ ™wñ!háÖ÷ýüʼn…›:§?«gE«ÀuÒ5”2í…Qh5“–êà´-Eé³øIPëgs‚BðLã5íÝ+#aÑ%+$'=œv1Á]±ÆìKT{¯¨]x¹ºÆþÞ'ìá÷xõêŒÝúùÕ¨°w˜ˆI'ÞëÓÕTW9<~ƒƒ£7øöÓ¿b¹„~ÙÑŠv£¸f|±ŠÔŒ¯‚¯ŽÏþï(»3?zÎÏï?`½é¹È#O6™Ÿú„ÓÁ‘®Ý$»2_7ïÞâÃ?`¹bo¹GªBÎyñâ­6ýž– îÜ:fw¬VìïíÛjjÓµ–kÂ÷ø;¼÷áwYìí‘b$%8"¥Ë‘ÅÞŠ[7oskñ<¾Äe¯‘ ÉQœNÒêçÃ@¿:âÍ»oòäÁ\œ^pëÍïr|ý¡”±Y§+ó*ª5ßÕV5²Å;A³(ÉkB@«º‚ÒµJ£º€k› «kÉV›íÆØtÁÖ÷bð‚^¤a´í8 n•æo†ñ–¢`'&†ŸùvÔÒ΂à#!^dX´B¯ ´“¶ÐCKL¿íÝŒÁÙ!pã„ š_RªõG:cå'Ë­ ü¨*š6 m3‰ôu:ìòŽÆÛšR £MÊ&žÒÔ„ar1µ˜+Ô‚ «MqœMªª¦ 8ggqSP-Ù2 5äyâEÉRpâYoN¹}ë&ã¨ß» ÏTØê%=i&'´F.š1¨ôÿé÷öt¥½ ó§LÑ¢"ašêÉBd>Û<žèÕíšæ*„V'„q±Ç׿ý”7ï½ÃÁÑ1ãV íQs7iˆr­¦„³× Xj4Ч°:¯®V)YTQ¡K5úÜ#^£ÏÌ”ámÅ©Z±«i£Óe6Ty{þ|Œ´–Y.VìÎãºûû+Æ­¿]:¡²xð  SøxQÜŒ ºØQÊ0C¤'Γ·ç‹ÖÔ<â ÅnÖ=+M@ñ$Ðw!yxzÿ·\뵘¡*øy¨äۅÍvG¿X2áã‡Úl{Òá$á}·Çæâêî’R¶ •aز…óó›wÞàƒü€–l/ÏØl6…ÝåÄÓíEÆçßRGÕaÕ³Þ®ïsãúç/Ω. ¶ªŒÁ¨1X¶­Æi-:˰ ð›/NyñlÐû08mZšºG§;ÿÞ±šI­§•Jó!«¯ÃÖǘܲ3¥)8v’Hyçé‚gy°äé“5Ëý¤ÚÈ?þ'ÿô“ÕÞŠF¤ëö(Rq(& ʼn‹æ/¶¡z—Œ«b‡^œ~ÝÂ#j¥’¢²5N6W‘7…:“€] ªSŠñµLB™;ÚÖdŽª÷šÐy³JO|+§I÷†‹ÀVzj=6(*Øá]™vv©‹¦»P;vŒ¬Ùwaæ{„”ìE²ñ¾»\N¿ÿr¹G΃þùh+ïØnvêĽ¶Zl¤¤°`\ ÕaÄùÇAjj£V`§^oD‹Îé…ò³6À›;§¶FòZ\5ûL¹ƒ ³®Á9í®œÈ«“g<Y2Ô†xщ€CÍ (sæLe¼Ô¦— ›x5‹Jˆ$"G¬ŽN`yB¿çyþì1Ü'úÌÞjIiU§>U5W¡n¿Ëv³åáƒßrãæ»~G^–äº&H‚ºæ³Ÿÿk6§Oøé/?åü|KÙ5ž>àéË‘ŸüÇßp~6ð|Bê÷‘Íqƒu'¿÷_ü!ÿ¿úïøÑü#Þÿ»¿Ëõ7î2®/8?»ÐwÊÁÁŠÒ*1% ¡Ô̸¹àüôŒÛ×ïðÝ÷¿ÇþÑ!«Õ>cɺ:‰‘¸ð±2Ö’–øƒïWïó›oŸ’Ü%úóO.®ój³bð‡,n³Û^òůþ–“›ßáÚõ»š/9îÈ»…sWk°œ2wœ®HŠƒ±ª%HI-üÞ¾/'¢vc‡‰Ò45zD#š#s!>5TÑBÓ§‹s Š-¹à§ƒÞyšíÍck²Ú”]7 ÕuØ®Hì›.-¬€.%r1˜ÍèÕÞ)ΨדãLL5¦Ÿ‰ñ-£/z]O榫Åä=.¼…ßfïRE,ë9>JšŠâ'ó "s•sõDó”ºS.Ó•ÖfJ¬˜“Œñ¤iÕ¾LAÄ.\1¾D;éÔõ”¦&¥Ù4qßD轟ݘâ…LZÙqpí„íå†Îk\Šh§-DœÏÖÖ*)h#T1§?“˜þµhüŠ]6.P(ïÔé¥3Ößqãì.ѵ›NÛbmtöWû<ò-]—¸õÖ[ä]¦•b@M Ow:¥ è”ÎyÁ9ƒ¶:,L©­ å{v´VgÙ64ØÕ‚'ô\´ðïà©¶ÆèàøFôÁÖ»?E yèr²åÕË57ߺÍų)¼T2]ÔÀú EÓ5nC¼NE„ö™ˆåvêÊÓùi‚¦“buÜsijôY3P¶x±)vµïRˆ¾à›~g/Ÿ@¹výˆVRï”5‡ {‹¥þìÎò÷¼eÊâñ¢E_uè*gÏîS©ã%c©\ì*ë3}Ö¾óƒ°·8`·9ÇùH©…¡h×u^=¢™£âÙ •Ã½Ž½=Çúìœ\!$ƒ…'o“ÊHžÞrSÒIcqŽ_ü⻑dÉ,UÔÐÒ Ž¾FÞº}ÈÁB§²R!£ëá24úÞ^3Úi·“¬ññŠùº_žŒ Á{¼úÅžšRþÇöÇŸH\ÒOóaNðv.0¶¦õ­º§œ­)áX;‘IÈ:9þ,WË],)m›|P®”D‹ÓÇT;E-¨º®£Xh°³.tÒ0ùÉÝ–¼‚â|4ª¹N°šupUÇL$oSaXÛÜAJ–†»æÀc÷¡5jn¤Ø™s€«[Ðì½iÔä}`ØeRô´±jüPÓµC4ûTœ‰½l)MVèb¢íJÔdd]Uˆ@.”:°HЂòd¤RÆJHc«:DpM# ÄôDT<_‹"%JS*r@t•âl3ÑKmŠTð@ˆP/ˆ.PÅ3¶ªÔ\{)‹>{çpÕèþY¸ì‚ ýkñèÎühµÏí7ÞÈùýoøõoþ†–6ž\'ŠCZ§ÙW½gyr›Çß|ËÅÓûܸqƒ<ZÜÏÎøËó?óÍ7O9?{ÈÉÍCünKåœìz~ýà)/ÖB×¶\î2»Ó/ys¹&kVqK–ãX¹~°Ïª?b8:ºÎÝïýò;<úú>NNOÙ÷‰³Í%y7²• e¹Ü&îßáìlͯ>ûmÜPHÜ~óúØCô” tnÁùpNìôû úU¤;tììá“çðpÅò`AË;veG\.Øm¨zG¿èñ´Ñ1éŒBL*PF5LE*ÎG ‹£ï’Þɨ`×»‘HOê{ðÑ|ï’j*‚3W¡3à¦GŒ'¤Ì~]ø4jËÎìÿÞyjõ`µglB8É$ÉHðÜI³ÉÙT„Užd ˜ø»h]´‹6î æi1œºž³‡è¢NšÐ ŠC ý4SQš!ê]£“S I™r -KOñ7Mì’Õ1T[Ú‡HgÿNÓ5e°õfÎ$ïÔ cS$Ma”yªÝrÖõerƒõËSü²çøè—Û j*ªšéèm5úúDDµ™‹¨…PuA×,¥CR'\Õæ*†ˆo*´ï£N £s ó.¥¨F×Ms&G“ »ûDóžaÌŒ}bxø€·ÞÿˆË2j3¦›:•ÄiºÀŒnb¦¤¦X§…bÁi^.Óº¼« ÞH娾Ƈ~žV8±©¦5Ó y’ÓÏ´‹Á4g^éç.jqé¤éÔ7D.ž?àäæ=ÆvN+ƒã¶ë’2ΫdTGtE7+±ÓœJ§:­.rp!Ùô¤Ó†9y´A‹]×hRéB¯ip¢Ÿ‘GHè&C“$¡‹<¸ÿ[N®»%eت¨Þi;œJE¦¼ÙfšÅjy¶ÍbΦh/ñ‰Ýé¯ ²#o†2P«çrÞþÞǼõî;D§gÎ#Ã0 ƒ#vª}<ú+3¥f†ê9…»û â¾gsYÔnÓÚ~Ùk6ª¯¤NóoûГjƒ×›‘_ýú)#Íú­I4ñ ÑX—Èw߸ƃ qD:J…8úÛç žŽÓÏ@\ÀUÓauv&…HL.D¿øgÿò“ÒÉ÷HXÎ#/±Dx©S‚¸ŸýµÎ.Ð.us–Ú{õâ5öÕ<ɲnÂÛ¡Ö÷Á‚*-Њ:Ñ­‘« Ža§iI-…4c0D"èÿÇ"|¬ÃŽIÿ>oviZä¸Vçb°Õb«8Oº¾SQß%bÐ=|›™:ú“ù 1Š£h³Î‹)äÔkŸº¨+—j“2cÉä1Ïãô{Ë6ìf<‚L­íÀ«èKÅZª-/¹fs–¨e¼)¿Ÿ.$›8Xœº:ŒÁ‚jðWÎ#ïâ3R°õ€þÞ"•“ÕÊ8jU©ÙµEµ«»¨¬u zè9¼ ¶:»n‚B[³8 1dE¼˜: 'ǼñƇ„yø›OY?ÀÑ5Ø?H KRõô'„Õ‚_üâÿ…U¡¿øÅOþWnžìq¼¿%ôÐ1@j¬ˆ>zó_θscÉÁjÁ¶ö´´dÑíÑ/V¤¾Ã!vž£7xÿ£±Öì^œÒv‘Œž§”­ç>äî­[¸ Z×éw, b§Ïª²|<­y¢ïhq„¢…N‘ÄÞêíìWÔóû¤òß;9ewŒ²D$rqþ’Õê½,Õ Ïž<âù“§¬ÏÎxúð 㺰YïØžoÈ›‘Óó ¶›LŠ{ì¶#A2¥Ž\œ¾äù‹§ìv#ëõ¥fº uΣŠÏcdHX›®·÷W=›íZ³ör˶ÖÕQ½8ÿÚ90­¢ÃÕ”‰IK¥[åtŠâ¢§]ÏL(”ÉJ][%%}°é-nÂCèä¦3fW.Y¹E¦‡Š^óQSJä¼»Z‰[‰s޾[0Lù¤“u{Òq¡ìçÃ|&)[NuÓ»|oèY7g+: žÁ‚éW‰NŠœ©Zœy!4Ýêßa“q$]pxÂ\dLcfů˜žÒxXE*|LŒ%T„íéK®*m¿VRÔxœ*NãO@#ub Zƒ¦ÿ”Ž5ôÝiR˜Î»0ŸÑeÖmj³ÝwÝÌ3ÔFY“6´_5)†·P^ÑÀmï<‹½ß|ö Þúà=úþ6tvÞz#ß'¯…ò¶ ÚLFÅÍ4‹ R&”É ª®Å2O!- EŠBœÃ7P«=PE‡ Óy?鸂›4¾ÑÔš…‹ƒ/²\]cÑ%^=;eutHçcè{ üÖ*=âÐgÛù†ñ^M$azîcD(6)ÔÜ^¨iôB N§yL p5çi2jAkw¤8O··ä|³åüÉSîܽMêm»bGk¦ o›Tú+Τs¦ÍLŽáìkÊxAÞ]2–Á1ŽÂw>üˆnÑ–‰æUÊ0æL²Ûm ž~K³;}›…óõ–wïœpp¼äòôR3L£Þk!˜ÖÓ%¼K¤”,Y$á\ãå9^pûÄã½&B”è¨L£—IAOÍVV¶ ÞmŠîpS¼OCq%1²Þ ÄnA—áÿÉû‰½~P©S¸ª«hÕ`i~qä? Öõ¯eùù9¼ÙHÓ&TVSñìä†sÎÏÑ lszÑ]Z½D²) öåOÚ¯=%zЧ`„`æÉRL*X”攟‘Z+$[ ¸¨ƒÔL7e Ú‹YkÃH¡éÎEB ä!OÿÊkPE G5ýHJªgÐ|ÊvSAß÷s^WQWj`ãëbiçqŽbÐzß'¥P Zˆ]ˆTƒšºYÇb/‚­/½ðEŠñU¼¹úÔîmòC@j¥´QòîjèL‰c Ä…‰¶4ÄxÌÃì6A¡ïšIe«T-ÜtÚ1­ ¢ø EÇ0ìÏ*Eq¦%Ço¼ËêÖ<;;ç«/¿¤÷;Nî²Ý ,e£ãc>ÿ³ÿ‹°ãf'¬×)Û òè‰YuQ›Úhþþï¿ÉñÉ}'|óäñÓ|ý¬ðìÙ–—çgø½Ýê˜wî}ÈþÁ>)‹D×ïá°ŒŽï|ïüø÷~Lm°{ñ”ƒÍšË‹KÞ8ÊeàGÿà¿d™,{ % ‘ÝnG-#­š©B„íf͸†]¥ë’¾ðeMZ.(ΞÎAwÂÅzädÞ8YЯnsñä[)ô‡‘Ï~ú× »-ׯÝáää]·àè舮_âb>ÐùÈ2¬ˆÎ³ ‰>v$ˆ.Ð/Ÿ\g±¿Ïáþ>‹®GDxõê%›ËK.7[Æ<"Á`˜A»êÝnËr±Ç.V,xˆQW¢‡×$²Ÿ¸xŽ€³eÊ8sš¹ÖˆbN.K³÷PAžÑ_ˆƒeŠÎº%ƒñ¶)—¬¼‹Ôy¶áôâ IuD­šRAfž‘óŽm©5½3Åàz€ÆÍõ‡"$|0ý˜eìù„sfÖ™¤Á¶uÍbSn%áë:M™>J'kÀvôªkÓK×VTˆ:â¼.ðaƳ\ñëšN§ÐbûœbŒP Å Ûó3Ž®²Þì4fȸ\Þ2Z1V•bE“™^Lx-SaláËZœèã¬ÃuíX<6tÞ2P›Ô9eÃ[„ͤe A!¶Ú‹FÖg,G×n#9#¹Ø3؈~A³È˜†#†f(um¾~K“lnÒmEM/ÉX!Dј²õ9Õ°cmŠ¢ysî)b Žº"Ã’‡2c'|‚óÓsº®c»Ñ óÁÁ ¡*¾Ž¿°U—³b\Ódï®4}{Ý/ZDÕi¢„°SÔ)´—Æ"Fª4clé†hbFáN,ŸÕE¯!cááƒo¸ùæ= cl„´ ØÔ×¹`Ò6gqf2 í}ÅòA;Æõ#v—Ù]®É¢[Š˜V|ö·_ðø›¯yþð!7oÞau|³ÍÚÔ5¿bûì[ÍE¬Â. —Cå?û;°× ¯.)@ó¬is\õ½ A#àbŠøNøâ‹Sž¿:ƒ&ö6ËN6_J´í†¿—“´ cÕû=›<ßyð3ÐWeMÝ?f|‰¡èp`Ùw„yuqIß/ô»üþèŸRˆª{ ‘à“æ„‡B+Þ‰:ÜÔ&MÕKÙÆ«˜´¶FŠaÎBSžˆŽì§ü¨ÚªM­®‚›u¥¨°Ìd'©›_fÎ ÷ÚqUàI’¹žœ÷JžaÞ—’Íõ4 $½‰ý¼|KžoàÚŽVA‚#y}˜}Ш èÓ|è§”lÝ¡:‚,žÃ{sÞ´+aÜSu¦{Љ1ú~AÉJæÕôù:SÐ}Pñ^™’Ìi´Zt¢¡i×›ÕrG#R§“‡Öh¹Z¡£Ž®½ôÄ.0gs‚9!cèTŒí«YÓÅÌI[ÑQsÁ†ææ—¿ärU,{o:½+W¢Öà ]›9A4²À[³þÙHmÁ´*Îma¯ÛçøúZ\ò›/~yzñ[~ò—ÿÇéå}–}>üèÇ\nζgH–½pqYÙ;\ñ~ö„Ÿöœûßn9;ÝqçzDz«„^X.ö88:¡ŠçÎwI}GzŠÅ¤/´C…µUFî½ý>›§ß²}ð­T®¯¨§gäÅ5ÞºwEfZÞQÆ uw -3î.Ùn.OOÙ\œéa!*»Nr¤sÜåÏÀ žžUF"{‹àËïüˆ_|ɯ~þ¾÷ãßeÙE²dòX(ÎSEt5Û<-+xwG!S¨R» »òŦ .ç)E/ŸÃk'^c±ZéúÞéwÓj£ë—˜ÜPÅêxª¦ûqRÜ®ØkTâÊ fÄCgg N!ÁšŠæI2k¤‚®:œeãÕZ­hH¦53†qì4¸ÞÂX‰úž¶¬±õNu“–EA•‰lZ.ï¼:‹DÅÏ:ÉRý ¦½ÔIJg#å´iÿ(¦)ªó{_lR©´l/Wg‘3¦ÔLjBf¡·žbMI³Ï¬ –·*¶JuªÏ1‘Rª]þfü°i`3Ô¿Þmð¥°ýÍå–äû¹J¶Äë÷—,P{ û ΃O¶%PãR“67šMÐÕ—­Òk0Mxœñ)“s5üN™O¸è\¢s «O~ý)w>ü€X”j¦š†óUgSF,×·âÍEZizþ£šÐ2o¢Mèm{Ñ)Y}øOúÜÉ@¥é¦DÍŤnJ J‡Î1Ô‚kÔq˳OXŸ¾àú7 !p||B«Ðr›Q$ŠVÐLÎà#øª¾`Ø$E#5ï,ŒÚÒ'˜ÈP'x)öN÷ŽN§KÈB¿€‘g¾á­7 £n‰’I}pS$ÐU<M‰ó­Bì%Ê vÈeË8Ž„yübÍ«Ó-kÖÛ ?úß'.:†í†–œë¨å”üê rl3\…?øø={—[v¨KZ£Kj¥:H©Çy¡ŽÆÀå&ðËOŸèÝ빎ºŠµ¡Ž 4ç¸u´Çïüè?l%R£§ŠG\‡^œR˜Ü95uM&0Læfi¾qv¾eou@ßG¿üçÿâ“L‡;|4¢4èˆÑÖ“•¸´ÑÛi…hc{)êБ0 <½S”ðÚYú¦Ì‘lD4p—›a¢Îàv1F|ƒ&ájZfB=çPáZ«¤„ ÊM˜ë%va{«Æ*Î`bH1Q¢Ž˜ñSq¨"P#R¡‹)|Ó€Ñh. qˈ¸HŒKJQæ µÌ6g÷šËÑ”mÜ*•~UÛR¦ñ³4 ~Õ?[ žÚjÖbÒGBªÅúèTª#©…æ’ÆôDý-¼WØâ„j0ýœ“X9$[œ…êDH2Rw3ê°1QjÔhŒ“ÒXÝa/=µf›bÅyú§ãe? ‹§I„3H«ˆuÚäH87Îÿ&Ev$h²Cü‚Erüâ?ü)Ÿýì¯øñ'óÆcÕA¬¿â«optïïóþ?àåÃ_"倳ùí—_³èöÈÍãsã|tßýþu>zï¼yããçÒ“kϰÙÐÅÈjµO^Ëlvc&u ê ºˆŸüéŸàÇ s 8j‰|þùßrñâ˾rñü)—ÏŸóôþ\¼zB^ŸA…V·²J!43uYëßmîèˆR-®"Π¢ÞQKeaÈçÎ É©{¹ÖFõús{בŒÏ¥ÅdÁ9uÛ9Ñw«ó±*À´zÇæô”è‡Çרlvtýþln™€Š1¨“2=k£MÇKÓBCl²5áìZu3'ø4;3禲5’ƒÜÔ;Ž5 aëNçÔy\«N¶šBФ÷>æ7ï²<ÚG¶™]­,òÆJÍ„¨ W=÷%:¹[ëÔ "­f}§²ÍñZ ; HŽh°mo‚åIbñúö&†n0“šx¡TüôLûH\tì_g}ùÆFqp°ZÒB ìF3¨»·XLšËêCˆ¾cW·Šæ‘‘J‡o<”ªŒ:åtMî]ï¹ Ä,³k]¼zžª1¥ÐYFiß÷ti‰¤Àéó§©ã²fhYÇ; )§‘”gX“à Ö›¿dWÊz‡‹/¾¾`È•EÙ?\qóÞ‡,“gÜ^jæ`ñù’Ë_¥Qñ\ŽŽPá»ï¿Íãûß°ËÙ`¼Ð95yeñ¤)®±‰Gú´Ïç_¼àÕK€5#¾Ó,bl´ÙäÊÇoq÷XWè¥jô 1ïPвduæÖFñ‘°XjSd‘txóDWVý‚!oY,,3Í×I!шƃдwŸ-Ä­5º®3mÑ`tÆ ±l«)Ètªî¼e¶Î Å¡—snÄ.Q-br{È›4…¹Y¶VŒÁ2¹ŒØ-œwƒ×·:ÆgAŸCã˜çï9xOÎ…”4:¥©0- £¹¡À“ˆçP¶øWÿÛÿDW7¼:»à_ÿɿ᭣ž£7oóî{¿Ë›]ãÅóŸñ¤Üáø;Èg?ÿ÷´Ý9ïã9ê¡ eäÚ^ ” yð<ˉ±bBJz´<²»¼$„ĦOÔÝ%’wäÝÀ¦ <üÕ/ž½äÀU†èÙ® ˾rrؼüŠû'Ÿ³‹oÝÜ#‰ßÇ=ºƒCONxçýˆ~Épù‚³ÇŽÔy†Í’Õފ¿y²áo¿Îô'÷88¸ÍŸýÍ—Z¸{)ˆº«"šeš‹ê,—1QLS{&B¿¿œ“y ê<}Ö!ŽÃû+Qy ^ÿôßJÓ×wšÅ9±Æœs!âôÐèÒ‚:î®ÜÖ¨¹ä¬ú: ÚȶѱEu|­ÂŠÛ7îòüùcö¯Ý`'àCb(;R»ÒùÆÔÑêŽlqDÁ9² yÓy!Bßëê°µ‰ælÍ6ayôN4$%8ç±í7¢¤ªñ5>ž‹êxö1"µ² .éb2Ïññ1ßüöKîFG¾qLꄃjR«dBŒô!2Œ[mÄMj“Ò‚VãìJÕXªHJš áä’5„»áÝÄ{Õ”–ºõE .:†¼£ó£Õ5.jãÅ«ûܽûçeNÑŸ³Î!•Ë h§&5 ævN`µçyyYØl3$Çáõë •ËÍš›×—smœ'´t*Ú¥í¸vØóèÛ/Ù¬/¨VÏ´¨:æ±d|Ld›\ziHó¡ðüé…­¡W„V-Ì&©lÛxç;oPÝcV½&^õu„+Y¤ ç†wº2³žQÁË>FÚ¨‡^«B©…ƒý»Ý%{«D¬ÍºÏiZ \fBÂÙUa+ÀЄEêtZ„£š ¹5+®‚›VâMð*BçU0éÔ<8SÚ[Ðt1™pˆU÷ÅÁ«`ÖEf‘ˆ¨…Ú&1­*KW@§>K«x‰˜ßœ’ºÔSêˆíåµø¡©°Üwj¹¦iª¶sQ’Vñ„9$L]MWBåîëC¬ð²Iä_kµ³Åð„nÖi•ݨŽA¹ÊŒ1‘sւ̦z)j:JÅÇÞ„áŠj|®ñ4Mu "Br*Š”Åy\-«lÝÓDì»Q·“8åt‰(hÕyµצ/˜˜+K§‹®4jP{48B—¨c™MÎM:—`S£ï'>K çbá¦BŒ ‹5Õ¡´¨Ï Bs|M8×SòþÝŸü/,\ãñÃÇ´Å’ 7ï±ïŸsyÿŒG-±×íÁ‹¿åù« 7*7®ß Œ—ìùµE|¨”i––<ß{‡”¢MCëÜT ›QëÓgHXòÈ_ý_ÿŠ›ýŽƒÅ5Ö/N¹v¸âîØ}¾eˆ’'y}²Ÿœ «EÇÁÒ±¿p¸¼¦½ØQë×/àQ>æö~ȸ‘í)]öÜ8=—÷Ë·›_ðÑÞáBàöMøÏwŸÏ Kbµw¾ëèD8Ø;¦˜Æ©KÊKýR©Þ­ÑO-™Ãë–'Ø¥d3‚Œ»CÉ\ž½RQóvÃþþ>ÛíšåÞYÐuKrm¤N×ä”Éu7£Tôò}'D]½2¹'£šœ“­›Œ§%•>ªÞ“€[e¦]›8ïæ€ZçuU%vð?eV‚WœB.Yÿï,NDu$Í0l¦ïœÄX¯ã¦&Èö%ãÍÚˆµªºŸô2¬º.Sê‚ÞÌ“ËÚ1…[W8ÁkÜÄTç­Å”P¢ôr j.愎F¦®ô^C×KmT3³LS8|k ­r~~Æ[Gl×k–ËåLO±ÓbÁp V§ï{òBS–钬膞lgW—¢&¤@Ím­>0–¬…IÓÕ–sŽ.DHØ”Ì8Zq¡S2×ÙVc ùÀÝÛwyþøK†{a¯§]nñ)Y¢€NÕ…‡ÆüH¡Q`z6œŸYp:ËQ—¡k#‘Ϊ×mö÷è ÀÜaaš„é]§^#ÕïaRD]ô‹BÊFü¯­Ð¥}Ž8}ñœÇ«ž7¾û6¯ÎP´/öT9¯qg"d©Æ²ò´ª…óPv8ÔQƒÇEMpfXªæîOQ9z³qLÌ$ñ8Ÿ(UAÂB¥åã.ΟòÍWŸsrò†qÐ4%ÚJ½Îb‚NlÌ&ø´ÂÇ)8ºýŸÝÿb¢ï{רžž)b˜²}£²|¤Û0×÷Þ¸Æ8nÉ¥è*Ý&•g=_îrTR\ðóO¿EZþœZûy˜ÐD×Ö.ôà¶,p¤…fa|) g¹Á­6{WÞhýÑG3~4‹¹ktI!ÈSæoC‹ìÝå管Ԭ¦3âzZ¾Ä%a’eØMÔr³!zŠe5š7z4 ¢ôtmX ¶þ‘ Žç4F£ 4_‰®ÓÍn‚×"¢Õªw4Ú¨…Þ$zÇ0»ÝV ñ¥ ®P,B‚89+•lÐM¯.™ -˜>t‰*"Œ9’Ôìp2{™DïÞQ 8MÖfH FL\¡¼÷,z1ˆÉØ9ÁS½À˜©£{=k-ŒÃHL‘œ ]—ÆÑSDv} f ºÔs˜ê(®‘\cWEc&mÂta¸JÔŠ:ÁL±q&äUF-‚®ì}¡ÅW0· ßâu¤-­ÑLäÑü»L~{Ÿp¸âÕ¦ºc¶Cãú­›Ü¼ó6d©Œy`±ÚçüÅJ-,œ}ñk~òÿüŸ¼½ï‘Üñôì‚›7Vx®ï/ùá»ÿñÙš[{üá?ü»Ú0²Z.yòì)žs±à«ùúÁCŽ®Aÿœo~Vyï£q¶Ùq'dÏÇÀa¿„yûŽçþWkZ:F†Æ^†-ï°Çê`Á׿>'²¯¿&¤ØéJÜ5’Ñ©á@ZV}Vƒój€é˜EWÞ¹ºZÛÒíï)µüúuÆÝÀþÑ1˘‡-TÏnèû''‡\^^éÙŽkœ_èóç„ZL˜úZhûP ÉÃN Õkƒ!Öœˆ9ë:ç©fÎ(µ¨PÞ[úB˜øM2òe¾‘HèÅ‘e ¸¥²Êr™ãz‚먨NûJEÍM¹€mž`Å©©“6³œJV)Cs&#Ñ'hzඪ†•ZGÆ<˜\ ËhÔps}³LÏ8öÁ9Õ¤9åsùÈ‚vÚxV˜VSVÆzò^tÅð:–!ΑKæÆõc‚4Î/·ì/g mk”:]7¶J.ºjLÑ_q͸C†Vi’Mi¬Qê¨5R d½$GѦܠ1t]"gtOº\’8 àU[j+]"Ç¢ëØž¬Ï_Ñ÷JНe&ë¹Àá¼êÝ&|£æÛšk½T fЭDŒª Ua,—ãŽ.&’}¿1(I‹-=ï'M¯NØuS3Å IkÚ0¸b©ºwß­ÈÎq||Âéó¼÷=uœMZñ…€ÕÕîQÔ©èœ9¬£®m ^/:ȘxŒZùÕÙ˜0(ÚEO2—h®bE¦6)W¿‹'„Än¸`™„Ryuú˜›×ßd(úü:§æq‘ÿŸª7{–,»Îû~{:'3ïX·†[Õcõ„@M"8‰”(Ӓ̰i›²übK/–~öŸc?:l‡_l‡¬…B¶($Å€@==Ö<Þùfæ9{X~Xëdµ:¢#z¨éæ=gï5|ßïó¢ïH A32'ÃFì iNÃ*óäd¤Hápë&ÕDcÍ_1¨¨ƒx{k—§NµLÀÞbÎζçè™&$§„uç„lÉ*NhÚ¸…ÄÑÅšå Æq­ŽwŸ™²íœÕ%²Œìw 8»DÍ™8S̹à;D4µ©‚M<]B5ÓönM¼?7múš£4•ôi¦€õ;#K­ø0ɳN ËX ÈFÐ:­äyÌZÝ9½ô5’"S§ ²Öè§À`×ôp^Ýf"tIs ÍGI:×6tbP-N­Ìg‘qéºëAA®Ópá2Y¦"#Á›H>&¤z]+%„Ž\*!öx¯2m6II£@JÙDt¨žË]G±Ðå)¼S»[BiØ-ä:*É9ª^ªóðU (a·ÙZ¯‰$,sVË1›j a¡Ä^ï ù£(~êª ÷f¢W:qnº2ô¢6_‘€wÑÏ@nÆ#«Be4›°“‚1]žΜZz* K# ºÐ±.£zÎ-=3×Xçªî„Øt=!ZUÁ§º¡8‹¯4‰¬ªc.kΞ|Á'Ÿþœw?eww. äyb>ãúÞ@uÂN’Ÿq±º 2g6/äøÅÌåeáøü‚ó쉥±p#oí —ìã6Û{sÞzûëì¼F×,Ç3j«¬×\”‘ÓGw¸óãÃN>¦_:ž.ϸX6©qýp‹õj€²ÀÍ·võj_Ô[®gXlqtzÁíß¼y…£ó%y(ê<š'~ùå~öøþx`ÿêk\õÖã=.ê½?c]=[‹Àõ½ÌáÓϾä{ßø6³~ÅêläãŸ~ÌwçÛ¼öÖ.GÏN8?N̼&34Y0ÖSʨªU!F¤šWÇZ®êˆõ[Œ |tš¡ÙÍhuPÝR-týqBñ”dqìîî\^ ÔYl-¶ˆ!q±¼Ä›[®Š¢|kø2âCR§V•½C$DÁ•¬šMÑq)B¦ÒyÍ蜲q*=¨ÎIÉóµYÈ*A§h“PJ ÎÛó«q´T Èu ¯Õ÷fëV6¦“ðÍ™è=ƒ/ŠâpZh¹L_¥Âd]pÛ¤Ü'¼Oúÿ Ká-j$Iµf(ÍBÞ œñŸXŽkºÞÓ’ÚâZ¥dÕ–©ÁHE饎ÊÂ2¥:Wáäâ”6\’ÓíÙHyL ª[¤1Ã+@³óÄV6qE‚ñðÊ ï” _›MÞ&†”€ Z ©Ž4 DŠéê@ñ=ÔJ ²¬ µ^Òê½–y­ÏªD½ HlÌö¯ròä!¯¾s…Õe¤åµ…b«½šstƒ'ð‰¡ 8ËÊÇjçð‹DP Wr@­Äi%Ó„KY„¥ú®£ƒÊ`»•¬Óy2ºŽï½þ^ÍV|NtK]bwwȬÎ.W+ü|†\¬ð]°©¬§Õa»ÆNÍÓd6WuÍ©9SYkt}ŽMŠù%ÕlÑ9§käæXKV²8 _•ÝV›·±êß k³™Û³žr~ÂÑ“;\yùud]É^?ëM´™©R5"D]½1ÃÏ®#é>úøë¬Ò™Å•´L’ Œ¦±˜·eƒYŸÒÓr£°Â»«¬s¦àðÒá}cD·m#ž±yÝ@öÉaàÙó‘Õ:«Ctbê¢ßÄ 93ö$:†²B†ŠžQ æ@-ŠWðÓ$+ªIÅ5ÔìG¶Z@¼–ªúœ4úšHÝœÓzLßEb×ÐëípÐâ&Έl{S¤Cn•Þb‚³µXì‚q&,²E*®ï:šû"°^hp6Ó1i¤ÎÒÝ\hô)Rš7a©®ø¦L\Ó¨]ðµ­LwƒZ`-–ÂYU,𭀂­D}§U0 }pÊ骥mØYØ®^Qb&¥Ðz…d»l’Õ[«öõÙ*Aª§HÞTÕnîÍYñMQs) Ã@Lq³nM)){ªêLjæý¦Ÿ\{1¼ ¬×Kbì‰]O-ƒÑŸURkE¬Ðªr_qí°¯Ó+ª0xG×›€S?OªßP§k¶¬Žx)øNuµ\)nAs°æ]bÙìõ=-gÖã9«ã»?ÈeÍjµ$Ö5gëÂêè.ÏWkv®]e{8|ã-¾qý7Þ|~1cw¾M×VlíìÒêÈåÙ «‹ ¾üàÇÜûèǸSǃÓsî=jT t®ñ»oí³¸’Wž‘mj ܼö*‡/ßâÊ•ëz`„ÊjyJ9[Óò)_þåŸÐ¯ñºïøèÑ’ƒ[|÷ߦ÷‘O¿¼Ã“'çHÚâøÁŠGÇÇøØqëŠçäéçtý|üðˆøæ{|úÉÇüG߬<|zL•‘k7®‘W•›Wo0Î"ßÿ³iã_ð_ÿÆ?åÁ/ßàôâ3† a/=ËÓÆw¾y‹/¿¸Ï‡?àÛ߸‰ÿò’³Ç?çÏþåǬê‚o¾ûï|ã&~pBðÛävFŸæqDqäu¥Kºž]‹é*òSD¥h`šj0#Þ©°=:Ížlmdt¦‹l#]Ðàð.EjÕP÷lÚ´)pd Í :1>àÌ ÓD)¸¦³§±ºÐÿ{Î2&†^ãVéÚ:N$ð)S³)Ç%-{oÁ,¦i*ÊØbƒ$pæ~³X.QÌÁº¬‘è»Þj‡o®nâGj«ŒF_hªµ4P^ ë%­iÒŠ. šE½ÎÖ±ED§ödŠ)± ÂÖT<1›mQ[C\…9ëTeæƒ5Œ/Äõ½m|ÔêZõ/—ìíî2ë:Úö¶1Å4Ð:Yç '’,Û­ø8XæèXÕ•)ÓËÎã °ìÌ}½®™Î9fý\¿/Í3Ös¢›ƒ+›³Mj£)1-JcôÔš©ì_ÙåÞ—¿àÚKo‘z¡0'P !N̽îõrUš¾³uç °æL®*ÙTÿ#"ºÚ¬íEvlÓïG!Eý<ÇqЂ9M¹„ºÆ+_ÁåœiQõ¨­9bLÄ¥ŽðùOÉyÍ£÷8|ùU–gg„Ò©3‰‡¢?Öy ói“?ë&Þ›ÀW'tiF.ƒ>.hA©×[¶CkÎ{Ã.ä/Ýãh—§f ·VLfÒ¸±§çg¬ŽŽ™\§uÚW²æŠMÅ]°Ø6ôŒèç\Ê5?ú’R/ß¾Eì<«U&Y›K§Óf+E% ëŒo*yXyë¥I)Acñ˜pIÓ¶KëZ5[1ÊX‘ QÇ[¶ŸuÁ„Šhüfå¼§#½%Ö;§o+²áøµoÓ<2ßô`sN3éºØ3Z y a’\ÇbîœBl•⋎àqQËZq]gÂHgÄHLža(FTÊ8¹€ÔRî}°|/ƒnø;Î'K6Z©\+;p ˆ9Å•\¬C{A!©À>+u;ªðω­Ý¬è˜¦‚Ó:À%eó•‚vzÑJZŒÃ¥Egð^G²~‚üu´–õá èsÎ1¶LC ôAaJ¦RdÒŒÕMqè´1V!nô”ªÅht˜ðT‰ÒÞ¢‡ !²6ÝUTMWnCЉqõ”:fNÏŽùòésrÖõÄÖÎv®\£î_ç`{×\D êÈMŸ¾ÿ§üÅÿõ¿ó;¿õ±>þüœ^(ÓJ|ãêÕ97æ‰í^??c×Ti|qÿˆ¶–)¯ì-xû•ëD7Cf½3爌H¡›ï°½{•åj ',ZàâÙc>ýåûÌ/ïseë”û§ðÑñ#~û·Þãõ×^c{ÖË’7^=à‹»OùôáSrùÚë7ÙÞÝãñÓÇ%Ï©U$›kÜ9Í â­j=µ3¸˜žÆèºá‚g”F´ÛvBåZ˜’&„ M‰­Žƒ7M°ÉcÓg^\ؤŸ¤àŒû¦y’1&¢Ÿó|u‹³cnÞ¾­¸¯ïCñ‘PUØ>ëgà½~¦ˆ%“TBt†œS¡·|M¶c¢¢S^°Õˆ¤ÎÏ’É=ªÅ²éf#—‘ä)ÎÔ®B.º*$z" Ëc 7.* ,­Ø˜W‹Ÿiò6AWEÉyª ñî+iÛnó™xƒlN`Ö[®‘:,ÓÕ2D-8¦ŒÄ¯†Áš¾s#Š2¥iÔ‰s7¡Ñ·Mô”ʤÌzÁ$sºw“Îç;/à)Ö¡dq›‡ØèP–+7¢ä©Kž?{Äj9Ðw;ìî_åæÍw9<é,K+zZptKHim¤•ÂŒÏø'ü³ö?³½5'–Âö,±Z,W‚“¬8±±scν]J©Hk¬×p´^S†¯¼ÙqcûU‚ ÌÐ2 Æï,+% Ëc=ö¬/ uuÌÏ~ú'øõŠƒ™çÖëo²¿ó*ï|-òÉ÷99]±¾ó„ÕÅ’+=œØ IDAT Çí;\ßK\Ù}™£çO9YAÚ=äêÞM|ôsv!\Ù¡œœ2Û¿Á§–ti‹Ïïœðþñ?åö×ÞÉú?üùÏXˆç³?äµï¼Eïa1§ÖÆLV´1#Ås°Ó(-szÙ³Z]ðP*ßýÖš_}·ç_ýô„ŸþÕøÍ?ømÞþú5ž>Yq~~Ivªº_Cç‹vœ]T7'>šGL‚Ru{®Æaƒ<éROu(Í߈é)uÔQ/Ìj…“±Ï5v'-vH«¶¶—¯¼Ú-g_©ÔRmBj$ó*Ä ScAH­YÞ›PŒD\Z!8èíBö6Ñ™ˆê.j8¬(yL‹)Õ ^…ƒ¨Fg´õJБհ¶PÝhs¨e'D4Ô:˜Á[ÍÙ"ÐÞw§Sö’‰!²*—ºÍ×6‰qǬR‹Ò*Áw6R.X£ØÑÞããHlߊé_”l_p¶¾×ÂF£àôù] ¤YÇê茴ÓãÅ«.iâV•;̽âlšcÖiV-kÕàšø¿áÉy0¡~¤K Š^Z3}XÔOf-Jæ±£ÔGd´)‚7ÓRç­f÷×J •ZT[æ}¤ 3n޸ɓ÷9¸þ:q6£ž_,jÆï¯YòH1dŽ‹±KsF—7¸! õ¥év$b0Id£7 M§”¡é}7MJƒó†A…¦’’Ìm‡Ð(¦Y ´¢2€«‡<r‡2®q1R¼3~šN«ó›I®·Ádèóã(u0D‘þ÷Vm*—GƆN˜Qq½ÜMÓ@¢ÇñW'†]&ÅÞ\ÝØšUÎô½É5³³µÍêrÅó§ÙÙ?0Ý™Þ &ûWh,•â5îp9.xíö·™mí°we—ÓóSÕÞÃ0Pªê¦†qEšmцSËóÔµkGÜ̯|÷oÒmïò“Ÿüe=2Z:K¶~m‘{÷xþxEW³¡W^$®¸ ¾m”s\5®ìnS‡Krñ*r—`µj;³i«j+t37݈µjÒT'Éfpá©ÅÅÂã=ø¡ Ì\CDÁi*bÖ¸çÉºà‘¨b+4´hI)©Ž¦5ºð’ ,7\Ѿ&Bèô õ·Ê ¶L=}ßiFRRçİvŒU) 1¥nû §™K¥ÙˆV3<ž„S‹.úÀJðô³‹È܈éÈãÞbDŸÈ5#®QÆgât=èƒîcy Üu‘Ú²v ™««<›yi~g3†–AWÛä6¬cŠ^coœu¶a/ê$nÊšM¦PȯN¹rç,E\*¥©“Å{gkÊ`ïVDZÚd;:ËP6º²Ã'ø€´Xã[ÅÉ çGç­12º;BbÀ•ÎNîst|ÌjôÜæ•ÛßæðÖëlmï"a®c`;Ä+Í'‚ µ=Ÿ~Äÿý/þW–­p°˜ËÈE©ïÁeÅJaUU:†‹5eµDZåb,¬—4[³7Ÿq%yv¢âœ‡^F$Ö¥’]c= <{þœ'Ÿrzúÿ?ÿœùXN×Ü:¼ÎíÃmÞ8H,\£„ÈÝ“%¿øôßüÃÿ’óxÏï=â‹—Ü}tÆÙþ»\l½BÜ{‹_ÿý?bup‹ËQºÀp¹Æ‹p2>8†~†o2DߘÞäÕ¯}“­Yeu92œ¯hC&•yô¼ycÅþvFı;^{¹ç'?Ä£“K‰´q‹×® 3.ùÑÏßçþ/éúÆK7¯¼ØÞ˜¹d$ÿ).B»x2 œèßU)DúÔ“RÇlÖ±ˆQE¿èzß; ÇN±Û0‡œïU⛅׊}¡jhñùzEOFl<T\3 cðZ(xÍœ¦êΦO-xÄó¢ùò½ríınÕ.W èmÆ¿Šf¹oŠù{PÞ¢¾g®ÒYØlH±§.¥`A·½‡.4›¦yšh mMp:p6Eè£cQ<5OÅTc<-7jèU€.0˜”ÁI&EÑÐ_Y‘|›àöÞH˜Å¤ë1ç‘hZмÀÖtÂpzôœþÊ>Y„ÐÖ„~fñ6ï;ñ*tÖK?⬧݂g¬Â:Û'DfóÑ ­¬i¢+el;€­ß’QÎum¬€Ödçr­œöUQ3Íég+–sgì%$³}p•Õñ ëÕÉuÐ÷˜!ÿøÂê‚k‡×”¯î•žÞ¹-B×qzQ8~vóB7§F ‘ÂÎ΂ÒlºIÓMº×›<Gu ›0f±PM1 š…Ž3iˆrÏF»sÅÜŽÅØ]Rë–µ‘ ‘1WÂòþÑ{â¶p!á|ÔCQ­ü^µ”m‚òy\3§ŸMaôÇj7 à« IátÁ%ã„ ¨l4RtJþÆ«³ù6e¥YK¾sÔ¢cW\¢UÄû˜,×J³½Ä„‰)ꃕ­|mU <¢jŒ_2Y°…)|V6ê)wj"ߊè%Ô}eŠ4¹úbL/4Ñ:L›T©.@Œ©¢+ìsH÷S4er­W fÓud§ðCcÓxÍsØ\HmÐÜ@ZÝœå6Ù°vF¬š„è‚òi ’8ØSÁW›êßÄ(¿Jîðë1iÁEKµ)uÅjuAiB)3v¶o1ÛÞ!’H]èMZ1q:ÂÝèjœ¦×ÇZ©®§åSþÿíâ|uÉÉ2\áÝw®s|Qyô<ÛÅÕXô{Ì:áÆÞ>ÝÞUn½Íüð-¾õ·ÿs¾÷[ÀÍ×_çG?ù€ï±ØÝæ|ô,Gh-ÑÍ…êËe£K{øEÇz¹äƒ¿þÛ Çùùs¯î1œœt[» Ë%—« î>>aHÛ\¿ú¿ùÛ¿ÉŸÿàßñÝøßòчñʯ|.ùìÓG\=Üåç¿ü˜÷ô>o¿õºv{Ÿü’aÌœ.Wìì^åÚÕëlïíh«5V>üÙGüê¯ÿ'휓£3|¿`Îqƒp늧ë k<^ CmìïðÎK³$œäÀ—_,Y/Ïø•oß&ÍöE˜muÌ·–8IxW4ØÝWÕܸÓÞèu¡ÅƒþsSë(Y Ä^›,™Õ.i~žNlk-†@À Gp΂˜•Ìè=Mt'ýŽ:L™r_ѸLäpïuõ%M§Ò>$Íwu• yT6’}×›>T4SN}x›”à#5—MN*~BIÈf•BÔ,˜¯DýÁéŠÍ{ÍK´SÐ.É(]áÕ_³8›ð — :áêC$:µ†]Œ´2"ÎxMܵÜ5=g‚M§ ÓÏsxôvaW<~ü˜Ã›×¨Í‘/ׄùþf…¤æp3ó„R7„Å ;wÉbÚK“8Ôj±9Ó¤Íá½EêØ4Mqq –Ýè×4"|Ó0içõyb“Ãj±bIq;)ÖË3.sfÿÊ18òz¥YvÓ}ä=¹6=£Ü´zÔ3( «A¤0K3†2š»q‚RcwÒðsi›â§æ®éó >P¨ÉE]ylÕãñQ¹†¸`9xú.…”HQxþô7®ÓÍzÊj º¶óS;-»Þòw.|RŒeÔ¥S"9Þã’)ªW¦ÒÚhùœÚ#Á%}½'81e¢>×Þc ”Þ µTkš’ºlƒ§ó=.uœž=bÞ[sì=M…‘Kµõ}b1ßÅ›Žîù³œ?Æ7X^,Y¶Àëo¾År6«v_GÊù:{ÇbŒx„åò’åò‚ÙÞ>'GgT?1å*ÇON‘2Ê„b¬Jï=ëµjNCгÇá§àÝë{ nî'ºzk$dÍ|¾Ð&®f!gúd´}‹+¦7LÆÎÌ8JÑ{°†­ÕÆÖÎ1'ô³}ÝÛVg„Qq SXªÙ}§ÀÏM—Cáj~"Å 1:òX©åE´®¹ôïI>u”$¿q+Æäim°Â*²^«£0ת+A®¬³Rs[¸jÝŽxÖ¶_ŸH¾]¦. ¼JQЈü„[°Ùm3•¡ &Uç#]l|ÛEꨬ~“õu×(eT©¸w¸V ]´#E,›M Ì ˜³ Ô˜XÕ#‹­f˜Ýü¹ª¼¨{cÊ óÕÑÍ{ÖÚ.8‚8 :Ñ›DŸ˜Y]̆$}WGòµj€hÎëMž[‘u®D'¦ÿˆt¸Ð4¿J2%_*Ã*)¼.¥Dšß2°áHsMfx#ÉÇàÀ‚P›žSŠ”¢n#Âi[ÇÇþˆ·¿ùOþü>»1òú¼ßãÖá.¹÷¾þ2·^zç«Z²KfxüŒÓ‹cŽï~Æ'ÌrÏ—ìÏ òÅóggìïlS.NYô‘Ñg.ŠãÖ+ânÌÔó †ùÀ{o¾ÉK7gäó®f†g÷©Þs±Êœœ]ò«ßþ<|t—wßû×öo0´Æ0T~úóqõßÿó÷ùøóŸðÉãgäUá“÷?âÊoìÓ=â‡|ÈÛ·_%u3Þÿé_qxxƒ½Ý]ü¢ãæopååW)îݹËÅÅ3hcáy—ø‹ß{/²-žÃëWçÏÕ°Ðõ œ ÈxÎrµâÉ£GÜûà3ÞüÖU¶w=«¥æo½q»ñðËÌZ21liS`™”]RË|õS\ˆ®C&.Msq µY󉺚p'ºVQqÍ:9‡GŠY†:[±;£ú7‹URæL2}–ÇKibqXÔœNÇm­£ÆI¡ˆ ‡æ^ª#Ú4E>BgN‡‘1b7ÓPXÀi@b5™d¢SW¡nU8U²nl¾‘ˆj1¼óg1,NÝÓA$Xã¢Ókñ‹LeɫúM@Î!2Sn†C]ž!8VYѹŽDãúæ›NòIƒ/“RD†VÉ–‹RT¾– ÀÕ=^œ~ï'ùCuJSwg.íE`·wä–qÁÀÊÑE…DuŽÑDþÞ©C¼:p¾’\ô81³1ͼª ЉbB÷ä{{׸÷à.íõ70›Q«F†#lk§¢Ìk‘Ø*8 >Àåò’ØõÊnÚ¦õòž’ Bì6ª1(iÚ0¬õ™6åùX!tê2“F 3h…\mSc|('‚Oº=Ø¿r•»|£û÷øÚ7¿ÍQ¸ JµûÃk¢€ËÞx‘ÞÏI]§§IWº”Ì’©m 7GLjÏÄ|1ƒ—¦étŠì›"ÄKØä…"š×ÙDH]Ok³#JNG*>ÎØÚ½ÆåÅÛû7 ¡ß£Þð ¹…rÇZä`ÿ&—7nògÿúOÙ½þ ÿÿSF· S)‘¶vûøñœõjMU Õ¼F_ííí#.˜Ö«\a•…åeQ ¹ ‚RÔìW‘@ðŽ0G²Ö.UTˆÞ÷‰4#Tª£4s—J ™œ®ÇÑ3f9ûµZ«ú¼;Ч¦š(¸˜³Zg:ïˆ]Z€†UX#®‰èzJõ #ÛS‰¢‚ñú šÐºI:Öë¥`Br´âH©ÛˆÌkUWaT _ôFq­ä‚×¥ÔŠOžõrE¶0âa5c4|BÛ€-ñÁ„gúW×%WÃ\FA#J&Ñ;f¹öL±?0ŒkR—ðR‰(ÏÊ9¥+,SAžÎD¬•4»,NZ”ê;%# Sèšæ«ä²a~ü·¯ª}°°fëyU4q䤑Ý|NY _µÓÔÅ9iâ òj ²Mt|ãä ìL@iY‚Q/lÅQè%¥ ¡R¥C"†¤cð¤/®wŒ£'ŹŠTËZ?T§à³¾(Þ,¶ÞôWµVÕœÔJMç÷?¡Ž<:zJHo½ûþîï½ÇÎÞ!O?`îV<}~Ê'Ÿ<`yô€+Ý%7væìítÌûÌ_½Áñrd;WN»s.‡3¢ <{øœÕª°Zž0ëà¼èzgïà.ô$ñ,‡µ®øÖ¯ñíW÷Yغ¶‹+™ Yé¢ÇÂI¾ääòœ«×®óþ/ÿ#O>ú’ûë¿f1‹<9?çÑ'Ç´¡1¦Èþ)?ÿâ.µB gÃÿñßûCž>}ÀÃ{_2‹ ¾þkï°ØÙáæ«·ø7ßÿ>[7wÙ›ísÿîgÜÞqüú¯Ìù釞?ûñŠ_ÿƋރ»$ÂŽ´(¾甕¬yvøüó_põðe¶_»‹usq\½*<<òÔ¶²õ6§‘+ް¡\«¨V ¬):X Á!¢Sˆ8e•¡iò´ŒkEª6%•¦vñ@#Æd“Ç0,MCX5˜Ú5šå†êÔLôJ0ÝŒ³ aZ@¼pq¾dgg›!Ì¢§¹f“Ù)"—:Ê(Y #µ ®½Z;g´ê ›‰—HÙN5ÂEÌU X‚BUgˆQùUb‰œiªÔˆQ :lͲY55bܪ yš04 ªAÍ8;BR`qs‘‚'ƹž«MñšMàôü˜££§Þ8´éjû¹~mNó`´ÓçL£)ˆ ¥öž±ØùfvF Å&)ê8Ó'%‹Ñi¡3MÊä¤ AW*Î7¤eð¿:ªj£‚3‹@ĵÀbwwçsVË%óùœu(à®iƒ!Ǩ¹N"\ ˜t²¦z¿h«ÎM6ñdÎ æÖtêï<Œ­nÀ½ÞŠ_1}X]³9ŸTTO3dDÁÑ,sªÓ­MΞW^›ÓçÏôlN Ÿ+Eç㜃¦±GÎmáœ'× ==©K”ª0\Œº%3sÑŒ/*…œ‹mòÜf t„®Ÿ½éåÔ ˆ>°^¯Ç¢ççóÿ‹÷ÆÖ“üœø¸EŒ½9ALÔ&Ø\²\z}¡¼w6"¶‡Ó„©B Î;ƒË{ÂÕlÓ¬Kt Ìk–çÕ"`ÕtšêŠÇ¯í%¨ ð”i—Mˆi!¨Î© ‡f#N{‡V¡ï6U©w b›ˆé™¦Ú´Ruë-Y^´`Pˆ»2žhêÆ1Ý»YÉÕv]›àÄWÇ´S¨øäª,ʰ±Õ‰º§Ñl1¥5‚¨ ÕÛø]O.¥ÿ: NžòϤÁ¸Î(c UŠF+ø`z6+Ë\*ý¦ Ö(  Má|šRm-$Y(ªjq|Ôéf!¨5Fr[YÓ e]¶j„ñ !²¾¸àèä.û×®°7ïùîïþW‰GGYÝý)÷øðýøåÇŸòìþ=¤T¾ùoú}NÊǧgœ=@V—¸6peÛ1œŸq÷ÎcµI—B×yº>²HÚ½l];$¥øæôÁöš·_ºÂ@Ïã²Çõoý«®ç‹ÇOøìÞ9/o.e—½ÿ1_ûÚÛô®ñ×ý>ïÿôNÖ«œ¹XäZ&:Î.B–Ærȵ’i¸·^»Nˆ‰6Àõƒ¶fûÄÞóàÉ}>øðòZkcȯm_òõ½¯^süâA£ßïpãÈ¿ûè‚um|ývÇÕÏ–Ÿs2¬ùì—gH'\ßÑÜ2I×éç ÚJX1²ð‘Ë˦°Ü ïy4žQðAÅ™$ðÊ¡J±g,»QsVÊ«áò©ӊÆ)‰ò‚‡x‹.iÎ[j¦ ¥Öç@§£«Êfÿ.–-ˆÁ‚ÝÆ…§Q!:iK8WôÇIU‚{L4*I]Ì9VÀiƒ¦ÅcÅ»Dqê¶õÍW M²Š²'Èk S×¢N§ƒëez ЏðZhM¼Î{D<¹ G5·p´äÅfkºcCZlíðP³‰Þõ÷—Z¬ Á‚Ñ5¹¡ºHi u:õðþ]..Nyéðn»GV+º~‡®›mÂÖ£én'$€^6ÁÜ…V0UÕÌ×ÅáÃB³[½1ô|¤‰†h‹xMá@W­Zd7“C«ÎÔ£Ú&r5·©y:Õ´5°T¥•[샧yalÃé’½›‡t"ŒUÅǪL:µ)¥}¼Vêtæ%ëÝViö5WÉ’5¦û@ñn™÷TD ¨¡ß„z{³3+]ˆšãjò™èô3¡E$4âb‡§÷ïpõ`ùb—õù`S#u ªŒCõyc.–ÂhÝ ™wt{Ûl_Û#nõ¤­qÑ3ÛÙ&luøEÂuàwÔ\4TIµœ…¦§³µ¥©DFI÷ ¡Ìàá V•u¤yÏj¸ Ìû-RXh​*³©Æá“\åçõo!¾÷wÿâksÛ¥yOh°ŽÈ§G ëAtÊ´¾÷ìí]åñ³cJ^ák!2ðüyårP‚z)ÅøÞ–¢º*QïTÄ[ O ”Æ7¾ñª’îóJu€×Ñk½ „“Â*Ãb®úºÖô]gÊÓ´u¡È4b „æ4ÛÒ;¶f3Âÿðßý“÷Î×V5¶"ød î:%Á§¯$¿‹1’d£_èbœä„›”"5WZ®Œ``L,*"ÙþÞm¸)L»úèi¥ W¹ï¼%Žë‹¢‰ó_u/Nˆ"ADzS±‡±ZöÐNÚŠ¨£?oq7ÎÖ)D¤Uín¼ß$¬GÃ;Lν0Ó+…)ú@-:m&îEx¶…G" ï=­:j¡É†lFãliHsx±Ÿ5!â„€ÀùƒÂ9ÍL‹>‘’%€ÇI#ãŒxý"˜š¨³’‹å+&£â~%8ÕMQ3³9÷v°ZZ}¨£^ N¨^+þjDjñª‡KduÉòòÏAޏ8:&#ÿß¿þ¼ñʯmE{‘=ßKã´ô¼õÍoqëæK?~@Gnßlüú{7ø߹ƻïìóîí9/v,f§ONð)ÒÇ|Ö=Ô\éç³½FqH[“‡%/mÁÖ•+üàî)¿úûŸïþßãk¿ößü­ßçy»Êg?ù3o\áGÝåîƒû|üчÜùò9X¡´éÅŠø†Æ?•¦dò»;=o½ú:g§—,æóŜЫèg?û˜uS2tœ÷\q—¼qà9Øõ ©pï^àùÅÏ/Å]2^ô¼ûÖŒŽ%×;n^9ä“»§”¡ðïlq÷³\¯Ü£Ø/X|W)ãŒÒ²i‹Ô*1h@±= º¢‚ZEWNŸÛ†£É╚é uuÖ\2¼‰‹[tŒb°àpEô¶¦q¢«÷)D¶µ†·ñ¼âIÔQÛš^|"²¦”,:HÚh|°Ïoç©î”¤V;GT‹æãäôˆó³®ì°·»ËÞõÎŽN˜oïÓ¥ù†måLäŒmç¾2íNN¿±¨H¹Ñw´i¿‰K/trf‘Ÿ4iÑ4-Þ{•ÒæÜQ]1cM·ù\SŒ:50§§®± "ž”:ž={Èë7Y;¡ ÑéT½Ô‰ÀÿÂÍݪ­ÉŠQøåD¶¢2ˆÚ*ÍÔš8µøË sS­lÖÔÎEü4Ñt/L—¢Ý{Š~sŒy¤y ' ]Ðóú䘽—n°\[ŠiÔ¤n\³1©†kv°`ve‡Ðº™ÞÓbzÄ®Sf–OžÔER ¸ùŒnkUÙoªíÕ‰sõ/´µ˜¾V›ìé¹ô6 Ð4ýŒU»âYÌ÷yþô 1UúÙ¶²+'’‡\FbŒã3~øÂÕë¯òÊ»_WXqÉ «¥¢úž6fÊxÊêÙC¤}÷ªsZÌzæ1prô”嘉âˆI8[z†õ¸yμ7,’SyŠ·)¤=Ób§x'—×oì0ë.Cž–‚¯ÎOûŒÙ1ïTgìNß@¶£&ˆ CÇ TŠsìïìàÏÏŽIJy\1Ž£Šœ§\,sD|Ç} šUÕviŒ¥Qt•k"Îg6ZÄ¢fã\…VôçW4c(Õøö"j&è ¢.I‡8lýÆ”^H­êjˆ©ÛìbUð(ƈQÆ^pAí¨â„¦Ó'+”Zkj7ŸŠÑ1£"ôÏÜ´ï-V5»MASB—Ôucß×´àè¨ZsÑüÆ]%"H©ø¦˜”¢½0Þ9f³Î˜]‘ N;Xö›sÖýº.hÇ\d#(x‹û±ËM°É”Ûl\7–­å4´c ‰-‡…±©@´ Ê• ºÖÉE6˜Ùϩ݌Ö÷ø²¤­O8=úœgO?âá—?åéó;?å|XSÊŒ’+gç—ä&œ>9æüùs~üÓ‡<9YR×°x“ëo½Ç«o½ÁÝ»Ÿ2«wøÍ_½Æ7oyníÌÙš¶ºŽ>@rsƳÆáõ«jÐòÖ<ƒÆ_t}`Ñ© Ñ™sj'&‚÷üàý;,^áÆµlwžš ÉoqíÆ¡;dŽ0›÷¬—+NŽŽÈZ__ð IDATEIøHIõ…“^.¶ŠO¼È¡35ÐXžœóÆ­C"•GOŸñìÙ‚8ºÔ3ëu½5¶J)#—%i3ïÝî†Ìý§‘ûظlp¾œQ‚c& Þ{»òöMáÙó5§GÏÙO§|ö³ŸÒ:a– g—§\œVÄÜiU ­ Õ¥s‡~cWÖ•fÖZ¬¨°Õ³÷ã‡wš½X]@èÌVÞÓD»çœóWŒÖŒ4ªfN¡ƒe‹±qSâ=—ƒá,b'Ådì¦bMºb ï5½Á‡dV{·ÑÊø)AÝkÓSM‡Èô.r&ÊfÑ âR”ä:ýïElZä*„†k`oÑš¤Z Š\¡§H&íš'ײù,ÄøvŠÊÐé`^tÕ†¡‡àÁ%ï;Ëuõ`[q¸ÐélÈ9rYs|ò”Z+×oá;ý\Z¢:yñÁtBïÕµ(ÍÖ„®âÄ)ˆ– Ñ ¢ë,L¸ ­4œW½•³óÙ9 Î%ÛSW•Â,$\-Dò@ŒÊëc ùJpäRFœSŽ^ ”:bŒßÑw šž=x€Ÿë¢úf›cry§.J‚êxBÚ˜…DD‰ÿ1"Õb¾š:éšÁ)›xýþé²ÒÜèÞ2ðT,R î…©#y“@ĈÕ9ÕÖ(FuAÙI½søš™í^åôlÅ3_lÃ4Ý&¯–BÓ¨º°•¨>ãfA)ñ^¥0­Yº¸qÍ&|OtjÛººËâÖZ´ç$õ›b¡Ö¢kjïu+Ö¨4 Å£èç"¥èª6úª‘w’¹~ó%VƒFEÍ’7 ®NXƒÏˆ,99~J)#÷ܧ4Õi®ÖK-ì+*+qD ¾à¦^]ñ.‡Ñ%ü|ä£j»Dp^õ£µÖ1­¶f±QmsÇÅ.påê6Þ )b×ññ÷heÏò#µù‘Mt~œ¾¡6¯ŽZJhbJ µ0–Jó06=?iÞŒb )ʸóÁG†Õh&j  Uq÷fã´²Ë9kUk‡Rµ„soëD‘jtaÝYª0Q™ÒÚul.1˜¸]y)ÞF°Í©xÔY'©{noÌ‹àÕ”¢®í‚ߺcŒúãšÚÉ¥(N¡˜îÊ!Ä.™@‹•±V]I’³˜§ô´àÔ‰†®Å›VµªÐ{³"üÇlΙкÞ >ˆÆ LÑ8MTÿ’:e²ø¨­{!~ʦ¬µ¢³áE-í f!±^ø€ýúæ]6`ìä6R!£§J6@\F\Ù„ÂzïˆÁ+Ý×:˜R´cž¦ŒS±ÄUƶƗÄ)e$çL¾xÈùÓ/x~÷S.žÜeWppð2·ßáå—ßãðú»\¿ù6û×^#¦ŽÓ‹'H[r¾|Nqk‚Ÿqû°çððéÖm>ºþà‡|øoÿ’‹G'ÜÚš³·˜±5ÌâÑ­yA¤º5³-\ðlõÛ¸-ò$JnÏ{b]2ó™<»aàd5°88Ä×J“JA89N+kŽ|Ç>}ÈXF(#±5jUôïÓq£wžYˆ,BÔ . `ÃWg‘+ÛsŽÏ¹¸Xqôì„®›³³³  q$’.8¿Tz÷¶º”ÙŸ ÿÕÝào}½röôŒõ§ùÅ“ÀGŸ !uü­÷®ÃÈ÷ðœùî@¾x̧Ÿ}ÎúèŒú c¨Ù»™¢¾¿ Ú|‡wýÿhÖóÍë§—9 ªY}ìuŠj®a77§Ù&$¹‰jl¦H¯v~’×ø:"Àb±ÐÎÜ5›P«Ðm\c“•?ÛÚá\B|R±w´¢Ùɽí§Ïq«™ètR?E,”<ªÆ² ½å] jªhB-M‘.Bš«D¯ +Š|D|пEÒ !Õl›6 ;¨ÏÈձʅÎC)K)UÝÑ΢É6îc6Ós¼K“YÈ;ÏñÉ''ϸùÒ5rØÝÛâñÓg$û¾nàž¢Óï‰á5™šèÄ,†D¶ilŒ‰æ4|Ú{QÝSRœA:ÚYÒÄ}%À[¥ÁîuXšÔÂ&}ìè»´‘XÄ•qå®6EçH¤žâàÚ!Þ¥o )(ÛϦM yƒÎy•™83¾Ò4¨Õ~(!‘­!ÅVÁx]‘9 mι ^óÅ5\¨ä’õ˜5qµÔšaAF\äLZ<ä %ƒ}NÛýœùþžÜ¹Çl{[õ±_aŠ4º®£ëzÖë5nŒtÒA¼¥r”ZTBãÀÍ’é:X ª»°úJ íÃ]ê,06u+&³èð>0½™΢עsêD´Õ˜N½Tß…/ÌgÛìÝ`µ^2Ž—ÄÐ\º¦Kòò„;Ÿ}D‹ÝW¹De©ØY.dŸ¼u^z9TÓ7ˆ4Ä !Ì”DlÍ4»ÂÕë·¹që6ûWo2ÛÚ#õ bìÉ¢¾øâs=Ysyl4jšÒYTÇîõk$_9º<åìþ#¶÷¯¡ª.+nESÒ4Ô>Ƹ‘zÄ`:°æžR^¬«GmÙŠ;•Qx§ë6€êƒé}HFú¾'†H0]WòJ¡ kú ¬ž²:=×Tk›Â/ça5 C±ï‹®}*… ÚàÕÞ³sŸù"é*U*­BSIJþÿ¹z³_K®+Íï·ög¸CNL2É¢f‰*Qª®êBy@7~ñƒaØ/þýä'¶ÛC£íB·« AP©Z¥’D‰Çd2çÌ;œ!bO~X+â¦,@$*ofž±÷¾ï÷ ºQjàJAÊH-+¯M{ÝB 4Q3[Kt]`ÝoH9qùú)}— ºþ„‡Ÿ~ħÿŠt,|÷ù|}aü7=3‘¦M/[’õvFHS[ŒÂ¸{É™‡ó“ðBÂãÍÉ?S·;ø+UïhQÍçíóqð¬†5º®ò¯þÕøþ7Þ‚”i9Û¬’jeJM± ­ܵêó×2¥\K\ÐÀYöc¼(Zk¬†âZ¦’ÌT™¦u|FIê¨~±sVsºÙ¶iηeÌÝ”£!hVÑlqž5R>]˜¦j©kÁǨ¡R)SÒ¢¬Ì‘77ÒjÇ ‚ÅÖÍ:»-˜Ú(̉c À¡fvrgk¶Yw¦EWˆó¥ 5ÏcR]±•rS$Ši¸¼TjÊ‚÷Ët@pÔ¢{íœÕ6DWÔ£‰ÍËï=ƒËœÓéܰ^1¬V6×¼Â9Emþsà`X­É)1t=¥Tú¾³ß¯‘íÐÓ ÔC*'Ó«4†Õ:OT€hÌÄü5ºùðë6T fWv4‰Ëš4ÂÈù¦kNçè»1vx/t^éÖ1è+ë¤@ÍÔœõâØñÏ$ÄqÏÊÁÙPùoÿË{ügÞsñ¢òø™‚X}8_õD«©$q¸¹ûnÏ­{•„.è»T²¾O­j& 4m*Š~Ÿ%«^&ç=U&ÕOy¯) â©5-L·R4êj6ÖΡS3§¨ØT,—J•B«s×®“Ž®ëG—Ø{’™6æàe=w²ÅxANÌu«Îd'Øä½º!)$ã|±0ùÚòûŠ ç³f2/+üÚ´˜h‹ÀVäÇé@iÅÏ"øFªÉtPšÉ§ì5 z,)Ђ%/h³¼²&ÄL3âeA®P•¢ìÜiͦÔÍ’mm¢µ|NµqÝ Ï¾xHj•OÿéwzÑ+B˺r>¿kjUøç?kj±x5œˆÇ»ÎŒIemŠ}?Á‹Þ)‹^6Í,EkŽ5§ÚÔ™ôÄ-ˆ‡s8îïôò·TBäö½û|öå'lOW[Övd›0;ÀÕÂT2)%Õ·†§‡iM#ljuª3f—3šÿ<+U]N:©ofðð^H­Ò5!Ú¯ñ1pëü–éú S-LY7)Î4ÕGz߆5×W/í’ª‹È{>›4Ƭ³1§å ïÄ¿aJp¤z3–\ɶ½Ñµ;øª8Ãù–ØwĨÎÅÔj#ÆNùÞ4r–ÏY­€VC„iÅ餶éûÝÅŽÍú„Ï_Ø4jÇ'Ÿ¤¡óÛÍ)± Œ‡£ÉŠ”|ïC§>´÷Zúèq¨ñª´Âý{w™’¢!Z-7Sx/ Dz1§J׫f³^qr²¥¶Bl›®ãîÖ³í.,¤-:Ê\cJ&-˜0õ‰¯ —4G'i(|ô–*ÑyšÈ¥áH-Vý–¸>Åw-mW: ùl^»±-ð¦Ø\JXÆ[ºe•»hp:[9ÚÏž¦´¸îЍ ±Öª/Z«jåŸ×XÁ_Iÿ½Œ´§B™’EIÈÍš°¨b l_òbãž¡ž7q6jiÖÀL³©KY ´œ3Á9‚ržtZÔ,ÛoÖeeÛK·0YZ®ätXIç¿C)•èœZlÉDo{û¢–eªî‡Tü‰–)2GíøÅj\MÏ5kÇæ¯I…Âu‰ü â hà6jUñ°ZšÛŸ˵25Õ‚(¤^wØ9kç§ãÿ¼<˜ÎE+ÐæpÍBˆ„Û­fºN§ >Ü:»Çùö”W^pï¼² ŽÎ®¯¼xñŠ•8BÞÑœDº•þš¿™(Jõ|ùøšÿëï>áËg‰±8ŠëÀ+p²ë:u«¶ÊÚ%z_qM ärØ“Æ#O}Í‹§Ï‘â©5¦‰Ã~‡÷ž¡ïˆ^u#ÞAF­©+7Æ»¢Eu›>²òžtl”i¢<Á÷¾õ^<É«W¯Øí4–fšFÊ8Q¨\_^ï"×Wþb„z4CH%v+¾~9±—ùø÷2QjÇçÏŽ¼ÿÞþ󿸇o#ÇË ¾~ôŠ“;‘{÷‘#N ]ìõùšiÑ^)þ’3hüÍ¡e:|W™³BÅÑ;}¶úNä2Y£S—÷KGì™0ÃE¹K!DEšø@³µtŒAo0}UX¦6Á¯”Ô”¾^KÖ,Ó ®È®ËÙUß"nÍ ¾V‘(nÀBZ[µžº­´Xž›)mBkÉxSº¢ <=ï*A¾ìé¥,&‘Ú ¥ŠNÄD'¾¦­š'/ñ ïuåéD&ѩƧ˜ð¸Ö¤Í˜4»ƒó>œ% µhaÕªZ͖҇U¿âÙógüúþï>`{v®ü/§«“” ÎE‹ sFU¯†‰™WAéš b|¿Èœ‹ZŒ5ÕçaÄa 7Œ×³¨Ì1»ªsä7îšNÒJªŒyÎT>ŸN)-¯±9ÎïÜçÅåkÚn‡tÁ’c~*¢7Aœão\ ø¸ˆÂ¥A.i1DUèzÍR­²hójÍlMoè´àêB¯®9ËêYZ­©ÕÛª]™‡ÑL=NnbÇrõï¹ÿ—/^¨‹ÐÎŒÚ4[q¹“\$n ‚™-1¤j¶ÂÇ6PAÜ`]›fïŽ9iáb¨£ÛÛ[ (oV,û@t‘”ê2%´-ž=n°xÓ; šü¢ÿ]#Þ|èÙlO¸¾ºäúðœ§/¾¢Å`E®ekÌ…T+ãñH«Žn85¼Š¦K´š(¹½§”‘Êùé–®ë)Ùðµ’ ÔìK„q¢ /"𥠅;§[$4×W•Ï?I“-9MoÀŽm#Õ*išÌY¨šrA—…bïfŵ¤q 8Ñ"«9'¦Ò¸¸¼Àn{=£r5$¬ q« §PÀYè^šAØ,Go®ì—ªY4Àwa)f´˜jKA6#Ä9F”ï—tm6Bt;†¾ÇOŒ‘"ú²;w3ª¿Óí$Ý,No¦ü·C^ :7~sЪ›©ÓMƒ‚¼”­ªÁû`;Þ¶ä3jÊ|Q§Eìõ¡·b)Do¡ê¯ŽÞ–pÑÖ:rê|hšF$çŒ)Ç=R“]P“¦Ê×F.Éb ’–Uu#¥hðvJùf5[ª96 ÁlÛNã¨èƒ#ˆZ¢ƒ@ÄÙ:h"4µ‘7mÕo(ØEmÓ±TÛðÓïáÂ"m­’ÒÑšÛº‚Γ´V+y:Rkå­ïsÿ½o±Zßâé£ç¯¯.áü€ÇÆœ£“wŠFµiÇúö-†³-«¡ÇÓðÒq]?ÿÇÇ|ötÏX*Y:jˆ0焉 R‰p¹°ß]Ó*|ýè¡óC6{*¯¯éâ)ûéš`—}*Ž’¹î©ÓDd ºÀ.ÀËcáb„o¼}Î7ß Ü?[3öüþ׿£¶Ì¶ܹ{$IˆG3õJ!" ÞÑEåÛtÎÓ‡À* }åð–Ö¨y"`VõbZ´¢Dé\lM½*ÀµfŽ\±X uíÓã»h”PÝw+D:ZsË9£F‹jϵ·©Õ,\¯&½¡; 8ß-ƒÆlé$GY^â”ÁT­ ¬sŽa-䢙ƒm[OoéDH‡k|˶6S«7­"f´)U9תñ¼­ +ÓT Gj•&A¹O¢‹X‘ã[±´fÓQZë Šd™9V>\Ä÷=ûÃ5÷ÿìm¶ççæœÔ hô‡Eª!¢ &uf&²R§”,{Î8Z©_—Pä*PÝQhîö±iqŽÒªfȉhÞžhæ`³¢9z¯©ö÷q³[-|sE¬[Ö¬7¶ÝšxvÆ“O¿ÀoƒEë˜a AsêÔàT̼SK[Ð^ôgæZ5~FlhÚ0/^ókKºINI°-§SZ!´ªÌ2KÑæÊONŒ(hØyA5Šƒ¤ªg[®ÚÌ;§T¤Ó¡DÓX:é"9eò¤5!F\sÔ¤«¾v†¼PØù­3ž|ýÄquœ˜ÒÈnwMê·©ŠB0¢ó=.ô”&7wµm:<Þ{ÄU¦qäÞý3ª \徭«MoAAç''ç±ð½gµÝ°Íi÷×¹ÿÎ9ÅD­Þ„AS)g’¾mDÞÌ].6Ädг½èϨ†µÁbüîÜ9'vú!ÆaбjKøàéŽÝ2ÁÄ…:[e5šãÆUÑ4øòæ_n±†&Ó•¢£Ö¾ï•SQÕ‰%h>ŸÓQË)ëZæ’hIu1µèïÛLlï,ǯ”L***,ÍãMS0 ıàfǵÃÒÉÆ%jÆ‘Š(èÔ7¼+6mÒ/±óž.hÜ@tšØNÓ/"zð¥@U YÍ…êÅeƒ—5¦2QÄá}§£Ô¤+…ºü[YS¥Í^IÁ»Fˆ7Ù„bû^FhP¹L¢›aBðL–6Mêš©UWÖê3Åžª@SGßëÅ9Ӿܬt´jø ë8g­‰Ùš”tmb\·ÄÔÅ­ÒhäÚð¡ÇÅÀÄÓnï{†9[ŸÐúÂÙéŠ!ŒxëÍÀ;÷Î8¤Ê¯?yŠxX¬è¼ãlé‚Ç… ¹5ö—'Wk¢wÃj…t+¤ëX­NÙžžq,™’…Î9ª«Ä §áõ㜠ާ/ŸððÓϸzõB Ý¡ÛâÌ(¡›Yýìc+¬£ÐùF”ÆÚ9VNðQÌÅ*H€u›è£ã;· åÊW—r¹$–ÆíÛç<}ü”ý!ëKÝ5%»k2/ S;2¥F3e§ú.ZE¦ß|oKç5(ÙKäP*5ÒqÄyÏ;xûdàÕî’øùoq¡²î:În]CBÁ‰Åb]œDµÎ¶oW–ê¨-á]Q­‡óHŒˆÍ­”ÊT2Ghb§ü ¢Emó©ŠQ¿8ÆR´s¬Ê ËS¶Kßt8š±°ªè2ÇLÕ`ÿ?Gôáâ"Ю²pH™œ´-L–Y %){«Uo“»#5]ÆW<}òG.^~ÁÕã?ðúÉg\¾ø”Ëç¿'_|Áqÿ ûgsõøïÙ?ÿ;ÎÜàÜýœuù)\ÿ”ãõk×Jô=µ%ðï&Zqµ¤#pƒºpÎ3–j0RÅg¤œp¡£Š@‹a´hQWµìZrÂ5áX2'ÝšïüðCb?SÚCTôïÆ$9-œ„J©I'¢Œ+¿œÞVfqÁÌx›;Ѳ)}ˆø–¸™bŵÝ$š^¢nÀ‡A¦¥PRÁ…ŽT3…Ê1'ŽùH®v?HÅ»l %èjæÖ­{|õä+VÞ1Y£ØœºìšDu<¢Z3ç=Ù|·ÒbÐÖ¸Á5¿8j-6™×œKï{ÅqЉ.hã\k™ÎÏÏ£êg•à¼eØiÎj©Éô¬ª,Âúä”ñxÅX´xoU×Å ÇÔµ-¢XY+—›F§.ìž]qõô‚r(”ÒXmWØ@©ãñ¸ð+kS—kñJ—wójÕÇvÒ˜òh™„*XvR‰ÞÝ<€ht>X“Ò«¾wEÁyö¥òÅï©ÚK_˜JåòéS6ë5ÇéH3DuÍV»÷ûî„!x=ž@FûëÈ8v©ñ»O?åúꊪª@›:-爺œž ô›qp÷4r÷üœCº i,ܹ{ƶóZ ë£2…¦NT}gm‚ë’«ÐrÑYWÕ\ÃÒ zåö- Òp-Э"ã4ž>¹Fú[ø(Jq„¨Â./ÎÄš•Vº@¼ØÖlJBP‹§Ø*~ÞûÎ&åWe[…µúzk–i)e\SZñìŠh¦Kò^² \“Å¢Öf!Æ@š]×kmlú'í > ôƒ†M>朗ÎZ×]&ŽkÙºÞMwö^TûÔD)©ÛÅœ±äÂzÕ‘SZöâÕˆÏÍv㺞sˆSöøñOþŒ÷·G­…1ré}à4Jiø”8ŒŸ}ò9ï¼}Ÿ;kÎnÝâå#ÅT„j Y§±"ŽÓaàXŒ*\ Ó©Lß*µ9¾¹9§„ÆûoÝ㤿â£?^òÎfÅí'äÁŸý˜ßüò¸>ì¨ÇĘFBç iÈú~ª84Vů™BÇ¡xbmd·ãÛß9A~ú‚ízME8[÷|ÿ½iÊ”¬k¨ÍÐñ⺰^o˜ÒHß®_1Žç$© ÒSÑ ff¡éÄ–¾HëhŒ¸æ•?ES3Öí×¢!ÍoDT8„fZNE-DLëéÉeæ[±dzb …˜xÓ§ÀPmÂfé@·Lhf¤ˆpê+“$jó„¦kÄT3Å¿¢íG^>Î~ÁË—_s}ù_“Âx¬;X¯*›UätÝqý*³]°ß\ˆ IDAT©È5„Hs/¯{..Xóúõç\\ý=St'ïñÁÃvûä€k‚oŽÕ᫵â7 Vù†´ÂùE,`ÛhÓT%ÅKÇh½¨N|fðei¦ÌöÖ-^?}NèW\¼Þñ÷%(mvg¨Í&_öîj{¸L«¡,JžÌÀsƒ®iE“r.¶Ê­KLR6sO-u‰ç™×… _'¢¦ªÛu™VŠ­*Á©8BBW§ÁÎÒVàä윇ӑý‹ç„Õ9ÇýhÓ¥H³CR|³öOÙ Ô•EßÞxf”ÝjVùƒ­¬JÑÜÍ\'VCG™ô°vfò ”-­)#«d¢8ÍïtªQJ¦¥:=7,Ôz³ÚðúÕ3Înß瘓š4“€Šy7QÆÊp¶V¦x¤ iœ,ËZ8\Ù„@r…#ištE+ÎÒæÔ `îV½>,Ô»‰:UÕåªQd1XÚJðVX9'¤4co«E½Ä9ö—¯¸Ú_Ò=é¨ïëßýû¿eWŽ|ð㟰ê{Žõ`ÄùÆ8í‰^ïKW,ºÍé§2QÝ–ßú5×i:°Ï™œ…2îÝ]“Fe6Nc&ÆÈj¨¤CâÎÝSh…;;C<ãqZ†ÁH‰Ø”6)°XЂ8Û¤eÒ¤€e‹NÙ¹›áMµ4´pËYµí¡ÚȺÖIÖµYìŒ&…‹¢¬t<ÆÍ Á3Må Á¨»¹ŒÁXTmaz4ãÈÌc×õ$&ˆiç4'Ì{u5Û'뫱ÅÖUeu8ožݬ¹ NõŸ²ÒσP“‰0Ý<:½Ñfõ~†’"M#nl:&Æ«E?dT9#¦gÓexòTðAíæc®,ÆV;BÐ.)缌©«=°…Y«¥î&ÕUˆMÍ´ÀÍ9#AwÌXºw×ÛTJªjW,Þ OžW¸­*ÝÚ;ÂБ¦d¡®†]‘Y¥Ý°ï¶¼¶Fu:•Q1§˜#ªÙííóá èÞ¬} !˜ß´%[.ØžÝÕ#j*lÖ=Ó‘m‰x§'§ÔV™‚W8gìˆëŽÐ)<ðôäÔžµ†„ÆõN‰Ø9G¾úò}±ã|=ðŸþ³·ùÉOÎpÞóó_|Eé+g'+V}ã‡?|À¯~ùGÓ@l•)ñ-qï$ðüÑî~ûÛ|ùðK¾ýð=n½ó8NoÑuL#â-«®aè:j­t'ŒÎs9*GÈy]EL ¢4V¾|}ÉOî®q’ùõ'/øËà¹÷Þ‡¸“ /¾üŒ—×JIŒ“êH|è‚ êÕÕœokDãùâK©ðî[+Æœ8;éø—ý€_²_Vãîlx~L|þùüÕO¾Gì¬ ˆx1vT×1è¼*9cT[þ4M”¬O!¥ƒ ¹jt–#Dmìú*v‹@8M ñÑÜ´Åtl+Â<ù¤Ñ‡ÈÑr ‹ÌnœÌÃÑ÷‡½'•±+Lã‘‹=|ñhäÑËÆf}Æ~Ü#ÅÁóßrñðÞy÷›|÷ƒè¶ßddEÍ#4Ö¨®-gÏÜQW V]HP EÍ£òéœvÑmÎ+D›{¾£|ôwüÅ?ÿoøý'¿áÙÓ¯™¦JkGN¶+‚4îœ ½‡îtÅ4&úmR v|úåKþ§û‚auÂí¡=µsœ­W|÷…:f*·nOô ——;>þø+~ôÁm€µÊ¦Ûq}ˆ”’ȥљæ-¥ljíBŸ <TTçq¢.5S2zɆÁÌzIyÍpg²ÿ-ÆÈ1ún­ì§tä?u¹åe}ãŒGÜŠ&I#ÄézËÀƒ œÏŸrÔ)Z~„ßÌã_ü=?û§ùúbbsâ8^%‚o¬äÈûnóí÷î¬îjÖe·iœn• U¤qèGÕ³¤w'áöéÄÇ¿zÍù*ÑÅ­ÛýºÂñðòŠØ½&»»_uE¥§1Ó£®êœOÚt²îçL8Á ÏζúŸ?§y2Øj£yèß}ûuJTï¹µ¾­StšR“^$Jc×Â&t&Mȉ&ºjž¿1I)yaI)²Ø»žu¥TTt휛,$ûVóÑÎ8Sĉ@©Î¤zo.ò²¸Å¼RT*S’~V%ë:°ëœ:ç—‚Y3õ×i Á;JIt]ÇnÅéêL7®Ó<]Óú!ÐmB¦hé˜ñ©6ª×¸6È:¡ÂÛ Äû%ˆ½4M“æ7©Y>Œ˜{|2q¾BN¥T3˜µNìšÇùhSb»whŒ%s¼~FqwMN7îô³“;N}¼Æ§Bël2è9MÄí-òó¯,E@W˜êНž½ä`Ôˆƒ®S,OÂ{oßæj¿SÓ…í6YQ]Gª«:;[Ó—\]JbÖ¤A©ú9Šr¶²ß.Άf1K¦Ã[>+éX5‘4Òd©T,ר°2:ª7X(FìB£µ.zg4á¦ÚÕùÌ“Å|úÅÙ¢¹„"ZÅ.ÞNç5AS¼`^s> Æ:‹Ïƒj«hº'/@M…f‚E'b4^]S¤ÉÜ:m¦+0MÜ,J¯ëtåçD]”(ÛELL‹e³qt^¡‘Ñ;Ö}DÒ¨ Pv!q°.(»áNÁ`"§=­hôG­*äõÁ3¦D6³—ù¥öËg©CLýy©Ó2è(1xÑTÔ*«ÔY*øq!˜è»Y&˜…/×F°‚OÉÜsWQ>hщڜ>lƬñ»ÎéoíË®¼QTÍ™cíænà;ŽéøŠ”+·n½Ï³g_òòå bïÉ®»žc92UxøpOÇT52éíûwVk®ÇÊ„W•ŠkzRòì^íøèóKÞ÷=þú/×x"ÎUîoÖüøÃ3"ÞWŽid nT$ÜÆÌ1 ›>pvºáЯ¿zBç„§Ïžðð÷d½9¡¶Äz³fž­îDá´΂° !±ê#§cÓù%´ä‰(‘Á åPØàé”è¥ãöíÈñrzÅÿwö‰?üæw”’˜RV§RƒÛç‘nÕtg‘æ•MôäÙÿóß^²‹šÓô.RªvúoßÁ“r&t ®IÓ_ýê7š‘©zeøà¡ˆ'•Ì”4¬·ŠcèWˆ÷ô"/ª8EQ8åãèJ~¢”¥X3nîxßx÷Åy2oDJùŽã” ]ä8ÀŸ7€‡›g [æ ÁâV°î]çT ]õN%¢¹{ÚÿšÝ—ÿ†ÿûßüüïÿág|}±c·¿äúùž¾Nüä[=ÿÅ_ÜáÇï ï¬à|Ýéô+5Úq"L“âMBN×¢¯œ¬#qU8ßv|ø­Ì_¼¿æäNBaµ¿ä[Û#ñç‘o>ئàøèßrùòW¼zú ‡«¯™Æ usUÁe´ð‘c1|†Xc'}ÅÙ4ÜÌ3– X¦‘r8r~~FÎ YJ™9ŒVÒt%ƒº'g¤CmÊ%ŒÒ(Ó'Ž“í†pr—žW4sò4Íit^IìMTgWE·2ºžÒ‚¼Vá·¢y_:tP–š3g­G<ºÂPkD.aœF“­@Œƒ¥vbdÖð¶‚5ÈïuµÚÀ»5Ýê”tØqHWê@ÿŠt«î¤G¢¾ËâUûæ95­¸ÅÖÈuJš²T*yštê+¢¦…Rõî•݈Ó{:£nRï£Þ3T5®‡ÍÄ4ä’â„’&-¸ÊŒ:hf¤PÇ¡…Òœ:÷OÏn“ʨ›J§1Q1]”OGÉÂQDW§M"O_í¸Úgò8BiŒÇ‰ý±Z4š ŽÇ‰Ð­±pv~Âvµ¢óªmLE8¦ NOºY*¥©sÖæ\$Ub˜V7f™lÅ–|×jYuÃZšÅŒ!)(O‹æ«­#eÇØ`Jj?Sˆ!¸À4VµÖ·JIYÕÛÍ v#4w–S¦Zª™ß"Ʀ Q'S ü4VSx]š§:8åf$³M×Azaf6aÕ¹V½ŠR0ë·7—šQgHf*ä÷aÆè;˜SÁ9u꟔ˡ‘¬Z|ˆ³Q¢NÃÐ3´ó«úëŠ}ÈÁE¸6.NÜ›‘’MdXUC »{‹¦”-¾Ââêh/¥ÔkCšÚ~kÍêüÉ Ÿ¡´¦|Q>"¸¬cþùå§Î(E8rÊøÐ-¼ïUWçüCôËD£‰ŠÅlª–Kftæ›8¡›Î¶[~:‡ÔÇñ1eôœœÝçzÿ„épàìô61 Ôàxòõ×ì÷Ç×_¿ Õ÷ÈÓ%·oßçùõžÚ ¸>ìHÇrZñ±v™ë£ÇÑs:4œo0ˆãZ&¶gƒ‚hS!ôk\Û³=é8¼ŽYaµ+ßÈS¡+ÞÙ¸ñ|¶>ýüKn¿}—ívËéùüôZ 'SnЇYk؇d͸«ñ‡S­ŒRyúbäûßêÙ‡ýW»ÆÃ'¿à—/2‡£™ðLÇÙyiC¥¸ÊùiÇï>ùŠÿþýš×þ-œNüùÛ§C‡Œ·Òõyiê°M“pL›¾çåkáââ?ûù?ñ_ü«Ÿpu±£"áp¤æê.=‹õ>xOš2ÝÈy²fH¿cE¨tH+ÔÉAU(c*•@ešF|ÔÀeqŽ”ªYºMvЄØõê^Ñ.Zo+–Âê&²Ë[¼S2§–Uèþ¤BšÈ]ǰAýì_óüêÿÛ¿ÿ#OŸ¼Bº ¹\ñÖyÏ· üà¾pºRiu…c9^Wò¥#¾Yo¶»¨“î®NÜ¿Ix™]Gç+Ògîž%\·âùW‰½ÀÏÅõï:õö+R äð÷Œ»H߯‰ë›°æÁ7~Èí·¾¥ëÎ’ée´Î9ÞèÖ¸¥àí V @ H¥Ž@&çÄj³¦ä¨×A2(uZ`:LÊ LcŽtâ9çª9ÄfNUâë­%kbÍ*÷þf’íRª6msmŒC¼é¤¢ñÍ›¶Kux RÓçÞ‰åFY£НaóÎûøêóÞô}Òj ì5¤¡ÍéîOHõ³;Ò™kPÝ‘Æÿ²Õ&Þ-:@ÅÎ8!mð•­º#›¹Ø;ËC̪;³•£8G+Æfl¶–lNC®›àÜ@«Ñp;:u›J¡ïqÝ!¾ÍD*±ë˜Æ¢Pð axŽ×{BßSI¬OVLY7EÓï§J…ThâX¯ŽÇ]ÐÉg®˜ÒÖî9kœ“œk¤DÚ˜ :¦ã¨<œÙ½fkC-žtÕè¼ZÎ{é[W•d¸ü™æàj-Qމ7!ß „haÌbôùFÎG‹r¶§ÖîJ¡cêfÊ)-cçfNGï äi Ö§àà½^(Îý‰crÆDç )Ñp^õly$ât²$®ûÓÕlKtqPÖU j¹ž3 ,uYN“’°¨€smÞü›‚E÷òRMÚr. IwFB$û³(Çk^e™Hã+ji¬OÞ¢I£Tá;ßû /ž<¤‹‡šÐ;€Ëì®Lµcˆ1Þ}û„ó³ÀþBØp<6ÉS|¥“žÕÙ‘Íàq>мjùJ;’sæÿã|odï–Ôfœ²nH†žrqÁàùxàGïÞâ|+$¹âX·|ñõCÞýâ›·î³:9EžÁ`bnÁázGN“®š°oÙà}s´‰²’j¬b`妞Ù{b^î+&Ò¨]M„Ú Çã‘Ünß>SCƒ¡ÛÒjá·¿,<|=ñÍ»×üwsŸ;›Ì!z*=­eJCKމÝÞq5‹Á{È-ñüé%¯¯®ØnV¦W¹"Æ[Ô2â]Pʲˆ™A:Ò¨K¡6Rõ†:¨ÔrÔnÏu––5P"}p¶Ÿ»Í> ¶6÷&Ô®K¸:–ú0ë<¼×x—”Ë6u9·Z”Êe—§AŸÒÓ¿þ„'¿ÿÙïü/?ý”¯¾¾ÄwޏÎ?ûóS¾sËíµ’Ã¹2ÖÊÕÁñùÑýxEجV=g¡ë'§: M¼¿f½òÄVXõ‰ÍÊãkÅõ{}EÒ ÿOOøøÙŽ!žêô:BüʱîöãŽ|¼b?¬yù« þêŸEVÛ; Nm7™¬ŠKQ Qª…¡ïmý>M«;¬ÔÄõõ§§]£øž*â¾bü¾¤Ÿ37Æ”y }fë–p{²©(•`”þ"‰V’ž×NÌ)Lç5áÀ¸{ѵK)ЍÍL¡Zã§`cWJׯú};£¡×Èn6 ©y]µ‘éüÃÀ“?âî‡ÅõÅævZíy Î-¹“N3 ¢¶z±æRµá®%ƒ™=h^ÿ|Í&:{zõ’Ÿ/bq'Õ DG#š´FÿüÉv‡F›a¢)2™íɇÛm&å€÷ž)MDéˆ6•§º$<~ˆtÕ©t, Ÿ‘,”Iy%UNï3–‘!ä¢9žÑy]µKÅ Li²­ƒm{²aV†9%ÂòHÄeeBoÕ¬0æÚð±gXŸ"/µ8Ÿ7AÎyMŽð·nÝájµ¬›çkÆu=Õ²ÇZ9\îIM¹€Þ²|SiˆoÄ^7SiÄN%CÌh HçLÆT‰NõmÊ•tìwç}Ô+ÑðCÒf¸¨>Ï©AhB®Ueƒêàfõ‘r1Kn´ÐAѬe×½RJ¸ÍÉV“Æ øØÛÄœ½¦­Ï4wçTè]m/¢…æÚËY׊>Ÿš4D¿ Þt–©m[§CR«cÜ“™È^Ä‚†»0SéõïïŽXcPet¤i“@ln¬¶òƬÙÖ/TvAÀE­@­Òä÷¤Äå™Dï½Rz%³v ­%›Ûª&`BHJ(—l¢u%OÏÓ°Ùc\Ì7Äî7P×lG0ꯈ2–¼ƒÖF‚÷êèBqÖ^„ègÇMøÿ¼muvnºy•¬ñA? í,µør7+?û3kV¸¢ŒïÜR,×Eƒ÷&žAEžN! «Õ-$øÌí³”Ò¨moÅPã¿ûˆ±äšÙMð»Ï_à[`L…óMÇw¾ó.nݸÜmɱcªž–×µr}™ñƒgX«ÛɇŠH¡s…·ïÝbL“éø•ÈõÕ„õJ8N<]Ëœo5Kî^Ë|·Y—‘?üásZKloÒÅ5”F"!¨Ý=FuÃtA¡©É.}1€î­ œuö}·Êe9R\`3ôH-<¿)RÉÆŽ«Ë;"Y.²Úléz-Ö\l|÷»ž.9þëyƽՄäH™ µ=iTØk’ž'¯„¯.„‡/=/®+IÔaú΃»tÝZƒÄCàülEp™×ÔªðaªÄ ^èâŠ\•ù“[S†Lƒ4Ä9½Àº¨L.qB/•Ðt]ápªígOºNQ"o¬2}ŽÂŽQ©ÏÁß  ææofÐå”ȹ°üS^þî`<ø×?ýˆO½bÂÛëÊõ/îóã÷ÖÜ?U÷^áÉËÆo??ðÿ´ãóç;.“ç˜<ÒþâSbÞ7ýR¼DCõ4£okâˆ"Z¢Ó, nkfþ’§Ò tóçŠb š9å|5XµÌú¶ð¢œg°Z±ÆSùk@õ OLŒ?6sûØ gjV†g‚¬¹¿Ó>3 õP,Dßéª|è :\Äi„sNWýÍP'ceÚñµQ LÓbÖÙæ§5u=×’–;º ç¼ ú½'½Á¿tN¯L8e$êÏŠ>@…>x…¦²ð.»8=;'ˆmAJÒDsÜyï5(ÛkL^¸øÞ÷øÃçyyUü;&ÆÖØï ÿïϾ†nà_þÕ}¤)ý?0²Ï÷?8ã¿þši ¬xuq LêÈ+Ò,3­œÅ)à"oµÌ÷·ðËׯyøé¹w÷6_„ŽUò†Ð*ˆ‚³ÀTšYð I§^ur“x®RæÐ®$.'Ç-W‰«Èëv]ù*V¤Ê¬¹«tgR)ÔqK«#_>ú‚Óóž“õš¢6 \é{$êêäõË#¿(LŽÇ¬ÀE„ÞiIÚh¬bG[gž¼Ø«+·‚Duu~P{¾D.w+J5þjÊŠ0:»³ æR“ YðQÊô\ìÓæÕ– g[›Çþ~‘x¨¢ôl]Ù辺f+ú «Fÿ -•à©Ï?âòã¿%Ä#¿øä9Ÿ|v‰ðÃï¼ÏñéȪ‡ýxu,|üøŠ/ïØuýu6À;·à½wV¼ugK?@”Ž;g=Nˆ]eÊ…““À6zªrö<½ç°÷äIè½ð7>à?}Ž/;'Þ¿¿æÎÀz[8=÷\áõEàá“£#ýö?òýÿš:xö‡=ç' „ìbÏnMì;¦¤MšàÍ|PŒA§kݾë ÂzX«¸|Ñ3éz·ZÀg IDAT¼N+¤jdê"Ž}o £ž¯Á›_ yŽ(ËG¤¶eš9>ç³õÆ(SÉyÒFÓÜxNÓ´'j¢¾q®×Y6 , X'àj¢àñ¾[’5z”õB\3¶Ê‹G¹õ­¯™’æ·ÖV ¾£ÚT[gÍÐ趘s4Ó5 "!àÅ>Û-¨„¢ŠCªþZßLûÚ²—£NnpŠ,©U'W"H쨤*+ŠÕ©“듳sÇ«îš:‰Ûa$ÙZêêxàd8£ÑˆÁ!¦q¤áðR˜\ãôÖ)W¯®Då¦QÁÈÓ”‰^5^{w$ t®§I@jUmRÕ"Q’ê´Äœ¿Áy…NÅë0£9ĵ4T.¦ö$«~Å“Ç_QÓ„ïzI›Ëê5çqÝQ.w£žd-®3픳¢;=wrušè ºÞ›R%»-׊3¼KßEÖ}ádå_9gô6V]dJÙÖˆz¯å–()!«5Í5^ÝžÙžXƒyçÒÔQ±â®©ìâj—èW®YçP‹âdÞ?Ïùº3§iáS‹Ú™kqVìíö¨­8w“Ü®L(³wš#HŒ€êLÔ-VÌ‘/Ç’q£í¸µ“óHì㔉'OGb§®±JtªÖ8c*Þ¬ÃmatMÓH *|êˆÑ^${1j.jÒÝx7èÅQöX¨DmŨM]‹~¾”¦AÆØ¨¸ºF®j©Íåš8º à ´©ÒLÛ“³~yOm;íþœÐŠrÄœ¯¤”±·1³Ži¦‹@äªFJ&d~™”i8·jµf|Jiaw‰7ònÑÌGÿ eq¥p“ÙtÔ:k½e‚tÝÆ\dª¥sµ0¯é†*¯/^p§{À_ÿä/ùø÷¿£ÕÊäàrŸÕ[ŽH(Ü¿{äƒo¾ËþuaJ¹sL×—®øâÙþõ÷9[9Z V gªJ†Á¯¸ww…•íj ë")OˆëÉ­r9©ë´ä]Oªjeþ`ë¸n×<þòöÃ[ô'çÄ|AÍ‘2äÙ­é<» ¯vG®’jÚz׸;è3øìjd$è{+»ÃăÓ@ïuRy½¢$|l4ç4˜X„I ûTÙ§×taq‡øø³Lð•u§ ¼LOqê¸Ê±D..÷ÄíZ…¤f¨Xõgüà‡ß0g˜æ€§>¬)ÕრM[3Á¸xU)†i1Ý%^‹à µ 1öLã¤$cïIÓDõN™X¢6ð9gÎymF†0P̶]«:5Ž\]kŠ Pýd«•V4T[hººðžÐSN”V覗<úøÿħW|ú,ñ³_<&ûÊ7nŸñýï{B=°ê û²æ·¯øÃW×ì/'º~Í7ÞZñí÷"?¸·a»„&tÃDz†uFúÌú$° ŽÖP"$Š$Öë5M oݺ͓^¼Ú3åÂöDø›?ßRwžM±½€ëyy|ÂjsÆy/l¾Ýq÷­>~Â_|ÄðŸ°éoQì]*ã/MŒòŽ2—Zèä’oŒG¶h¦jMOÂjø¼§ËO-Ô0èãÎ]«¡X&¬ésðšz¼h¾cÉù>jš ‘W­Œ·¨‘ZÕI§Óû¢…µ­#ƒ‡š2‰Š”G¢kQߊѮÕ(”hš)t²´Þ¬9&.._3ì.9=Ûpq±#:¦zü‚ý˜ ¤v(jNõðj,ð&ÁLU›_f§£mVzÓ­,cÒ ͜ۈèç'*‡©µÝàfæ¬`i¬V[v—¯‰[=·tà Éâ«aÐ \ßq<ìé|$t‡ËÑ9VëñÂùÙ /¯ð12ëÕÆòö£¡RÊH1Àv×÷jN)&‘q³Ù¡zËëT#ÄœÝéƒlŠh³Þ\1:€[ â X¯7¼ÿ÷‰>²®Æ+K 1$FS¶×vsÂn÷\yŒÇƒ®þœÆÎYõ޵Vº°Â‡£Å³i*J«ÕáBk™èz*ž1 ï§Û «¾']ï5AÆè2g;oîU^)ªÿ ÎãqÔæ™¦=®9sÖzÍr5íZì#CŒ„õöœý1Óû‘Fìz=ÔZ:‹ah†)¸ØÙWtí÷ëªÅ»cÞØ8ºÍ++ç–øWÜÿGÖ{4Y’¥éyÏQî~Uh•:Ke‰®V#º1 È$†*4šaË5ÿÿ—\ÒŒä‚ W¤h$ˆŒîÕ]]¢K§™¡ã w?Š‹ïÜ›=ÆE[«ªÊ̈îç|ßû>Q¾G²ÍÍ )bLÆ\N£Q‚ƒÎ*9Hh ]¢ $0j‰ü_¾Ê%ÝŸå)—s¶¸ë¤ªŽv¥¢ Qr$©´üBiê(Y™þx""fMȇÏ‹JQvùƬÐ9 ˜U´_Z´*&ÚýÅÕõï¡R wU fòµKdÕÉ×#¬|"oÕ«œFUIX¤Ba5”Ñ®€ÜLɶh­WíÎå¿´èëÒcX×im.AäHÒêïy&W¨T /³ªwK¶ügÁZ*zÚÅ”f¼ÆtzJLéÕ •:f­±Ìæž{žŸ²èna*èºDm:~toû_1 ic ]O ½²ìll“™bŒ¬ÒБ¤¡íX› ±VÖX“„;/g rÎÌ2œÍ2ZWôy¾ºÑÊ+ÀóÉã³ËNZrŒ2åÌJez/YÅEŠœw‹E`ž™ÈÈÀncÐUÅÙI¦O “=ÖT\\ÍHkë 5ÉÎ Uܼ6aP×ÔM%“FmYÌ[¾üò’ß¹‹Î™¦É|þ«S¾~1å÷ÿ½},–”4^7ø¬¨r$õ=:v´S‡W“Å!–|‡¶–Ћm@J W^‘u]¦Ob80¬¼ÌbÈ„òHIr Ëìeº²ÞV%Z¤5É6i+)¥´L²C¦O‘ÚTP$äÒ” ¿.Œ/+VÊm¤í£ÆhƒÏã YW\>ø »¸‚jÈŸýâcÎcÀ©Š·oMhÏ=k[CŽ®—Eņ6øœX›LHºâääœõƒs›ãqÃôª¥vÃ_óæ–z}Y;*%yÞœbÉe’J8íV-Vc,„Nà©„’˜Ð(UÊÐ…LU JTÆÑõ‘lŒL²´)ùbS2½2‰IÅb’RkËE]Þ1t]ãƒlެs¢Lª-Jgºy‹±²ÂSÖà &$l]aÌ.»•—6¥ÌôbÆæÞ&1j(9Ä>¬Ò)grÁHÁÉÊ÷)x,[' _û(XÄêâÛÌ—‚’¾%1†uBq5¢´Ãº!!{Œù{CL¨jDôâ†M±¬{‰ X£—‚Dfíb¥®1%ã…ËDVºà&d›R;GWÂúÍÀÒyÑz©ÄŠõfµ#»\|™¼]vÌdû֔ܧ,® Å=*¶™vJ[4ë„ÍÁcL-/EkÈl%ˆß >Þ:j[ÉwîKÊ”à|a¡Dé˺H³2MI’‘JQöþF)låJø]2•5hµi„L«dE‹u2YEÈQ„‘Ú£³ìiû$.,)Éb4JZPIa“"ÈZ±*+¬f…lH%ø)·8¹qHsª*6U8>‘„Ó¢ ¬-¦€Êº 4a¹ŠCIåù³™BfÍ9bL…O¾¸¸d²Qug$ZTá´Pf—îÀ…Iãœ`åð¨•@ ³^íËAø^Ù”GÖb³¢wŽa¼³žxvö‚W~йgÑÁ´]KM÷¼÷´QÖzC#ÔêŒa#»£]4¥5—AáÖ¶®ó_ýÁrãæ€µ­ *á!õ.®z.O—‹g G-É*>þò9»×îð[÷naROŸ;¢Ÿ“U…j*¢×ô³ÈŹÁ« „àŸ»Žœ2½îxúô‚[·oBWÖÞ‘ñ r{^Hý  •]~&ÅÉ)‡ÿªª$°ž(8™ÎÖ«iÕkA0”i˜VÔÖÉçÐJô"!ÇÒžräÔËK ÉhV•ÀD¥RÞA‚¾»BåÄ4Ȫ#[Eî¯8|ñ× tÏGŸñô\‘£bsþâ’EÙY~çÃ-Þ{cÀÈ)”øèI¹#«g]àÕÉ)dzÈógsL½ƒ²6ž ³gÔhÆCKe`š//ãÆ°=éÙÞ©©FŠÝºõ†vîé½¥Wkôm«4ÞññG/ùîÙ©LU’Â5c\=¤^±ß’ggìßx‹ÑÚŽü h+9‘œÑ*HI)„Í(j©ÊJ"QÐ,/ ËÍ€–ø•,kÕ¸,íH~P^¢Šª’—q6"…WåÅËAmõ¼0Ÿd¦‹=£°d°Î–U~]é²Ôâ­ÓôAàÇ~SQÒLM¢ 3|Ö…»&YU|ƒ*ª¢ñixçÞ÷yôÕ§ =f²±MÝ8bpø®Céêï](fÕ†¦ø4 •"'›š2uÏ(tUÑ— *,&­Ê*Tvøèé¼°¶R_@ÃÚH#?kröeÓ]. ´•ZT›’ÀIÑŒÇkÌçs&㺯9*º™F¢2¿–M]'k± µÑû@ÝXf¾—¿ÖX7w7°(£ Õº") 132=woY¾ýV¸AZAì;œÑØF3ÕL§S.-u]‘ƒÜšc ¨Ð³È‰Ep¾E…‹ÈE¸œgH€µ=]†˜-#Y«3§³È‹·&6ëŠWóÔ€jsȵ÷ßçÎoÜ!iÀLyôÍS.fsb¸Ú18Ö×Fìíî³ë:[ë¢æ'ätÅ7wß»¢JsÉáÄˆŠ E ½²¼<îùê¸cwäA^›•Å@+…Òãõmº˜è‹òF¡¨›‹ˆq•ÈßS"ëTVv¬BÑòòYº#•¶ø2ɨj ±/SL#ŸŠJ‹¨[…DÖ){ªTV\Ê€ƒˆ%†K”m9ãÊ”#Ä–îꌫÙÓ³'ôó9!zbŒÔµç§„ãŽbâã/_²ð rà`Ç`lÏ/?›óóoÏ©µewÓñ“öy{_Sµ;|öt®aÞÃ_ðÝ‹K.ÛȢ͌š†½K6š ..ÎØZ[3 ‘¾Í«,ÍÌGΧ‰ož¶ kÍ 1lofÖÖ¨®¥vš™†Ç/[>}pÅ4Xªf@?Ÿ3¬-£fuZ5è¾#ù#ž?~Àîþ?b²÷}ðÂRš¬,Â).¼BÍp´Z+%LY½¶,üzsP)Yñç~­@Tp#qià–÷QÂéårJ)ê¤äÅñX&_¦î–OyÇ•Bª[!'YQÔFÌ‚¯)Ø–QWÖÌ^øˆQ¸…Y Ñ¢Ø?¸I­ß|ùs’³Ü¼q›á`ƒ¾îâ2›"{Ⱥ4³ø“R¨%D9yZ²-(kDî5-ܪ¢ŠSyãªJ¦ª" Å™>B]WDïA ¥?))xù”±Åu—µ¡m[Ö×31ÈMËù–ùù”ÑîXZ9dµÅä¥`±h±ãФÅIC$ùL IÀ³V£Œ¦²†ØÜŽ’’•d—yZ¡¤Xû¦(\rZiœär‹1D˜Š JŠ˜<ÎÉç/æDî[Ú‹3¶öè{އ¼:Qmñ©'ö=ggÇ=}ÁfÎ(18#dãÑÓUVäõÊ ï{r~YÒþuN¨JHÄ^Mä$Ö9+ X×Z™šZ7Ž^¡h]2Ç(*夅J¤2Œ¶ ‰v>+ŸAÔ51E¹ð¥„ÅÓä`Œ•qqÖŒ´=R\’ØÙiaG+Æi$üh– À8'#«3¥H%Gâû¥¬„( ·*ÅH =U=Àw lUU,#:аRcuÉØÅ%Ê.¯¤ÐÆRç±Y_Z£Q¥µècXqrÄ¥W-šœD…2T.#Àœ¨jJÖc9DÖj¦TÔÛ¾¥*DEB+W„¹‹d°~[Büra`ŤPD\öäÅ9s·ÅÀ5d1P9M¦{ìÚ l-E^eÖTa ©Ü[æ¼$ê!õåÿ—°¾Õ®¬¡âêá+‡£X*¦„Ü…2£<CJ¸öB¦ò×…•Àúu½YÁÕe")Hž¦m§ø”iç3\5•äx›ª6¼óæG¿z„³ŽWÇßâãøöPóòëGĘùÝÉ ;ⳇ§|ñõs>1í"®2œdÅÿóG¯øÏþùur«hŒÃÒòæÍ¾»dÐL)½§r[Y_2{yÉñÙï¼q——G§x]ޤó¶åjáy~rÅÙ´­ñ9S¾‹Ì»L[Z]•êygÂÎÈòùËŽó˜¨ÛŽ­gcgsí.Öz‹žÿûO?¢rCàüÂ25’‡©m…µ‰Ê¼d`¿cc­âÎík|ï‡÷Xß|ƒŸþG»„ËcŽ¿ûj¨–9©›ÑzE²cŽÎ3z˜¨L*~8ù)0®†\]œPٛľãjX[3˜$ ©Xò”h-Ù—Ri_5ÌrQM¤(dm]~NäA-/~S„Å$!qKÄÅ`úW5tE0œcĆ­g3À‡žÆ˜NŸsùê>Ï_>ãüìbv*SÕÖÖÒxžWÇI}àÓ/8ó"V[ÃÉbÆýÕ%'g†á sïVÃÞÛa§i±z[ÑwhŸuüå/yúò’yN4õ[ÕDèçWt³È­ƒmî8nݽI])b¸d21éÛŽ‹éŒé¼åâüŠÙ"òô8`´ÇÙÚx¶7†¤a‹WSÚyBëŽïß[ã½ÛÞ~sƒÐrTëT g-/.ÿ„î¸Çm¿2Tè±™|†œå6.%i:[•ÃU–fSÊ«²KÊ+vKù®-ã K¦\Ú´1„ãcuqúBHeš©:œ%RZZUÿe°ÅÇÃR*­±º’ ¤°ä%™<•«i}1Ž”ƒLŠÍ#$áVÅì%XMÀ)ÇÎþ ž>¾Ïx4äÕ³—Ü~kRžá¯§ö=‘sÂD•Yñ¼J9[¶Ú¸T7(kQ tJh'!yYuŠݔ”5]h±Jч9Æ ÊôP@¡òö’K>Å«ëŒäåòkhššÙü«‡rás§ èç=ÊLeHV:ᚥ¬ð³×8tå½üšUmñç~Ö O"‡„Õ–ùb³’•5f9Ù‘ì].Ò%ëÑêB•/Òí%ù^¼eåç=‡\I8Z%zsÿþ·Lvv˜Œ7XøK†Í€;RNßòìéSæ—WŒ†™~Ñ‘\E Y6@eõ·Ì«QšüàÊ{æµyE)ð¡ÇêæuÙ&)]„ jF‡@edú+GeÙ'‰”M9Ã”Ž¬µÅI¹4 )M…XðÒ†tV­r£6ô=Fès¦Ç£#´1 ’ÆMðˆêE¦ýø>¬ê©J)Y#(-™­”0IÑk…rí"á*A“â-ŽâCvº¾ï@9bȤ0/¡A#Ó³6’lÆU–ÔwrrÎ[ Š ­ˆÐW[b†ÊjÈ^ÆžÖbŠŒ7óSÄÙš®—‰†JŸ©8Ö¬–lGŒAT ¥Í%7C½rö9ך´P|S¬QFòa(ÑE(åPº0mR”L™”³$}ë_z›ò˜eÀ<\ND-äö¨YÞŸVãs%qhYºuŽI¦r%]ôW€Fõºá³|è,…»K¦Õòã\¸`(rÒ†+ù˜%'Kë"¾-¿ÉU6+tqŒ-s_ÉfTt‹ Ÿ>$…ŽzÍ2X¢[C¹1FŸR)A˜jÀöú„ÓÙ!;‡™Løù/ϰƒK¿\pÚ+Æ ¼}m‡Å´ç¸ŸòÝ‹3î?¾É»·šHÖ–F'î½±u¹8Õ¬R &5QGŽÎ[ÞÕ`kG=åëûÆ;w¾äïÝåÚöÛ\{ã78þ%ùôk2çªælßö¤Ô *xú%?•3¬oŒñ}OU7\>a¨ . 2³¹z-$ÏÂßR«ŸYKì½0_4¨Ë÷8€Q8eèÊ¡Zne bDÇ.Ñ›„Ž¢'âI©%rΊ@J–g¿àÁwŸð«O>âlÑ‘”aPW ›34Œ&ëlnlrEžû3<¹âÅñ¯˜¨xq–Ð]`·â·ßÝåî~Ín£QÑÐ[M»H¤ºâë‡güâó3žÏzœi¨lfg}ÀöVÅîÆ„µ‘¡TÜØ›pc§b{#P5 g×1:чÆ5›[#ÚEC¼µÇåTJ8)Kf#ÆšÙ<’»sn\«Ñ鈭5Ëí-Ç®ÓØNSW5µ ,æ3ÚÅ‚µMÇ`8àååß2]hX{S ËÈË„©ï$?”2ÓÙ‚fÐà£D¤U\*ç¹èI´•ƒW’¬±BYã™RR2«¦« í½øTsÄŠ@YDÁÒO^ælËZ2ftÑ‚9[bOålam©µ H®¬´ÈëCZ6¾mi€ÇR²2GáÍ •;§([‹¤ØÞ»M»ð¸>KN“Zr9%¬ŸK“z¹ÉI‘³—µe,¥-1 ]Ö>Š¥v†7’ë%IÛOÌ–.d¬±TåÅg²"Ä€s¢KÒ6Æ[9ãŠ`:®Öj)I„âùó¼ùæÛt|_1‰¤ ¹OŇ+ïã,ɇU~«½jl9”Õ¢DK ktY¥ t;GhÛVremWÐHK•ðå´Ñ"t/+Õ”ÚV%K,Ù窪é»ck4š6L¥©¡ø>{€å­{ï`ªŠªjèâ‚ÆÚ9jž>D7Ÿ š£ ERÎiÈÊÏKn4¤De ¡Jå= [R 2$*Œ8¥ JË0Fª3dzKMc+”X%m̤ä mç¥2);q§24|[V=•uåå.¾@ |'ÐBß–à™Œ”ÅÏA äN¦W™ÖBƒºB÷ÖRN,ÍGùsEdk´¡L]§$ ÂŒ“‡…FXÎQnˆY`zZ;BŒò`(7»Ú(|ï!µ¸«côæ”^¯I0Ýȯï”0§BN$-!¥Ì¯…Òu™ž™ÈÏZ-ëÈàËÔ¨d[ôò„h¿üšèד±œùµœ‚<\ªj„÷"¹1Z¹Z–™Y€ ¢ìç“ðX–«)6{æ‹)ççÇäÊúˆO‘¾óll0³ U¥UCfÉ3›Ï˜ÅĽÛ[ŒŒ#ÅÏŽ|ùä”ÔGÞ¼¹É?ûýwi»Ì—÷Ïøå¯ò³Ÿ?¤©6¹{cèp®ï[mG ’E©•ÂéÄ ™0Üs5÷,S†ãç§-³yÇ«iÏôr Yq°5Á9ùZ…—3†µf\Y] *¸ì¡‘lkF \¤Þ‹vû6ô=íÑS¦§'Dïyï'?`R xuü?¼Á¿üoÿþ‡ÿþ¿ãçü7Ì.;NO.55û{ÛÜ{ï—sÍß}ò”—/[~øãwoÞ`rã‡hóÏžœóWy.óA IDATßÎ9™¶¤4!Wš¾ór+Ë¢YR±CV\¿uŒæÕ«3²Ùçlª9½¨QµÐqsQ”,³~K`.uíÊ9Y»”±‡Ñ¢ìð}'­/:ŸE¨J³V9%/%ß»)µúÏ9¹¸äèeàôâ’¤FÌæ™/¿þˆnÞáêšqEßw„yõòŸ-k“ ôþzÍ ¹`:”. ÃE謗'VÉ …ÔË™¼ð t¥ÈÆ ##ÈÍÇROÖ Ç‚1s¼¡M-Œ¥’Y“¬ð놥seŠ)^à•ùu;e -´l Ÿ&TÀ™¡dìÈr0&¬09/CóçÁ÷dDcÐ÷Z}”Ûk*Ø ‘(Ê÷'øƒ…³V.Zòj…Ö–k×nqøâ3•±ÝŒ­Á:½_ú–ýƒ1ïuš/r6]ðoþèþÙð.Ûë=YY~ôÁ„Wç3^\vl6Cgs¨ˆ]`s}ÂZó.mžó§uɯ6/¸ssƒï:É–Í{ºè±•’MÝÄÆd«‹çL§3nÝØãj1gv6ã|Þ’¢fo£b}}Ì"fNÎÎ™Íæ8kØX3r¼Š0C±èãJ3t ¼ÁE®ˆqNxõŒ«—/éBb½òäÁ+îýûÿ%×®ñÕ/OhÏ[nìÜâ—æ#RÃû"%TÈüÓ ! øèˆ¯qøê/ù­½ÍoýäGLÞ£}ö9TÛh{Fçg8,*;Pž+ƒuyç„q†‹‹Û×pÍ”<í0Õ˜.IãÓ)_âŒØÊZ@—|Ÿ)Î5y¹+|òh9kŒn¨Ëñ씵õ5¬WD]¨ÉZÓõ‘ª»`Â74ãc~ñ7Oøø«G|õð‚3>÷T LS3šT¬¯>xkÈš‰hSqÑzþæó9íyÏx½â`½c£ò<~uÅ'_2ˆv(öÇ–üÛ÷¸¶Q³1l±Y‚ð1jÎ|âï¾:æ_ž0}¡QO\Ãͻܻ5d}¬ +tˆxY„L¯í41mOèžÔ˜íÛTµakÝ U \áêšñÀ‘}‡r™Ì‚ÑÈÉ—€Ö=[Ûg‡èÝuúÅÝ^âg/‰C ßy>ÿî«Þ¢ÕÃF3Uìï|†\â6~B2ë(óÙ£ñÊXZ–ê*KLQVlIÜF¦“’ç¹5UAܤÒ4.ë—”¤!"ч’zÚ¬ƒÂ'™—$yE¢®LYRÿ xÜdE&+Y9Ë6Ù¬ ÖU¤$nëäšË’o‰ÑÚbt\îŠEŽeYt®ëZ‚ñD¦³£á°øcSyV‡²Éì‘ÊJs‘Ò$kɰ™œQº‘ •<) Õ*Ñ?IÄL7¤Å.|$m A¦æfyéJ·dUí2›UÂã¶·nòòø1{or¢®ä`QÙš”%cjùut”ÂC.ù9MU•ŠªvrIÅÔQ“CÄ>K a¹‘PÊ•¢°0M™T ®ÇÒõF[’ ô)JŽ7/›óš³‹cBèdmí)fçÄùñ+F›»ønFÛÏV<ÅÓÓ—„yK×{jmð’M"a‹Ó¢Ça¢å±FÐ9&²²„,ø§¬-³VÄô!gÉg¥L]U(Û±èK Ö8ºYæèdÎÖΫáÙÑ“AÏx<$‘9|qÎÅUÇæFMŽ ¦sOèKr™·î;œ5ÒZWUɧÊ{ÔžÍPz‚ÒY^¦É$Ñ©’§É«plðeM™F–‡Ï¢7A¦]¶*¯ÿ$·T]I 0-ÛfK¢ºBÄ'™‚«WŸÖÉôÉ8GJ=uUÑ÷=ny ×%ו-•É(d-—ƒÇê àŒ‹)„cãªróÈd08©€«¥Ÿ/Hp= »d9­"æ_ÊZùfª¼dCÉ Ì§Hå*q‡%ÉÅàéçSêQõT-ƒ º:b;ÇŒ½z„·{ÄÜa­“Vcø”©°šdÊTFá«LƒäÖtá–)mÊïÁ‹Í[)´)àl$«ìÒS¦Üè^ÿùR–ƒs×ù’•“Ñ>YËÒ•Œ‡‘¶éÒAå½/ãô\2\ò@NÑ—‘¸ ;¬©qÚÅ‚¾» Œí‚Ùb†8" c¹wwÂýG,læÙÑü_ò/ÿù=!ïiÞ¹³ÁÙ¬ãç_|ËþÍ?þpÕ'&ë–~ &ËsÅ·Ïg¨!ôl¯ðøé¶w7˜¬opy1—ϲ‘ÏWN¢ ­äDlñà%Ùû¬ðØr«ui!%@W‘³‹–ÉXÂÖA%èf¼:~„MñäœÑ)}Îÿø¿|Ã'¿zÌÔGbÊŒ´Æ -ÕxÄphxë¼µµ U"xM4Ó«m«¸¾Ûð{?Þf\žœw|òÅ%ó^ÄÃ#“¹s°Éûo¬qs;aô9ÄÖfÚÎ:Í_üâ_>]0 ‰LKUU¬†¼ýæwnn°ÝH»®k3ÎdæSÏÉeÇñ匫Ù1ÎX¶ÇëܼØ+v6YøS®Z‡¿PôqNçô‚P´±’—0R2N¦e£aÃÖfÍdm“4ïyv9ç“ï.øîÉ”¹7Ôƒ•ÓL»ÌÑÙœ§‡ŽÝ#ìðß²µù>ë[7iêJêêJ‹-8œ²‘ B'HmÊZ0–˜ åò¤W '™d镯OV5Ë©ˆÐûãÊË£* SV– S¦Ý!D¬D@×Ï„áWÄ49 à2g 㿦ý—µ]ŠrU†µÍž>fkwŽuÄ>f *“#š¥$—v›´èR(y6#­Nc4q r]Ú´„ÕÛ¾Ç9W¦5²A‘Õº<›ÕR˜¹Ê£©òûÏÅìaËv(Aß—¯imI¦&ø–ÐÍp£uúE‹³! _ªŠ :/@­è³4.MŠ[x_d’B÷ƒ!v2•‘gw¿‚Kc(¢pu/+¯dI±Ç:Ñ« K=ùléèyuò”«Ë.c$9äð›ø¼úù¯°µÅÕ–~1'Åž¾]puyŠo;bð¡ë:#4w­¥ ã¬^•9¬“,ZTã,A¥Â*³´­´ôcÌTˆœ•éú9©…”4­_àl…Ï=§ç™Ó³YAŸ4gg=ÆœK<ÉÁ2ÄÄt™^Í5ÒrÍʈKÓÉÄ6”÷²Òâo ÁcþÓÿø_ü0g‹²5Ù¡ÔjñÎY½l I-8ǼšD¡ä¼\¢R¸´[e|¤ª«2¶+!BtaŽd´²«dΑX rÑ—”0 [Yb)Š3"qTÙcHè¬È±ic Ƕ8±b™Îqêä€TèôÚˆ y©¥QÚ•p¬#µZ¢’<<È«‘ï’,-¹×„`Q 2üÙ ÜÚZÕ%ü®¤Erñˆpöí´åî­]ŽôM\UZ6Ù‘r¿Ê2¡–v{÷¥J ®XKT bÂYä”1JÖ˜J…Uý؈E㣴xßr©´x´^;—½ÑNjÚÈAZ@lnÅÃZ®V5kc‹6¢LCµáäô„Ñh„_ÌðýS[†ã-&åå³ܺ¶Æ£g/™Ïa8iQ³½æ¸³o©è°kC¾ytÅlùö›CºÞòÍý#ªj‡ÆvlºŽóiàùY¤cÀá«æSÃÁÞ&9wÄÞ3½òÄ,Ùµºy5í¸¶9d}£³ã+œ3ØÚðìÅMcØÙ³>j0*£TÄûÌ¢S´1­bÍÖ o¼Éñ`BôsŽ¿üUßáU½„1XTœÌ§‡B×Nžo¿úœãG÷Y°ÍˆÁ¨ÁhÍÁšãÎþÎ*ÆÕ&¾úæˆÅì’½ƒ!æfm2âø´aÑõ(»äUòõW†ÉxÂæÖ&wÞ¼Íx8áää„ÝÝM²‚Å\ GÖe…^Ég†œVY9€RìhjCÔž–Lô=V+|ºÏ ~É0~…‰xòø!ß|ûsúÅ)7×O¹µ7#´Sþçÿõ ~öé.g’#X‡k,ÃÉÛcÍ÷oX>¸%h‹‡‡Ÿ>:áë§sŽŽZîÝžð~´ÉZ=ä¤õüåÇǼ8¾¢h6š¿ÿ;os}[qc­Z¡çtùüpÊ_||ăÃÀ”@BQiËõ½?úð€[{C6F›aÞ+ÚèyôbΗߞpxézoÜóÎ[CvwF¼8¹âWßœpørÀÙ…£ï ˤÑÜÜrû`Âcn8nìØÞ2Xœkˆ½åô圗/§‹1E#(9ä$_s¥æ¿øOþÅ•©%´æ*2b´ÖZVe VS+cMáM1s%M޾4Ž Ë(b ß¹²ÏΫv·ÆÕUù&1k!k­‹D1É4)&´Ñ¢uÙ\‹ðÙ9ñÅÐË>ß{Ò2ÔV. %y™¬PZ‚íË:eL‹Û3%§Àªåâlµjî Ý·¬#sÑåDVâµÊIT2ÊØU€R•Ú*¥I£â‚|ôfs¥kùgkΑtñùø³®ekkDWo‘Ì«eÅIVÕº…Óêa'+½Tn%“VWºƒ)¡å×_Àv¶LÕj¨‘6X¦Œ³ÕR¬åPÈK5ö=•ÓÅæN™&ÆÒûµÖÐ2ÏâÊ/—úÒ‰„õ`@=hxøÝ§ô)±½³ÃÀœÓ¼:|ÊÐÁïþäMêZóüè’zÒàbÃoÿxDmt9ñ탞ټŇÀáqËÙ<óòå» Ží}íM3$,Oôó övGl­+Èhð½Àë’†'/ÎË›4uͳ“ ‹žE !rã`‹Æ**«H¦&©Ÿ4 ïY„HT†õÁ„xó“Å‚ùÃû¤Þ³³¾Î­ý›(+Vø”5*F×ßÃ6 àí·÷ùø£¿æüÕ[U%kÑ„J+¾ÿVÅ=GDóÍÃðÖ÷8`•Ä r‘ë.“?ªdbUŠ«æ“ZJØbZR–KÚ²,ƒTP;¦0c©î+‰PhÓ¦àNâêù$ͲT.¬¯·J)R)ÐÈE0³*ý-Õ;XyáåŒsnu@&Ti«!`ëŠËWÇÌü‚í­ÉúšFâ V£u.—¿O¡(à$*aŠp|™–pºäyr–°½D-$Óe¬-Z Î/OË»1jµ4¶^•dÒ(™PkEè­”FGM20p —'ÔµÁÕ5>Êš7f™æ)+¯Ê È»²X7¥hŸPA$Ä„$¸ïË×Á–ÍCÑÃ%Ó,mVÓJ£d’•2˜Øsvñ‚o¾û„ÃÇtíÃQÃúÚèÌѳû¼õáû¸YO5¨Ø¹v‹G`¡ïijËl~Eß^qzø‚³ósô2ª£4£QCÝhÆ“W—ï­Ö¸Ú gSPòl²íÀÕÒh´Ö°h{bèx.ïOç¾äÁÆc%‡I£pËþõëÜ~ë]†ëÛW¡Œ¢›÷h£©]qü"—¬² #Jwù QÖ“Y)¬Fj\y M2X¾ŒUùßU õåÒ>A9TË)Gi’ÈÓ{qôÉFQξëQFaœAE ¿šÂóHH>ćThæÂM‰!QÕµöb*?€ Œ¬ªúdW¿?k$gÊl*¬x£rêD`ÀÉVpˊ.%•W$•J‰Ù8a¢ä%)KéÒ:ô‚C@¯¨ÅZõøÓW ö·I©—m¶¤Ù%¡@àù£Ç¬¿ËK½/ ¿1T«V.7ʤ/¤ ÓÅ#©,ÎÖôý§-Y›Ò ”ẶBÂYY,º8 —ÿKN2ÑqʯàÚZT(žO=Ö4ô¡GGÊÔ@¦q˰žNÅLžK(µhs´%-=)xž>½ÏÅtÆîÞ¾óô*bŽý7˜]0L˜w7L4z³“3Ö¶6©œ§ë!kl²"€/å ´üÌË7•F[Ež?`˜¾ ®çŒkY}ÔƒšJ'N/3O^d|¼âÆ8±Û,8~xÎÇ.ø‹¿}Èb‘Q*0¬±¶î¨«ŠwnxwÛ’uàñ«žO¾áë1I'ÞÜsïÆˆ[šÙ<ã“çÕù%_|ñˆ »›#>¼7!NÏ1µß ¬¡w–¿üâ_?œr2•~ò’ŸØ7®5¼ÿö&»Cm°UÅáÑ”o¾<â¢Õ4CÃÞ°aïZÃÎz…).WxrxÁŸÿõ²ÊÜÚßáþà&׬q‰ó5fÑL¸˜wĹaÑ-¤]>ΤɗõÐPÃí½†ƒÍ–ù,òÍó†óÖü›;¬=Ê÷„àIf²¡øñ» oߵܹ¹Æß}2弋¾x½µmЉX&Vr[7ÖëCŠ¿«%vQ-ùA¯/o!xt¹ ÇàÈIA¯”§^Ì«]YÞ)*-«™r¹rp‰Ä(í혓<-u)ÿ”Õ¤s–зdcWæ ­$òº€óšÑ•–¬¿$“¥5¾ë‹$í[Ëèàúî?ýBÕP¼ZÞiK©H*ÁyÑé÷*z…ÊK sy¯¤$ÐÊÎ ÐRÚÕù£$z!mê­ÌY&rhÉŸeñÓ¦èq–²bµå’/KŠ^Êj‹/L³y;ÃFbbðž’ž§Xy¾·rPMY‘­œ±è º±à½Ô… |Xg_OÒ$䟈«8JíjúÈZ¦r³‹#|ûWóc¶Ö¶ØÝß_]è#‰AÝðƒïýˆ·~ø!ñ'?åðþC8ìÖ:uÓÐ kR†m5æäð‚­Ým´“wBïEçÕ¨„R=n0 [´ M-!'9Ú¾÷„(„ö˜Â ÍgÌÎO¨‡AeB®YX?M•!‚±µØ6†cÞº÷o¾s3Þ !XßÎi/O¸ÿõ—˜Üá\f<ÙÄýâR`È˼Zè¤@`,¶ÒrÖk*G Òˆ"LU㘃±È¥ IýýñoðAöŒ)HÒ_—r®–¶¡*Žbé$…„àE²„å²ä´Ð2Š”ë$2+£G”.Äc'8ÄàC.õÿŒAĺ¶ªÉ¾G'’¢%\‰u¨, 7c-$Ñ ¥ÉɇlÑ÷ÔõP‚JË‹¥@3e[uÅ©C*Hù0ÆåŸ7 'FÂ…%+:T4d L_Ю@= ¦N ÝÞTïÕË—\ŸbÔ5ÒÚ:&7h Q­òVJËóR¤©s€(_GÑûh©ÿ¦PÜr²&äJä™e]šPhE)µ Ä–©bÊ4ýŒ¹lED"C4ŸAU‘ú^˜Y*“³8"ÅX/»}…„B‘r =];çää9|Åh8aÑÎY_[;ºÊ4UÃÙtA2ÛjÓÑ.*¦nħŸEö×±V÷üÓŸîñï~ Ï_\Rfè*~ø½ ndeb¦UNdåycÏáSC»ÈdÕ3iÈsöv6¹ÿü9N6¯osôÍ_<ˆü“ßx—ñù ?øàMþögßÑ…Ì Æ4Ü}ó=~ðãߤΉJ÷DeØï-Övþÿíÿøw<ýüc¶CËØh>¼¾Gň6üøƒw¸œv|üà;[šŸôÇì ·ÙÚÑõŠÈ"*ˆž «è_=]0ÞÜäþó9zûWWŒë·ßýG_}Ç'¿zʇ£šÁ~pï€ù… Ö7×I,èúYÓ-Z°–k·®óíØZ3{ŒM¨°nYÄÞ)KŽ+â±0òÊ˸{ÅâòsŒš3Ù68ÓqøòŠÁÿGÕ›õX–¥çyÏötæsäœYsUWÙƒI€°(‰0 û„¨–iÁ à ÿBI¶%‚”H5Ýì®îš‡œ3"3cŽ8qæ=¬Ák“í‹F‰ªÊ÷^ëûÞ÷yº›|õlÎëÓÓJÑWsvµ¥>³p5ß>¿bVZ<è„n¦h·5x¿Ãv×Qá8x]ñìÈ27ŽüN—w·fÎbn"Âr:Z2.I3ÍýœVîQh sÏÉå’ß>ž3]X–6Å ÀÒÒM5wv;¼÷έAXAx!xö|Ä—Ï.É’„{û-îßî±ÑQx?G ‡%AJÁÙlÆo¿:g6_rko?ý£ûþ%n”0K$y»ÍÙÄryÝa¼Ô [)½gf¨Tâd’œ$,킲,ɳ‹E‚©*ú¹'Ù×\×»Hi+Ë “,›%ºRth“zÇÍMÁüâ³ï ³é1ÕìÒAg=U :žÁ24é\¼m¯¦ÙÎ&RØ(ò<\¬1 ߌ˜—%âV•â¬[·† 1ƒ²šn­­&2b!dÜV†‹/ƒÏ|Ðì‘SØ5&?˜ IDATÄBP"½Ó‡¸‚R‘TŸqyšQÙ *†hZ°Û7÷9<üžétI{§³Qn“a¥·b"J•"ãKÅÌaȳ…öl˜ˆÄÉ¿P±AiqZ‡¿Ï×X+IÓ4nUZMö|´610suÀô8ß9Éúf‚„¦$YJw¸ÁrvU‰À¹è)5 ÔšÓÈT¦:Îá¼À6eˆÇxB$¦ Yå>Å9›á6’Êå:†b…'KÓ Rµçõñ^½øoJÚ½Áåb‰·†¢ÈQ΢šû÷÷)¯/(†»Üyï}´ðµ˜°˜]…)¨‡n¯KíWãeÓ˜¬i˜T)ëð$¡ÉÛmtR`¥#Í$©äYF–¥ÁàÁ6\ãO_°¹wƒ,Õà V*J!I}B§Ý¥Óîâ¼c1°·w‹Íý[”!•MJRÒÝÝã‡[»Y ­µPà*°&ð@µ¤L9ÃͯñghµÚ SÔ_ý¯ÿæç^ht–H * '+²U¤¤€zƒÐ"©|·Ê°ëD^R3Vˆ\í²WaJ©× VmЍÀ†IM¢ß@ÙÖxa‘±½(œEK‰P!œ©œ'I“5ÄÎDd}  Dþ ßÞÅf!³Ñ^#Óªð õ‘9Ø.‚NEÜ{ǯ©J˜ÎF|÷ígdÊ!E–gѵØ'šùå!ÕlÂöF—Ý]Å£ÇGŒÇdGr|¾$oålvZìoÃí[[”3G¢sþÕÿxƒ;;ŽNâi§ñ®-…]'il6*¤vàª&Üʺýi’0º!œ_/˜Í=LÖ%»ÝÑîsz1¡“*:ÛÜzðwuÎé‹Çت"U’Ô{úEAUU\œœÒíöEÆDÐíHr™ašš4MØÙÞàäõ~qJÑÚá´r(Ýbc³Ãáãg8oég ‰öTHŒhq61Œ)­,Á¦9åüšÞöF§ß3,QIAªS²lÉF7e8ø|§M+I0Þ’§9çWt‡m”hqrvÀb ½^¬È"¥©?λ0–÷q}d#Ñ ¦©ÐªáìÙÏq³ z}M*=Æ*fM›ÿþ«ž¼ž1ºnÂÛ; ¹¯h%s<Ÿ~=âtZ!SÅN¿Çûw ~øVŸNn¸œ*¾9˜ðêÒ³Ôí=?z¯Ã»7 ¤[†ßO•S[ƒÌ2>ûö’ÓË ½"ç½·úiM"4ZÁ£ÃŠï^–è΀ÉlÁ¼))iH• µš¾¿Éïl°9d*¥¬ —cÏç_¾¦4ŠvÃ}°Ãv±¤W$è¨ÂN²˜×|ù|Á³Ã76Sþâ_Þ§­Ç°œ“¨„ƒÓ%ÿá₩ä=6¶npc·Åßó,mÅùØqqWW%WËdœ`m )5펦3Ðll †¸87.GK–µ ¡e/‘R“j°•A+ÁlR³¬2ÒnJ’µb;0Ò·'K’Uö>¼H×.¼tm]—Ì¿#^Wí0%Þä‘T| û˜%Zç´$2èQVù©uãpMvðÊ-[i̪)-äšÇçñk@tX¹…ÖŸbh§ªjÅH‡6ŸòhlÜš„;þd2ack36ôBV4´ä“ÐÆv¡=¹BӼɆ…ƬÌÈչк:¼wÞ˜F¢ÑÌÆÄUª Ú4­‚ÅdÕ„TOPjYcÑiŠ16Pñõ*3 Riæ£s¤tÚÀÿ"ÈØe„Ik‚ Úï,¹Ûö`ê:j“b©kõ½µXýùÛ¸Œ—f¤`2¾àËOÿŽª¾$MÝV ¯ËÙœñõˆ4•Œ®Ïyyx@7X/8z}H»×#ën!“%˦¤.gHÛ„Ie’ÐlÐï÷§,æ3ª²¢1!W×ÔãÃDÓ{‰‰8"á%Zep1aJš"Ó”ý[X6’?ù)ƒ[÷èmÝb°yƒ~w‹¼Ó¥»±C«?¤ÕëÑéÈŠÎ{ËeÈ•Çõ¶Êa¤[9…Z¥Ç‘dx|ª*ÉH³ikHÖÝ@d¼NQÿþgý‰PiIÊ 1'"¸R(‰Ž?8^ŠÄám“J‚¸XØÀ÷P!ìeI w#£–Fɵ8ì½=:ÕxcÖ ´0 B¥8"Æß‡Ð=±!'œ@z¨çy†­ª5Ó¥‰rÛð@!üŽAÆà¯/5ÒÂJAÌ$!ÞXÎu d %ú¨|pñAÚ†ÖżѽZ;ÖÔH§pãÜì Á • ¨IÍÿìWᩲ”Ê\Znßè1µ[¥°6¶}bn+DW‰DÂCO ¼38ïP:M7‚Ÿp¬µPרËG0=E·ú¡It¨t†ŠC ¾Þ‘8‡p5ª7äâ›_°{ý-Ö^Òºü†æú¬½C™ôо ‚È òí˜mˆœp KRPί9xñ‚·ßz‹‹ëK„ <oijI…£¿ÆÔs6‡m6[=Þÿä&¯O®¸\+áùÁ˜½Íû7Z ¶¶sö·2ú ;-R¥Ð:TÇ%ððù”³ù—ó’Ñ̳(ƒY}¹œ#DA‘K†ÃÖZÎ/椭”W¯ÎB²±×âì鈭=I··Élº ›&lurd3ãÅ÷9šLÙQ¶!Y6 ¶7ée-þäÏþœï¿ÇÙñ„¬Ñë÷°ËŠÆÔô‡´ºm^Nǘö]òBóãüȶãñ×A+tcèäžÊ'Œg6·¡•'›½ &³9Ÿ|òS®Î_°_`ª’í͸œ½½Œ¬•©Ž)=y^°˜.PIB]Yœu˜ºwz”Ψ«€ØˆÔpã!ßá\ƒ”ž×Ï~G5=a§×&QsÒDðììŠ_üúœ“‹s³%…¿äã»)y‘3Ÿ-pÎsQ9¾úþ'5åøƒ÷6xç^í,/Ç9_,/$­ö€<lŠ÷ïp>–mbáÆë„e“ðóOQÏÞFÎÝœ\J2ððå’‡/¦ÈNÂÕÅ5ËÉ„Ê ‘ÐIoßéóþ»}ŠÔ"dŠqšË…åÓ/^s9®ÈEɲËfáÈóíÁÔšT+0[û;üâ³2iù?y€i ÖÕ\7üÇÿò UÓáþÝnmLÈõ)OŸ¼æþéOŸl²Á²6dyA»× .)YVšé¼ÇÉ©¥\z=ÇÛo¸}§CÖNYÉõuÍdTqu=¡v†¢ÝÂc)ÚŽ‹+ÁõlÎæð&:)Ö/hE¸lZ<˜Š7’ø˜ÎD+0¶ò$‹—¢ð|s‘𾂇U‰Ì¼è)]]¨í Å¢ÖÓ )%ÒZltSj­"!z ôJ®'8aò¦E + ‰‚äÕeSFHpL ‡wQt¸šº&KçQyÆÉË:Ã!EÞ¢©”J×~UÑ ë‹?><Âb68è}Â×ÊÅ¢õ鉙ŸÐ"s¨²À’ ªŽ4✠ds©ÓàRÌÒ0Õw6àb]ÄI—·á6!,eY‚w-$DtCÇn˜ö™ÐÚ,¬ ÿ¼³a­i¼â“Àº˜}#ÎÄ:‹† ø/¿ÿœåôE·ƒõ‚ªª°Þ1›ŒqÎr=¾âòäˆöæ.—G¯èlÝæèäéÃmDÚ Ÿk¨fÓ°ýª ËåŒÉlJ§Ûeww›ØºÍï¿gq~ÆÞ­ÛX)ð2\0›e|ÆÐ<•xS3›ÍÂ@"tÙB’&)š6·úI¦ ‹ðŽ!&œ§E¥¤Gýûóo?1>(‚FGÜ|œâ¬!jáÿ uIá-©ÖaݤÂ)ÚY‹T>0ª´ZŸÜ•T¡Á'lNÅv‰ÒAmêˆH06:óÂäA'‘ÐÚ˜¸£Ž«Aa#/+¸¿4ï IU8‘':˜ÎãAA‰€ð‘cå•Ɔ_lÒ™&ìÓW­ÀuvȇÃaôf ¢†Þ­Èì&ÊQ=‰­@+¬7ÑÄr_ÎT¨é1r9c:=C ‰ím£f§—ßà…äÊkTš1º¸`§ßÂ&Ý ­;Ô:áÁ2N–pD·— ¿ÜRɘsá NxR­¨Ï_±øþoI^þfsÊÍÛ$"W!|òá—(·Ä-ÏQËS„RŽ^a^}C±<§ÍÅõËÑKÔæ]–ËËÑ1ÂÕ 3¼/h)|ÅA’¦˜¦Áyϸÿ=Œ±\\£TuC»•“& |ÅèâZ+]M[KnÝÛçñ³CŽN´²‰Ê¹³Ÿ°;L©Œ¦›¶HeM–¼©È‹¨òá&-Z’ÿò§<|nxz0çåá’å¢dkØ¥®kð’,Mh·;<q Õ¬áz zªrñô5{{}®Ê?šQ$‰„¤4<]qksˆjfäÆÑxK'/hµÛlôÛl½õ ‡¾§P%E’RV%Y1@š/¾?ätÑðáO~ÌîÍÏ^À=Ž«‹§<ýŒ~K ÜÚ8&³†¿ûå1G§çhƒ–á'o I%œM*4‡á›—3^\X¶zþèÃ]Þ¾“`â«#Çõ\³¨—tZ펣e+>zÐ!‚T€7«tgXm?=æ»gç(-øèÝMú=EK-ÏÏJ„,¯lö4oßPY^p{;å·{´RA*;ÔÞ±0ž§‡sž¿:£¶ ƒnÁîwÙlKò´ÀRkðV°³ßfçÁûô’‚LMð²Dé”˹çÿý¯±üô» ’#¾þþ!ÿÇüúw/™9Cw³Í0sk8ãfoN[^rg7çæ ÍÖNB+s莢1]NÎ<§Ç¦™°¿•±ÕQ¤m…H3šF2›¼<.™L!QYxŽŽH•äÔõ6Œ{B¢=%œÇ™0 Ûbˆ]¡U†s"bÂ!CIIÓØ5"\„ßhI¼Ò¬é0Ì›‹ôŠ_'La"$ÈBí˜wôa"/³Q&|°$DhÐ:Û*Ø8ér&¢jTÐù|xG)ÉéñsDÒ¢;è ]0¨˜Õr1/…xV¶Þ„ #‚x 5ÿfZ¥„Ý…>\Ú… …0d(ei²gÖXp7µjY !ºZ¨DZaš·š†I¢#¼C­4³Å”ñùƒ®vh;q+‹°ëUØ>NeÇ¡ ðoÂàÖàÌàÙõx¯¨ëϾÿ5i–"uʫׇ´‹N”‰F£ ŒY²\–4>!‘pÿ~­Ý]Ž_Ð)2|V ‘,—¸zIÝT,«Š¦^b¬¥nŠ4£ÛÒn·ñÆQWU@œØèP²‘Qá¥I’¡¥'K:¨iÀàHÝ’»ÞbÙý5¾,C¬‚NgHùí6ÉbYs=›RYƒFP×5 Ùí$ÍñÒS›B5(T`½ÅŸ×4hÊJ¥x¡H’V̉{Ôßüìû¤v ™%$"ɰ‹¾šµî`å·Sʆ©†æutáÖ“`ë©Ã KhÀ4h›mQ®®ãËñ{«AÄÚk á'Eø»• ™žÐÕ */<Æ#¤–Á{è•`¹¬«*®møm@XCª²PË'œÖWžÈÐL1QRºnÄ(ÔŽCóeÕÀ ­GÅ šfôákdÖEF¥Œ“)ªžÑ\=GÚóª¤^Œèä}ªñéòÆ;Já‹.M5…eÃî°ÅÌ ¨ò"„Óõ›[¤ µŠ´tMã=Æ{2W¥^àÓ4D öz¡¨½¥ÕÝfi ã×_Óš!£3…zù;†óïè¿ ˜>¥Kvý ùü ròšÙËg”£JWø™'íkìtÄåá+š¯ÿ3­WŸ¢^}…¼8@c±ƒýð5áC¥Ö!°RÐj·ðVp9zÅÑÁC²¢º‰$KÍbÂ|rNªÛý”"OÙÛ¿M6(øçß¼DµÃÃÙÌ,¾×J‚˜ï “e’žDÅæ›HÐXºÛmFcÖY œ^8ÎÏÇìßh£µBë@†¾¾ž3¯­jŠÁ=öü¿P¢¹|üœÁM^žáë%‚å²á¸²ÜÚÒ––ÂK,’YiéöûÈTQhÍx6£:9bÐ/0Ã'’¤ÕáûÇ/˜«‚£ƒSî?¸ÏüzN¯·ÉûÌf3¦§ç(jj²€wšNÖådtÆ'ð‡Ü¹= »±ÁåÉkªÑk®&5EhÝJIR%PÍá4"i# ÏõÅ„< 8Ùd¸¤n9Qb—¿"yǽw.Ü@ixôå£)g$~L¡ Ëó³9_OHLÉÚüäݛ̛%ß>›¡4tµ£ržúfÂF¡ùñÇ=v6aR*¾?°œOͺšÞË÷nö¹»™ÒOÃíPÐàYLë`a=¿øìÓ©ãÖnÁ;÷;$^kÁ“—KÆ¥áÎPò¯~´Ïws®ðèàŠ^»àƒ·zl 34áel„d6óüö‹ÆRè”[{mÞÙ)¶N(Œ“8,ç—S|åøäý>?ýÓ?bÞ4\œÌhŒå·Ÿ_P—Žÿd“\×üï^òÙÆQ¹d¸ÕãÞ]¶‡°»•b¼äº’_&"ájœpø|ÂÁáÓ‘e±l@[Æs8:«]&$™£“iºí ‘.:Áu:iŽ/3f‹„¬Ûf2]2¿>¦¾¾¤]tC@DDN|Öz!×âbéä2®ñ‰>X×MÈx‰vÍ:­Öñ+«ÃGœˆ¬ ž©æëíˆÞ<.ä{¥Ò4ñ@dW­éè\ªBzÄŲEÔ­¦_.¨U´Ì,cª ˆ;j.N.ØÚÝ'UI8€‰èÐŒSµ^ Fë¬Á©t`›†4Íb#2d¸¼ [gL<Œ¹´_¡%âÔ/TQZÍA²¼j›E(.ªˆÒ$”K”«Cï“íòä×TH)hõ†(LD-èx8“¡Jò÷¾ß«ˆ‰ˆ`ðÈ2 ¥p)1V³ÊŸ5Ròè«O¹ž0ŸÏ8=9ÁÔ5:‰…5ÛД3¼7œž_”Œ/¯´2’AaÀû†|°MƒYNKS-Ãç%áÞCY[Š"cÐï²µµE–e,›2(œ©QZ£µCkiYd¹…6+*”œS/ÉsMoØG*ÉÉÅ ²nH:Šv_[æË)ÖÖ$J‘Ç!³n­H*ò ©TœÞ¿§ó Æ–X_©³ùµ¦ªp¾ÆšÛÔ êgùWŸ8’<ÓñpÎÁÕ¾a‰ë4¥lÈYùÀ–rF®’3£Ö Ñ³É»Ó)B§Sð­*­!S%EyO$ÉcH¶NB„d ðÚ  &x!Öì¬8õkȈ@¹·ˆRRgMÌ"„¼“^׿‹X>ÖFÝÌ›Qq¦‚€Tù9êòÛp#S¬ 7ÑLazL¹1­Jšé˜¤“),G”M…$£jõHTÎõùk¶2MÖíQfûh¥ã/1sõ&9Ù45B(R­¨S§m¸­£H Ö Œ@¹’frBQ¾àù“ï)R‡Z3ùæ—èñI3¢²×¤Íd°¥ç°WSªÉjC’´È:c“su9a+m¸9Èét4ƒaŽ®O©_|¸:DmÜÁŠ`p«±ºô(¡hLÅ·ßÿ:0[¬ÃKO¦!I4ÓÑ)¦œ’jÇ Èè÷;lìnñÕ÷ÏùúáZ¶È2A¿%ùñ‡ÛÔÖ e˜v:ç°6û–,!!­Dqï|ðÎ.oßï²¹Óæìt†©7nh(%y*)«šÉÜa}ÅxRrïŸÐ»sŸýë?ãøÕ9‹×™¨„ÉE…ÏãÒ2ØÝã½›ÛÈù˜6)Rkê&` ŠVïJŒ\<}ÂF/ˆR…N¹æÙ³×Ì· fÇdƒ ¬«i+MoÐg¸µÁןÆ^?§^6Œ£›õi¤£7ÜãÆÍ!7onÓi·i÷[œ÷›yNŽ®Éò‚n7AxK!J\s„ð%‰Ì)—–´•€§ë°(Ò¤‹5%‰ÈBZ'gm¢$ÅóÇ¿âéwŸaª1-K–8|ÒâóGÇŒgsö»šŸ|p‹ÃÓ+¾z1ÅÉ{7R*¾Uq¹løóŸÜe»Ðœ-%¿y¼`lƒË´Õi±ÕQ|xgÀNˡ̌v‘E*vЭ”¶a‰çë§W|÷ä’ÍÍ.?zw“^bé´ ^•<;µ¼§ÅŸ~4¤ŸÁÁ¥çï>=À“rg[óáÛ=|ã‚O¥ÌJÁÁ« ^½ža¤#‘žwo<Øë%šº ¬,aRK®§ ‹Å‚–ŽÔüàÄraùîñ9¯ŽOùÃÝd:[òOŸžò꺡èxÞº½Ë;}6·Z´Û-^¿žqpj¸X´8;3\ŽÐ4ÜÝiñλ>|¯ÃÍK·íÉu˜b78FcG]MÃÚDj¥hç‚­ûûmv· ní¦ÜÙ•äiÅÒι¾8Á-fTõ"êBr¼H¦">Çê’TqÅ×±ŸŸáA"ݪJ­ó·2jPœ«‚(9âCëIÄ5¦Á#T˜ %‰ì?V,©H•°.2Áš¥Óµ¹£ÕmñòÅ#úý=’"ÇâQ¼Á(„¸ÊÜÃês q•¨·IVh…°^“"‰LPp¡ )¢ñÄûЂÇY¼ »ÆD–œµ1Bž* ú4‡'‘«áƒ °iŠM‰ wŸÃéÓ'Ü|ë-Jã#4V møš˜8á1ÖHZau&V2Éj§¢ [øµƒVÄŠ÷‡e|}Áõèœv§J$³Ùœª.Ió”V^P• Kkèm*)xôùÜ}û.yÚ&ïeäé&ÖαM…ojœ3ÌæSÓ¬§A8hL…R’N§ÃÖÖ6{·oPU%eY®³qí¬H³0(鱦‰ßCí&A¾lš'B{Ú!%åõ˜«ó ²"Ej…’ĸSXëÈs4„ï±%!ƒ©ÅÚOCKFLHœ\ŠÀï”>(íÔÏþêß}¢T†ó2Œ/Qàƒ]\‹åL´Â»àØ Ð1ǧ”‹#FÈtøuó&<!NW#ΉôAŸ°rj>Ó„Ü•'Lˆ¬1A )VZaÊ]ÛŠDéµÈÅ J"D²FŠCDÆI.þâlÖ„ Ú˜˜/XâVáÍp»÷ëƒÙ ¤é• ±é^ =#©/)…D¶6ÂtË”˜Ñ!¶³´ ¦\Ð43”™P$9¶^`œÕB¤9³Ù5,–lô4B´qIj¬Î­~Ÿ×L+¥‰R4Ö£›†´¹BèÂdí–åsüÍÓ¿¥÷êçlpÁâzÂÑë+n ³°æÊ°5½VÉœ-£³ LfèzmríAy¦“ »ôæÓó—ÇœÆ\\]a½I3Æ?ÂåÄ`ˆ¥”„=g¯)²‚Ñõ‰äYJšY¨–‚TJŒ3(R[Zý6_}÷œÇ®:d… •ñãd(•Ó˜:\„¦GáeHP,Ñ^ TÅF«ÅVW²5è1žÎØÝê!}…A0™Tœ‚t|9ohʔ˓c²"áöG?äñ¯þo–\L+(ršDóñûï0PŽ¢©pMC’æ(ïX.KÚÃ>Ú…vmuy •¢TJ’¤4ÞñòôŠÉÂa5Æ„L¢Ä°½µGÑ)øîëïhƒ«*J™²¨J+xðÞû4ËŠ÷?¼Çr¹¤¿±‰N‡ŸamÂÙùã ­N”Dù1²Ñi•(Âí°®%ÊH„ '©%Ö9x¨uaU]ò䛟óìà9­Bpc+!Ésžžóðù%]eùÑÇwxv~Áã#Ët)xçFÃ@9*YðÕãs~òñ6[ý”£é„_}uɸ <¸^¯ÃnGs{+¥£*¨+ò,£i<…q •¥,|ûìš_}þ‚ÝÍ Þº™±;LÈ“„³ë_>Z°=üÑ»CRí¸(%ÿÕK¦sM7·üô£MÚí$Þì%Ó¥àr.øíç/X¸0õë’?|o›\g„FЂÓqÍbi˜.JvÚŽL6<øø}®Îgô3žÃʣєnÑáã·ö¹{³O¯Ÿ1ž[¾}|ÅË“1"m±XÌØÞîðãïñƒ÷wØÚj1l¤ŠÁfÆþN‹Û·[ìng´Zaº0ç\Œ*®fSW…Í€(±nÀ7Ç<|øšÉ圖ª¸¿“°1\’gcÚ™a9«¸žÏI²Õª#L…¤šèÞ×WÞÂ5² fWPL%·éœ)V§•ÐNŒ-ºp9Œ‡*•ó^tMN\ùYHÂÚÎË óx¼ëK¯’\=a³ W‡#GžáÀ¢U¹D§)BŠ;’ ‹é5Ö9Zýa¡Çvåš°®S„p‘‡%×Ó¸ð®ñÅ_¶q8àV—qBóïÿÇõ­hcqI8„Éõ!&Ì|4_H¦2Z‰¼w>ZD,ΙPZH‹ù8P׫9ÝV•¦!ûåØrÅ©ŒŽÆÈhŒ¸ N’$í#r>æ•y8ü7$ÚYÚ[\œ3ŸÇµ¥]K·0½µ›V,Êš¤Uå©éílÓîõIt55:6Ou Ȳ”D‡²ÁjmÚjªwá# IDATuPiF§h±µ9dow—Å|Nµ\Pd ZŠîn°¶_wV±q2™ü),ÒœTô¶·8{}DuvNg;|‰ ‚iïI(†­~²< @VK’¤$©ÊƒÀ[¸ÈÜLð• z?~ŸÔÿþ³÷ >¬eƒ­n0ˆ7fèD'4¶ø!ÖThizA)¨:Â)1ÖÅéO ´MÛ&•Ô­Áyƒ÷­RŒiB}ׇÐ^’jîO«VH\IF¬¾T«Fp?ɨ‡x€`ˆOt°Æ{BˆŽàœ’Þ t8pÙ(¶Õ: Q]´ÆÇÐêántƒ/u”ÝFŽ–Ð)®)YN^ù¥Ûؤ‹²3y‰¯¦”¦&Ít!zKW D³ q‘>Ÿgx×0¿º¦›%䲡Éwqi‚’«ª°w¡Œ.=Á›Ÿý?”M*(SrõèKªÏþ[Õwì´f¤ºÂIÏ–ž”ˆÆ²½Õ&ßè#Š6— ^aFôH•%šr4fnÍÌ2k<ãÅ”Óó%Ö×$]MÒíÓè‚Ë¥áåÕˆÚWôr¾|J]ÜAæ5^xP…bØßæìèGØcçYÈþ‰f>½$UíT‘gŠþÖ€ÓË)Ï_Ž˜ZϺ½!Iæh©Ò”EY¼•ãÀX…ÓW…‡[mÆx|Þ¦Ó2Üg3óôú' ^½ºb4/ƒ÷ËxÊù5­·ÞåøÉ.ON™-–tÊcÛ …ææÝ[|øÎ ŠºÄ,&/BfÀ ÊÅ™(!¬E-Ç´A¢³@óOSF“+Æ'çl 3šé­Á6:Õt{¤Ö¿¼¤™POm¥RýM¶÷opyvÁï< ¿U§9á-ÚEÆÉ«'”vÉË× ÓÙׄƒS99µ„šÄO¡¼¢ŒiÜ1"±@Ÿªökï`hl…‡Ëó'¿åñ·Ÿ²l,›ÃŒÍÌS£ùì«C’þÅO>âåÑ ŽÃª=×ïßê`âª,I:ð ×ãbYñO¿»æôº'1Ë¥Þ¿Ù§£B“'>°¬w¨<¥lj¾~|Æo>?™²ÛƒÞê!ðä™â«§×è|ÈïuØé:Œ/øÅ§'¼:³$ÚñÎí>÷n·(˧×:aQy^p|^cdv’{»->ºÓ§• R•QÕM€ïzOƒáôªæÅËÖf42$²¤¥¼÷á.w·3úÝœ·ÞÚæôlÊÞv½»-d‘òüà‚Ï¿|ÅÉÑŒTHz­ÝNû÷Ù»û>²¸½w˜W›,š}ί:ŒgŒ¦KÒö÷zloçô‡šÒh./3NOkŠ– xqhy~2eZ•]Ìùþ٘ã™RtsPrBR”'1M¶fH\· WY©xêÏê¸vâ÷ÚÌAiG’¤aR›è0¹Z­#hyÅ… ‡­ÐXô1ZGŸj8°Ä@<ì âô?n)„h²¯¦1ë© 1Ê!E”M»L‘3cáà¡Í˃' ·vI„@%Y\5S‡XÛ:*²uó9ˆ¹4V&°á„9XajµºÀ{·¨·DhMc.N‡m^'ñs_À¥ÖÓ9­V°hӊ̃ì$œ½xAoc+Ú7Æ[šÁ(µZ¶„ 6±»õAÙûÕVD ª «J‚ÛXAÞkóêÉw”õ’eµ†˜zÌf“/Ú¨Eî\žž³÷IÑë;BÖÌÅâ™PŠ¢Õ"ËRÒ$c¹\† ’,)Èu†tŽ$U$YÊ`Ø'MæóYxï;Þ¹øî^5aƒ)Y!EâtR¨ / Ò†æÛ—ÏØh÷âÃ4!Bk”álã‰ßŸÐ¦ p1%‹yԉ¹=W‰ÄÚ)AýÍÏþí'x‰—*6ìBxܘXU”ë)X@ÔÇñ°V 飗¬1AÝb%›]†šGk€ž„œESñúùo©]‚Ö2zŸ<˜9ÕòŒžòôÛOo§Ë'?ü?üÑ}¾úå¬ ©œGÏCÕ%ª)ɲ«4Iž#2Å“WWteÃþþ.¶½‰Š·nÐÛØäèø”éÉ+ Ý`+GÝî±µw›¢Ýá­wX\ÏÙßßÁ¸PÔhoìÒiõ˜œ!|ÃñÅŒ“QÉÙå<¶_R½ÊjŒŸÑ‘m}N'EÛNhœ¦ô §RR•ruþŒ/ûœŽNéå7vR†…â7_áš”?úø.:W|ý䟶ðÖso»`«å@z*EªISøoŸ_ðêtŠ—A¾·7äã·wØnK2&׫•’— '>)øÍW—üóçÏJ²³Ñ惷†ô Iže<;¨x}Uq{Cñþ½äééœO¿¿`é 77 ~ò[Á½™(¤…àkHùõoŸ1·)<··ºüô£>;í s±>¬ªPáÚæÑÁ53§yyz‰K ÊéˆnSÒtÙîoÑÑK2•bdÍV¿…÷‚ß}yÌ7ß/$*#QKúƒE«EУÓí)½A‡4S$©@d ^'Œ.*ž?­y}XRW5;;Û›’A§àìjÉÑÉœ‹Ñ’ÚÔ|ôÁùÇ·ùøýmövr¬¯yz¸àû%ÏŸ/¸¾*ÙÜÈ(ÚŽéd‰LÚè4ÅQ£œ\Sb<èÐV‡«žt1“ž!«œÖ • â¸xàHÓ,”n¤^ó°Tf©èµÊ9n¯Þã…Û@ºU4#¾T…ÕA$<û•|ƒyPILq¢‘dg¯_dIXÛDz“µÉ_gAxx Áâ|hg;Ð :ÁY‹×*¾g\„o‹5ïŠXì©ë†UÄʹèòŒy¯õô+²#¥Œ»hDžàØ:7#)å9³ÅœÅb’‚¼ÝA£"44WŸKè“Ùèt‘tÏÆ÷ëÖ&ñÀ"Døú ¡ƒØRòêõslµ ²5ȳ,èt„'M¤Ðô7\^¸8=c6™1ØØ¡·µøkÖ€©”y  ¬ƒDyZ­>U@¶&*ŒÚí ¯Tz„)c¯ß¡×íá¬ÁÑhò¼ÞMÏ%wÓÔaaÂç£T Ѥ©NN8=zÍÖÆ&N ¼õÔx´±ˆ"<¤{õˆ¢¹ Iú”¸z‚}úÕÁßq|t„R’á@Ñå*ç9¹Ñneä‰fZÎxu8g¸¥èwr_\B™qÿÞ­>³¦ááës^ž×œŒKÊfÁÎfÆþ¦æÆv—\9Zí>Jïâh¨ê†ÆI¤.i›|ÐcQÕ\Œ$uÅ­ž'½~Œ/a÷N)}ÆæÎM”ƒ²šÓjçXë¨Ë)ÒM(|ðŸ#+9¹Zrx<áølÎÉù”Ú4$R‘Fe•ôa,Y~A/9ECU¦˜fÌw_þ‚WÇñHÚ­†Û½ Á·füÉ?âÆnÎWO/8º^"‘¤¢æý¹v\×ìX(ÅÃÓß=«C1I®áÝ»n ZÔGgž£K[ð_õœ/c½fe¼÷~íäIʨò<|qÁ°¿Á;7RiÂÒÀÿü„ÓÒÒJR~ø ÍÖ° öoÝLP. 6U<|2fn ‰Ë¸µ¥ø`¯=l¡=l¼C JòìåŒEm™/<‡çúÌÐM|¦XÖ%W§¦£)µ3|ú혇ϮY°$•[ËÛïÜáøøš>ú˪ÄVÃa,ËJRt;d­”¬“ÐêtI[‚é²âêÒqôê:àC6ní ‘I‡é¼âû¼÷ö€VR³Ù…ýí„û÷¶¹ygÈ`;g°QpóvŸ³“%£« ú]‡©y¾»†J¯ø«bÓúÁ¿j÷‹(s^Ýô×:±–¯¦°R{­HñÙ ¨)¬½ôj"^ +ô œ’È qqJá|0}`^Oíê`'‰°L¹4‹ø %,)4Æ•\œŸÓéôÉÒЖT:rp"cIÊ ±Ò¯5(áÜøûJ2…ñ6dšâ0BǬÖ*ÇE<¨†¯Q ´«ø~ã iÑ;2 ³1RÞ5*‰>\¹Z§B0¤Ñ‚ëƒWlܽ…r•FRÉóÆÅ69(ÿ/´â|‰ßË"¯(ùˆ`VJ…–¤'ƒ5e2:Â,g ÃZ¯©ë˜?s¤iÊ|6£ÕíbñÌ&S–‹—ÜÜÞ CŠT­›™*2·Ò$Á™Pkµ»´Úm²v›ñ䚺)iPÐ@&y£{{7€ Û nBMžgëŸÄ€Q(2ZhLØTËÝv›v»Em ÓÑ5/_ÐívÐZRHM-@Ç҆ȑsÁ$ÓÔÕÚ?¬“„ª±$ZaLhqºØ?×õ×ù—Ÿ—RYH¼CDãºm[«}»qÇë‚naåïSZ…ÃNä™Èø c‹0HLèxá£0ÐY‹u+×Þªàa˜A `ÆàüqT„ŽygÐ*ì¸Ã*ðceRˆpÓ+™t<ónuðZAP‘Æ®âjD¬Y)0ªãxZ‡¸]âf—(! IãÍ ÅKG4ÌʆB ìø„¤œb—XŸÄ8¡eèñÔµ!Eà|Nжb6ž0U8%`6#k ÆÌø­*êc’Ù!“o~Nùè·¸Ó/é$ðäp¶äj²äÙÙ Ï_œ25óJ¢eÃë—WØÊp{wƒË« “<¸Û§³‘0ZÖüúë׌g5ºnx{³ÇûvØß e‚´E§KÝ”Lµ'kïΨ¬e¼¸¤¶T ¦4õ”É¢Dš)ýŠæª’ùð6¡)-~÷ÅàzrzD;Í‘vA¡†ÝŒA¿MÑ-èusðýË%¿ùÍ“ð"0Ÿt8=óÛ/N¹žxN®<Ï_¼f÷æ>÷Ÿñå£k~ûÕ)/ŽÿüÅ ŒÊ¹œ;Ž^_ñÞ[û褨Ñ:aYÕ'99¡eJ«<“«kÒ¼Åî­;”Ó¯~CO×ôwöùêÙ+ŠÛoqïã?árô½¨²!Q -S’dy($Ô%ÒÔ°ª©§R ^ž“¡0û,¤×póÖ>Ižqðì€ñë— û)”K¬l#ÚNtØÚpÿÞ.¶nH%Y.J²,#ëï°³¿ÕSNÑB1™N.çMxq8æôøšeY!œAøàôÎàëš¼B«Ç\^^óìÑ&Ë1N8z¹æV_3Z8®Ç Üß ö¿ùæºq(Ùð`§`¯ç0¼X—KÇg_O™46<ðìôS~ô΀V¢ðBPÕM8ŒÖ§®Ë”ŸúŒ‡‡gÔgØnóÖ½ŒýÍœn+cÑ(¾yzŲÒÜØÊ¸¿[ ¤çñ‘á»Ã VrÛðÃú!B 5…HIÒŠÚd\Ͼ}qNí–ä Þ¾ÙãîVL>>÷lX!yái„äÑó)žšD%,kK«Hh')ʲæìdÌ«“KêÌóÅ“1ß>»¤²–Tæ|r«Í~ü6_|þ’wÞýn¿Ç|¾@hΓhIž¥€ í6ïH³­ º½Mt«EU{..çÛÐïIº­‚ía‡AOb\ÆócÇËcÅÕÈ¡eà_°·Õgc8`8ìðÖ»;$Rpu: /U-¢ŠºD‘ñªQèœEàÑ"xÁ‡ mî®ØXð&Ôî¬'ËóøÜ]‰âå:P¾Ê¹JškRI¬ “ðöAæ,X¯,=&ÙÿGÕ›õX–¥çyÏšöpæCFäœYUÝ5t·Zd“)[’ „Kа!øÂ¿Ê¾4ü lC°@¢D›b“Í®kÎÊÌÊ!æ8óžÖ䋵#’ºJt¡ª+3ꜽ×ú¾÷}žT® £³[Rº.e‚ú‹pè¥À)p߯4} ޏ>}‹”’¬È0fòOBÞæ†Ó;ÒAr8öz²N}k,"JX„Û¶}¸•ݧ¿àoáÏý\ŽÛ¹AZÿ`Œî'`é=¦%H‘ç¢g2&=Qt]‡1i[dtɶ«ˆuOÒ»×Y™Oaéÿ³/ܬ£ÏŠCôL³ {EV‡Ô% Õö„«³] MÎåÅ%Ãñ-E™§ë::ï™íÍØÛßǸº>çêÕ^<I×öQÊÐÙ€íCx&+q|´DRÛU pe^ôÒj}ËÎŒHæ³=l×a­£³]ÿä™q!éÛ%êÁ°ÌÐR ð4íï;öf{Læ(±º¸¦©+ÊùÕÌh@a e^Ü–ŒÑ·‡fg}îÛ&«­Ö« Õ®¡ªÔÿüoÿ§»¡Œ¡Ð2Õ‘M!/Ñïtc¸õÁÍ.}Ø„ìwÎ=M\ •ý—-†€&U­ Äè›z¯ˆ·@"J¤ðéAÊ€wIÓ#úm‚{:t ø˜V7Rc©tb0áÐ:ÝJ|ÿÀ¢‡ÀEÑ7NT™JnR¡¯»›ÀœH•Ôzï»/ЇêŠàÄ`ï¶n+w¯PvƒTPYKV„µ8»"‚:D¬PdBeÓ´DçÈ,¶çgv¤*\[á£ä¤Þ°n2êvE½«hÛš×ߞ󛯿ã´êpa‹MyvqF½ÝPÈÀv ç×+žŸ-9>Üc¾Çª]³¸ºfqa¹XÐÕo_W'WéÖ%5׋%ë‹5N®/¯©ÏNÙ›iݹÃz¹åbQóþ÷Ÿ°wø€ó7ß¹ éFç8oñ!Uгè±]›p#Z•¤µ–7—'h‘QÍﳫf³)³Ù/_üús–'o9˜hŒwÄá„Jd£ÃÑ”Ñ`ÊljúÐrHáù®!Ë4ùø‡ïÈtÿCDK‹µ5Më¹Þ^_l9½^°\§vLÓZŠlŒ,û±ºt<ûâ„Óë%­©c“1-<­cÛŠ÷÷øÕW¯8»Xã;0RòÑý‚aµõipH~þÕš‹EG‘è=ˆÀÇïpwfi¤uç"JºÛÖòW?Åóï´Îs0.¹,xôðS±Jòí› WW‘<ƒ÷I#ÿù·,Ö5™Öì sž>¤f©Tä²Ã;Eãÿá/_pY·H?F!Ùîè¾zÇ·××þzÞÞM‰)ð÷&:IÕ%Iå(Ä ]Ýæ·¸6µèbã !M®nª÷¡¿Üª8c$H²ÏÛ$lO×%ã,"¦Ü‹M9.ç}ú]÷[‰txKÏ©KF¹æòâe y1A ™&)}NL¨”©òýÉ,ú¤‰RRÞ¤XïÈe‚rÇ{¤¼Í˜ÝüJ ÞݶUßòS½ŽêVÉ“KQõðkúðtÒ¤I7+OM® ÙÞ„ÕëW˜é˜\géÏœ¼w}ûý¬ûFkIªèíéBÜ@WƒÇ™ÄÎQŽÍ挷/¾äøÞ=Žï?b8šõäMUãºSdiRŸgLgsº®cuy•¦øã’j¹&lkž|üCPÙ¬]»Ei™œš¦¥Ìr†åèïzˆmhq¾½¼æYÆdøˆè-CÓ‘ ›¾°ÓÓI¯RšV>ûú‚.ÆD<&}@Å ÕÚo(ÔI<í1¹!Š,aCD 39¾õ|öâ„«“5ï}8£P#"-ZF&“!_|õ ­J´ö4§ÞU\Ÿ¤Hæx8>>À”¿þú%ÓƒûL§#äxÈ믾a$$YY¤€­H@Ü„ÖðÔÎ"Ë’ Ó‹ìíå‚+ëéæGl¯w<~òq9¢Ó‘_þõÏY/.Ø+4¥€ZÈù6F“ î?f<2̧CuäyF]uÈÌ Êã;‡<úøG<þþGßû€QÖì–íÖq±±\-·4Uª7mÕsaxíøìó›ÆÓK!`PjòLÐé= M€¯¿9g[7hc8že¼wWß>ì„V¼¾¬øúÍŽªNõ~¡ “<ò;(U :Rí*”K:¯øô³sž¿ÝÐt5ã²àp/ããŽ鎲4œ^9ÎŽÍ®âî~ÁÇ÷§ˆÐrzeùõó5* £å{ïO9Þ+Aô {™îéÒóÙ‹m’Ìøø ãñar›å=²u´¥sžáÐpzYsym‘FÓuže㸸h9œO˜ Ö ®¶ù³svA11н7à¿û½Çø`ùéoßr¹ üþ?ü˜bc4]Ãf½¡ÚÕà¥Î(Ët΃FIÉ@K"l4dïÎZ8)Á3Ù{ï=áÞ£Ü=d~|—½û0š?a8½Oes^<_ £f:ÌØÛsìªcæ½G eÄö—ÙzOnÚDuï‘*]že" 1õAlDߟ‹¾_»Ñg²¸5k¤½|Ǻ½d§[’d8NÄ4ÉÑÆ$yugSN¦‰SôÜNÈ””‰ÕSØCŸ9ÑJÓúH^T›¶Ú1Ù¿ƒŒ'²÷óÉþÏE2ø~k!n¨7+TÈ>#ˆáÜ¡G=¤WKìmª_É¥Ï[j=öêž>ÿC ÂõyèÐOà|:l« ˆ8éÉ£a0ÝçõËgÌǃDŸG÷ï(zhx:ÀE™08‚¤JK Iÿ.ý¦²„uèåîÄÈjó†“×Ïަt1Ò4) wpt‡£ãûl¯¯@zvMR!5:/ –Ýz•rU­çáÓ÷¸÷ø ]S“«±‘! 0ÒôÔzpmƒ”9Óù]²bŽP†Û­ãìÅ ®/ÎØ.¯¸8=a»¸âíë´»ŽvŒÌᦠIDATW±m*¶Û-¶éh\‚GŸ¶SƒÑ™C¤–£Éb80(‡xò½yþÕ·Ìšl0ê?ói‹Öµ-ÎzZë2I§Ë¢ ,KÊr@9(˜Ï¦ †%JkŠaú³ù§?î„a®#—ØmAÊ<LJôÁT‚ôéÍ'…DĵtÁ÷òÕ˜¤¿ÉÛãèÑ Iá{6PjWÈÛ•` éïÁ[" ø…Hmˆ>5’N ¯šfçÃ;Ñr?¾¼ïnOçܨfÄͪ0öœuKG¿]ŠGúÛƒH¸ ’–䆅!…îs M–¦yËï`wŠÎJb>Ã/Ÿ“û •Ìpz„ –ÝvÍd<¦ëL[ã½£ÁQx02ru½ãª‹d…¢Ùµ¬W-‰ ™ålê†Ú{6MM—Øê1ãû‡´ÚàŘå®e½Þ±wtMÕ±^-™2Q€] œ ˜Ž/ÎÁ  ¹¼®XV‚ï=="ÆÀOùMƨLJƒ‘‡Ã˜ )5Æ °]A2›Mh›á-ãÙ˜AaxýæUB,c|ž¡ÊR¶ ”yN³]“KE~0älsAdG1Ôx1âåëWLÇSæ‡Çl¶[ަ*TD`4Èφ”ƒdäÙóíÎb›–Q.™(ƒ”.Qü3”†ù(g2Ì8žÏ°=GGI¦#3d’T°¢dQ·t•fT&c·éüõ·'XÉMjþ¬¯WØ.œCÆt'§ÌF óœ×gt¶äàhá䘵¬ž}ÅÀDL¿þŠÚ®Áz«4NÀéê’óE“V—Ámàîý{ÌçcÚ øô§?£^.kŽ‘4ˆÉè‚ñxÎ{O¿GYx¬³h-ˆhŠ,cSÕ´mK¡5ZgØ(ÐùŒùÝG¼ÿƒOøè{Ȥ&Ê@W·¼½\s¹¬iš–fgQ2Ò¹À›× 뺣ó£$E–^xW»–ªµ¼9[Òtç=xÁ‡r¦#…D‘KEÔ‚ß<[s¹I€Ãà“âäýÃï?,±¶ÁG躔ibà‹ž¿®¸X]SäîMøä阽%“’«­ç³¯7lkGn4?~i)džÿô‹k6U ˆ†\ ~ôá>…IÊR¥‰LÓDnøúÛkÚ6â$w¦†§wÓ絆ˆÄú€‘I5¤£a2ËøöÛ%µ‹"Mç1Òó“L™f°î,'ëÈ7/7hÕñ‡ŸñO>>@‰o69ý‹œÓ<¾;âÞñe2qÖQ7 UU3”䙯”CŒ)ˆ¾ÁuÖ º&йš/ñÕê3šºF0šìSLrT&ÉŠSè<ë’a*0Ù?æjxýê ‡Ó’ùܲ]­hkÉ ËˆXc -…è3CršeR Aú¨ÆM`VàìÍ„†[V`Œ ú˜ÊFïV‰Q@ô±÷º†Ûæa_$/ ºÒu;Õú „dü=Ÿ(ÞäÁDoöHIu'$AÈÔV Ó+ºDD 1-9}õ‚é|ŽÎrÐ&-o}|¢?¬Ðcbÿ{‹=ä¹gE!o׃Þu=‡1’›§41T–äãÁß´oø]âöðù÷y\ê&ÿ5㣹ÉÈ´¡(rÊÑÆ£1ƒ²¤dyIˆ‰¿ålzÿØ.5l³£«¶haòÄ q•%šµS)}×¶A ½'ÌÞÍo¸™î“ù²÷Z‹’IÃ!  úÝsO}Ï€Îw8‰dˆ¨ûVÊ8!DSz‹·!iì-r\/–âÝVé<ÙØ•ÀµBiÐ7¡õž×ûß?aŠÄ»É‰þ@ØWŠe_¹½ñ“šN!¦Éœ ­Ñš@ª¥¶Å!¬¿&¼úä‹°»vÙhŠ×‘By.¯.˜Ïæì6+&Ò£jAÝtœZK[+Ïæ» ÖÃduÛbdY9bÌ1pçøˆÁ½»L>:ΪÑyŽßi®ÛŠùÃcN_½à±ÔH un¸8kèóa¢Ro*Ç›ëŽ üô—/é¢fV¦¢Ñ½ÄxI×¶(]$Ü…ëjväàðˆË«3ÆÎ±?.yz¼Ï‹ÓWìëŒÑp]Ìå28|´ˆéŒó®ayñ™–Œó’$ëÍŽåù%?üÉR­7äEκ‹A3S>*|T8‘ZòôΘÿóâë%ß›ã¬åÅ›ŽÿŸSN F:ç'?y'§˜<²ÝhÖÛŠï¾;ãÑ£Cž{ÉüøˆÏÞ.ø¿þ/h…â§¿xËóg—üÉ¿xʽ£ 2$FNÕ4dº¤ht¡‰GSí°›-gùͯ>çèè.÷îìñå‹_òèé=儇þC~þÅ—„7<ºc'(­±ýKªv»^cˆØ®!–{ØÑ€ÝÉ‚ÒäT» k+BÈY]]#uãÐeF‹b’g41™ÛW«+f“’ªrŒFsÚʧ5‰Ò´vU‹j.Ï[2•“—Å}ø}~øß>áÉï5|ýÓÿ‡Ï¿ø”³³ _º5M§™F_êÎá|—.%Dšª%—ÔUCÕêºe·­‘ÊPˆ†ó](Ë¢åÍuÃÕ&ÐX‡mvyr8âãG8Àò¡ÁÔ’goÖüêË3ÖuBeL†džq™ðUgøâÙ9MÌð͆»‡9‘¹áËW[N.¶)ðÎsp´Çl¬)r…°ç;¬…Üä\­Ó3&¤Dd Y;²HÙ Š€(›XjÂ2”Ü}rÀv»ãõÚâíŽú“cŽf’fg¸^wüÕÏÞ €?øä)?|\€³„lÌß|úŠ KLÿ2­Ût@°uÇÉùÇ÷ﲫ®/Ü¿˜ò4™BDÅ®«±QSÕ[N¾ýÇ“-w´»-ß~óŒWÛS2;¾G1œ2šM1…a:Êh¬$¯E×RÏþ½c6Ã1¿þö%OîXöÇW¼>¹b´w@™Õl›1::yÄf3Öõ}¼>€PâÃÈ›y,½JGáûLÕ³O ‘42BcòXj­«ÈÝÀIÓŸ?ô:š.&ª´ì,…1xçð2]œCOÌNŠ—°},Fw¡G3¥_C?J«¿ˆ‹#ŒÇ{è²ÄîVdÅ€¡,ñ‚”wê¡Ò²Wà$G¡ì îâ–4cBõ ,T–ŠWYžÑõ!ķ޾~Ÿ\„=V!3Åíõæß!û&¤ #‘.D2™pý»-abŒÈ¼@GÍd~ÄÛW¯¸ÿà¨ävMƒ‚45Ƨ@ý «LÞªêÈy—&”ѳ©.X.OÐYž´K™LÃoq$ÎØruÉåUÊ~óì[¢·¨MIYÄ®a8TusžºmˆÁòäé}‚¶éÈsÓO7S[SKƒ/ò~:©1EÊ<9ÎY\±rC >]V;OÝnéòˆè]Zk´6·kg¥’Í%HÁf·@›œ{Q·¶iPZ¡L†éi÷‡ïpýò„§?ù=$:],i-¶‰NF#ÔtBQ”·&Db°Èèð]ƒúÓõo~Ü´IxZDÒ••ƒÌñÉô‡‰Àqƒ+H,ý |–à|ŸËR8Ÿø("¤ðzˆáCª¨§ 1tè\£5IíÒß4”Jÿ.ïdÐøÐ…B(u›µ !YÖû;QBæË´2ºÉÄ(B£µÀ÷#ÖØßx„HûsT"×ߨ"¤_oMêÖ»å]¿'ÏÌ­¯1ì®ð»+råq›s”ئÕß耘Ϫ@Ç@[Õ¸¦¡(3vë%U[±–Šv°Ç^\¾=᲎¡¢#—†É`ÄÑ\Ñuküè#šV2~8çÙ³·œ}{E–çÝãÞþ]gÙm.Ø]WÌTú²Û®£ÚmÙ;ºË®•”¦åÍɆÁ|§wüâ‹—¬l`§/ß@r-Zâ³ TFÈQÒ¼K+U!1EAµ¾d4a9QÂââ’<!‹1­(PB"u /"ã£4:Ö™$Ž©c^¼^ñú»7Ì÷¹xó‚r4Áè’r™ÏÆe†ÉRs£Ì;¤pÜ9¡¥#:Íh6ä~ò ?ü`Â~ø»Çrqµ ËR“ìÁÝc°[î0(#w÷s~ûÍ9í¶ÁKXl*¾ÿôˆãà ë=Ï_œSש¦ëE`»îØ,+¼iB8P ¸^¬ðÚ0ž¸¾¶ŒfŒÆß㫟ÿ_-‰!°©·ÔmÍfSs¹Þ²óÐHɪnxqYs½Ùb„&–ã1 ˧Ÿþ†WϾAËÀ´°k:Þûß%Ïè|¤#îMY/— ‡%mX,·”£)/^¾DÄÈ@gÔë’Î hša$F –WP‡¾÷4 ‹Ë—¬VžÄÒiêŽäb0tΡDÂ-D9¿ÜR7ï»Ô¢ñ’§w‡¼w'„ûù5g«Žåz‡Ä³7Ÿòç€Ò¢<­‹øèØ5-¿újÁb]Ìc>ȹ¿o(dd×H>ýú„ºUØÐðèÞ”ßùè€Qn¸¬*>ýÍ’Êy|Tä¦àÑý’ÇéB%ÑqÁP¹†¿øÿ^séZ¹ ó |òþ¹ð s&’…—ô˜“eË_}zÍõvÁÐ(>{¹â°4üÑdàÕuůŸ/¹XYÞ?žó~4``"Á8Öµã³ç;ZÉÐüä÷³Å†¿ùë_ðöõB+ž¾÷„õjÁ(Ï™ÎdeŽ69­“$Ï¿ú†7¿úO|ô8r4ó( ‚5ãÌr8mv\ž_ðæÕ[ªÍ!ÁôëÆ(À)’°‹ØîO¨«ˆ‰ó)ènIÞnÑí5e{M¼ºÀ˜k&SGçø8Dgàm–¢²6‡dÖ¸ËþP„ê§2R÷ ‚TH­ïp{¸ð.âcÀdy ¦÷fo!eâݨÍú’bšôˆ¾FŸ°;&/úP~H “>S¤³¬ÏØö<ÎØ¦ÿaç¯^px÷>"€2½º/]¹ÞíwdN:­4™32ytßi}$’¤r¹Ù‚êàq½øZiÕ ™S[Ï P·˜ óïøÜìUdb|E‘þy廩 i•gŒ¦óé‚`ò’à=»ÝšÁlJ`¥ãM”æfDrãÏý”Nпû”Äú–/?ÿÛÔŽ‹–º²´uÃbñ–èÀ˜×îX¬.ØlÖäY†Î ™Ñئf»^³Ùn8??ƒmÝœ'+ ÷¹bµYcmL¹Ã¶£©;òl„Eqyµâj½£¶mc±.²Ù6Ä8ÅhŸ¬Ø§ •ˆ,g0¡4Mƒsy–õ‡MVä©,ÒO@¥„áxÀx2'ËÈL¥b³Ys8søð Ÿýæsó9>¦¸’Q†lT¢³´]ë¼e·©Y­Ö,®¯8;;c{}Íâü’«³SÖëz0T“¤B‘t- 5!ªÄ#‰½JF DHÿÑCôäJcƒO¶õH‰L€t`—©‘Ñ;uŒ´2Q©å!TÀûHð)™t!­QŠè2¼¢B›tkjj‹Étoq÷ýN[ t:\©Û6Húò†àñ^$fÊ-q…ÛÑôM8 AC%Z(:ÛKLCÒŸ1éµ=2&@œ©þê†ᬢ5SB¨É¼¦«[Âæ Ì€\æÄlˆ, Õå%‚¢œpkT1A®W¼99¥î"ӛ̙° ”o9zò'OîS­Î9=m˜ì Ú²[îhG3¦ƒ#ºëT)9[4ì…ŽºudY‚¡]q±ìYÎ'ïð‹ç¯¸ØXŒ„(ÒCÐ.€ði#-lC.2Œ(p¡BK]ízafÎòä‚á|ŸG‡ûtUäêìf:cTÞÁ…Ïr†*G† :3è,“CÌi›ë"ß~ö%ÅPb›ŠJJFJ£Ë}\±O ïsš'´Š¬Pt>‚`#D'éBÅ`0GK¨6 Üꇨm¤skdT袥všRÂÿø¯Ÿÿåý(ùpÈßýâ Îîqçî×›À«×äE–.Ra »ŠHóú¼¢Ê%S£©Î<øè!'×/yùâˆ*9|x‡'ÿüùìÿþ?Y6+¤´ŒJ¼5óüÍ5ß,@%Ù©ˆ‘åeüå—_Òîš”)‘ÌHêÎSŒf|ø½»øü1?ûôçÔmÇzµB˜'t]àÙ³·°\,˜ÝÙc½jY_íïÏÑeAU #×ÒìÈˤCÆ'¿ÿß³¨:®ÿâß"lëŠ|0O7¼ ÈD‹ˆÈ4»:µwˆš®M %g¸™Òh!ÙÄ–¶S¬W+B°”ƒ’ÿêwŸ0Fl[¡|âÒ¸)ò1[ß°Z×t] ÈŠñG%…XùòåçttìøðnN´‘¯.·<½&šY]Ã$—<¼7ÄÙôýµ¶w³OëuŸmÔ±K+g1ƒ¹Ž ”HÓ2èâ€O¿¸àùÉ[N®kŒVæüÝ—K$-GÓ=„¨yuø?½àíªbk~ðÁ€B'¶ŠØµD¥*q"p¶kˆN°Ýtà ?øä“ôLÎWKŽ.—Iï!2s¾ùêW<ûÍÏøÝdžL! j[¡PߢÙqg"¸{0æíÉ–Ï^\R×mjJË9Eaиt•‰S¸<[sÿýðW …®ÈLdq²a`›mİe° ¦+òøšVAP BI©mEº@KÙ²RÖU‘‚%ŠˆàK±…Ò¼{ö*ú̯¥èsJ7¶´r$ÙoxQ}[=„„ûQÚÐE‡Œ©ñ؆dƒˆJá]À ëÑD´à…gêæœ[GS¯PÃ#DèÒ».&R»Öà¢ÇÚäTRжM¢„÷S-mú÷PpHá{úz:¤Eñ._%cLƒ‰þÒ¢ïùŠ=Û…27È„t8í|âKS&‹>£T#^HïnÉï!F³C®.^Ò.¯)†|t¡ÉTv ÊTJá; >@?$ˆÑ¡ˆx'—+–+Ͻ‡÷8½¸`”ç&#ÍÖYv› ³Ù˜²Ìa:åù«§§WŒKÁÞİ72Ê AèZÛâc ‰¾ÉFÓ‚ÿúÿ1ž|Àìè˜ÝnMežsïþ!Bi¾yö’ùá«UÇã=¢²X¬Ù?œSm%Zg(!0jÄõjŰœ÷ˆ‰÷šù|Ä—¿ú[¤ dZbŠ„ ˆFƒŒ,3¬W+ÖµM‡A!iÚ–5Ç3Éžä_ L޼|[s¶Ùlä~÷ž'A°-yž³­*vU‡6W|öÕjæ†ï=Ýc,É•ä·ÏW,vŠLGîÍß2C¨Œ“u`Ñ »ŽÎ;¢°LÆc?qwOSH…#ðÿ‰·®%_<»¤A…¦Tš"ì <ÚGGc|9æßýåçü‡Ï^°­àý÷&IήZN–Ž=•ñ“ß=$Ó¿øÙ‚ç•ExÍL~çÙ0H!È¢D*AQô…¢Ù.ÞrwâQ¹âñ÷>âƒî±YWl¶-WÛ%¶²˜èˆή¶üöoÿv' %ãù!™[#°m‡k#ã¢`d,Ó̱·ßñìÅô•I׋ëÎZª¶ë ƒÉÑlFu½¤,,ç×5n½EgT]@KÛ4”ÓÈÎôÝOmn³H} [©”«=ú&ò@ÏC|fï§+=C0ö<&GZçˆ^È|ãÇ Ñã:ÿNSÒ{'H™.ÐÁâƒO±áÓ{¡'ݰ å6†ôΩ»×Tƒ1]kÉM‚[F¡è\Bq ž€‹‚(u§ÞûÍIòú[•}S]õ8 ïßáb =7QÞNün&o·ÌI!zisšt¹®CgYzIu›#¦}:ïQ! ¤f4žðê›Ï ]Åìð€Ú»d‘è–7 ¬Ìd·™«›Žožý×n(ejêåC²²ÀdyšàIX\œ±Z-q¾¥íºt Ž%$ÖŠrÌþÁ1ïô GwP‡()0¤-„™ëôß°ÿ<¡ûð¹öåhBŒ‚ºnØí*lUê†Øu„¶¥í<Ãd¸ÏÁü.Ùü{‡wQ™¡®¶¼~þÎuiPÞÎEbŠÁ'àyŒX×%¦fÜ{ð”Ãñç=Z*ŒQT­EJE–gÉv!ßy‹“iLfz:h×U˜l˜>„Þá…Dô¾ÁÒtÈYß×”ÁúÔD:WBÜ4#ÒzMÄþ° Çá\ú°…>Û$¥Â‡”¥B¦0º³>‰/U, ’ÕÝÚ©B‚MûtSœº0šRôžÂÛ5à;@h¼udù[Ï` !Tsö ”Ù'Ñ÷„bßkâm`0Æ4åAjºàÈ‚Cè9>`½8eЄܿ“eh]¼eÓulZI7?@­.Pm¥’ -ûY†Ö`´`0.€ÀwW ãaŽ@òðãYnÏ89]óþI³ZstpŸÅbIöýȶ9¥Œ–®íi‘Š5õÕ†'ï°¸Xð½§yÎúåK”ŒD•²AH‚ (ÝŸˆ¬ë¼ž2ËPJb½EëâvTíœC8O1áêírÅp¦yt|Ä‹——˜úš²ÜdzFÚ¨™4 r)#ÖwxÐ2ðäáŒóeM]m˜ì2?~ˆ´¿†É‡xS Í–Nx²Ñ!uwNÕÔx%Ø›àzuÓÔ!¾EåCªõ!$J ´´V°Y­8¾ÿˆBhþåŸ<Æ»ÀÅò [ÀbµÄYÅ`XÒ¶ºj0¶e\æ´¢E™ºmAòég—¼ÙTH³ƒow¾÷€¯^Îίæ/ž½¤9»b¹ÔÌJCÃFi=ž¢„¤k#µ÷4Fc…HŸã˜ ‹Yp"LJþÉ?ýG¼ÿÉ?`|pˆu’;SÖ'5ÛÍšzµa42 ¸:Ä0a{­PbÌÝã÷ˆ~€98‹ i˜MÒƒ…‘õòk~þçÿûcC^–Ý&Ç›Lœ¢têc2Ÿqµ\cmbôxï8š–H/Ò:-d&É LzYŒŽGLKèZK‘ç´mC–ç˜dSíðb/©…¤Ì ¥vdºà»·Î.+îï͸{7ãN)y])Î.š4í"¢Mw ãrÌÁž>(PAbez9|°3âÙëk¯2!(td2œ’ ‘6¥àíå5¿|~†¶2öF‘u¥yvrÍÃïüè>󙿲‚ómƒõ…(yðhHQØ´FŠžm,šû38¼7åî Ç”%Û.ÒÅ’Íâ-ÊPÏ$SX_r¾¼&|Ó1ºØ"…C†+¶ÎñötÁl^0xpD$¤Ÿ·ˆØÐÑE…Œ ¡2fù†<ôüüëßP §´m‡”‚årÍzÑOfœŸ½áøñ!¦²9»nÊôÈñÕ_ŸóA±¦‘û\®Ï8ö9ƒ;m¿Á™ýŸ”ñÖ½—ey¿‚²Þ£azµ˜Æ¹t‰íºîóN²Ü;_UjJÆ^£úfáÍ!$ØØ¯ûKnï’Õ,#F´Á“eYòÝÆÔx÷>i|T.ð1¦&åá}ξü”ã‡ïQ¨YÊ5‰²K+2Ûn(í2¡„$)r¢tPì¡R7?›ƒ’ïÚJ%6SÄßR´o´C7?¤ X4é°"{Ť,°u!5ê„ 796˪ Â!màèý÷ùö—ŸÒIÁßÿ„Õbóþ¿\úð÷Z)/g»ŠõâŠQ‘Ѷ Jy²¢ì‰ô‚¦©Øn7œŸ"cLÌ´@šþhC×¶ &c>øÁ'xçp¶£¶áÓ„¬­ÓÙ1e>FeBG„hiÐF…ÃÅ@a22²Ìq6+¢h•Ó4kŒ*h] [võE IDATÚ–®©BS ¯7ÔA uFVŒúvfHú²,!D¼ˆD—Î6"F2)ñ1q¶l×’gŒ6l6K§ÃþÜc >¡¢ƒ=].n(ó!¼;ø‡’¹Fh´ðÛT¨¢DÄ>¨ˆî+¦ ΦA ÙW>ÓˆÞí½M†v© 7«~Ä*x Q'4b‹:<ªG_õ#V‘*ªÚh¬}'M4a‡ê„ÞvÄèÉò<ÚûÃRpŽ(d"ÏöÐ;¥dú½!ѽo°ÿ¬&7•ënÿÚÍßû.‘ßï\7vøäʳޓe†®Ý¥”A6úäØ2ƒc|Ô´Û3†E†²ŠÍÕYM:Dzt³#dµÆmO¨ÏëTáW†ÂÀHKÊa†ñ¨@HÁ7o.ØŸOÑRC‘㎮…Åòy~Žœ¶ŒC¶Û5³ñ”‹—ÏèºT)·U…Ô%{%´màÞ#ö§#þü³ÔLFà‰”Ež¸fBö¸ AY‰KÒ ©i[Œ*QŶm!`›Æòñ”úâýöŒùÑ„«Ã‚zqÍh2f8ò„*­£•ÎÀ$ i"ÒCÆ3ì®à´ÙQL~Hžy®{<ùä}BáhÈÌqþê-“ùÝî ÈÊ9«Ësf“Α´°4Á±ººb2Ÿ#‚$¢©¶]×àc‰ K´tüÙŸþ3Nξ k"3,¯v\/k~þ‹/ȳß½zQ’ñtˆôMšÐe’gW[VõŽ YWr}qF³XSÌJv¯Þ`«C<K|ÓC#dI½³ò¥šõÁÑ>³½e¦év[†¥¤ >á6¾‡Ú;d0ÏQ,‘ÉdŒ:mÉrMôiÉhP2ÐÇdSMµN|·,`;…&=€u† .( #Š»úšŸþ»ÿrÐñþ“)ËíŽr8£Œp62™Žä9_|ý’,/‰6âmëˆ LJ3”T´Ò£Rø¦¸{D@´D_ ¥Ä‹É ÑAŠ =ëE‹k … L‡F£›jÇ·/æC>x`˜ ¿~»a]i£ÃH…Ñ’2W̦ŠÂ8žh"R'£ÑCB´H)Y/áÙwç8D›Ú…Ã!£Òñßüóße¤álÑòÕ—¯øêëK|Wp÷Àðá÷ïqvvÅß}qA %ðã»Ü{ ¾à|½Ã;‰ …|po„Žï2ž_/xuÒðâä’Él$ùWÿâ>/Þæ|õì;}ô1cf<ûú‚{Ž(f-“¨‚cÓDZ…Àq+–nÍrçXo+××éY¡%]åñmšT8'ØTÊf޹ZñüÛo™Q7‹ë5Ëë5fV’µŽ¸¬ô‚‹Å†LfãCºÉs¾;]sü`«+CW¯Èf‘½£çÍbt„D§-DOu¾Gù܈žûƒAè/êï¦Q=µ=º>#Ûó«HkDÓOvRÆ)Ünné7,'A%Áo&bb,*…ö=œS4$KCd™¾ Ê+!‘F‘'h)麗Wä:G¡ÑRÓÑ%­ ÷#xkÉ”éß‹ ëšþ³œð7ˆ)EŠÎÐ%fWëR_¦¢.¡(tŸ'{‡vïAØýAðv(à}ÒÁõ“¾¼HžÐ矵ÖÔ12¶-6 äÙÑÝ®æå7ϸûà1uÛõ|²^4’D½oÛ¥ v»M?xPxßá}ÇÅå9!DÚ®Ãv–ëå5‹‹+öçûá»?þ§x ­mɌ沞sy¶¤oäÁþ´ëòÉmVó ª­·i‚¥»x„Ö£áSU„ÚR·™]NÓWVHrÞF´Ð6-»ÃŽÍÛmãxÿ÷1²}°Ïùé9·w™ïlóÉOÿ‘%ë`‘Bq{<àÖNÖâëŽLJ a‰ãœ6z.[ÇzšÔ,í->øÝøþO¾Çd{#*"yŸ3(éÍͺÁlj¥ó’²ÊÑQáƒÀµ¨E–ST†ó«K¶÷7ÙÞ½EÛnï25It–Ñ­;„^§õ¸ïð1 Bj÷Z{ÉoþóÿÃû÷ fÍ ”d0¤öÌ G›È¨,T9fXáì*IP³‚zyÁ?ùÁÛl–Œd(rœëÐB`¬Ö.x6F%™8çñÑ£ 66øÆRU/??"Ôšqšp>ýjN‘)~çᘭ2ðì2rtêÑEƒ4 ]hŒävÆŠÍqÆ8ËðÂã} $¯Ö28¢)x~>£é HFQäšRþàÇï²=qµèøÛ¿ÿ„'g ´—¼ûÖ<(9¾<ãsÎÁÞ°âöAÉ7î½^áõÚglodd¹cm^X>{<å«ã–Ld\隬cÎ'¿ýš®@x¾}—÷þÖÝÇܺ—r4áòì"±D¤;?Çæ–ªÌ¹Zvœ\Ì™ Zf©Œžˆ Šå¬c½ì mãÉuΣW/¸X,qHf—$¬6 ¾|ü+¶ÇêuÍ4÷T…âÖÁ>_ú”=éˆ>pÞòãšñî»üœrôb‡·iB%Ä>p~=u‰Á‚ÐJ^7ïz¸eºDKIðJ¦Iz”ýgrL+˜o¦B)TBG›4&¨„AÎC Õko¢ï×y1ù­í¥¼é@¥T¤ÊJŠÉË«3vÄë=Œk@ë~ mgÉ´$× !"6Z„˜>k¦u>\Ç\@±XŸØ±O§x¡A ’ç6j‰ŒêæZÈ´Ê} <åÑÄM´Å'ƒ}:<ƾ!UˆX¡Á#¤bP”¸¼b0svzÂöî®K«K¡"¹18—¶Î9:Ö¿|Æb:åÄYìºF°¥s-í@Jò<ç?úv¶w™¢Ê:yxp!P*¬uìLvðuK×ÍÖ‘©êC‡·5J¥XJr2–-)6ß±Z®R¢E*´é^SäR!q*…G«)2œK°«|e¥¼ódºLU%ˆQa;‡0gC‚‹úHˆét®„ ØNä¤CŒžÜDp®Eô7›,Ïú‚/¨WkŒ1ÄëÀ£èÃ{ºÎõäÛ´ÒGp6˜¤±ÈLjÆ´â Â÷H»ô—7ƽDÊÐÓƒÁ¨t›ºÆMĘHÅ×S9-Ò€µ©ˆ 7ÕÜk•&²Ö†…T ÖOÈ”À™*‘ä¥CµSZQbUN5Ùçìè7 ÇÎOçÌcA¾¥W'4‹¹Óä²c\Hï¨r‘Á¸DI´šéÕµ—D™ácÇtvÅd"I°Í\+’Ƶ³Ù”bwd¤©kÎO0ªãåó/¹w÷ǯlßé20=ºäÁw¿Oã5>›m$Û4Ø.¢&9ZywL×z²¬ ^w´.£k †UÎàþ]>ýÍWÌÎ_±³y Á{E1Ü ÆÀ^6fg{Û9&[‡¼zô wtDmE¦x÷NÉv–ÑzϺ¨è¼gçˆå:0yû{·ùþ¾Ëƒ÷ßÂåpBQnR ..Ž©² iVsOYl’ WSK^ ÆåˆùÅ Â眜^0ÙÞ¦ÈK67<6$ÐbÛ¶X øD ïSÎ@kƒ â+P¸Ö!+‰ª[¦¯Ê»·s´ªhš9·G»œsI5Q–B9”)1z„@`”'×&ÓÐBQ”ln€–ŠˆÁã*Ç‹!$ã*'Së¡íbÐÓ[ÂuHY‘pe³Ù:MÄ*A52XX/¾]¢lÍEP|ú¬¡s |dXI6 E!-Û›£*&QÖ&'Æt£´ªeÙÂg_žáeÊåÊ’2ƒ·înðð[t«ÀlÑp|™ÜšÃRòþÃë¶áóÇS¦^c„ãÖAI¡ :ø1>ds7‚0D:•ÀÁ¢5¼ž×<;µ„ Y©€e¡Ñ1p¸·ÇüòŠq5æõñc†Á'ÿñ?ðè—·yðÁûìÞ=ÄGX-YtŽÙlAƒá‹µäÕùš{ÒSZ²^u\Ì”¦ q—–l°I{léÎÏúyÎÖÞ.ù`ij'ÈcÃÖ`ÀÆö6—W§Ü>˜0jf«Ž_þ˜.TLvh­â«ß^ª³Û`úVÝõtÉ÷ùžë‰Œî•b!¤Ö`:wÉzð6­ û¦›è}e߬ÌÜMã-\Ò%W]¯ÄúF_ì×q¡_ã z"‰‘æ}ò">Æ4mÒ†¨Aw0¹ý€WŸý‚Éî-R­5O˜Ÿó\K˜¯9Šý÷÷M™ª™hÕc'®/ó"M¿¾µTJá¬E*V×½Þ%Hp1m\¬÷=`ÔÞLüÒCË£°»Æ,„@?‡N9,)¤Ö«,KÖ¯^3Ù3]Ìȳ}Ú¶E„$Þn»~Ú( ++Bè˜/–Ü~ðÞÊÜàñ„¶£Y­H³®o6;óÙ%ëzPŠª,!¤÷D¼÷Q³cú¡‹L„Ĩ ïR¨º³6µ/´ Z‡Érœ‹8Û’ERÙMWw˜"K§ûþ†¤µ¤ëº,Ò¼!ûž]!Bìƒïô•ÙÞ…%¯‰¼½§ E×Öh­0Rãú›Ö5Äî:… ÑoÞ§¿ÆÖÏifÆ[¢|C¨/ˆR`C ækYE‰Ç£—¸Õ’vY“kÁV9@Ñ1, ò"¡ÿ£h•¡±í ZJ1¶Ì/Þ0È þèŸý!_FºŒº­8í:T^Ñø–éZp¹²L&#þì_ü»÷°mFg—,瞃‚,(ã!fŒª!2.¡Ë)LN&Áu ¶&%—Óè F‡ïóúÅS6&[Xk 6Ñz†³†¦‹¬-‚ª·dˆ›Œ@‰Ì¬#3]ë1Ùh×Äî’RtÄñ6¾¹D MÆöÖe^Ò…ŽUº(ÐYzoTeN™Ú¦¦ª ºôF¢‹IS"}ZÛw­ew·@> Ìg5ËEMÜÈÒ„+3H$¹Ô)'Ó¶´]@)Ø*ƒAÆìrIn4C]5|þòŠY£É¤'Ó&¥á`©rR$y9Âä=_AkhœàÍe˲Ç(+(Ç?þ€ï}÷.Š^ðêõ‚ÆY$н-C^þö8ŸG”òŒsÉÎîzsŸbr ¥4ͺëIÛžªÔH4gËšŸÿæ ×tA04‘,çönAŒŽéjŽÀ›ŒÅ›3 ¿f`{·ðæùsþáoÿ:SaTd¼ÿÁý­ï½u@ã=ͺãâÊ1ÙPë(Vë@ݺ˜ÑÌk|P¬}¢twvÍÆ¨b{ï—|ñéo™ ‡ü³ÿáO¹uÿ!Ÿ~òSÎ^cmòhJãyò¦e8ȸ÷àÛ» Fè|kâúzu{ÎS‚mú^¯“˜U ôHÿð ½-¢óD)úÃBʱ)è\K&ó»è'- °Iïô=¯*©f¼÷©ú2DçJ¤ ]mð7ÒgÕÖBzò|@”9]³"+5JU W¤1¤5Ñu+„té6Zö­r‘.èR |ƒR)ˆ•îñô+Nz%\ °û!µ ½Èe¿‘¹ž ûC¥¾9´~“ïŠxkoÖ§ÆbŸm‹ýàa4؆ýÈ㯓EÔ$CKÈúƒ ¤mÒP)Í“ghê%Û»[ÔÖRÏg,æ³^«˜¾†Ð|$xÁåbFdJQdœwŽƒýCŠAÀr•T5õÙ1ÏŸ3ÙØc8Ú ¨JŠªYb•¥±+À'z< u޾¬€š¦µi@ƒAxÚu.Br keÐÚÐ:›øgZãê†ÑÆ6ëùY¿’N?+)®KoàlNé FJ‚Î6”e:uÖbm‡kj²jD^¦ ²s)Wf´!xKfRnM›ŒÂ¤¾n‚„±­Ãd¼³‰ï!4ÂôÒc’¦$ø6ýÒEDjÀ+t.h»š,ËnÑû‚T³  Ò[êë¦FºÝ“£LZ+^³E„ GËÅš¢H.¦({¢®V(™°ˆàûì–EJ&ÉdI'MÿÍ­)ؾ".e"µC$ë0.X¤ÊS]W\gºúµï0HÚl‹N`=…¢¦óe—cý Ê(Œ1t¶EÃÕåœ50Èö䘺ñ(iP¢FˆŒLjU‘¦B&£ ®ëX]ÍÙ-+^Ì®°óû»œ]]2÷åhÀw>úŒ»dK9Ž^;ao{“ËÙ”yë‘"ÑÕ]·dÓ¬Ø<ÐLíׯ´­K[)™Îçë#C3bk[ñ_~yLÌ÷¹}ç£,gÑÔüõ_ÿ{ö·6½÷€÷ð]Ž^’UZ×Î)|ì(µ!Ï*Fw¾Ï`û!”w($"ûfè½A —{ßãqÒJMðßhd®Z!ª› Mº§šî%ÒÖw7e$¡Äµ^/M´úVáõ%ZKI]oˆHEßÚK“‰ÎÚ^¹¦QJÑF±š D ›·¹º8å΃-ZÛQU æÇä)tÁÞr²Ìô¼ÄÒi.ŒøhQ:Ã;ç:|n2Y º~Â%„‚†…”1M+]蛇²Çé›Õaºç‡^jØXÞùÿöw)“_Q ÛŠÕ’Z¦WWåFÊõ9µ,˰ÑÓ9ÇhXquzƪ^Ð4Mº˜)“&;¹AÛ–ñh©SÖYëœÚ6IMcË'ÏxðÖ}Š*§È´]BR "«úŒ“³'éÿi-÷ßyŸÝ=Ê¢¢îV#SFJ(P :Ú¶-Z¢ÒØÖ¡ŒJÐk)±6²¬—ìî¢uÒ¤¿w”Æœe<,¹{ç.çg Á¢ µ5ùh\è´†&$ã‡Oç‹¢,12鱊<Çu W‹Ó7§ FCö÷÷û)f¢äYIÓ´,/§"åhÀæÆŠD6çÚ)§2½hóFÞ¬Ê÷,™@„±Á„œL¥àxŽöÖèœCD°Îe‘Ü„Rã<äZá±)äÞ¯éd®qõ#*œƒ¼Èñý‹Yå†(’„5„^Ë®0¨¨‘ÁE¿%å¬ë¾åL’YeRHñZÚu-QF¥òÄÃIsêã5E¸'Q‡¤q)¶©¯žã}.Ǭ—s²²$´3l#Á·ÓÆ1`}ŽsÙÕ $ rC•IFe ˜+•RFD.Ng,gkî¾½ÍðL1\MQ1r0(X¬—´Ë~ ÔF¶µçâÅKž=»$JÁ{{›LW5Á{T¦ ù‹§œ,[Z¡‘Αg%R´t!U|eH7tÕSõ½tȼ¤m[ºÆ§•‹ €F6iX!ÐÒƒ¤ ‡JðݽÃÎ[;_µ|ý¹E™4ÎvÞ’çCœ·ˆX.kêÎ'MCL€ÈÆZ:k)Š1õê’§_=¥¾x†ÒcÖ‹ÃÑ÷ß}‹—ÏžòÛ_ÍþðÇHåX¸ŒÅ³gÜ¿•ع6,â ⚟ýû¿äÏÿ×?%×é^{r<+ dfˆRb´ådÚpzñƒ­·Ø ÉŹºšrüê ¶·YûŽq1`J`½^²³ÈüÉÿ˜:òï~Ÿbèùì¿àäň˜mòèéKÚ¥'7‚‡o½Å㯾d½jÙ8Ø¡P‚Ø,ÉG;ØfJÖX‚êX»@ÛuÔË@-º4T­ãääY¸õ‚å¢E— j+(²Iß’í]!ô^ÊÑ`ŒÆºŽh%ÁŸRˆ5JçXV¨¢ óBG–WdyAÛ-+L!9»¼ thÒëgg¬YÌ+Û0]×¼}0¡sÎ'ÿš–k´Ð”¦`.k.§k\ØJrVÀÕ_z2žÍ vË ™¤õŒ†w÷ ÖÁãã%_cT·o ¹«LFQ9œµ¨(2£Ø¬X®Ötd®©,[89]á\@ªÀx´ÁÝw‰å§k>ûÅ#þö>eY· uÉüp½ ËW¯bjꌬð|ôÑ-6÷v0›÷ Lçäƒ1¨€FrwL®ÚÔ„,4ucÉ(1¹`g˜“É/KF¹äì*ðæÕ~ðg›æÓ]{F¦õÕ£ …‚R*ŒÉy9­ùÕãßÕoƒŠÛ\]Rå’ióòªãþ-n ;çÄi^<9âbñ˜ãÉ&u0Ø«×)8·-¿_Uä¹¢>þ*MÊ6 B„.@t9Åp“ïýä_0ÞºE®{e OLÀÒo±€Òá§s}¹M«B=J¨¾YRsЀµöÞùí–wÂhÐýÔF p`“JÆõ­µ=¨4P¤?Wõê5áѽP…1ñ¢B —š FhœŒ·vxóÅM·@ËqZÛÒ×ð ¤L"ö|+K×µ)¤4‘ĬJï7:)…œo{Ž¢Dú¤~C¥¶¢2êf£"„I~C‘Â×B%ÂúõÅÆ‘ªG:H•ƒ£’›Ÿ£é#NÔ(‡÷ÞáñŸÐ®Öllì2Ÿ7©ÑZÓºÐã»»ùçþ¿ðËü;¦_âµD¸šb@W¼’¬âœªªPJ“mð(ÛÕ¼zõ’ƒý666h›yQak‡ÖŠb0ÀÚtèüú·Ÿ2;ÛeïÎŒ‰´í’ r K¸Œ"#¯*4ß:ò*}òAÄ IDATÕhBÓz¦W/¨g—œ3U£ÈsЄ+E ^/ÒŠZhr­)Lù„;BY T#„JY¯jXá… áõźXTƒ!·ï=`õåWL/.yýäJIöïÝcgk“/^"CdûÖ±sœŸœðüñ×hP\;9½O@*s³V»®ã˾ÁúñnPŠÖyòÜ`;‹ÉÁŒ4ˆ˜Æ§^HŒH ¡M:¢q¶‡ÆywcúŽD¼K€R-tR«¾¦Ò ÎvJHäø¾©¡®Wx}Ö*Ú>kð! ûfGºQÙ>ö×’4‘JµanÆ~×cV!ÀèØcb‚ÏÉß- ™GäP18‚4Xp«92+ÒjOί–é ßNiçs‚”"2(3†…Ƙ”í’Z dÄÏÕéŒÕyƒÊåf†P‚…m8|ñÞúj h½Euk˜¯¹:¾àô|ÎÖ8ãvUá°<]yndìN]¬øôÕÀ T•Ìîµ H"¦ÐtŒŠØ/”Ìð¾%Ô©à0V˜Qέ[;lïÙÙ²nÆ×¬ç+›Œv¶Qƒ†'//xòô‚e±‘—x7'8EÈ’ËÑ;K×¶Ìk‚d…†Ðá:èOY)Úö‚úò{»NŠÃÛ÷Ø9ÜaÑÖüügÿ@.%¯¾~Å»;üÃÏ~ÃÝ>`z~ÌâÊ0ÜP † ¶wAç ªr½ ¨ëõMh– "J–Ëß)ö?¼Åù²fHdeÚ‹×l¾ûû|ùÛGüð‡?¦®Ó:ùüøˆØ:¦‹+6·w½zÆÆ¤dºh˜Õž«£S¦µÅ× \€jl¸uï-Ž_±Z¶TÕ ™3]='9¥)eÉñ›#rSÑu¡"]kÉÈY.jªJ!MEQ¥0s5’g%B ‚W齃ëUI3å{ŽoËùcF´4‹äï)ú}gЉIhmº…ß¹u€rWloœœ­h£f:‹,kË ×á‰AÒÅ­ õ²&âÉ´â«gSþðGï‘ëˆÀ£zÁîEëys´‚(³H)¹€;“ŒL9N‚ó«– Žøè­ rq6A„ÓÅ0#DIp‘ÐÔ‰í—iܪe^;>ùõcê¼°ä®âû?þˆ?úã?âèÍ3«%ý÷Ÿ3wå#¿÷£÷·5mãy~v‚ ’\F~ðþöwJ&÷?¦ ’ÁhH Ãá"(†C®·Øèι³/©(… ŠºŽ4…%Óï¿3dúÉ’×ÏÎøðý[¼ûÑ^>=!_Ð:(#{÷ðôÓGìOJb·àö­]¾|ÓðäÈòý=¸C]ÚlÍGïn2ÖÑ`²ŠæbÆÞÍxsîÙ=üyÿNÿúçÝ÷öùËŸŸSŽKÓÝú ï ¥Qh-qí‚»··Øyøß±uçCŒ øØKÍé"N8¼·7f bbÑ~½}ˆº_¦yR¯žIå§~[“&Y1â®u:Φ)MHDu%ÈÐã}ÀÈ ß+Ø"åšzzüµoVk…i²cD¨,áB¸É79—2Aƒj€, \ÛU‚¯)TŽíÖ•fR¥0¸Œ ¤AˆøV*­ƒœM.Ðë0º ‚(ÒáÉ÷ì@c I=oðiKr­áIëÈxݦL'Wƒ¼–ꦅsä&ƒà>]Rcï5ôÁ'„B? ÙÙ»…wõrŠ6Ñ&7âµÖ'Ë2ººa˜mðûòg,ð†¿ù¿ÿ Nt¬,dJ¢£H“ÀzMYUÈ(UCVÍúfRØÔ5oÞ±Z®¸ÿ>³Åœ²àƒíW¼1 r<œœ¾æòøˆ{‡» ¶w¹ªçä!¢´fzi1EÎÖd•=æ#"…Ç è¢`é1ή®zœ䪀ëC) 9¼@(…µHñ¥,ËX­V4«š©™“Fƒ ºõ‚ÝMbyôÛlí (Cf‹õjJÛö;£X·ŽWÏ_a›Ž¢’eRd•À9ÒäèàB‚ƒ^Ûº…îéå'd:`ÄtópÖ"…¡R+Bã:"†ŒäOJcK‡Ò&)9ò,)3ä5m6‚ô„ÐÛÏû€`¼ÉNuh]á±ø˜š×Ä^%u­BÿBN«¦àÓ*ÕoZ"Öé–ª¾ B*¥ê+ªýÚ°¯½F¡nXI]×õ‡,Ù« B_ÁMp;i4!$v'RîÈË =Þ¡¾|ƒnB³bÙæ«U!Y\\¡[K=™Š¨¾…’>ÑK"†é唋‹9ÂKtçhç‘2çjÕòæÍ1{ó9ºÈÐÅ€‹éšÅ¼¦ ŽÛ›#öÆŠB ~ñÆ2ÒŠB vw6øéß=¢u¢GJõ)Wç\ÄÉ€ ê¥H ©‡Q‘L[¶ö6¸wÿ€Ýƒ Æã•eŒ6 „IÍŠ‘ƒÚi˜ ‘ª@ˆ†'/®xüü„¶ ˆÍ < L‰îÇmÛ¦POË÷!ÜÔ_Ë¢ÄTÁ0ÚF°³ýr0ƆÈg?ûRI´T´­åèë7==Úó³¿û„¦ñlmÝáãŸÜåóŸÿŠl0f\”¼¼¸ä~»¢*‡H“Û@tç<ëÅ g=RhFƒŒÇ~‹]ÏpÁsww‡/=b\V¬ÖK¶·whÛ7DÓ«3fË9Õ`‹Óã7<ûzÁbÝÒM[7ø®C‹ Làìì‚·ßû‹«+–ó5Û{Ò‚«[ª ˜Œní êP$õ‡·éjÉp8ÀùÈü䜬Ì霣ÔlsJY Q¦Â@ök}’ ]HBȘ>ÈmhÛam“”0¾Kë—àAP Štðï"Ö†ô`u"zŒpLÆkïpÎóŸ~sÆï<Ødo?gÕ¤‡bˆé)”†h‘™¡]Ï©F:Y!DÊYüúW/¹ZÖàÁÁ˜‘‰!(r‰U†×çx"#yûÖˆJY† ŒÌ B¤ð° dÂ`´bµNú­ã‹†³‹1DfAe4N æ³_½`ÝZº¸`7+¸½=ĺ/§žóó„„‘12TãM:3!“]×!LÁÅt†ëÅ䯠w_rû=ÍÛÏ_òÓŸþ!4ÿõ·oø'?zÀ0:&ƒ‚ï|0âë/ž²8~Îþî&;ß=$üøc\cùüésž|ùŒ‡·'øÐpPþèEñÇïò÷ÿuʓ׎­­–í¡Â9Á溶åѱaÞ9ö7t^qg’ƒ·üêÓŸ#¿|λ;†Ó ŠaÉ àÛšÅÅ] ¹=))t$÷;;„Ñ­Œä¢Ìˆ=›)]xÝMþJJqÀNÎåtèÕ=')~äûκ-4F^o#4‘ä ŒÞaŠ<œœ#“)û•ƧØ{¿636¸p¿Y•…اü–xš>¤~ >My­´^$FvnÝáôõ¼»Õ G‘ËÔô­z•.è1öÿŽ3é‰×,ëJFlŸß_Þû¬uŒhõ%kù²û¢ÚKŸ¯3VRÊ>ãdzPg9Á¹ëQjbª„:Rªÿ9Aˆ°±µÃÓ¯!µbÿÖ˜iÛ’©Œ¶m‘:P…N±*d£Ûüóù¯ù·ÿ×ÿ‘J#ÃDF—>#á¢ëEØY"—4u˜¸˜-¢Y\ º†Ë‹)J kY­×Œ¼`<4„ºMù/±¶ÃDM®sš¶áêü×)\èFÍÅó+ìnB<¥¦bVƒ]Ϙä5x&Û£á>:¤BÀ?]ðâªåƒqÁÖæ¢çùÅŠUl)uÅZÕTQ!ø¦bmDg)ðt`#UY°¹™sÿþ¾3&¯LÒíO ŽZ´Ê±6PûŽçoZ.Ï.øø[å`D9|éUÍ÷ÿàÇ/Îùôé#êµäWŸ¾â;ïO0QR™†­ý-~þÅßëïz2µp¸¿Ëážçøõ—g‚;ºZ2±+þôÇüö‹5õl‘ཫ(øú•“3ÙÒt5GÏ/ÙŠ†LîDð'èÂðé/®xëwßæpwŸW/§|sÌpK ƒ£Ð9Ýz zŽ®äY C”á&H~ ˜N“ÓFöTòþð•2D¶oJBH$óÌdé³:„>p~=ÁIë$! mÚoòH!á„L¥¥ëæ^+’GõÜ(ÓG@¼H¬zg ú&“u};ÿvhçäè óå”…OÛ"¡$B ¤2d½Z)}3\.—¬×ëþ€™ u³¢^µ€$Ï4[[Cä`‹"×-E>&xK.ªÐZKëÏÉ ièâÖ5”Õm›å)Bo¹†}ºtp—Iå+é‰.Þ|/Î9D]§¿‡24Š•CäÌæì¾…õ¤¤^¯hû–ìp0 –R*ŠaAV¤÷†’iY¤Çµ6µ‰!­öDÀiCt¨¤ÎIN¨Ø#›^ !¤ñ,PˆÞ†-Òí7v’ε˜Ì (Ê ¤‘8@“‚Í"BžR¤Ïüt¾%ÚˆÒ.˜…è'צй)t_wÕ„^¤ &–nFqÓî¸Ë A"–GˆA¾¿9¬M0D'FŸ&SR⣣ ¥²ž4¬h›M]¨Q1CšŒÖu“1"âFÇl=ãÜÂÒ)6Í ×Š.’ K¬=Z¤Ê©èhí,µ^ÒÎxAãÓ¸Ûèžr–|ô`£7 ¼ ò Š*GeÊ(ZèBƳùœ—ç Êk6 ÅÞÞ&³š¹sÒ²Š“©nJÏ „#«rÆ››»dn™À Ô<;šQŽ´Ý”í½-šé‚ñX³·7bQGž¼<çÅënoòôÍ”¯_q¶^§8‚v4¶f#fXgÖá‚ÇÇHl-ÑK´öØN°\5´®%9ûû·É„´¬ÈÌ]ÁÙ›´Ž¬V 667ÐeAži4§Ÿý'þþ³ˆ BæØxÁó¯=+ÇÙ—Ħªä!Ç“eQ€‰= 1$; öò\´Øà’š¤>§­/0êQ°ZÏÏ ¨hZKQåýû>ãò┦“ 6+ÊÒÚ€— ­s|èLãùXáÛÄñ$9´òŽ1,ÕšfÞÐ ™”':µŒ__zM ÍV.Ø*´ äY *ñdÊ2J ½»Å°*ñB@§ÉM ö®×xêºes<¦^tx¥!b#t­¤µ Åx#çÃÞgoo‚Ò:‘ý–6:îM*þé)¥`IC³LÔl…ÉÙ;Ø¥?D©aÚ;P‚£¯žàDFæ5—ÇGììâ]d<)ðˆÿþþ3Þûä3þí_ü_ŸvX{ÎÃwñ>²3)AñøhÆlÑpïŽyI©#Îk¢ËÙØQ,¼8îoF„êxçþ˜'ϦH™£…g³‚~4d0´r8á§ŸD~ùyÍÓÏfìnñÒóų{wxëÝ÷Ø=Üä³ÿøW,¯ÎùðÝ·é¯0[9>ªªd±xFµýCºPÁÝL„”)bAÊe‘Ò$(Dz– ^L›þÛ¾8Dü ªzY4>e&eäÜ7¡x3ˆ€ éËúHFj¥çŽ} ½žhê™’©í:´2гƒ h‘ð1*%‘¦¤^ž¡õ8 ”³¾q†ÄÒA«Ÿà©þ °xBOJW=n"Æ~Zæ[ä5'À¨2¶Ï‚ð}ë¾g6õBìÎ6éõ-ÓϘړ¾´ ¥ˆ}ߦ‡¿ë)òRx2!·÷™_M¹8:b÷þ;¸5t>`tÒ£áêT6éÙÅ–ÜdìÞáðàá¦EéˆÑcåê䄯¾ü5ož±n×X)Afh•4ZÊd ²!¾Ç­Ý[¼:zÌhsØ4Üyø€¢()5Øcé:DPè2K‘>bÐ7mR|ŸQ ©Uxͤ2 B¤s©yi¸p QÐoçBHƒ Yɉª ¹VlßÚãèÕSîܽϪk)rÃlv…wm*S(M ’ª¬ LhŽ2/±Ö¦É¾H2ߢ Ú- ¸{íAÀ¹€’)<è„DöÆóÓmÀù¸:2Sàl‹‚¨ Qh¤„~¿ìC²©;ÑË3Uj“äÆàz™§íšþ–“8#^z´N+ÉØYb˜Ìà•Mûå û7fü¦a"Dèt¤Î°¶%S‚åù+†Å×(‚»Ä„˜uõ k-ªki„ãøtŠÉ"vaisHLp%0Záë6!œ`°3¢m׬— *rb±­`0L·üá Dø†í¡FI^„6ØuÝàdÎñbÁÁÞû¬áÞH"µb”þþé1 ×!D†Ð©Õ™i…T‘2/0J0dlmØÜR”Jxriº–Ut¼™[†Ãó—Tª`P.Î×¼:[ñåë9Áv¬×‘“ù‚£‹)!*Œˆt>ÕCD!q1)•:’ #&"¹>«±!p³\ ³ü§ÛÖdåm\½äÕ“Çüé¿úsþê¯þžA¶Ö’ñ6Cñêì%oÐ:5_Ú¶f6UäÙ€|s›ã«¯^’ÿÉ[ضÿð[“ VóK²¢ó¶ÏSøDœ[t¸Frëp¿øÿ?þýŸ0¯ÁFͪ­ކÔܺsj ËuÉ&›#Þÿ€ÓËs>ûÕgl G4³Kóï¼_Ѭº¦C EÓ¬U|—”OJ*ÚÆ}Ä{G53??£ëZòjLÅ|Ý ÖK–Ë9û»&½Æ{yëõ?7üÞ½•iº½@††`=Úõ ¡U’¦…·Rm‚è±ba%“ím†ƒ c¤l±ëÓ­Í9‡–³µÃ‡’õº%*Eeã M®¥VMº!+¡R ärFç…pÜ¿õÿSõf?–]é•ßoçœ;Å!3"™#“S±XEU©ºJP£-—%·í¶»õà7~éÿu6àÆÝ݆ T’Z”ªXUœÉœ"3c¸qç3ìÉûÜ›lAˆ¸q†o¯o­ß:Æ*M[ ž_f«Œ+¾stÀ½Ó1ÂG´µÔ¾Ëà [H‚á`˜±…¤næ-ËUG½Ýâ‰Ù· œÝ¹ƒ°mÓp±\Óø¬tO*BÜÒˆ’Å6åõ“´"q¨j8¤ßBÚ*'ÂTA[¯©ëšÒH*[pëî}P‹Å‚ÑdÄ~ó[>üãŸðÞ?û)ÿlvÎßüêïùæ&pþ÷Ï— QîÜ>@V’—7Kªr„µš/¿}ÅÅUËéÙ§w*b%øòÙ+ù)'g‰·ïiÚ ©ƒñÀ#Äóàë–3ŽŽ ª:äôÝG\_­™Ú¿øåÏyüƒñîGòݧ¿eöå'|ü“»˜íïh7°‡\/—M0jEtÂfõIîˆ×=j· 1dDÇÐSÓ ¢NkezdMñ™HîÑÆôJή†äMŸ_öKÑ'æ²Ú¬Öu[}—a»mƒOyuÕ¶»®ÉŒ"²H`ŒÉv“ÐWŸÉœLŒIäâ_!h¶+¦Ç kõ¾ÊG™ßЯGÉn*{Ž3G±@Ÿ;}×oGÞ`BÈä ¹éà 3¬ïâ’B?Hˆ!{’µ&’'ª"JK‚÷9aø°/ÍÎ4MŠ1Wýô[žèCyvFýä ä;y»S³ì”ÐtÙÇÓÛgT¾¿HØ‚(Qh´Êõ2Çùð?b¾¸á铯øîÉç\^½D °Úpzë>w½ËéÃwQ2ƒ†›¦A„-ÅxÈxzBë3S%É æálNµW%aµb:â£ÃJM×u„hÜsp'&‘Q]ƒ2‚®ñhç;¨ðMƒ¡ÀT‚ºiq®‡ˆ§A ­åÞý{<ùò÷Ü>»Mã²O{³YîÓŒZy„2H©)Š‚¶mû Ð^™s-Þ§=Ü\ËäQJàb"ú€&›Öµ-‰)§è„ŒÈ$‰Ü÷•Vúý¸%Š„wý^>Q!´ÊÍõ ’Ðh¥ ý„çBN^âM!¦s1Sý ¤_NîKAE/ gÿT$‰F½ß³ª²Â›ÿï;¤{X¨”Ù‹’b ¤ˆê«}”R9½'û²eˆ ”Ð(Sæ•Й¨&'4—ÿÄ8yšúRHºèˆBsr2â«ï^áºÈjå8÷„îñÁ% ÓÛ§\¼üšiQr|wLt‰êpBÓΨ†#*›¸Ù.¸~=c`¥©VÜ¿Çó§ßQœqU_"…"&É`” Ú"tH#yþÅù¥¤% ï+Ã3š³”’¿ÿä9=˜2ªJ^]/X·]NÀ©Dè2Àð­÷~„þK×y”-è67üøƒû|õår’òæfÉr¶ Ý¶¨i®^P&׊=&„—,W[¦',KЊátÌppH $Qòö;ï‘¢ÃÚ’$sm•î×Rˆ~]` \oêÍkõˆ[^"b‹Õ°Ý.³õ8%„2´12NH|²<~ŦŽè21°cdVjC]¯dÆÒDHJ1 hbfÂl¼ÇGAU$~ðpȤ”Ÿ_°°FQ)ͭ“ X£)¬&‰Äϯi‚À&ÅS˸̬¶¶s¤]SƒÏX™$.xDÒùÀ% °;ÐB®íú‡#¸˜øö‹ïèD JÅz³ÂÅC„|÷ä‚Näg˜’-ÃÛï!‡Óü‚#7P¸zMÝå$ÝG}ÄÛý¿m˜ÜJ¬sž|ó ÿôÇ·)0´Â3Yþõ/?æäÈ"…G¸\/sUwüú“oùú«>ò]ÄÄ2Ò°½|ÍÏWÌ·5ñµçø(bµâëo×Ü{ VRøàójÓŒ+Ééä¿üˉZ0Ž)l"lfüãüOüwÿbÈg_¾æã÷q*r5[a†¶ ІÖטêp?¼ïæwA^ Z%éú!aç)òáM±næ`©ŒÒQ™öN$•yJˆÝ”Ž!{£V¤麎Էˆcè‚ëÕ2HºnIò9¡¸Øv}€ˆlsÉ „è ©³Ú¶ë“s®czxÌ“ï.™‡Œ2eÐÊ•bBd&”i²&…ü²ö¾ËL)¡ ¤Ì½u|Ï7å½GèÌSè •¹93 <ìjä,ÁwÐ×혌¹¹¤h›ƒ+™Ÿ;Ÿ­]›[*Q NNøÖ¡u‚T(ÐJ£¤À…Œ(*Š!Eÿ½im{>›Ü_ãEQì•Wç:„,ûm‰ˆ¬^‘O'JäG‹%´•¤¤!ºÖ£´Â‘¡†RõÄs¡ Do^L)M)…Ç$i»Žà=]ò% ‡¼n<{~΃;ÍbÁûw)% …ÆhÏ´Ñy”º¬yûì=¾øæ5?ùð”Ö7ÜÌ^søè6eQq0¹Íx2Dv7tÍ)¨¼ž°Õ„J[Ö›eVnéxýü÷}€9âÌ~U–LbÁ<Ö- îÿüOŸ|CÛ h7ËÅ×Õ¸NPŒ*ìô6R5ø(Ÿ°:ÿ–f;br8a³ ¦àærÆ·_|Çë‹+~úÇ“‚ÛÃÜe¢ (KÚËÛbC½Ýrt|L×µtaËz³Á´&§m¯eýÆ{Ò…¾·Ëï»)%l¾ëÏ´Í–¡Îø!¢ ¤,ܵ[’BÉüæ%M„±HZ‚(‘Õlï"åû©i†Ã1ÎE £2 Êw¼ºÜ’¤áñÝ Þ?×(ú®5ÂaUäd­ì’JB¯xí.Ben`N®vèÂìYUy¥GF8tm‹©,aÛ"hcvq'”’méÚÙWÝ$ZfÆa¬$BÊž(÷ÉZ©š )4«ÍŠÉ°Ø+ÁÙ¬Þ3µökÐÑ;‰Ø«È)·%ô¦õÎÓÐ]Ÿ£L{SŒ¡WÒØ{®bŒû@ѤÎ&x“NÚ*„‹¸¦AÙ|íK©ˆ.`%ú„µeö´õJÕVrúμþôŸxûÇÇù÷©Ë<0ö>æîA¥œð—"TŠ»… ïPR‚€ÂùY ,±k3›2F©³7­P’f|t‹£É¿ ª2§”… ëZbÈØ‹ÙÅKbpÌ®¯q…6ãéƒÁéÉ)¦°m SàÂ;´Í‚ë_ÿ5ãAÁ|½àÓßý#òüPojî?¸‹Œ ÆLŽ(Š’ªºÍ *yæ^òÖ­#ž}÷·‡YÙÔ Ñ jlQ0ÕšÐ{ÄK;D)Åz»âððç!„×!Rï ΋¢B£ RäA&›eI]BRø°RæT)‚‹(U¡¨t楄駢Ÿv} Ÿ!¥ärKAȈ¡@G„]æ’æiS@¦¼¦“2Qôa^'!„ÜGFÏB‰x*;ÈÕ7)™ÕŸ*„HhiId£e.qÔ}‚®OGO¡²"•©Å†$  eÂÇL}!"TFWìjGdô¨é;¸Õsªõ5IIbh(]ÃÍòšË›¶ó†Ö@ìP@%Uei988Îà=¸zñ j=¥FÇ!·D ÁÉ]‹ %›ùŠ®õŒªm ÂZ6]âæfÎ`8àzÝ<íéV‰c­ .29°Xu,ÛˆµFzÆ•a:­¸sT2UŒÇ «:*3Bª<”*i…EG•ßE´BH´²l̺šÍ²Íª”Ïk?4÷Ô¾oWup¸Vàº@"¶_ ®CJA“$I(Õ€û¸¼Z±\µ,·5c5Ãûšau ¬.¾!5žYœ³ÝÊñ‘PÝ2¬þñs.o9¤ËÊÛè`ÀhxÌðÀñùoÿ#ÆZ„ô´•4zÀ¢iÇjÝr|»b>«5˜ë”(D^=DXKÇ JôÄòâ»gÜ™Ð8ŶÞI¼>?gQϹ~±Éž]I¡cëõ圓³C6¸`88d±yÅÕbÁÅ‹çœ?¸Ë 4ØrD1X DK³mQá¢Îë•$si· ŽïñðáOzÞNfo RG’©e¯€­$.´l· ÃÁ­²Yát‡O¥m» ¦ª(L‰ÐM›˜¯(&hwÃa•ˆÉ!ºîÍzC€k×èÂ2 ¨ˆŒ†%›¶ÆµŠHüþ›^*>|xŒ¢¡EÒ…m@Z÷ ´¦J¬ÎeÖ]tÔ.чQ–Ó·¸=fB½–¸.§…H†Ci‰J ¥…UHµ[E´N,®/h»¸×y¢ÔÌfsY,.ÙÎ&'Rr4ë57Í–¯¾þ5‹å WSok¢44®åË/¾àâfÅÍlMÛÎÙljšNÐ9ˆÄ>aYsuùšÅ&qzç}¼˜b¸G(¡ö~ÄÝÃyw2߽ܤ.¨ÊоÙâ›%«Í¢Ãm—¤ú‡X> Uðò¢a¶t4]ÇátDUF®/ŒÍJ+вDÉÄ rx ÐJ°l[‚L\Ï:æ+ÇphвÅØl6H%P¶ÄÇÀfëK¬Qˆä"{jê:á:R‘‰õTÈÒBXª²@IJ„-‰ÙÇ ”è>%+Ø¢O»%PwõzÛsò'Ó):uhá88aÐÆ2e%x¦ã Õ° Ɔ(ef÷刈ÀÇMY]ÍÖóWÿçÿͱ*Þž¢µæÉ§Ÿóòú‚mø÷ÿþbx} õ‚¶â݇Cþí/pçj'ÙÄ€ÕGtÊ c¤*¡q©²ÍbÚâ;ŸIâBìW!É»’öqy­õ›kOîžÃY©Ñ*ƒJsE[†’&™°*+/²ÇñìÌË)åç}©±s.CNóª!‹iÏß!u$ˆDÜ©V:/åRCFÑôßoð%4A€ÐÓƒº¦ÆGˆúZ£ì›Aɵ{R|"‘¤f‡ù ×€½‚,b€àI}cŒù#’B$™=\!{Îv÷ìÎ;)¥¤mš½’¶S¥Êœ;©5®Ç4ìB tÚÕî \t¹ŽHJ‚Î_ãöÙ]š&"T% „ß+Þª‡pïÈüÎeb"{\»zŸQ.<ÎFþ°ÿ}ßÿ¹ SFG%II± tîüvBˆ}”(ˆAö}Á% •6Ÿ¡áF[ºÕ’åæ ß¶¬oæèèxôá;´"ê5Iôa ‘V2 X®V{Õ²íjŽŽoá…àÉÕç××üæó?ðû¯¾à“OÇ_ÃËW—¤¤(ì·Yñì«/ù‡¿û;BëqNdkËrÓ{¸36¤ñŽíf…lÛ,ó¶›u†j‰wmö8hÚ!Ó^bßíÉ¥Hh#P$ô®dS´’ùo©2 =¸,{] !—2JS…ŠB$¬ˆ¥¡ÐTB…€ìã¨Ji´±tM®˜ (]ðÍåŒBFN oÝrv:ÁV m FYŒ0H™}ReªvJ ‘뉤ˆ¤¶¥qŽ#¾sôÏIBôh1E¼Ol]@Éüõ…R4Û¹ž-笷žº­ ±_UÉ ¯D’ï8šL‡–avÕ±q+ÂvÆâõk¦o=Bº³ !¡sC(>t\¿zÎvÓÒ¶Ž )ÔŒ*ËÙÈt`yðð,³ŠbÂØ £ÑˆíæW¬·-×—´uÍù‹ÙSRز ª² ,%â¤Ð†‰…_üé»LmM³šedu½åf>£Ù¾âåW_2=9c~3ãæêYT¼¼^q3_°^ÌhB‹wŽÅj ./.¸Y®xýêšv±&v‰¶[hhÛŽíºãÉ·O@UµR¶ÛmzIë…6rŠF¤]zöÍ .—ÃæxxRyEë‚gµ^|‡ïbß¼xµdÓB]×TðƒÞEöjƒ"MçòšÞ(YR(‹vç<®Ñ4.°XlÂsÿô;ÓüªÊ’óz1G ÖH¹Û+áQÐùþP¤ï?˜2´#<cª¼ÒA uÙ¯Vt=eƒo$#[”–””Ô”*{c.sþó¯~‡þBRU¨CäɳžÌ¼DŸ¤bT ‰Ê`2Øï=7³+æ×WÜšŽ¸ÿÁiÛŽÅÅ+þéo~Í«ïžqï™L'¬Ú-Ÿýý'´)ñ£÷px2F—%]'ØúüY6çÕ«×ׂI)1Fã}DK›‡k)°…A[…µnl5`2õ}Õb8 , Ç#ÖÛšm³!M8~ô£Óc^_=a½]!Dâðð£s±¸ë"mëP$döJåÔ‡Õ½ÿ*„ÌÑFcä÷ÒyÏë}¦²B—‚ß»@¼ý‰#ö<<Ê`m‰‚B+¤H”6÷Û)si¢Pˆ)…BÉD©ô¾ï)W*XÊrD×z¬Êƒ Cèqßcty”½ù±—ö´Ì«‰ÔwR ‘ö ”7^¬íMSã|"áTD(‹ÜFÝz—ùêŠDKç/^Ü…#vŽRƒ“Cn Ú0¨,Zth™US¬•(£°ƒªƒ:™=º‚ºñl¬cƒR‚êhD9ç—H+EEQ²Øæ*“#®Ëå©ea؆ÄõºcZ&nO9šVT£ìŸªÊ¤ÃX°6ÿ %‘) ‰(©Ñdï@çh‹6E^›M5(¨*‹R‚Â(¢Tx2YX‘=…Òˆ$±Öp³lxu¾!¤¾ÇÒ˜>‘$zC¶D&ǽ³#Ttl6‘¨ b\óìó/ݺ…60&¬îxõâÈDˆf»&ºŽÖmsÇ»7\½~ÍÃw'¸V†˜ÚfI1(~E]¯°ž¼ü–Î~õ«¿b³ÙðüÅS”RˇM¡±Æ0* e¡Ñ´üò¿zß?áÎqE¨×k˜Ï^"¤d~±¤]¿ÊÁyúõÔ`D›dîúO¨·5ƒ²äåë+´-0Z³Ø¬™/V\_ݰ^¬Ø¬·Ü\®ØÌVl×ÏøàK·šóîÃ?¡¨Æ“°Z bf´”ƒ"›€÷ƒÕ›¡jGŒ6&{ˆ”Ö 4ÆV¬7Û:£2RŠ´u“™vuÍ|¾¥íZîžNy÷þ)¯^ùÿ~ÅñáïýéÇ lÁÓϾà»ÙGIóó¿ø¯ BQê!…è‡ ©ñÎs|8æ`âÁ{¹åÖ‘ááý!G'B\p³ì`Ûòèýv<%ZÒpz·ä/ÿÇ_ð“ ®¿ÁÖß0ößrÿlÎÀo8Š+FCøò›ë øÃSÉ?~ÞrçÁ 'ÓŠ——5Q¼krYvň¶ër­K:Ú 3BìjÞ{Ètßÿºðwj "£2_Cß;ìÚ:¤ˆÄè¡ï‹%û ¥”ûÃ=Ó–ÃT ´Tû¯µÚúýE } ß‘Âþû6}zN T m 2E"I&NÏîñêå9ëíïºüçtßrÚ^JAÓdÿcè»C =%H¡‹ *'¾ÝÒ myøÑ’DÄÛ} :fÄL—"NW¤}økÇoÜ Á‡½¤ÙVû/f$…è…’JLFS¶uT2û ƒ'DÜ…¾´éŸýŠW+|çó»&Æ~pÝYç÷¸M¶éè]—¢ÜP‰‹%F ¤ˆX%°B¢È~E›úõ¯»Ÿ)‡ÝBò¸”ÃDÊhBмxò-RJž i"j| Ô[•‰Uð$!‰¢ÊR½T´¡ålr„q‘'/^sïÎ]´Õ8×eÿAÊ÷}\‚;§S~ûÙS6õ‚«Ë5?||›®»Bn·T'Ljö†£Ãìü³UË´:£®[œŒ”v„ ëzÉë낇áúé%i)U…o– ïR…-Ýr;( u  W¬WÉ<Œ&CbŒT…¡* RzÆE>¾7âg¿xLa;>ü£·ø»ß¾à/þ‡xúÛ—|}S°ºš±¸Y0=žrçÞË労^Ò¸·\rvï‹›9Á9Œß¢†*§W«ËeÒ²/:.ž<çýw¿ûõ§œÞ±¸þoý“)Î1ä ™M» ³/È{Ù?™ËrB©r¿–64$¯‰¶c½¬±“aîŸK-çs˜×–òäøöbµdXx‚s”Åm³BÛ’ëõ–ùRb‹Šãœr-/gy(/‹Ì‰Ž"Ãt QBRtMBÂ%F#Ãõ¬e<,ˆ©!&‰‘a©1…dTè¡A[Cëçxq¾æÑÝ#&M£")Ȩð.`t&;!8»sÄ­£Ö/$ô<ë¦e»ÞPG¸¾¼!Ä’cë+º®Å𒲬\!¥…¤è¶+Dlz„hM©iWK‚‡³{wÁÃëå%¯?‚ ?ùóŸs, M·åþú×l}à Py8–E6÷³ý"IQñúuÍÝ· ï­„¤RQHAQ(Ìñ!Bh.Ï/™¯WÜ=¢•%˜° ŒŽØÕ˜àˆB2¿Ü·†z³"E^Ýž¼tÔŸÎÏ?Ã1ägïÐÏìõ+>|û˜˜jÊbŒ’ÐÖdŠ“T™ý㻾_Þœ-$Viá @Sjv1:A$ ‘yP=YÛ )a•éÙŠdÀ¦èNýÊZ)ÑWÇ@çs±uD¸”•"8ÜnE)sº\(CJ>7EáAý€"ó3-}]1y tÆ)ŒGSnOŽpõ!³‚eE9´å}®³e•Ÿ¢1"R¿µÁã $ï3Ö!@ mT6ØÁ¦^£Ë*€DaúÏ.Ër»ºØµçŠˆ~GGÍÊjôÛ7hÙ•´ÄhOAÊD’&eÏ–Œ3¿m2:d³Z2Oi½C&Œ`•¦éê½"èúT¨Ò<²§ãÇE•“î±kA „*(’”ÄàP1¯ï•ÊåïŽþ/$ÁåÁ=#­Ë­2i×o›z½y?FBˆçÙ®4qÍÕ“sLŠTãcºmË{þ€Éá)Õài>\Ê G‹ŒÔÄ*ßOJÛ¼•‰››E2Ê‚ØuyMr‹KJ¥r}SgäÊ0ßnpÊ Š!u³¤2ÑXR[3²)D6³å|¨|cJÌsÿþ¤¢RSPô'˜”§Akú›,îW„ôó<¹‚•m…Ö{/Tì í¥6X©òK «"Fª²ÊPJ#°*íO2ZgùT«ÞP&R¤žoÕ—Qk›§eS ´Í؉úÕ¡AëµBeÕ.v”a›sX?e}ñ6ë—lV×8·a>{Ap3tý’úü7lç/JÒ65ç¯.³¯‰‘G·+G >uT“‚êhD¤F¨„Q×y„Š4MËv¾¦m†€`r8àôñ[”gÇÈ2ŸhêU F®éOn ‹œ°ÔBáš–Â×— IDAT¼¸\2žT Æ™^¯MìYšÒ” +KQdå@*…‘ù0*'ùtQAa3™˜OíoØ-ŠÂ(‚K¸.àc~0mh\öH©9=µÌ®V¬ÖŸ:œÏª¢± «³ÃZÉáqÉô`@”Š—/·T“!‡“×O¾áöé!C#Mõü%Þ­)Qo6¹nGFBÛP·‚®°Z¼F§ˆßÌM „‚ëËg9Eä7¨$0L))tâpZr4©(­¤*`Ph’ŽÜ1Žÿö_~„Ò†ÔÖ¼s¿ä£woóþ£ï?$' Å«ëgù¥+j¼ßrsñ™óÙ -׳„ö›Û#¢Dt-AE¼o³6–›M. ÏSMv+G%5•ÕÓþóÈ­q¯èk0ûê˜~óÒ?? dÄ ‰A`ö«¿üöÛŸùQ:gÑ=f&¥ gMb7àöïoâ^e”BR–%›í¶G íƒ11eÛNœÏ߇ÈÍÊRô(±º÷X ¤²=ŽÂõýŠùzRîíBy…{ìƒE¢ E¤”e™ßÝûY£ïuTçòu¢TºÃ$I‘»÷ߢ ÒLO02pvÿ‚÷´¾Îkm-Ò Èh¥(ú©ñ.¢TÙ{¯%]èP:wæë— /-²í ( ÆjL‘=áƒEI‡$¯¹eJ¤sUŽÑ9…¢G¢ðÁõeÌÙ¨N_8Ùu-B¥~/Þ'â©7»è¥Ô™Ö.ÒþÆóÎS”…êO@eßtæ"Ç<, ¥‰!âR@÷>.[øÖçÓ²2x׿2ËÐõÊ™$ž ×ÚžäžK=ÑÄ賉=²_u"rtN(J„²lb…Òå7Õ·\b¤ÐÙë·KšÁÑêÅ ¬oyu½b±Þ""ql÷ßÿŒÅlp%I¶ 8‚÷¤ÔP–%‹›nf[|Ó½ÂPÐyÜÆK ’s4­c5›3”Ü´ï ÝnQÒ 5Ìç-‰lˆTÚ²nVØÎ«H+r–§½‘8_욈óåIª½"¸¤Œ’8ÕËù½P}̬3•ƒ ÞGl)û¢á@Hïr`áþÝ ¿ùô9¯^oyø ì%çO¢SÁ°°HÙr4d‹‚ç¯Z>~÷IÜÌH*QÈ–é°!º-JD|'0ÊòÍç_€VÄ®¦ñ-O_8RØ¢åíüs¤-n5GËH¬—ȸEË@ê–Œ4)jºp‘̰JŠÂäϨ*?{ç“Èk´2½åŸÿó3†*rïíG¸_B18æâü%Æ—$/†¸z4%›Õ[nñâù92y e¡‹œM¸¼¹âòõK>¼Wqw"X:øý_ðí7×üÛÿþcFÃ!æúœï~÷w<þøÏÐFöpÝüYº®î×,b—2ëë©¿¥èk=\ ¼ý1)þ5]”lÇw‰rÜ×|÷tÆã{”CCl;<¼ÆZͪîPՀi¢0Ù®$Ã!|÷݆·Ž@.Žm—xx@ÌÃJ"¶÷åC„Øû€¼÷ch}÷=óµê×YÅ2Æ oê{R"É<´ûYÝ̸û蛕'8ŸÓ®¤¼ýé}Oß7v§˜qRH‚ð(-rj’IPØÌKrÎõ€‰Ý&Gö^aº‡‡ú}h ûÓ41x„ȃŠ>ÛtŒÌ÷U(Hß¶†¤zt =‡,SÞøŒ‡Ú6×pu}ßpê7R1¼#Ñ':Õû`ÉCDŠ‘$%Ú Âö«Ip>#)¼÷å$äÞŠ“ú¢gœù‰rò^‹„ó>¢ûFÓ¯çw©ÖšÓû‘F2_¯9ªJ†Ó1õvN°%§ÇÚń뛫}«€*JRȾ²&&ÚË XÞ°]Îéê-«Å’Ùõ5ÚÊÜñ*5Æh¬5®ó¬½cµÚ°Y/‰)¡Sàp\ G†ÃÂä0ƒ½Ù­c$áÊ ­&%ˆU¿zP(™}6!†,Ûöý~!ö2)±bòýÎ ÚFAÊò=DtQæé1Å|ãöæÀü—Çu=y\(Dê=;!õN%èÌ[Éíá†J_>™RÚOé…ø‡«žà¶o[—¢/’à¢D« k+j}DÂù?PqMÒ›ÙsŒ’Hc©SjßÒHÅÖÃÅÕ‡¢R+>¸CuzŸ2¶8#‰WçØjŒWš²ÊÐ2׬ñÎp}±Àoòšl\ ¨cÄ $fTÒG%ׯoØv[æRÉß|ñ‚Ó“à.)t‹gÀù«+‚Ðx— ¦óf1‚4²È¥×REeì/Öý¾ŠB¤DÓ6 ÃÌ2K)³y=¤¬:$dNÓ¡iëlŠLËöýŠ–þáëœ'iÛ–ƒ‘azkÈëóNÏÎ(lþh“ 2m)ub4¶¼÷à óê†ò°`½ª°“cŠÂ!VñÖmâfŽ®Z¾xñÖP•šÎu, ’Ê¥Õãã¿ùôŸ¸7ñìùsêV¢LÇb1æÄv~ã±åR*®ãšƒ±&ùȶIh;àf¹¤²%ÄŒ“˜*øð'w‰eDmNi´œòö{Š®ñ”•ã^µåÎGÄÕÅ T˜ñ¿ü€o>{ÍëË7혛‹ R ŒGVkRê0¼uKðÿ“õž?¶]ç™ço¥½÷É•oÕ͉Y$EQ‰”dIvKíÐm¹Ø`€ù6ÿÖ`> ¦aÑî™v·1–,Ë¢©L‰ñ’—7‡ªºOÚa…ùðîsîš‚Š·NXû]Ïû<¿çõ×ûüó;Œ†NvL{üôÝÏùÑ;¹´Ùç…sóqÉZ§æÓÏ~Ĺk¯ÒíoC@Óz L±,>︂²©°ÆR6 “IðkqðZc°†«#æ5³ò”"ppð´CÐÂ\Éר,uŸ›ŸŸòxÊÔÏèKo\qœ§°³•ä»³ï “ã1“y¶¯ð*Öxеau¥‹Ë¦x/õUZE²¼àd&Ê[·[`´!4 7wÇÔSÈÎ Y\™Aùþ§„Q`]ŽR‘²IÅ€”"g66ùâW ûÿíÊ™G)Íôô”Õ³X§èhÇ„„V'³Š~—~•´{(ç†ÇûÙÛÝåìÎyŒ•@A7ω1òäÖ=ªWgtû.^½ÊãwÉÑÁgÏžÅÏ*)…Õm2+oSXQµ‰3ƒÑ]ŒÕôz}êqÉIxù¥×éõ,[9çÏ>O2ëÄܱöÂÛXÛãá­Ìië:l–H± (Çú†be0¡k,Á•ÄYÆ´ž3ì’jÈÍ€­ |çϿə"2yrÄg÷øÂ9CR– ‰n΀îamÄDž´H&yЩÑ<…i ú ‰Šd5uYbµ]V7a-*žáYS¼1-Raqž<ÓHZv–RB27ÖáÔÂ,o ¡nWkŠõrÚ¼ø!ˆ*éÁǦU—¤-zé l›jȵaÒTl טœ¶~,ƒ39Ež“¨jðMj¹‘ÖÔÃ[† UíÕ©µ^›_˜Úe(Z ›1ħŠ`Zxƒ15 2F8mE„ˆR4Ü4ô%òlÝP\biÁžÊYBȳ‚'ÇOØÜÚ"&YS›µÀnZo˜j#ì®Э8aµ lIAã+1 ™¬–‹HJ’Þ_\þŸÓn´H ƒ£l¦Xצ)¢ñ~™.D)ŒÛæ—”o¿ñGÌi8Ÿðñ?ÿY¹Ç §QfÓcú£>{Os¸¿Oò Dñ}‡>ìGÏç7>C«H¿ß‡©' Ít&MΡ´XtʪAцâ¸d õ5úô!ÓñÍI&D´7¶•Ý,IY  !MW!R`Hž&Ö(<ÎIÊF%h¢'ø$·z¨SÄ+éHš5²‹öI B ­)¤66­©Ãõ…܃D´™Üd1†ºj„ŸIÅMŒ¹N8g±:P(q1å ¡FkÊ¢fIZ)¶‰D…J‘”B[µèZù3Èu…Rzó5ôÙ×ñœŠèȳ.ÇãSbÔØdˆ:±?ö Iô­åòJÁùKëtªC¡¶;‡êv‰ÖRL|Íøðß@ékÉ“¢býò;;}._;G“$:;)gTÁ㲌ÌæeÃäÄ“3oo‘ù|ÌÉA !c/VÔe¢R:k0Fa¬Ã*Cn4NØm*Ccµl™Ëp.“SKÇ£· ¯ «ý½ÂµßÏ(1ç%’82Dr-¨€öJæðÚÑ4†/¿´ÍñlÆxZ&`ÄĈŠÝÌÒq–AGñ­¯]â¹ë¬¯lÒ¨ ô[a\ÍÐT8ë±Ë¥õÈæ('ït­oQLhã)ëÈѽ[dÛ+Œ‹Z•´¢9ݧÎ;Ìš1̦U1´%]èt Ãa†‰36ŽÂÊá_Å‹WWn0eb~ÚêK…Ó£=E‘ñòs—yõåÿö/°³1b{pÊvÇsíÊ;gs®_Ü¢*gŸœ;Ë ËyóµvV5çWá_Ùä/:6×Öyÿö?üÇÏéÅšýí -›.á Ë (ùègÿ/14¤à©µ&…Zê¬E×R¸î•ÅØ(¯µ²"Ã+ð)`U—Ëo|ceå©¢™5̽A[ÍôôXÎhÂXÚÐÐááî!vïÓøF¼”)ò­WrºNsXÎÈ´f%“‡Ûú° ã—ÜÝ“õyl¬è­ÂKÊ}£(:–Óº†¨’F+9W\–±:ê}Í©Ï9<£kf->(’Ñ8gÈ;–¢è‹wñ8%Q·]޹e¥ëåVέ˜Í#Q•œ;»…Kmo1'9ç¶rºød (NOIõœÞ}‡i9Á4š‹çéØŒî‹kZa;™`¬VC`{g‡ÔxfóŠTEªÉ˜€§jÄ»Øíô[¨þ:'U¤ž ¸´ßÇ“ñ ãé˜ûŸßãÆÇw©»çÙ~ãO9=ì2Ÿª™bR&¦1RyOr£rb¡pÑrîÜ:W¿òGœÐe¤{̳šÜ欬­¢\‡÷'ÖbFÓqàÙêE0 pÉàS/†ñ(æ¥LD/â‘‹øòy^7dˆo–vuBLË"-§µm±:ò\IMX&Ó—k1»P(Áš\5-Ý€¹5WŒßÒqÙ4<[¢œó!x¢V+¬•^Eñ®@Ä#×–çRðÌ&b®nËŸ“–ó/¦¾A'°F¶-QEœýHÛöÏî$ùX´^X« 3šPÍq­­fQž½ØüÐ&µµUjM{vбÝY½©v@ XšˆxØ AR†&ŠZ´ ¢µô{­d`Õ6£ßÈPc ¸œWÒ÷íL&Ö@û|ŠüæÞÓ­OH>ÒÐàTä`ÿÝ"gÅU\Ù^¡ßËÄPì2Llhj/ò¢6„&Ãu<¸}•÷¨g%h‡Ó ¦¿½)·šˆ ÊiI$’gR´¨hý¾a÷q‰ŸÆyâx2cm´FŠ 'UÃé< ;⃲FªG¬io‰*¶ôú$+³ö¢èrGÝHG¢¼årsJÒ3ynI |[kQúJìUD+#åÉ@$&ÝïwII3™Výg·{Üütµ•‹pV •- ½<£W(j_òÝ/]áŸpX%ö'§üË/ Þz{„¥a{£Ëä´fTŽg%ÝM:œÓª"ËÑÏ™r<žòðÖ#šfN7—Th]ŽqY¢c#‡7þ™Â–蘘zÕj×®£¦uIÛ}øê׿ئ[Ú>³ ‚$I£ñ¼ñ•sÐXxþr ç4—/x419©¹ôÚ:~>a6pírŸ­•†o½©êPä²³}¢Î¹pÂùÿnâøóï¿Àåó]TAœ0,:t²1ö?brºËp¸Eô%Fuä3½<œ‚ EˆbB5ÆP7%J ËH¥„¯§t¶¾ÌÎÅ_³{÷ñ=Yµ¬X£.åô”ÜIuU9¯Py‡ÃII2´ÓdiÆÕõĹAÍ“fÈ¸Ñ  ×sNOF}˨§™L·N¸´6’ᛚduäçž,ï3êiB©}ˆê”HòܱºÒ#è‚Y©Ù;šMÆñ¸!iém¬ë†NÞA0ÉJ½‰¶T1¢Œe6›âèÐíÕ WºŒ+«øÍ¯~Í+¯?ÇÕç®ò“Î;¸yDe†yÕ€×ìœÙà¹9·îM(Mâ$ÔüÍøkÎ F<ÿÆ+De8»³…”ã)ÍxJ(:bMžg-©Úðøþ#B{ÇcÞù黼õö[ĺ%ÉG…¦G‰æèÉ ë«›¼ôÊëT“C¬×_#º!÷7Ç­Ÿa»9Yf¹|f‡ïüÅ[ìÝx—^y>1++´í3OŠ¢¶t›šŽ1g¯à6ž£¿ömö˜LfMA¹œéø€_üæ•R¢¼(©F¹!*;O5±1¤¶æFl¢X7¼G-XH1.½=µoPè6 Dé€gJží2á2Р”T¬Eñ?›†MQVxbzo~/¥‚¬Ó3éDç¤âF%…B[‹¶øÞ0&“äüâg,pJ|Uy§Ëì䈺.±QQÇe%çlFUÍ[•H˜H‹Äãb£#8ñ®.P %¹iIü!iÈÚ{2«ñUM– ÊD!4íÊ_.®©µÔH-QËÃj=T‹€Á"¹BKoÝ ¬^ö< GRÞäY‡r6a4QWœ#íJV†¬¶“ÑQ¯œzÆÞ#/…ŽbIqíg[)Õ¦Ÿnªž¢7Z¯6-šb‹»ÐòžéDZS­(II‹5BYšP ÃÒ9ýÍoÿ[Þý/ÿµmiŽádr„ÖšÕáÕᲬ8<>ć†º®)kÏj¦iÊî «ƒœ‹—¯0\Y§p]êÑj‘ÄvÄT³·þ!£ËJÏbB§D ÷EŠÕœYÉuKHøËüû×Ñ9 ðmšo!ò_Žró•í˜Ñ¼o@‰9M ‡šºšcM[‡Ðzu´RX­[•¨GÕvB‰+`OŒ•u)&Á%8‘§_ÊöCµØoKG§ÆÇ€Í ÑYC [Ø©i»äh'l)pŒ!å½½cùvoO2„Ä¡í9 ž:_oãø‘ˆfFA¦·o?ÀTs®î¬òæË—O+67Fù¯ ÌŽ±Í˜TÏÐ)1O8ÝŸ19ž3/'XÕgZ _$7ŽþÚ QG|#^‘ÙtŠ19Öj´ÍøôÞ>Iç\XÍ9¦vm‰)RXK=u£( ))ö1Q•5++=¬ëq:•ÊÑÀòÑG8­ÙØP8K¦"=[`T¢Wä »=ºY Óë°÷¨!YËáô„ÓÉñ4Ãæ#ÎŒj¬~B×d¨î€êè!'cHZ•cEˆ§èª$ëZ¥„oBIa3šé‘D£“˜›J­~šhHø”èºÀ}ûKt_–øFR¢FE!N·þ­Κe9VŠ,a1X®õ™ï•¼ðRÎÞaÍ¥>o½f¹¾mèÚe|¤h™¤šÿôŸoóé­'|ý­«|ók/Ð+zøXQMNg3îížš„éžc´~Ž”Ôím^µðFõL%§ÖšápÈ“‡7 ÌÅË…fRjr Û#fåLÒ»÷ì”zΗ¯¯““ñøtÊ££ÓÔ\=?Bc™US¦5ìïMY[s쬰ƒÍÚN³ Q™@l§‘•¾Æj‡1Šû‡5E¯Ç¹!>YÆž;މJ}àò¥sä¹^ÞäÑÖ MF¸Œˆx;r›c2GÖé°·̼ölF¼òú‹t‡}RJÜ¿÷˜&EÎíìð…×¾Àt:cûÒ%îÜ{H]Šß4ží•®¿ú2*4ž<áþýûô]ÎæÅ³|ò›÷˜):.ž¥ žÓÉ„;·Pņ'{|~ã3Fƒ£ÕAiÆSÏÌ'ŽÇs.]¼ÄúÆ:EáX[[cãìþãßþ?üæç¿ ÄÀp´Ê¹Ëר|ôÓßñÚÛßæÌõס³Joã<3—ngû•—)ú×évúÌ7©â„4=Àås~þþ!në—/_áÎgïó£ŸÞDYËÕœ•• “÷ñ t6¿Ž‘<Ï—æd"ßE‹”æ"ÐJ)&šº~ Çôm£Æ‚\Þ1A-- Z饧k9TEù>¦g ò˜(ê—~©ÔzhRø¶²-Ï…n‡© Kí“PÌð¡iZ&Uën×jÞGú+Þ¿Ï“ý¬ÖɇClïUŒa©Ä¸R|‘ºMÒÇ0Z£Ûtß³ƒKõî)ðTªjbëa“ ‡j}b‹0)oNÈ¥6xQ¸„³+°O£¤8:)áMúPc”")âÚg RJÒ„*µç£ ˜‹>ß(ÈH±€hÓ²®<=–ÝÀºEÌÇ(×'ZohL‹t¬&—Ï”˜2I &ï— ¿A+ù\EE›œ¤]™¶ Ù”È äÆÉï­.sØÎ*w?ø€=§™•Òhœî ²,#Ë{ôû#”Š4UÅ+¯½Î¤nÈBÍúæ&½Þ€¡›©¶¸ZÐR¨’“Ç7ÙìizNcp8¥È ËñQÉ…s;Ĥi|¥ÑM$¥¡„{•Ú6m1)¶<ô–ö*ÉŒÑ\¢Ë¶M&_Óíd­±Ï,'Õ\i‚‚2xrcЂR”íÎz¯ É/DII>Ü2HÅöÍó4ME¶4H/&vÐyNÝ‚çši;Iø"‹ÉY©ve 4¤ ¤¨Ð>`S`||LuzH<½Cyï7Œïü>ùo”§©ñ‰œìꆣƒCÊiÉëÏ]àÍ—.²2Ì9œK±±…ÔÌ4•ÈÝud÷þîܸËÞ“#jŸ0¶O–ÁêÆ ÖÁt|*Œ”¦Áû¦-”Mh#¥§åÌst4§ÛÉ0Qá±ÂÝjמålΰç(ò‚²,1xœ’úâeŒÁOµ×ƒô‡ùèÛ=Kðž€ås!_ÕÖI0Ës¬–Ûi+ˆÞÓu9«£–@H†ÉxÆÚ(ç¹/\æ“R– :*rçp™Bßúé":·\Üîòö—GY¢c:œrãác~ñÁ>?úUÎVXéNX·ùÃo^b{=#3 m&{·°Y$Wšäç¹Æª@¦T˜£RG*&Œ t&'a‘¿#ѾûÅ—EÒTÝT›$Ò´àc…ÑM X±ž†9™*)òŠsgôòÈæjäòΔµbÆ oPÎJ¤Ü H®Ã/~s§·¹tfõÍçŽjŠÜ ”'Ã/?Ùe÷ÔÓÉïÞn×1=¢ób“ IDATʦ!†@Jž,{šøp¬T—,¾“Ò)YR§’žuøü,Ûç/‘å]|qF(æ.¶ZUWKÖøèej´ L&äÁÓw ¾3'M®Of‰X':ENǬ­öŒøHf4M3#iÏþ`Ÿªê_\Þ9‹¢DÍMòÜÙ«¸¿oØ9w‘úô!¿úçß1M%Á‹b¡lb\:†›ß¦V¬ñø´èrÔOMÔ)-WH ö`hÕ1Ëð’Y‡içÖ¸¶Š%þ^ë@¦SVÎ%ÿ_Õžé1âLŽ1ùr¸Y˜¿­µ¢È,vZ´%É*}%}1Š—hIF÷’XS¿Ÿ^L1’Œ¦$ãÅ¿Ho¥ÏÁ£=²ÎšQ& Z#I B,A£FKéº\hìRñY²ÂZ<ËÓ÷Ô3%~½lÉp"˜eÑõS¿šYzŠ•RøP£Mûû¶ø"AiRh0­Z%^'y¦›v}˜•¯„ÍÕ¾njO%`¬")/>­¨H>µX˜Z*ŠZ5rá{[”h/þ¬’NŒÿd6ÄFZ¬ú=…Ë{/- Ñ M_§eyvJž˜|»®%E Xe¸~ñ*;/½NÚ=¥ª*|ô”å _7"ThG§Ó!ï Ù»—/áM†½:×<¾šÓÔ3œK„¤ˆÚ ³ å2lrt³.¤D^5”±BdžyÕë’•aëÌ^¿Fƒ%Ñv“c•T]äFátÄ)ÙW«QZnÉ‚pˆX“P|¨ÈlFlÒÒ°¸x¡æ1Io”jár&`R¤0†ä$™$l¬Ê%­s¨b¢Iò¢Xä—MI HP>_h¿XUZR ¾&ú¶¡Ýö¹¥Ö7–P¸eÂÄ)KDѨDsºK^Þ&½Çþçïpzð)‡?a\>á`÷%“ºÂš†Ùø½‡yëõyþÚ…Uø&°š‹D4©¦‰Ò;˜YE–+a±¤$†ÇPÑuxù• \}í«ëR}ŒñPÏ+êÚS˜îòµ<™MÑy?¯¨•H¿¾†r„o¢¦(—³¹¶F4)#_ÞÒËÍN {Ķö!3yMIaÛÔNˆ’ö‡‘âï$<"K£Á¥Œ&ÎqI* HŠ3[:I£x·Ÿ³¿7E¹¸Ý£2‰ƒ‡(“°V;ýn§ JÕäÎÐÏá•çFüÉ7Ïqíšc­SÓ·0«gÜk~øó1tt›)£¹~v,“•²Ñ–aaÈò=í±:`m¤ÓÍD]Êzh]A ¤èäÀÕ“¨Š5×Ïg¬íQPÓS\jÄ—"É'ªr†ŠšTy˜OHI|LEr¨˜ÐAS& ³Àæ¶ ž/î¬w3Œ¶Ìëš&ãhæ=wïÍx÷—PZñƒ?~… g¼ð”áÑ|Î{ïïsf³R†fºOŒF¾‡ÉÑ4››¥ñØ L,´FÁ'¬Í1®Ï|vJ¿°óü·(:}\fHá4y·.ä€ÐQ1oãiÉññü„Aáö2B²Ø&'$OÙ4Ô±áñ~E2˜[íÑË5ã2ᣣk¡ÑÄÚ|Nˆå¨Á[*ˆhh ÏÁ“SǜLJ‡ 3Vòœí-n~þ”†4JÊZ¥"g<Õe>WLç‘ÍT+Tr :C¶Î®³±1d|tD$Q7“å|áå«äI3ŸNÙ}<&]úßþ*/¼t…!׉ét‚jΉžÓ½Šh™¦ ]V 6×qìŸòóŸ½ÇþÁ>Öf<ÿÊóÄ È"œÎ*îÞ½¡Α¶Ì½¤ã>¿ù¿ýõûŒÉL ×͹zý¼1<¸s—ç|vç&wî}D^tùÂk_$_1iGM‡'SÏ/?ø€¿þ?þ{ÝÇDK­*ŽŽîr2.ùÇwùÂW¾ÂsWÎsïö>¸ñ”+àµâÉqÀw¯“²©E:ɹ™ÌµÔ§ig—4w”Düõ= Þí4Êê¥f¡€-V.Æ´›•¤9%©?²B>OZáÛ)€µJ8} ß³™“NBï}{A—U–‰ÒždP8›“ð˜V5b‘5UŽ`ä¢U”4§Ò(—¡ôu™ãò opzzHî¬0"I¤ „¿ôŠIÅÏb pÖ,U(­Ír}·x”Ö ƒÖHî–åÎZk<‘ÐÈðRÎ ³àr¹\"ªPƒŽXtÛµiÐÚ´ aЩÁ´¶d,^kBÛjR{‡¥oMk0Ê¡Û+{NtÒRœÜ¾7Îeífk‘üómÈÌ ì×:´ËhB”fQÚƒopÊIˆ ‰¢—+Ž‚!"¡­¨R"½ÒDŸp6œø<ÿQ¥-MÔD%íÂ]“š/ém¾÷Wÿ[[—™UTM€j&3s$­x|ë¾öå¯ÓßÚ$ºŒ­•õV¥›FÔ%%¡ à=DO"ÆYjHu… àŒÃe=Î[a÷Ég2:6£(:hÓR[­s¢ÅЦšeÓµâsQ»¡5!êdX¼`ž5Öem÷œÔs#ôï=*¦ö˜(Y“"eU-Ñö‹¿½÷í 1•Âd9ÁË?ËMGÒÉæ$áÛ½¬t…åŠ2ÄE§U@1JR*Z[‚ÒX+ª²[ÝÆŒ®¡:ÛôòŒP•¸Þ¯-½Ímºk;ôV·˜Œ§=~Ä çÖÙÀl:'D‹2–ó6©ñ4>ÒÌfœ>ºOŠYˆœO1^KpÓÂΕ3l\X¡¡¢›V·7(Êé#Yî–7ˆ„AiF-%kɲJíæ9ÑW ý¶˜²¡®Á7,*L*ñUÞZórd¹šooRb­È¶¾í\s.G;Gn-™ÑdÖPä™SÎHA¸OäyNæ /^¾ÂêØ}8?4\¾²Íý‡µ˜]ch×òþÖ2Õ°9ô|õå‚?ûîþÍ÷6yóÕœ\×ìÎüÃÏn[:…fgkƒQ·Cwàxr8áèØS«$a £èÙŒŽÅÕ1ɺöó)„cEH—W{¼ôê!T¤pBÕÌ[Ï•B!B‰M"…bDSA3Uaé’*%e³Ê Ž„†•E‘ê¦j]hBbÒäüøç÷9Ìùão=Ç/wèdš²hf]•üøÝ[4ѰÙäæ“'„ê<™2â³í,e]“¢þ¶m3õÊ,/%Î4èà Í„°÷1ë›+ÄÈ•bg­÷°wpÊÄ—”¾¡Žñ|†ÁRÏkÈZN Ìgsie0Žrvgs\6’Xtœ]’w‡<GªÚ£l#ñsdtBŨŸQÖQ”Ag†*æA‚e)°¶±Áó¯¾Ê[÷IX2cÀŒˆiÔ™›qܼq““9EÑÉ^kúý>—/_¡‰‰ÛŸ~Žu“iä«ßù2g׆ø:QM¦¨p™bgg“¯¿õ¦ø=•æ·|@S—ø¦°¦¯AA¿Ó••F»Jñ(nÞ¼Ãî£}2•qþù+¼ýoŒ•ç“›÷¹ûùm:Æ£'øÈ|.]“r̼¬99œPÍ&¼ýçß§§,‡Ç§üö7ÊÀ‡ïÈñá!(ÅÚêýÁ×Ð]Ùd¸~Ž£fÊ?ýäwœÎ<³ñŒOnÞâ_Þ;à·¿ÎË_ü©<å—?ý-3chæ R ?ZÃësœ”‰÷~õHpÆ”¨Ýu]Ëey1x&í·P'ê’VRãUÕ~IWJHÙ ªyæœÐµÌÅEú­ý kí–k2i†|z‘_(íòL?Œg’6Ô!UKqGžu)Bô‰„È©„Fiñüø†Ônb h,›+gÑ…eVÎp­ ñìÊT|[q© „S};P&¿TŸ¤/߸RJ˜ÅB ³Â¬²‹AÄJðLB¾—Iµ®*ñ#߯Â[(Vµ…ÄuX"[dØõ)$Ožç̧3t+ª@l“|kŠ!mªPúÉHšà—¸Š˜B«0ñL g~Ž^b=R»*3íŸ'[šÚÚ*fõ\lÉ?ýýŸI.8U)*’ÎÁ,ƒ5¾÷§ÉŸþ»¿bµ1©Ûº¶ºâɽ;tÜ€ÞÊš¼®¾fmØG»¾j¨ê)óù‰¨q®eصù³9eÙÐDMІªòœžpñâ*““$õLá·’^%_7íCá²—夤—k;Äûý´Œ²]¡k]£M"„„Ž& ¥¥ÿ'sBŽU)¢\û0WòAk¢(&‚Ü„³nå,ò¢E;È©Q$»— ”!’š #>|{ƒÐF­Æ‹ÉTµSÆË:´;cÝ¢þ³¼CR)ïã6_¤³ý"ƒa—B%2#}FZ+žìíÓ7ðêÎ «Ý­,ë+çhLÎ2O˜ÅÀÇ~ÎlVJ p2|í›_!ÏŸü)ŠŒXWZãòùa2«Ø½w"óÉ„_~YBÓ¡ªév{ôúݶ 8ãñ£}Bt‹7>þ#6|ÿ_ÿ…?þœ~?c>?%zÏΙ¾þïppõïp¾?äÿëÿÌÆÊ:ÍÁÁ!Zkö889eRyN&·nßáó›·ùìÓ›œ” 4–™ï0w¸péK|ó»ßçÚ ×P8îß½ÇG7õ{ô»†5C–tæQõ)ԧܾñ>“rJ™*²<{jj^Õ…CF;,.áMÓ’”$ÇI Ÿ’󯵭/!ÕÿÀ†$HΪo¸¸H#^ÛDÂ,@®mtfäÌ~Tkên{î¬3ØÌ k+5(-©ÔÅ:Ï´> ÁQ€3…¦¿¾ÆéÁ!¦«ÉZÐê³)Gž"”Rø˜Út$íï²PûZ¥ÈGb8ç⯦®±ÖPWåÒ¿èAL>| .Û†’%ÅhEÉSJÄŒàã[!L«Bƒé´€ée@@Èä²yœCYÎÛ¶y |ðø¦&úzé™–°A öU[Õ“–Óbu¬’”dËÎCP鲨÷Âóf­i=[P–e f•nÛYbËÜ|ú³åuD)ˆ”¤ßA6+¤@G)v6Îó½¿ø_øÆwÿ=¯\û×®¼ˆo*úÛ[`´øªµ&EP‰º©ñMMÓbŠʶ)¶[œ MãÑÖP•ukh“T† cb²Om˜JÄcS ³V¤–‘Eû& g#ú@Ô›x'”°Y‡ÆY%C¡ Eo E†ñGøz±áþ­œ.¬ö0Qc»:ÎàTÚSÛ.3ÌË9óyMlÆdå¡$E¬`WåŒóçw˜W%®Ð WºÕé˜Fyü¬!T¥ ’brxHæºh'>¸ÃÓ)¢KÇ)ªrÆQ…³Œ«’"s”³Šç_}‘_ú€Ú—t ƒ¦i9X ×zbЏ,U,ɃF:¹8—?%§(éè¤ð­wB'Y{Y˜LkÊ$í©ÆäV@®MLLb`ØR‡È£»û|ñµ ÆóŒñÉ;;kôAéH·W &CT 6+@7d¹ÇÅŠ"«ñ¡æ\ÏpéÚ*·n9©{5?yç=bª(òœ¼g¹°m99;´¬® QqŠÕ¢xÖ¬“ÒÑ&ÔÌMS{^¸¸ÆÚZ:F˜&]´6hgè÷»h#’1ÚS… Ž;ŸŸuÊFšZq÷ö˜ºJØÌJMEª¤g3¦vÕ¨c"ú.¿ýdÂ/~=áÊ‹›üÙwWè+CÊ=±IIJÏ?þì&÷ßo°9ìñï¾ÿÆ„m»â”‚ãàQw~HhB3ÆhÇj«±.CÙLÔÏ0a÷ñN&3ªæ±¢.#}£9»ÙC‘ ºœ¿¾ÉÚ0çÚµ ý‚a?g{µ`{;ã•ç†\¹²Á““Š‘Ñr¶ˆ»FÒptˆ¶Á$‹Â3­4Y·K¿3d^ÖÜúü M]ñúK/Ñ?3à“ŸÂ\7âì•‹lmnÑïf|tó3 ŽÌDžýe}|‡ß}ø)œôøÁ_~›îú*¿zç#ŒžsñòUNÇSVz#¾öÍo²¹µFŒ¥ô'Ö3Î^¸Èèü>y÷WÌ©YÝ\g´¶Ë»<ÚÛc÷Á.üî}NöŸÐ”cÖÖ.på̈3®Ìˆñô€®Kt;]šú”ÿüʃ£C" ?ø“ \ß^cg#1êœB<â½_Èpt–µõ3øÚãòœÔ†cƒ@[È+)[«íò,æhKhÒOÇ–£¥ÅNÛaûY¸xÜÅ8.†qj‡¯'J«§ôÔJ%MÓ,ב¡}`§Ök´ð$¦ÛÎÖÐMëó~vH4-GJµj Lb²Ìúå3ÄùÓ¡pY¹fi=h­KIq¢˜Ý !Ojä,MãjáÿÒâ×DƒÔÇX+âC] ûjñg®MԇВڟQ“¬½SàJI„hÑE¤¶žöòE[q'ÊPU•dY.õrZ»Æ Ðè…è—i|!å·il¥[¦ B U½4µ¯–kLPÔ¶/Uµ¦ú¥ª×b$…qÎb’lƒ¸ê×$/h»‹m Iã-kƒ Šõ3ø9¼÷)Ã-:…¬©½ø'ãb=c0aó‚NÑõaã MÙ š {»÷Ð)е=òBàìÇ“9UY³¶6B)CUEÌ_ýàz=ZKPŠ<ïˆç¿ÝåZ«À8ÈJøèÉŒ´´/ §½“¤¥=µ-F©–µ¢! XQ CNµ¾0Ó’ƒð-Òòæ°J’$ Á·I¡ÊcÛAÒ ŒA°Zn5 E¯Cu°Çl²ÏÑáÔô”n‡A·CÑéatFÞ+„ÓåzxÖô,ËÑq)a;–ƒÛ™NÙºvžþFŸÑjÛÉ .CEï&Òh’¼þU5£žEÈAO¬-E©ç†Éôe“²"$Zñ•MnÍÙ?šÊ¹ehII¨°Î2÷”C’YÛîÀ:ŽÛÇŸÓÄ 9PÔ^RŸ¹Õh­¨CdVlJÈ®ÕQyƒ+4Næ•‚Z®_ÛæÞƒŠè¸úÂ÷ßÄÚú E®É´ÁºˆëXº¹“ƒè ‚'…†<ƒÜzp}ŠT±u~ÃÊúÇ÷¸µ»Ï­‡G4gØËév2v¶,¾ãÃϦœŽçlŽú¨TbU‰s91:bÒå¨C‰5ðúË;Ìf5¾Cd¬k°m"Y.^…“äܹ·ËîiâÜY ñ<Þk˜ÍÀfRºÊ’(IÚ5TMFª;<>¶üã;Y;3àOþà 0™BEÇ<À/>zÂ_ÿí/ >òçò—¡|yR¨ÐaóÚK¸h¥å^µÉ9F”ªŒx±l&ˆɲœ0¹ÍÉÍŸPäŽ*Ešº0mŸ]o0¤©JIàuÅ@>«ª*’ñU¬ccsHàÑiàð@S†@ѲÐððIÃþöœ¶ln xñú;ÏÐJ©jUš9<ÅY âÉP:áŠUŒ3D›qûö#fMàÊÅs\¼t†wîp|÷˜áö£µÎB¨=ÆY¦uÄ’¸õø÷>ÄÉÞ![—wèeŒÓÔhvï?F[ŵçŸ#7Èäa8Z[åîÏY?·ÍúJ—"y‘q÷ÞCöwñÈç:ιxù*¶×güp{»÷Ù­°~v×ËxðÞMÆqN7³øàSvï}Æõk—PJñãýˆ÷?¾CijÎä?øÞ®œíkAÔÄv`k#çÝw?fãì9Š•u²$$v_ÕR÷TU Zf›ôN-‹¶:Ó‚>YØíPÑÚ?š6Ágm» ±ÝN¨6ןCj/7íCÛåÅ àLZ@'Z0Y#Å Ï­Z@vB6*±íºÓ µðévˆÑm’]‰Jb\ÎÞíll_†F,f¡¦´‰ÅgÁ¨Š6½(^¶ŸBÛ‡«ž*/¡­Ü±íú2DA•@‹H¯¬Óº H¶£Pák> ª-NnÚ¢l%þcZ²~û;Ç”$ÀÖöÛ.`®Æf4u%k[ BÒÒAet 4cšñ}ôä!áø!'ûŸ2›âç3:݃µsLê†òdŠÍs:ƒ‚,š™%CЖ{³;™²6ZC¢ëŠ¢[0ñZsæÒ9¬É¨Lb0ZAùÈÞ½û¤“)!**ãH¶Ct–2$¢sèÑ:±3Š…8<®(º–jZ3«k’²ÔQQÕ )ÁÖÖ ã¨ùìîcŒ3XݶÐ+õÌgi‰¶FY£µÎ𠨆Eœññ¤Öª•ˆb2m£Ð“q‰VJüIphcÉL-½„(‹6šk×¶ù§w?äÚÙ3Œ¶†üú7wXÙêÑË cЮ#©D§±™Ðä3äaÙï:c‚šãôˆ¼0œÙ)8|2cz:a2Ý£û{5ÝndkÔcÔM¬,Ým8>ò\;ߣ£ Úz”ÊiB NbÐÿÚ›;¨T3›TÄ` JA¸Ò —eä¹iÝfÀñ씟ýlÆ‹ÏuõUóÉGc«Hžä2­ê—E²|¤QŽJÅ|—Ævù“ol²µ!YБºJüîæ”ÿýÿúÇ'S^¹r†oóyŒ¯©«ŠYéÛ^MÏÎõ¯¡¬“*(£Éí¢ê*ƒñu-·È(‰'«”ÌéoÑǘ›šLKŸÙ‚Û“gU=Å:GU×DäB2o<'§ÒK¨•¡è€Ê nߟ²{˜8ž—ìíûG<:ªØ;j¸¿_r¿áþƒÀG7fܽ7ãd(²Œ3}ž¿¾ÉÅs}ÖF]ªiMðšH$†D£yÖǘ>ÉåÜüìÓyÅËןçòóçèæÞÿÝ >z̰×cmuET c ’²<Ú?âþƒÇÔeï¾†Í Z’íòäÑ>…uœ»r›årÆiE¯W›g»œ½´ŽG É1)n~v‡Ò|ôÔU͹óçqÆ‚U<ºÿ€¡+8{õ¢ÏÉøýÝCbåY?³Å'Ÿ|ÂþÃ:Îò¯þìk„à¸ýø€£Ã#bÒ<~Ä“½¶Î]äðä„»wïˆZ¤-ÇÇœîR§Ä‡Ÿ|B=›1ÚÚ ?p|<&#ãë_þ:/åÚsWyþÊ œ½råÿÿOÿå'¼õ­oÐ[[áÇ?þ1?ý(³YÈ IDATé`«™å/þõE^¾:À‡†Ý#)pï[CjÝ¡áöýnß:âê‹_À Ôr£ 1D¹˜¶Û ±ÈÃSÔ-QT| ¢+QI%ŧÄ(² ÎY)ÇÕÿ?Woú$çu^yþîò.¹Ö^¨ÂFl$@´P–l«½ÐêVÛÖnËžˆ‰ŽùÒÚLL8½9ºÝ3v¨Ã’-Ù"%Š$H‚A¬  µW.ïr·þpo& “_ YHdU¾÷¹ç9çw"CI%ÔÁL¡šýºHÍ!¤™D(—¨8L¥g»Ê¢JâoI'ul®ÊÇæš¹_JÈÈrœùÄbÕÛLÍŠÊo&Ç£C†ƒ>BE“õ‹>*™êcfuAÏW‡¤ú™ˆ·ˆ—ñs€˜g)H1Wµfê×Ì3U¶8x)ýYB«Ôº 2ÏP;*VyþÜv3Ã@D[$Á< DpŠÛÇ5¹ñüÙ÷®³¶˜ášç,mã1µ¥Ì²8Kox*FœÃl¢§,vµ)ÃÄPÏÑÝŸ‚«EIæ=2Sä:VnTUE–çÔMËp¸ÀÁá> K 6޶5¬/uñZñ`k—㉧XèÓzè”’aÑeq©ËÒ ‡i,Z÷hdL±*Ysz¹Ö;roY –6NwYXî1#ðNcPP P*g{{ã1ç67¸|u“\)öGS?xÂâ›§OEv›?³ ìxô` ç<õ´æÌÅóqíƒâøxJ™Ìè//¤tdˆ-®¯ðäá#Ξ;ƒ÷o<+k«´Ö°õà ­3Ôµ£Ì5ƒn²×£5ßZÎ^¹ˆvµ³ÜÿìãªáéÓgìl?¥r^Îõy¼3e£¿Ni§Ow88<á ×_gûÙ´ ¬­¯±½»ÃÃG˜L'LÆc”ŒÛšg[[,¯®0™T\ºx…ßûƒ·8wé½n‡åÅÊÅ>'ÛùëÿüŸ¸ùÎ/ùó|—þ…«üìŸßçþçiMÃRWðÃ?½ÀÕóK¸fJí ~ü/Ç|roD(4÷öŽyø¬åW²w²ÃÕëoÒë. óxë'­Ñ^ ?ÍüBB ixr&Öo)‘ʘUL &ôÀlˆÈ…xÉžùqgCÅ á ˆƒG„a§!Lˆ8T͆ÓbÎÞ d*%6Uñ(bÏ_rÇõ£L—r;ð©ßOÄ~K T{ VÖãô"ÇJG;…ŸgˆßF<…EêèKÃÇAuV#•œ›â¤!)ªoB©9¨töþÅ5f˜—ˆË¤ÄÙT¡eÚ–<«þ™Ù<²ñÒå]Ü9Åõ¬ŒÃqm´M Á§çÉ\¦‹+O-Ÿ{âÒ r®¬¥›¸Òx¡“2­s…˜÷Ñ ¡^(h¡â÷REK…T2ù¶cƒô~Í“ª š+Àbù»T*)™D{‡Œ¨"ï‰Iù,p÷Ó÷èt{dE«Á¤ÀÃÉÑ3žî`‘NYPöˆBÁŒs¸õ)å©Di7.A 3Éá¸Á§Æ¥rÔŸç»7Z'Pº;'ÂZŸ<8Þ‘K R§ÖðÔIÚ¨yP1éFpq½’Z2£ÈŠèëiM3ß§†àÉ”HÌŒ­œ.輋O«¼ tæ©5Þp¥Q ÀÆU¦ód2CI…!¥0À†€T‘/#¤Ä—¢ü2õ(År„ÑãܲUD¦Øß¿CVdHSãßL8¾w“ógϰ´¾±–G·t»;¹z¹Fú½>²žÐžcÛ y&)ò,¥.ðNÐÔ†ÉhJ“çÈÕ ª¼‹U9^åÜ}ô”Þâ2™ÎQÎ µï8:®Èrm<ˆ&UEc#?K*ͰÈè­ xûãÇÈLE“¦ä:Rí# UGþKˆ©¢ÑQi… ÑèÍîñƒwÔë šÙmRDÃpÝÒÀë¥F—%Mëè–BõhZCëZò¬G¡ËC¦¹åßÜãÚ—7ÐÝÝ;àhèõ=ÚHË©•ôd…¡­[Ê¢›n)]œÌ‘>:âþ“C2Ë]Éùó=6– >{8bgÒpô¤áò…§`ß(žî:òZpú̃R°º*¸x¶‡µ-A+|ë"uØIðDU´B£s‘ª*,?}w Ë—^-‘Zpt ¸ùiÍé‹9Úð©fUMiEköNÿõonr$*þ?:ÍRa™Zº‹‚QåùÏ÷÷Oh›škçyë÷.œˆa‡¦¥®'ˆà)¥á¨*8uî ZóUET€Á[Ê<"…Ò(™܈º~Dµõ mVÑÉ:t´Ç¦Æd¥mEYâLK– ăÅ%v÷R°´Ðã½÷°³×D/¤k(]ÍŵŒ7//òúg¸vaÀ¹Ó§Oi.­—¼qmÈ—¯-ra=pjµÇÊ’¢×‹¥½ÂÅ×á ËÆ™XÛqrÜ`TF+;ä¹äÙÎ!Ç'¬ ú\¾z6‚ÿÊ÷>¹CUU\~åB„ :ðHš6 dÆ£Ïï1uSl8ÿò%òN‡ž’¬¿t‰áÊ2Ÿ²rv á…ÌhƒÇŠa¦°­Bø†²;˜wx~üámšºUÒÐ_ÒïÈ{}ö÷XZYbÿÑÝÕUüä˜;ð¦%ˆŒ—–{\¾~‰¼íóGùC®\ÿ*vÿ;GG|ïÊ©óçhê–k¯]ekûãƒc¦£cMËtoŸ•Í5ÚqÍáî>¯^»Æ›_ýz½24ôsOs²Ëí÷Þå¯ÿï¿âÎýÇ|ãúW¸ô‡Àÿüÿ?ÿ‡sÒŽ),|çÛçxãÒJô»Õ=î?›òÎ'ìMZÞþå}>t|rgŸñ¤¡ †W_û ËËëÑ."y}ft—I͘5ýJm!"Èyz," â3ïëK çLªtˆÅäñl½D˜y¼fáŸQIýQræ+”Ñ›#bYò ×’GL…xdY–šGÂS3Ü1áý\ma¾.ô>z…‹NƒÇXÙ<‡5nK©Câ…Rf!:Yg>µ¬ˆjóì5ϰ3oäŒ4L,.ÑnM°Î¬ˆ–€™mŽ‚ž E,LVE‚{ëäJçð¬/чؚbavH>(¯ã*U+EÛ4deFÝò¢ˆÿ­Òøð:£ø¿¨ÂI5+­ös¸¥s6Zztvfæú ¢"E™‘ ÒÀGR¨˜=×Ò`å½§m:ÎÜïSkLHëÐÙ;óÖåJ!rÍ훿BjMo0ŒuvÀhtL]c›†r°H·ÌÑy/œGõΖ0>Ú"ËbE`‘ë¨^f‚‡÷) •|…õçßûþ ¥{ $J—(¥£©˜#uüéò’R£„@IÞ¡ðˆÿ½bþæÌÀoèß 6¶ÜçÒ“ç­s!±³)=Q•hMJà(\(l2'Jâ‡NJ‘Š=JĵJ 4„8èù(ë$ç¢Dë*Tž§~¤1…q/O;AT»Èê…ŸàF‡t²SÕ ÛŸßceu¬Èœ … Ôž²ß%/;4Ρ³>á”DÛ1~Ú€ÎÑ¢Åwº4‡LFcÚ½öšWöpeÆÔciMÃý½FA!­aaa/"M?„@=Q=ªÆâí”iã©X:½Žf°ÔçÝ»‡8a’o!~ˆr×=™Rø`’á0 µDê(͇s3ã°‹¾#o>(–LI”–4Œñ„ä’”xt^°³ï ZE¾L]ÇBð `¡È8}z§'¼÷ö=^e‰—/¯3šNÙ~#/^±<ÈÑÚ#=4 ÓÏÀ„n]( ?ùñ}ê¶Å É´²(,K‹™<Þ¯M'ôtÎé•çNå<ÚìŒ ë¥æåK}NŸÉÖâ…ÇÔo$˜€”9­3¹"/JŠB‰GË' ï}tÀ7¾º@ÑÓLO2~þþ:ërq#ÃûkÞž3]æHQPYÍý»‡Lí ù­3,‚Ækd‚þ5Nò“·¸uûˆÃñLß|ã2W..!lÀ{°UƒI$y¡iÆt/¥JdXa)Ux‚ÔØàÈ´$ FÞû~ú¦=¡ßD‹M·i¹õ0ãÖý>·kf<ݶô»š3gºäÝ.ÛÏjðEÙeROÙzD¯pùW"Pô:|þÉ}öñ.°º²„3+bõˆÃ³½Èx?ªUT ‹«+tu ˃AŸý£ò,c8`|,›Ï¤Gg=Æ“czN¼]KOp‚_¼ý!-±¹Â›XL½°±‰ô†A¿ËÖƒGüê_óðÓ»¼öµ¯³·»C[9Áp~y™S/]fmu“Ó—^ÅW=}ÌÞÝt–—âåoÚðÖ÷ßâñGøã?ÿ·>¼Å‚€þ©eöî?áµ/½Áéõ3Üþä#î}ô?ÿœ­ûóèóOùÅÏÁ;ÿüK&Þ°(2þâ?þ_üüW·øéßÿ '­¡@ðõ/œâ›¿÷2…ÐìÕþþŸ= ÔVд#šJÒØ†©™bGÍ™3/qîÂÕ˜ÐJ$ó,KàJÃD²„‘JÍù/QÔñq­§³äÉ”ö`#תu1‚O>ª$¹dI‘$å,y‚ã´ÎÈ2Ÿù³bãý_:¥ì/üóš°¸ú/`%ž„ÚðѨD x‡ •w98~ÆÊpâSêÔ8"¢õXù€Å£…•¥}a‘åÑ*›¯VC1ÉŸˆVIt{ 8ŸšVÂ\EJ7©8\ʲù:NbÒлä[&Ÿvî£"Õ¥– ài3cê›õR㪠¥cß  ±ý#Q*RÅí“"Õɨø‰ˆ¥R U‘ØbÑŠˆ~'sKÂs…/º±f†x¡ÞÄt1ZâƒH…Ý3õk†û mÜâЯ¤L¡ ›¶¦"ªp>¤%Ó9·o½§f8\BªŒ¶m˜NFî±²¼H'ë`‰CfQtãæNÛh«Ésž|F¦ lkÉ‹,Š*gïp„qÀ7ÔŸçû7„*yŽÖE„P ™^°HÜ ý¼?HD6ˆ ¡ç±±ËÏY„íܼv„»ž„MÚR@¦³(áÿ«Hëì ¶2Æ[…Èãç+x‚i‘Yœ3Lô ɰü‘×á¼C†; •Š~#¢Ç*~ƒ¨T Ax‹ô‘õ•«Œ,T˜£-ž~€h™Žvq6š„…ŒÉ…ftÂÑÎSr-.-aœÅ ¨†¬?Œ*žð÷yº·ËÔD¤A Î+è”%£ý““Ÿw0Ý#Ùaäb ʵ !:cqóí䄼ÈÐ!FSÛ¶¥ª-J¼µx‘3OAÆoô Û%ïILJã6þG©5BwÁ$oVT¶´Œ0Ù\)´V$˜Fl‹ଠ1¡u4E†HØ—2cÜ4H'Ò‡3ÄŸ ]°X“QÐÉ BjÆ“cAg½NN©ׯŸaÿ¨æŸ?¡×|õK\}iÀç÷+¶GK ‚…o ƒ^ÁxDƒ}Ý(nßÚ'‹k"‹q×Î_P[ö%{‡S^9·D·ðlžpÿÙ”åA‡××À'¢}†÷%mÝÆ<à¬#ËJ”{†Z3 ÿãŸv9³™sv­‹u·ož°½gxåÕ¥vøÔS(µ$Ï#_Nå¿ú_÷“ ÿáûçYî¼ïš\•LlàÞ=âƒÏ'Õ|cyýÌßù÷/Ñï4mK5nhš–¦m1¦MæÝ†Êl²|z3U]‘Â"žL+Ñ;|À<ý%Ó½÷жqôû}Z[£t‰³- ë¢*c$¿,»äxßâƒà°2Ü¿»‡š¯}a…‹§#˜pÐQìí²Ø+Yté.-&é> ² „ä¨ÒüÃ/NøðvÅ{ŸWââ•—ñJákƒ5k<^(=xˆs–ƒã#:Ý’ÅMD0ä8ò¼ÃãÛ¬¯-GoˆÉj:¥[öciëb´ÒŒÆ#ž=~F#‰¬¥jJ¶¸ÂÓ‡O¸ýÁMî>¸Ï±rþÒkô—ÖX^2:ØcTM–ò‹›Ë\9sYdLOx÷í_pë£éõ;ì>ÃLjN_>Ëí›·yùÆk<ýä3¾ó~„ìwÑË·þìÛ\¼z•gŸÞáß~ïiGûüøý„©5ðÝý%_{ë›tÝ„Á¥þû_ÿ7Yé:®_Xå‡ß¿FYÙ9´üì½–ƒVb¼Â‰FS®œ)Yfì<Ž˜‚dõÔ&×^ýbÚP¨¹•©X_#“¿Ó‹ë`^`ü$†‘ÎÔ|Õ%¥ÄK× -Ó“޹— 3¡ÃÌ®“x€Ï» cE—MÃipˆŽþ‘ü@ÑÞz£ç 'õóÉF•:Ö¼‰Èø4/3AaÑeçyrÒ²|”½bˆ*UµïÉu1§»ÎÛ9Í~¶"Tú…5ÚÌÜÔ@‘W¸¤xn‹Iƒ™R1ñßòç>²ÙšOIA¦3ŒiÈf=’3¥Jw´Êæ+ÈØT#"ãèdŸÑÉ1ƒþ€¬,©¦cNNŽÕˆÓgÎÈ’…F’eeÁJl°ñ";ÝCÊfîcÎt†Ôšim0mmUB¡þâ{?¸!u‡ŒÅ—¡MlO–+¬y>`ÍÌjaö·—héSßYT²2ySRE§”·.ýs¬¥¡*×1í‡|ÎépΡ² çâ”k“i=W€ˆFÉ"‘ä3©æÆø<Òǧ >­5cô2“Ƀb¡ÐD…(‡f™FàñuE3ÞzJ™ F£Cª&šÎX%)µf냛[c\`óÌiœµXgi«Š¥¥~¬.i¶pÞñdï€Å²C&À%–œ§LÉ0AÒ.hdÆØDy}­£Øìgœ^òÒæ*«‹‹T¥i[Æã2Lk0®†ÐEÊlã©LãE XZ+h-7. Xf<·´”õ¨h‘#ˆ†Þ¸Œ·†LEJ²œU,ar6IÕ.ćéƒ.ed“™øà Á£2… cáÉΘõ‚²ÈкKk¡u1ɹÔWô;–¯}íF ~ùñû†/][äÕ³[;¶öE¡8»6Å´Pä±i^ È\ñòÕW¸òòiÆ'c¬·RácÒåÜùE*[³³7¥[®_[åÔrFe'»tÊÀ°c@hêÖc›8°K)°Æ¢³2ÕK@^*”Ô¼óéw5|õ%\hy¸e¹y·æÔrÁ+ºëq&£ã¡ ïþñVÃäñÿ知 B(¬/qÂ0õŽ>3|xÏ2ªZL[q~±Ï_~÷ k+C$’¦1T‹÷’ÖØ¨* ¾áh ›¿ŒmA†Œ ¦5s?EÝžððã¿§ÛSh]àlôJz₀ƴTÓcÞÅ[j·ÛØŠ¦<ØÙåè°á+_8ÏrBÐ<ÞŸpóÁ 9½ÒaueÝí¢µŽüŸ ñ²ä¿üímîoŸP[‡Z¬³¸Za«1–¯vùê—Y[YFç’……gÖ<ÎÂ¤ÎØÝ¯˜LF¬®Ÿ¦èv .0X\âáý'ŒM*\ˆ”uï=uS! ÍÑá ÇGG´ÞáZG§?dØë|@ç™Ê™L'h«¾Ú¶Žk"‡Ç'ÔMß38wþ,»Ç<Ù٦Ȼ¬¯oB‘Ñ/»äy‘åt<ô;ÖNŸGfP²|„÷ŽŽÌY?wŠ¥îbÐÇL'üÓOÆÁÁ!Ÿß½ÏöÖSöwwøàÝ_²ÿ`‡{ï²ÿð)¯¾yƒoÝâÙ'÷øÊ[¿ËgïÝdó¾ðû_ãÇÿåo9œLXZðå/þ6_ýÃo±óh‹sË5ûfÊO~ü.!ù?ºÎ7¿yq£yïæ Ÿ=)Ù¯-Æ70m8Õ7üþ×NóÛ_]åÕËç8¾Ï—¿r™­ûÛÔ.çͯÿ›Hk'Ø?9—N.¦¶¤O‡e²€ˆºöRÊl6V©o¶ÒÉ”Žë%)æF@ d˜Ók×Té./¶,Þ9¤Êæg–!©hq0 !Ì˧ãkLê!¡<ÁÇþIomòsų͉@uxDi)–OËè/Î’1](™<8ÑŽáSçn¢Å?kí,χPYDͺûfH‹ ¢ɹ6^ag>$_«O)¹höÃ)³žLbCÂ;„äkšÁ¼ƒ÷/¼gñ,ˆçƒPW¹Ö´.b™f\É™g1Õbž¨ŒG|H~¸dÍIÛ)¤Ö¥ð€á7à峕óìûkƒdâjÚØu,åoZgÐÒYZRE µ~¾œ÷':I†w?¥ÛíÄžMoØßß%Ø–Ís/±´z†¢(Q:ú¹NØ"%P*£=¡àBfEåUÓ2L@Å´¾úî·þä†ÒT‘Gµ 5ÝF°—L†´ÙÄ•(OŒxz¶‰=G"Õ)ðD?â“'#‚Q\=½ÊÚÐÐ[Z'ïõ‘2Ä›®Ô¼ýî3n~¶J°¶ÐáìJõ¡äôRÆÙ5Íë//òæ5άô:JIJW/J8ÕÓ,löÅ€½í#‚Èé,.á[Cå¡?èóxë ;;»î²´±o=mm™V޲_prp̨±¸ªfr´K9X$ëÀ· £IƒsŠÊÔ˜ÆÐ6-GÇÇÔÆÓ´P7-Æ#¨ÛŠÝí=έmråúk ;•‡re•õS§n¬!ó&´Õ„ÑÞS¦uCðÝÂÒù Öz ,¬­ÒL'üËÏþ‘“jLÀá‚¡²ž£Ã#¦£Š;ï39nxûŸÿ‰>øs8b<=á'ó·\{ó?ýoÿ?ýé/8sé,Ùá÷ä–Ý›ïrù¢ç£[Ÿóøö6oÝ8Ç—~ë"O7?jy2–¹ W[:Þò;_ð7–X(¦ôï2d&¹ùþ#¦^òÆ—¾J¯ÛÃKM©b2xæ!Ò:&gPÍ€O‡ÞlÀJþ«Í<¡ðñl˜áxâz1®K8„4øÊ´þ‘DõPHÔqÁм˜]"Ä’gcÛØÊ 4Z>=ùÀ:¶ IDATÏ+}˜³¨œ>.9S¡´žó˜.® •fül—åÓëXããº>Ë6®Å|ª‚ ©H~&N ÜF*ùÍÂç<Ï1ÖÌMæÏ7FqãSZr6tÍ‘ •21«"àZ37ÁÏkêó÷61ç…äÃ)A>ÕÊVJ´±¸×GD.)“µiý*•JD¤ék&Ú&%N#U#ÖÚ‘°3–òQýi3&"|B`ÌT¼éù3fZžå±±%¼sq¡>Ž>áé”y$²à Ê%ÿ•ŒIŽøƒ=,>ŒëZÅ÷Ê{„P¸Öb•JŒ•8p+©QeÎtTáÐl.ÔÆáGQ(Nõ3:eF–Iò\ÐW†—¯n€,øèÓFUõË}V—4Ÿ=m9y®œÓäÒœDÆVJTÞloéžµ5‰V–3§Ùzø„\DlÁò™%|¶Äž/xe­ÃfßaòœÃÀá œÞðHçi\Tô¬³±ÙÞ[úÃ>øŒ©køÉ»Glm^»ºB9̸û åñaÃò‚äëo,bœ#ÃS·–N‘ÇbÑ"çh¿áêEÇj/gê<MÝ(ªFòþíš»;Šã¶aÜÔt\àßýÎÞ|cïšya®ium¨¦U4úJ–‘gTMïÞ~—þÊ&Ëk§c'¤k!+pnŠr0Ý€mÑ –&¨ùXëÔªÐXÆUu`ËÚâjôS¢×SšI…ñ°½wÌÕ+›TmÃÛ>áÙÈP–%/Ÿ°4t»†ƒ>Y¿DË ™ >¿Ä?þËC– ¾ýÍk|íµE.ŸÓ¼´ž±¹š±º”³ÐW×¼kÄGw'<Ù³<ÜöÜß¶Ü~Psg«%ØŠÕå!_{…Û7o£TInR#;%Þ ž=ݦ­¦ôW×ȵ¢mSr9ïàñL˜º@c “gû,,öèu»8°^p<œÇCk ­uxÓÉë£Ñˆ¦©‘yÆ©S§™ZCا(z¸¶Å·M2(šÉÕî3|=ÁÖ¦ªqïèwJŠþήs0rܹùõdŸÌgèЂIQþ€v༡šÔ´­åÄÔÜÿøs'þåç¿àÃ[Ÿ¢LàÜõ‹ô|ÆÙ/¾Â“O?GUYÞ€ÿñßoqål‡?ùÓ/±{ìøÕ§ 'FˆV}éøö[§Ø\×h0Âp4Êù‡÷÷øx«áíwîPM¡Árýµô{Ë(Ÿ»Ö”Öó5Œ1…éÝóšµ¹â#ô6Ë2ÚºŠV­æ%Òbf1šwõ©y áub—f<3â +vá%»H2Ç»òBF¤Œñ\›µ¤Ú1©Õœ‘\ôP‰$ ž³™BðØ\Q4QhªzL8$p5¤•ÂÚ8 é,*YÂy‚ ØÓƒH%ÕóÂé´ÚŒ¥Ìñ}óÖ&…-ÌýlÞ{´ÌækA´œ{²bš/ "!š’«2W¥Ô8bR_ªÝýJB¤0ÄÁ6„Ȫ (Z×R‚ª1Ñlžf¯;yÁæ Ñ[o} ’Í¿Ç2ö B¦Âp@&³=IÕ{nÞHkQ© NÏâ7†Sï¨èÕSBιËÑ9Cžçxç°.‚h÷žÞçÑýÏÈŠ’NÞ¥jOŽÐÁ²¾¼Š,»ˆà“x;nƒ”()8>y†Ý{ÌI5&Ï2P ©Ó[29žÐú–6tP?üöwoH£²"žiÕÉ(+ˆf9! ÈÛrΡeˆôàÒ›ë,1áàã"¥$*M¤…Ž1Jf+!°AÒ‰Ô9IPñkWMrN–)Š™Òć"J´¤AJ§½½÷.¾©)¾§}±i}ó¯*‚ë%¼@ŠÅ%ö¶ïã§Ç8ëyüé-¤Œ¼¨\*Ö××)9½Û)ØÁ™^F][’ñ¸Û ° —×0Ò±{pˆÖ]667eí*ðt°å&+)–VðYÆøø—66°ºàöÖ‡£ ½ÅEšÆòd{—Ýј›·(XTÉÐéT‡‡»#žíNYë÷ir8ܵ´®åÊZn&ùäÙ™tòhÂy´ŽªTÝBªR žä…˨}\ÑD žEH…õ&BäŠ!ãÀ’‡!/K’ÖJ÷Ç\87ÀZGm,½Žfµ°, :…ÐQ¨†K×*çý÷Åëš<˸³mÈ…äü©€2P5&vË!A¦50.–¹ê€Î¦àV”%¢‹í,A¦9áýÏï=hé‚k—‡<;¬øäaƒm¿uc‘sKšÆBÛz*šK¥#Ï<]9eu!Ã8AÖæ<:üóÇ ;œ´ŽisLÞ8~ïÍ ¾þ[}´vä:g:© >P×qEW×-y¦ÉsA¦¡, òLqçÉ1Ûw>å…ˈþ"…rñ¡´dôø}¤:‰l2¥wMU‚Ƹ¸òÔçYXB j­1QUi-Ç'^¾¼Â{·v99rÙåüKC6×:dÁ2(r†ÃT¡‘Zóð©áç¿xÌ©S%ßùw—8½dÉõß´è<>P«©áŸ?óÑËA¥@”ÉçWÓÍ5Ýžgy¥d}y™…^—3›‹Üøêkci+ËädBÕL)tL=îOñÞ²rjƒº5dZ"Ë‚^·G[×Ô£1ÖÆÃeucY昦Á¸h26Mƒñ1œÓ˜–é´F(Íx2e÷ðãñ”£Ñ”ÚNèv'‡ûœÆžK Á7˜¶A ÇøðWWd™âðø„¦5l ë««œ9³Áää?}À“­1çž×××ÈdÀµ1Öß/$ZÀ@´dx2ÝÇ­AøÀâ°Çúæ:›è —xðñ-®¾–ó‹·Ÿ²¿µËÿÑu|®¹y¿fÚ cÿc ¯^Ò\^/ÁNiŒàöCÏ;·ÆO5Væh­E6-/]äìK—ñR'\‹˜s¯t´âJùê0„x3®nBèLã\:H_ð"ùVŽÕ çkÄYk›‚,%ëžû‰âÚl¦ìÌ}UÎdžtô§z«X 2[±%¦“óú˜H¨ Ž-Ÿ¸[AÆ” okt‘“¿Nj³¤¡ÎÒÐ ÛêEe*ý¤n?ÒÀ7ÃJb‰° nÎáA¦ª!‡µ™·MÈ™b•T²y/dTý””Ôu5_ÏÎWpJÍ¿O3ŒÑœ¶Nüµ<Ë8>b Dˆœ;U³eo\ ¦%)T’>}¤è ð*ÅAeJ•(yáiÖ¥ú,R\°±ƒ ÃÉî6‡ÏÓƒphe™Óté ¨ª e[G'¬—’N¿d4žÒÍgά³Ðí‘•šà-¦µ¬.-Ó.ó¬öœ8‰êp"Gg}]"œCcXYZæ³gG<šÖ²?ÑYXÄMð†»OG¼ÿôÜ=âƒ'ûÜ~6âóícžZ:Zrþ”æòb‡NíÖ„¶åÍs œLjvGÝ~IVh‚d©6È9‹ ñýò¬ØÎ¥c’ê…ŒJ¤ 1MdjI‘ÊŠ tTLÅ£­ ×®,£pTµ¡”–µaư_Rä"V/©üJNxù• ĸæ§ïíqñÂ:Ö '#ǽc¸¼š³¸hh¦-‚<à+„p±é ‡ö‚ÁbÁçwÇ\:·Î믺¥dk¯äpÚ’»š³+ý%ÅήâɶemÕSä©zôÊDBfÊÄ+~q«åÝ;5MÕðúË=š>ih|Ãù¥E¾þ¥…5Œj‡0o£<¯ I®¹öxhm 1š_ßixûSÏ^ÕŹжi(¬à­¯¯òo~k™a™!¤#ø€m£Ú` m"&/$eOSäY¢0 >»ó”w+ÚãGœ?wno%!&8ÃуFÈ5‹=§‡¢÷žÉd´5˜Öâƒ#×KËC(2Œ8› ãB°4`CÍíÇc’•¥çN”:ƒ`ÑBQ¨]vh¼óö¯i?zsƒŽ¬‘BaÒÕíîËÏ~}Ì?½·ÇèIJÐ/ùâÕ7^Îxíå.žî²¶ž¡CN28V4™jdŠW^]fi½Ì Ý}ÈÑÁ>ƒÅÃÞö'Ç'¬­¯Æ¹e¶ÝnŽ­kÚªÅ8ƒ É´©±&Ú𦡩§˜¶¥iÆã|Ó2O(¬'Ô «ƒeÎ:Ç©S›YN[7ïÉSW5™"¼Ã´-“ªÆ¹¸ÚðÆ3èwYZ_¦ë-åø>Ïžœðõõxe7¯¿BÓTìN4pj¨øâæ:«C†N°¶ºÊ¸5VQi¸üòKt:CΜ¿ÀΓG¬w¨¼âý_~Ä¿ÿ»ÐÑ|úH²s¢qÂ@ÈÁòÖ| ›2w ™äæí1¿þ¬áÈ žÆÖ1Å;m¨]Ëáãg¼týký‚ˆ|ÛŠ¢˜£y¤”˜¦™I³¡I¦Þ½,ÓsO“µ6>KšàE˜æ‹_onF—"ÅÿÅó¡lVc"ìt†>ú¬b­Ž@¨ÀŸéy6# kÛ,f‡7ľÝè! sû ñ 2Iu¸ÏÂÚzôCº8 ¨<#õÑ—Ü,0“³¿^ü3„{Ò'P:Ì…ŠkUgc)Ý7÷Nñ¼0:"+äü<RÆoý~A©Š'Ål—ú|0R©'0)3ÚaòNYÓãAÑG)ì–¾h©£6rQ6@¦Á%CŸž3T„ˆ»z™RRi}ôgešLzÚv Ó]üþ=ThPZ°÷än2Fæ¢ôÜ”,ŸÚdt4F Ec‚+º +½’¼×¡Ì2 ‚I-qÆqᥳŒ+Ç‘/Yë* ­Y ‘™屓)y·`eÞÁË ‘çŒN& J®½´À³ímŽkI%*Ç©“p½Ðtpœ_]æð¸á¥õ‚"Ó<Ø£„䫆|´}‚òA  ‹ b£|ÛFŒj΢±Ö¤H‘€¡qs<«²±Ê<&P„Dª2UM´|~ÿ„kWÖÐÞP{Á0Sôº9e¡é÷»•£¥¤u-Y]©8w¡Guì¸ygÂÅ Ë » Ov$OàÊÙ–BHZ0Æ£5(UÅÊp΢ñd…c¸~íkJÅjgŸGÇGÁdßrf³G?³h+ølîX±¶P¢@h *ðp?çŸ>²ÜÙ:Ûç·o,£òœ·?9ÆûÀòÐñÖo¯²Ú³øF0nÒ…ˆ“ÑצEìLs!`­çöÇÏ>¨84qõŠóH ø;§øÆ›‹t„A… +RªÊJŽ&sQ7ŽÎ° ëJ²ä‘R²»Ä¿Üfï6BexÙ`ª€q Þ{ªjaµÖal4üãÝ^AÞëòlï%ÅÑtÌ™%îÜÛeÿ°Ag CÍʰhD8×Pdª´L+É+¯¬rjÑqïé ŸoMØÞ¯y¸Uñ·ûüüÇl==axù\ßýÒóë%E™£dÆînÍí»5Ž'¸zÊêJAQNPFðäø„Ï>~ÂÓ{'¬,å\ÿòªIËÖã:½ež1=8bgÎBáU;ÅyGYæã5Süd‹Ì‰É¸¶1xã0Æ`Û ÓVÔÕoZ\SáMC®+CÞzëßó»ÿæ¹þ…¯qñü%®^»Î… WX^ZãèÙª¶"ïô˜TSr­©¦McZºÝœr¡ÃrY¶8n g¬â|_pj¸Î©³+<Ü:dYÁŸ¼ºÁ¿=·Áõ×.òÊ™MÖ/\ä×ßᨵ”¹æ _~N9Àe’öx‡ë_ÜäöÛwøÖ·Þ`·ÍyÿçlŸ€Ì»(<Î N--ñµß~azwÈãgcÞÿÜ1 ÑðO¹–zRÓLÆ`•Òìqùúd:¶M*ÔüO†g­u "Ń3Èè¹"¥¾DÚ<Ì|º³õ`ì LèöÖAsær쥞ÿ¿J©H¥£§R¦õS,†žá~äÜ„ëÓë“sȹ8,Ì|§"¡ªÉ!½å¬IC’±s7‰2•.¢>x„sFTa^M#ÒeÇž/¤ g¯q6hΘSÖ™LÊt˜º´Þ{þ—1ÉÜÜ.^H*ÆtålH !Ì»µÖ¸ÆåEd|·eÙcRèô Lm£{HHD¨\ÏßÓY ¤›)q-¸”äLç: Pçæ]‘³ê%­¢Õ9G–çÏE•Ùz0Ätà¬oiYW De®“g)µ˜ã¬ãéÓ»ŒNöA¨TÓqE]Utz9ý…„õ”½^T­CGS×x_¬&_^fØY¤72S‚<+°¶Â:ÍÉ´FýÅ·pC%è|.UƈhÜaj©P"$2¥Þ#|fø0O5Xk"àSÅÃXIK˜E†ÌâÆ¹%B€Œ^‰OåÁ‰œ+Ááq>®\cèæ‘w!­þ㚎Ýë©ô27/?!ÃD ‚obAçXp" µDÆ4Ha¨v98xŒŸp29`¼³žå^™K¤‚……ez½!•·˜é„nÙáþ“',”‘™”g”Ì ˆUÆŠ¢K§ÒvXZ[e}XBQ ‚EÙ¥žÔÔÆ0,Rµ–*„5˜àɲè[ï W%Ÿ|¼C­£úãx#8½¨W†s‹šÁ¢æÎÖ„Á £×ÍÙÚsum:šÏw§yº5j9ß×ÛàÐi85L4”à|$,ÏLª¤’NB¬$QJR[‡ š¬ÓEªø½¾ç×®žA›†*’NGÑÍEÄAd9Yeuç^h %¸ze‰o=ãÙžæåÓ9ýÿÍÕ{=I’¥W~¿«Ü=dê¬Ê,]Ý=-¦Õ Fƒv…ØÅ‚X’kFFþw|X3¹$×` Čؑ-¦Eu—®ÊªÔÊÅU|¸7¢jö©º«+ÓÝ#ü»ç;çw†Žggß\Ý—tó¥{Éh eè~†®Jbh‰K>/é!vháè¨xr¨8m=¾î¸¶¬õÉÀGO:nìŽêäA<óšþà‚‡GŽ+ã!ï¿gpH>út†“‚>ž¿øÞ>×6,¡uÌ;ˆ.‡>|$j(…Dš–.FšZòÁËßüèŒyqCúÀ 'ùÝ÷wøö[*=ßhE´-‚ˆu0½¨i;.4mÐRbEM©$óù‚ŸÿæŒG§-e¿àkÛÄ¢Åô.ÓlPIG}ò»8¤¶ó|*•´Í‚ºõœÎ,G ÓÚq|¾ sY]Ó¯*¤†“‰`<:Ú¹ÂkÁ;'x1¢boÄ ª@Á¼sÄ Ó«¬­ …ç'?}Ì?üô€‡OgÜ=XpçÑžŸ§_ô|óú€÷ßÞa S°fÒ>øx—O#›—áý[Û\¹\qz6ç³»s>øäŒOïÔÜ}~ÁóÓOžqq²àÝ·npûê±³±¹ÅÕ½u Ñâ3¢ç±m 2Е)Y,j³)Rð%ca¢¯ M‹ðžW¯lróÒ:_¹µÏµ½Kl®­ñÿâOÙÛ}…¢(Ñ\ Êr@e*.íî²¹{…ÓçYt-Í|ÁÆÖ˜ÓÓ ÎGBH¡‘Ø%Hëšh*‹ó{~ÆíñYVì”=”rÄ®æ[ÛCdh(‹5ôæ÷'~øžÈöú½+W‘¥áóŸþš7_½âÒþg]Ÿüò€GÏñ>o„¦Ôšý+—¹yó!6|z÷?ûÅ)î%šx3§m'\E¾ñÃõ­ )j\«9¾8¦™.¸ùÊ[…é±9a¼TCB68³ 1 )Ñ*ù6eNó)¡VÄu!“í_ÐØóK7µn$ŸU 9…““v:ƒ¤—†i))]ê¼j ©¯P™µ>JæŽZ!rÕJÌ]¯)¤•Vm‰¥”X¥—õ0D°­G©ŽŠÜ ˜•‘+ab\¡#’—>R3Âê%@iâl½4O¦5¨L|Æ(É=fLƒ )?F•/ œrY‹“úðBnZI Ã@ KOÖ2æÀgú¹wiµªtC*៖[ˆíB/dÔ&Ÿ^ò8U‘Ød:¨TÊí}Úp…¸¿¦ë~ ë”T¸TXÏÓŸîƒOíÒ ƒÀ’¼ã“ó.Ο ´¦ÔÎy¬uÔÍŒJIÖ·/ã¥ÈbÌ ËH½h²PÂP {Èá˜öø~ D@Ãtî˜-,ºs°%JVHÓÇû.•ÃJ“Ìí,»ü2=6GfEÆÍvÄ *­kb|‹ „T’9ÑäIµ)ÞÛ•Ä,Uö]ýWmæB€·I Áe°]ŠQºÎæá,W)Ä43—&U $xcÄÅ’Á¥7ñÚpòÙ9|ô<ƒª FOYÌ›†í.¦s S1ñgl\ºÌ–süæÞ#Þ¹ºÅp¯¤+†T# è+IÙ7ô®¼Š UHbøé9±óÙ‡$9,$ãñm×Q(AôŠ©Ž`;ŒÉÉGQVð;ïßä“{8›Ì Qá|:†ƒ î?[ð­w¯qlž,è­I†k=>}4áÍ[ëüèá9Óé€~/™×:‘ì…JÉÀ(“\Ó=‹!EtQÑ9‚OÄ©‘8k)‹‚àd®gè¨O'5×G†2&¨^ðÛ†C¡~Éœî½#XI+£å/þÍ-þ×ÿí?ú¤Ï7ßî³»SóàÈpãšfГ\LÏʺРFÕxW\*­Ž®£ß1;¯…ãÆ¶ÄÆ9¡|ø c¼&xïÕŽk—zÜ=tÏ ½ÒÑ’Ó3ÏÅyýõŽï¾»ÆÓ󖿨Yx˦ÒüÅ_åÖ®GM¼/r *=›A{´(Q°ðŠ~>ã~þœzèõ dUriÛðçßÜáÆv Ä£5 :¢Tè*ÑÔOÏl0hèQGº"zÇáÔóÁÝ T%¹±¹ÁöœÏáøÁ§ìÜx[GŠ­}âÅf'g„„,–ãYÇlQ£•`ØOfOçýÞJÔÍÔ:• û ÏŽ¦X eÑŽ“jE”€¨<§‹ÝyЇ‡ ¿øìºRôËD\¶¶Ã[‹ð‘7özlŽ Ú©ejáà|ÁÝIPp{OóÊeIIËßþã<9 KÉ@ö·#ÇÁÙÄÒ+"=Æâ©åÍÛ†oܸ3’^QP”_£sgÇÃÇ|ø›ŽNA®oopz¼Îä|¸ˆlÇÆFR\ð\¿¾Íý»;Û,ê)ZU˜ÞMR)‹´êð YÕ‘H 7¯^#þÞóŸþöÿ¤¬*š¶¦?,iZK)äSyÏWw '­hCè,e¬ÑÖp{¨_!ë9ª¬ÐÝÑ|ø›Ï±ÞB¤7ðìàÏž¡æ5kï`*ÓËo½ý..& ¿ÖE*ÛÎùÎZLVkÈ/F(­Ò»q¹‹!Ù;2}9 ½Œ1pÁ¢„FKý"zx—z8—jÏRI[ªf ”¸v«µé=¦åK(‰D%O©½ø-´L<Šô{x×!¤¤è•LÎ.XÛ#B²X(mð>Ú—±„‚fõÌ;—Vlùwyµ·übHÖçì ‹Žˆˆ¤ú+Hß÷r©`eP§©K¶ÈÕt‘<œùì«z¡p .¸4è¬MR–ÌY•W!€ÐŠA¯dzqÌÚú˜¦©1Nîs·cÌI> È"™éU IÓ:/ÇXŠ#ÁYBô#A‚·]˜ä“Ì~¼ÝÕr£ IDATô.JjÚòç‚d@OÔ÷tmíK<¶åóØY>—=§¨mȱÎãtR✈ôcœó©RŒô–eEôÛ5˜Âж–E]3èK}Fƒ5ÎÔ8FÓ Ñ9—ÄŠÒŒòd¡FJ“N>äa$Iv!$cyŒÉ—¥3._‹Éà·l¥6Æä‡(ËxΧ*g‰"¦²XZ™UA2Ô’]Z„@È%Ä.<Ë‘Ƭ¤ÛÔÈîWF»à-]Û`Œ¤ÌE•¸Ï•E‰µ)cfqÙ4ÝÆˆW’BI:çQÕ×['Ø@e42:ú• ÖkBžô¥áÂæ''\ßÝ£”%¿|pwQìí ZY&—)Xx#1P$Ð6) Ãî{,ª>W×Ì”AËÀ|:Cyǰp¼H/1çµõlŽl¯·¼ûÚu>zpÇ NJœ[ÞØ7<}Øq:Ÿ²½V"eÃ|ª¨Æð´™s»íóÎ¥>¿|VsQ–¬oV48*ÒŒõ/‰·tL*a„Æ%°` 託&×!xï±> »õ \¸Ëüd†ÙÚ@zÉEçY£ qž³ó9ÃQ¤ê÷±¾EkIÛ.8Óqe­Çÿ‹=þïÿ÷˜Æn_éÑ¿ÒçÁãŽw^ ÄvΤ™§’ñRÉ%Á ¤«±>}œ«¸¼^ðµ7:~ü G[~ò‡ ðæk’{=&sßéáƒ%(AÞ¹2â¹ üü‹9ÓÆ±ßüÉ÷Ö¹¶2t´ ƒkO¯(AYœôL½æg_4üÝs~¼ ß«P…â›ooñûïo³cZF½dæÑ!)‰AÐuédŽ.zPCg=M½`8TÙ"¤äbaùÿ~úœN ªPñí÷·)Œa²X0=¹OZ¥éWÛ´UE Ât<|:ãÉéŒAe¸~y ì]¹ Úrvq h:ËbáéI)E"ª \»²ÆhÐ#FOgSÁkÓu$Šåtúœþé—teÁöÖ&Bv‘YÉëW47wXç8<[ðÙ³Cˆ;ìm(ed£ ž:þã?äîñ€7÷¼qµ`k\¡ XسŒ‰¬£ÒÉREö‘2w’ö´ft¹äúåßùú>mÛ1ï<¥6‰+×X¼Ô *ÖÉ`[…E`\ÇÅù!s·Ã ¿ƒk{P8”wÔÍ)=Î5 ×èLʆØ6ܸõ:ï½õˆü§°¨Ï)L‘ép·i›Ww‡t±d6³aj‰R‰öݶŽ÷Ìl‡Eb»9šçtRòäùQNfE?zÊÁÁ ¥®Øß¨ Nõxv!Q㎣Ó#Ú³Sý>½ªâÚþ¾ýo1è éZËÝ™Ö-¦êñÆ«7ùÖw¿†<ýÑ|±ê;Õ½º(ÙpcþôÿÇßÜçç?ü;^{ã-¢Lý¤©08à²2²º®Ë Æ\«c’*f[AÚv¼"Uh¼³«ª™¥78zOÔ"›¡ÃŠÜþò?—ÙWX‰_r·–ëÈ’·È˜ KMjEaLN ÆU¥›ÈÃŽÈQÙ0;;éÑ> d¬QÌ`ÍÍçBÈUšR. åÙ'%ó:L©%_*ùIÓŒà“Ø;Dt«”e/;¥^DóÚ1¹¾kµ^„Õ0ïB®ëQYJ"ˆcyBF2¤ aW”R,êe1H‡’™¦.Ð&UÇ¥‡*¯: cÒ¤^`"9á¨@G™“§1%›}Lê]de Z‚R«ÿQJ‘‡W«àåjué“4‚&Xæ“S:ÛQ z©CÒE ¡¨­#¸çŒÖùPW^¹¤>‹Õ†¬î”®b¼µÃùó;˜qࡳéYWÿþ/ÿò=¡5J$ðYT/­RkÊMG‰Î­ã1:¢p)NªM~€A÷¹¤Y¦›"EòDm!QÃ…\î¿S¢ÂEGÄ¥¢çÜ¥”+‹é>›×• ‰u–B—•wøA ¥g8è¿€»­R&™6cêö“)b>I%†“ ç^ÌpÓä=™=»‡w}£X_bô²,4 ‡kÌÛ¢g¼1D*‚/#sÖ7tÖSwÊ!£aŸ4þb‚9Lì.“CzºC×ÑåBÆÄLaUâì‚^U¢…e³/q.²[zŽf ãa´×¶7˜7sf]d œžt¼{}L ’6t\L,bluÇ7߾ʯ3]Xzª.r²Ef²{iÏž:¢Ò MfVLŒ©5xëÒz ¦ºà½Ç‹ÀÃ''Ìæž×_ÙEE‹  Š’^U¡H%躅.PZ€J`Zm òŠ «yü æpª8Z ƒRQö>k—Ù bØ&IâÖ˜ hm°]ĸriy7gv^Q«Žƒ#Ëh(Ø»d8=é 4ÚÏ#×.œÂáÑ”Ò þÍ÷.qm["¤ÇSl:Õm’ñµôT¤* «ùì üÝžqúü‚²€«WÆüåÝæ›on²mÀÒõ6¥ÄN-ÁƒR>œ_´tÁå(tÈ}eüÓ_ž_ê’ùý}^¹ÞGEhkË"8n]{ƒ¶¨ˆß-ðîˆ'OøìÞ)Ê\—ÄØÐx—B&Ù ¥¡­‚ÚBW·¬o(º&ÐxÏÉy*ÝþÊkWP8œµXR+€ëÁE\ üü7Ü{zJ)Šœ® ¹8°½¦øÊFë,ŽÏùù/h\‹‹žË›½ þŸÿüûϹ¶ayýjd»2¥Gz¨z‘AÉ@eø-!5Oit® JñuãÓ‹Ò9›, V%ϨïèRx´íˆm‹­[ÆZbI^Ѓ å>ÕhRpÿ˧üägŸòч_rçΗÅyG‰àÝׯqi«Ä¬ßdëÚ|úë_rS{özSö8âù)Þ+еEŒŠÃÎñ_1i:Š~¯Jà|Ç+7.ó;ßx‹Ïïž0q žÞ¿ÃÙ|‘(òƒ!_}óu6·ÖÐZ0;›òƒøgÚØñúÕ[üË?ý]úeÄ5-ÍÅ3ˆU库.à\G¯(ˆÎñÉg‡\ºþ:[Û[èd†AˆL¥°2ƒµv·\½_ä’ Á­!1‚Ê”ë¶4 ȼfóŠ”$¡H*©."oX–ü˜WbË_ÈØƒßòCñbm's—`ØâKC›r‰³#…hd%ÎSôLBKx”«i–ë»ÈC€XT/‡¢äñÂèÜ$VŸÎÛÔ¹"Ê”Bš8TR¤2 •±¤²¿¤ØAHDõ<˜— ûy™ìpËJ‘a¯Kî%«:šåû=݃ô9›Ì/ GI²i@̈RÚºIC2‰s&DZõ ’œ>ú¼KèýŠÎž|g©È;DÌþ2û(ÅK0ÒåP)3nÂû¤žÅ¸ìÉ]ÚŽÔ*¼ #Ô¾áàþçL¦ÇlŒ×² íñ¶á|>£Ô‚Íí-UŒ’¥IËÌý²t{1 JAU 1Z0;yLa$sÌžyסþú¿ù×ï3JY`´B«HAÄ„€Wd@èt¡TÞ{*Mê&©‡Z¤LtßÒ¤W!t«‰:’™.#Bfš$Ô¤ýr(©±ÖaŒ&F÷iõg øYB¤¤ŽŒx—>$Îv9 B.¾ë|®LˆÉ&Ò LF¸tÚB”¸àÂ#…§›ÓÎiž?âðÉ*áÙY+©z=Œ6I.”’Ëû7°uG5â‚gv6áÒö.w¥fº˜ã¬CõLœ¡m"óÓ3&ÓSäâŒr~H¯b„„.I¨ôG)44‘ØÌq=“®ËRÑÕ–õªd¨_>_@Û±»ÞçöÕ\k9Í(uŸ‹6ÐëY.oY,<‹Î„AÃÕõ ï'B ª"•Kp>ætŸÄ大)|N“ø«ÄO$ ÝAã#½²ÂÒCa©[xxÿ„+ׇTdŒìlôéõ4ÆBîžT:¢ÑhÑQJAc T°½³Æ—OZŽê_ZÑÐÎ W¯”4Ó)ÓÓ×ÌRwT”Ø6½ôk+A'ÚwÛ&_ _Ùq´xÆÉ‰!ÄÀó󚵂q QRôáÃÏ,ƒÀÎ~ɧw§ˆ¾÷µ·÷zrÊÒºài»H^DŒôe ñއ޸É3ž>¿@«ÈÛ¯ìñßþÙ»¼ysÌz©‰®AâÑ…ÊñlA¤K>¥±²`Ú8BÉ×¥KH Á‡wwNؼûú:öý}ìjí"" EYŽÙÚ½AGD}ÎÎÏ>|€ÓŠK룑D MpžÎ·5õ,šS«xrpF‘ÚZý!š@o<äà`Š7šK—7¨d‡“k8Ò|Û¢ãh²àƒ0¯Ú(M‰Ò‚6rsKP™‹%*Ïþ/Ÿ\0Õô„à+ûOœó¿ÿãopÞóêÍ1c Î5計]ƒïÚÄ*"$æÞ *¦ úÔcI¾ÿÁGRŸˆÄ‹€oÞ§çE›8cuG#¡õ\XÁÂн²ÐžñþÃÿ…®cú=‚0´!prr΃‡wÑ2²¹¾î÷ÐAÀú:÷?ø€£³MCÝÔ„¨Š>oÞîS˜1·¿ñ}Nž=ç‹_|ÌÛcŨß#††¶³èµmöoÞ¤7¢††›ìŒ·9kf|y4£”‚ÿáþ÷¬oíóäî=~÷믱~i¾˜c½Àô$÷Þ§™Ô8 { ŠXôÑBòàÁ=î>|AòÇô{\ÞbzŠy[OR[—š1p8›ŸHÊqÁ“§g4æÖëo¢zeZofŽR `(¢³Ù ®“D,éÜÙh­%ѥ÷ –@—ÑKNTaŸÑÈÜC·¬’‘ÙãµÜ‚È<˜ÅDŸŽ«!éñ[æÂÁÅ*Í&¥Då¹jEý–R­*v´ˆ 2RÀ"Ò5Y™Ch!:Eò†Ö#ð¨B#B2œG±ìAtI40éûðev— £# Ê c J™Æç@(|t£V½K&•÷‰×è]œjÒßK»NÈè%¥–‰b±ªú‰YœXÕø¸<Ðà3ŽÄ.æØfBo0aÐR‚HÀ‹²Wâ¬Ë÷GäMW†œæš#!X)”\V/-S€ùžE™•§Œ´2yœDòÏU‰ˆ/',A‹´êŒùýŽ”¹S7·ÐÈ”?¸wyìV&)›­§®o¹²¿‡–U PJÑÖ5"´¸ÖHv"4R Jmè•‘ÙäÎAÓz.¦It1äªñ" k]¤‹‚FilH]w‰ê’ R)TLS¼Q: PÒã‚[™ÍÛ®MIK\Œx‘°Ä„Xð!¬ÖIÂÌ¡P‘|Y>ºDOõÒÇÔ#”yL>ïT!f¯t]‹1E.šL§ )DbàdTæ5W g䪇¥´ì=¡2y~—æô ÚuL§gøÐP–E´I´.0…¦›Ï) ÍÉù¦0"­³œ_œ±¿»¢bÀñyÃÅÙœ¸¨éÚ Óö‚îâœçgçüüà”ÏÏ'œ6Q+¦í”:Z¼ÐýA÷0ƒ z…fTxd[Ó-èMðžõAIôžÞ°bÖ4¬*~ÿý|óýW©’­‚žxœì]ê1¬JΦ ]ùìî_¿uK•Av‘¦ëpÊ3ïÖ‡¼ÿOÆRï#Á;¬ƒÖº” BÒu.•mKˆ1á£AƒÑ ×5ܸ¾MoPò£=¦#<‹¼Wˆ(‘Áƒ(A”ÖY-s ×è€cgpÁ÷¾¶ÎF¥™5§'–G§?þµe¼»KábÚrrRóìèœéyK×im`¾ðÔÂEEɤ!DϾ3àõkIè:ÃÏ>­&°^%¨ªï¼j!lã¹¾ã¹q)­¯…L°Ã”ŽÊP=(„Dê@ ÷Žÿé‡Ïxt8e,5üÝ[üwù×/kzEJÏʘžE5Φ//r„ä-‘¥:*åY/’wåÓ‡-  äúÞþgoãm–æ= GZ‚“Ø6±ì(wn¿´k6×û4‹[[¤N}“G§sÏ=÷OG§ “iÇdÖ²°žç'-VižQá¶“xÓÇF›†ñ(h} µ?ºË鬦 ž¦ë8?Ÿ0Ÿ,¨ÚÈ{W+®Ž5VºÖqçËS¾|<¥v7÷ÜÞ7×r÷áS.ÎS$>zËbQS7žÓÓ3æMd2mq6à| M‡Š"t£·™ÃÒ¹÷Ô³“ó9'G&Ϧœr|pÂéÑg‡ ³sÏôÜ1ŸHÎ&ó\\8Œ© :\½`6Ÿsr|Âó'O©ç‹Œ~Q × #>úìSþéÃÉés¬° :Ë»ßû.…È+šüÒÑ2 e…¬QöGœ]ÌhbkaÜG­m³¾w 5òøìiJŽŽž¡BÇ»¯^g½êsùʽÑ6»{ÛTFrioÏ™Mç‰ée»\]#ѳ»¹MŠO¿ø‚ŸüêC~ýñ'Ì'3ªB³¾±NSwtmÇp¼‰^¢¯ûÔõŒÎUÉ2ÐuȰ`dJþà»[œ|‚_̰O÷!o<|k_xŠbJq+•N"&ìNZSuÉ/‰‡1R§u¡ë~kí§2£‘ø²¢h›EâoiÞÙlÖFd.’2—I侚˜Ô0bò!È€.“sçn$|RŸ¼OIÛeu@¯×£nÛ”¼³m!”JlÁæ._••Ü×kdâKú£TŸ|;¹~Íu._¥’mÇg¼º>#Q Ð”(%ò;”´yPé{T«XSΣ”'„.—5KH{¢LH¼I)Å ÒºJì夌‚èÒFh}k—΋UIvˆ¬úK‰)‰(UÚ2%‘.¯0sØ!F6&{¹Éh¥¼8”¤0€ŒD%ð™I¦Ø—~ü«Æ»Ô,äêÔ`_Éö>$È]@­jUbÒ½Sz.Ð=zý>’Jº5lo¹ÿèˆãSM1ÞÄ)G4C¼ZÃé5´‚ªê¥¡X'õ3 0B¤‡½½‚1Ø&0ŸEÎç s+8þ„f:åÖµë¼óµ·)«e9nP›L'÷¹û¤ãó'5“fŽÔŠ.~üËs†Ó‹S®ßxƒÍ=¤Ii=-ôrgŸM2uœÆ(d˜oÈ…ñË>•‡œàW—TœŒåd¹rô6ù{Œ)’?I ¤ˆ¹Š-ñC ¹ëN¬|QJë¼{-]VúxŸÒÓË”Úr›©2»)Æå°°ôú¤ß·®gôŠ*¿ “çJæâd‘=L1ŒT«¿Kƈ&&úºR+EÒA-fÀh‚;GŠÂ$ï°ìjM–¬*"ÛvÂÊ‘`ÛŒ^J+Që]¶É°2ðËŒ YJ`im2öHà\öc奵–åEŽ™¢_”É®³qßY·R•¤Ö«:›åŸ <‡ huY}S©£ð¥÷J -uÆh¤ÙYIIçÓv+a7tö`¥µ«Ëï)s£ËKè©¥ßûðñ}œh±‹U¯‡ ‘º]0ŸÍ0ö¯\Å{ÒZ9{ålפ~JŸ|{’ˆ) EaPÂQˆ@³8¥©›PÿÓÿoß‹Tm0º¢ éA0J¢pÒ E‡Ä!1 Ru$?ˆ’eúKóC•ÍŠye-Ôê¡LæÀÀQ%“,윧0¾‹/è±1ã„Ép;’¤Hñ\É­ç©iÛ“Š@/ i…)’Üÿ2ÝW‚i¤ËÄNr¾Aê¾Ø?fþü [ýª ×/sq¦"z‹ë,ÓÎ3ŽquÍúxLDж-ófÁúxƒÑõ|Jp-ª«±'¡¥(úT½ýBRŽÆôCfAñìð„"BzàªÂà­¥mç4ç8Û0™ž¢Sèæ||<§”’Êpu¨ÙôXëE*U²VA©û;}žL8h%×F=ZÑ2=_Ð_ïsv0áÆåu¬PÜ~ŽAѪ¤þi‘dæ´_O¼¥á0„g¹+*—ºú(ÁúUA”®³ÈX_òµw®±>®¢‡íz\Ì$'“ÈÁIͳsÁܬBµÆ¸¦”1⢠ÕyvG¯~e×nU¬÷%Í8oJžœ{ã>Õ `^/DŠ*ùa©®È¢ARPÈtÊ)ŒE–}>}0c ÓEàÚža$kžõaÉñq°?òÔÖ1_XÚÅÂ`0ÆÉÚÆ:÷ïÞgsÔã½÷¾Ž×%Ýb£û÷8>:A…ÀïþÞwÙÙÝ]†bˆÔºÇñó–üà1§vÌ“SÏé¡`bkî>—<}¾àôhÊxmý›W@”(t6%µZv1'´Ø®£(«¼Æ /yyÈd¥¬få£)1¸\OZסuB¤\QϵV„ ðα¤Œjõ‚nž”M;§Ìæm%UòbÆTl¿4tk-Q!à³8¡rß º}@*‘éÿá¼Mà  r€H£.á<Ð%J(!Qùe –¥DdRê´1Dñ‚j£Ìk¸ä}M<È4ä& k.´ÎjЪ«‘\T눔Òi‹‚é|BYiʲ¤kþâúBàE¢$õR€Jó[õÆL¤O–¢HKV`×%2 ˆ2£ÈÌ̸ìÏN×1£aé{i8}yˆ”:ýìó³Cv†i=Ù¸ŽfѰX,PÑsãÖ+ø Rª4+ˆmS#Ôm—Q²0ga©´ ´3‚œœÎpDtûTR$¾•„j¹¢ˆ£ >¸T´( ‘"Ë¥É$“˜žÔu”‹©Ä¹Ð×yblAJ­ÓÚIy-~Šs-V¦¶@bfÒ$Î/ú,‰i…Ú|ªñi§”&O¡ :ˆ¢@‰©et!}Z¿øTúhS–zX©P8Ú •—Ña­“YO©Ddw•°8;ÆlmqpzÈæî6âÄ*Îϧ<ÆæÎW_{“Ó'OÐÑQŽ,Ž “ ¶o¿N1±iÓ45ǵ>õ¢æüä_>|„“=&ó9ï(´FtÉœÍ"¸ÓÚÑ„†R ¼ÓìŒJŠëk}bÛ00%f\ÛéóåÄòñ…ææ G3“tMKP’»òÖ­[†k4  IDAT|~2ál6c{4Ez…—¥!ÚUIÊWšÎ×& ï|ê‹ "X4IGˆ Q¶ ´áòpÄW6‘eD÷¡éhZˤ†Ç‡–Ïî×Üy´`oCqëæ7ojºhóT`¬Í!tìö#on]¿ÎO>lùõ>ø"²·©¹º¹E¥;¬Óh]ˆøÎaŒK2¶Vt22$u½½uEñCañhLQðä¨åòMØ^WHZ&3Åî(ðå¡eÑt:©¯ýjN¥5Ug¨z©ÓàG¿~ÎO~õœjX±¦ßzýßùÆeá)$È´nu6¤¸0 Á;šVÐÓ5M°t6¢DÅq]ðéƒ)wœ3é’W«§àý×7ye¿ÂÍÞxTLë×VD„h‰BA÷ ÁuxY"L½X°ˆ³Öw÷ymwŸQ_¢Ë1²,©›ç`æÒ„:¥OàW6q±¢ì©z%ï¼ûðùÃ3.f ³MŒÄb€ï:Û€è;Ëlx–Ĭd™"5ˆl`Ö1Ù‚ð6 (²Ðr™à ²,°Öe˜õ TBWz´y)‘Ó#B‰6!O†ƒ1Ö¶è²LÏ^ˆ8 J©+WFdˆ­ˆ6ñ®¼K Mê` IérލÀ+‰ÑEæH)l­ÓzÍY h¤L«3ç’Ò|›VâRƒN>ç¼âRy¨1ËîB$".¿·“øáI¦momRmBÚgó€–=uiWºR§Üô‚¦P„±¦( Á‹ä3ËŠ“>oÅ\RÁbªÌkº.«RezéºëÔøâm—–8J„•¨ØZ[cwmHÝ4lìì²·>"V /$ÚyLUpQÏ8=» ‹’vR3ŸÍ˜ÌZ.:ÇæhÀ´õ”ý!ÖZʪ`2iéJNŽŒzš~¿Ï§§é:ª V“ Yáƒ[Uãøô‰Lj–OCK kST¿(JÖ†eŠï†H =­ØZ2VøhÑQÐ7ŠQ¥Ø^/¹r)¤“,¬a:ñ#Ø\7Ä.u^zçñNPèGAi £2rí’àÖîEcyð´áh(+Ãh\bgs¢É×!<ƒaÅhXQOUD<©.åñ‰fÑU…'Ø‚+›'“¹æñSǃg î?ðèùŒã‰¥µŽé|”4]‡µ%G§Sþãß|Hí%½¿÷í˼ÿÖ˜qå©LAiÊD·ÏS…»˜Ò…Teb#¹¤Âv±Cô+¾< üê7-žNh\™bînÎ;¯]âò¹GM ¤§2P‘Ö¶œ9$š½Ë`z×èD…1j¤’ÜÿäcÖ¶¯R6i±\, æ­ã¢‘TƒËx=¢YDŽÎ&tÁ£ª1“nÄ¥¯~Ÿëoƒí+W1Õ˜¡©¹}eƒõª¥‡sž®³D,³Y÷¡š¯¿ÿ7o\Fºœã³ûÏøÕgø`¸½;àOÿð+h/ѦOè)¾¸wÊ´–l­i¾r{#]ö¨$¦Ì/ÁôÒìE¯* J”ô©(Ù{bpIï© KŠ˜@ŒÂ£È`E‘Nã¾Ü%®}9ºÎæÆ—÷öÙÙÚ`csÌîö6Û›cƃ>¡ó4³Žá —W“ž{÷Žx÷¯óêk¯óÍo›Ê(.NO8>>åÖ›ï¢eà׿ü9³EM~#òÖ«·){=nܾÉôbÆ'_Þ¡-è ³3Tðxkу h-½jÈA㮾†”= ­Ùº¶Ï—¿ú'Þúêu>ýü˜Óù9eoÈ 7 (Kt¡iêi-{ׯҵ¡ kZŽžòÞû_c¸¾ŽÎÃO3_0/øÍg_ðù÷² ik ¨ˆ\Zr6¯qÎQÏ/¨Ï=ßúÚ×PÃa:Ä Ò÷ VÙH˜Z+B´©6mYg²Ý#Ùbà%€$X›ÞIÙJFê¥ò!3ªÀç÷ÌÞζyŽxqx_z|S¢*)7J‰—º õJMZ‚Q—¥ÂKJ‘±E$ƒ¸P9¬%m½@ L!"ý¾‘ˆ Kå%Óâc ¤¤þ‹ú ŸYŽ §²÷)EÃVÑK^˜ÕÕR©é🠦b•–b ×~Ñß·ì$Lc·ê!ôË: !RxɹU/¢x©—P •Îôžk51¤T`¯ê#M >¯€ÓõLÅÍüWöûÕê.³Ë•”«ŸWˆ]".DŒ++ÑÒ{$—¡¹’+ã9–÷m™M~<>„ãäù!6Ô”FÓx˜ÍjfÓ3¢³\¹y=Yž„¨ÞbÛ.UÃÙäÑ3À`P¥Y) †Ã1z¸Æì䀵^ºŸê¯ÿêß¾§Ê`²Ë>=Z\|±§ 4šö±/àp!ø•Kät@˜Þ§Š!XÅUw™þ}Œ™'è\Ì *ɾdº1ezè¢À†A®>4ÚèUgÔòD/â+JŒH¡Ó $Ú| ù>§5¡Œ‚fòˆvò 7?áéOY¯½JPhEÏ$´CÓ¶øèi;ËdÖPU=Ê~ÃãSv¶/!r¹u$2O©5Uϰvõ.öpS´VÔÓ3Ttô˶[PHE¿ì#Tâ« 4"8FUÉZ¿bwmDçZö7 R2( ½ž g F½½ªOˆ0èkªB1ö‰•&vS¬•ø²Äˆ£:¼“ HšÙ„W¯ïqïè‚Ù"©B¦˜+hºlês6äÊ—˜ƒ zU ílÄzÒšñ ‡‘ù¼ÃHOUFý-UUâ„¢mmúÐDAô‘µ± Ò•Œø`¹8méUÃ!(0eæå¨ˆìZl]ã¬Ç(ôoÝòê•u.Ž.øüYà|ê©FUR+m`4Ô0Z`ŠdúµÞá­§£Ç£§5…18ƒªäâBñÑž´ŸÌ9›,ÒŠ¬uL뎺4Îã¼À9ÍOõˆÏžÔh)ø“ïÝà74W6FT¥N§à˜*<¢Hy£¡ë<>x$Næuµr4jÀg÷ÿ“žŸ×Xï "bBËk7Gì﨨hkÏx­b4P JðÝŒÎ)ÎÎ{;†µad1=Ä”;3¢ué4ýä鼊ø0§¬úLgSºÆ²µ~™W^}“k7o³½·G@óéçèâˆÁæ®\ºŒQgz‰ÒžÐ/"ÛãŠÛ×Þ`çÿçêÍš,»Òó¼g {:sΙ5¨* ÆÐšÝ¤Ø$Ã)Ë’hš”Ìßåð°o¨ -GÐb[Á¡Ù¤ØÝ@£1Ôœsžùìi ¾Xëd5]·ä9¹óœ½¿õ~ïû¼;œ)ë ­³pöðío¿Á•+{XçX®J>1æá³18Å›÷öxõÞnHg G«†¼ÿÑW”%|ûí«l 4¶1Ô­¥±œf:<” íD“e i"Â"¼@Åâ[‘„ªŽº6´¦Åº@õÆ8LÛ`dÁI“`“Ø"§ßï¯Y’Óíô0N…îBŒÙûû›] Æ0]>ÿä9eÕrçÎ=„LQ v®Þfï€G>çWï3ÚÚâïÿœ³ó1­³$Bpuo 挶†t²œG‡G<òç=º°P §ºÃá¼d´¿–‚§UË«„Ûßþ.Ÿ|ú1·ß~Åé½8F _>]Rš’<í’g²uÓPµ “‹ f“ ÷¼Š*rʲ"Ó¡ÔúÃO?å'?ù)ºèá­å7_ã‡o'¼uÝqï@Ññ eí¹(-³å»!WïÜA§YôLŒþÐ?XCƶa-fl45«àAôù$â´®ç’ꥯhí’BµÒ{T6Ó¡T ‹õC>ªN~ ¼„tÁâ¢Õ¥G8 O\r~Õ»#c³”နÄõœŒ«µj9#Ͳp¢‹ƒT€Æõgô'¯‡ëÜ%RJÞOTŸLüZëj9å!‘gL&ĺWP†vü¥?L\v-Æõªü§xkTÃúº*¥_P¯ûþ¼#I3¬5— TCa‚$ËŸŸÑÉƳ9E7ÇâÑB†Ä=>ðÑxù7 ¡Hå +2rÿµ‘5ÅeýO’„ÛùX¥wYðÌ%:BE_Ùº¢éWE±ZëàÝ’ cjæ³1årJž¥4^2L0&Tamîì*ª@¢ÒQ—-­kBG¬·hï ±Că€Ä¬æøfŽ þã¿ùý·DÚC$9ZÈÈæð‚-!Ùá¼C ‰%à|¨ '/[¸‰\i´ʃ׊•Ž,\E‘Q…"$”É¥dˆ“’€sahR!ÊiM®„=i #ÇJJ…± ñU@f´.?{ß2½’ÔfMà[|5¦YM¡®Y\1>yD7UŒú]Ò$%Õ:ž–ZjÓåÂ8\kÙÚÝál<¡6†½lÓ¢\0óOª‹éœaÚ¥³¿Gº}•ñáS ÍrŽiJ4P-‘RXÝÁ€åtÊ ï°wuŸNÊt1æùñ„½M¼*ÒPÂ(Iñ¦%Á‘J‹Á“ ÈeJc,MééuçsËÎ@RW5i*)Žî¦g1…®öôF›<:™Ðºpr0Ά!Ću–i•Þ‹ (9cp6ú²|dñžn·ƒÖ‚Ò ´kI“„N®HR…PÙåÉc÷RBkvRºË~_f†GSæsÁÖv•‰÷-Î4¤EϪ¡-ÃiJ«%ît¸¹ÓðèÙ„'Çš¢Ÿ#l‹ ½N†Të*¬ª±ÌK‹·Ï/j¥¨œçè¤âìüœ¯+ÚUËt9 íõ2<`•Ô¤…fQC´—†÷>8ãl±àÆÖ&¿ùÎ&Wwr:iNC9j¸ …*ÜH%ÖBm4 €îâ…Â*Çßý|ÌúÏï1«$ÎÕ´•'׎»7{ìmuIEBÛ8Š^B¯° 2‰”-ÖÂŹ¥;*襞<3ôDÉ|ò5Þw±bD}ñœÇO2ìõée×NhJÃùxε+w¸rã>´•°51›NxøÕcʦf|6æùã§lw‹ ŒäžÊL¨¦ µÑ0%Ü»ºÁ‹“óÅ<¦Šß{÷[tz —¤¼8¹àðÅß8®_ÛæÞ½”“´¶¡&á—?Cê„_÷6Òú ŒIµ„Òp”t‰)Û^—¼È‘¦ >>HÓÐ:Aceíh§\°øUÛp>—Œëm„’4u‰«YGãmWRÍÑÙœÿû¿ü5ÿò1?þÛŸñÅgŸ"¼"íÑi›wH“œ\‡ÀKžÀöhÀîÞ!³œ§¿àé³Ô¦EḲ»ƒ•’ѰËõ+79=;f:3+KN[ÏóéŠÇ“’Ç%'“‡2gšŽ¸ýÏÈ'¿ø%;Û{ܾs‹ÏÞ{Ÿý+]ŸTÏW”UC–¤E­%i*é †\Ûß%pV0¯|ùñg8ã8¸q“¢ß§ªjVËó²äùá>êl¤ã·þÙorëÚ}týÙ6ì^ɹµ¡H…á|Úrt|Æ[o¼I^tbºÞDs¸ !)©"ÒØ¥ŽjUPi„Ò8âôÁsåÂúÊ@šéËC|Ü(!=$Z]Vרµ‘Y(l¬¤Q‚pŒ)8U–@€ñðÛIbª\„="n­\ElÁzÐ’Ö¡THø*™„”™ yÓÌQZÅdœF Ù˜ÐugMp.ÇÁz@i¤J°.&Ê„ ˆïÃsV¦X,ÊY¥Cª.z–”^?«ƒ_3 dm0¾G´NH͋ˡ#ð q&nzüeMuþ¥¹"- "á'ED¬ÇV¡$*ÉÉsÅáÓ'H©Î1mжëZ¡¸]2®cª47c -¨k–¦Œ”Õ< EÛë 8ÐÙuÁZÐK>\ãÀ(~%x·&ò_úÉâ \·%ÇGOÑZ`lKm=eYQ—K:i‡½+WÈóviKÓ”xè6¤=œiöºiHW'iBn8¥©sʺEý/ÿêx+)Fh$N§¡ë(®Ü<)EkÛÈ‘’H+‘l[£„¨À™R—ò¤Ž‘}R)NiT"pd(¾ ­Ã„¬õ%l-Ñ!Æëœå23xI}õhé.ã‘"Ød46x±Zc‚ßJJP6|¹C(ö)òk‹¡G INÚÝÂ& ó“¯`qA¿“Ñ/R´Rè_k­eUÕx+¨ª†ùjÉÁÞÆ6,çKÒ¢O·×ÇÛ2˜÷…fÞÔT‹ rgȇ{ä;,.NÈtxgÖ†"kç-YZ 3ö •¤×ÍÑÎs|vÎã3ójF?•$¦¥iv“‚n’ •G …r†eS3_Uxã¨ZKÕV¤r@‘9œqÌëš®ÐxVÇí×÷·xt1¦®Ázp ᬆël »uÛ†›†÷q—O0§æ½Ü!Û†ªõ$“f2å‰By7цHwÓZ„‘±"“--¦±L«H³<œ ˆaIFH}7h,m³ ×ÓÜ¿ž³=p|øÅ 52L<,§¡"cÕ´¬*Åé…çÅx‰]Y,šfUòѧÏÏWdª -,ÃbnB)Ož†½¿ÄÓ¶ OŸ–|ù|†—‚o|ã¯ßîqe[‘e+¡ï&°w¤Ôá´­$ËVSº‚²­iü??~ÄŸýçŸ1[ÖÔe¤tÑòêÝ=6}¤Hemåd²f«—‘¥ ^f,W†º®‚7,[‘Š©R¼+1å!V øøÓOé¤ïk´n™-ÇDzjÙÜØd~~Á‹–åÅŠÁ ãÓ?c¼˜Ò’òÚoÐí9†½:íÑLž3v}*±,WÔgcú›Šw®pv8a|1Ãã¸sïÃAò.¦6<;sv¾À؆Ý]®ÝÞC‹P +SųçP)o½qyc>¢^ZëhŒ!M4ýnΨWÐ酪ÄYÿò ;4«VR×–ù´a1_0¿˜1_­‚*fçs¨\BÝ®‹ž¼ß¡HSL[a½â¯ô7ÿü!¶1´v:É ƒl÷¾ý*ÓÏžðàšä`ï&¯ÝÜàúö×®ìr}«ÏÆnÖiöß|“~MÞqãÁ-ÜÒsúüº£MN/*{¡DЦҚ¼ÛGCšv‚ÒOMbáñ³#мÃ7¿ûªUÔÖÒǬ\ñüé3ÎONhê ¬ã¿þv_yGÑ’Ú8ö‡]n_ÏùèëˆÚpõÁ›èÖ¡TØ6XÛ ”Ä´#©7ë~…Þ˜E*R»¥mÁZ¼ÎPz]gC[Œ‘©D­}×!e(B—ßš¹¤µÂµö2™(cip€yþÊ<‘HÊC³ª{I‡ ‰õÞã¥Ìù¶i¥ÜÚà×uк )5J'„Å´§mÛ 2¨h±*HÈàçÕr½†BUÄé‚`¡´¢iZ„R8)±Î£UŽ5Á+&…jVàV¥‰ÆºX‡GÙ €½üùZ¤8lôCëKJ€ß`œÁ<"(nëT¦µ%A')5lm YMÆèûú˜¯yúŠBå”óšri9Ï å¢¢l*–ÍŠ“ùœ¶´lz|ãÖ&ßzeƒwÞØåÊ~ñyK#$Y&ÁR­IÒŒ¯¿šq¾¬Ø¹wwÄnWsu·Cª4מƆú(”Ƹ À8/©‹±’?}ÆŸý§Ÿ3žÐÑŒë÷ïïqý`ßÒT0¦ZÒËE.I‹”ժ”–rº"Mœ+qRlIeÅ‹£sž>¿`4bi™­`ÚhÏç$*'IRÆó“³3fçgt76H´`5^r2Ÿ2ÜñûPÞ“HAšv™·–g'-…îÒ¶(ŽŸN ºÜ½»ÏìlÊáóS®^¹Âpg…b‰¥¬[?:DzØÝÝâÚ­[$"ÆÐŒxòì”›·®¢“°Jv>Üš¶ ±p)Øêel÷S6zE¦BJ9Ñ },e•ñ^MkÀùàë¨S¼mXÖžÅB@ž£rE¿—Ñë¸Ø.ñå§ÏøêëgœžaÊ¡%½Í-d¦yÿ§¿`+ëпvÀfÚ§UšþG%ŠÖ†Íb1å—}BYWgPÞrýÖ-fã1yÁÙG?ãîæ6ó¶ËoüñŸðÁ/ò½?úzÃ}öówù»¿ý1G'gôÛ¼vçI·Ãüìˆ~ÏóìhÌ •ßüáï0ÌX-ÊÀKt’h=Oi'Ã8ÁÉã'\½}+LmX;U«|øMÓÒš;·nòÃßú-t¯‹î_!^g¾“Û•8zR`³„Ÿþâ)¯Þ¼GÒïáT`y¢ŸWªØ;ËËÎÀ¨:H:ät¬°‘i¬ksö*üZõŽ—(IÛ4¿°VE¢r&¤'‰&uïƒÊ³~øZqÏñ/ÙÁ;û­½T‚P Á¿Å%Õ{GÓ”dY°Râ"3«Ž+/ÖÃÕÚ×%ôe¢^ºúÖÕ.b­¶„Ä D£¤Æº@¥·.°"¥Œk0Ø’IšÈwL½ A$å‡ßi euëö•¸µZ?÷¥ëg´!aÊ7câ1v< ð¨hÛÌ'z{û”“)E¿ E©‚Ÿ â{v—ERŠèŒ¬ÿ¡}ý÷ ~ªuó‹û'H‰5[KGتöò;2(¡1±hŒA&ß¶Ì&“S¼m‚0ã“É$Ì1MË•k×èöû̦ ªºŠžcKcZ”4mI»˜²»»6þÖc|vDÙ4¨ÿõßÿÛ·ÐÞ „ÎB\Ö„TÑøGîÚ‹@ÎG‰Q8ÖãŠaßlŒ‰CRH ÿHk>‡w˜¦ +)£ùÑ]^à¶ “´’’$ 7+¬C(J/ã>ÙÇÌ‹õéCàbDÄÿN¬ÈY©•VkqÖ e&u™Ñ˜Šåч,ž~ÀjrJ!<ƒ,CfIÜ'bãÔ´nã¨[ËrUrãú ,‚ÃÓSêÕœÁpIÊiªq„v³SNfì ô7¶Ð£0´PÂaËŠåŦ\bMËùŒJ¦4ÆC³¢(”„a‹[;[´U‰Î3Î3¬…"ËðBP•+´ ÆÀBg˜²AhXÎ …ŒŠŒªªðR’dgã%½"çÖÆ­Ý]žŸÏ˜VU çKIS›Ø* ¢­ å¢Þ±Á4Ù¶Á;±±9$I81ž,Õ¨ø%!þMÛ6L$ãƒV¦“c*MÈ Mê3R*p«†gG%e›­U>Í @³,kæÓÖYÒD¢­äÎ^—2­øé/ NÖÔ­g²0\,&KCÕ„(v×6ºÜ¾¶Íµí‚[9Û‚a·äîÝÝÑÏ¿œ‡î»~”!–üìùŠiåxåæƒ¾ ’³o  IDAT­¡£×ѨXãdLP\×>O‚J5ÆÖÌg†ycùó¿x'ÇxTÃ<épûJ_÷©”dyA'ƒ<“™¤—KÒ,¡qžÕ¼¦š7¡šBI¬“xŸRÕ!¬tÂû??¤Ì$ÆÃrU2oR./zyÆÕý>øä#>yÿçròÕc^{ýmš3=:¥±žéÜP–ƒ§H2Œ”<úä)Î×þëû?û‡Ÿñå_±Ñíó­ïÜ#K68==cïúUÚÒP ðNòÕÀ…¤Ö+¯g¸Œ[F=NN¦¨$aw„kB!¬±ë,Æ9´÷ Íf/¡“`U5ÁÐ,Š8¤ ²$ðL<¯–Ö t–S›Š¶iY6sN§-"ÏÙÜî³¹9 Óí’d)óyÃéÜ’÷‡,–K^¼xÆêä­ºÓ#nðÙGqåÊU¶v·QV╯q.¬m‚º©øÙ{?E¡¨¬¢6-Íl‚_NX}øo|r|Âùù §Çd›COŽÝ.‡?ÿ1¯îömï±µ³Ç`r†›½`î“YÀG\½r…;¯Üæèø”ªÈŽD+¥0®%ͳ¸½k‹Ó17Ü ª„RXç¹8=áÙ×è')?øµïó‡úHG}r­Iø¬O6ØÆÏøq1§ß÷üòÙŒñ×¹ÿ­_££%Nêù×q!g(M"Èò¥¢!ÖFçõ}]ø¨–H¤÷‘þ˜Ä^@½%üÓ Uè¿5(­{ér /ÿßÈLJµëA¥cÈË]VÛë>RÏ“$ Ñ(c@EëèRU¹ u>JáIß›”¡fnmú—kÿØúµ¡)%RÅáq½½q‘ùÖ6 ÂáFª€ÒñÖF.¨8Z…T¢õÄV“8ÈD<É:8°~¬{¾24ëÈòjê6Øn"êÁ?Ù* ùn‡¦­±ÕŠÎæ1oÝnLô{GÀ0?˜Ö:¢â³|ÜŒ8â:×ZVþÖÆ†^hóRÑòD ”wx/£ç;ð5/ƒtBUÒÃ|9c:>‰ƒ™ÇxÉÅÅ9"ÓøÅ‚ƒëW±ÖÑÖ5Ö¯q±b ¢œ³¹µM¢uU’$’4ÏXÓSæ« õÇÿþß¼åt–¡¶F*A[-6I/S.žDp t+ ÎTq]Ó†Þ]Ë^¶q¤{ JªØ HàçD QIdI)ërEJ«ÀÔ ¸Õ°.p&¬Œd½¨$ õ7Qj PSÅ_Û¶!Õá#YùUO)ÿw–O?¢<=Â8C7 ÉA'ÑX'¨êãÂk·m‹i ª–…¦mxåÕWÏœ_L¶bscˆêöéø t•âc[ž?~D¢5½nN¿KÚpQÆVuzäݧ$«¶¦¶)ó²d>ŸÒ&ŠëÛ#Œõìô;[“¥óºeV[LS#mC¯ß§A3­feM¥$¢i©Ê–ªq\ÝáMC'‘¤Â³²†§OÇln\ݱ9Üãññ ³¨Ü9çƒ÷ʺ¥|슴mà9¹2¬ë–ѰÇp#ÃÖ–Ö€ôŽLKˆ=TÆÚË‘ðáfªµ¦n›pzJRt–!Ò„ÊVL–5'ãš§ÏÆF£èv{è"å‹?âÝï|‡4Kò,ǹ†,Q´V0žñÿýéõ‡(%©ê%Ië‘Ö°;è0k[^”+Î'KülÉÎhƒ‡¿ œŽyòÙG”«’ý,ávRÁñšé#VhAkS¾ñê[EF¢3®_»ÃéÙ e¹@ë”4ÍÑiŽC ’ÛVt:ò¼ÃÆöÚxŒ”x)ùêóÏYN¦\»v…?ùÓ?ÅZO7í@eë26»·É7_%éïR½`o¤ø›ÏOØ0ºuÃFëþ: $:A': u¬%U δ$" !-a+âL\‡Y½76š«ƒÜÇn¿5»JÊppð"˜Â¥Th¥1ÆFººŽÏY ã…Ä›°‚³kýt‰ Ý·J`c®µ6bKE[×H £µ¥žÍ±Â“¨/ü¥ê"„0Lɯ ðÑŸltª†žFÿÔí «.W‰:x””°l6RÎUHÑEuÉ»èûж¿®*—uAÆ3P•©ÄXS âðCLe^ÖêD"¾÷.à0œ§ÓPU%‹ù„¤—¡êp¸0Ö »(ùRy”"\KQ%%:I"{,ö'k iL¡š6l¹|ì6]ÞEÜxÙ0GXº|ñ/ÍýV„Õ¤&“só êÖàMËáÙ˜ª*Yµ%,—\½q#ðºš–Ö t’aÛ*šCUͱósvèw»±²©$I:L§gLÎYÕ-ê?ü»ýV®‹p¢K;ضÅJ! Rhœ~mLÝi›à¡Q Î*’Æ4!E#=¸À· pPšÊÕº(˜KóÙú_€¶…„D¢UªÐý$|(Ï ©yyÑ„dwI‚Aá$HgÞâ!Ó ·¡ÁÚŠTçÙbM”BÇ©ž~€ž=¢^L™•5ÝL2ìuIó--ØLõÞÐ6-Öz*e]Ó˜:tðMçlïî0t™V+Ó]¡)¶Xã)¼_áð$i\Ÿ0Oédš¼è"ûC&ãdZs¼l8^ÕLªšétF‘¦l)o}ãmn^ÝÆ,&4ÞP55³ŠYcIò‚á K§“3ìd™Bå„’t;N—\UÌÏk6¶r” €Èa"åšF´¾˜r°Àö0e0Üåë‡ÌVƒÖAÕ®¥ß¬£1hlHê8c sv6¶T´ ¼ °=¥"©ÙVMšwhÛ†UU‡ÓÐJÇ٢拇S>üjÌg/xü|ÂtÕÒ¸–ºi™.k=Yr:mÉ A¦ºù'4fÁéÙŠ³±`:¬|Ej3®\+8{ŽÏæ¥#h>˺tiÛœ¬Û°£’¡§ÈJjÑç'ïÐV†ÑF4 æ iáÉÓ·ÐI=g+˲mR›0H ƒ·¡ÒZC’ðíÓ6ÔNó£¿}ÄéEKŽá[oßç÷çM¾ýÍ«‚Ç IJPÒÑ) IM#XLæLOçì^Ùfw¿ ôm…µ5h*3‚ùjÎÙ¹e& Þ„8ë%Ïfo@*ß|óMþþþŽ-l7aq6Æ9Ë–n’ñî;÷ùóÿãÿÄ Él¾`3Ï0ý‚ùÅ’ÝÑ€÷?üñxŠoн-Ο½`wÿ€ý½¶wö¨MŬ,ƒ.Ï89=Å–-Y"¹vý&um¢_Æ“å’Ý­>Î)4 Òy\z&½>çClž„ûŽ–•$ˆ4ÅY‰ÐžLK|ê¾ð£ùÆ¿ïcMk˜®OWXÕ!φë¹8›óñG_0^”´uËîæïÿ ^{p™Žxòð3¦óÙÆ6Õ|AG)nÞºIRtµo'0õ0o*~þÞ?òú{ìÞ»Ž¶-£¼va=¥N€Œ$Ñœ7–Ͼx„Ž;…a;sÜÙì’&pÑXJ¥»»Û”¶Í 7yío­ÐdyÂõ·9|vÈlUƒN"~'*<Þƒo¸~ëMk©ÄÔ ÖK¦‹‹ó3ÞxóMDš„A»ÈqeyY?c…%Oʺ¢ùÕ=Òò˜çÓ%_|øˆ×îߣÓß$•)iP$Ò†j“¶ JLš$=*B廓 Xœ'Ñ9&¢¼w¨Du0&MBbÌã-ÓÆÄ\ĹP`Ž „oCÓešM¤ C¥P!èLhdX{™|\›i†‘¨/€T$:%Õ¡kQG…HCYÎ)Š*IPÎÇ@Vñ&Jkz£Rdp$JEJyÀ+à¤ñPPC˜ƒZ® }RUÉEÛL0¢‡•ŸA0‘îíø%N‡îN!aU.qV¢þè_ÿ«·œÕ$Y¢AçÈÒ,xbd4\*ò£ç°R"}ØZ;”)o›@âuVÖš_§ÇDkœ5A.õïCKÆÏ›G3ŸxÙ†.¥¼œJ-!žm…™„—]C*Ö)¬£›Ö6h-.“L8PŽº¶`š“iÇ)/³œœ³\5H¡é÷2ò$!I4Z…~¸¦ iЦihmèWkƒJSLmÃúÎ[ö¯ß@ 1UÍÑé1ÒzúÃ^Á(ïS 5Fè,cUÎ8=|Îl6AKM7ïru{‹ÍQ—~@·0Lagk“»wnru-ªy…eÅÑá)?çì|BÚ)PJ0Ê$[½mª4ÅØ–Ôz©dkÐC+K+`µZ’È‚ËÉ’nJ²;ý‚ÃIÅt:fwgÍ!¹V<99enC•[sNÖ+_'/+‘œµr66»ÛR»¶l„@Fæ‹Ö YªI³Œª‡k™%T¢ÏÃà ¾|´äëG æeK'“Ü»½ÏÛ¯íóÖý ¾ÿÆ Þ|m—÷vØõh*8~>g>o°Ú’g–"‘¤cONÌ– rzÒ•ä…gï O¦>ѱd\¹q—+Wor~ò” zÄ¢“Ðïl0k,?úÑ ”l :¹$q–á°ÇçO¹ycÄÞnÁ²tŒ§%³ÊQW‚¶jÈs‰T`|BKF½þ~ˆœ£±ã?8'õxíöô?ÿ€½mP²—†îB ÐR7žN¯ðL m³ÉŠáFýíœN'Ã4‡/©›cC`wƒÙdÎìd´¥iQÎØQtÙÛÜfc8dëÞ+|þþûlpqtÄ»8Ÿ\p°¹ÉÞ•>üàç¤7®ß ¬–$½Ó¹¡×ïÐïL/NhLC½\1ØÙBÔ–áömeÉt†r`–+6ú}„‡ÅbÉéуa‡­í ,šLHÎ/.’Aƒ‘šÖ´´ÂÑÐP(Mkm,ö:Aë¶PYFokˆÊJ‚­$>íS®*tR ’o+ý‚Áö.ãs¸XYNÎgT튋ã9Ÿ¾àˇOù䳯yqxõ’,Ï9¸¶ËÁõ]º[6ó!ßùîw©ÎÏ8}üœîõ=–O¸ÿÝï ¢š+¥ 0a9ŸòéÇòæ7ßfÖÌõ:ܹ¹Ï?ÿÝ_çþƒ»¼ûÛÿŒ×ß|ƒ·¾û-®Ý¹E’w1ºÃ‹ã)FJªÚÐZÉÔ{²k7¨ò>“Rð½ïÿ.7nÞ¥èö.™„Ê Ò"áÚ+799:¢-ka¥,e8¸*Æ5dYtEšr¹ žLù?ø—Œ§SNž>1ý`‘ZcMËW_~Á_ÿÍ_ñWÿ×ps‹tøå/žq8ž“®Î¹sÿN&,ª )I–_n]‘™FZ½ìÒ\û¬´Œ…ÈÒGa' †ÖZÒ4™€é‘JEÒx¤±[íuѳ¿r˜÷qUU«5ƒ)xyƒiX¬«eü:õ¶4kƒµ]WÖ¬q5MCÑ !™]Jô¥R£§uٱƙUÂéßà (üD— É0©AD<¬y]BÈK\‘±Á Ö† {©t0ÃÇU¥ñcÜe½‘>>÷ÖÜ,…°î’-%dd%šÈÔJt¨,rï=Ež±X.ÀyŒiÉ{ELÊ詎ÀñÙž¤é¥+M’HšWÑÃÁ¡±‡2l)ȳ¬ u$è‡s¼@È`'ÂÇô¹s1­.ý²œrqzŒðìÉ„ÖTuMS–ܺy^oH𤗂Ô(©È’„­-òa‡êðó‹#[Ûtº½ÀÛ—š³£‡¬–cpc<êÿåï½…Ì‘:ÃIx‰Æh¸‘‹T,•¬Àîp‘ABì{HËBà„¼lÍ6Zi£‡KŠ ý*¥@µ$R⬠qÑœ+ðк 6Æ"•FaP“Dc^€ éËž'ð¤2¨Mi¢¢Ò`¼ _çPõœæÅG,Ž?£SͦH¼a½ÁD8:E†´áÃ쌫1‹5-Ö{ªºÁOÛZN]ËåŠýƒ}676˜/¦$‰f~~N=™Ñé°©¢_tHœg¨ƒ,îE†Ó3]røâOÎY\\CjZF©¤×ë2êu/‚uLJ|òñWŒ/NÑ-hÊÖ\èç9ãéã¶f>64m¡5™$œžŽÑyJ»Rlm% ‘yš‘(Ïù¢á|2çÊæ»»®l ùøéÇ‹*.Z£ßÍúÐhƒ J&(i¹vmŸ^±‰Òu,jÕH-ÉŠ ¦ô†½ •ãVÓ"x1IxïÓsÆÓŠN¦yíî&ï¼zÀƒ»;ìml ;¤™F§# }K¿°lov»(™QÎjœÏÒÃiîWðճУ¹áÅX1ž ¶·_åö;¿É“‡§ÔìrpåÚ6áÖ½Wév9?~Ê(³MšfXÕòógüìýŠž¢ßïÐëhúiB¢[.¦†Djn]ßÀKAí<ÓÒsr>¥m׎ÆåÔ6cQ;t2¤r5ÏO ‹2møw¿÷6üF4m`©Í@ ‹N<œæ“ <ìîvéõ‰ÐOcZŒ“•Q5Ó$4á•;}^°A_·HãP"eÐáZâ)©§3nìíñôðèèøíwÞåððuYrÿþ–‹1OŸ²¿¿G[7ôú[¼xò”årÁ7ßy››^awc›ñé"ÕÔ³9w_}“á`‹D&t‹/}Íæ°Ï­›7¹wÿ5¼ó¼xvJ]6¶7ÝyÞ¥^ÌY]ŒIRG–Hl,/¶Æ‘¤)M]‘(ÍF7§ÛÕà•ñ™“f!’¿Z6ØØì`UBI¸·Ð4÷^¹É÷¿÷:uYq|<Ç¤Šº®([êi(Ë«ù<* 9å¢áñgµçÎ+÷yãíï0=?çÅás¯Þ¸G§ß ðÊËNâÖµÛ¤£>Y¯0Š"s²bn{4™c³ÖÌsΟMyöõcÒ"¥Û)ËF%Ô­¥, ËvŽ3‚~®Èµb³ß •‰§§-ÓɆYOêF’ai&SJï˜Ï Ű 4+¤ RI¦‹p­WK:“·jpÎ`}Ãæ Oz2ÇÐãz4;Z'PŠKxœTa%¬sEc4Gg vF=tš!D†•NhÛ&ø¬ã¬t|úpÎŤæÚ®âÞë : ™8å˜Í+„o)z%=¶ Õ Zx4I†Ð‚ÁÔ“`X­[ƒkKœñ˜Ö²jÒ¢‡‚¥³Üzð=f­¤7¸Êðê>´ÇÑ‹3¼îB1@÷vXT©‚ºm™œuøó¿xDE0îWUMm2:E†n[Çý¾§[$lô2æÖ0YIyœZÑ49y¶ÂIÃ`§ u5e-xü¬%ïi®v¸ºkÎPÚšÖç\¹Ú£§AÔ]H„•,— ®6lì H”Á9AS&.¡ZµTÖ£tÍÚ̧ ƒ®ãõoŒøÆ7ûÌÚ; vßÅG]U¤½Êy®}Ê£‡ÙÞ±9Üàþí»¼ÿÞ{|üù—ܺ{‡Ÿ}IYθ²³ËÞÆ6G{S>þà—L/ÎÙÙrïÎë ;üäÇÉÔ¶TeI¯3D')(‡‘AUNܼq‹;w^!ñÄ:-ˆjº¸ñ&§ÇyòÅ/XÌ)Š­sfuIg8 MR¤‡á(gs»‹°’Ú¨PÛ"»¤iÊ„)®uÔjHMÛ:&­cG7§ÀZêÕŠ?øýïqv8矤–’¼R7-i*)ØrÎñ£¯Xœu¹yp•·~í{Ô‘Áö?ýárú¿ÿoœW ÎŽÙ:ØŽ¥¸†q’n§O.SV­'Í+áé6¨Û†ñdJg8DkA¯Ÿc¼c{wÈù|IWuÉ‹!cVŒÉ™,—¼zÿ6uSòÚkoà…B)˜rÒ$ ~DèC’ßþßâç½ÏÉñQPã³”¬èÃðš,I¨­AHÉõ79yôUä!èå9gÓg+KÓ|Œó†ÅlNW'üà­E&ùêÉ?ƒjøÁ½ è$ü—¿ø3þÅïY®Ü¸CÑÛÆ·-Ö&íeX£éDá¡xÛ  Y¦¨Z/Ë[ÚÖFߎˆÊ$‰ØžuÝ‹Bâ¤Ã¸ˆªâ%èZ%aеëe‰@¹ˆŠ÷5í\HÔ´Ë¡%¬"·1d’ œõ׉´%y‘†Âl!°&ˆ 2&"•ÒÆ­qÑ£UÕ ’4¬¹ 6>W|$• )qMÚ¼ÐäDE8Aø—Hp>@H…€¦ŽÉÁö%ÊcÉuð«ï¬%‘*~Ñò ‚…GH+g‚wXÊà™U" ¤3$i\Z‡CœD¡TB¯Ûe2>?»ÓE¨0à¥yFÓ„g©u¿ò{ÆM' >"#”VØÖ „‹Ã•¹L†¿m`š‡D¡Îq™""ݽ·¿‚ŠöiYž^à³<ëÉÒ.7nðìñ×”³ {×nP×m4æ·(«É7¶ØÚÞ£šòìIÆÝW CY¼p46¿«ÿø?þþ[dHÓ@§]3ÏH/„¤” µæXoBŸVø‡I\ĺ¥E "glHJ¥Q*Á8 "Á …—iUýº!×*ÚÉ5³IƒT°˜¬hÛ–¢—Òï%U•b¥ÂIOS‡#µ_£ijK¹‚^ãÅF{ IDATÇ¡”Eç»ÕA©.‰²'xqzʳg_òàæunÝ{‡«W¯àð<úüSLã9º˜0(rŠ¢Ëþµ\ÛÛãÁýWØÛÙeoÿ*}¥Ù¿q‹dzzÈ­[÷t7ñ±4÷èÅ3†½ ŠNFÖߥ“(”Ö×XN]„Lö·Ù»ó6m= ìºÁ¨Œ«Û³%ZZnl³±™‘$Á<[-i/ýÿ¨zÏ_K³óÊï·ÓN¾©n…®êŠHu7)‹5– 3‚g¬ÃÌØüçù£=0 ÈØH”DrH5Ùì\9×Íçžð†üáÙçV‹@ƒdW¡Â ï~özÖú-Üx‹NMyøbNQOYRRC†“K4n›ÚEŠÑ6˜Š¨ ~ôÏÿ;þÙ|Â~xøõ3ÚÕœî~ÌŸþÉ¿â~÷÷ùð{ßçÿϕý+(EaË¢Kܽs“o?ý%mм³•Ép î -mc-Ï>cÖ\Ž:R¹’óU‹žw®îY|Â(én51ÒË*D'KOÏùàÎܸ÷>;;—åû”ëQŒUù² B”g¸Ö§5×ßy‡³Ó3Vm‡o[´.°…“Z,ÉT€ºPܹu‹ë>Òõ-Çbyʳo¾Áfü»?ÿ¸÷ámîݺÎ{wj¾wsʇ·füà·v¹w©ÆŒ‡üÕþ9?ÿ‡Ÿ2ýŠÉlÆh2FE/ž,­ñQΑ¤4N3:' SV‹äYàráoSV©…2ôDÚæ"b%'?J Ôn0ºá\%"&½%žKÐ*ä¾Ù€Ò2X…ÜNC'€àœH'·‹h£³Ò%JJ×,Y¯Ï)ЦKbÂCßl6•*o‚´Öë5÷¿9àòõ)}«889ãK»ÜÝß%0µåÁÑœo_­ÀÈ—OM¥-J%œÑ+”^ç,®t\¿uMËòüŒ[×w ÿÓ¯ùêñ^ÍùÇß¼âÓ_pi<âã÷v¸}CJu­ÕòÅ ›&Š”yk™ì“ôyÊ,m Î w(øsú¾%#>{²â踙Ì.ƒ5œž.øø£™/ÎC ;òÍß0Ž©†%‰’¯¾üŒaà œ¬j~ú«—تBY…3âÉQFáÊ R5"é‚O„$K¥*$ʲd{¶ÍtTñ×ûš—m…30³†þ/öäVl¥Ç/EÍ“WIG†ƒ3š““5]”…Õ=ïÞÞ#E4!ÚÌÅ‘‡½«J\QQ䘼6ÎÐŽÔ'ÆcšÆwŒ‡·‰*XÅýGuÿèÙŒIJè7nbáäì •)¸sïC¦“=´-°ÚP×1Õ*ƒ²%»;Û¼~ñ”éÎ.Û[»‚6°Ž—Ï3žÔ\Þ{W–h#Ϙ RÀ1ŒÑ“úžKû78>}ÍñÁ—w&\Ù³\.q®ì͘LÅ€¤ Î×+ˆ†ÁtH¹w…O??'(˰˜ÐGaÛ—ï`†»DSPUSjWµ†nÉöÞ~|Å üàûßg²»Mßv qF’ÓIÒÔ6õ Æ#zóã¾÷ñGØ¢” `”í@2Âçúâ‹ßðîÕËœžÒužo¿þŠ»w¯c\o"u-ž•®ëéBd¾ê˜Ï—gu>gçò5~ô‡ÿ-Õ`†r3[×&ìÔgRŠkáÖ• ª(9X¬yuú‚Où+ÎßpùÆMŒ+°ÉÈËo†ù>wúx±Å™$æç ôl% sáFY¹ìç$ ±VzëD†’º“×jù÷0*ɹ“Þ&¿û㛕Նƒ`„>¯¥Ú)‡„Œ¶$ßBÇÉñœéd„±e6ð§‹ìÆO,¯«x‰T°Æb—Ï>AIzR’oÖØœwô¨&›·»®ÃÚ"w%Šºã KŒo1yÔ¢}þĦG°r®æzœØX¸b”Šà—äÏ"ѼªÔäM†ÍÊ‘ pJk´qb!ÊŒ(SZ´’Ϧ͞©M‚Ðh#ïW‚{b ÄP¯sj1;β±}caŠoÑID“ñƨ·k&û±‚¬8?ü e‹v)ÐÛÄç¯yøj‰×½h¦*¬ UZRvÆJÌÖ:Ãþ;”&qvòׯ\âãïïS¨’³ùšª´üÑ?»Å?Øak¨p”—›BŸm)Ó¥ô¶ï:ÚF¼o]ç¥ïÒKÿ˜uú‚¬ÔX¼J1Œx}|B Sv®nqrÒbâ{¼G<•֜̃)_}öBL\¿ûÇGoxü|Îëƒ#ŠrÌßüä)'çSh¬Ñ)[‹Ï©t… ,tEÛ´•ômë%¬26d2,¹zmÆg¿|ÊùÕÅ¥ERüÞÇ[\ÞB2ï-h˜Noæ‰GONØÙ*0J3_tœ-³qÁÝ[—ˆÚ³è šžÜåÖãŒÁŽÂ=[-Y¶½(#¥¢¨:Ú•Çêc4í 2í’LD«1¿üÙÿËïÿþïqùÊ=t)7þ÷ C¦Ó'‡/™TCîýÖïP•¬•q=¨/.S1Bé,=äæÍ[ †CzïQÀ«™Î¶˜Lö0N½|ÏK¥E†7Œ€7Ôçx÷Ö÷¤d96”.e’·bg:`8”%(Íéñ‚nÙ3qU¯G<üö„½Šóµg  ÉXÖ!ÃyƳ§/ù«¿üæ'º…Ê ¹|uÈɼ`wg&ÕZ½Ä´ ’GiÊB —(ÍÎÎÏŸ<áþV£¬s[JÂËÒ:MÍwÚCÞÆû¿Û¡W:—២À8+m4…‘Ž»ÅÉ’r`) ©óÁK?ㆳ•Ï@m,:²b^•)Ýc”¤÷‘ÞCÅOf•¢ëWÒ·#1‰—Êi+ íJþ˜c¢ó-£ÑˆÉhJò‰v½‚رXžÑ.VÄ´æàñ—œ/¢Ó «ò;*)˜ÿøçÿæ“¢¨¥ç ¡— S8¨÷¦âaO…Ï›É8DåQe!Ê­e#%)«eêRÒ)dšmT:ßä±é!4V‘z/;è\☔ÎS›£LxßÇ’|ƒ’äHˆ¹h:tôó'¤öBƒñžÁhˆ¶ ¿ZSWŽ”:†uMQœs’˜ôm.¤–þ=zF…Y—Ȩt”ZSX15WÝrA1™1ÙÝgT”¸ä™/ÎXW:LQ1_®X­Ö¬NO‰]ƒ+eY3N(·wPe¾+Gá*ÐŽñh›zk›áÞv.¿KQF|ßðæÍkV‹s¶&Cvwöˆ¦b±Z¢Óš+“%=A1ëwG+Ïpb ƒ¸ôl]šàû-m×óî;WÁ8Öósž¯Îùë/žrî¹Ð•¥£0–Ê keØ*ügµeëònÈéÙ!h˜ KFƒ)×ï̸ws›¼¿ÏÀJÏ¥5]ì‘F™œPÌ·¼®ïÄ£G"ä-ZŒÚ óÆX#µ*âtAB±VŽUÐ:îÝ»ÌùÙŠõJú½<‰Ë;[T£ ož>#iÍ«“ÎO¨ËŠíw¯òúÛ‡œyÅóW‡<yÈ›“s´‹˜ ‡‚E\Ú¾¤MSŽé{¡.[kå!‘µj‚Aa¹|yȤ.ùOñ9OΗ ‹šÝAâÇ)¦E…²H-Ñ(L»fÝ—¾QLG3 -}yС6ò] è{CͰƒálÀ¨ˆ”ÑS֖ɸ¦*+ú¾'i8PI¡S ¤þmÊ%A×GœÑ8ã¡e{TüÝ/^ÒúDZ7ܽ9á£[޲œPXM—RVN+ž½9àñ‹Äö$RØŠ•ï9>õÜ»{ÊõüìXô‰º#¢1Q±¶–§‡ð³O¸syÌoRsûJÍhØ3:IÕFÚÞSXÃxXÐÅžXì@ª …¼¹­H¾Ï†íÀöî³ÝwP)ÒGsZ¢ÞZºÚtH˜lBÞÚÞÅ8›ÁªrSžL'„^ÔÇM5‡E‚+ÚUà½ð‰’48¨às¹¯Â•/_?ÇwgÌÏ[°‰‘…Ñ@tEQWüú³×à†ØØRV%Óš“㎯²5-ÎXö¬R ô-Ï9šŸÑ,—ìßù€ß|þŒÛïߥ®JÐcxSËBô(þ%É^Ï ®ðÙk²!r›Ðl¯:*]²í*W/ßàúí}üZ ÿ;³m‹%çg V]$ª‚ãƒ3J]ðñoÿˆ}|åâ©$ðN¬Ž^ñêáç|ùù¼b0Üb0,P¦À§ž¢48»E}GYHhï'G§¬š†Î7¨dp¶¢ë´ö¡¶ÖI?j×{úyüäaÑSN'²6<;a`Ê945¼“{èá Êò*fòjPQ©ÛSŠÕòœùécžÞÿŠÏïsiû²”>«ˆJ–ªHø6\ YJk|ßb Ä„4Ý¡´Â)C©­¨W1aóûµº¸ü‡³aP†€¨¥‚baN€˜9Á—‹™M‚½¤QèÂR¢6â-AÎÊÂʳ¿ û‹ÕšA]P”ÎXt+ ncIÙpïŒ_T ¸M\^ΙÔà£ÂG%ž'ÁT£’ËV/IÐÔ¡•–d©uB‘7 t²^3nóœµdy£5½oH›T£“²u±þäzºMѵÌîĘ.*w ?û\…B¦ ä¦ù—$#Ui}Û¡­FÅ@eKS#ï—ïú‹ºŸ6$©3Æ b WRVÞ„™‰Ñ‚JJIÂwF†o­Œ4ƒ„}Y¢ZßK#BnŸŸ¼¦ =}ߣTàðÍÎOjœÓ´¡ÔŠLê]A—ëxÌÏOÐͱp:7}Å]À¹JÖÃÿþOÿûOÊj@Tç ޤÄl’!Eoõ¾Ù- ÛjÃÅ(7«¸œº‹ÊC걦)<½ýP%j®Ü¸…²Uæ…$Æ“1mÓ±§/8=zÍrݰj^¼|ÉütÎz±àüô€´:e¶µÇÎö.õpL˶EëÈx0¤´°>>EÏdP3VÃ1«nÍbѲ»3$6‘HOè1¶L†#v&{ô}OL¦møÑ'÷xôú„¶ Ô.Éã*Ðn£J(á[9áœuvööhÖKšå eÄCàC"Ä¥”¿úˆòð&-ádɺ׉yU»ìaÑ´ªÃš â ”áÙÜò_¿˜sÿ•¢‹pýÒˆ÷nNøá‡3nïUlï:¦ÚqmO3ÙžòÕ«9ø;ãm&Ó [»—y|ÿï߼ɻðüÉcæGlïía[ÏŸüÉ¿çɳGxÕâÊR”€jÚÐö ’ÆjÈp}æ¶änH⽪­aPô!ñ«ÏX5šï}p…›ûWVXgQVßG^¯xü¼a<.( GÓGº®äÖµš³¹ç_ryÇ`SÄ·=˜ÈÙºàóûg|òá6¾[c¤˜ŒÑTj©´&ªß&BkËÖ^b¹Ø¦,®(s²·“d“ÙHú⻫Êú;+áYë2}:QÙ¸Œ)hœ49ñ‰9Þ­ÐÆ^xÉ)1kɇ’Â'y(’9HZ[\Ysÿþ—œc­¡ΨªHUñÃ1¿øå]=ÀÙ™ŽØº4#™Šç¯Î9_Í×3ÜpÈÉbI»^b«Šõü¿Xqt<Çt-nk5šòâë|ïÃ( '‡‹ÒÖ^ÄÇcŠDmH© y1^ëÜ?úNÔ¡¨X-ÖòW@d4pýÚ-Þ{ÿ}nß¾KÛv\¹~ƒ¾÷¬W ×Þ¹Éwï0M %ê²€ѱ¡×ðó¿ýxðË¿äõ‹û<þö3æ'/øê7ÿ€Õ5;{{ò F’`6wüõ(_ÖÕ\ÚÛf½<¡ïWø¤p¶Ì?fÅ_‹ôîY•+éÛ5‡¯9;=Å”Jm™ãC’õáºa<K+ƒ-ðIÓiGŠ{´JT¢Ý+Þ¹y“«7ö¸u} ç¼~ü„í+·1e ŠVûŒžÐ‚ò⥕ÏðÆw%‰3é”u¼¶Np@Ú¢RÄçn?¥ÒÛ2 Ç$,¦”¤ÂFK"\éŒhÈFïš• ú>SÑ!†¼I±ÄºÀùù WŠí¥pEÛ(œ+²:°(B\¡T'PÑM‰òE¢!b°® ïÖ²*K1ÛhäרœVi¬  *[bf@E£r߯¾ÀA$ôcœ¨ãÁ³—$ÓIÍd ÁƒXŒùâËc†—ö¸ti‹½QM]%¶Æ[|üÉ÷øðý{Ÿ­9™/ð^¾B;ÇýÁï1?<`¹lyuô‚Å|E] ïlñåo>çý{wŗ䊋"_Y—W#⇑"ã(e¼¹¦E«DÒ†ù|Å`4 íúŒ‘ÕGQ!¢Nœ IDAT°³»‹1ÃÑŒ7n3L(]%«%#v z¢3üô/þoNŸü#[»ʲD†ÇÏO¸tu›Gðîõ{e%Ñô”½J)ID÷ UY°=ÛâàÍÖ™ Ès𑪡w]ޤHØIjûÍëWì_½Î²Y±\·¬›5çg§ø®#†Žº*Ѷ€ä©&¡ÜŒ¶ß¦ñ[4®"†mÂôÛ{»,OŸ`Í](”&h)&³¦ºõšáp(@МrOŠ‹>»¤hS¢Å'ë}N÷-Ÿ¯ÜqÇw|DisaßT³åZÙÊÈgV”HŸ;%Å\¸©eÑFàÓZ[’ï/PËÅc4“éW“2œdL€Jè`ÄöL‚Xd“MD©B ê¦@‹Õ²:7Úˆ¨4Q#giîm”¿‡'†Žè;ú¼¢79ƒÊ^­Ðã¬Êa³ ›ÆÊA«˃v._zC掑ÏXQ‘û>“òåb¤s…ÊCUÜÀY³¦òÙ®S¢é:ÊM/æ&Ðf4}ßå­†ø¹¬•M”x uö4&y6„pN*†º®»Ânš^ÔÀ<££2u¥˜ÏOxùø>9YÌyöèƒ)%d²^/yòà>Ï^>çò•}|ˆø>Ю—Ä3 iEsô2ÄÚG9eñT`þßýñ'Æ HºDëK”T ƒ[H­\¾5ÈZP|%²ó7IdÜ®ïÅ$§Á˜ZŠ”•¼@jc@7*§ürT[ù@æn)¨6JçÿÞT‘ñÕŽ(ªŒÉ†ÓDÒÀ9)Æ ÝéÍWTƒ õtÊj~ÀñÓDciZOí¶ÐùH\/0N±µ%7E›½FÑ çòDœ0®dÝö,zOT–ÑlKVE½=g6²ʳò=ëUÏ«eËÃÇ'ܽ6`¯äÉa˯¾:æñ«†g/[KCa&œ¯–I_ß°9]{C½[±n¶±…•Þ¿©Ê’®¤(ï} ¦Ì¤‘ËŽ³VV.)¡¢ÇMè[¢øØP:!"Ú@€Ðµ€tÒõ1ÈZ£iQº ÷ŽE)Q‡’—›<ÿðó¿çøüœïÞbg6¦OÙ¹z“EWò³O¿f¶w…ÙŒzXQÖ{h#‡…*`vù_þâ7ŒFæg真0 øÃ?üg¼{mÐN^¾`>?EWrÉyóü9÷îÜ–UQ6¡ÚBRÍ) Sà•¦¢,EAÈ,>b¤õ‘¦íqeM߆µe5_Q F—‚YК-ãÉ­…Ü•œM^])yø«äë/~ÂdjØšN ŠÂ2??£R%;»Ž§O^ðþ‡alAJBJW*Ñw•u¢Ü 1Ö±·³Ëzu. ¼5¸B¼CŠ^S#’Ñ®¨%UèjBÆÕ4½ô~žŸãT$vU=”ÄorX“è=‡¯Ÿóüñ·|ñ_¿áÓ_ÿ’ƒ§Ï(ÌÃKw6g4»Š) b㩬(6ŠÄ`X·Y-% •d¼Ï+&A„¾ÃÞº½"¡2xTk‹Žø¡ÖTÞ¦ÑJªs²Y»ÈU#ɇ¼:5ù³ïeXÒšÒÔxí)•c½>LJÈx<Äûë6ê®ÏCžœg>Qç 8#=)J9”’îQ{\ 2¼hKß5y¸ÔhSÀ&h ïfÚ»6…ؼïå;™BfНš$ù³*o§H ƒÛR³¼6òsôÚ™ $+V¢\ RŒRs£5…ÉŠZR™ÔM³¤ Þ–K³Iûé‹_[k-Á -¥‰.ÀÐ ¢¬ú´tWªœª±¹ÚGç*¤¸ñÐåˆQøh(”IÜÿüSŽÏOyöä)JYlYJGe¶¥Ø² h¸rí£Á”¡oÖ´mKQyóð3ÔêãÊjb\UYV2ãü/ÿö_R ·JcuMTòøP)Ê>7HC·¶Ùì˜ôE£yŒ¥‹lJÞÔ lL—Y©JšzJ"1ΈI¸ 1·–“!¹5/{e“c´¨ˆl´h›×89Ô’àum’$Gô¯=éì¡_3Ž™ŸžÑœ=§¨ÄÎ3›LY§„²†Ùî.i~J=®(”Ar‡B_î:ê¡]¡´fÕu¬ÚŽ..¨g—¸4ÒxèÖ-:{Ðá^Ìh[³^1?>`´5%Ú"wI °s0œ°7²¿;cTF¥E·«å‚ÓÅŠ™àš6(Ú>âlEÈùÙÖ6eU°3,¡]ãW-‹ÓyÄÄ`P2UtMƒ3k"*9ÊÊR$K´‘³“%Ê”ÌWžuwNá&ÌÙ»ùøÄøÊ5VíœõÑ!³ùÞ½»Œª‚¶íq±$˜È¸¶BlÆ1 ‘»{Ûü«w¶0~͹± K–g½O¬ÖKVmàtÑÒôž¦ ¤ÐˆI%*Wb­ÔžK€ÇƒéIz€Ó2˜ýŸÿå B—xÿú6ú£Û DßÑ„(ÕFÁCï-M׿}¿¢ %±‘<»å_BâË)Ê8*ðg§ ööyúð·î¾Ïl¶Ca Tꈾ%ùˆ"¢mÉtÿ&ŸüðÇì_ºÆl8B‡†Ðö¬|ÀiÍtPRâÝY·-¶(°½¢¾¾?¥¸´;f8¨¨µlU +/§™mïð“¿û–ÅjÍÕýJÝóå“«Ð3—l 5±W4]äÍYäôô”»wïòéƒ#ž¿öÌ&5wïísïîen\›re¯äê%¸_¬é¢aXZRPlo,›!º˜ÔÚÑ…žÚ–² W•¾* ¡.Ç€/¤ Æ5ß5'4‚Ð0V”ë$¸ñØÜ¥&ÛŸ(êEL%=pjÃ/2Rª®4œð‹Ï>£ë×ß½ÍÖþÛWn2˜LyþlÎo¾zÊto‹ÉÖë”ÕWÕh©«’_>áÑ‹cl ¿ûû¿Ãùñ)¾}€Ò†wß¿ÃøCîݹÎË'÷yõäEY3ǰ£ õ•}Á’(Qj£©ÊÞ{$_šÙH— „Òš³óµ”•‘f݉!õŒ´îÅÚà¡(*ÚeËhPat6V+ˆ:’|ä|ñ†¿ûËÿƒ:êñˆº((µ¢¨ Låxùú»{×hOÞ0܇éh—Z¬±9h¥Ñ¢ 1àœe{¶EׯYž/±¦@ˆ­+úÑÚQØ—éÊ|ð4mCç[–«†Óõ‚“7¯°]C=’ª!1jÎÏWœ¼âá7_òÅWßð·ÿðL·¶¨·÷øÙOþž{wn¯ƒÑh3 ¥Žª¨²:#x‰ô›\jœ:ÏÎJI¢b‡”ØH°"*ƒ5Qp*>’4…¥ë²—ËÈö#mR„6Š×&&>B¤°¥¨Y9€µY¡Õu¬ÐILúDÏbÙ0ŽPZ67"4h!ƒ§« Î KÊ¡*I& ”nS.fnšuNú;‰ h…^†Èhå,T%Q ‹ŒG0$#¢Eôb·‘ å-?n†Jmd}‰-¡m³ Íç*wZk/BHÚhÄj©ò÷Á_¤ •÷Ø$•>1«hÉTS¢™Ï)'cñÆÅ€Ž24©(UE6‡ d±kH>PhOì3ŠL¿­Ó !àŠ‚`$kŒÿ^ú®é|¢³ØÂ¢•á³_ÿœ×Ï_ lIK‘NIvU‰vŽQY³^­Ø¹´6Ú*šÕ‚a]Ãݱ^u´ÊЭ{ ç(ó:ÞüÇó§Ÿèb i¢ì¡ÁIþp»ÑlØŒ™|»éû‹¡Ï` ;T–ð„qâ[B«Rçt.aM2¥}Z¬A€cÆh¡¡¤,’„U`­LÕ2åƒR":ƒøˆH¥ÐÍ!þì E1ÂêÀÑ󯘎§tëÕd‹áÖU‘MË&44‡/¤ƒ)‰¯‹²÷÷)¡JÇz½¤ =ë6‚bwgŸFrŠ˜ ˜ìˆL¯6Yؾ¼ÏddØžL8;:¤[¶8mp“™ôÐ…5˳7ò÷ñ=rxíîí²½w‰Ý+ûŒÇSÆeÉp2f:žPÕÅlK s±§?Ÿs~~ÊéÑëù«Å¹¬8ñd(jaÛRX›^©HZ åЮׄ¸æøtA1Þâøèˆé°bZ³ O¾E§’½+×9[-hÞ¼áöö^»Á;ûÛ\rU‚™+¸^¹7µüÁµ«$>|Er;Û§rmê…å%¾nb×b+†T“¨œ&°Zåî/²GÁP?¿È×_ñáÍ=þåïdZ¿Ü®º&Òö ï!BèÑo:É@ëšj4£PU<}LJCRÚ&”¦°^­¹võ<)dž–dÛ¦}ÞG2Žát‡ý+×¹uï#.ß{‡Ÿ۶$#©Òº’×_{‘âÏV=ß<>#&ÅÖ¸ ,¡0ëÆŠ,gIYXÖ½çWŸ=ã#VóŽG/Îùðî6W.•„¬Iœµ žŸbËG§\› øÁ»\»2f{PRĆa¥¯€20(¬— TŠŒÇ–­Ý‚1•IJ­Îž¡²ø¾¿ð`Jl‰R‰=(ïC–ýåF霥è3 @à¿¢(­‰J‚1(J[1'‡ò ÉÁcAËáÁ+~õù¯0eEYZ³m´RŒG#Nç|ûô9ãñ—&»lM&Ô¥Ë=MÓöLw/¡cq4çã>áö;\»rGŸòüé3æ§kÎŽÎùã?þ3”M<øêK&“ ¯øÁ÷¿Ó†Ò:©Ø  b¬¾¸-‡…“x;ðæàˆz2åðèÉhBì{¦ã1Ú‚HÀ`µ%9eúè! ¹Z`Ïc5?ÿéßðæùÖÑÓv¶ë¥K­ó”õï#óÃÆïìròè)»×߀sŒ”F]ÖZ‚Ò…g4”UÅötÊá›×$"]ב´ÅZKQ:Œ³8WR•Ê¢$Eé±ðc*£®£¼ïI)Ѯל¾zɃû¸ÿð>/ž½`¹ZqûÖªáWOŸ°³U1¶¸BÒËÎRQb"ö!ƒBÃE™oð^ª›•Î$õ += ¬‘:/I²ËZKmjÝbÂ8—R}ÒÁÕ|î'ÌTqRV@Töí-’ªóA¬3M³¤m;¬q #BHÆ4 ³!i÷v@@}Œ!Þ²- ¦VÄ$ëç>ˆ©ü"©f¬ø¶r_IJڔ•ym*©À(Ñwlb`çb¸È›RŒ¶øÎ£#^+agùLÊÏ8”û3œ•쿊J¡œ|F2¤ì 1H` áˆmz û(C˜2Ânã;5CQ%”o¸e)‰¢ž•5Ÿ[hš¶ÍsJfÃåu¡xÉ…ÿ¥4ì_¿Ãùù‚Åñ  Ê ×ÑÕÆñ£V1iž=}Ît2¢(,>&”v¼÷þ{¼yôíº•J$õ ÊÍóïþø_~âª!*÷Å ˜MåΡÜOžý/aC.Ë^© ƒ†lÊÛ4)¦Ü½%é ‘ã†Ø›÷µä$’t ÆÈÉ9mÚ±cʃžÜäs,%¶….èS‹klžÌµü/z>¢9ŸÓÇúŽÓÃ×´ó#¯³8=âå³§Ìçg´Ë9qµÂÅöt,êaŽä¦ÐC×,d3 QZ’8Jcª’uwÎjîíŒxòâX²Æ!ÒžÌQ}àêÍ;Ub½<âÒÖÃýbò„ÓcŠ£#¦¡eì;n *î̆Œ‹!j yùø9_® ¾ggwŸj멬)µ–T™5’$K‘>xBuÃ¥H=¨…¦o¤ÆÞYI”ÌW=û“ûÜÞñ‡¿G¾*Èå Êð‚"øDçåËGstÌ·žº,F‡4*¼ï)ŠRèʛؼդ>ûgRBÛ Y:Á1'ät˜2 ]Võ:„)%V͊Ͼú A[|ô¸zÌh0ÊpLÇW_?d<1—Lf%«ó–¶ ¬ÏzÑ3_-x÷Îm|ö-×Þ¹Öš­­]îÝ~[ïÞâʵ˼wç}¦Ó]>úècÞýèßþüS¢qÔÎpíòÕ‹™Í8ß÷þm,ëÕRªÀH¬Û–ÃÃ9õx@×ÉúËAœø(]qQ)–¢pÀB’·Ô¸(|Û°ò-÷×IÖDmhú@ŸmïeÕšÑpÀ²iék¬ÑÑ1¾t…Ê /Ie ¹®Èh“a¾2LŒ‡¶¦ĽÑPÄÄ`0ÌÏò„s…8êEöpõ¾§°ê#‡GgœÍ—¼98âۇ߰\,99>¤(J®^¿N«GŸò½î°=iù¿þÓ_ñÅ—ßðâå3ŒTÃJ~F¼¾u]æ³èí/©6Q³ò™L¢À%7ž'ÅfË)œ¥1£Eòú¯ëpN¶,!ôb ×¢†X#Xù5ÉÁŽ,ä߃ŒwˆI†îõjIÓDÆ“‘`‹ÌÆ?3ÏÑ\øˆ”Ö Š‚v½ÎïKÂØ"óÅEjŠŠ¾÷Ù6còsÜå¿Ü·8 u ß´‘ÁÅÇDÛµo åÙ.~A•½mú¢Œ[ç`³ÌsÙ@[‚ª·fs%*uŒd‡Aö’"ŽÄH×¶”®@‘jÃÓ«CÁB½í-ô‘œ•MEÙ´¥³×M†.“éý…µò¾§·›3bå}Ÿ Æ|ø½ßâãßù]¢¶XcY5 ³Ñ˜½]¶··AXW0 xüàk*W¡Î&†ÃÇ_ЬW•Ã÷’¨Þôšÿð¯ÿô“r0AÛ’#å2NI_hyCäxÁÚÀØTv § ü§èø<½Ê<­|¨Á&yaÄrò&ÇF­ œŠ" &%é­0d„„2Ää‹™’P鋇±(4-A•”:Ò?g5?¤O=è’íí}š¾“ÝôzIß.PgGÔÛÛ¨¨‡%Î:lêð}à|±‰SEÔ æÿçêÍš,ËÎó¼gM{8cŽ•YsÕF£ÄÁ`0L‰´rXtPá_ø/øÖÿÀþ¾P„Ãá-[V"EѦEB˜Ç®BwuÍ•sæÉ3ìa ¾øÖ9Õö}EVæ9{¯õ ïû¼z´Åªí¸Zt¼÷Þ—`²El[V³s®äêì‚ÑÎ>{‡7™1šn±lWÞ½‡-D'qúêÞ(ºw˜ìïѶb6EÒ8)vu\^Í8¹¼ât>çt±`Ööø£²d{ùŽÒ(‚oÐI¬ë ð}‡ÏÔ´Ö^(El]ð®DÛšXÔ˜¾GÛ+¢:$™úHQ²" )»o¤ˆr¶”ÀWWÒø^Öè6õR’"¼š0[4Ìfg¨ÐS8‹µ!‹-5¿~xÆ«Ë9£Ñá@c’f21(%CM™Š¶mºàÅË%·ïŽðþÍ÷~ÂÉuÏñù’÷Þ½-¿Wð*ñ«ÏÎ99Zòàî˜w§4Já$`Ý{ÑÉ(+“nÙ|OÓI‘VXïLhº‚¨¦Xc¤éɼ¡ÒºL»ÎÖr­åÂAçN1f—Ô›ËO&]k*tte©I!äÐÝœÿfDk2Bå‚!x¿!a‡ñ}‡* >|HTŽí=oì0ÖìLÇÄøéÏ?a0.ÙÛÛãjá9~}ÌbÕó·óïùìWŸòà½wY5-—'3nݹOa-„þ² FEQ•DS·=¹Á×¾ö¯ON8{}ÌW¾öÕ½{P–•LV|€(ð]a8iÎÎ/0Åe{ɰž`UdRW ]vXJÑ`ÅhKU”\ϯ1¶ ‘RÁã—Oùì—?ˆùóhÚŽ¦ëe –ãÉÉÖ”ëóK¬N\,.˜¦ §Sóšu*‡—` 2e¬*Œv½ 189>áüì”ÉhÄ ((JGï{ʲ@YKU:ò­F•9~žÈ²mi‚¡éæË%—³ÎiŠÁ€‹³s‘ý‡\7KVg—|ë_gX/8»œóú䈗Ï^ñ³_þ˜Ÿþøï89~ÍîtÊ`<ÝLdÝ“H^&)J%¹?ò:QÝžœ&Äø(â}DH!`•<‡¾ke‹Bæü9+/ Uć–è¶7¼Š!k²ð;¯ËBŒ…£ïVœŸÓ{Ãh2ÀØÁeã‡"‹Ñ)]B¨±—©Ž-ÑÇ ATt½¸ùå‚ÖD Æ€µ¹0O³ËVrù>5*&º¬™N)åçLÎHkí:%9O›½L: 'M ’¤ À(d½šò)‰”Ƭõm ÷̆I1JLq ÑWNtc6@}Ûb Ñik#T•'Õ75xrž0¼Öl/ù£³ ]ÉfÌh)×(‰½¬xS’U}êdº§ ”Œ¡ª†¼ûÖ{|í›ßæöí;¿>æîÝ[LS†£‰È!V VÑ3ŽGh£Ñˆ—Hßö`#!H‘ŸP[`þâÏþì㪠u)]’O¹r´2*TBs—_Vº€…Þ‚Ï{e•§#=PÚmiµD¬yò™ˆˆwí†q¼Fe £V £,AE´.)ßÍë†J¦F1£#Âê”"Þ/Ñ¡4&°|ñ„è hæìßþ2º[Ð'Åâüfçh7 í/ ™3Ô²cu“*V˺ë°$‚ïé£åâê‚·¿ü!¸’ÂV'Ïi¯O™ Jznï°³{›³³˜rȪë˜lß@§ˆ5ŽÑh›³£×X¥lí£bââèˆÑΘåõLĈ¥¬FË¢¦ ˜Œk¦µa\”LFS¦ö5£j@Y€S"mÓCd±Z’¼'¤ˆ7bAn£']è”EG1²ì:|ò¬šD×g"±‹,Û@Hžå²Å™’>tœÏ—<{}Îɼgkì˜NÇ<~qÊÕù5©iøüé ž?¿àl1ggkL5)¸ucŸ¡óNjŠÝ®¼ÃDÏ<\“â‚ØGÜp‹¶½¦]öt>Q z/ÑAÚ¡‹„Q¯ ~úëç|xo‡û56l™(¬¢ë:!m§@ìªg]%áÓF´|Îi”Ä6’XIÑÖG‚› ý)1FZˆ— ÕˆÂF¼Î‡–ðõ ÆhqK«óú«C'‹1–>´Ü¹û6ËUÏÙÕÉ,‹ ïÏÏ89Ø"qûæ2,õ”UOå+tYbê¥#>½`ÿp‡[7|ÿ?<åÉÑ)±3¨²dÿ`„íz–IóÃ_¼À¶ž?ûƒw±±'„N˜¨EÏ`v]éiW }ñ'ªÄªñ”Fsx{Êõ2b·èT‰ÓÐö-…6>¨écOaŒ¬”Ëba·ú<õNÙa”H¨dÄÂl-!x9Ò›(­!öc%òÄGU²ŽPF¢ûÐP”ŽÏ_KÀ»+ÙÙª¹xƒBkÚeËOþ E]c5_pvuÎÿü?ý >yô9ž>ÅÏæÜÿÒû¼>½äÁÍÛÂÑËz%æxÖøcë¡k©ë¼ÿ)nìŒØ˜¬ÓÉ+š\`Öä¿_¬//W˜*áqTÊ1r´h× ãä²rJ8LIÑôb¤p]ßRYË*EýüG<}òWHój2à˜dºá«åã,“é„f5§vг“×lÜ¡*‡¨¢Ä*+Q)ˆó:)Mï{Y{%Q[”œŸqvòšny Ê£úŸ¦’ ³V¾´Ú M™õw™ìV€b4Hq^ ¸ÿîýä礘Ø:¼ÁÙ슦ä£?ü.¥?æÎ“m¶†L§–é°d6;á‡÷}>ûõ¯8¼sW•6 †@åeY}š7Ó E)÷Ö¶þ€3¥HW’¨æbÊh<9 >HT“ÉÀ X$tÊœÌè’6& MIôÒ‡À|qIð°5Ý–Hã¬bv<*BÔßP:Mˆ‰”Úf”ÃEK IDAT±V™þŸY“µæO‰˜\ÄúâÄ΋v’?*Ú¬5y¥¨é»V²t}Àšk¥ Ô™š.k6yúû]ï1¬­|~QÙµB[CrÌ ²Í2Jý!ÃG×Np¥Qg¦XèYçøhÝj«Gà{p“\‚ì60Ó"AEy3Ckˆi>­×»yÔ£uÿ;‘'+òÍ$7xêé¿yø †ž&IªÁr9çúêŒU;çöÛTã±ïÙ9¸Áõ«GÌWŒòæË9»Éš4ÿìŸüéÇJ ”.f‰Ê ˆØLþ ²u2;úúåàñ½ŒèTÚˆÒS’ju:^8ÙÿÛõÏÎ?7N›¼û–KL£PZÆŠ !úü¥I§±ÎqÊŽÂòkp›'ø–®çIˆÁ_Q6 n²‡sÐôØ/aö;Òai®Î(ê^‰³O›Hè:bÓBbÙ6ô1²l;nÝ¡il5¦ ‘®ŒÆ[4mËpz"–ÉhÄÞö˜[[#v¶FÌŸ¿°?òÖá˜íé€éÖñhÈx:äöG³»WrÞX<ª54Ë9ª`UÁª]0Ÿ-ÑÖ2žl1hºµs„dècä³OÏøæWîã´G‹•àÅÜwë‰H ë½L¯Œ4ÀÚ™šmÁ°R–UÓÑõ–•Ÿá|IŒ˜Á}¡ë–˜$*y/kÍœ<}¢(œt¬“ÖYÀP—1nÜb{ûçωÁc‹œÛ¸J|þüš&)Þº9eoºFÓ­:Úþ’QY3tŽhŸ,¨ËšÑ¤àù‹†çG3|\]_q÷­[Æó«O^ðÙgǼ}¸ÍŸýñ zŽ/dka³ø<[•×!®)ÊEдÂdó½gä,ƒi‰*,QÝ•©_¦Sa4ZEBê%·4J7m­!ø6Ç~È¥'(ÑY-ÿÆͪk¤@  —g7XÊ+žµKLt_2ÔÆá{ü…(º¬ËÙ§gÇììLÙÝßeP—ŒFC~óø3}ö9ƒÉùrIßô¼|ý’gŸ²5žðîûïóì³Ïxû½?yÅí·ß¦0…¬¼Š¬•Ë6óµ¶C+Eï{Bðܽs‡.LR_àöÄ —'üJàÕùÊ”ÖbbÏöt’éÕd”ƒ–á9ÿU‹¹§°–¶kpÆÐÏ£_þ˜«ó—g@Œ)7 Bm ]ïY­:ºN´ÓÑ„«ù5E¡˜ž3ٻɠÐ’P!?y‹R–ÍÌ c}ô|þüW—”…c1_`lAUpEIU×DIËz¦HäU‘™Š(q‚mO¦LPJóèG?"T–­Ãœ>úœßùíßæý/¢¡ª-»ûÛÜ»9åÝû»Ü¼9áÎ _ùÊ=šÐð›_=æ½_Æ;±õ+³žþˆ{\èê¼ùXKMbŽÐ'ŸàD¢J/ò“Ü7 Îµ†)¢T^%0¸œËg —µY:¯v;Œ)PÈ´e~yE4“Ér2Fu­Lºi„ub ò¡—眨%+Ì5”(¥¼Â3›ŒARÂg$R?Òã1I@Ùëá‡Ê¥5¡÷8'Rk*$´µ_Èó•)ÈÆ2g5Áwb"ÈÅ«¬³ù,ëßÐtâ^CYÝè RŠ.ùÂëd ùõe9@£±šÍZ3eƒ1òyWU%ÓîM”òÿ¼ëEL¤Aó ´Ê«l½æ›­×ÒÄ´.¾3Ç@i”3Ì.N¹¸<'ÆHz–‹¹œõ)rcçñö±ë)ª1·vÇ=ÿeV ˆVå5§ù'üGkåHú~#†SkGFJoì«ZªGk­d,i’… öÕ5p½GµÆd²kz“fžj>¥ ÍÊ$±ëÀ͘q *F‚ï6ùC$Y%¬¹:¨”/̹ã2û…DñŸ"[»7¡½¦NY>ˆlQvè._±7ªñ]CU9µèB¿"u‘¶ó,Vr¨ 4«ù5ƒñ„¢±ZµìM‡\_ž2œìRO8¿^2Ùž°\|?§*‡\Í.(Ë k+ú®Ç°Âƒñgm¯©Æ[ vöØ¿{Ÿ4˜Ð†H»º¢Ÿ_± ‰>%Úh½'zŪíYuëfÅ|¹”ˆ“èñI¾£aÑ{®:ÏÙª¡ ŠÕª£tE¡Yõž6Ffó–óë“)ÞºÇd{ŒáÝû;(¿`PYz™ÍW,ÏѪáåù5§çWy]°?.¸}8f24"ÆŸNˆJ1ÚÝf|÷]êQu=·'C^\%"g¾[1lÑÆžÔ+f«V¬ÇN±=R—ޤ V}"4‰/½³…ÊM   ¹ûô!CI9,ᜓµMçÁ«+(éú’Š,ÖMEû¥k BUYlk©ï(¬Í‚n9À˪Üdt*¼°Xò!=osãÖ=ž>yqÅdT°?®y}tÎëó9ûÓšÛ‡c¥ÆiËj“‘ÅÑõ€g'sŒ-Ø;¨øÍgç\w‰®íh–wßÚåâü’ß|vF×Âí½ÿà·vˆ:puÕ²Xy´Êú%-¨ËVè"ÞÇlˆt½Ç&ÏáÁƒ‰e¹šPVR”Hb$„D¼+Bi/!ꢑ|PƒXþÏ|µ’Ok€Tµ"¤ð…3%ìµòÞ‹.Óå(¾=RN £éž<}ƒ÷Þe2RV%¡mHJñúõ+^½:b<™ÒÌ— Gί.¹<:a{g‡ƒ;·YÎWìLGÜÜÙçÆ;”fM¯6s$HE7Öœ6ôˆŽT„úÒi¯C‡cŒEÆHî™VÌæ+V!¡´¡ÒŠýéDþM^Ñh% ¢±Nà«IøhÑu•eÅõâ[~úã¿£¹>ò†Xó€@O˜œ12±ïVïµ`y袕¬CðY§7Ú&­Œd®µÛ)eÉßm˜Z¯2»–¾o)ªÁfõ«”Þ¬ÿÿõ‡Îbõ¨ÕdÖÿúwÉ.P•·fÞ{Ñ3f±»1z“_Igdîeµ¥ •`o—'Ÿâû傜’„L¦f²=Á£Á„¤ ÇŸÿ’¤eaó= ø"ó_ÿ³?ÿ¸ŽqE…µUYQ%%éö¹ƒ[;­É˜œeäœË/xÈãr‰ˆY§S¾l€B ±=%‰a¨•–"+?0k;mÈB· B¥,¢×ùKŽ›‚ <&åNXÉécv5XÍüÕg &[´‹Õ`ÌÙËOýŠÉhÀòòWRü$¥[úÞз¥Ñ„®Åæñ°ÀF &ƒ’ó£×Œ¦ÛÔà «Õ [8]³¼zÉx4¦y³5ݢͬf5g°sH—,uYÊXW©ÖZ¦Û{Ä6rëÎ}¬ÄU3®¸˜(¢2"’Ä@ŠÌÛÄ*V!pÝ%^ÏætJ˜_W×suÅáÍ=¬-Ph–«†áxÂÞdÄÍ;8£HQqz5C'O¡`ow›½vw‡Ü¹³Ãdd¨¥²pïp›w&¼u{‡{ãÑc ZM¦ìݽà*HÑ㊒RynT=åø|ÎÎVÁvU²»3æÖ­1;Û;Œö&TÓÿýܽ·KU:~ü‹+biQQÓ5K>úÊ!¯Ÿ\rqÝÓÅÀV]ð¯ÝÆšž“Ó+f—=®tÎQ•ežb%\Qb ïƒ Q”BE¥`:.)F%Mo@oc]M;›jƒ)*‰>†N­YÉ"Ê/WÖäU¢+qÎåCU ¬•³›èå{ÓoU›õ4³’¸­e{rzÂÅå%¾÷,gs†•èÊ´†½ý}~óëϹsx“Û78yý ê×WXãÛ;|ö‹Ÿò?ø}vªIƒ³._`cLÐb ï3}~ý“'¬Õjà ŒQÎAŸÿ6•à|¶`Þ®VC‘Á°Ù’U ëDÿ²Þ ¬/²A(øDÒðËŸý~5“Lµìô^O'mŽ@!¼t>H|ŒòŒ†c–‹U™8zü˜Áþ ªz(bé¬a ¹P[ëÝbJ\œŸóôùSßS¸ZÌPFsu~ÄÉÑ1»{û¤,_OßBL”EÉ ®H*±Z-å}Ið½ÿõ_ÒËþ;ô—çüÉŸý§ìíì1 ÖST)Ù€:•\^/øçÿÃ?ç¯þú¯ðÖñêè’Ëå%—gÏPËkF£ £º®ŸVo )£7ëËuŸÀ2„ˆ5o &;•1¢ÕÉxµ #x)Päg%b”ËSçua"ä¢ßâ´€§IÉõÕ)³.P4í"UY£Ú*RôèÌ#S€²mp«¢à!ŒÑ9UÜf€fN3ȳ­˜‹„ÕèŒ%ö!Ƕù}ɶ¼^¯Ò´ÎÓל!BÈϽL`”‚à¡.Šl&«ÏïªhÏòJ8®!e:ÿl¹ƒ×¹˜*¯üŠ<VÚlòUÌ.N˜îì‹ëv£·Ì™†Ùœ°†Ç<ýò>m´ß!pÖ™…k‚LÃBöîЦ %‰´c홀i³PÞh¾ü•¯ñ£ïÿ]ߢŒ£Lhº%ƒbÌtkLè{ª¢DÕCÎÿ<›U”èÅrÑgþ‹?úîÇõh‡” ªò‡¥¸‰ÇQJ$å£ ±ïXã4Œ²t}+jþR²T~¸1ÄÐcÖÁÐÆBg ÙÑfFNLëƒ+e—`ćˆÓoÂKcEï7ݸ|Q.w&â"D‰ÛÉ®5]åtÇx0ƇcúVÒÂýÕÕöm„¾íHÚ` EÇ'/ž€¢ïÄéІ€GcG[ìîóìÑCê‡LwèÚ:zjg¹¾¼À•n8bvqÁáá!‹Å1$R„ëΣ†S’Ci !ØI U•èÐC¥)Š’­qÅÎÍ}Fû‡ìmM”%û{»ŒêÕÈ¡“+ºk ”U %»Ó1ûÛCî0š ÅJÜB5°µ½ÍdX3©CæË–ùbA»X±]—\,Vììo3»nPêjÀ°0H625P§$i´£ë=Ci½bxcÂÞÞM…B jh;I±/*H-·oŒxrÔRGß %ƒÛ®…”Žá@3pŸjRÜÙ¯Ñi…ŽkGŸÀñ–ËMÛ‰&ÇšÜaJáU i‰×:ëÕJ^®:þÕ_¾à‡øÅÃS~üÉ×2..«½?¥쀙¢ ‹ŽAá“ðV¬öÄv‰+ê\Ô ˜/x£ZcE “çÎrûÆ}†Ûwxýê”2.ùųsJ«ÙÛóõðü1‡wo3ÞµňÇOf<=køö·îòøñŸ<=Ç”ÉIðí׿|›¯®¹nVt} 4–os›Z9ºR­¬·…DY•¶Î\9žú¾Çê§5ú¤45EU`]Ã|YÓ»JJA…#E/a×J «Î÷h£¤I²~Mñ Ð(OHÒYË1!ær2%$;®$%N à{¬¶yúý¦ó<»¼àÕñkþú{ßãWŸ?æêésÊÉ„zH¯§¯ùöï|‡Þgk{BX-Ôž½xÂîÖ.®.•?|È{|@´« 6%”UnÚ¤XH˜Ütú¨PɈc™8YW“´–¼¹¼ ÑÎðäåKŠj@¥ÓaA• Д„Ü]”NZ9ø6DIŠ‚¡i; g9¿>çÑ'?£]]QÖ•˜ra¤2á7¨ÝáòüŠOýŠ¿þwÃp{Ä»~H]Õ,Càëïl1®.øÞ_ýk~ýóO;‡‡„$EÒXq1Hù…“Ê“)œà”¾T$µÚ8R’7Zea4< Yw§®ËàZ“EãSQDëZqz~J˜÷lߘ2¬kÊÝÔR4ZøH²n“XâC˜’¾ï²ãÙb3„;ADˆœ.èûˆ±QòøB„ìô‹Jlë¡$K¬ãÇtÖ_ ¡>/g“3›æá‹áÖ}ßËjTKΡ6–>¯ŽS¼Æä-I²P3Ìv]Ø×dM”qr‡ Œ8K<”æz¹ Ô™: ­Äg­#𔢋 ëDÏ¥“9»Ìˆ3ë`î”@>£¢È “|fÓ@©¼n-[\? ’p|²h>ñêõV‹3Ü` WX–]Kê=ï>xŸåjÖpëî;œ=cqyBQŒ-è¼$q˜ÿê/þ“)ky¸t)dÔ,RDÒ%å¡Yœ²Qá[+ûÑõZÏç/h­ÁZ§W‹Rêð¡Ë4qHÉäŒB© YëedB±.¬$;*mD*¯ dœêe§JÊ©æ"¶*áŠ)}9²v§Q}Ãê꘽ݻ¤­æ/Ÿbª1ƒ[TNQ%Š‹ f6‡”Eî>P jnñ뇟PN¦Ü¼uß-3í¶ Y-ÀxÜpHXyö¸¸ºäâø1y®›%ƒÝ}°)x!ç+Mé¬LîÖ F+"Õª¨(µåüòŠæjFX\SÖõp€*,v8`d UIm FUI]9¶§cv·¦ “zLé*†eE] -ãñÂZ\éPEÍÉÑçççÌ®çL†ή®ØVô}Åéå1ƒªBëDa ”MèXQjb;§í`9›1è£bçæ>Û‡ûíhú–²V¤&Ñ.V$åIÁ}bz°Ë“£kƃ!]·$Æ¥¡‹ôÞ㌢ԚÂ&0–ÒY&CGb%qˆ9/ÏÓõ}ÖSÈÈØ¹š> Wm*åéTâÕbÅÿùŸÐè#¥¸µ]ðîý»ÌNŽ8ܽ¿îÙ™Žéý mhWa•ÊVméRSìX6KŠª"±^µ˜M†VŒ_pÚ"‚ÏEÓ •¦®¶8¼qŸb¸Ç‹Ïaª‚½Ã̓1·îîPtKÇ¢_ñ·ß?cgÇñöÛwø·ÿöÌJã;ÏVáøèÃ]ޝè0´mK©,¿õÑ!NGÎÏæÌ–A¬Ã…cX:†Ã>u(ó{ãPhÚ¶£÷2}éº%õ 2žºpÉÀ¾CÀ8%”uàó»–‰È)É:T%A©hmóÏ—.YÆø c…Întæ)+…IÈ«›(ù}ÆÈËIvè½ÿ÷Ç0_ÎùÁÀë/yðÁ—x~vFw>#V%¾ixïíÜ»wŸè“ñˆ¾Ä»ïÜ¢]zž=ûŒñî¶” éÿð7ÿwnÞfûÆ>M Tù€õ1³)’mÞZ tu’4U]Œ~³~ 1Ðùž£“s¦[Û=Û“±èIótNç\Õ5j}²*²VD™¬ë“âþ'?þ{üê:§T{“˹õ™HĹBp ]›cN®ÐÖÐ4+jWðɧŸrûÎÛ ËmJXWs£sáøéçŸòéÃOˆÆ ¼’Èj9gvuÅìì„æêŠÓãç Ë‚éxDhb/îT«ÄE¶êþêÿWÌçWܸ¹Ë_z¿ö &“) éÞw4H!pyyÁç?ã—ñèן°·»Ëdw{.^œóðuÞ:\ò¥·˜­–|ÿoBsvÊÛo½…Ö¢KÒ™Íeä¢4*å†ÞˆÎ/Šù@èï²²Ö) ´üîZedF^z¥q&‘´¢i[œg².X‰–¨puv)jŒ.hû×× W³9Û{û”£º³QÒF8JЉâœõ½Ä'™x¿Ž}‰!#J%úTÜ­)7oZbª4 ƒÎqVâ²—SesZÈÅE̸•ˆþ²ï;T‚NŽx”VøqVqzzÊËW¯Ø=<ÀGÑnMÆÞyëîܹû…'E¡A%ÃÛïÜ£Y,øôg¿@YCã[’3üêá#^={B¥5Ãím‰øpRüiä2 뵟– Ek¤ð–6ŸáÉV鼺óœ\\q½hÙÝÞbT—Œª*ë„o¦•Îï¹Ê´˜Wtlò^S Ä®'ªÀ/~þCTläÌ`GtÂf-ªsFVIÎ…¢^xI¹yÖ•LycË£GÙ¿}AQáƒL ’’0n­ *)~ðƒÏbÙÐö+–mËjqÍÉÉ1}0ìlï0_\ñéÇ\¾¦a¡oèV Š }÷þ}¾ü•ùÆo}ÌÝÛw1ÚÑ6K®f3...iúžË«óٌǟ>f¾XñËO>áäè{7(‡SÚ¦ÅÏNø½?ü»ÃŽýƒÙò‹_~Ž ‘Ã;wñ¦Ä#k”L³½'$³ÑX¥Ì,볌Ik€µ V§Ín$器ÄÜB’uÜZ¨m$ðq+Œ'b ÇóÏY6 Û;»Tééä2WJ$mÙa/E¸@«œÑ—Ù(~2ÊÄç©LÌNGmsôœ2›ß@’S²bSxK1çìºÈP›€ëú¬—–©sð!Ö›%1ûxïßÜï&¯ÍV¥ÊHïTn6Ãül#HmÍÆ=¬”"*‘#_ž±3µF#p×5à|­I”‰–ãCƒ¢(Š<5óľÍ÷ƒÞ@FS6Ët¡•5jÖ¨¥$äBŽ=‚„“F TeÁãG%Wiªj€2†§?ã­ûoQº‚ÒY|»àìõcÑp¡iûž¢(0þŸýã“¢ÆcåCÞýYÖ/cL%Â@¿ИÄ2š”ÎI)…ŽY$/ø8iŒt}GU–¦÷¦“ë}ÿFœ¦r…ﱈÍ<õ>ÊQú5wí*Ôš»\U‹“ÃÚ‡¡A¡+š£GŒ÷PÖg×ÄBÓ^Í vh'+:g~uÍr6§(JR@%Š¢Ñìö6;ÛÛt‹kú(t¢›Ÿc`´µÍjvI‘ñî”ÅåŒhKÜt˜fb’iAYáõ±ª¶¦ó}Õνï:´ïQ)P̯ÎHIx)×ó9g¯Ž¹^-YÌ—,¯—,º«vÅ|¹`v=c>o™¯–Ì—K®®¼8:æüò‚ë««ÕŠiiؼ³µÅto›«eàɳçìíO¨´aPWô]11ךêÿÆg IDATGOft¡£ñžQ]‘Rb8Q–ŽÉdKÂ9»Ñ'æMGš¾EùÎ7YnßBíÞ!ÞxvÞÅÞg{ï§Çç”ÎÒw+”ò¢ï ´Àë"QgÎJ¨¶1†àcŽ%ÉÌ¥¨5΄«¥ª1!6¼žÃ_þýg¼:½b«*y÷†åí»[’(oÀ)†|”õA¡:ŠA¢ 3b¬PrÁ‡ëa­¿X7ÚX¼—•Œà¥X1ÖIƒe-GŸ NEŠåèù'Lw šyËõéCg¹ìÿÏÏxû^É;÷wøá^p݉hÕw ¥…üGï0²²ö8¿ötѰ_'~ë›{¨®¥À°Xöô¡A9‡ËJQ–X4*ë'ƒÚlæ³¹$Òõ‰ùå’ª0٠̯¶Ú‘Õ˜ñX´M¢h]Ròra$…öa=MÙœ ÔÇ^’çƒ `TfëÈg™Ð*’”ÍD¡rWÖ b"DTWRÇüôg?§éÚ–o~ð!ßþ½ïp°w€ÉÌ «5 ëÕJ¦>7ï2ÞòúÉ Ž^±XÌ }›Åõ‰ï}€Irô¾gQÌÊŠéZ!O«ìâK™ï#öôȳ/©‡cJkÙQˆ>Ä)¶»¾Á9“çVòù…Äi­'Š¢g3œ__ðɯ~JôË]&TuaŠ&_dJ­AŠr­†Ü°4pÐLaIQÀ¾ÃÂðêñCn߇²,‰Q£­BçUíh8àâô„§OŸš–¶[±š/)µeg²ÅŸüÉcUäìø çųÇÌ.Nxúâ ýª¡[,©ÆJg X%éJ'fˆùªárqÍÑé gWÌ— N./Yõž'OŸ±˜]2ÝݦN¹>9ãÃ÷xðå1Å!Ôû¨Á!w¦ŽzZñø³ÇÜØ½I=Þ"t0²{XEƱZ5Ø ¿NÁ£¬ÊHiœ|vÖþ¬•uÎB1CGó÷µ¾{”–8¹um.c ÎN.0αs°‡é½œóÖ¡c±BE·J “³>s“ôƹ§œFEƒRAâùz‹¶¡#ú@×·ÑÌÅ›Œ$ä¼1VmP Rà‘Sr¦¦5¹HRaˆ17\zcàX; ¥“C«Éu@vB¦$tö5'3ä|Ý¢·n"É»e,**)\KÇÅÙ)ÓÝm|ï)ôÚeüfå(õÆ›<ÊuàzJë´™äZ%Љ7Å•„uiÄ&EŸ¸A¨ùŠ ª#%YÕeÉëgÏX´×$-+ƨ=Ýrɰ*Ù¹q@QXnܼÅå˧\]£µލ²˜úOÿüãë4À•5ççgŒê!ZCˆ‹Á$ðù²M´y¡óõ~‘}NïsVQž7âò[+…NŠÖ·® Ä”bjSy–Öf9|[jHhbì%­IL·ÆÒGŸ£#ÜÆ²*9Š&¯Eº6ÛÊ5«ùKÜ|F±;eñü9¾6¤åœ.)&{»JmIVãÀÒ.%tañ^Q8ƒµb§]“R`T”ÌŽŸS”[Õ¨¾ÅÍ`gJ{=#ÖÊr‹ä!µΉɑA¥<¼$êñ˜>iFEAÛuôÚ” iQ©… /xé §'§ÌšmJ ‹šUßÑjXD †Õªç²Y²ðç³MÓ÷İV3ÔLFC†EÁÞÎë,å`ÀùlÆ'Ÿ?§ñ-ÓÑÊJW0ŸÍèºß{šfŽ{»Ü¾}ÀÃܼµÏþt‹­;wˆ]"úkúÙŠnÑqêÞw¾ý!mµË`¼ïcÊ-”«qhuE]MxutFU*V Oz¢Jt¾ÇZpª¤r«ÀYûEÄG$¿b}®ª]ô”…Áx‹6s^."ÿãÿñ3>ÿõ vÊÈ×îîòÁÛØÚ \ÁpPâ”AQÓ4KVMÑ–À´`F¾ }Uþ‘RŽˆ¬!´R8£h–+GæQwÌÓ^²ã CQˆb<Ý¡ëf¤å SÂ*zf³?þô%Ë™æ›_Ý#¥’Ÿýún8ÁiGôž¾´ËÇïîB‹u#~óòˆÚ~÷[ïr{Ü¡ ÌWb Q}¢i;lYSVôBÖ2\ÅÊǬ¡u ï[R‚áxJ¿:Å»‰ƒ²CTêDÛX[â£Rµø^VCJÉd:Åèš×„„H”˜a9le¶Ñ„pFm%Rò¹y Ä,H^ÙøCY/&ÇW>x‹[·ß¦T‚YëIÌ‚ØU‚ÊÜ»}Ÿ>úˆ¯ãk¼÷Þ>þè+|û[¿Ë‡_þ*ÎØ ÙÜ÷AÖ¨êh¶mJéŒÚªÛ(Œ1eÊßéHhŸ}ú„ÁÞ>Eß°µ5–¸!“'SJ.…΀ä”q#ZëI¶²l5Ÿ~þvv†®l6( gQY{7bõM2} h$Ì8(M‘/‘aY@’àî×O1¨Ç0ÜÁD±¼+$¢çí·ße²=%†Èt0æÎÍ}>üÒWøýïþ!oݹÏ[wïrz}ÊÕùEQ28¼±OY 0Æ1FPd oJ\Ï®é| õ½Á±ô>}¢¬jÆ{»|úèÝlÎpoW\½à»ü]¶¶†h]ÐvÍ>ãí³Ù)íbÅÖÎMJcPVKðsÛÉ}’’¼§Ö“–ì»üLD!†\d+0%Aya¨‡¼%Èëi¢ß4õk‘ô&ÊÅ{Y£ˆʪd¹\ryµâöÍC’ÉS£¬")¬‘uzDDô¢}ÃêQ™ï´J4§r%Fɤ¨0ÆZ‰‹ó £;™ÆÁ-¬ƒm†pÊÜÄâû°‘6HÜŒýbš6F‹„D6ZÙݧ•pÿ’ìCH¨”£ˆŒ¬ׯ"1d£[ŽªYc›x•ðÁ£²pœ¾„ØçbŒ œÖFJðÓ!Zƒu%/Ÿþš`+JWÒõ =Ì.Ø¿ubO×®8}ñˆÙõ £%ÿV)ùoþËôñÝ·yñü5åV‰‹=ZXSˆ*ú\ôˆÞ‰\Å’ÄQ'¤×€ÕFà€¦®ÇÆT ÀQQ)¬qo\‰kŽÊ¶Î5° 9Äà$–Å{Œs%@9£4V ¸Ô°†@êÍÎ:)…É(‹£‹žÅãŸ1Âåé9eYƒJ´‹91Ö¨j] =}Ýô¸Ñ.©o¨t"ÖYFÃ!M×ყ.s—á,•ÕÄa!š±z„M˜j$‰]%EŸÔ: 7¨=¥‘˜ ­4½…ª®Q¡§LÐøg !úàÙÚ¹«JN/¯dÇßtx…o$èZ«ÄV9` 5¶ªP FUÒÒ•X#‚l߯¸Xv¼<>æåËcºN±;b´Á÷ ¬–øŒíí-îÜ¿ÏÁ½ÛÜðï}å¶÷v¹uç¶t”ÖáFeÖÄ|=Bøaßÿåp \…­±§,1y^œ8}¦[Bïi– ”¬VËl~ËÑ*°Zœ…]×åGËе¶mdÒ˜eYâŒÃGÓ­PVóéYËÿò/Âëçç<¸3á÷ç-nÝÞÂàL‰u•|Q4ÆXú¦'´‘D90ØR‘t †ÐöÅÓ JÓõ\ÈZ~W­Íf½²ÖI¤)ŒÆG²ö"’‚è'[cŽ^~Bm ίçüô§8¥øÝø6ÿáG/XtBøW!0®k>xÏ‘¼Å'!ÜãþÎ] ¿ FèZ…V=ƒº‚”˜/´]OJšª.Pk[~H„”ÁA:Õ¡ÄEUÉóÒ-¡< L ŸuÖHüÒ—xÿÁ;¼uï-êÒ¢b`k8â÷ßçàÆMž>yÊÛ·¸só6“é”Uè™]]Òö=e]SXGï=¾÷âï¥1ª&“ û‡‡èÂð7ÿæ/©GCÓ ílÉΤæw~û·r¤™EéV2þ|Öù:ËÑËÆ{·FtY¶â¬£ëzŠÊâœ@E]©Å¾ÎØEa])Ú­H¾I‹^Z¤³.èMdÜZß“¹Tøn˜ WŽ'?ggoº®ˆAŒT)³—¼÷Ò˜$²@<#!G+pÏ,‰Q™M%Û&EÈÓc­…ËaÔZèèÆ9Ùšhy kIA¶MF¯£hdÅòçµþÝ#IÌWÖŠ+g2Ê6?Hœz£ !äØÉ$M™ ŽJ› ÓZó&X‰(Àñ¢$EŒt)bPÔE‰‘”óÉIŠàŒ¬½×EœlA×oÑA†\—¬« e¥jòÔ~½æìû^&[ªØD Éï¢lN¤]-yòéC0 ¡à«vÁå«cn?xŸºªpN3;}Ååùk‘<åóÊüwÿýûñ–³sÊÀ€³C„}¤jϸT" ›=2Ú˜<Ž^C¾È¶ß7Ð2•Åb1®«dx©ÏtiûÿùƒÑ›Œ#Œ©Í:Ø2¯YtFø‹›PŠ?ÕÆÑÔ,?7☴œ}ŽqžÙé9ÃÝšECß5ÂØ²–s8^)V³9*Âpû&íÅÖDZ pdçZÄ•Öj ë ªA!ኚÿ—ª7ýµìJÏû~kÚÙî|ëV«XœÙlv³eI-ÛA!FGBìX0œ óð·@ð—6ÚŠ$K-5›ÝÍ8‹5ß{Ï´÷^S>¼kï[M€`,Þº÷œ³×z‡çù=i·ÇkA„~JŠ>Gú$N¨DÔÎb’Ä<„B"Ω¸4¬kQVºªmY´ÅÎæsz~›ãóS†œY=»Øî<».ðôúšë½g·ëé÷/_^³ÞìØmzÖë=××kv] tE]qr8£©2‹¶aµZr¸:àèäˆãÓSLeY.IÊG3o1•ÄÃT)Óoׄ¾‡dñÆÀ;ŠYÜÂÑk‹ ›¤ )Jz½*ÉçΠRâââ‚Í~ ¥S²ÜbÊD,ý0Èê…L[ËDÁûH™ª¾ 5­l-+(®Ýù¿ÿúk~ù‚ÿöÇoòöÝÇU²’–n•%&éBµ3BÃN}št…ÆÈèßÚŽÞÏQ¦- „Œ¨]eK`é(ÂÖeï/šrÂÉÎPiÑ?ÜÑá\…s ®¶/HûKŒlü5_~Û³lßûþ}þêoa›šűgœ%ö[~ôþ¾Oà¿ùì9¯Íxÿ™¢Æè:Ñ%V¶¦žȪÏBÜ΂Qšeº€÷A %]ÊDº!çy÷ˆliª9ÙV CÀ•õŸZ}ÊÌû¬2ÊP¸èÒQ¦Œ”£¬²º&fùz£ÐU‹½˜g¤Á ÑBàâüœÿï¯Âüøˆ´éøðߟ›£€5¥Ì¬g]*ïOÊç*4" ¶E(¼.‰ƒ¹Y—X*«§0Ý)<¶ˆðSɧÌ!QU5!'0ŠGß>†ºbf,G‡« Zj”&ù€«%ä9G9ˆ‘¦­ò¤¿L“€7cœæÑ“¯¹~ú-¹@4ëº.g­àT– Ÿ31eWJ9ÑÈÄHSÕh«©œ»}NÔ•¢ß]³½ÞsvᆲQrfØ‹nEçH žy;#§À·¿à»ï¾£mf,– Žùðƒïóó?\]ãê#×——<~òL€Ëͬ§=9$ù«gOøóõ?q||Änß±¹ZÓõ® }OH ëçWœÜ~ëªiCYs%™¼h„E%*yN­2âl/ë^Y)›©x ƒMa˜Æ ˜Tîùlýo†”ŒéÇv³fè<çwn1lw2µÒ–ĘŠ^Sþ¼Xî[áeiU4È‘¢ SÅ’Jã-L¬2ÛUòÙ.àUUîR«E -wLÉ,«1‰·ŽÙ8y³„4?9J£“/tû$ )£m½ŠPŸ$g'EO˜‹\@´ÓÒTJ0ºˆóU‰á"•ååÃG,N‰9QM±À(*™_)F¡XÙX©ÒT%R]œº"?0ÓÆ-ÎUE'™Q˜É`‹y`̧”´™Äï~õKª¦’gvØÑq»çÍ÷?Àj‘ øõw i&œ«éù×øÁG›¡#øŠ^)j]ã½’id&!™Ê™T(¹ÚÈn;JÄ•¨\%]Ü"lÕB*5ö¼)!±ÚÈC®ô ò^—šÖÈVô¦À#U9ì¬q2–Wa:´sŒ4+X¯A½xˆÕ[ú˧䘟ÓÖ5ƒì†=·.îÈÔ)v¨è193t}Ø“ö/ig3T5+lŽPŠ=u[K—`IªZỎ¬<µ«ðVCÈ7?w h5Öáý@mU]£«ílJ™ºjˆ(öÝ ™aVÓÖ2¹ÑVc”#ªŒO‰åâêð„ÕÉ9÷ïÝãÖÅo>xƒÓ[·xíÞ=æ«%ËÕÍ|Éáá1Í|Îê`ÎêhÅéÅ9§·N¹wç˃ËÕ kt-kÖ˜£ä’%ã몪D´˜2*†]O:ÂÙ…yûOÐÇpF38h”©ìåU¹„ca%RP)rvv›Ëç×ø®Ç˜âÈÈŒcÖ´ µ5ÌKêªB©LU54M+w†v>è̾ßólmøüñ5·æŠï½qXÂË ‹v&"Dk©›¢‘ Ú ’È1¼ÇU5•«h*KŸ•„À*]ôÅpQrQ©0YŒÎ(#ÎZ«å°pÖ½H·S‚“³Û|ýůX6¢QüæÛ=1Áúú’/>¥®g+fŽÝ~Í[w—¼sQS5s~õ›‡¼Xw|øö1‡3=hkÐnFÓ8YÄ2- ¾’VX#iÒR`ÅŒðà”°±R”ÐÛ¶mqZËc…=}“2®ˆÜ±Ð²š´\ãT''áÕ ƒÇU•L²têY)´ª è>òÄõIeš#Ùac`­ØÑÅcX-W,ùÅßÿ=»”9=Zqq÷ÙqWY?Ä"`µ®bÜæòy¼±•G‰VzEkŠEe&“ÐN²î²LáSY)fdå™bä³ß~Îùk÷XX,W¥(“é¿uŽ“>Jd#»'ç8‘Õc)2­sW×/xüõgç$ªÇŽÍ®ÂZƒ«l!çWhãPÚÐ?„Î*æmËà: ßäH·ÛC†j>çÙã',Ú«ƒcreR"w`UrÖ®×/øÇŸý#ž<‡·.h\Ö†åñ!ü±Ll•"x™o÷¢ ýæÑC|ô(Û0_°¨[tVW±»¾â?ü‡ÿ‹GŸAÒbŠÚ=ÎGòG¼ýÎÛìw=»]Ïf×áCâòjÇwžñâjCm ëgϹuû>óf.z8¥Ê*ßLZ«\4U7¬$JD‘ÀIS–†W+$î­©qÆ”H6™.UZ¢^ýËþ9“£—¢œ‰±Ç‡žgOžst~L¥ž4å꽺ёi)B¬6ôÖ~èå'ŠXR\%“æÎÇTÎf+ÎüTrl5e•ãgb E2¿3Úéß SM£~Æ EA/è Î zAé8±êrù'äWVŽ¥~P2y›†qš­ óJ…MŠgO±<;ÂÅâ²"ŒÇIƒNŒàG}¦èuJBt×RŸL0 -çz.bzRÀ «SçÄ07ŠàEÆ Í•3šè;Œ­q•¥1ŽïËbyÀõå3|èèwo¿ó.a[>ýê(å QŒJ9Ì¿ýŸÿü£žš^ ðË2/?´•<@2!Ú²ŠÅ5•§Š7&o[•d5¨åì”&'©fmzJ…+",‹Q¬”ƪ<ý·Ñæ©^ÑRh4ÚTÂÐ@B€cqR„¨ER'p6•„6¯Û‡?e6[²{ö˜vµ’q¬t›KRˆÔ‹%ÎdŒ¿F™ŒN Ý8üÕSÕ,çs´ŠD•‘7t6kAE”ª¨[+öX¥˜-°†`’®E0ê%g/$P¯tËdÐΔB¡Æ—]¼†:—uMŽŸŸ•bß÷˜,á@QÏg$4MÝÐTÕ‚l4¶nX¬8»s›åñ!õjE5Ÿ1¨šº®™×rx. b™²DïA[†~ ©«â 1?`«šaÌnò‘aèû=Ý~:¹‹}ð#BuÆ¢®ˆdjcˆˆx´´3Òa‹v!Sé’ù¥$ßêÎk¯ñâê1ÈZ0¦Ÿ !È3Ö8ÇrÞâ\.$vMf F˜/æ„bÏ¿üæ’´W|ðzK—™•³4u-N_V(,ÚZ|ÆJ•"-ªˆÓ3LmYï mEÛ %HÙ•Pcá¯ÙV"òQ~¹Hã@]Û3ŽQe‘\±fÎÕÓ/¨Ùóô*pÙ%rR<|t…Ñ ]¢ë×ìv>¸gYÔ™Ýùë_=¡UŠÿè6äÀï>Ƭš³<çj×ñüò’•sÌ.îaÊÖâë/?c>_‘ÕS?ìøéÏ~ ®B£xóþ]0–LäîÑ,–üö¿¢ªk™½ïÑhz?BàñÓ'<úî1›ë+.××hkøþãä'ÿé?sýüJVÊ^üžòÏÿ„?øƒB/.ã«nÇOÿæ¿òüñχ—¨!‚Âû o½þfÖÈT2븕µ¾1–œÃÒœ 0óU8¦ïJË„šÀJY·j™È¦”¦‰+kiden‰ñ9óå×O9n*fG3|¼™´Ä¢OÒIŠ{‰ÈÆœLádj–˽'¬S-S­¤Èκ.‘IÀä"äÎ35)èIg­µ’˜¼¤°Z"Ôb$PIrÅßµZ¢“$&G\w1&Bñø§à… o„ë•U"åAÖA6O!v’/[bñ´V$äœÑJ lÛˆôÇ6–Ô{²gŸ)É ºœJK41I š°¢P“G25ÉAˆþYôŸ²î¼G‘dsTΡ\ÐÚH¾bЙ² L€†®ž—ƒK&O UÂX jÔQ¤8áTÁò“…~š ;flyb“}D¤<Ù<ÕH Ö%pÒãýP¨²¡ìk¥²4S£*´âTÖlšHðbeMC±„Íôp ÛK*³“ *¥Pº¢¿þgíÑ9ºné6æ¦%› $3Íj0$ꦦž· ¡§]4h«À"¬%Ýc윪š G肤‹3NÓ‡ˆvN:ü2†µ•Õ׷ë}ÉjÅ“šn¿Ÿ~ß÷mð>Jó Q ÆZ’‚~¿§†§œ*­`q Õºn¤0KeÎY,ièåk¥ˆ÷²&Úû^²$»Ž˜¤s¯k¹ä¬¶2ÏÖžìrhOî.~DµŸÉ×±ª¬Ò][‰“rÔ—äœqFÖjn\™é› _O¶9ºLÕD¿"’¡—«éº=Cô|ùÕ·¸vIm·ÏΦ‡Úƒz)ÈS,bzõ{,çœ|ïFVÖ¤LS×Ä0ÐÏ·_|JΞÕáa>›)dY¦/ ckbáadSY'¦p£pÎNbÜõn‡Ëš÷ÏÆðɧ_qz¼âäâ>Úž>}ÎßþýßR-9<:.Úºžßþî~ðOÿˆÏõkÞ{ç-lÕ¢‘(¤ó['ðÛOÃååK2°íz|‰è )ÉÆ(&jë¸{û6g·NAÁ|1cµXðÖ{oñÇÿìŸr~ëc ÛõŽõÐóøÑ#þæÿýϼþÎÛ°¨ùâ?f¾'ÅZ¥ü]Äñʱ|MÑô)œq" ·æ•×f²ªâj!½LoX€ {óL‘>‹ äùŽW9‚ïhëz’üħŸ}JOÐ2PÉQˆ¥Ú$I¥(f‘)²¯8AcÑ^ªrÞ¤ÒJû§k\s8YˆS9ÐF¡q.£ê”ÇÀeyáBš9#«$qYpú²R9Z¥±ÙàÓ%-ú– Q,ÕÖØ›ÌÚI,ŸË ©´d ÊZ²h½&p™ÐŒe=‹ŽÉÁÕרž}CU7hÛ è0&únþh—+šÚà÷רÁ£k‡¿^“ E¢ª+RÕbLCÛ¶dmÑv†1 Õ,âCÄÇñg7Õ>F öIÖ¶ªÉhB."¿rÈk­Ì #G+¼ïA;ˆ?x|pZúªèãú~ žÊYöû=MÓàŒÆUòµ­uDïÙ^^Òíö’Ÿ¥#–LL“Ñ÷ôƒ'E¦…³RÞk-ÛýŽØ{v]O]´³4ŽÏáµ?ÄÎE¼¬™¢’rÎÄ–̹<Ät—J´ˆ°…˜èâãtûâ>}×ËŠ¤ªØw=CÈxïÉFh¿!¦Â3¢ r–°Û‚Ñ|òåsΗ ¾ÿºe»î¹Ú%úûÝë uí¨ŒhAPªp`¤CÊQ0 *Gt†¦¶2Õ#ÐÎIXúAÑÔ!raÆYW‘ h'Á±R†X´©tƒªˆkEó ëÃ4g÷¹ÚlØî.鶉öÀñäéžËÍžõzG·È>R/ øÀo¿Þr~qÆßm1¹ç³/¯ùé'yôìšZÃùÉŠM·Ã(Ǿۖ5¨Ã—KXw–lee’´ˆn­1 !Hpº¶m¨kC=9xŒk1퉬“hOú¾§iäb!=e(<^üBÄEw¨C£d…ªôd‰Ïe§Øï0k[ÎŽj†Ÿ}ù„åÒp|p[.yòíw|ûô)íò€£“cjk†=_?|L²Ð]_óôñw¼¼ºäø`޲4·ÎNxÿÝ÷ºžo>d½Ý} ï:BŒÔ®âtuȬ©Øn7,V Þ{÷]Þzë-~øÑyýõûÔ³–¦iY¯78[³¿þøçÖ3î޽Ǔëç<úÍg޿üßqïÍ ¼Ü¹u”Â97­«c(Âh@29ôïÑË3ÂmBKs;FÚ ¾ÍPŒTµÃ‡<>¦Ièn´FÍ—v#«)Þ$š˜ÌÕ‹K^\]rzë63ëÐ¥¸NŒÁÕ²¦N9•â1Ä[¾GWb¤&ÌwÑ>Ýäj‰º)ëf…§‹¡C±¸E3¦Q¤(îAMžô“F[Œ–ïO• •hIå9WŠÒ°ŒÏ‹%eù”ŽTõ¤ŠÖq’êH3”“^Œ‹ÉÝU2QKEw}uÉb¾˜"ªt)ŒD€Á¨›ÉäÅ,(SèEt?BK´RX«¦¢ÍX•L1]”Ÿ­èÅTÆ]ŠBFxþ챜A ìº-Cˆ¨¹}ÿ ²±Ø¦âúñ×8ãÙv{®×=æßþ‹?ý¨™-±³ε¯¸ü$üVéžXJ”`R…è®´Ñ%F ¯ršâ2 ué® ÚŠí´ˆY%7´u%½TZ¢6ô¸ü/?t.Ò£+AO03q†,n=UÖúçÄnC÷ì;šƒ#ÔpMªVh¿fÓí‰]OÝÔä¸'ﮤ‚ÞndB•2³Å‚ÚU$cÉÕœ¬59t8mÐÖR5söÝšœ,®™r&’‰YÂB#e7­%')ÅHȲN QÄ”U%]kô¬)Ñ jÊž2Zƽ%†ýz-kV?H`gÐI˜*Ñ{Œí‰Î‰íúšÖJˆgŠ^\‰c,ùN:]£Ùïä×aTå=ô1a²äš%Ö¶bLÈ ×¶èów1÷~„¯°IøUa|•ž;¾—`*WÜŸ‰=­3JËZMãÈYѤãàäXÀ³Is´Z2쮹†ã ÈZ&£1KJ|e3)wlwØÃ»¯ÏØo6<[¼R¤TШœ¡­ëùò …ÛÇ)y^—¦¢6SÏr$xËòäí^`Œ]æ ­âó±XtÎ2‚vµ¤Ù‹áC¦¼F‰a ÏéDŸÙ­/Qev½ölö=݈ɭè*¾z´çíû'<¸°zÉßüã|óâš¾× çì¸f>«ð¡§®kBÒ *”–išä°i\Éúhb™Þ$q½Úª.¹‹RÕDú.pr~ŸA9\m¤ÖrIdµs¢ÃŒyÒqŒ©!ªª–>‰(;¦„ÑÅ„!ÇA:mIE2wkW¡Kc¥ŠFTgˆÞS—uÓÅ©Ñyäþ²ÖÔU¶–ÎYyO²–Î;•é*ðOR* "ÉVó~(¹«5:f¢•4–G¿¡»|LÝTeM%mc4Âi„WÆ©UJ¢Z©)VŤȾïñ݀ΊºJä¤i¬e^)¬š±ºuÁúå5O^<Ç„%°^_rõâ!(ΗÜ:>ääÎ9USñèÛ‡T íÁÊDðÍ7ßä|ŸwoSWŽËÏYÌfrr|Ìáñ!Wû-»ë5íl&ËEÓêjR’d„¾øý†ÿᨚíÁŒ_üÃÏÐhŽÛÌŸ~tFž;Ößn¹óÎ{“À[¤&#³JM“¥ I¯'Æ<Ì”R‰Á‘49‘8çÀš’g—ËgB ŸÊ”$“}ä¬CH*sµ[MÚGÎïœK²Éø9µ–è…‚žSá;"›ùwiÊ LZ3Y™kEŒª¬ek!Ñ?F&m1ˆÄ L´TÐ{?àœ»‰¢S7¿‡òläRHQ º±XJIaŠë5—é)†H…üNq+eeÊ;ÁseÃ"rn’„W¥dÒ˜R’•¡b‚5ëÌœòhÝdúþ•¢ Jgd*©²Â”Z%F1~h-ëÃ.¨$x™q=OiºT …iVž ._>#äžÐ\¯7X·nßÃAZ5•…°E;‹Nóïÿ—ùQ³XaLp‡­mù¤èòb—ñy²ÉÃkÐÎ’U”¼½q|W~Hïû IÀhï,S°‚#,bQˆH\Ž!ne·m´Ã87=(Ú˜’Õ%5]¦ª À5ã‹ß ˤߡ÷Oifsº>àšßu ]Ïvû‚ùR,Ô.ˆ5?Fp93øžºr˜Êàs&ë̬q¢E3“zž„¡ïaü-UV1ɶí::Áš©·ÚI,ƒ–½sFúNrÝêš"*F‚ð]O¥ >†WÑ÷¥bOX•PaÎXgÖW—è k,~Ä?Aº„PD*gtŽ+Nm+\†¨!¡\%Y±š±\Ñ^Ü£½÷!¾Iª$ïKYI·×§… £´à>”‚Þb×mÄ@1„(<@4 ÿ¿1TÄ:UŽ£ÓcÖë-Fi*M¥^qµÝb-ì†Õ²¢ÖЦqì÷g<çGšn»Ç'Øì…´^Ù–Êåiªš­¡™Õe–°Q½TÂ̳’,Êq ¢—s³%ûˆ*Ú–m)yŒiÄþ]DßÚ8йLPn9[tvb7Žh-¢n“*ŽŽÏiW ¾ùâ šJ³î†¤€Ö3gYÌOõ¼ÿá^?]ðËÏžq½ItaO·ƒ7Þ8âìð˜Ðï0ºFUšaw£ï‰Å J`«hÉ|y&a’èÌœ# ^ô$Q±Þ\q0?Ç\ ÒÚƒ§ïö%¥>MqAc\Řü Ëô˜²f›¸LˆŒ6•pµÄŽ ƒZºL‚UÁÀ.N)û~µÕ"Ôé¦v„è§I˜° …k+QTEÀˆôA— Y ó}‹BäÚ ­~ G!Hñ©4!y á}à7ß‹å‰èn´.8]¦5ºàŠ‹­8çc’‚(%iR”éú¸¦ÓÚFÇrôe¥$ÂxSôQdI-QbwW£ËDViž½¼ÆDÏáí[è(SQ iÊZ}Ì L”ÉM‰^rUC@&ö¡ÜSÁÇRö FÆä²¡˜Î ®*)¶JcŒ#çHm]á úÉ A´³Å¨¦ ¤X4Â>Ȩ谕Éd1J8[ƒß‹y¥p3­B¨Î¢X%—3+ù€¾|þ7²l-®^¼dq~} h%Yƒ*kr0:’qb–#É$^ÝÈê­;“ƒ }rÙ Nf 2XÓÍúœ&íHŠ—Fdz\rùíg¼Ü=g¿]ÓƒjÉí7pÐ,X,–\Üy“‹7XÌŽ¹{ÿ5ÌÿúgÿÃGÊ6׈@颴QD1c祫—üË›é„ 8Lj,}©´Eœ9Ú]¥&—º+M‡BÊ J€£R ]™R ˆøÏqA›–Ü6Ð{¨ û«kv»+–«\qæ>²Z0øäÒlfs”«IYʶ¶$$ –¤è|O¥4~èJ‘Àʉ¾åB0 åõIY‘AùÈr±@jzjçèö{z?È]Ä“>†)‚%ø•$ϰ­Bðòšõ{œÒr”h€!xR€ý°ÎDq´%¢Ø¸ƒ ýŽ8?? ž/™ÍZ§¬î½Íìôgïüˆ£w>¤?›úü}†æ`VWeB!„RSaJ1©tFk7¡ÔÄEÑhåŠRâ(ärI8[û»Ç*í۷…¥S·,[leÙl®†òhéDåjÉtŒQŠ(—=–m!yWѶ«…Dû(©JÔ‚¶²F0E¨C$?¹u„~(„}XžžPUªœu™†UZÊÈ]ôKeE4ê§çG•Ø J’{qfjK®nñÚÝ;l7/|¢ß+²Ò$Ósû¤¥q™««Ú5üÑ÷ï’Œâ¿~Äõv‹Q†ýÎszVc1T•a{½Á§$ùŸ¥xpΕ5E~%~ He½T ¡ 寔J¡—Íáù›e‹{8‰Nïrs]W“«'çM“R¶D ™2µ‘‰mL£E÷5Š`™h̦è1­\Jåß#¨ ïCY ‰39&Ѹu†µnZ£eMŠ` Äê.ŒP&â)†‚‹)tå§p•D$9£ñƒ/«ÏÄç_?cÈšó³æµ£­«.¤ÿQøoŒbè;´±¥ÈdbCIa$Bc¦lÆ4–żåóßþœ”¼4 "™>Èïw.÷çXNB‡wV¼)z¹pP,Z–‹c`ß%’ZrþÚëh]Óûï6%¡¢m-ÖiÚ¶¥ª ÿð³ùÙ'ŸðñO?æÓ_ý][¾ãôìô†è]µÒœŸŸqxtÄ£ï¾#ôŒ¢ijæ3ádív;‰âÙöTMÃ6nåùwø‡¿þ[ìjNk+ž~þ o¼u—~ø:O/#Ÿüâ!³YÃÉÉmæ'En"XŒ‘¯6Þ[rñÊzP&&±DÁ¤ÅelÌô¬#Ó­qZ­J‘FIH Ë3?¾Ç1{)ŽÑÄdhæúé%õÑ‚f6£*®]gE"“BœHç˜ÂtJEvSÆ»¦à} °æïã2¹ÔR¼8kËÏ—§¿ÇìEùþdZ-Œ*™2?ëø\ŽÎ:¥F£LÂL H&Np¦;iÄ^Œˆ E.Ñ<£–º5¨*M’.š5å,Ö8ž={άmÄ’$"¨š<²8+S’!¤TœÑiLššp+#cOÃÀ8µ_±§Ü‘?YWM¿àéó/yþâ9ݶãÅvàŸÿñyëýïѺŠÃÕŠjqÌb~Äé­»´ó#Ì¿û³ÿþ£vq€6õtA¯K¨mV7‹:'Ÿ)¨„Õ H%ÈY.W e*ƒÒòâêßsC@,r=RmËD*öMÎZPj<¬Ó4êÎãtJëâÄê_i¡éj¥È>_¬ôíW3x†¡—8Äm9®§ÉI¦f |ßQYK]9¶Û-³ºb±hdbňS×¼ùƒà*GSkNW®f¨$€ÞŠKø'õŸøöá#ÞyðøÑÛÜ¿wΦï¸|ø”{îá\ƒ6mÕF"H™ÕÉ!¼ý.ó¶å»'yqõ](æóå(Ãõ~Kç¿ùäS~õ³OøÕ/Išmøá|Èb5ãç¿ø‚íókÜék<þö)oÜyÙÁµ­'ðtL‚ «Qä-…´ÞѲ*žâ` ärË–ÏI*µàÆšòµ2!)êª.Y•…o•²È,’†Í°ÇÔ Ã³KV‡TUùóÐS6àœ­ pŸå^Ë!N…| ¨v +Ö"„·¦˜mJ €èÍT$Œ%1ZÉ+<ÊñŸSaQ¶1¢qVuQ(éZtncó¡TF[ hg–”‡L‰7]±1Z>«r 眵ôC &Ee-Û«Ì—+”v4MCŽŠaJŽd™$j]8z²U%"G+JÂÚ’‘Æéég꯾ÇÂéËÅK™˜CÈ™ë«ÇüòÓ_S5 î¿óß|ù'«CVKßý†œ‚ï†-æÿøWÿò£z¶Dé¦T­‰Ó wJ+‰Š(Ñ.©€ÌÆ.Ë`$¸TQ.WSö±7`/mL™6•0SÆq\-E {†Rh•No©„FJòµÅÐe§NùZòF3}СZÚàsO›¡òkÌ~Ëìø˜íõK|·ÅjÃn³f¿»æôô”ýfÃrÞbrĽ©Zl#ŽÁ¡ßcëJ\ŠÊ‰p·Û3h×Ð.¤óô1ôd } )MTŽ¡¸œ­K! È ­uÙKaT9'‚¿”i›†a'´ùªªdM¦) TFÀ¶›aè·8£ˆL–ý}Ê™ Üd¥u)S¢²²¦ÈIÞƒÊÖ¬,–sÚå’«!¿OœÝÆ5µˆªL$ FW’£…ÊS~dÉD‹N+œ¥ìáEl;ŠÉC@%²/i”h­#Æc {ËJ!í4œžÑ…ÌîzÍÅñ1JívÃf׳Û†Õ¬Å(ÑäíÏn/Ñ9ËfÁrÖÐ45ÊÚª¡ªGŽ›dÆàå!K¹èbÊH9U¡_wbã®Ú–ùáœ}/«tjçȈ¦ï¬©&]‰èÒ´Bf…ÂXÅÐ÷€)M§ðx\³ä­7ßE%ÏöêZ)æ5³:±ÞjîÞYñÑ þËO~ǾÏbÖˆ›}ær½eßgî\0·ëÍŽeˆi´+S¡ÑM¥&QiŒŸÝÄP „UåÄíš3N[ŒSÌNn‘“™‚ßCÌÔµ¸#Ç cÌ2óÞOkC[ô/rzRa1Ê ²Q)l‰ÂÌ€+n$¦K@þŠ¥;/ÁQR!^-«·‘ÏSUõôg+ÊÈjL§ÈQRF{¼52Ê…êN)„F-(*ñù×Ïé“¢m g«Y™ŠŠH6¥"nÏ@–`òªªdmeM2¿Šš‘ˆ‘ц¯´F+q±¡,‹ÕŠß|ú ä@Ì™Á{¬ÖBêFôaðX1ä)‘!ƈï:fuÍl9£ß÷̤,{£+” ôÂ×Þ|C@åˆ-.DÈ\]^£+Ëã'ùêËoù'|Èʼn£q°:X°š5˜¶áøè0T®šò+=ò:ç˜ÕÇ|ïý÷8>>àÑ7¨êš]?°ë:æm‹©*l娮Ÿá}G$svvÊ{gµ†«Í†Ë§»ºæèüˆ—×ï½ùǧ·Ëû&²ÀY§©L±ø¿¸ŽÅå:b‚rÑÐ*õjl“œ×Ö‰#3—œ@ráh'}N¡¤›È3¬rÀkA/¼xrMßï¹}现 •ž qÏ—ÌÑ$qJV‰úïÕ‰RRLELåŠö)Ýüw™ä¦bö°“†iÔõôQ/\äµâ&^gÌ”„8HØ»L˜3“–2 M—L¾u †×Eƒ Ò0‰>¹VMUµröadÒ¥/?cu|T$±Ô#ç´Äå$šKrÑĉ)ÍhHQ¦£JI1§_I{‡2#ZÃ#æ)JòJ²B ÍöšvÙðé/~†ZppxÂv¿åñÓïøü“_ÑÌj´J/y‰>t² ùwÿã¿øÈÔsŒkeýa¡r­°,R,8­ 7Œ‰ÊŒN ¡ä—)#Õ}Êñ°¢´•®¨„+ŠPNÞL[\¨B¼NYÆ|Ö‰hÙšÇDëÚ¦zÑj)ƒ5 _t©è<£2‹ =ièèŸ}Mï{úõ¥°iª†Ýõ%ÖÚyƒUT¤ö «º°®f~vA¥ CòÅ…`ñ¾'÷=vvŠ"°¿¾&ÛÄ~EÜ‚dä)YsÊ›-Ý’ÏÓÌ!ÐÌZB•h‰%¬zVµt{ÿ¹Ú» 1 1a²Ç&ÅN<[Ö¥CöTÚâSÆëš}Tø„¬+£G;‹S`Šö&±I[§˜-[šÙœuôÄÃ÷Ií-Áj $Ù‘Géʬ®¥ÃbŒ‡ @.ƒ.]bí¤H2e-šIìÓÅÛAÎçLaÑŒ]„:ÉQlèåÀK)³yHU[j£‰ý@ßbÜóàÎs§ÁUøÈ1Ὤ¶êÊ0s"–tÆàÉ¥rΈ˜Xk¢ïEÀ k6XâoRVeÕ•|¼ªÌba¸ÚFfÕ’:êfF ©äÎ¥©Óõ>-Ç茯tÕ¥E@¶Ö:öýP.€šÛpïâŒÝËÇ\oÖ,–-÷.nóെÏû‚3­«Øõ{|Ð CÄV†{'Ì+ÃnØ—üµœ‹aE@hçp) ?E/äwm©êJÆî>ˆxUÁúzËÙá1ª: ©$­Z½GaÐJÄßFÉ!z³‚¡À…=T2Fc§RGMy(àÖ`m=QЭÍÓRNL½ŽgGŒ¾hßœ¬>ÃP¢BD³¥ÊÄ8'ô¨Çc¼ÆuŠR"ÞMY“‚äƒgH‘o=¥98äxÞ0o+œsïåý7âÄŒÁßLÙ“\2c¤Ò¸ cH”â÷ ¯T ôœ#ÍbÎwß|Íõå3’,L,ëÍì•5è'Ι6Ò¨ÆHa1‘ùüˆ¾ïp®`Cr* tus.îßcè6´UÍ/?þ9‡Ç·1&0 ;rr|öÅ—ÌZËÛî±»¾¥HC/MT Äi²š¥$‚$y´2„ŒLcfÑÎiZÇÕÓçÜ}ç]l½`È’[8 =‹Å‚ÅáG§g\\ÜaÞ.É¡$ŽÒ<¼¼b©¾s¬÷¼Ñ§ }?µŠo¹ŒÍtaÇeÂV>›—Ä+J]&ö2Å‹”˜cÉ–P¢a Wá*ËdT×¶2¤¤1y`}½Ssp| ÐZk%¯¯$“ä$:%SVšc#"“§"lçfu~Û£¦)oŒ±ädÊtL¥,ÅR,™™Jt—L"É»ŒÅL–rž®­±‚.„ê… IDAT(‰Ã žì#>JajM)Xµ"øÊ†Qø ’ c@ñrÿ«ñ”ÊÏ;ø8Åð¼œù> ›ŠJ+œv(-ù¯ZY@ãl…±E6"Ùû’*Í}*úÄõÕ†ªn&qüÍ+7jeuÁJˆ9#x¡‡øæ›/ùû¿û+ö9á´ãz¿åù³gäí–×ߺ‡²ŽÝîš'ÏžñüêÏŸ½Ào;Ì¿ÿ7ö‘v ®žÊÔu‹Â’ä%¥œ¦4ê#N P•Œ9àdeh”Lĺdué›DðT´RÖÌèØƒ&clU¨ËŽƒze\idìXnÖÚâFË©yöF”}°. ßÝÓ/°ý%³£SÖÛU3#ùÏ¿{Èl9§Í FV+è{¢÷œ¢w[²ØÕüˆØGj™Í¬çw^¾ÀhËr5ãòr á íJt)á‡$“+e¨fsBVø ÑÕŒD¼¨•î£3‘ña ª,) ø¾£1Š]·…˜ú«ùŒí~-š¶¡£OQÐ ½ä(º¦¢žÝ~G&2·†Úè²dŠ}˜Ïçè¶b9?@»³hñ‹ïfg¨ºÁGOíÚ)tÛ®.–Y« Î |P”7Ögt.º2aDå$ì•P 1qݱ1öåPhûŠ…·LÂb½žMŠf9ǹÃþŠnE^n·h•8X´œÑ•ÌB…&Dè’8[•sÔ•Ce)´µ2„ÁS¸¦¾!k+ƒ Å”„ ÇLΚ­D"µk°ayxÌõº+Ž)Z-/¬«˜ WFøRÞÞ¦K᮪ÙuÃ4µ Á‹ÓÏVœŸœòÎØ>»dŸ:šeC™÷Þ;àñ£ìýžzv}b?¤iM·\Í8=œ£•b·Ûcb¿ï§¨«dd5ͨD¦k>Èûm´Á˜’œ ”DÏxOß®ž?áäÎ;ت•Uw®\žÙ$ êæyG—‰ÐJŒLÿä %l:•9ºu.çQœÜÃÂâ ׈MPJ¡R,¹Ø]dÄV[(/“i&%!´cÇŸRp¦LÀÊç[iŒÍøÈÊòíÓkº.a+Mc«Å¢tùFÖ?ʨL{ÇiHJI.S3~Ÿã*F¶ÊèÉŽ/ëÑ™ }ÇÑÉ¿þåÏ °Øé‘)³¼.²Ñ:c 'ßÇn×Ñ43Ú¶BiÅ~·'¤ŒM†YmÙ šƒ‹7˜³L+W‡+ªJ€š>dö]Ï£GOxû·©mè úrTUÅn¿§jbÊ…¬.Nê\¦:£ Ù:‡÷žÅÑ/7kÖOžÐÌ—¬*G¿ßSKÓ¶Ì­¥ik° ×V¬‚¢>> îz«Ø=}†mgUðÆ{bè]e'7訹Qª¬{S*ÐërLÄ‘ªOÑ •¹¢º™$é É‹Ær¤úOñ="–R°)¬!D†^P³¶Ç¡ÒT®žÖçB€7kl­ÉADô1 ÃI 2vºǵæ8uK…•"³°¢u6#°wB(¨IË5®Ác. ÔQV¦ÓÑû’K:L›¨”)“ÉÕ,©RŒ]&iˆ)ÀZWËJ2]¤ZÎ:Rò¸Ò¿|ñ’åáQy]<Ê$W…Í©!ÐÊ–³J IÝ8Â!EŒÍ4µä‚Â!J˜Ç¥‹|/”ÍB,ÍÀ§¿û„Ÿýü§R8ZËö› =âÖjÅ÷>ü^™x‹hÛ÷l¶®·;ÌÿùþQÝÌA °¥Ñˆ³m´?ÚrèŠp-3Fš2~Íå +~c aÔå˜1ºFÜ…•)Ó%s³6úp‹õï$‹P—Μ°%pZºOJ”%\2¼"¼ËEÕcøG¿¦vš¾ÛS玜>A·_3_.˜ÏçÔÖû} Ĥ[Tgå#vÖü€Yž²Û\S-O©‡§ Þ°Þ½¤2 UÓryu…E¡³eë½$ÞWû-‰ÝJ㪊®Û1 UãÈ1³à†¡‡é»-ŠÄ0ì¥Âïw’wVìô›Í†3C’‡¶RŸûÝVöøµ£1šì}¼B=:›Œ¦™¯ä׳wþ&Ãâ-ôâA‰È8vÓ€ŠâÖŠÊ`˪EŠ8@Çx„Bí™Ü'cº<Åúž °Ñ–óh õcQ ¥¢ÐBAF˃£J'Weƒ70kéºkRØr}}Åfß“râìpI]›2Ž–ÏØÆ'|ÔÚ@ÓÖäiš1ªAà£ÆXÉÛ,Z)k)+zï«‘GˆüÌÃàEGU0Gwî2tá{¼.ˆ™ô ä,‡o9èÆ|._òçb KÖJ³Ý ïhÔ i¥©Úo¿õ€Ëo¿`³ëx~¹ã`qÆW_=¢2…ÙùÄà3¶©‰1Óí{R8?;§ïv¢ò¢ CJWU•¸”RÄû„uM9¼ÆY*ke僧ïF)BØS¹íâLVä©hyg£@W Š#¾¡÷¾Ä†ˆ6I±V‡1V¦–ÒŒ X¸ï;¢ŠÌÚ™üþâ´VV™ QQ8x¹äDj¥æèd.“v*®Æ‹Sx{ªä“ÉÏ0I1‘³hÀRTÃÞg~þóŸsçâe­Ö´+“1‰ôW2)¥‰?®sò8]H"m L RŠ…ŸQ(iÙkíbA·ÛóÍŸás¢6umqÎ’üÀ²må’4Fœ¹h†®ÃZiŽêÚá»=».2dMå2Íì¼÷£VÖ`¶ð“ä|抨2J \]m8?9g>cÔ~»­h]…« Ýг½¾âøèD4de=®XMAG%êßà#·nóüê%»§O˜­¸ÜndºX÷‘!3?þá÷¹Ül¸¼¾Æw›Ë5Ö8nÔ|ÿG?.wÙ8 H„rG)Dƒ|ÄU¶5Eâ o&—%C‡<ðàS±LÈ8§KÚH,aÑ7Zä<ækfy~’]p—××¢álÅ\Å´~Ë$Óü^AgK˜¼­¹8ÝFXª1‚@™Šö2‘MSR ÓÊTœ¹¦|ŽÊVªI•m¬Qirö+ÄTVäã×r®°×òø)$ùF¾S¸E@^%N€¢&‹ig|C,l8ÚŽ^’»R ÓQ‚›‘ Õ˜Ñ$’’x.è"AF>³u%ç"gF颯Mê¦*…ôĹ×àý@?ù/?áã_þ¶")Åz}ÍúúŠõfÍ­Õ‚[ÿ?UoÖkIvžé=kŠˆ=1óäTYYY‹,Š,ŠlRlµ tËhÛ²­¶Üh,è Ù¿Éð0`7 Ýè‹ö…ݲµ(‰,Ž5Wå<ž<Þ"bM¾øVÄNò¦ÀBåɽÏÞ±Ö7¼ïóÃ,×kN»ŠÅþæÏþÅñ¡ÖUÕŒ¦Q­E‡‘AáLYE…‰Óo iÖeì§ŒXI•–,·P@fe% ò.·ìõänç¾ëǸmžeÿœbiüD<¹GïmÛá7Û¢cÉX vXÙµÅLöˆ¶!ÈÊ ­£ï#ª|°wfðý(°ú £]HôÑËŸAÑg3Çœèˆ31+2‘$ÆKÕLÐ#g±íºéfº@7s®|ãÇÄÉ5²­I*Ó˜ SRÖ;­…S"ÂHS@¡åû‘e2¹ìçuÉ•T»‰@Îv­ÄJŸ‹£ %DbÏ«’q)1IFç)g|3+cðÛ-YÁã÷h·–]Oð=‹ù”ù¤Á|LX«ØxØzP13ÛßÇ÷ k¤kÓ%3åâ~-ÂÏs™ªÊj%„$×Ü`ùW¶0ÁS5 n6ÁØšÞ{9 :•Õß(ÌÜ;Z¬ÃÃ÷Yìà†œ9öX£1Vþ=IÈ …j¦\=¾Áöò1¿þêçç/©]¦õ[qœ&èC¢ª¦Ó)dÏfíÙÛßãèp.Ó¥F')Š.¯@tbpJ²°•¸/cѶ«*A{×­9¾ñV™bÎĤNÝŒãúžT´Êà\]¦R–œh·tÆ˜ŠœC9cv™mu=)³Y\> j'Œ¬SÅxaŒÃ÷]ÉÛUb*Ùi¸†•JÎY„Ĥ×à¿Ãù$+^[V½ÊHÚw?ýè§h ‹ÙŒƒÃr Ìšº\ÖbX¹Ñ$”ððLmÊ÷ÌŒ·¬ÖÅ’Ëš0\âÆ$q:Áɵë<¸ÿ5¯^¼ ÙXg D–`ÆB¢[nP©gRO9<ºJò¼,·µßâ} ï§ç|öÉ—f&³¹° ­Â¸](ïW.¼(̨¸zý‹ƒ}î=xÀòò‚õjƒo[ZÐ>±ßÔ¼{ë&Ç7ùÉ_þ5}èùî·ÞçùÅ’Üvüè»ïsëÖÛ«±¥y‰(žèû"=É(m$Œ8ã´Jc“$÷ÉzY—b\!”×vÇuÓÑ±šª¬ƒå;åËXÖ:[¦õ”)’²çùËSœÖ–¿HÖ§"<Dæ;þSâh¥L€sŒeMÈ8íÚÝ›”Ô Æ —. gßwTÖÉ„:Fi`Ëó1L–rØ_2iÙkصKSQ¯5º0*U*?ÏT ’Xj†"„‘מ†…Wa£ðÊÂ"̳Dwuë³½ùˆ'2J ñ)E‰)" $.‰ ]eMREp.ì3‰.“©\È=)ù2áŒä,¸ˆåú‚ÿë_ÿŸ”l4­q¾Wò(m0vB®çÔɳ =6—,¯õŠíò’›åÚÖ½ˆO!QrXPFãQèfA°Æd¬épV©é³Cç2E"1zbLlÚžÎ'Ø+éNú¬XùUàŸ]ד­£vgkbÖ„ M='[Ç6il»Øcrí n½ËäÚ·Èn†®*›±É' QETvò$H&°|…µãEKWbb$ïËt³¬š%´˜ÊJĘ¤î™Æ«¯*Ú"ײfÔÎb"x"“ªáÞ§?' ¸X-Ù´óZ1›Î 8SÎt9ñê¢eROŠ…9–õ¬|_C ㈥w£y#¥˜²Â)’“"ë¡‘ÈøÎc”hˆ¦³)j23!÷ä_)3 ²¦Ò ÄĨB0.&‘Xˆô>”&ZÖGC>ž6šÐoA[Þzï–§_²Z{úÔb´Æ÷òÚº®Ã؆ÉlÆÉÑ1‹Ù„gamCS[fs‡÷[‚(¨µ8:©¬¬W}‡±†Ê9œ‘ (°,ŶÛ}Ëþá ¶ÞƒÔ—NÖ u GDoQV€Jŵ¬îŒÖ£>DÉAwa’i3"bèÑÚŠ4!붘t(qZ>tEh[XÎÅRŸ•h<´–u‹Ñz´‘ÇqU]´ŒâÙ×…úÃ;OÛw(Ïžœóòù3n½ûÆKá_U®•ØãØÉÇáÒr†¤¤iÌ1–u‡°¥aIÑz›ÖTckßõÜyû-?|ÂógÏäÏhG5©ˆÑ6[úm‹öÇWxû½oò½ÿ!³ƒ[<ºÿ!yÎ7í&Ò¶‰í¦¥ßö¬.ÎùüÑC?|D×uLõ”æú1“™Cu¦ªPV“¬æ‹ÏpûÆu6ý†>ÂÒ—÷¡tmÇd:¾–Ö21ICŽí`§—ï:J“{Ït1çö›Ü¼r•½¦¡Ñš£Æqçä o\»B][þú'SpgoÆ7~øC~ñó©|ËþŸýSôbŸ‰Ò„Æi”3J"¶¦I±LURÑ|ÉTzħ²¶ÕXÄÔº Ìµ•Õ§ÈXrke00L ú1dœ©ØøÈÆGöfTÒt)R›$^&_¡¼¾ÂŽRz'¿¨´–2Eïq»º!^g·†.¡*Å«ËwZVɃîÕ˜4>ë2I—sÜX;PŒÑbL"“•àM(Ñ:ƒ7•@jel‰¬+Ü1=îäwpÐ"ÿ`ˆŒ QÜßF$'9'šzÂj»ÅêLU¹2.‚wãH±/?BŠdr&¨TdMrΪœ¨­¤Sh u ó–,YE,†«>tX þ¾ºÿ ʹ‡HR²Ò^­6¬–+.7kªÿðGßÓ–ÖĬ DÙ–(*…ùÓ?þO?´Uƒ± hC­åÁ€}£»0°¬Ž(œ§"9ªÝî׈ƒ‰•CºL·Rac ŽŒApXdeTMMÛ¶4u]2Ðìo¥S¯ÎʛѾÃhG `cäô/þõW?eã3ÍáÞh*4I‚WÌ®¾EgjôÉMÂÞMοü˜õýŸSO¦¨ºâðà:ŠÕwôë•Øš'¼Êýr‰ž±ìÖ9Âé©€ú.–Löoж-!xBè16›5ÎXT’/L«­rØzBß·(Qi|Í ÊŠ÷Ñh²®Põ]‚)5ÚVdcIÚ’(CV•©‰Ê•!× Î5(mè0$7ÃÔ³BÏÏ4Ó=Žî¾ÏÉÛßavü4G»}A_¸¢Èe?^[ò­² kBJWPî*¡³¢m[*çFŒR [ɰBÏØ$¤þTRÓ_OD×zç@•i»—ÉJÎø1:óêéWô1²n7’uÔ•,Ú˜8_v䘘ÍŒ’ðÞ.9txZWcö—ѶLn…¬¯ŒtM¾\>Ä“RR⣧i¦¸É”ªY¶b?ÖÚa´tóZ‹6pxórø›cKtÖ²6m*'¸”,©1ßõž/Nºž°w8å“?gg$Ÿ d²ªpUƒ2ŽÅbJS9³?¡÷p°8@gG*tã˜âØùÆòœö>PYW¾ƒšÙ¤¡jn™R vµð&5«³3Œ­™M§h;%å( °ävš«ÒÅÆrè°ÛA< ¥0‰i v–†,Œvs3zøª<:3‡fO4šztHæAÔ?è<ä\•yb¡Öuq°–Ï‚]ýõ‹j»ÝR—ÖÅå{‡Ç\žohû-wßyöü’ÅbVÜÏú5qµ@ÖE·X„ÃÃÅY^ß fŽ¡4-Fþ;çªòœ9‹-.9Ç»wÙú /N_±m74¦FËõëoò»ßû}¾ýýßç­¾ÇÉ·ÐfŠ÷Ї÷>a»^±öžË冾ëÐ*à*ãn¶‰óó-?øÑxzú’?ýŠwï¼›9L‡GG|õù§Lì”ÅÞŒí¶'Æ 7ÔVQ7Ñž>}ÂÕ“ú묯Íð¹3’ñç¨+®ÖétÊÍ7¸óæn½q“›''¸ºb¹Z±_5œòÝßû<¿Üòéßÿ„?úÇ?æÎRÅ„­ªº‘ÕO¢Ë)ÇÊØ1¬;§"z/+±”!Uäëû_ W3C]OXm7tÛžªª™Lðž÷ß¹‹uSË9š‡,äò9˜ù/þøCeké|T†^ªÍ/¦.‘ 1IžöÆÅ¯j¬-»äòÁ#.5gMqDäq¬Q¨Rek#Bܪqôm?ŠLѤؗ_Æèuðô1¢­%t+Œ‚þÙ=¶¿ük¬_Ÿ?gõä Î{®np{û¤qÍ‚DÃ4tœþìßR¥3ꃒY`h¡ïÉý¶Ø˜'«¨÷öh{O5²]n©ˆlÏ^J÷zyN2ßo mK·mñí–à;Ájhê }V´12›íÓ®[rV4“=”« B˜©1UM¶‚Å裢v–éÔB5ÇV\3G™×4d3‘©“‘« U%«©Ê6`,Ê6èÉ>43æ³{WŽÙãmn½ý]ªù5ìôPb…tFÅ<(3±¥ð1Ƈù,n$T*ŒEÉJ "«u U…xmåëUt^Cîc ÓŒÌ()Î;*×”C$J´D‰&`§@ccЏª0ÒRFÝŠÇ÷?£‘Mצ¸@ö&gEOµ ,²XÔ‡5BaÑ‘¨%£q®.ËPÜF‰Pâlr9¼”qÒ\”IïÌ9BhÉI8E¦iˆ©B% ÊÚZY_pÔZ=гõÀ·I‚óÄJ¡Kjòû5ÖQ5S~õËŸ“Vû®#$кB»ï#ûó “ªÂU–uÛ³\m™Í'¨èº5Þþë’– ;(+œ6¢ ÓšÚY\e¨j¹lRðÔ®¢®óÙ”ÓçOÐyK3Ÿ£Ì„L „~3K¥-á i$¼ƒ&„KÇUêÎA¥Êä'¢²¡º–¬Ã<䥖ÕNŒ¡L¤v®«>H,ÈM6hWR£N&à§|¿”hêf³Ù%F” ÙŽë¥xòä)³Å!g¯–4ÓšÛ7oÒ.WÌçÓbýj̤֑ɇa´…Ï#âdï=MÓÈë´¶ ’»ÇØŽâ(LßÈQ×SÞxómÞÿæwyÿý9¼rÂ~ôÜ~ïÛݸC=ÝÇ`QZš`WWú9WŽpÖ­8 µÑe})}b¾wˆ±V„Ç…¤˳=Pòui0tI‰ÓŒªÀ*MSÕܸyƒ“׸yíÞÔ|ô×Ãï}ðßùÁqÚ`r2ƒ}D ð¬Ýü›J”‹*æ«#YÉD*)1f£É¡ †”œC!Ä25¢h”vEO"–Ÿ›G§dN¢·˜ŒRÄ|ò,ÏV¨¬h &!TBˆâ~6Ö”5ÜŽýHÞ¹‡ÉÕëf±8F2íšq6î\¶òþìkçñ.Þ¹ÂÄS1“/o‘Fd52ëRì ³±I±CÑ< G”Ó Ç1¢(½æVtÁJMW½Ö,—Lšm,u][1}‘©hÙBXÙ˜Âì2Jã”%a¨ªš®ªŠ3´’I¸v¢“C¶Ñ¾||§ÏžIê‚«éƒ4š‹½=ꪢъßûámÏÞÞßurŸX‰«¬Å‹ùþä>tÕ„”uaPIÇ%bsùs\£ ¶® "_¡pâà‰iäç˜"ÍåK=Ä Ä<:-Òh7MEÛ@JgH!S× !´E°§ ·åù¿`ûi}nW¤Ïþ=áóŸáã 7­pûžiµÅœ}Íù¿„'÷ñí%êè:Yktã¸üø'¼úê#Œ­˜Ì8:<¸a2Ùcùô!9Fªù”z:c³^¢ë›ä°!V§`-Ô ©Ý•b³<#ö=}×R¹Š@ÆT5®™Ò¥ò@ö=›õ%×N®såÖ›T³cj«©ÃšyÝ*CŸ2‡Oe죋A× ¶ªIÊ¢š)ª™`ê)ª²`,µ«QÊ0ϱ“ ûGœœœpãÍ»ì_½Ãdÿ:ÑM±¦CnÎ4uCÒŠjæe°NtoU¬ßJ—Y£€Î¹€ô´`Š+‘!Þ¨tê’Åk¢HéÐc¹ #9uÅ=š©¬Á÷r@e„\õc¦˜÷ « ÊŠhýÅ£¯hû–6F‚÷¬¶=Î(擊ÚZÉŽKðjÕË Fj—„F]7c>–«kÈJ>¿àsáÔ ÇÎJ⺱¸„J§‚¾0TnŠOȶ&wq€’Åïêi€ùåâÌÍ…~Œ¦ÐõEŒ?›Ê•‚CBªûÞc´åáÃ/yúôV†^d­äw𡮧ܹu+‡ÌçsªºâÕéÛ®c¾7ƒèi»ŽåpÔ©àÆ– M][*-¹j®—§QâF­ªªä®Y&µ#ª–õÙÍô­g¥pѹҪd=ýdÌc·ª q{pQÉ„/ûµh9Å=,»êTºtUrüFÑ­R(“ÄÉY.µœõXÐKF¢Låc¼I´¼1æÑ¹Ø÷RÅd}Q&N¦Dmäœåw^Mxüè”7Þ}®ÖLëúµ¿ÏŒ+rq† G)•ȯ”ã¨G’¼Æ¢_³†¾óå¬dD[„°›èVMUpŠª®˜Nì/99¹†«§¸¦Âz@5RÇ•1lÖ[=ú‚õV²=ûVÕ¶b³øm¢ÓŠÅdʵÛoóôÅSVë5_}üo¿ý \­0¹Ã9Éüô“O¸ûæ›´!àÛžÞo1ÖÒ{2–‹³3ªfÆt²((–Òl[ƒï öÅZ¡Û['nÄ‘ºn®€®c (ã°U…Jšo¾s‡k·oј)+™*ƒvfÜ’XcIjp%~¢’çR•ÜÍRYMI]è½$‹O¤|>RäSXZÃwB¦@“Åí˘(U(°áœE—\[ÇÙr…0½²Àm".Uã{5>šÊ*Ý”ðïXÎR Ï*N[3N[½÷E»©FªzéÉŠÞ³€¿Õ%žJ$ϜŒ@RS´²”©VFM-‘R¹hþòH¸—dkÝknV‰ß¶Z¹ä[gÉM IDATæqý/¯Ä#ʼnVÔVC’‘j©JÔ“¤2htÝ·œWz4Ù Uèw5ã¶B•ø¡áŠe5¯´¼7k5Ÿ~ù)gççì_aïð€½½}fómÛ£TæÖñWöé·ÓÉ„œ3•µtm7¦1ô}ùÿùù¡«´©¤òs®¤G;PƒGi J¦q[ÝMVƒ(P«?‘ìS¼Ç+Å&–pÊrø …O“Sæ2RèQº*11‘×ü«ÿåå >äJxÎËû?ãéùëE¦™9þæÞWtº"Û{Ðóä4rõÆœy÷ŒúÉÇXÛ°yñ˜‹OþŠ©SÌ™L'èÐ’Œ%,/Ñ)â&3¦G_ÍÁâÖ£UCÛ_b‰\nŽŽíjKÛ¶<;Ûâ£Ä}€½Ãk覡ß,©ÝëÍ%W¯Þæè­›,®¾‹N1¾cª7X7aÖhŒß2Ù¿N5Ý—5EUÑ%=mQ0KQWÊÚ.göê F)®½q‹ÅÑ®\¹Åá•L¦3ÜôXVÀ€UID{ZÓù€A²ßd$VH›ÑömÀò§ÇÉf.H†œ²d7étP2±”Õraúh=‘îDÝ ²s%G}RV%–D²§ú¾''=ºX3P•"?F­,§¿æÕê ’%øŽm×—)bV[ÙÙ+Xo¶(SÓoVÌ' ·ãv Ä_¥^ [ÕßKq™ÃJM1|´>Òv-dhšš¦® il5¥š.è•¡åwT¥EóeŠÚÚŠ””è­Š8ÛjC A.žàKШDN/rEl.$qÅé«GÜÿú÷‹ÂØš^9&Í„÷îÞâʵ+ìí3Ÿ-È*rÿÁ+2B‹÷¾eë½\—n2¥DÊšºnÄMY˜=ΔòåЫåó/bX”ˆ=É[.ÏŸa­¦ –ÉtÜ-ÉÆ U,!·E|‹I¢`DüÚ´[ÙbZalþD£ÆK ¥5^ki¥˜‚{Ž—%N’”ÔkÀ¹|Ÿí83"e¬µcX·L dê¨bâÅé%iZqúä)wß½KÜ\²¿·ÀT¡ï‹ûRªjJ"IÆÊJI8@¥Ù(à40¹´.:Ô8N#Ò(oV(#F!ÅSÖ22]I1Ò¸zde­Æõ§ZG>þø—´¾¥™Lh·=¾O´ÛÈfݳMò:÷¦{ìݾ˳gÏqMÅã§È¡æÍÛÇ{röÌšŠç-ËG8ºqB»õ¬¶ȉ¦©åï6ë ×®ßDYS\¢ÑM91©',+ú¢^-Y‚R¸1D=S¢²•dºŠl 7C[9s$êD¤!'L.Ò#Ù—äŒqnÝ碽ËFHâƒhÚ2µD¿¡È!KòC™(¡FúFѧFìÄÊs\&©2í’UoJŠ.tœ_n¹zõ Áo©ëiqÜ*rÌ’ÿZp8ƒ(<#²„<1yÉèÕ¦œ=V;Arh‘F¨D9¯dµìlirD¹MVAôe%=A ™Á%èÙZ[¦;zG™²îQ° >ø‚0§+q–»a÷·…·G1¼¶"βUÅ@G–)´8åçNš†ÓW/ðmÇìð@À± 1Æ 1´§©hÄŠ“=“JÞa–ÌI-ëwg4©<;²‡×²Ü¬øü«ÏYìÓ4Sꪢ®œ0ƒ'„€o·Ü¾ýµVTMC¢÷ ¥v`Õæ_þ7ÿìCã*RRr*S¢%1ä$<•Q˜œøìW?åŸÍá;ïðó¯rx{NzJk<>ÃÔ«3Û~Nžgî¿xÆ¥¾Asãm.îýŒíãϨ}ÏÞÑ!óý¢­H—g˜ÐA4GGèÔ㕦-žâtbýü«M¶Â¯¶øvÉzµ!ô[*W1YÌ8¸rÉÞ ÁYÂvKc ®™°\áÌ‚w¯spóVa&…§ñE4ÉNŽ®cn|ƒƒýNŽ®påø {‡±p•ã+Çìíí1Û[ptxÈÁÁGGÇîpíä&Go¼Éâê5æó´2™.@W˜ª*Z ˜T®¸å4µÖ˜”IY úP…=•Jtù20xk´6rÁkoStE¸]Äéiø™å»„Jvx.#à-ÖBÎfÜ[‹¨;ѳ\Cø­LÐÆ¼pB T®âÕ³û´ÝJ@·ý0t!BNTFÓÔBmÖ®¦ícyЄŸ´žÅ±#7x²gïû~\éĘéz/ëÛ~CåjÈòﺮ-E’5†ùâå¦xe0½'n›Ö»CJÈÇ;ÐÀGÎh5¬DÊ:JÂIÎV¬]º$ャÁ-üüa¡óÑ…Ùápÿˆ»oÞâæw¤3­*f‹9gçç¼xÑò£Û.ÈZ4¶¢sSÌ*™èô’jà½Ä¤¥"v°ª'´‘Ôµ<}ü99µì“hH9¢³Òí£¤ {‰8çdõs9 §TôPœƒ Rí ¦1¶(Ó!e$oÌ–IÐ.A¢èÂâ.Å”µÌe"ëÉO A¦P½÷”ÂÉŽÎëœ3Û®g¹n9<؃àqU=N0€å|È)•Æ´È6ô0‰Ò#’A~6ccQâê+r.(q}ˆ"¦~ÄÆä´sÏëFY‰–ßËÕ[€ž‚ÕÉEE-ZÀ‚?xßó¨ clcÌ#‚iàN)•­»Ê”KeáXYc˜Ï÷xuúŠý+Gè80¾T¡»Í\–3s¸8cwÎð¢kK9—´”Tâü”ÄY‡QðÅ—_ц-9K!>ਈ‘MÛÑÇÀÅ˗ܹó&•‘¸3c4Ó¦&ú€q¢Y­« ó?ý÷ÿüCk”uÅ)Xâ+T¡V+EÊÒÝIsCV‡¤ñQì§ ŽÝg,ñ"eü]öÚY‰– eH£#)Š')‹2b£TÉcCGÚ¾àâÅ#T¿áÊ•#r»äãŸ|ÆïîÓ-çܺ–øÛ¯ÖܾvÌ[7,ÏŸn9¹½O3¿AJ™_ùS ¶kŒ 4õŒj^áC`zp•îÕSl»AU†z6ðÞÞ‰˜ã”'‘˜63çö[¶¾L3e±¿ÏtqŒ]\cvã.¶žÎ_`T$™Ävã¹þÆU®Üý€:¤ª*ÎﮤȜ«–fÿ„þà[4•¡©œ«1FòÂó}¬kØŸïÓÔö®22™2[QíàšM5Çê >g´-y’Jœ—]×Q9#Д$Â@3‚•VBìÏ‘Êíœ›Ö ‡uáÕH6&¥²&’.W)* ÙJî*€ûÐYÉ:9Dr)œsÞâ”"ëþ ¿EŠå`U±L¾ÄÕ‚Ç:[VKÅ"ܯyñâJASk"AÌZ3¯+æM5^Ö1&êzFh£ÒºäÝ dT™4„ GŒ™Ð'¶Ao»^öð•¦2Šméz/+3#Ý^ÝL`:'­¤R¯Ål ¦A¤ ¶!†XнÒ9*¡*K§™%ÿ-Êa®H’w£ÚZ¦Í”Ÿÿòï¤(´ŠªžËók'ìͼyó‹Ã«L§S&Ó“éóùŒ_ü +O/[XT `ÀbÄ cd™¼—Ž=‰ÓÈ–FHЬËA¥]·‘ƒÕY¬vl·—l./ˆ~‰1Õ ‚’4v¥²÷(L«_1prÜn[ÿ¢™Ê#~(¶$5d×ðÅdbRž²­Ý ×Ñ­snlÓkÙ…»KŰÒ­ï9_.yþøï~ó}R·á`1g–ÒcØîMå¿Ù[ƒp}—‡V¢\ʔ،¤yyt2Ž%ºdË•ïV]—z¼L=íä»ÝnQZqëæ<øê+6ë m׳í">%êIìªùÝï~Ÿ?ø§Èå“Wä˜x~úœélŽ­ ¿ùèSÞzóšL)ÛdÃÕ[Güâ£_qóÎ :ÙlZ\jÕ™Zk^½bÿëjš¦.ë4á§ »€'­E)Cð^ä*eÍ4d3:W‚§©«’8`ÐIt•XYù¨!:M¿³VVüWÉ”â>%P.K\ŠvcaËç`õð=µhëÆ3k—‰)C…¡ÀGÙò³e*94VÀI:qúê’Ùl‚BÒ$#Ó½¦Úq¬¬s˜2™‹eÅ-mÚ1#Ës$nDÑšRÐS¾ïCS‘"4—$ƒ]ô£®+&i&2™¬ó›èqwØ3N„•Úé¾P'rAYhAߨÒ\É”V¸k,5C.zË21–^R~9㚊瞰x ¸ Áel!E*+ }²VcyOÃÊ-Åö€¥PY~Æi¾ºwŸ$³4f1ÜeéƒgÝõ´}Gê;Þ¾û&&ëR„i’ý¯ÉÒk1þßýɇƒ±5Z™BG/ˆm$îÂVãÊ%“0ÊZ¢ˆKÎÆIàêàLc¨¢¼ÙJŽ‹òÔiMzùW¿ùÔ—Kþì'ôÏ¿ }ðk¶÷>"<ø)ëOþýäcܳ{l¾ü9ÍÅ=œÑüúÁ~ùñs~sïk÷ùÇ?ø6ËõRêë)«u ÝXÞ¼ó.{óš³Ç8šN¨´aVI‡¨—kèWLN®ãÛ ª¶Lš Û¨¨&3Üü q»&w=n~ÀÙ«sØliC»î±ÇÞá5¦ÇרûGÔ·? Õ/>þ{lذî$€øðø˜[|‡•½¶S.ž|F{3­ Ó›ä«ï3T3‡ñ©¤¦]BˆˆY@ÐEï„èˆt÷aа ’à®”°?HŠôZئ'’1Ô•¬Ÿ†HDÈi œnX‡Æ Kº©,úª$lSªÑx yU¹p1î.ÑëÆp$ ½;î‹dä ÿÅ™Ø÷±@'¡Þ{êÚðð³_‚ÎÔ¶°§2øœiŒfR9ŒÊ8«¨lÃÆoŤ彿-«Ë(“ £©]…ïz–——Ädº•Dk…]°\ž3«5•uØÉ„åjM‘Éd6™j:¥><âìþsû» ±rÅÛ B!u—iLŒ±OÌÈÝŠ…l>¬»®#–½q5ÁÃG/ÐVê˜ ˜Šã£«Ü¼yƒý«TuM3ߣ‹‘õ2pt´àã_F#“Ú0©4³ÉD.§<ÄhH"ÃpA˜l:k0;fÈ÷4åL×'*'|¹~{É-nºS‹û§` •Vã>8œ= 8çòØÀ]zaú®sáw?ÇûP„¼%«ËzÖþVÌÈ0±J·L2Y‰!Œ ÑgEV]KʉÓû§¼óÍw`»aÿ`_ØW¹LÌŠh99'³¢kõ¸²,µy—é×ÀI‹Y8¦¬Œ3„„«¥^Ë/̪l Ê$@Ó ¹œCŠTE ¬”Lë錷޹ËÅÙK6ë-N[fõ„£ýðãßçþø¿’é«QÓšmïYmzœU,—§<{ø„Þ鼦_{–Ý’O~ùKÚWg¼u÷.mç¹X^ŠÞÔØJ.ÿ³Wç_¹†AS5µ4r 8‚B?O; R²æ•µ´L62¡X@¤Ôe.—÷ðí’b\rq4†¤qVRJ²ÐtII\Α 9Œ‚€„Õ8„È1²'ÿ%Çkt±¦±u ÉSUV.ëƒsÎY2‘³ó5Æj³F¸wÖA‰’°DcÁcmá=š’ÐE=bKŒèEV ')Ei0JƒPU•4ÕDTÒ%"LvçZkiü IÀ•‰“”X+i¶‡)š-ÀÒ¡ÐÔ¯=Ërd‚R4)3®ôrÎ¥Æg–b—ýXœ·)°k™„9Ëæô‹£}Y´G_Ìžªr4ΖÜQ ?/z»˜NŒ5åu=b!$¥ )ñüåKÖÝZ4“dzD¤ø˜èº¿\r÷ö8+q@â*„.”\^Yoš?ÿÓÿúCT±¯–C2ÄX 2FÓÌ—"lya)L¹HAhÐ*ËElßKk¡úùKÖ¯ž°¾÷ –¿ù¼üÕ¿ÇŸÞÇÅ–¾ßÒôž‹óGüêWŸsvqÊ“—/xòâ”ËåŠz\e˜M5OŸn9]¯ =¾äâå{Ç–û.øá‡ß%P¡ê /Ÿ¾àôéSNfTÆ0Ÿ7¸iIá늰•LÃêð Ö$Úd™Wò™Ôâ»-aë…àžýzÃÞñ‚f²O}tÈâî÷™Ýù]ÂÞU*Wqyÿgô§¡ D¥8¾v•wÞý/ÓUêƒ.Ÿ|Ž÷-{SÍAcÐGï¡oSÙZjÁœ‹½h(©à»A]Æß%¨³D¤¾£Ñ¢7H…52@$‘.,Ä,®Š×0¡të¡ïÅ­SAqhqx Ž/*”ޤ׏NÃ÷ÁYq;i£wC­Fò4%[°²¦¬{’[MŽ‚^0F.A‰ã(Ý‹¶ÂÕŠAVTVÀ•ÚZR*ÃÙÃÏyüâkœußp¸¦fµõx˜8ƒs†‰ÖìÌ 9&æM-“=]~'%Á¾ªœ°®ú@ßZßãcBçÀñõ«|ü›¯88˜¤`Åõ7ßàùƒGœ¯.9>>Á¹Þž?yÊñbJ d] F+û`¯*7\cÞX—«’–r¤ªË£¬cJ%¦#påÊ!÷·?e:­h}Àššz:ãèø„·ß»M3œ¹‚:2›2ŸíóõןÐnÚ$jgØ_Ìåõ•:EEx5Y ÍU%Ü:c\É r˜9jºmÀju!EQ»í©ÜÊŠUeU¦ÄES4tŸZ‹Ñ!ÄQ›5詆på¤XÈë!‹¶÷#׊ +Î*ïý3í”"¶ªÈQô1¡xê\¥aѯEq)¥8}õ’^&=Ìö§îÏ™T•èR‹]VGZ¨ß¶"ÅLR²î‰ri‡+"g­4!¤Ò –"D›Wˆç2Í++Ñ< lez`œ2¿V—6RÕUÍv»Ú¶Rt½¬à*Wóo}ÀÍ·xï½wøîw¿Ãïýèòá÷ÿU݈ya:ålµ¦®öf{<{üŒL¢®ž<|Ä“›4‡Ž¿ú¿ÿ’¹îÈ3Þ­¨ö÷ñ]:Ò¶ã¬h¹S‡25óÙ>¶rÄÜSÙº<ó¢ß!K°ðRbì„1T[´QÄ «£rõøÍÅÖUEÛ¥ÆM‘vN ¤QC',¹"ÉÐ2)ŠéuƒH k ѽæ’ó«Êº ÚXRqFNE CÎ2‘·éeeu-ºÚ] :Í„µ•LÓ•Æ–»Ik-îÃ4:Ë”U Ó´Ëce*=Fj©]âBŒ¾h…!)´3ÔE~4q9t£<mF=«*ÀæX Î’yË÷,—³Têžç§/ØúŽ4¬Ë:yÛ¶dÀ÷“˜xç[ïI³%y#z_œAä5Ìÿügÿí‡ò0; ž,¬¥d÷<äóŒ’2ŽÖZXWÚd’RÄ,%otèŠïгÉí½O¸÷wÿ/ûoÿîýý¿#}õ3¦¯¾¤Š¤,¶Û¢¶ñaËÏ?~Êã—g<¿L<½h¹ÿâŒ{§Ü{¹äùéŠÊNyy~Q>eëñKÅÙóuê¹}cŸ‹ÓSúå%{Ó)«©+CSYr2¬ê#Ìö©ÚsÔt.fj±jOl·´^q¹êXL|»áèø:LöQÇosôÁÞ%TŽÊMð§_°¼÷ýêÕ8®žÜâÊ·Yî½Ù»ÊæÉ,â’Ù&ׇtW¿CÕ‘­•‰‘«É¥šCTO–ÀááAô# Ÿré•ÿK(¨ÒÒ¡¦èIYüd)‚SðÃk8Œ²E·+阒ߥ„À[U;¬€RqŒÈå²K *ãÊ$‚1g0e à¶H0µsšzŒÎ¥³ häK.,MÆäËz gpá8g%G‹ˆV‘GŸÿŒÓÍRà«Èj!†žËmOß ­8+0$Œu´1 +ŒÄ´^ON‘"í8ÅH˜ªfy¹"Å^¢˜b¦® ×Nöyðð”ûO_JÎdVì]a³zÅfÑ:³7?$ZÃêb‰ ÝLY.W̦Ó29â]ìø™õÎ^~+Û±®*)bõ`É–CUPÞÞâ€n»âÕéc¬­±Öqçí÷°ÆI ©’<°³ý=P «õš˜;ß@ÝTT&ã L›‰  ´¡ï·¬6¹L—,y‹5RYkä;ƒìèÚ®ÇÚš®ó´mG׃«2}»d³~ŽI–Ùü„¤1uÅÒ>¬?ÕÎ¦í½ŒïXäsÞ­0úÞ—˜¬8Nž7Õ°¦¶C4ˆµnŒÒyky§ÑèQc¤ªœõA.7]žÁl.ÎX®=‡'WPʳ·˜á¬"£QIÖœi(î @VrÚD-š:[V†ƒ³Vèö¹àÔkÓœ±ØÓs‰,3ÚŽ—…+(\੤<ÂY5ºp®Ôx »Jèãº¬ÛŽŽ®píÚu®^»Îâàcåç9ëèûŽ·n\§±ŠÓgˆý–ùtÆÉñïã=zßã üâ×?ãò¢ç»ß8á£ðÞ›7Ê$Ô¼D¦vŽÊY.ÏÏYì9\äZ‰¡I)™Å‚øܗô¨«Ý¸‚©?k­8°.gç–@Á²(´-1HC¥]´ÃJÍhiì*'“óèž[ÕL»b×ÀB…e'«[W¹ßZO%ådËct™oÞy£$KÔ×%B)kEˆAð6h…µ>%Œv´!7ptT‚ÐâL••‘>¨Ñެ2ظ%FO6Û§÷øü/þ5/¾úšK¯8¬4ï^[°˜¹ðí‚“¹£O°ò’vî÷ŸÓeȺ&Æ¥¤šV)s¶íiW=w4ULÌj÷¿q‡·nÝà·ÞââÅKÚf/ÞÃnϘ×5‹ý9ÓÉ¡½$;G¸ðÔ‡ûä³3TÊlbKÓniê) …ÍdF·êIççLë¿:ãêá>ÞVLÞúñø]Y¶åžä¦´g¸øâ¬7çìݺÅÉÍÛônŸ®9b2Ù§¿|Ä^Ý’GpüMbÒL,ž):yp¦Œ óè„.^ÙÙïr¦†ê¾)!É9ëQ¼)ÙW†:ÂXˆA"•Ñ8Ñ'¡’¹£æu“‚PÄe•W‚x Ô 9*²ÉcÆ™RŠX¦r (”[»l73.eBXÓ@hŸ6ŒQ:qÓ‘•Ò5’wèCûZ6æ09P( "’÷šCË«ÕKú 06QW•ÐÞ­¢ªËÎój›éÒ’ÔYn\Q=a³^1›Ô¨äå5)h·}‰iIPÉHørÛѨ€5Š.‰Ã/l—¼÷î-þÝ_þœ³uÏ7Þ®Ð1Ñ,f´ÎYOjÎÎ_°7©!µ<{òïÞyÉDϹÎu] )¾¬ß^§Ç«²vþgôî¿S*ýV†žL%jRTüþÿ—«'¨>²–7îpúôY;Ú`˜e‰ñÛÈê20_,xïýoò«Ÿ~DR™>&bÊœ_ž3i*|è™65ënËóW—,fÄJSUh]Ït:g»Ý™Úó.w1ÄD<} ZEæ3EJ+VþWßqpó[¤ÜŒ±ƒNdÐ{8W‚zË4¬õBÈ4M3¢;†`îA¼¼‹‘®}³Y£µ¡išB[–gGÆ9B訵Ã÷¥K.Q>xR…ÅYï;”)eؼ:ãwßÁ¬Ï±VÑ~_(¼4m†óS•L¦ï=u-<»‘6îS&™ˆÖ±èVìxIcÐ)I¥pSd¼\ªø7‹–ÏYƒJXpõm2Åëee#UUúIO0[ q™¶m™M&¤œyç­·¸ýÆMbðø^Àº)FÖ›%ÿßøkªØÑO+~ó«|ó{ïññO?âýÿuvÎÅùšMÛƒ¢ÖŠ_üš¾ÿe  d-Z9‹ …U±@gq´sŽÐv¸‰$LHލ)ENÑ-©Œ+!YÉ'¼‡¨«e¢’û-tаR•†,`œ¡®ì¨56Ê’”¬†?g­.«hSòK¥‰ !y½£¶É”³„aZVVÛ1 í¾™Ì…û¤d}6LµÖø¾ÅU–óhº@é1ð|4‘ ÉS·êÈÏ*çq­´(¼·®ëFNÛðO•Ó˜ª´0-sóPV­Ï*¾¦yìÇg5_Üæqtf §K=¢/(1¸ø.alqõ%™ö£‰Q•úC†:WèÚÝ4ÔF ÷Œ@SÎmŒ¸ú’"+ÇÂ/SE['ÓOÁÑè,:Ít;9 IDAT®år‰1òÙë(këœ] ÉöêŒ?üƒ$X)4VI²²†œz,à•f"æÏÿôO>+;íAßÊ>²ÛR5³²ÞßÑ×ņê©lI³.sN_x+ý—?åçÿæãáçl¶‰Ú%~çö‚…ÊøœÈÆ1ŸÌYfÃÿów¿â§_=ã7O¹ÿì9¯Î"háh„¶PhAÓ¨âúlºë¹{2çŸ|ïV{˜j†ÝŸðäá×´§/D¾¿Ïl6gÝm™ï¡2Ôó¶Û ¶Väí[ÕØé‚ä·¨fŽN´m‰«Kò敇GǤŠñÎ÷¨n~©C›Š\Ìå3V÷~‰Š‘ý«G]} Õœ¦×°û×Hô˜ªÁ¿‹;XëÈTd«!m¥ã-YM©ÐÃXyi:”A¤êŒÈk¢ÄÁÔzOcd箌B%Ñ$¥e—“¤•[M ^ªoZ%´)àSUD“¥“éA_£âˆ\:È”=Öɺϔ€OJ:½i$@9y‰§1eœÜ‡@Œš˜Á¤±pVŒ–u‘2JÑ’/]*î‹÷^Üû‚ulÑÚ°WF¢Ëж‹Ä.ÐÆH,fóm×ÒTt§9¡“fÓv¬»«5³Zã¦S^ž/!‚6’7[L™V†Å̱Ùfž­iÇÕ½)ÊÎ8?}̪MÌöæ,—[:ßÑ.7ܼõ¶šÈëwæ5fmÌ»(–â˜|">þ"Œ/sqdªâÞsÖP¹šù|ÎÌFÖ^qóòòÉ}Nî\c³}¥,ÓÅ>—g-®’õý½/¾dÓv³é„Å´Ac8Ø[Ð4«MËj›hû€Ož>$|ב‚ëxŒW±m;*çè¶! ûiÓvd­±n"‡{mY/ŸK–Xµ\Eü‚z ¨8°ŸÔ‹|Á0è1ÔVЇRìÅêÎÕ¥¦i&¿õœ¨ýB/kS¦YÖÆ˜Ñ k­E'‰E&í½÷\lÖ¨h˜-&Ìj‹5E´®uÉâ,¯ƒ„©,9º¾gZÕ MÒŽß#Ân%Yn”éTÈ"€O¢©”×WŠdº-NÛ’kmA‡ò|¬£ŒÑæµ W=2—Ô0K[ËŠ+V”-ë¶œí¢Mqäj> ¹fÚprëŸ}ú1“Ðñ¤ë°g§,n^!o2‡‹Šõ¶%Ñ æœ öX¥ñÁ3™ïIaè$Ýj)œB(1/eŠ4°³†¦— º+¦ÇÉIÚ±Ç@cLqŠäö˜F™ƒ*ÉÄ)ª’9˜K|e]¨FÄLŠWVÓÅ=&Þ÷ÅHWa¯‘•k5ª m|èY®·„Må°“†Ø·[ÕLÈ)HE¢*ÅÊ0Í*l<™dª1L;§,ü¼2ÑÛéu1†”‰Z’qhR†ÉÒpî  Î”R‰kÚ`õb*z±ëT²7‡Ÿ?h*ab=LÔÓÑxÆ)!ÿÛ2YtÎàSƢѣ³W#‰ ›Nð"*zy=e]®uY}¼…‚‚*QnYV 2 Vãº>¥ÄÅjɧŸ}.Qm…¹!FzßóòéS¾÷íßáö[·Ëç^Ó·ªÊ•h yn´ ¸Ñ’„-#Ak4ÆYêÊ@ì$yºï$'«Qè•I#ð®RJ2‰R„˜Pþ‚'?û+þâßüï|ýjÅyò\ÏÉÜÑXÅ6oÐdb×Òõ[z~øí·xãÐb}ÏfÓÓ¦->f|ï™äÄ\l—…dÿÊå»°Šw®^Ç5 E@™K~ýÑßñôËOÉýšãý)kð¾e¶`rp,’,þMʘfB• @Ð@j·8åpÖ°º<— ÈÊêóÛߦ:¾ ]Àà¨S >ùš§Ÿþ=•†ùÕ+LŽÞ \'œ`G(eqnN5=$ø@·ôD*1¡C§¹Ck!LWNl¥º„…ê,tgUˆÁ{Rµ—Vs‰ •?“ >!^‘<øMÉ‘K)’È2öïZý.HH/ §@ç@Ž]y0†Ø¢×´)7*åHU5„ÎËÃE êvh[_82%õ½J‡­,Ö5,*ÃñÞWö©ŒfoŸ½ÚжF;T†Uˆ,7=Fç µ5ØÿŸ«÷êµíJÏôž‘æœ+ì|2ÉC²XEVªJ*+´ÝVC,h@€/lö…Ã ßø_ùÎíÐ2ÜÁA¡Õê–[¥’T¬bã!yòÎ+Í9¢/¾1çÞå ‚ɽöZsñ…÷}^ghl‹v–ŒˆÜK›·Eqÿî]ÎV=«~ æÄn»ãåëS6ë5Ç (C ›YTêY.÷øà»ßUxqzÊßüí߃' =1„蜚ÖIá²:F¹7Mƒ*"ÏM©’ÞQûb¸ÉÆ£FV±çŠ6yãá7höi\#EXAðfé{Oï»ë 1ôkOð…½ý}ÔciÜ\ÂÁ[‡³MÓq÷ðS">Î7‘ËÕÀÕ6pv½æb½f³ÙàOß{´² C/ d¦Æ)†Ð£La½ÛÑ:ËųY¿ú ©D²*5½õÍQ\R~&[¼L ¬dfFÂŽ‚ã32 XKÎì¶›zßÕB£‚qu•š-‚Y×6gÄi«d¤TD)ÕgdõÄH¹pôè.ôΪª C.m$õ"ÆHô²öè¬ê) 5{ä  •L©9xÆb-¶覶s½lL£Æz9JaéÃPå'Z¯c&l®Aæ# ~¼ü­Ö¢—,âœ2µ˜JT]¥’|WU5™ZÕËÕhÚ¶Å(ÍáÞ‚ø‡„¢åþqË'‘²^óä7 ‡K´Î¬‡k¢O£A%Î_û¿üã?æ,yüàI¹°°š·æÌ]Á0Åbu¦i mÛr°?ãÝwñÆG¼|~Mò†L"c ÙtØh oßßÃyn<Ÿ¿>ã³O?¡Áñèá]LcÉ †íŽîà#Fev›5CIèYìïÓÎ÷å‚R ¶vg/¹zõBF»³‹ÃcÌ7~D:~(, :œþòî‚“{'¸Ã{؃Ç4Çï@³-Z¶Rù5ʪ3‘eê7 «€Yö×–\;“i;¬¢À•½kºÓft}"ÅLD•T9QŽ|}ØjQ¤!x_ãÌ´°ÖÔâ(M@Lg-²ªWåj¡5˜k¬&DÑ*Ä«ÖÅÖ@ZáLMŒ«Q“å#Uí•nˆ)ÓT±jQCÆ·ÂX2ª˜JÖ•8þ¾_sÿÑ›ì/)»¦›ƒçÕå–¾÷ÜÝs,º†äŽ–Ìg3RL4ÎÑ4†”5Å8ÎÎ/0Öq¼×ÑÌfìòülMɉÖ)q¯ §"1ÃW/·tËŽ£Y‡"±wp‡¢ö5×W7ß|@ñwÞ{Ût8+ŽÐQ¿&nu£I(¢Qg¦Ôbad™[…p©Ä)£7è1ÚqxçÅ:¶×+î¾}—‹gçtû{82V5 ë—ò,ͼxö»õšRû3ǽÃ%³Î¡M#º6]è½Vb‘æg³í)Ito¶2fDÀZõz¥0¤HãZúè'1él¾¬TfZs}qI7³4ÝY ÇiÔEN:ÁŠH›r$‡<9IÝØ Wɤ¨ª`U)óãñÆN#¼¹ÝiS2ªDbas轄¾sƒøÙî6ì®=û÷î3S‘¶s“SIO5qTí„£†º’—o«R7¶÷zHG]JÕþÈD,WÇ×M q7ãwIMÐÖúóÍMB€÷½œqÔNªÉº.ú*[k§8M¶¬mn¦.Z&:1ÑÚ Ï"F“C¬ ç&î߿ˠ5«¯¿Æ4šg/¯xçÝ»|þË/xÿƒïÐ÷[ J¢1’òòå3>z[îÛH9®|KªØ 3}d¹‚!G¦˜s2ñº3b5˜s ®z°|£kUJV}ªf?ê1­¡N4õ ­Óªqí72ʤ k¦ÉZΉaèë$éFãgF¡x-:Î//IÙ0ŸiŒÞ’©Ôþ¶m+ü¶Li*J\æßÆ*H8øç-ù?„pS4Õ¦x\MŽˆU·üÊóD ®V~zªqrVh¬«({ÜKb´ Scj…¾ ö늱²Ãª\L€°%ɺoZÛÖŸW'iEVªN¥è³dØXS×µ2O1ý Oë[¢J†•"ÿ}üÅg<{õ’vï æòªªÝÕ\¬W\œ¾æ7~í×9¹swjtZk9{yÊÁá¡4Ð9“ Äñ1aþ‡ÿö¿øAL"ƒÌÞc/0QJ°èÐfxJ•Ûµ®ŽÞ d)¤ÒúœóOÿG|)ø¨ØæŒNpb—´D:-™‚-ì-fß=¢dXvsŽ÷O/Î8;‹ÛSrǜĻîòøŽå;ï¿Q—÷÷:f¦a¿QìÍ.ó'ÿê§ì7†ýeËï¾E1†«Ë×Ü¿ûz¹G¼<¥Oañ¾ÕŠÖj´ë0ý»mO>{A¿º@Åìàå„ÕGßø©;–ƒ«?#~Á|q@sòÞìãöN(Ý’<†[f¼5ÆçHÉ‘¢2­s²²Óò Èª¢Ætä*¼ÄV¼A¦ U±žb2dre­ïd-!U35ö@e5‡”\·Qàhbuc¸êxJ#Á¼v?E;”j±³ªSqͤ2ÔÐP¦C¸”,4øªñ»B¥Š„vW!U_1v ‘RE}ªvu"Y)cM®ÕiW§J¬ÔÊÈòõ?ãÓþÕ¶Ü{p‡ÅbŸõÙŠb£yúò736ðÖÝcÚE‹S‘Ã;wq5¹À:ƒnæ¤bØí6ä\8˜7,è:ËóWk..NYÌZvÁWžP µŽÃƒ–¿ýésŽŽyãÎ’"‹ƒ¾zùŠH³3Tȼõî7Q¦©®Ð ѫЦ‘礫(Ht;âÒ5.#ÕÕDÛ6õÕ(")zFFôʈž K±BæÙÓ—ÜyôŸ2'{ _¾¸ä›o/)aàìé—øhö¸~ý‚óósRL¼ýà„ã…¬«r–é‡*eFšS¡O™O"$6š®r»œí‡Ñ†@ªÏœ¬¶Û5F[ÉOlZqk:‡=ÛóWì2›É8¿ˆîpnëi]/”憥Äby³RU¥N.*îARHÓDãÑP‡¶:”§•‘é€k!$ÛVe¬dýõæœè-ÆY)Blã&g¢t¾u•Y/ v¤ziMc)ä"¿«ªè [ (”,ì£Ú Hšª«"; zÇKU˜Hrù¨ú»¢nÄᓳxþì­qÚS«d1¢”\Äå˜ËÄ“Ƕܲ›¾(HQñæ›oñäëWXµâzH\^\ñwîñÕ×/yðø!i —þº4’$`5ÅdB¸s÷ž (ªyœÙÆ [*¼zΤ)‡n„®Þ¬¡Èõ8_1#{,Å›÷?× s…|æBuW“˜|Ä9Œ…©AVõÙ× {äs1RJÕbª¤i-vËT7 ¿’¹¾^³œÏÑÚÐÖÆÏêÙÎhtÑJWX}mù&ƒS)EQë̾<â9aaêÊ]¦n…š¸Q‹Ë2ò+»ÊVYNù†%V'HcHý¸ÞÍRz,ôës5Èyä[ASÍJ9Ù¬¥¦YÔ([Ež|7Æi´œ3 UåBRÈžžž‹öÖY¬îˆ)È_[iêk×…ª®d«(*ƒ€+¿ã£_þ·Xà‹ä€¦ª 1²Þ®iRä7ó7(Å0ëæX#ëéÕÕŠÙ¬“"Ø|ð´Ò óßý×ÿéD`&n@«% b…,kæµÃ6“€pLÚ¦d P4ôüë?þŸxuyÆ°Û <&LH|ûá>w溎ze_z|çHt>ÆÒÍ—ÕoØ;œ3ï$;èí‡Çüöo}Ÿßþõ·yçÍ7¹kw÷œðÎãCÞyã>×ëÀáüé?%eCGäƒï~ƒXdv=³“lÃv»c·óœ<~—f¾D‡+è=–À°ÙR”aùà!›”!&öò–üõL0Ë}Êöšvÿˆ´|€n÷p³I9¡dé¶Åµ—ˆ9bµÂ=NëzHÈCI–1ÌZK7P’8ðäb±IPÇØ¢¥Îà6µÚÙæVæT!kCò²»—ôóŒ3 ) HÏÔ]½v5Pv¬êe!G)­+Œ+±—’Q¥ ë!+Âí2¹i$4Kç­•D+Õ ðiHPÙWZT½dc9åçç,àÁ΂÷õË¡iÛ9Ûë3þì_þ/ø¼£Ù;ä`9#GËGþœùÑÚdž¿¾fѶ/ wï²lf ìÞ6'¬Ö¸å!Cˆìóúôœè=ÇË9Ë£¬±<{y‰-­¤ÈKJ:Ö;sÞ|㫵峗¯ØkZ†´C»–«mbÝozhUáÛßû>¦‘ÃS\¡ª x«ÈùVq*´`§â’k*ÓLgTΠ£8Ò²Â4¦N %ÎJ4–Ï>ú˜ý7ßį®Y8¾üä)|°ÏÅógœ½¾¢q†œ—g/9½8g³¾âáÉû W5u`µè€ºy‡u†õfÍÖGb€­³4܉•gÉ4òÚGPê޼Š~ ÄHÓJÜ‡Ñ ­ Ei._=ÅѰXî‘§É“ku,^Œ±5>-×5yB×àáXƒVɾºÄä¢v•ˆ?Ú¾å, (ƒ„½"âþœ¥@ÓåÆn=²‰Æ˜\2çç,NÑävÙÔ^¡lù•hm+)1Û[MF¡m›É­¨4•2_FCƒ÷(-(’ÆXsµ™bZŽÄmѹiº›²\¢É‡[È *‰þF|k”Y®”÷± +€mt "b…±r¨L/q+k-’€%ô<|÷›<ûâSZ“9½è‰Å³°š’좇†!è{³ÃfƒV–ùlO´JN¦=“6äbŒEå9‰ž³ˆ,b¤¶OPIs‹©T‹ §%[sMcZJ¬‹À'm}Þ2¹BW•©%'¥ëºêyã&„Àhĸ ±­•É-Áy¦(y¨ÏϯhgŽ³å’œc fodb¦n\1 ÒœWѸh¨*w<;F”ˆ‘ÜØ1 ÂUãrnÕo´ y·KQ8Æ3ʼn`¬› § Ñ3ÅG¹j®‡·®lÌ1Zmä®Á­($¾j|ý¥ÆÝæÓÉY˜+B§S=ST‘Itݑ籮A­5x?Ô¢ûWµ¬£ë“* ·•â§}Ä&JýïKÑä¬ IP?——¼qçß~ çä.Ù”¸WuI Ejt(ЦÀb.¢ËÖ:RV;§é–4Í ´•iVÒ5#N@‘ZIur@—ÂçýoxþìSqEé×âØ°†™3uuPèæ¦Ñ'0C[D¬w˃ƒC~û{ßà¿üÇÀ?þ‡ßã› ×_~Îó8ãŸüåßáƒÆ…m$c8~|‡W>óåëK†¡Ç´-nÞ0äÌ«gOYà·;J¸Úm¹8=§™ÍäÀ2wxŸ@‹n÷Y÷‰´·ÏâÞ#2‚­8\X'²!|õc®þüŸ ¬a×’R …@ª\©’ûû<ñ’UŠÖÎPZ•yëá#ºÎѵ-¶sUcÔQ$%ÅŒm = M ˜ÆQl+™Ö)¬®8¨hXï"ƒÏüƒßû‹åŒŸ|úŒó‹ÈÓ—§ü퇟óÉgWœoXv–Ò¶­dc$åÀ8s#X¯"Sk5ª$(çÀYqΠ ®©ÑA†)CË[¬B¢BŒÆ5bKn\ËÑá/Ÿ|Ñšë§¿¼äâêš×ÏÏØ ×¼~õ5ÛóWX£ðÃ@;›3xOFV¥†&[-n™ÅlŽs§dÍ|&äˆÑ Jv>²ë#»ÝvbË¥‰Þs°Üãäø€ykèwWX­IƒGUÌB£3§/þ–Õë'Õr. ? „jm©‰¹:ç¤8ˆYB‘'ÑS¨DŠ©æî¹©9ÉÈÊYSëµè’µšXë­Ruá®&|ЗèqbB{°Ë–½®+6òÉFoD{b­³h›$æDÉTÚû(‡x5*ÄR¿—u“Ðvsœ•àÙå2PZ"Œ¬ÉmgñÈJ·Ö”T(««¦™€¤¢‹17>SC»µ‘ÂJeBIxÁ¨T§š1’S¥kÑ2fåeÄùÕo·ØRÐcá¿ûûÄáì€;Ç §¬g/~ɶw,—’J¾í#ýnG …˜=_~ñ)9{‘TT7­œ?b QeÌ,Mæ]5u·Á½ª#Sõ•$ø mo9³cš]]§w%çß œ(¥µ†Xª@¾ê‡bè¯iÕUYf¹fªWÓ4ê”ÿ6^G jùbÎÞ~ÇÐ{R:»Q¢·»ÉãTS4½&g0ÎJÆ:+7¶ÂfuÍŽ-5ª,MÄ㚬ëºÉ9yC;/“ë\&pª‚C™&fºFÚÄèklš¢m¸Å]mòJ–U¸V“ÂZG*à}˜ô‚ºn-FãÉØ4Œpëñó”I^™šcUÍx„vÑÑ÷~"ý§$€Ö‰”i4Žh1H]’èü´Æû«õŠ«õ×´r×Ô;±¤Œ*š¾ïÙ®W|ãÝw¤0-¹FðHß´vš¨#²'k$©Aç‰^º>]Ƶ(ÝH@cÉ8cP:£´¹Iø.uÝ„âêÅ~ò×N.Ð¥ŠÆC“"*‰M¸±c[f³ŽCö´Ë2 *K`³Š;T„Õ9W/^qþêÃÎó–ë±ÝŒ¿úåKrÓ±Zoð)Óî-ùäóWôÉcµa¾\°‹³‹+Ñ0ä‚zPš×/^‰‡Þ`ØlÃ@ÝvËúúÝ-˜Ÿ<¢»û¡ñàÞ}Zª(Ðg’Øá’Ó?ýßÈ—/ÈÙ’’Ç¥GB[C“ % hdÒc*…¹T"{®_B ­Í“ûGiqþ¤è«PP 1eò´6>9 þF_À¨Ñ´õœq%‘‰Y„—)g†ú–Ru>DE U×}rp!'W®TΪºjˆ%Õ±b|8vhƈ¸’¨H¡P¢"‡"+=Êêi=òÕFq©Ö’xÏ#Q]&zÔ?äHßïHÁ£Š¢µðõ“Ïк¡u‘Uâf³â* œ_­¹XíhÜ ÓÌØ?9!'#¡ÌË%‹™-¡±87gØm)¹ðæ;o±Ø;f;tÑ(0–~ÛËÖ2Kr–6Wìí-øÍüóë-+Ï?ýçÉåé%‡‹–{ö$PyjìŠ|Z¥¢/BÇWER´Lz5]¦™¢®y[±BR¥›MS¬L©Ü qÅÕC1%¾ûÝؽ~‰ëq7 ¬/w<ùâ)—×+..®8?}…Rš¶µÕ²ö•-8QRLâÕ§òýÎ¯óÆ·¿Í?ûwŸógŸq 1,yöê mÚÊ‘V?xæíŒþjVóÙ§_ûÈÉýûÒÅ5-û‡øëkéü»†fï˜ùñr3Ç,tmKé ´©ÙDžý´fø×ÿóúS:§H5ìX‘Ù¦^¾œ*@iEÓ´¢sÈ… ±Z§‡!$BôŽ@UW *‹ ¼dl?§i¦Ã"“ãPD¢Û’ðNY}äçT“ÙGçˆÒÒPÇïÒ 'Pm`>k&áf)‘œä‚UÚàKFåHޱN¯nFÀƒ‡˜tŠTávÍøË¹Òv-TJ¼¬Lˆ OKå‚q™œÆ¨‹(E£Ê8£EÏúa`µº$ÄÈááóùœÛ¡'Xm7$£ñb„ä:öO`>ÇšŽ½£;l|fÿä§OOùúéK çÞûî·¥ˆM.ëK*š~Èt®eÑög ƒ4¦a}qÊ·¾ó=¾÷kßeå=wßx—“ã=Þ|pÂã‡|úä MÄçHc ¦©Ý\kœ&çHëœDÒTsÀ¨ÁP5/øk4Z´¶s¤-m×MÚ®Ùl&]\èÑ$æmË{o?äùÓg¸,—ôùËKή7lvžM¼¾¼b»Yñƽr€ÓókŠW—k^^ôøº²²b2v>#„Ql‡Ÿ4>'l;Ci³Ít Ä6c›–=IQXmq`$*¤íºÙLVpô\¼ø )3dÕ\J”é'ŠP’hÔT®0^¢–œˆ~ ¤ŒÏºB8=®ÆJi]„<¯QWGt•2ÚÈäJ«<%)œ3’ç”Õ—ÀÐ÷,½‰ =QG“"Ÿ‹©k©’œº™Œº“¦±Ääq&Äc%á"Õ\Ì šžÊ;+‚\­c…½©«[­nÇâiŒ’¸‹õÄæ®Ýí¬Å›Ÿ%Å™5²:Êé&¨mÛ)R)EˆaÊ•Q3M@bŒ´mKɉ”w¼÷­xçÛ¿ÅQ» ›íñ³Ÿ?å½÷Ž9ñ£ËyÃÐg†èÙn×ä<°Ý\òôÉ$NU¡³L©ÜlVq «í¯dù•ˆ¤Pu;`ZCÑ0 ý¤—šHÞ1MîÂR C¦@ï\ÓFî–®®Êñ=Òúøó…xS\Ñžšªg»ð<5¹õçê{‹‹ÅLžå!bº9ëa¨\ ·(â|s“7™j¸|d¸`¬‚i:‹m彸ÍYËU5bÆÂ¯m›½7aô7Bþ’mÄÜ€Ñ(k¦¸¡Âm³€B[‰w]‹!ù ½٪ƆMMB]Åj-¡â)Ê=d¬E=MÙ´ƒÚ C•ÄŠÿïÖ4j4«v<'ÙJ(Wå0)ÐÇÀ®ß‰³·$ІÞœ“ŸÕû*y¾óÁ7h«É†jT±@ëqˆ ½ÃE Ó÷¶ßõè‘•’ªzÜ©Ç'™ÄTÝUý»&‡KþþÿùßYï^£²Æ¯Öô«%ž÷Oæ|çþŒwï-8Z¶Ìû‡û칎\4¦ÛÃoÛ‹ vW×äÁ3\®é7=qðô«%t6`Qä]d÷ì Þ*¯øõ·ïñôë|þÉÇ8Z¶ƒ¤•[gÉd霳XÁCØ„ÌÙÕZîܽO)‰f¾RqI ÚƒûÌö)Ά-6ôØÀ‹™#mV¨®£ÓküÏþ„ëÿû†'?C¥-&F\ÍÒªÍ9&ay”qÝ¢•ç‹Îäà%[®vçaèe^÷ÛmÓÔ¯îP49÷$¿£±í´ï £•LZJB×T©ìª˜¼h¡ª[ªŒ¹†jŒ\ïû›ì¼”0&a¹½Z#«J§4:I§FŽð¶\»¾”ât°Éë¾a:‰ð2atÁê ø$‹DÈ(•p*aœ¥QUéº9‡Ç¸yÇ6&”¶(Ýpy½%§ýE'Z˜Õ"wooÅñ\ÛŠÆÍè£c»Kœ­7\_^c4¤˜™ïqµÚLñCL¬¶ëŠãèÞ#N¾+aÇ1óÀ{oßeÿð·Þ|ÄÁÑ>Ñ8ÙeÎ^|Y™-7:ŸBÂê$“ÊÚé$ø<Æ0„c÷Û¶nŠ(Y.³¬ÅÕëå½§iZlÛ ŒÆ:ÇñÉýÙ>+»–«MâôtÅùjÃv7Ð{ÊŠ;Çûܹ»d=^ž]± —;n¨BˆI¬ÈiÀhGÎ""¼çjݳé’Rø:öÏPr¦„Ä|>£­¤vg­Óµ“-Ý@¶tóËå—gÏÐ*£JÆ–ÉËš¬2¿n&Ÿ­3)HáäŒÁhU§g2ýH)U+»Dݬ¹t…uŠ›Hr훡µ@ac͇sFã¡ìœ£Ó çf"¯ÁЩjǘÙ…I ‚¯³4…}Û[Û)x:†O»1>¥F挼©+Å­µÓ­É¶Xtó„&ÁcŒ­ÎEõ+ÉCÐJ¦T y¯Æõ–° ]×Èô´^|¢Ù£†çË”WiÚ†Vi¾÷£ßæäàö÷”ÜðÅWÏéTàúôœùlŽu‰Í.°Þ²*¸FóüÅ—¬¯¯!zb]Çiíj±"Ú¸1žIèâiÊ*†’¥„"$­su 'Yƒ¾ ÔŒ¾|ã6­Å¬¸Ìn"qLͱ“‚«&@纾sn2cÜæ×i=‚•åsÉ9N˜EáÞÉWÛ 1%v@ºå‹´2bH¤¤ÎQ +•¥AU· àêFÔ«‰Ã8‹vz*Ž…_—§ÉÞø9‹;2Þ<Õîg•p¼t.¢9D‚ÞÇ bã…Óªòª F%šæžm­ÐÇçg4zLÓª%Î ùnÜ´úœ›zoh-Úº™u(Û l#x“e3¤Ô4yÛ 2jJÅó—ÏÉZaZ‡m\Í´ ƒL gÎÑ9Å£{w…G¦u•Ž@öÄáÁ>ÏŸ~ÍÐocl6)JKÕÉXN.Åž¾|Åfµeµ ì|`ç{|òè˜Ða‡õòîŠMÒ2µXmؾÚpØ)ŽNx½NøñIWt©ÁÓg×›læŸ|ÅÁñ!{Ë¥ÖÊá6ìJ±8¸ƒk`ŒLŽâ@“þêJ…s•°u"’‡-qè)W”«Ïþí¿ þ«I<{!#çXˆJ>|£$£hJ×®0È’eB•â­ 9ý¼m$ƒÇ Z]äœY,òpV`;k¦¸­Å*®•%§1SJ^CÎ\‚@ U©bu!ØZ=Âç$ÓÎ*‰‹E}™{JöäØÓX]ɽul &— F˜KA)G*µÆ¯h‡eõQ²ÂÇ\ǾÕQ“Á÷„˜ˆ¥PuŒ.Ç’åÿ­mCÑòû9¥Xs½Žì=º%Ÿ|ü§Wt­Âä@kŽØÆbrÀh+›lqmËÞÝûÌ÷xúü!Á‹ç¯I!qu¾æÎƒwxy¹¾Øððá#ÊZÇËó5[¯˜sÿí÷˜?b¶˜£årÆbÞòÁÛïóþ¿Îånàù³çÄE˰^Õ`cY¹jå(E.øœË”¿WFwfý‡ÁOäã<®s«~ÈXÑ g%Œ5—` Ö•„¯8¹{‡Ü¿wGîÒûÀéå/ή8;»dµ^³ÞìÖ;¾ÿ½Ç„\øâåš/Ÿ’Bd¾tt­èB¶ÛµÄŽ´¥,G‡û4Î2 ™ÕÚ‚p¹âÄšÉèÑAä,]7à d5VÕ±¾œ€“©j;×ôÛ+†¾#MMðµFmY±¶hÝ uSŸ K®£}´]CNü³øÿ;¤Ú+º"U4T‘*-¡_²F,Røì6=%6Û€µ-yuAÓ5”!L¬¥ñR[¹¥usR¨1P·2EUÓTȉáadiƒ|½¨ ®éd*6®Ð³d·å”† ¼´Ê-š˜–µø”©’\楺íÔØUÐê¸r‰!*ÊLvûÛå>ìªø·PÕ( js'Ñ^X>’ÃGVŠÆ(~çÿkgœ-ÙlŠpÙ.ÏX­wì-æä ›íÀÕjÇ ‰/Ÿ|Fˆqš„Ç$·¶måϹ)FüŒ¾¡-Z®tz”8m›®Á8-q\u6êŒJÍþ‹ÑO³äáñ+Ó]§´®±Õtä0ÆÕ°h9c Â+³fš ÈÔ%Ë]jç²Ú_ì-ie·ëÉ!ÈÙW§hJ1„UÌJ˜J PrŸ&‡Œ¡êVë¤H‰vÎØ"Èžºz´°ÿ0¢NÌ%‘)„>ל@qD ›ÊcièÓZ’"âòBuVLC’¬Àêú»B=mÍOÓY]ÛÊ`]‹k,!Š>[š—<9^©WáŠ+´hó+„| ô}?9›¦ùLJ"‡)…O?ÿ7ëð^¸vÃ0’p?7×k>ÿä2™ˆÕF¶JøÜ )ÐXÅññáäuZ1ëZqi–Ì´ËÏéJ‹Ä¯P4I‹M¥ä‹# +þæ/ÿ×gÏYçˆ_íЛ w x̺8^}ýœÅLñðÁCV›«]àbµe1­Å,Dw’ëëÆBg ¿û;¿Ë÷¾ó]^<;%ëÌÌ̤û³…è9WgV‹Ø¹:Æêšb»3†>ËA¨*ÆBŒü“LK*À˜7˜¥èH²FXÎftÖòøñcÂzC·ìxþò’‹«W«W›Ö:ö»Ìã·îóáG_szvÍn½Ei‹Î"öíš=²·UódÙßïxôð®q¬û”¡kºŠ&PÓÊÉ:KÛXœu¸VžC•3kdR¥ 9 ø^‚ÕK‰¬Ö[ŠÖɤEÜíŒ\3ÚäjÓ¯Î>Ä\bM©EÄKIÒ=›ÆN‡{™,ç…C]Ç×iÖâ²­Œ-kv» ‹nNc4§×’'©F+Œ.¸¶†”;3E£ñYœ\J¬{¸Š†!  zŒöhå1*H¬JÕ£Q£R´Ñ‚¿©pϘs]Ù*:†TZcΟXj¡QTF´ÖqSª:•H•QVJ&û^ÂÆàcu[¡µ7„q*“k‘3NÛ…kƒ²j]Ï ~ÿ?þOHªa¶ìxv9ðøá!gÏ¿ËÑI3±ÝlÖFkV›+^¼xÊn·%æ€V…D"”„ilEXŒÆ:9/¢/Ë9‹\Zœ…DŠ2áŠ1Þ˜~P·ŠF3éòƸ¸Û)¥”©<­˜üPá—ò™F‚q…•‹LšÆ•ïZ—Fë\5lšÎ:à½';l?CƒÇ`e] ÁE§¢Ÿž•\_TìDÝ‚­‰ÁOÉc±|˜øWÉ+ô©¿'¹2רƒãL¿‘»ÔbJ°M Á®çýM𺙪 ÿcupŽæ 5Å:©ÉÍhlåÏ©" XZjMcñ~ÀÍêê­­Ðúc¤k[qêqj\õ• ¨ì´/_>Å´ 6!2øÀ0xrÊœŸžóÅŸñêù3Rм:=' ¡z%ãPt…’"9˜Íçìî üÚVCˆkÚ¦ÁµR‘ëêøÉYrÙ$ ¸’»sBáùð¯ÿŒóŸ³Ý®Ù\^SV[îM£=Góc!êB×Îéf{bGUŠgÏÏ8}}FÓ:y#sb·^1lÖä0%³Ý¬È9°ó‘Ë>²íEóñÁ¾Çüþ}ú¾¥"¿ürÍ_~ü‚¿ùòK¶EM)÷FRˆø>á\ï4÷ï“|O;Ÿ³ë3ýõ›Õí|N¿[K| ‘‹³ç¬^=—ì¹°c¸¾¢÷>Š€Mב{Љ Ì÷,gìw-iØâúsÎ?úsò§?•ŽÒ*ºz°¥$]¤ó®²B¶‡E(%ÈšL¥iŒ©Ù\Û­ìU‘Àd+™‰9lj¨¬ ¤!dT– _Š:5u2·äHÙc´¹M`Q:Uª³!•‚mgraq¾•j—–؉(ïJh"É”HY) U¬YóÍR¨æïJæœk O«ÚYèj÷§êœ³P¢dp&ÇnWxóÍG¼z}ÆÑ½‡”êRIZcr! Ž—KrJô9ðêÊÓûcZÑ‹–©™«Õ–ÍvC ‹;÷¸Ze–­aÙ)f³9Aµ¬ûÄf½#x²–al7+Ö«-«ëËYÇÁbƯ½ÿmïßGo6ÌŽökq ï·sn*¢”€éèÒÊ9T]ݸó—5"•ç“”äÔ™\Ð! –`²€kv;_§±õàÔŠ½ý=–Ë9]Óðøñ»Ìœ¢Q†ó‹Dè8Åbn0qÇ·ß%&ÅÅjàj½ãz=`›Â|Þp¸¿`>; µ3œÖÌf 'û{œœì±˜w¤¤°¶£iâv¬°ZREM8MÓÊv»“Æ-Ä@ žÁ.øÈ.z¶~GÌ…¢-†Ê@t™ÜAÚˆèÞê\ Ú]n‰s%G•ÊǪ.NUR}މRu ­$Ä[iü°c>sÄäé«@v±è˜Y'Ž*SW)9¡r””Šª ^Dà©É´‹3N5u­¥ VÒÀøà«~Cžù1xWìò‚EÓ]azVëÁ÷hUxöõÒ0L«L«A¸ÖÝB )ÜšFø_%¢m&©0¹Ñn;.§µQ¹YýM ™ÚñÜFÈû'ZUmè­ÔåXÝ>#û&W×…BQJ¨z;ä-eÊŸJ(v1;«HÁB eYQ8ëªÐ>b”ÐÖÇñ­Î Cí—ud°iâ±VMDIN.’V…%ÆÊÛJt 46Š[p®#†LVÛÚ¶ãÉç_ó÷¿ÃÉÞ÷ìóÆ[^¿ÞP’b~çÖ*>þŧ­¸8¿âêòŠÁo9Ù_²°™\$ªéôr‡N™{Þàtè{ÏáÑ©vë—=|ùì5Û펜 ÏŸžòõ³—œ^¬^qÿþ]To¾ù˜wÞÿöi—{X#Ölmo™NkZ­jkš{]‹®\uJirѬT²zð)P45ø—É㜮a©Ût×0Û[ÈjÊÞÿæû¼óÖcöfšd2ç§WÒ1ç€ ‘»GK¿uÂà#¯/7|ñä’äh GKfs!<·]‹U 4ÆÐµ®qô^ÆìÖYš¶ÅÍbéhÉörÖQ¬¶žËUÏõÚsyq÷2]ÈEøD~ˆ¸¶N€ÈhgÈJôgUACðÒ!»ªl& Y1­Å}›ëª®ê±ÆIØx‰iTu0%A›4–T`ÞŠuÛºߤ5»íÓ¹)—P´M¦þì$±]œv™RId •¢-griȹ%&RÝ2ÝYV2•êå£Ð)£ëwÝš"Œ2»"–~=¡LµÞƒhõt1×Igo&3ògIŸ—G„Thw£U2XÊÍjU2÷Jü©ëàbnA$ÍĺSJ±\ì3so>þ?ü÷~HîÁ.yuzÊ£“–õËÌšN‚Æ×žóë+TŽ4VñÑ/~*SöºâM9bôÃ@ÊT! ¢ç“$S\Ó‹¢¤žˆð9Õ)ÖX0újêÿ,§qÅZ¦¬Kùw pãTV«ÊZ´ëȪN”êû‹âV(©ÚL%G#¿’uV[]Î:rªÙkªL²ž"41{œ«´u5î¶ØCFëT¢vŠ×·Z+¨a§ªm&=Múš›§§¬À’ÆÈy?ŠrX ÆJ'=îãAt~£P7ÑïkN¡ç,>fNXB9FZ+©î)Gš®AUW& ÓÀßüøoùÖûßäìò’~ÿ‡\¾ø Nö[°s¾óƒßâ«ÏŸ`:pºåÇ?ÿ’Eã¸ÞxJRìv¼üâ)9^K¦UÓòâåoÝÀ݇oðÓ>bX2k ›>`\Ë“¯Î¸s¿øø§ì†ˆ÷‰{-Q( >b»~ñùSfó–/?{ÆåªÇ6†Ålήßâ½<+1fí gy,²p“@˜95¬¯7Ü=Ùõ†Œ8ÕRô\®"_=?Åç¢mE³âvÛžçgköŽñàÎ}a iYŸÆk ×v“ý›ê¬•Š¡>SmC!3'*'üç\̈R5^C0PÇn7Ð4<Ï_½f>;ÀEÛ 5Ï §4a¼tUÁš„ÊÒp F”r˜&L 皪k©È„iL$:6¥LíÖ3d)ÆQ£nM ƒL6ÊXxŽâä*À£©ª>K=]ÄZQÃÕkΨ–@xgâ‰R´MCˆ±N±oÂÈ…ÖN‘Xâv¼Ñæ¤ú59&²–L·GßbÓŸóüÕKtÑ´¦àL¡÷Óµ”,<®Æ(f]‡‰«Õ†Ã£Ã:ñ‘³Äµ3C®®—ºÖSãÄÂL`ÕQL-f#7Mö&RzEH’ BG°Dyzs(×lG[Ó$P RÎÉuRJ—«Î8¿Ã5Lÿ­©E-þ\=Û¶ƒÇv- r&Rã\\ 0ÌNªÚ2ù^#ϲ.Ò‘Mò~QÜÒ¼s>ê×(‰=Î6XãdÅfTň˜Éô¤oMs)[ª®O&ÂVëÀÑ€U&»ÒšäaÔSÙ€ª~ÆØŸ› ™¶†š%XF!E5I‰A¬Hp"ªéÐ) ¿,=+ïEÉ™¦K<˜Ó|ö•p;›®Ã é– L}欕‰œ¤š~»c>k8XîÉk³zK¥×;ÍÕå¥èÚª[?¥„v“*µH•3©²5 9)\7ÃùâÓùäg?%êLŸkD†Öø§õpØ:­f1sô!‘“®.·<{ö\Æ\PºÐYEK!…žë]ª†£X¸ Žïòþ?ú˜Ã] IDAT¼ùý8xëë'—¤`ø?ÿêßaÛBÓu¤T¤*Þξ'ãÔ‹çríÙ[Ì^²ÿ„ubet <ùô#Rè¹xýŒþú’” ÷Þ|@Ø®¹8½àzåñÑ û'&±Ïç<­(JI„bÀûÌà «~ËzȼþòSÂç?G'Í®DGR‰¼)ïPj‡5­<•œ(tÍLRõ Õ£%› ðm+Œ/?DÈåÆNÆ™V\PZœQ)ÉŒM«ë’*ßMášãA““Lë à‰¨1ÒÀYáè(ÐV r©²N¨_XM%SÄ)¾›}eÖ€&bmA«@ç ˜BÛYŒUÌçtB9‚ÖÒÉkÙý[­Ñ¥àœÂXÅþò€wßy›ëõŽÅÞŠÌ[ï¿Ï²ëhËr¶Ç£·>`yx‡ÍÕÀ“/_óêüŠ¿ÿÅ×h7ãg?û’çÏ/yòÕK¼jYo4N7Ý9äÓOžPbµõÜ\]òøÑ=´mɶ»mZ²£Þzô>¿ÿÀoýèw§|I­wæ3~ë?ü½ºb…4ìêê´LÖë\dº’kæ¢L %ÎA:.ÖAô{J”å0 ²NÊÓ‰¶J‚ÃPŒY²èfË=¡Y+¹ØOîóƒïÿˆ1'V×;RÈdÓq}¾âýw¾Áñb_åÖòáÇÏ8ßÈŠüpÏ Ïj±‡1 E5„¬$ÃNiBL\_¬ÈýÀ“§œ­zúm/ K­þJQ-Q^^¬¸¼ÞÐZÊ3ÄÌÖgvÕZ_J™ÆýÿUoölÙ™žyý¾i­µ‡3æ99*SJ)%•TƒÊ.G n:ÀahM_t›þS¸"ˆnˆú‚‚nhÚ¸ÛÆÛí²kp•K5Y*IU9*‡3ï½×ð \¼ïZ'K UI'ÏÙgïµ¾õÏó{Œ•0d‹¡ò¾“÷27…@ ßBÜUm·’µC¨¦\£–àk)¼Ud„àD §ºCÄUž!'¨D€Ü4Žy!)I?´˜ ‹˜F¼Sôˆq”ÐRœC×u˜”5úC§WŠ'aŽ$g›Ëô©•$ JÅ©œÅ™G/ë#çèÈ’°b ¼W· v(ò EÌU¨±¦‡^Cq‹Í‹mQ`¤2-ü­B×÷“¨}`ûº𥕇£$ød¼« v†3ëƒ;¯¼ÁiŸùðÁ žŸnxúô)¥‚°Úvæ]Q×ó“ž=}ªº!Òb&' a–‡o"¥ž4D*ç‰y˜ë²ÚtЏ)“0{|¯rÌš¬!iÖk²1|{˜Ð š²ëEú N`A &…qÆÉE-XˆHðµ¾F ¦ü÷ûžÅVü–pç¶í52Œi=¤AVtn¤ÍË7FÑ1ŠtPocˆªËÔúY'Ûirš¦4L…ý£™²Â¶×®D 90ÚÜ‹ã2—¦@j’‡©èª*I…˜œÅAÝYGVUÔÏä9•rã±!ÈVF'p1˜"ñ}Y¥0›ÍzrÇ,ÁëˆÌotMÙ‹.5~æg~†¦ªdÐ0k¨}EL–óUGŒ‰Ù¬’úËYEwqÂéÑ›vÍ›WiŒåüù1§N׉óu¢$š$Eeñ¤ˆg¼*HUIW4 =ë.1üð¯pQ`j½jLŒµ²^«,%GœqSq%ݦçEœ.òh£•Qç%í6T–ù¼‰±Wp§¬Æ4õK˜¢Lš†ØªxRÅÕ9+ŸD™lI„†ÒUdj½aœs`LN'S2J6ÖÈÚ²ˆðX&WB¬¦D†.ÒµkÈ>&K EMA0ô)ÆT&d^)âÐiÎÐv"Í;¯güâ/þ¤ÌÎî.u]qã•WpÆQ˜ó™Ï|‰*Þûù/³íU~ôðSÚõ@ÛCŸ Ïžñé³SÎ6ž¿ytÊû?|ÆjãYnͨC…M‰Æ0ó°¿[:*?ʵ›SÍO>]óÚ›_䋟û"7¯½J5«˜…S ¹ë™{G]ÏÈF£V¸´Õ« ‡›®¡X$Ó­L‰õFPÁŠÞ ôxíâ,ÒQœ¦ÊÊÀy'¶uc¨+¯cm£¶rAXã¸{÷ ‚³Ô¡bgkI×oˆ}âôä‚í]~ê½/Ò^D¶¯ÔTMÍéIKŒ-³PsõÊŒÝeŵëWp&Qœ#iÔv †õg§/øññÏÏNxôé1›‹ŽnÓŠ3rˆÔufïp‡“ÕÀb9'åȦƒóaà|³‘Õ'²R.Ã@ŠƒhÅzèS§ö½j EK•rÒÌM9Œs‰‚ÿ¹  À@6~&+ï ,¼'ŠÚ²e]|-“ç!'bì°.‘KÔ[¯‘¢Ú§,Ök$ œ‡‡$ÍY]ÕˆBS“¬ :L´x[ë Ré߀›mÔćLpL±T1·XßÉT­\fgÉÖHbAº\óïˆ:å V¡˜â”—XŠ€m‘b³LÑ*y*VDkb.ƒ£u:›R¢®kú1N]ßÊZÖyœ«øÕßøM>ÿS_¤š-¹¸(Ä>~BìÄá×v]×’ã@å ü˜¡Ýˆ‹Í€-™` ö–‹¢hòíSÂ;MúGäIÑõÛ¸^K)‡çó²^kÂ,(ý÷)Ë3¡0¦Wȹÿ²®2T‚ (F¸vÒÈâð¶ž„÷ÁW”T¨ªM¬o6Ã@É9v/ ãíôýcêI‰I§)^4YyæÔc(²¶zIØ~I»—?çtb._ãñêŽYT‘—§Æ›R(ÎA΢AßSkÈ$nJÇwú3{Il˜žsÒŒvã˜è1Òû­nЬwGcÕŒTÀšJ¢­L¦¸‚Í [ uð”¸Ñ‰¿jˆs" kÒ˜°•£rNžÓÃÀ•­mn^=¤òòZ7)“‹![ÇÙºg½3„7o÷=æü|%ÏòCvº"i‹Q8Iôaiˆ¸ôŸÿö{ýf CŒbÕOY*Ð8´”üñï³:?X—VãtùäŒ}9Xv"tlª†YS³î:=9ætÝa§ —‹&àkOôš9g]⣣s6¾âéz 9¼ÊíÏÜ º=8åû?xÊN½dçÚ’¿úà!/Î{\qœ«ƒ¸e2 çxgiB öŽû§-9&Þº¹C¢°··OpC¢ 5ßÿî·¹~e—¾íyqtÊrkÁ+·®’ÛŽ§r~¶¦Š:s`æ5]Ü8¥J µwÅQ¦gÚ>Ó÷‘eõöõþг„bˆÎàŠ!¥ÂTÂêrvÊŽJ¥Ð EÇò•‘†A!¦—îgk™À¸$7„“®P\#–\Î7reéÂÇuB‚¯dú•íëeú8fm$ÝXØÛÙe}zA›Zî\ÅW+¯åÕ»oR¬ÐÎ÷¯óÆ›oðÇÇt«3nݸBßF~íßýUNŽ~ðáÇÄ’Y.Ù?XrýÊMvöx~ôŒ²>agw Ùp´ŠŸ¬¸uë&{ØÛ«ÙŸÏpµ§r‰yS±³ìÌå÷©lfYs°ÓðéÓN{^œn8:°Þ3ŸU4óŸÌ[Œãlßûø1;žíÅ6›Ár¼>çì¬gkï7^»KÆÐÔ31]xqèô}óŽ ÐE뜎úû[°AÜŽFéìFƧÄ5æ$]ò¢L¼‡–k*rƒ“áìô˜ÊÍ©kKm=ÖlQ¤18„,nœ—œI+º(_Ïe b,1fBÄö_ ١LJ2¹Ã¬“È!¹¯{Õ*zqT… c+2IV %ê´ÄêäR"«ì† +¬Qƒ)XA¤˜t:`U.‚ûËLhÕòiÞà(ðB?iÏÊT\yÕfZ e„½•™ÄðV‹ý`o¼v»¯ß•ç+v¯^£ªgâZÏQàÔA¬C.l.ÖloïJAüÓ«úŸK!ø892ÆDRÕ Æ ÒGŠ^áû ŸÊ^† ON¶¢5I®ÃŽ@9»®••<ã¼4JÎjqÎOˆÛ§Ï\nD-Šä¯®ï¨ëZšPW8:=#á¨f5ó S®5†®m§Ï"¸†bÒAµÖ‘T5â}äçkceÝ”Ç7Äcõ˜mc/Ó¤"¦’d½î¬#²†$Ë{*yN ¨L“4çƒ4z(ck‰Æ ¥él—ŒGq'åqM’V¦Ö±F›Sh°ñ†ª—­ò²iÛ5Í|kbà9#»<‹æ£’…t§é6^½s ÏOŽIQVÁ1KzKŒ ¬eÐT†¾ÀñóÜ~å–èÇ ÄÔ oÒÂùj#yº%³ÙlÄUÿ»ï?~¯nf¤¡à0dëEëÐwÄþ„ï~åÿãÇ÷?¡®œu´1 s½f6l¸º¨Ùªu%¡¼U §«ÈÃÇÇ´QöñƼÝåŒP[L°lð¼Ø¬8±ŽÏÿÒ—YÌ—Ìgôy—ÇGG|ãëó•÷D‡Ç¥-¶‡5?û+÷xðø”¶Ï4³ _ײú£ÀªÅ¹‚²¾{|Ú²œÞ¼±OÎ;;{øºÆSxôøSa/çžõ¦åødÃ;ï¾ËÜrßs~z†3p±i)9ÓxǬ2B ÷A>J#Ç8AJ j#­ê’ˆ6öl½þ6m+Bn¤û´ÆÉîÚE¬v¦è!—õ¢†Ëtr2Îz%êªÎp˜%„ÔŽ«Ò¤š//»y]y/¼cG–ˆðTbLT•— à$Ú†bDÙ•´à6Ö‹Õ¥à’uŠt±N¡Œ‘a3àƒ¥ÐÌ)ÑÂ9-Êœõ—¡Ñ&alÆ¡S=ïµ0׋QësÁM¿ åû8gpÁ°»¿ÏŽ«˜ïl±„YÃõ[׆LìU¡ªjÂboý«¼þÆVGç¼ó…·9¼zo~ýÛXç9߬¹ñÊUÚ³57oßdïê5ž?¸Oß²·s…G'yÆý§'´ç»»C›gšÙ·^yãjRŽR:K޽4)É4 H%O‚`Yg[=è{LÈFõ,Eºÿ*xÍ,”l ZÜ[[$¬¢D…0Ê$äÙ³cv–[ÔUÄúˆ)î,ãU/æWIØ«8U5c3t„¦¯ñ$’:ƒ†[81äâÖà+y­#ÏÈ’±¶¦àUc7ØSãsD| :3 Ö5èîœäȉ®sD~™T«,kÆ\É‘lòÄÉ ÞáŒpÊFÙº>•ãn¤s—Djú®Ç‡ `b6ÈXò`Äè“2iHäb1¡¡^nñÆÛŸá³ŸwÞ~‡ë¯¼Â'÷áM¦r\BW±ô›–¦™1›‹Kµ]­™-–/M¤ÊtŽçè8YâeciŽ8ã1F¦†)õÂTÝm¦•»äU”²ä­¦$srîMÚ¡ W§<µ¢£E£iÒä",—³Î*œYä]Œtªº&˜"Ey–˜cd*i¦Pf§GRDçœðÎã¬d*ŽS¤x=§' Ì4}tSz ²:X¬Ã;ù>M]K¾ jÏLCÚ ¦xú(®Q¯ˆ’¶ëðAÎð±ð§¢2½ôùéœ IìÈk0erUJÒBðoÄZ2Å@ÓH@»È“®dêz&ÿ_¡ÙÆ: HŠF." wÎËj;,¶·xôäX¯Uyú½ø ¨ëm×òüÙ3jï¹yýšHrfh×jHpSèÚVÖÆ©àþáßýÛïYW“­Ãz)’Ä _øñw¿É7¿ñ5šf† Ž0$ÌÉ)³.qµ6̃c^K ô¬\œuܾ¢ ‰ÓÎŒ3Ì+æ3K¬jlcy^ ïþÒ;¼ùù[Ô³Àö¾áÇŸœñ{ÿô+|üþ'|ó£Sžö+•ãoÿÆçyö´cóô7îÞäÙIO5óë0ÞÓXK¼8§ôƒD(8ºˆl/‡ó ›"{‡‡ÌfsV§G|úð3gX·-üè)Wo^ç­7nc¼åÁƒGœ­7ìúB×®¨¬cQ;ê¦7†[Š;…6gR”ÑlðŽÊ;f•XK»‹#ŒŸQ]¹A)…! 8#ÅŒqŠF+Í…2ÎLÝŠâÐc4]¦ ~J7ºVjš¹Lªt\ë¬Ãh1fŒTø¥r¨jÿé¹L™hãéS5}Ì£ážA ª<ÆR”,Ië%aŠØîS.XH©sÂy øP©žC&Öæ‰vœ’ÜpX'™wô'׎á-oÆ}Rv–ˆö +—ÛséöMQFKaè:9›Bå-ݹñÊ-_Àê²á³5õ,ðñ‡IQâjÍõ]¹õæga‡Ùî6Ï/àù³S¯óèéS¾ô3_`g>£äà€¨ì^uE£‰êʤ±®¨ÕQ&ð£ˆÉÒ %ŒIS!RÄ4ü+ ïkÉuõBY‚Œ&Õ Ø$åÀŽÅ‡)¤Ü铯ÒÌk¾úµ¿ætµb{kA—,oݼC®¾ö¯Ò÷YDÛöövxúìç;[szr_˜oÏ9>¹ k7TVäM3ãÊþ>O>~Äl9ãÉQKJ…+Ûs™~zÃöþ.ÞÎãç]l8=Ýpãp—˜ °ÙqãÕ7˜U%š™—Ô†¡ÓÄ M/^[-zlÀ9@­MïÉQ'¹E×ÐÆi¸²ð´¼ÞÅdµÞ{RIï¸XŸYÎ<ÞY†d ô„` ’´­"Ú*ÉÉÓÒgœ¢å,‚ôœÊÔ¥ÆÇ!â]5}FÙˆ\ '¹OŒ3r^KN½„IÝ• X嘭§9¡J°v#JѶ#¯!˜Jâš¼òMW¨­Z÷SJ4ÍìÒ¦ëÇ¢–ukƒµ m§k1ýU‚º×bÖI‡ê 4Þ«p¹o˜-¶h–;|úø)ž(Ú<ý™©ÎÏ/8ÜÙ£ZÌV†Öf” Ók̼ìÆ¹‰Ò.®MW—Bf¢ÕÃLÉ£.é$ztþ…:cÂLxiŽ£2¯RJÞ )ÙË„¢±¢® 3ÔjA²Ú$Ë-È‘¦qø$€l¹tÄX˜á9iF¡‘Ÿ; ½d^*ËÊÚ¢×õ²ûÏN©%©ŽÑŒMÓš{ÌEöX¹Æ$_WÒ.œ±àŒ¸pCÔ(Ž7`pøJ\í!Ô8ãÕ9˜.qÚ(Æ!RÕA¦~FžtoµŸp V!èÆXq'+9™¹'¤x.Úˆ¢(?‘?jŒaè3Ç'bta½Ò€(”¼$0Ž>®y|ÿo½ñ¦hROî:ÑùÙ"ÑzdÚÍFv-ÿà·ÿƒ÷ú8* Ã&&Ο|Ìÿó{ÿWæËý Iæöüœ¡cÏ9 ,kOå¥#Ì9óðyËE„Êê`¨}ESKbBb0–¡ò¼ù³ï ecI³ÿëÿðGü“ßÿÞ]4|v«MÅÓØòúÁM¾ô¥WYܘsòpÅâê6¥$ÄÄúÊ9ÚÓsB¶zæËšg^»¶K5dš¹g÷à qÝròôˆÔµ\¬Ö<:’öçÞ}“¹ëypÖñÇþ>?ýÆëóOÇæ42ŸæuÀ:˜5_D £ãìbE.b¯½L¦¬ ··—¬>ùo<ÃÁUj#®œª1·Õ¤ö1’%kðfNâ–2NÔ62–F'=ΩNÂVôC7Q–­•€8{‚0‡œèÄ¥ŒÎÁ1ÈAð^ø1)Fœú¼–l.ã'FÒñ¸Z\Ñ.Éèë 8ïe=™"Î×j'Öà 0FnV ô¬%* .Å(TH1é ,I¡ˆ<„A$@UkY©ÌÆ|å0ÅÐn„<=›5”"Ne©xõ­wøÞw¾‡ñ¯ßy…¯ÜºÍç>û?¾Ïù‹S’) «ׯ]%T »·°ó]J™ñoý{»WùÜ»÷xýµë‰GôFÍG hÑX’ó¥EY“¬…r΃è×\‘ƒ°dJ‘Æ$•„µ•äg©@48/]Öø°Ð‚5ø ×®$²›n<Õ}#á"=úô)ü'ÎÙYÇѪg«üÚ¿ýË|ðà},“ÆvÝ“Ka³Zãüœƒ­-Úa#h!`ŒcèjoÙZÌ0¥Ð̧Ç'\ô«¾p±‰l/gT•c1 ¢õ¨æ|ôðg«Díî\÷4.¬.VÔv›½«{œ«§ædäèdíÇ)YS ´›OBøŽ“ ·"¤2EíýADú¥— ô¾ªHƒ†I›ÄóGxX4AôJ9•PõMÁUŽb >8b4jµž£*†Ü÷¤T&‹×ÕÜŸ$DôbF>«B!°>H3£Ži˜¢$Ð×â$“d²1j+%Ü×êˆ:/…e”â „j¹žÐ³ÌèÚut0;ÕfÙ—P 9öDuº5¬Jõám´H)zíuEZ;ÀeŠ×46T´í@3›±»µE)…ÏŸãèñFŠÐRú”éÏWlï]Åz¯çQÁÚ@Êâx´ÆÒu›IÀŸ’@Seeôœ.5lž’šNœóœÎ䀓••D‰ùqõ”Ñ3(ëDñeÇ OÚ·T¦‡}QüE¡à¼LÿG¤qŽ“ÓS²ñx’¸Ú°DÀ‡€C¢qĽ^Ô…í&lÈH_/%NÑ@âòó.­‚@%€Ýªh~ÂOÙ„Œù‹b èR}_ªË¸7 C¯vg]Q&MÉ)“€b«E·ò`Fú±)“«Îè´J²È¬t˜¹``F]—1…¾×P#5ä9n)fàÏþõW¹ÿS^yûgO^ð÷ç?åêüé_~óÓgcéú”¬2†®Í”až~ÕâêÈôí€3†Â@0‚Vxöì˜ç§-]†“õ€'±˜Wrß8ËþÁ>úѧ¬ºHm>wïOaÓ8“ 8¸~›Y³ ¶—H§èqF¢3‚ ÄœÆM#ûœ ¾R]¬·x&v“ÃÍ;'yV•,Q`@1òà”ûeàɳcö÷e]f¡h:E.â”à_ù³uÓÈîí”É—sVdƒ4¢2í”(ó”2¾ª&·×ˆ0:ÙvFõ{®’û4EŒðrþÈC+L“ŠÈ<Æ3%%9 Æ ÇŒqê‚…`ÍÄÃe­|¦ËÉHÛ r¾èùÐõÎHÓ—)T!°ÚlDƒ¥ù\FA—N^âq ï«’hk(ÅÑ4sY£•ÄþáGGÇœ]œ -õ·,–.F¶f ¡™asB.f ¡^:“Œq¢MÒÈ&9 Ö‰‹0ë:ä<©ªÀf}AUÕ*¸6?ÑXå^¤— ¥Ö‹3v$Ÿ§”¨ÃLÜpHÄÊ”2TkŠ›"_,$ÚÌ:˦]ÑöŽYh*;’9•…b#˜Ò0º>‰„ÂŒ ô¥nnԉƪL_çŒ!öƒ®òsâÔ­Xy¯ÙŽ‘`íä ”©£’ÚÕí:FN•’dm8´ä"¯¬×cîàHyqÅW¯| IDATI.Í9Xh» !„˸5W¡ÜÉÍd\±^ àéúŽÙ¼¡k{æ[ÛÄØ *¥¬I‹³ò\í»VÖ„ª96ˆ1ƹ‹£sŠSˆAî?—“bÍ…½ÝÎÏO¸yëÆ6§Ør©ë쇖! ,Úý£¿ÿ[ïÇ$C? $cøÑW¿ÂWþêkøà ÁÚ scálE 3kÙn;ME°–à©dV«”(À"8¶›À¬J4MÃzXÞ¼Îõw_åѳšÿéüWÜÿä!ïÿëïób}Ž™m³è7Ü ¾öüÍ:MÅßýù½üÅ7ÞçËÿæO±½e©+ÏÞ²bwV‰¶¦”¶cè4 Þ.¸¶åÙl:®ï. %??b3l8:8Z;ö–…kÛ›¯òßù„û=ÎGΞöìßyau¢ñl.:¼…ºö* ôƒt'C·ÑJ<âT0G±«!&ª’ÙDO<~Hsõ&ÍÞU%+ãŒd¡éd©šÉ]FòµS'f"ÕÕa¥”¨j¯a¶µÚo“ žlÔMhU¿#úž2íÅG†(ìYé‰Á¼‘1 \E¤-îÐ<< IÔuôLˆª÷ò+Eœ™ÆÁ!8‰^Ñ WÉÓ›(x¬‘3¥‚#ihkÛ}%‰ý=#DjkU]a­a6÷$äf®›Šâ¶Jæî›·i‚ÅØ–œ„=ô=¡²ÜܽÂl¹¤nĈ@NJ ·Ü»ûwî\¥gÜdFÀˆ>a„`Še×èÚÁa C+hߨÖL˜hyâ‰C«ÀD'´–@N*°^œÅÈ”Q–6/é°ä߉~ÁR95Aºd#:»œ`ˆ+þÙ?ýÔ‹î¼ýÅð ÿο…¯¾ûƒY_¼ K»‰¬W=¥$fËšÕù¶Dr‘XªÙrA„hqvJå¥ >pzÚóɃ#6CbÝ;ÚuOSK–[å$ ýé‹§CduÑsó`‡j …¦Ô!³ê*nß¹-YŽF®¯¢1; ¡ËëX#_ Å•n9¦xi.Èê+ÐwcG’¾Œžr‡r~04M x£HÕºévä_—¬ñ;FV cx,\¶ª;yimg¼è ul§¦À¨ÊNÞ¡jΜLUœjÌ4¡4ê< ¢õt—ëÈ¡ï©|PvPÑi¹\Ï&†¡Ŭ¼Æ¾·âˆ–¢µS¼Œ~)HAë¬ü1EéüK™L2 ŠSÔÓ(DwÎ o륬Ug¼FA¦·ÙÀ•+Ü¿ÿ„Ó³c–Ë$Ñ¢¶9²¹8ãÊáUêJ\‰Ò7t}‡÷^Í7‰Q;1RóÑIüÐJA`¬h<Ißµ, 1¥©¡ÑÊUÿ·Á?ŇS~B@-ÐIáoa.§_^Êq¥q fâ>šºR2çëHÝTÔ^ Evüžc~ßÈ|3’`"ÁÛNÏݨÑwE¿^I>(ÄZš¹ñìEÆä‘eur'St£°ãq½Šj8jЄ!'F¯ï c¼W<’µ†”ËÄeìûN'­röûPcÇb¹ý˜¦QXã5ª/cM%ì)§Ó-„]“˜b?Œ'T—†jtb™ÓênhæäãZuž¡ëÙÛßa=$Öë }?pzvÂñ³ç8 ‹&°l³¹§ªºuËÕk·^̱m‰šŽÊˆ7÷þ“ß|/Ž™d ñôœ?ûÃÿ›ÓÕ ç2ÞWÔ äõÀp±ÁY:ÇÁÒÓTʼnÚýHĄωyå¨<,›š§=WÞþiæ·v¹ñúm:›hý6ÿçÿñçt/Îx»,½ç£¶gË/xûpF(ðíã˜.Î/H¶ðü¤ãÐ^ûÌ.gg?Ûbg÷*íÅvwægilæÅñ†P{Jj±&P[Ѷœ­6˜\(›ˆ« Mc©šš¾ÿø ï •±ÄØÞÚáè|Cå’füðG ÃjÓŠÞÈJ n§¹”uƒêCÊt¹P»Lìéâ„ùkoÊÈU-ø9E|%’·ž˜ï Á႟9¦X vjY§LÜiÀXÄèC" ÚÀâ¦)ˆ€æ¤œ—Sú{ÖÕƒÅÑ.Ø2èb)¦PÑ®c0Å€‘YôOÏ,íM‘"-z/«´nFh½²NÈX§YwªGsN¬õÁ¹IËàC £9)Åa’æBQ„š¯ú¯#±O8<1‰øß¥Ákg)º‘*Ô’–Mh„ÿ4ú|€){ÎÐÌ<ÞJଫ$/1qc]¤4È89ŒGÚµ­jr‘±¨ûÄYGŒõd+6s§NI ;¢º¯R0%1t=®ª°g€lq•D ›Ø)ôq¸„ÄâI©ãýï}‹GO¹zëÇŸðë¿öËlï,Îpåðï¿ÿ¬É´]ælÕ2$ÕŠ8èúLÛvÄlYÎç4µ@+Ï6- keº½½ËÓ³ >øð1…v=Hþè2°¬ ³Úã Ü}ë.ï?åälÍÝ« nn‘­¡ògg”p…Û¯½: EvÑØà¢è<Òø¤ArU)0Ä^yÁd««Ey’®réqê™`dò V[2}7ðèÓìî_g^¬nÇŠí;è½r‰8/“’QpmtRl(j&tê(EIÌâ>³Îýi4"øJW¡s«Xzœ"£ } “QJ 9}ŽXôúм¹b“:»Ô¶_tú¥l;SQ‡™¼^"Ä$ˆŠ’Ô0aú49ºÚ¶í›•ç,é’5V,]2¢Æ&,FAS “³*Hc)ù…Y'¢ó™×GÏ_`b‹†!Ei8¬cX­8¸r,¡ ôêÈ+6¡h0º„«·8Dû¨¼j¬Á =.8J/:@qÐ çLhè—:GÔT”ôs-£cPiðÖËYS"w \Ö4ë¼ÜŽ9)&ÂsR¹cµÚà;T±§ZÎu’4ž[̱ðIYV¸Â߯)ø\‘ó •4‹ëo˜øŒÎZM (ä1`ÛÊg)jq7}vEujÒQX!ËY':>ãHYá§ nõAÀ¬E3iŹzyŸJ*«ÿR’NÎäý6EWÑ% ç¯DM<ˆ˜bÉÙŠÛwHW ýñMÀ ?«Ä¥ßÃYÀ)üZã®@Éà‚ãäbÅêøSz¶·4MÃÖlFå ›nÅùó#Þ~ãuæÁ2«½¤ÒË{ºAL ¥È6ÉýîöwÞ³®bÈ€õ|ò?çýo›uêI)±ØÝÁÆHwºÂ‰em©mb9ÇCTNS?D†˜ÉÙPyGí„…Ôu‡?ûï±óÙ]–³À&­˜íÞåùßþ%Oq-XnËÞy¯ýðç6ð+oÞÆÃ_<=áÆÞ’ƒ<°Œ™•k8>=ãåçø'ÿíÿÅ7ÿà/yø½s}ÿ*WÞXPØboÇñäñ1M»rßÁμ¢ª$|4ÇÄîvÍÒÃr1çľö¨c0ôòð?‰kò‹c¯q{+ÐÄÈÂK°+I:5ï©Ä®Wj¼e5$¹æôA“ ¢F¤®§Û¬Ø»ñ ÕþM²K ¡²—”áq¸ƒtYýÐÑ+ >2ÖÈ…&ôZ}H`^Ú«³G ÊÎ{¡å{?i6äkF{¬Œ‚Ç5á Ýnä2¥AˆÅe´Ok¾g 1µòý´cCFE˜.ÝtÑpÕ>]ŠFs¯Žzßh¦a’«“‡W_’ +¥¨µŒÙS–’ä¡•MÆf%QçDމªª%ž$g]ÍÎiÛ^B¤‹Å‡šT )ªº¡z)¨s’L?5 ‡ˆ A`’¼­)a¦oY½ŠžÆŠ ŽV#‚¯À&¼—õ³jE#¼!çN25"'ùa²|UËÏÑŸë—.ÚÊdÏY%vÃ@U;Lqt b¾àþèOhó‚W®lóÎ[|þçßÚD“ óý=®_½Íßþ./.ÎéÚžMŸÉI °oß»Á+·ÙÝ^påÊ’£“s^œ\@N,½“ðrk8ÛDþúÛ\¡D×±¿¿`w;°˜mAŠ,ËG8;¼y»fQWD,m›É4„­^{õµiòa”ëÇ•‰µXÅ)$]Ý‹ÚÛ53ËCÇêdÔ˜(Xå{oÈœ·„Ê»D±–£ìîïbM1E¸[àæAâ:Œ8B­ó C¢ªk†¡×Ðn)¸FÍ’1† ÙxI6P}b™løRĺ Srg#ࡤHÉFWÄRK—É6o(ÓJÐû@ßG°ü-¨ˆrÉ4Òo¡‰Ç$½³cQŠ­þ‡ a,aݤu2 œ´êT4¨~K¿r\ Žk¥ÑÁÔe8r£Æ©]¯“ «tzÝœ7†³“ú¡ÇY1µÉ°Ymhæs–{[Ú¤YyÝ%ã•å­qÌKúDë¬0Ñ„ZC<}ìE¨Ñ"ÌLë~Џ ³º'‹úÆÈkÆ•‚”P4õht`"çËï¨ÓI/´uh£,x4`Ú:ÇÙy‹¯–¸*S4£4Iq—%Söe°¨Ê„3ÂŽª|óRõ€¢KÓŠÓNkeq+c%$]âgäÌ'E‘4¤ˆäB 5^J;‰Ë/±fršæb°ªí’àf§17L«Â¨Qc¤‘BHŠOÝJgÒÂÓ;ETëõ-®ÊViõ›¶c¾\brªõSc&¿«!e¨l5e‚¡8χÌÎÁ˹¸Ǹ¹A'“ëöœóãÞzë-ö±9AÊlÚsbNôCdÝ ¬†ÕÅ÷»÷?z/EÈÆ‘6ïÿé¿äÇŸ>%#ûøù¢¡N‘îôœ-[8\Tl5ºv á5zÓEBÓSa>ŽS¶O†%÷~õ-ö*>ú›<8Ïü7ÿøŸñ­ï=¢v–C_‘ÛŽWoÞ$¶=Ÿœ³]͹uç ßúä)ŸÝóºO\i<Ïœœ]ZÃ'?ø–'O?åGßù!oݺÇáíÀ¦ƒõé)³œðÅRåÈ•šåÞ6‡·nbºã,ó½ØZò4Šhê9yˆ,ÝÀ‚-ª’¹÷™{ômǼ1ÒI"Öðͦ%grÊ$úbÈIÂC*ô1Ñ÷’!ÆDΖX2]ÎTư¼÷.Kå+\°2¢6 ›L—IãRÔ8J6ØP°HÇ5fÏQ,Öy9¨ŠÃV3ÎV==xF5ó²nÛtìn7ÌC…qVÖ1MÃŽyñ¼ç3w—Ìê9}7° g+xõϱ¿»'«9g„¥ÚŒ¢ï‡ÑUˆ3FÄ¿ÞMBpr ½öf(ÈJØDCíg¤Øâ«ZøD1–!E†R±½ôX/B]ïƒ&'H·›SÔ"Ebƒœqõl6W›þ +pyÿK±¸ªÁx'ßDz®´Çõ™µB©ö¨^ŒgVí‰ ¶B V·žyÉ@¢,¤AcÎÒЋÃú ’R–ûOÄ5O\Ù_zÿq_ LE„IJfÕX"gµû0?¡{´Ö2ä$)Vrþ £Ø~…Û)™BÞŸ^®/kb¤ôƒÒç Û;[¼xqF6äÜãL¤¸†!eNNOÙ›/˜ïn  7­æe.Y_Éï›å¼‘âH„Ì!(Ãl,úJÑ U÷kÞžpÊ¢ò£USyiºÆD`ëÆ¢æü¥QÖjiÔ ú ·¬E¥H¼ ÄòÀ¦f×–F¡¹»Öé™…!æªÿûxf Y\^²œM£¡`Ê‹´Ò,/Ó}c™â‚„i56’}êŒD ë'ÌCQ<ŠU¶×ˆÈÀX¬±(‰ª 8§÷ˆ¹}Iµ[è{e2¬QGÞbQ£ˆ‘ë+'Áç$ºW§Eš3†¤ëí¡O„ÙR6X/i•G$…¬ã=9FÍÙŒ$cyz|BßG²‚uEc-÷*T )±Z¯(CâÞ½×YxKÚÕŠ[jçÙÄÄé¦åälÃ_ï}Ü?üÿ𽜠ªg|ü­÷ùøûßäb+÷Ör‹zVcÖklÛ±[kÇÖ–@ÑŠ:߆œÉ86}s†¦²ôCäbÈÜþ…/³ÿjÿõ÷¿ó¯þäu¬cGl7ÜÛ_@ÈŸ>çö>xvÁóã5³&qrÑñÎÎŒÝa…+‰ç±p”<§ßç§or}±MéZLÊܾ{Èá»\\ÊfÃ,Òf ÐñÚë¼úÖë·fÛsæWiSfȆ6®l54ó¡ê¸{÷6×^™±µ»ÅƒŸÐ\™±wu—«·n2XKµØ¥„†“ó5ç뎋¾žNJbß3ÄL7$b)ô)±I™6F<ž!α|÷ ôÉÉ!3JØ—ÉŒ“b)å®Äñ’ƽiF¢¸)ŒÕ0†vv²Ï2IsN’Õ''Ÿ^ˆ²VÈÂÀJYIØ0ôQ½vŠHð>“Ó€µ5Î^vÀeê¾ä ÏÅqÊb ¢ŽÄ˘IFQ;¹:’tE)q8Ž¡ÛLâÃ\U%ÖwëC/œQ¦Î¥XL¨D0^y‰ÔðAŠ=WÉëKQ ÁêC%kVŸLļ 2™‚¬ìô÷7Óm¦ÜHFæ”æÍEUJÙ Þ“ Á2¥à4?Ë[qPI‚j —î¬%L;ör¨;éÔŒ)atÅNŸ6(y< â†ËE3ídª`\âÑÃqÿÁsÞ|ë]þ/}–­=†Y±¸ª¢7–Ê8™’Í^<|ÊññÍÒ³Ùl¸8¨u»ÂÔóECÓx6]"Kjaw{WnðüôœGOp•ˆªS?"üÅ•ëŽûï<` ÐÙÝkð¾âÅɆó3øÜ—~Žy3“•™æÊ™,Î:£…&N¢S¬Ns‹þÓ9G‰I¨ÓNÖ¢£©0fd² XiaŒ|okxqtÄry@S%Œ Ø"[Ôt vw§7#t3ÓÌçB÷ÖÀëÔõ¤¾§ifô) ôƒLKÊ"p×oÑ2¥ird|EU×ïéÚVmåNÑ— ,‹Š««,уI‘!ZLOÒ{TsDI ãœLެ®²“´ µìg.4JåNªÇ½WÖ¼¿Ë¨ŸKr¸ÌÖ%íÅêC9„p´¬ˆº[šÙlbƒ•(d•-xgØÞnøôñ#“¯s¨‰}¤ê3‹½%‹Z˜ŽrTâhC&:hýÝ-Ú ¡®AÒeŠÂO0¬t]9¦bŒ|,)Š;‘;ä‚ÁM®ê¢J¯Pá‘PÞu-³ù\®Á<šdÒ—G×¥nü,pvÞSoÏi†zÖ¨6MÉcþl!k4Œ®‹­N¥Œˆô£³³¤!±™¾ïHª¯ ^x[¦’´7&ŒgŸñS°ó˜4 çÕ0é~혠WƒèÜÐfOuUÕû¹);Ò{}EÄEŠªvòþË2‰^Ò{r÷o"®ò»g28ß`IÓÚ~œŠz§¯ËhdFUE ?üä>>Ô¬‡[ä ÉCTÀ¯¥o;6C"vw®_ck†™5t« 6wà´ëYw‘ÓÕJ ¿ÿâ·ý½à—lâÀ_ÿér|ôŒÓUGíõ¼–ÆÅŸ¶¬7-’ —§ï#1 %¶X.VÞâÃÊÂgý°¹p²yÊ?ÿçrÜnØÄŒäÆÙËŽ{sbŸ ¶âoýú/ñüþ‡!XÚÕšçí†×®î°QÞÍ›7i5ýů¾uÞ%æ[3çHCb½îxòä„ù¬f6wÌjÇÎ"°:>!gdž̵{<|úŒÇOp»†½;7ùä4òúO½ÁÎõ?>¥[wlÚB¤ÐÆž` ]?`Œg“²­Øt‰ÚIÇ:_̸òî—H•tñ^ņ.ˆþÀY#7MïÉò+b‘-F\‹Žº 8¯kí$²VCß«kIÄòÒu‰ §„/H4Çy#R†`)ã_É,H1‰“I#¦0P]ê58VÆË¦ ùLE¢_¬Ú´ƒ2¼Fal™.™Ì`°ÞJQf¤04AÅÙˆ®ÁÙ)¥]Ü^ª³Q͔ͨ}ßêÎ?ŠÊ ÞY”AÀ}ZlÙBŽ+º¾¥à‘ #o ÒɨC©”ê3ã#JÜJɺºÔ¢(å"¹’ÚUë/uŽ JTsbd/I“tŒí…†\ ^ÉÉ9» “ÞÊÛÑuè§é¥Dɉfîüì‚§OOøìg?ÇWoàëJ¢$ú«®X§l ˜DcxíÖM¾óÍ¿bµêX÷™ó‹#¤žïŸÒµg«.Q‹kWw÷X­Ïùúw?¦Ûttƒ¥m ¡²¬Î{ÖíŸWöjNV5ß{Ðâ}áµ[KÚMálÕ±ikÞþ©/óÆ›oég “‘¾•WQÖ“SƒCIò 7Rš‹ˆÜH¡¼§Ý¬uj©<§IêÆJ aYPÅ.Κł*d Ž@"Û¬ÍN!Tn/Âù’²L_TðÞnÖ25¬*²qÄ(&-wŠ˜W$à;é5 q+Ú@¤¹ÑŽ¬í“†—¢9ˆ“®Á?£ =¬<Æ:Œ¯&$@1œè©‚Ù¨à"%F’)8Sƒ^ë.(‡H± 9K*FNI ®¬‚èQ".fe ƹ FŒB$)l©éã(+`ÑÂ(k!7›-¡âé³OñVs75÷¼í™[ÃöÖ6ÉXêYEÁM{BÌwë¥871$bî N&+%ËJ,ÔõTLĘð¡3îešœ•4Ž¡Tʽ'?ËhæäT|Ú¢)ª!²†ÚÕÄ´¡¨Úê´Ï{%srÖS‚§)‘PmÀüd2·Wæšj´L&„™ˆÔÍXø2}í˜'鬥 NƒçÇe£ÆŒLÛ’N,­-$Þ‰8¥ä$+¼—‚žÆÜŒ\űË/¥Ž“§•´ ?…Šþ)‘%\»d1‚¥¬WP.â’Í ,G6V »ªë¤8§ðYqHz¢‘i˜1VMQ ØtŸ~úœØ¿+ëý³4iN·,›Íš®ëÙ[,ØÙ™ã}`ÓvTFô‰OÏÖ|ó;?`kg‹š÷_ý½ßzWñèá¾þÿþ!Ö Á|Þ8fË9>xÖG§ÌãJeÙ® ³¹ˆ7ÃÀj€vÕb%ÚÄÌe6}dȆ7ñó˜ø˜ÿþÿ qu ›BŸ3¶Xº4pQŸÛž1k û‹]¯ò¶<;}ÎûÇË+>CàÄzžw™ÊÂõÆÑÌNOÏXçŒ[4¼õÓ¯B›ñÛK†uKóÊ5âó#®¼ýZc 6Ò“è‡ÀÓë~àlÕq¸ï¹u°OUλHŸ &yrÛrõÎßøóOx|¾&øf{‹gÏ7Ì®Íyóç>Ç+w¿H1Fšï—4‡»Ì¶—œŸ®H8÷2êβlæ,Þz—fk[ƒ‹yÀÏ‚N2¢8°ç¨|ÐNE;Dk”6 •—T.™”#%ÙÉUäŒf —®ÍÒé‹îKHòx0vÀ™æ'\M¹dºœ:h }PáØ‰ˆWŠ&Ñ9úì :¾Ú¢k ÉÞ2˜išSÆUÕ%'§ •Ú¢eš—# Ý,iÒ™¦©ºBU‹å×UúO+]Y%SÁK1ðLÝz^—•ÿ•“æw¬ ê¢ò¤(î%²t¾ÓÞž±hJš\Æã(ÈO‹ 1kR$ÆF ý¢Áâ¸aDç)VVŒÆd±#‘ÚE>Î衃¡µä‰bIF´H^ L£Î¦ׯ_óCõ'g+ŽN7l†ÄölƬq<~¾þÌ"°µœ³:œ®OIÇ;?ÿ‹äõ9]ßMâÖÍ+¼v¸dooÉÞáj7çÍŸþe>~ð”'_°¿¿CÓÔ˜ÙUþýßü-î¾vOãWÔ!§¡ÃÆ¢¾v ?"ÑýëA>l$.F!š)%‰bà ¬WG”›´ç-qhðuÇ¢ Ò4ùð®Äïu„©ö[¬ã¥Py!Ã7µ" œ'+zÁXO1ö’cVuÈäÔ3ÄA€£E_)F°JáwR¸?Æ¡Xr–Ið "cÅ„‚Ò­å2Ä8¨F6éšÏ`m&¥žàçÂBt6‚Mp‚µP FDÑÄH$ rA›"YuÉ„ÁêïõµëLkÆh1Tè>:±²²òÌ)a@Üàz½Žk¶nèØß¿ÂÉé çëEõ\¸@,pqvÁ¾êg c­NÌ$N(eqÊÉg4(ÂáÒÅœWq¼à(ú•g©kÑž#”B‰‘l¬L-Ajhy¶l¬|£¹GЂL±:­4¦æs¬ñÓÔ5„@ŠCŒôÉ`ÊÀÿOÕ{>Ûu¥g~¿•ö>áfà" ’ A²Éfgªƒ4RYc[[eÙ»æƒËã0þ·üÅU.—Çe»lifJVIjuOKÍØ `ˆn¾'ì½Wð‡÷Ýû‚¨êfW78÷œ³×zÃóüžé¸ÿ~j¿N}6ëL æ%Ú¦ÕM…yŠØni‰Q}A0…BÓ´Ú¸Ù“óÌ8*'Ø”Ë(…ZÁù|{B¾W³U¿"î119‹LÄõºÝAë†XÐÉœ/zç; IDATÕ\Ek¾`¯K¶J‹·ÆÑiÀ» ©(h5QWA˜”j0ƪ)«hDQ‡³…bwö8š-ñã1fÚe£0Yåw]GÓ4̺†ùñœ±µloŸ‚˜Hí’¶i)9ro÷€ÃÅ‚µÍUšvûWÿõö†©F|òþÇìßû‚Ù¼Q-Ob<™rÇÑ“C&ư=r¬N ãP±œ/È91™e—YCÛF¦•#–B,™£8æ¹ïžãW¿ü„¿¾ÅõÚqeä™ÂœÌ¹­-Ïf<^Ìyuc•s«ëò@<¸ÅÃf¼Ê••š^¹JZYaõú5¾¹q“”ÏÓrÇÑ|ÁQ¶´£1oþèel)ØP³²²Eñ†ÒµØõ JÌ—ÇÌfÅNyðäãù1[§§¬lnò—ÿχc9{nÌù³k¥ã1©¥¸@̧Ö& I½×'QЏŽríP)8“ˆ]#_T=¼z6‰QÓXJQ·¢\Ͼjµµž¨ùpÁ ±Gc©tÞi‡ß †{žŽÚÛ­Æ,a_à#v 9Ë\là•"*ºTp~4„Xƒ­N‰æÊ%²ãÔåU±-ÃtÍG2[œ>äâàŒ±#Tµ:œŒwV»u9lÛE”­ Bg¶Ç#Ø>nÄ…GÛ¯ {RJE×¼$sc81vÏëzj•">ƒ†%©ûSN`˜9&á#©¾n˜Š¨'E÷vü^lœ²ålÑKÛôšš~Mc†BËqñxèJf:™²2]ç׿ù-‹”YÌ;œ ¼öò)ªñ˜½½–Ê©³kÌÛ–;F£ ~ü³Ÿsõ¹—hrá£orïÁ1Ö{V·W8³~–7øO9{áŸ|ü%%EN?sý9ëk§¹þê«:­ää=DÑ%rcŒ0å(riçÔÇ1%J-Så<Å*i[›ï•*ŽÅ;™ÂôŸwJ™õtÊÆT'*1b‚#·ÅhT•b|”.J1Ý8Õzž”ˆž2X[a}5Dúô—BŒY±ç+EøA£â] —¨]>C§.E¾ÃÚ¬"ýBÎ2œs¬‡Æs9'“«^h/ða ÏÎÉbm"ш[‘³èsÄ/N:zŽ–NÚoÌ Ž,Cšõ™iu#SÜ$Î1z‰ÃRéô=²…a#ôp*Ó¯ e»uæ,_ß¾9£¤5`‹÷9ñ<Æ÷z0}¯½PÒ:õëÍ<ÞW• unÛàhÉZM9êk‡¢ÂùV™j)gɉbýWÈÙ,F"µ§Ôá½¥i:r:R‰Ã„%i¨¶¸ Ù&æ­ÇU†ZßkÅÊ{Ô6 æ‹ì@œŸï%3ÑôMpèÝôɺBÌ%K¦ © Oö2e⨌h! g$ŽF„üYWô gäLXݳü«°Þ³œCânÃ}˜R–@hSäõž€IEÄä†sz¦†“·Yvòóç8h”Áдòß§,.[r¢XÏç_ƒ4Œ[¸óÅ$àÐÈÑ|Æòðˆ·®_£ª Íìˆ;æm$¦ÌÞñ[õîÐc¢+‰û·ï0[Ì…ùC¡VÇR×¶:æ4xWX&ÏÁ¼#Úšeg)¡)†Ýålæ(B1Œ)\xñß|òˆÿõÿ€Ii¸’ ¯N ?U|gز…7®>Ç<þâÞ!ߤÈÑ¢a^XRsz:âüŠçñÎcîsôåMÂJ K¯\åôÅ3Œ*kÎ;‹õ#ühŒÉ™4­™ðgÎ`“l¤ñ&[çéráô…mÎ^ºÄæÙ3|ðñ=ö›–½Ã†_ýÍ]þö¯¿àÆ»÷ñ³È÷¯>ÇKÏmqve‘Y°·»à£ßÜæÿú7p÷xÉ[·™ǃÇ÷9Z>¡Ti”˜œ]Ãoo¯óüõW°UM“1ütE½´NÖƒª{Kð#(ëDˆ-¬Å+çJÌ*'Dö¢´Ü˜dTSÑ/D;{Ôðñ§3¾óêï3=»EU&Œ6Çœ¹p‘¯¿€µAŠ+Tyíª½z& Ó6y/Óá+C¨-±´”bñC-iF›Ú»v)EXI*p©žJœÐ%Y¦Ó SP'Ú<Õ^Ešôz£Øu½ü\Ii×Éz<•"ùgF¦ŸY§½ÖG(æ#Š©éŠöm‘KĨ³m:™8!¯½/6³Ým'+?oèK¬®§#…”jD%òd8|€DH_2#IAèæ`:ŒíÈIø[CU†³¡#šf©…¦h²|°Oh—Áx9 !ï£9g‰`3†°NÇÉïO•Ih«½N¨GÔõˆï¾õ#¬«U5Í|†¥ÃŒ »‡s>ûü3Ú¸îV'BùÓþÜÇçôµ„‘ÔvݰìãRªJ bï]Ó ú¾è-£º¢ª*ÁBè÷Ñ9-l€f‘©G‰³ÎêQ…óB®7!`ƒÀUéJ/°ïEÙë+ˆ‘díR’Ä+‘[Bf/úF¼*‡÷F žN¦­Æ²qÀ¬ËZ6õsq¾w¿ãÄ©kLG.-֋د,ÅžIgȤa Ù›™dŸ¾uþ…ÇütŽ®Õ÷LªJ”5yÎíסNÙnýŸY…ZŠô)–’ä5ÉÄÔ¢îæ’W‹¶ÁUÒ8–\ØÙÝÅKÕý_ä»`ÜÉ$¯_ݦ˜¨€Í)ä–L$ÆÉV|øÉ¬®¬PWªÒ³úøçúÆÂŽøè—Ï£'{rHYËêÊ «“Š£ƒCövœ9Vx*ð;…EÛ1ωqI§’Îw4Æ39½ÉÝÃǼóáÎzËE+›S6¬a=GF9² ñößäñí{|üðˆ;|tw‡®²ìì.xõâ6ÉŽ89~tÀaL¼4­ùÞOßfÅUìÞ½Oë aõ £Í)ß|õ€ÉÚÌ(aL -è‚¡[DîÏ™ÍØØ˜0v…·nÝáæo¿æ™µ)ß¿¶ÁÙé 7n>†&ò½—·¹ðÂYL°l­Öüã§™Ö…ËO³ó`‡[Ÿ~Ãùs[Ì«» ãà UDÕÚ”voÁùê«{xÕ†ŒªŠ×¿µcb*T•¥Ë®? 1v":w¡—ê7é.]ä]ÉÅŠ¡(€MV?Q;4ÅÉN¼çÓ èf‰nî¦`\Ÿ&ï1gOîM¸@0–˜E(ÚhîZ¥ Ü|%Q²Ã¸¢Ý©LI°V´+¥“œÊŒŽËE;$q9‘ª˜«ó^ ¢N÷d™ðdãDƒR”õ•‹\|ÎÉ”Ï@*V“$k*GRöiï¥Ä} S±Hnó°zíR|«N§\4äUcjÔÐPÔZŒÆŸåj[‘:¡§K|‹QC’÷¸hÀ„¾—¢³ÑÀf×bÚ¨uš¡S¬‘)ÝIk)—„—¼¬N'¥”ú/Z*;„óŠ7a{°¤®Ḛ̈Þ1tQD¦6HWí¬€RýïÃåóÏñ‹?øm“xý¥Wxî¥k\yé*7>¸ÅýýCœ«©ëÑ{¶ê™PÝø”ß¾û!o~çM.~ç5ÖÛÌÏþèg 2üú—ïpæÜy–ó9ÓÊñöÛ?Ñï æ ÆVxRÆ $ç¶Ï™+ Ñ0Eõ„EW#±íÄØ`GÒ£EFÕH`–‚3”ÖбÄÙš½ÝCb½Êjèþ-c½×âÕÐÅŒ‰I£qÄõäúuž]&`K¢´ƈACV”ª É‚i–KÍx+,6—¾x—‹GôQnÈ+ª2+¹Õ ¹‘tô!`CФ§N­27`DÔ®"éž$ïúlOg)&Q+àÑéïê«&ET* Ö¬"FÚÔbU3å¬\šyf“ŽHë4¤Ø¨&Éjc)Žc«~ÈØµò̃±áD˜­±>ÆÆ£ Tžwïàª@n[¦Ø;ØçìöÆXF•gÞ,ÕìåH¼B>Ë0ý×ã•á¤[÷Ä@+7ý:7%zz5É$…jú!0é¤Ð‡ +NÁéxç‡)c?5î'§F‘*rf«†Í@Ì–ÙrÎ(Œ)Ý1uP¡á½}jØÑ)üÚ`%JËZqÞ"Z¦à,]×AàASЭœ/šª‘ðUR#‚Ñ饺M äØBÑŒT쎑¬CÙ*|凩{?M³ÎbUŸ% êîÃÉýSŒÄ2í AïƒLù´Ñé¹q)eBä¬Oé¤+¥ˆWÕÄ®£öN`«ÈÏ}ûÑ#iZ#tM#w«ÊzÈìr¹äp>çT=âÒ3Û´ó¯±[9Œ¸uïÇóë+49±Xãþåþ§o$øøßÿ†å☔;&ÎaŒ0°Ž÷˜w¬yé±è€Æ•tÜË&²H[¶YÕ%Œ§T ­›P6Ç|ðÞ7lN<ë&rv\³zýf·w˜Z‡k[n<Þå¿øÃ7¹¸R(K^Yßà{/\à(uüêöC®¾tÉåó„ —X|ùo\=ůÿý'lÚLq†Öz*[¸TV¹ùñÿöW¬oŸce* ¿£Å’ÔÕš³![víR,Þ©•®EàNÇÈUUiTŽ\ü½UôO27Îê*â)—¢wÂà1rY÷E[2]Êc…2_€Õ “õ÷0ða$Û0á4OÍ(àT¦Uq˜\õÖn/zºì$: ,Ï©3Ï×^õMê˜KJšÏ'ÝaDŠR e:¼¯1Jæþ–®½¨G–®µw6â´£.²J1éAXNrÚTä/î.¯F3ŒÛ¥ ’BÆ;͉Ë2 ÂI'ë!Ñ(ä,Œ4Y'š“Ë4'u‰õÚç2ül= 8ÆN‚fç—T$1ÀœL¼ƒ.npGY;ð‘úµ¦L?%Hµ'KXdˆß N©^˜Šê$Þ}÷]Î]|³[ë›Äõg.ñÚk/ñâµW±Î±ûd‡W^¿ÎÑaG½2Á¶sž}îYþþï~En<ç_}‘öî7üé?ýCV¶¦øR8*‰_ýõ¯X;µÅÑýüGú'ŒGõÉëå„Ú,]·ê-ú\ÀTp•Uö—§‰6•!ÀÖ(®£XÑ;’’¬oRó†d"ãP“JÇÇŸÞc{{“:tØ`5oN\®±?«µL½§K²7÷^EõE’v&Œ¨ùìç=˶SÊ‰Ž ]­åüÔdÑ#‚ôKFW¾ÞKaTPq¹±”È`¸ès‹5ÃwÚ:YßgÍNËI²Ùú ·óªïó¢}K¾%”åä†yk*ù>šïSã}°ë(?½µb\ž1)ªSM#gÚˆ·ž”ã W”‰L%ægŸâûyªZΣéÊ:ó†åîm· `X™N)¹pÿþcΟߦ2:}´â6ë'l)eAPäŒIŸQÒ¯ŽE[f†3Óës#Œ*{Y¥“HgjäNä!ôÓA¹ø]-E_p@Ð6¢9"zV‰YÂÉ…ù"RÕ#¬/Œ&Y4±]\r¶ÏÖÒØœ˜Ð¼¯'¹Q£ˆ 0ºd†5ÒD8³™žr(Sù~¥h‘ã²:ýd;"µ¿è­$”1eøŠÛ^06¸ûh)‚\¨êJGfh­µTu}Þ­S¸ª‹ž±Þ1^ÏS)êeBkÄÜuøª£&È 1”Ôá€eJŸ³èVa{{CøX]KÓDFãóyC2‰\:qýαÆrבR+‡"¡ŒUåhÚ¥½£M‰6ò,c渓=­=V“âƒ-ØlEËs)‹-†Xxh*öŽ4˜½ò ¿™/y€ãæÎ1ÿË_¾ÇúqÇŸýô-ÞxóYžûÁò½7^fonø¿û>ÿî7ïñ?ÿëÿ_;î¸ ÝÈóË{l>û ÇÕÒrvÿß53^ßžðÎ_½M¢v#Æ“5n}s‡3k§Oñõ'_’MbóÙ-^xáY.œ]áü©UÖ¦Ö¶7xó‡ç9Ȇk?>ƒÍŽÔFj<õh¶oùúý‡LÂŒ—¯]¤M…qœP· ·¿zÂ{Ÿ<âx±d±¿ ]4˜àyüøóVÒî«>:ÃBÐ}uÖB ¨£G§Q"Èí€JEòBÍï/Ëþ‹(šŽ”»A˜î\ȃ®ø øZ ›6ªK-ÆòIHº^ Æ&Rîä ×‹<ç(5Ø” &LŽÃƒh­æç9[[(DÚ’±UÀ8Ñ=U!èëöÒµ˜1Þ¯`òÇD»é¨SO¡Öƒ«ä¬áÆ(–ÂӛĽ÷¸JÃE­fVá¡ s>!^§˜ecú¬ ú”à%šGĸI›õ0ôÞƒwC†cït)š?EyHîD8nŒ J˜ }¼1"xí::³ÑuQ‰Þiˆc}‡„wuAy/® ~eÚçÑI>fÂe• A³E •"”î6hŒDr€¬ºŠT4’ i,¡ª9wî %&lUaq-_cRæG¿÷ÖVVY[_§ª“ºbueÊñìˆo¾¾Ã‹o½JXó‹·Èå«WÙ`*Çï~ûãéš9¿ÿ‡?c{s]^iˆ)b˜0ƒ™À9§âi;@ A²ü R=VU¸Ï8'°Çb—ÒÃ}1X/Œžãã(kn“°¹[Y Aºÿ>‑•ÖS¬ü}â^Jãqa„sñd…”ãñxÐ`Íf³á9bZ¾]'…sŽÝðß÷ßÓ>T½íW@¶¼M†Üuº›ôqv{ö¿’6¨¡#©,ÄY¦)rDàú¿UŒÀŠqX&z¾hˆq,¸PÈ¥¥k›‡u׉®Hœ›òŸeÊn­¡®kù~kj‚ 5Ë6’J§1.I×Zúú;¡rŒçµ7¿G˜¬°ººFI†TæŒF“Z¾üô æm$7‘Ô UÝ…J5TŽ3%&œ7d‡F¢ºE(Þ7Ÿ=f§ÞÅÁ!XŠLÂõœŸMÕFæ_Þa²½Eg ÷wÙ»µC›¿<èØ©¶ÉUÍÙW^ä_ÿîsš8ç™zÌʹSxgÙ¾ò"[W¸÷`ÉîÁ.LJ3ÖVW™ÍöX=>&¸šÙVG[üææîÛ¬9uÆóƒŸ\à‡ß–õí5ž»p 7ª˜§ÌûïÜâÓw>àG§6XÏK¾z÷>µ)¼ôÖ9žØ%ó傱 ¼óéç,K–OæÄE§€”/cg6Q˜6Ý‘¬K‹jWäÁÏ’h‚8œŒtÙá[ÖàXAp)%Ñ,©CG„Œr´±“²ð²$ ‘-=ÈCW™s¾ü²¾ëèT@™bÒÆ¥èpßê2—m¦Ø@6Ù¼&²—’H&áL"XƒÇ†D6 Ó;š³Œ“œ£ììÖ}± nq$öx §ë‡þW_PXEˆý¹¢ŒmŠˆ£:k¤ƒLÊëBWS’q)‚Ç¢y¥$RŽªC0¬ Ͳ^–òþÉgžÀ*œT‹:ƒûJÆTÖc3T6`2ãNâ?²¬.RŠ´MGR½FÿçÊQh\Àišæ[]É£Á»dR‰ªós8¬¡¬ãñDub…×_{™ýÝ'ÌÛÈÈÜD¨ÇT¡b:sõù˜Íç¬N*R·`}uÊ_ý›ÇÖÅK<³µÊýì'<íÅIÎ<¶|ôÛ¸zõ2ßó;\~þ2d!˜o‡K¯h¾W=º|K´R¦Sgjßd@OSpNŸ ”¨­ÏÆI–Y±Ösïî.?w™•zŒªª”ÝÓOP* éÕ¿3æþ=UƒB’ìCùì…Ss&uÀlšV&§1±²²"0ݶ„Õýóœs¢ï4% ·ÛëôT¦£ÁKó`t"ÖO¸°‚ˆú™·Ëåð\w]K„ý‚ÄôòýWΑ¾ÞR³„ÔQl‡µAVá¾U˜©ä9z_QRÀPéÅ “š*Ôš›)ë2áíI”¢ðÉÚn)ÏÃ`ï—µWÛ.©GµLdô¹Oº¦3.35—~ð}We–3aí•òˆ›_~̃»ÌÛ9¦[¢•c×Éú­íT_exж,—ËAS%ë¶“hŸ>¬¸g` S¬ØtŽšÁ—†³9ÆVÿI®Z×Þ“Ô â}s¤+ÃsÙu W¨BÅh•a#ø1¸‘ºõ,u=V”N/7¢¡2’C[ŒDoõgCðžØ%•ŒHSgÇÉ7uÆ©cիѧÿ•2ïµáMF'™YÝ•™ÙR›­CA¨zãM/¹(Ãô¹ä„5Ò¤$¯£®ч÷ÍE´UÓÑT"߬¥ª¼N‚ÍÐ\§¤”x#ZÆ’Z¹_»RG×FL¨ˆÆbG#v÷Ž”ÊŸ´òÚ)¬êz„×s{cmñdLÓµ´­ bJtÍo2Uí‡ÌǺ®qÿýù'ok¹ñî{îíS¦¶…Õõ¢1ÛÙãø¸cl ëÁ²êÀ”ÂÞ"Òv L›#5‚Mˆ6ãŠÁÖ®K¼ôÓïó·¿z‡–¤Ç„Ee9í,ãnÎs/<Ï©‹ç™§Ìzéxéü)Æk+¼û»÷øô³»¼þÊUvíñGמá~òcî=xÂý‡÷©6Oñþï>çðà ÿìÒ96×jb6Ìw²7y†ƒÍ-¾~ô‹Ïž¦;˜ñàðˆÃ½#Ö¬eàáÞLdžu|uçˆOo?áÊóçxæÊ û­áþá&a\¨;ËNÓòÞâùÚólXw‰žÝã#®^¿DÂsëþœÖfb©xýµ‹TÆ3š®âJÃgÜäèèˆõ¨MÁŒ&œyã-œjm’‘¥6óŒè—ŒŽ¥âÈ£ˆ³ƒEßàÜ aΨ­JÉßÎ>Þy’xžcÄ~y¯d^š,Vê\Dc€’‰­µ,— ![¦C¢¬L P“,+¬®$2 z¶H® Ñœ¾ØÊ…ã‚€sQ zŽ Ëa¡âf]mHL„%EÙÙw]KUÑ‘„@§Ž”¨S!±##ëNÅhH´Qa'†ëe]b8±Ï“¥Ð5ëP´SuÆh¬„ÕKö'Ü0kEã :£Ôè^¸ëŒ@!­*Â%K*„îõ¨ã0•¤¬¥Þ` ßcœ Œ<Æ)B e^JB}±=y:c}%¬š”T£&é¨)×F×…N¢A^¿¸ÍdÒ±2]á«ÏÇêú)fư÷.?øÁ[äR¨»Ìƒ¸äáÇ,ÛSo9wî³ã9ðóŸñ毳²2a: CÇZâ¼¥ª¿÷öØXYеT!èÚS¦ bÄj,†û»-FÄO& ©d=œ×á‚%¶Kå“:U[a-Ä]g¹ñÕ}Ο=E²¬ûlÆzGnº¡ 2)c|EÁ«f*êz‚“wùe¡lö"ã"æ¨âÚþrN9«>G×Súœ;Љ¤P¯kb”('‹橇 ;+ë,%'yŸŒSn¡B­6^щ‘•)FQpoŠ‘à¬D…ZÂy}M¡¢A~x+̱L«6Êåg68¢j²z¯µVÖ7ÊXsÖÉ3¢.6ïÜ@—BËcœ ±ºQ­Nî"NÑ8”ÄÖêñì?zÀñbÉÃ';ì?ºK&²»×páì¶ *Oj‚Ñ)$»ôQ}ŽªzDIœ–ÔYÿiI& 9ªârS‡¶µ'9ŽædÊ"Sý¾©Be–¶m\4/P „‡€ìb”7Õ¬‰,:aëÖ%›ÐÙ¢H+¡Ö¥Åy1Í8EB¤,NUï ¼ïFy^¤PìÍ‚%°'+#9‚¹ÈûŒxšq•‚jºê)t)QW5]Ó¨I¦’?#gÁ6gY³Š©Sr*$«Âdu£krëƒæežë E£Óô}T”„Ñ",qÚöÆ“ïÖúâÙ Y$÷VöS IDATþÞ?!cˆÚ˜Iêï_‹èýFT6+f%âsf}2!Æ–º¹7°½1¡‰†½ƒ#¼“sÔýOÿâ?yÃ`øøÝ÷™îã½g,ë[ëïXìÏXw¬V°= Œ¬£I™£Î@¨]$øÀÊÈ2®³¦cx‘ñdjÃíÄ~»„ :“õ5*–,”ô¶Yâë ™[=êôA±Ê´Ññÿ zÁÆÓE@ÿC´m;Ö[¬ŠìsÈYy.â ÄÉš¸èÅßuݰ 3ª‘É)Q’d™¬("sB=6R´F½ÌK­^ÖbOB´Qˆ£ÐÕ{ûvïÚp½¸} l¡ÕTµç½÷?aºq†ý½ž?¿Ítm…là(%¾¼ñ%1w¼öÊ5~ÿg¿ÇéÓ§%@µx½x¿ª,çΟÅK])pWþû‰NÒU¥sŽ.v'áÆÆP°ªt­mÈ%éÄÊÓ4 ¼«ÔÚQ¼„9FAéàÖ\Édcøô‹»¬¬¬²¾îÉ“3¥PyOìdU&:A¡ÆKqÏP$Ic‘ɲòÒz@¤2~`¢•§4'ýåj­¸ ½óš£(8€PUÃôÎ;-@ƒÓ°aÄD?iòMÁy!Ú[£Œ¨jàõ)Æ ÏÉ¢älct:§+/ShSƒ±I9l²¢,Jt7Æb‹¤-Èsd5¦©•øc1EL ]V R)xŒlIz}£àƇ¨ªþ=бý"8rÆPÇL8µÎÞî1GG{„ɘEYçìùs¬ŽjvŽØ<³‰+RTÇå;£æb ]Û<µz–g¨MZgiÚN\”jBðÁ SêþW,Qéþ¢•sžHœLºú¢Ëºzˆ•ÁXRjuJ©b<ÁIþi)0›/ñ£!‹ŽÏY‘g…9çq¾ÂÆes¡› ²¢MŠò­ I%ˆ;‡üǬà\™v¯ÅW‘bT £g„¯͇5¦HólÅ6»¡ˆ¥ùc­ÄAÅHD;å´Y 7ô¦ à)É`m%F Ͳd!ÂeÔ­€‘ ‚Äôœ“9Š3|}ë.G³…$D¨‹\ ÜŽñx„5ER4w³í"]³$µ ž½|‰˜:*MX¨¼lE=a~t$ß®ÅýË?ÿã7r*Üúê+âá„•V–­u†‡wS"œžx6G?rÌ G‹ˆé:ê)y¦#˜µM‚i]3Ëe{¼È«¯\çñÎCö—†£61…s—¯°ùìE¾¾ý G7¿&ÃwwøðÉcšãÀrRqŠ¿ûíÇ|ÿò6w=âpç€G»G,ç3^ó<|È/~þsf~Jóð!7޹ãVÙZñpïÓWŸeÝG.]^ãƒ÷¾$' "ãY¦9oýð-öv–”yý;/2=»Êßþý~ùwŸ°»Û—‡\¸~f1£)ð`÷ˆ6îÎHÏœÅo®Êj!¨ê ›×ùÞ÷^c{sÊx4f²^Sbä«Ï1;<æt娜h®¶¯3™àŒÅûZ‚D{.’sT²Ó±gQñsΙâ,Þš—…ñ‚rWŒ õ²–ÊD’BB©´CŒ ´ÄS@Ÿ$[„Ø»¨‚M( Ý£Ær$õ»}¯3"„̦&å¤Î–Dp•ÿ5’¢h~šäêIÑ%zA(Ø!XU_ 9–b*úûJ·ɯòØ!ÎGVö©õ‹6E Kk„5$8«£lt÷¯ãfí–z@×Jøuïréí¼²NMk¨ùö®k•!c¥xuTmzÞW’kÊðw)ŒœÃf™Œ§†…"yÏÓ"=¼-uÄ(ë‚Ø4ªá)·h0 Äå–©ë‘bÅ7Jrœ>uŽÝÃ'Ü»ý€Õ­ fw¸öÂóÒýYÇ>b}eÂùS›|÷ïàƒŸû )ôE4m²Q|F”‰@îc€„ê]Ô î°ZPè*¤ˆÞ)*ØÕªC/¥4—;§“¾,$tÑf!áµZX8ç˜/–K¸ó`—Ë—Î1FÁª^F¦JÆ[)¨b$Tµägf3ä°Q–rỀÁ1LÅ +h-\½æ#'Æýw¿ëd½‚®b2'±>ò:+ŠœðÊŒ¤¹ðyª@ÉCÑÔ »‹G¦ÕgJt†œ£k—Tõ˜BT²¹[]¿Ux0d…zqí¥"Ÿ ¾>¨ºFR,÷bî>6%éë2Ê—`¼ýžÛŠP?ÆDo‚áòã ªÃÊÖ·î> 7ÇL¦ gN1©`Ù&R‚­Í-š¶aemU ÐÜ5-U-«¾¢ÎoÙt”ì±60ž88g9?Úv9<ÿýúÐÐ'&]g:5Ž$ýüO°EsûÒHWu=ÄA9£à\-ÐføÉ”ÚÀ¸örNÙB1QΕ§dYŸu]+fƒ”pÞ*ôôDCÖ^SVW¨*]1«Æ±Èç,àOñéÛu‚T0x㈱•usŸ1[ ¨Kâ°Åû”ÒàfÆô†"Õ";uWêVEr*¤Ò¬›§2{‚¯YSÊʉTDÎQ<Æ2YÔ2_ÝøšD”b1¶ò¼isé3¬®L u…÷†Å¬%•Ìì`ŸíÓ§X_³œÏpβT(nÓqó‡G‡”qÿíŸÿñÖyîs›Ã'O(X&+ŽÉtʼi¹û!.[6Ǝ͉gb¡K™£e?úŽXÁ$LMÁS¨*xšRØÛ9à'o¿Êµçž!ÅH5ñÉ݇|úÙ-*gØ>µÁÝ£Cvæ-:>ô€½;;ìîÝÁ™À^~Žo[ŽÛ†sU¢­1 cš'|õp—Su K-¬Ÿåì™_|~›éÕ9weƒËÛc¶ÖfììY&ãŠãfI×uÌËêÔrõÅ üÍ{÷˜5 î|qÌ_y£”xxç>?xõ$øî /°õêwàîlU°BÅr÷Ñ´âø8±»ÿ„¥«9::âÇo^ac}B×x¦›#ÚÅ’ßû’ÜDÖ*XW¿9s™­ ç°Å‹°íäœWªVè(·/„zˆaβBs:‰jK¤ ‚ÈV¦=ŽB0N†È: &ɾêbbT×Wp rZ±)™âÄ»ë/93 ]ÛèdÍuÒe5K¬×‚ B]¥<§Òäsg+ɰԉUÎâHñÎk¬†pj×ÂSáðËö‘ÐE­÷ÈzP“é’oÔµbÄw²«—‘}RÈ¢üÙBoÃÜë&¢‘©‡³nÍ–UˆÕÀiÁ*ÔU¥—ôýV 4MCäM&iTEÔÐ ™Úâûì²^WÕwÚÆ9H²†1js·¹`Š («_;Y‚¯ToI±•uB6 ˜—-Fœ†}Ž]V8ß|>,çý{RU–l–\¼r™;÷™¥–ùQ˵gÏSFciŽ–\¾xŽ·ò#&“)ÙÊ÷Ê*0ÓÒµJö†¶ë‹“L;êÑT4@Úñj°¦hvtd|E…‰eŒh…zŠ~t‡ÖVO…ÖzéºK¡x )·Rt|õÅ}Üê:k+ÓÚaM‘é”lO°ò½DÅØ2°Ô¬~gûˆ—X–B[/R Eär*EÂ|{@oRG¨€b…I–ø(EDÂcè²`z@d×ux˜Ï–TU°Î ô¶ƒ®ŸüöáçYÅÿ]ŒÂ³2uÞÓÄ¥0îæ£Ñˆ¤kÔÜ3ˆJìEFÖÍ™H¨NhíPd•µ(*ˆ`p.bTqXÕŠÒ@v—‚¤ª¤)K„î:}­"ò­„Ê1ÂPYXÛ<Ç­¯>cvX˜Ø–Í5š}nÞøšõí3ln®ÉôÔè„DFªMÀUЧν¸kJŽÓß_rQ¦º1l_Q@l4ð]În;û‡‰¡`}^iŠI3 3® \ª ÃbÞ‘œgÁ%Õ6²Vy‰s•¬ ÝS©ÊüЬ’MŸó'q>Ne%ý”ßXˆ±‚©å»««dݺXç•—…‘÷¹¯¥Å:ƒuâ(íÿL«çxBvF ) /Ïjœ0ºµ(tŠÕëú4?Ã$A3à¸kb¤)Ñ4 !8Bt%j‰mÇ,6ܽuO~ï×5•wÔk‚¯YÝØ`¾lȹp|¸Ç­›wùâóÜüê ^õ:++cöwã¬%–BÓeÑ—–\ ‡G‡"éùoþìߨF{wïñàÞ]‘•QM;ÌfìÎ;8å,§V Áumd‘ •«(©ÅC)[*k¨*©|‹¯ k8zø„æxŸ×ž]ãíkWYÙܼ÷„ ÁóÒ¸â‚uì4KþüÊyî.çwo^ܤmà•çϰëjÜñ1/…Â,;îŽYÃÎÁœõúˆSÓMö»9Ý=$\|–ïþì-ÎoMxrtˆmæ´á™çŸckuÄ©3§8{nÓ[Sþâÿøž9½ÆíüÝ£9‹ÃC®>ÿÜáÚâ>ÏÇ\Y3tMäÆÝ]._¾Ät‚7øÕMÞýÇ/™l¯Œc¼ |øÎ—˜Ø1r™S£1Mœ³,cÎ]}‰Æ¼²X’ÑÑi‘ËdXçQ´2—Q?¥áJÅÝå–‰ɈÝ÷pµ~ª$Z ðX#ÕzQí‚-“Æú!DV2=! \c-mŒ"V4–le…átUXJ ºBi­Õ)œµØ Î8u)e™x¥¤ì•„J>°¢Žê1ÇadÄS;¬JJÊóA»C09KPtí‹ÕC´h°«h»Š¦· RÂCŽyÐjõ{q©Äaåf½!=œ¦LEÃc}ådõ¢Ed_ ¡·©#T"Ö´Öb‹Q¤¾{Ë~íu°)SiAXŠ‚uhh!INœ¡¿ÈÏj³h"$¢>Q{'S° °>S9| „³»å€âðÞ):‹È¼NT.ý|5ÆçÂå+Wøææ-"…Ç÷¸ô̦uàò³¸°}ŠÑ¤Æû@¥ï£)’ùhŠ¡ò¢‰)kΙÁù Êý™;G)ò ÊÅês$)y¤[ÉT^»Ñ|yèÚN’T^‘bTÖc%Y°”a²c;ÜE=t[9WçóùSÛ™þ·1ËÔÖ “‘qÁóÛßü–ÕÍ Ö7ÖX]YÅWÞ{ d_6üÛ¿üÙ}òÞ{—/¾ø‚ûO0_Îi›«ÞsùÊ%Ú¶¡ 5®2st¼‡µ†E*/äžþÿ«?}ÃÚŠÇyôÍmR‰„qM40?œq°7ãLm™Ö™ud2•D¶ÄbRÄ«X¹ªð’¨íL‘1™ºšBìøò‡xñÅkìÏ ]áåшK¯>ÇVq´³cîµ™‡‡ 9ÃÎrÓçyù•k¼´V±ÿ³3—¨¶×˜-fÄÜ‘›~2æwòþ«ÁÛÿ仜=ÕñèñW´Ù3kŽùÉßâÝOw¹ïKJ±Í’OoÜ&ä)ÏÎóÊðéÑ‚Ïðìö ó½=V§SêjÌ^{“ó›+tw¿`5Í©¼åÔÊ”®M|òxéú:§76˜lÇÂw¿û<©Y°±¶AÚñî{ŸQc˜Ô†5ï¡Ëì/:Î~ç-*§Ý§ÞÒ‰YÆðN…ÏÚƘA,Ù¯xœ“ kž2ÐL$È=g§H÷é<)A6Kœ«ÅÕd¤ûG' ß²„?5=êó½ ²âq=íßZÑ^ ¢V3è?Ú)º$ÿì£a²ìLpNV ÊŠ)úÁƒ)”×¢½þï#Ez¤Aåý°>”"õ„RÜO…bê¸.ßWk-±KƒPºëºA¿"ElÁ¨KÌh\O1Òá#kFïžJ™J¯%Ú¯ã§& =R@u6F£r°êŠT­R?%É9V{««ÿËØÿSß7뜬Ùb¢UU÷v35Ãgd1IÄÜE' ’Ï(bä¶KÃzÈhVRiÆY^{õRZ²»³K\.Ø>s†ñx¤¯A»¬À×T40»¦k;¬­)X‚ …½ä¬j2ªJ†XYƒÊs¢qŠê\¼÷òóäDÎå$¶ÃJw;d-¢†2¦Š“‰ÐƒÇGìì´œ>=f}Õ W+¸“‰1Wy™$"qU%%yÝÆheÖÕ1à‚|Žª1$ ¨_÷|$)&œ:Z5€Þp‘†n\&T Ò2ÄðÈ9Q…J58yXC÷S§^¿$ âNæoÖŒœ¹FõH&âdlq$Ôù¬x”žÝd³L‡mpª’¬u5ÙˆI‚^›hŒè´ÈX$íÁšå’Éx¢ì7;ȼwDÕôôY¨%%ТÓÑæþ/Hä®f°œ:µÅÎ΋¾¼ýˆ/>»ÃÎñ’7ò¸zÂtu©ÅÇx:žõþûQ“GlÕª¯HëË›•¢˜#|=Ò3WÎΘŸ’! ñɘS~j}¥±W½ó×0¸¸{éG‰bxê:©@×Ádu•Êm=÷ü3-”úß,ÿ.DïÔ¨ÉAbŒ`€½¯¡çú@J…³m£ýÙS¦ ÓÅUT_t}í‚ úa4,?Ñ›Và„±èõÌBÈœ…#T5­¢2 r¥(ŽM”t²…I *µßZÉöDùy×Jb@ÎX28GÓ4ììƒ5Ü¿ÿ€7nðÎ;ïp÷î=~÷áû|só&‹ùŒ£Ã=b‘¤›¤ÔÿÜuüè7Ø:½-™EÓa«Àñ|IÓuŒ¼cº²Æáñm³ÀýwþÇoäìyðè1{wosaº±N—:Ž÷8:l{˪·LƒÃ:¨´ûšµ‰N+iÉ‹ 1’ÍLjÏ$ˆM?gbN|`#íÎ}¾ÿãëœåE~ýÎ ¬ñÔ§V¸{ÔòÙÎc¦ÆðæÔ0.ž¼sŸÝÂbÆãÙˆwï?æë½¦+«lLW¸tyÄõÿàG¼ôƒWyãzÅâxƓǘ°`vÐr¸ÄÆØóá»_ñõíj›¹|q•ßÿš;·îñÂj`µ$>n#f²Æs«5û3Ö·§üúÏyå…çX[[e¹»äÞgŸ2?X°sÐp³Kó¯¼@)KöùÅO¯³¹:“à˜}sŸ¾¸‰-So™ÑaÄ\غò ~u,°Ó•ušÛç…‹’ÍÐAT•× Û £ôž’tôï‘¡iNÖC—`.Hä‡U])¢!jôÀ·CqãaiŸ_(…×Ñv"XÈN iíì '¢_ÑÙA<=¬ú”’µppZ `úU~¿À0¹4°çËôo]Ud]';yc%ƒ®Ÿ$5m‹¯Ô—Uï¥9†E3÷ '»ý“ŸYµ`zÆ “´°S½˜³OÑ!Õâ[zNÙ¢EP¯Eëy;%êjS»¬+¿Œ Ç7gT¸¥ÕOíÄ( €Ó<ÀF…*mz­›1Oa, ¾+”U «]Ûb+/« ÊBníÃx¬x8{î,/_{‹çÏKàt6s$̓·ßÖµÅ'à,Ö*„ñ[ñOãƒòtDçC°Ji—ξ_¹Yg‰)Ê $´IZ”éßk ÞU$“ð¶&XApX'S³¯¾~H]OØÚ±2 ZtJaÑvQ~Ž,Ör¡JçaUW tÙ`ƒUÑ/T¡‚,ëÄ~jYzœ6:Þ‡!,9ç$———US¨ÀàCÐâ)‘R˜Q}Pu¢ï‹1>u9Æo}‡‚ß@°†hd"î¬#Ôf>×þD’PzäHŸ¥ îÁ—b–0ŠI‘‹·dJEܱÖdd¹%J‘5¼91†ôëù“ÙèÝÿÚ“¦%Ë3,+þ2Dßô+ùÊ-ð+«ëÜýú;‹<&aÂÚºãèÞ.ëgׇ +_ÁÁôŽì¬S¦~ŇÒþ›®Us:OcÔ×!nÞ¾êÙsÖœ4Ë!œ5Cˆº%©¹É ÑEâ".X':WãdÚc×4ÃáÞ1ÕÆ¶]¼Q#[“$Z¬ˆfÍêY Áä|ŸåàœÅ« ü$.' ïýàŠVÞ_ßÔÇ.j˜¸£M¤`¢P¬—Æ£ t;ˆÕœ,`ã5VÌØë‡1D#Ú§Ø 2Æ*OÐèê4§¬“ÃŒIÂÔŠ)Å¥¤t˜a8@‰Ma>_0¬(5^܈üî}>üàw™Þí:~#܈×^{‘z}…†Ìá“ÇœZMŒ}Æ–H·œ±Üß'wvQõ_Kb3çàÞ}–zÁ:½pãSL£AÔ®®©®‹Ã8º‡Ë¨‡nöÓ›\ZŒËøÊ`œ‚ûR&ƒ¢ [†ðY™˜ÁÉÒó±zÁg)…¦ièb7tþ=ôÎ+ G\^ž”E¬ïTèjØ©Ü,}þ Ê»jÚÎbRNhzzŒâêë™[1F-¤ECÖTmדI¢Ujw0'ïÓt÷^/Ü61¦áç  ˜µNÖ‚¹íWµŒåû ®”膩ªp€–mC5áë^ãä„í Ω&B êlNºc¡ö¢Li'ÓØ.u´¹Þ¿ØI§žŠë®¢WÇšLûä¢> ‰%K ÀPDv0kÔ‘›S¢˜Ž3ó%<ÞÙcesB= xä¨*%ûq  N)“Ûˆq¾®±>àÂh ˜[]œ cÉ:–±#y+ãdø ŒÖÏÊ3Lˆ6+Ή²/"ªª¢iškÐ_€=•]@–ñ„Ô­—gÎYÖkE"[´Áð–¦Yàj™’ÇÞa…d½eMGè ê±H|—Q8k’lC%N<ÍoC«–J' ÝS ¯o}½~¦wáöÏxU—³)^VN¹‚0±¼—çf4’€ÞPU`ƒNÁáÂ¥ üøí²åÏ¿ö/^<…›ß£,ÛWÆÜûòír!ß¿‚bl¥ØaJ(º%™¶ÇÕÓa)29Ô&ì©ÞjøÿG úõˆT`~x¨<¥ô-°ìI2„•µcb1¢ëù|£ªbÑf’U •s„àõ3¯1rr”ì)a^ÕH¤õh<ø—‹¹dA*Pǃ‘I¢“Ê0ÁMEp-±ÌæK4GE°#R4oÐ*BÎqZßëJ¥úÿÉz³_ËÎóÌï÷Mkí}æsj.²ŠE–DQ¤e6­É¶l˱4œvܶa·t'AvìÜä2ò$@‹\AÐIn¤ §[–5XÔDq&‹EÖ<œ:ãÞk}S.Þ÷[û°#AEPuÎÙg­ï{‡çù=aÈ~Î|¤Eßwx'z6Y¹&Lñ|Í ²ˆÚÅ8±Bc¤T¦IñÌw '§ )R¬N½³|ãëß”çÏðŽì-x‹­—[äJµã¥A][_'å­Ï>ãðø„E΂٩ ?=9áøøˆGO“ÆÈr1àþêOÿõ¬Ü‘~òSdöžš#2ŒRµõÞ²Ó ¿&X«zKª`k!8‹3ò!ú.Œeæ Þ¹°«¦Éc)¨)¼ýæOYñ:/_½Ê7ÿþ¯?ð? IDATú„£ýS®mu\¾¸Çéñ!ÏÚùsœ¯™¯ìíp¾wlv3–ƒáÁÁ¿ÿ¯¾òE–cæéÑ&{kû,ì9Þü©D^üÒÍó, oýì3žÝ{Èæî:®^¾y?ÚçꋘÃÃ;OxáÚ¾óþ»|=—‡Ü»û˜ñèý_ptï[;sö×7ðk3¾ðÚMºÍDÍ' cæôpÉõs;œ»ºN¡žrëÝÛÜzø”Î6½Å›B.–EÆÀ ßü†ZUµ3*…>t˜ A£ŠHÞ{r*,Ç,BÊš1F2Ål)xcÓ ºòÔ}¬"k´ã«–`&8ªQގƹ`Áá¶d=\%Å@:©1ŽøZ=«êš²:WcJJ ®³“þfÞ÷âb3–®¢°+Rü¤0ªµ*¢¹IU'^)Q½Ç „ ÙQ"»LÁ¬ø ”¢?¿“b1Ç¢<¬,Ù„¥Š ¾®¦9!x¼“©ˆhí:‰8T; +álr*qXø8I„ë¶R­\|N'Îú©¸i—à0 th] –êW:»‰­À;WÏàaZ!ÉÏd¦Ñx©•‹ Á†N&̾“~V/RAoíÓ´I¥àõ †AÈ×L@ÁK©©FB†½Ÿœ_&ËÜ¢*Ê{ÎswPJŒjâ(šÉW¨j 3Ø*1%òó($e]µÈÔpÊ×3"/J¼÷ÞÉÔJlŠ®—›E[k"Q°%ððÉörn{.®uI¤‹¥sŽ4,©:Ië½Ç„™^N %€©‚\q¶#ÆŠñèÈtÍëJVîYUˆ+z™½r9I£µ°n€Ë&înkîfA÷ÖO—‰órQæ"çA©E'N2©¶(ÄQܪ§Ò”D)è £9;ÕßU#ÍPËé“i…UѼ˜ *2½hüœpžZ¬w¬%媱.U'õ9º.£ð¤t]fŒÓ釜M¹F göš³YdjÓ49q-WG*‘sç/ò•_z«»»¼ðÂó|ûw~‹[o¿~åñ!{ìÎÖXxU&ýÍÐB‡qyöFb€ªJ4Z’„<ÂuÆÉçàœ:ìšã5É” ð]›œ‹ûY¦YèZ4~1F5œä‰ÊÞ¾:NÓ1d›Yz£,=5Wd=2VVxýÚì ½×i[™ôœV ZÁ·(HÕ=SŒžª‡m—q¢W²kE&á‚›®+eu~ÕUÆmN2Ynëá¢+s£îè’“²úZ€:T[ÏH’+¹X…¡BF$2Á9ÝÎX¶''§Ìû@ð2qÅz666ùäÖǰ4ŸE×* 3Ä$U]#Äç§‹%År„ ë9wiZ,e9pON™­¯3,–,(Ø<âþòŸþG¯ÛnFLðþ$#^k‰±òäé)Ïï®;ØñäÂdL-„®gPŠvpAÂgKÅQIcÂ;ÃÚ¬Sf0lŒ•Þ«ˆù¤XNî?ãÆ«—xºox훯q”N¸{çÛËÌ£!óÉ°äÆ‹Ï³¹xñõר¼òo~x‹Ë{;t3¸ÿøˆýg§|å«çyüt¤Ô€9}Èî…süÊW^ ,öY>+Ü6rx÷~yå—¯³un¸Xð7ßûˆÛO¹âÓ’«~ƒy<…\™oc}oƒ/]Ýa~ý9ÊlÎ…/|‰?ÿ¯ÿ._ÙàÖ/Þç9Ãid27o^ŤB7[ãîý>¹ó„™óÌ­,§­©ò†_ÿ*¦—NÈ;GͺK×¼?€Ù¬ŸªsY: #ʵ'Õ,Ã,/‘ ~ ×l‰ä§§‹É^K9cÙ­«”û*zæ ï©áŠ®„Œ:I&>Í™l¸j­è¥wÇŒ“1|*…BÅÃedJ¾ÏÕ7´båœéUƒ¢‰É’Óà år €R@†Ö{Œ2jÚIØ)vêÔ¤;ÏÚÍc+«ÂÌ­4>E_Ú"'ª^Jâæ‹1R)e)XWqÆË*Ázš$¾aZ€oQ‰›õ ËÅT0u$µÖ:ÙÝLÚ´¬‘ë[ òõ÷D©øÐ‘ªPꧨͤ“¼Æ@.YrU87e­éäÍä"®¶®Ã7=’iéõR8ˆ¸ßNk’ÜŠ:c&6ZM·ò¸Äò-‘+Lœ´i-‹‘ &erÇ H4h² ]‹=RfQcøe…e±‰‘!3ÄQÃqeMÜŒdGîß=Â»Ž­9³¹—‚Ìt•G¬sr9ù5…¯ŠË,Õ ¨ñÝœ÷DE‚Xë5æÈŠ­Ýµ¢PNêñšèÛE~NçÕ)åd2YKÁÑÁ8uÚ6’»sFÖt”I?Øþct.Ø„óή »-ÈÝ*y¼ë» 2 nìƒÕÐa³¶Ô#±B謾3ºËvž]Ù9× =79õš¾«A}SŠtÝÙ‰i×ÎCq‚Ê”ºóŽ\3ÁÏDÿŒffʳßw3ù=xÇå+W¸rõ*óµ ¶Ÿ_çí¼ÇìêUØÆÞ ÏÑ·óέ(âmÕØ¸uäîÇAcª½Ltö¢,°6ÅZMÿ”5g+¥X™ö»0¡QP¾`Š«x¬8ì[ÏC]F¢9ÛÛë„ïÆ©;áqœ¾7È"i³3Øj§íO©ò¾Û*üÇXÛ3Ž#Í,çxdH›[ëüâwňn-8#záb«b“Ð2µàŒ—f{¹ähÿ)WŸNt…iÀÏóìàYwv°àþâŸüƒ×Ãl“q,ÜþÙ›,‡Sfëkñô8±u³ #úaŒÌº› [›kX퀫­ZÙJ¥h½%[8…ê<ÅY\‰ê,,S‚yÉKÖÎí1Ÿo°vå:7oîñæwHŠÏðôxÉ¥àéã‚òð)~ü!O—̰¼úêWX<äÓ»'¼þ[_áÎ'8es[\¿qcç_8ÝÀΕëÜúøÏ]Þä‹/_åpILpãæœ/<9J<‰°X[ãÚk\»rž/¾p•«/Ýääá36×·¹øÜEößâ…—®áÏã_yŽ çæ<9\°¿?²ÞõÜ|ñq(xÛóæ›ïpÿÞ®Dz'@½®ë(ÕÓÈå/¼AØXîJN’½gDŸÔâ\lÑ`ÛfQ×j>QY[Û˜B;%ÙÉDD!nÒû €»UÑt6ßílΖѩWjKP²Ÿþ?S(r.W9~µA7Ûÿn‡g­J¶’á…85xK^ÍÍ[Qó¤'2Úç±ã|n:eurUµƒµº“hÑâJq EOìT¸` tDªLq òý¶ïG´`â”g>3…¦Ö"ݬ&®Öªç§â¡AüÚçg#N§Bâz+/pAÑn‰–ªjÆ ó~Z#å\pJŒ·’(MÔïóä( ÆKÕœ,CV6’÷N£Š„üæ<=+zcàí QÚt¤åÜY¡ÒËd5Mk]w¦øÑ畜¦ ¥÷¬DùˆãºL+oE‘É!Üìâµ²ˆ‰Y×i¤ÅØ:McNtz鵟¡1ìì<¤ ¨Ò™:'᲋\xûç²¾1ãüžg¾¶ƒ©3jä³wžR-ÁψÒzkþ¡:E™o¦ZåmÉ:»qÑBи!ç@ ôNN-èA®â$ ^ôMz–ZgUŒŸVÅžâ[ª²¨DRR¦É5š"Q­ìµm‚Q©DNi*ú&G8µ7öœi=½ ¤ø•IYÒµ¨LЙÞAÕ¨pU!ÑÃr±œºÆYÉQTÊ|°ò<±=i“+Éí¯“Dl ‹Ó%kó yþ”Üþüy>ýìS†åÈqвùipÝ\T£,ëᜳY©#Ã82wžk/<ÏÆæ&žì,œ.H©rùü9¶·v9ØŠû«?ùƒ×‡lèýœ[?þ;ªÈŽŽŽxtpJEöÒM˜Z5$6‡!³æî6HЯsëÁ›6°8#y=Î+!×:¿bïØ •“ù5®ß±m s¾õûßâ‹¿ò÷xú½7yº¾ÆÇØÊ={{¾Dºì¹³\²8>äR¿É~*ì^{‰µ>0ÖW_zŽk,ã6§÷sŸÝ{ÀÖÞe¾þíWð9ãã.µKœ;¿Ã­w?ã$lpi³ç£'ûäÚñâÍk”·ßgxp—µ£‡œ;9!>bá,ËÙ6o½uÌÓGÏ–t›—øäÖm.¬9^¾q×msrxÄϾÿcö3kf¾â­8–bxáâ+_gãÂîô0Y`¾Ó+"p6º2Ã6`¬׊ì¬w¤qœ2æZŽT©‰”›È±‰9WBô™órxªÐÚê[»·ŠÍ…zFÔ.O7¡jgä¥X«yœºxR‘¿_NŠœä &íUÜ =cš. Í´bš¬Ug[×lÈuzé¥kñJY­`Ô_kÁ$ÃécãWkL nÍ9Nì¬|áæàj]éäRÓPhouL®ú¢]1ä‰udÏ8þdâ–¦ÏÛ)¯©ZÉ)³uµ2kl4ƒhâ8jŽYƒK/‡ ,o-qŒ¸ÐáªD½„nNðvÊÞš…@Ôu\[Gy/!ÚFWÈ“à_³ØÆq\Vn¤¸o¤ä–ùDZ:‰'i¹n HµÈù‘'Zž,êS”‰u¸ zã¼ØÛÛ³º»hµ&9±†ì > ¦¢6B9†ã!óôÑ.\Øewmb*a-P³eÖ͵ëöXRèM£qj1+Ó)Lú¾gG\-iê _.L.[±Ï ܲeCz ®j¼Rv:Yìú¹<;z)N)“C1K‘a̪¸*YA”`ƒ^$UŠcmïà”¨”õ&–)‹L_«:zS’ÜSI–Rï·£L!*©g®¨Ó³”¦Ñ‘¼Hç­ÆRɹQ*ê@têP’W7›Qrf½³àgXWtšmuÅŠºù¯`­!¦H°žºŒdc¸zí:ßý—Íõ7^gyøŒÍõuº¾Ã¹0‰î­³„àIQdÍ\4e~VÈU °¶V A '9¯€ºT™¬'z7Yûef³™þ3ºŽçÅeÙ÷sJ•é¤5v‚J¼/uIšíÆEœxB?W¦VbŒ#ÃrA­•ÓÓS)’½Ÿ22«2 ×t‹W&=×Û¤Ù8ÑF:Õ!Ê´k$C®µFŒ›hÈ+7³¾Ã²ö4Ó„MLarËúÑé3í'ÑËj­Ê6ìº9F i3 RìrvÄ0VÓH‰šþ ÷ÜgçÜ^Ïk,¡,NNxôð1‡) çÎ81¶¹ ÆqÖ3ë)G6f3ŽON°©pãÅ b.tµkât9°±~ÆáÁî¿ø“ðú,Ìñ³Ž;o¿ÅÓgû˜õ9㢰xD*"^,ÕpZÀÔL¬† kñÆàú@—23ï‰9k·*—˜3rxµ2 ½×K,%lç ˆýtÿážå:þè)˜LbÉå {||rÂÛ?þ„¹òÎ2óögä ¦rnfùìpÍ8šÍùGþ'ln̸tù"³µ;ùðî]þÏÿã;ìØ=•]ž=åçïÞã÷?åÆË¬_^çÿßá³GüÒÍËYœ²¾±ƒM§,Oƈ©ë «bvyáçksŠ6P"ó0Í‘4Š«h‡³N œ+ø*®>M˜§æk¤ù¯Y¥(F£–r¥æªL5ÑÙ{ß1#Ϊ^£­**áPG»o Z/ç³)•Åb!›1ÊJkgÔ!Yûi§úBÁ•yÕpY,‰ÃgXÛ‚ÁOÌ ’áÊó—¹õɧk°FùcÞ‹±VÙÔ‚wjäàpdogÆæÖ(®¡³…Ó£gÌç›\¾|™ƒÃÜ_üé?|ÝØŒçÁïsçá=f;[œðìpÁiÊÓË좬£³•` è¬Ñü³$׿ëPÚèaÈQÖ&VS–i‚ÓPãy(<~œxõó>=f{}è¡_&ú÷?ãÕ¯¼ÂÁþ>Mà‰ÝfÖðüõ ™9ÿÞ?ùžÝ¿Å·Ÿrñâó ‹SŽ÷ï³¹ؽú÷ÿãõW^æÃgP—Îïaíç7®ò¯¾ÿ6;ýœß¾q™å¸äÃýCBíøÝ_ý&[‡'TS8=>áÍÓ£ Wùý?ú6.8|ïžÜÿ€Ð†(«±ßxýú£ Îr|ÿ1?xëml6̬êcf$s¡ÇK¿ò«t»[ìÛV=Ú=dáO6~]¿Œc¢ï;ŽŽŽ„9¤•³‰ïRlèØ¶¬ZUõRÞbϬtÌ„AXY•…·dô¥‘"(©æGrã˜&‘iÎri·)‚³Ž¬ií¨NF&2®nQ-Q]"E€oR’B75T™Šu¸JŽiú: ü'YW2Ñ«F/|Ó~ö•ÆÄX&!®5N&qaÏâ$CHWCÓßËï…ˆ¬þiÅÒ–ŒÎ®ÜHY§8’“¥ÿ>“¹ÖÖ*MÈŒw4FhñÍDÐþ¼ÏÿÙvúþ¬µÄQôF©ä)“ÒN‚ø£K4nú÷rÕB»*É_;Ý\äð/YXG9+¹_â8d+gÞ*à¶uñ^WœY Ž)N…½¸-åg*)‰ƒÇYµrÓ¬ ¢õ ÌÕŠºï*­Ú+ÑŠ„HuÒ>ŸªºUä‹£ùáÄùKÙ[_#Ì;]›Hc’”yÕXRq\*õÞhX­¸éZ柧«U{³êO̓qª“’ç¹á/&€£râŒsÒäœY³ÔÚâDÚX–iý.[›dÊȬ¹Se:”õ¯«®éÌDoÏ][u7Ó×B¨éuBâäÕ¢R åræÏcŠvšœlLPƒºeÇqœ~97‡×õºFÃ4Ç´)“ ± ~Ò-I[pUVÊËű>/vÂ=4a{&óŒqÀZÃ0.9·»Ç·?%ƒ·µí iÊ S Ó€É9‹ @‹D‘dJ6Ó¾å»ÓØ|I'_’¬¼¼â/œfV¹ƒ›Š1)6‹S ¶’Ü•ÈÄ½š‚³™“ÓQ2þ´LqÄxX.—,K¼ ŒCdÖõŒ1j"ƒ—s\Ÿ—å8„,Ÿq'‘UFqY F9F‚·Ó”+§$ÍŸFO%ý>Ó-7IÀdÆ©“­žÑÙ¢ ŸuŽà-uLäTéBO– 1!ˆCYâZë¤wÌH£,xÕ7ê5½À¦,Æc99:fmsSÖÚNîŒà±TûO%¯´ÈÊÝ·U½š˜ Ð[ÃX+ËÅ’£ýc6fsÖv¶qÞ³89%8ØÙÙÅTx,NOpùgøºq:öoßâãO>Æ®÷Ô”yøø€Ó\5EZBÖcsÎM… g:aq¡cÌB€¶5ÑëÃYT@›“¤qKrµˆ$}Ÿ8Y@ÏéÑSv®|¿6à–ûœžÁ{·Ù¹¸ÇptÄqeÆÞµçùÂó×}æÿWYšG¼óæG<>8à»ßy“Д…åÞýg\6s~~û7ÜŒç¯ê80ßYãæ«_çÖgŸðƒ½Ã§ËÈîæœ 3ÞzxÀš·Ü¼²K¸ÿ)ûËSþÍrÎ/(ü§ÿüØíGúYæ½w0,Nøé;·xÿý÷™—%ß~u‹zZ)nà­ŸÿŒ»Ÿ>ÙJpʱ¥’ŠeæÜüÕß ›Ï¦1)Fªø\+]ŠÓ—8F]ÿÙçw]7‰Á›Î§‰Ú›Û ˆYÍ—B唚FDV“ÝuÒ]­Ã5gl…l’(uY&gÞwÓ¸*°uê8Ò]6௿²lË4'¥¬]m ¦²·wbë]ñ´ò$§T|¯Éí(Yâmb‘¯ Qïz½І5—I\/肆ê“âLÖ(«)[Êbß6ZT9µ&·l1ãFŠ.’wN„§èJ+—Ï]ÄEdYC‡ÛTÊ[KógÛ–s¦“§ àÕU·¼²ü÷³žå8ÂL]«éÒ¡—q+Ê”.è‡a„L¡s)ꪴxëÉ1J–¢s³ÐSX1‰¬Ý][A#È ¬hH¦©®><†ê„ø_s¡8£Ý-ø 9ÎÙÉÐXC­HŒq¤ïº#dÅ:‰ö 4ët0²H‰O>øŒ ÷¸¸»³ Gn…meÒ¯8ã§5i[§Ò¤kÄf¬é&dƒŸr† gN¾rVý› $û5L|¹V¼L:=k z©Yk©V×Þ ¢:«:ÙÝW™oSaPªNÍó¤ç³úyžeeÕÚ"ºì”õ׊eï­–Sa6› !t”’u=œ'ÖZ-b9==e>ŸOß¿VU§›Vd#YïÚj¦³«å'¶U|£Ðà*Yt|5Œ#ÎYµ;]±­”õÛ0 SáSÕu˜cââÕKüøÿý.—¾öUʃÇlîlM¨–vv6I€¬ŠcÉÈ÷£dû2mšŒ"Mâõ³ü8LC¸è„¥—"f 8Îfkg¤-lÛ*]ró–CÄÎ×ÈË#!ó¯Í(Eðâ07˜šÛÓ 6sQ½¢„Ž+dwÑÌj"BQ4†·Fc´œŠÀs©Ê-´[¦ ФÜ42¼L³¬âÊû"Žm罤X1t™Æ?4bF1úuªJ=ª8>ñ½aX,µ¹”Â4¦¨|mÑ‘VŒà¢t»Ô¡Y*<~ðó$_ÖAŽ‘Tagg›'Ÿ}Êöö&]˜ak’}±t¡²\.‡%‹ã#=>ä³;X‘ö¹¸·É|}‹ÓåÀÑñËĘ"ÃrÉÖÆ>§L¡0›y¹"Äå’àë³9O‡cÑ8HL)‘j Ë Ë,‰è '—G)$,;¡jaH†ÎõdWY Klñ.–¬¯ÏÄê^,ã¢c½ë94ŸÞü›·øÍ?~‰¸_(ý‚Ë_Úaã÷^çö÷?âòÆœqäããÊ“ƒCö/]äK_¼ÂÖù‘O1r4 lú³kÛܼù*3G—žòèAeÜ?àgo½ÇÜyíÚy†õsôk|öÞgl[Jæ‡ï?à)Kì±á—æÜzÿCÞ<^òq-ܼ¸ÉóŸý>ç·¥#?=ìBaó4‹UÝNO©\Á?yÄÓÇw§K6hg4æÂ@e­ÎYïgØÞáÕ©"š#y8ý4¡Xi)¼÷c9a hH®1ì̤y˜xQ¥ê^U%ø5PK÷htBVªÒý=ÎéZ2Œ]éG¬ÿ IDATì¿tÚiɃ-Йpڳ虵¨)$rŠ8ßÉ»Õܵ]Ç8 8 â(l“i§Ÿy[AŒRíÝTH4–Ôb1â½Ã«qA&Dv"¿['|1¯MHP]ÆL>kÅ?ĈWúuB¨ï»NHàÖ0æ8ÃU3/S†U-ll¬1ÆqJ–8;AÆÈÜõÓ4ê´ÎLÓ¿&ôŽ12ëæø^âd„!1¹²¾¾ÎÑÑñ*<|JK`"{Ïf3]9;ª“K:Xǹõ ®~é&ÿä=¾puG˜`.2CeXQék*Ëå€=!ôªE*ŸË¿ãHÄZy§?·ÏYt‡ª1“ÏÞ’Òˆ÷¤=àˆ£f>¦B*Á͈qPçäHËÅñ>ëÞ³©@ÑæÑã‡luŽÍ¶±ÆñÉýÔq‹>~å—¾À…K»<¾ÿ„q8eñé}v^z…ÿå_‡ ©òµ=î?>áúÿ7~ü)wŽ^ºp‰Wž¿ yFÞq¼ˆì/îœð­7^ãÏþó?b¾µÄ[8^$~øãYœðøxàþ“–ÃȸHüúW®á»MŽßå‡ïÜf3X[)I¦]ñ .qnçÏ}í ºN\UÁ;â8Lº‹Ï¯™:Y¶Èº6×BLO!&%OKÕ©FlÉ…‰%÷ÀXe½R+gÖèZ0 ï(':ßɲ0 ãȵɖEãRjÂ‡Ž’P˜‹¼0c’qtgÞ8ë«kÑ™ZU&²©N :Ñ×£œ¥,ú$/ëŠ5'¡I‹!@' žh™D¦ÖZq¼Õ,9`NV÷Ö %Ù{GŽ…ìÁyœ­2!hÈ„ÜfGe¬¦”e\îÜ™˜ÿëHÜW;1³ªY]>N™( º9«„›S•ÆTÁ Úù ¡¼Ê ÒË*¶©Ò¢§4{ŠÒ%‹NaÂpTä­ÜEÖŠØ9Æ4Ù²Û:y9Œ];éÔAôþ N@ZíY¥ZŠ:¬šCV LSc-KVhb‘4Å\ËÿFÙZ%V(ëêW>«&nÏ9ix·²·t´oÕý‡fåÕq¤ZÏOúkžYçØÛÛ™V¾ÎxŠqÔ(¹œÅZŠÉtW HÈ)Ó÷ªÕ 2 hŸ¿ W\¡oõ‡• f M’¬ ÇñFÝ]šãgk–‰¶Æ3ÉÚNš'£áß ªÛÂÍK­ cTrø¬FBÖuÒøCÆ!¨‹9mî==­¡Ò÷µTÉÅ`l%ç…8Åu÷žbÒBÉèûg(Ö³dæl?GI·Ö*d·­“ô³-YñªëQ7®±•â1 瓌1á;/&«TÈE#V¦ˆ1-zM¥F1¤´h,™Ý]¾ÿ·ßãÊË_¡,ŽØÚZ§©gL&Ó)‹Ž´™9“öõó¡ÎžaˆÛBÇoaE{å¬Å!¦ƒ¢NB‘t8j–‰f¬â(ºŽÅÑ1ûO(TÎí£3¢™-%b½d ŽqÄ£&H1±X>ÅyÑK¦Rð³^4•E"¿|ïÉi„Ò¸‰ŠÅÙNÜÞAB›%nGªüRe`Z£ZDwÛ"yŠ)äºÊ‹- X1*_hš6ã$ïÕ¤¬\.Ù`Ô1U?3ÕªUâqd4nÅ$_t2×d –H§¨‡`dCr¼ÌlÍý„O?ùÅ%B!öO$…½ Ì¥˜ð¹â#°,Kdg>—sŒô}ϰÀË.>ÉX“î’ Áy Ó“SáñÝl“K7n23§Œ¹r~o“e}FçY¿2'.—ì\ÙàÒåuìÉ —^¾Âñþ§Éã»×®ßàÆÍ]~ôƒwùô£ÛìyÏㇼvõ:'Ì£»Œ'ÇüËï½ÍƒGJüžbd`¥}²«A£ò³Ê$ª[%§|æp¶g ‚fºÌå`6Ä’] ¤(Z%nÛà'Ø©  ¢ZÂÝt‘µuïÙ•`³ñËuOXu+Õ8úÙŒaŒ*©^­L¥ Vñ¬•®ï{Æ©HUÛ@¦Óáªq[곜€³­è;“3‘ºsÓòè*¬=cŒt¢3$ªè.”5ÕŠCqžË3uïáS~ñö-.œß`mnÙÝÞ“Ü<»Ò¾Ù "ÙÐ8Eg¢£ZôIˬ´­xj?ƒ•ÉãrTpf© y¤ë{ùÙ³<“+}ÕYú¿jÓÔ|ÒòI›¾G ÿ3«ý …N4•¹fúY?¹Ï¬w“N²M×ÚsjZH»N±[T‹È¼ ©dÅ•èŸ?F…Ú2¹›¾=?“^Ô9ivRcÆ”Gç¦8°VXT ·o: ¡ÑùÓ”JáCè]szïE'ðúY¯¢vÑd¥$ÖN×ßð𥸇`\à6×ùø'ï³{ý6gŠ0N¢ûŒÑ‰”ÕwJ˜ 9ã:ãâÆçÔ©¨•B §:9 Œoí0Á ƒªÊ ©ÖJŒQ]…nêØ‹Noû¨et9cÕÍ¢,ݫǒ1Á“Š¸Ô„Ÿiÿ°¼…T%S=Ÿ JmzŽ)„Zƒ¥¤)B¥úÎ9ÕULQÒ•ásŘsê€QÖPɲj¢gc-Cß÷ŸcB56Ì„jE¦3“f«D :#Ì™\Švg~š”UØiÚÅä8Ë¥P¬¨ô• QuUšå—´øö^œxÎJ#ðJéâ&Ñõäl,Ÿ ÄnEÕYM_­jïzj¬0bš†HŠºŒñ­»,+ÖN*õ4›«ßQ®…Чz9w]‡ó¢?lDèöp6ËzÎ+M™5¢ÙÀʳV›ÙB×¼z„c½'åÌ»ŸÜåñ“§\=¿ÇÖZϹsØY¡è”ÈcÈyTXšÌ!mí׸pEרY‘Íx!àEùY*àÚ*©½ÃEâ@ÆqÔ¦U8vTˆ§ ~‚ §Ü´g‰à겊–'J(}?› Ô6A•édüÜD¼6µY3ŒÓ¨µ^#b )Õy2‰ÚS*ÓT²åK½ÀJZs³\.¡ÓC¥àBÐÂÇLÏ™>¯xFcY&sÉ”…7éÖª®žûϱåR’Ä‹ÖhÉTL¥t²^«aÖräÞê-{[¼÷þûÌÏ]ÂÅÄl½Çå,iMZ÷¦”ŠÓH,qk»ÉL01ñÀiD0'é^¬û¹$¼7ª­ ú»2¢³Z´Ô4œ‡„à˜¯Íe*ªSZbP²€NŠ¢Zè|"™¬µj©*è³ spãg`ÞŒVâÔ¤(.ú~NÂÇÑm‚·ÐyOŠ‘R1Òd£ú«x‚ŸÉ{¤“5Ñ_ÉDµ4IŒ÷2mËCUŠDµ© 5Ò˜9«ëum “ÞÏ ÓSçœÄ§µ¬\¡øNNé!¬mlðÉ·XÛÝcÝK4‘÷–jä.Í1ÒÃõ/ÞäÊë<øècréfµd:ïðA6-Þ9Ö×f‚:™¼yþ¹ó|ã[ßàúµ«\ºxS#î¯þì¿>›ÍIƳxòŒ>ü§‹‘j3¶:Æ!3Fy0=tMãŒQ½ÅTC ;ú¹ÇDG¢àŠ@2³1,Ûå“’DHà))Ó[$*¦XG±…Ÿ>ãù—.Ó»Yß1Û¸ˆïž î~XYßu~ðŒ g¨ýœñ?ÿ5/¿zƒ­s\¼xžGwÙ:·‰wëÌ÷6Ø+°Õmóñ/~ÆÍ/¿Àgwîóþ³Cæ©’Œ!÷?ëŽO*[[;,âÀlÎÌ‚#Ù¯ýÖk¸íuÑrëãÛ, l¬AÌ÷œÐ™Ì·¾øãrŸýüSãq¦àL7"K­lô3ÞøõoÁÅKÔâTÓÜ–'pu,s$T‹#Ùlâ—+gÖP…q8ÅV™§¶¶¨JWH¤ug»æ*̽HÆq›xáL|ŽÑ8+àä$p-8íM­".¶Š¡4TB-*šQ¢ÏUø-HõíªrLÈd”¨ÙguríµlÅÝSÌ©·ÕVíÐí4ѳÎ)IÛâlÂYÏ2' Y /îFcÁbuý&w‹© PLU_:±S¨^Šòg-•pïÚôAõSqµàÓUÍ4ÝpÓÅ™®hÔùún"gç”±šF´”V9Œ$6(ú^`…M÷£\4kÐ7÷òyf ÿw5\­xȺFjWsͺŽTššëç(ÕÎ[ªIÓåÚ9/+=í kF3ʤ€c¢æDè{bŠÔ(€Ýr&Æeé*Ó…¥:ŸNiæLXXtòhñÆÉ4©¼Zèå{”3j̉\ ï¾›årÁµ«—Yïf¬mÌ(©¢9š0Dg¢‘"­)A''è¥êœ£Œ£¦oW¨¬#–Œ/⾬¹â»~Ò‰ó}5ÅLúœ[k))ÉÄÍ9ýR!GBß‹kLE¾M(×…^4ˆª×2h*Cs ÖÒ|.¤œéúžÅr¡ÁÓLÓ™Õu½² ­lkæR¦&j¹\J© EŒQߤ Ê2I*U&A³™|ÂêªJA7«lÌVn­f#Ê+-OÍM-Åí0,¥ 6kUÜÞèø¦ û¯‘Ù±”åù‰I$®`’|­+x÷o±~íÛñ³ÖK¬ŠÒÎS.øÔø»œ93¶ÓsÓhý)eÈVî¬ÅyA§÷ªe Úi¬sbucK†à8„à$+0EŒ—©¿WÇy°…gÏž2Ÿ­Qp*Ì/]5•”—§“#.G¡°°µs,ÇSLÀŒyä”Í'ÛRŠÜE¶(q\0,—Ò4z/¹‚rÑ<ÙöŠÃª¤<ŠáE·$Y:'¿ïR31ò»Èqr!¶ÒLÎiÍzÔÿvº š6št’‡…<ÜuÅdk²« ®Ó“Æ“ÌìÂ:37'WÙ®Iq/fo Ï_¾À—¿õU^éK¼úê+¼xí:ï> 81Ÿu]˜Îó0÷XדO`¶åY÷=ËÎúî/ÿô¾^|Í™ãýÇÜù莎G¥ÒlrµÂ ³®Ñ/©Κ·Ì‚e½ÆšÉ8ŽF)fÎÐ;l Aüµ°Œh×!¶3®?å³Oyñ¥¸–G‘u:R̼{pÌùí ÖwÖ¸ûýO0óÀÏò1Ë\xíË7É>ñÞG÷YÛÞá•ópZ0»kÌ—†8œ²¹æ F~vç1§cä?øú—98Üçñý‡œ<¾Ç,ŸÜçÊFÏÑà9p•q}Î׿ýŽJè:R6Þ!Jƒë¼Fxqqé¸^:w¯ ³U¥…BvàÚE£®8ã,Õ9gšU_©•l¤#b°Å8Ch“)¥x·[{æâ÷޹ǜ2™S­ Cª®íãrÐ鄉Z\ m¾0°Æ‹ÃÖ !ÇkWg§b6ó„<«ÿlæœ#) £/'Ó-5ÞÄ”é²bZÚ5SZÄå¤sšðÆaÒq¤VÑa–¤ttõ•È4­Jfkµ¢QrV5DU¯¥s–ûOSý:ØÈîÚšº‹]×SЬӏX€ó’gJ‰2½åóF4¾­K½·“»¹^rŠšÌà°.0Œ‘JÊtŸHïÆIÖBÌmMP+!ÌÈÖŠìF›ŽZ NÝÚÆU22aÓ@ßÍå#w•RL©¼Ãd«0PK*‰Î·¬@73’²¡:ß+ã*+ §Ê곓ߥ£¨Æ5?‰]2r¿˜’§´ ÏÑ:ù½¢kíàuJç4¬ÆdŒ­Â,Q¿®n ôü´®úŽ˜ Ø@§ðf”pê8_ßÞâöqþêzk N¾',„n®¢y™øm†5¶wwØÞÝâ¥/|ýýîÞýLßÁ²6 ØN´aTXä‘Íyë¬nN î¿ú§øz6ŽàãÉ üôMŽ—K‰½1žà,CJ*Š«ú i¤‘©Ep†™Y'‚îdŠÝ*5¼RñX<ŽA¹µÊz §2 o«µøP)Ås2œ’åÊó{<üè6œ²ßbwmÛÁÌA¾wÈ“§¹öÚ‹üõÿóîÜ{À¯üú¯ðæOÂÃ{'lmt\¸xíMÇà2§·òýÝÏ âbà4&nžÛe+tœœ°µ¶Á¹‹yëþ#,Fij±Áïý³Äî¥@°Žùºçî½SŽŽ–Ì]amÓÈ“‡‡üúW^gÛ¼wëcÞ½3Ò¤3¨–Q¡ˆ2Y1ìì^àK¿öTçµsYéO$-<Ë(ÒÊ”%Ç(]º+¬QX§¯tTî}XÿZrü:r•N[D¥Ò ´l½à…Ù" r† #ÝRV,‘lw8%í†àm ;줶[S¢æ™ OɪˆÙPðVb\j­ B÷\*®Aeñä¼i¶žKè3¨Åž5†LÖ¨ ¥*+x4ës53žì¬r2Óç[rT›¬QšûR ;ªªf-êßS×âÄ*ðk Æ–X0…]zG6’ejŠŽiBädB&‡¬YE·¢pïÄýè¤pk¢þ¤¬ucd¡ry†Ð­Öqj6¬&Fœ•ËO¾ïà¥(vë"Ågc¦ÅUÝ´V”H¢)GP Œ¦Ç™’-–™œ¦”¤£FF§™‰J.ºþÕ¯=ÅCéꣽ#ÎÍÙ¶ rËç.®RŒXŒL@«ÒÒ-¸}ï×.í²½µÆÞÞÎ{‚u+LÅ.Yûz¥ÊÁoU÷&h]“š‡ª±ã¨éŒ‘ÄL!ß²ò’âÅ;Ň h œhSgó¹j#íû­µÅ)¢Jß‹Nç¬;/—¢š&§—³bUäUÿº¨ãÓëÏ+«Â6–œÎ®›kãÆ4µr΀Bƒ׋–A©kü)¤ûÌ;,S)wFnÇ¥8°} ECŠ+ƨ®‹wA5P~*®„Û”¦,ÅR ©ÊT¼9Ê’Nö„YVÆæsŽìeªm5žeëÂ9ÞùÑ[l¾ø"ë¥ÐÍ:‚“Nµ9Œ½âtšˆu9ÇñÎNÎÃ(m‘EÍiëœ4LµXºY/X/ù¿1.ézóè{\§ß]ÍB/%©&1“³0âbÊz†JÌâFŒÃ„×÷Ø©ìAšï; †—> Â8,1—fƒÄ9Ñä•4RJšrPK®t¾'窘¨g|æÞõÓÊÎP4ŸTxï%ŽÂyD4ਞJxcÒ4ù‡·îª#®Û/Bœ ÅÆabà¥$ŽEî*RÈÀ’Ìâ``{kS¦µŠµ7šÏYL‹;C 3Æq Ÿ;~ð·?"{‡"§%’—"H)b¥s‘L`*î/þì_·NŒ#¼ù#–é”e-djÂd(¹j¥V¨)éËå¡$:cØêÞÖ}Ë 8 ½…œ5ª $!ìÖDÊ™TµcñލnÙ¼''âȰȼøòsØKt›×9M†Ý‹Ë°¾GwŸòÁ''ìññÝ{ðôÞ1¿ö›¿Ä­na‹e«‡+ÏELÜ`üì!÷‡ÌwÞ¿M<9æ\-ŒÅÐÍç>£÷–ýÓg<àd´|ó·~?þãßæÊµ[,¹ TSxò4rçÞc6fž ;s>Ùgñô”oü½×°‹Þ¾õ€ûOÂ1òVÀ§:Ç•—^æâ+_Æuaz‰%§Ë(\–am*Óu½N€Td{6ïÍ­À+âºê|êêòqÄhÜ2µ\¨¬ãm³‚ßÃZ»rŸ„ 6òšÓ*„TÙ<¶"™SÖbñB®‚^§i…µA:›FåÖK´éÌ™ê¬Þ©‰^ 2Â5ÖR¬ŠšuÄÛV—µÀØ"-(8ãâÈäÐÜ“•‰lÄ'iYb•¿ËýÛw˜mlc=S„Ï”ã©òïV~<››¼ÿ‹w9^Jä‘^C?óô}‡ÁòäÙÀ“Ǥ":v[qB´†ù|Ž·Ö4Ñ1 ½ïè±ô^rô¼:—ä!wšùdÕœèf×9¢ò8Œí©Œ5 ÀXæ¾Ç#ûÙ… måä0QIØb9<> ùÀÒDüÌÓ¯Ía8âüö§÷3ï`gùëï½I¨;:n¿ûWÏŸãþäküÖ·¿F¿í¹ûiàÑ'Oí÷>ú€7vzþXN(/ IDATÙ×^ãw_»Î¯_bq|(n1±¹{…«W.òßþwÿ%ÿ¾F¿ §q©úËâØ°1Ÿama9Ê6¥‚‰‘”—,–K<~Fo3c[ê˜òõfýŒ¿ø%fë›ÂMÉ#¡ÓjÜH¶VãáHô„§*m¬u_Õ;’3do…×£cüRW IçÞù‰©Õu‘©Þ4çuµ‚—;k?óPT”Ý „¾›a,¾¹õÍ}E-~,¨%º€ÕµÎN*k]Gg-5%LÉ@œ?çf³F‚ÃÏj5ª¶ÅÚijS)äÎ1›ÍðÞ3³žÑJ(r¯ë˜1â(‡—lËÊ¥ä5rGŸE'9*p0²žÕÅVø¸ gÍyž=á‡ßýW¼õoÿHâ’«uš4íI#kG‹ “+aÿ?®ÞìG“4;ïû½[D|¹TÖÖU]½ïÓ³ö Iq8E $’"mH¢L–-ݲ]ùŠï Ã6 ° ‹²R&HsõˆœžéÑL÷ô¾Vw×’µdæ·D¼ËñÅ9Ù㫞éêʪÌ/â}Ïò<¿Ç%µû{G³êž¦Lh‚3íK ž’³MˆÎÃaƒ÷w!úÿÇq·L\fá·÷r.p]ëÌSÂù é:]Ëϰó”罹¡Éò™-¤t+æ¦i™áa.Pk3¢»À–Öô°ßßÛg\—d¿|½™gÔ¼Ãu‰â@| U\µB²:rÎ B®…¥jqÕ ‰&uù;t]o±Â=˜SM‹Ù)[f¢™,fù¹q"©F±ê%ŽsÔeÒÎ5oMW¦±5¼+Ô:í½Ñ=œ_f'Ú\Ä–Zˆ¡£f¯Åµá*ÜQª®îT4§ÍHf²Ïö¼°w!V=™ TvãšØA•MüÎu ¥¨E㽤*?Î{B3v`óË*»ÖÝOA”[stqP^$º-)3<þØU~a:«Pßš:ökc{z¦MVÐmÒþê"ë;ßbrýÕd•ZØ–‘͘y÷½ÏyýÇþåù»¯Ô9³­L¼þê¿g½4H8Oú¡áèúNóïET_i¦H—ûÉÓ[ðmGµ9}Yœ]ìÀ®UBձ܉TΫ—º™ækˆ …ܮϸzý ý^f8Xö¶CGèŽ('g\~ê9>zïºV(-³wt‘_ÿí_äµ×~Äü¯É×¾õ w?ù„ÇŸý2ñoÿ/6wî³{pŸù…_à³[·yì‰gXÅÀµ.°ß2§Çw¸qí*Ö^Þ±w”è‚àûÄäå,òàø!Ÿß=¡O‘K«Ä­Ç<â„Ç<ŸÝ¹Íß¹KuƒËˆïK¡£ÃÇÊ^ßq寓¼ò뿅ĈÓxˆ#†Na)ây¡ú¤+CTÓ¦LyÜ2ô&†7ÕtÁÄÝCS$SË:© ùrÞS] Ñ”wbÇavzOqa%¬ sÕ,jqg›'-PBÔ€ïHORœvCµÙÅ'zð Z,ј?; þèa½,b¥WRêMí>)?iÛ;pE#^ôRS—^Ý0Þ©žfvWzï!$]UUÍb‹–¨VkOmíðŽB äBŽŽ0MLNð9=ÜúìþúÏÿov¼I;þäŒkמ †NypAÛ>ÎsÓZ¢ZžƒS,G­ “&$Øt¤I#u½®CP=£‰þƒÅ©ÖI{B:?àq†Øhgk•%gÑþ»YÐìÝLP¯*˜‹Ò€ÐТ–µÀ¼¶I©[\vºŽˆË|îâ-Ôû¤kï®ÓµbËIq^/N¥(ÒÁÅÙ9ªë³®ï(¦WtM‹‹™­¤“eR–Æ{oÌG¯pù pñÂÑ‹’ãKÆy(e²Àå¶„)+ÞÃÌW»å¹˜CÂ}T÷“´ªŒ4›0…8OzX¡ó‘lfqsœQ§‘1^ÃÑç¨1Ó‹ºgÕ8àƒ:†]%Ïrž²8û ‚åaz‹ÂʹØyláÌ¢ÏÃlk^'ÚÑrPõÃn ¡l²Xêm GÉçEŸÃ×M%µÇû8ÈY³Ï'ÑV*ÁßÍð³VÏùD«ÙB‡Û\‹aYOך¬DŠú¬éÊßS]£Š®‡a0yF#v½®Œ\1ÍפÌ:KHêYùÊ|ÎÁÁ!’þûÐ>-­RçÇT5ü:ÄŽèyšÔÝYšNŠgdzaqbœ>|ÈÉý5‡û+|tV@z3>4«’jó¬MÞ¸¦ ª±kײN°›6£Ù:FgL¨RŠ®sñÍŠ:²}ŒäšõLô¤•½¦kV¯÷ò̰òI‹Ìª© µiA¬QØœn,˜]5ÄuÖ¥Îy¡öL×ZÈ_ØH`[mÔQ½©B…P”E 1#¨žÌ©«³“]X T𥠩ë1¿óBΕŠG¸B#°Ú?äÃw~Â¥«1t‚]Uºè5‚Ç;B§:Ç:ZÕ&æ™çŸc*™÷~ü\ßQ§BnŽÓ³-Û³š]:NMFÿõþO^q^£<‚wÜ~ënݺÅÖ€~ÁkÄÊ”³…w²hJD4°w"}„•s @sŠ*Q ×hš6î=£Tjn¶;W[·Ç›¦ÇG'Hßqö°òâ7Ÿ"íƒ÷+:¿¥O‰Žáò ÙTžþêWøá÷~̙˼òÒWùÆ/=Áëÿïû|ëg®ñØ#çFþõÿð¿ðØÝ{„º¥ŒžáÊ>Þ¾Gþä}ÚÉ1}ݱ¿yâÙ!ðÉGóê[ïósß¾sB®ŽÝî³Û¼d>»¿#†Ææô÷G~îÉ#|>åoÞ<æt¬$)93ÄDê=½GûG<÷íosøÌ3 ubçÉ´8µ…ù9 AU—JSë<™Š:¶ óº6™ãADop?å …¦vmÀpRŒN^-1]°&‚vÈO2N*Ñ©-¹ª‘ï‚î÷[c4{íb÷7 ³xGu‚¯2ƒÌU#`Åõ ¬Sý‡ Ïç²´FüBVßùåo(…Ö,zD¨^)ô!õäZHC§«§p»f¸ˆVôÒ¬¨E¾ Æ“²‹lœ&’ › σѠçgi'U;WÉRhÓ–Ó;òÿçÿA»ÿ>O\ŽŠe˵¦à™ ‚ºðf-NaÁ58×ð^EÉÕ¥¶R™ðá N)ãšÕ\éûR-PÚ¦†ÑŸOE¤M„¨1Oت¦æ<Ï‘E\<¿cóƒ9¯–}ðfãKHôÌš³ —¬DQ­âlX ]cíåœ-µbþ¹èzï­)³É½‹áµÄÓ¸›ûƒÅu7GµèTð|µ¬+;]©«¶UPhïðô©Wᲇ—ùè÷¨{—è‚ã`/šó]õ|˜M_ЉwpNWD)PÛDt™Ú2Á§eýÔZCÊB2×6$¯˜ UBâg¶›(À¸•Š4µ–j÷šÐ +UãçZ³Iºè$|Ê“a #Ê—Ê%«ÞÓÏXÍl¹Ð$ëêÎP%ÍÜÙ¯Û¢ð©du\‹BSK©l·#ðÒïeÞ5ÏÆ%µQ²”†àÝÒØÖ¦áÐ*oÁb¯êXîD§±m‰! Kø5¶šb¡å%ë»;JÑÈ´*Šæ©µ²×úV»?Ì1¸Þf.ô!D]KFË›œW•Z7Í…3/|éeîo×Ü|û]¦©1N…í® .°+ BÇÑARÐh7 sŒwnóÑûÂÐC)´2ﯱn[»¢9ÎÛ9]¡u!>JÑ   ,‘}*ÚÓ$ : >è´!\ t¬w;n_óƒ×?¡ï÷¸ûîǤaÇɦÐBääÎ WööøÒǧ÷ðƒ÷âŠ0(ŠˆÇyGB¸xtÈã¯|“¯|ç—É>’ö±EJÙ©nÇ(ÁѪ­œŽº[1`Š˜uZUßʤn†+تí¿CpF®Hͯղ£áŒŽ^rÁ9%ð†àL8î¿QiÞÙ޾ѾpÏÂêù’YòûŒâc´I'"çúÿC1,<& χ}Ði ¤½ýžnY‡êˆ>/kÅè¤.×¢¹TM -gv%ûntbbkA6ïx{—\ Iƒu@õÙœðá_å¿ÿ¯ww¸÷ð”o|å1{4âcaœvdYAÉHm\¸r…"º“Æ’ƒ8kê ­m¹œpŽ\Õi„‰˜í4^ô7sÔ‘1Z”•š—âfÖV)Ñ™kWLT¯6òy7‡~çœ Ë¡Ú.u=F¯rêjS¾×y&"ÆoËË31_ÚÑœ=bàIŨhÎ1œ5,ª ;\Ž>™÷<`¹EC„~mZ£%f†›¶ÊXï|›”®^¾ ÓH3)œ­7Ê|²ï£ÌXÓŸ¸¨ÞRê<¦[ Å;»Ç¼Ta™¬ÌÐÔyÒ ëJp²ÛƒW¸B+&üg11rH:ýhÞ&ÎËOÁVÃ"ì-$¯Í]kŦTæ3ôÆ% ­«EEÆVx©#ÕÃfÌÆì°L1-ßÃükóT7;Ï']sü¼Kœu‹Ëz¿É¹+ØiÆ_)…¹ä¥9ÒÏÒÑ1³Î5Mç:?]à¬?›¿þ¬5uõ..×Z*â…ÐT(.Ñqùúe~ü£7é.qx¡#5Cø™´~NtŸÅÍÞ ž-9o "à;œ}þ>Ø;`wzJÝ­éºBèˆ 'czTgfàÏéþ2mtªêu*ŠçµÕý$*+˜q.­iºÖ b“.{V nÖ6]¨¤~…˜¹G8§¶G?» çåþù:¶’úŽqvW‹…ÅϘÙY;óðÜÌmµªÃÇ‚7”`gžàœ¯T›5ë¦Ì Ý´Puø…µæ,KTŸ{膜:•kk8i¬†ž›ï~ÄÁ#Ð!-aî&‰©,wX°”ïÍ9¾úâËt}â­Ÿ¼©÷GQã…‡ó:4y晄ÿæŸýÎ+£‰%»Ôá§ÌÛ?zµTº¬6û<çœ#:éÎÑ{§Jc¿ x"«Þ“¤*˜²©»ÕÛA¿Á-8d§YV¥5bŠ™<Éì’_ý…é/]dµ9=Þ°:ºÄAœM³ó©ã9¿¦!º=Îjå­ÍŽïÝ:æ÷ßçî¸ãů¼Ìãßx„:žñçßÿ¦îþ>Ûóü ßàxùðö)=ºÏ¥Øxóæ†Ïoìw‘äÕVZ>E®¬{öi¾ùÛÿ uクÂKdÇHçíµÓgÜ%ç¼Qw ž¶:j8P§HÄÙƒëDÀ.# “)Ê8–FðM‹+€v ¦j~–†¯ê©9§£b/dc«t)P¥"غ\ÀMY*ƒ¨P jñè"ºê‘fº ·°fº®[ø2*zl (S ½†WžM""e™ªÆ n;7»ÈJ5s€uáõœ,bÒ™eý5cyU© ë*çqVº9ø8FÞÿá_ó“?ü=œÝál|Èßú¹§¹tŽ: ÿ-J¥fÇþåJ99fÊ{øÃ$ l3Ô’™v#Þ &%ñ{BTHê\x.î§/8öfÍw³>M?ëF³àl B¿Ju-x^ˆËBá÷Ëz0ÆóKUE£º¦ê¬˜n¥Ñ‚jr¢‹Ë妦 (ŸÃÄ5˜ZLøl—’­ôi*4ùB–œ¨lÀ‰æÂµ…Oö¼{iÊ)sJEŠF†8¯ŽÌRGƒQ*'«Jà½osp´Ç~¨\¼z çœ=oŠÐîRT”BÎ :µ)€‹’ÍáuRˆ°d9ž‹îuºÕ¤êôÖò%U²&Káç½`ïœæÿ5p•.ô–µ©äíj¥*ÞŠ‘jíÉR3ææœ¦™X!*N4c3F%›ƒ¬«ØúM'žÒoaäâªÆœ˜9";Íc¸1Ö’ ÝU̯ˆ'ÞÌ4ú<”¢¯BJ§óÉfÔ Ö 3Õ-öBÒ°èhl±9@Z'³{Xƒ›µ»W ¤žþœJ¯Ë‹WRlº^ªÆ³i¸¸¦“å1”–Ù'·îp?r(Ž®\Ðï¡ååÌ©S ¤±âb>ƒ¼%§3=§s¬·ÓçwzH½S^Tè4оÁ4D¸ÏE«ÐêDôÅŒþ§P Z›ªãµ6Æq4=©ž×Mª5eÅŠR§7ã:)K´N0W¨X1ßD–3²µLG› é¶Aï jü%ž¯µÔ%(\MÕÂkìŒ1b-Å@å•VaÚîìÜm´¦Ó¯VŦW穪ëÖûaS'EÁd½/¥f¼…ªë„XÌ­Œhàèb •I‹àÕÀîdK·×+2Ç Ŧ‡]ðäªSB'žæ!”J®™g^z‘gž~‚U×1øÀ¥‹‡¬×j²káâ•=ÂõŸþö+—¯\!ëíÍêp¾ÿ'ë{ 4¬ÕX­C¤XLWT¡ Å.Bj y &M^u=Ú]×&ŒÁàb¤ ØZ —JvPT@¿·/ãzßAÛ#ù‘UwÊúÁšþ6w9|ìG—ؼñÃ×yí_ã¥gçã;7éã!m'\l'·ylÝ´áã{…ýA¸< i¼º.üÁ½ÌkÛ5W»=^zæ*Çë 7oÝãùÇ/rùñ=>x÷sº;÷¹þä‡G(Ã5~òñ1¯¿úÓÙÈ3—{¾ÿÆ]¦218!¡pÉ=û1ñâÏý,_ûí@p…¡W A®†¿ðžÊæ]4au#®RM8˜¢#RtWnñ0óŠÆ9OgN5 e2h§ÇµÑ„‚ZÕWË8£fbP­ÜÜ…*¨pæÏ4¨Žè‡Tô`*¢ë­Î¸]¥T‚8’«Œ}eؤ¹ÛŸ}WÞÙ®ÝÈ͵éd(ˆÓéÖl¢¨¦«1Ø…Á° ž"U…¼&s·ÎÙˆ)\§š„äSSìA®EW)"ds%i>`Ô$xïZ®ÀÂ!uÜúðu>|õû<¼û6oýàU¹ _ùöË|þñ=ÜÓ¦ŽËv´ÚÈxO‹Ž®fÜà¹*\xôi…ªú¤„y}:sj@vш»¼š½kKðoçS[©Î¶û`S“yÒãýàjV ¿éEºà‰4dþ°ÅŒÏ®)™ÛBpô}Ð.z† ;à„vävîpáÂÆãV‡ <ÍÑ*qëwpÇ‘ƒ}vâxjé³cþâ½[Ü9;ᥠ÷w#ŸMø®çnl3#ž_{îiþþw¾Êã{=/^ºˆøóÚm^ùÆ“ ÅQÖg<ûÕkœN·z’?ý³ïòÉ»ä“{\ºàøð“5}†àŒ›H¡ã›ßþE¾ô›¿EÜÛ‡’çþDwÙ‹ÀÝ85!yuž­è¥ä”º«°P]]ŨÓÁ¦V*¨š‹uÉLF=÷ÁSiTñt6)3W"ê”p>-öt‡ÆÛ8¯ =Õ%Óì…‰n¶i+'™“çѦ1(¦ÂË,¢×Šu@MÎmÝó4Ä»¨¸‹Ùn/\ëÒÉŠ~v#-{¹EL‰‹/Ù UÈu£öóR÷9xäi[M8Óré#™á¡ÍËå5©'„’R øèuúØ4“ÏUe" ©ÅXj k­ÆŸ)L¹RòDkš‘ä:Q›2ôfh²4=cç«Çñ?¯ß}$…†ªÁÒÒš² SO®¢ Ï9xÖ€¹ºŒpvX*ˆŸ1¨VÓÏ:¯&™¢³3…—;ÓVyÕbŠ5Š>xÄ+NœÃ§d#rÕ¿ù0›%ÄLwº¦QσÔ)àØèµØÖMœ§J¶‰V¢–1$N<äò…#è;Ýrˆ¦Ö` ã¹3kB‹EvTÏëÄç~LÜßÓÄ€ÿö_üÓW\ì臥ªîÂAÏ›?øhs|„Xg¤#WQq½>øAµ8zy«ð·¡â5ç‚iVóHËV¨iWž«NBjUýWЉ‚ZЇ¤k iÌ<ÿÍ/‘Ëíö·HžÆý[ÇÄkO0µÊp´Ï4eÞzã].l6]<ಌø»øŸ¿ûc>üü!¯ŸlpqÅCãxSÙÑx=»pÀoüÊwøÙ/=G8ÛÒ…ÀÐG{ûÜ_oxòù ¼÷afÿà„÷q±çOþòǼwóm„ø‹OðÙÛ˜v#{>}‡k•¡ü¯þ=žü•_&J§EFŠºÓ6ÄŽ•R&sØU‚ï´hª•’« 3ý2*ïR¯ÅMËÈ\ÁU ÇÔuQ²™Ý@–yåcTmÝ\¡×L‡´Hk„Ð/YrnvŒzO™ŠŽŒÑð^í’Á*|ak‚ÇÐõ”qT vðä¡'¬ŸóÕ~í1fçç…}JqéZóšB¿h¾¼ŽvE£90d¦A ûâ‹:Ó·[£•‚Zx•:±²U 8ª›µ0•¿þwÿ†¼½E+g_ºÊçŸå·Ÿs鱫\ùlÂ÷‘7?øœÓ{Ï}é e;£PZ¤M…a9Û×žÕ ›…ݦèõ ¬ª»pæa)àt)$­›w‚7á3æxo¤öØ%ͯsjPI1ç7ÚÏ2Á…ý± IDATXg·`fÖ”w ×*ÆHÝT¦I][2 ~—ç£]GžAsÜŠMSÒ"t½4M'¥Ñ[¶LçÊh¢uGŠeÂ9Ó²œ· <[ {PΙi꼌´œ 10ÖÆ­»'ìu=7.ïi&jÇäÌÈÁ9¢ì6;ºÕÞ‚´X²u£ç_Õb.ušó—§úSü¯%ð8¨ Xj6L Ó ˆD›´Šx¢ëôs·5s(QU-ã#²ðbÔÕø*„6övOš½h3¼2ø¦ o¼,׳)h3 ¥iôf V56¦ÍцæÈy5Æ´F´5³žG^ šžU½@½óx3DÌÏ)–C8 î½÷†ä0²·×ÿ&¤d“„‚óQ¡Ì¨LÀ9ÅT§ÞÎ2cŒ¤®£KŠP‚<>\ÜO¼ýÖûsé0c§:Q“GGrÓK7[ˆ÷n{ÆÙÃ;¸¶#ň êž3‰Ìƒ93RwÙK>ë^uK¡\¶ü¿R°nGm €sfšô®R—P{ÝJ¨ÆÙ‰7J¹#…9g’×3±-ù’çRÕ7‰}b !‘i½¦ïz¬¶FÉ-Lºf]ê]5¶ªiÆ!k¥.¼)gAÝ"U óè¶KÄ-böyÍ;kI¥ªY+‹j­TÙ—欵JJ‘5…¤µ¶d…ªÙ¤n´I¹ãÓ›7¹xtÑra±ŒO=[¿|ïfÍ\°i\•…£èÅ‘V‰ß{í´ãôlgvišPn°½G/óì:÷SpËyE¨]qTQú˜ˆ¾£yØÕƺsaÝjã”Æi+s ¶ª‚°T¶EÇÞU M”hë\4CáôöC0­9Ý*•[ú t¯£çðèÞ~û-âtŠäJ6lîÜ£Ü;åüËïqzš9K»Ñó·Žù«poð|ÿ¬ñâAâg_xœŸÿå_¢N•-#Ó/ñ¡ïxçî1O}í)î?h¼ú½×É2 ‡2æÄÃû·ñ唿óõ'¹ÀÄÉÃ3öö"1:ð™«×¯ókÿÙïòä¯üGìw{H×èœgpAÇŸµ6ºpN§U‚N…rÙRë†*>h¥¼ÛmLƒ`+²¢Ä{i™ÄX)ï’VQ¡Í O\®ÐÊ’c6S—CHfç÷ç¡ÅÈsÜí&Õ6²8Rˆ¸\ð—2kCª¾^àë"˜%¶ÓD ^Ý.†)(93ø`Õ¬ š–ÕV×%…½!‹fíï<3‘f­wš40k”æ …NŠd)fíR° [ol™Îy¦q´tÝä<ã´¥¶‡t)°ÝÜç£w?ÂåÌó-‡×zò¶qýÑK¸ØæÆÁá…Õ^bw*vÔ©"äñ!Y&¡ãÙÌkœDì“8“?çæÌ“µ9L©)5Ÿ‹Þ­(V8Ç”,sΟ뼬3lö{‚Óu¼+•è„dÈ$æõÐ.¥0®7úû²êpBJÄØ‘RZ¨çµ6Æi£ÑA/霫}ŽŽFÖ¥ÖÀ¢5lN–Ï|."ML.ñÁ EÏ4VhVa³r}DÈy2³€'›”<‚vÛ‘““3’‹tidµGKšG7ksn^sº:ß?:ˆŒQ zg÷ÜÔøàðQ˜¦ï)¦ÃPk±él;wÖ…žêâ:Ô{í©bß«œô4ñÖéWh jw´@1Â}+eÑÐÅmõWBú\#Ê¿ªmœãtŠÝ2Ó4é÷€ ·sÖŽ¿LÖ\•D®‰ÚTÌì—)YXV‚Ó4-«cu¢êY­Î«fúżüwµ]ÑÕ¦„m×!¢$ðÝv¤fhÍk¡ŠZú[ ö³íuêk1V¥hs—«Úÿ«T„JQ!"ÅAóš"4†Õ>-öxçè†^õ©Ñ†Þ€z†ÅèV¾ë•å©;âg¿õ5>~ûMîÝ=c,¥ì¹1nÖ”´G¢〓^';eä‚ô:|«8š ¬V+…wI ‹jMÍœûbÏF™`·ÛÇ3nèçA›Ã‘3“T²£_tj[JQDAk6‰jà2µvÓ†àuúWk±ûÃRŠÓë´Õ•™Tžf,¸F¤5÷‰PkÕç«dº .±ÛfCñj…)kS ^]Kf'ÕNvƒ%LÙѦ')BÍè”ßÕ8ç<ªq©,ç~Î;+N¥OûçhµšÁùŒA"øŽÐw\¾~“³.hªbÄ4“zÆ39„4«h‰Êj5XGãÚåë<÷å¹<ôì_8 üwÿòŸ¿²ÙìôÀmº¬8R‚wøãEì&¢$rGT#o1"Ó”iœOL%k:uSíÁLwMw¦B úÀ6*Ž9rC]=Î3ô‰!i4ÄÈ#G5D±ë4¶»ÈèVD×óÖ÷_ãoþìÇ}n¼ð(}ÎloÞâúÓ—‰Ý†#û¿}Æýã ¿ú·¯‡ŽïŒÈv"E!„_øû¿Ê¥¯~‡Øtœ˜\ Ø¥YŒƒ7ü<´iqû§ÜL.J^Ùb Ë¥²Ùìô2 ºÆsAT:Dœ2AR§{2¯*’Š¿Eptˆß×Ì@&ý3kBj¡¹Hmž.FƬú$ï•Ë‚T…î…€÷#R%\™ðÍ.ôN3ºZ$P‰ÑU$«V#[”B°ËC£h\0 M»L4‰7æSPW¢‘lÚ* ~Öhž`Ð:Ÿ’®`¤êz3ÎBvH½g2k­!z"Žs ¥ò`{ÂÃw~DFØ=ز°â‰—®ñÁŸòå/?A›Füwîóáí3^zî:O>º£p²9lÓ¢øãÏ6x¶\z b¯Úïq±£šX¡¦æZq¦|©õ ›1ªëSÏ ¢ W5K Om…RÕ ªV{–j>¥d¹RSκV÷Ž*•h®AfBµM>EÔåX-x¼H棛wÙ;Hìw‰ ‡‡¤®·I ÿŠɴ…%/Ñ/ó݉º;«›‘!Ž–'jit©Ó ´)ÕZ·Ë¾+äª~ÆbJS1ö\ìtJ!Eã›tNK¥š‘Äèä{^÷êã rY­›¬!ªˆ+‹kѼA)ØJQÐež>Æ':Zõ?åNœùYsT­úóÓÆÌnÆ&ú¤ëF+–CŸ”Ÿ1ödœïU³)Ñ9ÍB Q-ðósnÒ Ä)ïÈEͰtÁã’òì¢S§±ó‘ê`§Q)†¤H!PvaÀ©Ž[\#Å•éuÕÚd."µ‘mÂÂ{t²ÂÃX­Vܼù ûû‡ÙT½¸ªnô]ª&I ! !à‚žÏ,kÙµ«ðùñ]Ξþù?ýG¯ {‡”ibœvô!Q½Ð‘³;·9¹¢bI¼Ï;UýbÍ\U‰ÒT]v¸/DoXBw ‘®ê<˜ª^ Ò*!bt:©h™äCßQwB¿VûäÍŽ½°b*üáÿö{|üΜ޹ÏN:žºqƒ®1žd>u•»6ÔUÏs/_ãúÓWyr?pûÁZäÅ®ñÖ{wB$‡-ŸÝ<á'ã.w|é…k|ëë/ñÌW#Ÿ¿¿"´‡|å+ßäÖɧü‡Wßg»Ûðôs/p÷ÖM^~ê׎—®=Æ»ï|ÆÊ5öŽ®ðµßø{ÊŒIá\×ckª`ÝWÃSñvÀ¨Æ ¹:Õ?ëŸÄéz¯Ö†dÍÐS[û9\ÿ·‚ÛÊœ£V«i¼Ò¼'ÏTMNC\D‘)Wª÷l·úNó¬Ô•h ?Q‘§–!1›X|Â4îìÒkfëu äÕà+µÚhßÄÙh#\½Dú%ïR1 ê©î\›ãM ¯¶ÿº8µê8)³ñE4ýU¼4]' Ë)gº¾·ƒLhzSËܾó)§Ÿü„͸#´ÌK/?KV|öÁG<õÌ5ÂÔ¸w|Ÿõ®ðp]Xõ•'ÝcÚA`·m¸É3DÎv•Íɱ:üÅˬZ`tµañ=:÷I!M'{³Ž 6Õ5Õ¨æú@-z1·¬ïTê#ºYñä\­€ð ´UuF– 6›lëM¥(Ç‹^×<(hPL«ÓšáC,TZf<~4wžóölë狊‘Cm‹˜WjcÌ“MðÅXi3k+ãÇûhÚ%ÅpU ciKJÁgЬ'NÖ™.Á#W.é;"bø„¶dÅ}‘ß#sÜ•ZTWšs¡å¢ŽÚ<é¯wªã Áᚮ˂W”O~™8äÁ«cLÁ”†ÓˆD‘ N?»*•.³í[®ž³?ǵeJ¦<#´JÕéböyQƒ†Óªo“@çƒ9$›ñ…4ºVAZU,Eó牡[V÷³Cõ‹Ü¦Ø§nÚÌžÞÌØD˜jÓuZS|´ U×Ê+!Ѽ§yOuj㯖í»hËŠójí×é„X†ªbÖ©nª–ÉšƒVz=7jˆæn¬8QM°LÖРùf‚{mD4¬¸’âÀå«üä‡0\<à⥷+TçÙMy·Ã׌ Žˆ:š±Ã­lVI†ˆ·^P'MÙSNéR yÚ.Ù’Ë&‚ÈvMŸŦ`S6iU=4¦-uÌ¥•—ÌçLô43ÔÒêig*Fø©Öx[ŸyËŠDY9“œºÇidÊ£òÜêŽÖ²=¿ªÃlU§aNІEKÆKe·]ëÊM mš´ÀR ’125#Ð;GÉ>yÆqK#x5!9¯x˜:¶jÄVÒº2¬ËÖ¬-Ò›2K?P§muØwÉ;eMưlRJºmA§Ìj®ˆ–P,ʳwp@ׯxó7ÿì7~é•q*ÄáˆæWl'!‹'ûŽ«\áýP/ÁòˆXs$G êXÂà£T4wÒ#1j—€£³ÈƒVµÚ.Í’Äqž–xÅÎk@¥ðÉ­5)è=m×Üÿì>ßý“¿@vg¯w¸Ò˜¶[^þÎרœvܺw‡wKÏͳÈkoÞå½7²^g~ö…#vëÈOîß%ÖÄá¥=>ÙNœ•ÆÇY(Aø'ÿñSpi{‹×¾÷çÖ¸îˆßûóïò‡ÿÏøñ»7yõÍ»Ü_oxþ‰#žò"<ØLôÝ!'÷rý™§y╟ǹJs=Õ9ƪ ì"Z0Í¢Ñf¡–>hwÞ,goW&Õ/¥žl¡Î.(ônª1ác$pÎMjmÄ;ã›H%7#qÎÓ|£5M¼½ì»…¢£îÔƒPŠó”ibèU4›kf[ÑÏ.ª‡Ò4¨»´ª°½©(»G„Ý8â|oŽ#¢“<çBëb„Òt•`vêQ&ÊìnS­¯viÕSxã®6q¦=PAfT0Þôg‚BSê(“ÚŸ]ÔÜÄ)7¢ƒ.$$+V¢O'Rp¼õ£×¨§·8ÝŽ\è×n\†p€«k®\¾Èƒã‡œ¬'ŠL<Øž°Û —öö<>Áñƒ52¤ëˆ«#6'NÎÖì_ d F›H¡’Z•„½+£«‹2…¨¾V5NÇ¡)]6=”Äæ~eRBu«Y‘%O6WÍdê:JÍ”V©Ô]Ašrj™´1@pÆÊ¥¨É`!ha¢…´°›t…_þ*Ôqd÷à!‡Åñù™î‹OÛ>>oø³÷ïyâk_çãû[„ž1{¶Æõ)lx÷ðÄ û¬>ÚãÕ·?Ä¥žë]àfÉÜxâq~ç·¾ÂûŸ|ÈÇ7×l¶kp×/üÑ_ü6wïrõÒ·ÓЇwïòƒ×ßçêþ‹´Ás÷¡g:«¤®ò°%¾ñò+Ü} LIˆh¢·~IZÄ©y‹óÒ­ržXõ‘i§¹K­)î¢É©”z Ê^ºì²Œ‡aÀùŽÝn(;©–Lô…h³ÜQË©Qéíd¤D³W'µ ×B«ñ ?ì¥çÞ½Q'ýÁ9Ür2×–O´:Yi!W!%=¬¤Eüh+ã Ä Æ4e+h&ú´b<5nÃ@m­ªe\‚òEíÃ>4J™¬‹HÖ¥Î`ÑQCÊœ0M´z² ®W~VÖBf½•ÿ6ÎÓ‚óêÄúàÝ·x÷µ¿æò~åälÇê`àáÉɹñø%Î6[N7#g»LˆÃpˆs7^¿ÉÏ}ç9÷Y—cÆÝ]x86Öëöoßcwùd“íQŒX=U…ŽYõG§»QW*ÅÖgæ¬sz6sŠê4IÃÓSÔU/ìv*F®E¹GaÌEæV©^£o!ui Q Y Õ)«svú¢ˆ‘Z·Rb*Íèñ¢ VË3NÍ!hY~.¨8»”Œd_¯ÇIÅÕUÌ›imj­øªú¢Ò¹9$›ð4ìá‚ãÁæL§¸^ä¥x$:6Ùû}*ž»¢Q_âqyBZY´ ŦÌb0FÁÓõ]n´:*ñ{§‰ZòyF¦wl§‘(^ çä ªk¬¥iR-HßQ$S%‰mY/æqKh¢ ay€w6£šbœ®Ai_*žhk—‰Ê¢ÕiÕÖ™YíÈ¥ÑuŽ)oÖŠ#Ô¶â¤È´Û™;O€E·(^CjQ`jêÍú¾£d¥ò“þOŒã„ ‘èë³5] ÛªÆy2§@ˆœÅiPvºîê‚NMÃæÄ)ʯ+™½ÞS\Яéd«ú€«ú™g’±ç%z Oޱބ˜¨Ùò%­]µn®ÆqMt=/íe>üßÿ”÷ÏJcÕíSšÃÕʺU†þ]=—Ø?É”"f QgdÎk†p@i•\œQ­tj駉LQ ^èujÔ4kµ¼Ï&“©Ù„¾*¸¸–Ê$XÑmÍX´çY åŒAØ®é¶É•¦k.QQn¯ ¹¦X¨>z"zÕ„nwBHô·÷©2-ˆÖ2©_1åDòN›»Õª3ØxÕ)û¤Í{0'½¯Ú ¸”Xo3QžQe*е™Œ“^u‹ŠvÛ-«½}[g«¸Á[ó2ãŒD`*©ã+ºUÃmD×ü¸ƒæè}G¥ÑûÌä;Þxã#»¸âd“ÙßïéRáÀuäÍ—âÀ›wxùë#) ålÍ8fÒÁÀa¸z¡òâK7øƒ?y‡’&úÕeNîÜçƒÍ÷ZÝ;æ_ý«?æOßà×}`;=ÁŸ}ï”ßÿ£·ùäø>´J7Dé"'®1–Ä•k+rYñö{ÒËÄæ~æÑW¸üø°—¸Ø_g¼b B@jÄ‹rSZ€èTïÒ ¬Ö÷Ž)%\—é$ÓD£ : ÛÝ–4¬ô°õÝBåî»DÞí ê˜>\¢K^‹1ÏàÖ„®ëñs³iXÊ4áS§Xt­H€¼Ûèß1öôñ@#WĒνà£#¸‚ô†m›Û¥´JLA©ð>â$BlÔ–ð>ëJÃ9\_TtDÝõÜ ë"­d‹×)š¼#¬T|ó†´·‡ŒÚ”¢Äë¼u¥:]i¢ùt¾(§É¥Ž>­\9•Š;ñé"Íï“ǵ^¤ÒQBãö÷ÿ˜~ðWlÇ5W.]b·ÙQö”1NÐ=~•;eF'ì\AıÝMpÿ¬pzº#í%†ƒ#žl讉Oñp3‚>{÷‡\9¸Á*^£·`Oæuï8NÚUZ÷Š äVp¥’|`ª™ê°U‡ŽëCL“¥Í§ˆ¯Z4çp4| ìòÛ q4£®-šh‘4¯òë™ÙäD5Xã¸#¤D’‰æ½:ºª0ÖJêjó$P‰®­šTD¢N¨PÕÜQJ¥¤=¼1×bˆ&¨Nôˆ+ ±×Æå#µ S´ÛÌe$`²Q†N!UÛZ9Ý:†í†¸‘{õ°aT×­wLÅSFÜ7§˜’ˆfç嬓ÀùJmç:]y;ðR $Ʊ_ªa›þèt5ÄDh£(ogޝA§…avá%-()…bÎXGÃ{up;i8&‚sLm­±Rhç¼.RqÕ´‰fï61ÏS¦ü™mÝœ§IWüƒF,­·#!E% Åyu%·Ša¬BH­å…ŠžRd½Ëj4IìÞEt)Mp)Ñvkb ä|OÁáˆÓÊâŽÔ€éfÈoÑB! µhÁìâWyB¥ï{¦¢X‘Ž,V¡W×qˆv^aSmE ©ó:Ó% GwÉ#Nß½Þé„0Ó¨yËQ/LùŒ“©°}ós®ì]¦xG©CØÛ?И™’”ÛÖU2®)ttÊ“a'öÙ–J­B1TÉ4¯Øý ÅoSXe±ÕÜ´›H>±«[DSnKT–TÔ¬D`3 Åjé“NùZµÉ“o݇”Н…’ꛂǻ¢N<<]ß›ÆWC•û®'—JˆêZoÍáMë¨Í1ÕŽ?¼ÇÙ&“%PÄßê\ÉG‹yÛê}#ÍP#…~ÕÍ¿¢J<†Õ Ó.3XÕ¢\ÌÖ ¡ï¡í¨ã‰n,\ ¢áñÞ*áÀRy›BG×û‰&ëO^eÿn\?â…W<€÷îqúà”_üÆþðOÄ>¸ÏÙvb¿>äË]àvi·åÙçŸçöûŸP>~šadzû{üуc¾’·KÇÇ·NyþêŠk—¯ðµ/]çïüü3¼ùö†kWöø·ð)ï%þîoþ¡ WH1²ï’ýlDËH¡Sø¢þ.²Ûj°i°ðÚ69úõs@Lû„ØívZ¬…¤¼'Ô+ãeΪkæhpα×'„¢ùLÁY‡=Ç y]ýJÑ \$E¦Z/ÒûHs³6G'I“½|"‚DÑ®<ë…B£«PÛİ: ä†ïðŽ)’x(ûaEž²:ç:„@0o×%ÂÿGÕ»öL–^çy×z{WÕ{îžžž™ž³DŠ”(DK1#[‘)[”,ò# „8äOåä“‘b Ží eK2%Ù´HJ3œNŸû=UÕÞÏaåÃZ»z, !’ht¿]µ÷ó¬Ã}_76Åhƒé®†´¢RÆ5ª|búŽ¿’Óæ•Áö² R§ÝŽà4xZCW‰N«´¢Ë1#ÁäýóÏxòí?äîÉÈGûÇ)ð‹_yŸùvb}tÌöÅ e_ùôác=ýŒ‹ó †M`Ì+ÖC'l:Ÿ}ºç½ŸÚ0SIc¦]ÍÄ®Œy`»Ÿ9=­Ô‡Ÿ0ñuư¶ ‚Q t5^Úv•«– IDATlå›=Fj7îJ×ʘ²á‚9²bŒ„lvõª ¡Ùú0¯˜kcsrb¢w½yA’ÑŸS&)Ôi"Ä`ŸaRÑRPT¥3z\ivÁʆÄF3 Ô*7èø„¹4$n!±+•DÔ‰GŸ<$þO¿ûÒ0"bìØMP(Ã`+©õŠóóûÜ9žøÞ·~À ë°í¹¾„SªWÜ‚í-벓H íp–#§£9§nVç¹v† þáãÀ¾š[ ÔJɉ¦Â¼»5ý~OH+OþŽÐ*«dÁ= ¯Þ½Çpgàþåw¹Þ¿à4 óvÏîøÏ¯¸ÚÂkëÌ{§O®oy&ÂQŽüί}•·ß¸ËÇŸ<$gøì/óOŸñʳ-ïNæAê<«…ŽÆßÿÇ_àò“þÅ?ÿ.?¾âÎZøÒ{oòÎ7~“¼¾Oމƒí¹³ó¢r²/&ˆ;´šøRÃÁµ’8ötc5ê³Eü7dV”jVøUL¢­°Ýr”D݉b®»”†ÏÅ¢ˆ;!˜5FÓèˆ9uRôDxÏ# sëe&^Ø8 棩¢q„”˜0i«$@éä]è¾®²ðQ†ìÒ ÉóFЉÍ‚Aà4¨e€¦ )YtE°Õhg·­ ÁÇÑúRH>ƒ­ŒB¦k&¥5ÔÊÕÕ3ÊþSß²¢sçdžü>W/¶œÜ=c;Ÿ>™ÙÍ…}Už>¿æüâˆÛë÷_YÑ´óìEãôdÍÑéHÑÄôbK\eZÏ4­lV'Ü<ý”ÕÙ—ÍÆ94 %YtŠtòÊPA…A[;ÕȘV6%LæB´ëׄè!gûÏÑVõ)ÙDR}ÁvV:™ÝÜi¤u3¶Ô˜›ÒZdšÌäQ Ìu¦õB­Öa7Z·!NëB©PæNoBi‘:öþï,¥PŠQº'^áêãOHiÅ®7æj?XPßSïÎÖj:îÎB„“dr‚,£X‰‚ëÖÉbiò½uÓœ¸&«Jä¶(åvÏÔ,¤q2ÛÒÍæ­–‡&E¨mËåuááGsqv}óœoþÁøó/yñ¬ðí7œœßaºÞ²ÒÆp³³ƒN+_ùòÏ@ßq{uË_þð1}ÿ1·'k¦.ù{w ­ÐV+^Ì+ üýßúyÞypÁ¿û¿¿Í|5ѵñν{ü׿ûüC{aØlHë#bJ”2sysË&%ʼµ‹¿šˆ{;ÍD,¾*GƒÒÖÙLL)'J±†§õzµË )Ù¤UŒ“ˆ4kXEØO“7øêüÁn®ÖÞ8==çòæ†/n1}oæÉî#3°¨?³¥w»{zGb¦k¢t˜ŠE¤5—ƒ˜ü¥«AH›Ø@¢µÎ^qÓXdªq}lZP‰ì[£4;oŒ¥¨P­”013ž6aú´:G²væiKfdB)Ýõ©6ö¥o3ãMͤNöþ?~øý?áûýç<}ú—Wψ¿ÿ»¿ù ¤œ`*Qª„!‡hB¹á˜7~ê=ú‹Kž>ü˜U´`+¯›Z=|SÑ<ú!ohj‘"U+M#ÕBS¤³jÏÉÒý(±sš,'©µÊ*D ­Aé})ÌÁÀtµÁ,J+ˆ‰í¾q{õŒ_ùͯòñå ?úñ êž÷Þ¾K­ðôÅ3Þi÷ï ¼}´"v¥]_Ã厛ÇÏ}âIH”«™¯®*ç90œŸòÎ×ï?Î~Hüö¯½Ãúß᳇ÏÈ"¼ûÊ ãïýV?õ ¬Ó‰v³³KÜ­!X kŒfÉÕÀ!«¬»M|@FuÚ‘rfß;Ýv$®“&ýyW<®Öv(ä˜mÒ£M¼\Gc!žö«{>[GP±Ö![DÒРãT®E@H!û ˹*b À&‘Vª]ì­[øh/hŸHš ›À1ö`‡Œvczu[=u’·ý{$X4þ/.а¯æP ½»©òÆ:ŸÌÕs J³é•ÆDéJ¯–x^Š¢2ñWøçlÊ·¸üë¿äòÓ9ð6þ?ÿŒûoÞc®Pwäu㕸}ñ„y iìTU®¦À¶Æ6G¦ib3šüvªœ¬"¯¿¶!¬Žxô¸âÄv?³ÞÑêÌÑÑ1ÛíúecóêûV ¤è«'¢e!ÙÙâS4f#ï»X8Ž>¥´9\[a\ÓF Ö¹¶RŒÜíSIíîëÍêð˜)®©½šcËéÐvøÚÅcpƪ1D“H$¦5YHJïÄ´1|DÎɸl Ü!fñ`ÿè³Vª@&,Zôs™žþ‰™GJ¯Ö¨zƒ¢%¦ä8Ì5E7s˜+q²ÉŽ_1¸v)gç7v“¶ÄÈzeˆŠG·ÜìiÀõÝÎrwÞ¶Öœ‘g«|í†yi8òdɶ 6ù®¥X‹KP¹ªZN©ªéˆÔ!GzŸ‰Qb$ƒ?×)©ëÃl£=KÑÚ*c2þ`L#ð†Ø‰¹%Bަk¼Þ^óoþ_ Â0Àññ1!$?~Jüýô›Äa$ +‘kdÑúˆi(­ôa@´q÷Ÿáí/~‰7ß¼ËyÞóüÙ%ó ¶îÝÆÌ ¢ØØX”3·så¦5vU¹m°¯3³$tV«D MãS›’»Ñ}R†dŽ 6B$Z\@§#ÛQGÒ¹|bŒŽgsåêvFBät³âf*\È€–‰1gú°â?^_W™¿ñúGÛc;3‹°ÏOïùµ¿yŸÿêï|ç"“ð ÷—y÷W¾é„@ –æ@«E ,ÓĬØÖQz¶—ZnÖò‡cN—"e.6 ô—5ûwÂÂ2bT²EsSäÊ¢¿q–zÞz(mW{aDä+3×âøÒˆ_ªK·¨‡š°äVyÞá~¿'ÆÌ<›m8º2°9ìRÄGÿÀ˜­ ®Ý^ˆ ÌÊ0æ¹ÚŪ¦EQYHÆý\²­q$Dfça)BÁ Uë’êRè5!;,Z-l¯·„йùñ§üÕ7ÿ_’Þ8bu²âá‡?âÝ_ø]®8VåéÕ#6’)¶7·ôÒÑu‚Ð9:†Èvgq2ÏݲYZ›Ùõ@^]prï”ëíLSáæê’ÄLÕ™õÉÀîZ)3œ¾÷+pvl«Üåæ‘S²Í¦ßÕïE<Å/è€z·ÇZùt§{Á¥ÇGXˆØÔêúë·?ÛºY¦I ‡Å®,ɦSÆÆ1—¢Hü/B©“Ã-AÇQ›nt°‹¸ÛZG9~ÑhÙÝ&­V¸XS“Y[á¿â`«sæ²g?Ýbb}t‡¦üûï.ÐV×SHP†ÁøK†ipÇ­·bšMûbÄtñµa ¥—lUÓpIz6ˆx~bŒÉ2ÝX¢qø\®žaÑ3z&c-Ä8:å̦^f=4éµ6jï’åÔ5wÜùgÛ:f±wÐgS?‹ÅW„žÐâ›s<ÖÖ)¥Øå'ö,5Œm(>¹¨Õ Ô¹9KMóØf[Ä×φã˜kµˆ´néR›Éj± âZP­¨ôÏ=ßˤΦ½+µWTlaÓ›=ã6IëX´¯”¼p^"µ–f®i·ÿßÄsý¬ø• Ì·Æ“;;?ûö ï¼¶Fæ¡ Z;eÿœ«GŸðâÓn¯è-ðÊ»ï0`ºÑR&b«Ô¶%0£ÓŽªÛ}áÑㆫHÉ–MÑ·FiD4Ðç™4 lV‰éÑCxô”ãû¯ÃúˆÓWßàøÕ\Ü="äÎæät•¹züŒ±vö4oR¬01‰E5=\XÎ=@3ýM>dþ™9Xðæ—8Ó†˜­@W›x›(ß4dÁ·5Ú,]àêvÇí¶Ñ¤=qC0sJ/ïºEBÒ\g¸²ÇÚLS1·;/›e3ÌXV¦eåòr‡„—ZÒ ¨¦Ã³$Ô¬×vŠ™N¢7z8.#F›²o·[H ¥7Æ9[£[J%«ruý„oó_q¹»b%aÀÍõÖL:¿ÿßýÎBÞ i$1Ûˆ,%F -$Œß2IF×gœ¼ñ.oÿÂÏò¥~ž¾ûnn {µs'0k{9Eñ©Cï• /zcÛ="'ö=°N"¥Ä„uÔPIbàÍ#C´±vtÜýì.Ä zJïóâá‡ç q}Aëñø„“;o1õ‰õÅë¬î½‡4%Igúì{<þè[ܽóÒH­×æp ø*Ç.R‰ÂàZ¶ÁÃsSDL1zè7Kã1ê9m†E ƒMÑÃÜ…M3¤Á×;!#«bIBˆÙ´>(9FDâá ªN‚1˜p7ÆlvûàÑ:Ÿ3_´%€P„Ýn¢”ÙYföœi”ªîÂJô6Å<س!"æåÅåë0‡9QZñK·ûséÌ+ îÚ-»OêAØOx9¡²è “/,l+ÔÖ=$x Ê5pc¦4cË©ZZCŒÉx€¾¶Ò¦ÐÅrÁŠb5ÙÅ\nÐn[V•©Ìfd!ù%ÌïnÒ >¡s-2Ÿ£¹´sSîbÓ©ÞšŸÙ(ŸFÚçµh¶ì¿Ëí1¬ÎÂSŠ^ĥͨçGîgK¨­2—™ÚfƒzEHm–Ù{5mËVLwÑv ð­Ý¨ÕK\ëê«¥f›Ÿ\á$öæç]ë¹[þèæìÚÈbÄ4OÌS%E¸· |ù­Èëç!*aÞs{sÃO~ø=^<}ÁÑÉ)wßz›“×Þb¼8EÈôè\8±‰ˆÖK+ÞÚÄT OŸ_2_UòxBqÌŒã ÕašQ:!Tdµ¡ÇáìœøÊ¤‹3äö=gÆ82äIkt‚VfV'gœŸ»¾lv(ªÒèÖj|û¢kjmz4ysÖ §ÓAl:ÕÔAÕàßg»6ÛÒÌ­ ½³Ötµm ÂõÕžý^‘d…Ž ¾KÀz™‹9[ógÂ6Œ¡fŽw¿³Üú’r¶w{U=^Ì›"^Äu_l «Á\Èêù¥µ)Q³ÉY\Öº¾L ‰‰íÞ¶;Íõ(±¯òñÇÍÿÛP€°Ö¨¥óäÉ3Î/ΈÿóïýÎ"ùåX1™Û&„H²Ø p½SédèZtÄ~¸ËÑÙ\¬øî·þ3·ûF‘ÈŒ|J¦û^_}•c»‹Š(sc‹’Cä8uNsd0öN"k1'‚vQ[¦d…V¶‡%Jd”ÀijlòÄõ•2íáù­"¹ðô:ðÖýÄã«Æ°y÷<3“Ñ!ðIÙÓJfÎÂvß9?Kôe·†Ç³ÆÇǼÿê†o¿ÂŸþû9}í¿ðÀæ­·‘ñ #{ˈv%%¼ˆ4˜]—`Ø´òJ=¸-ÕVze®–Õ¸?Ý4NËJÍ¢VTg¥3KÑ”Ìzy–}eÚDª;¤¢˜§KwDp1:‡îØ`Rj›,;lvVÎBé¶Ù O"µGR´õD+Æ”)s£ûåªîØ!ãEÍFnŒ5–²Lf-&°lªè0ñßE¹Õ§(¢ŠJ2=ИQ1«®åpiVÔöVÕÄ‹¶Vkô:Ë5ÓÓ¸úøÜ}p—×¼ÃÉÝû\¼ö.㛎Öl~H§2_P^ìÐ/^Lẖ`D†S 1mwL}buô€RnѾb@xåÕ;\¼þ»ÛkÎ^ýiäâ mäæÅS 1¬ïâŠÕù9M íñxò“¿äùO"uÏv¾eµ¹oì8mHŸH²c…££#CfÄp(X––F‹Û©Z 9 Á¢V¬; ®O1«~ X¡äº"%I"…d‘E¢¨4rÌ­ˆoö IDATÞåÁ˜Ìé(ÒÅiɳÉsÕ™Rväa0ʼšÕž¥ ¥Zìqkõð\.^+FTIS«žÓÖ’…¼JÀlöNêµQ£pùô)G둼>§ÅLp¶t¶þ j”zóGˆ¯ˆ2‡qÝaïÝq·Ü¿àááâ¿W]x+­ù®TÌ€ Á¦ÊŽn¿”ĦË=F›yд,]¸$w6ö2cG ÙtEÁWàÁÖ”#Å#ÑuiêŸ3¶mÕµ”ö|”Úë¿(ÉXTÅÔ=‹²ÕNë˃cÙšñÈ›~×I6±Ó²T«Ë! ÆÁñ KÁªç±É “ûÌñUêl…÷yT]{_`à>Á¨ó2}]L4fskîÄ ¶.Go¨„ÁÝp:g©ðKïg'G23_=æégŸ±¿¹áνW¹ÿÅŸçäwÉ÷yu ìK58±}ÿ{ÃÈŒ´Ænž¸|¸7)C²ólÈ«Y"iˆCf.•Ьé.DZÈȸ!mΨ·7Ð:a½!çÌñù99¯YŸ¡Îï½ÉæìŽNNÉë5y°©w)3µò˜\µ}ÉQÄóõú*Úíö‰jS%`ȉñ\N›4¶¦$áp¦˜~;RÛžÍh ñ'Ï·ì&A™ˆ:Ä· ¾’k½Zñ§Ë£nнÙÔ:H²-–8‡“5ðÈZcëÉŽ»á]—lf€B‘ÝvOމZ&Z­ã扔üLôø%ºî-‰BpÖ›E­™´I;<{ö)ßýÿ†qÙ—™ÕfZl›sµçî½c2ɲ÷¦ÍH£a’Ò"ª…£áê΄s½W†pbÝì–ÞøÛ¿ÍoüÅø?ÿÕ¿ææ¶°¦±O#M«Ýw4{¸Î…<Ž”hÒØ·F•DmÊVÆ‘0[TÈÐ;ÇNN­±hÈBŽuÑÙÔ…ÖŽ¹ŽõûÇŒIÇßùæ'<~,ä÷OG~î8?rçéO>d½g8¹àôÞëäÓs‹9ˆO[ÌÙL­6e®“%H”N)•ÛÛ=Ú«¯–#) ´Ú)s%£»uN˜6ܧ]+¥b^1\¬‰ËäØHÚn&iFkg׌« §¯”³·ÆóçOùðéû½¢˜~×_Âʧ¨í•y»%¯Ö¬ÆDhæúKqdöˆaíBõÚIÙ1µ)Q F;O{bîHä˜yðÚ9}|ÉT]“'¦Á¢”Æ<{ÚHÛeåÓR0äìÌ*±IÔ0ü´Vãzu5M(èA&°ù”»ãH•#î¾}Á¿ùøÅ%sxëÝ×ùõ¿óEÒmáñ“'|ûßý„Ÿÿà‹|ù·~‡¦w8ŽÇ”¸¢„Œ4ËÊãÊ„ØÝFª*–/£‚­×¼tçHÙƒš³Y·ƒÃZñ5Ær”Í¥xaâvû{:â)륒æC—½P1HŒ‰ÁWyêÄq;v[¦oî&c/ œ¨TP+»V’‡‹ŠAAC@¥qùø «õȰ>³éï"ŒöP_!—¤Z‘Ã¥¾ü*Åð1 9X6Ù¸ZÛå\mµ©.ÔÎÙ@ÀËáÞÚ l+‹ÕzÅ~··‹5fûμ@Yä1Zñ¦žöº4X¸nNéÀë>Í™«~ó8šI¦»Åu“êÑÝ­š‰¡ŠG9¼r ¥UUŠV·C ÂÜ sÒ—µ`™Mø,Â0 ‡"ô󓬗…—ø¿)Ö:öù6z‡Ý~ïÃd¿G„ínGN¦›,õ¥‰ÂDûýðyͽˆLûyìÁ\èÑð.‹+5%cEÙÄÛ#‚gs5q¼­8Ž.5°·|ùí÷޹M\?¹¤×ÊéÛostr&«á¢š&OŒmÈጶsKêžÞö¾¨=°½™³L1Ú =ÆÈ´ß›#$ŽVƒñÔ¢U!˜Á+F»ü%d:Ý~b³|-jùž! ¤l&©ž­H Üyuds|Êöú†ðvÛ[‰Û–Ä4MÝrGñôxÌL#¢ô<™ÓOö;s| ¸.8Ðka\mŒ%殆c¦Ú9ÛDÞ~ý”ÛÝ–ëš|õVÝÜagz-å—2Ä /÷ˆîü•CØrÇ:Ë6¨»†Î›“°˜9ÄõcnfYAÌ…¨¥²oJ¥3O{PeÚO„,Ž ²5ëfÈ\ßÜ2÷Êjùì'?æÉ‡AM3±ظ¶™3½ÂÙÅo½ó?üþh¥ÿÇßûbÜX^W¿8=”+•|¤m“˜`ÞO¤|Œô ò@ #?ósïsóÉwyúìŠÞ³ Ý<È^K»LÅÃm«VjÂ×:Êù˜É’‰!27e¯J{‰‚ºƒÇ]<]}w¼8‚<øÅca?]Ò¥ól.¼u~ÄÉEพ^LÜÞnyÚפMæí¯òÞÙŠ³õ1_}ûëƒ÷xí§ïóB øo¿ÏgŸ>ç—õ+üü?ø=ºœ¢áœ’ 0b‚;)kSR‡~‰Öm,n@E ¸´®-4vZèórØ×f]R Ñì-ÍÜYbbèFÔÍ1£˜‰¦ó(Å£LT)¾¢ÅÝ€¶ž01±uæÍ„˜.Ç„‡Æ—2ô†aš[m» œc¤lÎ"„ôœ-±Ë³-¸ÖBmÃt‰id‚½4Ýó¶DÔ× jwV¶ê$gÄ£6–Ÿ7ž¯¦ÝÀŽÞÁÔfBÈ^c!YƒššÁA:i™[a&¸ð20W¥u˜8¢† š/˜tE“ÀÔU×Ô–¹m™mYÑÂÈmÍ´˜‘¸iÂN­Ânži=SçÆ Kp­+‘UØweµ¸Ø7˜šÛêÅØ7ŠK½Z’Bò`á¹6ïzÅ1hÏt3STÂn>´Õ^óÕbð h§~»“Ë8QB©:MhŒ¢-‡ÕM«jh稵fÌ* ù „Öès%¤ÑþnZìV,Ö‰,YÕnL7e‹gj³E­4=¸ ¥ËÇô!ôÀ®ï¸~ô‹»wHãµÌìö“kÅÌé§K`+†Áwž /‘½«ã:y¬î†!Yt.ú¹ Nw#Hs:½é¸ £‡LJ™ ˜v1È!Ðzqú- Þî+8ñPë2J5±yt}‘¸ëÊÖ!ͧkSU²b:;Ë-®Ò‹/GO,ú$õµàB{·Uœ³åá0 g6CxC¸|­UsŒuKº®E$<#Ÿž[³T¼‘Ÿ”á+þ~øLãá’´ŠÎ~Iô€]µu­­)Õ‚¶Õõ˜î(›æâ†±·¢Ôjâi‘ÎQßóÁ;Â{¯nˆRÙ>þ”A;«;8>º ¤ ÃúÈDœ çQšiñ´)e2‘~ì3]÷î¢¶ÛÆöf‡–ãÉǃ!¥ ¬â`†€vô³8%ãO.‘.ö˾ÏÝWžFåßç‡üÅw>áéŸó3ï¿Æ×ÿÁoð3ûï²ã)ߣê`$a6Hèäí–j7ñ³M£Ñµûr ÙVR6w¡…rú!å#öÖlý%G„’†Dé–áTkµ]{R#Ha®6éjÅh¼"aHf5­^áÇM(büŽæ#÷¥<±Ãn)‚ÉèÙ"¹‚»†i•yz™§Ùsbÿü DN/Ìe3)æE›‹¸à;¦dKŒ$5- 19|ѳµ:m»;°vÁ ¸yħªê]‰‘<ä›*J´8›!1Ï3º„>÷FȇöV:fXÂd[«&Lw­‰‰z‡¥j<4GR€\¸Œ;æLäë˜ÇÊ~z=Zg‘~ÍöA\…ݵ(âïF¯zà–‰#)æy¢ÖjŽC wûµî e²­pD”¦Õ…A¼PužU¯–:¢xI0#€`Ùw³'1XxsJÉ2 1FŸzÛt¿5kÎQcâ+‘}ÙÙ®Nlh|å|áíSr„òüB„ã{oІ[¿g+Š‚í}õn£–fºZRiåzwÈhg;7®¯÷¤Õš´Y³Rív­ªB1wy£û ÐÐ4Ò8LúB¶"ÕÖªªëú0_Tי͛ ¸|@9ŽNކŒÐ¸ï.›‘ñ䔳ûo²9;§µ‰ºßÒçM¨|Bgïu°ð"ñsFC Š3E¹m¶Ö+[£l'˜Z£õ½}{¹®n<Ê9-[mŸ¼ã/{>k-€9[»Aù숉:ÛYŽ:X5𛨸t‘Õ0sfµZ±Z­ˆ9²I!ÔÔ݇ÁàÆ’F×+›öŒ¼2­ª ³Þðoþ1·7W\]]Cµ¬åç—·¼qö wß~ƒ¾»¥™O¿ûÒéšø?üί} 2Æ )¯–œ„ýî†$™ŽˆÙèÑ"£‰&¾Š*$ËýŠ!IW„kÞÿÙ_æç¾üñúSê~¦L•ü1Ïv ˜8ŠÂ,]oÜTå¶n[ Ö‹Úa8„†J§hcîp‰²o&.«¥{wçlJvs`ŠÂ¼ßóÓ?ó OŸªÎÎŽø½ÿõ¿åϾ÷}®¦÷ïßãíwÞ僯ý2_ûíßä«ßø_úÕ¯s|ï Tî‘ò ¥Z7Áums¹›fjžÍ†11°x§XK£Ôb²nqÉiˆ>N·C;øÚ/Æx8ÀÓj ´â¿_<;01wŠè‘"†ð•̑废àNµÞ^ê_œ}\W'‡h¤äŒ(ã–ÍólK§(­Z4‹„ω³ÕéN¾t¡ø; Øê+ëË´€äƆ~UÛÅ[»_¶Ý(á!&§ùÏÀÌÃÏ~ÈÑÑša<³b\¨0/‡Ý]s*hëµuæ§å0ÞVìW-ÛËx©ÃÌ?¯R«S  QìÐo½ÇÌ4ÍÎeÆÂòßß[7q»;ÄÅÒä˜ëÖ  KY-–ר;ól^¦RëaEÒÜ=W܉·ä‘v~a¼`¾ËŠoê ”Tÿ =K§ó«LSq]$çÌ0ŽDçd¥!;]Þ$4))D«Gýó¢ýîÐlÒE³ÄŒåœ‹ÉžeGº›Þ=†L¸¹zÆO>ü.FŸ‰LŽF™ká+_ü3¢p}»ãÇõ!w^¿Kü§ÿø01nÎ,n82G„Xhæ°é}ò½y`eµ(ïnÁPL1Œô‘»÷ùÒ¯þ_ýÒ»œÊžËÛkj…1¤Y±pBd›œˆö˜ør"°W˜«qeB„„ 1ÓÄ.º]ëL=°ïÊNáyëÜvå¶+7ÚÙvå¦XE½í…'eà|•xí4óªf¾þËoó—ò=jÈüöÿöOxÿëßàâË_ãìí/³¹xÀÏY3WÜê[QÒa½—Ôæ ·ˆãZŒæÓ¢Þ:¾1´‡Þxs©ÔZ\ìë‡v~ic×`6ùZ«uó)ÓP¦:3Œ«ÃßkƒÚy ÇÏÂù‰!ÑK·x`Ó„ÖÕ]c&˜Åcm¬€³¿G¼˜IQÌž¬‹ N°îuôš¸~*yÈ ÑøT" ÂT»;ü–.Ü cY%;\œÞ“´àv`ïJ}*´ü9µÖ—BÛ…Ž½^že#fËÖ4«ú¥åk¾ÐMi´Dð]m¶æéÎ1q­ãÔFÐ1_›™õWסX/‹ Ù&P.¢.v©W”6Wb7NQóîmšfwX™Y¶ªn·‹îðiÑk?¬šY2!»u}ó~6‹·¦ÚmÝP—âGÍîžRv†šPK3 ËÊÀ&iÚÝuvCN¾bòõ²v úŦ­Ù :§CËûÓÀTí`Á^/uUÍ¡ª‹ÅÞøY}áÎ9¡^›ô‰ ˜K«Ô‚h´œñ˜‰˜™ Û:ƒ˜$ t×T‰ÅBõ…ß_Ne_žm~Ö†Ëçe“ïvøß–‰ÝìkÖæ“Ú`Ý+¯)¿ðî÷Na{{ û=«ãsòÙ]š$SDswFß¾(–‚b yAEée²|>Á3Abæùó+ºFÒhîaµrQ¾Oî=¿WÕ@ªÆsЦçhX3åë Ûb<4hã0Òz£ÎÅL&ºâÿ§êÍ~mËÒì®ñÍfí½Ï¹]4‘}ã,—]YåJS6a/¶xáÁȶlãÞùø7xÄŒE#ËF®*ì²³ÒÙgDFĽ÷œ½×šókxßZçfI¡TFVÜ8gïµæüš1~Ãܧg+ ‘ÅùtÆõzÅçŸ=`›Ä{œïîÂÉàóûû,²&ZëX·t>‹Âj“ù‰b™‡ÚàRRqZ &N&züìg7<Ž539ãhŽ[k©ß¥‰ªµŽZ+zçD©5N jlÇJ>·Ažl¯}ª{¤A 0©;ãèJQ’wtkÍ#ugÅñÏ3)€ >ýäøä§?à4»WjC`aøàÙsÔ{D>ûù§øå§Ÿãßþ êßýþÆ÷—Ë‹tÆS Jth4ôû{őձÂJ9CÊüZÛ‹`÷¥Ó¢h7GùøÛøÎ_þwð—~÷/àË_ºGk††‰3x€jày¯xu9ãYO¾¨K™QñàU¼ŽG <†ã!sÊ&7¦T(:T*n¸…`„àsÜfƒÇ'Ž­qTÿÓ7oðÁw~ý?ýOP_~ EÞGTfiI¿£Ã©ò¥:BNˆº`Ú€Ô4VØ›R÷ÃLÕÈCã)ÂaïÂl¿¤¨¨¶ë9'Ýx Û«ïíÖ™‚Þ: Üš) fîõt¸¬ &§6­TØ0øÈhœ,¨TËù|ð@ ‚˜ì$d×Vñ¼„Ù„Í`\Â;,+wO°gÍü7 f„ÍæŽ¨ü™ rL{B6†‚y›Ô¥aB§”˜š ½¨òäYä» VxðÖ‡ƒ¿ÄéÏ1˜¼žÁ‰Pj²ŽŽ4Éânv|^À4EXN¾„ÓJx¢4" á°¹?1 ÃÈMƒ\ cÒÆìÊl1SŠ;çT…dkáeæ9Ñ4M«t©IÙ–(³ÙYS\KÁ~®‚òŸá¨]s:Šã7L£.ê¼\0a$éç¢AÁ:·†$2G¡†ÐrÍb:˜˜º¡-= (et –ÖÉ‚ènÁ"4?`ÏH,Âuv¤Kµ1Ɖ°\6n†tò 0Ãò{r„lcEˆa›W<¾ùo>ÿ ¿üä§øÕ§¿ÀÏücüü'?Äm(^½÷^½÷16'¿ëPrIÅîÝÌÔÜo—R(Œ­ÍJæŸ ’p¾‡˜ïpèé(”\cF)dN©qµ´°H¯zÒHྦŒ¤™»çßYÄë ÂÆbÎÉŸ£òÀo SõwL0áŽil>Ja#b¦„Ó)¯',uA GG]:ìâh¨˜Rà1ù÷'2î 0ˆSyP?®+Χ;”g‚¦@àwßø>þòwþ~ïßý!õ†Ç_ü ŸþâÇx|¸¦6醻ËKŒëgøá¿øWøgô#üòõkl.øUSué%m6m‚îü¹Þ ÅiaÝ/¥¥V¨âhw@È‚W—¾úáKüöïþY|å7~ïÿù߯Œ3´K Ï™Í8‹`˜¡Ñ µ^2¥›öo@Y¸#{Æpî ëœhç…““¸²«·R9PÅJ8¤ç è†RÎ0›Î)W4’topËB!4á‚¡;ØÏm¡FBƒš9k`wXÛ(Q`WºƒL] TeéÐ"ˆ«º6 ZthF·3Év;¾M(½¶u…´†PN.Ž¢ìf‘ “/‘ „–Âx‘}í´O89`‡B:4§R€^™GÛ0§sT*–ìX"õv·b‚3QG‘šÀÄ0U!…Tïó2C…1E»%=XÀ„;F®iU8m “¥d81‹†ëm£“Lדú&R«sef“Z“"ioßW‚¤«SÇÂßË€VP‡AtKÝdÏU*›°¶Ε®äK[0üŠû0üÖ‡|åk'Ÿ¸™¢žîp~õÚR VP½c(P{ æF$ŽtȘXçš;ªsM(…ŽGõ¦ŽÐPÇãMÑ{ƒ Çlu‡ïž:õ[­>pŽŽY|lÆó¸žð9‘ i —”—„@m:T¯ sZkÇ6s¥7Z!ó.JÃÝéþwwwè­c'¨®_Y¸ s<þ_ùÆ7ðöå=¾øì3ØX)QfmNuœïÎ(­³i³+îۯі$6<~Áôªßþø?ùùk\‡Ãdú#Îå†\Ñê‰Í\I7hpŠÙ¥C°Ë=˜5Ïl#~‡ïÊ<Š,wÅÒŒm£;U¨³íBö]@Ð2Ľž.\3‹Ò˜€BhlÊlvèi1Á€CV:ß“¬Ñ%7C0¬ÛŠ3V`8–ç/ða©8/´V/ÔÒ¡V屫ìa(ˉ‘ð TDèK¼ ¶tœx`%*8Šœ;ñ× /îîy¡n'ô¾‹*î?ú¾ö»O‡Z-€Ú c}À¿vüø_üSü“ÿñÃÿùÿ_¼¹± ÔN0XÞ«gô»‚—¯îð½gwøÕÛ™úr¥.Á7¾ùU|ç»Ï_¾ÄÝïãòòÚÝs 4Nép<…D×¾`3vø: š¨ª c˜Bàй¢—Fb¼ïŒ*^ clh ;‹ÂÌ+\çÄ–zª'ö 7@¡yÃÈ$©õiZ v²µítA« #ŒgŒ<¡K õ(æÔ(è߯`òB¦ìÁØ‚‚mn™0.vw?zr+ÌèÄ-¥åóçO.À\C™¥È? ìÎæ#Z¨&¢G²NF=õÞQ[% %]ƒ»ž.‚ÄŽ3øuˆg­éblä?1+±aØÀ6VmJ³ˆ*1(q‡®I¤P;Có ÁÅÔ¸ø¡gÒ0ä(…R'à×Ô°9§_»Ne›|Ô8Ñb¦(çñÛœXŽð[’®O¥æJÍ Åð廂÷ôÜÙ ÁxöÞ‚Z×ù€â_”릸NÁ¹ö.\ñIajÃ’,2É,N"{DXXIêpL'¥,BÇå}¾ñrÃo~÷–zoŸAÌqÿêÌhÝ]–~Ðú=vÝ·Û[§Ó…Ï2lÙæ„¡¤®ÊÜp›,¶K¬¦h^ˆ*™À}?A*·j¯\›·Ì]mÂÇÀ‹»; ”0”¥£ƒÊk-8õ…:®"˜Cqzv—ìÁ ‘úAÙ׎i~©µá:¶„ŠÒeøÞ«÷ðx}L}Ÿ¦Xq½>ÂÝñòå¸,w¸mW<¼y‹ÇëîÖ©¸~þ/_¾H‰ ðæíç(õ„%Å [í¨w÷€mxy·¿úüƒ×þ”†Õø~úD•Ž"ÀôqDr9ÐË“U˜‹,J”ÝçÇÀaæ#¥F¢½$ÓÉÄQkOl`É ®€qJf®,¬"WÒìÈ“ºëÊH¾BlŠ9–k~Õ‰Þ;z/ØÆŠæ>_Q"PÛ™VêÂfÂéÜ ã¬ì«­ äX´ÖZ±ûL‡`;¾°$4Nà—ÊÕEíw¬AnŽÚ†Þ:Š/ð0^|ý/ã?øÏ¾‹¿ö·…ú¿þ#|úƒ_áíÛO°, Ïïïð¥>ÄW¿÷›øè›ßÅù½¯Ã•ÏÛ·8ŸïéÊ:wH¶¹¢×ЉM·àjÉ*™Ô+ v™Ã±,­÷ƒûÎJas‘rèP|–åÄU–‘1ÓÚ‚R9°âtý¹`9 )\Fi˜ÅσkU7¥ð0I÷µŸi,hÔ>Œ1wÎñ¬;–JªùÔ‰S§¦Ê¹[ã ˜¡²zÛ(R7B#‘’—O«ºn@?!Æäˆ·õcüŒ#(´kOŠÖÉáA&¤›9¼$e73f\“‰ÓÔÀ‚ºBÝ š¡Ïµ$™ÝƒÜ¥Š'{½Ó«4æ`wŸñ/"̲šjئ&«&g7T5H{šÀ@çó·+¿û†s[0ç®ûp„pWÏÕYâªÓóY®©¿Ú3³â ﳨòCëe’á¤a¦F~žŒÁQöT:Ö]y‰%Ã=]a¢xÓwÅü±üg,¿·"œ.‹¢QSÔŸÉõ§åx`êÒ¾$\Ô&§^°$ =C¤åIrIýV<»øÒÊ·ÂKðr—pÆ=ãÐSÅõ†Xj9ØBɹ©€M~¾îœ&,Ë‚©Š!Ài†ž)¦†ÞÖ1ÐzÏ•°¢ÖSgf$ƱbÞƒƒÍ+„Ô ªNš€Œ¼ ˜jÈA~ß±ä9×Éñ‘–0Æt}Ú¾†d³†ˆCTŽØƒÉã¸`ùÌøäÍÀów°i㟠5chxvˆ}=ybûÅ$YAæÿ,9B E=ô;žSTNNÇœ52CÓ9ü”õ7çD+· wࢗsÇÝxÞ»¬8É(ó†û²BÚ‚+n7àÅý‚?ûõŽÛ|v <¬À§o†·¹`Ž‘zÉ›¯t Ílj(Þï7è\!Ò±ÔÀ¹N|ûEÇ_üs‚ç'noc`¹ÜCQá¥hP÷VlÂ|£æØ—Ó™ìÀõF'+Œ‰&nˆPr©"°Æ©dó L´Î$93—S÷•æ$¤´"|ònÙÆ@i½s]+©Á3S<*!³­Vhæ0´^3g/›c4”ì?ß”|HFä¹7F;¯ËM0†¢ïq¿\ åŒ(Ÿãv½aNÇãúûâ ®öæ„›¢ŸÜß=G¯‚Sÿ*oЗĆo~å9~ñ‹G|>·!ð≣K=c_ÈÛ#„JeÑãL3±4ÕÊç°6ÞGO©k~hòö†Š®p®y-Ø> / M&ª85ç5ÓeÌ8áZ–ÂR´Ú…YMKªçw@¡ø‰¼š9©¥¨ª–0^ö…‡PëÕNXj-Ð$µº´Ç ~.Š3­Â1÷ÏPdó÷ØÊ ,Ͼ¿ö7(è8!”ÊU*wPTL;“ —ç°¾ÀÍp½ ~Á²ÀµÀä¡Vv¯ŽÙaxA=Fï'~‰NškM†1ɼÔljMMZÔ#;ž½Ó£¦ÕqûÅOðÿðÁ/?û9¾üò}üÆW¿ yõeÈË/A—‰zy¹ÿõò2_lO¬‚c@r]ë©ó –B yè90Ër˜âÑÏwöÉž`GÕ Ñ8x8MJîJÒ¶)>¯½Ã®7ÂÆ"Á­üÌ"9XÈg˜º22àj6Až«ýCȯQÐÅhÚMµµ‰Jêi€Ù› ¤{¯ä3G$/h¾µØHÜî5u“ÔbåÄJõ0‘xfôõÖ€BS sÿ(ÖmKXq@…kïÒsƒ»Dã ú® ¾ô¼âåeâÃÓ —ö VÈž?z^€Ë+¼¸4´vA_'ÞŠožÎ¸MÇu6üè'Ÿâ—¿¼á“·«WÌÒRj@§„ÓùcýÔ|U/È \5&. øø^ð»¿yÂ{÷tçb\âèK‡ô‚(‰’+pÇÔ ·¬‡¡UÁmÝ8ì+J!¶ÀªØ0³hžˆqâgRçÓ µ4L-€ _Ñ– |–è% ¾Q–‚(\¯vfáβ¯Æa6Ú¿K/œ`OSºùöÂ3,CžÙ¤VpjÉsÛÒéÝZû5Ä^ Œ1hÀÊÏw¨Ë‚ÏŸóÏ¿n pÞn7n>Z\ßÞðúóÏásÃ/ò#üÆïü6ž½|…\|ëë ®?ذ• a æ+B z»ÀRwÖv‡®î5#ˆÊá¶æ†­Au ÷’!Ñõ×Röÿî»ùáxVQâqÈŽw³&í@q*u/¸Ù#Þ¾þVh&¾®Ü.<þ ŽóùžÏTiÜðýç÷ï|àË¥_PZÁ"ÜSz÷–ôe{Éx“WKÓÐ[!è1E¹Pµ2’ÔpURò×Aª1U-ü£,˜yG Tßó£ènÙdÂ*X0ý·iجaÔ ¬=G«=i=vÿvÝ@À¥”Š ®÷J!Ó¥a:K ©h¤H½éód×ðEö‡ïBNT:j¶¡€Z²†€{­µ:d ¤üÿüÑ÷_Ὗý¾sÿ ñËâgÿäÿFûáàôÙ/€¯} ×ù~úüýË«€a˜­ãÜÚî˜ÌòSC5…m#Ŷ«³t®cCé-Å’Ô{̡΂À«z[0‹ªëF0£¯¯Ñ—¯w˜1ŽÌ0Aˆråà„ÓŸ¬Ô‚S_8Ñi ª¬qQ“ùC›î_4ÛSZ-XÍ’6Ï.ÄM1MÉyʉ]‘Š*7sЦÍ»l˜ÝøÏðãsj•¬a*PZçºgiiooY hmáóÀô OQïiY0椥°ÝSˆ.Gi­- âÝÏ O¸f\eÄI‘Ê KãAca@á­”›\ûÎoqðPÀ|¢”ëxàj2×ZD!° VŸœ«™Ç`m>ÿsLHÉT€ ’bFÆîQ('X¬ÛLQÁäÖ¬Jš!»Rö|J®ÚcÒý#’‰ žŽ´`×±NsHmeÁ Ó©Ç‹ÎâÎ sfÁºçå‰d¸-Wø‘®ª&|›^0¶¢Q­tx0<ÛrSJÁØF®ˆ9 )ð9²ˆfáb’9qêPF¿h.ÿ™–ø‹4c¤†SÆtIqÍ yÙ9žqT4B8 aš¹Îw›€ÌÃø9÷Öçïȧ´}Ý9É>ÛÓÆÞÁaì8vÿ…¡àd-24™‰ êçà„PUܵ†¯¿ßðÕ»+¾Ò?Å Ÿ¡êŠq[©(ç q—N½£/WÁRµNôâxu.øðK¯ð¥¯|„ûºÛ p…ˆ#fŽ+ŠBœï~ë5EË4X0u¢)ðòäøêó†ïÿÙ†?èiðõîËýsôå„WKU aa¤NŒñ€Rh60£#ȏ҅ :7ôÆ-Dƒ²H(g<ŒI½¨{:xÒ:ÎK‡‡¢sC®ãiÐ\É +!¹þÊ KÂ{­@=õ”*~bÚSk!Ð5§ÊŒa!Ô ŠÀ#à• àÚ;ßsóÌÌg¦ìÅ, C·ß&̯¸NEHàíÛÏá¾âÍÛ/p½¾ÁÛ‡×øÙ~„WïÝãîùsîq®×Û o6)4äjZsEpIø¨´ÃtL˜¿£!Sk'Òª)–¾`êÆ¡OŽjl(Š)]„yFöÖQÛ™ÚòÒ¸e)<óDoý†ŸÿáãÍöŒ› ElÀ·þÌwaÀ¾0̱‘Ëù÷þÖøý~¹Cëwt Ö¤`—œ8GfãÑâÞR¾³aÒFiŸO=ˆ»#”“R «½¨=9=HžfŒŽ«@¢A'ÿ¸mÛ˜!'wi0Ý :Ðûrpq"DD(P mNnƒ6ZG¤pPá6s¬Ï`IÚ9w7VC :ÜtN^t–¸)  †¢ºåŠTDî`OT5Ìøôþüø¿ÿoð5Ýp·œñáïý>ýÁŸàþ®ÁuàÙÇ_Çå7¾…ËG„<â_ýÿ/î_} qy^ÇÜ¥ýÚÄ%rµEâtOv:äÜŠƒúÝ!ЩŒ+ʃ[¿WˆpÝ–«OâÓÐRÔßîYdp®ï6ëts ^…P$0*»àƒ£”iÓ\E°ëçªÒ ҡ°´Ê¶¼Œ3TW’p,;¿‰aÓ¦q\¤µ.˜cdV˜$íWPsÔî¨ðàåâ¥sˆÌI,5  ‚Œ’ëÄ“}•pÛi‰Åðx"{G`Œöƒ¡ÉY"~#}æ1ªª°´fç‰FAˆ½Ãò„Ð&.$*EzRËizð\‰Iᩱ9,à;k*-f.*ÔÒ¹ÃK-'›O¬$¡[GƒèµZúq¹sµ‘ïÌÎXÊ•…z$û-‹L”äŸÕwFÿ‰ (‚Í^‘L¯±^ ÊN,ß1õ4±¡ÆÎí…n\‘©AÍlp[²ÁÛ€,-ÜÉÙ³$·ë®+ôÔ€)zåäKS§´;J_’¢ïÇ_%§V-yXš®WO`ddLv;m9­‹AÓ#›&^B–kdž»¦ëÐeô3§±qL¸–¶±¬5Ë ¡)ׯž+¥daÃÕ zƒ p)¿|ùò)^µ/àþ˜|¦= ÊrÂÝ‹;,½àÔ 1 ­ `¢Š¢°Ñ®®J]ð¼|ô_þè=ÔíᆇIA\K£8ÂaLQ ‡èBq·>WüÖ·Oøò‹†Sgp°ûD_”~ÒÎËcéN$µ|[ªpêí²Á-ÌZÆXáÆUÖ¦ÊX «âñJ@óÒ)]¡Á#€Ð (¦Q¨`©û®KRké¨4÷c2Æë‡VÝ6H[Ž÷¬÷Îé|¥îOZãúì—Ï<»CCC`ÚÄÃçøùO_ãÃoÿyÔû—(&‘ÆSu¾ò‚¡vh`T™‚õüýs£¶nf!HÝKɃ3mÂá4ì¸DÔV^†Y”¨êA‘Þ/¯RËîôÎéIìÖ%/O9ëû¿×S¿bÉÓ±àCopÆFXاA~¼ä¿kíÉK8_k )ä­#$YXÒÙ _`—–pV©Ôº¹4Km\(¥ ù]Èg„¤‹ÆYL»#4ŽEr­‡ƒ{ÁÉWæž“«ä#ípZÍÂ*¥¶œ¸,91™“‚ÔuïXÖSæ/D :=&JMÁr8¤5“RÉÛ'Í•¸RÊ1aÛW¬ûï^D2’…“¯ÖÌÔâÐ*¹"W‡sÅíÍç8וvPw!¨ZQÓ®¾7I8Öp@$£æ‰µÇ¼ã%Ôjåä¢8"WEš‡ª§eÏÙÜ7rEåÊŒD9Ýaší{BêA„«™RóÙÍ@ä*ÈÔ »ðÝã ©X3Þ#& /n‰ð8°,ø2½ÂÉãû8žŒGq¥»C{ÿ] ¶/‘S]+Õ}ŠïÛ½HNwž Lä$ù;q?ùÙ›åêŸö \)ÍÉóv¾³JšcEëU ž• _{ñöרãŠ96™öqZÐ{C_*ÎmÁ҉ШéÈ£ûs –;@ Z\XÆU›@q¼ÿðü|B<|îï@ݰÌd À]w½àù)ðá}Ço}ë¾ùaŹPŠM„Ðù“ž¥§Ô8â1"‹«‰ Çln=æ#׃iàc›ülÆt¬›CͱԆÒ–-µ0n'ܱ,w¸œ;|šiÈ;ue‚cšÙKcçþŒ8²¡ç4ú8—ÓÉÜú·< %Þa¥ñ̽>^a_$ÆiÊ¿ßfæçîÏ–ïwèœp½e–-ù…ÛÆôz{Ä+QK‡MÇO~òSÜÝ]pÿü%j»`›‚ëŒáÚÙh–dSRãÀ@wfÚïY»\‡½ ýe"ùY|×w³ï³Ø!jyf×£ùtìzÌÊ3ÄnZ?óZ C­g¼þÕñó_ü¼|åþÂsÁ ø.ÏÎ¥ŽÍH þý¿÷÷¿ß—gPC[QѤg†Uy'â¦#¬`ú ›üâçØˆÔ7Ã̉M2æ˜ÐG€×±) uaÕ©º1kî–î„Ûz#Òm(ÖÛÀ¸¬··uÅ0 èn@4lÛ€©`¬¶u ˜`[×ëŠíºA' »ª£Îm¢ÕŽí¶aŽc[Ó†_1$zØ6Eë'fþµÆ,¿Dñ@+\ê6PE 0ô¾`Ú†³uˆÿò±ýÓÿ U¥¾ó—þ*Ì®˜¯Îè¶a–À¿ø%Þ¾}„FÅý‡ßÀ‡ßý>+ eÎôw£ºôjÔÌ\¢°³ðÂw'ƒ'/ÕÓræäP;s^tˆJD¢l)£ã¤ •:6¼Cyêà8U÷â ×^%×O!¹ÊÎöª óyá×\› ”#Þ£’½Ý•×n%Žeg‚DkoˆŒ8Ùl à;hˆÚQÒv?÷X¼ë„ ¸*–žSÙ'?–«æzDÓŒ¡(Kåü|=†È)–ªGžÞÎ鉌ȡ‹…Sa‹½  ÿ¸ì2.fŸ< u{ñá.Ôɵškv{…ÏÀœ7®’Ò £QsŠ„wB†íAu':€w/מ.OÛM9ÕÚM;å(Ç*^`éÓ•KÂB÷Ik#w*ÿ?[i ký6 IDATÿqdÍ i3¨QWQP¡ªJþÌl*„ ®9©OB·’“U³`”GF…˜ *åÔ}‹‰SÊUhñòâòiU@^ªA&qx'{ÐÀnŸBíaËØ˜iz¤UXÂ$w§9° ’—âîrœ:¨Éi¦ªBÔãôÝÒl³‹Ìw°¤»î-A®[ÁŸCž8Rn€¹æ_ñ°Wá:ÉŒsMÄŠñl×õqd‹z~Wǹ.X`øÚ‹¾|E Í&hËߎ»óKž]îÑ+ãa¢D©ßtÔ\É çA€i…벜QkÃ{/^à½Ww¨e¢l8u D‰â) w—†swœ«áÙEðÍ ¾ñ¥‚³€Úc 5â*L*z¥ŽTuäÄ0$‰ã» ”b b Äî,¤Ù@œS]WE˜á¦Û&æpLÖÛ®êÚ`^2Ú§@ÀiSG…;ᛞë06œ 'k`ԉ͕8¿·Dz7¡‰ÌÑyÀoQ¥ÉAˆ×mbÛ¨™,¥¢v:Á«ÌlùÞ»»C=Ñ 0lâR;¾ô•/Ñ9˜Î_CAýýðûß·Ò9º³šÝŪžÔ]”%µ7øäÂFF6¬†Ûô¼ôC Öë@)5K8 yÃÛªÆðéx¼Ý0=ÅâÒ°Y`®·‡MT½N… öåÃ2ªÀºNŒ¡pïX…ëð†Ûj<Øãuj7ôØ”Î3CDǶÖ¡ºbLǸ ØTf3^î2ÌÖ€R0UÎÕÒX#‘ù磀T „~RÁg?ý¸ÿ“?Á‹¥1ñéŸü!"€O¿x‹_}ò>{ý€‡Ï §ç¸ûòW`ýÞÿ‹Ö_ C j Ür\¬iý?V6Øæä„Ê%5!„Sî—Ç|GôW…L›R 9,æ°ÂC£ìããÚa^™gV¸:™ 1íï8*wÚ¶GºÛ’´.Bû66ŽpszD «ÀbæeXR‡PKJôˆ’êÐaœs:©Ë…ùó ÈP+:P²K·iD¹g‘K7g.Ñò;b'Õ3Œ;=yÑñWÓ"ÏȇÌ"« ¶mbSF) ¦VPkç–zIþëm¥)Á€š>F a"Ed›p¤ÕŨcR)YÀìÅLí&ó:I}®Ç…³›Pv}“ïÁË骭µøœÄ&ìÀ!‰XØ‚°HË÷«fªp¦ù\òŸ±Sœ±K–¿{Fµ+–Ó«Ø'Þ1$ÊóÃ%úžŠà:Yhìŵ:µVc*)Ÿ9a€ œÛR/΂o¿šXʆ"б­ØÖ (ÀÒ”“àtÿKo|~SX­!Øñƒ”â“…H¡&qjº™…!å§Ës|é£÷pÿ,0ß¼Á¹TTSœ—†^'NV÷?¾Ãw>tÜ- N=k?as®k;ì˜(.½ÂmCg˜£è·ÁÉs¢€ÛUC¨`SçÁÖ©Ìť셰mP·ãXî;‹–Ú*ZNTAsEÃÂb¹TÔ™G[Pí†&‹“0×5j™÷B£‰Àæ†(|/=cÁüÎ4¨U­)e1c :WŽ¡çÍLÃZSel[ˆ˜]3 Z±®ùˆ©9{xóß|†ëíÛ¨7\7"S~õæ(›à£oþfÁ¯Ö+¶uE/¨ éö`)n˜™EêÂÌÊi\îQ„MwFF¹¢Inº©£f']û5?Ou¦Q´lneÅè¾87Ѭ…85þô_ÿ1~õé'8ß/8/g`b|L¼úøC€vj(Ö sCýý¿ý·¿ï²g“´k‚: „3A‚ô†u°iw¹s®+t ZYÇ€[`½m©/™C¡×0¹&ÑÁ©ÖÜ > × óºÂ¯ÌïÏš n7Ƕ:Ö›ávUØ,˜üw?*Vź ^?n˜Cp[ snëŠmÖ ˜UØÆM1G¤   sâå‘gG  •vf–`•ñÁÒŽ)…'7ˆV¹ŠÖ*þù?þßqW *š ~þ³ŸAâŒÏ?ÿçó=^|óë¸ûúw€?ó}<ÿÞ¿my-cÛ}£J½WÃÒ:"j® I¥ímÁ˜qZ¾ÍpP˜#5*Á(ƒ _ê°È'ï*Ž˜ Ú—ü<‚ú™wò»Æûnó;]œôrvÒsNlÛšS%c˜ö ¿H5…ºÎÉg¤1b'þ›ê¾ð͸2ðYÍ\M/l¢èŒ£pcn"ŽüʧìJ¦ ìZ6HbõÝY„ 1¾÷,bêaŽ˜sp5,è›0F­7Ãw/Ï8ŠãºRŸä†åtÁy9QnP–~AD§9& à‘zÁ©O`Ù1Y¶FÌÏŽë .Hñêùs¼zuAë·”;>xîøÆÇ¯î.è­ Ô…—v®æ®S+OV‹@çÆ´‚Ö s@Ma»&Š–YŒ¹Ñ•®©T=†»îóáJiLù}S'ºª–Þ!ea¬‘07/*u–;&Õ <ûÚîÜÎbÛ”Í}Í™}$âB(²§fPdL;¼ÆóËKÜ}ô!®4Ì´Òò™g#Þj=>ƒJÁ#Q5­ÀÆî°ÝßFr‚Úvž]Þ)°\7Š›ÉÔ?…S§VT“'R¦±7R5WŒ†þÿü_0Ÿ¸»t¢`@}ì¼Ýp÷â/_|Ÿ#§m@ýëo~ßä”â×JU¼7¸o¤ƒKC‘ŽÛm" Pã—§+c™`®|ªñ UuÜÖspÒR ˜ë ÀnÛ»TO¡¤ááÊ®§˜c['feŒ™t¸BÌNóv»"nŠ9VlW…h`»Ò´­ƒËÛßÛ€N²Üëj‰¹\yÐCËù„VôåŒ"QÊžu”ë™ü*9©1ŽÃgäkµûgøúŸû~ðÃá“OŠOnxxñÏ>¸à²ðþ×ðü·þ*Îåoàöåo¢µ3ª^º`D1TYŽ‚iNË—¼ÁÉÃnKµ>ž‘+ìÀÓö½ë•ZÃpMíQU•aÞ!O™ƒ:F†_>ñEÞµDÓ^ÎC›#Q=øBHçàyyÈ÷ÒÞ984Úü]Í!Áƒ«åïÄ΢rÚ;Ý:ùIµŸÿLá´”F-_fÀ…€I°¨Á5Eìƒ:©íÀ* 0_³¤£¦h;‡Lˆló†’¦æd…z Ê-S=óÛìЩÕ"`—ñzh fš)ˆCáÄQ޳„‹½¶ô´ ?­\)þä¥9§Á<0<Ž^Ï•#^œ:´ÿÔ]©áš­%P7£ dAH'-<ŸRc`üþ)ÚNAip`¼Ë£‡t2Ä•+"~FêïÝ*²a1U: ÇÌ‚ ~"XÚ)›žÔWè„´žyy\!MO­h²ùŽPð]Dˆ=CkOB4sm»s¨~-ú*-££ì×@¦"HíÚ;"ó4r¨êÁœRÕÄSÄA™wç;AQn:.!˜¹Šß3âÌŸÜ¡3µ|žß¯ÇSÓrˆÓ“Ç·gŠîqP–ÒÐ Õ‘ìÎHs ÖÁv”Òpi wKÃ"/N‚—'Á‹öî˜Û s\œH={öËåŒËÝ{hýÓyñ[Ѐ!Ò0håNÃàB]dÍ>RDp]ÙKM˜ãÅÝï?¿àYÜ NøÖןãÕ…Á¿µ5ô~Jþ†YÄ©ø­vH_U¦\Á‰åçaz4ÛÊsÉÌ`Sss§ÚÒ…»ë‘KiÃŽ©¤‡ ‰>q¹œ±œ.èý%턇 ݶ¥R÷'µÀ'éá¶­þˆSq¢WhL §Ö»ÊÓ, a^K­¸>>0öÆ{Â"lB·:1·G<>¼ÆõÍkŒÛ ëã#ÖÇ@®ƒÑ±Auàõ›G\oÛà„oÛnŸ:RL„Nl«âþÙçSGYë£ÁÞ~‚¿ù]lZ ±¡ >5›xG¯5grDÚàþâ»M Wôõ•çЃ’—]ß»ìóax'St7rqEÈ ÉT=²m#U?ù—„×o?ÇåÜÙ÷ޱ)έá«ßú:u°"0(šÉ g„uTTKw zkð lùƒijT¶1Ù•zÁ˜ ?K^èÊua¤@·¦€Z±1±Ú%Ãq5WĈȨ¦ˆÉCÔ§âz´kJ?!¤` ^<½eœ^QÏ'ŽKëní®hKÏ꼦†Ê1 §†Óå‚Ó¹CÂðìs£›­Öxj›z#¨/ , ¤x5]<Îl_ïÔšÅF¾\} ßÿ/þK¼ýWˆ_ý£ÿþøv¾Gùö3Üó{(¿óo`„ãbë¯1 Qì9ÕPƒxääÂFa¦Ä(”–´…+°Ha¥-«êëö€ÖOäR%Ð(÷Éjž69.¾°þëÊž²ÿ²ú?ôaa ámûÚçiBÆË›pÀ§¢kÿßè”ÛuH$œÓÝ’f"‡ðÊïì%ÁCµÃF¢Y4‹Ÿ–݉'…Z$%òÃã3AyÒ4¤¨÷NÎŽ±P ãÄIz¯ù‡M”VIóA$æ%M[Q¸Â ¥Ë-3Åþ3Ã’#]B^sÍÔn+“ûÒÔ°ÝVDcAc?sÌVå ÖJr»Hé‰h é; .i p”™pCi€ i™<„ưA˜°ëžíôt7²¡(ŠÊ)3%!ä°í—;A¬üËÈnàš–¾" HNPv†ÇòµUÄTL׌U¢³ÖldÓSR9öO._)\ÝŽèœúÅ;×G¾ca”º“‹ð0C-#4§©ïà$‹Ïhzâ!Z{¾/5ãšÏ 46m›5¨ù²}ʓȉ9Xðݶ‘Ï/Ï)"œr*å³Û3‘£îižEñsO§o©%Ñ(B—õTLqÂx":«j ÜuÁ³SA+÷Õpß;uJæ€7„,KóâòòCt}a.ª9–…NàV) ®ièˆÔô&hré0Äy˜z_ņ&‚síØì÷gàÅÝK¨ƒ™„Æx4rÜJ6¾íÔQ•çÁœÙ@•Æg²DÎ(AÖÕPâW0Ùx.­‘»èdº/ÿ˜Û€'ãÌet ÒÜû)…Ö™wÚB'Ð*ê²P#„€ŽÁßÏçziË‚ÇuCi\ßW¤nÓ:n(]áZàÒËDD'#»Îˆ†’:ºÈt3&6li†·G¬ás£[=µ¤Ôù]¯oЗó‚m»Au@“FÕ·ÛÃnÛ÷Àét‡Z7 5lcâ|®¨Ð3ïìòú—xùâkøÕ#è²§X¤¸5ƒ¸Ó|'À²,sÅÒ3Gw ¾;YK¼T.]wä\íp£v0\!SÓÄWµìÙÎ0*¶1±,5mƸ"Šq»áå«Wøä³Ÿæýï©itÜ/ ®(wýTsãhÎtz! Þ+`ÆjP‡äœPlG!óœƒ.7p\ ÿ¾üË A–Pëâ)’d˜pCSËrA„’< ‡¸ÀçD½ë¹¦Zo@4ÔÓ‚97½µ]ctÇE[˜WéhKÁéþBX€¥UèXqêð匼¡ z𫵢cDƒ×¼Ì׫µÁƒ@ãG¶1°T"¢v@´o|ýÇ߃ºa®¿ 9 sK¾¦´â7i‡à±a9ôs®@ €yXDÐ!ÂéŠãRî‘÷ -k¿`nè’Ð>®³ÌE‚;á h~·ïºøöiatíøûµ2,™ ãÔßµÔTŘ*&i7GáÞ\*†Rè¹,ëG«Œ© Œ½(…K…]¯`ÁƒW„¶úy#¿(*Ý+†@™3ÅÏBí8­©•Åj“¼1‘ÎDü(÷¢‡†*É‹³7Á4Àð^à Ý•-µà AoÔñÕLšM4H„GiÒ¡Áì¿}][k%³É)º)X×õH˜yq14ÜÒA〵IîÐÀ1ÁŠ]力ºœ1@Øá4®ç@÷G52þæÀ%3ZFQ cC9->Ð¥¿ƒ`feH ¦æÔ’Áä^ÀïÌÛ!؇zƒÙ€Î¨’–@Ý Ag'iYñmú²dÞfFaw·¨xZÎsb˜²˜Ê˜6ì@qÇæ‰4ƒ­€ÖŠš®]»Ø ŸN6Z]ŽÆzÙ¡Â…*èÜ8jT†ƒç»KM$;Óy9¥¡Š`Ó+'ÈÙ„B*$ŸûH7—äzÂ!²£<˜7®è%ÓRO¹(bùÎlÇŸ9èi—¨Ko("è"(mÁ‡w žµŠG\ZÁ‹»Š&XÚ{Xä%€ZÞéWL¹¼¡µó7†Ô–5)œ¥Ý¾8 ÉÒ:8,¬œn'gkYr*CÎ::*¶¹qÝW ½z;bŒŒ1`& YJA[ϰZPDQ–Í9Qˆè€Ø<²Pݤㆲí¥à¦3‹]JÜœ߆ä&ƒ1Q5 3 Í(Äï§./ïqw¾ÇjŠÎüÞ¥Áæ†Þ–4{ÐÒ²qåT1®ã¸—Äæµ:z;a{û§/ê°R(Á¶±¡/í0aÔ~Bo'TP¿¢/Û:°=\™Î’ ­0÷Mq–`µwlcbl+Æ`A¥cRî$Ø`—Ö™ZÑoWÔxïÕè­àõuÃ/~øÏðá¿ù ¼ª‚ÏÂØ$wÇâ™S(O‘¯ €²Á…aÛ&–e"à•À웓ý‰žét&xؘX.gDN§¨½âfˆI$™¼P t0ÃpêFMy­XÇ†Ö ŠV 7<»;c¾¾Á$ðÙ>Á«¿ð Š5Y†plº1£6ôF6‡Vé ,ËÂѶŠöÆà”@WÃårN(—À©b̪u)¿lUòNÜ9=i­æ¿£áv»¡–ÎL¢S!8¼z#b×P 7Ü=FAv“ƒ$Êe¯@+œ ­ž^÷w'®+œâëçÏ_r›µ­À‹ ßnïÀ©'%9£0,0u£Õ=Y7­u:­²E•*Œ³Éø‹’€ÒÌ8óˆ>9NÐØÒ¥Ã©”ŒC@À‹£×ž|Ma0­ãÜ-§®Êõל}Hvájœøìî¢È5×κ*I²…×9•²Rœk„4¾·3ã_öÕÆ>Õy×)‡`8«õ0‘6ûý·Ì”³ŒgñpŒÁ§t®HÓîX×,h•º-S w¡ Ò*ÝŠ•]æ(ŠyÈ©¡•S‚L½?M*ö‘o+'èTôº`Ó5W¬8,¼;¾ æzd/>Kr›z?ñBÏÏÉúªyP"9-ÉÄý‰A´¯”J®Ô5arü»`ï^[®k$×I»1@ SqÒ¶,Rº”àzÀB0וâÑöÄ‘B”Ôó f8zò©|?Ø9~@[È€‹(°â<ÓÌÐÎ'¬·ו&9 .©…S®¯…ïtÈ»ÂQ:T<±á%A§eaÖc…)…½xLgw¶kΠܶ :S³ièHgfbEÜÒMe)”8ì|¨RnI±oRÐZ§B³p‹8œ‚ž VÆ$íOG¡»™ÃÆÓTÔ,ÁƒQ>–Ò2Ú‹8ÆGˆ1œßõÌwðÈDdŽ¡’è¥`ÝnÖ1çÊMê$úÿÿd½É¯-Ù•Þ÷ÛkïçÜæõ™I2É«HV+Ó¦\‚%w²=ÐÄ0`H]*@¡‡†lhä‚àNäj­"Yì™ùò½w›sNìny°VÄ}’Ldæ}÷œˆ½Wó}¿ÏÖŒ&ÃÐÞ‘aÆUKèV„cVn¯'nçÊÍáÌ!®\-‰ÑßsX® Æ+bEµ.äd‘2KÄ›˜NÕÖ®biÛ„ §É=•®…ë0:ÝÏŒ(âN!z¸oÁ4p­:GlËuVXJÒ™»CT1A)BŽ‹%`¦l®7¯ÚŠ~ aZ«ë¯²©Ìyî°ƒ­UÚ0 ”v[±oîв9»±¸šãë×¼zñ A2åÒh¡QÖGæù`†©$n2}Fèïj›¡œ£ÑãÝ%½!cXÃ!"<<>’’bDr"çL¡‘ŦkIa‹Œ;Ÿ©ë#¥TÊã™®g$ú(¨Î\ΕóZ¹”†­ÿ%O µ N+ëz"Rˆø´I&çkEâ”}-^9Ÿ7W•ëëêÅèÏ®f®®÷÷!qZ-$>çü·¦¾uX³¨Í~÷iö hëŒè‰0¾ºÁ°É-6øô²îk|ûûyž]ìîçnôíŠGó´Y¹{÷–­(.ŸIsä±u¾þß$…LéŰ0 R]‹åÝ}$ª]- G‡Okœ©”4Ùj"£¤¼Ø…T;§ó·Ïn)ôtcBPnXÒ·\Qú{æ ñÚD•ëåèãüƼL´ÕôSND™©½ Ú™¦dÉØ©ˆ³ÁýZ‡µ2Zçp}M4/¤Þy8Ý#i"ÆA«É–œ&Bž‰¥Qs¤!u‹òÐa€H´Qºª¹Ðú°uÈF®NVýÊÆƒRÃÐt‡ª6ï„76OÁ Ïq&;¶­ ÛA»·ù#j­±ÂMÇSœŒ î£Ó´³PJ-.´®Z,pÄBb÷‰ƒZußûnçߢiZ7PéÇñ,[ö—¸È÷‰ ëœ,UÇY˜¾¦oD«`\uÄbÝEÜô`Ý F@ÄLõlkû€­4 !ÙÄH£@òÕâVÊ­­yîžÿuuhh 6¢K¤ÞP’¯ÌD¬22õ09Á464ijRu(Eâ¢þÑ-4Fˆä`“½µ[s@ë¨ktp‡(nõnµ¡9=…#‡¸W›Ãº©rYW‹!¶ zkÍ9_a×3¦”¨uÝŸÍÍà1<¿p43²tÈœëÉŠ”RLA0°µS3‘´vÓ2†lVøgó›ã̧ϯ¯áÙ±qX”E’4´Y“Â+BˆLÉL1“‡*[ñ §…¾5 !솠Z-¤wtHiªÄ>öBxxs¿d±H›”¢ÖÄMnRm˜$p“ØjWÇ Å@ º5l¥6¦);âc£ü+T#ö7‡gZ<‘5k+hëáÀjÛh·ÌÞ ËZ!&¢Zñxz8“¯Ž¼ùìk<õÌ¥ ™$–ý›£S÷Ôq!ôNЦTí¤ Äœ)ª¬—‹}6xT\±è¨œ‚árôRhÀõqmðUü–,Q@s$íc ÏW¨Ür>ﹿ»çÝûϧÂÛÆ¢Ÿ‰y1˜iiœ/Ôº’ƒkiE yyNUË^IŒfgÍz¹pWÌ)±– q\øôÅĹ w§ÎõÍçÓeÇ"lZH4W»å±v—RQƒ¥yø4t“x¢ÅÉ?Ψã#îŸÿ=7zE¯#ÌAn°r[›Ûçû·Ôó‰0›œ0A0ñ½Lq/ÜM¢0HaÊŒa—ÎÐø\J÷VЦ ª CöÃ!%æh ¯$L‡¨*ËdVñrˆ‹Q  ÚX‚½ä×Çz@§Ÿ 1(Ó’)º8Æ™›ù­¯Ýðòvâfj\MgË9ŒÙÅø &;σLÔb.çR »ÙëÃ6 ñÉ R4på4[ÜÉ“.Ö8š1Ý< J"Ez¯,1Ñ«Ffioûd/„Ž Ó¶ÐŸœ¬êy_j:£œ…ŽñÚ¦ÑIö˰ÔÊ.j]hLÉÜN˜v+¸‹QƒÃÇp=” ßÚ¤àÚ9"]<ÏÌPðèjÉá±*ìûUígl#«bïMbü»a® ¤žš{§ÇL¯+X0ZV“Hl“ÈZ«‰k‡Ðöß?‰ÐêêSíR bºuÐ#¨g5*½6–y¦£¤8;ØÓp 1Z¡W{s€´ó˜©2ܱ†ì¸yqˆ|ï›/øö+áÍØT$Zí^$_L6B Î ìYH9Sär©Þ|[¶ª^`nNâÊ4™>§w×±ÊäPH[%'"A!‡€âø‰fEÄ4 ¥¬»4g_}ª’'kÖ†6OB¶sÎ(úƒnÔÁq<]!R Ž‚z8yŒŽ1RJ¡ÖÆœ¢)kZ¼öÎ¥uT ²µIUÈù×/ÌI dNÔj0Íœ„J'ædN°(¯êŒ>qVPâ¨V$¯ƒ(¦ÎåQÉq¦h‡Sœ\­,´ø±r‰+Ü4$ß칆5ÞþôW$iL7GêÙ ¶ÔmûÓJÊ‘—ËÂòÝßá‡7¯ùóûêÉ‘–ÃÂ:VZUR˜IÙ4r"™1Ym½³•ž*Ç9›r²w)´•µÃÝÝ{žÝ¾âù8A¥Û40ؤ}Œ˜³P†…ç#«žˆÉ4ÊŠŠ¹çky$ÍsÌe¥ÉÖ¤†b…Û0#›lƒÚÐÉ¢ŠzLd˜”PQ ”¾r8¼dº}AÐ÷iŒ°˜„ç8qpûú%Ú 9'êådäþñÏÿøû’ršH¾¿®¿ˆ1’Cô±¤9SlDw›¹-Ê.vÎ9su}Mž$%ÿg”ãÕ)'òdhüÍÍ—S"yÓõí3b²Ž½õJŽFËŽÑÈÆÓl¨Y­iž%¡*HVþú_ýüêGÿ†ßüöç\½yÍáõ·y󽟫°ùW”¿ù1?ÿ³ÿ‹‡Ÿýñ'ÿ+¯3Ëç¿É%¡ÙN¶ÔJ˜,·.Ùâ0Ññ¤ArK|u›:±|]ÍÊÚj1’®çJJLóÌáꊫã‘ãúïŠë Ä3÷šÓŸ‡Ûá‡k˜j: ñsèp'‘›¨t8G§÷±ëhv툪»å&VŸTȸ4U”`\£}]©;ÌÔ²«,4³{ Å,‰›ð}º9Ÿ¢"¥®äw×^«6­3NYpgNc­vxöè½Ûä#¦dEØp0éGär†9~v>ʶ[ÏÑÿœ²Oâ”A-ÕæN޶JèÎrê}0-³ø¢Ls¦Ô÷øšÕPÜ,×ê£iUN&¤Þë={lx´MôÕˆÇØ´cõB_û>ÅÚ8õÜ‘ ’’zð»iuÚ¬¥0§häV”]|<XÕ91æ’Òð?3Æ ô¾#&´·ùŸð=­ÃÐÝY,1ºAEäkÁèÏmÄ¿i½ŠÇ\Y°¸_¥U´{/»=§m oBlÎÑÛØÑ)C¡^V[Ï×¶ÿŽƒÞc3¶<>‹XJ‚x¬Í“‹v#áÛª‹ÉQK­ZcýÈ.><ÒÈV®îçx˜|Ãá¿§ÿ™bôÿ]ªk­¨½™¶ÇfT4mnŽ¢±'ëjÙª½³ó £Ç»½ÚhôKgJ&GQ œ>0Í þë¿þw|ùÅOîÙøêý{~ú“ŸóöíÔ‡;úåD+—¯>cíðÓŸÿ‚õñD”`ðÑéZñÀ! äi!M¥ø™]VÖó®Ž3ËõbÓºu%vøîþp®ž qÎÎ7lî~UÚèÌó´Ë#ظnÖKûsbÉ­±šRvw¨p¹œýß}J&±eë tkŠñè´ cöï?x8»ý;w_ü˜º>Øö©vûY1ðêúšãórœ8Ì訓Ŀ/þè¿?B´‰æ–ÙöŸ1&zNM…¢‰ä¼‹LÙ^¨müþqÁ :HѺ›ÓåDŒÑÀ\£?½LŠ¯ÅƒN;Áù<â†i Bhöï ÁÁ\íDf¢­ïù³?ùŸøì[¿Á'_û×g8™úÿpõöG¼¸>2‡N|õœßüÁ?à«ÿ9_þåŸòâ[¿Czþ’KÎäjió!obÿêB|8û D°¨vYo¢:{iÇã‘´,VL¦Äõó[nnŸq8¸:Xò¼ë >ŽD©­ÚEiQ“Œ0vÄA÷Q%[±åê "”V?:ÄÕǾJrʺ ãã^˜ɸƒ‚v$Dæi2ÇÌ€-˜XO!Ë@ ì±F‹±¨‚Ö­à. nÕ¾ìè™têÆ‰Î³bЇšûr™µ?¯6s ¢)/†Bp=RÕAŠ“Oº¹äz5Ñ´>1»¶l7$ú³c¸8«i#Ûƒ‘åMljåZšG6rV/2 ’ڌ光]žÑgVÄÕîthd×J±Q’]’Åcc¬Q öwPö${ߨ‹½—Aûîp“`›eÉñ)o.F×Ô=J¨µjÅÐèD1ÍI VHÙÈøgÑÑmëôý‹ß.üÓ3†­~B”½I°8úú•&Ûûydü»'¡·9¢¢ó9&kZFÇëÿý@U¦×Qîv‚zív¨•µîÀÏÍ´6(cÇ$lî­uÓl ;ïh4sA¶>ö,̵Ó¶í1O<½sSb[ã°óÙ¶È(ímì1ËGkí c²_Ûª^õ©8Ú ëÓÌàïÑÇ;æÜƲ´Î ¶êÏO°k#‡Á48ø½¯]ñ÷ŸÝ\xqlä`«–ÓéÑXp19kÂÖpêz*6Mæö ¸^®µN^ކ3À0 )/>ÕÉF׺x`´i‚ˆë í3ÈÓä¹ úSœŸÈâ B2—±Dæ<1Ú@Òìq)BÛ£œÔ×—9Ï>MŽH˜ NïL #XÈtt‡hL‘‰Ãrå«ãB¦Ã¼¬ ¥q©Ý Ø$ëù‹—¼þô5ÙWL)úÝà ÇÆakµ0å„nÊÝ Æ–­¨õd‚jwzùàP^["‰2†`­‘ã&Ðδ¨gÚåÌ“e)>ÞÓ.,×jmüêç¿@iÊ|ùî?üá™§Ìg/_µq\̹÷x:qýê ýÃsÿá‘õbBÿãräÃûGc÷9ð:%c3ÖrA{§ºŽëæúšÃÕŒ¼¼¥þ»‘/ï8}ø5±V™^:yt>K‰?}¼ðËÿý_òÍßúÇõBI“áŠígGF"‰Ãr`íÕ¢ |E¡ž—²]ô"(“íÿcPâjkS¹®¶·/µ=87ˆî¬*uñ§¹´;1d4ZÁñÑ©ÛÅmu¶š&";ËB0êkÌðQˆîö’÷nYcë€iši­sº¬6‘àθa SžtQ" ›ª$‰œ[ó±6´Ò½CVgœ›Ìâ7 ÐÚºe¡Å¸ý¹dk‡Ó>„ê®GP5FÛ&mÚ]Oæ!ª1RЇӦ©]²üO»‰b{ cô0b…R@"A†%Go©‰˜îeÔÆÀ² ƒdù£é†éÝbL[=Lïîõ‚%[‡ìk¦)彃ǧÛTmšòÎf ÃRìU-蔘m-¢æ¢Ý–?½›ñ"gs^Ù$EÉÙТ֬˜îÈŠMí9 —Þв‰Ã]3êÏé¦ùÒàV蔨Ít}a˜q ¥DÐæÚÅE¦&”Ý«"iG;fÁ¾³0l°ÖîΩ±OûÔÍ&D‹‘¨4c4¦”£¬ï´ä,O“ÕAè|DŸœ\X«j™“QÆ5ôœÏÖInëÝ¢3ˆÙ£c b«N\j.®^ÖueމÓùlÅÈ_låŸ#¯_¾äÓÏ>µ<ÉÒlã>érÔCÎûùkSÈè«íêJíô’ õ[AÛ :¡µÚy$FÇŸòL+«¹;ä)ðþɇ‡ëÝ{r¼pº¿çæÙ d‰‹râÓ¯ÊÃ鑾ÖÇ3ï¾ø‚)g~÷w~‡1Î|øeãêÅkúP~õ=®¼üä3Þ¿} Mx|X¹œ Ïno¹´Jlp¾T¦œH — Àù|fÉ‘Fž‡«ÖÇ;¸}öŒ4M„Ò8ÌÊq¬S„.œÕ bu4BÈŽª”1X‚%‰HLÔ˺¯à·PyuLÜ T~×XZ¹”s2Hk–ˆ:\t¸Ö4xƒ¶)²DÐæ"xÝ“Cæi`fœo¼ùÔ¶9R׋Ýí9ÿÙýñ÷U£‰¿“…5&I6¢Bd8•gÍx×?Œó`â )vy¸[JÆH¾N {5¶V$˜½Ö'5âëÆËzÙ…ÔÛŵUÛåÄ.fëAy÷ÓŸðê³OY®^°>¿¡§™Q'.mb|í›Ü<Aƒþ7I Ê•O¿÷÷8O‘ AC÷<)¯Eh[Ä‹ˆ‚ÚvaµA;«[†hàŽ‡nì$z’·}XEl0N¸¶1){q¡[f –P jnÍ—G0ÄMiŠQ·ÂöyûZË»Ü-ôÕb5Ú.²QuåÑ.Ãñ ‚Ó¶BŒ~–6À;êæBTkÄ‚•{ݶ/Î&š¼ œÎ&©YŒÆ5"sb1%¶.c‹>(¤h1š#ÏÅãö ò‡µRˆ¼m¸CÊ» ûê3hg >a/@[+É༶gÌ[í¥Þ&Ñô‰¾.Þ ›:ÆNÀo­»#ÊIYlB¶älðÁhÝûV”à£×°]ÄÉb ‚íw“$BÆ{Ò°_ÔÉÂ&ÞEuw¸TGŠ3e‚ ÿB0.É>¸SãeôèU>²Ê×Z?oÓŽæs#§”è­òùïþcŽù–÷ósR\Œ—õö×<Ü}E¿<ðùü_rÿ?ÿ\RBê LÉBf æ–ÜX&[Â9x®\ؤÙ½†[fËMgÒÇ6Î f•õx Ë·“sÔÚ0á§ómêéBÌóîØÒ z)O´qK³ov˜¹ 8QtŒa.w™õÑ÷‰ãú¬®k˜$ý¢7úe>sÕ켞nBúMkc¤éJ[7}‘»Cr¶M³b!4Ô§SÎVȹӰi¥·à0öP–Z÷‘mkVäÏ%kÍ3;žYfvÎ>z'r.Aˆè•yZܹ*h„Z¨PÖæ3b1#ÑF§<ùï&;ÌtZÝ. ìò‰QX×ÕcV,ºA¡ŽÁ”’gΩG?™ælxNè>M1ûwØIùÔMvHçɦ96 2 J«»Ñ¾7K« Ý&:ˆrFrÜ'•GN”Z8mÕ,jŒ¡‘m˜XµÈ9¢µÐF%N™ËúÈBF%P¢_öÅ48Š ]ØøìÃsÚÖ`E_YÝL1›¹BèÔ1±¸ã(yžXΙֻñ®Ü•ø1*b£€÷M©Ð¢x£g¦˜àå:=@s1”䌥äë[ûµÖIi¡­+)ÉS4ޏ v› ØyÂÚ¡µ@Š×û;¿ýv&®†˜è…HzÒ©îMž cÜãsKÃCö†vÓ¹mS.³†7b ”âƒy2} ¯R§Y9 |óeâ?øí#ÏoŠ_^p9¯D™¨Ã²D“70}Ø”R‡¸›-2ŠÁSKUˆáñᎂä‰Ê¬n² ‘sX !‘e2`®šC¹ƒ¦Öµ0¤ú>$@šÖŒ‹e»KPذ+­Y€÷a±ÂLy Ïóâ’Û’ˆ<¹oͨ®¿Ó­íÚÒ„|8¸ùGY[ç0GŽWGA«ù²5nnßðìÕKƒ²J¯¤ ™@rˆ©e4æy1Àp$ý(kÔsX[9µ@…Â=ãr¡ò‘q)F{ÂÝŒÑY¦‰óù‹ñêŠ)]Há–A£žîx{ÇÛGåý‡w|í“Oxõú ‡Ûp¹ð«ûŸ1®æ™û·o½™®Ü=ž9”R D;M<ÜÝ´3¤4S ÎkSŽy¦Ô £‰É† ½ZŒSe¾æêx4œs!¿þùçÔó=Ór  æ¾9.wF%§H‘AtmZ™çäŒÈAˆŠ¨2M{RtKØéhœ=²º­¨Rü] ƒèÏǃ’ÝÝ­!Á῵5ŽóbÍ{]ùÆw¾Eœ®™ãàq]9ß½§´Êa90¥…>.Èb÷y26YwC7½Šñ.)xøÄFlü&~8Y‘`‡]râ:ºñf ûAb—0¨ÛDeK´¹Ø&$áÉj_ê›lO¶x}*Æ$š{Áhãuòoþ€›w_ãü7I|÷W´ÇÞ\ÝÒÞýš_ÿøGüÅ/Á·þÎsúù–Ëû/ù­ÿê¿E‹‰m5£2öPQc‰n‚ómE¶9*-äµõ†m“‘dBã¢j–ÖzF;¤=`S÷(µº¶"©|´â:/ÖzAÛ>iºv-UHæIÛñ ½îœ£¬µÑ½&VöŠVëhš¯ižhÜÝÀ”Íâ4è±u "-Žgšç]Tl€SÙ ÃÚ:1vZ«Ôjòy9Z׿ëM»SŠY·i õL<[ÏÀH² fCH¦õÚC=u_?mº½ N)’Ñh¤ÄH¯æþÙ´hº% DûÞ °–Fo6ºOɰ„'R¾xPsEÊpíÁûÓwÝ^öüÒàMÁ6éj£!1îñ>c˜FMc´CΓšO3’¿Ž{ã1†qjh¤Å¦#£TrVn—ÄÂu>qœ ×Ù’$Úš/ªÒƒñŸ¢­Tò7uèmów®¡¬Ex,ƒ‡G¥Ï‘s÷â];" 9V$ÃÚmB$Íì÷Iì­š(Õ Ü(c¸‰Âý)$Vm _•Ž¡ÆrŠº;>C06]ó s› ç!iŸþ\îɰ<ÈmiÂV;ü¶sD5лñ㦠kiOÚ°Öû »ãL>"¹¯åÁbeü¢ÉyÚסÍÏLPÊX­Iêc“Õ½ÛVò²,x!`Óy ¸®²¬:[knEŸïðkEr¹tŠp_–øÃïÞðz”Þ„ó¥Ó•‡¶'j/¬­`þÏlz'œ”õ)gN§òrkÚ?U©¥°®haÐËS‚á|£Úm"0úö¦«ñiQ”HÈô¼÷µ!§É!ЃP:Éþ¹ÍóL¯Íž§”©MÑDëc(1ŒÉ"#šy"ª±Á¾7É»zÄlÀÞ¡LYÐvb„Ä<ÒPÖ´ðÍßµUV])§£*årFnl›#N× ÄÑP_Ká±á)ng†‚æ@¹´w‚tB÷3 Aæ‰8 6e>ÌÌ!sz8íÑe£5®Žz/\Ö“p×+Wyâ®WÞ•3òþ/Ló[Âõ Ǜϟqz|àñ‹·þßÊ„)óË·_YòÉí¿øâ+~ö³ŸðòÅ5KÜ¿_¹ 2šlª—È:%Ϋm(’ÃoÇ+WÛ{‰è m=ÀÕ”9N–hÕ1Š¥¿ôN“‰Äì~6p±ÜSË“m:,ª %uq)JdšŽÖ䪚‡6ú¨æzÔ±[­ÌÓô'Böج@Xžñîg?哯™>yIã Æ¼p¼¾²‰y)HöD…‰ÿôŸüÓï –É¤jq#6­PJ3Kðf˜;¬u g*uÆn;·¼±±zk¦}wŒ]ªx·±èî÷rFMÓáÑê…[Ú¸œm¤ç1¹ôa±+‚e†@ )gÚóOI¯?gzþ ~üÞýù¿æFàÀB=?VîÖÆ‹ÿì¿áåßÿ/¸¬‚ÌD×.™®×€€xƒÅah0SqïV‰ÇÉXT[6ÒPËò³±ˆü1ýƦ…éú伨;r§ãš ûýZAB"¸kŬ<.úóÈŒ-Œ61[½wÅ{ß3†™Ü­XÎHÀBM‡1¾BŸ¼5’Ú:(Œôr¾†HA z©jÓ¥<›P½ÇÝ™%ÙƒJƒx¡±‰ÆÍÔÜ•×û@†‘7öekÕvæi{û^p[HqØí´ª²˜µ9tú²é±9CŸB§M×bϘFCD$"<[ ŸtÓ.M»îHýðßÄñQ|©Í5/†Õ†Ä¬»ƒËÓL“OãvuóÀ“¾ÒôŠ›i¢zˆ«Á¶ïNío•Õ™ÖÌýúXùü¶ñÉáŽWË=×é‘cL¹“EIAωL¢•$)²¨uù£³ˆƒr•2s¼Ì/øüÅħυo¿©|óUáó+߸~àÅܹÄ~â Väm:>F'…N•œL«7“øÚÜŸ3 Ùõ5¯;OÕ‘ “Ó÷®Ù¤3Õ“º¯VML­.<îDzrYîïˆn‹½ý£0ÙíK1Wß×yª6yÞ„êV<ùĪڪt×R©Ò»ý\Bß¹I½ÿmج~äœtû¨N[D¶ìt¨}×¶»÷ÆŒVhZm;Œ›Õ{5SP牯Ý&þÃß:òב˜¡GêˆÞH‹ÅV ˜¦DL C¬À0‡Ù§Ë C“Ì9QºÚÙéò¥¬,‹‘Ü[-$ç½%5³ ½™!cc¿ma½~$…HŠ“Aj›i*‰É€ÐØËd1,ÉóñH™Á”&Z-H¤´ ôÜÝe·é>Ss6nŶlNM[¿õâ dµ‹Ybvóˆ5Á‰¨ƒz9S?ÜsÿðHk\-w4Í;C˜ºÅ\YÁìù‘îÄíT&íÆPlßš6rY6[Ì™œ2SRF½0Oöœ«DÚ€U*Æiìe¥^hÀ¥Á¥Þ}8qé•÷ç3_}ñïß¾åg?ÿ%¥:0®Ð0Q‡á8>œN|uÏ¿ý7ÿšO^¼$†Æ›g™åêŠ÷ãb:Nh-•yž™Ž3}(—»RŽÜ>¿±ÉühÌÎ畯_óßþ.3@<ÐLÃëG‡Â°lΤ/R' ˜äBG%ÕlÀ¨†çINÏÎt´ {+TÁñ˜øòçÁ/~òCî¾úï¿|Ï’'®¯,úH696¡M91¢¡ĈăNÇj˜k&¡¶a€A:½æ¸ìA¨Õ ØÒ7È¥uû=ˆÈ~)NÂUE£¬¡[ÑaUdµuSHhhtõ˜:utÚhh\jñ_Þ¬Êh ‡dá³q!¬•3åùç\ý×ÿœ»ÿ÷÷ùÙÿö¿pU¾àõ›×¼#sû÷ÿ1ŸüáÎ¥Zfá(•ž<%xP®Ú¨ô:Üb<ŒÓ&[= ÆåìöâÙ4<"õàü †e×ñÂ+>úh°¼7Å4PCÅßDé•)xõص›¨7Ú‹I5ªv9Úª²U{™·ØŽÅÜsj@†SKïLÓLt—¹Cm­Ä ’ºv¦Å²Ñ`ÓÌÞl |éŒõbkŸ¶i§ógëÝìµÒ-BÅ"9 Ðf¦¨–Û…?Ü­OM%@œ).×¶ÅülXƒÆXÅWxÍ×_ry@®Ž¶šh‡å°hƒiš¸\V[ÛDe˜`·«¯„‰îJñƒq¨;3ãfïâ$È02úèCžèò„‡°ñ\%¨éTÄó°Š:x˜C«cßOpkIbŒ'Œ^Np6[mIŒ˜iݦá&¾~lÜ,o™ƒ­Ý™kA«O€$óXVË‚ŽìTôJDIê@͘œ÷oSÍ(‰ºg·A”m…Ûy¦§Á³«FŒk™råW¿¼ãíåýI85…ù%#A‰ðÈ`îÉøYj«Ãe´½`9w žSðf`2¢7g1T¢NVlµÕùTNRâdÒ‚}Bµe¿Æ´ÎÛê7:8µkÛ§SI]»#."ÙÑ"^È Öõ)Ž l:*‰,:.”r¶ ª‚e$³Þ7k`·€xkP,ûnÿùiBâð5–RÛ‰e™í*¶µ ã€Ð¨Zwa¼aK&›^#d^"ßyÙøÖ'‘2­¯T릖ïáØE 9Ó›MÁS ôº²ÌGz¹"|x|àêxcÁðž´ÜqØj³dÁfžªÍ>OkD”f$\Â&‡n¡‘çdg0d¶ ᘣ"1‡a>6RÆq±$ í«¯T'°&B»úVEÝÞïQC[`ö2Ú« j!d{×b¯¤´0€¼Üpz¼£ÜÝÑÖ kä88GatFÇùX­ìá2,Ê,«¯kkädwpŠÙ¶^`·011ç…!Jm[šFvAcd™¥%Ƙè½Ò«XFí|í&­³7—µŸyøõ=ë¹Ò4b²ä–¬ÈæåH:dòlÚÓ÷¸ÿjåÓ¯]YV"³îWO‚SNÌS"EÛ”œëʃwß\_Ó{#G« šOÜOV+cê”ö‰Ï(2¸š”Û(óBe¥öf,Ęè*8:s°3éz™=WvநÝ-—¾"ížØâà¢áF¦i‚`4ü”3Êêãã¹Í9¸Ðâäމ(ÂÍí b^¸žÏœ ñZùâ¯ÂëO¾ié"\(õ@–…ÚïI6 Pr 6ɳëkl—ÜGbNÙ«|³°ç°´^v'HжŽo¶üŠhY©ÚÉ’mšã–s³»ãU¥p߽݉VBôõToF'ƒÇ»{ÚC]/–­Õºg°Áõí•kW×WL’Ñ”¸þÞ?àö»hâåÑyÓ “\sYWr¤dD_UêjNƵTR°\»øúž¬>\x<ÒfK©Wz‰”QMh·Ñy}Š3ºÇ38{Çp<åŠi^¨æ#â”-\Û´f&Š—±MÄ2eŸ‹@–|ÞœZúS·Nú©û„Æ µZXKƒ”<æÇ ½ššf‹ujA¤# ut¤š>ÍÐ ƲÙtKµ®–”§§cðÌ ¯€ã$ÀB½ë¨”5¡aíSÁŠÃ?ÕÄú6ÆeŸF¤”‡+$&³±wHÌMÜ¿9-›>*ÃõpîÉ™âtÞòQ¬‚}´F“îÝ]YѺ¬¡Ovþ˜ÊÚ­H•¨´^ˆ10y1¨[&$Òúæ‚1æ «ÇPÎë…Ã<£C¨ˆE6U…”at®²òjþÀ³é+„Îey˜9aŠÊ¨•±;G e=Ý3M3e@N3¡WÇ0Dwbq$UIS0W”*µ6$švoË׳ íìPÊD W¼y–x}Û™“ÒÛÊÈ—)Mx•÷ oïï×ÊÜá<Ë4SZ#Gë`£F‚$Z0«w¨•–nÌEË qÔDÛ'@çÕÞ»Ö‡={®v{"Ÿ?±àì¯ý#>»`۞ϼku‹(Ò±Ÿs] Ã`¤ö‚º1`źñðú ÿãO'yÿ-‡¯_['mkÅ@kÕ„·j»øÊÜÜÀlI ½2BóíÆó<øúí5¿÷ÝϘ§ÆÚ s´©;½†MÁ·ß?{AQk%§ywÈæ8^]Ñ[g^ÐÆ• Nœ¹¥‡Ç+ajŠEåÅî´¡ƒv9s\"WϨTÃø¬ˆB”‡*„¦hˆ<¶íNµz#NGžI¡÷°`FÖbwßÂ,Mƒª 3Sô,Ø yºáÒ#Dª4¦Òy—•ÿûOþ¿÷~@Ê3—ˉé&ÚýÙ‡YZó"…`œÐ:y9ì:Ó øjoX˜¨n++²éJ²EÆlߨ1ÆSS%6‹(Ý’ÚªYêG³»$:®·R ¤ýpÿžË¹pwwÇ¥vÊåL[ÏÔrÙééËံÎ_-,Ó‘W¯^ñpâøü–„›^ˆS@52ʼnÀûòhë ®•àUpv1¥=[ÌsøRŒOÂW§$o‡²˜{º;q¸š‘¨ÔÛ©ÝÖ [G».Ÿëj#sï¨J]™|L“¡Ë:È“ÁCNŒKCr&-™K+Æ'sѽµTÿ÷£ó©ž¬à"Õ"‚j¥ÖFDZ£FHŒ:>š@ ü¼3£êˆ‰ŽŠÐG`òƒ½•õ£)Ló5ŠTÝǰ*b\ µ,BUMÔÚÌeÕ»‡Õö‹c½@Ü=d G/ Ì(]wUÕ\„)Y˜t0g³uuÚ‰qfš2ÅA…æF {a¾ÖŽŠá¢$Z¯° ›;ôä!Àua™€Ilå˜- f$6RêÓáì+5‡ê-¥;64ìÎUñâ;Häp88µÞ4‡9™“nJnôÄ’Îã½Ë4ÜÓÓà éÃ>ë(FŸçÙ›z!…„Ö-¡ÁÝeE’…> Y&ËØÄÜÁÔ¾£@oçb)­A+ÄÆ¥OHxɨˆƒëž“­ñõ«Æú:q^oïV{–×֙ɉœÖ çµqW¡öÌã$˜i„¨gRŠn|IHwÛuôÕµ;è>†ú~µMÕ7šº…¦¯hˆ”ÖÐê±UÍÜH2,PYr²œ·abos÷™Ã‚E¿øw®è^ˆ¤ …Ò‡% ì…žƒ\=¬½VF»9$ Jí•ä…}ÍÙÙVêæµŸSâ0V¾ýjáï~ó†ãÜéåÌ$³“®‡;ׂK}ZÕš5I7‡#§â™£sîgŽÇeíÄtôÓ ’à U‹mÑaïð8¯mM?%ÃÙXü“½Û)OÐÍäÒU}¢`ÅAvÖ) £ì©…:+¡›þ+ŒN¶*Ž.ñèîBöònF²¨™¾G®ìNÃVˆÉ9qˆI!<-0Ð(hLT3#éÈËO¾Î—?ù1“D$º^‰y²ÕiY-e!%ƒbony×°«Š,VpMц’ˆcCº&D+â¹³£VF³#hGK¥®Êi½0\?Ù=ó‹÷|xw"ÕÊh>él9š îùZ³™£^8&n®&Êœ×FÔ s:0KáÅí5?ÿò ‰«cä¬D1ÏÔIy&ÅÌãã#1&3¡ÁíÕW÷@He¾âpuàr÷žÐ ËytÍsŽpŒ0<>-¬ù¸}}üÌ<;QÉ,ÅC"{¾`èvF9•Ê㥴û9=fj‡»‡ ¥*×)3¬­Ò«²êBJ–Z¤¶BŠŠA„[Ÿ½áç¿üÏ&Ûн¸:ò£»¯ø?þåŸðÿÑÂq9²^Ζpðßÿwôýf¯Ô­²‹a¢ ÄtEwñ䨇Á/È-wsÄX׎M¹ë6Vr[Gn€ÑMdŠÚá½ël{y‹*o¿zÇérâôð@¹z] 1øJ̓v=F£5»ìQ…EL “ë>”¾®Èð?ƒ+)MÜoÌ1žÔâZ" ®P( êZv±¾­mŸô䜭ët ÏÑ.­áëˆ-˜t?ð»iÞ!G&l¢x£æÏÆãÑAiQ¥;\ƒ»ý³òG߯­Ø¸ÑV†ß7ÁWèO$Ôœ§§1z ¦qQíö‚ÖÑœ‘b/~É)¨6®!¸T£Ñtµ‘z¤Ê€^Ý6âJy\Éi‚$¶‹VPJB{`YŽVh-GÇ+Ò”ùÿ¸z³wI’ãÊ{DdÞ¥ªºª7Í I$I 5Íp™E"HBú¾Ñ?/=Hqк«êÞÌ_Ìôp," óDݨ[73ÂÝ–s~'% ^òT€Ör*q¿ÚaÏ53´Yv‡„Þ÷ã#.Ô‰Ðæ©`8µS*†Ãz½2GMÖæéŒVªØ ¬µCLÐjeJ¸Kp<$Øÿü±@Þƒ0S1fAYÆm„óN©3ª“"‹×–ŸsX÷Gƒ8… ¹RçCÍQ¦a·5oï ’ uƒN%çp9†\ë5\ŒÌáì FZ5Š/ÍGhÐäk&0”´5jŽBÉèNi.AÜåaGŽ ÕÇ$bN뾚ÉIîJš÷NgwFúH\ªc8óÈ‚z­ªEå*h¸º`Љ.s#÷œÚ„{ǵÜ'¬×ÖýB”ʯ%‡0¨9©bN%L¥ M svÌ0Lê˜Æþÿb^“&*¼RGå­A3›™ÑYTj&È‘ C™²„šŽœ3cP‚ü/¸ Ä7˜Q<,ÞÑœÓìaŽœH•2J:qZè\1;á€W ¯ØÚ†¬äذià$A)0¤äð®È×}à^Å7¼º>{)øögŸ½^Ís¼¹*&9+²ž0Eãç9 I šé3*\Æ—t‹òˆÃñcEts 2#®¤ŒZÛ§ãG"㑺Ûáƒ!óÖCgù`µÍIöþsSÚÃj™I9B\›òL¨­“ÐnÑŒfÓp5ïR‰„%î3ðŽâOÿŒ×/HcOIø¦>B7Nâ’I=Ü€ÔçìBýmÛ0M´±#´n»! E¾aïvð» l¬IÐÌóŒ<ñÙR¹ª÷ÂTt OK¸Êµ^1ç@ƒ+ôAÏW0MåÐOÙ±ÞJ ^Ô5)]fYR4÷4,¨·ˆj°Ý˜%) ,i.ïÔü‚gÈ3f*!Ì{¦ã4c>=ÂóÀ\&”üƒNw*u»€©µ£VhâÄ…Ïu|‰5V>wƒ°Û’ `[+Æh£áZ+ž»ã²6\Ö+¶m¥¨W|½>ã§?ý ßüâW°aX&”iFmŽËõŠy^°ÅJWU å ëW|òñk,wН~ö„’óË;¼ýæ‚»DgÜrÿ×ës!òàº5 OXN÷Pulë%R*ç…ÑS‚µ†­‡“fD:(vöaHÓ„»û{,ñRMÓ„ÓrFN9ó²¿{ù‚†©àññ÷÷8ÝÝcžò4#ç;,§;v£ÅßKÃÍ6nªïð7Ü‘ãö±ÿ÷¶çÅ‘¬<œ—ÌþÏT@÷LNgá™4¡7Úò‡p¯ìH¢J•Ó7ÅŽÉà¯ØwnÊHØ6ãHY§ˆ†ØÝOáêv2 ò™vÁ0µS>*æ)E¶]L’ŽÏ…¿ÛètDŠò@MJL†v#)µ2Ð ³õ×tQcìtz@<‡4ÝòÝ0D4j<ÕcŠ0œ.U3^ ;¼Sã0„1ïQ4‡À9&4ì\ùŸÉü’(, ½vb7°»õ$¦>üY†›³L•.–}uéN}O‰iâóÆ¿{ÀFˆ=€¹ûgC£F¬<{30M WC0e6 à éòs¼Z.˜Šã)ÌmP1ôV¾›cåß±J8¶àH.ìþwb±0²¨>GyšÐ]Qr\üñBxÄIøþ¬Çz8k&¾Ä`œR‚fjÊJ™ 2#ç3‘”áRÆì<‰¿SŽìÊÃÑ7ÆX鳎¢ŠÍ+ÜƸÂìŠÒ*§Ž—ç Ÿ¾ÜðÙë¯fÃã<£öª_aJ²òI&T!4UE`R‹uf ŽŸœƒ~L«nj|ÀAó Ô³@p1ÒíáÁMÒCçbMÓa$·”ÌøþÓï9ne°(ž§‰”tq¶?ù$î†ìÂÚ*†_3pš/¥ã;¾üýðê>ž0dP;«Œ§¾ÃGtD „Ðüö™ôÞ1MÓÑŒÁÉÉþÿKY·V1‡v*…k±”Y¸§Ì)záT@±#}¨gD¸Ã4)ZíXæ» hlMöŸÓ1ÏܸŒqËCdöe>ø…Ërâ9påØÉ¯Û§—ùZ¾¤àKÄÔ ©ðLˆøXáÇ÷D—[L*ÝJFF·†^Ÿ!¾¡]®°Þq}ºBœúÚíº¢NÀŒ«e³FGx_1Æïƒë¨Ñ°m×XAS Sëë°Žm]F]7ô¶a»Í(šÐÖŠ|÷øôÍ'ðÚàâ¸l‚rúmùËÝ+,w'¸L¶áœSV,‰ÓH¾G9Â󡃖0%)R`]bHJUˆ=Òc-«$ÀÎw Sæ3Ï º4æòjfN¤\3(ú ?ù_ýôá½a ÏÍð­ãÛŸ„ô_ò÷_j<èjª>Ö9vÝC[©­èÁ‚b!"&•P7 rMTˆb°#¾ïŒâð¸^¿Ò@)J—R¼ÜgÁá\%µË5ouyºÂ=0÷%cYN¸»»Çéá÷È9ãîîÓifæQ™°œ,§J>1(r"³Šyu{€3§Gu´ «{€=#ç‰zü=ÙŠÂÎÖhKÞÖiùP_Q¹Uš"Ó-uNçŠu'Mzz³ƒVÏ:IÐ8 .>„NáîÛˆ!á ¼ÈOÓŒº5@­Tv÷͵y0~BσFñc¬ö$¬©)•#Äz€;(Â}‹˜ îí)b¥èÝÚó-ïК©Øéî» W“†&‹”dŠjéj¡–pÎkURŽ eJqØ#²äúqøëNöNéÀ$ì—Ä®Çéaåg&ù¢\Iì¿'“;¥ý× ¬t„3§”`•èAÎ jïÈ)Á{ç”vlyý–aç·€gPlåö IDAT²cRNcIöÒ>Á/ðé›÷!o€w‚û…º. JsLˆ!ŒÆ¡c1²E+£{Ѩ¢d*i$“VÄu›èQ¤–”±nŒQ¢(›ÏÆ@o%QØl®ñl:4M—hB‘ A.'hž} n+² Y‰iŸ|Ãi¡+R¬h Š9O#iõ•E%\Í Ÿ<®øÖ'À'3Ú– Z°Ög¤16ª´«—[žß~qî Ï! GÜL°êÌ-øiµ#Ï—' ñ,ü}êþÞ¬ìï×þçðçH<»ÔdÂãâøÀ8¤Êéq« £ L“⬠÷SÂëRñ/?úÞ+¼yQPÐ1`ÈyÆèkÆ(úðNÌ †t—LsÏ^´¸;'.âœZõŽm}æåÒë#XlJRL¾4Í7 U™KÎ! &Ù¤<…vm7½L\ËH*ž<­¶2Fcý®n‘[cu:"÷’ïý̶H2 j4vù8† =Œ5â‚ú0Ž—Bbk#qw8&UlA—îHåÝV˜ulïÞÁûžòAX® !~ŠÐ1:zp´ÄºnÈ9ãz½ðïÒxÞZÃÓÓ{æDFµnDs´Z1Ɔ¶]!\GûwïðóŸ~˜ã4k8NÓa®™—[cW) Ëé„Ç3¦é ãZ;Þ½[ñøxÆØ:îïO8ÝŸñôtÅ‹‡{<Ü¿ÄõR±œ3^¾Xp¾›Pæ;Lç3&t8×H}N¾VéèApè*# ðreèf „¿” 7Rá{LþöÀl7­ÇØÁ›š]¢zÄa캰!,Jدµ Ý2â‚¶[‹Ì¥p¾¹£ Gƒ¶]ìÐÌ¡²»ë(îN0ºÐÓM:ÂZ@ÓDPépˆÌp1˜‘ …Ñ ™¢îQ>Á Ö‚ >ñÀ w^¾26” )§”V§‹³[¸ C¬?ú@Î)(Öù(°,¬ü»Ùë]‚P¸daW­@í5ul(J¼{dÏb¾Óë|Äê2;p°»Ž¢rû‘«|s‰ËD$…vAP² «a*™8Œa@J(j˜ú3^—Æë»·ð:ÐíBíÛØˆ £IsBa—ù|¬ ’R3Y(š‚1kOh¦N)¹ze"{w®±ØfQœ2ã>÷Ë “r’HX Ü¡¤‰âP-Ìk‹ZÍ1Ù GY™æÐuÀ¯0«aŸor‡U8#A¾jî(v‚jBIÀhfo£K˜Dñ° |ûÕÀ›W,È88ÍwÔ‹é€ê sÚî´þKè°öPÞ„“£é{TÇpüLœ`á¾çRÔíÇúl/lØÑl Dð)ëážM™I¨ø¼½"'ò³ãaø|øÃÏïð‡¿÷1æ“ b¸Ñ™ÈýsÇV+ß?á³6Ì1Osør>š»Ñ;¦’ްk3Ckcêp†„Ï`IœZ1ƒ3±¦ëB}ƒxä%BC: pL¡#K‰Y§Sš™áf`ÿÜü·ÀßÜÎcNõ1^ ï5g³‘l*R$/¸ ¤ÂÚc—2ˆ"'6~y*ü\ž+#¾/lÔ¡órÑ–»{ 3 ºn”½ÔƳ}õŽ:ÐÖ µ5lW®¯—"ŠËu…ƒÁå}­‘@n¡ ‹È4E°ò>BóäÀÓÛ·?ûå¯ðüþ ½L)C%¡×ŽëóŠœ2îNè*˜˜fÅy9ãñ£Ã@bz[Q/½o˜§u» ”Nç;ÔV±¶ †Š1¸ªsëÐÑSF* ƒ¾Ë —kÃÃý9%üûÿø¿âüÑ(ç/ Ë'ÈóÆxÚ;¤(®8m.lN¸$˜¼ÜÉ:4w*è‚ýåÁÒ4ë°Ñ©46ÁXLaðŸÙ¸b]ŸañµHÂ2ß!M êç|t\¶Ž÷—Ï3'×!ê½q4:|¾Ç‹Ÿâóßü!>ùâwðüÍ7xûîkL§Œô_ÿá¾4ÍTå{b“dÔA‘hÛEœyÂh{öp­¤’1`¸\®”0À@ @8ó`c½ b0s*ñ RМ°Ý²NpÊ6HÞ6Ê2sÕ& uÝèJqÖWŽù áôbF ]^.FѾoœˆEçj£¢oÛ|ì1Ñé)ÁzƒZ ( ÌÀ8â^† Š’'ôjG˜jÒø;„0yÛ*4s¬¹çÝ1Ç.SÍ Jv ‰õå°Ò# ¡µá5…Îe‚!G@ô®§àn5%$Ô%ôîŒ, UÎÈ ×HY…#exg'Ohù-#¢,À»ÃÐXµw§pY:qx}÷QºY$È‹BeŠü+… E¸ÔÁÄ߃ùûS€Ã¢Ÿ”Ó…Ï·jtÔ4˜PYgÔÎçX1±¬ÊˆÆ„Bo³Á˜™‰Ï<aœ„Š­ê~…¢#)°dŧ/À)-¸^R6ÌÓ„e)œJ'æÎçK™0gÅy.Ѐ|šõ(F·ŽÓ4Sϸ÷”ƒg ³&˜Žà&U”²›)87Ð5'»9¦‰úÀѨéK¹¢ˆá”Sª˜fÇyR|²,øä¤ø—À|÷ >~3cš%ÍÔ‹ÚÎÐ#—]c5ΜÏ9(ö¹0‘â4ÝEãÄ¢x8Éá-Dù×Z±nçåŒ, C™6DZÕiâvBÙÀг9Ž£é1ƒ&R0zG. ]z!T½…˜ˆÞœÚpäL¾\R ÖXB%¦Ï$%›SÔî{¶#8…JR„áP3¸f´Þa^=•|8þF4/0ÅÏ qäÃI¤Â]„¹Ì¸¬ÏÈšç¿n忨ê†Ú7ÔÚ9éj mt´VѶ Þ†1ÌyÛ‹Ü0¤Uë4™cmkDØù@mW¼}ÿOï+ó×ÁÚ˜:OiN¨Û€fÁ4/HIQòi!Ü"|óö‚Qîï<=]È,”š4ãšüt:áåË—øä“ññëpåjµW ŽjY_„?û·òò·‘ÏÇzzã¬]ØhøÀ”gxʨkßa±žU‚W¡$õk(¥»UÞ¯9Z­@7\¯W˜.ÏÏHiÂv} =bëšIU Ð 2†åäøú½ “/x¥IA’œšLÓ’JÆr~ƒ7_ü6~ñOÿR­HÿÇßýøK— ÜMñKÅZ§7®»u˜hÎz8¨$t;ª܈ G«W(F&²èJeæ¤"åÈhJ1Òó#ƒK#ÜÔ£0èSt&Žs¢tPmÈ+éŽ::ܹžsc6 ù@ëìRcÁ—Y&ÿÃC(§D2ˆ9ñiñzhÌàŽ2χÖl´ÝñÓo+Î 7¤ì˜Šp$9ì°èrW,0PÄjáÔÖy¸„™yi 3‰‹ØÉ‹U“&û1%ê»z¿­=¶5¦HÊ`ÔJÀËHÝ#]ÞÜ`£RÚIЧå{‘*ÃÅw·§íœp`†›Ó|§Sôʦ@°@šB\;°G0ÕPÐmkbK.‚:;íèøwÁé²k/-Én 8<Š®Æež¶èÒÉ@ágªSâÄQô€¯jNÁwóºØÖætˆ£÷U.Ì0—™`¿­†x9ÆÙrcyL2pˆ~©eJóŒi×j¸—'œÛ?A“bú Ü KF*Ô¦úVä¢q‡ƒI$­S^`Fg¼™¡¯+€m‹Ø((9ãÝÛ÷È9£^ÉfÍÑ+Çœ‡³»Q_ÌÉ> ÕÏ xûl0Ê<öm‡Ä(oátZ‘U1¶'üâ_þ¹ŠœïaHÇaÕ+»Z:£4ÆÚƼAŽ2HÔ†Q%‘'w%Ý•Ñ" 6:æéÝ;ˆmƒ&=²ÞÆp Оofi|#^ƒBÔá°ݦÖZ˜ÝTÌûH1ÑÞߌEÌ ÈÌÅò•ôv Ñò0cdK¸¶4Dß|x)·“up-_G¥Ú 6¦h?¦Ò’ÍjÉt4ªîÛæy:iÔ„wF¶§ =´i|/¹ò„ä4Àßyžù>ǹ@DÈáÜŸKæ ’OH_EïÏXNgLÓÍß-zHàh—÷háüSôÌ¢K%GXv‹)£ÝRÌíg®DGd@¦D÷[*…qcH‡0¿µ䂜NØÚ†túßú­×¸<}~y‡wï¿Á¶mØ6¦¢´Î\Ñ­VL¥@ܱöm]¡)a*[d[î¥NtÉû 7ÍŒl,uG[/PXæŒV›Ô§ ucF§wƒn†“ùç÷ÈeÅéñ[7,…ŽÏeÉxýú~ù‹÷èÏO˜Ê„uí÷W̧+–eB>ŸXϪNy¸ãõý~ô'ÿ#¾ý»_éOÉWøõk4ò)Á¶+†êò(È¢0ÌóBððBz@®ö)j±™xD_íõ€wj£sHÖV±ÜŸ±>?óÌ•Â$IÒu/æ $å»l[¼¼œÞM^Q+wFÆa°A†`RºòÅ÷~ˆŸÿÿ7r.9øD$笤 þÕ§"ˆÔ™yUCžXù{0KTÞXm6çzætw‚Ɉ‡G ÂpMMÑÛpVó*ÇDÌG|à(âE’¨š"6axå4è¾-¢<Ö˜\s•"(“•¶u”"\E`ð$R™•z)ÚØ*lÎy. £yL ? 0 x¸#…À3ç‚­#_*T‡fÈLè\ ª1sÙ# ° ‰h€|d¨¹³˜©fAŒ¾½„üüfˆå#BcX¸žÔ‘çŒÖ,(ôN¬Fç‹,Á ëá&óNK˜ öŸ¡Þn“©QiRë1  ~Ípp;Äé49 }8E¹É1Áh+fIhêñœ’Ùµk!v²ñ\&´­C3×Uì(ä@5àÐòŸ³4v®{A¡;öpW%ÆÖ…ìàû0¤’n¬¶Uwü±B@èAHsÇ¡å2cì“äŒ)¦’-Š‘jŒã¨màµý3TßaÛ*r˜ 4Å $ŒûêWmÀt ×õ zQ±U§CX ¼,‰[q°n˜“C'…hⳕ„!ÁØÆÆµcJèuÄÔ«D19“!„Êø‘¬4Ôâ MŒGêFYá{@ñîVmÖ(@r¸4؈RÃG«Çô³Äa$¸ÆgCÒÿðXñ[L—‘€1aJw˜R§GÆ]™`é‚—‘Çz¼£îÃË|‡§ë†óý lìx‡Á=¡w uÃ:ÖkÃÓåŠç÷ïVCõŽŽÑj÷ø=)¨6-­bÉŠ,S~ÆÃœpž;^^¾\ðæå=¬¾CY­­èݰ¤‘626»bY¨ÁEʶºRŽá€ ΰN›xLþ<:qĪ0Ñ©¦ f­ùLŠ085´¾!)  ¥ìç1ÁÍÌ ½â4³)Ýó'EÈCTErñ}Ÿ’ôš¨Q¾‡V| XJGs›ó‚º^YÌw°µÁ(D¶]‘3†ïÛp³ö¯+.õж>CÃ¥I» Ÿï€éŒÚoœ³Ý³OyGoTÎ(™Yî2¯„œ÷F’çV ÝjÎ?4^C3–Ç‘Þàü Í,Ûó3þéÿèó7¨}C)¼ƒz«x¿®Ü,ôŽ­+rŸÊ‹mF Šç’w¬×'ŒíЇ…†ˆóòˆ§÷W¸ Ö­ãrÝÐÇ„$Šj+J™ñÍÛ ¯Îx÷«·¸ÿè#¼ÿ„Ó<3±a.xõúÏO-ÀÞ9g¬E] ïÞ®(9¡” ¿yï}ÿ·ð?üc|ñ;?@:½âÕUß#U¦¦88¤[g4PR OhæPÔÅElÐp®¯·È¥d“/p1¦œB DéJßú¨˜4&ƒ’$éš)˜'x} KÃäŠÍ;Ò4ÐàHó ½²Y›Ê€Aà(€¹¢91l=ܱ¦!WȘ?Ãw¿÷ä<5³ƒç¥0àÞžÛ H34—ù1°ÙÀèŽT¸ûÃh@›€QI¾í&_GbïW”²À+³Ý¬ˆ޹ N]JLÛuÃIëªH†ÜšiFoýˆŠ™ç Þ+dÕ_{EÊwÆyŽ.c‹ÿÝ•Îü>I„tZçúIO0œÑú3æ©°³L,8¦T\e€¹[I3c4ä<â!X)Î[œ JÍü ml4 ÔVwþ^P†»Z )Tm8WÁ3–nB¬¤KE«Ÿ}Æø¤„¨P¬+Å« †áéXqQËÐ4ÄŸ™bnjìB}‚k쇑H\ݧw‚u{¹Ücó`2 ^ \Rµ±N0¢$ 7FœÔÖPøK@XGÃ=L ’ˆ¯IÜ‚ª®á†âZÕ ˜ÊµŠd8Ö·5B¿=à§ü'C"ÐQ‚Ú fZfC5F ŠR§vé¯êW8¥·¿Â»Á(`'ÏC"Æâæ˜Ê‰Z$ïÈ/u‹‰‚` E•ŽÖÖ äoÇ*x«²pdBΈ˜•±Œ†‰±y‡¤ £v—˜¢©`ÃCwŸÛáàç˜ JžTXe´Nr”r·çÃè Ú!±v-ÓÄ|¸pø™9úèQÌ!â¶HÁN©01š'Ü:Í8JçZOää|”Ö3/J¬°±¡äu4Ìó cëõ §yŒ Ê ¾Ñ-2ë}JÐp¼Àµ¾GÛŒŒ¼>Ð7ÃslÕ‘¦ëŠçKE–‚SÞp* ¯î^>Þ!•3W â0¿@rƺ"äÞ¹ ”ÙpÆÂ œrk½l-±‰‰ž Wbs9a 9…ærŠC4À§ì"ûP ±æébiò é Í=¥þ­õŠ" æŠvìM"ûn†õ+0®Lpê#szm1iUxÎgQÔÊIŽÆù±sí8ín`r:’64`¿Þ;z}oWLn€5\/+žŸ7̧çvA:?—GxšP[¥Q"rB‰éàä*apk##œv{E å½vAÒŽ[G)9 8Æ )"u`¾Çïüþ—,zÛïÞþ o¿þ¨ó»g<]ßáÚ¯XÍÁsªG|œËî` Ûå=Яð|t>ã›§g¬×V;Z­Èê(Ùq5ÁÚ¹òêf(¨8§ ¿zû„)'ŒëÏ0?œñ¾ ¬ʦ9ááÅ õ*}¢¶·$”)ã<'|ëãWøáï¿÷{_âñ7¾Ñ‚$Žl+…æc…É€Ô¨AtáYP]ˆ#ã¶âg1)¶N‰Eë\§'5âܵcÿ'5VtÂÚ7LÞ YóTrhp3Ï%õ#¬ÙãC¨ßž§Œ« ¤AÆÓ„µ®„ãGs‚¼“s=hS ¬àüêsäÖ;\ºÊiJB.û/Y \ƒããÂɘ/¦.@ž¡6€6ÂíœæD·SoÑé‘V´ ŽŠ,yTŽŽp FèˆpD¼OŽJdOùHPàFþÅX¹â‘Yáµ£B¬A•q9'ä\¡#a»^¡º†}c†Ÿ¸7:#£ß-Ôclhý"`–‡Äbí —1,þÌ5 ÕÈ Ô™?åýdÞóù8-‘’±mÛñguÆÄCÌQ³"T³º#`ta‹í0ƒuòžÔ@æ#OØF ÞpNrX”!Ä,¤8@l° Ro˜JBoºßtL«£Þ;æRÐcj ‰¤ó}š”s†õ ±L”Cü3o-DãQ[Åzj_ñ]¯W,… [ €l¼Å1FʬPDZ.ÈușӘ֨?; ͱOöÕis¯m‡²ÆÄS2F‹i݇ú*šõ°C¡’™Rotj¶H6H‘KÉ -1ÒoÁ½IÃâíœXù\Ça%Î1¹QtÛ ˜(þð†V::dH¬à2»hwÌs¦Ñ$ˆÕ6¸R÷4 ÉbË¢T¢Œz§‰¼©™tõ±1lo¨yÊÔñ…‡ÐŒL¦yYøL'à É@·é@ ˆ8rYø}Šª š ’$b² t$öÑ@¬Å:8☳ ÛŒn[¬u¹Š_¦X¹Æ:«¢ ®!ûh™Â`Þ1º¿ˆÏN[r b<~V™Yæ‚e)îL¬Ô1Fº ç{ê13õ…÷ËÉàüÓ­<½ ån-!mÐ}JÅó‡m„þØü@Q‰Ô>[%O‡^h–ŠSšMŽ|Xp¾ÇÃr‡‡O¿ƒ¢ŠëvÅ»¯Žë/ŽŸþë?áù­£ù@÷ kÔxt×¶ËžŸÞã,Ÿ›'|ó¾â›K‡µ†6€çµšidŠœÂÖ9¥õl)áZ Óœðþ—ïBfRà.x÷þ)Œ s^Üϸ»_ð[ßù _þéŸáwÿøOQå„y~À‹:ÚöÄ)¡*º8lT(ìÐéª*WyN~ܲ,±^æÔPd‚†Ijc ’l‚Y£ÜB3Öç rˆ±Ûõà2®(â.Ñ1;nuÿw )Oè­†@”ѶÜÝé㡾í¤x ëZhÞ¤w¢lCIÜq?¼õ¡ëîKz<¹* “QŒíZM1&é~J)be¨7dqÅ"%¥]ßèÐLWŸ Ç‚+îû¿"É޵=#…î[ŠÞÜÓ„fFÎÙ &p^ ÖmCI%œ³9È ‚”KÄ#MB×#$·^Q"R‡¿s Å,Ð+v` à SF¶‘xxÊÐÿe÷Þ»atCÞ³%…PQÛˤ{þÌœ¨K%#•|p¢ŽÕoÙ5£¡-óÊ=’RšÓt3i¤˜Ì˜1ûú½£ìšD¡fŠàâÐ5š²ÂFCNœF¸ ¶N‹¸J¦¯s™Ð¬>:ÆX¡h(XrENs8O†ÓI¡ÚYç fHïØj%Û“¥DPü­J‘²&FŒ £û!äæÙê.¼ÀÂô±.«cjÄh·÷θ^$ë.λ…Q§”YtGn¦窶:3þ3ƒ‡•VþpkÙ©&&0p›–à¦ßDãÖ)™HšøIm(³B¹NÚå,ÞRü Ûó¯`kÅu«h×6:îî )G”Vc†‡’WÊS9"àT5þûÐãF‘dû9h{ÄP™¡Gº¸ C=œÝ7ã bŠŸ9ÝÒ¥Üát÷/_‚7Ї™®y2Ë ÖÖzEÛV\Ÿ/În†·OüòoñõÅðÕ7W´µ"iÆÚ˜{z¤(Ä÷šBg»™ÁRI¶qð1ZSà ÷yƧŸ¾Àþäwñ7ÿùßãÏÿò?á“ïþ w8-÷p«X¼"‰Œ»a>j„Èk!r4ð#°-7âŽE6•NÍ÷ƒáäµ^PÇ qC)Ä%YØ:è>mš':uz45QWiF Ü 60/ SIyZx'»á——‚çê0‰³T=â‰9•ÜMCfSÎè­bžfhÉHÿãŸ|iNÁªG®¡ñÝB:< F4²ŽÝ2%Á°!™ÛŽðÎ=zãl½Z*ƒbDøâné•гÀ,¾ÐÌhƒXÔ10 Gë½U†\"ĹÜÑÌ=8}Ctqv{’F ®*²(³ß Ç”i r§ŒV}g¡õ°è;]<è²2TS”i9˜OI¦Œ£ñcZ:}Ü>?³’RtÞ´¹{‚MØá°3\UÑÃÍ3öìø€ˆöÙ…©ƒH ºzáèœ~Õz¡$8/)'˜0&F÷IšD6¤°8±a›¼³(0(„çøz/¦w^*á‚ÃndìÝý¹»”àtç…p¸7SÊè=ø{h¢ÜÖ&ÍöÛ™®¾¸`Œ`J7ÆG¸D‘NAþ·¿›ˆ/ù΄K;uQ=˜WN;4iÄBDΜÊêîȰ@{x0vôJîŒ-f/R+•¥aÁ7X¶_ÂRÇõr4£Ž†¬tµvs¸ñ 'a[ûañÙC€S˜ÞËXœ8M¼™ÅÉâÆÜYH猔 N–ÈÃ-èa~óøô7¿‡Ór¸¬¸^W´A™Ì»¯¿Æ¶6xxÿtyÁ¯®oŸ+¦’©Ñt`Ý*Ü©3Ì© (ï‰B¹Žà&¶6xŸ½z\ð½ï?úÓïáþ›¿Ä¿ùËŸàñó/1¿ø½Ìy Ù†âÅveã4:’µÇ^æîO!“ vO•[ ýh<´…×u‹{e£Áh•¬FKHù„-`ÞÌ4nLŒ85ßš=”K$ž8]òE’x¯˜²c´+ <¬^ðÓ÷Šj€I]]´Ï’Ô Õˆæ“‰N!Hû·ÿû—ÌkÊìÜ1â`t E½PEᚯ®A]WÔú̃0vÑ’8R”õ÷VãPzt“0H‡ IŽX®Û–iBëvXf2êM RŒ‰N9ýÀ±Ef'\4‹32úÄ…¿¸×p ì‹‹‰Ÿè½kc ³KÉ|'’ǺJ¸QÜíáÓ%g´¡è΢&¡À!ÁBÙbZHmÂÍý†#ÊÅõ–M¦’HÄ’ÛX6âu7>À ŽßÃŽi™#Dõá°Ä¬ˆ4yÈÂï˜@5Çp> z0ÄöðfŠ€ e¢{EÀ5/„¢}NÈ"@Î ‹uë‡ëÎÃ:î9¢EÜY\¹м=q@Y0rvôÁ4͇3Ž·î,%OŹþÚFƒ3Kc…ä‚+–_£¾ïч#ëþ—@¬ ‚_”4°΃Ȃ±æn»8›+±;¡ˆàdQxXÖÿ+†m°Ñi­ 9'qû¨>GNsg† §öFÜVÀ€)—XcïÑCüPçiA³}É©„E|Bëçõ"a‚`±ãˆ@åx¯k¯‘õÏ-ä­…kÎ#‡Óìñ¦cöa5„óLoɆ™ §áß’¸ö²Á‚­¶çÓ9ÞEr ]…™›0Ù1ø»Ä„@ Bk5.[ÿ 3¯Á|ƒu å;ÀÞC¿2t7$u$èòì$[é„3ƒZÐ¥U‘nBã”ÏsâLè=‹iaቩ5† )zÈ’ƒ©fÈâ€5dXL̎›«QêôŽ´;¼H\õµæ PÓ™YSŠ˜.áz·,œ–Q%çCa󪉱0c@¡¨£3Ѧ‰S†àÇêS·¤ kSÎðÑÙˆܤÌ<Ì1à)s’š2ï(†WN0ÍÐjFÅ6¯ Žz­(KÁ|z`㩊2M, Õ`]ŽÉ;i89C²xŽ#r‡ˆ“įč™ÍÁ³ÕÐ…‘݇å–@aP†éH… "Z'Aßc¦)!åo¾…7_|¯>ÿm´÷ïз·øúiÅå›+¼¯x¿9rüò¹âù²â´œ1+°,™EOR¾û*(’á–¨ou…˜B!˜‹âá´à·¿ýþ'ßÇÿðgÿþô¯~Œ/ÿÝñÙ?–jÞÆŠ¼]bs1à£Ò`b$¥¶$n1FDJ¥”ÐF¨86ѵršÔÌc›%<¡…kŸÛppÓóe:6Úè0ç%i†i`:’bT‚z7Å3eôﲦ’öÜpl}ƒÈ‚·[¯*¾!~`™ )eNÌE«–̨ ÞyéûOý¥¦ &ÌðÑÌ‚§äBü¾QÖ98­­±@ýß2ݘëç*FQ–­ï’˜?& u[ ¬ª×°‡®†k¡‡!HcéÑ;j¬YT(Ü4„ÏÑ]ȸ!¬òÃÝiÚÉê“<(®LDwÎ’Æz»ÝºQíšP} 9…÷M:ùS>Ї°(ŒKjí`‹ \$"7"ÏpЉôÁ´ÇwÃÊa©Ö¨¢‘czgüw<œ€’oÄˆØ [¬Ö¨+k­¡”Ý™Vo2bê8ñaΊœæÈ·Â1yc§¹ 7é>ôÈÆs×`Ý\~únƒۤRëñÒQ³T˜æ8Ð< nyp»³ˆ¿+ŽUæ1%òqLT¡ÎÌÓSLåèL ,ŒG(Q˜Ý‰´ë’v7Z¯Ô"Š1èzÕ(¸²Êmz+thÂ͈Ùç)ûJÑ¥‘‹â4®ðË?ÁÁ°u]£Ñè\ï6N`Õbµfެ™E¤GѦtKÊÎA!AÀ—˜Ç(ÿxv¢™ŽxË8`ˆ!n“èáU¡E]ÌcÚQT”·Ã#RIâ;“Xùíg@Þ#jö1Õ[d‹w$"]¡ïqæÁf£yÀã¹5q$™n¨1%Gèü\óÍ8…ûN_O1=R(ºµv´.P=q®ü“pZ(£qáeÃVˆ×`ùñ"³}mÏä0®ÍŽu3ðÓõÿ®†‘C£Sh.¨aòQù.‹©æ,ÆùìßÀŒÔ\ Ðç˜TR'¹¯ñ\1è¾ÂâôsÊ‚n¡1Ь¾¤%¦<óð‹K‚,¤ë×zlDì5=r˜5žßœ2æ÷ãÿò7_¦r”+µ)éŒ#i%kcÏÒBçaf£Bª¹;¿¨T2däˆÙ!³)K>‚ÅÐÉ–n‡ŽD\ Úµ‡¦€#k†¬²PàZ˜r†¹dbéŒlãÖjæÇ>}8(>·:™‹ÚûÍIŠÃ~ Ö ­Wl} -Hìä[¬ SÂSžYƒy–<È̉6RÑXëIhh(»ëÃŽ/ ؃yå¶¾ ô®AiŽE•Þ£i„mt;¦Sâìž[ïɨ옡‘Ô6Æî G‘„:z!;zçøÝbmñ¡vÃb%É‹)Ev…š9¦iº­4;uVœ8ôƒ5D©OÑ8ð)e4Ê4£fÑ[”‰ ×Eqd¡õn¼U{t3 ãTÎ)a³IëùX·„þ£•3¿ÓÁÂßb¥î&1û0ÜŽ°a·°ì‡ËÓÅÛ¤snEÀb¹KУ˜=4-¢Ub𿶇¶3DÂõVŠàö¸ÈbB¼çhšÇ™àEFJthB„‚ö¶‘0:F¿«Ð¸ÚÛ¿óÐÜáÏIŽgY‚ÿ£:S_1M)‚‘‡ j65¡'š¹µÐÒxP² 7®Ä÷iiÒýÀ½#—Du k â|>À­ ˜[T >ÈÓK E¡uÞœ*ïH Æs1çtL˜lÚÛÞï±VZ› Ĕ։-ñ[Ò[?¾—[xCÊL_ ÑŒ:> 7£8ÐÌPÂ)9-s´©Ä ²5Ë2JsM™…$ˆÎÞm&ìÏ=nM?D £R>ÒZL+‹ÕпöFN£^¡ÑŽ EJŠÑJ¡”Ã÷b )‰S¸ý mš‹Žû~¿ùû?ÀÔ¿ÆÓ×_ãÒ+Öm ¯+ÎËÂ(«Ñ1\QkUtàô@÷ï«ó=~ã·>Âþà·ñ£?þ~ôÿ¿÷ïÿßúÿÂÃÇ¿ƒÓé ± Ù;’uØöŒ±=Á·w°íÙ[¸·Û$ZC>M«J¸[t¢Ì!ÜøˆIi*už.غ‰@Y˜0æ&ôz-šÌV·COmc 6F9]ÖݘÂbc`½\èõŠÑzgÔSkŒü³Ñ£p -è²`G-op…b4‡+õáÔ!–hÆpÔ »¦Ö ˜‹’9ù÷ûã/Ý'"ŒÆr•„´,ãdŒ³©‡m±vš!XâÀãç"pkhc@óŒ­r•æû"Ì:Öë•ë™8ŒF£{‘»5B|ÌܿݮÅÍ}Fô \¢·Î¼7E€@ý(â(~§@|{„Ȼ])B9O‰Ë4a4"h;Î Dšá’!’•…ÓTw m”ÌŸ­ýÌncvp4裸ŽÉXÖr°£vz°†«…•ˆÀ0Ó'³—=:M\îr 1EòHRNЩ § šfˆíš?(æ»ðSîX³Äêeì¶IÑ»ÔôÁ%~Áâ\‹ï™PPìŸMØýƒ^N3ƒ?ü˜`é¡ ƒ á”ôLq?„¶|„@^•ëÀú•2Oh; " ¸ib`ñ^h$UNhwÀaÌ+óCOÀÛŠÓœ`y0ÄÚozŠ-ù™çœ¡N‡¶Ÿbñ+úèè60¶ uT †ó=Èš˜A«Z^”ñì¡À5ô“ƒãkò&%¿)e6 ‹ÃŸ—~Û*' ÆNòX׈Æ’ŽPw÷¸pFçäFå5æwFM%¬…î_Í,  G±ÈõqG äœY%ˆ4Ð/æÎ fð»—šï¨ð™qN„G¬/Çðïà1!Œ2‘ÓÁ˜Æ $ D´Ü¦X,¸€ Óùÿ§êÝÞ%K®ã¾X+3wÕé 7’àE¼Z” ZšO”>K–)C‚(‚–üâÿÿÉòE– ‘š™îsjïÌ\Ë™Õó€À8}ºjïÌu‰øÌja,L΋19Ê-nŠõ¸èÜïnóÄú\ìXS){iüj‘¶«7NRØ„•r NºÇç7œŸ^¿t'L1çŽ\:nµq‘QŸ†„PÞ`ó–Rü½á~»áñx°È2 N„¼VÀe73Ù`U$§ \õFf ®‘”Í9ðx¼aÏÛ«_2¬Ä>‡ÏÇ©Ä r¯qáz{£Éæ:ñúxÓ—[/~ž5oš`¡Ü1ãÀU&f~…×úº´¡õPˆ¹5xiÔ­EàåvßçR !d"Êøë_}=A=HFW•L+óÈ¢bŠ“ àŒ†Ýl缸Ã4®éFמÅiµDq Óég©Ô#ùrÔ›ÄäÀ!k}ÐtTyÊØ fJ…ù™†‘CŽËÁŽxh-R0)¹\S±°0¹T(°^$ì‰Ì °)r33äÂ(\sE»Ð=ÈÃ{,ÖJ¬äu  çT]ܤXUÕ ×  Þôï÷(F ^ÖßÔDÆK#(4þ^„h9-%èæÏ åĬÀSa–ØZcë,¤o£4é4ªB·©¥Û@Ö5½*Žz4¹`¸V]nLÛ#,»©«Ó4cE×Ð-V·Â|ÇA>’.W×z̵áÒÔ%ÀÂL—ÿ—q5ˆ5Á1´Vñöö€{ÁÙiˆÊ8Ä9hÐXÅûœý®;‡,ÍA±z¤è¿šF•v ÔÊܲHAKU¨Ë&Û…¥{m²4gZpÜ Çã?c^¯È×FL9EƒSW+8ç3ètE#ÁÆtŒ)ª6Õ]ü\ÓáÆ¢Ö`EÚžX»JqºW¾[eÍêD90âˆ~lô–#vL9¨°qOA°áñvR‘t)gt±Œ†&z+!aóœ\5”¸œ¤V¯5¥@ÇD–t´z°îlbŽ£aªÑ‚b‚ža~†‹…Å?×·›Ð,XÔ™ãÊ@iï1f¢ÝX¡µ|ÎŽ£9ú =½à É #‰sYSK+¶MGGEsæpOÄ<ðƒŸý.þÁÿ æõŠk|ÂïüÖGÜ-ñò®à'?ýþä~?ÿÓ?ÂÏÿâ_àøË_àÿé_â·þô_áÃoý <&Ì6¨ÉñŠÙ¿…ÍW`>×+Ð?SÀÃqðü W°.*±­iëTh¬zjoŸ6fhRe˜[‡«sr?ƒÆ6¢‡hbbQõàÖíºp>&®y"¢cöŽydLÄuáñú&,Çæ8Ž@“Ù¦ÖŠŽfü¸Ãî?Á‰;Â*Žv«’Uø~ξÏ5³¹·K:Sþã_ýòk«rõ'€hC¤öÆÉ—¦G`ÆÜ¬‘êdcÎâ3–èÂa1Akn‘‡ ¿1}s{–Fc¨8èú‚¦tE ~i¨·I½…ÓJÃQ58s9¿–¨’ÔgBÜéz3ö.ÇâwuF •L]º lŠ7)²ËrÊè÷†¸* g0wŒ?× ÅéÞûâgsr@[s;|ÌØ$èøë‚“Ž!<ÄŠ©ØlæÍyqê)@\ÆÑn¤\§éAÆFl,a¹›“-¶mó]l¡™@ŒrCUdJê^¨9( àYÑsT«)Žãv³KCÂÂx£çÏ{®KÝ zLÔ¶V„ B«7fšÝ˜<­¨sr´zç¡ìj 'íåÔ¸FÁõIú7 •v´ÒDˆÏ'BßûšV¤Ö.PHìYGRÛæÞ´ Y˜ðÝÂ8?óâ>¹¢nÀÜH~fî‡Â¹ÅnQ7î~lÍ[­tá®"×vÞep%ºÃiÑŸkôH°ð ®sÆèظL›æ÷\U2cóÙ¸þ4ô\ƒdpÝÏ5Ô@"ôßâ]‘v?-µtS1;WìšìZa¼R“ê¥ ¬E2Ÿ¥êä,}lýßÎ5,E4S¶ÙÃ4_SÎé ÞðãŽó\ü8W)ÆwhôŒØZŽÝ¹æþr©ÊÊ@½“p^Ëf—Y­" k¨Ï ü‚5o¥«ãþrÃÇþ·—w8n\mõ1ÐZùâWþdÚÞ[;$JWHnÚn,"]TGY‘8Âe츙 š°XÛ9é^E~§~MAcNÔãÆbS˜‚%)0å‘Bß5¶á‡'G–sk¡µéŠ ›™p¸eýîlþ€j3k• AP³¤ûΗKçsV´ö¦!†Bsb;bvYóË~öXP)Uh’§¶o«p†šfÓ]±00‰ò¿þÕ¿ý:퀵,ªœº¦4NÆr_Îâì~®‘(¥k­W`yÇ„°[wÓUкìŸj„]kÅŠ)=Æ jæä‡M}”-ÈÚ0Aw^,"°(ÀµÙO†3L+$vB)fÉ5a:‹)Þ¥(&˜pÌhH[#ýÆ‘g2LHd±6UE/"ûÒ’!•Ǧý¹+›ÑKÑȘ/vŒÎà ºP&öê-_bJ6W誙áÌ\8†Å¹Z‰fêM IDATrnQrZ   ',ÔËåFpLÝšoÝɘ]_jÚ”†l’K¶Q`Ç[[Ãã:ðý’Tñ(Ñm—ËgÄ€vðD˜ÖÀÔ¦9skÆH;fÑÉM Ýva ©ÁUÖÒGN}&­00u†Äâ1÷ʈC°!ÞQ ÷·=Þ7°øXú§Ìø®¨/i3†‰Š˜=àÂ$ñ¸ÆQ'c¥ ¾i2ð=iõØ.×ã¸ñŒ™ â%7Lh¸>¼§³Ú K‘›VV6éà»áËÎMn]€lbJ»ó މkj9d¬0¹^91b6?ûZ+Úí@ÀPoP+¼VÇ éšúÔí„õíÜ3-!ñ/ñ†¼:j+ÈÑqu:ê,:Z>`ÁÔd‡Y‰â¨ÞPÚ pÊ‹P^€zGzU¨7'n)½å˜¨¸Ë¡”†î;Êż ­ƒ"Bë\Ýå² /§×cOÆRë·ÐT—Âk6+I¡$ùRQ ˜%æf+ã˜\K;ß™‘™†)fÙZ5"‰”ˆ8IfVFkÀñþݘ—ø[¶Áœ‰‰Si­zÆÒPËÄØÆ/TǶvß¹œªÑ(´È¥Ld8Ü>þ÷vБU .Õ5]a06vÀ±oðîS›Ú«‹'·ˆmjÖÅQÝÐÊÁõœœœn|†Zmâ£596‡˜S.ÖVªàVX³B¤sN HŸ¨"fÉlñ딾€dñ]K}b"P„ÛÉ-æÈ17úÀÈ”£v¢j —+h^çyŽ©x.j Ö„ÜRÒlz¶ÏH“$¤–äà³›>VK¶æ…þúÀÛÕ‘ÊʸÞ.o¯6{¡­ÎÇÀqÜq¿ÝÐŽÆ{ª5B¦eòasÃûmôÁ±T”{8oŽ—ö#Ô¯~ïïÁ^^àþè'ÚxÃÍžÍʦLT'ÃÍãòÂ'úõ ÆG€‡0^\ VÆŸ å ›%®óm¯Ô{|÷:×¼W¿gÒLà<Ï }Þßs™%Ä^D’aúœ[·=À©?'Voš¼kÙ;[½¡¢(ÉLú>?êûŸÁú§|ïKÃŒçûærŠº¶e¥Ôç4Wà r¹ôÂQþúßýêëÈŠ jTz8ú¤‹aLˆ´N·ÛÈ ‡JL¤D2Œ©ç¥{s’4æÒÙW1‘PF ã‘ ]­éôÌBˆ2VºÇÞ_ti ,Ó)bPÚ»cäÄÕ0«tÞºS"5!™ŒX—s‘è}LMjT)¯¼¸Å€·&§.µ1çZåp#]B‡þ¤ gœrÝÁ¢ÀUT¸€¥®‡:d¥†¢5†^ºVde™DÅ„m¯¹‹yU·›'2)€•Ì’ü—5‚M5Û…Ïœ©ÉÔóÿ¦.¹ÑŒ`%@o¥ê{sFOèptåY­ÉÒpkMÚ¼²×¼^Œ.¬Ù™µ}ê@ºÖ°.1vï$CkÛfN\-´ž«¸(ÛFêõŒI£„rÓka\tQ!ø´Äk2\ N<¾ý¿)H®wœó —ÖÌô3ÇZå,yq¯Ä¨Ü!€SàÇ”a‚¡¾A#žx>ÅÙDÔz ”ÇAlD É_’ûÓ•+Y WkœÜú>ÈV7ÇõÄ‹ö¡ç¡böÎItòÏ…±XfL†L]ÐA­’MÇÎ=qñ­s£¹¡ÏKÚ1(¹Žl;+Ý&µvÕ‘×^%ŽŽû b½`Å©ÏÓ.ÞHƒÑZ›œx€ZÇ‘ðÍbÔKÙ®©ÑJU³´LÛugšjÜ›VŠü¼k+Ô ¹v69™6+¨:#æd÷ŒI<‡Q‡8sü²™€¬æPCÉŒÕå­µpzïl ùPkc1 6¥­¨,åF.A°.ŸÛÑÈxr6£U”ð°ç»QÄI¤¨¸~=ÑÏ ˆŽ>‚•…>ÉÄu^Ìü3º \¡Ëàýâ¬IS•Iw¦™‹ýö4³:ûP{9¶sFî0åP+[Ï¸Š˜Ñ7-åüÖTtA6Å[kÚRš´B|?¹ÎtX)̳Œg:Dç_Ÿ)ðÒ²ô)¸±dš˜úB)Ghň!§]¬Õ$“'žl™™f„Á$5 En|bO¼ÃÄZÚf¯¼xnáyˆºJYf™“+Ä¥ŠÄãŒkëS˜Åñ*Ò;ja>hk·ww|x÷ïÞ¿Çq¼æm OÑyöŠOÄ œƒL_µ8®óDU7b"gG«Ä4DµqCý %ΧK½µ—Äè ¨1§.p¹µK©,T$E˜#…ÚÐ’¶³qǸ0¥ë×ÉéQ&‹¥bS±©c¢KeJˆúÕ‘¼2i¢3p]—4ŠØ†I¨ñƒ&:­Ù ©x5ZÍp”w|Ûo£ãíèp¼ûð{hüÏPŽaF¤4µ^±NOlM+±’òìÉ1ßf!W2³þê¯þæëð˜$K`…Ü/¶ßdcþ5Á²Fã†'äqªÓvQÍ3¹n ¹ŠAcÅ$R3e‰…¬jS¨ý‚È‚™Té#¨ ˜PT9œ„²mgçÑZÑ‹£2‰í k‰B1wÁT6ž®T’xõRà mÍ%7ÄÊÒ;ÚÁ—dÛf ÈŠºÆì ((— ãKˆ!c|Ïáœvä$0t&W< ÆYŠ´1&ùDH€]ÀýϺÜyXÏ9YQ;kšÄH“'ƒ+¦|ƉeôT+7d«8{‡¡µ!0$jÑKÅï‡H‰ÔŠF—»Ö“ àÐêÔs^€§¢'E×ò @‘êÂ]¬Ž²ë……%†ºÁ!‘;ÏM­·´Âè© fw4¯€4Zäà$ZkM‰T§Š\û‚AæùÌÜ‘¢öòÏ K9ÓV裸‘ßÈHý,¥¹×£à帡þy}Ç•× q/,þjÃíh¨ÆçƒìgvžB|LáÕ¥Øö ÌÔ Ô]„J žXJÅ_0‚¡º^”h™á|Zë«¢1²¨ˆVŸ—*xh0 ¹8!” T #s ¶ck)ÌnÈ,ðB·P“6j}7«Pg´ àɘ/O#‰i*1t¹ÑQìP­0óB•I`7Ìqâ(œfÍ9`~Ã9 î÷;Ü;渞«5 NÙÌù=̘l–侜³kBÊiÏÞ/ÔÆõO­•Ó$_|>7þŒ–bÁ¾ž©•ý©b(Ɇ2Ëg‘ê*¸ú@ŒŽº„û!´è¹&áu3±$B×4Ý3§½úw(9#á­ª±~Ä¡”†ŒÜÑF)ÄAiZÕÚ@ E¶$ÙD3 µ\׉ûí®s[?S:Uq=ë¢ |Má5½K5zcN%`È…‘CS๫±0›Sbë1N5‹¦bkîx¥N¸ÓŒ3„vhÐd/MpÌ/"µÜïEç¢ã~?p»ßÈ*SÆãÌ;>€ÁÂ'z‡ÍÐÝÈ&&€ÐÚÊUDÚm õÀ8Ú ­5Å2Tv©^5ä*ºRãŠ8-e­r¤ ªN„óÞV|ÉÍH[>n‡t“.^W‘A£ìuÚ²ägaœÐ\÷öÀ«à±nŽÛq'«.‰0¨Ò‘#4q }tºƒÍ4!êFc, ܲá¯m ±±]qÏ TKT¼8z1‡ŸþË’Ó7·@æ…ˆ­¾Ã,DTm^ki8 劆Ix9èf]ß©OÇÅá™F½”´’¡éßz9Jñ »¦´!XìÎ"œ¢F#‰bô…[c£™œæ8-J¨Ò£Í2 ”]Ä ›©Ø'ß.¾5íô=õMÛUøÖCÌ¡/Ï7NâSòЄkm6¸¶‰ý¹š¥å:uMîÜt^öUfÈâŸKÑ6iJs28F©9w£¶'@™,Bú—ÄoæÌ¶Zˆ¸Y’¥«“öu ÙÇàŸ5/6„K°–ë:µ5ñýÞpÝÞ˜¸Ý¼:ÚA<†kÚwÜ>—+fNäù ǸNºûP&(CãÓ¤+Eáä)à'pk×Ï<úµM  UÃËQ1¤ÀK«t±ª 'FŽ+tN[ét…rWך2 ùI ôqmð-  À84dâ<_ñùíÁȲëÄ®ÇbvŒ‘·P$ýâ¹ÊTåFˆóÓ*­ì»ÛlÅR”Ù9ÐJA«· Ö$Ú·žtvf††ÝqûÉoâÇò?bþäQ£a–‹SE$ÆX t—éK¤5½´¶¦«Ⳙh‡omVùÅ/þêkòSdÍ­7ŠØõµz(×ÊpKQ6“ú{ º®óTÁPv´ÀœcFKe§rh´&±ø×FÛ:dz˟£ÛàŽœ džS»úŒôg猫HÈ&>0ŒÏ”xÔ³ÓÔnÇñ²§,0G×_³RÔ^k¥Ü7ª¿T²3 ÔÏ,ÁdGÓÐßs‹ÉEl_Vú+è ¢—Œ-\Måó >²‹ÊÁÑ|6‚Þ!žèÿ£ÛRÊ—v®øa”Z¾RÌúb1|4eAŒqÂÒÑ“Y[¡‰YÙ¹qã{‰ð¹±k÷>ÆØëÍHê}b†zNu\}½#‹ï\ÈpG©*Fоÿàx®Éf¬i iì,¦ŠØ* ,MCð»JVI­‚ÔJ£¡u‹UN‹RYG«Ï|ʘŒ¢ÝÞ”9Yhš£÷‹ëeuz¦Ï*Á CÑŠGè2^6.•€ávÁqþ=®·ï0êÒŠñ0-*¦ÖÁ|^.Ü*Eìî\³˜pqÕZ©ˆeÉc¦¦” Œž8^î|>šÖ-á­(Êè™ËwŽ ¨•He²Xp#K‹Y›uYÐxXãSVÑ_jAïÚ&J„šÑé‰ó|à¸é º¥¯5Ep;c¯h!Öyy€a’Î hQvgê¹!c*Þã¯[»¡8×oEÑP±ô¿Â J5«LqHiG¿W,¼A]ú/›^OøoÙ ®3j9“PÊÖÞÑAç;p8££ßÎQ˜Þ9' ˜ÌŸÓÙç{= ÒÏ­§ZÑÅsýî ¦V6½„â/ÇN7pÉš&r»Dò‚Ø©L›JFç1c—8Ýâ”Ó—Säi`Ê”i§^£,„H ­ì‰Șè“ò†~ÂÐà¶&±×ƒœR]2uÄ’ ¢¡˜°UˆÎÍûÚ¸†ÅÓ‡Ó̺ÉÞfܤCCpukÔ­­¿{i Å è\qQã’Gy¸®ïpÄà°Cgùt‡&–‘Tœ€O[ºX5"jÖ½TQÏ8ª’]jÛ÷T,VŸ¾»©Hv¢_¯»ÁŽ <Þ>³.SE½IZÄ©"5M“ë;MÞÈ £yæq FÀ³Ë=ª£º¡–Äí`ôŽí@óDFÇËÒná'n¥â(†î€ë}ýø³„wôgx÷ãÿãå(@IÅ€)@´RL80ÊäArA ŸŽVà­’Ý•„ÊòùH”ê<ùoþÝ×µ½ÕW‡£K¯ädÝn·½:ót§H[Ïï¹ØB€Åµ£DG“¾¢ð7û§.`ˆ5ÉŒŸHŽN‘ÔJÍ9Ø'÷›}­èZá™RÚ°¡9(FeE' ÈŠÕÅ)¡Ý(ÊÁâ¡YyV×˺,xVE.°Â–xétVæ^Ìm&àÐÔ°€òÖ0GÇMë»>.ÔVu¹/;éØ]:méIHêÜ4ÛâäøÔ®c&­½\‡Èòí=»ôLæ ^]”Å6%Ú g'¾pµp×íö\c¬éµo!í@8R-«Z/ß»™f×u‰#°Ö$Ø·íb{2s´²[Y…™ðÖ¸Xdº`¯ý®qvŸ\åõ KmÆ^ÖVY\¤íbb!B«'v.œjQ[E­L&àuñ^]Ü.®Ö ð}‚UKѳ*}‘¯fC@G:Ì­`~ú„ˆ^nJ²t´ê×/÷ ÇÙIßÛ™er±ÚšÀêÀ.S¤L(49°ó:Ú{¾›j0Ho[¸‚Þyñ–'Y?=äzEÁ­ÜFmŒªÉõy$³E}i}œî^æWNX!s¯VÊJa8÷¡ÉæŠ]r:)Gà´±µC€Xêi¸‚ _$Ã4­3:¡è¦äjv™G¸épŸäÝá=®>p¿0\{JŒx& ˜Ü­æ<ƒmRÙ¸wN¶MSOuü‹½enßK¦Xbóµºg Ž âÐq*-ï ”jˆ`6fd(C5„ˆ˜š\§BwC˜–©¨šÐ„‹ß»›é§`7ˆ\ë2è<p]¾krÕZÛ•²õr2$ÞJ¥°y^Ҧł~½§UnåXf'8vå_*¥¡¸¢zô3ªƒq4«xRîž×ŠÑç–¢PÊÑQàè³-Ò;#V2ä.# ÷:/ôùEP}r:Žà¥9Fç4EEàþ¸Ö¦mˆ$)šµz#é\Ó*×Ђ«CA[o7QS«=~&ã Þ@]mÙPdSƧÓ"j9vA•nß;k`.ótÇ“AÛS†‡4ƒUº W«95WD-pâÇÜÅŽ˜c7С8¬X¨¡ølò~Ÿs òBïÌôãâÀ› Í@¢ Ë$GͲ\ïJ~¹½;ÐüÀqxûô-Îo~¸>Á®͈bàg\põŽ[Ãçs âŽjŽýÁר¿ùQü#¢½ÀADîd'æ#$ÑŸÛ T¹”‚Ç%lÒã$ºeòWÖ0@ùÕ¯þæëëÂpº“¢åœ)-´z¨R?£Q–•}±‚¦.ÓËãµR ‡ß9ç5QʳSä—SVêE•R"wD4ŒÓö‡¾ß1×ïBMÖz!‹×ëçnÈÁÊ5~_bµÚ¨™‚ŽæLobÛ¼ûè„6®È±" |»¿ä7m­È¦w?ã–+*Éó0jŠêbÉäð+sK…* Æê C{íS_ì—zä¤ \±rz'TÄÚsEM²Öø=õàŠ@ͺIéæt´‚°4`1R¡€µé‚»A!àôƒááK <üR¹Æ³É1s5Çì•·…¦äžÕf#'¦Â_—ÈÐt8 ÷¶@žØŸ«¯µ™,¶Å:#gÌãð\a¸“ŒsSDŽx¢¤º•l 6 Ç—†%2öº–£sRœ£µ‚)…ަÙ*êy¡õÿ†‰†ê¨FGi¾ƒþ½–è­VÖ–špG)ÒèP µÈʰ†œ,ÂPLÎ6‚US‚Ô¾-b`Äsì…™fäs‘¤o!@£ïIéD…UN{¬¶Iŵ`…¥ÖGö‚Ï×gj,N…FKkçþdÎpΰ\[¿XÒ…äê,+S\¤&Þt@¹xl leíoè1ÐÚWøædãsTGÌSv#‰ORóŠÖ"Ø·U –Í)«XzÁóz;O”3º ïû %/‰k6 jµt¥©…U¨Ésì‰ a®ü< }v3ÌéH#&ÅPÅ® ˆãƒÒ1T€­Ïø¹$ÔêÒV`vÙÛuέkŽÁßçÙd‘çE£Acc\;‹»µ!pÙí¦Ì:ƒÕƒ °6_rà Œf+‚w2&‡ÏðÑ*ºàÜ\ÿªè³ÔV(Õ4ñå\í%cn·Ï¯8Ǥӳ”ˆ¼ô©¥TŽ2aÆ»qfïhål£Ú¡"5&WöçÕæH\×}½³¸Ÿ¶¡¡©†Ð NÞSñ: ;SkA1àÃË õl×+¾ûûÿŠÇëwx9* ·vcCé:‹äð}<íxÊ|ü“?‡ÿð÷1ÒÑÓP’÷œg¢@ƒ›· v IDAT˜]¶91çΡ4úðOº‘¨“º2›‚E§ë<èò¯þ§ýµù ²dE9ض¾¯<3|1&Ï=Î^¹R«+)ÉK¤ÐÖ€œCãc½œXø×Ek[:§Ò½¿ƒruCûnï¥|F|±"Ð~~‡Ñ2_nŽ®UÀr¿,mƒ?ã\à0[ÌkN—BÑá×Ú!ª¯ kÜ-žN‘«nw¸°'‹G§ÃÒ¥-@å¹§Z^œDYáB¹YµƒWF;û‚Õ•ªŽ«#\ë”=' M#Û©‚¹„íÏ D`‰Ê žŽbü>fñ†V_¶³dñ¿fREÒ»B©EC¹´Q,Ú(ÚOÁþR‘I×'”©`^˜œÄ ¤´COàèܽÃI3æÜVÙ™‹B.ÕD)R­\AêËŽV÷Ë}vQ£9ªÛnÌ1V7Ya3Ñ×ÝŠˆáÂn¬Œ3h=®Š‹X]° Åàþü;Ñ5Xöd²VN<ÝG!8÷v{ùú÷8$ŽM Ô5£àßã8xàÅ@ Ã‘î +0's¢zÃ9Cë1NLG»uFþØâ¿¥Vµ$Frí¯©]PÃá1:ù`µ `è"Ñ¡mE+€E²wXtâ\±è Æ•œ:ŠdV™]š!y´ŽR`¾rÌh\ú,/2[0ÃfEP£Væ¹^uÔvhÚ:p»ÿß½NÌëÄ˽ñük‡¦ºóyˆ[Ýæâq¨÷‹¸ˆQó…/âQlÁs‡4­Ê†¬Æi³É–*„4qÔdhŒKƒ¾#ךVü:I4V¸s•cÐ5e^5®¥Ðìà™»acês˜ˆF—´Ì@¾¬!ö“ˆî K¼\‘Œµá ’'Ì”ûð<•éZm(”ƒ™™× Ðîn·«MX¡‚æ…bp+ðÚPow4s…;J弯‘f*Ъt`†Û=é,µ†pŒ¨‹([7÷tÙ®€û‚Vn‹ñV+ÂSë3S>¥ïbµ({õhøÞU÷<Ÿ&8å‹Éõ8§M„N³ðX1L4TÌlª‘;Ï›>MÏL|1Ó;`Ý*£ùÄ>«Å8=6žAí0ÔLü·ÿúÿáñúw˜yâ8DYoU.ÔÀì\óÄu]xœ'nÇ؇Ÿâ«?úsŒÛOs e9#PŒ!éONò>‡Rb"„"jÀèó¢äB…¦—Bwd,Ǫ69Pþ—¿üå×a9LHÂÌJ“³)·»úbWqÅ•¹vѲ­ýsL´÷Nm†2Á˜º½ø±Qû]w*~a²BxNË I\®ˆ„ˆ§Û­ø¶êš/ª5_„¡àÚµrP– -³é›{RkC¿ÆN47q6gJñAkTM"VÁ²œ<ë_ÓŸ©Ë¼˜X_´ïð­‡Ä†¼ÔWFŸ·C†Q †Å"æ•"*(ÈÓZa†Ü‘š–hìºÂ‹-Ÿ¨†ó"nÀÓ1…@ÒqÇxßvô¡¿C©eÖk=KÍ‹ÜM¨‰½ãnp‰féú»ÃŸ}àæí‰P¶âŠ¢ÛG$sÅ|„hö |ȲWckUÄ(‹)L›šàå!Ûµ..WÙ #×a˜b¯ä³›·DÎ/²#Á¼µe1]¡ä^l_T|\¨/Iˆ §Õj.ÄIÒ;ykbÆÅÞ}¤èòíÑÀ‰7ôkj¬¿¨áËåêp¿ér’¶ ‚†5Ìd›1Th“Õðúx"·>hÅÛð u~>æ(Åv°-u(E]+w¤–Ï•õT¦•‘ÜfJpq½·²:VLô>P›¦gs( B ~MhV„KÌ`s#¾™ÃÑOÅBM‚Q¸j¶B×ãrCY çTĵúýüé´ö¯WàõÓ>¼k8j“Ù«ë¶t?H\=p^§>k­}åP£†uâCŠô_cæŽ6[Ž•xÁIVnw&Ý…k:º"ޏV_³TÀá—nGA«å— ïþ¿þÛÿ·O(¡©×\æ» äÀ¸Nd \1ñx îxùéïáÝÏþ £½à6 æ,ŠŽtÌ]·ÐMz-¥sö…É!SÓiý"áÁpùÔ=u»ß÷=¼4èå—ÿö¯¿ž¨ðrŸ‡—å÷t(¥0«0rGY¸Šf“®‰>ع*' [®ÎdlGŒ‹5±Tj­*Îò©ÿ0­¤›Í]I¯"(”_´öϹéeà„¥–Æ®ªµåƒI;æU±§.få\­iÝGsk«ÆdúŽÐ‡ì^IÕý‚ãð­sZcð¥åYN¡Öן=¿XÌ„µ×ä#•^?aäH«ö“3C,+­§>Ó-@\«„„Ù¨UâpÃÀšd$—zyf)f›ñešFÚ³ð•kæÔÔœL²EÙFÒÆ]v©ø;GfÄD@I )m¡œ< æŒýû¬dŽØ±:Evª—¼ê[‹ÐØbsíŸEÖ:"öf0VÄÄüzô U ×e(Î)2ã}¨)×EãÈZbEŒ”ýî”R.mRËPÜ™M©Ë!¾(ÎÍåxëS4óJTG.B½?ÉݲسP‹]àŽ…%HßaÔ¨ÆõçÒeò²,0Àæ)÷ $én†OŸ^ñþ^qku›AxË©¸SaìÒ·´zˈ÷µòq´r×D³=Q.˜¦1g”S/Æ»Pk4ø¹|áŠ\Sš²& Ñ‘  sös…ŽqZ·)î´ç¯s zS"ô…[I]¨—âMjv^°­5Œ”b™v¶^•º@¢ÖgP¸IÀ_Ö] œU% (à›w‹4F1•ãg?#)ç^Ç›;ŽÛ§žS†q'2.z—GgdŠ›¯[u=sKÏé&'ô*¤e«^äÌ ¥LL\×À5Þ£½¼ÀËš¤Ƭ¸¼—£;VñÿÔ$Y!R‚ß fÈð½Ýé}p¸ûÞªý B¥=œ®bsƒUñôjÙ°g¯Ô‡m¼p=akº/aå LM¦–D"ú@L>sct\×…9¯ÏÚÏ®¼¿7DRë×'ãÊ"³dmé0¿£TÃQ+5kÒY¿=¾Ã7ÿá»o~~-†-f˜ýÂëy¢pÍÄcÙ/´ã?ù?Ç»ßøSD}AÌ7L`o¼&×ùÀÔ9¾&xcvMÉ9Qs<ñ@*žÖŤY­Ò–ÏAzfìt„òË󫯭ÞàõÐ 392底ª'wÇ_¼à­4o¸®©ŽÜ÷/y-‘àŒg„‚4‘‚˜šãêã¹ê Hè®ÀeM”Î>Ä7ç÷qÔÉÙ¢âfi°ÓÔm KW¦]-Ø ¯ †\a]²(/—âÚñ­‰)¶÷þŒ¾)…dÞHk¸F ¨øZݯÙ3Øë¼.?]wQ *L,& GâVok —äëiJ³“›/³Š½¢Ï$öàÊ^BáþŸ›ˆºúÏŒº’óMß÷ú™k gº|ûêÀS—'TGk Êòl aéVâ(9-Ù®ufÌÄXáfx\×:2x¤(‘\®°TöÚa}Î)ÌZA÷ÖK²V¯n—h^õÒ£™Ö3k ËX‹C¹íÄÒˆØþ^HÒ®{Õ²ŒOê¿L\km]¤õC"]®&Ùç4ÆçX÷Öx¸¥ÂÒ{&úŒ™8¯Žwîð,@Vx«Ò¤ôpžIÚuÆD×¶ ´™ý5‰ø#©¹cGçšÖ݉³iÀFZ,3ÉšŽ¬œµ!ÛZ3—™”:/)KGTÜÖļhµ†Û^Çœš¸0Âl¬¼ºâ²øŒ°¡ÄKÇH¦Ä˜Ë_1Gà5 Ï´F#ÁÑó '¤µLÑôyá烿O>9O«ùŒ + ¸·´.ÞR(–_Z.˜£y©Éä´l¡|Ó¥‰3,ñ3¦Cï—löS‡½Ö[I{ÖZ§Kx[ï)ÝÁ˜÷7#°Ó+ו™ÃsG7­óû=-{ë§+Û?«W 𙜠‡â±"0¾Û±V*<ÇÜ!Ýc\èç…óñ ÷Àˆ®è—!ZºíÍBS ¬+ÚHzPª?ƒÝ)rN|¾N|þü@¢à¨?øø·w ØNw¸¨íΩš\Ò«py6Ö¶91L¦§UÜ0j‰©,lV˜}•ñ‰•%9 ¾qZÖ…T)¥h2•¨G[sGÔÛÁh# -–°÷×¶”Šs _’ºÊ©é*×Òƒ‰™\ÁF"4HHM6‡šŸ±ó‘t6.6Ûu]€\1©ÃD…‹ùê÷—Må4àüöôo~ïþö?!N†5·û ,®9ðÓ ÞFÅ5×d*Fpÿð›øéÿ3ÔŸþw¸ì@‚Å+cxHCˆéž<g(»8“nTi¾‡6#£wMƒ)½è¢É“2¶´Î¶ÃêË¿ÿwÿñë©}.GýeO¨SBò/ã/ SÝê ïísLG–‚Éh%ØÄý>ùDr ˆCÇ/êkð…»î›ÎiKÊ‰å ‚~ +ó‹<<æ— ,13$2甌`1®b–.jíå—>‚1: ¢Är>- qìéÓv=}l¢+M1„ =U¥“ebÁÃÂa:«¨Á°d(õ¥P^äD‹Ž¡ÐË•.’ ÍDÌÂôNE.%xj|IÒž+`Yt¯ 1Q|û^šõ <‹¹”•—‚ú‰œ‰+'lÒ¹c†´(3=æuîb†x™ŸY[pCƒbZ$,K±WêØ%\(F`ãyžh·º›ƒesçtß÷a;Ó5åâôdLºÌ†lÛ"é’Äa—Šœž'QÓú‘ϼÈÝ¿O³Ì5É)[¨•Œœ_V6NvCµâ®Oÿ/W 97ÌŽŒ8®=¼4ô¸&pÎÀÛÕ5…rpÛ¸Fç%5'ÉïãGLœ×Cï àAK;­íØ3œc#GÖ Ó¤9ª;Ê ›X}ͧ#4ƒ—8·šŽpg˜µ7M­å|Áâ¼rÝbEnàd˜0;^ àÚhè÷ †Î0[Ÿïâ Y>!¸F8É7ß¾"#Pðþ¨œ²õ=¥&ñ6Ÿ‰[·E[y©‡±gÃ6R¿à¾k|Î"?Ñ·«ÔÕõrÒ4· $Ô²¨¤{N?¯ë„uЫȧ³{ÝEá?§)zö˜ŠÍá*Ü`Y¥C%$5g✒ ‚·"CŲï³8ä+[.²¦;ÈsK,^ õ€µLh„ºÐD;dHÄjªlÅ’`QÈ ®qáõó6‡´jzÞ2xæHãgÅiRJèyIE!Ä;Kp Ô×x Õ—‰BãCJýß>áq«øÉ>âVˆDé3pwj7怉ón‰··ïàõ†·03ð.W&Ƹ1\Zh’ëì¸ ý,àÖš4F¥:º…œ™üùȉ9YpôóD«œ„­b²ñ/¶[b¢_Ô­ÙQaCë<c$'°“ìrCebÚ Œ°ôKÑ0;@Ù%/èH/øõ·ßÂÒñáí80ÚíÆß!¦VÉZ¸ó ¯k¢´„¡Ò’½Örbçx©Œæð‚9xÞyñ½v÷ÒTè]@Üv½ÌBs\ u.UÎÀ Ä…~1>)ÀÕH«ekCMàߢÉIÖ¡ïë¯7X˜"® à dqŒž¸5M˘³ãhÌŽâ,^Káꆫoÿžd$‚qK¶9g]áÐGkèã˜+ÚŠøäRIjoµ‘Ï…eQC?X þ)-Lkï0WÆhxyÿJ®×¥OJXwieÎóÄœ•"-ä"µŒ‘¸&ï·R+êíŠ%^n7üøÇ_ḼÞvìRÌ$Ê„jq6Ä‚PO"G¶ÛÔ›š¶9›kk,(Q¥cÓÚ®¿qšVªÀ²wÏÅWSb­ÔNù2ŽUƒgì©j9Ž'» sO]Åj%äw~!è]wÙN9'";·LUGާæXœ°íœ÷JM÷$ë1½²¤øqÀÊA'c{Ú{D9à·8ìQÔ¿…‚9^Ñß ®ŽÇÛ…|û´™^p{ÿï~øSøË`íÇ9Ù¿£{=E.MB™¸wÍíbäù”{#µ8p£¸óî¦ãšM4› ™Ïr¢ÚA#^î·Ìë”›~Pþçÿåß^0ƒY®.\sŒÔZÎIrm_ä÷)$€—tÐÊ ±/†Æ¬\MHÌŠq‘u¹,¡z!gu$¹³­ /¥ìý9sÄ*HDNM ŠVDµTÔèý[_l£PŒ§3Ÿ²œB0”B€Ù¢ør‚X9…sìðê àñvJü,Í—bCÆ ngÔi‚ŠeËÖú©Ü<áÝIçv…W§U´*µM&J¥Ý|Īš)å½R¯`OØvz”ËþL­„+¼Àv ‹°ÅÒÒ¸_ߟ•Æ—UkGˆ¹RkÕD‚a§k3cRs1x€/˜bŠ%µ‰Eˆ ©ˆÄ~EÀ4ò e}zÃ?~™ÂY¸R`×M^Ñ̳ã@V“:ðYwdo·b 6wxÂ†× 9÷ꋚ°1épeŽºK— f˜ÛP¡&¨gå3¶ŠR(zÉ$HQ·€H­ ¡ËQZ¸˜½ïPᥔHñMR.iWÙeÁ)nä§Þ¸½«çùÐê06à B¶¬ì;ºÐh„™3Ÿ;°°Û±8Ê—dŠ¡›cR¾ôgsNqÝ8U*KG&Gû­(N3WAq±XëŠÚ™A,B5ÃË»¼wÃð/ïî0?v“½ôÁ);¼AÓ‡ô¿œ¸M¹¸É[\áìX¹´–›uŰà‰vÛ<°ï<ñÍ?WÖ{!÷½+À2q»ßp*҉߷=£zdVáæc`h¥›3p]oäÚõ“>!-%c"¢S·r Ç8ßxF\×õ=fáHÞ5GA¹µð{Ck7í=î÷¯Pn?†ß~€öò#x½S¼£Dµ}@»ÿ÷¿‰ÛÇŸâøê·ñò“ßÁíÇü×ýÃõXÃPωœ˜bö«ó:OÃHmé’²–1ãóöv.ÌíŽ_ˆ–-¬{"¦"ŸÈ£LÇÕOd–MÄ_Qnå—ý¾4”ú²È'#¶¨uÍ{ë'Å:JA…<&íé¼7\W—«E«*ZPöª†|Èí±4S¦WÝÊr¿¶–®FOøzøäÄ íB‹„9`Së›&fQ²kâÆnÒ‚/HŠ>Ì`̧³` ¨{rNH« '¤Õ&è\¢‰÷2c 5þN£@‡âKší\¹¥-`påµEÀLæ^/XÙëF6C‡oP±fŒÃ8š\€ #}» (ƒ ëÂLT…Ï.ÇŒÀ0Ã!b¸c‚i¶Ñ`Áä–~ÉËþ¾V˜êœÆ(ƒ Õ>2pÍþe+1ÜøTb¬\/¯r¡7á`¹ 5ôkJšZÕ)ô4h²˜sé`žðÛ 5Ü/Ór¸úÙwø9¸u9p6õ{£å…Ù(²»â&VÞ Oç[~ÁrôueçùÖc,‡îª"8½°Û÷À=àqb¤Ä BkŒäçsö©FBáÃ^ñù˜ixW²{ë†çºº.¹­*bÕ W} >û…ÌÄãqr¢£‰àʼ.*}Lؤ¹eeZFð@›ƒ–í>²rÁF>AµseB^Œþ†Çù-rN\ãÄ@àŠ‰‰stñÞêþnÇøîÓwx÷î+F4¹¡Ïªï(ÌðéóÀý»¿ÅWßQ£O`Z%Ü]G=§µÜ…¥(°ò¥ÝN±(Ç}t/Â\çÖO=Ùi:!=Æ3ÉKÓw¦Â2WØòDÙ‰EM u²×ðÖ°¬ª+®lûí·;@ûK½f¥ ¥4žÓjrBÚ¹£(NÍÇѧ*¨œhžº ×T–Û…µ¾ÜÅ„¦˜k]6Fß\¯\Ûˆýëæ6ùð½Û¾Ö’!$ 2Q«=W—2´X-(WëG»•0Z¯ä°­˜Ûí†ã¸ÃkE»5/w|õá=¾úð޿Ç—·ãÀý~§CY9Kláæ;OuN~7Ž:ÏÔªLŸQe™ËqÍõìB®GNÞgæÈÁ»ÓAß±¿WÂtŽ—Út~ó+g`3£³Üél\8…)]žm¹JW6£¡_`†~š‘R[šKB¡Íoè׉˜·SaÊc‡*í´ÌM ĹÁ¼ 6WåöåÝpûðSäí=à ×Hœëó¤:7(å¶·õî¨M «Û]IFæT-¢%ÿ?WïÖcÉ–]ç9×%bï̪:×¾›„DÊ›¶iƒ†a Kð‹_üs ‚_ †éA!Å›O7OŸ[¬Ì½#ÖeN?Œ‘Õ~ 6ѧNVî±Öœc|_+âh™wçêoë#àáL4>ÿG÷ÀD!Ø’ëT?ßÏcÌ`=Z¨àøï‡(]¨Lÿìþ_ÿLòJÍ‚:ùs$ö¡õŽmÛ˜–ã…5ƒAÂüŠjá¨,§8­2¤˜4`a"Á²Ð³yuÎUU \ªçôd«˜à„½¦˜9ÑÈù×€éÁ‹(²ÖÈ×¼’ÚSV~)Í‘ wÖ5²ð&tüR<ÆíˆP6D?bY ö½Ã£qÇ ræøHèy8 as%#Î$<ìÙÁ#êÂïüEv–¦’†<í0&W{Á‰™gèzØ<õ&Ç:÷¸ÙÒ>?™¿rú­X7ìÑδ ­› içqR×ÌrÁÓœ#\návå‹7+ú3¸}t êóNZlâT÷P¤*'˜6b’Éz¸Æ$Â4ñ–pÊœžs g±ærÇßÅáHûH‚{ºÂ&‚’+Ç÷~°ÇÈi‰ÜÃà„óÀ}°ÑÎ ÃÉôÑxŒsbuŒþKLþT%2et¢¹¹tSŠÎ¶Ô°KY °ÿÀµ1H$g`¾ÀÅÐÌ0Ú8™B*d«9Û}GŽ7ˆ·p‚Nãuúˆ€‰‡@Nöz„Bçìœæ:賉¶7~†#Û4åîÃF0aØBe+jÄ ÿµÓ×ŠÓøYo½cŒ‰Þï¸íwl}ǘ-¦{£€uŒxXŽì èG®ðàp™ Ä}ÚN^Ykïü¢ ×Ë]V( 8Ä#¡ÿ J9µ™!•ž.0Tq{Ù IDAT‚#ëÊ|˜&”¼ÂâeâFzuŸ†œ°”ó9ÅQþgâÅÍ>ΙäÍ:‰ÁÆ-|éÉ‘u ¶ü8¨qâÙFÀ+ó4Çóô¼"l> ¤‰ÏXŸO¨Vä¬Ô¢Å*dô 9%:2݃CÅ”ã¹"§ |Œ<7æÖJYØà ¸¨Å “Ü7"æ$ù}´ c4n5"WzdÐ 1©™§ÂÊÝÎÚ¿Gøž¤{X_áï'å Í êrAJëzÁº.x|xÀ›ë—¥àá²²ô¸Yê¹'ÀÕb:UNTÍËRaÓ¬¬<€Âf×#†âf7®¬môSªÌ¯|€1H9£ÏÏ|ýˆm(ŒÍ(ÕR9ñp—3yz#r¹Gpšœ°(xíã|ÆÌIP¶Í ëÓ4'ëËæDûyÙ:Âß#.ÏTpñ9§9aFÔ4001eã;„ äºäuÖ+ÖËO‘.ŸÃë4M„§`4ÊÁ?ãDó`²Í€j13šNª@J}§²¯ï;וcžê ?žCQ48\’‡qƒD¡ƒFÑÎf”ÃúÕÑÚš“E-!YL?á3‚å¥dŒ}çZ]8½E±ÁNר߯^.œ®Ç ¯í˹`--Š1 a¯˜é,ŸÇ!Ë_µ.¢ ûjΧ´ý„ŽF1˜°Ìû$‚Q|—N͘\_K¼3Ž6eIÍ[4¹ ¦ž“å'õ„/BÛ€Ç$|¶)¼d“ËUy±uÇ’*¶±¡–+9O‰Eó`yÙÄZ¢l5MAGsx¢÷Ì.EÖXÅF‰ Ò9­7þ™ÝüwLhÐÏçH€·àtÒ„š^׸|º’kˆµ' ‘ ¯Ø6JíGïðÎUN‰‡xÏôN¨öœÑ®Œ²‘Çv±ÝE#ÊÄò•֊щi“ï³™€6w‹(ÊZ!iA^>°Â¯ŸÀ-b ¬©êÃÏøQÖšs¢d„†…¢í}¾Å áh²Ï1Å×ÂøMŸ¡´ÙqMB¥‡rª†,2zÇôìn Â-.¯:*¥dð…GWcD§&K%}väÞ:\¥(T±{¬°›E(šXNÅÇ™c²y8«&y ‹’Ò¶ÇÌ*¼Ì.×G¤B:uÊõü¾-å£IÙá¢Ûý†‡w+¦seµ”‚K­¸^×ਥPu Íd®Kpþd tIÈ"Ø÷CÝPò¡RZàv'•=XF’è{í~dHWä¬ Ü‹ŸyQ–‹&dp¥Å¥âÁî£T˜~×ÁÏž&Ìá'îÀYÌ1±”Ê—E”gä†E„COÖá‚ådÐŒêM-Š Y¨s4¤%A•ían‘g~–7ÚhÌÂ*Ûàðy¢ZFã÷q8/0!B‚L¬Eö“?×=ž÷€A<û¶!¥%jõtz 2&F¼‹i‡ræÐ®E»8su·–·œ¨Uþg9%ª£rƪ C‚Y]éeZ;סðÒØKÉ,8Û¸^ž¦ÃÈYÑÁÏ@Î%Ø„ ¥KQkEï#ÜŠ„C³õ9c ½7HgHÝ£il‘·*šp÷å„1#3_¯mçÔ,þ®Õüƒ8 ’•k¼à»pÂò ‰Í~I Y¨‰öóðŸ°ïœ>ÖZÏ,ÉñwPµ0Ào )]1g˜lù@é’€ú+ä¹Ã~÷W¸ÊŽ] m6òù÷yÔØ91›°¶c¹<"—+¦O|ý㆟rA-oÐ÷! ñsÅ*L™¼JÎÓ â›ásD0Þ‘k¼˜:*£„;MPëŠÛmãjŽuYQë×7Ÿ`YØ~M@]f]"§’RF)|¹8$WØ¡æqCV†üá|YµnX> ï"'²l&—D(ç›wŸàv»áòöm¬ÃÞ’Æh!°è­a½¬äƒ%¡ƒ-bŽ„¥ˆfôû†e½À„• Gš<4IüîLžš`±^–ʉÀä­]0‘J<³$síhoœÓålö† ¯;"kúÊßñ˜Ÿíi†š Z¬ïŵjY³b˜(9Š££ÔÈyEíµ~ú똋"P¢Žjù²Pg{L$¢änù±Ð§Æ¿ç¡l9ÖanÓÔ÷¸hšƒ¾Û&ü5Ccq%'I ÃÿnH¹ÂÚÆçTÀoSlLh X¯$Hüók­:à$ ó޼\ÐW¸K­3«W¤øÄ%5¥íÜ€ˆû¾9#“A•lE:a—Ë‚û¶¡”ú‘ƆùAë{@Gù÷|DY¸öÚîóàþØžÐÀÛꊭO”ÌRQ· ‘`¹ ~Öÿ=ŸÜ”Œ1€BÓy]`mLJ~‹‡/ÿË'€ñõ×€'¤Q®æûd2Ï °”±#Ûéë ˆ_$MØFç[‰ö8TY"†­d ”JøiçA/qüžf<ÑÄ^AÑŒ=ØÉcœFƒ•Ái¬‡£ã•K¡+tfô9`cGúŸþéÿògÝÆBÈ™O*òÁðÑ#su€8#¸î6q­ )±%F/ íøº×²;+Fâȱ‹WuÌNæe©Ô`7ß¶W‰i~ @j¥ŒUÏÀ3Y­Ý68ÑÛ†¬lŸ”,˜sC’™‹8Ò~ÃÏ.†ÇšÐºâé›ÿíþ‚>½ꎺ(Ú~CJ芪häÑl‡‚f÷ÙÃÅ6;z°Šj &4g®>ïЃΠÿ«ß+eþ=xÆß$þýšs|ª ‹eÄ)Å\#ðÎfI ‘ ‡äól"E ß£MvŒimz|ØøÏÕdj΄»9ÎUSëŽ$lBö8„§ðßQ)#gÈœñ¶p7Æ ³{Œ¸gИUã„`šÐ¥‘Ñ`ÅzœÂqÀ ­ó¡õ*­,Å©W$pÇ¡ Ç'8'¥‡"‘9¨ñ³×cšíY ½SåÿÔ 1Ã’ eä‡ZÉ ¹,á-Œ)Pð£Ž)×AM‡9¶>øÙ _¿@ÛwØþך±µslðeãá'µœ‹ž+öÞ8çíz²‘¥\ãÌI\Hñð¶=“DðZ8}›d0‡(`–"þÿn\³ª ®x÷ö >ýôsüäó/ñåç_â'?ÿ9¾øâ Þ¾{‡u)¸,<\1òfÈ%ÊÜÑ`Ήµ®Ð84—\Q@ÆÓ4>ükJÁÖ xdp¦`“S¥A¦Ïm»a­ T–óçÍ©°…¨ÑÜÂ@Éz~¯Íî?>a­2 %%¨X믦“Û5ì"'i‘ÉT\`€¤…Ó1‰æl#ˆ¹›È¸%ÚÌ¡%l%Ç‹œß;=ÊAµOÊ%²Zéd“ÑÁ¸™ú $N`ü0ÆñºAÎ5nô<œ–Åš~Ìpž¶¾/’D&1þo>kìÌ,¥‰*û‘M<ÛÚ.çêx&öS#92•¯kR …#8Næ°ãÌçZÂŽjŠÃ íl®§\aÓ£%«X4!«uì‚zA0Ü /ÐsÄÄZÏõ–¨„S2—ŸØ±?#Ê ù²òƒhCJLû-žß¯ 4‹ÿ8˜`‹` ,6?Ç6!.q÷¶ÿ'qº ÏI>eDc¦+Ùxî{4~mÀÄàBî•F×"ЭÞàã?~ûîßü¾úêoðæý7ÐËOоù+ä/ÿ®û™[ÃÉò3‹Ïh€£mŽhs³Û&'vÛÞq ðà‡*í0°0V1Ç„LÖ&Yt=âÃ{lÌa}~ô™x5¤Œ¼¿)QÆP¸iúŸG&9¦¬Ó…Èy±i›sMÀTˆ.ñ‡6~¡¥ÐH-‰:Þ)`æX׊R– ù¼lwž0 y"óàD]8çP?ÃR ’Z¸Á_ž{ùÑpß÷¨ :òTj;•¿l™â´ LCÒ„œE3C~}btåÃÙË’#¤¯(ÉóKØþñ„úô-ªtt¼Eo†‹L<ïÏøòÍ;ìåO-¡í —%Ú51Q§§Í&‘Â7Å/Y×~â-JY0&ÛõrA cr—³"™cYþ¶î¬ 5öðxÍÎæ\Ÿ±ŽÛ1HZ¡ƒ/:±ÞÑ9IÑéØÇ=ÚaŽüðHB QëÐúe«¸2tjI¦âvb³‚7ÜÙ-jö„‹òAòûïM[Æ$z!gNÂÒQÍVª6’¿cÝô —ã¨Ê—¹+6iúh(µR j§x—“¯7>®üJŒàsÊ1¾ý€ÏÞ­Ñê$È3U ÍÇa™Zκ<„£ý°c1Ý}"­EZ|{}ÀZV¼yû–k7€\¬ݧ(ÞþGGJ‚½ï°X&qìÛ{ˆ À¨Öh¾C…œ>žQË‚Ñ:Êrap·íTSMRÁ:$$…ïv<ŽpUÔlOÐD ’hB0yYÙª³†\2æfHn¸¾¹ Ï Ó€¬1r·Ä¹BTw¸°…|ܺç4”Ä<êh=à·ÍÍŽ,¦T~¶yòùæ õ:•×)NR¶DS¬°,šØ¢Ó:ÄÉ;©öÆu×Q·hŸ c6–YŸ~âýlmÉÒûÄõrÍ9#Nîûá}™òFÓûl„‹ í¹,è½Gkt"´³<ÄÙëKÎÍN0ìœ!ºØfkd¦ÄCð¾íá+m€+ÊRN]ÚŒÂEÎá@3xœÚéé´åÄ'EûnP.+ã$Oäüw´­Ðqy(,v¤PÈÍõ5¿H8/¸sG¿6'¤ÑÒ—Ä«æÎpdçÚ«ÖKL¥Ã_ÛPJ¸+™Áâû¢C,r´¡sèY p8š†Z¾së%Y h—™Û¾Ã-aßÞ£ovlxùî=Úý=ÚýŽeUèrÁ} ´ï¿®_¢õ†Q¿@n˜Óq8wsÄk¢M±Œ>6”…´ú}oÜ€Dêu’ ¤ÁáÊ(¶@ñ'whØ“6ǽo&ÕÞ¸?¯ËÊ@ñJD_–ª½ ôÞÑ»…€£É˺Dã 'ýwtE*%ÆéÇ˃1k(º '¾ø4¿ð‚‚%^:\©öÁ)ÍþÔÑ?e¦qùÉa$Cþð®‹aög¤’Ðú à:«’6ch¿. › ¦e¼îx¼TáŠ1‰¢õ ª¨•næ³E™ž¤Àà䥖„Ç·+ßTÔÂCb­98@ Ûþ„¢É•jŒ^O»!»¢÷ –3,Õ0ºo7B+5€LÁô¢ â¹ S`Ÿ1™d#åqÃ7Òmb=>K¬NªÞî o?A-[ß3‚ ¶Waƒ“Ÿ9Q—̉O|7‘ñÙÉ oæœZ.&rvì­Aka$Ó{¬¯’yk.ðXõ;êšáÆ8BŽì™«(¤h3s¨a©qê³QA„ÙÉ (×)9rlî3b5´W3¦IvÌ;îóe­íPÍ(ˆ²SLET}4N™&^ )B‘›ÁÔ€ÔmÉI#"Fâ¡q‘]¿Š‘G¸ÓGŠ2ÒÐsɰḽl1ùÕ³1<£> 6¸ g¡'/ræ•<ܺr $Arâd)BäâódwypáÒ¹Mpì·×˜7ôn0vb`ðO3¤Z‚±Wá2`2!.P#Æ')P‹ªÁŒäÊ9aöرr•ÀʼÒôñ¶MC2w'>`Ìcnªq оG £Dë?c— ÷¯¿Æ_ýû‰ >ÿõ‹ó/ÿo؇¤ú‚’/ð2Þ}ý×øÙÏ C&âÁ&v(d2vd¸ILæÂÀöí¶í¨—Š—ýΆ-ÈÂ;¦‚‡Î˦1b#±~7öù¹I°ðo§O&žŸ7d©\áÛ‰ã°<ùýA¼'‡Û¹¶>ÑIâRÏçâ3¶!Šf™ {o@Rˆuˆ dÕxa&Ö1sPKÃÄæGFµÂÑbÂMñP;>ÿâ‚§mÁøêÜ»!)Cx;4ר¶[üÝùÙžòп,¹`Jø×Âçdt¡”ÂÛ÷ðø¢¾ê\FœÒ{Zo(j朌,'ðr.“‘¥VB á_sú=bIWŒ¨Å‹.ëŠmÛ ê‘¥§P;—Ì©È!Á†¢Ö×Üoº Ò:fŒºF]}ã¦vŽÓ=nüÓÇ©µ0›\‰ÌW^‹ªbø ٩óÁ=‡ªi¢.\ÅYàÚ9æÎ›2$”*0T¬G¥ÜÃA&p ¢9ä$' ¢¦/8k×KE* ‚‰õº`)$G[ßÉjÓÄ—ÍÐÉ•ï„Ö°–Ì5óh€O,9aŽšÜ6”$( iÇ‚ Ì×ÇŠÞI 6m>ûü§Hu҇i=È4eÅÄ…ÖqÇÖo(ËÄË’±ï†­+¶Öq]<ÖZNOÞÃõ‘Ì5Ô’Øà©‹ÖëUCV?qfQ÷6ÁÇçJèçxEX¸uŒc Ý‹"°Þø2‰»:ÂmðÁ®ª š}6YÞ7¬=´%s0`0ðædÛwO˜j¸”ŒqRÂRò©wrŸØï-ˆì‡)wlí¾!iaÐxȧ ïÂbR4Û‘œyR®x™m²úº2Qä2ƒGvmB`Œcº, ì|ÉìÞùLÁëezÌúhy‹±u´H5±½/§ÅŸ] ‰ÑJ©Ïpÿbë<Yü;ÚÀl°@"óàýi hf€ÃׯÉ'Úïü]3+§¾‡ÏN69E$T9œ^  ÁÚœBxž ’(Jázôبq}ÈÕéÇñ³qÆ /Q3"¼Xô±£µÍÛhùáƒN¿^˜)z¸#¡ŽÑ¹:>ØJÝ ½óyÕ|g)ÇüÕ¹.Y-9–õtкOŒˆ0eUXßO°0áÍ„H,µ”R`š`&00^"ºâþú?â/þÿ ]ŸðG?û5üágøÐ îã†ë‡Žå§¸ÈÀûçñP‚ýÖ1øæÛßà³qÃm®·÷p,°œé^ t ˜>ãó`n'†âÞøŒÓ˜NYÜâè+q=%Hš‘—5fÝì‰9ŠPÂÌ¡.h’ ¦s‡@Y¹Òƒ¹f‘÷›ÆmE*>x¨M¢èɾo3æb,8k«PLä'H%34+F£»i@a¤ÊÆ.Ú¦}äÔÔÊL‡”ŒœJ@ £~©‰S£wéÐ|@Ô&jN£A• 8QAE>Á}9W´¶¡‚Û’ãèØ¿gA‚ßßøàþ:@“‡K°T…JЀµ`F~ÊÌñòÀ|ûá·øÉç?ů~ý§ðË%C íÃ{|úösüçôþþ·?àý3oš›{¿ó0ã×$)ÖF, ¤¤¼$¡%Ó…˘\êrŽÂ=üTµTlûŽ’¸‚k­a VÖû)P>ë#êÁ9¸†ÿ¼¬Ì­73C—àP]}ΉR/Ø÷ha\„XG‹Ð£3€Ø†zÉ×*:דÄo è[¡Î"v)å3Dx´HçäJ1}꣡8Ðãu£g€ÝòÁƒ½™ùœ^Û­ã “q5Í%OOfÄR¼RŽ[žÒÕ˜J&'«)Fþt;Þ,¯—mt\—‚$¼Îl”Æ^2ñx[ŠVzkŠ|Á•)a•ß/LÜÍWoB¢ñM4^p©‚%9ËlXÚ<ÙÀÛ·ïp]\Ö…ù0ïPÍh“‡äÞöÙpë†ÛN‹]=¼[kv\—G|úîM\frÖy0±¹A9GW.Wutþ=톜®‘“ g$ÏÐÂPìÄ«œ|Ûî¨KB-õ”«k.DjÍ,xè³s:¤ °&]Ú™“œÊÕÜ¢$Ðk¾Rt \}~ÇDWk³8ô³…8[‡–…÷æÈ#Ùxyù@bj;/ ÎÀ¬gJ°E£d¬ •‚dyL2ÚÌB¦½dr½A5Ã#ëUL“³±$Æ  $:2©= IDAT3, Ók*ñC-ŒáêˆlMØÜ¹6Š‹ÿ,jÆà‚i-ÖŠ¼M›ç´§æòTýß“ÞÞ_×þyN^‚úëw~¾ú9g”zÈØŠËQ<7Zka ˆ°»ÞãEkÀèt9Nk(y GaçpÆï±ê?Yuš"£ÛQkE­ ÜxˆÉ¹°(tvïØöׯœ&æ[¼‚!–R=W…‡@YÔ™g“„)9ZòcpuWkFÊ8Éèbœ°õÑ`¬§ž›@Ñn¡ ƒ >¼9Ã×O÷«Êš¸ÀÆßû½÷Ó›k¥K3eä%@¿æè¨Vìaþ°)ø€ù/þ¾úöwxóæÿä—xÞ&R}sÇÝðe¬é >ýÚŸñ|§fçûôŒ>Rp{úuýÛh(H¯Pk—€HÈš \&lÿÿOå"o)ŽÞ^?D6™I=žû5‰ »ƒz6‡ž¼4ݨ)ìÛ{û=´Ï8‹ / òçvæÿº Æ^d k˜½3;îz$.‰!/$ýÄé÷`7q¾¤#ã W‡n:]}ÒIÅ/ý¼yqT™CâÌ×&%eî‰}¢ÔÕôØÏ:à H‚ZKÈL…'SáZÉ09Æ7®pe­svVQK͘6pYä,(á/r×ÓJ_/W|ï†ÛÓw¸”ðçŽñáïV`ŸÏ¦èíF“÷›GüÉ?þ)þöïÞãwï7,µ³aw¹©òEË/áÑŠ±¨ë†:!`ŽkN˜ðÀ¨d›M>ÀÀ‡ÖÞ÷¸å&ô@Uh¬ ù¥à‡ªírY)<Ž*´}4Úœ>Ù)ø²YKeÒü3Cµdä”°G5öàzˆ*tNÌùõ ÷ª(~|z².ðP°dD*¿ì‘ å~Dȇ ú±ÀÏÿ®©MC)™„ñÄ)EÒr \õãz‰c´\2w˜R•P+¡¦êàïdÉGÍQGMëk-Y&'Nª¸Ô­_ÉÁª¤EgEþÓës²D‘’#Wú/«,¨)Ñ•8®\S•bg–Mªàôp"Tî˜3\s2ô<jÒ¨áßðYú÷ï~À–áTL’!ω0@•9!ËÛ>)€W’»SBŸÌ8e1,K%v$V ³‡ soðÑBÂI2sE;$³!&ÝôŒíÔ}ßiL€ íw(2RåeÁe¸î`dÀYàa!…켡.)¿ÐCe¡í)ÿ%ÒÄMâ«¡/ g®$@Y)C¦;1TnþŠN‘’‘=Ÿµ¢!}®Ô¦8@…ò`ݬç£^ 4U®ðıÆ÷ää¾Q?­#.††6ÈvK%£TNeZkPsô­£»ÅEB`‹]Ÿ€Lò"˜Ã­í¨ËŸ|º­tÊä%J@‚jAx y¹ eZÂè“Ï+^î·F A7ÃÓíÿáßÿ®Ÿ=@‡Ã~ösÌ6ðþÇ'Hë艜òøs|òÅáëýÏÑö;ö{ÆŸ¬Ø:áÙ7L¿£‹c‚e/ ´LB|¢{:#gL€0ÌÃ7‚©V˜ƒÓÃÞäÓ%h$f£½w L[®°h®‘+?P1M4ǰ~Úº‘\Pân0j„à$´>:Ý®>Q ÁÏ·? [ܘrR Po"9âÊ¥¼N¦Ü:Ô&&†Æ2¿V·)ÄÀEù@; ãl-yL­Â/gf­§Òôú$Û6ˆ-A@Ï0‘µñ!çiAÉG£Ïàõ',…ÒÑv\ÖL]™hZ ^±>*v_qÛ~‡ÏÞý·¿ù+¼|û-ôÿ Þýü—0©x¶—gˆ$lþ~ù‹7xx(øêÛê»GüxkØ{Ç:ÊR…ÍI“W£kÎùÞɬ'Znó ŸMD ̃k.Ñïc_͵µTþÒ’€9ëXêõ<Í'ò<íâª.dX fѤ*!(ô¢Â6ßœð9à©b‚Ìé Òä”`$Âèf¬æ4ÚxÄv‰@®i¢ö!XkIVM„X?ðåú(kL»Žö”µ,cGR6™Œ«éƒÜŽŠ>|'W‡MÞõà©˲)!CÒA¸æM3Ým9ôælÍ.É©­a)@IbŠk‘ølw\Ö™\w'Èyb$G›R*|:Ô¼p„Ï—QÌ Riš·ŽÙ:¼`d™Hiâ±V¨ï°í/Û3úöLø+؄Ӕ£–Ï&« PdÁíöŒT3ÖueÀÛ^&/‹TLä” íÆÛb*ÐÙŸÄ~À!ÓàÈ*è·Û S„äºÀó+›uþ> @l1%N`†¢ö„ŠœX‹·#o#dµåúÜ-‡IbÞQyxH¢°£&TFÍížzgŽ8\ER0üh<РäWQhÉØ{CÉ…‡ôÞ€ÉU}* ŸÆðúZ¿áRÈ$òA5WHoÎß¡TÌh¦¥@…p‚`)Á±0´SæªÉ ö¹AT±ˆCIý½s6BW¸ð®¹@Œ— ¹øŒ4ÿ°Wý“ôã@ŒÇû˜ƒ­QMe%9ÚZ~Üä-üz1%¶û¦ø‰‹™4< „âU2|žÎID½nèÝNü@ï{øçÈìˆX}‡?ÜÐ^ÞÃ@ºà̓â?{÷)~÷›¸xnŠç4çè_‘£QÙèºRV×1v:þœÙ££9¹¤„™{c`ßÛ©`±ÂP9š2|Àœ-п¥9»a;²®NMìM1Ý,‘¨Œ‰T/SÇ;÷ö*¸o/XÊ5BÄZÇR¹6Ó1@ŒƒMr’RRrvXaÁ5Ñ·Ø0ÃÙUp™=x77\J‚竪xk×ð¶ EÊr²ÈN””±ªŒæQfŒªµÀ`–”ÚÐ&³|[³Qkâá,ó6+•aäÞ;Þ\׌ ó¡ R±Èj)JÎHBD‚`ÍDŽô.¨jH¥ã" E&vÛ`¾ ¦hí" uöÙ^n iɹC¦ hÃÕ %”<9 ò} ßž¡îÈÖ‘Ò¤E ¦&2Ø6õ¶cÉÌii­È…·Û±7æ\@ †d@fh€D€­ñ÷%óv<Ü ‚5j;Û;|ìÈdI<ÌN`ކªcc½”ŠZfb&¯ =k&@¼ŒJêv¸pApæ‘Çð)çÃxÌI‹uŒqãÔÝ/#DL  <™SBï c„ìæ¨©`šc] ÆœH‰-WHâH½5ËpkØ÷=Â˲žø9õ÷ÄÇn!¦PnÁCò‚%¹) #„â&ÈöS+ë|OcÝ¥áe,ÂG bRËðv¼´ø[ ‰ÏZUˆ± qx›ÜB$ @ÒD÷¨•Óö”–À=8zÉè.‘73\2Ÿ%UŒ1åt©/{ùºâÃó3Þ ^®¡ fŽL}¢M'Ïq&LÜ·Š>Lüxßñ2:’T¤h Oo'v@Ø‘p¹|ÂÌïçïÐ{Â÷ÿðï°ÝÞãz]ab(õ \¾Äíý·xÞ6¼ß°¦„åÝ;|xzÞnÈC° ë²’Ø.÷Nna-2~ä3Pzâ:ÌrXú˜5±å#¿¬ŸPî鄊sÑ9½æ!ý˜òöæ³ÌExY™±íR\PkÔfß5‡1wÕæhßîÈ¢˜Îœ]ÖóeXÑÍ00”¿tI9r ‹sdGxßœ’‡Ê$Ð@kw ƒóÁ¼~?_2æÜ±T’™ý îÐáмbªÀ:+—û6s ø‘Ÿ¹!>< ZºÓ‘%G¦ËøÅÒð›OÇ0ÁЉ·ü_âóÿøoñÝ×ËŠëO‚^¹×sYмãñÓ7¸¿ŸH÷gô² ” ì;~õ‹>o¾{Áïž›e˜ nû Ó+–t:×¥d¾ ã 3ƒ8~6ðLPkŶmX3]Y‡8YDø¢1.G¾ò‘»1Æê“¼-ŸA1¶cM\¡ö1 “äI* Y <‘÷²ïûœ¿Ý÷€í-ðvGsGRAVAN]‰£¸c_È‚5/@Êl] þŽ ÕñaЇ )Óù¨à!‘vŒ2ª8R³a©EëeÁÃu¡RÃ:–K%QÚøy³ó玕skšȆ4X/d·ä5Z³J0ndú]‘«BŸmI«NP$qäX|j@sÃñEBªÚXo×hµ æz¶¾AtÆßKÁm§ž¦(€qCî%gd1hšPÛ sƒv`î-à„¼º N5D«)ó â)¡¦ž9>0JQæ=r ‰¾KEUÅè;raslÛº Öχ|z¸·vº<Õ¡YdЙPRá” Ä&É(Å# @N½á²¬¡:n¡êÐÃWÞÏ£&´D:› ;‹CÁ *m*¾0Ý34UäÌÌÉ>˜ƒñ"©yIêq¼Ô´N7®3à†¶ÝÎÖZ-| ¥üz©£Ó ¡EÊ¿WÌ ŽŒÐÍ$,ŽØ$­ßÈ¡[!Ú¡hl„fŽÔ‡ ðr)*zZ£‚UU&XäuÜ1Å>²QÊÉc© J\ÈÜÙ8¶éÐàOãT"jb°¨ñ êõ!V•#ܵÉ&Fã{Û·Wxo2xg&±÷j ¦ÀvßøÍRfA^+“)a7à¾%üöûìƒ>ÕÏ>y ûñ’QŠ`;®—„¶½À0ѵ@àHÈF¾ ¸`¶Ž|ÉÐÉéʧ?y‡a\5¦”1‘aR0tÁDÂKkxú¶áÇ—nðï̳zÝi„ÓÈžÓBàíót\^6¾“=áÇï ìöPYfÁ&ûóöfx¹Ýñ³ÿäçXßýEVWìs"çŠ{£²Œ§B¶Òù¿}žy¨€‚wªsÓàÐlû×¥Z0GèR­É¶>Ìþ™ñnUÁÞ7šcRŠç¢0SœXkkcĺ{¾6åh€“Éç­ãñÓ·n¯lÌ`º ;sL¤Ì\[\¡¹ÉQƒ®929A²Íd«ð —)¡¨D&jŘyaóLfŽeYQ JM¹@zF½,Ü‘ÏW m.áyGÛJ­(G#‡ÈW!:8­¨Ep(oÈ­¡=½àOþ»†¯þÕÿ…ö÷xÒðüò-Þ׊/>ÿõ͹½àr}ƒoó·x«ýäK82Ú¶£¤Ž_üô‚´8¾y2t¬X—ŠÛÞù C¦ÛqÛɑܑB@“sÂèãd¬˂aKQÁº¸ÑsLµxHø¸–[%1(ž3D-rÔ^# sÄ.'¨) Z˜‹‰ÑzØß²,§®`š#U 5à°Éý\ñ–%á±JŒ‡Ån‡5 ÝëÃýsŽÅÜ8 ·Îj{9µgsLøaã`ß;³E »tÂN>.Šld`ët] Ê5.èî¸Ôeª ƒ@• ø)\Ñ'×¼™SâÚÖÀlÖõ‚ìäyÍÞPAowd£ã±®à†ý„¹²¶&ÂCIV‡D!Ì”¹¿9ß½oxÿÔñýý^`©Ýo~˜sG-ÀãZñøø€²$¬õ-jÉX±¶U\. Ü6*áVæÛêå‚Ö;š†lû€E³ÿå~‡aÁ?~÷/? !ÃgjÆ}Nä´"H|ÆÕžÝhñOlAËoÑú?ÀÇ[Â×_ýf§Ì›âl² tv<½`øù¯~…ëã—h}à¶. ÌΦçÞw²ý}rÌ#n~€£9Uw̹ÇÔ¨’6pä¬â`Fšû!ö@$lsCêšlMP%ê;0°£(]›¢‚d5Ü!ÁNlÅj Ÿf×Q"8Dêû¾êUÅËó ÿ¼!KÍ‘kP­3J)¬í›“Ü}œ‰‹}LTª#|Ô,]S„É 2+µžÍZ¯#Ôêc6¬²``gb†.Gv!~ñb¸í7¶Ú !ÀU eÒSBŠ ˆœ,îñ†¦3œ*.èBú¼ÇË¿û×øú/þOèPØ_â‹O>ÇWýÿà½}…?úƒ„¯Ç†_-K}›X–7¸=½ÇÅry€ ÐmàÍ›ŠŸ¾\WÁßüÃ34¯x\k6ÜûÎPl.hÃá’ÑÁvÚZælx¼ÜÆDBÒê(YϿǩ±ŽŒ J$2—¬¸hf(6$—Ê›_ëê¹®Ìæ$²^rRèŒp;œd|︔¾Pç³TN•Ö”1Û†š”„yoÐöB¤Æö#RÛð_ýÑ‚\*\Fs˜,™J™Ñ!öÁQ~XÉf×àL)R:¢Ü‘ó…+±³.`€K#†"äS޲àx¥.·¶#GŽe]ðU”PiÌõ3âß52kvà+ >5¾T¯Œ-/û˜à!Ã7ž½AK=kä¹äX f‹œ’ìx(;ªI+›H ê ç‹ Ž°*òR9E¶‰Zø*H˜² •+E³ÂÃ"Ò<äýëã; ; †TJMQ‹vhIH)êûÊ]|$O×·_ÍaŠF+OP%áöá i½D‘¤²”2‰‰v=j<Þ§„ž'±+q9:&©&šŒÍzüý8K}N¬D@ƒ€k Qq4&D >ßr͘vçA2-ñ K˜½E¾‘Îi;Q˜Xóá˜âº29Rª§%A"ÿWDp5ç#öÄÞÚèq¨!«­hÅnˆj|G’xtlšË©V‚0ÛI(⎒*Zs$Y ¶ÅêÎDĪTÃá÷ÊYÃIOñÝÂqšS‰ŽQQìSðÍ÷ߍ8¡aâºT”HêHÔœ±”)5Œ€×¼bŸ’’É2 û˜X.ì[C çõÒlÄP¤DÆ|ÍÌúiʨ׌}fü°/OOh®x¹ïèû†e]c-Ì\o›ŽÑ ­·oGì% ­s²Ü‘3Þ¼¹âÝ¥âr¬ëŠ53ëY/dP¥œQ-£¼½öÂOqûBU×ôŒç§¯ø÷Íð¼OÜ»a‰ÉŒ4& s*î/ßüð RÎŒ Ä;ò•œîÐ%ãŽL”L¹ûä$¥›³ùo“ògHÁôS%8…ëP]YŠ戰·£Ö"© >ýÙ/±ÿæo1ûûûßàùÛQ–Éj5H^0÷#/èÝñÉ›<~úú˜¸ÍOíþ9½ƒJc>Ûý„ÙÊ!NŽ‹ 0½G4FŒF§œG[æÐ¸¬¨^ ƒ Î-Ú&ݵnHN\ W㎜Z¿#¹AM`Üsý2õ¹wF-T˜Cö×C ÆÖ%çŒd)e<\®hsCÍYâtOr4{ÌŒY 3”PŽ^*?Çx¯l#MÌÄ5]9ò‰mœœ#¹¯•Õ ÍÒ{ÀÇHð=ô ôω8¸-­ïPå¤íÍçœÏe™œâdÍÑ@`Ã#׊‘xà{”Œíù޵t6¼M—4ðßÿÿ¿ûæ;üöoÿŸ>®øðý7¸<|‚T¯Ðeá­Ì'ªMäõ‘·íIhÜ'ëŽ_ÿBñ7¿{ÂûQ°^Þb­N:½²Êßm„¿è÷ë²`›¤'ýÿ¨z³fI®ìJï;“»GÜ!d"«X$›l‰4Z‘ÕlñAF3‰ziÓCë'·dM3µZ£‘Í.Y 3r¾÷†»Ÿaëa툄Ê …²2ãzøÙgíµ¾‰è€îb›&xwRΙœ'Zß™§,syÎJ<Œ@‚» –y¡o»˜’QÔæÌðdœÈ8ŒvÝcb9Z}€Ö‰jܹ÷–—_}ÇÃý;&‰Ÿ<}ÌÏþÛŸ±”£Ì›¦ª˜%&zP‰lL+M >‚ <»T©"äç™cEÜü ·ÑC“ñ‘NN%ö•×¹*ÈF¤4ÊäÛúIkØ!ÆPg0—"ã¡SÁa:ø]Ãø9š±áŒ!ru™ÔZßz÷ßC¤+fÝÏaضó5VØ›c µ¶ÊWˆ,±1q"§Í¿W¦ïI” {xÜXÆ”­v ç1ºç#óìµW"m}'`dœì+¢âr˜JjÁ ÆRBÎiÐLÝW}÷râP Íט|ŠsYؼ®¤Ho»’M‡.¡†šbÐ$Ô¬ûÊNí)f}>)k8Ï ‚Œ)h¨êýœÞ[µê$2Î>k“aX”.ÉKÁãˆtáí=D^¾¾ãÍžøæå=ë) 9‘îÊaɲÚ1Ž×3KJJâæzñÔwÄBâp8 ÄLb¬Æ\&ËÁk•dWè€I¹ý®ÊÓˆY¢õÎË·•W/¿ãëWwÜW =dÌ”Nß÷·îÏsŒDÌž®‹¤¼À~ÂâÌØ¡Å£È•»ñj72•˜%6®R¤,‘)G–¸:&ŽSòpÆI]Q5]ŒÈ¶vÞ¾Û¹_O|û掽H­îwïÌ3£5©Üäo#cq0z%å…´Nl{#Gˆ‰më”ÞÆáCh¥äàU]ˆ……—}hµjûäkCïfs?®ún÷KWêYÀHIØZ+-$nžÊë_El}Ç›ö%æePwãêô!¡‹ §W×”ÔäÍGâRäË BõgTàÜä5iò•)Ý«=˜@¡B±¨šŽÝ«6.€3y4:°¼·{%ÔÉ×­ú ¼ò Wè}#“’Èì!ú>°l?$ñ«‹¶ÕU)y §Äõ1»ú®ÀYì0ÇÈÕíÆÌi›‰s"÷Ñé}/  ¸£håSð¾§a4ÆÅìzæ×Ug¾Ið(­oO ÁŠ{¢DðkÛµ^òAI"ÕMI¢>†ÃK%…çyº˜Û>t·™*Or¤w! R—1­ qœR½§³±qäøñÇœÞ=ãñO®¹º¹%M7¤ç?á_þþŸóä“_ðIý1n IDATåÏÿ_¾þòK?ÝùèÅ )!=sýâ'´0‹ÄÜ+µ®X‡ 97~ÿÅÌëSæÛw+{O,ó$=¼ªq¯;÷§ËQå—M& l&쾛Ǻaq8DE[@Œ¯*>Pbì$O]%T_”¦|a—Ÿ`µÉÔ^ ­Væ91Z¤Lò4L11…™ûûw|ùí—¼þþ[ÝhBàù“[B||“ø³?ý/ÈS UDȉ¡êóNÙY$ŠÛN©8Œñ;vE§©ûæ^>MðJܘb'Å[ë,îrëaø³±I±ÉYRtÐ*¥µÎìU›I[«ÌEk׺ –JúA&zÚÎ Ï”UÌ=•™`êŽ )^xK)ü1–òä *ebïî©qö™>S`¯òÕZYW®Ød=k$JŠ¢îÇà¼:7ÈAɳ§Ô<ÁTí[-ñÀ¶ot_kEÖ±ZÙz§”õôÀr8²­'úi#OG 1¹øº­pZw)…Q@Ò”£Àštlè`kÓ´ÐmWúÌúC‡f«*ä펄¨²XŒ¶“³h)e¦éž‚:A0äQ죑òÄr¸ÖtiÙ÷]ß©ØÛàåÛ•Ï_ïÜ­™moì¶iÕ:Œø¾Ø©mpÈ1e–içéí#J‚¥$‡…«c¼³ê¦^×8„Ñi1»ñuÆB; ¶w+뺲^¿{àþþD=G%úú÷@â©I à%ûjRÍÇèô B>ÜU=Ã×s—2ëåÖ5;8{¼k;Ü%ƨd3Æx­ÞFD„ nÐ;ÔfJ¸­¢ …æíb¨f5·õMÉêÑQ>®â…*^ÇÆÚ‡!èý“_&½ó†)½G öÀº7­«·€õª ǹGЫÆB¢d˜z\‰zoœë‚p`ôa¬VÑúÓ0ŽOó B¼zxàéíÂݾ©J*È×ÔZ™Ê óõcBl Ûµ2l§ß¯Ä´3¸§·Iöøð>86Ú8§Ýäá0¹1ð‹9Ø”,°ÜBbïÃ{19 AIJ±:8•,­/çYµxæ#Ç%q=Ï”)3e1.S¤,ú߬ÝñÙ§/xõþž»ÓN‘¢¤™:DKmM·ÁÖÕ±3PX à_ðUƘR¾ø¯ðú…óN?§¬¨äcI«²ìü!WƲ†­Ð¼gj4ïztTÉÌ„àœQÜ÷}W·š{r‚£ rITOœ t­+‰h£QãL™gön<}ö;|óÿ‘òæáÙtÃtwG ™GO?âÑŸÿ7Üû5¯¿ÿ–‡‡q9²L3§SåøôSz¿‡v"Y#[¢õ@…9Ïn;o2w[à«7­ËTè#@MX\tkƒ’Ž:dG—AÒ"%ïhÛµÒ æ·9‘³Í*qÊô~O\MgŽ ó ­SR 7—ÿ{cßïH6Q¦Â¶«¥½õ•c™<˜PùíoÅéÍ·”ÐIÇ…Û«E7·¦HqØV~òôSó¢nªñžàu%Á&š×X î™ïco„4°1û EúCtXàN^æ¸øˆúY1h^y†ü2 BS{±K†9iŽÃÈe¹Ûz=&lß.ðÅݲuÈ_»†ÿ½‡FÎ0FòÈ·@›gÈßi[U˜}i`„=¢C™A±Av£í!wJYYrܱFvWÔ¬ ¬»®+чќ­WŽóD*3#.„bØv'øb­äèbv²·NЉº=SdÝ6©.]*hpèlt*x땲,ëžZ³ +‰®‹ÓÝ=PÉ„%‹ÏVÛæåHt&Ð2è£ÒGg[7¥ÂRôU•FÇbgßwŽË{÷ŸõÐÀU«{]†½»Ÿ1…"rzTét»˜rY°Ë<)³yÖå+¡kõ•]¹Ì!P‡PS™¹`U+ÇÓéÄTŠ£$fïšœDúwÒ:AÝÐ9D¶º’Óľ(S!öä…àâf5Ó ™ÞÓ™uæ&ÚÖšÔ~¯¶Â(”˜!:k,èçSÑÝâ2ØËË•’7”£Ö£C°ÄèDoA–µöˆ~My&¤I>¡½c¾Vj­Ñ1ÞÝï¼zsOoWTV÷S_íW³°u`ûF{|õö5s@Iºi"™â D=ƒu¢oJr*Ú˜tKn#°o¢Ê©kļ0¸ÂªayxµN”ŸO|Îz!©÷®} ³œ1$®èÿyõtŠùïÜç¶ìBz¤i±{CXd3© 0€…ÈVÅ$ȧ*‘ÁUû(ÿ_‚c—˜d­I DDÿ]]_b£¶Êv t‹êp “Þ‡çá7%¹°©S¥ÅA­ÑÍâišh–$UœÙ¾aý^ãÒ:ÕyúPnÜ{ó¶ºCt@tÌÜ}ók=»Â߿؉©óp¿²$1àR9b©ËÌg?ý=¶/~NΑ-E¶Ñ™—+"ƆõB˜¤>IY® ¸éçôý¯¨/S7nÌÈï°T–§Oxq¸âíË/¹:xý@½£ž^1-3£Lê;ì˜,©nÊ`z²‘ÊoÞ¬¼| Ë2“ÃÌi=±yhâl%7¡¦<ºÝtSµÚõ¥ ®\aÐw­úÈâéôVUób<¤àÕ*_R¦“|>9d:Ãá¡+7sbš!~ýËß°Ý¿a:LÎ( Œ90F`>^a§;þê_ý!ËáÈÞ:£ÃTŽì¦—W"ÒmcšAP³È·A×Uø˜V%*RÖZÂ:ž0X;a1Yôñ€íòX ì^Ñ‘-Òº1úzQ½äRÙvè‰Óèd{m$ïÖìc¨o3ÚHŒušímw˜«eöÃV‚Eö*pcÝDݦ»:c‚Õ…$ W•›)r(3%)È(Ü÷J*¶Þª …Á•Fb¦mù<@ZÕ‹V{€Ã,È¥uhR6£V‡Åf)69øíUàÞ”2µ7š¹ÏÉ9¼i æ¤Z¬ÕY]Ôm?¹5 1•E< W¤4\ RœÒÌá8ÓM­3@6`„¥øEù C™ü&ëk„ÐÐå°(&]‚?Sý¢žÉŒ-“¸ öJ L Ù´1ÛF”íŠåp þ®ŠF”qÕ‚©KÔ·à뺜&½¼CñáV«â2Û~"§éRWµmd¬'ªe¶QÊÒùŸÏ)B´f”ùHÝO„.æNC+AšHi9ç!ysP׬1£Yvz¶9ðx†8 £`z‡˜°]?³÷üÓo¿ç]›yÛ6jÛèÕi€6 fÑ£õŽ„Jo7T)2öK£ÇxðŠ%CGô‹pÔPŲP4DÓZÒ¼ŽªM)Íi˜¾s€µ€»W‡hä.ojö II( WPìÔH»‚7ƒÈ{/[a—g°_„½íX«úYÅ Ÿ»£(Äo‹˜U]8ÀWsÆÊÕqaž3K¹UZkF(‘D!pÅݼ³F« œ 8Ò ®çIæóâžfŒÚ„1)m'™o7¶½‹ÎѤ/ia™ß¿[é^%W‡óƒ°)7¤Ÿ¸ûâ<¿º¥<ÿÂoÿw^¿ÝT©S ==aïÉ"×/>åáóŸC+âùÅLߌ=9.î„õH&8]¿Ì™VWÆ€)OÄØmøEPþÑ£Â2ñœº× P²À¾bD6r‰äœgÖaxQ½ùº¸ÄK÷å™DPw)È” dþ0OêbwU®yÿÅ/ù:½â“g¼´m©Ut‡Ö0«äyÆN•W/_Sä¸È1jÝ!. “jÒ;|ýð®0‹:(Fšÿ@Š/NÏð¯µ%ºix¼É¿ µÈ¥žRNÔ]¦7‹‘1"9ë0Ìi¢ê2†¤Ú˜ X¤‘p5à¹1܆ª¤é ÎÛèµ’²vµ­ 8Ûé=7ãžýèÞ÷ uçûßþ†\WŸr¸¹e[Ç^0³?Üsxú”‡õ´¿†é©DVÜ€ªÁÈJa´NŠÉ2‡R˜ž4>yøü«×ìvM,™½u®J¢ ‘­WTç_(YP@ä“}gšO­1¸ÉZ‘øŒ¯dýˆâÜ÷êµsÐÞÎÙá@NÇc$F‰»»7ìw¯H©ˆ#S*Än*Õì;´FŠ“§CË”y·ŸÈI56]j{p2ï ÀÖW,@ÝÕ³a$k8S/@’ãúåvuª'Iê² $©š@^ømýò,Äñ¡Jb„ŽÕÎîô{kú¬¬LRýèìC¾±«éƒ2Í£L•Qþ«¡éVi †Á’£'“4lå¾2EÈIëŠÑÛi¥m+!f}Ùk£SdŒ¤Þ()v¯„I"3‡Dš&½»êBø@/ÞM?ë±¹$Ì*‰%@J´± 驱’I “ ¦Ý‡±äþ­ÑvïÖô~²!#tΪtîçèO˜òCáúÜrŸJf;í,yºES4¿øt÷¥KðEæ¹Öä!4¿xW˜îï^³\ÝHPÁžžä°¿ ªI!G°GôdLê&tð(!]J„Í;=‡I¡×Ð#HcpsÙWO©L´ª•þ4%r9ЛºC8··U7ø­1Í“§¢*±2A©ÐZë !«ï 0Åâ†ô89® %‚54 )‚hÒÌhRS ë´Ñ˜½×3å¨ïkH^î®p@™>Œã|%¾W̼¼ÛøÕoùþ}ç4ÛZ/™v®s¹¬/%#JI†¢!•‚¢ÔÇóP?A"-¢é²^»*LF<³»4ÜÆsõHR÷]³&ˆÅ¢@ˆ–ÅøK†JÜGÀlu++41»¢2çwß Øe]¶ÛÄUØ:âB$ùzÚˆRÃM¡#èòG–'áUezöÚض«R.œÓšvÙ¼\Þ]1ºeºà,S"$ãæ NϔĄÂ:s¹Õû$‚5¦y¦LÂD¨îlÐö•ã<{Gð æÀßýã·|þí;RNtˬ£1í>ذêÂw:1ìR®hášéÉ3ÞÞX®gê]§vµ«ŒœÉ±qÿî=ó²ð¾.Äxà˜ÐàQÉ2=göm£äD™²«ÜÌ™e^DÖÌiklûÎÖµéX`EÒæ¥ùcÕÉIotjõöŒJLjœ¡Ȫͩg¸wíÌóD\4,ùƒåO(¹ÐÇ ÏÛ+~ñ¯xóõ×üwó×\_]{û€ÊÖC›YO'b9‘Kæ&MÔª3;—\À2[¯ž‹rE*¹tœÒE꽓¦Ló'“wáM~#Žæ­‹‡ ••JÑÃÜ›þ6" 1»Éö­ºIm|(OõÕFp™=sð y2ÂÍÝ]U °m¹ˆéu¸:¸ÊHí]Ì|~ö“?"/7ŒR8=¼æý›W¼üö;?¾e{ýŠ«ÛkzÍŒj\od¼ÛOTÙ¼+˜OÎ éUL†`ŒHå_üäŠ×ï¯îw6ØšC&•ÇáUCʇ^òö¶‘K‚¦Ôß:Äœé †ÚP‘e>cdôÀ© R:S§øË(XƒnÜ[`xÇwÿø ÌË1ºg+RG£ÀÃéþÕ/Iuçó/~Ëõ\øWÿõóãO?"§£ÁÑ ½ÄÔzȆ‘½‚#˜Ô¬1u¯\JÊBÀö€‘Q¥Õ¤¤NÅ1\Ö•±ÓFDÏšKÝòñN'J.@¬1É6°„mÍs "µëY…óe`8\7¸™ÝÙKÖ™BçX ¥N¦‘èÌ¥£’QyLc.lÌâa¥p©æ Þ‹HÐÊ,˜’îc!6ˆD)ÚÓä?ÙÔÁ©wµÂ¤rçÃ!1ÅDHý’Æ”³2Ë–âÐê<åÛ¶S²Öm²Â/y0Ϊ5&Æ™+œ)fB „.‰ÍÖ¡ˆ Lhƒ% böKw)ä˜Ù»V¹ó4Qr`žgsâúz’úiZu]Í 1¶ÞôκôíNXÛ(9’ââ©Á“ûêœ3sJ4ë䘩cçw~ôß½yÏý¶cdJHŽMÑ:>îœÓá†aƒGÏÌ×¶0¬{§ß=Ö¯Èå™Î «¯#;ˆª‰›Ø<“C¦”‰Ç7–±¯,%r¼¾åÉ£™)©žªÅëÞ¹?5^¿|Ë}ÜßKù<6ê:¹DЦœ ¼Ç`9xöü¹Dö}eo‘õacïªÇښĠáÚïùu¹” POò[ݵr ü/ÿîßññÜ>~DÌ‘û-²”ƾw®ËÆöR–ˆœù@>¯÷dÝad'€«šæÜgç5-gOsµæI)“ö©6ÈY¿é2à°j•pº.V7zÖͶï;˲°µè½sF™…b£¹R/ ½LEö~xxP5Mž™ç#1ŠédYæÌ©j¤Rè}%Q˜XˆóŒ=ýŒbwÜ­oYr">¡<šXÊÌõÓg¬¯¾e^ïˆÇ ËÒäQ V»§Ì“vÚóBŽR×Ú¶QÊt9 ±¬=yœoƒÇ7‘åy{×ùæÝFŠËæl0“%v¯i•åPXs~–uæXÀ´ 1RÍ(I1çÔÆ‡2Í8í•GL”%© vD¾ûú·|÷ù¯È7™Ûѵír*œÖ;öÊÛW¯˜–…ëã áèÝøêËïùÝO?#ÖÆ˜T7Ï·nÄ"%)˜±³ÆÄØwZ?i`éhÆœë°Ok沸¾0ÍŒ§K1/)‘½@<‘Å’²@­Ý}ªœé½_"ÀòNI¡ @’Ì¥ÞÊ$ß``Ð|ï6RFJØX¦L¦q,èϬí\M‘ußÔiµïXšõçzFâèÔÞT»‘ÆÎhZýõÚÔG9ëéžÃáH;'yRv,ŠR1)1WkgŽ‚Hi°>³ >ÛÆMH¡H>ÀŒ(*ú!grI—‰ëã‘ãñÀœ3ÄÀ2E±Ù€×U©1FcÔÊ4_“,s‘¡¼)^¯!'“s¸ €ç$ú0%“[Ü­°®'îïOòò¦äwÁp)v–Y>Å9*m\b$—ÀrX´Æ.¬óäæÚ‹å¥Äí§œÕ]g"½jÒÍh¶ B':Ð3JåaÆF"XÔ}¡ CÞ¶àeÝà ú[óDa,Xˆ\ÝÀ‹çùÕo¿¸tžX»:9³[mz0®Ÿüˆ‡»ß0µ{]?åöãQßþ†Ö;Ûû÷÷_quõ§¤Ã å}æññÀó':N™˜W޹ÀÔ¹½}²®O”@«4+ÌIþÉÛcfÉG‡k^Ý êã³Àû÷÷® %%F]fZ2£ÕÆÕ㉔'JYhmx» ¼»»çíë·¼­}k4S—çè ÐXÖöa "èÏÓ̶o„Þ¡Ã4ØÆÎéuå?ýÝ?ñ¯ÿê¯Ø›‘¸»«ä|­Uëô¬[%bäIµñìM·Ö³$›´¤Ó Á!gyÀb 9Ä-eÜÄÚ‰·p<Ì|ùíÎÃ(P #¬mçLÝ;%A%P·æeZ¯ÆÐèqÐ6ýú)%¦ "r­Zý² =&˜:sœxõÍç\âhüÃ/ÿ‰’#×7GæÃ·ß|ú­L¹ÐPbfÜÞÜ:J Gbë+³åN6ä&OÈXèìk§uùtæ2Ó0ÖÓ{ âïdÉu"Õš—@ëhÈÑègÞ ÆØÞãš 6¢náCÑõ†8@=(p±7£LáÃáoª!ˆ¶±aq&'¨ÍËF›‘ı”Ü ãÄ!æ(„PIag´R5àÑ*÷mðâØMŸ›—õWqî)-Ô^Éö½)”S.ÒÐF#:„1†"su2ó&ÃêN«%%ò²ÐbdJ“’žWl J‚^YŠ÷ÎhuƒIAŠÚ*¡dlH²7#Ͳ DV¤ {w LóÛ¨TKCfÏ•CœäTù¤¯SÜWc¢fö\ŽR6ŒSR­Sº!çätôŠrM²¿eb²K…‰Î(",F&§}[*·F(3ZÚèïÏÓBkjè]–„”äÇK©°Õê Ss^؇Bõsê58Qœ¤éÞiÊÔíž#û.µ÷Ÿ]Õ·ÄlÈjYÈø`Rån"— ¸jÔ¡®=ëJnGÿ“`žö ¢ŽgƒHA¿gK™D§Û®6Œë*CH §L É×¥ÆÝ›WŒ~âj*¤ì$÷!1 lµ_Rg1†u[N¥÷ª³®÷Û¼x•u¢uæ%3¬38ðïÿãÏù䓞Üö¼ÞJàÒÝéþWÇ#Çã‘é ‡Ò<«=#¡HμíŽ(I‘®®Ž¡Ur·*X­™ø!±î'©›Ó¤_Š:†Ô&‹RÍÔ~|$¥Lá•sá´Yg*™dÃh14€»¸x½*œ5¼‚Ç»{‡4ô×… Ü0¯.< -Z¡çÍLÕA6ØöÝ“‡+! µ‘²‚ªQk®¦ëëWBÑ&Þº´öZùñ'yýúŽÊ¦žÈ ‹û4PrµÜ>aÿò?ÑÖw`8Þ0½ßÙñsv]Ù·;Ê?ùìøúë¿çö&óéã‡ãB6Xp}K²\ªâ¬é²5²•…s !ù¶ÅxRT‰µ*}ôD]ÂîåVGì‡?ã^u!Vª¹^Jäcl<ÿ膞^qZ+¯ßÜñÝ«·l§ÁßÑÿý£ûÝ‘¥L„ÐiA…õ}JI|õíW¼|ý OŸ½š£œ!xI·r‘/ÈÓ_dÍ%à¡õÞ8WJ ­ôòúÀœÑ^Z5y§Ìá_‰H‹:hBÎŒÑYf±¯ö ÂdL¾’‹Öe´w!c-‰^ž"%töW_sáÍôw¯XxÅD;$Òá–x|ÄíóOhïÞ`Ýy&}0•ò¡8¨Û-EE%¢Gšï€­¨.¨û–| ̽r˜g~ïÇ×|ûúÄ÷¯ßÓ‚…,¨ã±`-@„) u;©Æfüÿ«´^äR¼ïK žTŒõý~ù«¦Þ –X¦™¹$Ê4³o;¿}ù91ê¦hfŒ&CnΓà|I´Ü”·‡Gt"×ÇBÛ%N§2lg½²n«ÿœpHh ôFšf%‡†Òë¶_ŒÉÍäÿë]59–Îë/ &ѸüóŠÙ_³dZUÙ´èà‘¶? ê=J‘zR€y™I‡Fì™Æh¥ÓU}•g©î´]6}ÐÙµŠíB4œ«£bôD­éK¦2ÛHžôÌìCÉI\žH¦¸þ(ÏËÅ9UFë;Ñ’zÌb!´F`'ØN…ÓéÄá°`%_|WÑ”JjëÖp੸;2 IDAT¡’|N<­2óŸ©ûŒFkÁ=s;9« 7p^7eZ°XØÆÐ‹ß*cÛ°±3MÙe0êΔ¢whš—‹Wˆ“sËÔÁ©D›Ö)*rÆeà‘j£"gF¼jBϱçI7DÔðP«ÉOåd÷3L3UÅÕ»|>@‹%NÎn‹Ls&Æ!_^H´ýD*¤Æ$®’0F·Hq… ú»ºÏáÜ*™à›¯êœŽ^ToXP]Ï!Ï¢ò×JLµ)>?Åì˜u+†äSUÑ)Ñyvg8cà}xÐÊØý—á‚Ê”œé†qIl©‡wÌK:rc‘æÿâðÊP²û©2ì+Ý&,­ðS½sä7’mªÊ‰‘éø„Ó»ÆÏþð Ÿ~úTàK®.†3Ì:§ì<4÷ð–LÀ¨»êhrœ ybÛÚÀš½ïÔìŒrŸ^˜dr/òÙÕ˜Ž·X몢_$‚‘JÔûÜMå"Ç¢A tGíþ½a=¥ ë%¶®Í+Ú†eƒ)/J¹….uÔ/‹ƒ¤É1tb˜Öì#*!ØG „rA$%S˜ª›1•…6†c²]dvß{ój$örqDK¿ ÂÎ']±ÖÆ^^7÷® '2¥È«7'ÊÍ‘^;åh¤»W\=¾åöÝZ”ràöñ}üŒÛçG^ý_™?üñïòìùcN­bb¹fÂÇ„)«8Þ«—Z—Kœh!Ñ,8KžÉí$.â„)¹zö|wAUC”¥ÄH÷÷ül¤"Å+X ŽÈTŸ}ò”Û›‰Wß}Ïë÷;§ýž½,ÉÙ@¬ÉÃÜV }S$æ‰Íg˜ÿ·ÿü‡ÿ’Oú»”œiuWKžÔIìíé¿ÿ7ÿög1.˜·±ÉÙîØJùéCЩ?èqcy죉·ãI®³yÏzMØk10£Ì“LÄNäïÝ.‘å~5gap°›zóÖùÞw–¬š„mot`ò‡J¨†7= ì7•Lù9ñ‹ÿ‡¥ßsû;¿ËÍ'À=™¶¨ß¿b:.¡í”ù@º¾Åb‚îEïÄ¢×v°Ŧ¾Å#ç"É¿¸£«.áÌ/i¢÷ã±ðè*SוÓýȃ{Kc ‚Ž&7 ˺DHA1hÇSà_ú<*ëÃ{¾þâ×|÷Ío˜c#å™\&ò´0-îîX÷“TOwĠȲá7ò´ŽF¯ƒWo¾fß:OÝòèñ#Åü“уVyòޱîµ'£39'©îîçñ©î5)\J¬S’·hØ`˜xí1ª¢bŠùb*Y]ˆ F£o+ cÔº=pœ&胤HJ`)ƒcîLìÌÖ)¶3±s,0EƒíĨ»þ3DãÏÀð»nÿRRÊ$_… s ­!F—ò!oÒ:Õ‹¦ÏTEÔª9Ê î Ñûl%Ny¢×Ík”ež˜sR ȹÀ× {K”Ìoîç›§‰½W¬‹O¶o'Èåb°ÖT)äøœ’©õë!{Ü?F/0Bš¨çÆÉ4‘SaMQ¸…®båq¾Èy_XJóeÅ2zÂBu¿ÞD 2Ïöüs ç!ί>§u¨W‡uÌ!KÍ"y/™€ÅÑ[(B–â½þ«ÈA~³¢:þ¢] ˆ¡{Ñ|ŠÞ!Ú½×Læèìæè‡}ŒÂ¨\``4WTTh ½ü‡AJVª¥^À¬dµ×'…è..?§ËJݓީ€*w?[‡½‰’žå…|¸{˾¾§[aădÓ€—d°˜.ÏÙ*"V€¨úóa¡Bá33¶“”OÿµçI¥¥¦°s˜2‡eâ0އ‰Óû—Ä1&Úö†þÝϹ~ò˜¶6ž>Zøý?øþô/ÿ’Ý2lçó¿ÿü‹?þéø”d‰õá5ÇÛOb›œ€¯s½{;I¸º©ç±÷Îð‡ÈŽàŠðp|Rë“ÏÃô¬ÑH!¹-DM[“¨‰¤9\ßðèv!XcPµY1½“ʤ9†Á×_þRÁ¾Xtùë:k¾ûþ;¾þæyæÑ£G<´`âöõ¦õô×ÿÃÿô³} Јä©8  ¦…`Á»¶> ?9$좒æ&A‹I/#¿•t¤­w©J¦Èz÷˜eŠAå´&xÚYú;ÿ'ºì.§‘³×Z¤|¹¡ö®ýwk›^R––£öÚ6ÄÖ¨­BŠ,d%tJà6ÏÔw_r5Ìâ”yvû‚åñ¸YøâçÿÀ< f¶­Ñ‡^~SNì«ó©<¶«ŽÔà @œ·ÔéfêûK1ø•ä+rÀ£Ë¸Sà£Çn‰’}÷~¿t´QcÅ‹|Œtz÷ZâSèÂQlwÜ¿þžÓýwdp<Î׿‰#ëéÄéáA„{ b T29A[ËLÝWÖÓÊýÃ;Öuåôþ8FXøõ/Í/þá—¬'ž?®á!k…óððÀýý£‰û²n»³‰Ì90öeºpц'“äÔ—Iè­î`ÝOÔõ¤J Vå²Ñ¤º%÷R}û0O„Ô¹>Î<¾^83Ç%sUÁv– ‰J`£·](’8É’£DÌ: G¯$•ŸÛЀ×{óÚ]x÷ÖˆeQ—æ¥þH]Ÿ_»ºb=V’x­,£sý"1 ­ôäñ?úä ¿xÆ>ý„Ï>yƧ?"no©ëŽGÞ¿þ‡ðÀ‹OŸO~çÇœ^Éõ—Cºù±ß½ú†·¿þôÿšÕßM)vWt¥d‡1gMâ‡NÝs‰<{I¨„½cTªÛÚv:Ñêpþé2x޽x]ª¦]”ÑdÕ9÷GuçÁàêêÈGo ½ImMâ¤Y4ú¶ñÛÏÿI­1˜Sù€¾¡Ó÷ÊËo¾Wzðñ-½ |ÝÛ*FÝÿøoþ知²¨®"Oä$YQFòIE)Êxy4Æ $5\û!G)¼FæJ3@ñBbº^þ#$Ýœ£ßŽýùbŒ†@ êN=.:racv•h™µ›¨Z$F—£ªhj /)C¯¤I7ë8ŒÃ¢xùþÍ—Œõ;Âö–Óöž¾¾'ÍOyòÙïóÕ¯ÿ™Ó›W¯fbòA*Dâ”°,5‚DL7sƒtr©X»ÿ>V¦" Ø5B‘•™ÐÁ8L„롘ö㫉§gè'B¯´}U\ÙWA9gb–l´îÝb'b¤9Ü^óøö9=ý˜Ïžòä£~üâcž<~Ä»»·Ba¸"7S~€¡—LÝ7Nûƒ‚ÓAé¸mïÔõ½NcååË·üÃþ¿øÅ—|ñÕ·¼}/È\È¢Õûá[[×êÄ"m“$½në%¹Wk¥m'šœ5d ½Ó·]08}ßÅ.¦)1¥Àíí‘ë9s}˜¹:f®‘Ç7GR¬äb:Ø Y‡“­'zPBÓÄlÀ,Ò›Âò‰ð|Žñ`2žãžðЧæ‹!/Äé@ëFÈ =L¤<+UƒÀ’ã|`û­zD­&Üêë/¥)‡Sëc*´^H¨Œ:&`ô‹´q"dD¦›aL╬—ÌZa:̰W­=R` ª©è½bÁØÛ Z'9ëhÐ|h¤4.·ÎóÁRÁ†TK‚WfHÓ4%í;«*gÿ,Ç¥4…È2Të“EAŸŠêSB°—²œ‰iÒ*5HåÕMýÜM&ø±Là‘ 0$4ü îk"L™>ªxD#¸©vs…ÊAÉ1Eú¦U]ŠJ´õºá¢>!Œ]MC]™­ AÑ/ø@YðÛàõH!H5ë”ÉrL¤ì¸:¯Cò¬'­É}`>>´dÄi†0s÷þž»»×ŒhLÔ8±HqQªŠŒ%U“•â>³\|]ªð”&Œ3M‡åœ'•ðTxAxƒ2ßòî›_ñì³D+ “Hâ•ß[+ŽмG¥hϾ;­¼tá6h£¹_WgO$Ьûfï •šu^û`òJJ…Õ÷*ô¦KYLXN®**ÈTMôáUå#•\ ún\Š©#`c¥wU©Ñ;#è{fúˆ—®’ŒQÞ©Ñ=Ì"³y]–6@Eæö¨Q)`Ñß XïÞ’/eÉBEÓ›Vò}(ðü+µ8)E…3šçƒXT)P\àøè£'Üók®ŸL¼¿£ÙÿåÿÏþèÏxýË¿ã㟾àúÉï2Òà‹ßügž-×<þéψdNÛIÅ•zO7½ÃΪ¯¾˜Ñ•¶æá½»z­JŽàŽI\«dæïÞ>„IìÜ·¸l`º£— Qö‡8º,CñÜ%9"sÑ97öÓýïÞ½$ҙ碟Éoý;Þ1Ö}ã“gS÷{F«´}×ÜcA·©©Lz){úê¼÷•7Á‰ÛQ°ŽÜÇ ïza©jBëÉé©Ý!m!D¶M‚Ö9ÌéÂÓ’USbY’Z^@_nã ¡\+µÑØ»¼:;Ú»öõA?$ËÄ\ˆÉ~j ty*lûæÝ…âÄôpä}ß9üèÏ)yáþÿûês˜ßRæ+Ò}czñ ŸýéŸñþë¯%cÏ û.mat‘¯k­,K‘c:š¿8ü‰Á¥Ù-i%b>p9¯(ÄDsÈZ: j—“‘8ñÉ“ÄÕñ1ÝÛ^Y÷Êë7÷¼»ßÈó5ï×F­‘='òdì{"“hK™émã´kÕQâÄ{Œ`‰Ÿþô÷p-‚2ó\(QŸÝ—߼䫯¿cíÓÃä`5ǤĔ ¾RO¯o8 Ì Šä˜I>ÅhF C¦³ûóà5~X3û¶éÀõT—Ë2Ø€iž¼ÞE/1sð^0£n•’g–RÈί N™îu¿Ë‡óì²ÁêC±e÷…Œmªl è&. ]ÐÙæœ.‚.n]2Óy}Af”¢”á¹÷ÔWÝfòvÇhîû~iè2›iEeçBèîAÂè?Oë´áÊœ/ÞšM†hÒ#Óêý–1wfi™˜§fZkäiÆ ÖêIÓœå9a>z|M…mÝ(‡ƒ.ܘ¾gÎÃñ@ïí²æ=wçMè±UëÔê ]ŒÏnMiJ°šoÌל1ér£ q—šÅ`÷ú¢x¾”‰ØªXKÊr+ືNóA8ø×à2µ!rJXòaýõn>ê9•0¢ãj’pI*-„ä|0gKŠ(°)ÁÑ3cLjê¤d“à8çƒ'S É»Iõû™ŠúyN'®nnñÑ:[¹æÙÇÏyòâ)áÍÞü÷mã“gŸñ»?þbÓ%&ÆK*,Ï?ÁFf„É;ü…\ªhÏ®ts;¢Ú‚(’þ”f™Ök,tƒ(\ˆYdC çìž=#‡àH½ƒö®K†EsØY §À›ûI3æ9s8F®jæîýÄéî%Ç©P{"¦##™`ҡȇڴÁxóæŽÿõoÿ¿÷“Oyþü9V&Bɤ¿þ›û³n ^ÕbôÛ”~pš–?”…¦xŽæÊ8Kð‚FñUúØÕ·2©G§nûÍ8y1tm•T¤Œ¾kO"Çev†°9j­tfag ¥Vqº~xx{W3x­» £ç¬f:¹,2Ð^ßpxô1ëW¿äáîkˆS™æ°Hzü”>=!¦‰‘"©H9Ò‹AŠ˜9C1—BïÁÍ’¨© >ØÇ&Åϩ֭K>6—ùU¡p.Õ jDÄDH#Ó9–ÄÍ1ñɳ'$뤱qZ7Þ<ìl]U0ïOj®?­ÿÄ`ôØ©ur¯]¡„Å+FÐC:R¡¤‰ÛÇϸ¾¹eÛ7)I‡Ï{ö‚/žqs}dž'&šÊ¢CÓºg'¶Ë <¬Ó«SŸ[¥í] Ó±k¸ê:d§’¹½½áéÓ#77G^|ò”ǯ¸¾)<½9Ì‘yBÿ?cT1Fš¯WZk‚Ñt­yÎ êÁ‚¯qÆ™ƒ'«ÄaÊÓÙ ¤›f.ú딋¸ZDR™°8A¾&”+Fž œ½TòSÅ”]H^€î>­åá±Á¥åôŒB‚œm” 1gö†x9“ºÏ!H&ÊÄàœÎ’ ¤Hs¶ÓèƒmmhënÄ”)‹|W©dFÌÕ“ü5}t¥y“ýÛp%¥oªªÖ¤0bÍÕ2);Ãá¿çu·/æc ZéÏž#©ÉUÓ®!ÈWzfv9x“K“É“yV˜{Óº1ëòu9Ø|E2Ũ_Ó“YjüBwé·ä’žcHißÐÄ :mž¼ë^Xì¿VL’èìn¾ötƒ÷lžÿЭW½»ºÔ±­:À4híW÷“`Ëý&~g7ò#ÿ "´¶R·÷`ÆnÆé´ƒMRU,b¡PM*ÑÙÏ…§±É×/ÿWïÒlY’\ç-÷ˆØûœ{3³ž]Õ€ Q ‘2 J™É$”|”‘Fj¤‘þ‰¦úúe2“Q3 f³]Õ¨ÊÌ{ÎŽw×`yìs‹ º««2ož³w„?ÖúVWxkªb’ˆ’!Ó$Jna8M1n“ÓÊ~Åß~û-Êõ- ‚ýér:Rù§Ù#a›+œ…'£´Ôjêi'ÏEçŸó~¿±YC'ápIN—¢Fr~SMwj¤®‹M2/Þ`3œk^ƒÛUãŸ+â3%é <ÿ™XzÙìk9ݧ½“€¾tX &Cë+„ f“SŠ¢Õ Àù‚xÀ]Wd"·!¶“³qÏóRRVÏÈ E2 Šét6òg©ÜZyš*ÄÑ¿ÿ¤]Ñ®üöWÿ/úïßã'ïà7ÿöÿÀÏÿÞ}úÜ.}üþ;<ñSÛRûå™… ø®gzÑôÖH­¯û„€kY†›؉ÂI”¦ƒ³H ˆbos&óñ·ós(%õY‰Ž‘BŒÉ¢¸—BÇ(Œ‘¢³Á-ðÔ6|þÅìÛŽßÿþ½£.“Éœ”:ˆ’ÊŽß}ûþòßý5>~ø€}» üé?ÿßÔJGWR‰ùWU˜Ol­¤8îÑ}­C®¦¹ÏÙ“(¾e—¼ò˜4ç#ùjˆÒýA &+OÑ0÷œó80—àm¨ÊuH)—¢8¦A‚ǶWÌÌ©j´qZ\Rm» M¯h»ÃMÐ8ܱ=?ãûßü%.p¹^P÷н=¡‹ ŽN;òÓíйâè$1 ¨RìLooAÒjû¸£ù7ìêéÌAQl[ƒÿL«s²1ðÔ*¹e‡ƒ6{ÁœwRÅÐä@ø Û|ýù?ûÉ|ö´ã2;ÞÀðÀ1(8çî]që,*<ow„ >ŒÀ}ÇPÜîä݇“Ë4š(Þ>?㫟üïÞ~‰¯>yÆÏ¿øŸ\v¼»\О›*ª¶P´Ù9ÍN`¡ˆÁm@ÄKž9.Äò7ov\¯Ÿñ_}ý)¾úégx÷éŽç·Ÿ¼yÆe¯(b™"̱Êð^Ï®¤ÔŠ>W0ˆÉ±8Ò q^ÎI#·\˨´¶q ]+9JP´ëÝ[áúÃkj– Êv• åòÌéjÛ e¢¥.ÃN×:p›rê£!(Bâ½5XÔHRæ Š6²€¶ц¶½ãšZÂK#7«m\͇£î;§Ö¤Vj‘æ`±3è ¬ÕŽ žžŸ1¦!æ`ø·9Éßž%¹V6tˆA’‰s*Ø64 Èì\çø„'»I$³Ú‚¢{‰¬‘ºÈzÍÁÃRqŠ—û‰$'†­]Ω´;¡’>ýtÐtg´VÌ™!ó[š#pÒïD”+A(PÂO!ýyŠ®[Û`®À¤å^µ0ÈÜ‚9©J¬Œj…@ɶtªÇL’`乺À¯žÀmž…œz¶tO3HHaІ[G)9Ž\UK JÞ ¢ÓpÜ÷[À¥à~%£¥p…»¯¥Èzá!E”’Ï‹cߨzÁŒ ­|ÆbFwzºwSC[ .—ÏðÛï~‡7Oøeæt!s;1¸4 1Ÿ”S¡ËþŒiGÞ;’pP@”φ"[oÈDùÌždÔŒmót‚’Mfî',„\,` |R'eÙ¬y|0ótÎ<3✞‰Ô\Ú™«Y¼œ Nùgò4…HJ±7§ÐH“†¥–KEà©30ø™aßR Wô"d^dè“…Ï:¡¤šƒ E^©’ï÷‘ëq-,n÷¥‘w†V÷ð|¹`û%æ ûë_ᓟÿª}Ÿýýÿ3‰b{ó â»_cÿü ´zÁH8vÑ–ñ?ƒÓº,΂ 'w0jó]³,¾l!XÀ»1`lê\9e¯™õ±Öýë¼8a·…ÙŽËàî6M癊’Aé>:J£ëó³O?Á/~ñ5 †ùrcñXCž±PNÄÅÓsÁgŸ¿ÁÓÓ—’‘'î ¹¨ça•ÝÿȰqŒ>Ñ# d§˜ÎI@¤c¯¡B7‚\Ì[sp}Öö]z©œ¤´d»hz…nW ^ %r…*Ñ -í¡çq1`1(²\ϸ|M‚#î¢â°Ù)N vV(ræÃÕmƒŠÈKʹ:Bwj“Ò¡ÆÉI­OD› ŽÉ§;|9’gÁ'µB¶ G"ܨH]„Ö‘´˜û 3„@Û,@JÊfÒ«-a¤ÀósôÀ>âKb\V¯ò»!R!åR(– ù¦NP—ƒ"k…™z=Î|Ò,üL˜ÜÜçìiÓWºÉW3¢E„¼¾5ý++ÞÇGœžôÎÏÓcPÌêqN¢¸&-(§ØØÓåg4PÊ–xÝxž€ˆ‚(’iæ†èukÄ,¤eÎ;Šî.IõW­ðyƒÀp;&î­f„3† nŒùpðyÉñinW$Ü”îOá½ÐX-@wáu£ûX‚€E›ÈŠk¯>ðôæ™bê™–©iáJ²‘¨%â÷æ6(ìΩÞýä‘=\•’Sª˜BÒ(¥Ü’„çÖæù…M5NÂPqˆ9ÿÌ6Vh"`з²8Ѹ¢RèŒv;ØÐÍðtg#_*ÛhšØp‹(B9µ”5ùu;‹}n…-';<û<ÍZÖTÉ HdQ/’Rœ†..SS$2åÁP,ç$xñËT30º(ftÈg~h¢UÌÙqÝޢˆßþÕÿÿü¿ü‡Àà;³?Ž¢ ‚@o[± IDATÛrïÀõ ߉ Ä×Ó_Ò(¿Û¥½rãP„ÚEž}'¦'Fq;ÁçcvšF Ïï5ýöxˆßceNÆÊɼ Ÿ¤& ¤ÓÚéܬ‘,-)Š­\IñPÛŽÏ>ûøË_âÚ·ã·J­lº‡'³»øì[À0QÙ!ÍM6)\ï…£iÅmv~!E©PVº}„¤e’xk5GûdÃŒ|x  øÛ u!jA4bb*¦œ\ÕŠqL˜êt:?„âÍ(kïÌÑp)•útjP,¹F•aÙ *ÿ|—}?ãxÂÉx*¥¥bÌ¥\±}ñ˜ý"¦»£Ü?—/`~ Æ†ãý÷\/ˆbkψâ'ÜêŒtÇ%avfÄ…åÄQhµbóà5Y[Y‡hà*A‘lžœcc1d~”#+-()„u|ù¤øìÒà_ ¦x9v|üè8<ðþå`.¸vÁ„ãˆ;žàØk`o@“€` ] 1;š8L µ ª \.¤ê”œ¬Â .)Š"”ñoh±Z(˜~~‚Ù  :C`âÒDSLxr”s&•DƒLD×ìn¥p­æ™W8&§!Ì`KO0 @› &°oWtØÊÈ“d—GNä_ ìU©ÿ ÐÂË©WNyÓá%>)€ÏçžS2È|NF°X?ŸA†uLhì²#zG÷NPCµd!¹Ê Æñ”¦ðIØl‘d–Å€ÔÀð,3H˃…“ͤԇ–pNH!Ñß&ìèˆZ®xÚ®@L’ÍSx…:ðï&l°#¯IàWewWjNäx!Ž1¸Ê³À½ßp¹P:k þÙÆ˜$£'#ç̯ :ïÜ'`¼@Í^P• OAÝ/èÙ…–äÙ¬‚ò8´Â‹ºn;ÌYOß¡ÎôŸPÐ`ÒOmSdv%§Ÿ*Ý.°ÎŽÛQbÒ ×gÏÎ9EØ“™v\Oƒ¬Ó!º¶8ã Q T6[Éú±Á¤€°¼,‚fQ¡´cáuè¤ ôÁiËtEÝ*î]²a@áÅqÌ\Õ¬¡€Ú*/8î6Ѥ¦ýaÄk$$.\"È Tˆ ÒpPë¾VC«;¹ËÃeN(u0ê§HžÙecîañ["ÐÆs„kÅr®Çg)'AlPç¬Ôm5¦ uwOãCâ‹#õ‘µ4²šj£¾N¹‘iíÂçhοêéN[ndÃ.xà†j­ŒgKÓ“düÔB™™Ù'Òe ù<»Ê¹A^L9)¬¢ªf ˜RKɉ›6SãÊé«È–whÍB ¹†[¸¾Ïsæ”6&öíŠãå#Eî61ÊKòóçè·¼}zFyúOŸwÜ?~‡g¯ðJM­€k³*ÇdüŒràÙ,¬  Á‚ú>ó·Ä•ø+–á’Äë9$нß^ðÉ› >~ü.Y]ƒÓ@÷1è"š&<bòà;:iò>^­¦ãËäj¨¥¡m 6•bÙnûb\­84`„ãr}¦9B ÊÂÑHžJšðPJœ<_æåFËî7€°#õ‘NÏ€"`ã†>^PÊž–k’›‹LWˆl(—šÚ"ÊÆTã<8J$ÏÊr=Ü ¼Õ,ÞÙq!µTˆ'úéB…Œ åDX$)äƒ`ÏÕôv¹àm»0Ït*AM^PSkãˆ1û³m *ÌþÜ÷+Ý™é$nµaæw-êhE1çº=azÏC±’a£–yƒÀœÇ£!ŠÔTH9së¶´¾#fÌiy\~–šŠÃnæ­ÌýÓìBa̪CäsÀ‹¹w°ôW‡áƒ9sén374ÔUVʵ'WTKGUkÅpܹÒTþ{ÃU7N |˜,²[Áq¸n,<»—Zpûøµ]H"S…{G¨¢Ó ·c@ {t¸!YMÈâyÉΓŠÍ)PÅì¢\=¹Z}ƒ¨ `S胑D:Øä!§.˜"˜ã†·oÞñ2œêi!uñ›hâﻊ‹1ÜmA¨ÀfEt@ö¯wæìy¦Ê+Í\ž­‹«—…Ø*púqc¼ÐÖȦ2þï6¹a‘œH ¨ÍѺ§ Ͳe­Yin0Tå”Òð³p³Q«ÉgcC@ãBWÊcZ¦;@ùÎò×”8ÌÈ„lq£¥&Â,Æ9©¡TaBƒbC€ˆ£•œˆÔ,Ný`Q« ©%Ó7¨àýáãx~þU+;lÐ÷áûïñÙç_ îüæo‡¯ñËŒ5›ÙÜN|úösÌ((':DRsU² k­å÷ì9Áâ»[ ]~¡Äº`µ¹¹ŸÈ`S[U`n(­`Ž”.e ü¹vUB„eæyšFŠ5嘯9­sÄæ ,ùî*W¨ jé°á€¾Å¾_ñø„Ÿ}ý üöo¾Åoó+¼¼¼à¸énTê»ÿñŸÿ«o™±$‡O¸hÒÖ#CW©!*ùÒüx¤¦.Ô:È#¿LØÊ…—¿| BÆ™WÌ“¥C‘³V‚yHÎÑúLk}ò.–N¡®„ÌçI¤®­Èì. ´­qöŠÍUËv¡ùí10ÓÑ¥ ~þ \ø=þöö—bÜΨÅÀÖ6®–.šcp®S¨ËÍ©A*ÍzZ5¹rç / |üxÇv}Æý˜ŒC/½%°míB'èæ¨RÙ ÅŒ¦Ø0T¤¿Àòáa\Ï•–\ËÝ=u,pGq฿GGÓ‰ ®»¢áÀ¦ö:°iÁ¦„±¢îhvîâרâBñ½q¯­îÐaØ!®Ùéñ0cb+d[qmÄÃbÜý6O¡÷ ÆÄËÑ1úÈ1¶fh.ÅßMH|žaØ®l®)O§X-±· ©ä¥ÀD°·+Vu©E™Èîmca3óy`‘+ K—\~¯9~Xc{ÍëGtÚó«`M™ÇFÊ69eóN1ª·E‚Zj¹\„ü±K¡VRa¸À¢Aõ9®Ñ;qB÷ã`·. %EäKÌ eñaÎ)MÃ̬3kÍLôq@¦Á†RxÂv ƒìÉÊBß3ŒíX§££6êJ]î>êèŒc¬WbzÂ%]AfD32˜ÛË£Ár2ЦåPD€a¨…ŽÚ¢Š1{ž'‘1$“úG™7Á%œß³OÌpm¯~7`Ä23h=¸ga6<ò(È0`œ;§àÇpÇmtÂWC0|"„zQNØñûçf`ÛJ^R$ÜO®ëÆUݸÁÕà˜œfš±Q ­“SdD itV­ä ¥6S”ü2ã¢Ê0ûÊÕ@[ y ióÎ0ôBÍà‡÷/¸n¤] ÀóXÏÿ‘NR`½þ{ÉLJ…B¼¢tø•-8õ5¯µ6‹Y§ íßÅðž&ÌPl—=5v4¬p}œi%Âæ‡+$Ë3>Ò¼Ôs‹’îÙ`P\4V„$]…{#/鬲8”,’ÄK6tèÏ;e¦¦7‹"ž 8‹‘Ò›%åÚ¯”¼ç´äçÍtÕdëm…€`¬Ï¾½âø>€¤æ– ;‡Õ+žJŠà·+ª9l¾‡ïñöë_¾ÿÞþâ?ã:yV€&wlõxÙyÔ*Nú}KnÝúžk-™-É­Ò,øqNªŠœ³Þ“Ë·\—‘!Ì}öt‡–Ççœò24Ûâ±Þât¦ýÀÖ6:JÉìâI-˜ °Ýv@&L (`*LÝñæÝ[üô럲Ü;ݼÆUgù'þ¯¿±¨6èŒÈ½;l¢H`¤åfi½eg¸e˜…£xäƒ86Ô`ìÑ;›p¯ÞA¦A¤@ç:Èl¢Öµ!/Y˜É £`Ösš²>/ TŽAG0´¾{†M‹ç¥¨y!î­ òÕÏa~¿û5ö§7tèÌ##Y,ÇÀ7k%Èгڕ„ JÂQK- ?Æ¢þæ˜6u#ÖïŒ`(¼TE9š/pëÄLŽê¥ìˆ¨ù§m¢´\SÕdT(VÝ0&EÞ´¡&è)CR¿9`ƒ`žM½vqŒé˜®É:ðY€ðÅŸ'äpÿéc€˜·µ0†AÔ0†7GØ„ ÇýûeKq¡Å|o§#µ(uJÇ^ Š .Uñt}ƒ9²_QÛ•Ó@B+#JeSŸ8ÉÀZ AiOÉk«¼Ô„¿W4{j<œÍr Á`Öóc·:ÍP÷àevD®Žª™Æ>½smçlXT0¯aœæ¤DR„Œaò9Ñ’Å)Ýà&8Æ€ÅdØvФ®ç$À:Eº¢ÀZKNcSŒ›ÿ_Ý ãÜŠB`G‡‘𑇸»þèÈ=×àn,àr¼si—œÅU%§N$%üõ1i q´T 'äËÅŒsb("é¶ŠS¨ÅWÀIõNW¦M®ùÌ™ÇU5 om“,vSóƒáP34DNžæ¢P“§ ÆuH8Êçd*ìŽZ(æ_èÒ—¸+Ž1ÎXÁ« ÷ÓU 4”bíqð{ jD²eÌŽ¤Žîv7 *4³ Ž)è^`^ah*°ÁôŠR·tÖ•t»I²ÀÈ£;ްY—¼ÚÓºZP°P†:§Ò eögtl©¸Ý”mÃè×ýšø OœGKã YT”}<8Q’Ú¥K+ èFQ«ÑaåYžk÷Å­KiмÒ?ÑùJá~8ݶ&U"AB8éÎi› áž~¦PªB42¾(·)Êi¿(Î"VRµ@=²¦¤¢§‹.²x XL¢/b‰áô)Nœ¦ ªK2Ï‚úDó™.åz²ÉûŠóg[«A6ýüßKÞçPI]$Ýè¥ôqGÓÀ1ïx÷îk|øõ_àéŒøxÃþ)õW&Š*ð k Q”çAhj¢R>«ióÁs'–þ‹[ ‹üÜežŒª’Qi’¼Ç^¸þTfYNDf”Uh¦¬9š«ü®•ÂMR?Ï#B„MïI“ ]¿¡d\"S"Ò”—̰O>ù_~ñ%¶­bÜ?B¢£ü³ÿáü&5³O戭#bã…_ZÊÒ 3Œ®–3FgÙ#õŒ-  \P<Ηh#ÙqqR|‘¼£¼µEÉ›JŽÚÖÒŽ®'/‰ùx“ã[å(¸ªÐ–?fZŒ' (°ó1à*\§°×–1*y™õs†|ú5¤þê/þ ê¦@Û (&˜nÓ#'ÎÂ=P·F`¢R×"*è}œ¹¹£g!n€hk…DzÞJÌãÞ9öUvU¢ ­\Oø\ $\±"¤J-„;H€vQsRÔ7͹þk¢4â p+@T||te:W”E*f8à8¿Ãe;§9qÜÑ­#lÀzçX7-ùámÇ Wʇ¼ )¹"J:¿Ó¡P¸‚—‘Ô ® µ(êöÄC¼lŒÚ('–ýzÒÒU+jÛQ[Ãe Ax9¡z+n‡ŒI ørhZj{ }|D„cLÆÒÌìÎÃhŤËD‘b÷P®žbÒÊkƒ¢öÑâÜÕŠ•dT!3C õ†©m)e‡ÊoS]0g²ÂúH$ F®ÅˆiÓPÓ±käÁÕ‚´soZhÃ6¾/ÇäT®µ‚~çá С#+?ÍÈ1Bc‰4$Îñ Â.éüYîÀÔä_RN2…ˆpUÆe”,×û|„}G6nµ¤k <#hé–Œ:à>á>8iŸvf– õÖ9­EØ ûÙ¸Ò ;0çÏ·Mfè…`8 æb#A“ERˆƒjà¸ß8Á*šè"CD%?¯4!¤Ã3Ãn ^ìáâ 8 s3” øä9ë³CY™ý¸%—jChÁx¹ÖêŽã0¸·M-`Zò=“-NÌ(Ö7Ùmr 'p waÎ(Éí¥@jáÊ[x/ì×gÜ>¾àº5Ôý‚¶íHïBÆ%%“IXŒü8½£œ‘@Ì•¯gNe- Ô¢5¥ÃVgqUj͵n95Pn,TV|D0‡å´–Ú°õá4 ­âcÛ+g Ì*ŒóDºD5,휠štwËŸ‘yœ*)X„q9™a‘6»Ÿ\*AaS­ÄƸ$]¸ 4|æ.®N#£¡HñŸççW3L;Uð\ÍJRßs£Cµî rlÂÉqÛ7ŸB/ï°ãŽoû+|þõÏ ¾1gÓæ³ßqÙ®˜FzØb®Š¹'¯‰ÙÃú@³pú¥çZq r t…¯÷8sïTK¦ÚH€ùónÐF†– CÛ·oñùç_@kCùÇÿì_~Cš¿Ò MÜï7>¨ÉÅqggÈèé©XƒU F²TVGRÌÏΤä¡ë¯Â‰±d]$ðo«Â¸i'XÎEÃq ¼¼¼ ÷ŽËÓúý…‡P­É²É)U¢"ª´L˶Ig?Ã9‚‡æß2Ôˆí8UŸÿŸ|öGø«ÿï/QnƒãŽsR»1:_Úl’δ²¡Û£+çåB›ì‘ílÀ½èâ—¸§f& ¼`zz)óº/¦ǽže(ù>æY‘C!JÄEÑHÖ‡ÖÆ‰Ÿò°àžénrf‘ÆÔ•ÔËQR›¡ä2Eá”É]€œì5ú=Çñ9¦æÐ†ÅÒ¶?A„bÎÒ6⤵b»\™?V "9R[»Ò¹£;§JàôF¥0ÂEÁÈ„â6’ã3Ñ\TÙµ¦ eq°B<õ†“‘$6¡âèã…‰Å{£e:K$+«S‹W ˜ÇqºéŽºBÅÓé£`Â’?[„cçņ’Vr-\“ŽÍI ¦=[2—s9$à ÷‘ZŽã צ÷Û«ñváÁ<6‰œx¦ÐW…ÉH¢¼ ”@%4Ñ$`ç…–Ðs0OTR¨;çäa Ê $S;§#+Ò‰–çÉ:È$×hüœ'›9¡Z¢d1%¹>¤±ÐÒ‘Išs^ß¹V£{¾&Œ“?_Œ¨³ó?¹[,Ì8u¼l Þ;ÁuËBHÎè 5.Ôàæ8ÒE—‹Ê)Vf’–ú*_Õ`sb: E²Ùº#ð6çc›dbAhØÙJ¡3Rr $á÷É ç°1x¶Hš| ¦Ó+¹n¶$`#12"—Ô.¦þ'Ú‘1,ä—9ÈÈCA­W„4˜0çôýïñöù}N´mûQQq®gç˱&™ë‚YÜ´òÀ8?ïZ¹ºœé_Ïñq»¥{0u^¥ ¾Â‘¼^#2Sù¬hšcÖŠ10³RK•ÔëÑ­óÁ­£’’€ZjêÀ»íqŸ. ½dñF×d9ïžé(ù²`Õ©'!S3þזDjj¥Y/ëáYld‚Ê˜Ë 0 ’L<ÂÜ×ÊÄù¨V,*¸Î‚évà¸ßðÔߣ¢½ü ¼\ ÏŸboWX0Þ3Hœ ÒR ™ªéPä4^r[#Œ4ZÏ VQMØšR†²YZìKUÍppÆÀ‰4æõÖ’nbdj \þ{Ì•mµ@J ¬q«q×~¾§ëóåg™+ZÈžÛ’ä…ïX[¼Ò*žžß üÙ?ùßô™#ZóÑ-û2ΊÒÌé(‘qÏ|׈c°;Ct‘£ð@0˜7»ó9zpUàÊî°:£mæ$”ÒF‚ÞÜ1¹‘®9I¨÷õcNì/Ù—Û‡1ó¡d w-Ì–Ù"­6FÌL†psb«a®‹·Qз Ÿÿ§ÿ†·xÿ»ß ¿ÿ3’ÙN[Â1§£Ï `ça¨ÆX€ÉqÎÌ´–ª§ã¿¢ÄUHÐþêIÞ Ë®¬Ÿ‡ÓÁq ñø™—ºÑHH«Ä «¡(ÚPT±µ/ µn¨Úr]sE­Ô²%'GÐö wëºa€]Li;¤^‹…Ö†º]¡By²Ã´ þUQÈ·¸” !Ì”$Ô3*åxv–qüg‘D)û剤æ|ЩEÈéi$È4€V+×aj˜™†n³a0Žþ1WPŽ1:Jfªðó™3Œ>P×”) a Šò×Ê|'^Ön4Qd‹sþš‘ë.ˆŸ“V  íψRòûzBÔU~ä¤6¡˜6 §…O„93âB0ûã¸á8޼(sŽqçT¥O÷;T–m*¸÷A}š;l°˜ Å¥sÉåpŒ£Óe–‘†¢ö£CU^‘ø«RsWÓݦmã:l¸:Ž[?5‰ÇÑAõOÅ} 0"Çò GÆšŒ1p¿Ý¨ r®°‘àóÞ±Õ+a8º hØìPT¸¥=3× 3'<íJ~gÈ)´Û„ ñæ¯4eiàðèÉ`¢'TSXÛT1Ìr…Á((E›É‰œsÊÎLDCk’ÓR“ª,Ùš3Ï0MV§Šõz… ßgÁÇÜǤۊSQr²Â3²%ŒpÆÁ‚²QÄ]ÚÏK™8 AØ$†ÆÅ3о*ÂXü(6ž]ü¥Ðö+>¼¿¡U@âzFYõÞÑÔá?C•'@Tó5y`Vϳ‰, ²ƒHóŒ¼É;†¬²–ÈŽ”QHa¿–¤†çêÖ'Z½f¬‘ä¶…<¦%†Ž˜·ÝÒ r2YsJ” •Èø+}hÃ×Ù huOÞSK]Ž%C›ù÷ùs-Íâ8§&,ØfNZj6â8éç4HK½˜T”RQ¨)ª,ÞWa%ˉW3œ[r¢‡S +pĤR±?_Q[…•·˜¿ù <ÿô¡Ó°ú5ÌÏ£8ŽØ,WH \êÉ`3á0ÆWH:U) áC¨³…Q—¹>•W±V¯œ—2³tYó‚ëÙ­i~G$4eC ¹zŽLd 8îiþÀ9ÒÜ>”ZáEi`ZŸQjÄ"Ó[L2¸©‰˜)ÿíŸþù7­4LãN¶÷Ž9â‘W€§XZ’1Q`}rœãǘ+†1*C$ИQ¶Šñá;l(PìèÁÂKT0w¾¬²Y¤‘Í“!Än˜“]BÙ*ÆèèÃ0fë–a#ã>ž)ãžûÔ>:; ÌUÄ»~£iôÉδô~Cûò+¼ûê?Ai ?üþ[Øí´­à»ï¿Ã^I–ùÁ ¾ÆœŸ“­ŸB ˜ì~ œt(ÿ“Œ—þL¥æ:…"Æ‘–ÓZ6H=†Žéd)Ù<òÝQŒ N/-iÞ•ë!ì¥U‚5ä´Ž‹3¸¤¥*5Q…ì,¾J Ïk†•2¢&À•V)ÀŒì<¢eÀN fGi;ÇDZÄÿÚö[+^wluGÀ0ç ZÇÇÔRÈÜ’m >×BE`s¤•÷ÀwÈœD<Ä]“ ƒ,¶p`vÄà÷¥…x÷¸ ĨhqÈœ91!_M°V€.Ò7TJÂó»YäqÏU–ç±E=E©åÌ»ƒU`²¨pt-‰Ç½˜³ç”™O•FÀæLu;3 á¨Y¼F ìÛ–{º`¦£ð"gnš¡Û=GâÊõTPÀ΋ŸßœóŒ2ê§ã ä1Ä΢R&‹Óaƒ®ªŒOa¡”Âø%bÌz SëÝ1ÆA’}÷FÊÚ¶¢-øó‘yg,dÅyñ8ÁžºrL•“ACdä§M…`B!¡Êgß#§lHgÜ@UCŒ©Ýs®­ Ù˜N×ÕårAÝßPce c¶Èøè A ÏŒÊØ¦´³¯„’’khEÅñò’¡Ç¤á[º#»ˆÙµpHá:–œÀ°‰m§&ª¶†½]ðñ÷ߢ\w Þ`»lp8P Z»pR¶mTdvñ9½âª0'XʬÀRy¡iíž$nQ´%^^z(g€/õ¼k}´âXªñ€j¦f*|Ò,ÚÙ9Èêò䊭T9žÄsÏu[)ÌÍÐay‘KÓËLÅ©àËéUƒ(ÝÍ'«©6pu«Z¨)ÞÆI|µ2÷Ž*§Ås°X*œð±xÔ-ñ›¡§à~M_Â6ÇF=&¹yûN,…Ô’Ž,ÇdšÈýýïpýÉ/Q4 ¥iC jßJã.!±E…©JÄG“–©,B<(R2=œëi€°õœ¤ŸÉ)”3­†ˆ[4Ë ñÈÕmâ{2¡Éý’t*› :(“‰&’€å Ù`¯Y€®k«lglŸC2^.ñ0f¨+l<ãýª(Ê?ü³þM$ávEY”’Öc3®–²K4Ÿ¯éÀ1òMŠžÐ7æ)EcE1m  Ç›ÔS £°Wµb Iê¬'JM›¹ç4 €©Â0còëa IDAT³ ”'¼ñè ÝÉ‹4ΕH* 8…+Ô?Íœ~­¿ZvN™œ€1'úÑ1SÃB ^P¢ÀjEýôK|ú³¿ ­ ßûðòÃ{ô~C ƒF f‡Î Ób“/Ã" ‹Ø uPû%R QÑtãø×Ý"ó‘qT.ãE8A³q>X\˜Áì€ÌÙIQ®„#lP¨ &½[¿ÃÄ:¬ß0|Ï5ŽÔ °Â×ÊNú¸ß²»âÅ/Rªe¤Èzðp T˜ž>ȸyd‚ùiGçºAáý€÷ •‰°Á+5^R‹2xy¦>EÀiB·jõ ‡u%}äú.6zN°œëL§ IH®AmK˜ñbÍ©"ŸíåÃiãŠ7¡‹u>:äXk©¤ó„œ!¾*Ø…· †k˜éy€¬Ã3œ UêÃg¤fÁO"ôúu= h€s6£ÖsJ]dødÏknŽ~ÜXÔtþÙm°hs‚µÒÄìöå„juM™7œ…ÖGFŸ6æizÇ=Wå©YÈ|6R´ u¬…Ñã¥óòáA»´Z¯\b¤Ñ;§†Bn™ªÂ„Š3§ a“hÝ“´i(i©¹¡Þâxy­ído‰Ò”©‘4³HÀbPiÈ HGI¨!Ÿå1;bEºd옖:ý‘XÑ-EÔ¯:áÙ9 1§ž4lÂæÀ^O[Å~½â6}(¦ ºq·ÀtSt’ñÏ<ÌaÁ$ƒÖ6Nl­êˆò(©Ãk“æ*NDYШ2„9a¼¥’Ï´¾§¥MröË·ãª@+Whð=¡Lƒ©‰w`Øü‘çöãòO›À >3§Žk/ ÂPc -òßX†·G–¤Òý‡,~8Õxp–~NDDWS¿.äšO½8![+-xfLJF\SºÇ+ÌH~v²&9¹êSF蜙„¯hë‘T rÚjgìËÒ"%*öðÒ¼°ßlðÌ:z¿å*ÔI‘φ8wÃ,̶mé–´”°ˆµ˜0;ˆfšõþ=êç¿à¤­û©Ýêsò³J¹Y™pbVjrª8ù…ñ<£¬ÄSkê-ØZM7]Ážß©;1OHmèÚh™s"æÈ‰g†ißzšÄæaó–®GB2>³;¶§+58f§>ÅfÆà×K'€üþ~Àð~`ôýå#‹"¼Ä8»aöºÍb¢ß^ 62‰}s2xÔ¸Úœ½³pK1nÄä¯7Iû÷1S\hLxÙN&›3kRÜ1Ž>ðF§Ý>2Õuܨ»1@$àF"q1Nûñ>;æíêbôöÎìL'©1`cp}“”|´0;FgqƆ¢›s ’:=—qNHÍ&Ze&•$=<š$OûÌgœï]`ȸŒìÀjc`ùÑÓŧk‰f®˜‰“¯csÐ|0òÐM½“Šâ8æ°Ô;Ú $AÊü1Däw9{ ½é¶ÅB:€“*KA·žîICSl[‚oÅãÔ< 3LØDÓXÀ<Ï¥/[=üÃ[®\ç4®t’šy˜-Ë|Ã¥„Èi.!w.õ†¹. w´ë'8¾û5ÚÛÏÉÏT…y®G!ض='f}WÒF!~Ö…ð;>WëëÃ*V¨E[ÍY­ }Î\ñ–éI%õ‹ÌóÍšE†¹uæj›ú&*ü½ë‘/"µä)͉b>î°>R'³ti6ŠÆ/¹˜OŒãŽf‰ÂÀ66ùs÷ˆWP*LÁŒ þïºþ~Ž”#–å—¬†æâÝÎ5Ðë?gX )|/êlJ9éîšz‡¥$3À,_T^:U¸¶žs`Î1¨œ6™Š0:îwRÓ݃®Ñ¼0!Œò@å‹>'/Øu¸×41Xn÷W·sb¤ˆÓ2VfΑ+.êŒàHGc²Êæ‘á«I“Pb¾‡4\°ÈäÔLJ‘b­\ÿ9€{xNñ€†é–‘"¼PK}ˆÁ'÷s˜nW–~@ s w:’ÖH^0µàŦÔëDf2jÐY4ü`4J8´5ˆV”B¦·ÙŠ­a Œ™çtŽ!ïfŽMá*Ñ#˜yY¨KbÊ@ ”Ó°Œa™&ä\Í9øä*jM@C¸Rj¥"@žHA7àÁÑûÑQŠA,Ðg¢V&]ŽÈ•©ƒ:—É®ùŒF‰¶Ðtá’ihÙ¨¤VgìKIÒ˜F4†r"~êœlb»^ñû÷ñ$`ÞkðC32hRó Lø®”4BäåE¤‚§£wbŒ“BJ%H!v ºsã"ZfIÍ«V†¬ÛjVrº±‚¥%Eý«X³4A@ꀾ4O+ë´/ ¦ÒS+ïGt9AÄÌæ&Ÿ'€±4œO x%úHw­Gêµô,î(>g BSÏZ2Ògž|»’š½¦%c‡hÔ ²"φʢfÍ 4Ê„3VjÎNQ&3ÆöÍn,ª Ùd%Ÿ­Ø88±\gj†¯¤q °sΉãÒá¦K9‰+§;3ÐZMf³˜Ê CwGÊ."¹n%äÔ±ZðhYÓŒ1(sÉwo ³Ó´•Ò—¢B‡pn¾V¶áj$ã½Ü3öŒJ L\F ±VÔeÉÿò¿þoÿó˜Ö84µº˜ ¨\X+ÇæË#ý¦~Ž‘ ¾œE·3Ê rƒr†U®]p~(¼óƺŒ9Ç9ŠÞ¶íìlèô>î¸h•Š7Õðw¾h¸^ZÓ´î²|ˆVXŽŸ§1š£íýÞ1f U¢šÛ¶aÚÄÑ'Úõ …Ö(§N*pK±~|{ÿ¾ýõ¿ÅøËÿ-:žž6´mÃõz%aëzÁõù-öýmBÙ/ˆØÐjAmŠy»aöâþ‚[¿aÛ¯(â¶?ØHW9xp÷€÷àAÞ—M§À·(­bôÌ]Òít‚©ó"ðÞùšç‹ûp{¾ FŽ@ÔTë>p¹C¤yivÔd mt¢&Ö‚0Ñû!ô>°kÆä@ÎçIeÅV4@YS’ÀõV¸c¾únVÜL‘ƒ•öö4•W°cþmcÐv­5a»PÅèûV`+mÌ ÉÎØ!H“ ä‘Újm™›ê¨©±Pøà™v«ï@vÌŽÚÑÑ*šYŠs›ƒ•Nf]¦30 ÐZÉyÊU££¡›bÎ ËõpZÐ'‹f†Vóómû†‘íôÒ ”Ö0Ýp³‰­^ɱÒÀ°ƒ…§4ÔVr2šÁÜuãdkÎÌOÔtýrºí[/ Ü—wÏø‹ÿëßàg?ù ر.Ó™)˜ï€2Hþߦ /<ûµD. Y©ú#Ï:“+cä;÷hpNñ¸åZÈVÎsïÿº 6ç$ @ +¥ö0ÑD˜*RõYLgñ ñóÏv"Ø Àì–Q<é&.ä¸-™‘$;‹úNj½Z¾{ݽät»œm_dfo3‘#7v–Ûn Êýþé76ÒZ/¯F)Æ~ì=Æy¨­DÅ’ƒÉ%ôÔ ¡Ëu~þ`z°‚åÐ|˜ jÁ ßü/úe猌ìf~× 3®vüüÓ†¯?Ùð´UTí“>qan,¥¡$CäééMŠ6wìÏo±_ŸÐö Q7FÑÔ ÛeϨF܃ˆVlªPïxÚ¢êþ„Ë»Ÿâíׄ/ñwÐßÿ€ïß¿ÇÇĘœFmÛ"‚7Ÿ|Æà\›¸lW&è—=ó•:pïè·# ˜€•À¸ÝÖáóµ;æý=É»Î`ÌqAÜÀ7DçÉç6X¿ÁÇŸêŽÞ_lÎ̓ú˜1'§)ƒœ æt_E꺨/3N—lÂf§&ÇÙ¥Ûè0˜ýÀá6io0Èœ³s¤mýxAE’±«`áçËCMþ‘¨ :×ât°¹¯Ôìre&8Ȧ†iið‰ŊÇ™0“i&‡~#WëÒ']8~cmûµ‘Ÿ²Õ-'LÌ?ë>ÏÏ™z¿ÉÏ0î=èÀm¥¢hAÙ2Õ©S ã²Ö–á¸ûÆ5Ê¶íØ¶'¸‘mW´ž«'ÙÛ6ܳH¢gÈ®–Œ J'š'âÀÏ”ºzW}dØé ŽÙeݺ_²I¢³wÌ™zÈyZÑ—Îų(µNå1×>*<Ì»L^âszî wmŽ‘ FÎ0žÏlÉ_S²xÇÊiœƒ 礄ïV `Žs:%×á„«ÖR ¹sœnºOdç:xP;æ€ ×Šm+çÙ[Ê3ßá™J0 '«m¡3À˜99K@É¦ÑÆ´â˜iœ ”ÂÝ­>áÒv4\GÕ+\7“ù¾™yF¤-„Φ©¨B,Ý”±P!\îÀsUè¾ÃJ$¸„±tµË†Ñç IE­ç÷g¹®IúæÃX`cþˆCÕªž¡ß€ž(Œ×Z6}ÅM²i'LtMÜßÈ&›]àÚ|¾©ïã3Q«ä¬"\ÉÀŠH„C…dñä3΢NÃ)@q¾uk¹éaÝBWŸ¯ ÈÚSiÙ°£c™›''ââ³P¡ÖyM”K©`F$©çü¹8®JôO-týaÜÎ$„’KÍPnœytÔ.)OÁ˜ïq½~‚Ù_°ïo€˜¬ÂO­ÃÉ-cTCM}#§,^GF\!YwÛù>Ç ;â&ùÜ Ã2=f­_ëÙôžÊ¼¶¶CÑÒ}Épi~íö*U@ÐÇ ßcY“®äa­ý]Ì3ü{éÚÖ{(Ù”®G¸Ö‚ò'úçßH,ñ¢ž]ÿb AKîGyiÅ«‡xé­(¨“Ì×Ë E±4ë׋×;äì("fŽº=Gtqv¶4+7ëÕÂŒ¢6-Ÿî¿ø²b»*†‚@½À¥Bö+F¹(huƒ– ÂîOkf 1¶¢I!kI¨î‰ª”•T.Ùý1ØVËNWH¥;E/ŸâíW`â‡ßþ;ܧÃìÛŽ7—+´\p¹^QZ=éÀšR¨¢)ÈÇqÃíþ‚Ñ Oœ#Wìx0_>ÀÇýþ‚R£qNçV€`S ‹- &gq’ösÆrXÒ%Ö\;ÄŒ,¡I$‡ t–Ì<ÒE5ÓÙÅuÜêÌD";RYäÁüOv¾8øôqƒÙAÁ~v-kä~÷sí©§£ q!Vt’vžY–‚kÔ¦&hÈúg¸Æ9ÚdºÕ’è,ôå1¦'½Üò;Þ Jêy?);º º^^ø{Ù@?Ž4 ˆP§6$È[Ú´õ`–tñ¢â[,mþæwjÑ´a˜ckДˆŒÕ+ynQÖç&0Éf"ùJAÙ ÞûÚ~y¼ÃYðÕÊ"©)ÿº µcžk<?ã}ßøLÁ¸ñjBµ¦W’¢hë3…ÉË…H¨e9…à6-£‡|L¡úÙ;0&¬lI„ž€4ô1ˆ, à–±*4‡%ÚÁ&)ën˜°J8§) Wžéhœ'Êa9–{ŠBÉ8³¢Æè©Û3£,-þža³Óç9=F‡#W” ›ò0@ʆiTʹf)¥¢wƾ „NDKqdFPˆ*F¤5W+f¾ û"‹;þ9I=‡ Êø½b¡ø¤>ˆq")âÇZÅ5ÚÀÏ9 ¬aÃf®ã}LL³t4e@ºPT\2⡤@¼Ô‚©½\Ùí‚C7ôr…Õ³6ø¾ãŶ?C.ÏðmÇÝQŸ0tÃ},*FÙ%pyÞPö ¥\ÿªÞmG—,»ÎsεVü™¹wUuÉnžD@lÊIC¯|–aò[è%ìKûôV6`C€olX€)Ë" J¤Ä>«ö!ÿ?bæôŘ¹»û¢ªÑû™ÄZó0Æ7hÇã »4êaëjØê žï §A†’ùrÌÇ㿇j/òpªÂï“t~® = q°3·pÑþ.zøšIO!*ïQ¹¬óž€Åµ:¡§~° H·Ÿû¸€Àº´æZX¦X+]eFûgq/PÃô ‹s9C’GjÅ„ßûWÂPw’hÍ)ÒœCfb<€>P ™ç{î7¨>£{`†àqÌ,©éÇß ¾y¿ACàVàÖ õ‰<š() ÎÂ)šÿ=EÅ,Af|iO§@8åĆÄä{ýæ‡oõ:IØÖ6 4<¿ÿ-lÕðù»¿Á¾wžJA©p`Sƒ¶–N#°)¸f슣`aè«wÌugµœ–à1öûûã÷`P²0¯î¾ßáì£cŸûè8öƒö “dßïpðò)ÀM`©0m>]÷RŠá˜‰;H-“ê[§0×B&W·-É8;'eî3ÑéÈPA_ýÊ tg7&j8ó<#UUÉ^cÅθgQÇh ÒÕOÙt¦ÍN(–³îáÔÂÁ޶„¾‚¨9§Ë/2@úùŠóÅË µ+àm‚#8zÇ\¹’¡lª‘PK¥³T`{‡Ý ÂnüóÕÐC0WpÍÃ1'ñÁ5y3…¯ƒââÉ‚ÃÃ13kK*öc Ï‰Çp@ D^‰ ­ÚÒ€Áò&AHEd–¨X@KêÒør:ÍJ©ˆó’VÍ÷ƲWÉ´€„æú Ú[¨ÉXRÈŽJ—¤Z²¬„ñSMÉù‘+ƒ“1z2„&" tNÇœ—ËSÝY¼Š¢ïR[B1S_“•”.dzðE>JiãÁ"ÈjÆíÄ• âxŒGP«0mÔ©Ù áûœ©ópøÚ‰B a‹PÒ0ÇLÝdNp§c¬EYDêJi48)ë¼\K½ÁÍrêRrK@Ä9 F0×Îa€Ôœ6r gJíÙÒ¤‰_†³ù埡a8Ž;ÚKæIÆ÷mf SîÛ°–£„@—ÝÁ€k6i„ñ3”“&5I#C`M6?ëL)‡èR\(Âéšc!&Ïç1è”•à–…Îöä.IæÌÅ9=õS‘‚6c©¢¦N*ïQƒ,fÆ"‚šÔüÍ ¹ù˜3`µeaÄFídzpAJsz%ªþE¼x仪¹i Œþ`D•(ªDFêdèò,žÒE‹ NŸH†ÊüEQÔ¢,ðçi©SS­œ«b…BÖÄœÔí=± P®ZA>Y”+ÿ÷™#H±xœàë¢É;'itךÄÃ!ƒè Š×”JhFV™UÖ «C0QL N"?ÙVƒïð™Ž"¹^'“PÞƒˆÓ( ¨ôÌŽptj²È<ýš3#øÎn+î#7Rû/ÿñ?ý‡åJ@ÒlyB ØùY åHö”FÕ³{ŽàKI§‘&8%£X2C å ÁpFì*¢ qîŠqòproBÔ<.žŠ¨ÂûÂo¼¿ýõÝ„Z0ÇRŠ€Þù‚‚h„£³¨µ`aenYRÕr…”•¨ ãH3÷ñÇU¡f,¢ÃÔ)@ÍøjßÖú¡Û~ ïÇÌ×Þ!0ÔRQë Ìžªm㺱4n/ºãùé†.@[ŽbÏÏ/ЪD†£cMìAxà} <ÆÀ±<öûN|Âç}âóq V ÇÎuØ“‚_\aLŸ×Øt­…݃±B‹ÑBb5Ùcd¤„¼­ÕBâÉÊýš-‡)ôV¸ë¾¢NK÷ÙNžºçfX¨#*µë!ÀA˜%' Тy˜“«ÖS_âÙ•2RèÍ”±<®X IÝWzêìPÏ fe ðœ\.ÚµÓÔÓ2|­BV`Œ•…R–‡g\ËZØJE+7Äö‚CŸÐƒDî1ÏÉ$ÁõS IDATÅ:ÓÐ×éŽ#ˆCð,|‹’ÀG§‰ÁkŒ ¯±÷,§ÎÉÒ?Ñ÷ûgìÇÄý±£ï¯¯€qB‹ ¤ÍI5Òæ—ØŸûÖÚµ&„’NÍ…ÂZE3É—L¶™—ä:§âBP&< Ë/—•jIÊ}®ìæÌQ=ßïS}N¹O—§kÁXü³{&%ÌL8`®g†Õ»£h͉•+NY£FÈ™œ0úŽªÊ Þä͹u¥Mp+:HKN‚÷í íö¾ }xôŽážÈ Á|ç¹V <ŽÇ%Íðä&ùÉÔwP¾`’k ®j‚̸”¹&VÆѵ9ɾKÝcñ&ȵ«èÛ¹Lp¦^«´9©9“\Ǹ“Ï„dŒÕ-ѵ\€% ®¿ã¨ s1‘3ÃçͰð¶žëíÌ€Ò‘s]Ð_ ã¦È…4ðLжR¨Ë&ؤ$ŠšºH ï©‘‹“¾Î-Í‘âpKM þ~‹ÇÈâeðòþ¢€`8‘­CjÍY,^¹‹',3×qÀ›q‹ŽþŠŠ·,EÈ›X?îãxœò…k›`“L¾3rJÎ_÷Ư< xd¾â‰9%š_¯Ç€jCï?`+/ðÔtÁ?#€,¹sY0«–/ò&"5áÒœD©o£‰WRÉ!C6Þk昵œ…G—ÚÔŸ$ÈD¼åF†cz‡ÉÆIbU蕃œß—r¤‰§9ïíåÎue´ÎtÎÆ åS•QEN§` …«‰\‡]6êdhD½ä͉/ ÒUY‡ Ô}­<|ùÅOä”˸ª¹º?»½t…\‡æi¥f†/½æt]N¼´ßñ[?®ø½ßÚpÓsMPQo5³é€-û§O<0ÛÄÖÓËǃ"IÌŠbõÚ6ê–IÞ!f }LXÝ EqŒ ó7â¸GäèúÜWÔ-žÿøŸà§3ð‹ÿðç8w¯ŸQë › ü~DzB¼et”"N½ÔV*ðüØ<ÆD_‘™oˆ—ÕÊCš¾THt)õåoÂðEîW—ÓmÃݺ&ge%F¢hcaTJjœ[kB—ÅZÉ[Š“5Â-­Ó’ÙpàÑ{îË-_Z>KµÒlpßj( FÔ”/÷¨Fœ›Sû%µbfÇœ\[9]_ íê;¯äÅD Ng²Ø;´ò" ñ$5kÂÙ¥q:×3zNuœ ¨Å7qÒ¼,Èõ¼°àˆîxzáø|-Ãmû ^ßawàñ镟@šs¯f(­e¦&mצ\q”Û† Üž0|ð+Œb¡h~%Ù¹B7Á„ÇqéíVÑ`ÖZýc‡ûÂÓÓ†­VÔÒˆ®p¥)#í$ÃO²²N#‚ W†ª✔ú¸7sp Ô‚×>òÀ+ieW"VpR¦pãZëÔqeô pQ>ï§±(:âI“«d¨w-o癑Õ~]d‚ÔCúƒ«á¡»mtožÂV(¡¬ÁB‹E–[N$v©ðXxý´cøqYìûì)‘°Ôdq² àE4ÄQ¤aΔ ³óX><#Фdfe:S­0‡aꃞRu¿ úXt’Òe¸®„ŽpÒªaÀÒÈK#yŒÊ¸­9¨QäZ[0úNØêÉ” ß{N"Ž5RëUËqOlƒ‚SЪvÁcçœùL)ÒÆB“W† µäÔËÙÄ«p­!ðñf–M:k¡ntÎùz¦³ø„óîñœ‚h q~¯8¨È 1Ð]õúŒ-Éßdµ%{­ |æ=÷¶íât0ŸëZkþ,,CŽÌ æ3%Nn¿æz­Í®ß“.M‰’Y™M\Œ)3k5ª õËl¶œ™—¦“§˜ Ï_3Ãê¥2}B\뎨 yaFîÂLg[Iö~-˜™”®u63\žŽxI×±&!9D9æ­’7xÅÒ\0·XšnÜ ¨<Ï!;aÄé=ušµ6¬9Ù°„_ç³&~UÏ€gÏŸe>#¹Ž?ur-%3H ú9M% §£„;–L0˹R^W>aœ<¹pŠ£.ëkðJBŸÔŰzöìb@¨Þc¢Õb¬5ë`5mŠ9˜/HгC¬ñÒ‰ŠH›¶¨@­1<Ìc µ5ô1(tst1~¡0¸øÛ?þǘïðÝ/¿Ãºß1nŸqTkû­«ß¡­’³²?ý…Íâûã•;_pÉÐS=2kLq;êí¶Z èí=n·†ð‰‰…£ƒj F®ô}Çëë+ö>±æB÷=Çæ ­ MAú´; íqGQEÝ6Qè xãšk4$P³³‹®SIØâV¸ÖkÏO©_™ˆ…$Ró¥œ Þ4 >¢Ѓˆ€ÑgŠ8ù÷À»lj\+…3kL<ÕFò|É0ÝóâÍËW/ΑVEÇÊüÁtŸ‰X¾€œx 6åÊ´¼u~ER’™„A”Fê&»;ö‘|'1Kª<¦×Ï*ÔÃ8Ðc¢T>o¥ìŸ>P÷°ˆ9~$!VÜ1ïìÈÅÉê©AðüžæXY”(&&€‚ý1ñùóªÛ&hÀ^u.šç„A,N{,l¹‚wå b¢ mbTÚ²ØUÜŠ¡ˆ`„b–߆·‰%õ%ŒW9:9y+óM—P¤]ž—VÌZŒÅ@”kêmFMWˆáf…Z+ ¬ÃËõ[tE)͉{€…@ƒñ:‘!Ñê@øÀC€{ŸxtÇîcñ¼œ‰·8ƒx)•0ŒÕß ,?°iÉD C©Ï|·S<ìYÌ_ÎjEFzP;¥ÙM+H´[ò[2ŽHø'’CÓ%µaø¢¤Î†ˆI>8Ž$xû€UÀ„§ÇŽ××Oøƒ¿óûðÉÄ…B6}Q¿™+›¶†µˆè«ãpÏËX®¼ÉsÃŒ¯¡3d#¨ªØàéºFrÅk)7ô5.Àk P´@Ó-mÖ²¡Ë%é¡èÉ€»AëÂÉÿË9•q¥lZèèì=A• E§Y53øæµ¶ºL3¹öU3ÆÅvS-´õ§›Ï*·D' äV笎ãp$ss¸Ñ{§!5ÂÔ’MÏ /è£ó×úf¤8ã)†¿H¢ÀR,Ýñ¼}…5·ÌåWE7<ÙiXާZÓK’´uU&ŒE|‚ökJ]0”:¿¿ Ó‚¶‘±UìM›Éœ.˜cûVG3Æ*yæ_Ò,wFméÜ¥ ñ€EÅM+v]I¾žØÚDßþø·°}õ¾úækÄó·å±Ch‰>ó³›Âû8:ŠrìéãÀÚï8>ÿ€qÅÇ_þ öÏ‹GßqtBBUûPHL”££Õ“º»£–†^L›?oãa¾r '¡wûÚIdΈ Ë5ÝÉ¢ —Ù’ûq>3k%)|M˜ îˆ,èK^¬“‡.ü³†×}ç¥8i‹Ÿ¹’9;žPAY׌|š‚a´a›Ú6 ¿']<Çôyô•bk‡j –º™qÀcaÛ^pß{À£C ûþ¸¢w.îÛÐÂi Ÿþ_€)u5ƒë²Ùp„ÀJàØï×Ú.Œ…ÉìpJWÈK-ì)º."Œ9 Æ™pËCŽâõÇľî/µ¦Ž­ JuÜšÃ'ÃtŠ[^çE(Âø-v‹†V6¬ñ ) ÇsSŒE=â …çóX®*ËÒ0”RŠ:Øù+'Þ¾F†õ2õÞÊdç $ž!@rÿKLôÉb¦ÎÀ8™ª ‘H$Vo…ƒ¡¹‚ ,…Õ41د˜žCGK‘éàZ»{G³ êãâRžæUEßï¨Z E`…NÆ2Â&¦ƒ¢1IÑ¢f’…R…ÛëãZ7§›§C2σì\è¾-šù«k¥AÉpŒÁÂSaᎇAEËœH®pWÞ#êë íY›jqÃZþÝÑ|§8å)tתVNüHj`cs,-‰ªZ4âˆ^8-. òßÿÿüŸA7”zcG/§c£ß?£µ ÏOïà11Æc¿cÿüö?àó§ï±ïŸñúù¬~@bV¡¦°Ráh¨ÆÎEJE¹F¶Bi rœ¿ÜQ[É¢€/¾¶Ê¼ I΋¾}½h%áxéÞ;Ïå¸ô´õZ;HÂà$ÇËo-ë×@†ãzNS3’#âð“3È7/ôìhŠòÏwÐîîùR{ŽßžX“¢¾8ö¢–ÞòEv²X<“ *£pTZÛí9Á¶‹Ôç/¦ºëúº<:2$´ØÕ]ÎIñ7Å¡\½œ:1vΜ-¼qëNVUda„œ<õ“n³¹C-ðþÝ3Á¶U´VÐê¹Þ§[…y^Õ ˜^º`cBL01­%×arM3N!òÛÊ]uÁéèí¸2ç#ȪòÅÕ-[ öb„üj†ü¦ÃIÖBk"‡²«u§Ö®÷½“¥4ÆÊfea`©1íÇ㢳›*`‚зÀeS®õG§Ó1ƒ…E8PðöžÂt, ´d=•̬û_4õo’ÏLMÜaåz¡*7«º&]j-Ý.”Íĩߢ.ðD7ðçEÔ‹6ž¾ˆ˜“ºNÊ+N샦i".TD)…Ø‹ ¸M½i±ɉ{ˆ§Œ.k3¹¦ä\½yçtâ03PJ¥.É·F5%:žkn˜K°b ‡žv–Y£ïs¢Ö¤{ L,h<[Rh´×ÂßHƒBN Œ {cÅ<ŽK+YŸ‚Ô£Êíƒå#¡½ñl€ïä{e±y²ÎÎ| 0æ'`5榈1'^Éñ;ͧööD‡Ä€Ê–Âw¿PÄ¥‚¦•g±rª=§_šº‚ô¬tlLpB` sjT\‘$­§PYˆ©]äµ(`Œ,4f:ËLíž{Nl ËD« d@íÖŽãÌ]sÔª°|ûøÉ×ÜÇlEpœPõÙÓ)ȱ_m]Àìs$Ý9R 0Çå©‹®ŸÅ*|2Ëž«Í‰RƒBTc¡µ—Nã˜YÓ"| ñÌóÅLÀiãhV€…‚ò;ÿïðñÿù¸?TïØÚ ·Û{ôQØ59ÑèÀ@Ê×(Ï¿…ˆÏ(íKQžÞãUž Ñ0wG‹ ñŽ @zÁÖnèSÒù¢| c°ÃˇҒ°[DøbÖÉéb(å°ŽòôŒ§¯¿ÅóOßJ³Ã¯x|üˆûý3î>â¸Àx|‡cÝ1G‘ ­Š£¥ãÏ%Å„A 6(Z`%3èÖ‚IÎäE€bÀèpù‚ä¼ÖE O3,üõayÈãö“»´®`ofœÍÙ3U.„ƒÏ™3§Ö "rFâ”dþH¬¤ªá–Áýäo}úð‰}`Û ¥öcGŸÔGµÖ˜Ð"×–Žv® `¼¾þ-¶¶±È—DŒ$E¥\¨œ‡1â* qËv®m@á.|aI \è€ ‰ëð"¦ˆ-Þº}üõQ}N|ÿ!°æVi¯Þ¶ Û­`«U‹,Ø`ncÛnP¡£*´°#ô­Û¥…‰åD œU®û.d‹fø·($WA§þ«˜1ðùÔujà!)7@4ÿ·ÿ ¼ö…19 Ÿó3×ZÇÀòãü¶Ú€ Nñð÷Õ suÐ$º¡– u{¦>ÀcÿŒál×r 5h ZÕ‹`pû€ Ö2|ýíOå ¯ûþý/Ðê†ÏýŽ_ýê;À€ßÿ½ŸB¼ð©ÔÇ-_Äи§ ÙЊñù‚XO¨+ (mÃ+ºÌ†cÔK¥Èxæ9=3S®prsýŒ­V^^NvÒ\šÍNÄ džÞ’Sr!ˆ™~ÞÔ3É5eõÒ‹ž–æÊPT¹2OÎ’;5]3xfˆ¤5>M%š)#‘¼´ǦÌÚóµ •±3u¸'ÎÉ’*˜ì+.ÔÇ 5ÑKo† ¯7U¬±è ÍŒ]­-ßFšYŒ1³çŠ÷-[0ãwN÷åxÇåÜ m/XÒ\“±ÞnøæÝ7(7`ŸÆ´޾ó#ÚvKÐ+VÝP4°\pwÜʤå(… ?qÇG•(׊ÇÈÎHèòòEž ÕœøjÚž¾þï™@bûg¬>cÞ¿Çñø€ûýî׌·YÐJ÷¡«Aƒ…‹;°’$ YÍIÑ 54«9IIâ¹&3U¸Å‘6gиÁEKÉTá‹ÈܺšA·K&íԚ̖„ä-pªZ« 0.ììfô+Ã02Ì|Áq;îîx}}àõó'X-8GLÀ;…§ŠÇ~àùåEì¯lO› j3`)õEéz]uÀ¢äÚ)ŨTÙ_dz‡”Ì$ ò|†ƒL¡’) ÂI–\dîȃJÑù8:Ô*“çýàß•«Yáø})– ܉原>_hUÅÖ J)h·Z[xª ÙX½m †»$¸PpÛˆƒ˜gLàŠ¹"<V5 «³¹ªœ€X}‹ÀmÛ°P M0z2Þx¼ŽÌxìXÇÄ'Ñïœu­¬@­†é+לÆUF}pr i¼ükC³èkåBŸˆ[{³¬\wT\Ðl´ˆ/ܶ øŸþøpþõÿþ/ð<>á9£ºêœÐVðÝŸpûî;üæ¾I<ujp¥‹vFbsر‡°8'l3&àV_ØJd€5 Š1'JÂ"©Õ\,ÐÛ­Oøýßÿ»〖i™a>á²€h0[—Ðxf>›^MÍAçfŒãÒ—ùM“ââkà´j¨ê˜ÇgH}ºhüsMlÖ°V®ÖMQB1l9:›4UæàÊÖ5³˵¥‰3?UrE º“Ïi•ˆ ò´51ÍôÒ<ž,r¾X ŠTÔr£Lfe¤Ì Lv‡iée«,Ô¹L±æÙS2¼{­•+Ê…5ãb 1º%]Àqiª-ÁÉÀ±ŽKÇ(zp²(£ÖÑ ×àáÔX…/ô˜ybÜ•M6£¨ÔQ®ŽÈwUÏŸ$ «yÅ—±0dÁ*Jc ÎHì?OÑùžž¹”gÑ)‹ZäZ™Ë¹Öº8¬l˜ã¸Â²Kº9©ê?‹àþ âåƒSiê%“·6§£” +L“:3.ï<úØnOXÈÿð?ýó&Ú€ <$r_qô;T {ª¼…"SçO¨ÜÀJî ¿vÃÂèiK|p!†âg<“Ø™¥4øá)„ÓJ]MèPÁ?ûªáOÿþ >{/tœ‹ V²[Žž¹z ¼”³ƒÀ‹d&UDxi }M`)\V –Ö\ØêÀÍÈÝZRaâ(¨Éà:¢a鯵a^<¦„m2œ¼R7¸H‚3 –ó0ýÛ~ÿæÿÄñþ­PGñR_p+œÞ„¾Ãí'?…=} ¨“¶Vô-ûªÌèV¡ùÒ™Y>9AÉâú¦Šš¤„.ß3C‹Ûä#Çãµ6ºáæÂt‚#©¾Þï¹aÆÌ<§7¤¬B|:£ýõæþоß1ÇÀìw¬ýlMìb¬h³ÇœÉðc‡¨ap9Gò:.ϵ¤œH‰Ôº»2á^3¸ÆÇÄú“;wôb’[Jº†Þ …HêžÂç`'wÿ|ÇçOðúúŠÇÎ@äðÀr¢=TZZÉšº÷¥4ÔV!t5•ŠR+ÍʹÎ<ŽŸqFl´¶Y0{g‘œÀÉ•TU…ÙvéÉæ Þ mé–‰¼”V®œ¨eP¹]Á»\ûð ëã@µ’c,Ôò„’yt’Ðûz¤v†Ì$KȧûÀš+”.©œXŠ È¶Ð±Tªá©´ZQ· m»¡#QT+J¥£N¥ÂÊÖÜs=á*ã‘ ²5–;Æ\x½¿âó¾0Ž|NÄÉ÷™Øà`Ñõüü.3𸶳bùù§>C`Õj­o©plí¡•›äóU;ã˜OfZ1¥`jFT-bZfï¸=ßðŸü“Š¿ùîþïÿõƒÏ÷ï~„}ÅóË;Ìpü껟ã¯þê/apüƒ?ú6ˆM¦h”FÙ„*úèPQNHKKZ9ÏD—÷L)Hq4‘áCÛ»‹÷€l|Nôϟо~û"§-ŒÕ:‹Š bÑÂíEˆ³YF«M¿¨âoqSo+4Q‡¢\ gžÑŽÖògnup ÿܶ,8¸Ñ€*j€:Äs@´@4‚p]M“]ð³LráoÄ€HÛ£Ÿ+Øàç:ƒAЪ"+ŸÃ“ ÎèÔÿ®”ˈ“§/rGSz$©[»ôPÆõadJ.ó]fêž“À5ùÌåªZ`Ù\¿­jU kòæ\Þ/¦¢GŠ&ݶsyf¥.”²å6àŒ÷bB‰©`•ƳÂŽZl1+w¸£Œ1¹Î}vïª-à—¸á×¼b ˜##©\Âõ|‰Î+W²õJnÎIyÕ7j­ØÇŽÍÝý"ÍjøÑø{?{Ÿôõ ¶aÔ *0§¾¾>î€Î½uZÒ‹–ÐÎ1gX¹Ø7Ïz+¨µaÌÁ=n0|´¶8Å¡ûì¬ú££X“ìÇŽ§öÓÀwRÕ!Ø{'ìñÌvBEHÅë~àöò-êü_£üéŽùáh˜Œ&Yt4h½a͆¨\cVi¼ŠQ åSª¨˜}GL@k ùãþJÇÔÜÌ#­¥r Õ2;M˲֭(|tÄ`몀ØGTipcØð:Nøk£;¹&Q ž¾úóöž–cJš#ÖÀ~¼âÇK9Irâæã•…Ô88’ƃ)ªÖÚa“!Ç"‚UKê‚æ•2_òÿs,´VsU-ê£$;A­½Ó‚[Z%žC¨Å::;ÔþøˆÇýFßñxìmoéL `~]2=è›bÔ?‚]ỶÖjN9Xˆ˜J¶‚ß& IDATi9ñ¹eÙárõ5§ÿš‹(’\Ìï·RÈ] À¶)Ö²l0È4B ¸.Œ¡¨V¨!sGÈØF›<ØìÌÅû€û†í‰Ó‘‘pV¸@Š`36%ÖÿPd8TfN68gÒ½C|á>“èÓª“!C-ñk¹^Ú8ýÐ_êIð–/lÙ–êdñ\y…Çd´ÐõXLPË âõ©¡&•~ùRäŠü™Îµµ!’ @'™:)Ú[yÂô†ì¨õ ¶û–ƒÇKS¨’QQ¦À(õ=þÎÏ~Ÿ¿ûˆûgß?a؆_}÷ïñýéŸÀôÿîßþ;|ÿá«7Ø`¾g­y™é@-€Aܧ{¢FWå h)œ¾ü¦•#ɓ‰ïApÒl”ìkâåýûœà0úl:¬–ùq§5þ˜žŸ^Ȇ[„BÖJ®˜|á†y[óœXSºÁæ$å¿ð¥½ØrX¸ÖcGZøW2‰bш1Ç ÄÒ‘é•àRY°š ÍŒ3Sôå§žùrjžk¨3sia‚…^i‰£ãôœú“„n/6G¹"ÑÎéM_ ͘qì;ß?g’BÌu °Ñ<÷¬2C´ÈME¨0 éìeÑ´.Ç-]¬k.¨§»¶°AóqóGÇ¥lI×/™ÃÊlÍÚx'#u˜|V*åŽ íÞ/(m¨BŒkj„g¡(~K°µÛå0„ŽhM¹€ÖdÁñ½[k H&>ç¦cÍ «ÌoÄ[Àó)~M: »€š0H’ÎÉx“d´œÎˆ3sÉçB-s-B(ׄ8w¯}­´23{íIŸð³ßæ×²´uJ Ä”.6Œu‡øË7X»a‡†²s2Z cNŒ1)$…„+ášÅmK-Ãäõúß#Ø G€«&WLÿ„RnDkà=v›Pl &²?ÿ:0"&y2Îøp3vÉ'E9’áÆíÊ|»RÔsô‹·ÂÄ•H?´í s?ðéÁ.=æÀ>>£ï;æ˜} ‰}'£êf©Eˆó9e4å8›ÆŒS»¡Øžjvtñ„é4Yh©håtO*TZyùã\§Ïz+t¥% ¾æêØœ¢ð“ÓE 'tCÅŒ áöôÄõUâ ‹ä©•f­°9€ñÈ4äáÙáÑÐWÚ©C!#P¢Â Çy'×ΡÔ@õ™(©ç匤R™Kk0+ØêÓ V7l—h¸d–aÉiª\y©ž“âMù9Ù OÌ3ùhkak$B×3ïÎÉ:Úžž0A•´¦ùóŸð;çwñòüßýð=öï~±gÄý#~÷ÿ!Ïø7ÿú_â—>ÒMm0L_Ø”Âw³Š¹VÈ{[sfqšY¤¥`' [Û€ÉÇIÛ?—H¡³$I‘ÄsÃè;ùkka«–ÇXתOUÑBw”!Í3(txZ’öÏ»c¥ ZR(OhåŒ™ë© ƒöÉ\·RR¿ôMu®Å”‚D$ê£ Fº‘0¿b©‰ÕƯo¥FW ̳X?5a5'÷HæûÙ Î'ciª =³Ü*pÚ^„k÷ÞY(ªÉ¥ƒÓdD1¨;ŠéÅØ2Pó6‘S?\<£ƒ¬W8ñ.ê,†1²—,ÂÅ!2ðñ‡_âÝ׿ɳ&§šÁôžº¸X4ëÌãAˆ§e2=“<†ˆ°¸uqj®}B ²æ€,w# ’B~F õ+ïPs»À8<A‡¢–ÊÊ©Ie#&¢tgÁkf0ý™4·»£NàWpÊ4ƒ¸‚Ë!x#»gJÇ Æv! U‰4Éàëú–‰ìÔ…1NGƒ|-Ó@™ŽÉ™_XÉtB×Z|h‚Nd5E83®޲N„có KÂæ.A{:Éê æ Zbg¾D‚HH"IæÞhEñÒøñoü¯#`e¡SÃ%”»9, UŸ0@¾Œ• ó1PšeŒ ù.¥hNߎ>ÑðóŒ‰pNpÀVð#öûG¹mXÎàX}âÓ+à“h ªRs'ÎUEm ®†ýñH.§] ¢õpÔøø·;,+èH*QØùA¡Â{ÿé@)‘ûpWã8Øý„c \Çã5‰ë RxÙz@§[äA=Áêì‚çâÔfò5><; 1øŒ ¾¦˜10÷W˜ÝRGÁÌB˜ ?>ã¹j­tÃ à˜¯ðŒ1z‚ø&GÞâÞ1=éÓca%¹á¨ÒR'ÄZŽÙ™Ó¦áè21‰˜‰¤ó~e’¬>Ð÷æãž+6Ácàö´ÑTpÞç…“ëœ&€•[†;n·†9z›Ä©·[Éb*-Ù¤.sô^JA­•ëV ™¿V¬T•âKDv«Õ }ôK<­ »ý@-˜“³Ö„,ÇpŽÕK!NÓÑcåtÓ€Öw­¹VTݨÓJ½C(PË– NEMmÔmÛ°ÜÑ{Rä­@ÆD¥–’EmÛ^x %Y^ ˆ5a”ŒkCñ3˜y¢=m$ í ‚]<èf,Ü$€?Ë9¨©ÕÐN(›h®YjÚÒ+Ì*J¹A´§çk=ÂéI\Žà1ÞD±¥4X»eºƒC|Z.è¬{6`Q3w‘/3õVÉÒ»Zº¹ã–2‰O÷Žw?þ ž^žð‹Ÿ% “ÀßýÙïàãþxýô+üÙ_þ^?Ü6¬0ˆn·š_ŒÚJòo¥æ³Æ‹Dœ¢áÄ33—‰¯oO—6Åòk`/C÷ÎJ½DÕw™c7Hä$}¤ŒBßR”:5lO/ð1±m—”ªççw×tØÌ`Ô&èk¢)§ èU„Þø,mÉ¢6)Û ¸ÊØqJÆŒÐ-i‰˜(¥d±ð”Í’\|³ªŠZo€ Æ‚¶dÓ A­TMÁõ¥­± š,£f\ÉZÐÌösÆp!Ÿ%”)ÔúBg¤j/¼{~ÇZ0,‘Ôï½ÿæ7p?¾Ç|@Ýñ/üÉÏþ"h"š¶z¾§R±OÁZꇳ¡×ˆ Žâü53yLžq0Ó#!¾œ`üüo~¯¿zO¦ÙÙlžƒk78µn“\®¢\WîÅKŒ&ÂÐão¤àʘ<³WO6[¬Äj°ÀšYt©•DœwSþöp¬Eü‚g°0Í1,Âk¥ÆõÊ M~™š¦éŠ+ºN[[Û`¢œÔ¹_‰"ç&©3ô£'N×yé¢cä9xf-Éócõ4½,\q~‰«€0`|ÎŽ§§šÓ´_çù,¿>:š5Hrܘ¸Ð©1ÖrÔl2æ4ø ¬+"o¦Ü„ãõk(I÷˜«c5øR ï0 ÜN¬úýÁ´sõê…¼©8×ÜV¸,Riz8œ×'I¾Ñ*U>43Œs}›?›>ˆg:±Èi¦ª]y¸ç{L`¯¾‘ç…E¹ ÁÌ­fyãÅYQoµL2iÞŠþÓ qþìnuC‘Œ½´ÃâLö>‡§‚U:óûƒS$“éó=¿°3ßPòŸ#I¬'0Ðò)Õ`Pîr‘·©2¼7Ɔ¿þ÷‹~|ÀíÉà³àöüÏïÞ£VÆ9ØË;håexIK÷TñoÏ7, ØÚmÓî4)‰_¶'ºx¬Q¨ë¶`h,Œ~`¡à˜ ÐÊ"K Ö9ÍZ ï;Šœî r=Au ÜÓÀ˜ð‰¼øUóÞṄ8j{‚.0çM ª:׃(j³|ÑÎlö–M¶òá#§4xÊÎnŽÈ)بÑÐÈ5/ý(‘Ö^³Æ"‚ybáD9È¢]kNŒ8Õò¥næÊY±Â(6‡¡Ï©¡S‚\C•Z—P#0˜¥ #‘ Ô ®pZò—£å$±™]6æÑýà*9q&ï°Ê;n/·/^¤réTE-xánµ d¡Ó*ዦ¥ÚC\Ô¶Á"°ÝÚ%f|D¹:¾S”J§M€9þ:r_F?x‰gÇÑTÒÏÎŽñ;oÅ4¸ \ÕÌw;xá‹ Y‚uókp0ñ*–Ÿ{ƒbAƒz0 ü«òÏÔpؘ *Xè¢)µ± ó­ _ᨷ 1¶mC讀§`®ë"9×+áùÌœ1F—ó3 e_<Ûµ²™š“ÖøZ*\Èt’”‰žbTÚ¢4ÉÚ@Ù’—• ×…Ô±©‹êJè` ¶y\} ¨+J©0 ´f8S/ÆØQÔ°EH!(2˜PQZ…YZó…pʯ¼áþúŸ¾¿Ãl Ê„Ë ? >þü¯aíŸ?|Æ÷8>þ?.øþYr«S¨m ¤<¾ÇZ¸)sãŠO ¯­rÍÛ‡è36  }ÿÔ6žâü5&fxyyÇq¥\`u¤ËIéöüýÃß2mM cú…!×Ì/|Ï›þKÑç@k‰¤T„+LoWTÎYxPÔMAûqì ø´«‰]ªïÐd–yN<ϧ¸^TaYØäCkr•äsb΀¥‹§èüâ3åt{MÜž¶K¿c· fOÖØdÌùœ 'QÇK«‰{Ž1m(Bmg­v}íš9«g‘UJƒ¢§“v¬­TD7‡¾˜xòèw³ëçyB˜‘áÞ_ƇyF8ybpªÆ1ãç:Á)èž«æÂBÕªb§)0Q›¢Lª#Ÿ¯ö%+ómyY¨JN8/†¡#MsÈá‚ꕟù:ìßXz|Ït‘\®ƒ“ð/ΛȆ"2_yÇÓ5íùìZêï8Å$Ê¢Ð^*—¨P3Ôö¬X£’õaÎq²'ùXvÈç@3:)æ–tjT̤ŸT‘,€L¬e°XήÙ{`5ÃöøˆŸþè_ûÛøüèxŠŸBç+5Q÷;~þá¯p¿ïp/MqÛžðî›ßÀó×?ž_X0– O¥ÀzÔŠ5É»2­üj¬¸Ã-8!ËH’1Il.­BlÁV`zÿÿ«:·MŽãGfVU÷ŒV/©¥ È7$À‰O!°á+zJß6m 4ÍÃîÎßuÈôEdõ,¯äÎìÿw×!2â øðåЛD¤¡Wcò3 V¶Ý ãB)Œ°²g1;çBg÷™N²QDé“ÙJÔ”ÃPËïªOpÐÓ°rp½‚鸗Ççy"bᨕŸCnW¿ý=¢ž˜Hª7P­&‚R smsëÂqƒ¹Pq$Å›ús}“ŒÇñt"$è[èν11=ðÒ³e®U£Ï=Pêëq.ð@å;’lÎ# Œ442 4æBª¡çQ8ª•äÉT\ÕÚq`öŽã ºGnÕÈÊœH….Ó)yÃ5XkìðóÈ*v1rá-„ž*« NåHq:î¡§a"©Óµ˰‚›°"x~ËÍ“—S‰çbD ¨¾ÐïÃpÁyp-âæïI(¯"¨–~ª™SljF*{"§³ßŽ nE±–Ð ™³……j•½–““&ý6p¾ßQÒKÄ0&q7³”*˜óJ¦S£E$½cWçˆYÓ§4s}”ÍÞrîµoBfà}•3¦R{±Ä²õ!D9M_XˆéU‘k¤*"Ÿ#Ú;5-*\Ÿ¤h^R· U•¸Ù- ¢÷a]d2Ä`ŠåšeÝë¾8ô9X£ƒ»a†Þé`òÄ*FÏ`ž+T*ën•¸‰ï·²•Ö'¥*þáãòÇþ·¯—ü‚¬å·Ï%eÊeœÙgËáŸÉÇ ˜/,«:²·Ïi°µR 韡ÀetôÏŽ’ɨ0…ö rÌñKYøÇø{|ö‰Ç.Aà‚Ì›ôÞññå=Š þ÷ÛÿÁõÃw¨Öðöw¿Ç¯¿øGTÄQ1ý‚MG±C“èÞŒG‡5AËΫmh{\jiTtrè}°×N×{ärdZnjɋbŠ’uïdîT0奪˜(‚ˆ‹ÝX‰‹¨¥@ ºXMQŸ`"¨j¬ú±ÊClPjµR¥ˆ•}nÌÀ2c‚L‡V°†jb\ÜD]oªÇ^Aþ‹§¬Éس@ˉÙ/Ê­bôšåœÚ!8[AŸLF‘’Oìðãà­ÁCEQÅÊ‘ gÇèóu£Ã¤²°˜/¦Á}…®ž8kc¼$Å==ëAš9€~ñ³e*„¤õV«3cc^­<·ƒ=_©FìQëÊå²u"/­µTŽ…Îƒ Æl[Ï›" 9¾vºsQê‰9j*º×uÁŽ.MŒ­ðJÙƒ;1f©Iª  š³HÚ!¼„Ë]3â ­ÙÃïűՊ5._ؽö¹ É"ÀJžЯ‰z°øYÐ0‘¾ÌÅ ÕÈQ]É^RÉò*g‰‹2w*Ác’Å”PGt¢´®é¨!äQemÖŠqß ©¸ÈÌÂì£zdõQZ-¿Îï|ŠÀàhêPá…co@øÄsdR0÷¦à GÔý÷£Ù2)*©¬F^B·Kr$¼¹dš›õ>¨´Ò° @i8Šbö5¾ÛÓ¾ûæ¿ðý÷?äÌp]ÐJÁùæÏoÞà×o¿@;O2çæÀ¼>Þ¨™k\¤è½{È[¿!¬àJ°¦OŽib.pôÉŠKfÔPr­r_XýQƒ,ó…åi7pœVpõž"ð›YÉ‘#+œHEÈ}9`b4•Jp´¶kh6Δ=Ÿ¡ŽX\‹  XÛWšcj¥az¯/.æôï!Ò³“ý…|^å³XhÒðõCmuU0áßwæ8h­I¯¬J3ú¬âµÜ¹ä4!‰JÈôhþÿž#©b%Éñóaöþ€èº˜Ö.vuÐTDÙ²²×îòg-$1LOz=G,ò®ne³²9A Ëœék&3WŽRX>.ín‚ûZ<ä”bÌÛæA\²cê Ö»—Óà8ó@«vWm[AKœ I&Ð×PœÚ+L5m îÎÞPwô`ÆŒ¬QÙef^T¡L^zLþY¡iy’d˜ ËÐ}Á '?±ˆl& -÷ É„¯úOÿ‡Z ¼=Cþô¯þºû‘…Ü£>ÕÄÕ[býåÓi,§R z µ“ž›5òA¥H5>é–òLP9ÚÑ›[ aÅÔÇø§¯Þá·ïÞ¢^® +Gš“1³& ¤}CsÁûïþßüÇ¿ÃWïÞ~Žwo¿Þü CØz JÅ÷?|‡ó©ÂÚÁœ³#ÆÆ"äÑ˘-p&Âò cФWƒ¬ƒàÊôZÄDQ!¨tN<|"úD«=#«,%¥¿Jƒ˜÷…˜“·M¾ŒcÖfè-?Jû¸ –Z!µ $Cd:`¥Âd¡ÖÂäZÑ\HÈŸYÁRMÇ€Å=XF-FމÏ|°(ëϱ G¢;¶'Б±Ö>fª 4õkÖEXzŽT×õÂN?¡?k­W0© cþ·ñ6f*{ÑA-åõ;yƒ@F)¢’z¾ö|]U`a#UIDATÀD¥½znTÍž<Á±Ó{9&/…l¨ý™¸;Jµ\¸XxΞ]^ܲÇÝ]H?à"(õ S­4ôÇ ¼_ŒO‡µ#â®(òØš;û"¥ñ±V‡$TG÷@‰=ÔPIˆ^&´·]Ÿ±RáVUøˆWïÂJV—¯Á¼"$ÇùËÐçuw‹IdÜIkwL·[ùŽ`Êu\WÂk¾Ü7=¡*–ßÝ]E´Iû¬Ê­Xâ%«¨<Q“ô¿˜ ³Jï‚ãÒÇ÷cBt¡Úñ¹ª³wÁöd:N•#ôZØ É„âǼÜþY»úkn¨Žj)w´ÿ>kZ@øñœ`JIO €µ`í€ÖŠ£=C­`úÄì/vs2pÔ€/úœJƒhA;Ÿy3ÏÞ]r$Bÿ'̵̋°ò÷b5ÔëX#GÿøÏçäUATÅr^i€ïf‚Çä… ‰"%Ù’53Ÿz—ëÓþyZs\¸˜ Ý!_\_¤LŸI™X}ÝTs0²—p×ï¤Ý⺊V®Ÿ¹Ÿ1áèùý*L=!¨÷ºî1`Üý£q˜2M »»ñ¬T[”âDKFÚö‹ž‡aôM…móÖ®³òq½·—gŒ…ð‹a '"Cµ`äè+Ò$Æ}Áï^½ ªä‹¸Ã5Ù¸’aˆ’¾$M…ã³1Ùc¨ÀÝgÊ‹1ßYOý~. 8”¼pŠ…¾ˆÊI—&ÜSµà8iKi•¶œ]ûµk¯˜\Ý7A¡72ª¦•kª£NØà«ÏU4Çì»l­aN~v¼„"ü úo§OÌáüyÐ|N@"?8õÛU>Tµ{Õx¼g ìéòÇùó׮ϘsÜp->¬|ØÉpòÛxhµÞ›¬¨ ÷í v•½˜gŒž¸‚¸Õ¾]ÙÝ´ S:tüþËßào¿|ÆÅXü‹-_P0¦ÉÒævŸZ縨êôp}øßþç_Я Å¿ûê(o>ƒÁãåÂ_ÿú#~üá=ŽÓp>5¼{÷eVæäX`ŸŽ5g¯ ¿Ì9G8»sdêrLù|-Ð*—ªÀu]IÏæ­”×ÔW¿x>ô—\¹XI–ýù3! Óùï#SVwµ\ãb×[èÄÙXĩ驰ZÙ‡•£.&2³¼xûÆ ò¸&†¥ÄvX­èÃïïÅ a1wöE¥R Á£5ŸáL—˜°{rf2̓òñ&±Sž^¤~+#s9VFÌ}ö›£JDEáuˆÊ_š=ç¼øÂªÝ‹oï†i#pQ$fȈ¯Hš˜ù\Z1ŒÎ?ÇjÞ ‚Ñy%ü=Èm23ô«sAÍXA¬Ž…•5&;‡d„cJöú-Þ2­?¡iôÝ鉌µ¹;1Ž‘·/‚:DS„PÛ{ŒáŽ•ìªÔiNŠ’J#Çs—*ç!{+bìã­_M1GÖf Y@+™Bž”Ê' ‹fû(Ðx¹•ÑñxIß”1”${¦FÑ_†»›qˆ"¡ž 3Q—ü^<».y3cÒlûå$ËZ#k3$YU¯e²üxRaÏ…UŠÜ›¬gyuÍ^CÑÅ”€Òã¢'L²KOÍ`zÐ'RÙËX<©y‹f2QIJ#µ$S!‘‹÷¢‚gÌÇê±zòЀX†˜‘`66#I8BÝEáWú1E9>AúAWª ãÑQr|§ÊCqäf³&?Ó‘ÿÜŠrDàÃãâï»Û=vä==3ž¥ëüY¯‡®­ n¶ÓÜÏ`ޏ\¨`•ReÃÄëžjÎTw°7×däTn´˜2L2sRqž$uW%x9 ÿùaPRt¸Z`Ô-ᕦ·RhY|½å^æ}±Å$$SèÆÍ¾Š¢ôÎÁC½cæApA‚ëWŸãž:hvwà`«4ô¶­Û?e*øøñÇÙ21W…E¾ó¢7öÅ„65½yh. B[-G–¢™ª%è9\ê¾î ÌLL“UrŪ•\w·G•4ûײZôV¯ŠY®M’‡3°¦jB#²TÚ^½~U0n5zJݳ‰gÛÝݘáªìeI5Ys®¬“;Ù‰ôág`‰â!Œ<“,Ö•Ê1üÿôŽG±hòçÖIEND®B`‚qcustomplot/examples/plots/mainwindow.cpp0000644000175000017500000016727712236011351021175 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ /************************************************************************************************************ ** ** ** This is the example code for QCustomPlot. ** ** ** ** It demonstrates basic and some advanced capabilities of the widget. The interesting code is inside ** ** the "setup(...)Demo" functions of MainWindow. ** ** ** ** In order to see a demo in action, call the respective "setup(...)Demo" function inside the ** ** MainWindow constructor. Alternatively you may call setupDemo(i) where i is the index of the demo ** ** you want (for those, see MainWindow constructor comments). All other functions here are merely a ** ** way to easily create screenshots of all demos for the website. I.e. a timer is set to successively ** ** setup all the demos and make a screenshot of the window area and save it in the ./screenshots ** ** directory. ** ** ** *************************************************************************************************************/ #include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setGeometry(400, 250, 542, 390); setupDemo(0); //setupPlayground(ui->customPlot); // 0: setupQuadraticDemo(ui->customPlot); // 1: setupSimpleDemo(ui->customPlot); // 2: setupSincScatterDemo(ui->customPlot); // 3: setupScatterStyleDemo(ui->customPlot); // 4: setupScatterPixmapDemo(ui->customPlot); // 5: setupLineStyleDemo(ui->customPlot); // 6: setupDateDemo(ui->customPlot); // 7: setupTextureBrushDemo(ui->customPlot); // 8: setupMultiAxisDemo(ui->customPlot); // 9: setupLogarithmicDemo(ui->customPlot); // 10: setupRealtimeDataDemo(ui->customPlot); // 11: setupParametricCurveDemo(ui->customPlot); // 12: setupBarChartDemo(ui->customPlot); // 13: setupStatisticalDemo(ui->customPlot); // 14: setupSimpleItemDemo(ui->customPlot); // 15: setupItemDemo(ui->customPlot); // 16: setupStyledDemo(ui->customPlot); // 17: setupAdvancedAxesDemo(ui->customPlot); // for making screenshots of the current demo or all demos (for website screenshots): //QTimer::singleShot(1500, this, SLOT(allScreenShots())); //QTimer::singleShot(1000, this, SLOT(screenShot())); } void MainWindow::setupDemo(int demoIndex) { switch (demoIndex) { case 0: setupQuadraticDemo(ui->customPlot); break; case 1: setupSimpleDemo(ui->customPlot); break; case 2: setupSincScatterDemo(ui->customPlot); break; case 3: setupScatterStyleDemo(ui->customPlot); break; case 4: setupScatterPixmapDemo(ui->customPlot); break; case 5: setupLineStyleDemo(ui->customPlot); break; case 6: setupDateDemo(ui->customPlot); break; case 7: setupTextureBrushDemo(ui->customPlot); break; case 8: setupMultiAxisDemo(ui->customPlot); break; case 9: setupLogarithmicDemo(ui->customPlot); break; case 10: setupRealtimeDataDemo(ui->customPlot); break; case 11: setupParametricCurveDemo(ui->customPlot); break; case 12: setupBarChartDemo(ui->customPlot); break; case 13: setupStatisticalDemo(ui->customPlot); break; case 14: setupSimpleItemDemo(ui->customPlot); break; case 15: setupItemDemo(ui->customPlot); break; case 16: setupStyledDemo(ui->customPlot); break; case 17: setupAdvancedAxesDemo(ui->customPlot); break; } setWindowTitle("QCustomPlot: "+demoName); statusBar()->clearMessage(); currentDemoIndex = demoIndex; ui->customPlot->replot(); } void MainWindow::setupQuadraticDemo(QCustomPlot *customPlot) { demoName = "Quadratic Demo"; // generate some data: QVector x(101), y(101); // initialize with entries 0..100 for (int i=0; i<101; ++i) { x[i] = i/50.0 - 1; // x goes from -1 to 1 y[i] = x[i]*x[i]; // let's plot a quadratic function } // create graph and assign data to it: customPlot->addGraph(); customPlot->graph(0)->setData(x, y); // give the axes some labels: customPlot->xAxis->setLabel("x"); customPlot->yAxis->setLabel("y"); // set axes ranges, so we see all data: customPlot->xAxis->setRange(-1, 1); customPlot->yAxis->setRange(0, 1); } void MainWindow::setupSimpleDemo(QCustomPlot *customPlot) { demoName = "Simple Demo"; // add two new graphs and set their look: customPlot->addGraph(); customPlot->graph(0)->setPen(QPen(Qt::blue)); // line color blue for first graph customPlot->graph(0)->setBrush(QBrush(QColor(0, 0, 255, 20))); // first graph will be filled with translucent blue customPlot->addGraph(); customPlot->graph(1)->setPen(QPen(Qt::red)); // line color red for second graph // generate some points of data (y0 for first, y1 for second graph): QVector x(250), y0(250), y1(250); for (int i=0; i<250; ++i) { x[i] = i; y0[i] = exp(-i/150.0)*cos(i/10.0); // exponentially decaying cosine y1[i] = exp(-i/150.0); // exponential envelope } // configure right and top axis to show ticks but no labels: // (see QCPAxisRect::setupFullAxesBox for a quicker method to do this) customPlot->xAxis2->setVisible(true); customPlot->xAxis2->setTickLabels(false); customPlot->yAxis2->setVisible(true); customPlot->yAxis2->setTickLabels(false); // make left and bottom axes always transfer their ranges to right and top axes: connect(customPlot->xAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->xAxis2, SLOT(setRange(QCPRange))); connect(customPlot->yAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->yAxis2, SLOT(setRange(QCPRange))); // pass data points to graphs: customPlot->graph(0)->setData(x, y0); customPlot->graph(1)->setData(x, y1); // let the ranges scale themselves so graph 0 fits perfectly in the visible area: customPlot->graph(0)->rescaleAxes(); // same thing for graph 1, but only enlarge ranges (in case graph 1 is smaller than graph 0): customPlot->graph(1)->rescaleAxes(true); // Note: we could have also just called customPlot->rescaleAxes(); instead // Allow user to drag axis ranges with mouse, zoom with mouse wheel and select graphs by clicking: customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables); } void MainWindow::setupSincScatterDemo(QCustomPlot *customPlot) { demoName = "Sinc Scatter Demo"; customPlot->legend->setVisible(true); customPlot->legend->setFont(QFont("Helvetica",9)); // set locale to english, so we get english decimal separator: customPlot->setLocale(QLocale(QLocale::English, QLocale::UnitedKingdom)); // add confidence band graphs: customPlot->addGraph(); QPen pen; pen.setStyle(Qt::DotLine); pen.setWidth(1); pen.setColor(QColor(180,180,180)); customPlot->graph(0)->setName("Confidence Band 68%"); customPlot->graph(0)->setPen(pen); customPlot->graph(0)->setBrush(QBrush(QColor(255,50,30,20))); customPlot->addGraph(); customPlot->legend->removeItem(customPlot->legend->itemCount()-1); // don't show two confidence band graphs in legend customPlot->graph(1)->setPen(pen); customPlot->graph(0)->setChannelFillGraph(customPlot->graph(1)); // add theory curve graph: customPlot->addGraph(); pen.setStyle(Qt::DashLine); pen.setWidth(2); pen.setColor(Qt::red); customPlot->graph(2)->setPen(pen); customPlot->graph(2)->setName("Theory Curve"); // add data point graph: customPlot->addGraph(); customPlot->graph(3)->setPen(QPen(Qt::blue)); customPlot->graph(3)->setLineStyle(QCPGraph::lsNone); customPlot->graph(3)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCross, 4)); customPlot->graph(3)->setErrorType(QCPGraph::etValue); customPlot->graph(3)->setErrorPen(QPen(QColor(180,180,180))); customPlot->graph(3)->setName("Measurement"); // generate ideal sinc curve data and some randomly perturbed data for scatter plot: QVector x0(250), y0(250); QVector yConfUpper(250), yConfLower(250); for (int i=0; i<250; ++i) { x0[i] = (i/249.0-0.5)*30+0.01; // by adding a small offset we make sure not do divide by zero in next code line y0[i] = sin(x0[i])/x0[i]; // sinc function yConfUpper[i] = y0[i]+0.15; yConfLower[i] = y0[i]-0.15; x0[i] *= 1000; } QVector x1(50), y1(50), y1err(50); for (int i=0; i<50; ++i) { // generate a gaussian distributed random number: double tmp1 = rand()/(double)RAND_MAX; double tmp2 = rand()/(double)RAND_MAX; double r = sqrt(-2*log(tmp1))*cos(2*M_PI*tmp2); // box-muller transform for gaussian distribution // set y1 to value of y0 plus a random gaussian pertubation: x1[i] = (i/50.0-0.5)*30+0.25; y1[i] = sin(x1[i])/x1[i]+r*0.15; x1[i] *= 1000; y1err[i] = 0.15; } // pass data to graphs and let QCustomPlot determine the axes ranges so the whole thing is visible: customPlot->graph(0)->setData(x0, yConfUpper); customPlot->graph(1)->setData(x0, yConfLower); customPlot->graph(2)->setData(x0, y0); customPlot->graph(3)->setDataValueError(x1, y1, y1err); customPlot->graph(2)->rescaleAxes(); customPlot->graph(3)->rescaleAxes(true); // setup look of bottom tick labels: customPlot->xAxis->setTickLabelRotation(30); customPlot->xAxis->setAutoTickCount(9); customPlot->xAxis->setNumberFormat("ebc"); customPlot->xAxis->setNumberPrecision(1); customPlot->xAxis->moveRange(-10); // make top right axes clones of bottom left axes. Looks prettier: customPlot->axisRect()->setupFullAxesBox(); } void MainWindow::setupScatterStyleDemo(QCustomPlot *customPlot) { demoName = "Scatter Style Demo"; customPlot->legend->setVisible(true); customPlot->legend->setFont(QFont("Helvetica", 9)); customPlot->legend->setRowSpacing(-3); QVector shapes; shapes << QCPScatterStyle::ssCross; shapes << QCPScatterStyle::ssPlus; shapes << QCPScatterStyle::ssCircle; shapes << QCPScatterStyle::ssDisc; shapes << QCPScatterStyle::ssSquare; shapes << QCPScatterStyle::ssDiamond; shapes << QCPScatterStyle::ssStar; shapes << QCPScatterStyle::ssTriangle; shapes << QCPScatterStyle::ssTriangleInverted; shapes << QCPScatterStyle::ssCrossSquare; shapes << QCPScatterStyle::ssPlusSquare; shapes << QCPScatterStyle::ssCrossCircle; shapes << QCPScatterStyle::ssPlusCircle; shapes << QCPScatterStyle::ssPeace; shapes << QCPScatterStyle::ssCustom; QPen pen; // add graphs with different scatter styles: for (int i=0; iaddGraph(); pen.setColor(QColor(sin(i*0.3)*100+100, sin(i*0.6+0.7)*100+100, sin(i*0.4+0.6)*100+100)); // generate data: QVector x(10), y(10); for (int k=0; k<10; ++k) { x[k] = k/10.0 * 4*3.14 + 0.01; y[k] = 7*sin(x[k])/x[k] + (shapes.size()-i)*5; } customPlot->graph()->setData(x, y); customPlot->graph()->rescaleAxes(true); customPlot->graph()->setPen(pen); customPlot->graph()->setName(QCPScatterStyle::staticMetaObject.enumerator(QCPScatterStyle::staticMetaObject.indexOfEnumerator("ScatterShape")).valueToKey(shapes.at(i))); customPlot->graph()->setLineStyle(QCPGraph::lsLine); // set scatter style: if (shapes.at(i) != QCPScatterStyle::ssCustom) { customPlot->graph()->setScatterStyle(QCPScatterStyle(shapes.at(i), 10)); } else { QPainterPath customScatterPath; for (int i=0; i<3; ++i) customScatterPath.cubicTo(qCos(2*M_PI*i/3.0)*9, qSin(2*M_PI*i/3.0)*9, qCos(2*M_PI*(i+0.9)/3.0)*9, qSin(2*M_PI*(i+0.9)/3.0)*9, 0, 0); customPlot->graph()->setScatterStyle(QCPScatterStyle(customScatterPath, QPen(), QColor(40, 70, 255, 50), 10)); } } // set blank axis lines: customPlot->rescaleAxes(); customPlot->xAxis->setTicks(false); customPlot->yAxis->setTicks(false); customPlot->xAxis->setTickLabels(false); customPlot->yAxis->setTickLabels(false); // make top right axes clones of bottom left axes: customPlot->axisRect()->setupFullAxesBox(); } void MainWindow::setupLineStyleDemo(QCustomPlot *customPlot) { demoName = "Line Style Demo"; customPlot->legend->setVisible(true); customPlot->legend->setFont(QFont("Helvetica", 9)); QPen pen; QStringList lineNames; lineNames << "lsNone" << "lsLine" << "lsStepLeft" << "lsStepRight" << "lsStepCenter" << "lsImpulse"; // add graphs with different line styles: for (int i=QCPGraph::lsNone; i<=QCPGraph::lsImpulse; ++i) { customPlot->addGraph(); pen.setColor(QColor(sin(i*1+1.2)*80+80, sin(i*0.3+0)*80+80, sin(i*0.3+1.5)*80+80)); customPlot->graph()->setPen(pen); customPlot->graph()->setName(lineNames.at(i-QCPGraph::lsNone)); customPlot->graph()->setLineStyle((QCPGraph::LineStyle)i); customPlot->graph()->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, 5)); // generate data: QVector x(15), y(15); for (int j=0; j<15; ++j) { x[j] = j/15.0 * 5*3.14 + 0.01; y[j] = 7*sin(x[j])/x[j] - (i-QCPGraph::lsNone)*5 + (QCPGraph::lsImpulse)*5 + 2; } customPlot->graph()->setData(x, y); customPlot->graph()->rescaleAxes(true); } // zoom out a bit: customPlot->yAxis->scaleRange(1.1, customPlot->yAxis->range().center()); customPlot->xAxis->scaleRange(1.1, customPlot->xAxis->range().center()); // set blank axis lines: customPlot->xAxis->setTicks(false); customPlot->yAxis->setTicks(true); customPlot->xAxis->setTickLabels(false); customPlot->yAxis->setTickLabels(true); // make top right axes clones of bottom left axes: customPlot->axisRect()->setupFullAxesBox(); } void MainWindow::setupScatterPixmapDemo(QCustomPlot *customPlot) { demoName = "Scatter Pixmap Demo"; customPlot->axisRect()->setBackground(QPixmap("./solarpanels.jpg")); customPlot->addGraph(); customPlot->graph()->setLineStyle(QCPGraph::lsLine); QPen pen; pen.setColor(QColor(255, 200, 20, 200)); pen.setStyle(Qt::DashLine); pen.setWidthF(2.5); customPlot->graph()->setPen(pen); customPlot->graph()->setBrush(QBrush(QColor(255,200,20,70))); customPlot->graph()->setScatterStyle(QCPScatterStyle(QPixmap("./sun.png"))); // set graph name, will show up in legend next to icon: customPlot->graph()->setName("Data from Photovoltaic\nenergy barometer 2011"); // set data: QVector year, value; year << 2005 << 2006 << 2007 << 2008 << 2009 << 2010; value << 2.17 << 3.42 << 4.94 << 10.38 << 15.86 << 29.33; customPlot->graph()->setData(year, value); // set title of plot: customPlot->plotLayout()->insertRow(0); customPlot->plotLayout()->addElement(0, 0, new QCPPlotTitle(customPlot, "Regenerative Energies")); // set a fixed tick-step to one tick per year value: customPlot->xAxis->setAutoTickStep(false); customPlot->xAxis->setTickStep(1); customPlot->xAxis->setSubTickCount(3); // other axis configurations: customPlot->xAxis->setLabel("Year"); customPlot->yAxis->setLabel("Installed Gigawatts of\nphotovoltaic in the European Union"); customPlot->xAxis2->setVisible(true); customPlot->yAxis2->setVisible(true); customPlot->xAxis2->setTickLabels(false); customPlot->yAxis2->setTickLabels(false); customPlot->xAxis2->setTicks(false); customPlot->yAxis2->setTicks(false); customPlot->xAxis2->setSubTickCount(0); customPlot->yAxis2->setSubTickCount(0); customPlot->xAxis->setRange(2004.5, 2010.5); customPlot->yAxis->setRange(0, 30); // setup legend: customPlot->legend->setFont(QFont(font().family(), 7)); customPlot->legend->setIconSize(50, 20); customPlot->legend->setVisible(true); } void MainWindow::setupDateDemo(QCustomPlot *customPlot) { demoName = "Date Demo"; // set locale to english, so we get english month names: customPlot->setLocale(QLocale(QLocale::English, QLocale::UnitedKingdom)); // seconds of current time, we'll use it as starting point in time for data: double now = QDateTime::currentDateTime().toTime_t(); srand(8); // set the random seed, so we always get the same random data // create multiple graphs: for (int gi=0; gi<5; ++gi) { customPlot->addGraph(); QPen pen; pen.setColor(QColor(0, 0, 255, 200)); customPlot->graph()->setLineStyle(QCPGraph::lsLine); customPlot->graph()->setPen(pen); customPlot->graph()->setBrush(QBrush(QColor(255/4.0*gi,160,50,150))); // generate random walk data: QVector time(250), value(250); for (int i=0; i<250; ++i) { time[i] = now + 24*3600*i; if (i == 0) value[i] = (i/50.0+1)*(rand()/(double)RAND_MAX-0.5); else value[i] = fabs(value[i-1])*(1+0.02/4.0*(4-gi)) + (i/50.0+1)*(rand()/(double)RAND_MAX-0.5); } customPlot->graph()->setData(time, value); } // configure bottom axis to show date and time instead of number: customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime); customPlot->xAxis->setDateTimeFormat("MMMM\nyyyy"); // set a more compact font size for bottom and left axis tick labels: customPlot->xAxis->setTickLabelFont(QFont(QFont().family(), 8)); customPlot->yAxis->setTickLabelFont(QFont(QFont().family(), 8)); // set a fixed tick-step to one tick per month: customPlot->xAxis->setAutoTickStep(false); customPlot->xAxis->setTickStep(2628000); // one month in seconds customPlot->xAxis->setSubTickCount(3); // apply manual tick and tick label for left axis: customPlot->yAxis->setAutoTicks(false); customPlot->yAxis->setAutoTickLabels(false); customPlot->yAxis->setTickVector(QVector() << 5 << 55); customPlot->yAxis->setTickVectorLabels(QVector() << "Not so\nhigh" << "Very\nhigh"); // set axis labels: customPlot->xAxis->setLabel("Date"); customPlot->yAxis->setLabel("Random wobbly lines value"); // make top and right axes visible but without ticks and labels: customPlot->xAxis2->setVisible(true); customPlot->yAxis2->setVisible(true); customPlot->xAxis2->setTicks(false); customPlot->yAxis2->setTicks(false); customPlot->xAxis2->setTickLabels(false); customPlot->yAxis2->setTickLabels(false); // set axis ranges to show all data: customPlot->xAxis->setRange(now, now+24*3600*249); customPlot->yAxis->setRange(0, 60); // show legend: customPlot->legend->setVisible(true); } void MainWindow::setupTextureBrushDemo(QCustomPlot *customPlot) { demoName = "Texture Brush Demo"; // add two graphs with a textured fill: customPlot->addGraph(); QPen redDotPen; redDotPen.setStyle(Qt::DotLine); redDotPen.setColor(QColor(170, 100, 100, 180)); redDotPen.setWidthF(2); customPlot->graph(0)->setPen(redDotPen); customPlot->graph(0)->setBrush(QBrush(QPixmap("./dali.png"))); // fill with texture of specified png-image customPlot->addGraph(); customPlot->graph(1)->setPen(QPen(Qt::red)); // activate channel fill for graph 0 towards graph 1: customPlot->graph(0)->setChannelFillGraph(customPlot->graph(1)); // generate data: QVector x(250); QVector y0(250), y1(250); for (int i=0; i<250; ++i) { // just playing with numbers, not much to learn here x[i] = 3*i/250.0; y0[i] = 1+exp(-x[i]*x[i]*0.8)*(x[i]*x[i]+x[i]); y1[i] = 1-exp(-x[i]*x[i]*0.4)*(x[i]*x[i])*0.1; } // pass data points to graphs: customPlot->graph(0)->setData(x, y0); customPlot->graph(1)->setData(x, y1); // activate top and right axes, which are invisible by default: customPlot->xAxis2->setVisible(true); customPlot->yAxis2->setVisible(true); // make tick labels invisible on top and right axis: customPlot->xAxis2->setTickLabels(false); customPlot->yAxis2->setTickLabels(false); // set ranges: customPlot->xAxis->setRange(0, 2.5); customPlot->yAxis->setRange(0.9, 1.6); // assign top/right axes same properties as bottom/left: customPlot->axisRect()->setupFullAxesBox(); } void MainWindow::setupMultiAxisDemo(QCustomPlot *customPlot) { customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); demoName = "Multi Axis Demo"; customPlot->setLocale(QLocale(QLocale::English, QLocale::UnitedKingdom)); // period as decimal separator and comma as thousand separator customPlot->legend->setVisible(true); QFont legendFont = font(); // start out with MainWindow's font.. legendFont.setPointSize(9); // and make a bit smaller for legend customPlot->legend->setFont(legendFont); customPlot->legend->setBrush(QBrush(QColor(255,255,255,230))); // by default, the legend is in the inset layout of the main axis rect. So this is how we access it to change legend placement: customPlot->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignBottom|Qt::AlignRight); // setup for graph 0: key axis left, value axis bottom // will contain left maxwell-like function customPlot->addGraph(customPlot->yAxis, customPlot->xAxis); customPlot->graph(0)->setPen(QPen(QColor(255, 100, 0))); customPlot->graph(0)->setBrush(QBrush(QPixmap("./dali.png"))); // fill with texture of specified png-image customPlot->graph(0)->setLineStyle(QCPGraph::lsLine); customPlot->graph(0)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDisc, 5)); customPlot->graph(0)->setName("Left maxwell function"); // setup for graph 1: key axis bottom, value axis left (those are the default axes) // will contain bottom maxwell-like function customPlot->addGraph(); customPlot->graph(1)->setPen(QPen(Qt::red)); customPlot->graph(1)->setBrush(QBrush(QPixmap("./dali.png"))); // same fill as we used for graph 0 customPlot->graph(1)->setLineStyle(QCPGraph::lsStepCenter); customPlot->graph(1)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, Qt::red, Qt::white, 7)); customPlot->graph(1)->setErrorType(QCPGraph::etValue); customPlot->graph(1)->setName("Bottom maxwell function"); // setup for graph 2: key axis top, value axis right // will contain high frequency sine with low frequency beating: customPlot->addGraph(customPlot->xAxis2, customPlot->yAxis2); customPlot->graph(2)->setPen(QPen(Qt::blue)); customPlot->graph(2)->setName("High frequency sine"); // setup for graph 3: same axes as graph 2 // will contain low frequency beating envelope of graph 2 customPlot->addGraph(customPlot->xAxis2, customPlot->yAxis2); QPen blueDotPen; blueDotPen.setColor(QColor(30, 40, 255, 150)); blueDotPen.setStyle(Qt::DotLine); blueDotPen.setWidthF(4); customPlot->graph(3)->setPen(blueDotPen); customPlot->graph(3)->setName("Sine envelope"); // setup for graph 4: key axis right, value axis top // will contain parabolically distributed data points with some random perturbance customPlot->addGraph(customPlot->yAxis2, customPlot->xAxis2); customPlot->graph(4)->setPen(QColor(50, 50, 50, 255)); customPlot->graph(4)->setLineStyle(QCPGraph::lsNone); customPlot->graph(4)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, 4)); customPlot->graph(4)->setName("Some random data around\na quadratic function"); // generate data, just playing with numbers, not much to learn here: QVector x0(25), y0(25); QVector x1(15), y1(15), y1err(15); QVector x2(250), y2(250); QVector x3(250), y3(250); QVector x4(250), y4(250); for (int i=0; i<25; ++i) // data for graph 0 { x0[i] = 3*i/25.0; y0[i] = exp(-x0[i]*x0[i]*0.8)*(x0[i]*x0[i]+x0[i]); } for (int i=0; i<15; ++i) // data for graph 1 { x1[i] = 3*i/15.0;; y1[i] = exp(-x1[i]*x1[i])*(x1[i]*x1[i])*2.6; y1err[i] = y1[i]*0.25; } for (int i=0; i<250; ++i) // data for graphs 2, 3 and 4 { x2[i] = i/250.0*3*M_PI; x3[i] = x2[i]; x4[i] = i/250.0*100-50; y2[i] = sin(x2[i]*12)*cos(x2[i])*10; y3[i] = cos(x3[i])*10; y4[i] = 0.01*x4[i]*x4[i] + 1.5*(rand()/(double)RAND_MAX-0.5) + 1.5*M_PI; } // pass data points to graphs: customPlot->graph(0)->setData(x0, y0); customPlot->graph(1)->setDataValueError(x1, y1, y1err); customPlot->graph(2)->setData(x2, y2); customPlot->graph(3)->setData(x3, y3); customPlot->graph(4)->setData(x4, y4); // activate top and right axes, which are invisible by default: customPlot->xAxis2->setVisible(true); customPlot->yAxis2->setVisible(true); // set ranges appropriate to show data: customPlot->xAxis->setRange(0, 2.7); customPlot->yAxis->setRange(0, 2.6); customPlot->xAxis2->setRange(0, 3.0*M_PI); customPlot->yAxis2->setRange(-70, 35); // set pi ticks on top axis: QVector piTicks; QVector piLabels; piTicks << 0 << 0.5*M_PI << M_PI << 1.5*M_PI << 2*M_PI << 2.5*M_PI << 3*M_PI; piLabels << "0" << QString::fromUtf8("½π") << QString::fromUtf8("Ï€") << QString::fromUtf8("1½π") << QString::fromUtf8("2Ï€") << QString::fromUtf8("2½π") << QString::fromUtf8("3Ï€"); customPlot->xAxis2->setAutoTicks(false); customPlot->xAxis2->setAutoTickLabels(false); customPlot->xAxis2->setTickVector(piTicks); customPlot->xAxis2->setTickVectorLabels(piLabels); // add title layout element: customPlot->plotLayout()->insertRow(0); customPlot->plotLayout()->addElement(0, 0, new QCPPlotTitle(customPlot, "Way too many graphs in one plot")); // set labels: customPlot->xAxis->setLabel("Bottom axis with outward ticks"); customPlot->yAxis->setLabel("Left axis label"); customPlot->xAxis2->setLabel("Top axis label"); customPlot->yAxis2->setLabel("Right axis label"); // make ticks on bottom axis go outward: customPlot->xAxis->setTickLength(0, 5); customPlot->xAxis->setSubTickLength(0, 3); // make ticks on right axis go inward and outward: customPlot->yAxis2->setTickLength(3, 3); customPlot->yAxis2->setSubTickLength(1, 1); } void MainWindow::setupLogarithmicDemo(QCustomPlot *customPlot) { demoName = "Logarithmic Demo"; customPlot->setNoAntialiasingOnDrag(true); // more performance/responsiveness during dragging customPlot->addGraph(); QPen pen; pen.setColor(QColor(255,170,100)); pen.setWidth(2); pen.setStyle(Qt::DotLine); customPlot->graph(0)->setPen(pen); customPlot->graph(0)->setName("x"); customPlot->addGraph(); customPlot->graph(1)->setPen(QPen(Qt::red)); customPlot->graph(1)->setBrush(QBrush(QColor(255, 0, 0, 20))); customPlot->graph(1)->setErrorType(QCPGraph::etBoth); customPlot->graph(1)->setName("-sin(x)exp(x)"); customPlot->addGraph(); customPlot->graph(2)->setPen(QPen(Qt::blue)); customPlot->graph(2)->setBrush(QBrush(QColor(0, 0, 255, 20))); customPlot->graph(2)->setName(" sin(x)exp(x)"); customPlot->addGraph(); pen.setColor(QColor(0,0,0)); pen.setWidth(1); pen.setStyle(Qt::DashLine); customPlot->graph(3)->setPen(pen); customPlot->graph(3)->setBrush(QBrush(QColor(0,0,0,15))); customPlot->graph(3)->setLineStyle(QCPGraph::lsStepCenter); customPlot->graph(3)->setName("x!"); QVector x0(200), y0(200); QVector x1(200), y1(200); QVector x2(200), y2(200); QVector x3(21), y3(21); for (int i=0; i<200; ++i) { x0[i] = i/10.0; y0[i] = x0[i]; x1[i] = i/10.0; y1[i] = -sin(x1[i])*exp(x1[i]); x2[i] = i/10.0; y2[i] = sin(x2[i])*exp(x2[i]); } for (int i=0; i<21; ++i) { x3[i] = i; y3[i] = 1; for (int k=1; k<=i; ++k) y3[i] *= k; // factorial } customPlot->graph(0)->setData(x0, y0); customPlot->graph(1)->setData(x1, y1); customPlot->graph(2)->setData(x2, y2); customPlot->graph(3)->setData(x3, y3); customPlot->yAxis->grid()->setSubGridVisible(true); customPlot->xAxis->grid()->setSubGridVisible(true); customPlot->yAxis->setScaleType(QCPAxis::stLogarithmic); customPlot->yAxis->setScaleLogBase(100); customPlot->yAxis->setNumberFormat("eb"); // e = exponential, b = beautiful decimal powers customPlot->yAxis->setNumberPrecision(0); // makes sure "1*10^4" is displayed only as "10^4" customPlot->yAxis->setSubTickCount(10); customPlot->xAxis->setRange(0, 19.9); customPlot->yAxis->setRange(1e-2, 1e10); // make range draggable and zoomable: customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); // make top right axes clones of bottom left axes: customPlot->axisRect()->setupFullAxesBox(); // connect signals so top and right axes move in sync with bottom and left axes: connect(customPlot->xAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->xAxis2, SLOT(setRange(QCPRange))); connect(customPlot->yAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->yAxis2, SLOT(setRange(QCPRange))); customPlot->legend->setVisible(true); customPlot->legend->setBrush(QBrush(QColor(255,255,255,150))); customPlot->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignLeft|Qt::AlignTop); // make legend align in top left corner or axis rect } void MainWindow::setupRealtimeDataDemo(QCustomPlot *customPlot) { #if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) QMessageBox::critical(this, "", "You're using Qt < 4.7, the realtime data demo needs functions that are available with Qt 4.7 to work properly"); #endif demoName = "Real Time Data Demo"; // include this section to fully disable antialiasing for higher performance: /* customPlot->setNotAntialiasedElements(QCP::aeAll); QFont font; font.setStyleStrategy(QFont::NoAntialias); customPlot->xAxis->setTickLabelFont(font); customPlot->yAxis->setTickLabelFont(font); customPlot->legend->setFont(font); */ customPlot->addGraph(); // blue line customPlot->graph(0)->setPen(QPen(Qt::blue)); customPlot->graph(0)->setBrush(QBrush(QColor(240, 255, 200))); customPlot->graph(0)->setAntialiasedFill(false); customPlot->addGraph(); // red line customPlot->graph(1)->setPen(QPen(Qt::red)); customPlot->graph(0)->setChannelFillGraph(customPlot->graph(1)); customPlot->addGraph(); // blue dot customPlot->graph(2)->setPen(QPen(Qt::blue)); customPlot->graph(2)->setLineStyle(QCPGraph::lsNone); customPlot->graph(2)->setScatterStyle(QCPScatterStyle::ssDisc); customPlot->addGraph(); // red dot customPlot->graph(3)->setPen(QPen(Qt::red)); customPlot->graph(3)->setLineStyle(QCPGraph::lsNone); customPlot->graph(3)->setScatterStyle(QCPScatterStyle::ssDisc); customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime); customPlot->xAxis->setDateTimeFormat("hh:mm:ss"); customPlot->xAxis->setAutoTickStep(false); customPlot->xAxis->setTickStep(2); customPlot->axisRect()->setupFullAxesBox(); // make left and bottom axes transfer their ranges to right and top axes: connect(customPlot->xAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->xAxis2, SLOT(setRange(QCPRange))); connect(customPlot->yAxis, SIGNAL(rangeChanged(QCPRange)), customPlot->yAxis2, SLOT(setRange(QCPRange))); // setup a timer that repeatedly calls MainWindow::realtimeDataSlot: connect(&dataTimer, SIGNAL(timeout()), this, SLOT(realtimeDataSlot())); dataTimer.start(0); // Interval 0 means to refresh as fast as possible } void MainWindow::setupParametricCurveDemo(QCustomPlot *customPlot) { demoName = "Parametric Curves Demo"; // create empty curve objects and add them to customPlot: QCPCurve *fermatSpiral1 = new QCPCurve(customPlot->xAxis, customPlot->yAxis); QCPCurve *fermatSpiral2 = new QCPCurve(customPlot->xAxis, customPlot->yAxis); QCPCurve *deltoidRadial = new QCPCurve(customPlot->xAxis, customPlot->yAxis); customPlot->addPlottable(fermatSpiral1); customPlot->addPlottable(fermatSpiral2); customPlot->addPlottable(deltoidRadial); // generate the curve data points: int pointCount = 500; QVector x1(pointCount), y1(pointCount); QVector x2(pointCount), y2(pointCount); QVector x3(pointCount), y3(pointCount); for (int i=0; isetData(x1, y1); fermatSpiral2->setData(x2, y2); deltoidRadial->setData(x3, y3); // color the curves: fermatSpiral1->setPen(QPen(Qt::blue)); fermatSpiral1->setBrush(QBrush(QColor(0, 0, 255, 20))); fermatSpiral2->setPen(QPen(QColor(255, 120, 0))); fermatSpiral2->setBrush(QBrush(QColor(255, 120, 0, 30))); QRadialGradient radialGrad(QPointF(310, 180), 200); radialGrad.setColorAt(0, QColor(170, 20, 240, 100)); radialGrad.setColorAt(0.5, QColor(20, 10, 255, 40)); radialGrad.setColorAt(1,QColor(120, 20, 240, 10)); deltoidRadial->setPen(QPen(QColor(170, 20, 240))); deltoidRadial->setBrush(QBrush(radialGrad)); // set some basic customPlot config: customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables); customPlot->axisRect()->setupFullAxesBox(); customPlot->rescaleAxes(); } void MainWindow::setupBarChartDemo(QCustomPlot *customPlot) { demoName = "Bar Chart Demo"; // create empty bar chart objects: QCPBars *regen = new QCPBars(customPlot->xAxis, customPlot->yAxis); QCPBars *nuclear = new QCPBars(customPlot->xAxis, customPlot->yAxis); QCPBars *fossil = new QCPBars(customPlot->xAxis, customPlot->yAxis); customPlot->addPlottable(regen); customPlot->addPlottable(nuclear); customPlot->addPlottable(fossil); // set names and colors: QPen pen; pen.setWidthF(1.2); fossil->setName("Fossil fuels"); pen.setColor(QColor(255, 131, 0)); fossil->setPen(pen); fossil->setBrush(QColor(255, 131, 0, 50)); nuclear->setName("Nuclear"); pen.setColor(QColor(1, 92, 191)); nuclear->setPen(pen); nuclear->setBrush(QColor(1, 92, 191, 50)); regen->setName("Regenerative"); pen.setColor(QColor(150, 222, 0)); regen->setPen(pen); regen->setBrush(QColor(150, 222, 0, 70)); // stack bars ontop of each other: nuclear->moveAbove(fossil); regen->moveAbove(nuclear); // prepare x axis with country labels: QVector ticks; QVector labels; ticks << 1 << 2 << 3 << 4 << 5 << 6 << 7; labels << "USA" << "Japan" << "Germany" << "France" << "UK" << "Italy" << "Canada"; customPlot->xAxis->setAutoTicks(false); customPlot->xAxis->setAutoTickLabels(false); customPlot->xAxis->setTickVector(ticks); customPlot->xAxis->setTickVectorLabels(labels); customPlot->xAxis->setTickLabelRotation(60); customPlot->xAxis->setSubTickCount(0); customPlot->xAxis->setTickLength(0, 4); customPlot->xAxis->grid()->setVisible(true); customPlot->xAxis->setRange(0, 8); // prepare y axis: customPlot->yAxis->setRange(0, 12.1); customPlot->yAxis->setPadding(5); // a bit more space to the left border customPlot->yAxis->setLabel("Power Consumption in\nKilowatts per Capita (2007)"); customPlot->yAxis->grid()->setSubGridVisible(true); QPen gridPen; gridPen.setStyle(Qt::SolidLine); gridPen.setColor(QColor(0, 0, 0, 25)); customPlot->yAxis->grid()->setPen(gridPen); gridPen.setStyle(Qt::DotLine); customPlot->yAxis->grid()->setSubGridPen(gridPen); // Add data: QVector fossilData, nuclearData, regenData; fossilData << 0.86*10.5 << 0.83*5.5 << 0.84*5.5 << 0.52*5.8 << 0.89*5.2 << 0.90*4.2 << 0.67*11.2; nuclearData << 0.08*10.5 << 0.12*5.5 << 0.12*5.5 << 0.40*5.8 << 0.09*5.2 << 0.00*4.2 << 0.07*11.2; regenData << 0.06*10.5 << 0.05*5.5 << 0.04*5.5 << 0.06*5.8 << 0.02*5.2 << 0.07*4.2 << 0.25*11.2; fossil->setData(ticks, fossilData); nuclear->setData(ticks, nuclearData); regen->setData(ticks, regenData); // setup legend: customPlot->legend->setVisible(true); customPlot->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignTop|Qt::AlignHCenter); customPlot->legend->setBrush(QColor(255, 255, 255, 200)); QPen legendPen; legendPen.setColor(QColor(130, 130, 130, 200)); customPlot->legend->setBorderPen(legendPen); QFont legendFont = font(); legendFont.setPointSize(10); customPlot->legend->setFont(legendFont); customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); } void MainWindow::setupStatisticalDemo(QCustomPlot *customPlot) { demoName = "Statistical Demo"; // create empty statistical box plottables: QCPStatisticalBox *sample1 = new QCPStatisticalBox(customPlot->xAxis, customPlot->yAxis); QCPStatisticalBox *sample2 = new QCPStatisticalBox(customPlot->xAxis, customPlot->yAxis); QCPStatisticalBox *sample3 = new QCPStatisticalBox(customPlot->xAxis, customPlot->yAxis); customPlot->addPlottable(sample1); customPlot->addPlottable(sample2); customPlot->addPlottable(sample3); QBrush boxBrush(QColor(60, 60, 255, 100)); boxBrush.setStyle(Qt::Dense6Pattern); // make it look oldschool sample1->setBrush(boxBrush); sample2->setBrush(boxBrush); sample3->setBrush(boxBrush); // set data: sample1->setKey(1); sample1->setMinimum(1.1); sample1->setLowerQuartile(1.9); sample1->setMedian(2.25); sample1->setUpperQuartile(2.7); sample1->setMaximum(4.2); sample2->setKey(2); sample2->setMinimum(0.8); sample2->setLowerQuartile(1.6); sample2->setMedian(2.2); sample2->setUpperQuartile(3.2); sample2->setMaximum(4.9); sample2->setOutliers(QVector() << 0.7 << 0.39 << 0.45 << 6.2 << 5.84); sample3->setKey(3); sample3->setMinimum(0.2); sample3->setLowerQuartile(0.7); sample3->setMedian(1.1); sample3->setUpperQuartile(1.6); sample3->setMaximum(2.9); // prepare manual x axis labels: customPlot->xAxis->setSubTickCount(0); customPlot->xAxis->setTickLength(0, 4); customPlot->xAxis->setTickLabelRotation(20); customPlot->xAxis->setAutoTicks(false); customPlot->xAxis->setAutoTickLabels(false); customPlot->xAxis->setTickVector(QVector() << 1 << 2 << 3); customPlot->xAxis->setTickVectorLabels(QVector() << "Sample 1" << "Sample 2" << "Control Group"); // prepare axes: customPlot->yAxis->setLabel(QString::fromUtf8("Oâ‚‚ Absorption [mg]")); customPlot->rescaleAxes(); customPlot->xAxis->scaleRange(1.7, customPlot->xAxis->range().center()); customPlot->yAxis->setRange(0, 7); customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); } void MainWindow::setupSimpleItemDemo(QCustomPlot *customPlot) { demoName = "Simple Item Demo"; customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); // add the text label at the top: QCPItemText *textLabel = new QCPItemText(customPlot); customPlot->addItem(textLabel); textLabel->setPositionAlignment(Qt::AlignTop|Qt::AlignHCenter); textLabel->position->setType(QCPItemPosition::ptAxisRectRatio); textLabel->position->setCoords(0.5, 0); // place position at center/top of axis rect textLabel->setText("Text Item Demo"); textLabel->setFont(QFont(font().family(), 16)); // make font a bit larger textLabel->setPen(QPen(Qt::black)); // show black border around text // add the arrow: QCPItemLine *arrow = new QCPItemLine(customPlot); customPlot->addItem(arrow); arrow->start->setParentAnchor(textLabel->bottom); arrow->end->setCoords(4, 1.6); // point to (4, 1.6) in x-y-plot coordinates arrow->setHead(QCPLineEnding::esSpikeArrow); } void MainWindow::setupItemDemo(QCustomPlot *customPlot) { #if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) QMessageBox::critical(this, "", "You're using Qt < 4.7, the animation of the item demo needs functions that are available with Qt 4.7 to work properly"); #endif demoName = "Item Demo"; customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); QCPGraph *graph = customPlot->addGraph(); int n = 500; double phase = 0; double k = 3; QVector x(n), y(n); for (int i=0; isetData(x, y); graph->setPen(QPen(Qt::blue)); graph->rescaleKeyAxis(); customPlot->yAxis->setRange(-1.45, 1.65); customPlot->xAxis->grid()->setZeroLinePen(Qt::NoPen); // add the bracket at the top: QCPItemBracket *bracket = new QCPItemBracket(customPlot); customPlot->addItem(bracket); bracket->left->setCoords(-8, 1.1); bracket->right->setCoords(8, 1.1); bracket->setLength(13); // add the text label at the top: QCPItemText *wavePacketText = new QCPItemText(customPlot); customPlot->addItem(wavePacketText); wavePacketText->position->setParentAnchor(bracket->center); wavePacketText->position->setCoords(0, -10); // move 10 pixels to the top from bracket center anchor wavePacketText->setPositionAlignment(Qt::AlignBottom|Qt::AlignHCenter); wavePacketText->setText("Wavepacket"); wavePacketText->setFont(QFont(font().family(), 10)); // add the phase tracer (red circle) which sticks to the graph data (and gets updated in bracketDataSlot by timer event): QCPItemTracer *phaseTracer = new QCPItemTracer(customPlot); customPlot->addItem(phaseTracer); itemDemoPhaseTracer = phaseTracer; // so we can access it later in the bracketDataSlot for animation phaseTracer->setGraph(graph); phaseTracer->setGraphKey((M_PI*1.5-phase)/k); phaseTracer->setInterpolating(true); phaseTracer->setStyle(QCPItemTracer::tsCircle); phaseTracer->setPen(QPen(Qt::red)); phaseTracer->setBrush(Qt::red); phaseTracer->setSize(7); // add label for phase tracer: QCPItemText *phaseTracerText = new QCPItemText(customPlot); customPlot->addItem(phaseTracerText); phaseTracerText->position->setType(QCPItemPosition::ptAxisRectRatio); phaseTracerText->setPositionAlignment(Qt::AlignRight|Qt::AlignBottom); phaseTracerText->position->setCoords(1.0, 0.95); // lower right corner of axis rect phaseTracerText->setText("Points of fixed\nphase define\nphase velocity vp"); phaseTracerText->setTextAlignment(Qt::AlignLeft); phaseTracerText->setFont(QFont(font().family(), 9)); phaseTracerText->setPadding(QMargins(8, 0, 0, 0)); // add arrow pointing at phase tracer, coming from label: QCPItemCurve *phaseTracerArrow = new QCPItemCurve(customPlot); customPlot->addItem(phaseTracerArrow); phaseTracerArrow->start->setParentAnchor(phaseTracerText->left); phaseTracerArrow->startDir->setParentAnchor(phaseTracerArrow->start); phaseTracerArrow->startDir->setCoords(-40, 0); // direction 30 pixels to the left of parent anchor (tracerArrow->start) phaseTracerArrow->end->setParentAnchor(phaseTracer->position); phaseTracerArrow->end->setCoords(10, 10); phaseTracerArrow->endDir->setParentAnchor(phaseTracerArrow->end); phaseTracerArrow->endDir->setCoords(30, 30); phaseTracerArrow->setHead(QCPLineEnding::esSpikeArrow); phaseTracerArrow->setTail(QCPLineEnding(QCPLineEnding::esBar, (phaseTracerText->bottom->pixelPoint().y()-phaseTracerText->top->pixelPoint().y())*0.85)); // add the group velocity tracer (green circle): QCPItemTracer *groupTracer = new QCPItemTracer(customPlot); customPlot->addItem(groupTracer); groupTracer->setGraph(graph); groupTracer->setGraphKey(5.5); groupTracer->setInterpolating(true); groupTracer->setStyle(QCPItemTracer::tsCircle); groupTracer->setPen(QPen(Qt::green)); groupTracer->setBrush(Qt::green); groupTracer->setSize(7); // add label for group tracer: QCPItemText *groupTracerText = new QCPItemText(customPlot); customPlot->addItem(groupTracerText); groupTracerText->position->setType(QCPItemPosition::ptAxisRectRatio); groupTracerText->setPositionAlignment(Qt::AlignRight|Qt::AlignTop); groupTracerText->position->setCoords(1.0, 0.20); // lower right corner of axis rect groupTracerText->setText("Fixed positions in\nwave packet define\ngroup velocity vg"); groupTracerText->setTextAlignment(Qt::AlignLeft); groupTracerText->setFont(QFont(font().family(), 9)); groupTracerText->setPadding(QMargins(8, 0, 0, 0)); // add arrow pointing at group tracer, coming from label: QCPItemCurve *groupTracerArrow = new QCPItemCurve(customPlot); customPlot->addItem(groupTracerArrow); groupTracerArrow->start->setParentAnchor(groupTracerText->left); groupTracerArrow->startDir->setParentAnchor(groupTracerArrow->start); groupTracerArrow->startDir->setCoords(-40, 0); // direction 30 pixels to the left of parent anchor (tracerArrow->start) groupTracerArrow->end->setCoords(5.5, 0.4); groupTracerArrow->endDir->setParentAnchor(groupTracerArrow->end); groupTracerArrow->endDir->setCoords(0, -40); groupTracerArrow->setHead(QCPLineEnding::esSpikeArrow); groupTracerArrow->setTail(QCPLineEnding(QCPLineEnding::esBar, (groupTracerText->bottom->pixelPoint().y()-groupTracerText->top->pixelPoint().y())*0.85)); // add dispersion arrow: QCPItemCurve *arrow = new QCPItemCurve(customPlot); customPlot->addItem(arrow); arrow->start->setCoords(1, -1.1); arrow->startDir->setCoords(-1, -1.3); arrow->endDir->setCoords(-5, -0.3); arrow->end->setCoords(-10, -0.2); arrow->setHead(QCPLineEnding::esSpikeArrow); // add the dispersion arrow label: QCPItemText *dispersionText = new QCPItemText(customPlot); customPlot->addItem(dispersionText); dispersionText->position->setCoords(-6, -0.9); dispersionText->setRotation(40); dispersionText->setText("Dispersion with\nvp < vg"); dispersionText->setFont(QFont(font().family(), 10)); // setup a timer that repeatedly calls MainWindow::realtimeDataSlot: connect(&dataTimer, SIGNAL(timeout()), this, SLOT(bracketDataSlot())); dataTimer.start(0); // Interval 0 means to refresh as fast as possible } void MainWindow::setupStyledDemo(QCustomPlot *customPlot) { demoName = "Styled Demo"; // prepare data: QVector x1(20), y1(20); QVector x2(100), y2(100); QVector x3(20), y3(20); QVector x4(20), y4(20); for (int i=0; iaddGraph(); graph1->setData(x1, y1); graph1->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, QPen(Qt::black, 1.5), QBrush(Qt::white), 9)); graph1->setPen(QPen(QColor(120, 120, 120), 2)); QCPGraph *graph2 = customPlot->addGraph(); graph2->setData(x2, y2); graph2->setPen(Qt::NoPen); graph2->setBrush(QColor(200, 200, 200, 20)); graph2->setChannelFillGraph(graph1); QCPBars *bars1 = new QCPBars(customPlot->xAxis, customPlot->yAxis); customPlot->addPlottable(bars1); bars1->setWidth(9/(double)x3.size()); bars1->setData(x3, y3); bars1->setPen(Qt::NoPen); bars1->setBrush(QColor(10, 140, 70, 160)); QCPBars *bars2 = new QCPBars(customPlot->xAxis, customPlot->yAxis); customPlot->addPlottable(bars2); bars2->setWidth(9/(double)x4.size()); bars2->setData(x4, y4); bars2->setPen(Qt::NoPen); bars2->setBrush(QColor(10, 100, 50, 70)); bars2->moveAbove(bars1); // move bars above graphs and grid below bars: customPlot->addLayer("abovemain", customPlot->layer("main"), QCustomPlot::limAbove); customPlot->addLayer("belowmain", customPlot->layer("main"), QCustomPlot::limBelow); graph1->setLayer("abovemain"); customPlot->xAxis->grid()->setLayer("belowmain"); customPlot->yAxis->grid()->setLayer("belowmain"); // set some pens, brushes and backgrounds: customPlot->xAxis->setBasePen(QPen(Qt::white, 1)); customPlot->yAxis->setBasePen(QPen(Qt::white, 1)); customPlot->xAxis->setTickPen(QPen(Qt::white, 1)); customPlot->yAxis->setTickPen(QPen(Qt::white, 1)); customPlot->xAxis->setSubTickPen(QPen(Qt::white, 1)); customPlot->yAxis->setSubTickPen(QPen(Qt::white, 1)); customPlot->xAxis->setTickLabelColor(Qt::white); customPlot->yAxis->setTickLabelColor(Qt::white); customPlot->xAxis->grid()->setPen(QPen(QColor(140, 140, 140), 1, Qt::DotLine)); customPlot->yAxis->grid()->setPen(QPen(QColor(140, 140, 140), 1, Qt::DotLine)); customPlot->xAxis->grid()->setSubGridPen(QPen(QColor(80, 80, 80), 1, Qt::DotLine)); customPlot->yAxis->grid()->setSubGridPen(QPen(QColor(80, 80, 80), 1, Qt::DotLine)); customPlot->xAxis->grid()->setSubGridVisible(true); customPlot->yAxis->grid()->setSubGridVisible(true); customPlot->xAxis->grid()->setZeroLinePen(Qt::NoPen); customPlot->yAxis->grid()->setZeroLinePen(Qt::NoPen); customPlot->xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow); customPlot->yAxis->setUpperEnding(QCPLineEnding::esSpikeArrow); QLinearGradient plotGradient; plotGradient.setStart(0, 0); plotGradient.setFinalStop(0, 350); plotGradient.setColorAt(0, QColor(80, 80, 80)); plotGradient.setColorAt(1, QColor(50, 50, 50)); customPlot->setBackground(plotGradient); QLinearGradient axisRectGradient; axisRectGradient.setStart(0, 0); axisRectGradient.setFinalStop(0, 350); axisRectGradient.setColorAt(0, QColor(80, 80, 80)); axisRectGradient.setColorAt(1, QColor(30, 30, 30)); customPlot->axisRect()->setBackground(axisRectGradient); customPlot->rescaleAxes(); customPlot->yAxis->setRange(0, 2); } void MainWindow::setupAdvancedAxesDemo(QCustomPlot *customPlot) { demoName = "Advanced Axes Demo"; // configure axis rect: customPlot->plotLayout()->clear(); // clear default axis rect so we can start from scratch QCPAxisRect *wideAxisRect = new QCPAxisRect(customPlot); wideAxisRect->setupFullAxesBox(true); wideAxisRect->axis(QCPAxis::atRight, 0)->setTickLabels(true); wideAxisRect->addAxis(QCPAxis::atLeft)->setTickLabelColor(QColor("#6050F8")); // add an extra axis on the left and color its numbers QCPLayoutGrid *subLayout = new QCPLayoutGrid; customPlot->plotLayout()->addElement(0, 0, wideAxisRect); // insert axis rect in first row customPlot->plotLayout()->addElement(1, 0, subLayout); // sub layout in second row (grid layout will grow accordingly) //customPlot->plotLayout()->setRowStretchFactor(1, 2); // prepare axis rects that will be placed in the sublayout: QCPAxisRect *subRectLeft = new QCPAxisRect(customPlot, false); // false means to not setup default axes QCPAxisRect *subRectRight = new QCPAxisRect(customPlot, false); subLayout->addElement(0, 0, subRectLeft); subLayout->addElement(0, 1, subRectRight); subRectRight->setMaximumSize(150, 150); // make bottom right axis rect size fixed 150x150 subRectRight->setMinimumSize(150, 150); // make bottom right axis rect size fixed 150x150 // setup axes in sub layout axis rects: subRectLeft->addAxes(QCPAxis::atBottom | QCPAxis::atLeft); subRectRight->addAxes(QCPAxis::atBottom | QCPAxis::atRight); subRectLeft->axis(QCPAxis::atLeft)->setAutoTickCount(2); subRectRight->axis(QCPAxis::atRight)->setAutoTickCount(2); subRectRight->axis(QCPAxis::atBottom)->setAutoTickCount(2); subRectLeft->axis(QCPAxis::atBottom)->grid()->setVisible(true); // synchronize the left and right margins of the top and bottom axis rects: QCPMarginGroup *marginGroup = new QCPMarginGroup(customPlot); subRectLeft->setMarginGroup(QCP::msLeft, marginGroup); subRectRight->setMarginGroup(QCP::msRight, marginGroup); wideAxisRect->setMarginGroup(QCP::msLeft | QCP::msRight, marginGroup); // move newly created axes on "axes" layer and grids on "grid" layer: foreach (QCPAxisRect *rect, customPlot->axisRects()) { foreach (QCPAxis *axis, rect->axes()) { axis->setLayer("axes"); axis->grid()->setLayer("grid"); } } // prepare data: QVector x1a(20), y1a(20); QVector x1b(50), y1b(50); QVector x2(100), y2(100); QVector x3, y3; qsrand(3); for (int i=0; iaddGraph(wideAxisRect->axis(QCPAxis::atBottom), wideAxisRect->axis(QCPAxis::atLeft)); mainGraph1->setData(x1a, y1a); mainGraph1->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, QPen(Qt::black), QBrush(Qt::white), 6)); mainGraph1->setPen(QPen(QColor(120, 120, 120), 2)); QCPGraph *mainGraph2 = customPlot->addGraph(wideAxisRect->axis(QCPAxis::atBottom), wideAxisRect->axis(QCPAxis::atLeft, 1)); mainGraph2->setData(x1b, y1b); mainGraph2->setPen(QPen(QColor("#8070B8"), 2)); mainGraph2->setBrush(QColor(110, 170, 110, 30)); mainGraph1->setChannelFillGraph(mainGraph2); mainGraph1->setBrush(QColor(255, 161, 0, 50)); QCPGraph *graph2 = customPlot->addGraph(subRectLeft->axis(QCPAxis::atBottom), subRectLeft->axis(QCPAxis::atLeft)); graph2->setData(x2, y2); graph2->setLineStyle(QCPGraph::lsImpulse); graph2->setPen(QPen(QColor("#FFA100"), 1.5)); QCPBars *bars1 = new QCPBars(subRectRight->axis(QCPAxis::atBottom), subRectRight->axis(QCPAxis::atRight)); customPlot->addPlottable(bars1); bars1->setWidth(3/(double)x3.size()); bars1->setData(x3, y3); bars1->setPen(QPen(Qt::black)); bars1->setAntialiased(false); bars1->setAntialiasedFill(false); bars1->setBrush(QColor("#705BE8")); bars1->keyAxis()->setAutoTicks(false); bars1->keyAxis()->setTickVector(x3); bars1->keyAxis()->setSubTickCount(0); // rescale axes according to graph's data: mainGraph1->rescaleAxes(); mainGraph2->rescaleAxes(); graph2->rescaleAxes(); bars1->rescaleAxes(); wideAxisRect->axis(QCPAxis::atLeft, 1)->setRangeLower(0); } void MainWindow::realtimeDataSlot() { // calculate two new data points: #if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) double key = 0; #else double key = QDateTime::currentDateTime().toMSecsSinceEpoch()/1000.0; #endif static double lastPointKey = 0; if (key-lastPointKey > 0.01) // at most add point every 10 ms { double value0 = qSin(key); //sin(key*1.6+cos(key*1.7)*2)*10 + sin(key*1.2+0.56)*20 + 26; double value1 = qCos(key); //sin(key*1.3+cos(key*1.2)*1.2)*7 + sin(key*0.9+0.26)*24 + 26; // add data to lines: ui->customPlot->graph(0)->addData(key, value0); ui->customPlot->graph(1)->addData(key, value1); // set data of dots: ui->customPlot->graph(2)->clearData(); ui->customPlot->graph(2)->addData(key, value0); ui->customPlot->graph(3)->clearData(); ui->customPlot->graph(3)->addData(key, value1); // remove data of lines that's outside visible range: ui->customPlot->graph(0)->removeDataBefore(key-8); ui->customPlot->graph(1)->removeDataBefore(key-8); // rescale value (vertical) axis to fit the current data: ui->customPlot->graph(0)->rescaleValueAxis(); ui->customPlot->graph(1)->rescaleValueAxis(true); lastPointKey = key; } // make key axis range scroll with the data (at a constant range size of 8): ui->customPlot->xAxis->setRange(key+0.25, 8, Qt::AlignRight); ui->customPlot->replot(); // calculate frames per second: static double lastFpsKey; static int frameCount; ++frameCount; if (key-lastFpsKey > 2) // average fps over 2 seconds { ui->statusBar->showMessage( QString("%1 FPS, Total Data points: %2") .arg(frameCount/(key-lastFpsKey), 0, 'f', 0) .arg(ui->customPlot->graph(0)->data()->count()+ui->customPlot->graph(1)->data()->count()) , 0); lastFpsKey = key; frameCount = 0; } } void MainWindow::bracketDataSlot() { #if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) double secs = 0; #else double secs = QDateTime::currentDateTime().toMSecsSinceEpoch()/1000.0; #endif // update data to make phase move: int n = 500; double phase = secs*5; double k = 3; QVector x(n), y(n); for (int i=0; icustomPlot->graph()->setData(x, y); itemDemoPhaseTracer->setGraphKey((8*M_PI+fmod(M_PI*1.5-phase, 6*M_PI))/k); ui->customPlot->replot(); // calculate frames per second: double key = secs; static double lastFpsKey; static int frameCount; ++frameCount; if (key-lastFpsKey > 2) // average fps over 2 seconds { ui->statusBar->showMessage( QString("%1 FPS, Total Data points: %2") .arg(frameCount/(key-lastFpsKey), 0, 'f', 0) .arg(ui->customPlot->graph(0)->data()->count()) , 0); lastFpsKey = key; frameCount = 0; } } void MainWindow::setupPlayground(QCustomPlot *customPlot) { Q_UNUSED(customPlot) } MainWindow::~MainWindow() { delete ui; } void MainWindow::screenShot() { #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) QPixmap pm = QPixmap::grabWindow(qApp->desktop()->winId(), this->x()+2, this->y()+2, this->frameGeometry().width()-4, this->frameGeometry().height()-4); #else QPixmap pm = qApp->primaryScreen()->grabWindow(qApp->desktop()->winId(), this->x()+2, this->y()+2, this->frameGeometry().width()-4, this->frameGeometry().height()-4); #endif QString fileName = demoName.toLower()+".png"; fileName.replace(" ", ""); pm.save("./screenshots/"+fileName); qApp->quit(); } void MainWindow::allScreenShots() { #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) QPixmap pm = QPixmap::grabWindow(qApp->desktop()->winId(), this->x()+2, this->y()+2, this->frameGeometry().width()-4, this->frameGeometry().height()-4); #else QPixmap pm = qApp->primaryScreen()->grabWindow(qApp->desktop()->winId(), this->x()+2, this->y()+2, this->frameGeometry().width()-4, this->frameGeometry().height()-4); #endif QString fileName = demoName.toLower()+".png"; fileName.replace(" ", ""); pm.save("./screenshots/"+fileName); if (currentDemoIndex < 17) { if (dataTimer.isActive()) dataTimer.stop(); dataTimer.disconnect(); delete ui->customPlot; ui->customPlot = new QCustomPlot(ui->centralWidget); ui->verticalLayout->addWidget(ui->customPlot); setupDemo(currentDemoIndex+1); // setup delay for demos that need time to develop proper look: int delay = 250; if (currentDemoIndex == 10) // Next is Realtime data demo delay = 12000; else if (currentDemoIndex == 15) // Next is Item demo delay = 5000; QTimer::singleShot(delay, this, SLOT(allScreenShots())); } else { qApp->quit(); } } qcustomplot/examples/plots/mainwindow.h0000644000175000017500000001213012236011346020617 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ /************************************************************************************************************ ** ** ** This is the example code for QCustomPlot. ** ** ** ** It demonstrates basic and some advanced capabilities of the widget. The interesting code is inside ** ** the "setup(...)Demo" functions of MainWindow. ** ** ** ** In order to see a demo in action, call the respective "setup(...)Demo" function inside the ** ** MainWindow constructor. Alternatively you may call setupDemo(i) where i is the index of the demo ** ** you want (for those, see MainWindow constructor comments). All other functions here are merely a ** ** way to easily create screenshots of all demos for the website. I.e. a timer is set to successively ** ** setup all the demos and make a screenshot of the window area and save it in the ./screenshots ** ** directory. ** ** ** *************************************************************************************************************/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include "../../qcustomplot.h" // the header file of QCustomPlot. Don't forget to add it to your project, if you use an IDE, so it gets compiled. namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); void setupDemo(int demoIndex); void setupQuadraticDemo(QCustomPlot *customPlot); void setupSimpleDemo(QCustomPlot *customPlot); void setupSincScatterDemo(QCustomPlot *customPlot); void setupScatterStyleDemo(QCustomPlot *customPlot); void setupLineStyleDemo(QCustomPlot *customPlot); void setupScatterPixmapDemo(QCustomPlot *customPlot); void setupDateDemo(QCustomPlot *customPlot); void setupTextureBrushDemo(QCustomPlot *customPlot); void setupMultiAxisDemo(QCustomPlot *customPlot); void setupLogarithmicDemo(QCustomPlot *customPlot); void setupRealtimeDataDemo(QCustomPlot *customPlot); void setupParametricCurveDemo(QCustomPlot *customPlot); void setupBarChartDemo(QCustomPlot *customPlot); void setupStatisticalDemo(QCustomPlot *customPlot); void setupSimpleItemDemo(QCustomPlot *customPlot); void setupItemDemo(QCustomPlot *customPlot); void setupStyledDemo(QCustomPlot *customPlot); void setupAdvancedAxesDemo(QCustomPlot *customPlot); void setupPlayground(QCustomPlot *customPlot); private slots: void realtimeDataSlot(); void bracketDataSlot(); void screenShot(); void allScreenShots(); private: Ui::MainWindow *ui; QString demoName; QTimer dataTimer; QCPItemTracer *itemDemoPhaseTracer; int currentDemoIndex; }; #endif // MAINWINDOW_H qcustomplot/examples/plots/main.cpp0000644000175000017500000000407712236011346017735 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #include #include "mainwindow.h" int main(int argc, char *argv[]) { #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) QApplication::setGraphicsSystem("raster"); #endif QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); } qcustomplot/examples/plots/plot-examples.pro0000644000175000017500000000050112177045703021615 0ustar dermanudermanu# # QCustomPlot Plot Examples # QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport TARGET = plot-examples TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp \ ../../qcustomplot.cpp HEADERS += mainwindow.h \ ../../qcustomplot.h FORMS += mainwindow.ui qcustomplot/examples/plots/sun.png0000644000175000017500000000477311634674626017644 0ustar dermanudermanu‰PNG  IHDR((Œþ¸msRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœ ŽIDATXÃ͘{lVåÇ?¿ó^úÒJ//m)-N¦ã*ÈEï—x™ÑlÙL6³ìÆ€9£sf1oLe¶–Ä8¶™é¦s›¸Å1d^p*Dj±TåR(–·ôÞ¾—ó|÷Ç{Ú¾H,ñ$OÎsNÎyžO~÷ßÇñrµÌP-3çšÞñ\Ì<®Çµn•…¿p€îNÊT1å\ÆÕ\lIûÂÚXªlüÂ³ì„ ¦RêMu?ÿ?º‡sæŒPz+ñT\r å£LÕ%_ö5CHì­:ô~ìê‡ÁÝC‡B÷èA¢î©ÒF ,–ÜEr)ëÑÃŒúÔ=W›óü ¡KЖàTÇSªç›¤)´,è–ƒ¢œ„õO¥©©Sï¾Õi‘dÆ9‡Aå=t3J«¹ÐÕ±N!ŽèX‡½ô~<„þ8cŠž¡zò;5<¨;’¯Øm|è-ÕÞ²ÁÝûû.Ö}­"Ÿ8F÷!`¶4x¾**ìt*g-£w÷™t$®÷–*©Z°eŸ°í£Ä3¬Nž¹^ ®ÇÇ› u㛶󃿪W/xËÙ<´ù]œ 81Þ`¬ 3Ñ…±£Én¡1GúÓ‰q>«¯¤bî™T]›k¡ù™ÞR#’àÐÕDŸJ¶ýÊö¿þ¸¦…¡jô\:òçZwï`³îc&°\U•s¬zÁÆÖ”*o †Aª :wuhÏ[-º÷£­òxØ[Ákæ(£ ï~f›Æ… é ¬í½ØM‡«ÍÑȱ$8$;˜¤Ÿ´9Åóôö‡Ø¾ËôAòŸp£•—¯ÐÂïÛ¸j“ß™à·)°Q®†Èt¬½½þX7{[%ÅÍVž£qùÿfþĨmM6óúûWØ-l;jø:¦G¯áf.¸Û’™ËÕž|ްý†) ¯añDúU¬ïUÃù 4( ®HfGÈGÑy¢ð2ذÎhܸç_bc"³È ¿¡tæ~¾•^ᎶÿQU¬ºÀ¨{x‘®ÞoÐÍ:+±5L=ç}µ¬ý׆;¡Ñ" ç÷çœÃú6Ýèôo‹<ï\Û²áyö¦/T,}©IM½ÇÀu9ó_r“þ±@ÎÄiÿl©õËRâL©ó"©ëb©}±ôñ,iïdiw\ÚU íK{v m‹Èõ]ëÜKs¤¨ÏuÈÿ9Õ™†2Åt‹Çoâ¬ïÉÔ™6ð 4 ¢ÅC¤BùàEÁ"`¡a .½ÿ¤1w¦T]þw~î\<“|–káµ%J>ÉÀ¢ÁÞ–G !/X—3,ûmHõAó‹Ø¢Eù„ø[µÞÑìoHw3ÑÆÇçRQaֳΰ(.. ~¤:ÁOG´wcÒ; zarù4ÝéÇRõaN¢•„ÈrõL7GZ]ŒWÍì øo‚RÙ]\: —鳬ä\ü,<ƒ G€¨õC¬ºrûOQíòˆ“f‹VâÛ üÃÝÊBH÷Ä)¦FE¥_µˆ]C¨’Zz/2Q©±å%øÛÁ\?”…KeÀÂ×&Á !ÇÏ~²¼¹Ì‰Ôœ“QeŽÑm’W°[iÓêÄZ%Øiž×f?s »Zfàõ|ò‰çÚ„3O§r T6Âö÷:mGï~ŒiäE=üØ`¼ l+#°xálrV*«zÒY`\ ¿8èë—¢³(Å´ÓÅüÑ fO­¶}So¥5}+û6mÐÞÆõ®–¿ª8fr…òBX$†BaLe—4³ ò]öÉË€,О €oUðl¤Òóƒ‘ Ø3 )PºsX8 Å(Ú¹T¥  °°·Œ­nUèf5ï¾ßþîDíˆ_Ež¾C8YÂ(ÆÑE‡R2W`¤¨ÀÒ1ùÙu©4x~ö› Ã#$™PÌ,•‚4]Œ¥P­É"žÝš¡oÛã6ø#‰Ì»DøØ»ŽTÀ»Î÷V·œV«nÛ@Œ›bFF„Ž}íÄã¥$ލÀ2Y±('Þ¡¬Ý™ËJ/•MÍC€`ùXÔÑ2h!„c_ÏÕXÏ?è&I’ŒÝv/ö²Å¨¯:|o ëƒ03Åv7µhÆ¥¥¶˜ƒˆÀ"+EÓ°ãÂ¥ƒ{èÆøñØ{M-2½e4B¶$S-ØM#ˆƒƒ…%€w ÍÚÓ¾ÅcN}Á&9Òñ§a5J*•× tEe²ü|´¿ÎáºòÄ0ÒL2Ø‹˜G-¯½Ü¥øWÀ †%Ñ—#•AèÀd0ï:LÍ›6¾3@†G½»pú\¹8ˆ¶‚ÍÚßUoo¼cšr†HE²ø`.hŽÔ ç‰æ]ÆžOÛ žIÁgŸÒÙaK²eº9Êèá•ØZN9ñ¦M”m}Íðû!äY lÓjOÝ@: çKšmݾ…~w!¦ááÙr6©9¦mIpq¾ây/jbÞ<|]AÃŽuöv³iÆ9"‚H  =‰œÑ*(“Î;[jm3¶nß‚ï+­!ž÷’Æ„.;ší¨¢v·SÅüª'8µt1oíLr`àlÛ•übÜCeÑ÷mÁœB™ÃZ÷ÂÁöl†p‚HÌlL1Œ/G±lÞÚO˧-ÍU™d%±—8­¦Œ†mz½ù*ïVÞÿLµÖ€~VÁ*N[¬x›Ož^hÚ@>—z×qƒ[Ù¹V^¿Ì&–Πª¢JN,°XÔ°d u÷ض¦ÛÙÖ ŸG½<ëd.ž÷ŠæÖÄlÜ— ‘÷Æï;O7ôí`2Î~<Ò’¿ì|FQ1k©&œïo†Öþ–L­•eõ·‚——uOb&͉“*”¦  ZdlçUÞôþ¨+J¥ïb[òJÈ›mUÀ¸®WÍÆ?ÐGÇgs’ÕœOQé Œ=q—ÚVÙÞîçù –Bƒõâ`¼tuL2G!ít"`,… £ Öè»;™l•gQ>ã§êýh:í­ßó~¤G‡ú Oô^Õ±ÉçqöÐáÝ›-MŽÔà¸zN³ÒØ&&NàjM±¯çjo O±ôL5Z¾]ޝ¥‹¼eƒåϱš¥zL«ˆŒ¤±qµàVu*ÝåR‹$w®ôLYZ«)øÔv¶Î­Üë‰ôdkx>Ò㳕„Ü¥wºß•Ü(=Qþ[wá‘üÈR=ÿ¿Ë­æ4m¼FîíHkÂëŽã³îq;K&ÁNíÛ´—ª$‘y7·dúBš¼6ím\”ác¾ˆ—«ejYx<×ü/ægÊÁé÷s*IEND®B`‚qcustomplot/examples/interactions/0000755000175000017500000000000012236016576017650 5ustar dermanudermanuqcustomplot/examples/interactions/mainwindow.ui0000644000175000017500000000771612005267074022371 0ustar dermanudermanu MainWindow 0 0 621 515 QCustomPlot Interaction Example QFrame::StyledPanel QFrame::Sunken 1 0 0 0 0 0 QFrame::StyledPanel QFrame::Raised <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Select the axes</span> to drag and zoom them individually.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Double click labels</span> or legend items to set user specified strings.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Left click</span> on graphs or legend to select graphs.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Right click</span> for a popup menu to add/remove graphs and move the legend</p></body></html> 0 0 621 25 QCustomPlot QWidget
../../qcustomplot.h
1
qcustomplot/examples/interactions/mainwindow.cpp0000644000175000017500000002620612177037743022541 0ustar dermanudermanu#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { srand(QDateTime::currentDateTime().toTime_t()); ui->setupUi(this); ui->customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectAxes | QCP::iSelectLegend | QCP::iSelectPlottables); ui->customPlot->xAxis->setRange(-8, 8); ui->customPlot->yAxis->setRange(-5, 5); ui->customPlot->axisRect()->setupFullAxesBox(); ui->customPlot->plotLayout()->insertRow(0); ui->customPlot->plotLayout()->addElement(0, 0, new QCPPlotTitle(ui->customPlot, "Interaction Example")); ui->customPlot->xAxis->setLabel("x Axis"); ui->customPlot->yAxis->setLabel("y Axis"); ui->customPlot->legend->setVisible(true); QFont legendFont = font(); legendFont.setPointSize(10); ui->customPlot->legend->setFont(legendFont); ui->customPlot->legend->setSelectedFont(legendFont); ui->customPlot->legend->setSelectableParts(QCPLegend::spItems); // legend box shall not be selectable, only legend items addRandomGraph(); addRandomGraph(); addRandomGraph(); addRandomGraph(); // connect slot that ties some axis selections together (especially opposite axes): connect(ui->customPlot, SIGNAL(selectionChangedByUser()), this, SLOT(selectionChanged())); // connect slots that takes care that when an axis is selected, only that direction can be dragged and zoomed: connect(ui->customPlot, SIGNAL(mousePress(QMouseEvent*)), this, SLOT(mousePress())); connect(ui->customPlot, SIGNAL(mouseWheel(QWheelEvent*)), this, SLOT(mouseWheel())); // make bottom and left axes transfer their ranges to top and right axes: connect(ui->customPlot->xAxis, SIGNAL(rangeChanged(QCPRange)), ui->customPlot->xAxis2, SLOT(setRange(QCPRange))); connect(ui->customPlot->yAxis, SIGNAL(rangeChanged(QCPRange)), ui->customPlot->yAxis2, SLOT(setRange(QCPRange))); // connect some interaction slots: connect(ui->customPlot, SIGNAL(titleDoubleClick(QMouseEvent*,QCPPlotTitle*)), this, SLOT(titleDoubleClick(QMouseEvent*,QCPPlotTitle*))); connect(ui->customPlot, SIGNAL(axisDoubleClick(QCPAxis*,QCPAxis::SelectablePart,QMouseEvent*)), this, SLOT(axisLabelDoubleClick(QCPAxis*,QCPAxis::SelectablePart))); connect(ui->customPlot, SIGNAL(legendDoubleClick(QCPLegend*,QCPAbstractLegendItem*,QMouseEvent*)), this, SLOT(legendDoubleClick(QCPLegend*,QCPAbstractLegendItem*))); // connect slot that shows a message in the status bar when a graph is clicked: connect(ui->customPlot, SIGNAL(plottableClick(QCPAbstractPlottable*,QMouseEvent*)), this, SLOT(graphClicked(QCPAbstractPlottable*))); // setup policy and connect slot for context menu popup: ui->customPlot->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->customPlot, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuRequest(QPoint))); } MainWindow::~MainWindow() { delete ui; } void MainWindow::titleDoubleClick(QMouseEvent* event, QCPPlotTitle* title) { Q_UNUSED(event) // Set the plot title by double clicking on it bool ok; QString newTitle = QInputDialog::getText(this, "QCustomPlot example", "New plot title:", QLineEdit::Normal, title->text(), &ok); if (ok) { title->setText(newTitle); ui->customPlot->replot(); } } void MainWindow::axisLabelDoubleClick(QCPAxis *axis, QCPAxis::SelectablePart part) { // Set an axis label by double clicking on it if (part == QCPAxis::spAxisLabel) // only react when the actual axis label is clicked, not tick label or axis backbone { bool ok; QString newLabel = QInputDialog::getText(this, "QCustomPlot example", "New axis label:", QLineEdit::Normal, axis->label(), &ok); if (ok) { axis->setLabel(newLabel); ui->customPlot->replot(); } } } void MainWindow::legendDoubleClick(QCPLegend *legend, QCPAbstractLegendItem *item) { // Rename a graph by double clicking on its legend item Q_UNUSED(legend) if (item) // only react if item was clicked (user could have clicked on border padding of legend where there is no item, then item is 0) { QCPPlottableLegendItem *plItem = qobject_cast(item); bool ok; QString newName = QInputDialog::getText(this, "QCustomPlot example", "New graph name:", QLineEdit::Normal, plItem->plottable()->name(), &ok); if (ok) { plItem->plottable()->setName(newName); ui->customPlot->replot(); } } } void MainWindow::selectionChanged() { /* normally, axis base line, axis tick labels and axis labels are selectable separately, but we want the user only to be able to select the axis as a whole, so we tie the selected states of the tick labels and the axis base line together. However, the axis label shall be selectable individually. The selection state of the left and right axes shall be synchronized as well as the state of the bottom and top axes. Further, we want to synchronize the selection of the graphs with the selection state of the respective legend item belonging to that graph. So the user can select a graph by either clicking on the graph itself or on its legend item. */ // make top and bottom axes be selected synchronously, and handle axis and tick labels as one selectable object: if (ui->customPlot->xAxis->selectedParts().testFlag(QCPAxis::spAxis) || ui->customPlot->xAxis->selectedParts().testFlag(QCPAxis::spTickLabels) || ui->customPlot->xAxis2->selectedParts().testFlag(QCPAxis::spAxis) || ui->customPlot->xAxis2->selectedParts().testFlag(QCPAxis::spTickLabels)) { ui->customPlot->xAxis2->setSelectedParts(QCPAxis::spAxis|QCPAxis::spTickLabels); ui->customPlot->xAxis->setSelectedParts(QCPAxis::spAxis|QCPAxis::spTickLabels); } // make left and right axes be selected synchronously, and handle axis and tick labels as one selectable object: if (ui->customPlot->yAxis->selectedParts().testFlag(QCPAxis::spAxis) || ui->customPlot->yAxis->selectedParts().testFlag(QCPAxis::spTickLabels) || ui->customPlot->yAxis2->selectedParts().testFlag(QCPAxis::spAxis) || ui->customPlot->yAxis2->selectedParts().testFlag(QCPAxis::spTickLabels)) { ui->customPlot->yAxis2->setSelectedParts(QCPAxis::spAxis|QCPAxis::spTickLabels); ui->customPlot->yAxis->setSelectedParts(QCPAxis::spAxis|QCPAxis::spTickLabels); } // synchronize selection of graphs with selection of corresponding legend items: for (int i=0; icustomPlot->graphCount(); ++i) { QCPGraph *graph = ui->customPlot->graph(i); QCPPlottableLegendItem *item = ui->customPlot->legend->itemWithPlottable(graph); if (item->selected() || graph->selected()) { item->setSelected(true); graph->setSelected(true); } } } void MainWindow::mousePress() { // if an axis is selected, only allow the direction of that axis to be dragged // if no axis is selected, both directions may be dragged if (ui->customPlot->xAxis->selectedParts().testFlag(QCPAxis::spAxis)) ui->customPlot->axisRect()->setRangeDrag(ui->customPlot->xAxis->orientation()); else if (ui->customPlot->yAxis->selectedParts().testFlag(QCPAxis::spAxis)) ui->customPlot->axisRect()->setRangeDrag(ui->customPlot->yAxis->orientation()); else ui->customPlot->axisRect()->setRangeDrag(Qt::Horizontal|Qt::Vertical); } void MainWindow::mouseWheel() { // if an axis is selected, only allow the direction of that axis to be zoomed // if no axis is selected, both directions may be zoomed if (ui->customPlot->xAxis->selectedParts().testFlag(QCPAxis::spAxis)) ui->customPlot->axisRect()->setRangeZoom(ui->customPlot->xAxis->orientation()); else if (ui->customPlot->yAxis->selectedParts().testFlag(QCPAxis::spAxis)) ui->customPlot->axisRect()->setRangeZoom(ui->customPlot->yAxis->orientation()); else ui->customPlot->axisRect()->setRangeZoom(Qt::Horizontal|Qt::Vertical); } void MainWindow::addRandomGraph() { int n = 50; // number of points in graph double xScale = (rand()/(double)RAND_MAX + 0.5)*2; double yScale = (rand()/(double)RAND_MAX + 0.5)*2; double xOffset = (rand()/(double)RAND_MAX - 0.5)*4; double yOffset = (rand()/(double)RAND_MAX - 0.5)*5; double r1 = (rand()/(double)RAND_MAX - 0.5)*2; double r2 = (rand()/(double)RAND_MAX - 0.5)*2; double r3 = (rand()/(double)RAND_MAX - 0.5)*2; double r4 = (rand()/(double)RAND_MAX - 0.5)*2; QVector x(n), y(n); for (int i=0; icustomPlot->addGraph(); ui->customPlot->graph()->setName(QString("New graph %1").arg(ui->customPlot->graphCount()-1)); ui->customPlot->graph()->setData(x, y); ui->customPlot->graph()->setLineStyle((QCPGraph::LineStyle)(rand()%5+1)); if (rand()%100 > 75) ui->customPlot->graph()->setScatterStyle(QCPScatterStyle((QCPScatterStyle::ScatterShape)(rand()%9+1))); QPen graphPen; graphPen.setColor(QColor(rand()%245+10, rand()%245+10, rand()%245+10)); graphPen.setWidthF(rand()/(double)RAND_MAX*2+1); ui->customPlot->graph()->setPen(graphPen); ui->customPlot->replot(); } void MainWindow::removeSelectedGraph() { if (ui->customPlot->selectedGraphs().size() > 0) { ui->customPlot->removeGraph(ui->customPlot->selectedGraphs().first()); ui->customPlot->replot(); } } void MainWindow::removeAllGraphs() { ui->customPlot->clearGraphs(); ui->customPlot->replot(); } void MainWindow::contextMenuRequest(QPoint pos) { QMenu *menu = new QMenu(this); menu->setAttribute(Qt::WA_DeleteOnClose); if (ui->customPlot->legend->selectTest(pos, false) >= 0) // context menu on legend requested { menu->addAction("Move to top left", this, SLOT(moveLegend()))->setData((int)(Qt::AlignTop|Qt::AlignLeft)); menu->addAction("Move to top center", this, SLOT(moveLegend()))->setData((int)(Qt::AlignTop|Qt::AlignHCenter)); menu->addAction("Move to top right", this, SLOT(moveLegend()))->setData((int)(Qt::AlignTop|Qt::AlignRight)); menu->addAction("Move to bottom right", this, SLOT(moveLegend()))->setData((int)(Qt::AlignBottom|Qt::AlignRight)); menu->addAction("Move to bottom left", this, SLOT(moveLegend()))->setData((int)(Qt::AlignBottom|Qt::AlignLeft)); } else // general context menu on graphs requested { menu->addAction("Add random graph", this, SLOT(addRandomGraph())); if (ui->customPlot->selectedGraphs().size() > 0) menu->addAction("Remove selected graph", this, SLOT(removeSelectedGraph())); if (ui->customPlot->graphCount() > 0) menu->addAction("Remove all graphs", this, SLOT(removeAllGraphs())); } menu->popup(ui->customPlot->mapToGlobal(pos)); } void MainWindow::moveLegend() { if (QAction* contextAction = qobject_cast(sender())) // make sure this slot is really called by a context menu action, so it carries the data we need { bool ok; int dataInt = contextAction->data().toInt(&ok); if (ok) { ui->customPlot->axisRect()->insetLayout()->setInsetAlignment(0, (Qt::Alignment)dataInt); ui->customPlot->replot(); } } } void MainWindow::graphClicked(QCPAbstractPlottable *plottable) { ui->statusBar->showMessage(QString("Clicked on graph '%1'.").arg(plottable->name()), 1000); } qcustomplot/examples/interactions/mainwindow.h0000644000175000017500000000150612177037743022202 0ustar dermanudermanu#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include "../../qcustomplot.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void titleDoubleClick(QMouseEvent *event, QCPPlotTitle *title); void axisLabelDoubleClick(QCPAxis* axis, QCPAxis::SelectablePart part); void legendDoubleClick(QCPLegend* legend, QCPAbstractLegendItem* item); void selectionChanged(); void mousePress(); void mouseWheel(); void addRandomGraph(); void removeSelectedGraph(); void removeAllGraphs(); void contextMenuRequest(QPoint pos); void moveLegend(); void graphClicked(QCPAbstractPlottable *plottable); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H qcustomplot/examples/interactions/main.cpp0000644000175000017500000000024612177037743021305 0ustar dermanudermanu#include #include "mainwindow.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); } qcustomplot/examples/interactions/interaction-example.pro0000644000175000017500000000070012177037743024342 0ustar dermanudermanu#------------------------------------------------- # # Project created by QtCreator 2012-03-04T23:24:55 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport TARGET = interaction-example TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp \ ../../qcustomplot.cpp HEADERS += mainwindow.h \ ../../qcustomplot.h FORMS += mainwindow.ui qcustomplot/qcustomplot.h0000644000175000017500000034673612236016557016115 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #ifndef QCUSTOMPLOT_H #define QCUSTOMPLOT_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) # include # include #else # include # include #endif class QCPPainter; class QCustomPlot; class QCPLayerable; class QCPLayoutElement; class QCPLayout; class QCPAxis; class QCPAxisRect; class QCPAbstractPlottable; class QCPGraph; class QCPAbstractItem; class QCPItemPosition; class QCPLayer; class QCPPlotTitle; class QCPLegend; class QCPAbstractLegendItem; /*! \file */ // decl definitions for shared library compilation/usage: #if defined(QCUSTOMPLOT_COMPILE_LIBRARY) # define QCP_LIB_DECL Q_DECL_EXPORT #elif defined(QCUSTOMPLOT_USE_LIBRARY) # define QCP_LIB_DECL Q_DECL_IMPORT #else # define QCP_LIB_DECL #endif /*! The QCP Namespace contains general enums and QFlags used throughout the QCustomPlot library */ namespace QCP { /*! Defines the sides of a rectangular entity to which margins can be applied. \see QCPLayoutElement::setAutoMargins, QCPAxisRect::setAutoMargins */ enum MarginSide { msLeft = 0x01 ///< 0x01 left margin ,msRight = 0x02 ///< 0x02 right margin ,msTop = 0x04 ///< 0x04 top margin ,msBottom = 0x08 ///< 0x08 bottom margin ,msAll = 0xFF ///< 0xFF all margins ,msNone = 0x00 ///< 0x00 no margin }; Q_DECLARE_FLAGS(MarginSides, MarginSide) /*! Defines what objects of a plot can be forcibly drawn antialiased/not antialiased. If an object is neither forcibly drawn antialiased nor forcibly drawn not antialiased, it is up to the respective element how it is drawn. Typically it provides a \a setAntialiased function for this. \c AntialiasedElements is a flag of or-combined elements of this enum type. \see QCustomPlot::setAntialiasedElements, QCustomPlot::setNotAntialiasedElements */ enum AntialiasedElement { aeAxes = 0x0001 ///< 0x0001 Axis base line and tick marks ,aeGrid = 0x0002 ///< 0x0002 Grid lines ,aeSubGrid = 0x0004 ///< 0x0004 Sub grid lines ,aeLegend = 0x0008 ///< 0x0008 Legend box ,aeLegendItems = 0x0010 ///< 0x0010 Legend items ,aePlottables = 0x0020 ///< 0x0020 Main lines of plottables (excluding error bars, see element \ref aeErrorBars) ,aeItems = 0x0040 ///< 0x0040 Main lines of items ,aeScatters = 0x0080 ///< 0x0080 Scatter symbols of plottables (excluding scatter symbols of type ssPixmap) ,aeErrorBars = 0x0100 ///< 0x0100 Error bars ,aeFills = 0x0200 ///< 0x0200 Borders of fills (e.g. under or between graphs) ,aeZeroLine = 0x0400 ///< 0x0400 Zero-lines, see \ref QCPGrid::setZeroLinePen ,aeAll = 0xFFFF ///< 0xFFFF All elements ,aeNone = 0x0000 ///< 0x0000 No elements }; Q_DECLARE_FLAGS(AntialiasedElements, AntialiasedElement) /*! Defines plotting hints that control various aspects of the quality and speed of plotting. \see QCustomPlot::setPlottingHints */ enum PlottingHint { phNone = 0x000 ///< 0x000 No hints are set ,phFastPolylines = 0x001 ///< 0x001 Graph/Curve lines are drawn with a faster method. This reduces the quality ///< especially of the line segment joins. (Only relevant for solid line pens.) ,phForceRepaint = 0x002 ///< 0x002 causes an immediate repaint() instead of a soft update() when QCustomPlot::replot() is called. This is set by default ///< on Windows-Systems to prevent the plot from freezing on fast consecutive replots (e.g. user drags ranges with mouse). ,phCacheLabels = 0x004 ///< 0x004 axis (tick) labels will be cached as pixmaps, increasing replot performance. }; Q_DECLARE_FLAGS(PlottingHints, PlottingHint) /*! Defines the mouse interactions possible with QCustomPlot. \c Interactions is a flag of or-combined elements of this enum type. \see QCustomPlot::setInteractions */ enum Interaction { iRangeDrag = 0x001 ///< 0x001 Axis ranges are draggable (see \ref QCPAxisRect::setRangeDrag, \ref QCPAxisRect::setRangeDragAxes) ,iRangeZoom = 0x002 ///< 0x002 Axis ranges are zoomable with the mouse wheel (see \ref QCPAxisRect::setRangeZoom, \ref QCPAxisRect::setRangeZoomAxes) ,iMultiSelect = 0x004 ///< 0x004 The user can select multiple objects by holding the modifier set by \ref QCustomPlot::setMultiSelectModifier while clicking ,iSelectPlottables = 0x008 ///< 0x008 Plottables are selectable (e.g. graphs, curves, bars,... see QCPAbstractPlottable) ,iSelectAxes = 0x010 ///< 0x010 Axes are selectable (or parts of them, see QCPAxis::setSelectableParts) ,iSelectLegend = 0x020 ///< 0x020 Legends are selectable (or their child items, see QCPLegend::setSelectableParts) ,iSelectItems = 0x040 ///< 0x040 Items are selectable (Rectangles, Arrows, Textitems, etc. see \ref QCPAbstractItem) ,iSelectOther = 0x080 ///< 0x080 All other objects are selectable (e.g. your own derived layerables, the plot title,...) }; Q_DECLARE_FLAGS(Interactions, Interaction) /*! \internal Returns whether the specified \a value is considered an invalid data value for plottables (i.e. is \e nan or \e +/-inf). This function is used to check data validity upon replots, when the compiler flag \c QCUSTOMPLOT_CHECK_DATA is set. */ inline bool isInvalidData(double value) { return qIsNaN(value) || qIsInf(value); } /*! \internal \overload Checks two arguments instead of one. */ inline bool isInvalidData(double value1, double value2) { return isInvalidData(value1) || isInvalidData(value2); } /*! \internal Sets the specified \a side of \a margins to \a value \see getMarginValue */ inline void setMarginValue(QMargins &margins, QCP::MarginSide side, int value) { switch (side) { case QCP::msLeft: margins.setLeft(value); break; case QCP::msRight: margins.setRight(value); break; case QCP::msTop: margins.setTop(value); break; case QCP::msBottom: margins.setBottom(value); break; case QCP::msAll: margins = QMargins(value, value, value, value); break; default: break; } } /*! \internal Returns the value of the specified \a side of \a margins. If \a side is \ref QCP::msNone or \ref QCP::msAll, returns 0. \see setMarginValue */ inline int getMarginValue(const QMargins &margins, QCP::MarginSide side) { switch (side) { case QCP::msLeft: return margins.left(); case QCP::msRight: return margins.right(); case QCP::msTop: return margins.top(); case QCP::msBottom: return margins.bottom(); default: break; } return 0; } } // end of namespace QCP Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::AntialiasedElements) Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::PlottingHints) Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::MarginSides) Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::Interactions) class QCP_LIB_DECL QCPScatterStyle { Q_GADGET public: /*! Defines the shape used for scatter points. On plottables/items that draw scatters, the sizes of these visualizations (with exception of \ref ssDot and \ref ssPixmap) can be controlled with the \ref setSize function. Scatters are drawn with the pen and brush specified with \ref setPen and \ref setBrush. */ Q_ENUMS(ScatterShape) enum ScatterShape { ssNone ///< no scatter symbols are drawn (e.g. in QCPGraph, data only represented with lines) ,ssDot ///< \enumimage{ssDot.png} a single pixel (use \ref ssDisc or \ref ssCircle if you want a round shape with a certain radius) ,ssCross ///< \enumimage{ssCross.png} a cross ,ssPlus ///< \enumimage{ssPlus.png} a plus ,ssCircle ///< \enumimage{ssCircle.png} a circle ,ssDisc ///< \enumimage{ssDisc.png} a circle which is filled with the pen's color (not the brush as with ssCircle) ,ssSquare ///< \enumimage{ssSquare.png} a square ,ssDiamond ///< \enumimage{ssDiamond.png} a diamond ,ssStar ///< \enumimage{ssStar.png} a star with eight arms, i.e. a combination of cross and plus ,ssTriangle ///< \enumimage{ssTriangle.png} an equilateral triangle, standing on baseline ,ssTriangleInverted ///< \enumimage{ssTriangleInverted.png} an equilateral triangle, standing on corner ,ssCrossSquare ///< \enumimage{ssCrossSquare.png} a square with a cross inside ,ssPlusSquare ///< \enumimage{ssPlusSquare.png} a square with a plus inside ,ssCrossCircle ///< \enumimage{ssCrossCircle.png} a circle with a cross inside ,ssPlusCircle ///< \enumimage{ssPlusCircle.png} a circle with a plus inside ,ssPeace ///< \enumimage{ssPeace.png} a circle, with one vertical and two downward diagonal lines ,ssPixmap ///< a custom pixmap specified by \ref setPixmap, centered on the data point coordinates ,ssCustom ///< custom painter operations are performed per scatter (As QPainterPath, see \ref setCustomPath) }; QCPScatterStyle(); QCPScatterStyle(ScatterShape shape, double size=6); QCPScatterStyle(ScatterShape shape, const QColor &color, double size); QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size); QCPScatterStyle(ScatterShape shape, const QPen &pen, const QBrush &brush, double size); QCPScatterStyle(const QPixmap &pixmap); QCPScatterStyle(const QPainterPath &customPath, const QPen &pen, const QBrush &brush=Qt::NoBrush, double size=6); // getters: double size() const { return mSize; } ScatterShape shape() const { return mShape; } QPen pen() const { return mPen; } QBrush brush() const { return mBrush; } QPixmap pixmap() const { return mPixmap; } QPainterPath customPath() const { return mCustomPath; } // setters: void setSize(double size); void setShape(ScatterShape shape); void setPen(const QPen &pen); void setBrush(const QBrush &brush); void setPixmap(const QPixmap &pixmap); void setCustomPath(const QPainterPath &customPath); // non-property methods: bool isNone() const { return mShape == ssNone; } bool isPenDefined() const { return mPenDefined; } void applyTo(QCPPainter *painter, const QPen &defaultPen) const; void drawShape(QCPPainter *painter, QPointF pos) const; void drawShape(QCPPainter *painter, double x, double y) const; protected: // property members: double mSize; ScatterShape mShape; QPen mPen; QBrush mBrush; QPixmap mPixmap; QPainterPath mCustomPath; // non-property members: bool mPenDefined; }; Q_DECLARE_TYPEINFO(QCPScatterStyle, Q_MOVABLE_TYPE); class QCP_LIB_DECL QCPPainter : public QPainter { Q_GADGET public: /*! Defines special modes the painter can operate in. They disable or enable certain subsets of features/fixes/workarounds, depending on whether they are wanted on the respective output device. */ enum PainterMode {pmDefault = 0x00 ///< 0x00 Default mode for painting on screen devices ,pmVectorized = 0x01 ///< 0x01 Mode for vectorized painting (e.g. PDF export). For example, this prevents some antialiasing fixes. ,pmNoCaching = 0x02 ///< 0x02 Mode for all sorts of exports (e.g. PNG, PDF,...). For example, this prevents using cached pixmap labels ,pmNonCosmetic = 0x04 ///< 0x04 Turns pen widths 0 to 1, i.e. disables cosmetic pens. (A cosmetic pen is always drawn with width 1 pixel in the vector image/pdf viewer, independent of zoom.) }; Q_FLAGS(PainterMode PainterModes) Q_DECLARE_FLAGS(PainterModes, PainterMode) QCPPainter(); QCPPainter(QPaintDevice *device); ~QCPPainter(); // getters: bool antialiasing() const { return testRenderHint(QPainter::Antialiasing); } PainterModes modes() const { return mModes; } // setters: void setAntialiasing(bool enabled); void setMode(PainterMode mode, bool enabled=true); void setModes(PainterModes modes); // methods hiding non-virtual base class functions (QPainter bug workarounds): bool begin(QPaintDevice *device); void setPen(const QPen &pen); void setPen(const QColor &color); void setPen(Qt::PenStyle penStyle); void drawLine(const QLineF &line); void drawLine(const QPointF &p1, const QPointF &p2) {drawLine(QLineF(p1, p2));} void save(); void restore(); // non-virtual methods: void makeNonCosmetic(); protected: // property members: PainterModes mModes; bool mIsAntialiasing; // non-property members: QStack mAntialiasingStack; }; Q_DECLARE_OPERATORS_FOR_FLAGS(QCPPainter::PainterModes) class QCP_LIB_DECL QCPLayer : public QObject { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QCustomPlot* parentPlot READ parentPlot) Q_PROPERTY(QString name READ name) Q_PROPERTY(int index READ index) Q_PROPERTY(QList children READ children) /// \endcond public: QCPLayer(QCustomPlot* parentPlot, const QString &layerName); ~QCPLayer(); // getters: QCustomPlot *parentPlot() const { return mParentPlot; } QString name() const { return mName; } int index() const { return mIndex; } QList children() const { return mChildren; } protected: // property members: QCustomPlot *mParentPlot; QString mName; int mIndex; QList mChildren; // non-virtual methods: void addChild(QCPLayerable *layerable, bool prepend); void removeChild(QCPLayerable *layerable); private: Q_DISABLE_COPY(QCPLayer) friend class QCustomPlot; friend class QCPLayerable; }; class QCP_LIB_DECL QCPLayerable : public QObject { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(bool visible READ visible WRITE setVisible) Q_PROPERTY(QCustomPlot* parentPlot READ parentPlot) Q_PROPERTY(QCPLayerable* parentLayerable READ parentLayerable) Q_PROPERTY(QCPLayer* layer READ layer WRITE setLayer) Q_PROPERTY(bool antialiased READ antialiased WRITE setAntialiased) /// \endcond public: QCPLayerable(QCustomPlot *plot, QString targetLayer="", QCPLayerable *parentLayerable=0); ~QCPLayerable(); // getters: bool visible() const { return mVisible; } QCustomPlot *parentPlot() const { return mParentPlot; } QCPLayerable *parentLayerable() const { return mParentLayerable.data(); } QCPLayer *layer() const { return mLayer; } bool antialiased() const { return mAntialiased; } // setters: void setVisible(bool on); bool setLayer(QCPLayer *layer); bool setLayer(const QString &layerName); void setAntialiased(bool enabled); // introduced virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; // non-property methods: bool realVisibility() const; protected: // property members: bool mVisible; QCustomPlot *mParentPlot; QPointer mParentLayerable; QCPLayer *mLayer; bool mAntialiased; // introduced virtual methods: virtual void parentPlotInitialized(QCustomPlot *parentPlot); virtual QCP::Interaction selectionCategory() const; virtual QRect clipRect() const; virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const = 0; virtual void draw(QCPPainter *painter) = 0; // events: virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged); virtual void deselectEvent(bool *selectionStateChanged); // non-property methods: void initializeParentPlot(QCustomPlot *parentPlot); void setParentLayerable(QCPLayerable* parentLayerable); bool moveToLayer(QCPLayer *layer, bool prepend); void applyAntialiasingHint(QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const; private: Q_DISABLE_COPY(QCPLayerable) friend class QCustomPlot; friend class QCPAxisRect; }; class QCP_LIB_DECL QCPRange { public: double lower, upper; QCPRange(); QCPRange(double lower, double upper); double size() const; double center() const; void normalize(); void expand(const QCPRange &otherRange); QCPRange expanded(const QCPRange &otherRange) const; QCPRange sanitizedForLogScale() const; QCPRange sanitizedForLinScale() const; bool contains(double value) const; static bool validRange(double lower, double upper); static bool validRange(const QCPRange &range); static const double minRange; //1e-280; static const double maxRange; //1e280; }; Q_DECLARE_TYPEINFO(QCPRange, Q_MOVABLE_TYPE); class QCP_LIB_DECL QCPMarginGroup : public QObject { Q_OBJECT public: QCPMarginGroup(QCustomPlot *parentPlot); ~QCPMarginGroup(); // non-virtual methods: QList elements(QCP::MarginSide side) const { return mChildren.value(side); } bool isEmpty() const; void clear(); protected: // non-property members: QCustomPlot *mParentPlot; QHash > mChildren; // non-virtual methods: int commonMargin(QCP::MarginSide side) const; void addChild(QCP::MarginSide side, QCPLayoutElement *element); void removeChild(QCP::MarginSide side, QCPLayoutElement *element); private: Q_DISABLE_COPY(QCPMarginGroup) friend class QCPLayoutElement; }; class QCP_LIB_DECL QCPLayoutElement : public QCPLayerable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QCPLayout* layout READ layout) Q_PROPERTY(QRect rect READ rect) Q_PROPERTY(QRect outerRect READ outerRect WRITE setOuterRect) Q_PROPERTY(QMargins margins READ margins WRITE setMargins) Q_PROPERTY(QMargins minimumMargins READ minimumMargins WRITE setMinimumMargins) Q_PROPERTY(QSize minimumSize READ minimumSize WRITE setMinimumSize) Q_PROPERTY(QSize maximumSize READ maximumSize WRITE setMaximumSize) /// \endcond public: explicit QCPLayoutElement(QCustomPlot *parentPlot=0); virtual ~QCPLayoutElement(); // getters: QCPLayout *layout() const { return mParentLayout; } QRect rect() const { return mRect; } QRect outerRect() const { return mOuterRect; } QMargins margins() const { return mMargins; } QMargins minimumMargins() const { return mMinimumMargins; } QCP::MarginSides autoMargins() const { return mAutoMargins; } QSize minimumSize() const { return mMinimumSize; } QSize maximumSize() const { return mMaximumSize; } QCPMarginGroup *marginGroup(QCP::MarginSide side) const { return mMarginGroups.value(side, (QCPMarginGroup*)0); } QHash marginGroups() const { return mMarginGroups; } // setters: void setOuterRect(const QRect &rect); void setMargins(const QMargins &margins); void setMinimumMargins(const QMargins &margins); void setAutoMargins(QCP::MarginSides sides); void setMinimumSize(const QSize &size); void setMinimumSize(int width, int height); void setMaximumSize(const QSize &size); void setMaximumSize(int width, int height); void setMarginGroup(QCP::MarginSides sides, QCPMarginGroup *group); // introduced virtual methods: virtual void update(); virtual QSize minimumSizeHint() const; virtual QSize maximumSizeHint() const; virtual QList elements(bool recursive) const; // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; protected: // property members: QCPLayout *mParentLayout; QSize mMinimumSize, mMaximumSize; QRect mRect, mOuterRect; QMargins mMargins, mMinimumMargins; QCP::MarginSides mAutoMargins; QHash mMarginGroups; // introduced virtual methods: virtual int calculateAutoMargin(QCP::MarginSide side); // events: virtual void mousePressEvent(QMouseEvent *event) {Q_UNUSED(event)} virtual void mouseMoveEvent(QMouseEvent *event) {Q_UNUSED(event)} virtual void mouseReleaseEvent(QMouseEvent *event) {Q_UNUSED(event)} virtual void mouseDoubleClickEvent(QMouseEvent *event) {Q_UNUSED(event)} virtual void wheelEvent(QWheelEvent *event) {Q_UNUSED(event)} // reimplemented virtual methods: virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const { Q_UNUSED(painter) } virtual void draw(QCPPainter *painter) { Q_UNUSED(painter) } virtual void parentPlotInitialized(QCustomPlot *parentPlot); private: Q_DISABLE_COPY(QCPLayoutElement) friend class QCustomPlot; friend class QCPLayout; friend class QCPMarginGroup; }; class QCP_LIB_DECL QCPLayout : public QCPLayoutElement { Q_OBJECT public: explicit QCPLayout(); // reimplemented virtual methods: virtual void update(); virtual QList elements(bool recursive) const; // introduced virtual methods: virtual int elementCount() const = 0; virtual QCPLayoutElement* elementAt(int index) const = 0; virtual QCPLayoutElement* takeAt(int index) = 0; virtual bool take(QCPLayoutElement* element) = 0; virtual void simplify(); // non-virtual methods: bool removeAt(int index); bool remove(QCPLayoutElement* element); void clear(); protected: // introduced virtual methods: virtual void updateLayout(); // non-virtual methods: void sizeConstraintsChanged() const; void adoptElement(QCPLayoutElement *el); void releaseElement(QCPLayoutElement *el); QVector getSectionSizes(QVector maxSizes, QVector minSizes, QVector stretchFactors, int totalSize) const; private: Q_DISABLE_COPY(QCPLayout) friend class QCPLayoutElement; }; class QCP_LIB_DECL QCPLayoutGrid : public QCPLayout { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(int rowCount READ rowCount) Q_PROPERTY(int columnCount READ columnCount) Q_PROPERTY(QList columnStretchFactors READ columnStretchFactors WRITE setColumnStretchFactors) Q_PROPERTY(QList rowStretchFactors READ rowStretchFactors WRITE setRowStretchFactors) Q_PROPERTY(int columnSpacing READ columnSpacing WRITE setColumnSpacing) Q_PROPERTY(int rowSpacing READ rowSpacing WRITE setRowSpacing) /// \endcond public: explicit QCPLayoutGrid(); virtual ~QCPLayoutGrid(); // getters: int rowCount() const; int columnCount() const; QList columnStretchFactors() const { return mColumnStretchFactors; } QList rowStretchFactors() const { return mRowStretchFactors; } int columnSpacing() const { return mColumnSpacing; } int rowSpacing() const { return mRowSpacing; } // setters: void setColumnStretchFactor(int column, double factor); void setColumnStretchFactors(const QList &factors); void setRowStretchFactor(int row, double factor); void setRowStretchFactors(const QList &factors); void setColumnSpacing(int pixels); void setRowSpacing(int pixels); // reimplemented virtual methods: virtual void updateLayout(); virtual int elementCount() const; virtual QCPLayoutElement* elementAt(int index) const; virtual QCPLayoutElement* takeAt(int index); virtual bool take(QCPLayoutElement* element); virtual QList elements(bool recursive) const; virtual void simplify(); virtual QSize minimumSizeHint() const; virtual QSize maximumSizeHint() const; // non-virtual methods: QCPLayoutElement *element(int row, int column) const; bool addElement(int row, int column, QCPLayoutElement *element); bool hasElement(int row, int column); void expandTo(int newRowCount, int newColumnCount); void insertRow(int newIndex); void insertColumn(int newIndex); protected: // property members: QList > mElements; QList mColumnStretchFactors; QList mRowStretchFactors; int mColumnSpacing, mRowSpacing; // non-virtual methods: void getMinimumRowColSizes(QVector *minColWidths, QVector *minRowHeights) const; void getMaximumRowColSizes(QVector *maxColWidths, QVector *maxRowHeights) const; private: Q_DISABLE_COPY(QCPLayoutGrid) }; class QCP_LIB_DECL QCPLayoutInset : public QCPLayout { Q_OBJECT public: /*! Defines how the placement and sizing is handled for a certain element in a QCPLayoutInset. */ enum InsetPlacement {ipFree ///< The element may be positioned/sized arbitrarily, see \ref setInsetRect ,ipBorderAligned ///< The element is aligned to one of the layout sides, see \ref setInsetAlignment }; explicit QCPLayoutInset(); virtual ~QCPLayoutInset(); // getters: InsetPlacement insetPlacement(int index) const; Qt::Alignment insetAlignment(int index) const; QRectF insetRect(int index) const; // setters: void setInsetPlacement(int index, InsetPlacement placement); void setInsetAlignment(int index, Qt::Alignment alignment); void setInsetRect(int index, const QRectF &rect); // reimplemented virtual methods: virtual void updateLayout(); virtual int elementCount() const; virtual QCPLayoutElement* elementAt(int index) const; virtual QCPLayoutElement* takeAt(int index); virtual bool take(QCPLayoutElement* element); virtual void simplify() {} virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; // non-virtual methods: void addElement(QCPLayoutElement *element, Qt::Alignment alignment); void addElement(QCPLayoutElement *element, const QRectF &rect); protected: // property members: QList mElements; QList mInsetPlacement; QList mInsetAlignment; QList mInsetRect; private: Q_DISABLE_COPY(QCPLayoutInset) }; class QCP_LIB_DECL QCPLineEnding { Q_GADGET public: /*! Defines the type of ending decoration for line-like items, e.g. an arrow. \image html QCPLineEnding.png The width and length of these decorations can be controlled with the functions \ref setWidth and \ref setLength. Some decorations like \ref esDisc, \ref esSquare, \ref esDiamond and \ref esBar only support a width, the length property is ignored. \see QCPItemLine::setHead, QCPItemLine::setTail, QCPItemCurve::setHead, QCPItemCurve::setTail */ Q_ENUMS(EndingStyle) enum EndingStyle { esNone ///< No ending decoration ,esFlatArrow ///< A filled arrow head with a straight/flat back (a triangle) ,esSpikeArrow ///< A filled arrow head with an indented back ,esLineArrow ///< A non-filled arrow head with open back ,esDisc ///< A filled circle ,esSquare ///< A filled square ,esDiamond ///< A filled diamond (45° rotated square) ,esBar ///< A bar perpendicular to the line ,esHalfBar ///< A bar perpendicular to the line sticking out to one side ,esSkewedBar ///< A bar that is skewed (skew controllable via \ref setLength) }; QCPLineEnding(); QCPLineEnding(EndingStyle style, double width=8, double length=10, bool inverted=false); // getters: EndingStyle style() const { return mStyle; } double width() const { return mWidth; } double length() const { return mLength; } bool inverted() const { return mInverted; } // setters: void setStyle(EndingStyle style); void setWidth(double width); void setLength(double length); void setInverted(bool inverted); // non-property methods: double boundingDistance() const; double realLength() const; void draw(QCPPainter *painter, const QVector2D &pos, const QVector2D &dir) const; void draw(QCPPainter *painter, const QVector2D &pos, double angle) const; protected: // property members: EndingStyle mStyle; double mWidth, mLength; bool mInverted; }; Q_DECLARE_TYPEINFO(QCPLineEnding, Q_MOVABLE_TYPE); class QCP_LIB_DECL QCPGrid :public QCPLayerable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(bool subGridVisible READ subGridVisible WRITE setSubGridVisible) Q_PROPERTY(bool antialiasedSubGrid READ antialiasedSubGrid WRITE setAntialiasedSubGrid) Q_PROPERTY(bool antialiasedZeroLine READ antialiasedZeroLine WRITE setAntialiasedZeroLine) Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen subGridPen READ subGridPen WRITE setSubGridPen) Q_PROPERTY(QPen zeroLinePen READ zeroLinePen WRITE setZeroLinePen) /// \endcond public: QCPGrid(QCPAxis *parentAxis); // getters: bool subGridVisible() const { return mSubGridVisible; } bool antialiasedSubGrid() const { return mAntialiasedSubGrid; } bool antialiasedZeroLine() const { return mAntialiasedZeroLine; } QPen pen() const { return mPen; } QPen subGridPen() const { return mSubGridPen; } QPen zeroLinePen() const { return mZeroLinePen; } // setters: void setSubGridVisible(bool visible); void setAntialiasedSubGrid(bool enabled); void setAntialiasedZeroLine(bool enabled); void setPen(const QPen &pen); void setSubGridPen(const QPen &pen); void setZeroLinePen(const QPen &pen); protected: // property members: bool mSubGridVisible; bool mAntialiasedSubGrid, mAntialiasedZeroLine; QPen mPen, mSubGridPen, mZeroLinePen; // non-property members: QCPAxis *mParentAxis; // reimplemented virtual methods: virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const; virtual void draw(QCPPainter *painter); // non-virtual methods: void drawGridLines(QCPPainter *painter) const; void drawSubGridLines(QCPPainter *painter) const; friend class QCPAxis; }; class QCP_LIB_DECL QCPAxis : public QCPLayerable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(AxisType axisType READ axisType) Q_PROPERTY(QCPAxisRect* axisRect READ axisRect) Q_PROPERTY(ScaleType scaleType READ scaleType WRITE setScaleType) Q_PROPERTY(double scaleLogBase READ scaleLogBase WRITE setScaleLogBase) Q_PROPERTY(QCPRange range READ range WRITE setRange) Q_PROPERTY(bool rangeReversed READ rangeReversed WRITE setRangeReversed) Q_PROPERTY(bool autoTicks READ autoTicks WRITE setAutoTicks) Q_PROPERTY(int autoTickCount READ autoTickCount WRITE setAutoTickCount) Q_PROPERTY(bool autoTickLabels READ autoTickLabels WRITE setAutoTickLabels) Q_PROPERTY(bool autoTickStep READ autoTickStep WRITE setAutoTickStep) Q_PROPERTY(bool autoSubTicks READ autoSubTicks WRITE setAutoSubTicks) Q_PROPERTY(bool ticks READ ticks WRITE setTicks) Q_PROPERTY(bool tickLabels READ tickLabels WRITE setTickLabels) Q_PROPERTY(int tickLabelPadding READ tickLabelPadding WRITE setTickLabelPadding) Q_PROPERTY(LabelType tickLabelType READ tickLabelType WRITE setTickLabelType) Q_PROPERTY(QFont tickLabelFont READ tickLabelFont WRITE setTickLabelFont) Q_PROPERTY(QColor tickLabelColor READ tickLabelColor WRITE setTickLabelColor) Q_PROPERTY(double tickLabelRotation READ tickLabelRotation WRITE setTickLabelRotation) Q_PROPERTY(QString dateTimeFormat READ dateTimeFormat WRITE setDateTimeFormat) Q_PROPERTY(QString numberFormat READ numberFormat WRITE setNumberFormat) Q_PROPERTY(int numberPrecision READ numberPrecision WRITE setNumberPrecision) Q_PROPERTY(double tickStep READ tickStep WRITE setTickStep) Q_PROPERTY(QVector tickVector READ tickVector WRITE setTickVector) Q_PROPERTY(QVector tickVectorLabels READ tickVectorLabels WRITE setTickVectorLabels) Q_PROPERTY(int tickLengthIn READ tickLengthIn WRITE setTickLengthIn) Q_PROPERTY(int tickLengthOut READ tickLengthOut WRITE setTickLengthOut) Q_PROPERTY(int subTickCount READ subTickCount WRITE setSubTickCount) Q_PROPERTY(int subTickLengthIn READ subTickLengthIn WRITE setSubTickLengthIn) Q_PROPERTY(int subTickLengthOut READ subTickLengthOut WRITE setSubTickLengthOut) Q_PROPERTY(QPen basePen READ basePen WRITE setBasePen) Q_PROPERTY(QPen tickPen READ tickPen WRITE setTickPen) Q_PROPERTY(QPen subTickPen READ subTickPen WRITE setSubTickPen) Q_PROPERTY(QFont labelFont READ labelFont WRITE setLabelFont) Q_PROPERTY(QColor labelColor READ labelColor WRITE setLabelColor) Q_PROPERTY(QString label READ label WRITE setLabel) Q_PROPERTY(int labelPadding READ labelPadding WRITE setLabelPadding) Q_PROPERTY(int padding READ padding WRITE setPadding) Q_PROPERTY(int offset READ offset WRITE setOffset) Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE setSelectedParts) Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE setSelectableParts) Q_PROPERTY(QFont selectedTickLabelFont READ selectedTickLabelFont WRITE setSelectedTickLabelFont) Q_PROPERTY(QFont selectedLabelFont READ selectedLabelFont WRITE setSelectedLabelFont) Q_PROPERTY(QColor selectedTickLabelColor READ selectedTickLabelColor WRITE setSelectedTickLabelColor) Q_PROPERTY(QColor selectedLabelColor READ selectedLabelColor WRITE setSelectedLabelColor) Q_PROPERTY(QPen selectedBasePen READ selectedBasePen WRITE setSelectedBasePen) Q_PROPERTY(QPen selectedTickPen READ selectedTickPen WRITE setSelectedTickPen) Q_PROPERTY(QPen selectedSubTickPen READ selectedSubTickPen WRITE setSelectedSubTickPen) Q_PROPERTY(QCPLineEnding lowerEnding READ lowerEnding WRITE setLowerEnding) Q_PROPERTY(QCPLineEnding upperEnding READ upperEnding WRITE setUpperEnding) Q_PROPERTY(QCPGrid* grid READ grid) /// \endcond public: /*! Defines at which side of the axis rect the axis will appear. This also affects how the tick marks are drawn, on which side the labels are placed etc. */ enum AxisType { atLeft = 0x01 ///< 0x01 Axis is vertical and on the left side of the axis rect ,atRight = 0x02 ///< 0x02 Axis is vertical and on the right side of the axis rect ,atTop = 0x04 ///< 0x04 Axis is horizontal and on the top side of the axis rect ,atBottom = 0x08 ///< 0x08 Axis is horizontal and on the bottom side of the axis rect }; Q_FLAGS(AxisType AxisTypes) Q_DECLARE_FLAGS(AxisTypes, AxisType) /*! When automatic tick label generation is enabled (\ref setAutoTickLabels), defines how the coordinate of the tick is interpreted, i.e. translated into a string. \see setTickLabelType */ enum LabelType { ltNumber ///< Tick coordinate is regarded as normal number and will be displayed as such. (see \ref setNumberFormat) ,ltDateTime ///< Tick coordinate is regarded as a date/time (seconds since 1970-01-01T00:00:00 UTC) and will be displayed and formatted as such. (for details, see \ref setDateTimeFormat) }; Q_ENUMS(LabelType) /*! Defines the scale of an axis. \see setScaleType */ enum ScaleType { stLinear ///< Linear scaling ,stLogarithmic ///< Logarithmic scaling with correspondingly transformed plots and (major) tick marks at every base power (see \ref setScaleLogBase). }; Q_ENUMS(ScaleType) /*! Defines the selectable parts of an axis. \see setSelectableParts, setSelectedParts */ enum SelectablePart { spNone = 0 ///< None of the selectable parts ,spAxis = 0x001 ///< The axis backbone and tick marks ,spTickLabels = 0x002 ///< Tick labels (numbers) of this axis (as a whole, not individually) ,spAxisLabel = 0x004 ///< The axis label }; Q_FLAGS(SelectablePart SelectableParts) Q_DECLARE_FLAGS(SelectableParts, SelectablePart) explicit QCPAxis(QCPAxisRect *parent, AxisType type); // getters: AxisType axisType() const { return mAxisType; } QCPAxisRect *axisRect() const { return mAxisRect; } ScaleType scaleType() const { return mScaleType; } double scaleLogBase() const { return mScaleLogBase; } const QCPRange range() const { return mRange; } bool rangeReversed() const { return mRangeReversed; } bool autoTicks() const { return mAutoTicks; } int autoTickCount() const { return mAutoTickCount; } bool autoTickLabels() const { return mAutoTickLabels; } bool autoTickStep() const { return mAutoTickStep; } bool autoSubTicks() const { return mAutoSubTicks; } bool ticks() const { return mTicks; } bool tickLabels() const { return mTickLabels; } int tickLabelPadding() const { return mTickLabelPadding; } LabelType tickLabelType() const { return mTickLabelType; } QFont tickLabelFont() const { return mTickLabelFont; } QColor tickLabelColor() const { return mTickLabelColor; } double tickLabelRotation() const { return mTickLabelRotation; } QString dateTimeFormat() const { return mDateTimeFormat; } Qt::TimeSpec dateTimeSpec() const { return mDateTimeSpec; } QString numberFormat() const; int numberPrecision() const { return mNumberPrecision; } double tickStep() const { return mTickStep; } QVector tickVector() const { return mTickVector; } QVector tickVectorLabels() const { return mTickVectorLabels; } int tickLengthIn() const { return mTickLengthIn; } int tickLengthOut() const { return mTickLengthOut; } int subTickCount() const { return mSubTickCount; } int subTickLengthIn() const { return mSubTickLengthIn; } int subTickLengthOut() const { return mSubTickLengthOut; } QPen basePen() const { return mBasePen; } QPen tickPen() const { return mTickPen; } QPen subTickPen() const { return mSubTickPen; } QFont labelFont() const { return mLabelFont; } QColor labelColor() const { return mLabelColor; } QString label() const { return mLabel; } int labelPadding() const { return mLabelPadding; } int padding() const { return mPadding; } int offset() const { return mOffset; } SelectableParts selectedParts() const { return mSelectedParts; } SelectableParts selectableParts() const { return mSelectableParts; } QFont selectedTickLabelFont() const { return mSelectedTickLabelFont; } QFont selectedLabelFont() const { return mSelectedLabelFont; } QColor selectedTickLabelColor() const { return mSelectedTickLabelColor; } QColor selectedLabelColor() const { return mSelectedLabelColor; } QPen selectedBasePen() const { return mSelectedBasePen; } QPen selectedTickPen() const { return mSelectedTickPen; } QPen selectedSubTickPen() const { return mSelectedSubTickPen; } QCPLineEnding lowerEnding() const { return mLowerEnding; } QCPLineEnding upperEnding() const { return mUpperEnding; } QCPGrid *grid() const { return mGrid; } // setters: void setScaleType(ScaleType type); void setScaleLogBase(double base); Q_SLOT void setRange(const QCPRange &range); void setRange(double lower, double upper); void setRange(double position, double size, Qt::AlignmentFlag alignment); void setRangeLower(double lower); void setRangeUpper(double upper); void setRangeReversed(bool reversed); void setAutoTicks(bool on); void setAutoTickCount(int approximateCount); void setAutoTickLabels(bool on); void setAutoTickStep(bool on); void setAutoSubTicks(bool on); void setTicks(bool show); void setTickLabels(bool show); void setTickLabelPadding(int padding); void setTickLabelType(LabelType type); void setTickLabelFont(const QFont &font); void setTickLabelColor(const QColor &color); void setTickLabelRotation(double degrees); void setDateTimeFormat(const QString &format); void setDateTimeSpec(const Qt::TimeSpec &timeSpec); void setNumberFormat(const QString &formatCode); void setNumberPrecision(int precision); void setTickStep(double step); void setTickVector(const QVector &vec); void setTickVectorLabels(const QVector &vec); void setTickLength(int inside, int outside=0); void setTickLengthIn(int inside); void setTickLengthOut(int outside); void setSubTickCount(int count); void setSubTickLength(int inside, int outside=0); void setSubTickLengthIn(int inside); void setSubTickLengthOut(int outside); void setBasePen(const QPen &pen); void setTickPen(const QPen &pen); void setSubTickPen(const QPen &pen); void setLabelFont(const QFont &font); void setLabelColor(const QColor &color); void setLabel(const QString &str); void setLabelPadding(int padding); void setPadding(int padding); void setOffset(int offset); void setSelectedTickLabelFont(const QFont &font); void setSelectedLabelFont(const QFont &font); void setSelectedTickLabelColor(const QColor &color); void setSelectedLabelColor(const QColor &color); void setSelectedBasePen(const QPen &pen); void setSelectedTickPen(const QPen &pen); void setSelectedSubTickPen(const QPen &pen); Q_SLOT void setSelectableParts(const QCPAxis::SelectableParts &selectableParts); Q_SLOT void setSelectedParts(const QCPAxis::SelectableParts &selectedParts); void setLowerEnding(const QCPLineEnding &ending); void setUpperEnding(const QCPLineEnding &ending); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; // non-virtual methods: Qt::Orientation orientation() const { return mOrientation; } void moveRange(double diff); void scaleRange(double factor, double center); void setScaleRatio(const QCPAxis *otherAxis, double ratio=1.0); void rescale(bool onlyVisiblePlottables=false); double pixelToCoord(double value) const; double coordToPixel(double value) const; SelectablePart getPartAt(const QPointF &pos) const; QList plottables() const; QList graphs() const; QList items() const; static AxisType marginSideToAxisType(QCP::MarginSide side); signals: void ticksRequest(); void rangeChanged(const QCPRange &newRange); void rangeChanged(const QCPRange &newRange, const QCPRange &oldRange); void selectionChanged(const QCPAxis::SelectableParts &parts); protected: struct CachedLabel { QPointF offset; QPixmap pixmap; }; struct TickLabelData { QString basePart, expPart; QRect baseBounds, expBounds, totalBounds, rotatedTotalBounds; QFont baseFont, expFont; }; // property members: // axis base: AxisType mAxisType; QCPAxisRect *mAxisRect; int mOffset, mPadding; Qt::Orientation mOrientation; SelectableParts mSelectableParts, mSelectedParts; QPen mBasePen, mSelectedBasePen; QCPLineEnding mLowerEnding, mUpperEnding; // axis label: int mLabelPadding; QString mLabel; QFont mLabelFont, mSelectedLabelFont; QColor mLabelColor, mSelectedLabelColor; // tick labels: int mTickLabelPadding; bool mTickLabels, mAutoTickLabels; double mTickLabelRotation; LabelType mTickLabelType; QFont mTickLabelFont, mSelectedTickLabelFont; QColor mTickLabelColor, mSelectedTickLabelColor; QString mDateTimeFormat; Qt::TimeSpec mDateTimeSpec; int mNumberPrecision; char mNumberFormatChar; bool mNumberBeautifulPowers; bool mNumberMultiplyCross; // ticks and subticks: bool mTicks; double mTickStep; int mSubTickCount, mAutoTickCount; bool mAutoTicks, mAutoTickStep, mAutoSubTicks; int mTickLengthIn, mTickLengthOut, mSubTickLengthIn, mSubTickLengthOut; QPen mTickPen, mSelectedTickPen; QPen mSubTickPen, mSelectedSubTickPen; // scale and range: QCPRange mRange; bool mRangeReversed; ScaleType mScaleType; double mScaleLogBase, mScaleLogBaseLogInv; // non-property members: QCPGrid *mGrid; QCache mLabelCache; int mLowestVisibleTick, mHighestVisibleTick; QChar mExponentialChar, mPositiveSignChar; QVector mTickVector; QVector mTickVectorLabels; QVector mSubTickVector; QRect mAxisSelectionBox, mTickLabelsSelectionBox, mLabelSelectionBox; bool mCachedMarginValid; int mCachedMargin; // introduced virtual methods: virtual void setupTickVectors(); virtual void generateAutoTicks(); virtual int calculateAutoSubTickCount(double tickStep) const; virtual int calculateMargin(); // tick label drawing/caching: virtual void placeTickLabel(QCPPainter *painter, double position, int distanceToAxis, const QString &text, QSize *tickLabelsSize); virtual void drawTickLabel(QCPPainter *painter, double x, double y, const TickLabelData &labelData) const; virtual TickLabelData getTickLabelData(const QFont &font, const QString &text) const; virtual QPointF getTickLabelDrawOffset(const TickLabelData &labelData) const; virtual void getMaxTickLabelSize(const QFont &font, const QString &text, QSize *tickLabelsSize) const; // reimplemented virtual methods: virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const; virtual void draw(QCPPainter *painter); virtual QCP::Interaction selectionCategory() const; // events: virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged); virtual void deselectEvent(bool *selectionStateChanged); // non-virtual methods: void visibleTickBounds(int &lowIndex, int &highIndex) const; double baseLog(double value) const; double basePow(double value) const; QPen getBasePen() const; QPen getTickPen() const; QPen getSubTickPen() const; QFont getTickLabelFont() const; QFont getLabelFont() const; QColor getTickLabelColor() const; QColor getLabelColor() const; private: Q_DISABLE_COPY(QCPAxis) friend class QCustomPlot; friend class QCPGrid; friend class QCPAxisRect; }; Q_DECLARE_OPERATORS_FOR_FLAGS(QCPAxis::SelectableParts) Q_DECLARE_OPERATORS_FOR_FLAGS(QCPAxis::AxisTypes) Q_DECLARE_METATYPE(QCPAxis::SelectablePart) class QCP_LIB_DECL QCPAbstractPlottable : public QCPLayerable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QString name READ name WRITE setName) Q_PROPERTY(bool antialiasedFill READ antialiasedFill WRITE setAntialiasedFill) Q_PROPERTY(bool antialiasedScatters READ antialiasedScatters WRITE setAntialiasedScatters) Q_PROPERTY(bool antialiasedErrorBars READ antialiasedErrorBars WRITE setAntialiasedErrorBars) Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) Q_PROPERTY(QBrush brush READ brush WRITE setBrush) Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) Q_PROPERTY(QCPAxis* keyAxis READ keyAxis WRITE setKeyAxis) Q_PROPERTY(QCPAxis* valueAxis READ valueAxis WRITE setValueAxis) Q_PROPERTY(bool selectable READ selectable WRITE setSelectable) Q_PROPERTY(bool selected READ selected WRITE setSelected) /// \endcond public: QCPAbstractPlottable(QCPAxis *keyAxis, QCPAxis *valueAxis); // getters: QString name() const { return mName; } bool antialiasedFill() const { return mAntialiasedFill; } bool antialiasedScatters() const { return mAntialiasedScatters; } bool antialiasedErrorBars() const { return mAntialiasedErrorBars; } QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } QBrush brush() const { return mBrush; } QBrush selectedBrush() const { return mSelectedBrush; } QCPAxis *keyAxis() const { return mKeyAxis.data(); } QCPAxis *valueAxis() const { return mValueAxis.data(); } bool selectable() const { return mSelectable; } bool selected() const { return mSelected; } // setters: void setName(const QString &name); void setAntialiasedFill(bool enabled); void setAntialiasedScatters(bool enabled); void setAntialiasedErrorBars(bool enabled); void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); void setBrush(const QBrush &brush); void setSelectedBrush(const QBrush &brush); void setKeyAxis(QCPAxis *axis); void setValueAxis(QCPAxis *axis); Q_SLOT void setSelectable(bool selectable); Q_SLOT void setSelected(bool selected); // introduced virtual methods: virtual void clearData() = 0; virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const = 0; virtual bool addToLegend(); virtual bool removeFromLegend() const; // non-property methods: void rescaleAxes(bool onlyEnlarge=false) const; void rescaleKeyAxis(bool onlyEnlarge=false) const; void rescaleValueAxis(bool onlyEnlarge=false) const; signals: void selectionChanged(bool selected); protected: /*! Represents negative and positive sign domain for passing to \ref getKeyRange and \ref getValueRange. */ enum SignDomain { sdNegative ///< The negative sign domain, i.e. numbers smaller than zero ,sdBoth ///< Both sign domains, including zero, i.e. all (rational) numbers ,sdPositive ///< The positive sign domain, i.e. numbers greater than zero }; // property members: QString mName; bool mAntialiasedFill, mAntialiasedScatters, mAntialiasedErrorBars; QPen mPen, mSelectedPen; QBrush mBrush, mSelectedBrush; QPointer mKeyAxis, mValueAxis; bool mSelectable, mSelected; // reimplemented virtual methods: virtual QRect clipRect() const; virtual void draw(QCPPainter *painter) = 0; virtual QCP::Interaction selectionCategory() const; void applyDefaultAntialiasingHint(QCPPainter *painter) const; // events: virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged); virtual void deselectEvent(bool *selectionStateChanged); // introduced virtual methods: virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const = 0; virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const = 0; virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const = 0; // non-virtual methods: void coordsToPixels(double key, double value, double &x, double &y) const; const QPointF coordsToPixels(double key, double value) const; void pixelsToCoords(double x, double y, double &key, double &value) const; void pixelsToCoords(const QPointF &pixelPos, double &key, double &value) const; QPen mainPen() const; QBrush mainBrush() const; void applyFillAntialiasingHint(QCPPainter *painter) const; void applyScattersAntialiasingHint(QCPPainter *painter) const; void applyErrorBarsAntialiasingHint(QCPPainter *painter) const; double distSqrToLine(const QPointF &start, const QPointF &end, const QPointF &point) const; private: Q_DISABLE_COPY(QCPAbstractPlottable) friend class QCustomPlot; friend class QCPAxis; friend class QCPPlottableLegendItem; }; class QCP_LIB_DECL QCPItemAnchor { public: QCPItemAnchor(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString name, int anchorId=-1); virtual ~QCPItemAnchor(); // getters: QString name() const { return mName; } virtual QPointF pixelPoint() const; protected: // property members: QString mName; // non-property members: QCustomPlot *mParentPlot; QCPAbstractItem *mParentItem; int mAnchorId; QSet mChildren; // introduced virtual methods: virtual QCPItemPosition *toQCPItemPosition() { return 0; } // non-virtual methods: void addChild(QCPItemPosition* pos); // called from pos when this anchor is set as parent void removeChild(QCPItemPosition *pos); // called from pos when its parent anchor is reset or pos deleted private: Q_DISABLE_COPY(QCPItemAnchor) friend class QCPItemPosition; }; class QCP_LIB_DECL QCPItemPosition : public QCPItemAnchor { public: /*! Defines the ways an item position can be specified. Thus it defines what the numbers passed to \ref setCoords actually mean. \see setType */ enum PositionType { ptAbsolute ///< Static positioning in pixels, starting from the top left corner of the viewport/widget. ,ptViewportRatio ///< Static positioning given by a fraction of the viewport size. ,ptAxisRectRatio ///< Static positioning given by a fraction of the axis rect size (see \ref setAxisRect). ,ptPlotCoords ///< Dynamic positioning at a plot coordinate defined by two axes (see \ref setAxes). }; QCPItemPosition(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString name); virtual ~QCPItemPosition(); // getters: PositionType type() const { return mPositionType; } QCPItemAnchor *parentAnchor() const { return mParentAnchor; } double key() const { return mKey; } double value() const { return mValue; } QPointF coords() const { return QPointF(mKey, mValue); } QCPAxis *keyAxis() const { return mKeyAxis.data(); } QCPAxis *valueAxis() const { return mValueAxis.data(); } QCPAxisRect *axisRect() const; virtual QPointF pixelPoint() const; // setters: void setType(PositionType type); bool setParentAnchor(QCPItemAnchor *parentAnchor, bool keepPixelPosition=false); void setCoords(double key, double value); void setCoords(const QPointF &coords); void setAxes(QCPAxis* keyAxis, QCPAxis* valueAxis); void setAxisRect(QCPAxisRect *axisRect); void setPixelPoint(const QPointF &pixelPoint); protected: // property members: PositionType mPositionType; QPointer mKeyAxis, mValueAxis; QPointer mAxisRect; double mKey, mValue; QCPItemAnchor *mParentAnchor; // reimplemented virtual methods: virtual QCPItemPosition *toQCPItemPosition() { return this; } private: Q_DISABLE_COPY(QCPItemPosition) }; class QCP_LIB_DECL QCPAbstractItem : public QCPLayerable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(bool clipToAxisRect READ clipToAxisRect WRITE setClipToAxisRect) Q_PROPERTY(QCPAxisRect* clipAxisRect READ clipAxisRect WRITE setClipAxisRect) Q_PROPERTY(bool selectable READ selectable WRITE setSelectable) Q_PROPERTY(bool selected READ selected WRITE setSelected) /// \endcond public: QCPAbstractItem(QCustomPlot *parentPlot); virtual ~QCPAbstractItem(); // getters: bool clipToAxisRect() const { return mClipToAxisRect; } QCPAxisRect *clipAxisRect() const; bool selectable() const { return mSelectable; } bool selected() const { return mSelected; } // setters: void setClipToAxisRect(bool clip); void setClipAxisRect(QCPAxisRect *rect); void setSelectable(bool selectable); void setSelected(bool selected); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const = 0; // non-virtual methods: QList positions() const { return mPositions; } QList anchors() const { return mAnchors; } QCPItemPosition *position(const QString &name) const; QCPItemAnchor *anchor(const QString &name) const; bool hasAnchor(const QString &name) const; signals: void selectionChanged(bool selected); protected: // property members: bool mClipToAxisRect; QPointer mClipAxisRect; QList mPositions; QList mAnchors; bool mSelectable, mSelected; // reimplemented virtual methods: virtual QCP::Interaction selectionCategory() const; virtual QRect clipRect() const; virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const; virtual void draw(QCPPainter *painter) = 0; // events: virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged); virtual void deselectEvent(bool *selectionStateChanged); // introduced virtual methods: virtual QPointF anchorPixelPoint(int anchorId) const; // non-virtual methods: double distSqrToLine(const QPointF &start, const QPointF &end, const QPointF &point) const; double rectSelectTest(const QRectF &rect, const QPointF &pos, bool filledRect) const; QCPItemPosition *createPosition(const QString &name); QCPItemAnchor *createAnchor(const QString &name, int anchorId); private: Q_DISABLE_COPY(QCPAbstractItem) friend class QCustomPlot; friend class QCPItemAnchor; }; class QCP_LIB_DECL QCustomPlot : public QWidget { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QRect viewport READ viewport WRITE setViewport) Q_PROPERTY(QPixmap background READ background WRITE setBackground) Q_PROPERTY(bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled) Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode WRITE setBackgroundScaledMode) Q_PROPERTY(QCPLayoutGrid* plotLayout READ plotLayout) Q_PROPERTY(bool autoAddPlottableToLegend READ autoAddPlottableToLegend WRITE setAutoAddPlottableToLegend) Q_PROPERTY(int selectionTolerance READ selectionTolerance WRITE setSelectionTolerance) Q_PROPERTY(bool noAntialiasingOnDrag READ noAntialiasingOnDrag WRITE setNoAntialiasingOnDrag) Q_PROPERTY(Qt::KeyboardModifier multiSelectModifier READ multiSelectModifier WRITE setMultiSelectModifier) /// \endcond public: /*! Defines how a layer should be inserted relative to an other layer. \see addLayer, moveLayer */ enum LayerInsertMode { limBelow ///< Layer is inserted below other layer ,limAbove ///< Layer is inserted above other layer }; Q_ENUMS(LayerInsertMode) explicit QCustomPlot(QWidget *parent = 0); virtual ~QCustomPlot(); // getters: QRect viewport() const { return mViewport; } QPixmap background() const { return mBackgroundPixmap; } bool backgroundScaled() const { return mBackgroundScaled; } Qt::AspectRatioMode backgroundScaledMode() const { return mBackgroundScaledMode; } QCPLayoutGrid *plotLayout() const { return mPlotLayout; } QCP::AntialiasedElements antialiasedElements() const { return mAntialiasedElements; } QCP::AntialiasedElements notAntialiasedElements() const { return mNotAntialiasedElements; } bool autoAddPlottableToLegend() const { return mAutoAddPlottableToLegend; } const QCP::Interactions interactions() const { return mInteractions; } int selectionTolerance() const { return mSelectionTolerance; } bool noAntialiasingOnDrag() const { return mNoAntialiasingOnDrag; } QCP::PlottingHints plottingHints() const { return mPlottingHints; } Qt::KeyboardModifier multiSelectModifier() const { return mMultiSelectModifier; } // setters: void setViewport(const QRect &rect); void setBackground(const QPixmap &pm); void setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding); void setBackground(const QBrush &brush); void setBackgroundScaled(bool scaled); void setBackgroundScaledMode(Qt::AspectRatioMode mode); void setAntialiasedElements(const QCP::AntialiasedElements &antialiasedElements); void setAntialiasedElement(QCP::AntialiasedElement antialiasedElement, bool enabled=true); void setNotAntialiasedElements(const QCP::AntialiasedElements ¬AntialiasedElements); void setNotAntialiasedElement(QCP::AntialiasedElement notAntialiasedElement, bool enabled=true); void setAutoAddPlottableToLegend(bool on); void setInteractions(const QCP::Interactions &interactions); void setInteraction(const QCP::Interaction &interaction, bool enabled=true); void setSelectionTolerance(int pixels); void setNoAntialiasingOnDrag(bool enabled); void setPlottingHints(const QCP::PlottingHints &hints); void setPlottingHint(QCP::PlottingHint hint, bool enabled=true); void setMultiSelectModifier(Qt::KeyboardModifier modifier); // non-property methods: // plottable interface: QCPAbstractPlottable *plottable(int index); QCPAbstractPlottable *plottable(); bool addPlottable(QCPAbstractPlottable *plottable); bool removePlottable(QCPAbstractPlottable *plottable); bool removePlottable(int index); int clearPlottables(); int plottableCount() const; QList selectedPlottables() const; QCPAbstractPlottable *plottableAt(const QPointF &pos, bool onlySelectable=false) const; bool hasPlottable(QCPAbstractPlottable *plottable) const; // specialized interface for QCPGraph: QCPGraph *graph(int index) const; QCPGraph *graph() const; QCPGraph *addGraph(QCPAxis *keyAxis=0, QCPAxis *valueAxis=0); bool removeGraph(QCPGraph *graph); bool removeGraph(int index); int clearGraphs(); int graphCount() const; QList selectedGraphs() const; // item interface: QCPAbstractItem *item(int index) const; QCPAbstractItem *item() const; bool addItem(QCPAbstractItem* item); bool removeItem(QCPAbstractItem *item); bool removeItem(int index); int clearItems(); int itemCount() const; QList selectedItems() const; QCPAbstractItem *itemAt(const QPointF &pos, bool onlySelectable=false) const; bool hasItem(QCPAbstractItem *item) const; // layer interface: QCPLayer *layer(const QString &name) const; QCPLayer *layer(int index) const; QCPLayer *currentLayer() const; bool setCurrentLayer(const QString &name); bool setCurrentLayer(QCPLayer *layer); int layerCount() const; bool addLayer(const QString &name, QCPLayer *otherLayer=0, LayerInsertMode insertMode=limAbove); bool removeLayer(QCPLayer *layer); bool moveLayer(QCPLayer *layer, QCPLayer *otherLayer, LayerInsertMode insertMode=limAbove); // axis rect/layout interface: int axisRectCount() const; QCPAxisRect* axisRect(int index=0) const; QList axisRects() const; QCPLayoutElement* layoutElementAt(const QPointF &pos) const; Q_SLOT void rescaleAxes(bool onlyVisiblePlottables=false); QList selectedAxes() const; QList selectedLegends() const; Q_SLOT void deselectAll(); bool savePdf(const QString &fileName, bool noCosmeticPen=false, int width=0, int height=0); bool savePng(const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1); bool saveJpg(const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1); bool saveBmp(const QString &fileName, int width=0, int height=0, double scale=1.0); bool saveRastered(const QString &fileName, int width, int height, double scale, const char *format, int quality=-1); QPixmap toPixmap(int width=0, int height=0, double scale=1.0); void toPainter(QCPPainter *painter, int width=0, int height=0); Q_SLOT void replot(); QCPAxis *xAxis, *yAxis, *xAxis2, *yAxis2; QCPLegend *legend; signals: void mouseDoubleClick(QMouseEvent *event); void mousePress(QMouseEvent *event); void mouseMove(QMouseEvent *event); void mouseRelease(QMouseEvent *event); void mouseWheel(QWheelEvent *event); void plottableClick(QCPAbstractPlottable *plottable, QMouseEvent *event); void plottableDoubleClick(QCPAbstractPlottable *plottable, QMouseEvent *event); void itemClick(QCPAbstractItem *item, QMouseEvent *event); void itemDoubleClick(QCPAbstractItem *item, QMouseEvent *event); void axisClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event); void axisDoubleClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event); void legendClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event); void legendDoubleClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event); void titleClick(QMouseEvent *event, QCPPlotTitle *title); void titleDoubleClick(QMouseEvent *event, QCPPlotTitle *title); void selectionChangedByUser(); void beforeReplot(); void afterReplot(); protected: // property members: QRect mViewport; QCPLayoutGrid *mPlotLayout; bool mAutoAddPlottableToLegend; QList mPlottables; QList mGraphs; // extra list of plottables also in mPlottables that are of type QCPGraph QList mItems; QList mLayers; QCP::AntialiasedElements mAntialiasedElements, mNotAntialiasedElements; QCP::Interactions mInteractions; int mSelectionTolerance; bool mNoAntialiasingOnDrag; QBrush mBackgroundBrush; QPixmap mBackgroundPixmap; QPixmap mScaledBackgroundPixmap; bool mBackgroundScaled; Qt::AspectRatioMode mBackgroundScaledMode; QCPLayer *mCurrentLayer; QCP::PlottingHints mPlottingHints; Qt::KeyboardModifier mMultiSelectModifier; // non-property members: QPixmap mPaintBuffer; QPoint mMousePressPos; QCPLayoutElement *mMouseEventElement; bool mReplotting; // reimplemented virtual methods: virtual QSize minimumSizeHint() const; virtual QSize sizeHint() const; virtual void paintEvent(QPaintEvent *event); virtual void resizeEvent(QResizeEvent *event); virtual void mouseDoubleClickEvent(QMouseEvent *event); virtual void mousePressEvent(QMouseEvent *event); virtual void mouseMoveEvent(QMouseEvent *event); virtual void mouseReleaseEvent(QMouseEvent *event); virtual void wheelEvent(QWheelEvent *event); // introduced virtual methods: virtual void draw(QCPPainter *painter); virtual void axisRemoved(QCPAxis *axis); virtual void legendRemoved(QCPLegend *legend); // non-virtual methods: void updateLayerIndices() const; QCPLayerable *layerableAt(const QPointF &pos, bool onlySelectable, QVariant *selectionDetails=0) const; void drawBackground(QCPPainter *painter); friend class QCPLegend; friend class QCPAxis; friend class QCPLayer; friend class QCPAxisRect; }; /*! \file */ class QCP_LIB_DECL QCPData { public: QCPData(); QCPData(double key, double value); double key, value; double keyErrorPlus, keyErrorMinus; double valueErrorPlus, valueErrorMinus; }; Q_DECLARE_TYPEINFO(QCPData, Q_MOVABLE_TYPE); /*! \typedef QCPDataMap Container for storing QCPData items in a sorted fashion. The key of the map is the key member of the QCPData instance. This is the container in which QCPGraph holds its data. \see QCPData, QCPGraph::setData */ typedef QMap QCPDataMap; typedef QMapIterator QCPDataMapIterator; typedef QMutableMapIterator QCPDataMutableMapIterator; class QCP_LIB_DECL QCPGraph : public QCPAbstractPlottable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle) Q_PROPERTY(QCPScatterStyle scatterStyle READ scatterStyle WRITE setScatterStyle) Q_PROPERTY(ErrorType errorType READ errorType WRITE setErrorType) Q_PROPERTY(QPen errorPen READ errorPen WRITE setErrorPen) Q_PROPERTY(double errorBarSize READ errorBarSize WRITE setErrorBarSize) Q_PROPERTY(bool errorBarSkipSymbol READ errorBarSkipSymbol WRITE setErrorBarSkipSymbol) Q_PROPERTY(QCPGraph* channelFillGraph READ channelFillGraph WRITE setChannelFillGraph) /// \endcond public: /*! Defines how the graph's line is represented visually in the plot. The line is drawn with the current pen of the graph (\ref setPen). \see setLineStyle */ enum LineStyle { lsNone ///< data points are not connected with any lines (e.g. data only represented ///< with symbols according to the scatter style, see \ref setScatterStyle) ,lsLine ///< data points are connected by a straight line ,lsStepLeft ///< line is drawn as steps where the step height is the value of the left data point ,lsStepRight ///< line is drawn as steps where the step height is the value of the right data point ,lsStepCenter ///< line is drawn as steps where the step is in between two data points ,lsImpulse ///< each data point is represented by a line parallel to the value axis, which reaches from the data point to the zero-value-line }; Q_ENUMS(LineStyle) /*! Defines what kind of error bars are drawn for each data point */ enum ErrorType { etNone ///< No error bars are shown ,etKey ///< Error bars for the key dimension of the data point are shown ,etValue ///< Error bars for the value dimension of the data point are shown ,etBoth ///< Error bars for both key and value dimensions of the data point are shown }; Q_ENUMS(ErrorType) explicit QCPGraph(QCPAxis *keyAxis, QCPAxis *valueAxis); virtual ~QCPGraph(); // getters: const QCPDataMap *data() const { return mData; } LineStyle lineStyle() const { return mLineStyle; } QCPScatterStyle scatterStyle() const { return mScatterStyle; } ErrorType errorType() const { return mErrorType; } QPen errorPen() const { return mErrorPen; } double errorBarSize() const { return mErrorBarSize; } bool errorBarSkipSymbol() const { return mErrorBarSkipSymbol; } QCPGraph *channelFillGraph() const { return mChannelFillGraph.data(); } // setters: void setData(QCPDataMap *data, bool copy=false); void setData(const QVector &key, const QVector &value); void setDataKeyError(const QVector &key, const QVector &value, const QVector &keyError); void setDataKeyError(const QVector &key, const QVector &value, const QVector &keyErrorMinus, const QVector &keyErrorPlus); void setDataValueError(const QVector &key, const QVector &value, const QVector &valueError); void setDataValueError(const QVector &key, const QVector &value, const QVector &valueErrorMinus, const QVector &valueErrorPlus); void setDataBothError(const QVector &key, const QVector &value, const QVector &keyError, const QVector &valueError); void setDataBothError(const QVector &key, const QVector &value, const QVector &keyErrorMinus, const QVector &keyErrorPlus, const QVector &valueErrorMinus, const QVector &valueErrorPlus); void setLineStyle(LineStyle ls); void setScatterStyle(const QCPScatterStyle &style); void setErrorType(ErrorType errorType); void setErrorPen(const QPen &pen); void setErrorBarSize(double size); void setErrorBarSkipSymbol(bool enabled); void setChannelFillGraph(QCPGraph *targetGraph); // non-property methods: void addData(const QCPDataMap &dataMap); void addData(const QCPData &data); void addData(double key, double value); void addData(const QVector &keys, const QVector &values); void removeDataBefore(double key); void removeDataAfter(double key); void removeData(double fromKey, double toKey); void removeData(double key); // reimplemented virtual methods: virtual void clearData(); virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; using QCPAbstractPlottable::rescaleAxes; using QCPAbstractPlottable::rescaleKeyAxis; using QCPAbstractPlottable::rescaleValueAxis; void rescaleAxes(bool onlyEnlarge, bool includeErrorBars) const; // overloads base class interface void rescaleKeyAxis(bool onlyEnlarge, bool includeErrorBars) const; // overloads base class interface void rescaleValueAxis(bool onlyEnlarge, bool includeErrorBars) const; // overloads base class interface protected: // property members: QCPDataMap *mData; QPen mErrorPen; LineStyle mLineStyle; QCPScatterStyle mScatterStyle; ErrorType mErrorType; double mErrorBarSize; bool mErrorBarSkipSymbol; QPointer mChannelFillGraph; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const; virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const; virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const; virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain, bool includeErrors) const; // overloads base class interface virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain, bool includeErrors) const; // overloads base class interface // introduced virtual methods: virtual void drawFill(QCPPainter *painter, QVector *lineData) const; virtual void drawScatterPlot(QCPPainter *painter, QVector *pointData) const; virtual void drawLinePlot(QCPPainter *painter, QVector *lineData) const; virtual void drawImpulsePlot(QCPPainter *painter, QVector *lineData) const; // non-virtual methods: void getPlotData(QVector *lineData, QVector *pointData) const; void getScatterPlotData(QVector *pointData) const; void getLinePlotData(QVector *lineData, QVector *pointData) const; void getStepLeftPlotData(QVector *lineData, QVector *pointData) const; void getStepRightPlotData(QVector *lineData, QVector *pointData) const; void getStepCenterPlotData(QVector *lineData, QVector *pointData) const; void getImpulsePlotData(QVector *lineData, QVector *pointData) const; void drawError(QCPPainter *painter, double x, double y, const QCPData &data) const; void getVisibleDataBounds(QCPDataMap::const_iterator &lower, QCPDataMap::const_iterator &upper, int &count) const; void addFillBasePoints(QVector *lineData) const; void removeFillBasePoints(QVector *lineData) const; QPointF lowerFillBasePoint(double lowerKey) const; QPointF upperFillBasePoint(double upperKey) const; const QPolygonF getChannelFillPolygon(const QVector *lineData) const; int findIndexBelowX(const QVector *data, double x) const; int findIndexAboveX(const QVector *data, double x) const; int findIndexBelowY(const QVector *data, double y) const; int findIndexAboveY(const QVector *data, double y) const; double pointDistance(const QPointF &pixelPoint) const; friend class QCustomPlot; friend class QCPLegend; }; /*! \file */ class QCP_LIB_DECL QCPCurveData { public: QCPCurveData(); QCPCurveData(double t, double key, double value); double t, key, value; }; Q_DECLARE_TYPEINFO(QCPCurveData, Q_MOVABLE_TYPE); /*! \typedef QCPCurveDataMap Container for storing QCPCurveData items in a sorted fashion. The key of the map is the t member of the QCPCurveData instance. This is the container in which QCPCurve holds its data. \see QCPCurveData, QCPCurve::setData */ typedef QMap QCPCurveDataMap; typedef QMapIterator QCPCurveDataMapIterator; typedef QMutableMapIterator QCPCurveDataMutableMapIterator; class QCP_LIB_DECL QCPCurve : public QCPAbstractPlottable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QCPScatterStyle scatterStyle READ scatterStyle WRITE setScatterStyle) Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle) /// \endcond public: /*! Defines how the curve's line is represented visually in the plot. The line is drawn with the current pen of the curve (\ref setPen). \see setLineStyle */ enum LineStyle { lsNone, ///< No line is drawn between data points (e.g. only scatters) lsLine ///< Data points are connected with a straight line }; explicit QCPCurve(QCPAxis *keyAxis, QCPAxis *valueAxis); virtual ~QCPCurve(); // getters: QCPCurveDataMap *data() const { return mData; } QCPScatterStyle scatterStyle() const { return mScatterStyle; } LineStyle lineStyle() const { return mLineStyle; } // setters: void setData(QCPCurveDataMap *data, bool copy=false); void setData(const QVector &t, const QVector &key, const QVector &value); void setData(const QVector &key, const QVector &value); void setScatterStyle(const QCPScatterStyle &style); void setLineStyle(LineStyle style); // non-property methods: void addData(const QCPCurveDataMap &dataMap); void addData(const QCPCurveData &data); void addData(double t, double key, double value); void addData(double key, double value); void addData(const QVector &ts, const QVector &keys, const QVector &values); void removeDataBefore(double t); void removeDataAfter(double t); void removeData(double fromt, double tot); void removeData(double t); // reimplemented virtual methods: virtual void clearData(); virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; protected: // property members: QCPCurveDataMap *mData; QCPScatterStyle mScatterStyle; LineStyle mLineStyle; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const; virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const; virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const; // introduced virtual methods: virtual void drawScatterPlot(QCPPainter *painter, const QVector *pointData) const; // non-virtual methods: void getCurveData(QVector *lineData) const; double pointDistance(const QPointF &pixelPoint) const; QPointF outsideCoordsToPixels(double key, double value, int region, QRect axisRect) const; friend class QCustomPlot; friend class QCPLegend; }; /*! \file */ class QCP_LIB_DECL QCPBarData { public: QCPBarData(); QCPBarData(double key, double value); double key, value; }; Q_DECLARE_TYPEINFO(QCPBarData, Q_MOVABLE_TYPE); /*! \typedef QCPBarDataMap Container for storing QCPBarData items in a sorted fashion. The key of the map is the key member of the QCPBarData instance. This is the container in which QCPBars holds its data. \see QCPBarData, QCPBars::setData */ typedef QMap QCPBarDataMap; typedef QMapIterator QCPBarDataMapIterator; typedef QMutableMapIterator QCPBarDataMutableMapIterator; class QCP_LIB_DECL QCPBars : public QCPAbstractPlottable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(double width READ width WRITE setWidth) Q_PROPERTY(QCPBars* barBelow READ barBelow) Q_PROPERTY(QCPBars* barAbove READ barAbove) /// \endcond public: explicit QCPBars(QCPAxis *keyAxis, QCPAxis *valueAxis); virtual ~QCPBars(); // getters: double width() const { return mWidth; } QCPBars *barBelow() const { return mBarBelow.data(); } QCPBars *barAbove() const { return mBarAbove.data(); } QCPBarDataMap *data() const { return mData; } // setters: void setWidth(double width); void setData(QCPBarDataMap *data, bool copy=false); void setData(const QVector &key, const QVector &value); // non-property methods: void moveBelow(QCPBars *bars); void moveAbove(QCPBars *bars); void addData(const QCPBarDataMap &dataMap); void addData(const QCPBarData &data); void addData(double key, double value); void addData(const QVector &keys, const QVector &values); void removeDataBefore(double key); void removeDataAfter(double key); void removeData(double fromKey, double toKey); void removeData(double key); // reimplemented virtual methods: virtual void clearData(); virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; protected: // property members: QCPBarDataMap *mData; double mWidth; QPointer mBarBelow, mBarAbove; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const; virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const; virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const; // non-virtual methods: QPolygonF getBarPolygon(double key, double value) const; double getBaseValue(double key, bool positive) const; static void connectBars(QCPBars* lower, QCPBars* upper); friend class QCustomPlot; friend class QCPLegend; }; /*! \file */ class QCP_LIB_DECL QCPStatisticalBox : public QCPAbstractPlottable { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(double key READ key WRITE setKey) Q_PROPERTY(double minimum READ minimum WRITE setMinimum) Q_PROPERTY(double lowerQuartile READ lowerQuartile WRITE setLowerQuartile) Q_PROPERTY(double median READ median WRITE setMedian) Q_PROPERTY(double upperQuartile READ upperQuartile WRITE setUpperQuartile) Q_PROPERTY(double maximum READ maximum WRITE setMaximum) Q_PROPERTY(QVector outliers READ outliers WRITE setOutliers) Q_PROPERTY(double width READ width WRITE setWidth) Q_PROPERTY(double whiskerWidth READ whiskerWidth WRITE setWhiskerWidth) Q_PROPERTY(QPen whiskerPen READ whiskerPen WRITE setWhiskerPen) Q_PROPERTY(QPen whiskerBarPen READ whiskerBarPen WRITE setWhiskerBarPen) Q_PROPERTY(QPen medianPen READ medianPen WRITE setMedianPen) Q_PROPERTY(QCPScatterStyle outlierStyle READ outlierStyle WRITE setOutlierStyle) /// \endcond public: explicit QCPStatisticalBox(QCPAxis *keyAxis, QCPAxis *valueAxis); // getters: double key() const { return mKey; } double minimum() const { return mMinimum; } double lowerQuartile() const { return mLowerQuartile; } double median() const { return mMedian; } double upperQuartile() const { return mUpperQuartile; } double maximum() const { return mMaximum; } QVector outliers() const { return mOutliers; } double width() const { return mWidth; } double whiskerWidth() const { return mWhiskerWidth; } QPen whiskerPen() const { return mWhiskerPen; } QPen whiskerBarPen() const { return mWhiskerBarPen; } QPen medianPen() const { return mMedianPen; } QCPScatterStyle outlierStyle() const { return mOutlierStyle; } // setters: void setKey(double key); void setMinimum(double value); void setLowerQuartile(double value); void setMedian(double value); void setUpperQuartile(double value); void setMaximum(double value); void setOutliers(const QVector &values); void setData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum); void setWidth(double width); void setWhiskerWidth(double width); void setWhiskerPen(const QPen &pen); void setWhiskerBarPen(const QPen &pen); void setMedianPen(const QPen &pen); void setOutlierStyle(const QCPScatterStyle &style); // non-property methods: virtual void clearData(); virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; protected: // property members: QVector mOutliers; double mKey, mMinimum, mLowerQuartile, mMedian, mUpperQuartile, mMaximum; double mWidth; double mWhiskerWidth; QPen mWhiskerPen, mWhiskerBarPen, mMedianPen; QCPScatterStyle mOutlierStyle; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const; virtual QCPRange getKeyRange(bool &validRange, SignDomain inSignDomain=sdBoth) const; virtual QCPRange getValueRange(bool &validRange, SignDomain inSignDomain=sdBoth) const; // introduced virtual methods: virtual void drawQuartileBox(QCPPainter *painter, QRectF *quartileBox=0) const; virtual void drawMedian(QCPPainter *painter) const; virtual void drawWhiskers(QCPPainter *painter) const; virtual void drawOutliers(QCPPainter *painter) const; friend class QCustomPlot; friend class QCPLegend; }; class QCP_LIB_DECL QCPItemStraightLine : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) /// \endcond public: QCPItemStraightLine(QCustomPlot *parentPlot); virtual ~QCPItemStraightLine(); // getters: QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } // setters; void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; QCPItemPosition * const point1; QCPItemPosition * const point2; protected: // property members: QPen mPen, mSelectedPen; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); // non-virtual methods: double distToStraightLine(const QVector2D &point1, const QVector2D &vec, const QVector2D &point) const; QLineF getRectClippedStraightLine(const QVector2D &point1, const QVector2D &vec, const QRect &rect) const; QPen mainPen() const; }; class QCP_LIB_DECL QCPItemLine : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) Q_PROPERTY(QCPLineEnding head READ head WRITE setHead) Q_PROPERTY(QCPLineEnding tail READ tail WRITE setTail) /// \endcond public: QCPItemLine(QCustomPlot *parentPlot); virtual ~QCPItemLine(); // getters: QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } QCPLineEnding head() const { return mHead; } QCPLineEnding tail() const { return mTail; } // setters; void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); void setHead(const QCPLineEnding &head); void setTail(const QCPLineEnding &tail); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; QCPItemPosition * const start; QCPItemPosition * const end; protected: // property members: QPen mPen, mSelectedPen; QCPLineEnding mHead, mTail; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); // non-virtual methods: QLineF getRectClippedLine(const QVector2D &start, const QVector2D &end, const QRect &rect) const; QPen mainPen() const; }; class QCP_LIB_DECL QCPItemCurve : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) Q_PROPERTY(QCPLineEnding head READ head WRITE setHead) Q_PROPERTY(QCPLineEnding tail READ tail WRITE setTail) /// \endcond public: QCPItemCurve(QCustomPlot *parentPlot); virtual ~QCPItemCurve(); // getters: QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } QCPLineEnding head() const { return mHead; } QCPLineEnding tail() const { return mTail; } // setters; void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); void setHead(const QCPLineEnding &head); void setTail(const QCPLineEnding &tail); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; QCPItemPosition * const start; QCPItemPosition * const startDir; QCPItemPosition * const endDir; QCPItemPosition * const end; protected: // property members: QPen mPen, mSelectedPen; QCPLineEnding mHead, mTail; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); // non-virtual methods: QPen mainPen() const; }; class QCP_LIB_DECL QCPItemRect : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) Q_PROPERTY(QBrush brush READ brush WRITE setBrush) Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) /// \endcond public: QCPItemRect(QCustomPlot *parentPlot); virtual ~QCPItemRect(); // getters: QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } QBrush brush() const { return mBrush; } QBrush selectedBrush() const { return mSelectedBrush; } // setters; void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); void setBrush(const QBrush &brush); void setSelectedBrush(const QBrush &brush); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; QCPItemPosition * const topLeft; QCPItemPosition * const bottomRight; QCPItemAnchor * const top; QCPItemAnchor * const topRight; QCPItemAnchor * const right; QCPItemAnchor * const bottom; QCPItemAnchor * const bottomLeft; QCPItemAnchor * const left; protected: enum AnchorIndex {aiTop, aiTopRight, aiRight, aiBottom, aiBottomLeft, aiLeft}; // property members: QPen mPen, mSelectedPen; QBrush mBrush, mSelectedBrush; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual QPointF anchorPixelPoint(int anchorId) const; // non-virtual methods: QPen mainPen() const; QBrush mainBrush() const; }; class QCP_LIB_DECL QCPItemText : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QColor color READ color WRITE setColor) Q_PROPERTY(QColor selectedColor READ selectedColor WRITE setSelectedColor) Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) Q_PROPERTY(QBrush brush READ brush WRITE setBrush) Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) Q_PROPERTY(QFont font READ font WRITE setFont) Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont) Q_PROPERTY(QString text READ text WRITE setText) Q_PROPERTY(Qt::Alignment positionAlignment READ positionAlignment WRITE setPositionAlignment) Q_PROPERTY(Qt::Alignment textAlignment READ textAlignment WRITE setTextAlignment) Q_PROPERTY(double rotation READ rotation WRITE setRotation) Q_PROPERTY(QMargins padding READ padding WRITE setPadding) /// \endcond public: QCPItemText(QCustomPlot *parentPlot); virtual ~QCPItemText(); // getters: QColor color() const { return mColor; } QColor selectedColor() const { return mSelectedColor; } QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } QBrush brush() const { return mBrush; } QBrush selectedBrush() const { return mSelectedBrush; } QFont font() const { return mFont; } QFont selectedFont() const { return mSelectedFont; } QString text() const { return mText; } Qt::Alignment positionAlignment() const { return mPositionAlignment; } Qt::Alignment textAlignment() const { return mTextAlignment; } double rotation() const { return mRotation; } QMargins padding() const { return mPadding; } // setters; void setColor(const QColor &color); void setSelectedColor(const QColor &color); void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); void setBrush(const QBrush &brush); void setSelectedBrush(const QBrush &brush); void setFont(const QFont &font); void setSelectedFont(const QFont &font); void setText(const QString &text); void setPositionAlignment(Qt::Alignment alignment); void setTextAlignment(Qt::Alignment alignment); void setRotation(double degrees); void setPadding(const QMargins &padding); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; QCPItemPosition * const position; QCPItemAnchor * const topLeft; QCPItemAnchor * const top; QCPItemAnchor * const topRight; QCPItemAnchor * const right; QCPItemAnchor * const bottomRight; QCPItemAnchor * const bottom; QCPItemAnchor * const bottomLeft; QCPItemAnchor * const left; protected: enum AnchorIndex {aiTopLeft, aiTop, aiTopRight, aiRight, aiBottomRight, aiBottom, aiBottomLeft, aiLeft}; // property members: QColor mColor, mSelectedColor; QPen mPen, mSelectedPen; QBrush mBrush, mSelectedBrush; QFont mFont, mSelectedFont; QString mText; Qt::Alignment mPositionAlignment; Qt::Alignment mTextAlignment; double mRotation; QMargins mPadding; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual QPointF anchorPixelPoint(int anchorId) const; // non-virtual methods: QPointF getTextDrawPoint(const QPointF &pos, const QRectF &rect, Qt::Alignment positionAlignment) const; QFont mainFont() const; QColor mainColor() const; QPen mainPen() const; QBrush mainBrush() const; }; class QCP_LIB_DECL QCPItemEllipse : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) Q_PROPERTY(QBrush brush READ brush WRITE setBrush) Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) /// \endcond public: QCPItemEllipse(QCustomPlot *parentPlot); virtual ~QCPItemEllipse(); // getters: QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } QBrush brush() const { return mBrush; } QBrush selectedBrush() const { return mSelectedBrush; } // setters; void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); void setBrush(const QBrush &brush); void setSelectedBrush(const QBrush &brush); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; QCPItemPosition * const topLeft; QCPItemPosition * const bottomRight; QCPItemAnchor * const topLeftRim; QCPItemAnchor * const top; QCPItemAnchor * const topRightRim; QCPItemAnchor * const right; QCPItemAnchor * const bottomRightRim; QCPItemAnchor * const bottom; QCPItemAnchor * const bottomLeftRim; QCPItemAnchor * const left; QCPItemAnchor * const center; protected: enum AnchorIndex {aiTopLeftRim, aiTop, aiTopRightRim, aiRight, aiBottomRightRim, aiBottom, aiBottomLeftRim, aiLeft, aiCenter}; // property members: QPen mPen, mSelectedPen; QBrush mBrush, mSelectedBrush; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual QPointF anchorPixelPoint(int anchorId) const; // non-virtual methods: QPen mainPen() const; QBrush mainBrush() const; }; class QCP_LIB_DECL QCPItemPixmap : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap) Q_PROPERTY(bool scaled READ scaled WRITE setScaled) Q_PROPERTY(Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode) Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) /// \endcond public: QCPItemPixmap(QCustomPlot *parentPlot); virtual ~QCPItemPixmap(); // getters: QPixmap pixmap() const { return mPixmap; } bool scaled() const { return mScaled; } Qt::AspectRatioMode aspectRatioMode() const { return mAspectRatioMode; } QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } // setters; void setPixmap(const QPixmap &pixmap); void setScaled(bool scaled, Qt::AspectRatioMode aspectRatioMode=Qt::KeepAspectRatio); void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; QCPItemPosition * const topLeft; QCPItemPosition * const bottomRight; QCPItemAnchor * const top; QCPItemAnchor * const topRight; QCPItemAnchor * const right; QCPItemAnchor * const bottom; QCPItemAnchor * const bottomLeft; QCPItemAnchor * const left; protected: enum AnchorIndex {aiTop, aiTopRight, aiRight, aiBottom, aiBottomLeft, aiLeft}; // property members: QPixmap mPixmap; QPixmap mScaledPixmap; bool mScaled; Qt::AspectRatioMode mAspectRatioMode; QPen mPen, mSelectedPen; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual QPointF anchorPixelPoint(int anchorId) const; // non-virtual methods: void updateScaledPixmap(QRect finalRect=QRect(), bool flipHorz=false, bool flipVert=false); QRect getFinalRect(bool *flippedHorz=0, bool *flippedVert=0) const; QPen mainPen() const; }; class QCP_LIB_DECL QCPItemTracer : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) Q_PROPERTY(QBrush brush READ brush WRITE setBrush) Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) Q_PROPERTY(double size READ size WRITE setSize) Q_PROPERTY(TracerStyle style READ style WRITE setStyle) Q_PROPERTY(QCPGraph* graph READ graph WRITE setGraph) Q_PROPERTY(double graphKey READ graphKey WRITE setGraphKey) Q_PROPERTY(bool interpolating READ interpolating WRITE setInterpolating) /// \endcond public: /*! The different visual appearances a tracer item can have. Some styles size may be controlled with \ref setSize. \see setStyle */ enum TracerStyle { tsNone ///< The tracer is not visible ,tsPlus ///< A plus shaped crosshair with limited size ,tsCrosshair ///< A plus shaped crosshair which spans the complete axis rect ,tsCircle ///< A circle ,tsSquare ///< A square }; Q_ENUMS(TracerStyle) QCPItemTracer(QCustomPlot *parentPlot); virtual ~QCPItemTracer(); // getters: QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } QBrush brush() const { return mBrush; } QBrush selectedBrush() const { return mSelectedBrush; } double size() const { return mSize; } TracerStyle style() const { return mStyle; } QCPGraph *graph() const { return mGraph; } double graphKey() const { return mGraphKey; } bool interpolating() const { return mInterpolating; } // setters; void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); void setBrush(const QBrush &brush); void setSelectedBrush(const QBrush &brush); void setSize(double size); void setStyle(TracerStyle style); void setGraph(QCPGraph *graph); void setGraphKey(double key); void setInterpolating(bool enabled); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; // non-virtual methods: void updatePosition(); QCPItemPosition * const position; protected: // property members: QPen mPen, mSelectedPen; QBrush mBrush, mSelectedBrush; double mSize; TracerStyle mStyle; QCPGraph *mGraph; double mGraphKey; bool mInterpolating; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); // non-virtual methods: QPen mainPen() const; QBrush mainBrush() const; }; class QCP_LIB_DECL QCPItemBracket : public QCPAbstractItem { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPen pen READ pen WRITE setPen) Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) Q_PROPERTY(double length READ length WRITE setLength) Q_PROPERTY(BracketStyle style READ style WRITE setStyle) /// \endcond public: enum BracketStyle { bsSquare ///< A brace with angled edges ,bsRound ///< A brace with round edges ,bsCurly ///< A curly brace ,bsCalligraphic ///< A curly brace with varying stroke width giving a calligraphic impression }; QCPItemBracket(QCustomPlot *parentPlot); virtual ~QCPItemBracket(); // getters: QPen pen() const { return mPen; } QPen selectedPen() const { return mSelectedPen; } double length() const { return mLength; } BracketStyle style() const { return mStyle; } // setters; void setPen(const QPen &pen); void setSelectedPen(const QPen &pen); void setLength(double length); void setStyle(BracketStyle style); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; QCPItemPosition * const left; QCPItemPosition * const right; QCPItemAnchor * const center; protected: // property members: enum AnchorIndex {aiCenter}; QPen mPen, mSelectedPen; double mLength; BracketStyle mStyle; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual QPointF anchorPixelPoint(int anchorId) const; // non-virtual methods: QPen mainPen() const; }; class QCP_LIB_DECL QCPAxisRect : public QCPLayoutElement { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPixmap background READ background WRITE setBackground) Q_PROPERTY(bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled) Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode WRITE setBackgroundScaledMode) Q_PROPERTY(Qt::Orientations rangeDrag READ rangeDrag WRITE setRangeDrag) Q_PROPERTY(Qt::Orientations rangeZoom READ rangeZoom WRITE setRangeZoom) /// \endcond public: explicit QCPAxisRect(QCustomPlot *parentPlot, bool setupDefaultAxes=true); virtual ~QCPAxisRect(); // getters: QPixmap background() const { return mBackgroundPixmap; } bool backgroundScaled() const { return mBackgroundScaled; } Qt::AspectRatioMode backgroundScaledMode() const { return mBackgroundScaledMode; } Qt::Orientations rangeDrag() const { return mRangeDrag; } Qt::Orientations rangeZoom() const { return mRangeZoom; } QCPAxis *rangeDragAxis(Qt::Orientation orientation); QCPAxis *rangeZoomAxis(Qt::Orientation orientation); double rangeZoomFactor(Qt::Orientation orientation); // setters: void setBackground(const QPixmap &pm); void setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding); void setBackground(const QBrush &brush); void setBackgroundScaled(bool scaled); void setBackgroundScaledMode(Qt::AspectRatioMode mode); void setRangeDrag(Qt::Orientations orientations); void setRangeZoom(Qt::Orientations orientations); void setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical); void setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical); void setRangeZoomFactor(double horizontalFactor, double verticalFactor); void setRangeZoomFactor(double factor); // non-property methods: int axisCount(QCPAxis::AxisType type) const; QCPAxis *axis(QCPAxis::AxisType type, int index=0) const; QList axes(QCPAxis::AxisTypes types) const; QList axes() const; QCPAxis *addAxis(QCPAxis::AxisType type); QList addAxes(QCPAxis::AxisTypes types); bool removeAxis(QCPAxis *axis); QCPLayoutInset *insetLayout() const { return mInsetLayout; } void setupFullAxesBox(bool connectRanges=false); QList plottables() const; QList graphs() const; QList items() const; // read-only interface imitating a QRect: int left() const { return mRect.left(); } int right() const { return mRect.right(); } int top() const { return mRect.top(); } int bottom() const { return mRect.bottom(); } int width() const { return mRect.width(); } int height() const { return mRect.height(); } QSize size() const { return mRect.size(); } QPoint topLeft() const { return mRect.topLeft(); } QPoint topRight() const { return mRect.topRight(); } QPoint bottomLeft() const { return mRect.bottomLeft(); } QPoint bottomRight() const { return mRect.bottomRight(); } QPoint center() const { return mRect.center(); } // reimplemented virtual methods: virtual void update(); virtual QList elements(bool recursive) const; protected: // property members: QBrush mBackgroundBrush; QPixmap mBackgroundPixmap; QPixmap mScaledBackgroundPixmap; bool mBackgroundScaled; Qt::AspectRatioMode mBackgroundScaledMode; QCPLayoutInset *mInsetLayout; Qt::Orientations mRangeDrag, mRangeZoom; QPointer mRangeDragHorzAxis, mRangeDragVertAxis, mRangeZoomHorzAxis, mRangeZoomVertAxis; double mRangeZoomFactorHorz, mRangeZoomFactorVert; // non-property members: QCPRange mDragStartHorzRange, mDragStartVertRange; QCP::AntialiasedElements mAADragBackup, mNotAADragBackup; QPoint mDragStart; bool mDragging; QHash > mAxes; // reimplemented virtual methods: virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const; virtual void draw(QCPPainter *painter); virtual int calculateAutoMargin(QCP::MarginSide side); // events: virtual void mousePressEvent(QMouseEvent *event); virtual void mouseMoveEvent(QMouseEvent *event); virtual void mouseReleaseEvent(QMouseEvent *event); virtual void wheelEvent(QWheelEvent *event); // non-property methods: void drawBackground(QCPPainter *painter); void updateAxesOffset(QCPAxis::AxisType type); private: Q_DISABLE_COPY(QCPAxisRect) friend class QCustomPlot; }; class QCP_LIB_DECL QCPAbstractLegendItem : public QCPLayoutElement { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QCPLegend* parentLegend READ parentLegend) Q_PROPERTY(QFont font READ font WRITE setFont) Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor) Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont) Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor) Q_PROPERTY(bool selectable READ selectable WRITE setSelectable) Q_PROPERTY(bool selected READ selected WRITE setSelected) /// \endcond public: explicit QCPAbstractLegendItem(QCPLegend *parent); // getters: QCPLegend *parentLegend() const { return mParentLegend; } QFont font() const { return mFont; } QColor textColor() const { return mTextColor; } QFont selectedFont() const { return mSelectedFont; } QColor selectedTextColor() const { return mSelectedTextColor; } bool selectable() const { return mSelectable; } bool selected() const { return mSelected; } // setters: void setFont(const QFont &font); void setTextColor(const QColor &color); void setSelectedFont(const QFont &font); void setSelectedTextColor(const QColor &color); void setSelectable(bool selectable); void setSelected(bool selected); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; signals: void selectionChanged(bool selected); protected: // property members: QCPLegend *mParentLegend; QFont mFont; QColor mTextColor; QFont mSelectedFont; QColor mSelectedTextColor; bool mSelectable, mSelected; // reimplemented virtual methods: virtual QCP::Interaction selectionCategory() const; virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const; virtual QRect clipRect() const; virtual void draw(QCPPainter *painter) = 0; // events: virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged); virtual void deselectEvent(bool *selectionStateChanged); private: Q_DISABLE_COPY(QCPAbstractLegendItem) friend class QCPLegend; }; class QCP_LIB_DECL QCPPlottableLegendItem : public QCPAbstractLegendItem { Q_OBJECT public: QCPPlottableLegendItem(QCPLegend *parent, QCPAbstractPlottable *plottable); // getters: QCPAbstractPlottable *plottable() { return mPlottable; } protected: // property members: QCPAbstractPlottable *mPlottable; // reimplemented virtual methods: virtual void draw(QCPPainter *painter); virtual QSize minimumSizeHint() const; // non-virtual methods: QPen getIconBorderPen() const; QColor getTextColor() const; QFont getFont() const; }; class QCP_LIB_DECL QCPLegend : public QCPLayoutGrid { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QPen borderPen READ borderPen WRITE setBorderPen) Q_PROPERTY(QBrush brush READ brush WRITE setBrush) Q_PROPERTY(QFont font READ font WRITE setFont) Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor) Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize) Q_PROPERTY(int iconTextPadding READ iconTextPadding WRITE setIconTextPadding) Q_PROPERTY(QPen iconBorderPen READ iconBorderPen WRITE setIconBorderPen) Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE setSelectableParts) Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE setSelectedParts) Q_PROPERTY(QPen selectedBorderPen READ selectedBorderPen WRITE setSelectedBorderPen) Q_PROPERTY(QPen selectedIconBorderPen READ selectedIconBorderPen WRITE setSelectedIconBorderPen) Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont) Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor) /// \endcond public: /*! Defines the selectable parts of a legend \see setSelectedParts, setSelectableParts */ enum SelectablePart { spNone = 0x000 ///< 0x000 None ,spLegendBox = 0x001 ///< 0x001 The legend box (frame) ,spItems = 0x002 ///< 0x002 Legend items individually (see \ref selectedItems) }; Q_FLAGS(SelectablePart SelectableParts) Q_DECLARE_FLAGS(SelectableParts, SelectablePart) explicit QCPLegend(); virtual ~QCPLegend(); // getters: QPen borderPen() const { return mBorderPen; } QBrush brush() const { return mBrush; } QFont font() const { return mFont; } QColor textColor() const { return mTextColor; } QSize iconSize() const { return mIconSize; } int iconTextPadding() const { return mIconTextPadding; } QPen iconBorderPen() const { return mIconBorderPen; } SelectableParts selectableParts() const { return mSelectableParts; } SelectableParts selectedParts() const; QPen selectedBorderPen() const { return mSelectedBorderPen; } QPen selectedIconBorderPen() const { return mSelectedIconBorderPen; } QBrush selectedBrush() const { return mSelectedBrush; } QFont selectedFont() const { return mSelectedFont; } QColor selectedTextColor() const { return mSelectedTextColor; } // setters: void setBorderPen(const QPen &pen); void setBrush(const QBrush &brush); void setFont(const QFont &font); void setTextColor(const QColor &color); void setIconSize(const QSize &size); void setIconSize(int width, int height); void setIconTextPadding(int padding); void setIconBorderPen(const QPen &pen); void setSelectableParts(const SelectableParts &selectableParts); void setSelectedParts(const SelectableParts &selectedParts); void setSelectedBorderPen(const QPen &pen); void setSelectedIconBorderPen(const QPen &pen); void setSelectedBrush(const QBrush &brush); void setSelectedFont(const QFont &font); void setSelectedTextColor(const QColor &color); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; // non-virtual methods: QCPAbstractLegendItem *item(int index) const; QCPPlottableLegendItem *itemWithPlottable(const QCPAbstractPlottable *plottable) const; int itemCount() const; bool hasItem(QCPAbstractLegendItem *item) const; bool hasItemWithPlottable(const QCPAbstractPlottable *plottable) const; bool addItem(QCPAbstractLegendItem *item); bool removeItem(int index); bool removeItem(QCPAbstractLegendItem *item); void clearItems(); QList selectedItems() const; signals: void selectionChanged(QCPLegend::SelectableParts selection); protected: // property members: QPen mBorderPen, mIconBorderPen; QBrush mBrush; QFont mFont; QColor mTextColor; QSize mIconSize; int mIconTextPadding; SelectableParts mSelectedParts, mSelectableParts; QPen mSelectedBorderPen, mSelectedIconBorderPen; QBrush mSelectedBrush; QFont mSelectedFont; QColor mSelectedTextColor; // reimplemented virtual methods: virtual void parentPlotInitialized(QCustomPlot *parentPlot); virtual QCP::Interaction selectionCategory() const; virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const; virtual void draw(QCPPainter *painter); // events: virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged); virtual void deselectEvent(bool *selectionStateChanged); // non-virtual methods: QPen getBorderPen() const; QBrush getBrush() const; private: Q_DISABLE_COPY(QCPLegend) friend class QCustomPlot; friend class QCPAbstractLegendItem; }; Q_DECLARE_OPERATORS_FOR_FLAGS(QCPLegend::SelectableParts) Q_DECLARE_METATYPE(QCPLegend::SelectablePart) class QCP_LIB_DECL QCPPlotTitle : public QCPLayoutElement { Q_OBJECT /// \cond INCLUDE_QPROPERTIES Q_PROPERTY(QString text READ text WRITE setText) Q_PROPERTY(QFont font READ font WRITE setFont) Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor) Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont) Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor) Q_PROPERTY(bool selectable READ selectable WRITE setSelectable) Q_PROPERTY(bool selected READ selected WRITE setSelected) /// \endcond public: explicit QCPPlotTitle(QCustomPlot *parentPlot); explicit QCPPlotTitle(QCustomPlot *parentPlot, const QString &text); // getters: QString text() const { return mText; } QFont font() const { return mFont; } QColor textColor() const { return mTextColor; } QFont selectedFont() const { return mSelectedFont; } QColor selectedTextColor() const { return mSelectedTextColor; } bool selectable() const { return mSelectable; } bool selected() const { return mSelected; } // setters: void setText(const QString &text); void setFont(const QFont &font); void setTextColor(const QColor &color); void setSelectedFont(const QFont &font); void setSelectedTextColor(const QColor &color); void setSelectable(bool selectable); void setSelected(bool selected); // reimplemented virtual methods: virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; signals: void selectionChanged(bool selected); protected: // property members: QString mText; QFont mFont; QColor mTextColor; QFont mSelectedFont; QColor mSelectedTextColor; QRect mTextBoundingRect; bool mSelectable, mSelected; // reimplemented virtual methods: virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const; virtual void draw(QCPPainter *painter); virtual QSize minimumSizeHint() const; virtual QSize maximumSizeHint() const; // events: virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged); virtual void deselectEvent(bool *selectionStateChanged); // non-virtual methods: QFont mainFont() const; QColor mainTextColor() const; private: Q_DISABLE_COPY(QCPPlotTitle) }; #endif // QCUSTOMPLOT_H qcustomplot/changelog.txt0000644000175000017500000006100512236013146016010 0ustar dermanudermanu#### Version 1.1.0 released on 04.11.13 #### Added features: - Added QCPRange::expand and QCPRange::expanded - Added QCPAxis::rescale to rescale axis to all associated plottables - Added QCPAxis::setDateTimeSpec/dateTimeSpec to allow axis labels either in UTC or local time - QCPAxis now additionally emits a rangeChanged signal overload that provides the old range as second parameter Bugfixes: - Fixed QCustomPlot::rescaleAxes not rescaling properly if first plottable has an empty range - QCPGraph::rescaleAxes/rescaleKeyAxis/rescaleValueAxis are no longer virtual (never were in base class, was a mistake) - Fixed bugs in QCPAxis::items and QCPAxisRect::items not properly returning associated items and potentially stalling Other: - Internal change from QWeakPointer to QPointer, thus got rid of deprecated Qt functionality - Qt5.1 and Qt5.2 (beta1) compatibility - Release packages now extract to single subdirectory and don't place multiple files in current working directory #### Version 1.0.1 released on 05.09.13 #### Bugfixes: - using define flag QCUSTOMPLOT_CHECK_DATA caused debug output when data was correct, instead of invalid (fixed QCP::isInvalidData) - documentation images are now properly shown when viewed with Qt Assistant - fixed various documentation mistakes Other: - Adapted documentation style sheet to better match Qt5 documentation #### Version 1.0.0 released on 01.08.13 #### Added features: - Added QCustomPlot::toPainter method, to allow rendering with existing painter - QCPItemEllipse now provides a center anchor Bugfixes: - Fixed bug that clipped the rightmost pixel column of tick labels when caching activated (only visible on windows for superscript exponents) - Restored compatibility to Qt4.6 - Restored support for -no-RTTI compilation - Empty manual tick labels are handled more gracefully (no QPainter qDebug messages anymore) - Fixed type ambiguity in QCPLineEnding::draw causing compile error on ARM - Fixed bug of grid layouts not propagating the minimum size from their child elements to the parent layout correctly - Fixed bug of child elements (e.g. axis rects) of inset layouts not properly receiving mouse events #### Version 1.0.0-beta released on 19.05.13 #### Quick Summary: - Layout system for multiple axis rects in one plot - Multiple axes per side - Qt5 compatibility - More flexible and consistent scatter configuration with QCPScatterStyle - Various interface cleanups/refactoring - Pixmap-cached axis labels for improved replot performance Changes that break backward compatibility: - QCustomPlot::axisRect() changed meaning due to the extensive changes to how axes and axis rects are handled it now returns a pointer to a QCPAxisRect and takes an integer index as parameter. - QCPAxis constructor changed to now take QCPAxisRect* as parent - setAutoMargin, setMarginLeft/Right/Top/Bottom removed due to the axis rect changes (see QCPAxisRect::setMargins/setAutoMargins) - setAxisRect removed due to the axis rect changes - setAxisBackground(-Scaled/-ScaledMode) now moved to QCPAxisRect as setBackground(-Scaled/ScaledMode) (access via QCustomPlot::axisRects()) - QCPLegend now is a QCPLayoutElement - QCPAbstractPlottable::drawLegendIcon parameter "rect" changed from QRect to QRectF - QCPAbstractLegendItem::draw second parameter removed (position/size now handled via QCPLayoutElement base class) - removed QCPLegend::setMargin/setMarginLeft/Right/Top/Bottom (now inherits the capability from QCPLayoutElement::setMargins) - removed QCPLegend::setMinimumSize (now inherits the capability from QCPLayoutElement::setMinimumSize) - removed enum QCPLegend::PositionStyle, QCPLegend::positionStyle/setPositionStyle/position/setPosition (replaced by capabilities of QCPLayoutInset) - QCPLegend transformed to work with new layout system (almost everything changed) - removed entire title interface: QCustomPlot::setTitle/setTitleFont/setTitleColor/setTitleSelected/setTitleSelectedFont/setTitleSelectedColor and the QCustomPlot::iSelectTitle interaction flag (all functionality is now given by the layout element "QCPPlotTitle" which can be added to the plot layout) - selectTest functions now take two additional parameters: bool onlySelectable and QVariant *details=0 - selectTest functions now ignores visibility of objects and (if parameter onlySelectable is true) does not anymore ignore selectability of the object - moved QCustomPlot::Interaction/Interactions to QCP namespace as QCP::Interaction/Interactions - moved QCustomPlot::setupFullAxesBox() to QCPAxisRect::setupFullAxesBox. Now also accepts parameter to decide whether to connect opposite axis ranges - moved range dragging/zooming interface from QCustomPlot to QCPAxisRect (setRangeDrag, setRangeZoom, setRangeDragAxes, setRangeZoomAxes,...) - rangeDrag/Zoom is now set to Qt::Horizontal|Qt::Vertical instead of 0 by default, on the other hand, iRangeDrag/Zoom is unset in interactions by default (this makes enabling dragging/zooming easier by just adding the interaction flags) - QCPScatterStyle takes over everything related to handling scatters in all plottables - removed setScatterPen/Size on QCPGraph and QCPCurve, removed setOutlierPen/Size on QCPStatisticalBox (now handled via QCPScatterStyle) - modified setScatterStyle on QCPGraph and QCPCurve, and setOutlierStyle on QCPStatisticalBox, to take QCPScatterStyle - axis grid and subgrid are now reachable via the QCPGrid *QCPAxis::grid() method. (e.g. instead of xAxis->setGrid(true), write xAxis->grid()->setVisible(true)) Added features: - Axis tick labels are now pixmap-cached, thus increasing replot performance (in usual setups by about 24%). See plotting hint phCacheLabels which is set by default - Advanced layout system, including the classes QCPLayoutElement, QCPLayout, QCPLayoutGrid, QCPLayoutInset, QCPAxisRect - QCustomPlot::axisRects() returns all the axis rects in the QCustomPlot. - QCustomPlot::plotLayout() returns the top level layout (initially a QCPLayoutGrid with one QCPAxisRect inside) - QCPAxis now may have an offset to the axis rect (setOffset) - Multiple axes per QCPAxisRect side are now supported (see QCPAxisRect::addAxis) - QCustomPlot::toPixmap renders the plot into a pixmap and returns it - When setting tick label rotation to +90 or -90 degrees on a vertical axis, the labels are now centered vertically on the tick height (This allows space saving vertical tick labels by having the text direction parallel to the axis) - Substantially increased replot performance when using very large manual tick vectors (> 10000 ticks) via QCPAxis::setTickVector - QCPAxis and QCPAxisRect now allow easy access to all plottables(), graphs() and items() that are associated with them - Added QCustomPlot::hasItem method for consistency with plottable interface, hasPlottable - Added QCPAxisRect::setMinimumMargins as replacement for hardcoded minimum axis margin (15 px) when auto margin is enabled - Added Flags type QCPAxis::AxisTypes (from QCPAxis::AxisType), used in QCPAxisRect interface - Automatic margin calculation can now be enabled/disabled on a per-side basis, see QCPAxisRect::setAutoMargins - QCPAxisRect margins of multiple axis rects can be coupled via QCPMarginGroup - Added new default layers "background" and "legend" (QCPAxisRect draws its background on the "background" layer, QCPLegend is on the "legend" layer by default) - Custom scatter style via QCP::ssCustom and respective setCustomScatter functions that take a QPainterPath - Filled scatters via QCPScatterStyle::setBrush Bugfixes: - Fixed compile error on ARM - Wrong legend icons were displayed if using pixmaps for scatters that are smaller than the legend icon rect - Fixed clipping inaccuracy for rotated tick labels (were hidden too early, because the non-rotated bounding box was used) - Fixed bug that caused wrong clipping of axis ticks and subticks when the ticks were given manually by QCPAxis::setTickVector - Fixed Qt5 crash when dragging graph out of view (iterator out of bounds in QCPGraph::getVisibleDataBounds) - Fixed QCPItemText not scaling properly when using scaled raster export Other: - Opened up non-amalgamated project structure to public via git repository #### Version released on 09.06.12 #### Quick Summary: - Items (arrows, text,...) - Layers (easier control over rendering order) - New antialiasing system (Each objects controls own antialiasing with setAntialiased) - Performance Improvements - improved pixel-precise drawing - easier shared library creation/usage Changes that (might) break backward compatibility: - enum QCPGraph::ScatterSymbol was moved to QCP namespace (now QCP::ScatterSymbol). This replace should fix your code: "QCPGraph::ss" -> "QCP::ss" - enum QCustomPlot::AntialiasedElement and flag QCustomPlot::AntialiasedElements was moved to QCP namespace This replace should fix your code: "QCustomPlot::ae" -> "QCP::ae" - the meaning of QCustomPlot::setAntialiasedElements has changed slightly: It is now an override to force elements to be antialiased. If you want to force elements to not be drawn antialiased, use the new setNotAntialiasedElements. If an element is mentioned in neither of those functions, it now controls its antialiasing itself via its "setAntialiased" function(s). (e.g. QCPAxis::setAntialiased(bool), QCPAbstractPlottable::setAntialiased(bool), QCPAbstractPlottable::setAntialiasedScatters(bool), etc.) - QCPAxis::setTickVector and QCPAxis::setTickVectorLabels no longer take a pointer but a const reference of the respective QVector as parameter. (handing over a pointer didn't give any noticeable performance benefits but was inconsistent with the rest of the interface) - Equally QCPAxis::tickVector and QCPAxis::tickVectorLabels don't return by pointer but by value now - QCustomPlot::savePngScaled was removed, its purpose is now included as optional parameter "scale" of savePng. - If you have derived from QCPAbstractPlottable: all selectTest functions now consistently take the argument "const QPointF &pos" which is the test point in pixel coordinates. (the argument there was "double key, double value" in plot coordinates, before). - QCPAbstractPlottable, QCPAxis and QCPLegend now inherit from QCPLayerable - If you have derived from QCPAbstractPlottable: the draw method signature has changed from "draw (..) const" to "draw (..)", i.e. the method is not const anymore. This allows the draw function of your plottable to perform buffering/caching operations, if necessary. Added features: - Item system: QCPAbstractItem, QCPItemAnchor, QCPItemPosition, QCPLineEnding. Allows placing of lines, arrows, text, pixmaps etc. - New Items: QCPItemStraightLine, QCPItemLine, QCPItemCurve, QCPItemEllipse, QCPItemRect, QCPItemPixmap, QCPItemText, QCPItemBracket, QCPItemTracer - QCustomPlot::addItem/itemCount/item/removeItem/selectedItems - signals QCustomPlot::itemClicked/itemDoubleClicked - the QCustomPlot interactions property now includes iSelectItems (for selection of QCPAbstractItem) - QCPLineEnding. Represents the different styles a line/curve can end (e.g. different arrows, circle, square, bar, etc.), see e.g. QCPItemCurve::setHead - Layer system: QCPLayerable, QCPLayer. Allows more sophisticated control over drawing order and a kind of grouping. - QCPAbstractPlottable, QCPAbstractItem, QCPAxis, QCPGrid, QCPLegend are layerables and derive from QCPLayerable - QCustomPlot::addLayer/moveLayer/removeLayer/setCurrentLayer/layer/currentLayer/layerCount - Initially there are three layers: "grid", "main", and "axes". The "main" layer is initially empty and set as current layer, so new plottables/items are put there. - QCustomPlot::viewport now makes the previously inaccessible viewport rect read-only-accessible (needed that for item-interface) - PNG export now allows transparent background by calling QCustomPlot::setColor(Qt::transparent) before savePng - QCPStatisticalBox outlier symbols may now be all scatter symbols, not only hardcoded circles. - perfect precision of scatter symbol/error bar drawing and clipping in both antialiased and non-antialiased mode, by introducing QCPPainter that works around some QPainter bugs/inconveniences. Further, more complex symbols like ssCrossSquare used to look crooked, now they look good. - new antialiasing control system: Each drawing element now has its own "setAntialiased" function to control whether it is drawn antialiased. - QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements can be used to override the individual settings. - Subclasses of QCPAbstractPlottable can now use the convenience functions like applyFillAntialiasingHint or applyScattersAntialiasingHint to easily make their drawing code comply with the overall antialiasing system. - QCustomPlot::setNoAntialiasingOnDrag allows greatly improved performance and responsiveness by temporarily disabling all antialiasing while the user is dragging axis ranges - QCPGraph can now show scatter symbols at data points and hide its line (see QCPGraph::setScatterStyle, setScatterSize, setScatterPixmap, setLineStyle) - Grid drawing code was sourced out from QCPAxis to QCPGrid. QCPGrid is mainly an internal class and every QCPAxis owns one. The grid interface still works through QCPAxis and hasn't changed. The separation allows the grid to be drawn on a different layer as the axes, such that e.g. a graph can be above the grid but below the axes. - QCustomPlot::hasPlottable(plottable), returns whether the QCustomPlot contains the plottable - QCustomPlot::setPlottingHint/setPlottingHints, plotting hints control details about the plotting quality/speed - export to jpg and bmp added (QCustomPlot::saveJpg/saveBmp), as well as control over compression quality for png and jpg - multi-select-modifier may now be specified with QCustomPlot::setMultiSelectModifier and is not fixed to Ctrl anymore Bugfixes: - fixed QCustomPlot ignores replot after it had size (0,0) even if size becomes valid again - on Windows, a repaint used to be delayed during dragging/zooming of a complex plot, until the drag operation was done. This was fixed, i.e. repaints are forced after a replot() call. See QCP::phForceRepaint and setPlottingHints. - when using the raster paintengine and exporting to scaled PNG, pen widths are now scaled correctly (QPainter bug workaround via QCPPainter) - PDF export now respects QCustomPlot background color (QCustomPlot::setColor), also Qt::transparent - fixed a bug on QCPBars and QCPStatisticalBox where auto-rescaling of axis would fail when all data is very small (< 1e-11) - fixed mouse event propagation bug that prevented range dragging from working on KDE (GNU/Linux) - fixed a compiler warning on 64-bit systems due to pointer cast to int instead of quintptr in a qDebug output Other: - Added support for easier shared library creation (including examples for compiling and using QCustomPlot as shared library) - QCustomPlot now has the Qt::WA_OpaquePaintEvent widget attribute (gives slightly improved performance). - QCP::aeGraphs (enum QCP::AntialiasedElement, previously QCustomPlot::aeGraphs) has been marked deprecated since version 02.02.12 and was now removed. Use QCP::aePlottables instead. - optional performance-quality-tradeoff for solid graph lines (see QCustomPlot::setPlottingHints). - marked data classes and QCPRange as Q_MOVABLE_TYPE - replaced usage of own macro FUNCNAME with Qt macro Q_FUNC_INFO - QCustomPlot now returns a minimum size hint of 50*50 #### Version released on 31.03.12 #### Changes that (might) break backward compatibility: - QCPAbstractLegendItem now inherits from QObject - mousePress, mouseMove and mouseRelease signals are now emitted before and not after any QCustomPlot processing (range dragging, selecting, etc.) Added features: - Interaction system: now allows selecting of objects like plottables, axes, legend and plot title, see QCustomPlot::setInteractions documentation - Interaction system for plottables: - setSelectable, setSelected, setSelectedPen, setSelectedBrush, selectTest on QCPAbstractPlottable and all derived plottables - setSelectionTolerance on QCustomPlot - selectedPlottables and selectedGraphs on QCustomPlot (returns the list of currently selected plottables/graphs) - Interaction system for axes: - setSelectable, setSelected, setSelectedBasePen, setSelectedTickPen, setSelectedSubTickPen, setSelectedLabelFont, setSelectedTickLabelFont, setSelectedLabelColor, setSelectedTickLabelColor, selectTest on QCPAxis - selectedAxes on QCustomPlot (returns a list of the axes that currently have selected parts) - Interaction system for legend: - setSelectable, setSelected, setSelectedBorderPen, setSelectedIconBorderPen, setSelectedBrush, setSelectedFont, setSelectedTextColor, selectedItems on QCPLegend - setSelectedFont, setSelectedTextColor, setSelectable, setSelected on QCPAbstractLegendItem - selectedLegends on QCustomPlot - Interaction system for title: - setSelectedTitleFont, setSelectedTitleColor, setTitleSelected on QCustomPlot - new signals in accordance with the interaction system: - selectionChangedByUser on QCustomPlot - selectionChanged on QCPAbstractPlottable - selectionChanged on QCPAxis - selectionChanged on QCPLegend and QCPAbstractLegendItem - plottableClick, legendClick, axisClick, titleClick, plottableDoubleClick, legendDoubleClick, axisDoubleClick, titleDoubleClick on QCustomPlot - QCustomPlot::deselectAll (deselects everything, i.e. axes and plottables) - QCPAbstractPlottable::pixelsToCoords (inverse function to the already existing coordsToPixels function) - QCPRange::contains(double value) - QCPAxis::setLabelColor and setTickLabelColor - QCustomPlot::setTitleColor - QCustomPlot now emits beforeReplot and afterReplot signals. Note that it is safe to make two customPlots mutually call eachothers replot functions in one of these slots, it will not cause an infinite loop. (usefull for synchronizing axes ranges between two customPlots, because setRange alone doesn't replot) - If the Qt version is 4.7 or greater, the tick label strings in date-time-mode now support sub-second accuracy (e.g. with format like "hh:mm:ss.zzz"). Bugfixes: - tick labels/margins should no longer oscillate by one pixel when dragging range or replotting repeatedly while changing e.g. data. This was caused by a bug in Qt's QFontMetrics::boundingRect function when the font has an integer point size (probably some rounding problem). The fix hence consists of creating a temporary font (only for bounding-box calculation) which is 0.05pt larger and thus avoiding the jittering rounding outcome. - tick label, axis label and plot title colors used to be undefined. This was fixed by providing explicit color properties. Other: - fixed some glitches in the documentation - QCustomPlot::replot and QCustomPlot::rescaleAxes are now slots #### Version released on 02.02.12 #### Changes that break backward compatibility: - renamed all secondary classes from QCustomPlot[...] to QCP[...]: QCustomPlotAxis -> QCPAxis QCustomPlotGraph -> QCPGraph QCustomPlotRange -> QCPRange QCustomPlotData -> QCPData QCustomPlotDataMap -> QCPDataMap QCustomPlotLegend -> QCPLegend QCustomPlotDataMapIterator -> QCPDataMapIterator QCustomPlotDataMutableMapIterator -> QCPDataMutableMapIterator A simple search and replace on all code files should make your code run again, e.g. consider the regex "QCustomPlot(?=[AGRDL])" -> "QCP". Make sure not to just replace "QCustomPlot" with "QCP" because the main class QCustomPlot hasn't changed to QCP. This change was necessary because class names became unhandy, pardon my bad naming decision in the beginning. - QCPAxis::tickLength() and QCPAxis::subTickLength() now each split into two functions for inward and outward ticks (tickLengthIn/tickLengthOut). - QCPLegend now uses QCPAbstractLegendItem to carry item data (before, the legend was passed QCPGraphs directly) - QCustomPlot::addGraph() now doesn't return the index of the created graph anymore, but a pointer to the created QCPGraph. - QCustomPlot::setAutoAddGraphToLegend is replaced by setAutoAddPlottableToLegend Added features: - Reversed axis range with QCPAxis::setRangeReversed(bool) - Tick labels are now only drawn if not clipped by the viewport (widget border) on the sides (e.g. left and right on a horizontal axis). - Zerolines. Like grid lines only with a separate pen (QCPAxis::setZeroLinePen), at tick position zero. - Outward ticks. QCPAxis::setTickLength/setSubTickLength now accepts two arguments for inward and outward tick length. This doesn't break backward compatibility because the second argument (outward) has default value zero and thereby a call with one argument hasn't changed its meaning. - QCPGraph now inherits from QCPAbstractPlottable - QCustomPlot::addPlottable/plottable/removePlottable/clearPlottables added to interface with the new QCPAbstractPlottable-based system. The simpler interface which only acts on QCPGraphs (addGraph, graph, removeGraph, etc.) was adapted internally and is kept for backward compatibility and ease of use. - QCPLegend items for plottables (e.g. graphs) can automatically wrap their texts to fit the widths, see QCPLegend::setMinimumSize and QCPPlottableLegendItem::setTextWrap. - QCustomPlot::rescaleAxes. Adapts axis ranges to show all plottables/graphs, by calling QCPAbstractPlottable::rescaleAxes on all plottables in the plot. - QCPCurve. For plotting of parametric curves. - QCPBars. For plotting of bar charts. - QCPStatisticalBox. For statistical box plots. Bugfixes: - Fixed QCustomPlot::removeGraph(int) not being able to remove graph index 0 - made QCustomPlot::replot() abort painting when painter initialization fails (e.g. because width/height of QCustomPlot is zero) - The distance of the axis label from the axis ignored the tick label padding, this could have caused overlapping axis labels and tick labels - fixed memory leak in QCustomPlot (dtor didn't delete legend) - fixed bug that prevented QCPAxis::setRangeLower/Upper from setting the value to exactly 0. Other: - Changed default error bar handle size (QCustomPlotGraph::setErrorBarSize) from 4 to 6. - Removed QCustomPlotDataFetcher. Was deprecated and not used class. - Extended documentation, especially class descriptions. #### Version released on 15.01.12 #### Changes that (might) break backward compatibility: - QCustomPlotGraph now inherits from QObject Added features: - Added axis background pixmap (QCustomPlot::setAxisBackground, setAxisBackgroundScaled, setAxisBackgroundScaledMode) - Added width and height parameter on PDF export function QCustomPlot::savePdf(). This now allows PDF export to have arbitrary dimensions, independent of the current geometry of the QCustomPlot. - Added overload of QCustomPlot::removeGraph that takes QCustomPlotGraph* as parameter, instead the index of the graph - Added all enums to the Qt meta system via Q_ENUMS(). The enums can now be transformed to QString values easily with the Qt meta system, which makes saving state e.g. as XML significantly nicer. - added typedef QMapIterator QCustomPlotDataMapIterator and typedef QMutableMapIterator QCustomPlotDataMutableMapIterator for improved information hiding, when using iterators outside QCustomPlot code Bugfixes: - Fixed savePngScaled. Axis/label drawing functions used to reset the painter transform and thereby break savePngScaled. Now they buffer the current transform and restore it afterwards. - Fixed some glitches in the doxygen comments (affects documentation only) Other: - Changed the default tickLabelPadding of top axis from 3 to 6 pixels. Looks better. - Changed the default QCustomPlot::setAntialiasedElements setting: Graph fills are now antialiased by default. That's a bit slower, but makes fill borders look better. #### Version released on 19.11.11 #### Changes that break backward compatibility: - QCustomPlotAxis: tickFont and setTickFont renamed to tickLabelFont and setTickLabelFont (for naming consistency) Other: - QCustomPlotAxis: Added rotated tick labels, see setTickLabelRotation qcustomplot/qcustomplot.cpp0000644000175000017500000241006112236016557016431 0ustar dermanudermanu/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011, 2012, 2013 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 04.11.13 ** ** Version: 1.1.0 ** ****************************************************************************/ #include "qcustomplot.h" //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPPainter //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPPainter \brief QPainter subclass used internally This internal class is used to provide some extended functionality e.g. for tweaking position consistency between antialiased and non-antialiased painting. Further it provides workarounds for QPainter quirks. \warning This class intentionally hides non-virtual functions of QPainter, e.g. setPen, save and restore. So while it is possible to pass a QCPPainter instance to a function that expects a QPainter pointer, some of the workarounds and tweaks will be unavailable to the function (because it will call the base class implementations of the functions actually hidden by QCPPainter). */ /*! Creates a new QCPPainter instance and sets default values */ QCPPainter::QCPPainter() : QPainter(), mModes(pmDefault), mIsAntialiasing(false) { // don't setRenderHint(QPainter::NonCosmeticDefautPen) here, because painter isn't active yet and // a call to begin() will follow } /*! Creates a new QCPPainter instance on the specified paint \a device and sets default values. Just like the analogous QPainter constructor, begins painting on \a device immediately. Like \ref begin, this method sets QPainter::NonCosmeticDefaultPen in Qt versions before Qt5. */ QCPPainter::QCPPainter(QPaintDevice *device) : QPainter(device), mModes(pmDefault), mIsAntialiasing(false) { #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) // before Qt5, default pens used to be cosmetic if NonCosmeticDefaultPen flag isn't set. So we set it to get consistency across Qt versions. if (isActive()) setRenderHint(QPainter::NonCosmeticDefaultPen); #endif } QCPPainter::~QCPPainter() { } /*! Sets the pen of the painter and applies certain fixes to it, depending on the mode of this QCPPainter. \note this function hides the non-virtual base class implementation. */ void QCPPainter::setPen(const QPen &pen) { QPainter::setPen(pen); if (mModes.testFlag(pmNonCosmetic)) makeNonCosmetic(); } /*! \overload Sets the pen (by color) of the painter and applies certain fixes to it, depending on the mode of this QCPPainter. \note this function hides the non-virtual base class implementation. */ void QCPPainter::setPen(const QColor &color) { QPainter::setPen(color); if (mModes.testFlag(pmNonCosmetic)) makeNonCosmetic(); } /*! \overload Sets the pen (by style) of the painter and applies certain fixes to it, depending on the mode of this QCPPainter. \note this function hides the non-virtual base class implementation. */ void QCPPainter::setPen(Qt::PenStyle penStyle) { QPainter::setPen(penStyle); if (mModes.testFlag(pmNonCosmetic)) makeNonCosmetic(); } /*! \overload Works around a Qt bug introduced with Qt 4.8 which makes drawing QLineF unpredictable when antialiasing is disabled. Thus when antialiasing is disabled, it rounds the \a line to integer coordinates and then passes it to the original drawLine. \note this function hides the non-virtual base class implementation. */ void QCPPainter::drawLine(const QLineF &line) { if (mIsAntialiasing || mModes.testFlag(pmVectorized)) QPainter::drawLine(line); else QPainter::drawLine(line.toLine()); } /*! Sets whether painting uses antialiasing or not. Use this method instead of using setRenderHint with QPainter::Antialiasing directly, as it allows QCPPainter to regain pixel exactness between antialiased and non-antialiased painting (Since Qt < 5.0 uses slightly different coordinate systems for AA/Non-AA painting). */ void QCPPainter::setAntialiasing(bool enabled) { setRenderHint(QPainter::Antialiasing, enabled); if (mIsAntialiasing != enabled) { mIsAntialiasing = enabled; if (!mModes.testFlag(pmVectorized)) // antialiasing half-pixel shift only needed for rasterized outputs { if (mIsAntialiasing) translate(0.5, 0.5); else translate(-0.5, -0.5); } } } /*! Sets the mode of the painter. This controls whether the painter shall adjust its fixes/workarounds optimized for certain output devices. */ void QCPPainter::setModes(QCPPainter::PainterModes modes) { mModes = modes; } /*! Sets the QPainter::NonCosmeticDefaultPen in Qt versions before Qt5 after beginning painting on \a device. This is necessary to get cosmetic pen consistency across Qt versions, because since Qt5, all pens are non-cosmetic by default, and in Qt4 this render hint must be set to get that behaviour. The Constructor \ref QCPPainter(QPaintDevice *device) which directly starts painting also sets the render hint as appropriate. \note this function hides the non-virtual base class implementation. */ bool QCPPainter::begin(QPaintDevice *device) { bool result = QPainter::begin(device); #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) // before Qt5, default pens used to be cosmetic if NonCosmeticDefaultPen flag isn't set. So we set it to get consistency across Qt versions. if (result) setRenderHint(QPainter::NonCosmeticDefaultPen); #endif return result; } /*! \overload Sets the mode of the painter. This controls whether the painter shall adjust its fixes/workarounds optimized for certain output devices. */ void QCPPainter::setMode(QCPPainter::PainterMode mode, bool enabled) { if (!enabled && mModes.testFlag(mode)) mModes &= ~mode; else if (enabled && !mModes.testFlag(mode)) mModes |= mode; } /*! Saves the painter (see QPainter::save). Since QCPPainter adds some new internal state to QPainter, the save/restore functions are reimplemented to also save/restore those members. \note this function hides the non-virtual base class implementation. \see restore */ void QCPPainter::save() { mAntialiasingStack.push(mIsAntialiasing); QPainter::save(); } /*! Restores the painter (see QPainter::restore). Since QCPPainter adds some new internal state to QPainter, the save/restore functions are reimplemented to also save/restore those members. \note this function hides the non-virtual base class implementation. \see save */ void QCPPainter::restore() { if (!mAntialiasingStack.isEmpty()) mIsAntialiasing = mAntialiasingStack.pop(); else qDebug() << Q_FUNC_INFO << "Unbalanced save/restore"; QPainter::restore(); } /*! Changes the pen width to 1 if it currently is 0. This function is called in the \ref setPen overrides when the \ref pmNonCosmetic mode is set. */ void QCPPainter::makeNonCosmetic() { if (qFuzzyIsNull(pen().widthF())) { QPen p = pen(); p.setWidth(1); QPainter::setPen(p); } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPScatterStyle //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPScatterStyle \brief Represents the visual appearance of scatter points This class holds information about shape, color and size of scatter points. In plottables like QCPGraph it is used to store how scatter points shall be drawn. For example, \ref QCPGraph::setScatterStyle takes a QCPScatterStyle instance. A scatter style consists of a shape (\ref setShape), a line color (\ref setPen) and possibly a fill (\ref setBrush), if the shape provides a fillable area. Further, the size of the shape can be controlled with \ref setSize. \section QCPScatterStyle-defining Specifying a scatter style You can set all these configurations either by calling the respective functions on an instance: \code QCPScatterStyle myScatter; myScatter.setShape(QCPScatterStyle::ssCircle); myScatter.setPen(Qt::blue); myScatter.setBrush(Qt::white); myScatter.setSize(5); customPlot->graph(0)->setScatterStyle(myScatter); \endcode Or you can use one of the various constructors that take different parameter combinations, making it easy to specify a scatter style in a single call, like so: \code customPlot->graph(0)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, Qt::blue, Qt::white, 5)); \endcode \section QCPScatterStyle-undefinedpen Leaving the color/pen up to the plottable There are two constructors which leave the pen undefined: \ref QCPScatterStyle() and \ref QCPScatterStyle(ScatterShape shape, double size). If those constructors are used, a call to \ref isPenDefined will return false. It leads to scatter points that inherit the pen from the plottable that uses the scatter style. Thus, if such a scatter style is passed to QCPGraph, the line color of the graph (\ref QCPGraph::setPen) will be used by the scatter points. This makes it very convenient to set up typical scatter settings: \code customPlot->graph(0)->setScatterStyle(QCPScatterStyle::ssPlus); \endcode Notice that it wasn't even necessary to explicitly call a QCPScatterStyle constructor. This works because QCPScatterStyle provides a constructor that can transform a \ref ScatterShape directly into a QCPScatterStyle instance (that's the \ref QCPScatterStyle(ScatterShape shape, double size) constructor with a default for \a size). In those cases, C++ allows directly supplying a \ref ScatterShape, where actually a QCPScatterStyle is expected. \section QCPScatterStyle-custompath-and-pixmap Custom shapes and pixmaps QCPScatterStyle supports drawing custom shapes and arbitrary pixmaps as scatter points. For custom shapes, you can provide a QPainterPath with the desired shape to the \ref setCustomPath function or call the constructor that takes a painter path. The scatter shape will automatically be set to \ref ssCustom. For pixmaps, you call \ref setPixmap with the desired QPixmap. Alternatively you can use the constructor that takes a QPixmap. The scatter shape will automatically be set to \ref ssPixmap. Note that \ref setSize does not influence the appearance of the pixmap. */ /* start documentation of inline functions */ /*! \fn bool QCPScatterStyle::isNone() const Returns whether the scatter shape is \ref ssNone. \see setShape */ /*! \fn bool QCPScatterStyle::isPenDefined() const Returns whether a pen has been defined for this scatter style. The pen is undefined if a constructor is called that does not carry \a pen as parameter. Those are \ref QCPScatterStyle() and \ref QCPScatterStyle(ScatterShape shape, double size). If the pen is left undefined, the scatter color will be inherited from the plottable that uses this scatter style. \see setPen */ /* end documentation of inline functions */ /*! Creates a new QCPScatterStyle instance with size set to 6. No shape, pen or brush is defined. Since the pen is undefined (\ref isPenDefined returns false), the scatter color will be inherited from the plottable that uses this scatter style. */ QCPScatterStyle::QCPScatterStyle() : mSize(6), mShape(ssNone), mPen(Qt::NoPen), mBrush(Qt::NoBrush), mPenDefined(false) { } /*! Creates a new QCPScatterStyle instance with shape set to \a shape and size to \a size. No pen or brush is defined. Since the pen is undefined (\ref isPenDefined returns false), the scatter color will be inherited from the plottable that uses this scatter style. */ QCPScatterStyle::QCPScatterStyle(ScatterShape shape, double size) : mSize(size), mShape(shape), mPen(Qt::NoPen), mBrush(Qt::NoBrush), mPenDefined(false) { } /*! Creates a new QCPScatterStyle instance with shape set to \a shape, the pen color set to \a color, and size to \a size. No brush is defined, i.e. the scatter point will not be filled. */ QCPScatterStyle::QCPScatterStyle(ScatterShape shape, const QColor &color, double size) : mSize(size), mShape(shape), mPen(QPen(color)), mBrush(Qt::NoBrush), mPenDefined(true) { } /*! Creates a new QCPScatterStyle instance with shape set to \a shape, the pen color set to \a color, the brush color to \a fill (with a solid pattern), and size to \a size. */ QCPScatterStyle::QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size) : mSize(size), mShape(shape), mPen(QPen(color)), mBrush(QBrush(fill)), mPenDefined(true) { } /*! Creates a new QCPScatterStyle instance with shape set to \a shape, the pen set to \a pen, the brush to \a brush, and size to \a size. \warning In some cases it might be tempting to directly use a pen style like Qt::NoPen as \a pen and a color like Qt::blue as \a brush. Notice however, that the corresponding call\n QCPScatterStyle(QCPScatterShape::ssCircle, Qt::NoPen, Qt::blue, 5)\n doesn't necessarily lead C++ to use this constructor in some cases, but might mistake Qt::NoPen for a QColor and use the \ref QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size) constructor instead (which will lead to an unexpected look of the scatter points). To prevent this, be more explicit with the parameter types. For example, use QBrush(Qt::blue) instead of just Qt::blue, to clearly point out to the compiler that this constructor is wanted. */ QCPScatterStyle::QCPScatterStyle(ScatterShape shape, const QPen &pen, const QBrush &brush, double size) : mSize(size), mShape(shape), mPen(pen), mBrush(brush), mPenDefined(pen.style() != Qt::NoPen) { } /*! Creates a new QCPScatterStyle instance which will show the specified \a pixmap. The scatter shape is set to \ref ssPixmap. */ QCPScatterStyle::QCPScatterStyle(const QPixmap &pixmap) : mSize(5), mShape(ssPixmap), mPen(Qt::NoPen), mBrush(Qt::NoBrush), mPixmap(pixmap), mPenDefined(false) { } /*! Creates a new QCPScatterStyle instance with a custom shape that is defined via \a customPath. The scatter shape is set to \ref ssCustom. The custom shape line will be drawn with \a pen and filled with \a brush. The size has a slightly different meaning than for built-in scatter points: The custom path will be drawn scaled by a factor of \a size/6.0. Since the default \a size is 6, the custom path will appear at a its natural size by default. To double the size of the path for example, set \a size to 12. */ QCPScatterStyle::QCPScatterStyle(const QPainterPath &customPath, const QPen &pen, const QBrush &brush, double size) : mSize(size), mShape(ssCustom), mPen(pen), mBrush(brush), mCustomPath(customPath), mPenDefined(false) { } /*! Sets the size (pixel diameter) of the drawn scatter points to \a size. \see setShape */ void QCPScatterStyle::setSize(double size) { mSize = size; } /*! Sets the shape to \a shape. Note that the calls \ref setPixmap and \ref setCustomPath automatically set the shape to \ref ssPixmap and \ref ssCustom, respectively. \see setSize */ void QCPScatterStyle::setShape(QCPScatterStyle::ScatterShape shape) { mShape = shape; } /*! Sets the pen that will be used to draw scatter points to \a pen. If the pen was previously undefined (see \ref isPenDefined), the pen is considered defined after a call to this function, even if \a pen is Qt::NoPen. \see setBrush */ void QCPScatterStyle::setPen(const QPen &pen) { mPenDefined = true; mPen = pen; } /*! Sets the brush that will be used to fill scatter points to \a brush. Note that not all scatter shapes have fillable areas. For example, \ref ssPlus does not while \ref ssCircle does. \see setPen */ void QCPScatterStyle::setBrush(const QBrush &brush) { mBrush = brush; } /*! Sets the pixmap that will be drawn as scatter point to \a pixmap. Note that \ref setSize does not influence the appearance of the pixmap. The scatter shape is automatically set to \ref ssPixmap. */ void QCPScatterStyle::setPixmap(const QPixmap &pixmap) { setShape(ssPixmap); mPixmap = pixmap; } /*! Sets the custom shape that will be drawn as scatter point to \a customPath. The scatter shape is automatically set to \ref ssCustom. */ void QCPScatterStyle::setCustomPath(const QPainterPath &customPath) { setShape(ssCustom); mCustomPath = customPath; } /*! Applies the pen and the brush of this scatter style to \a painter. If this scatter style has an undefined pen (\ref isPenDefined), sets the pen of \a painter to \a defaultPen instead. This function is used by plottables (or any class that wants to draw scatters) just before a number of scatters with this style shall be drawn with the \a painter. \see drawShape */ void QCPScatterStyle::applyTo(QCPPainter *painter, const QPen &defaultPen) const { painter->setPen(mPenDefined ? mPen : defaultPen); painter->setBrush(mBrush); } /*! Draws the scatter shape with \a painter at position \a pos. This function does not modify the pen or the brush on the painter, as \ref applyTo is meant to be called before scatter points are drawn with \ref drawShape. \see applyTo */ void QCPScatterStyle::drawShape(QCPPainter *painter, QPointF pos) const { drawShape(painter, pos.x(), pos.y()); } /*! \overload Draws the scatter shape with \a painter at position \a x and \a y. */ void QCPScatterStyle::drawShape(QCPPainter *painter, double x, double y) const { double w = mSize/2.0; switch (mShape) { case ssNone: break; case ssDot: { painter->drawLine(QPointF(x, y), QPointF(x+0.0001, y)); break; } case ssCross: { painter->drawLine(QLineF(x-w, y-w, x+w, y+w)); painter->drawLine(QLineF(x-w, y+w, x+w, y-w)); break; } case ssPlus: { painter->drawLine(QLineF(x-w, y, x+w, y)); painter->drawLine(QLineF( x, y+w, x, y-w)); break; } case ssCircle: { painter->drawEllipse(QPointF(x , y), w, w); break; } case ssDisc: { QBrush b = painter->brush(); painter->setBrush(painter->pen().color()); painter->drawEllipse(QPointF(x , y), w, w); painter->setBrush(b); break; } case ssSquare: { painter->drawRect(QRectF(x-w, y-w, mSize, mSize)); break; } case ssDiamond: { painter->drawLine(QLineF(x-w, y, x, y-w)); painter->drawLine(QLineF( x, y-w, x+w, y)); painter->drawLine(QLineF(x+w, y, x, y+w)); painter->drawLine(QLineF( x, y+w, x-w, y)); break; } case ssStar: { painter->drawLine(QLineF(x-w, y, x+w, y)); painter->drawLine(QLineF( x, y+w, x, y-w)); painter->drawLine(QLineF(x-w*0.707, y-w*0.707, x+w*0.707, y+w*0.707)); painter->drawLine(QLineF(x-w*0.707, y+w*0.707, x+w*0.707, y-w*0.707)); break; } case ssTriangle: { painter->drawLine(QLineF(x-w, y+0.755*w, x+w, y+0.755*w)); painter->drawLine(QLineF(x+w, y+0.755*w, x, y-0.977*w)); painter->drawLine(QLineF( x, y-0.977*w, x-w, y+0.755*w)); break; } case ssTriangleInverted: { painter->drawLine(QLineF(x-w, y-0.755*w, x+w, y-0.755*w)); painter->drawLine(QLineF(x+w, y-0.755*w, x, y+0.977*w)); painter->drawLine(QLineF( x, y+0.977*w, x-w, y-0.755*w)); break; } case ssCrossSquare: { painter->drawLine(QLineF(x-w, y-w, x+w*0.95, y+w*0.95)); painter->drawLine(QLineF(x-w, y+w*0.95, x+w*0.95, y-w)); painter->drawRect(QRectF(x-w, y-w, mSize, mSize)); break; } case ssPlusSquare: { painter->drawLine(QLineF(x-w, y, x+w*0.95, y)); painter->drawLine(QLineF( x, y+w, x, y-w)); painter->drawRect(QRectF(x-w, y-w, mSize, mSize)); break; } case ssCrossCircle: { painter->drawLine(QLineF(x-w*0.707, y-w*0.707, x+w*0.670, y+w*0.670)); painter->drawLine(QLineF(x-w*0.707, y+w*0.670, x+w*0.670, y-w*0.707)); painter->drawEllipse(QPointF(x, y), w, w); break; } case ssPlusCircle: { painter->drawLine(QLineF(x-w, y, x+w, y)); painter->drawLine(QLineF( x, y+w, x, y-w)); painter->drawEllipse(QPointF(x, y), w, w); break; } case ssPeace: { painter->drawLine(QLineF(x, y-w, x, y+w)); painter->drawLine(QLineF(x, y, x-w*0.707, y+w*0.707)); painter->drawLine(QLineF(x, y, x+w*0.707, y+w*0.707)); painter->drawEllipse(QPointF(x, y), w, w); break; } case ssPixmap: { painter->drawPixmap(x-mPixmap.width()*0.5, y-mPixmap.height()*0.5, mPixmap); break; } case ssCustom: { QTransform oldTransform = painter->transform(); painter->translate(x, y); painter->scale(mSize/6.0, mSize/6.0); painter->drawPath(mCustomPath); painter->setTransform(oldTransform); break; } } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPLayer //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPLayer \brief A layer that may contain objects, to control the rendering order The Layering system of QCustomPlot is the mechanism to control the rendering order of the elements inside the plot. It is based on the two classes QCPLayer and QCPLayerable. QCustomPlot holds an ordered list of one or more instances of QCPLayer (see QCustomPlot::addLayer, QCustomPlot::layer, QCustomPlot::moveLayer, etc.). When replotting, QCustomPlot goes through the list of layers bottom to top and successively draws the layerables of the layers. A QCPLayer contains an ordered list of QCPLayerable instances. QCPLayerable is an abstract base class from which almost all visible objects derive, like axes, grids, graphs, items, etc. Initially, QCustomPlot has five layers: "background", "grid", "main", "axes" and "legend" (in that order). The top two layers "axes" and "legend" contain the default axes and legend, so they will be drawn on top. In the middle, there is the "main" layer. It is initially empty and set as the current layer (see QCustomPlot::setCurrentLayer). This means, all new plottables, items etc. are created on this layer by default. Then comes the "grid" layer which contains the QCPGrid instances (which belong tightly to QCPAxis, see \ref QCPAxis::grid). The Axis rect background shall be drawn behind everything else, thus the default QCPAxisRect instance is placed on the "background" layer. Of course, the layer affiliation of the individual objects can be changed as required (\ref QCPLayerable::setLayer). Controlling the ordering of objects is easy: Create a new layer in the position you want it to be, e.g. above "main", with QCustomPlot::addLayer. Then set the current layer with QCustomPlot::setCurrentLayer to that new layer and finally create the objects normally. They will be placed on the new layer automatically, due to the current layer setting. Alternatively you could have also ignored the current layer setting and just moved the objects with QCPLayerable::setLayer to the desired layer after creating them. It is also possible to move whole layers. For example, If you want the grid to be shown in front of all plottables/items on the "main" layer, just move it above "main" with QCustomPlot::moveLayer. The rendering order within one layer is simply by order of creation or insertion. The item created last (or added last to the layer), is drawn on top of all other objects on that layer. When a layer is deleted, the objects on it are not deleted with it, but fall on the layer below the deleted layer, see QCustomPlot::removeLayer. */ /* start documentation of inline functions */ /*! \fn QList QCPLayer::children() const Returns a list of all layerables on this layer. The order corresponds to the rendering order: layerables with higher indices are drawn above layerables with lower indices. */ /*! \fn int QCPLayer::index() const Returns the index this layer has in the QCustomPlot. The index is the integer number by which this layer can be accessed via \ref QCustomPlot::layer. Layers with higher indices will be drawn above layers with lower indices. */ /* end documentation of inline functions */ /*! Creates a new QCPLayer instance. Normally you shouldn't directly instantiate layers, use \ref QCustomPlot::addLayer instead. \warning It is not checked that \a layerName is actually a unique layer name in \a parentPlot. This check is only performed by \ref QCustomPlot::addLayer. */ QCPLayer::QCPLayer(QCustomPlot *parentPlot, const QString &layerName) : QObject(parentPlot), mParentPlot(parentPlot), mName(layerName), mIndex(-1) // will be set to a proper value by the QCustomPlot layer creation function { // Note: no need to make sure layerName is unique, because layer // management is done with QCustomPlot functions. } QCPLayer::~QCPLayer() { // If child layerables are still on this layer, detach them, so they don't try to reach back to this // then invalid layer once they get deleted/moved themselves. This only happens when layers are deleted // directly, like in the QCustomPlot destructor. (The regular layer removal procedure for the user is to // call QCustomPlot::removeLayer, which moves all layerables off this layer before deleting it.) while (!mChildren.isEmpty()) mChildren.last()->setLayer(0); // removes itself from mChildren via removeChild() if (mParentPlot->currentLayer() == this) qDebug() << Q_FUNC_INFO << "The parent plot's mCurrentLayer will be a dangling pointer. Should have been set to a valid layer or 0 beforehand."; } /*! \internal Adds the \a layerable to the list of this layer. If \a prepend is set to true, the layerable will be prepended to the list, i.e. be drawn beneath the other layerables already in the list. This function does not change the \a mLayer member of \a layerable to this layer. (Use QCPLayerable::setLayer to change the layer of an object, not this function.) \see removeChild */ void QCPLayer::addChild(QCPLayerable *layerable, bool prepend) { if (!mChildren.contains(layerable)) { if (prepend) mChildren.prepend(layerable); else mChildren.append(layerable); } else qDebug() << Q_FUNC_INFO << "layerable is already child of this layer" << reinterpret_cast(layerable); } /*! \internal Removes the \a layerable from the list of this layer. This function does not change the \a mLayer member of \a layerable. (Use QCPLayerable::setLayer to change the layer of an object, not this function.) \see addChild */ void QCPLayer::removeChild(QCPLayerable *layerable) { if (!mChildren.removeOne(layerable)) qDebug() << Q_FUNC_INFO << "layerable is not child of this layer" << reinterpret_cast(layerable); } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPLayerable //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPLayerable \brief Base class for all drawable objects This is the abstract base class most visible objects derive from, e.g. plottables, axes, grid etc. Every layerable is on a layer (QCPLayer) which allows controlling the rendering order by stacking the layers accordingly. For details about the layering mechanism, see the QCPLayer documentation. */ /* start documentation of inline functions */ /*! \fn QCPLayerable *QCPLayerable::parentLayerable() const Returns the parent layerable of this layerable. The parent layerable is used to provide visibility hierarchies in conjunction with the method \ref realVisibility. This way, layerables only get drawn if their parent layerables are visible, too. Note that a parent layerable is not necessarily also the QObject parent for memory management. Further, a layerable doesn't always have a parent layerable, so this function may return 0. A parent layerable is set implicitly with when placed inside layout elements and doesn't need to be set manually by the user. */ /* end documentation of inline functions */ /* start documentation of pure virtual functions */ /*! \fn virtual void QCPLayerable::applyDefaultAntialiasingHint(QCPPainter *painter) const = 0 \internal This function applies the default antialiasing setting to the specified \a painter, using the function \ref applyAntialiasingHint. It is the antialiasing state the painter is put in, when \ref draw is called on the layerable. If the layerable has multiple entities whose antialiasing setting may be specified individually, this function should set the antialiasing state of the most prominent entity. In this case however, the \ref draw function usually calls the specialized versions of this function before drawing each entity, effectively overriding the setting of the default antialiasing hint. First example: QCPGraph has multiple entities that have an antialiasing setting: The graph line, fills, scatters and error bars. Those can be configured via QCPGraph::setAntialiased, QCPGraph::setAntialiasedFill, QCPGraph::setAntialiasedScatters etc. Consequently, there isn't only the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw calls the respective specialized applyAntialiasingHint function. Second example: QCPItemLine consists only of a line so there is only one antialiasing setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the respective layerable subclass.) Consequently it only has the normal QCPItemLine::applyDefaultAntialiasingHint. The \ref QCPItemLine::draw function doesn't need to care about setting any antialiasing states, because the default antialiasing hint is already set on the painter when the \ref draw function is called, and that's the state it wants to draw the line with. */ /*! \fn virtual void QCPLayerable::draw(QCPPainter *painter) const = 0 \internal This function draws the layerable with the specified \a painter. It is only called by QCustomPlot, if the layerable is visible (\ref setVisible). Before this function is called, the painter's antialiasing state is set via \ref applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was set to \ref clipRect. */ /* end documentation of pure virtual functions */ /*! Creates a new QCPLayerable instance. Since QCPLayerable is an abstract base class, it can't be instantiated directly. Use one of the derived classes. If \a plot is provided, it automatically places itself on the layer named \a targetLayer. If \a targetLayer is an empty string, it places itself on the current layer of the plot (see \ref QCustomPlot::setCurrentLayer). It is possible to provide 0 as \a plot. In that case, you should assign a parent plot at a later time with \ref initializeParentPlot. The layerable's parent layerable is set to \a parentLayerable, if provided. Direct layerable parents are mainly used to control visibility in a hierarchy of layerables. This means a layerable is only drawn, if all its ancestor layerables are also visible. Note that \a parentLayerable does not become the QObject-parent (for memory management) of this layerable, \a plot does. */ QCPLayerable::QCPLayerable(QCustomPlot *plot, QString targetLayer, QCPLayerable *parentLayerable) : QObject(plot), mVisible(true), mParentPlot(plot), mParentLayerable(parentLayerable), mLayer(0), mAntialiased(true) { if (mParentPlot) { if (targetLayer.isEmpty()) setLayer(mParentPlot->currentLayer()); else if (!setLayer(targetLayer)) qDebug() << Q_FUNC_INFO << "setting QCPlayerable initial layer to" << targetLayer << "failed."; } } QCPLayerable::~QCPLayerable() { if (mLayer) { mLayer->removeChild(this); mLayer = 0; } } /*! Sets the visibility of this layerable object. If an object is not visible, it will not be drawn on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not possible. */ void QCPLayerable::setVisible(bool on) { mVisible = on; } /*! Sets the \a layer of this layerable object. The object will be placed on top of the other objects already on \a layer. Returns true on success, i.e. if \a layer is a valid layer. */ bool QCPLayerable::setLayer(QCPLayer *layer) { return moveToLayer(layer, false); } /*! \overload Sets the layer of this layerable object by name Returns true on success, i.e. if \a layerName is a valid layer name. */ bool QCPLayerable::setLayer(const QString &layerName) { if (!mParentPlot) { qDebug() << Q_FUNC_INFO << "no parent QCustomPlot set"; return false; } if (QCPLayer *layer = mParentPlot->layer(layerName)) { return setLayer(layer); } else { qDebug() << Q_FUNC_INFO << "there is no layer with name" << layerName; return false; } } /*! Sets whether this object will be drawn antialiased or not. Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements. */ void QCPLayerable::setAntialiased(bool enabled) { mAntialiased = enabled; } /*! Returns whether this layerable is visible, taking possible direct layerable parent visibility into account. This is the method that is consulted to decide whether a layerable shall be drawn or not. If this layerable has a direct layerable parent (usually set via hierarchies implemented in subclasses, like in the case of QCPLayoutElement), this function returns true only if this layerable has its visibility set to true and the parent layerable's \ref realVisibility returns true. If this layerable doesn't have a direct layerable parent, returns the state of this layerable's visibility. */ bool QCPLayerable::realVisibility() const { return mVisible && (!mParentLayerable || mParentLayerable.data()->realVisibility()); } /*! This function is used to decide whether a click hits a layerable object or not. \a pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn't be determined, -1.0 is returned. Further, if \a onlySelectable is true and the object is not selectable, -1.0 is returned, too. If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically the selectionTolerance of the parent QCustomPlot multiplied by 0.99). If the click lies outside the area, this function returns -1.0. Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance). The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified via the selectEvent/deselectEvent methods. \a details is an optional output parameter. Every layerable subclass may place any information in \a details. This information will be passed to \ref selectEvent when the parent QCustomPlot decides on the basis of this selectTest call, that the object was successfully selected. The subsequent call to \ref selectEvent will carry the \a details. This is useful for multi-part objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked is only done once in \ref selectTest. The result (i.e. the actually clicked part) can then be placed in \a details. So in the subsequent \ref selectEvent, the decision which part was selected doesn't have to be done a second time for a single selection operation. You may pass 0 as \a details to indicate that you are not interested in those selection details. \see selectEvent, deselectEvent, QCustomPlot::setInteractions */ double QCPLayerable::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(pos) Q_UNUSED(onlySelectable) Q_UNUSED(details) return -1.0; } /*! \internal Sets the parent plot of this layerable. Use this function once to set the parent plot if you have passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to another one. Note that, unlike when passing a non-null parent plot in the constructor, this function does not make \a parentPlot the QObject-parent of this layerable. If you want this, call QObject::setParent(\a parentPlot) in addition to this function. Further, you will probably want to set a layer (\ref setLayer) after calling this function, to make the layerable appear on the QCustomPlot. The parent plot change will be propagated to subclasses via a call to \ref parentPlotInitialized so they can react accordingly (e.g. also initialize the parent plot of child layerables, like QCPLayout does). */ void QCPLayerable::initializeParentPlot(QCustomPlot *parentPlot) { if (mParentPlot) { qDebug() << Q_FUNC_INFO << "called with mParentPlot already initialized"; return; } if (!parentPlot) qDebug() << Q_FUNC_INFO << "called with parentPlot zero"; mParentPlot = parentPlot; parentPlotInitialized(mParentPlot); } /*! \internal Sets the parent layerable of this layerable to \a parentLayerable. Note that \a parentLayerable does not become the QObject-parent (for memory management) of this layerable. The parent layerable has influence on the return value of the \ref realVisibility method. Only layerables with a fully visible parent tree will return true for \ref realVisibility, and thus be drawn. \see realVisibility */ void QCPLayerable::setParentLayerable(QCPLayerable *parentLayerable) { mParentLayerable = parentLayerable; } /*! \internal Moves this layerable object to \a layer. If \a prepend is true, this object will be prepended to the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is false, the object will be appended. Returns true on success, i.e. if \a layer is a valid layer. */ bool QCPLayerable::moveToLayer(QCPLayer *layer, bool prepend) { if (layer && !mParentPlot) { qDebug() << Q_FUNC_INFO << "no parent QCustomPlot set"; return false; } if (layer && layer->parentPlot() != mParentPlot) { qDebug() << Q_FUNC_INFO << "layer" << layer->name() << "is not in same QCustomPlot as this layerable"; return false; } if (mLayer) mLayer->removeChild(this); mLayer = layer; if (mLayer) mLayer->addChild(this, prepend); return true; } /*! \internal Sets the QCPainter::setAntialiasing state on the provided \a painter, depending on the \a localAntialiased value as well as the overrides \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is controlled via \a overrideElement. */ void QCPLayerable::applyAntialiasingHint(QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const { if (mParentPlot && mParentPlot->notAntialiasedElements().testFlag(overrideElement)) painter->setAntialiasing(false); else if (mParentPlot && mParentPlot->antialiasedElements().testFlag(overrideElement)) painter->setAntialiasing(true); else painter->setAntialiasing(localAntialiased); } /*! \internal This function is called by \ref initializeParentPlot, to allow subclasses to react on the setting of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the parent plot is set at a later time. For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level element of the hierarchy gets its parent plot initialized with \ref initializeParentPlot. To propagate the parent plot to all the children of the hierarchy, the top level element then uses this function to pass the parent plot on to its child elements. The default implementation does nothing. \see initializeParentPlot */ void QCPLayerable::parentPlotInitialized(QCustomPlot *parentPlot) { Q_UNUSED(parentPlot) } /*! \internal Returns the selection category this layerable shall belong to. The selection category is used in conjunction with \ref QCustomPlot::setInteractions to control which objects are selectable and which aren't. Subclasses that don't fit any of the normal \ref QCP::Interaction values can use \ref QCP::iSelectOther. This is what the default implementation returns. \see QCustomPlot::setInteractions */ QCP::Interaction QCPLayerable::selectionCategory() const { return QCP::iSelectOther; } /*! \internal Returns the clipping rectangle of this layerable object. By default, this is the viewport of the parent QCustomPlot. Specific subclasses may reimplement this function to provide different clipping rects. The returned clipping rect is set on the painter before the draw function of the respective object is called. */ QRect QCPLayerable::clipRect() const { if (mParentPlot) return mParentPlot->viewport(); else return QRect(); } /*! \internal This event is called when the layerable shall be selected, as a consequence of a click by the user. Subclasses should react to it by setting their selection state appropriately. The default implementation does nothing. \a event is the mouse event that caused the selection. \a additive indicates, whether the user was holding the multi-select-modifier while performing the selection (see \ref QCustomPlot::setMultiSelectModifier). if \a additive is true, the selection state must be toggled (i.e. become selected when unselected and unselected when selected). Every selectEvent is preceded by a call to \ref selectTest, which has returned positively (i.e. returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). The \a details data you output from \ref selectTest is feeded back via \a details here. You may use it to transport any kind of information from the selectTest to the possibly subsequent selectEvent. Usually \a details is used to transfer which part was clicked, if it is a layerable that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need to do the calculation again to find out which part was actually clicked. \a selectionStateChanged is an output parameter. If the pointer is non-null, this function must set the value either to true or false, depending on whether the selection state of this layerable was actually changed. For layerables that only are selectable as a whole and not in parts, this is simple: if \a additive is true, \a selectionStateChanged must also be set to true, because the selection toggles. If \a additive is false, \a selectionStateChanged is only set to true, if the layerable was previously unselected and now is switched to the selected state. \see selectTest, deselectEvent */ void QCPLayerable::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) { Q_UNUSED(event) Q_UNUSED(additive) Q_UNUSED(details) Q_UNUSED(selectionStateChanged) } /*! \internal This event is called when the layerable shall be deselected, either as consequence of a user interaction or a call to \ref QCustomPlot::deselectAll. Subclasses should react to it by unsetting their selection appropriately. just as in \ref selectEvent, the output parameter \a selectionStateChanged (if non-null), must return true or false when the selection state of this layerable has changed or not changed, respectively. \see selectTest, selectEvent */ void QCPLayerable::deselectEvent(bool *selectionStateChanged) { Q_UNUSED(selectionStateChanged) } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPRange //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPRange \brief Represents the range an axis is encompassing. contains a \a lower and \a upper double value and provides convenience input, output and modification functions. \see QCPAxis::setRange */ /*! Minimum range size (\a upper - \a lower) the range changing functions will accept. Smaller intervals would cause errors due to the 11-bit exponent of double precision numbers, corresponding to a minimum magnitude of roughly 1e-308. \see validRange, maxRange */ const double QCPRange::minRange = 1e-280; /*! Maximum values (negative and positive) the range will accept in range-changing functions. Larger absolute values would cause errors due to the 11-bit exponent of double precision numbers, corresponding to a maximum magnitude of roughly 1e308. Since the number of planck-volumes in the entire visible universe is only ~1e183, this should be enough. \see validRange, minRange */ const double QCPRange::maxRange = 1e250; /*! Constructs a range with \a lower and \a upper set to zero. */ QCPRange::QCPRange() : lower(0), upper(0) { } /*! \overload Constructs a range with the specified \a lower and \a upper values. */ QCPRange::QCPRange(double lower, double upper) : lower(lower), upper(upper) { normalize(); } /*! Returns the size of the range, i.e. \a upper-\a lower */ double QCPRange::size() const { return upper-lower; } /*! Returns the center of the range, i.e. (\a upper+\a lower)*0.5 */ double QCPRange::center() const { return (upper+lower)*0.5; } /*! Makes sure \a lower is numerically smaller than \a upper. If this is not the case, the values are swapped. */ void QCPRange::normalize() { if (lower > upper) qSwap(lower, upper); } /*! Expands this range such that \a otherRange is contained in the new range. It is assumed that both this range and \a otherRange are normalized (see \ref normalize). If \a otherRange is already inside the current range, this function does nothing. \see expanded */ void QCPRange::expand(const QCPRange &otherRange) { if (lower > otherRange.lower) lower = otherRange.lower; if (upper < otherRange.upper) upper = otherRange.upper; } /*! Returns an expanded range that contains this and \a otherRange. It is assumed that both this range and \a otherRange are normalized (see \ref normalize). \see expand */ QCPRange QCPRange::expanded(const QCPRange &otherRange) const { QCPRange result = *this; result.expand(otherRange); return result; } /*! Returns a sanitized version of the range. Sanitized means for logarithmic scales, that the range won't span the positive and negative sign domain, i.e. contain zero. Further \a lower will always be numerically smaller (or equal) to \a upper. If the original range does span positive and negative sign domains or contains zero, the returned range will try to approximate the original range as good as possible. If the positive interval of the original range is wider than the negative interval, the returned range will only contain the positive interval, with lower bound set to \a rangeFac or \a rangeFac *\a upper, whichever is closer to zero. Same procedure is used if the negative interval is wider than the positive interval, this time by changing the \a upper bound. */ QCPRange QCPRange::sanitizedForLogScale() const { double rangeFac = 1e-3; QCPRange sanitizedRange(lower, upper); sanitizedRange.normalize(); // can't have range spanning negative and positive values in log plot, so change range to fix it //if (qFuzzyCompare(sanitizedRange.lower+1, 1) && !qFuzzyCompare(sanitizedRange.upper+1, 1)) if (sanitizedRange.lower == 0.0 && sanitizedRange.upper != 0.0) { // case lower is 0 if (rangeFac < sanitizedRange.upper*rangeFac) sanitizedRange.lower = rangeFac; else sanitizedRange.lower = sanitizedRange.upper*rangeFac; } //else if (!qFuzzyCompare(lower+1, 1) && qFuzzyCompare(upper+1, 1)) else if (sanitizedRange.lower != 0.0 && sanitizedRange.upper == 0.0) { // case upper is 0 if (-rangeFac > sanitizedRange.lower*rangeFac) sanitizedRange.upper = -rangeFac; else sanitizedRange.upper = sanitizedRange.lower*rangeFac; } else if (sanitizedRange.lower < 0 && sanitizedRange.upper > 0) { // find out whether negative or positive interval is wider to decide which sign domain will be chosen if (-sanitizedRange.lower > sanitizedRange.upper) { // negative is wider, do same as in case upper is 0 if (-rangeFac > sanitizedRange.lower*rangeFac) sanitizedRange.upper = -rangeFac; else sanitizedRange.upper = sanitizedRange.lower*rangeFac; } else { // positive is wider, do same as in case lower is 0 if (rangeFac < sanitizedRange.upper*rangeFac) sanitizedRange.lower = rangeFac; else sanitizedRange.lower = sanitizedRange.upper*rangeFac; } } // due to normalization, case lower>0 && upper<0 should never occur, because that implies upper= lower && value <= upper; } /*! Checks, whether the specified range is within valid bounds, which are defined as QCPRange::maxRange and QCPRange::minRange. A valid range means: \li range bounds within -maxRange and maxRange \li range size above minRange \li range size below maxRange */ bool QCPRange::validRange(double lower, double upper) { /* return (lower > -maxRange && upper < maxRange && qAbs(lower-upper) > minRange && (lower < -minRange || lower > minRange) && (upper < -minRange || upper > minRange)); */ return (lower > -maxRange && upper < maxRange && qAbs(lower-upper) > minRange && qAbs(lower-upper) < maxRange); } /*! \overload Checks, whether the specified range is within valid bounds, which are defined as QCPRange::maxRange and QCPRange::minRange. A valid range means: \li range bounds within -maxRange and maxRange \li range size above minRange \li range size below maxRange */ bool QCPRange::validRange(const QCPRange &range) { /* return (range.lower > -maxRange && range.upper < maxRange && qAbs(range.lower-range.upper) > minRange && qAbs(range.lower-range.upper) < maxRange && (range.lower < -minRange || range.lower > minRange) && (range.upper < -minRange || range.upper > minRange)); */ return (range.lower > -maxRange && range.upper < maxRange && qAbs(range.lower-range.upper) > minRange && qAbs(range.lower-range.upper) < maxRange); } /*! \page thelayoutsystem The Layout System The layout system is responsible for positioning and scaling layout elements such as axis rects, legends and plot titles in a QCustomPlot. \section layoutsystem-classesandmechanisms Classes and mechanisms The layout system is based on the abstract base class \ref QCPLayoutElement. All objects that take part in the layout system derive from this class, either directly or indirectly. Since QCPLayoutElement itself derives from \ref QCPLayerable, a layout element may draw its own content. However, it is perfectly possible for a layout element to only serve as a structuring and/or positioning element, not drawing anything on its own. \subsection layoutsystem-rects Rects of a layout element A layout element is a rectangular object described by two rects: the inner rect (\ref QCPLayoutElement::rect) and the outer rect (\ref QCPLayoutElement::setOuterRect). The inner rect is calculated automatically by applying the margin (\ref QCPLayoutElement::setMargins) inward from the outer rect. The inner rect is meant for main content while the margin area may either be left blank or serve for displaying peripheral graphics. For example, \ref QCPAxisRect positions the four main axes at the sides of the inner rect, so graphs end up inside it and the axis labels and tick labels are in the margin area. \subsection layoutsystem-margins Margins Each layout element may provide a mechanism to automatically determine its margins. Internally, this is realized with the \ref QCPLayoutElement::calculateAutoMargin function which takes a \ref QCP::MarginSide and returns an integer value which represents the ideal margin for the specified side. The automatic margin will be used on the sides specified in \ref QCPLayoutElement::setAutoMargins. By default, it is set to \ref QCP::msAll meaning automatic margin calculation is enabled for all four sides. In this case, a minimum margin may be set with \ref QCPLayoutElement::setMinimumMargins, to prevent the automatic margin mechanism from setting margins smaller than desired for a specific situation. If automatic margin calculation is unset for a specific side, the margin of that side can be controlled directy via \ref QCPLayoutElement::setMargins. If multiple layout ements are arranged next to or beneath each other, it may be desirable to align their inner rects on certain sides. Since they all might have different automatic margins, this usually isn't the case. The class \ref QCPMarginGroup and \ref QCPLayoutElement::setMarginGroup fix this by allowing to synchronize multiple margins. See the documentation there for details. \subsection layoutsystem-layout Layouts As mentioned, a QCPLayoutElement may have an arbitrary number of child layout elements and in princple can have the only purpose to manage/arrange those child elements. This is what the subclass \ref QCPLayout specializes on. It is a QCPLayoutElement itself but has no visual representation. It defines an interface to add, remove and manage child layout elements. QCPLayout isn't a usable layout though, it's an abstract base class that concrete layouts derive from, like \ref QCPLayoutGrid which arranges its child elements in a grid and \ref QCPLayoutInset which allows placing child elements freely inside its rect. Since a QCPLayout is a layout element itself, it may be placed inside other layouts. This way, complex hierarchies may be created, offering very flexible arrangements.
\image html LayoutsystemSketch0.png ""
\image html LayoutsystemSketch1.png ""
Sketch of the default QCPLayoutGrid accessible via \ref QCustomPlot::plotLayout. The left image shows the outer and inner rect of the grid layout itself while the right image shows how two child layout elements are placed inside the grid layout next to each other in cells (0, 0) and (0, 1).
\subsection layoutsystem-plotlayout The top level plot layout Every QCustomPlot has one top level layout of type \ref QCPLayoutGrid. It is accessible via \ref QCustomPlot::plotLayout and contains (directly or indirectly via other sub-layouts) all layout elements in the QCustomPlot. By default, this top level grid layout contains a single cell which holds the main axis rect. \subsection layoutsystem-examples Examples Adding a plot title is a typical and simple case to demonstrate basic workings of the layout system. \code // first we create and prepare a plot title layout element: QCPPlotTitle *title = new QCPPlotTitle(customPlot); title->setText("Plot Title Example"); title->setFont(QFont("sans", 12, QFont::Bold)); // then we add it to the main plot layout: customPlot->plotLayout()->insertRow(0); // insert an empty row above the axis rect customPlot->plotLayout()->addElement(0, 0, title); // insert the title in the empty cell we just created \endcode \image html layoutsystem-addingplottitle.png Arranging multiple axis rects actually is the central purpose of the layout system. \code customPlot->plotLayout()->clear(); // let's start from scratch and remove the default axis rect // add the first axis rect in second row (row index 1): customPlot->plotLayout()->addElement(1, 0, new QCPAxisRect(customPlot)); // create a sub layout that we'll place in first row: QCPLayoutGrid *subLayout = new QCPLayoutGrid; customPlot->plotLayout()->addElement(0, 0, subLayout); // add two axis rects in the sub layout next to eachother: subLayout->addElement(0, 0, new QCPAxisRect(customPlot)); subLayout->addElement(0, 1, new QCPAxisRect(customPlot)); subLayout->setColumnStretchFactor(0, 3); // left axis rect shall have 60% of width subLayout->setColumnStretchFactor(1, 2); // right one only 40% (3:2 = 60:40) \endcode \image html layoutsystem-multipleaxisrects.png */ //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPMarginGroup //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPMarginGroup \brief A margin group allows synchronization of margin sides if working with multiple layout elements. QCPMarginGroup allows you to tie a margin side of two or more layout elements together, such that they will all have the same size, based on the largest required margin in the group. \n \image html QCPMarginGroup.png "Demonstration of QCPMarginGroup" \n In certain situations it is desirable that margins at specific sides are synchronized across layout elements. For example, if one QCPAxisRect is below another one in a grid layout, it will provide a cleaner look to the user if the left and right margins of the two axis rects are of the same size. The left axis of the top axis rect will then be at the same horizontal position as the left axis of the lower axis rect, making them appear aligned. The same applies for the right axes. This is what QCPMarginGroup makes possible. To add/remove a specific side of a layout element to/from a margin group, use the \ref QCPLayoutElement::setMarginGroup method. To completely break apart the margin group, either call \ref clear, or just delete the margin group. \section QCPMarginGroup-example Example First create a margin group: \code QCPMarginGroup *group = new QCPMarginGroup(customPlot); \endcode Then set this group on the layout element sides: \code customPlot->axisRect(0)->setMarginGroup(QCP::msLeft|QCP::msRight, group); customPlot->axisRect(1)->setMarginGroup(QCP::msLeft|QCP::msRight, group); \endcode Here, we've used the first two axis rects of the plot and synchronized their left margins with each other and their right margins with each other. */ /* start documentation of inline functions */ /*! \fn QList QCPMarginGroup::elements(QCP::MarginSide side) const Returns a list of all layout elements that have their margin \a side associated with this margin group. */ /* end documentation of inline functions */ /*! Creates a new QCPMarginGroup instance in \a parentPlot. */ QCPMarginGroup::QCPMarginGroup(QCustomPlot *parentPlot) : QObject(parentPlot), mParentPlot(parentPlot) { mChildren.insert(QCP::msLeft, QList()); mChildren.insert(QCP::msRight, QList()); mChildren.insert(QCP::msTop, QList()); mChildren.insert(QCP::msBottom, QList()); } QCPMarginGroup::~QCPMarginGroup() { clear(); } /*! Returns whether this margin group is empty. If this function returns true, no layout elements use this margin group to synchronize margin sides. */ bool QCPMarginGroup::isEmpty() const { QHashIterator > it(mChildren); while (it.hasNext()) { it.next(); if (!it.value().isEmpty()) return false; } return true; } /*! Clears this margin group. The synchronization of the margin sides that use this margin group is lifted and they will use their individual margin sizes again. */ void QCPMarginGroup::clear() { // make all children remove themselves from this margin group: QHashIterator > it(mChildren); while (it.hasNext()) { it.next(); const QList elements = it.value(); for (int i=elements.size()-1; i>=0; --i) elements.at(i)->setMarginGroup(it.key(), 0); // removes itself from mChildren via removeChild } } /*! \internal Returns the synchronized common margin for \a side. This is the margin value that will be used by the layout element on the respective side, if it is part of this margin group. The common margin is calculated by requesting the automatic margin (\ref QCPLayoutElement::calculateAutoMargin) of each element associated with \a side in this margin group, and choosing the largest returned value. (QCPLayoutElement::minimumMargins is taken into account, too.) */ int QCPMarginGroup::commonMargin(QCP::MarginSide side) const { // query all automatic margins of the layout elements in this margin group side and find maximum: int result = 0; const QList elements = mChildren.value(side); for (int i=0; iautoMargins().testFlag(side)) continue; int m = qMax(elements.at(i)->calculateAutoMargin(side), QCP::getMarginValue(elements.at(i)->minimumMargins(), side)); if (m > result) result = m; } return result; } /*! \internal Adds \a element to the internal list of child elements, for the margin \a side. This function does not modify the margin group property of \a element. */ void QCPMarginGroup::addChild(QCP::MarginSide side, QCPLayoutElement *element) { if (!mChildren[side].contains(element)) mChildren[side].append(element); else qDebug() << Q_FUNC_INFO << "element is already child of this margin group side" << reinterpret_cast(element); } /*! \internal Removes \a element from the internal list of child elements, for the margin \a side. This function does not modify the margin group property of \a element. */ void QCPMarginGroup::removeChild(QCP::MarginSide side, QCPLayoutElement *element) { if (!mChildren[side].removeOne(element)) qDebug() << Q_FUNC_INFO << "element is not child of this margin group side" << reinterpret_cast(element); } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPLayoutElement //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPLayoutElement \brief The abstract base class for all objects that form \ref thelayoutsystem "the layout system". This is an abstract base class. As such, it can't be instantiated directly, rather use one of its subclasses. A Layout element is a rectangular object which can be placed in layouts. It has an outer rect (QCPLayoutElement::outerRect) and an inner rect (\ref QCPLayoutElement::rect). The difference between outer and inner rect is called its margin. The margin can either be set to automatic or manual (\ref setAutoMargins) on a per-side basis. If a side is set to manual, that margin can be set explicitly with \ref setMargins and will stay fixed at that value. If it's set to automatic, the layout element subclass will control the value itself (via \ref calculateAutoMargin). Layout elements can be placed in layouts (base class QCPLayout) like QCPLayoutGrid. The top level layout is reachable via \ref QCustomPlot::plotLayout, and is a \ref QCPLayoutGrid. Since \ref QCPLayout itself derives from \ref QCPLayoutElement, layouts can be nested. Thus in QCustomPlot one can divide layout elements into two categories: The ones that are invisible by themselves, because they don't draw anything. Their only purpose is to manage the position and size of other layout elements. This category of layout elements usually use QCPLayout as base class. Then there is the category of layout elements which actually draw something. For example, QCPAxisRect, QCPLegend and QCPPlotTitle are of this category. This does not necessarily mean that the latter category can't have child layout elements. QCPLegend for instance, actually derives from QCPLayoutGrid and the individual legend items are child layout elements in the grid layout. */ /* start documentation of inline functions */ /*! \fn QCPLayout *QCPLayoutElement::layout() const Returns the parent layout of this layout element. */ /*! \fn QRect QCPLayoutElement::rect() const Returns the inner rect of this layout element. The inner rect is the outer rect (\ref setOuterRect) shrinked by the margins (\ref setMargins, \ref setAutoMargins). In some cases, the area between outer and inner rect is left blank. In other cases the margin area is used to display peripheral graphics while the main content is in the inner rect. This is where automatic margin calculation becomes interesting because it allows the layout element to adapt the margins to the peripheral graphics it wants to draw. For example, \ref QCPAxisRect draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if \ref setAutoMargins is enabled) according to the space required by the labels of the axes. */ /*! \fn virtual void QCPLayoutElement::mousePressEvent(QMouseEvent *event) This event is called, if the mouse was pressed while being inside the outer rect of this layout element. */ /*! \fn virtual void QCPLayoutElement::mouseMoveEvent(QMouseEvent *event) This event is called, if the mouse is moved inside the outer rect of this layout element. */ /*! \fn virtual void QCPLayoutElement::mouseReleaseEvent(QMouseEvent *event) This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released. */ /*! \fn virtual void QCPLayoutElement::mouseDoubleClickEvent(QMouseEvent *event) This event is called, if the mouse is double-clicked inside the outer rect of this layout element. */ /*! \fn virtual void QCPLayoutElement::wheelEvent(QWheelEvent *event) This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element. */ /* end documentation of inline functions */ /*! Creates an instance of QCPLayoutElement and sets default values. */ QCPLayoutElement::QCPLayoutElement(QCustomPlot *parentPlot) : QCPLayerable(parentPlot), // parenthood is changed as soon as layout element gets inserted into a layout (except for top level layout) mParentLayout(0), mMinimumSize(), mMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX), mRect(0, 0, 0, 0), mOuterRect(0, 0, 0, 0), mMargins(0, 0, 0, 0), mMinimumMargins(0, 0, 0, 0), mAutoMargins(QCP::msAll) { } QCPLayoutElement::~QCPLayoutElement() { setMarginGroup(QCP::msAll, 0); // unregister at margin groups, if there are any // unregister at layout: if (qobject_cast(mParentLayout)) // the qobject_cast is just a safeguard in case the layout forgets to call clear() in its dtor and this dtor is called by QObject dtor mParentLayout->take(this); } /*! Sets the outer rect of this layout element. If the layout element is inside a layout, the layout sets the position and size of this layout element using this function. Calling this function externally has no effect, since the layout will overwrite any changes to the outer rect upon the next replot. The layout element will adapt its inner \ref rect by applying the margins inward to the outer rect. \see rect */ void QCPLayoutElement::setOuterRect(const QRect &rect) { if (mOuterRect != rect) { mOuterRect = rect; mRect = mOuterRect.adjusted(mMargins.left(), mMargins.top(), -mMargins.right(), -mMargins.bottom()); } } /*! Sets the margins of this layout element. If \ref setAutoMargins is disabled for some or all sides, this function is used to manually set the margin on those sides. Sides that are still set to be handled automatically are ignored and may have any value in \a margins. The margin is the distance between the outer rect (controlled by the parent layout via \ref setOuterRect) and the inner \ref rect (which usually contains the main content of this layout element). \see setAutoMargins */ void QCPLayoutElement::setMargins(const QMargins &margins) { if (mMargins != margins) { mMargins = margins; mRect = mOuterRect.adjusted(mMargins.left(), mMargins.top(), -mMargins.right(), -mMargins.bottom()); } } /*! If \ref setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins. The minimum values are not enforced on margin sides that were set to be under manual control via \ref setAutoMargins. \see setAutoMargins */ void QCPLayoutElement::setMinimumMargins(const QMargins &margins) { if (mMinimumMargins != margins) { mMinimumMargins = margins; } } /*! Sets on which sides the margin shall be calculated automatically. If a side is calculated automatically, a minimum margin value may be provided with \ref setMinimumMargins. If a side is set to be controlled manually, the value may be specified with \ref setMargins. Margin sides that are under automatic control may participate in a \ref QCPMarginGroup (see \ref setMarginGroup), to synchronize (align) it with other layout elements in the plot. \see setMinimumMargins, setMargins */ void QCPLayoutElement::setAutoMargins(QCP::MarginSides sides) { mAutoMargins = sides; } /*! Sets the minimum size for the inner \ref rect of this layout element. A parent layout tries to respect the \a size here by changing row/column sizes in the layout accordingly. If the parent layout size is not sufficient to satisfy all minimum size constraints of its child layout elements, the layout may set a size that is actually smaller than \a size. QCustomPlot propagates the layout's size constraints to the outside by setting its own minimum QWidget size accordingly, so violations of \a size should be exceptions. */ void QCPLayoutElement::setMinimumSize(const QSize &size) { if (mMinimumSize != size) { mMinimumSize = size; if (mParentLayout) mParentLayout->sizeConstraintsChanged(); } } /*! \overload Sets the minimum size for the inner \ref rect of this layout element. */ void QCPLayoutElement::setMinimumSize(int width, int height) { setMinimumSize(QSize(width, height)); } /*! Sets the maximum size for the inner \ref rect of this layout element. A parent layout tries to respect the \a size here by changing row/column sizes in the layout accordingly. */ void QCPLayoutElement::setMaximumSize(const QSize &size) { if (mMaximumSize != size) { mMaximumSize = size; if (mParentLayout) mParentLayout->sizeConstraintsChanged(); } } /*! \overload Sets the maximum size for the inner \ref rect of this layout element. */ void QCPLayoutElement::setMaximumSize(int width, int height) { setMaximumSize(QSize(width, height)); } /*! Sets the margin \a group of the specified margin \a sides. Margin groups allow synchronizing specified margins across layout elements, see the documentation of \ref QCPMarginGroup. To unset the margin group of \a sides, set \a group to 0. Note that margin groups only work for margin sides that are set to automatic (\ref setAutoMargins). */ void QCPLayoutElement::setMarginGroup(QCP::MarginSides sides, QCPMarginGroup *group) { QVector sideVector; if (sides.testFlag(QCP::msLeft)) sideVector.append(QCP::msLeft); if (sides.testFlag(QCP::msRight)) sideVector.append(QCP::msRight); if (sides.testFlag(QCP::msTop)) sideVector.append(QCP::msTop); if (sides.testFlag(QCP::msBottom)) sideVector.append(QCP::msBottom); for (int i=0; iremoveChild(side, this); if (!group) // if setting to 0, remove hash entry. Else set hash entry to new group and register there { mMarginGroups.remove(side); } else // setting to a new group { mMarginGroups[side] = group; group->addChild(side, this); } } } } /*! Updates the layout element and sub-elements. This function is automatically called upon replot by the parent layout element. Layout elements that have child elements should call the \ref update method of their child elements. The default implementation executes the automatic margin mechanism, so subclasses should make sure to call the base class implementation. */ void QCPLayoutElement::update() { if (mAutoMargins != QCP::msNone) { // set the margins of this layout element according to automatic margin calculation, either directly or via a margin group: QMargins newMargins = mMargins; QVector marginSides = QVector() << QCP::msLeft << QCP::msRight << QCP::msTop << QCP::msBottom; for (int i=0; icommonMargin(side)); // this side is part of a margin group, so get the margin value from that group else QCP::setMarginValue(newMargins, side, calculateAutoMargin(side)); // this side is not part of a group, so calculate the value directly // apply minimum margin restrictions: if (QCP::getMarginValue(newMargins, side) < QCP::getMarginValue(mMinimumMargins, side)) QCP::setMarginValue(newMargins, side, QCP::getMarginValue(mMinimumMargins, side)); } } setMargins(newMargins); } } /*! Returns the minimum size this layout element (the inner \ref rect) may be compressed to. if a minimum size (\ref setMinimumSize) was not set manually, parent layouts consult this function to determine the minimum allowed size of this layout element. (A manual minimum size is considered set if it is non-zero.) */ QSize QCPLayoutElement::minimumSizeHint() const { return mMinimumSize; } /*! Returns the maximum size this layout element (the inner \ref rect) may be expanded to. if a maximum size (\ref setMaximumSize) was not set manually, parent layouts consult this function to determine the maximum allowed size of this layout element. (A manual maximum size is considered set if it is smaller than Qt's QWIDGETSIZE_MAX.) */ QSize QCPLayoutElement::maximumSizeHint() const { return mMaximumSize; } /*! Returns a list of all child elements in this layout element. If \a recursive is true, all sub-child elements are included in the list, too. Note that there may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.) */ QList QCPLayoutElement::elements(bool recursive) const { Q_UNUSED(recursive) return QList(); } /*! Layout elements are sensitive to events inside their outer rect. If \a pos is within the outer rect, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. However, layout elements are not selectable by default. So if \a onlySelectable is true, -1.0 is returned. See \ref QCPLayerable::selectTest for a general explanation of this virtual method. QCPLayoutElement subclasses may reimplement this method to provide more specific selection test behaviour. */ double QCPLayoutElement::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable) return -1; if (QRectF(mOuterRect).contains(pos)) { if (mParentPlot) return mParentPlot->selectionTolerance()*0.99; else { qDebug() << Q_FUNC_INFO << "parent plot not defined"; return -1; } } else return -1; } /*! \internal propagates the parent plot initialization to all child elements, by calling \ref QCPLayerable::initializeParentPlot on them. */ void QCPLayoutElement::parentPlotInitialized(QCustomPlot *parentPlot) { QList els = elements(false); for (int i=0; iparentPlot()) els.at(i)->initializeParentPlot(parentPlot); } } /*! \internal Returns the margin size for this \a side. It is used if automatic margins is enabled for this \a side (see \ref setAutoMargins). If a minimum margin was set with \ref setMinimumMargins, the returned value will not be smaller than the specified minimum margin. The default implementation just returns the respective manual margin (\ref setMargins) or the minimum margin, whichever is larger. */ int QCPLayoutElement::calculateAutoMargin(QCP::MarginSide side) { return qMax(QCP::getMarginValue(mMargins, side), QCP::getMarginValue(mMinimumMargins, side)); } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPLayout //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPLayout \brief The abstract base class for layouts This is an abstract base class for layout elements whose main purpose is to define the position and size of other child layout elements. In most cases, layouts don't draw anything themselves (but there are exceptions to this, e.g. QCPLegend). QCPLayout derives from QCPLayoutElement, and thus can itself be nested in other layouts. QCPLayout introduces a common interface for accessing and manipulating the child elements. Those functions are most notably \ref elementCount, \ref elementAt, \ref takeAt, \ref take, \ref simplify, \ref removeAt, \ref remove and \ref clear. Individual subclasses may add more functions to this interface which are more specialized to the form of the layout. For example, \ref QCPLayoutGrid adds functions that take row and column indices to access cells of the layout grid more conveniently. Since this is an abstract base class, you can't instantiate it directly. Rather use one of its subclasses like QCPLayoutGrid or QCPLayoutInset. For a general introduction to the layout system, see the dedicated documentation page \ref thelayoutsystem "The Layout System". */ /* start documentation of pure virtual functions */ /*! \fn virtual int QCPLayout::elementCount() const = 0 Returns the number of elements/cells in the layout. \see elements, elementAt */ /*! \fn virtual QCPLayoutElement* QCPLayout::elementAt(int index) const = 0 Returns the element in the cell with the given \a index. If \a index is invalid, returns 0. Note that even if \a index is valid, the respective cell may be empty in some layouts (e.g. QCPLayoutGrid), so this function may return 0 in those cases. You may use this function to check whether a cell is empty or not. \see elements, elementCount, takeAt */ /*! \fn virtual QCPLayoutElement* QCPLayout::takeAt(int index) = 0 Removes the element with the given \a index from the layout and returns it. If the \a index is invalid or the cell with that index is empty, returns 0. Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use \ref simplify. \see elementAt, take */ /*! \fn virtual bool QCPLayout::take(QCPLayoutElement* element) = 0 Removes the specified \a element from the layout and returns true on success. If the \a element isn't in this layout, returns false. Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use \ref simplify. \see takeAt */ /* end documentation of pure virtual functions */ /*! Creates an instance of QCPLayoutElement and sets default values. Note that since QCPLayoutElement is an abstract base class, it can't be instantiated directly. */ QCPLayout::QCPLayout() { } /*! First calls the QCPLayoutElement::update base class implementation to update the margins on this layout. Then calls \ref updateLayout which subclasses reimplement to reposition and resize their cells. Finally, \ref update is called on all child elements. */ void QCPLayout::update() { QCPLayoutElement::update(); // recalculates (auto-)margins // set child element rects according to layout: updateLayout(); // propagate update call to child elements: for (int i=0; iupdate(); } } /* inherits documentation from base class */ QList QCPLayout::elements(bool recursive) const { int c = elementCount(); QList result; #if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0) result.reserve(c); #endif for (int i=0; ielements(recursive); } } return result; } /*! Simplifies the layout by collapsing empty cells. The exact behavior depends on subclasses, the default implementation does nothing. Not all layouts need simplification. For example, QCPLayoutInset doesn't use explicit simplification while QCPLayoutGrid does. */ void QCPLayout::simplify() { } /*! Removes and deletes the element at the provided \a index. Returns true on success. If \a index is invalid or points to an empty cell, returns false. This function internally uses \ref takeAt to remove the element from the layout and then deletes the returned element. \see remove, takeAt */ bool QCPLayout::removeAt(int index) { if (QCPLayoutElement *el = takeAt(index)) { delete el; return true; } else return false; } /*! Removes and deletes the provided \a element. Returns true on success. If \a element is not in the layout, returns false. This function internally uses \ref takeAt to remove the element from the layout and then deletes the element. \see removeAt, take */ bool QCPLayout::remove(QCPLayoutElement *element) { if (take(element)) { delete element; return true; } else return false; } /*! Removes and deletes all layout elements in this layout. \see remove, removeAt */ void QCPLayout::clear() { for (int i=elementCount()-1; i>=0; --i) { if (elementAt(i)) removeAt(i); } simplify(); } /*! Subclasses call this method to report changed (minimum/maximum) size constraints. If the parent of this layout is again a QCPLayout, forwards the call to the parent's \ref sizeConstraintsChanged. If the parent is a QWidget (i.e. is the \ref QCustomPlot::plotLayout of QCustomPlot), calls QWidget::updateGeometry, so if the QCustomPlot widget is inside a Qt QLayout, it may update itself and resize cells accordingly. */ void QCPLayout::sizeConstraintsChanged() const { if (QWidget *w = qobject_cast(parent())) w->updateGeometry(); else if (QCPLayout *l = qobject_cast(parent())) l->sizeConstraintsChanged(); } /*! \internal Subclasses reimplement this method to update the position and sizes of the child elements/cells via calling their \ref QCPLayoutElement::setOuterRect. The default implementation does nothing. The geometry used as a reference is the inner \ref rect of this layout. Child elements should stay within that rect. \ref getSectionSizes may help with the reimplementation of this function. \see update */ void QCPLayout::updateLayout() { } /*! \internal Associates \a el with this layout. This is done by setting the \ref QCPLayoutElement::layout, the \ref QCPLayerable::parentLayerable and the QObject parent to this layout. Further, if \a el didn't previously have a parent plot, calls \ref QCPLayerable::initializeParentPlot on \a el to set the paret plot. This method is used by subclass specific methods that add elements to the layout. Note that this method only changes properties in \a el. The removal from the old layout and the insertion into the new layout must be done additionally. */ void QCPLayout::adoptElement(QCPLayoutElement *el) { if (el) { el->mParentLayout = this; el->setParentLayerable(this); el->setParent(this); if (!el->parentPlot()) el->initializeParentPlot(mParentPlot); } else qDebug() << Q_FUNC_INFO << "Null element passed"; } /*! \internal Disassociates \a el from this layout. This is done by setting the \ref QCPLayoutElement::layout and the \ref QCPLayerable::parentLayerable to zero. The QObject parent is set to the parent QCustomPlot. This method is used by subclass specific methods that remove elements from the layout (e.g. \ref take or \ref takeAt). Note that this method only changes properties in \a el. The removal from the old layout must be done additionally. */ void QCPLayout::releaseElement(QCPLayoutElement *el) { if (el) { el->mParentLayout = 0; el->setParentLayerable(0); el->setParent(mParentPlot); // Note: Don't initializeParentPlot(0) here, because layout element will stay in same parent plot } else qDebug() << Q_FUNC_INFO << "Null element passed"; } /*! \internal This is a helper function for the implementation of \ref updateLayout in subclasses. It calculates the sizes of one-dimensional sections with provided constraints on maximum section sizes, minimum section sizes, relative stretch factors and the final total size of all sections. The QVector entries refer to the sections. Thus all QVectors must have the same size. \a maxSizes gives the maximum allowed size of each section. If there shall be no maximum size imposed, set all vector values to Qt's QWIDGETSIZE_MAX. \a minSizes gives the minimum allowed size of each section. If there shall be no minimum size imposed, set all vector values to zero. If the \a minSizes entries add up to a value greater than \a totalSize, sections will be scaled smaller than the proposed minimum sizes. (In other words, not exceeding the allowed total size is taken to be more important than not going below minimum section sizes.) \a stretchFactors give the relative proportions of the sections to each other. If all sections shall be scaled equally, set all values equal. If the first section shall be double the size of each individual other section, set the first number of \a stretchFactors to double the value of the other individual values (e.g. {2, 1, 1, 1}). \a totalSize is the value that the final section sizes will add up to. Due to rounding, the actual sum may differ slightly. If you want the section sizes to sum up to exactly that value, you could distribute the remaining difference on the sections. The return value is a QVector containing the section sizes. */ QVector QCPLayout::getSectionSizes(QVector maxSizes, QVector minSizes, QVector stretchFactors, int totalSize) const { if (maxSizes.size() != minSizes.size() || minSizes.size() != stretchFactors.size()) { qDebug() << Q_FUNC_INFO << "Passed vector sizes aren't equal:" << maxSizes << minSizes << stretchFactors; return QVector(); } if (stretchFactors.isEmpty()) return QVector(); int sectionCount = stretchFactors.size(); QVector sectionSizes(sectionCount); // if provided total size is forced smaller than total minimum size, ignore minimum sizes (squeeze sections): int minSizeSum = 0; for (int i=0; i minimumLockedSections; QList unfinishedSections; for (int i=0; i result(sectionCount); for (int i=0; i= 0 && row < mElements.size()) { if (column >= 0 && column < mElements.first().size()) { if (QCPLayoutElement *result = mElements.at(row).at(column)) return result; else qDebug() << Q_FUNC_INFO << "Requested cell is empty. Row:" << row << "Column:" << column; } else qDebug() << Q_FUNC_INFO << "Invalid column. Row:" << row << "Column:" << column; } else qDebug() << Q_FUNC_INFO << "Invalid row. Row:" << row << "Column:" << column; return 0; } /*! Returns the number of rows in the layout. \see columnCount */ int QCPLayoutGrid::rowCount() const { return mElements.size(); } /*! Returns the number of columns in the layout. \see rowCount */ int QCPLayoutGrid::columnCount() const { if (mElements.size() > 0) return mElements.first().size(); else return 0; } /*! Adds the \a element to cell with \a row and \a column. If \a element is already in a layout, it is first removed from there. If \a row or \a column don't exist yet, the layout is expanded accordingly. Returns true if the element was added successfully, i.e. if the cell at \a row and \a column didn't already have an element. \see element, hasElement, take, remove */ bool QCPLayoutGrid::addElement(int row, int column, QCPLayoutElement *element) { if (element) { if (!hasElement(row, column)) { if (element->layout()) // remove from old layout first element->layout()->take(element); expandTo(row+1, column+1); mElements[row][column] = element; adoptElement(element); return true; } else qDebug() << Q_FUNC_INFO << "There is already an element in the specified row/column:" << row << column; } else qDebug() << Q_FUNC_INFO << "Can't add null element to row/column:" << row << column; return false; } /*! Returns whether the cell at \a row and \a column exists and contains a valid element, i.e. isn't empty. \see element */ bool QCPLayoutGrid::hasElement(int row, int column) { if (row >= 0 && row < rowCount() && column >= 0 && column < columnCount()) return mElements.at(row).at(column); else return false; } /*! Sets the stretch \a factor of \a column. Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (\ref QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize), regardless of the stretch factor. The default stretch factor of newly created rows/columns is 1. \see setColumnStretchFactors, setRowStretchFactor */ void QCPLayoutGrid::setColumnStretchFactor(int column, double factor) { if (column >= 0 && column < columnCount()) { if (factor > 0) mColumnStretchFactors[column] = factor; else qDebug() << Q_FUNC_INFO << "Invalid stretch factor, must be positive:" << factor; } else qDebug() << Q_FUNC_INFO << "Invalid column:" << column; } /*! Sets the stretch \a factors of all columns. \a factors must have the size \ref columnCount. Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (\ref QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize), regardless of the stretch factor. The default stretch factor of newly created rows/columns is 1. \see setColumnStretchFactor, setRowStretchFactors */ void QCPLayoutGrid::setColumnStretchFactors(const QList &factors) { if (factors.size() == mColumnStretchFactors.size()) { mColumnStretchFactors = factors; for (int i=0; i= 0 && row < rowCount()) { if (factor > 0) mRowStretchFactors[row] = factor; else qDebug() << Q_FUNC_INFO << "Invalid stretch factor, must be positive:" << factor; } else qDebug() << Q_FUNC_INFO << "Invalid row:" << row; } /*! Sets the stretch \a factors of all rows. \a factors must have the size \ref rowCount. Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond their minimum and maximum widths/heights (\ref QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize), regardless of the stretch factor. The default stretch factor of newly created rows/columns is 1. \see setRowStretchFactor, setColumnStretchFactors */ void QCPLayoutGrid::setRowStretchFactors(const QList &factors) { if (factors.size() == mRowStretchFactors.size()) { mRowStretchFactors = factors; for (int i=0; i()); mRowStretchFactors.append(1); } // go through rows and expand columns as necessary: int newColCount = qMax(columnCount(), newColumnCount); for (int i=0; i rowCount()) newIndex = rowCount(); mRowStretchFactors.insert(newIndex, 1); QList newRow; for (int col=0; col columnCount()) newIndex = columnCount(); mColumnStretchFactors.insert(newIndex, 1); for (int row=0; row minColWidths, minRowHeights, maxColWidths, maxRowHeights; getMinimumRowColSizes(&minColWidths, &minRowHeights); getMaximumRowColSizes(&maxColWidths, &maxRowHeights); int totalRowSpacing = (rowCount()-1) * mRowSpacing; int totalColSpacing = (columnCount()-1) * mColumnSpacing; QVector colWidths = getSectionSizes(maxColWidths, minColWidths, mColumnStretchFactors.toVector(), mRect.width()-totalColSpacing); QVector rowHeights = getSectionSizes(maxRowHeights, minRowHeights, mRowStretchFactors.toVector(), mRect.height()-totalRowSpacing); // go through cells and set rects accordingly: int yOffset = mRect.top(); for (int row=0; row 0) yOffset += rowHeights.at(row-1)+mRowSpacing; int xOffset = mRect.left(); for (int col=0; col 0) xOffset += colWidths.at(col-1)+mColumnSpacing; if (mElements.at(row).at(col)) mElements.at(row).at(col)->setOuterRect(QRect(xOffset, yOffset, colWidths.at(col), rowHeights.at(row))); } } } /* inherits documentation from base class */ int QCPLayoutGrid::elementCount() const { return rowCount()*columnCount(); } /* inherits documentation from base class */ QCPLayoutElement *QCPLayoutGrid::elementAt(int index) const { if (index >= 0 && index < elementCount()) return mElements.at(index / columnCount()).at(index % columnCount()); else return 0; } /* inherits documentation from base class */ QCPLayoutElement *QCPLayoutGrid::takeAt(int index) { if (QCPLayoutElement *el = elementAt(index)) { releaseElement(el); mElements[index / columnCount()][index % columnCount()] = 0; return el; } else { qDebug() << Q_FUNC_INFO << "Attempt to take invalid index:" << index; return 0; } } /* inherits documentation from base class */ bool QCPLayoutGrid::take(QCPLayoutElement *element) { if (element) { for (int i=0; i QCPLayoutGrid::elements(bool recursive) const { QList result; int colC = columnCount(); int rowC = rowCount(); #if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0) result.reserve(colC*rowC); #endif for (int row=0; rowelements(recursive); } } return result; } /*! Simplifies the layout by collapsing rows and columns which only contain empty cells. */ void QCPLayoutGrid::simplify() { // remove rows with only empty cells: for (int row=rowCount()-1; row>=0; --row) { bool hasElements = false; for (int col=0; col=0; --col) { bool hasElements = false; for (int row=0; row minColWidths, minRowHeights; getMinimumRowColSizes(&minColWidths, &minRowHeights); QSize result(0, 0); for (int i=0; i maxColWidths, maxRowHeights; getMaximumRowColSizes(&maxColWidths, &maxRowHeights); QSize result(0, 0); for (int i=0; i *minColWidths, QVector *minRowHeights) const { *minColWidths = QVector(columnCount(), 0); *minRowHeights = QVector(rowCount(), 0); for (int row=0; rowminimumSizeHint(); QSize min = mElements.at(row).at(col)->minimumSize(); QSize final(min.width() > 0 ? min.width() : minHint.width(), min.height() > 0 ? min.height() : minHint.height()); if (minColWidths->at(col) < final.width()) (*minColWidths)[col] = final.width(); if (minRowHeights->at(row) < final.height()) (*minRowHeights)[row] = final.height(); } } } } /*! \internal Places the maximum column widths and row heights into \a maxColWidths and \a maxRowHeights respectively. The maximum height of a row is the smallest maximum height of any element in that row. The maximum width of a column is the smallest maximum width of any element in that column. This is a helper function for \ref updateLayout. \see getMinimumRowColSizes */ void QCPLayoutGrid::getMaximumRowColSizes(QVector *maxColWidths, QVector *maxRowHeights) const { *maxColWidths = QVector(columnCount(), QWIDGETSIZE_MAX); *maxRowHeights = QVector(rowCount(), QWIDGETSIZE_MAX); for (int row=0; rowmaximumSizeHint(); QSize max = mElements.at(row).at(col)->maximumSize(); QSize final(max.width() < QWIDGETSIZE_MAX ? max.width() : maxHint.width(), max.height() < QWIDGETSIZE_MAX ? max.height() : maxHint.height()); if (maxColWidths->at(col) > final.width()) (*maxColWidths)[col] = final.width(); if (maxRowHeights->at(row) > final.height()) (*maxRowHeights)[row] = final.height(); } } } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPLayoutInset //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPLayoutInset \brief A layout that places child elements aligned to the border or arbitrarily positioned Elements are placed either aligned to the border or at arbitrary position in the area of the layout. Which placement applies is controlled with the \ref InsetPlacement (\ref setInsetPlacement). Elements are added via \ref addElement(QCPLayoutElement *element, Qt::Alignment alignment) or addElement(QCPLayoutElement *element, const QRectF &rect). If the first method is used, the inset placement will default to \ref ipBorderAligned and the element will be aligned according to the \a alignment parameter. The second method defaults to \ref ipFree and allows placing elements at arbitrary position and size, defined by \a rect. The alignment or rect can be set via \ref setInsetAlignment or \ref setInsetRect, respectively. This is the layout that every QCPAxisRect has as \ref QCPAxisRect::insetLayout. */ /* start documentation of inline functions */ /*! \fn virtual void QCPLayoutInset::simplify() The QCPInsetLayout does not need simplification since it can never have empty cells due to its linear index structure. This method does nothing. */ /* end documentation of inline functions */ /*! Creates an instance of QCPLayoutInset and sets default values. */ QCPLayoutInset::QCPLayoutInset() { } QCPLayoutInset::~QCPLayoutInset() { // clear all child layout elements. This is important because only the specific layouts know how // to handle removing elements (clear calls virtual removeAt method to do that). clear(); } /*! Returns the placement type of the element with the specified \a index. */ QCPLayoutInset::InsetPlacement QCPLayoutInset::insetPlacement(int index) const { if (elementAt(index)) return mInsetPlacement.at(index); else { qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; return ipFree; } } /*! Returns the alignment of the element with the specified \a index. The alignment only has a meaning, if the inset placement (\ref setInsetPlacement) is \ref ipBorderAligned. */ Qt::Alignment QCPLayoutInset::insetAlignment(int index) const { if (elementAt(index)) return mInsetAlignment.at(index); else { qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; return 0; } } /*! Returns the rect of the element with the specified \a index. The rect only has a meaning, if the inset placement (\ref setInsetPlacement) is \ref ipFree. */ QRectF QCPLayoutInset::insetRect(int index) const { if (elementAt(index)) return mInsetRect.at(index); else { qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; return QRectF(); } } /*! Sets the inset placement type of the element with the specified \a index to \a placement. \see InsetPlacement */ void QCPLayoutInset::setInsetPlacement(int index, QCPLayoutInset::InsetPlacement placement) { if (elementAt(index)) mInsetPlacement[index] = placement; else qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; } /*! If the inset placement (\ref setInsetPlacement) is \ref ipBorderAligned, this function is used to set the alignment of the element with the specified \a index to \a alignment. \a alignment is an or combination of the following alignment flags: Qt::AlignLeft, Qt::AlignHCenter, Qt::AlighRight, Qt::AlignTop, Qt::AlignVCenter, Qt::AlignBottom. Any other alignment flags will be ignored. */ void QCPLayoutInset::setInsetAlignment(int index, Qt::Alignment alignment) { if (elementAt(index)) mInsetAlignment[index] = alignment; else qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; } /*! If the inset placement (\ref setInsetPlacement) is \ref ipFree, this function is used to set the position and size of the element with the specified \a index to \a rect. \a rect is given in fractions of the whole inset layout rect. So an inset with rect (0, 0, 1, 1) will span the entire layout. An inset with rect (0.6, 0.1, 0.35, 0.35) will be in the top right corner of the layout, with 35% width and height of the parent layout. Note that the minimum and maximum sizes of the embedded element (\ref QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize) are enforced. */ void QCPLayoutInset::setInsetRect(int index, const QRectF &rect) { if (elementAt(index)) mInsetRect[index] = rect; else qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; } /* inherits documentation from base class */ void QCPLayoutInset::updateLayout() { for (int i=0; iminimumSizeHint(); QSize maxSizeHint = mElements.at(i)->maximumSizeHint(); finalMinSize.setWidth(mElements.at(i)->minimumSize().width() > 0 ? mElements.at(i)->minimumSize().width() : minSizeHint.width()); finalMinSize.setHeight(mElements.at(i)->minimumSize().height() > 0 ? mElements.at(i)->minimumSize().height() : minSizeHint.height()); finalMaxSize.setWidth(mElements.at(i)->maximumSize().width() < QWIDGETSIZE_MAX ? mElements.at(i)->maximumSize().width() : maxSizeHint.width()); finalMaxSize.setHeight(mElements.at(i)->maximumSize().height() < QWIDGETSIZE_MAX ? mElements.at(i)->maximumSize().height() : maxSizeHint.height()); if (mInsetPlacement.at(i) == ipFree) { insetRect = QRect(rect().x()+rect().width()*mInsetRect.at(i).x(), rect().y()+rect().height()*mInsetRect.at(i).y(), rect().width()*mInsetRect.at(i).width(), rect().height()*mInsetRect.at(i).height()); if (insetRect.size().width() < finalMinSize.width()) insetRect.setWidth(finalMinSize.width()); if (insetRect.size().height() < finalMinSize.height()) insetRect.setHeight(finalMinSize.height()); if (insetRect.size().width() > finalMaxSize.width()) insetRect.setWidth(finalMaxSize.width()); if (insetRect.size().height() > finalMaxSize.height()) insetRect.setHeight(finalMaxSize.height()); } else if (mInsetPlacement.at(i) == ipBorderAligned) { insetRect.setSize(finalMinSize); Qt::Alignment al = mInsetAlignment.at(i); if (al.testFlag(Qt::AlignLeft)) insetRect.moveLeft(rect().x()); else if (al.testFlag(Qt::AlignRight)) insetRect.moveRight(rect().x()+rect().width()); else insetRect.moveLeft(rect().x()+rect().width()*0.5-finalMinSize.width()*0.5); // default to Qt::AlignHCenter if (al.testFlag(Qt::AlignTop)) insetRect.moveTop(rect().y()); else if (al.testFlag(Qt::AlignBottom)) insetRect.moveBottom(rect().y()+rect().height()); else insetRect.moveTop(rect().y()+rect().height()*0.5-finalMinSize.height()*0.5); // default to Qt::AlignVCenter } mElements.at(i)->setOuterRect(insetRect); } } /* inherits documentation from base class */ int QCPLayoutInset::elementCount() const { return mElements.size(); } /* inherits documentation from base class */ QCPLayoutElement *QCPLayoutInset::elementAt(int index) const { if (index >= 0 && index < mElements.size()) return mElements.at(index); else return 0; } /* inherits documentation from base class */ QCPLayoutElement *QCPLayoutInset::takeAt(int index) { if (QCPLayoutElement *el = elementAt(index)) { releaseElement(el); mElements.removeAt(index); mInsetPlacement.removeAt(index); mInsetAlignment.removeAt(index); mInsetRect.removeAt(index); return el; } else { qDebug() << Q_FUNC_INFO << "Attempt to take invalid index:" << index; return 0; } } /* inherits documentation from base class */ bool QCPLayoutInset::take(QCPLayoutElement *element) { if (element) { for (int i=0; iselectTest(pos, onlySelectable) >= 0) return mParentPlot->selectionTolerance()*0.99; } return -1; } /*! Adds the specified \a element to the layout as an inset aligned at the border (\ref setInsetAlignment is initialized with \ref ipBorderAligned). The alignment is set to \a alignment. \a alignment is an or combination of the following alignment flags: Qt::AlignLeft, Qt::AlignHCenter, Qt::AlighRight, Qt::AlignTop, Qt::AlignVCenter, Qt::AlignBottom. Any other alignment flags will be ignored. \see addElement(QCPLayoutElement *element, const QRectF &rect) */ void QCPLayoutInset::addElement(QCPLayoutElement *element, Qt::Alignment alignment) { if (element) { if (element->layout()) // remove from old layout first element->layout()->take(element); mElements.append(element); mInsetPlacement.append(ipBorderAligned); mInsetAlignment.append(alignment); mInsetRect.append(QRectF(0.6, 0.6, 0.4, 0.4)); adoptElement(element); } else qDebug() << Q_FUNC_INFO << "Can't add null element"; } /*! Adds the specified \a element to the layout as an inset with free positioning/sizing (\ref setInsetAlignment is initialized with \ref ipFree). The position and size is set to \a rect. \a rect is given in fractions of the whole inset layout rect. So an inset with rect (0, 0, 1, 1) will span the entire layout. An inset with rect (0.6, 0.1, 0.35, 0.35) will be in the top right corner of the layout, with 35% width and height of the parent layout. \see addElement(QCPLayoutElement *element, Qt::Alignment alignment) */ void QCPLayoutInset::addElement(QCPLayoutElement *element, const QRectF &rect) { if (element) { if (element->layout()) // remove from old layout first element->layout()->take(element); mElements.append(element); mInsetPlacement.append(ipFree); mInsetAlignment.append(Qt::AlignRight|Qt::AlignTop); mInsetRect.append(rect); adoptElement(element); } else qDebug() << Q_FUNC_INFO << "Can't add null element"; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPLineEnding //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPLineEnding \brief Handles the different ending decorations for line-like items \image html QCPLineEnding.png "The various ending styles currently supported" For every ending a line-like item has, an instance of this class exists. For example, QCPItemLine has two endings which can be set with QCPItemLine::setHead and QCPItemLine::setTail. The styles themselves are defined via the enum QCPLineEnding::EndingStyle. Most decorations can be modified regarding width and length, see \ref setWidth and \ref setLength. The direction of the ending decoration (e.g. direction an arrow is pointing) is controlled by the line-like item. For example, when both endings of a QCPItemLine are set to be arrows, they will point to opposite directions, e.g. "outward". This can be changed by \ref setInverted, which would make the respective arrow point inward. Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle where actually a QCPLineEnding is expected, e.g. \code myItemLine->setHead(QCPLineEnding::esSpikeArrow) \endcode */ /*! Creates a QCPLineEnding instance with default values (style \ref esNone). */ QCPLineEnding::QCPLineEnding() : mStyle(esNone), mWidth(8), mLength(10), mInverted(false) { } /*! Creates a QCPLineEnding instance with the specified values. */ QCPLineEnding::QCPLineEnding(QCPLineEnding::EndingStyle style, double width, double length, bool inverted) : mStyle(style), mWidth(width), mLength(length), mInverted(inverted) { } /*! Sets the style of the ending decoration. */ void QCPLineEnding::setStyle(QCPLineEnding::EndingStyle style) { mStyle = style; } /*! Sets the width of the ending decoration, if the style supports it. On arrows, for example, the width defines the size perpendicular to the arrow's pointing direction. \see setLength */ void QCPLineEnding::setWidth(double width) { mWidth = width; } /*! Sets the length of the ending decoration, if the style supports it. On arrows, for example, the length defines the size in pointing direction. \see setWidth */ void QCPLineEnding::setLength(double length) { mLength = length; } /*! Sets whether the ending decoration shall be inverted. For example, an arrow decoration will point inward when \a inverted is set to true. Note that also the \a width direction is inverted. For symmetrical ending styles like arrows or discs, this doesn't make a difference. However, asymmetric styles like \ref esHalfBar are affected by it, which can be used to control to which side the half bar points to. */ void QCPLineEnding::setInverted(bool inverted) { mInverted = inverted; } /*! \internal Returns the maximum pixel radius the ending decoration might cover, starting from the position the decoration is drawn at (typically a line ending/\ref QCPItemPosition of an item). This is relevant for clipping. Only omit painting of the decoration when the position where the decoration is supposed to be drawn is farther away from the clipping rect than the returned distance. */ double QCPLineEnding::boundingDistance() const { switch (mStyle) { case esNone: return 0; case esFlatArrow: case esSpikeArrow: case esLineArrow: case esSkewedBar: return qSqrt(mWidth*mWidth+mLength*mLength); // items that have width and length case esDisc: case esSquare: case esDiamond: case esBar: case esHalfBar: return mWidth*1.42; // items that only have a width -> width*sqrt(2) } return 0; } /*! Starting from the origin of this line ending (which is style specific), returns the length covered by the line ending symbol, in backward direction. For example, the \ref esSpikeArrow has a shorter real length than a \ref esFlatArrow, even if both have the same \ref setLength value, because the spike arrow has an inward curved back, which reduces the length along its center axis (the drawing origin for arrows is at the tip). This function is used for precise, style specific placement of line endings, for example in QCPAxes. */ double QCPLineEnding::realLength() const { switch (mStyle) { case esNone: case esLineArrow: case esSkewedBar: case esBar: case esHalfBar: return 0; case esFlatArrow: return mLength; case esDisc: case esSquare: case esDiamond: return mWidth*0.5; case esSpikeArrow: return mLength*0.8; } return 0; } /*! \internal Draws the line ending with the specified \a painter at the position \a pos. The direction of the line ending is controlled with \a dir. */ void QCPLineEnding::draw(QCPPainter *painter, const QVector2D &pos, const QVector2D &dir) const { if (mStyle == esNone) return; QVector2D lengthVec(dir.normalized()); if (lengthVec.isNull()) lengthVec = QVector2D(1, 0); QVector2D widthVec(-lengthVec.y(), lengthVec.x()); lengthVec *= mLength*(mInverted ? -1 : 1); widthVec *= mWidth*0.5*(mInverted ? -1 : 1); QPen penBackup = painter->pen(); QBrush brushBackup = painter->brush(); QPen miterPen = penBackup; miterPen.setJoinStyle(Qt::MiterJoin); // to make arrow heads spikey QBrush brush(painter->pen().color(), Qt::SolidPattern); switch (mStyle) { case esNone: break; case esFlatArrow: { QPointF points[3] = {pos.toPointF(), (pos-lengthVec+widthVec).toPointF(), (pos-lengthVec-widthVec).toPointF() }; painter->setPen(miterPen); painter->setBrush(brush); painter->drawConvexPolygon(points, 3); painter->setBrush(brushBackup); painter->setPen(penBackup); break; } case esSpikeArrow: { QPointF points[4] = {pos.toPointF(), (pos-lengthVec+widthVec).toPointF(), (pos-lengthVec*0.8).toPointF(), (pos-lengthVec-widthVec).toPointF() }; painter->setPen(miterPen); painter->setBrush(brush); painter->drawConvexPolygon(points, 4); painter->setBrush(brushBackup); painter->setPen(penBackup); break; } case esLineArrow: { QPointF points[3] = {(pos-lengthVec+widthVec).toPointF(), pos.toPointF(), (pos-lengthVec-widthVec).toPointF() }; painter->setPen(miterPen); painter->drawPolyline(points, 3); painter->setPen(penBackup); break; } case esDisc: { painter->setBrush(brush); painter->drawEllipse(pos.toPointF(), mWidth*0.5, mWidth*0.5); painter->setBrush(brushBackup); break; } case esSquare: { QVector2D widthVecPerp(-widthVec.y(), widthVec.x()); QPointF points[4] = {(pos-widthVecPerp+widthVec).toPointF(), (pos-widthVecPerp-widthVec).toPointF(), (pos+widthVecPerp-widthVec).toPointF(), (pos+widthVecPerp+widthVec).toPointF() }; painter->setPen(miterPen); painter->setBrush(brush); painter->drawConvexPolygon(points, 4); painter->setBrush(brushBackup); painter->setPen(penBackup); break; } case esDiamond: { QVector2D widthVecPerp(-widthVec.y(), widthVec.x()); QPointF points[4] = {(pos-widthVecPerp).toPointF(), (pos-widthVec).toPointF(), (pos+widthVecPerp).toPointF(), (pos+widthVec).toPointF() }; painter->setPen(miterPen); painter->setBrush(brush); painter->drawConvexPolygon(points, 4); painter->setBrush(brushBackup); painter->setPen(penBackup); break; } case esBar: { painter->drawLine((pos+widthVec).toPointF(), (pos-widthVec).toPointF()); break; } case esHalfBar: { painter->drawLine((pos+widthVec).toPointF(), pos.toPointF()); break; } case esSkewedBar: { if (qFuzzyIsNull(painter->pen().widthF()) && !painter->modes().testFlag(QCPPainter::pmNonCosmetic)) { // if drawing with cosmetic pen (perfectly thin stroke, happens only in vector exports), draw bar exactly on tip of line painter->drawLine((pos+widthVec+lengthVec*0.2*(mInverted?-1:1)).toPointF(), (pos-widthVec-lengthVec*0.2*(mInverted?-1:1)).toPointF()); } else { // if drawing with thick (non-cosmetic) pen, shift bar a little in line direction to prevent line from sticking through bar slightly painter->drawLine((pos+widthVec+lengthVec*0.2*(mInverted?-1:1)+dir.normalized()*qMax(1.0, (double)painter->pen().widthF())*0.5).toPointF(), (pos-widthVec-lengthVec*0.2*(mInverted?-1:1)+dir.normalized()*qMax(1.0, (double)painter->pen().widthF())*0.5).toPointF()); } break; } } } /*! \internal \overload Draws the line ending. The direction is controlled with the \a angle parameter in radians. */ void QCPLineEnding::draw(QCPPainter *painter, const QVector2D &pos, double angle) const { draw(painter, pos, QVector2D(qCos(angle), qSin(angle))); } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPGrid //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPGrid \brief Responsible for drawing the grid of a QCPAxis. This class is tightly bound to QCPAxis. Every axis owns a grid instance and uses it to draw the grid lines, sub grid lines and zero-line. You can interact with the grid of an axis via \ref QCPAxis::grid. Normally, you don't need to create an instance of QCPGrid yourself. The axis and grid drawing was split into two classes to allow them to be placed on different layers (both QCPAxis and QCPGrid inherit from QCPLayerable). Thus it is possible to have the grid in the background and the axes in the foreground, and any plottables/items in between. This described situation is the default setup, see the QCPLayer documentation. */ /*! Creates a QCPGrid instance and sets default values. You shouldn't instantiate grids on their own, since every QCPAxis brings its own QCPGrid. */ QCPGrid::QCPGrid(QCPAxis *parentAxis) : QCPLayerable(parentAxis->parentPlot(), "", parentAxis), mParentAxis(parentAxis) { // warning: this is called in QCPAxis constructor, so parentAxis members should not be accessed/called setParent(parentAxis); setPen(QPen(QColor(200,200,200), 0, Qt::DotLine)); setSubGridPen(QPen(QColor(220,220,220), 0, Qt::DotLine)); setZeroLinePen(QPen(QColor(200,200,200), 0, Qt::SolidLine)); setSubGridVisible(false); setAntialiased(false); setAntialiasedSubGrid(false); setAntialiasedZeroLine(false); } /*! Sets whether grid lines at sub tick marks are drawn. \see setSubGridPen */ void QCPGrid::setSubGridVisible(bool visible) { mSubGridVisible = visible; } /*! Sets whether sub grid lines are drawn antialiased. */ void QCPGrid::setAntialiasedSubGrid(bool enabled) { mAntialiasedSubGrid = enabled; } /*! Sets whether zero lines are drawn antialiased. */ void QCPGrid::setAntialiasedZeroLine(bool enabled) { mAntialiasedZeroLine = enabled; } /*! Sets the pen with which (major) grid lines are drawn. */ void QCPGrid::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen with which sub grid lines are drawn. */ void QCPGrid::setSubGridPen(const QPen &pen) { mSubGridPen = pen; } /*! Sets the pen with which zero lines are drawn. Zero lines are lines at value coordinate 0 which may be drawn with a different pen than other grid lines. To disable zero lines and just draw normal grid lines at zero, set \a pen to Qt::NoPen. */ void QCPGrid::setZeroLinePen(const QPen &pen) { mZeroLinePen = pen; } /*! \internal A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter before drawing the major grid lines. This is the antialiasing state the painter passed to the \ref draw method is in by default. This function takes into account the local setting of the antialiasing flag as well as the overrides set with \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. \see setAntialiased */ void QCPGrid::applyDefaultAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiased, QCP::aeGrid); } /*! \internal Draws grid lines and sub grid lines at the positions of (sub) ticks of the parent axis, spanning over the complete axis rect. Also draws the zero line, if appropriate (\ref setZeroLinePen). */ void QCPGrid::draw(QCPPainter *painter) { if (!mParentAxis) { qDebug() << Q_FUNC_INFO << "invalid parent axis"; return; } if (mSubGridVisible) drawSubGridLines(painter); drawGridLines(painter); } /*! \internal Draws the main grid lines and possibly a zero line with the specified painter. This is a helper function called by \ref draw. */ void QCPGrid::drawGridLines(QCPPainter *painter) const { if (!mParentAxis) { qDebug() << Q_FUNC_INFO << "invalid parent axis"; return; } int lowTick = mParentAxis->mLowestVisibleTick; int highTick = mParentAxis->mHighestVisibleTick; double t; // helper variable, result of coordinate-to-pixel transforms if (mParentAxis->orientation() == Qt::Horizontal) { // draw zeroline: int zeroLineIndex = -1; if (mZeroLinePen.style() != Qt::NoPen && mParentAxis->mRange.lower < 0 && mParentAxis->mRange.upper > 0) { applyAntialiasingHint(painter, mAntialiasedZeroLine, QCP::aeZeroLine); painter->setPen(mZeroLinePen); double epsilon = mParentAxis->range().size()*1E-6; // for comparing double to zero for (int i=lowTick; i <= highTick; ++i) { if (qAbs(mParentAxis->mTickVector.at(i)) < epsilon) { zeroLineIndex = i; t = mParentAxis->coordToPixel(mParentAxis->mTickVector.at(i)); // x painter->drawLine(QLineF(t, mParentAxis->mAxisRect->bottom(), t, mParentAxis->mAxisRect->top())); break; } } } // draw grid lines: applyDefaultAntialiasingHint(painter); painter->setPen(mPen); for (int i=lowTick; i <= highTick; ++i) { if (i == zeroLineIndex) continue; // don't draw a gridline on top of the zeroline t = mParentAxis->coordToPixel(mParentAxis->mTickVector.at(i)); // x painter->drawLine(QLineF(t, mParentAxis->mAxisRect->bottom(), t, mParentAxis->mAxisRect->top())); } } else { // draw zeroline: int zeroLineIndex = -1; if (mZeroLinePen.style() != Qt::NoPen && mParentAxis->mRange.lower < 0 && mParentAxis->mRange.upper > 0) { applyAntialiasingHint(painter, mAntialiasedZeroLine, QCP::aeZeroLine); painter->setPen(mZeroLinePen); double epsilon = mParentAxis->mRange.size()*1E-6; // for comparing double to zero for (int i=lowTick; i <= highTick; ++i) { if (qAbs(mParentAxis->mTickVector.at(i)) < epsilon) { zeroLineIndex = i; t = mParentAxis->coordToPixel(mParentAxis->mTickVector.at(i)); // y painter->drawLine(QLineF(mParentAxis->mAxisRect->left(), t, mParentAxis->mAxisRect->right(), t)); break; } } } // draw grid lines: applyDefaultAntialiasingHint(painter); painter->setPen(mPen); for (int i=lowTick; i <= highTick; ++i) { if (i == zeroLineIndex) continue; // don't draw a gridline on top of the zeroline t = mParentAxis->coordToPixel(mParentAxis->mTickVector.at(i)); // y painter->drawLine(QLineF(mParentAxis->mAxisRect->left(), t, mParentAxis->mAxisRect->right(), t)); } } } /*! \internal Draws the sub grid lines with the specified painter. This is a helper function called by \ref draw. */ void QCPGrid::drawSubGridLines(QCPPainter *painter) const { if (!mParentAxis) { qDebug() << Q_FUNC_INFO << "invalid parent axis"; return; } applyAntialiasingHint(painter, mAntialiasedSubGrid, QCP::aeSubGrid); double t; // helper variable, result of coordinate-to-pixel transforms painter->setPen(mSubGridPen); if (mParentAxis->orientation() == Qt::Horizontal) { for (int i=0; imSubTickVector.size(); ++i) { t = mParentAxis->coordToPixel(mParentAxis->mSubTickVector.at(i)); // x painter->drawLine(QLineF(t, mParentAxis->mAxisRect->bottom(), t, mParentAxis->mAxisRect->top())); } } else { for (int i=0; imSubTickVector.size(); ++i) { t = mParentAxis->coordToPixel(mParentAxis->mSubTickVector.at(i)); // y painter->drawLine(QLineF(mParentAxis->mAxisRect->left(), t, mParentAxis->mAxisRect->right(), t)); } } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPAxis //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPAxis \brief Manages a single axis inside a QCustomPlot. Usually doesn't need to be instantiated externally. Access %QCustomPlot's default four axes via QCustomPlot::xAxis (bottom), QCustomPlot::yAxis (left), QCustomPlot::xAxis2 (top) and QCustomPlot::yAxis2 (right). Axes are always part of an axis rect, see QCPAxisRect. \image html AxisNamesOverview.png
Naming convention of axis parts
\n \image html AxisRectSpacingOverview.png
Overview of the spacings and paddings that define the geometry of an axis. The dashed gray line on the left represents the QCustomPlot widget border.
*/ /* start of documentation of inline functions */ /*! \fn Qt::Orientation QCPAxis::orientation() const Returns the orientation of the axis. The axis orientation (horizontal or vertical) is deduced from the axis type (left, top, right or bottom). */ /*! \fn QCPGrid *QCPAxis::grid() const Returns the \ref QCPGrid instance belonging to this axis. Access it to set details about the way the grid is displayed. */ /* end of documentation of inline functions */ /* start of documentation of signals */ /*! \fn void QCPAxis::ticksRequest() This signal is emitted when \ref setAutoTicks is false and the axis is about to generate tick labels for a replot. Modifying the tick positions can be done with \ref setTickVector. If you also want to control the tick labels, set \ref setAutoTickLabels to false and also provide the labels with \ref setTickVectorLabels. If you only want static ticks you probably don't need this signal, since you can just set the tick vector (and possibly tick label vector) once. However, if you want to provide ticks (and maybe labels) dynamically, e.g. depending on the current axis range, connect a slot to this signal and set the vector/vectors there. */ /*! \fn void QCPAxis::rangeChanged(const QCPRange &newRange) This signal is emitted when the range of this axis has changed. You can connect it to the \ref setRange slot of another axis to communicate the new range to the other axis, in order for it to be synchronized. */ /*! \fn void QCPAxis::rangeChanged(const QCPRange &newRange, const QCPRange &oldRange) \overload Additionally to the new range, this signal also provides the previous range held by the axis as \a oldRange. */ /*! \fn void QCPAxis::selectionChanged(QCPAxis::SelectableParts selection) This signal is emitted when the selection state of this axis has changed, either by user interaction or by a direct call to \ref setSelectedParts. */ /* end of documentation of signals */ /*! Constructs an Axis instance of Type \a type for the axis rect \a parent. You shouldn't instantiate axes directly, rather use \ref QCPAxisRect::addAxis. */ QCPAxis::QCPAxis(QCPAxisRect *parent, AxisType type) : QCPLayerable(parent->parentPlot(), "", parent), // axis base: mAxisType(type), mAxisRect(parent), mOffset(0), mPadding(5), mOrientation((type == atBottom || type == atTop) ? Qt::Horizontal : Qt::Vertical), mSelectableParts(spAxis | spTickLabels | spAxisLabel), mSelectedParts(spNone), mBasePen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), mSelectedBasePen(QPen(Qt::blue, 2)), mLowerEnding(QCPLineEnding::esNone), mUpperEnding(QCPLineEnding::esNone), // axis label: mLabelPadding(0), mLabel(""), mLabelFont(mParentPlot->font()), mSelectedLabelFont(QFont(mLabelFont.family(), mLabelFont.pointSize(), QFont::Bold)), mLabelColor(Qt::black), mSelectedLabelColor(Qt::blue), // tick labels: mTickLabelPadding(0), mTickLabels(true), mAutoTickLabels(true), mTickLabelRotation(0), mTickLabelType(ltNumber), mTickLabelFont(mParentPlot->font()), mSelectedTickLabelFont(QFont(mTickLabelFont.family(), mTickLabelFont.pointSize(), QFont::Bold)), mTickLabelColor(Qt::black), mSelectedTickLabelColor(Qt::blue), mDateTimeFormat("hh:mm:ss\ndd.MM.yy"), mDateTimeSpec(Qt::LocalTime), mNumberPrecision(6), mNumberFormatChar('g'), mNumberBeautifulPowers(true), mNumberMultiplyCross(false), // ticks and subticks: mTicks(true), mTickStep(1), mSubTickCount(4), mAutoTickCount(6), mAutoTicks(true), mAutoTickStep(true), mAutoSubTicks(true), mTickLengthIn(5), mTickLengthOut(0), mSubTickLengthIn(2), mSubTickLengthOut(0), mTickPen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), mSelectedTickPen(QPen(Qt::blue, 2)), mSubTickPen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), mSelectedSubTickPen(QPen(Qt::blue, 2)), // scale and range: mRange(0, 5), mRangeReversed(false), mScaleType(stLinear), mScaleLogBase(10), mScaleLogBaseLogInv(1.0/qLn(mScaleLogBase)), // internal members: mGrid(new QCPGrid(this)), mLabelCache(16), // cache at most 16 (tick) labels mLowestVisibleTick(0), mHighestVisibleTick(-1), mExponentialChar('e'), // will be updated with locale sensitive values in setupTickVector mPositiveSignChar('+'), // will be updated with locale sensitive values in setupTickVector mCachedMarginValid(false), mCachedMargin(0) { mGrid->setVisible(false); setAntialiased(false); setLayer(mParentPlot->currentLayer()); // it's actually on that layer already, but we want it in front of the grid, so we place it on there again if (type == atTop) { setTickLabelPadding(3); setLabelPadding(6); } else if (type == atRight) { setTickLabelPadding(7); setLabelPadding(12); } else if (type == atBottom) { setTickLabelPadding(3); setLabelPadding(3); } else if (type == atLeft) { setTickLabelPadding(5); setLabelPadding(10); } } /* No documentation as it is a property getter */ QString QCPAxis::numberFormat() const { QString result; result.append(mNumberFormatChar); if (mNumberBeautifulPowers) { result.append("b"); if (mNumberMultiplyCross) result.append("c"); } return result; } /*! Sets whether the axis uses a linear scale or a logarithmic scale. If \a type is set to \ref stLogarithmic, the logarithm base can be set with \ref setScaleLogBase. In logarithmic axis scaling, major tick marks appear at all powers of the logarithm base. Properties like tick step (\ref setTickStep) don't apply in logarithmic scaling. If you wish a decimal base but less major ticks, consider choosing a logarithm base of 100, 1000 or even higher. If \a type is \ref stLogarithmic and the number format (\ref setNumberFormat) uses the 'b' option (beautifully typeset decimal powers), the display usually is "1 [multiplication sign] 10 [superscript] n", which looks unnatural for logarithmic scaling (the "1 [multiplication sign]" part). To only display the decimal power, set the number precision to zero with \ref setNumberPrecision. */ void QCPAxis::setScaleType(ScaleType type) { if (mScaleType != type) { mScaleType = type; if (mScaleType == stLogarithmic) mRange = mRange.sanitizedForLogScale(); mCachedMarginValid = false; } } /*! If \ref setScaleType is set to \ref stLogarithmic, \a base will be the logarithm base of the scaling. In logarithmic axis scaling, major tick marks appear at all powers of \a base. Properties like tick step (\ref setTickStep) don't apply in logarithmic scaling. If you wish a decimal base but less major ticks, consider choosing \a base 100, 1000 or even higher. */ void QCPAxis::setScaleLogBase(double base) { if (base > 1) { mScaleLogBase = base; mScaleLogBaseLogInv = 1.0/qLn(mScaleLogBase); // buffer for faster baseLog() calculation mCachedMarginValid = false; } else qDebug() << Q_FUNC_INFO << "Invalid logarithmic scale base (must be greater 1):" << base; } /*! Sets the range of the axis. This slot may be connected with the \ref rangeChanged signal of another axis so this axis is always synchronized with the other axis range, when it changes. To invert the direction of an axis, use \ref setRangeReversed. */ void QCPAxis::setRange(const QCPRange &range) { if (range.lower == mRange.lower && range.upper == mRange.upper) return; if (!QCPRange::validRange(range)) return; QCPRange oldRange = mRange; if (mScaleType == stLogarithmic) { mRange = range.sanitizedForLogScale(); } else { mRange = range.sanitizedForLinScale(); } mCachedMarginValid = false; emit rangeChanged(mRange); emit rangeChanged(mRange, oldRange); } /*! Sets whether the user can (de-)select the parts in \a selectable by clicking on the QCustomPlot surface. (When \ref QCustomPlot::setInteractions contains iSelectAxes.) However, even when \a selectable is set to a value not allowing the selection of a specific part, it is still possible to set the selection of this part manually, by calling \ref setSelectedParts directly. \see SelectablePart, setSelectedParts */ void QCPAxis::setSelectableParts(const SelectableParts &selectable) { mSelectableParts = selectable; } /*! Sets the selected state of the respective axis parts described by \ref SelectablePart. When a part is selected, it uses a different pen/font. The entire selection mechanism for axes is handled automatically when \ref QCustomPlot::setInteractions contains iSelectAxes. You only need to call this function when you wish to change the selection state manually. This function can change the selection state of a part, independent of the \ref setSelectableParts setting. emits the \ref selectionChanged signal when \a selected is different from the previous selection state. \see SelectablePart, setSelectableParts, selectTest, setSelectedBasePen, setSelectedTickPen, setSelectedSubTickPen, setSelectedTickLabelFont, setSelectedLabelFont, setSelectedTickLabelColor, setSelectedLabelColor */ void QCPAxis::setSelectedParts(const SelectableParts &selected) { if (mSelectedParts != selected) { if (mSelectedParts.testFlag(spTickLabels) != selected.testFlag(spTickLabels)) mLabelCache.clear(); mSelectedParts = selected; emit selectionChanged(mSelectedParts); } } /*! \overload Sets the lower and upper bound of the axis range. To invert the direction of an axis, use \ref setRangeReversed. There is also a slot to set a range, see \ref setRange(const QCPRange &range). */ void QCPAxis::setRange(double lower, double upper) { if (lower == mRange.lower && upper == mRange.upper) return; if (!QCPRange::validRange(lower, upper)) return; QCPRange oldRange = mRange; mRange.lower = lower; mRange.upper = upper; if (mScaleType == stLogarithmic) { mRange = mRange.sanitizedForLogScale(); } else { mRange = mRange.sanitizedForLinScale(); } mCachedMarginValid = false; emit rangeChanged(mRange); emit rangeChanged(mRange, oldRange); } /*! \overload Sets the range of the axis. The \a position coordinate indicates together with the \a alignment parameter, where the new range will be positioned. \a size defines the size of the new axis range. \a alignment may be Qt::AlignLeft, Qt::AlignRight or Qt::AlignCenter. This will cause the left border, right border, or center of the range to be aligned with \a position. Any other values of \a alignment will default to Qt::AlignCenter. */ void QCPAxis::setRange(double position, double size, Qt::AlignmentFlag alignment) { if (alignment == Qt::AlignLeft) setRange(position, position+size); else if (alignment == Qt::AlignRight) setRange(position-size, position); else // alignment == Qt::AlignCenter setRange(position-size/2.0, position+size/2.0); } /*! Sets the lower bound of the axis range. The upper bound is not changed. \see setRange */ void QCPAxis::setRangeLower(double lower) { if (mRange.lower == lower) return; QCPRange oldRange = mRange; mRange.lower = lower; if (mScaleType == stLogarithmic) { mRange = mRange.sanitizedForLogScale(); } else { mRange = mRange.sanitizedForLinScale(); } mCachedMarginValid = false; emit rangeChanged(mRange); emit rangeChanged(mRange, oldRange); } /*! Sets the upper bound of the axis range. The lower bound is not changed. \see setRange */ void QCPAxis::setRangeUpper(double upper) { if (mRange.upper == upper) return; QCPRange oldRange = mRange; mRange.upper = upper; if (mScaleType == stLogarithmic) { mRange = mRange.sanitizedForLogScale(); } else { mRange = mRange.sanitizedForLinScale(); } mCachedMarginValid = false; emit rangeChanged(mRange); emit rangeChanged(mRange, oldRange); } /*! Sets whether the axis range (direction) is displayed reversed. Normally, the values on horizontal axes increase left to right, on vertical axes bottom to top. When \a reversed is set to true, the direction of increasing values is inverted. Note that the range and data interface stays the same for reversed axes, e.g. the \a lower part of the \ref setRange interface will still reference the mathematically smaller number than the \a upper part. */ void QCPAxis::setRangeReversed(bool reversed) { if (mRangeReversed != reversed) { mRangeReversed = reversed; mCachedMarginValid = false; } } /*! Sets whether the tick positions should be calculated automatically (either from an automatically generated tick step or a tick step provided manually via \ref setTickStep, see \ref setAutoTickStep). If \a on is set to false, you must provide the tick positions manually via \ref setTickVector. For these manual ticks you may let QCPAxis generate the appropriate labels automatically by leaving \ref setAutoTickLabels set to true. If you also wish to control the displayed labels manually, set \ref setAutoTickLabels to false and provide the label strings with \ref setTickVectorLabels. If you need dynamically calculated tick vectors (and possibly tick label vectors), set the vectors in a slot connected to the \ref ticksRequest signal. */ void QCPAxis::setAutoTicks(bool on) { if (mAutoTicks != on) { mAutoTicks = on; mCachedMarginValid = false; } } /*! When \ref setAutoTickStep is true, \a approximateCount determines how many ticks should be generated in the visible range, approximately. It's not guaranteed that this number of ticks is met exactly, but approximately within a tolerance of about two. Only values greater than zero are accepted as \a approximateCount. */ void QCPAxis::setAutoTickCount(int approximateCount) { if (mAutoTickCount != approximateCount) { if (approximateCount > 0) { mAutoTickCount = approximateCount; mCachedMarginValid = false; } else qDebug() << Q_FUNC_INFO << "approximateCount must be greater than zero:" << approximateCount; } } /*! Sets whether the tick labels are generated automatically. Depending on the tick label type (\ref ltNumber or \ref ltDateTime), the labels will either show the coordinate as floating point number (\ref setNumberFormat), or a date/time formatted according to \ref setDateTimeFormat. If \a on is set to false, you should provide the tick labels via \ref setTickVectorLabels. This is usually used in a combination with \ref setAutoTicks set to false for complete control over tick positions and labels, e.g. when the ticks should be at multiples of pi and show "2pi", "3pi" etc. as tick labels. If you need dynamically calculated tick vectors (and possibly tick label vectors), set the vectors in a slot connected to the \ref ticksRequest signal. */ void QCPAxis::setAutoTickLabels(bool on) { if (mAutoTickLabels != on) { mAutoTickLabels = on; mCachedMarginValid = false; } } /*! Sets whether the tick step, i.e. the interval between two (major) ticks, is calculated automatically. If \a on is set to true, the axis finds a tick step that is reasonable for human readable plots. The number of ticks the algorithm aims for within the visible range can be set with \ref setAutoTickCount. If \a on is set to false, you may set the tick step manually with \ref setTickStep. */ void QCPAxis::setAutoTickStep(bool on) { if (mAutoTickStep != on) { mAutoTickStep = on; mCachedMarginValid = false; } } /*! Sets whether the number of sub ticks in one tick interval is determined automatically. This works, as long as the tick step mantissa is a multiple of 0.5. When \ref setAutoTickStep is enabled, this is always the case. When \a on is set to false, you may set the sub tick count with \ref setSubTickCount manually. */ void QCPAxis::setAutoSubTicks(bool on) { if (mAutoSubTicks != on) { mAutoSubTicks = on; mCachedMarginValid = false; } } /*! Sets whether tick marks are displayed. Note that setting \a show to false does not imply that tick labels are invisible, too. To achieve that, see \ref setTickLabels. */ void QCPAxis::setTicks(bool show) { if (mTicks != show) { mTicks = show; mCachedMarginValid = false; } } /*! Sets whether tick labels are displayed. Tick labels are the numbers drawn next to tick marks. */ void QCPAxis::setTickLabels(bool show) { if (mTickLabels != show) { mTickLabels = show; mCachedMarginValid = false; } } /*! Sets the distance between the axis base line (including any outward ticks) and the tick labels. \see setLabelPadding, setPadding */ void QCPAxis::setTickLabelPadding(int padding) { if (mTickLabelPadding != padding) { mTickLabelPadding = padding; mCachedMarginValid = false; } } /*! Sets whether the tick labels display numbers or dates/times. If \a type is set to \ref ltNumber, the format specifications of \ref setNumberFormat apply. If \a type is set to \ref ltDateTime, the format specifications of \ref setDateTimeFormat apply. In QCustomPlot, date/time coordinates are double numbers representing the seconds since 1970-01-01T00:00:00 UTC. This format can be retrieved from QDateTime objects with the QDateTime::toTime_t() function. Since this only gives a resolution of one second, there is also the QDateTime::toMSecsSinceEpoch() function which returns the timespan described above in milliseconds. Divide its return value by 1000.0 to get a value with the format needed for date/time plotting, with a resolution of one millisecond. Using the toMSecsSinceEpoch function allows dates that go back to 2nd January 4713 B.C. (represented by a negative number), unlike the toTime_t function, which works with unsigned integers and thus only goes back to 1st January 1970. So both for range and accuracy, use of toMSecsSinceEpoch()/1000.0 should be preferred as key coordinate for date/time axes. \see setTickLabels */ void QCPAxis::setTickLabelType(LabelType type) { if (mTickLabelType != type) { mTickLabelType = type; mCachedMarginValid = false; } } /*! Sets the font of the tick labels. \see setTickLabels, setTickLabelColor */ void QCPAxis::setTickLabelFont(const QFont &font) { if (font != mTickLabelFont) { mTickLabelFont = font; mCachedMarginValid = false; mLabelCache.clear(); } } /*! Sets the color of the tick labels. \see setTickLabels, setTickLabelFont */ void QCPAxis::setTickLabelColor(const QColor &color) { if (color != mTickLabelColor) { mTickLabelColor = color; mCachedMarginValid = false; mLabelCache.clear(); } } /*! Sets the rotation of the tick labels. If \a degrees is zero, the labels are drawn normally. Else, the tick labels are drawn rotated by \a degrees clockwise. The specified angle is bound to values from -90 to 90 degrees. If \a degrees is exactly -90, 0 or 90, the tick labels are centered on the tick coordinate. For other angles, the label is drawn with an offset such that it seems to point toward or away from the tick mark. */ void QCPAxis::setTickLabelRotation(double degrees) { if (!qFuzzyIsNull(degrees-mTickLabelRotation)) { mTickLabelRotation = qBound(-90.0, degrees, 90.0); mCachedMarginValid = false; mLabelCache.clear(); } } /*! Sets the format in which dates and times are displayed as tick labels, if \ref setTickLabelType is \ref ltDateTime. for details about the \a format string, see the documentation of QDateTime::toString(). Newlines can be inserted with "\n". \see setDateTimeSpec */ void QCPAxis::setDateTimeFormat(const QString &format) { if (mDateTimeFormat != format) { mDateTimeFormat = format; mCachedMarginValid = false; mLabelCache.clear(); } } /*! Sets the time spec that is used for the date time values when \ref setTickLabelType is \ref ltDateTime. The default value of QDateTime objects (and also QCustomPlot) is Qt::LocalTime. However, if the date time values passed to QCustomPlot are given in the UTC spec, set \a timeSpec to Qt::UTC to get the correct axis labels. \see setDateTimeFormat */ void QCPAxis::setDateTimeSpec(const Qt::TimeSpec &timeSpec) { mDateTimeSpec = timeSpec; } /*! Sets the number format for the numbers drawn as tick labels (if tick label type is \ref ltNumber). This \a formatCode is an extended version of the format code used e.g. by QString::number() and QLocale::toString(). For reference about that, see the "Argument Formats" section in the detailed description of the QString class. \a formatCode is a string of one, two or three characters. The first character is identical to the normal format code used by Qt. In short, this means: 'e'/'E' scientific format, 'f' fixed format, 'g'/'G' scientific or fixed, whichever is shorter. The second and third characters are optional and specific to QCustomPlot:\n If the first char was 'e' or 'g', numbers are/might be displayed in the scientific format, e.g. "5.5e9", which is ugly in a plot. So when the second char of \a formatCode is set to 'b' (for "beautiful"), those exponential numbers are formatted in a more natural way, i.e. "5.5 [multiplication sign] 10 [superscript] 9". By default, the multiplication sign is a centered dot. If instead a cross should be shown (as is usual in the USA), the third char of \a formatCode can be set to 'c'. The inserted multiplication signs are the UTF-8 characters 215 (0xD7) for the cross and 183 (0xB7) for the dot. If the scale type (\ref setScaleType) is \ref stLogarithmic and the \a formatCode uses the 'b' option (beautifully typeset decimal powers), the display usually is "1 [multiplication sign] 10 [superscript] n", which looks unnatural for logarithmic scaling (the "1 [multiplication sign]" part). To only display the decimal power, set the number precision to zero with \ref setNumberPrecision. Examples for \a formatCode: \li \c g normal format code behaviour. If number is small, fixed format is used, if number is large, normal scientific format is used \li \c gb If number is small, fixed format is used, if number is large, scientific format is used with beautifully typeset decimal powers and a dot as multiplication sign \li \c ebc All numbers are in scientific format with beautifully typeset decimal power and a cross as multiplication sign \li \c fb illegal format code, since fixed format doesn't support (or need) beautifully typeset decimal powers. Format code will be reduced to 'f'. \li \c hello illegal format code, since first char is not 'e', 'E', 'f', 'g' or 'G'. Current format code will not be changed. */ void QCPAxis::setNumberFormat(const QString &formatCode) { if (formatCode.isEmpty()) { qDebug() << Q_FUNC_INFO << "Passed formatCode is empty"; return; } mLabelCache.clear(); mCachedMarginValid = false; // interpret first char as number format char: QString allowedFormatChars = "eEfgG"; if (allowedFormatChars.contains(formatCode.at(0))) { mNumberFormatChar = formatCode.at(0).toLatin1(); } else { qDebug() << Q_FUNC_INFO << "Invalid number format code (first char not in 'eEfgG'):" << formatCode; return; } if (formatCode.length() < 2) { mNumberBeautifulPowers = false; mNumberMultiplyCross = false; return; } // interpret second char as indicator for beautiful decimal powers: if (formatCode.at(1) == 'b' && (mNumberFormatChar == 'e' || mNumberFormatChar == 'g')) { mNumberBeautifulPowers = true; } else { qDebug() << Q_FUNC_INFO << "Invalid number format code (second char not 'b' or first char neither 'e' nor 'g'):" << formatCode; return; } if (formatCode.length() < 3) { mNumberMultiplyCross = false; return; } // interpret third char as indicator for dot or cross multiplication symbol: if (formatCode.at(2) == 'c') { mNumberMultiplyCross = true; } else if (formatCode.at(2) == 'd') { mNumberMultiplyCross = false; } else { qDebug() << Q_FUNC_INFO << "Invalid number format code (third char neither 'c' nor 'd'):" << formatCode; return; } } /*! Sets the precision of the tick label numbers. See QLocale::toString(double i, char f, int prec) for details. The effect of precisions are most notably for number Formats starting with 'e', see \ref setNumberFormat If the scale type (\ref setScaleType) is \ref stLogarithmic and the number format (\ref setNumberFormat) uses the 'b' format code (beautifully typeset decimal powers), the display usually is "1 [multiplication sign] 10 [superscript] n", which looks unnatural for logarithmic scaling (the redundant "1 [multiplication sign]" part). To only display the decimal power "10 [superscript] n", set \a precision to zero. */ void QCPAxis::setNumberPrecision(int precision) { if (mNumberPrecision != precision) { mNumberPrecision = precision; mCachedMarginValid = false; } } /*! If \ref setAutoTickStep is set to false, use this function to set the tick step manually. The tick step is the interval between (major) ticks, in plot coordinates. \see setSubTickCount */ void QCPAxis::setTickStep(double step) { if (mTickStep != step) { mTickStep = step; mCachedMarginValid = false; } } /*! If you want full control over what ticks (and possibly labels) the axes show, this function is used to set the coordinates at which ticks will appear.\ref setAutoTicks must be disabled, else the provided tick vector will be overwritten with automatically generated tick coordinates upon replot. The labels of the ticks can be generated automatically when \ref setAutoTickLabels is left enabled. If it is disabled, you can set the labels manually with \ref setTickVectorLabels. \a vec is a vector containing the positions of the ticks, in plot coordinates. \warning \a vec must be sorted in ascending order, no additional checks are made to ensure this. \see setTickVectorLabels */ void QCPAxis::setTickVector(const QVector &vec) { // don't check whether mTickVector != vec here, because it takes longer than we would save mTickVector = vec; mCachedMarginValid = false; } /*! If you want full control over what ticks and labels the axes show, this function is used to set a number of QStrings that will be displayed at the tick positions which you need to provide with \ref setTickVector. These two vectors should have the same size. (Note that you need to disable \ref setAutoTicks and \ref setAutoTickLabels first.) \a vec is a vector containing the labels of the ticks. The entries correspond to the respective indices in the tick vector, passed via \ref setTickVector. \see setTickVector */ void QCPAxis::setTickVectorLabels(const QVector &vec) { // don't check whether mTickVectorLabels != vec here, because it takes longer than we would save mTickVectorLabels = vec; mCachedMarginValid = false; } /*! Sets the length of the ticks in pixels. \a inside is the length the ticks will reach inside the plot and \a outside is the length they will reach outside the plot. If \a outside is greater than zero, the tick labels and axis label will increase their distance to the axis accordingly, so they won't collide with the ticks. \see setSubTickLength */ void QCPAxis::setTickLength(int inside, int outside) { if (mTickLengthIn != inside) { mTickLengthIn = inside; } if (mTickLengthOut != outside) { mTickLengthOut = outside; mCachedMarginValid = false; // only outside tick length can change margin } } /*! Sets the length of the inward ticks in pixels. \a inside is the length the ticks will reach inside the plot. \see setTickLengthOut, setSubTickLength */ void QCPAxis::setTickLengthIn(int inside) { if (mTickLengthIn != inside) { mTickLengthIn = inside; } } /*! Sets the length of the outward ticks in pixels. \a outside is the length the ticks will reach outside the plot. If \a outside is greater than zero, the tick labels and axis label will increase their distance to the axis accordingly, so they won't collide with the ticks. \see setTickLengthIn, setSubTickLength */ void QCPAxis::setTickLengthOut(int outside) { if (mTickLengthOut != outside) { mTickLengthOut = outside; mCachedMarginValid = false; // only outside tick length can change margin } } /*! Sets the number of sub ticks in one (major) tick step. A sub tick count of three for example, divides the tick intervals in four sub intervals. By default, the number of sub ticks is chosen automatically in a reasonable manner as long as the mantissa of the tick step is a multiple of 0.5. When \ref setAutoTickStep is enabled, this is always the case. If you want to disable automatic sub tick count and use this function to set the count manually, see \ref setAutoSubTicks. */ void QCPAxis::setSubTickCount(int count) { mSubTickCount = count; } /*! Sets the length of the subticks in pixels. \a inside is the length the subticks will reach inside the plot and \a outside is the length they will reach outside the plot. If \a outside is greater than zero, the tick labels and axis label will increase their distance to the axis accordingly, so they won't collide with the ticks. */ void QCPAxis::setSubTickLength(int inside, int outside) { if (mSubTickLengthIn != inside) { mSubTickLengthIn = inside; } if (mSubTickLengthOut != outside) { mSubTickLengthOut = outside; mCachedMarginValid = false; // only outside tick length can change margin } } /*! Sets the length of the inward subticks in pixels. \a inside is the length the subticks will reach inside the plot. \see setSubTickLengthOut, setTickLength */ void QCPAxis::setSubTickLengthIn(int inside) { if (mSubTickLengthIn != inside) { mSubTickLengthIn = inside; } } /*! Sets the length of the outward subticks in pixels. \a outside is the length the subticks will reach outside the plot. If \a outside is greater than zero, the tick labels will increase their distance to the axis accordingly, so they won't collide with the ticks. \see setSubTickLengthIn, setTickLength */ void QCPAxis::setSubTickLengthOut(int outside) { if (mSubTickLengthOut != outside) { mSubTickLengthOut = outside; mCachedMarginValid = false; // only outside tick length can change margin } } /*! Sets the pen, the axis base line is drawn with. \see setTickPen, setSubTickPen */ void QCPAxis::setBasePen(const QPen &pen) { mBasePen = pen; } /*! Sets the pen, tick marks will be drawn with. \see setTickLength, setBasePen */ void QCPAxis::setTickPen(const QPen &pen) { mTickPen = pen; } /*! Sets the pen, subtick marks will be drawn with. \see setSubTickCount, setSubTickLength, setBasePen */ void QCPAxis::setSubTickPen(const QPen &pen) { mSubTickPen = pen; } /*! Sets the font of the axis label. \see setLabelColor */ void QCPAxis::setLabelFont(const QFont &font) { if (mLabelFont != font) { mLabelFont = font; mCachedMarginValid = false; } } /*! Sets the color of the axis label. \see setLabelFont */ void QCPAxis::setLabelColor(const QColor &color) { mLabelColor = color; } /*! Sets the text of the axis label that will be shown below/above or next to the axis, depending on its orientation. To disable axis labels, pass an empty string as \a str. */ void QCPAxis::setLabel(const QString &str) { if (mLabel != str) { mLabel = str; mCachedMarginValid = false; } } /*! Sets the distance between the tick labels and the axis label. \see setTickLabelPadding, setPadding */ void QCPAxis::setLabelPadding(int padding) { if (mLabelPadding != padding) { mLabelPadding = padding; mCachedMarginValid = false; } } /*! Sets the padding of the axis. When \ref QCPAxisRect::setAutoMargins is enabled, the padding is the additional outer most space, that is left blank. The axis padding has no meaning if \ref QCPAxisRect::setAutoMargins is disabled. \see setLabelPadding, setTickLabelPadding */ void QCPAxis::setPadding(int padding) { if (mPadding != padding) { mPadding = padding; mCachedMarginValid = false; } } /*! Sets the offset the axis has to its axis rect side. If an axis rect side has multiple axes, only the offset of the inner most axis has meaning. The offset of the other axes is controlled automatically, to place the axes at appropriate positions to prevent them from overlapping. */ void QCPAxis::setOffset(int offset) { mOffset = offset; } /*! Sets the font that is used for tick labels when they are selected. \see setTickLabelFont, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions */ void QCPAxis::setSelectedTickLabelFont(const QFont &font) { if (font != mSelectedTickLabelFont) { mSelectedTickLabelFont = font; mLabelCache.clear(); // don't set mCachedMarginValid to false here because margin calculation is always done with non-selected fonts } } /*! Sets the font that is used for the axis label when it is selected. \see setLabelFont, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions */ void QCPAxis::setSelectedLabelFont(const QFont &font) { mSelectedLabelFont = font; // don't set mCachedMarginValid to false here because margin calculation is always done with non-selected fonts } /*! Sets the color that is used for tick labels when they are selected. \see setTickLabelColor, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions */ void QCPAxis::setSelectedTickLabelColor(const QColor &color) { if (color != mSelectedTickLabelColor) { mSelectedTickLabelColor = color; mLabelCache.clear(); } } /*! Sets the color that is used for the axis label when it is selected. \see setLabelColor, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions */ void QCPAxis::setSelectedLabelColor(const QColor &color) { mSelectedLabelColor = color; } /*! Sets the pen that is used to draw the axis base line when selected. \see setBasePen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions */ void QCPAxis::setSelectedBasePen(const QPen &pen) { mSelectedBasePen = pen; } /*! Sets the pen that is used to draw the (major) ticks when selected. \see setTickPen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions */ void QCPAxis::setSelectedTickPen(const QPen &pen) { mSelectedTickPen = pen; } /*! Sets the pen that is used to draw the subticks when selected. \see setSubTickPen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions */ void QCPAxis::setSelectedSubTickPen(const QPen &pen) { mSelectedSubTickPen = pen; } /*! Sets the style for the lower axis ending. See the documentation of QCPLineEnding for available styles. For horizontal axes, this method refers to the left ending, for vertical axes the bottom ending. Note that this meaning does not change when the axis range is reversed with \ref setRangeReversed. \see setUpperEnding */ void QCPAxis::setLowerEnding(const QCPLineEnding &ending) { mLowerEnding = ending; } /*! Sets the style for the upper axis ending. See the documentation of QCPLineEnding for available styles. For horizontal axes, this method refers to the right ending, for vertical axes the top ending. Note that this meaning does not change when the axis range is reversed with \ref setRangeReversed. \see setLowerEnding */ void QCPAxis::setUpperEnding(const QCPLineEnding &ending) { mUpperEnding = ending; } /*! If the scale type (\ref setScaleType) is \ref stLinear, \a diff is added to the lower and upper bounds of the range. The range is simply moved by \a diff. If the scale type is \ref stLogarithmic, the range bounds are multiplied by \a diff. This corresponds to an apparent "linear" move in logarithmic scaling by a distance of log(diff). */ void QCPAxis::moveRange(double diff) { QCPRange oldRange = mRange; if (mScaleType == stLinear) { mRange.lower += diff; mRange.upper += diff; } else // mScaleType == stLogarithmic { mRange.lower *= diff; mRange.upper *= diff; } mCachedMarginValid = false; emit rangeChanged(mRange); emit rangeChanged(mRange, oldRange); } /*! Scales the range of this axis by \a factor around the coordinate \a center. For example, if \a factor is 2.0, \a center is 1.0, then the axis range will double its size, and the point at coordinate 1.0 won't have changed its position in the QCustomPlot widget (i.e. coordinates around 1.0 will have moved symmetrically closer to 1.0). */ void QCPAxis::scaleRange(double factor, double center) { QCPRange oldRange = mRange; if (mScaleType == stLinear) { QCPRange newRange; newRange.lower = (mRange.lower-center)*factor + center; newRange.upper = (mRange.upper-center)*factor + center; if (QCPRange::validRange(newRange)) mRange = newRange.sanitizedForLinScale(); } else // mScaleType == stLogarithmic { if ((mRange.upper < 0 && center < 0) || (mRange.upper > 0 && center > 0)) // make sure center has same sign as range { QCPRange newRange; newRange.lower = pow(mRange.lower/center, factor)*center; newRange.upper = pow(mRange.upper/center, factor)*center; if (QCPRange::validRange(newRange)) mRange = newRange.sanitizedForLogScale(); } else qDebug() << Q_FUNC_INFO << "Center of scaling operation doesn't lie in same logarithmic sign domain as range:" << center; } mCachedMarginValid = false; emit rangeChanged(mRange); emit rangeChanged(mRange, oldRange); } /*! Scales the range of this axis to have a certain scale \a ratio to \a otherAxis. The scaling will be done around the center of the current axis range. For example, if \a ratio is 1, this axis is the \a yAxis and \a otherAxis is \a xAxis, graphs plotted with those axes will appear in a 1:1 aspect ratio, independent of the aspect ratio the axis rect has. This is an operation that changes the range of this axis once, it doesn't fix the scale ratio indefinitely. Note that calling this function in the constructor of the QCustomPlot's parent won't have the desired effect, since the widget dimensions aren't defined yet, and a resizeEvent will follow. */ void QCPAxis::setScaleRatio(const QCPAxis *otherAxis, double ratio) { int otherPixelSize, ownPixelSize; if (otherAxis->orientation() == Qt::Horizontal) otherPixelSize = otherAxis->axisRect()->width(); else otherPixelSize = otherAxis->axisRect()->height(); if (orientation() == Qt::Horizontal) ownPixelSize = axisRect()->width(); else ownPixelSize = axisRect()->height(); double newRangeSize = ratio*otherAxis->range().size()*ownPixelSize/(double)otherPixelSize; setRange(range().center(), newRangeSize, Qt::AlignCenter); } /*! Changes the axis range such that all plottables associated with this axis are fully visible in that dimension. \see QCPAbstractPlottable::rescaleAxes, QCustomPlot::rescaleAxes */ void QCPAxis::rescale(bool onlyVisiblePlottables) { QList p = plottables(); QCPRange newRange; bool haveRange = false; for (int i=0; irealVisibility() && onlyVisiblePlottables) continue; QCPRange plottableRange; bool validRange; QCPAbstractPlottable::SignDomain signDomain = QCPAbstractPlottable::sdBoth; if (mScaleType == stLogarithmic) signDomain = (mRange.upper < 0 ? QCPAbstractPlottable::sdNegative : QCPAbstractPlottable::sdPositive); if (p.at(i)->keyAxis() == this) plottableRange = p.at(i)->getKeyRange(validRange, signDomain); else plottableRange = p.at(i)->getValueRange(validRange, signDomain); if (validRange) { if (!haveRange) newRange = plottableRange; else newRange.expand(plottableRange); haveRange = true; } } if (haveRange) setRange(newRange); } /*! Transforms \a value, in pixel coordinates of the QCustomPlot widget, to axis coordinates. */ double QCPAxis::pixelToCoord(double value) const { if (orientation() == Qt::Horizontal) { if (mScaleType == stLinear) { if (!mRangeReversed) return (value-mAxisRect->left())/(double)mAxisRect->width()*mRange.size()+mRange.lower; else return -(value-mAxisRect->left())/(double)mAxisRect->width()*mRange.size()+mRange.upper; } else // mScaleType == stLogarithmic { if (!mRangeReversed) return pow(mRange.upper/mRange.lower, (value-mAxisRect->left())/(double)mAxisRect->width())*mRange.lower; else return pow(mRange.upper/mRange.lower, (mAxisRect->left()-value)/(double)mAxisRect->width())*mRange.upper; } } else // orientation() == Qt::Vertical { if (mScaleType == stLinear) { if (!mRangeReversed) return (mAxisRect->bottom()-value)/(double)mAxisRect->height()*mRange.size()+mRange.lower; else return -(mAxisRect->bottom()-value)/(double)mAxisRect->height()*mRange.size()+mRange.upper; } else // mScaleType == stLogarithmic { if (!mRangeReversed) return pow(mRange.upper/mRange.lower, (mAxisRect->bottom()-value)/(double)mAxisRect->height())*mRange.lower; else return pow(mRange.upper/mRange.lower, (value-mAxisRect->bottom())/(double)mAxisRect->height())*mRange.upper; } } } /*! Transforms \a value, in coordinates of the axis, to pixel coordinates of the QCustomPlot widget. */ double QCPAxis::coordToPixel(double value) const { if (orientation() == Qt::Horizontal) { if (mScaleType == stLinear) { if (!mRangeReversed) return (value-mRange.lower)/mRange.size()*mAxisRect->width()+mAxisRect->left(); else return (mRange.upper-value)/mRange.size()*mAxisRect->width()+mAxisRect->left(); } else // mScaleType == stLogarithmic { if (value >= 0 && mRange.upper < 0) // invalid value for logarithmic scale, just draw it outside visible range return !mRangeReversed ? mAxisRect->right()+200 : mAxisRect->left()-200; else if (value <= 0 && mRange.upper > 0) // invalid value for logarithmic scale, just draw it outside visible range return !mRangeReversed ? mAxisRect->left()-200 : mAxisRect->right()+200; else { if (!mRangeReversed) return baseLog(value/mRange.lower)/baseLog(mRange.upper/mRange.lower)*mAxisRect->width()+mAxisRect->left(); else return baseLog(mRange.upper/value)/baseLog(mRange.upper/mRange.lower)*mAxisRect->width()+mAxisRect->left(); } } } else // orientation() == Qt::Vertical { if (mScaleType == stLinear) { if (!mRangeReversed) return mAxisRect->bottom()-(value-mRange.lower)/mRange.size()*mAxisRect->height(); else return mAxisRect->bottom()-(mRange.upper-value)/mRange.size()*mAxisRect->height(); } else // mScaleType == stLogarithmic { if (value >= 0 && mRange.upper < 0) // invalid value for logarithmic scale, just draw it outside visible range return !mRangeReversed ? mAxisRect->top()-200 : mAxisRect->bottom()+200; else if (value <= 0 && mRange.upper > 0) // invalid value for logarithmic scale, just draw it outside visible range return !mRangeReversed ? mAxisRect->bottom()+200 : mAxisRect->top()-200; else { if (!mRangeReversed) return mAxisRect->bottom()-baseLog(value/mRange.lower)/baseLog(mRange.upper/mRange.lower)*mAxisRect->height(); else return mAxisRect->bottom()-baseLog(mRange.upper/value)/baseLog(mRange.upper/mRange.lower)*mAxisRect->height(); } } } } /*! Returns the part of the axis that is hit by \a pos (in pixels). The return value of this function is independent of the user-selectable parts defined with \ref setSelectableParts. Further, this function does not change the current selection state of the axis. If the axis is not visible (\ref setVisible), this function always returns \ref spNone. \see setSelectedParts, setSelectableParts, QCustomPlot::setInteractions */ QCPAxis::SelectablePart QCPAxis::getPartAt(const QPointF &pos) const { if (!mVisible) return spNone; if (mAxisSelectionBox.contains(pos.toPoint())) return spAxis; else if (mTickLabelsSelectionBox.contains(pos.toPoint())) return spTickLabels; else if (mLabelSelectionBox.contains(pos.toPoint())) return spAxisLabel; else return spNone; } /* inherits documentation from base class */ double QCPAxis::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { if (!mParentPlot) return -1; SelectablePart part = getPartAt(pos); if ((onlySelectable && !mSelectableParts.testFlag(part)) || part == spNone) return -1; if (details) details->setValue(part); return mParentPlot->selectionTolerance()*0.99; } /*! Returns a list of all the plottables that have this axis as key or value axis. If you are only interested in plottables of type QCPGraph, see \ref graphs. \see graphs, items */ QList QCPAxis::plottables() const { QList result; if (!mParentPlot) return result; for (int i=0; imPlottables.size(); ++i) { if (mParentPlot->mPlottables.at(i)->keyAxis() == this ||mParentPlot->mPlottables.at(i)->valueAxis() == this) result.append(mParentPlot->mPlottables.at(i)); } return result; } /*! Returns a list of all the graphs that have this axis as key or value axis. \see plottables, items */ QList QCPAxis::graphs() const { QList result; if (!mParentPlot) return result; for (int i=0; imGraphs.size(); ++i) { if (mParentPlot->mGraphs.at(i)->keyAxis() == this || mParentPlot->mGraphs.at(i)->valueAxis() == this) result.append(mParentPlot->mGraphs.at(i)); } return result; } /*! Returns a list of all the items that are associated with this axis. An item is considered associated with an axis if at least one of its positions uses the axis as key or value axis. \see plottables, graphs */ QList QCPAxis::items() const { QList result; if (!mParentPlot) return result; for (int itemId=0; itemIdmItems.size(); ++itemId) { QList positions = mParentPlot->mItems.at(itemId)->positions(); for (int posId=0; posIdkeyAxis() == this || positions.at(posId)->valueAxis() == this) { result.append(mParentPlot->mItems.at(itemId)); break; } } } return result; } /*! Transforms a margin side to the logically corresponding axis type. (QCP::msLeft to QCPAxis::atLeft, QCP::msRight to QCPAxis::atRight, etc.) */ QCPAxis::AxisType QCPAxis::marginSideToAxisType(QCP::MarginSide side) { switch (side) { case QCP::msLeft: return atLeft; case QCP::msRight: return atRight; case QCP::msTop: return atTop; case QCP::msBottom: return atBottom; default: break; } qDebug() << Q_FUNC_INFO << "Invalid margin side passed:" << (int)side; return atLeft; } /*! \internal This function is called to prepare the tick vector, sub tick vector and tick label vector. If \ref setAutoTicks is set to true, appropriate tick values are determined automatically via \ref generateAutoTicks. If it's set to false, the signal ticksRequest is emitted, which can be used to provide external tick positions. Then the sub tick vectors and tick label vectors are created. */ void QCPAxis::setupTickVectors() { if (!mParentPlot) return; if ((!mTicks && !mTickLabels && !mGrid->visible()) || mRange.size() <= 0) return; // fill tick vectors, either by auto generating or by notifying user to fill the vectors himself if (mAutoTicks) { generateAutoTicks(); } else { emit ticksRequest(); } visibleTickBounds(mLowestVisibleTick, mHighestVisibleTick); if (mTickVector.isEmpty()) { mSubTickVector.clear(); return; } // generate subticks between ticks: mSubTickVector.resize((mTickVector.size()-1)*mSubTickCount); if (mSubTickCount > 0) { double subTickStep = 0; double subTickPosition = 0; int subTickIndex = 0; bool done = false; int lowTick = mLowestVisibleTick > 0 ? mLowestVisibleTick-1 : mLowestVisibleTick; int highTick = mHighestVisibleTick < mTickVector.size()-1 ? mHighestVisibleTick+1 : mHighestVisibleTick; for (int i=lowTick+1; i<=highTick; ++i) { subTickStep = (mTickVector.at(i)-mTickVector.at(i-1))/(double)(mSubTickCount+1); for (int k=1; k<=mSubTickCount; ++k) { subTickPosition = mTickVector.at(i-1) + k*subTickStep; if (subTickPosition < mRange.lower) continue; if (subTickPosition > mRange.upper) { done = true; break; } mSubTickVector[subTickIndex] = subTickPosition; subTickIndex++; } if (done) break; } mSubTickVector.resize(subTickIndex); } // generate tick labels according to tick positions: mExponentialChar = mParentPlot->locale().exponential(); // will be needed when drawing the numbers generated here, in getTickLabelData() mPositiveSignChar = mParentPlot->locale().positiveSign(); // will be needed when drawing the numbers generated here, in getTickLabelData() if (mAutoTickLabels) { int vecsize = mTickVector.size(); mTickVectorLabels.resize(vecsize); if (mTickLabelType == ltNumber) { for (int i=mLowestVisibleTick; i<=mHighestVisibleTick; ++i) mTickVectorLabels[i] = mParentPlot->locale().toString(mTickVector.at(i), mNumberFormatChar, mNumberPrecision); } else if (mTickLabelType == ltDateTime) { for (int i=mLowestVisibleTick; i<=mHighestVisibleTick; ++i) { #if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) // use fromMSecsSinceEpoch function if available, to gain sub-second accuracy on tick labels (e.g. for format "hh:mm:ss:zzz") mTickVectorLabels[i] = mParentPlot->locale().toString(QDateTime::fromTime_t(mTickVector.at(i)).toTimeSpec(mDateTimeSpec), mDateTimeFormat); #else mTickVectorLabels[i] = mParentPlot->locale().toString(QDateTime::fromMSecsSinceEpoch(mTickVector.at(i)*1000).toTimeSpec(mDateTimeSpec), mDateTimeFormat); #endif } } } else // mAutoTickLabels == false { if (mAutoTicks) // ticks generated automatically, but not ticklabels, so emit ticksRequest here for labels { emit ticksRequest(); } // make sure provided tick label vector has correct (minimal) length: if (mTickVectorLabels.size() < mTickVector.size()) mTickVectorLabels.resize(mTickVector.size()); } } /*! \internal If \ref setAutoTicks is set to true, this function is called by \ref setupTickVectors to generate reasonable tick positions (and subtick count). The algorithm tries to create approximately mAutoTickCount ticks (set via \ref setAutoTickCount). If the scale is logarithmic, \ref setAutoTickCount is ignored, and one tick is generated at every power of the current logarithm base, set via \ref setScaleLogBase. */ void QCPAxis::generateAutoTicks() { if (mScaleType == stLinear) { if (mAutoTickStep) { // Generate tick positions according to linear scaling: mTickStep = mRange.size()/(double)(mAutoTickCount+1e-10); // mAutoTickCount ticks on average, the small addition is to prevent jitter on exact integers double magnitudeFactor = qPow(10.0, qFloor(qLn(mTickStep)/qLn(10.0))); // get magnitude factor e.g. 0.01, 1, 10, 1000 etc. double tickStepMantissa = mTickStep/magnitudeFactor; if (tickStepMantissa < 5) { // round digit after decimal point to 0.5 mTickStep = (int)(tickStepMantissa*2)/2.0*magnitudeFactor; } else { // round to first digit in multiples of 2 mTickStep = (int)(tickStepMantissa/2.0)*2.0*magnitudeFactor; } } if (mAutoSubTicks) mSubTickCount = calculateAutoSubTickCount(mTickStep); // Generate tick positions according to mTickStep: qint64 firstStep = floor(mRange.lower/mTickStep); qint64 lastStep = ceil(mRange.upper/mTickStep); int tickcount = lastStep-firstStep+1; if (tickcount < 0) tickcount = 0; mTickVector.resize(tickcount); for (int i=0; i 0 && mRange.upper > 0) // positive range { double lowerMag = basePow((int)floor(baseLog(mRange.lower))); double currentMag = lowerMag; mTickVector.clear(); mTickVector.append(currentMag); while (currentMag < mRange.upper && currentMag > 0) // currentMag might be zero for ranges ~1e-300, just cancel in that case { currentMag *= mScaleLogBase; mTickVector.append(currentMag); } } else if (mRange.lower < 0 && mRange.upper < 0) // negative range { double lowerMag = -basePow((int)ceil(baseLog(-mRange.lower))); double currentMag = lowerMag; mTickVector.clear(); mTickVector.append(currentMag); while (currentMag < mRange.upper && currentMag < 0) // currentMag might be zero for ranges ~1e-300, just cancel in that case { currentMag /= mScaleLogBase; mTickVector.append(currentMag); } } else // invalid range for logarithmic scale, because lower and upper have different sign { mTickVector.clear(); qDebug() << Q_FUNC_INFO << "Invalid range for logarithmic plot: " << mRange.lower << "-" << mRange.upper; } } } /*! \internal Called by generateAutoTicks when \ref setAutoSubTicks is set to true. Depending on the \a tickStep between two major ticks on the axis, a different number of sub ticks is appropriate. For Example taking 4 sub ticks for a \a tickStep of 1 makes more sense than taking 5 sub ticks, because this corresponds to a sub tick step of 0.2, instead of the less intuitive 0.16667. Note that a subtick count of 4 means dividing the major tick step into 5 sections. This is implemented by a hand made lookup for integer tick steps as well as fractional tick steps with a fractional part of (approximately) 0.5. If a tick step is different (i.e. has no fractional part close to 0.5), the currently set sub tick count (\ref setSubTickCount) is returned. */ int QCPAxis::calculateAutoSubTickCount(double tickStep) const { int result = mSubTickCount; // default to current setting, if no proper value can be found // get mantissa of tickstep: double magnitudeFactor = qPow(10.0, qFloor(qLn(tickStep)/qLn(10.0))); // get magnitude factor e.g. 0.01, 1, 10, 1000 etc. double tickStepMantissa = tickStep/magnitudeFactor; // separate integer and fractional part of mantissa: double epsilon = 0.01; double intPartf; int intPart; double fracPart = modf(tickStepMantissa, &intPartf); intPart = intPartf; // handle cases with (almost) integer mantissa: if (fracPart < epsilon || 1.0-fracPart < epsilon) { if (1.0-fracPart < epsilon) ++intPart; switch (intPart) { case 1: result = 4; break; // 1.0 -> 0.2 substep case 2: result = 3; break; // 2.0 -> 0.5 substep case 3: result = 2; break; // 3.0 -> 1.0 substep case 4: result = 3; break; // 4.0 -> 1.0 substep case 5: result = 4; break; // 5.0 -> 1.0 substep case 6: result = 2; break; // 6.0 -> 2.0 substep case 7: result = 6; break; // 7.0 -> 1.0 substep case 8: result = 3; break; // 8.0 -> 2.0 substep case 9: result = 2; break; // 9.0 -> 3.0 substep } } else { // handle cases with significantly fractional mantissa: if (qAbs(fracPart-0.5) < epsilon) // *.5 mantissa { switch (intPart) { case 1: result = 2; break; // 1.5 -> 0.5 substep case 2: result = 4; break; // 2.5 -> 0.5 substep case 3: result = 4; break; // 3.5 -> 0.7 substep case 4: result = 2; break; // 4.5 -> 1.5 substep case 5: result = 4; break; // 5.5 -> 1.1 substep (won't occur with autoTickStep from here on) case 6: result = 4; break; // 6.5 -> 1.3 substep case 7: result = 2; break; // 7.5 -> 2.5 substep case 8: result = 4; break; // 8.5 -> 1.7 substep case 9: result = 4; break; // 9.5 -> 1.9 substep } } // if mantissa fraction isnt 0.0 or 0.5, don't bother finding good sub tick marks, leave default } return result; } /*! \internal Draws the axis with the specified \a painter. The selection boxes (mAxisSelectionBox, mTickLabelsSelectionBox, mLabelSelectionBox) are set here, too. */ void QCPAxis::draw(QCPPainter *painter) { if (!mParentPlot) return; QPoint origin; if (mAxisType == atLeft) origin = mAxisRect->bottomLeft()+QPoint(-mOffset, 0); else if (mAxisType == atRight) origin = mAxisRect->bottomRight()+QPoint(+mOffset, 0); else if (mAxisType == atTop) origin = mAxisRect->topLeft()+QPoint(0, -mOffset); else if (mAxisType == atBottom) origin = mAxisRect->bottomLeft()+QPoint(0, +mOffset); double xCor = 0, yCor = 0; // paint system correction, for pixel exact matches (affects baselines and ticks of top/right axes) switch (mAxisType) { case atTop: yCor = -1; break; case atRight: xCor = 1; break; default: break; } int margin = 0; int lowTick = mLowestVisibleTick; int highTick = mHighestVisibleTick; double t; // helper variable, result of coordinate-to-pixel transforms // draw baseline: QLineF baseLine; painter->setPen(getBasePen()); if (orientation() == Qt::Horizontal) baseLine.setPoints(origin+QPointF(xCor, yCor), origin+QPointF(mAxisRect->width()+xCor, yCor)); else baseLine.setPoints(origin+QPointF(xCor, yCor), origin+QPointF(xCor, -mAxisRect->height()+yCor)); if (mRangeReversed) baseLine = QLineF(baseLine.p2(), baseLine.p1()); // won't make a difference for line itself, but for line endings later painter->drawLine(baseLine); // draw ticks: if (mTicks) { painter->setPen(getTickPen()); // direction of ticks ("inward" is right for left axis and left for right axis) int tickDir = (mAxisType == atBottom || mAxisType == atRight) ? -1 : 1; if (orientation() == Qt::Horizontal) { for (int i=lowTick; i <= highTick; ++i) { t = coordToPixel(mTickVector.at(i)); // x painter->drawLine(QLineF(t+xCor, origin.y()-mTickLengthOut*tickDir+yCor, t+xCor, origin.y()+mTickLengthIn*tickDir+yCor)); } } else { for (int i=lowTick; i <= highTick; ++i) { t = coordToPixel(mTickVector.at(i)); // y painter->drawLine(QLineF(origin.x()-mTickLengthOut*tickDir+xCor, t+yCor, origin.x()+mTickLengthIn*tickDir+xCor, t+yCor)); } } } // draw subticks: if (mTicks && mSubTickCount > 0) { painter->setPen(getSubTickPen()); // direction of ticks ("inward" is right for left axis and left for right axis) int tickDir = (mAxisType == atBottom || mAxisType == atRight) ? -1 : 1; if (orientation() == Qt::Horizontal) { for (int i=0; idrawLine(QLineF(t+xCor, origin.y()-mSubTickLengthOut*tickDir+yCor, t+xCor, origin.y()+mSubTickLengthIn*tickDir+yCor)); } } else { for (int i=0; idrawLine(QLineF(origin.x()-mSubTickLengthOut*tickDir+xCor, t+yCor, origin.x()+mSubTickLengthIn*tickDir+xCor, t+yCor)); } } } margin += qMax(0, qMax(mTickLengthOut, mSubTickLengthOut)); // draw axis base endings: bool antialiasingBackup = painter->antialiasing(); painter->setAntialiasing(true); // always want endings to be antialiased, even if base and ticks themselves aren't painter->setBrush(QBrush(basePen().color())); QVector2D baseLineVector(baseLine.dx(), baseLine.dy()); if (mLowerEnding.style() != QCPLineEnding::esNone) mLowerEnding.draw(painter, QVector2D(baseLine.p1())-baseLineVector.normalized()*mLowerEnding.realLength()*(mLowerEnding.inverted()?-1:1), -baseLineVector); if (mUpperEnding.style() != QCPLineEnding::esNone) mUpperEnding.draw(painter, QVector2D(baseLine.p2())+baseLineVector.normalized()*mUpperEnding.realLength()*(mUpperEnding.inverted()?-1:1), baseLineVector); painter->setAntialiasing(antialiasingBackup); // tick labels: QSize tickLabelsSize(0, 0); // size of largest tick label, for offset calculation of axis label if (mTickLabels) { margin += mTickLabelPadding; painter->setFont(getTickLabelFont()); painter->setPen(QPen(getTickLabelColor())); for (int i=lowTick; i <= highTick; ++i) { t = coordToPixel(mTickVector.at(i)); placeTickLabel(painter, t, margin, mTickVectorLabels.at(i), &tickLabelsSize); } } if (orientation() == Qt::Horizontal) margin += tickLabelsSize.height(); else margin += tickLabelsSize.width(); // axis label: QRect labelBounds; if (!mLabel.isEmpty()) { margin += mLabelPadding; painter->setFont(getLabelFont()); painter->setPen(QPen(getLabelColor())); labelBounds = painter->fontMetrics().boundingRect(0, 0, 0, 0, Qt::TextDontClip, mLabel); if (mAxisType == atLeft) { QTransform oldTransform = painter->transform(); painter->translate((origin.x()-margin-labelBounds.height()), origin.y()); painter->rotate(-90); painter->drawText(0, 0, mAxisRect->height(), labelBounds.height(), Qt::TextDontClip | Qt::AlignCenter, mLabel); painter->setTransform(oldTransform); } else if (mAxisType == atRight) { QTransform oldTransform = painter->transform(); painter->translate((origin.x()+margin+labelBounds.height()), origin.y()-mAxisRect->height()); painter->rotate(90); painter->drawText(0, 0, mAxisRect->height(), labelBounds.height(), Qt::TextDontClip | Qt::AlignCenter, mLabel); painter->setTransform(oldTransform); } else if (mAxisType == atTop) painter->drawText(origin.x(), origin.y()-margin-labelBounds.height(), mAxisRect->width(), labelBounds.height(), Qt::TextDontClip | Qt::AlignCenter, mLabel); else if (mAxisType == atBottom) painter->drawText(origin.x(), origin.y()+margin, mAxisRect->width(), labelBounds.height(), Qt::TextDontClip | Qt::AlignCenter, mLabel); } // set selection boxes: int selAxisOutSize = qMax(qMax(mTickLengthOut, mSubTickLengthOut), mParentPlot->selectionTolerance()); int selAxisInSize = mParentPlot->selectionTolerance(); int selTickLabelSize = (orientation()==Qt::Horizontal ? tickLabelsSize.height() : tickLabelsSize.width()); int selTickLabelOffset = qMax(mTickLengthOut, mSubTickLengthOut)+mTickLabelPadding; int selLabelSize = labelBounds.height(); int selLabelOffset = selTickLabelOffset+selTickLabelSize+mLabelPadding; if (mAxisType == atLeft) { mAxisSelectionBox.setCoords(origin.x()-selAxisOutSize, mAxisRect->top(), origin.x()+selAxisInSize, mAxisRect->bottom()); mTickLabelsSelectionBox.setCoords(origin.x()-selTickLabelOffset-selTickLabelSize, mAxisRect->top(), origin.x()-selTickLabelOffset, mAxisRect->bottom()); mLabelSelectionBox.setCoords(origin.x()-selLabelOffset-selLabelSize, mAxisRect->top(), origin.x()-selLabelOffset, mAxisRect->bottom()); } else if (mAxisType == atRight) { mAxisSelectionBox.setCoords(origin.x()-selAxisInSize, mAxisRect->top(), origin.x()+selAxisOutSize, mAxisRect->bottom()); mTickLabelsSelectionBox.setCoords(origin.x()+selTickLabelOffset+selTickLabelSize, mAxisRect->top(), origin.x()+selTickLabelOffset, mAxisRect->bottom()); mLabelSelectionBox.setCoords(origin.x()+selLabelOffset+selLabelSize, mAxisRect->top(), origin.x()+selLabelOffset, mAxisRect->bottom()); } else if (mAxisType == atTop) { mAxisSelectionBox.setCoords(mAxisRect->left(), origin.y()-selAxisOutSize, mAxisRect->right(), origin.y()+selAxisInSize); mTickLabelsSelectionBox.setCoords(mAxisRect->left(), origin.y()-selTickLabelOffset-selTickLabelSize, mAxisRect->right(), origin.y()-selTickLabelOffset); mLabelSelectionBox.setCoords(mAxisRect->left(), origin.y()-selLabelOffset-selLabelSize, mAxisRect->right(), origin.y()-selLabelOffset); } else if (mAxisType == atBottom) { mAxisSelectionBox.setCoords(mAxisRect->left(), origin.y()-selAxisInSize, mAxisRect->right(), origin.y()+selAxisOutSize); mTickLabelsSelectionBox.setCoords(mAxisRect->left(), origin.y()+selTickLabelOffset+selTickLabelSize, mAxisRect->right(), origin.y()+selTickLabelOffset); mLabelSelectionBox.setCoords(mAxisRect->left(), origin.y()+selLabelOffset+selLabelSize, mAxisRect->right(), origin.y()+selLabelOffset); } // draw hitboxes for debug purposes: //painter->setBrush(Qt::NoBrush); //painter->drawRects(QVector() << mAxisSelectionBox << mTickLabelsSelectionBox << mLabelSelectionBox); } /*! \internal Draws a single tick label with the provided \a painter, utilizing the internal label cache to significantly speed up drawing of labels that were drawn in previous calls. The tick label is always bound to an axis, the distance to the axis is controllable via \a distanceToAxis in pixels. The pixel position in the axis direction is passed in the \a position parameter. Hence for the bottom axis, \a position would indicate the horizontal pixel position (not coordinate), at which the label should be drawn. In order to later draw the axis label in a place that doesn't overlap with the tick labels, the largest tick label size is needed. This is acquired by passing a \a tickLabelsSize to the \ref drawTickLabel calls during the process of drawing all tick labels of one axis. In every call, \a tickLabelsSize is expanded, if the drawn label exceeds the value \a tickLabelsSize currently holds. The label is drawn with the font and pen that are currently set on the \a painter. To draw superscripted powers, the font is temporarily made smaller by a fixed factor (see \ref getTickLabelData). */ void QCPAxis::placeTickLabel(QCPPainter *painter, double position, int distanceToAxis, const QString &text, QSize *tickLabelsSize) { // warning: if you change anything here, also adapt getMaxTickLabelSize() accordingly! if (!mParentPlot) return; if (text.isEmpty()) return; QSize finalSize; QPointF labelAnchor; switch (mAxisType) { case atLeft: labelAnchor = QPointF(mAxisRect->left()-distanceToAxis-mOffset, position); break; case atRight: labelAnchor = QPointF(mAxisRect->right()+distanceToAxis+mOffset, position); break; case atTop: labelAnchor = QPointF(position, mAxisRect->top()-distanceToAxis-mOffset); break; case atBottom: labelAnchor = QPointF(position, mAxisRect->bottom()+distanceToAxis+mOffset); break; } if (parentPlot()->plottingHints().testFlag(QCP::phCacheLabels) && !painter->modes().testFlag(QCPPainter::pmNoCaching)) // label caching enabled { if (!mLabelCache.contains(text)) // no cached label exists, create it { CachedLabel *newCachedLabel = new CachedLabel; TickLabelData labelData = getTickLabelData(painter->font(), text); QPointF drawOffset = getTickLabelDrawOffset(labelData); newCachedLabel->offset = drawOffset+labelData.rotatedTotalBounds.topLeft(); newCachedLabel->pixmap = QPixmap(labelData.rotatedTotalBounds.size()); newCachedLabel->pixmap.fill(Qt::transparent); QCPPainter cachePainter(&newCachedLabel->pixmap); cachePainter.setPen(painter->pen()); drawTickLabel(&cachePainter, -labelData.rotatedTotalBounds.topLeft().x(), -labelData.rotatedTotalBounds.topLeft().y(), labelData); mLabelCache.insert(text, newCachedLabel, 1); } // draw cached label: const CachedLabel *cachedLabel = mLabelCache.object(text); // if label would be partly clipped by widget border on sides, don't draw it: if (orientation() == Qt::Horizontal) { if (labelAnchor.x()+cachedLabel->offset.x()+cachedLabel->pixmap.width() > mParentPlot->viewport().right() || labelAnchor.x()+cachedLabel->offset.x() < mParentPlot->viewport().left()) return; } else { if (labelAnchor.y()+cachedLabel->offset.y()+cachedLabel->pixmap.height() > mParentPlot->viewport().bottom() || labelAnchor.y()+cachedLabel->offset.y() < mParentPlot->viewport().top()) return; } painter->drawPixmap(labelAnchor+cachedLabel->offset, cachedLabel->pixmap); finalSize = cachedLabel->pixmap.size(); } else // label caching disabled, draw text directly on surface: { TickLabelData labelData = getTickLabelData(painter->font(), text); QPointF finalPosition = labelAnchor + getTickLabelDrawOffset(labelData); // if label would be partly clipped by widget border on sides, don't draw it: if (orientation() == Qt::Horizontal) { if (finalPosition.x()+(labelData.rotatedTotalBounds.width()+labelData.rotatedTotalBounds.left()) > mParentPlot->viewport().right() || finalPosition.x()+labelData.rotatedTotalBounds.left() < mParentPlot->viewport().left()) return; } else { if (finalPosition.y()+(labelData.rotatedTotalBounds.height()+labelData.rotatedTotalBounds.top()) > mParentPlot->viewport().bottom() || finalPosition.y()+labelData.rotatedTotalBounds.top() < mParentPlot->viewport().top()) return; } drawTickLabel(painter, finalPosition.x(), finalPosition.y(), labelData); finalSize = labelData.rotatedTotalBounds.size(); } // expand passed tickLabelsSize if current tick label is larger: if (finalSize.width() > tickLabelsSize->width()) tickLabelsSize->setWidth(finalSize.width()); if (finalSize.height() > tickLabelsSize->height()) tickLabelsSize->setHeight(finalSize.height()); } /*! \internal This is a \ref placeTickLabel helper function. Draws the tick label specified in \a labelData with \a painter at the pixel positions \a x and \a y. This function is used by \ref placeTickLabel to create new tick labels for the cache, or to directly draw the labels on the QCustomPlot surface when label caching is disabled, i.e. when QCP::phCacheLabels plotting hint is not set. */ void QCPAxis::drawTickLabel(QCPPainter *painter, double x, double y, const QCPAxis::TickLabelData &labelData) const { // backup painter settings that we're about to change: QTransform oldTransform = painter->transform(); QFont oldFont = painter->font(); // transform painter to position/rotation: painter->translate(x, y); if (!qFuzzyIsNull(mTickLabelRotation)) painter->rotate(mTickLabelRotation); // draw text: if (!labelData.expPart.isEmpty()) // indicator that beautiful powers must be used { painter->setFont(labelData.baseFont); painter->drawText(0, 0, 0, 0, Qt::TextDontClip, labelData.basePart); painter->setFont(labelData.expFont); painter->drawText(labelData.baseBounds.width()+1, 0, labelData.expBounds.width(), labelData.expBounds.height(), Qt::TextDontClip, labelData.expPart); } else { painter->setFont(labelData.baseFont); painter->drawText(0, 0, labelData.totalBounds.width(), labelData.totalBounds.height(), Qt::TextDontClip | Qt::AlignHCenter, labelData.basePart); } // reset painter settings to what it was before: painter->setTransform(oldTransform); painter->setFont(oldFont); } /*! \internal This is a \ref placeTickLabel helper function. Transforms the passed \a text and \a font to a tickLabelData structure that can then be further processed by \ref getTickLabelDrawOffset and \ref drawTickLabel. It splits the text into base and exponent if necessary (see \ref setNumberFormat) and calculates appropriate bounding boxes. */ QCPAxis::TickLabelData QCPAxis::getTickLabelData(const QFont &font, const QString &text) const { TickLabelData result; // determine whether beautiful decimal powers should be used bool useBeautifulPowers = false; int ePos = -1; if (mAutoTickLabels && mNumberBeautifulPowers && mTickLabelType == ltNumber) { ePos = text.indexOf('e'); if (ePos > -1) useBeautifulPowers = true; } // calculate text bounding rects and do string preparation for beautiful decimal powers: result.baseFont = font; result.baseFont.setPointSizeF(result.baseFont.pointSizeF()+0.05); // QFontMetrics.boundingRect has a bug for exact point sizes that make the results oscillate due to internal rounding if (useBeautifulPowers) { // split text into parts of number/symbol that will be drawn normally and part that will be drawn as exponent: result.basePart = text.left(ePos); // in log scaling, we want to turn "1*10^n" into "10^n", else add multiplication sign and decimal base: if (mScaleType == stLogarithmic && result.basePart == "1") result.basePart = "10"; else result.basePart += (mNumberMultiplyCross ? QString(QChar(215)) : QString(QChar(183))) + "10"; result.expPart = text.mid(ePos+1); // clip "+" and leading zeros off expPart: while (result.expPart.at(1) == '0' && result.expPart.length() > 2) // length > 2 so we leave one zero when numberFormatChar is 'e' result.expPart.remove(1, 1); if (result.expPart.at(0) == mPositiveSignChar) result.expPart.remove(0, 1); // prepare smaller font for exponent: result.expFont = font; result.expFont.setPointSize(result.expFont.pointSize()*0.75); // calculate bounding rects of base part, exponent part and total one: result.baseBounds = QFontMetrics(result.baseFont).boundingRect(0, 0, 0, 0, Qt::TextDontClip, result.basePart); result.expBounds = QFontMetrics(result.expFont).boundingRect(0, 0, 0, 0, Qt::TextDontClip, result.expPart); result.totalBounds = result.baseBounds.adjusted(0, 0, result.expBounds.width()+2, 0); // +2 consists of the 1 pixel spacing between base and exponent (see drawTickLabel) and an extra pixel to include AA } else // useBeautifulPowers == false { result.basePart = text; result.totalBounds = QFontMetrics(result.baseFont).boundingRect(0, 0, 0, 0, Qt::TextDontClip | Qt::AlignHCenter, result.basePart); } result.totalBounds.moveTopLeft(QPoint(0, 0)); // want bounding box aligned top left at origin, independent of how it was created, to make further processing simpler // calculate possibly different bounding rect after rotation: result.rotatedTotalBounds = result.totalBounds; if (!qFuzzyIsNull(mTickLabelRotation)) { QTransform transform; transform.rotate(mTickLabelRotation); result.rotatedTotalBounds = transform.mapRect(result.rotatedTotalBounds); } return result; } /*! \internal This is a \ref placeTickLabel helper function. Calculates the offset at which the top left corner of the specified tick label shall be drawn. The offset is relative to a point right next to the tick the label belongs to. This function is thus responsible for e.g. centering tick labels under ticks and positioning them appropriately when they are rotated. */ QPointF QCPAxis::getTickLabelDrawOffset(const QCPAxis::TickLabelData &labelData) const { /* calculate label offset from base point at tick (non-trivial, for best visual appearance): short explanation for bottom axis: The anchor, i.e. the point in the label that is placed horizontally under the corresponding tick is always on the label side that is closer to the axis (e.g. the left side of the text when we're rotating clockwise). On that side, the height is halved and the resulting point is defined the anchor. This way, a 90 degree rotated text will be centered under the tick (i.e. displaced horizontally by half its height). At the same time, a 45 degree rotated text will "point toward" its tick, as is typical for rotated tick labels. */ bool doRotation = !qFuzzyIsNull(mTickLabelRotation); bool flip = qFuzzyCompare(qAbs(mTickLabelRotation), 90.0); // perfect +/-90 degree flip. Indicates vertical label centering on vertical axes. double radians = mTickLabelRotation/180.0*M_PI; int x=0, y=0; if (mAxisType == atLeft) { if (doRotation) { if (mTickLabelRotation > 0) { x = -qCos(radians)*labelData.totalBounds.width(); y = flip ? -labelData.totalBounds.width()/2.0 : -qSin(radians)*labelData.totalBounds.width()-qCos(radians)*labelData.totalBounds.height()/2.0; } else { x = -qCos(-radians)*labelData.totalBounds.width()-qSin(-radians)*labelData.totalBounds.height(); y = flip ? +labelData.totalBounds.width()/2.0 : +qSin(-radians)*labelData.totalBounds.width()-qCos(-radians)*labelData.totalBounds.height()/2.0; } } else { x = -labelData.totalBounds.width(); y = -labelData.totalBounds.height()/2.0; } } else if (mAxisType == atRight) { if (doRotation) { if (mTickLabelRotation > 0) { x = +qSin(radians)*labelData.totalBounds.height(); y = flip ? -labelData.totalBounds.width()/2.0 : -qCos(radians)*labelData.totalBounds.height()/2.0; } else { x = 0; y = flip ? +labelData.totalBounds.width()/2.0 : -qCos(-radians)*labelData.totalBounds.height()/2.0; } } else { x = 0; y = -labelData.totalBounds.height()/2.0; } } else if (mAxisType == atTop) { if (doRotation) { if (mTickLabelRotation > 0) { x = -qCos(radians)*labelData.totalBounds.width()+qSin(radians)*labelData.totalBounds.height()/2.0; y = -qSin(radians)*labelData.totalBounds.width()-qCos(radians)*labelData.totalBounds.height(); } else { x = -qSin(-radians)*labelData.totalBounds.height()/2.0; y = -qCos(-radians)*labelData.totalBounds.height(); } } else { x = -labelData.totalBounds.width()/2.0; y = -labelData.totalBounds.height(); } } else if (mAxisType == atBottom) { if (doRotation) { if (mTickLabelRotation > 0) { x = +qSin(radians)*labelData.totalBounds.height()/2.0; y = 0; } else { x = -qCos(-radians)*labelData.totalBounds.width()-qSin(-radians)*labelData.totalBounds.height()/2.0; y = +qSin(-radians)*labelData.totalBounds.width(); } } else { x = -labelData.totalBounds.width()/2.0; y = 0; } } return QPointF(x, y); } /*! \internal Simulates the steps done by \ref placeTickLabel by calculating bounding boxes of the text label to be drawn, depending on number format etc. Since only the largest tick label is wanted for the margin calculation, the passed \a tickLabelsSize is only expanded, if it's currently set to a smaller width/height. */ void QCPAxis::getMaxTickLabelSize(const QFont &font, const QString &text, QSize *tickLabelsSize) const { // note: this function must return the same tick label sizes as the placeTickLabel function. QSize finalSize; if (parentPlot()->plottingHints().testFlag(QCP::phCacheLabels) && mLabelCache.contains(text)) // label caching enabled and have cached label { const CachedLabel *cachedLabel = mLabelCache.object(text); finalSize = cachedLabel->pixmap.size(); } else // label caching disabled or no label with this text cached: { TickLabelData labelData = getTickLabelData(font, text); finalSize = labelData.rotatedTotalBounds.size(); } // expand passed tickLabelsSize if current tick label is larger: if (finalSize.width() > tickLabelsSize->width()) tickLabelsSize->setWidth(finalSize.width()); if (finalSize.height() > tickLabelsSize->height()) tickLabelsSize->setHeight(finalSize.height()); } /* inherits documentation from base class */ void QCPAxis::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) { Q_UNUSED(event) SelectablePart part = details.value(); if (mSelectableParts.testFlag(part)) { SelectableParts selBefore = mSelectedParts; setSelectedParts(additive ? mSelectedParts^part : part); if (selectionStateChanged) *selectionStateChanged = mSelectedParts != selBefore; } } /* inherits documentation from base class */ void QCPAxis::deselectEvent(bool *selectionStateChanged) { SelectableParts selBefore = mSelectedParts; setSelectedParts(mSelectedParts & ~mSelectableParts); if (selectionStateChanged) *selectionStateChanged = mSelectedParts != selBefore; } /*! \internal A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter before drawing axis lines. This is the antialiasing state the painter passed to the \ref draw method is in by default. This function takes into account the local setting of the antialiasing flag as well as the overrides set with \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. \see setAntialiased */ void QCPAxis::applyDefaultAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiased, QCP::aeAxes); } /*! \internal Returns via \a lowIndex and \a highIndex, which ticks in the current tick vector are visible in the current range. The return values are indices of the tick vector, not the positions of the ticks themselves. The actual use of this function is when an external tick vector is provided, since it might exceed far beyond the currently displayed range, and would cause unnecessary calculations e.g. of subticks. If all ticks are outside the axis range, an inverted range is returned, i.e. highIndex will be smaller than lowIndex. There is one case, where this function returns indices that are not really visible in the current axis range: When the tick spacing is larger than the axis range size and one tick is below the axis range and the next tick is already above the axis range. Because in such cases it is usually desirable to know the tick pair, to draw proper subticks. */ void QCPAxis::visibleTickBounds(int &lowIndex, int &highIndex) const { bool lowFound = false; bool highFound = false; lowIndex = 0; highIndex = -1; for (int i=0; i < mTickVector.size(); ++i) { if (mTickVector.at(i) >= mRange.lower) { lowFound = true; lowIndex = i; break; } } for (int i=mTickVector.size()-1; i >= 0; --i) { if (mTickVector.at(i) <= mRange.upper) { highFound = true; highIndex = i; break; } } if (!lowFound && highFound) lowIndex = highIndex+1; else if (lowFound && !highFound) highIndex = lowIndex-1; } /*! \internal A log function with the base mScaleLogBase, used mostly for coordinate transforms in logarithmic scales with arbitrary log base. Uses the buffered mScaleLogBaseLogInv for faster calculation. This is set to 1.0/qLn(mScaleLogBase) in \ref setScaleLogBase. \see basePow, setScaleLogBase, setScaleType */ double QCPAxis::baseLog(double value) const { return qLn(value)*mScaleLogBaseLogInv; } /*! \internal A power function with the base mScaleLogBase, used mostly for coordinate transforms in logarithmic scales with arbitrary log base. \see baseLog, setScaleLogBase, setScaleType */ double QCPAxis::basePow(double value) const { return qPow(mScaleLogBase, value); } /*! \internal Returns the pen that is used to draw the axis base line. Depending on the selection state, this is either mSelectedBasePen or mBasePen. */ QPen QCPAxis::getBasePen() const { return mSelectedParts.testFlag(spAxis) ? mSelectedBasePen : mBasePen; } /*! \internal Returns the pen that is used to draw the (major) ticks. Depending on the selection state, this is either mSelectedTickPen or mTickPen. */ QPen QCPAxis::getTickPen() const { return mSelectedParts.testFlag(spAxis) ? mSelectedTickPen : mTickPen; } /*! \internal Returns the pen that is used to draw the subticks. Depending on the selection state, this is either mSelectedSubTickPen or mSubTickPen. */ QPen QCPAxis::getSubTickPen() const { return mSelectedParts.testFlag(spAxis) ? mSelectedSubTickPen : mSubTickPen; } /*! \internal Returns the font that is used to draw the tick labels. Depending on the selection state, this is either mSelectedTickLabelFont or mTickLabelFont. */ QFont QCPAxis::getTickLabelFont() const { return mSelectedParts.testFlag(spTickLabels) ? mSelectedTickLabelFont : mTickLabelFont; } /*! \internal Returns the font that is used to draw the axis label. Depending on the selection state, this is either mSelectedLabelFont or mLabelFont. */ QFont QCPAxis::getLabelFont() const { return mSelectedParts.testFlag(spAxisLabel) ? mSelectedLabelFont : mLabelFont; } /*! \internal Returns the color that is used to draw the tick labels. Depending on the selection state, this is either mSelectedTickLabelColor or mTickLabelColor. */ QColor QCPAxis::getTickLabelColor() const { return mSelectedParts.testFlag(spTickLabels) ? mSelectedTickLabelColor : mTickLabelColor; } /*! \internal Returns the color that is used to draw the axis label. Depending on the selection state, this is either mSelectedLabelColor or mLabelColor. */ QColor QCPAxis::getLabelColor() const { return mSelectedParts.testFlag(spAxisLabel) ? mSelectedLabelColor : mLabelColor; } /*! \internal Returns the appropriate outward margin for this axis. It is needed if \ref QCPAxisRect::setAutoMargins is set to true on the parent axis rect. An axis with axis type \ref atLeft will return an appropriate left margin, \ref atBottom will return an appropriate bottom margin and so forth. For the calculation, this function goes through similar steps as \ref draw, so changing one function likely requires the modification of the other one as well. The margin consists of the outward tick length, tick label padding, tick label size, label padding, label size, and padding. The margin is cached internally, so repeated calls while leaving the axis range, fonts, etc. unchanged are very fast. */ int QCPAxis::calculateMargin() { if (mCachedMarginValid) return mCachedMargin; // run through similar steps as QCPAxis::draw, and caluclate margin needed to fit axis and its labels int margin = 0; if (mVisible) { int lowTick, highTick; visibleTickBounds(lowTick, highTick); // get length of tick marks pointing outwards: if (mTicks) margin += qMax(0, qMax(mTickLengthOut, mSubTickLengthOut)); // calculate size of tick labels: QSize tickLabelsSize(0, 0); if (mTickLabels) { for (int i=lowTick; i<=highTick; ++i) getMaxTickLabelSize(mTickLabelFont, mTickVectorLabels.at(i), &tickLabelsSize); // don't use getTickLabelFont() because we don't want margin to possibly change on selection margin += orientation() == Qt::Horizontal ? tickLabelsSize.height() : tickLabelsSize.width(); margin += mTickLabelPadding; } // calculate size of axis label (only height needed, because left/right labels are rotated by 90 degrees): if (!mLabel.isEmpty()) { QFontMetrics fontMetrics(mLabelFont); // don't use getLabelFont() because we don't want margin to possibly change on selection QRect bounds; bounds = fontMetrics.boundingRect(0, 0, 0, 0, Qt::TextDontClip | Qt::AlignHCenter | Qt::AlignVCenter, mLabel); margin += bounds.height() + mLabelPadding; } } margin += mPadding; mCachedMargin = margin; mCachedMarginValid = true; return margin; } /* inherits documentation from base class */ QCP::Interaction QCPAxis::selectionCategory() const { return QCP::iSelectAxes; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPAbstractPlottable //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPAbstractPlottable \brief The abstract base class for all data representing objects in a plot. It defines a very basic interface like name, pen, brush, visibility etc. Since this class is abstract, it can't be instantiated. Use one of the subclasses or create a subclass yourself to create new ways of displaying data (see "Creating own plottables" below). All further specifics are in the subclasses, for example: \li A normal graph with possibly a line, scatter points and error bars is displayed by \ref QCPGraph (typically created with \ref QCustomPlot::addGraph). \li A parametric curve can be displayed with \ref QCPCurve. \li A stackable bar chart can be achieved with \ref QCPBars. \li A box of a statistical box plot is created with \ref QCPStatisticalBox. \section plottables-subclassing Creating own plottables To create an own plottable, you implement a subclass of QCPAbstractPlottable. These are the pure virtual functions, you must implement: \li \ref clearData \li \ref selectTest \li \ref draw \li \ref drawLegendIcon \li \ref getKeyRange \li \ref getValueRange See the documentation of those functions for what they need to do. For drawing your plot, you can use the \ref coordsToPixels functions to translate a point in plot coordinates to pixel coordinates. This function is quite convenient, because it takes the orientation of the key and value axes into account for you (x and y are swapped when the key axis is vertical and the value axis horizontal). If you are worried about performance (i.e. you need to translate many points in a loop like QCPGraph), you can directly use \ref QCPAxis::coordToPixel. However, you must then take care about the orientation of the axis yourself. Here are some important members you inherit from QCPAbstractPlottable:
QCustomPlot *\b mParentPlot A pointer to the parent QCustomPlot instance. The parent plot is inferred from the axes that are passed in the constructor.
QString \b mName The name of the plottable.
QPen \b mPen The generic pen of the plottable. You should use this pen for the most prominent data representing lines in the plottable (e.g QCPGraph uses this pen for its graph lines and scatters)
QPen \b mSelectedPen The generic pen that should be used when the plottable is selected (hint: \ref mainPen gives you the right pen, depending on selection state).
QBrush \b mBrush The generic brush of the plottable. You should use this brush for the most prominent fillable structures in the plottable (e.g. QCPGraph uses this brush to control filling under the graph)
QBrush \b mSelectedBrush The generic brush that should be used when the plottable is selected (hint: \ref mainBrush gives you the right brush, depending on selection state).
QPointer\b mKeyAxis, \b mValueAxis The key and value axes this plottable is attached to. Call their QCPAxis::coordToPixel functions to translate coordinates to pixels in either the key or value dimension. Make sure to check whether the weak pointer is null before using it. If one of the axes is null, don't draw the plottable.
bool \b mSelected indicates whether the plottable is selected or not.
*/ /* start of documentation of pure virtual functions */ /*! \fn void QCPAbstractPlottable::clearData() = 0 Clears all data in the plottable. */ /*! \fn void QCPAbstractPlottable::drawLegendIcon(QCPPainter *painter, const QRect &rect) const = 0 \internal called by QCPLegend::draw (via QCPPlottableLegendItem::draw) to create a graphical representation of this plottable inside \a rect, next to the plottable name. */ /*! \fn QCPRange QCPAbstractPlottable::getKeyRange(bool &validRange, SignDomain inSignDomain) const = 0 \internal called by rescaleAxes functions to get the full data key bounds. For logarithmic plots, one can set \a inSignDomain to either \ref sdNegative or \ref sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set \a inSignDomain to \ref sdNegative and all positive points will be ignored for range calculation. For no restriction, just set \a inSignDomain to \ref sdBoth (default). \a validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data). \see rescaleAxes, getValueRange */ /*! \fn QCPRange QCPAbstractPlottable::getValueRange(bool &validRange, SignDomain inSignDomain) const = 0 \internal called by rescaleAxes functions to get the full data value bounds. For logarithmic plots, one can set \a inSignDomain to either \ref sdNegative or \ref sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set \a inSignDomain to \ref sdNegative and all positive points will be ignored for range calculation. For no restriction, just set \a inSignDomain to \ref sdBoth (default). \a validRange is an output parameter that indicates whether a proper range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data). \see rescaleAxes, getKeyRange */ /* end of documentation of pure virtual functions */ /* start of documentation of signals */ /*! \fn void QCPAbstractPlottable::selectionChanged(bool selected) This signal is emitted when the selection state of this plottable has changed to \a selected, either by user interaction or by a direct call to \ref setSelected. */ /* end of documentation of signals */ /*! Constructs an abstract plottable which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and have perpendicular orientations. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though. Since QCPAbstractPlottable is an abstract class that defines the basic interface to plottables, it can't be directly instantiated. You probably want one of the subclasses like \ref QCPGraph or \ref QCPCurve instead. */ QCPAbstractPlottable::QCPAbstractPlottable(QCPAxis *keyAxis, QCPAxis *valueAxis) : QCPLayerable(keyAxis->parentPlot(), "", keyAxis->axisRect()), mName(""), mAntialiasedFill(true), mAntialiasedScatters(true), mAntialiasedErrorBars(false), mPen(Qt::black), mSelectedPen(Qt::black), mBrush(Qt::NoBrush), mSelectedBrush(Qt::NoBrush), mKeyAxis(keyAxis), mValueAxis(valueAxis), mSelectable(true), mSelected(false) { if (keyAxis->parentPlot() != valueAxis->parentPlot()) qDebug() << Q_FUNC_INFO << "Parent plot of keyAxis is not the same as that of valueAxis."; if (keyAxis->orientation() == valueAxis->orientation()) qDebug() << Q_FUNC_INFO << "keyAxis and valueAxis must be orthogonal to each other."; } /*! The name is the textual representation of this plottable as it is displayed in the legend (\ref QCPLegend). It may contain any UTF-8 characters, including newlines. */ void QCPAbstractPlottable::setName(const QString &name) { mName = name; } /*! Sets whether fills of this plottable is drawn antialiased or not. Note that this setting may be overridden by \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. */ void QCPAbstractPlottable::setAntialiasedFill(bool enabled) { mAntialiasedFill = enabled; } /*! Sets whether the scatter symbols of this plottable are drawn antialiased or not. Note that this setting may be overridden by \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. */ void QCPAbstractPlottable::setAntialiasedScatters(bool enabled) { mAntialiasedScatters = enabled; } /*! Sets whether the error bars of this plottable are drawn antialiased or not. Note that this setting may be overridden by \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. */ void QCPAbstractPlottable::setAntialiasedErrorBars(bool enabled) { mAntialiasedErrorBars = enabled; } /*! The pen is used to draw basic lines that make up the plottable representation in the plot. For example, the \ref QCPGraph subclass draws its graph lines and scatter points with this pen. \see setBrush */ void QCPAbstractPlottable::setPen(const QPen &pen) { mPen = pen; } /*! When the plottable is selected, this pen is used to draw basic lines instead of the normal pen set via \ref setPen. \see setSelected, setSelectable, setSelectedBrush, selectTest */ void QCPAbstractPlottable::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /*! The brush is used to draw basic fills of the plottable representation in the plot. The Fill can be a color, gradient or texture, see the usage of QBrush. For example, the \ref QCPGraph subclass draws the fill under the graph with this brush, when it's not set to Qt::NoBrush. \see setPen */ void QCPAbstractPlottable::setBrush(const QBrush &brush) { mBrush = brush; } /*! When the plottable is selected, this brush is used to draw fills instead of the normal brush set via \ref setBrush. \see setSelected, setSelectable, setSelectedPen, selectTest */ void QCPAbstractPlottable::setSelectedBrush(const QBrush &brush) { mSelectedBrush = brush; } /*! The key axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's value axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis. Normally, the key and value axes are set in the constructor of the plottable (or \ref QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface). \see setValueAxis */ void QCPAbstractPlottable::setKeyAxis(QCPAxis *axis) { mKeyAxis = axis; } /*! The value axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal to the plottable's key axis. This function performs no checks to make sure this is the case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the y-axis (QCustomPlot::yAxis) as value axis. Normally, the key and value axes are set in the constructor of the plottable (or \ref QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface). \see setKeyAxis */ void QCPAbstractPlottable::setValueAxis(QCPAxis *axis) { mValueAxis = axis; } /*! Sets whether the user can (de-)select this plottable by clicking on the QCustomPlot surface. (When \ref QCustomPlot::setInteractions contains iSelectPlottables.) However, even when \a selectable was set to false, it is possible to set the selection manually, by calling \ref setSelected directly. \see setSelected */ void QCPAbstractPlottable::setSelectable(bool selectable) { mSelectable = selectable; } /*! Sets whether this plottable is selected or not. When selected, it uses a different pen and brush to draw its lines and fills, see \ref setSelectedPen and \ref setSelectedBrush. The entire selection mechanism for plottables is handled automatically when \ref QCustomPlot::setInteractions contains iSelectPlottables. You only need to call this function when you wish to change the selection state manually. This function can change the selection state even when \ref setSelectable was set to false. emits the \ref selectionChanged signal when \a selected is different from the previous selection state. \see setSelectable, selectTest */ void QCPAbstractPlottable::setSelected(bool selected) { if (mSelected != selected) { mSelected = selected; emit selectionChanged(mSelected); } } /*! Rescales the key and value axes associated with this plottable to contain all displayed data, so the whole plottable is visible. If the scaling of an axis is logarithmic, rescaleAxes will make sure not to rescale to an illegal range i.e. a range containing different signs and/or zero. Instead it will stay in the current sign domain and ignore all parts of the plottable that lie outside of that domain. \a onlyEnlarge makes sure the ranges are only expanded, never reduced. So it's possible to show multiple plottables in their entirety by multiple calls to rescaleAxes where the first call has \a onlyEnlarge set to false (the default), and all subsequent set to true. \see rescaleKeyAxis, rescaleValueAxis, QCustomPlot::rescaleAxes, QCPAxis::rescale */ void QCPAbstractPlottable::rescaleAxes(bool onlyEnlarge) const { rescaleKeyAxis(onlyEnlarge); rescaleValueAxis(onlyEnlarge); } /*! Rescales the key axis of the plottable so the whole plottable is visible. See \ref rescaleAxes for detailed behaviour. */ void QCPAbstractPlottable::rescaleKeyAxis(bool onlyEnlarge) const { QCPAxis *keyAxis = mKeyAxis.data(); if (!keyAxis) { qDebug() << Q_FUNC_INFO << "invalid key axis"; return; } SignDomain signDomain = sdBoth; if (keyAxis->scaleType() == QCPAxis::stLogarithmic) signDomain = (keyAxis->range().upper < 0 ? sdNegative : sdPositive); bool rangeValid; QCPRange newRange = getKeyRange(rangeValid, signDomain); if (rangeValid) { if (onlyEnlarge) newRange.expand(keyAxis->range()); keyAxis->setRange(newRange); } } /*! Rescales the value axis of the plottable so the whole plottable is visible. Returns true if the axis was actually scaled. This might not be the case if this plottable has an invalid range, e.g. because it has no data points. See \ref rescaleAxes for detailed behaviour. */ void QCPAbstractPlottable::rescaleValueAxis(bool onlyEnlarge) const { QCPAxis *valueAxis = mValueAxis.data(); if (!valueAxis) { qDebug() << Q_FUNC_INFO << "invalid value axis"; return; } SignDomain signDomain = sdBoth; if (valueAxis->scaleType() == QCPAxis::stLogarithmic) signDomain = (valueAxis->range().upper < 0 ? sdNegative : sdPositive); bool rangeValid; QCPRange newRange = getValueRange(rangeValid, signDomain); if (rangeValid) { if (onlyEnlarge) newRange.expand(valueAxis->range()); valueAxis->setRange(newRange); } } /*! Adds this plottable to the legend of the parent QCustomPlot (QCustomPlot::legend). Normally, a QCPPlottableLegendItem is created and inserted into the legend. If the plottable needs a more specialized representation in the legend, this function will take this into account and instead create the specialized subclass of QCPAbstractLegendItem. Returns true on success, i.e. when the legend exists and a legend item associated with this plottable isn't already in the legend. \see removeFromLegend, QCPLegend::addItem */ bool QCPAbstractPlottable::addToLegend() { if (!mParentPlot || !mParentPlot->legend) return false; if (!mParentPlot->legend->hasItemWithPlottable(this)) { mParentPlot->legend->addItem(new QCPPlottableLegendItem(mParentPlot->legend, this)); return true; } else return false; } /*! Removes the plottable from the legend of the parent QCustomPlot. This means the QCPAbstractLegendItem (usually a QCPPlottableLegendItem) that is associated with this plottable is removed. Returns true on success, i.e. if the legend exists and a legend item associated with this plottable was found and removed. \see addToLegend, QCPLegend::removeItem */ bool QCPAbstractPlottable::removeFromLegend() const { if (!mParentPlot->legend) return false; if (QCPPlottableLegendItem *lip = mParentPlot->legend->itemWithPlottable(this)) return mParentPlot->legend->removeItem(lip); else return false; } /* inherits documentation from base class */ QRect QCPAbstractPlottable::clipRect() const { if (mKeyAxis && mValueAxis) return mKeyAxis.data()->axisRect()->rect() & mValueAxis.data()->axisRect()->rect(); else return QRect(); } /* inherits documentation from base class */ QCP::Interaction QCPAbstractPlottable::selectionCategory() const { return QCP::iSelectPlottables; } /*! \internal Convenience function for transforming a key/value pair to pixels on the QCustomPlot surface, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y). \a key and \a value are transformed to the coodinates in pixels and are written to \a x and \a y. \see pixelsToCoords, QCPAxis::coordToPixel */ void QCPAbstractPlottable::coordsToPixels(double key, double value, double &x, double &y) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (keyAxis->orientation() == Qt::Horizontal) { x = keyAxis->coordToPixel(key); y = valueAxis->coordToPixel(value); } else { y = keyAxis->coordToPixel(key); x = valueAxis->coordToPixel(value); } } /*! \internal \overload Returns the input as pixel coordinates in a QPointF. */ const QPointF QCPAbstractPlottable::coordsToPixels(double key, double value) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPointF(); } if (keyAxis->orientation() == Qt::Horizontal) return QPointF(keyAxis->coordToPixel(key), valueAxis->coordToPixel(value)); else return QPointF(valueAxis->coordToPixel(value), keyAxis->coordToPixel(key)); } /*! \internal Convenience function for transforming a x/y pixel pair on the QCustomPlot surface to plot coordinates, taking the orientations of the axes associated with this plottable into account (e.g. whether key represents x or y). \a x and \a y are transformed to the plot coodinates and are written to \a key and \a value. \see coordsToPixels, QCPAxis::coordToPixel */ void QCPAbstractPlottable::pixelsToCoords(double x, double y, double &key, double &value) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (keyAxis->orientation() == Qt::Horizontal) { key = keyAxis->pixelToCoord(x); value = valueAxis->pixelToCoord(y); } else { key = keyAxis->pixelToCoord(y); value = valueAxis->pixelToCoord(x); } } /*! \internal \overload Returns the pixel input \a pixelPos as plot coordinates \a key and \a value. */ void QCPAbstractPlottable::pixelsToCoords(const QPointF &pixelPos, double &key, double &value) const { pixelsToCoords(pixelPos.x(), pixelPos.y(), key, value); } /*! \internal Returns the pen that should be used for drawing lines of the plottable. Returns mPen when the graph is not selected and mSelectedPen when it is. */ QPen QCPAbstractPlottable::mainPen() const { return mSelected ? mSelectedPen : mPen; } /*! \internal Returns the brush that should be used for drawing fills of the plottable. Returns mBrush when the graph is not selected and mSelectedBrush when it is. */ QBrush QCPAbstractPlottable::mainBrush() const { return mSelected ? mSelectedBrush : mBrush; } /*! \internal A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter before drawing plottable lines. This is the antialiasing state the painter passed to the \ref draw method is in by default. This function takes into account the local setting of the antialiasing flag as well as the overrides set with \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. \see setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint */ void QCPAbstractPlottable::applyDefaultAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiased, QCP::aePlottables); } /*! \internal A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter before drawing plottable fills. This function takes into account the local setting of the antialiasing flag as well as the overrides set with \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. \see setAntialiased, applyDefaultAntialiasingHint, applyScattersAntialiasingHint, applyErrorBarsAntialiasingHint */ void QCPAbstractPlottable::applyFillAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiasedFill, QCP::aeFills); } /*! \internal A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter before drawing plottable scatter points. This function takes into account the local setting of the antialiasing flag as well as the overrides set with \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. \see setAntialiased, applyFillAntialiasingHint, applyDefaultAntialiasingHint, applyErrorBarsAntialiasingHint */ void QCPAbstractPlottable::applyScattersAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiasedScatters, QCP::aeScatters); } /*! \internal A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter before drawing plottable error bars. This function takes into account the local setting of the antialiasing flag as well as the overrides set with \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. \see setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint, applyDefaultAntialiasingHint */ void QCPAbstractPlottable::applyErrorBarsAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiasedErrorBars, QCP::aeErrorBars); } /*! \internal Finds the shortest squared distance of \a point to the line segment defined by \a start and \a end. This function may be used to help with the implementation of the \ref selectTest function for specific plottables. \note This function is identical to QCPAbstractItem::distSqrToLine */ double QCPAbstractPlottable::distSqrToLine(const QPointF &start, const QPointF &end, const QPointF &point) const { QVector2D a(start); QVector2D b(end); QVector2D p(point); QVector2D v(b-a); double vLengthSqr = v.lengthSquared(); if (!qFuzzyIsNull(vLengthSqr)) { double mu = QVector2D::dotProduct(p-a, v)/vLengthSqr; if (mu < 0) return (a-p).lengthSquared(); else if (mu > 1) return (b-p).lengthSquared(); else return ((a + mu*v)-p).lengthSquared(); } else return (a-p).lengthSquared(); } /* inherits documentation from base class */ void QCPAbstractPlottable::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) { Q_UNUSED(event) Q_UNUSED(details) if (mSelectable) { bool selBefore = mSelected; setSelected(additive ? !mSelected : true); if (selectionStateChanged) *selectionStateChanged = mSelected != selBefore; } } /* inherits documentation from base class */ void QCPAbstractPlottable::deselectEvent(bool *selectionStateChanged) { if (mSelectable) { bool selBefore = mSelected; setSelected(false); if (selectionStateChanged) *selectionStateChanged = mSelected != selBefore; } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemAnchor //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemAnchor \brief An anchor of an item to which positions can be attached to. An item (QCPAbstractItem) may have one or more anchors. Unlike QCPItemPosition, an anchor doesn't control anything on its item, but provides a way to tie other items via their positions to the anchor. For example, a QCPItemRect is defined by its positions \a topLeft and \a bottomRight. Additionally it has various anchors like \a top, \a topRight or \a bottomLeft etc. So you can attach the \a start (which is a QCPItemPosition) of a QCPItemLine to one of the anchors by calling QCPItemPosition::setParentAnchor on \a start, passing the wanted anchor of the QCPItemRect. This way the start of the line will now always follow the respective anchor location on the rect item. Note that QCPItemPosition derives from QCPItemAnchor, so every position can also serve as an anchor to other positions. To learn how to provide anchors in your own item subclasses, see the subclassing section of the QCPAbstractItem documentation. */ /* start documentation of inline functions */ /*! \fn virtual QCPItemPosition *QCPItemAnchor::toQCPItemPosition() Returns 0 if this instance is merely a QCPItemAnchor, and a valid pointer of type QCPItemPosition* if it actually is a QCPItemPosition (which is a subclass of QCPItemAnchor). This safe downcast functionality could also be achieved with a dynamic_cast. However, QCustomPlot avoids dynamic_cast to work with projects that don't have RTTI support enabled (e.g. -fno-rtti flag with gcc compiler). */ /* end documentation of inline functions */ /*! Creates a new QCPItemAnchor. You shouldn't create QCPItemAnchor instances directly, even if you want to make a new item subclass. Use \ref QCPAbstractItem::createAnchor instead, as explained in the subclassing section of the QCPAbstractItem documentation. */ QCPItemAnchor::QCPItemAnchor(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString name, int anchorId) : mName(name), mParentPlot(parentPlot), mParentItem(parentItem), mAnchorId(anchorId) { } QCPItemAnchor::~QCPItemAnchor() { // unregister as parent at children: QList currentChildren(mChildren.toList()); for (int i=0; isetParentAnchor(0); // this acts back on this anchor and child removes itself from mChildren } /*! Returns the final absolute pixel position of the QCPItemAnchor on the QCustomPlot surface. The pixel information is internally retrieved via QCPAbstractItem::anchorPixelPosition of the parent item, QCPItemAnchor is just an intermediary. */ QPointF QCPItemAnchor::pixelPoint() const { if (mParentItem) { if (mAnchorId > -1) { return mParentItem->anchorPixelPoint(mAnchorId); } else { qDebug() << Q_FUNC_INFO << "no valid anchor id set:" << mAnchorId; return QPointF(); } } else { qDebug() << Q_FUNC_INFO << "no parent item set"; return QPointF(); } } /*! \internal Adds \a pos to the child list of this anchor. This is necessary to notify the children prior to destruction of the anchor. Note that this function does not change the parent setting in \a pos. */ void QCPItemAnchor::addChild(QCPItemPosition *pos) { if (!mChildren.contains(pos)) mChildren.insert(pos); else qDebug() << Q_FUNC_INFO << "provided pos is child already" << reinterpret_cast(pos); } /*! \internal Removes \a pos from the child list of this anchor. Note that this function does not change the parent setting in \a pos. */ void QCPItemAnchor::removeChild(QCPItemPosition *pos) { if (!mChildren.remove(pos)) qDebug() << Q_FUNC_INFO << "provided pos isn't child" << reinterpret_cast(pos); } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemPosition //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemPosition \brief Manages the position of an item. Every item has at least one public QCPItemPosition member pointer which provides ways to position the item on the QCustomPlot surface. Some items have multiple positions, for example QCPItemRect has two: \a topLeft and \a bottomRight. QCPItemPosition has a type (\ref PositionType) that can be set with \ref setType. This type defines how coordinates passed to \ref setCoords are to be interpreted, e.g. as absolute pixel coordinates, as plot coordinates of certain axes, etc. Further, QCPItemPosition may have a parent QCPItemAnchor, see \ref setParentAnchor. (Note that every QCPItemPosition inherits from QCPItemAnchor and thus can itself be used as parent anchor for other positions.) This way you can tie multiple items together. If the QCPItemPosition has a parent, the coordinates set with \ref setCoords are considered to be absolute values in the reference frame of the parent anchor, where (0, 0) means directly ontop of the parent anchor. For example, You could attach the \a start position of a QCPItemLine to the \a bottom anchor of a QCPItemText to make the starting point of the line always be centered under the text label, no matter where the text is moved to, or is itself tied to. To set the apparent pixel position on the QCustomPlot surface directly, use \ref setPixelPoint. This works no matter what type this QCPItemPosition is or what parent-child situation it is in, as \ref setPixelPoint transforms the coordinates appropriately, to make the position appear at the specified pixel values. */ /*! Creates a new QCPItemPosition. You shouldn't create QCPItemPosition instances directly, even if you want to make a new item subclass. Use \ref QCPAbstractItem::createPosition instead, as explained in the subclassing section of the QCPAbstractItem documentation. */ QCPItemPosition::QCPItemPosition(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString name) : QCPItemAnchor(parentPlot, parentItem, name), mPositionType(ptAbsolute), mKey(0), mValue(0), mParentAnchor(0) { } QCPItemPosition::~QCPItemPosition() { // unregister as parent at children: // Note: this is done in ~QCPItemAnchor again, but it's important QCPItemPosition does it itself, because only then // the setParentAnchor(0) call the correct QCPItemPosition::pixelPoint function instead of QCPItemAnchor::pixelPoint QList currentChildren(mChildren.toList()); for (int i=0; isetParentAnchor(0); // this acts back on this anchor and child removes itself from mChildren // unregister as child in parent: if (mParentAnchor) mParentAnchor->removeChild(this); } /* can't make this a header inline function, because QPointer breaks with forward declared types, see QTBUG-29588 */ QCPAxisRect *QCPItemPosition::axisRect() const { return mAxisRect.data(); } /*! Sets the type of the position. The type defines how the coordinates passed to \ref setCoords should be handled and how the QCPItemPosition should behave in the plot. The possible values for \a type can be separated in two main categories: \li The position is regarded as a point in plot coordinates. This corresponds to \ref ptPlotCoords and requires two axes that define the plot coordinate system. They can be specified with \ref setAxes. By default, the QCustomPlot's x- and yAxis are used. \li The position is fixed on the QCustomPlot surface, i.e. independent of axis ranges. This corresponds to all other types, i.e. \ref ptAbsolute, \ref ptViewportRatio and \ref ptAxisRectRatio. They differ only in the way the absolute position is described, see the documentation of PositionType for details. For \ref ptAxisRectRatio, note that you can specify the axis rect with \ref setAxisRect. By default this is set to the main axis rect. Note that the position type \ref ptPlotCoords is only available (and sensible) when the position has no parent anchor (\ref setParentAnchor). If the type is changed, the apparent pixel position on the plot is preserved. This means the coordinates as retrieved with coords() and set with \ref setCoords may change in the process. */ void QCPItemPosition::setType(QCPItemPosition::PositionType type) { if (mPositionType != type) { // if switching from or to coordinate type that isn't valid (e.g. because axes or axis rect // were deleted), don't try to recover the pixelPoint() because it would output a qDebug warning. bool recoverPixelPosition = true; if ((mPositionType == ptPlotCoords || type == ptPlotCoords) && (!mKeyAxis || !mValueAxis)) recoverPixelPosition = false; if ((mPositionType == ptAxisRectRatio || type == ptAxisRectRatio) && (!mAxisRect)) recoverPixelPosition = false; QPointF pixelP; if (recoverPixelPosition) pixelP = pixelPoint(); mPositionType = type; if (recoverPixelPosition) setPixelPoint(pixelP); } } /*! Sets the parent of this QCPItemPosition to \a parentAnchor. This means the position will now follow any position changes of the anchor. The local coordinate system of positions with a parent anchor always is absolute with (0, 0) being exactly on top of the parent anchor. (Hence the type shouldn't be \ref ptPlotCoords for positions with parent anchors.) if \a keepPixelPosition is true, the current pixel position of the QCPItemPosition is preserved during reparenting. If it's set to false, the coordinates are set to (0, 0), i.e. the position will be exactly on top of the parent anchor. To remove this QCPItemPosition from any parent anchor, set \a parentAnchor to 0. If the QCPItemPosition previously had no parent and the type is \ref ptPlotCoords, the type is set to \ref ptAbsolute, to keep the position in a valid state. */ bool QCPItemPosition::setParentAnchor(QCPItemAnchor *parentAnchor, bool keepPixelPosition) { // make sure self is not assigned as parent: if (parentAnchor == this) { qDebug() << Q_FUNC_INFO << "can't set self as parent anchor" << reinterpret_cast(parentAnchor); return false; } // make sure no recursive parent-child-relationships are created: QCPItemAnchor *currentParent = parentAnchor; while (currentParent) { if (QCPItemPosition *currentParentPos = currentParent->toQCPItemPosition()) { // is a QCPItemPosition, might have further parent, so keep iterating if (currentParentPos == this) { qDebug() << Q_FUNC_INFO << "can't create recursive parent-child-relationship" << reinterpret_cast(parentAnchor); return false; } currentParent = currentParentPos->mParentAnchor; } else { // is a QCPItemAnchor, can't have further parent. Now make sure the parent items aren't the // same, to prevent a position being child of an anchor which itself depends on the position, // because they're both on the same item: if (currentParent->mParentItem == mParentItem) { qDebug() << Q_FUNC_INFO << "can't set parent to be an anchor which itself depends on this position" << reinterpret_cast(parentAnchor); return false; } break; } } // if previously no parent set and PosType is still ptPlotCoords, set to ptAbsolute: if (!mParentAnchor && mPositionType == ptPlotCoords) setType(ptAbsolute); // save pixel position: QPointF pixelP; if (keepPixelPosition) pixelP = pixelPoint(); // unregister at current parent anchor: if (mParentAnchor) mParentAnchor->removeChild(this); // register at new parent anchor: if (parentAnchor) parentAnchor->addChild(this); mParentAnchor = parentAnchor; // restore pixel position under new parent: if (keepPixelPosition) setPixelPoint(pixelP); else setCoords(0, 0); return true; } /*! Sets the coordinates of this QCPItemPosition. What the coordinates mean, is defined by the type (\ref setType). For example, if the type is \ref ptAbsolute, \a key and \a value mean the x and y pixel position on the QCustomPlot surface. In that case the origin (0, 0) is in the top left corner of the QCustomPlot viewport. If the type is \ref ptPlotCoords, \a key and \a value mean a point in the plot coordinate system defined by the axes set by \ref setAxes. By default those are the QCustomPlot's xAxis and yAxis. See the documentation of \ref setType for other available coordinate types and their meaning. \see setPixelPoint */ void QCPItemPosition::setCoords(double key, double value) { mKey = key; mValue = value; } /*! \overload Sets the coordinates as a QPointF \a pos where pos.x has the meaning of \a key and pos.y the meaning of \a value of the \ref setCoords(double key, double value) method. */ void QCPItemPosition::setCoords(const QPointF &pos) { setCoords(pos.x(), pos.y()); } /*! Returns the final absolute pixel position of the QCPItemPosition on the QCustomPlot surface. It includes all effects of type (\ref setType) and possible parent anchors (\ref setParentAnchor). \see setPixelPoint */ QPointF QCPItemPosition::pixelPoint() const { switch (mPositionType) { case ptAbsolute: { if (mParentAnchor) return QPointF(mKey, mValue) + mParentAnchor->pixelPoint(); else return QPointF(mKey, mValue); } case ptViewportRatio: { if (mParentAnchor) { return QPointF(mKey*mParentPlot->viewport().width(), mValue*mParentPlot->viewport().height()) + mParentAnchor->pixelPoint(); } else { return QPointF(mKey*mParentPlot->viewport().width(), mValue*mParentPlot->viewport().height()) + mParentPlot->viewport().topLeft(); } } case ptAxisRectRatio: { if (mAxisRect) { if (mParentAnchor) { return QPointF(mKey*mAxisRect.data()->width(), mValue*mAxisRect.data()->height()) + mParentAnchor->pixelPoint(); } else { return QPointF(mKey*mAxisRect.data()->width(), mValue*mAxisRect.data()->height()) + mAxisRect.data()->topLeft(); } } else { qDebug() << Q_FUNC_INFO << "No axis rect defined"; return QPointF(mKey, mValue); } } case ptPlotCoords: { double x, y; if (mKeyAxis && mValueAxis) { // both key and value axis are given, translate key/value to x/y coordinates: if (mKeyAxis.data()->orientation() == Qt::Horizontal) { x = mKeyAxis.data()->coordToPixel(mKey); y = mValueAxis.data()->coordToPixel(mValue); } else { y = mKeyAxis.data()->coordToPixel(mKey); x = mValueAxis.data()->coordToPixel(mValue); } } else if (mKeyAxis) { // only key axis is given, depending on orientation only transform x or y to key coordinate, other stays pixel: if (mKeyAxis.data()->orientation() == Qt::Horizontal) { x = mKeyAxis.data()->coordToPixel(mKey); y = mValue; } else { y = mKeyAxis.data()->coordToPixel(mKey); x = mValue; } } else if (mValueAxis) { // only value axis is given, depending on orientation only transform x or y to value coordinate, other stays pixel: if (mValueAxis.data()->orientation() == Qt::Horizontal) { x = mValueAxis.data()->coordToPixel(mValue); y = mKey; } else { y = mValueAxis.data()->coordToPixel(mValue); x = mKey; } } else { // no axis given, basically the same as if mPositionType were ptAbsolute qDebug() << Q_FUNC_INFO << "No axes defined"; x = mKey; y = mValue; } return QPointF(x, y); } } return QPointF(); } /*! When \ref setType is \ref ptPlotCoords, this function may be used to specify the axes the coordinates set with \ref setCoords relate to. By default they are set to the initial xAxis and yAxis of the QCustomPlot. */ void QCPItemPosition::setAxes(QCPAxis *keyAxis, QCPAxis *valueAxis) { mKeyAxis = keyAxis; mValueAxis = valueAxis; } /*! When \ref setType is \ref ptAxisRectRatio, this function may be used to specify the axis rect the coordinates set with \ref setCoords relate to. By default this is set to the main axis rect of the QCustomPlot. */ void QCPItemPosition::setAxisRect(QCPAxisRect *axisRect) { mAxisRect = axisRect; } /*! Sets the apparent pixel position. This works no matter what type (\ref setType) this QCPItemPosition is or what parent-child situation it is in, as coordinates are transformed appropriately, to make the position finally appear at the specified pixel values. Only if the type is \ref ptAbsolute and no parent anchor is set, this function's effect is identical to that of \ref setCoords. \see pixelPoint, setCoords */ void QCPItemPosition::setPixelPoint(const QPointF &pixelPoint) { switch (mPositionType) { case ptAbsolute: { if (mParentAnchor) setCoords(pixelPoint-mParentAnchor->pixelPoint()); else setCoords(pixelPoint); break; } case ptViewportRatio: { if (mParentAnchor) { QPointF p(pixelPoint-mParentAnchor->pixelPoint()); p.rx() /= (double)mParentPlot->viewport().width(); p.ry() /= (double)mParentPlot->viewport().height(); setCoords(p); } else { QPointF p(pixelPoint-mParentPlot->viewport().topLeft()); p.rx() /= (double)mParentPlot->viewport().width(); p.ry() /= (double)mParentPlot->viewport().height(); setCoords(p); } break; } case ptAxisRectRatio: { if (mAxisRect) { if (mParentAnchor) { QPointF p(pixelPoint-mParentAnchor->pixelPoint()); p.rx() /= (double)mAxisRect.data()->width(); p.ry() /= (double)mAxisRect.data()->height(); setCoords(p); } else { QPointF p(pixelPoint-mAxisRect.data()->topLeft()); p.rx() /= (double)mAxisRect.data()->width(); p.ry() /= (double)mAxisRect.data()->height(); setCoords(p); } } else { qDebug() << Q_FUNC_INFO << "No axis rect defined"; setCoords(pixelPoint); } break; } case ptPlotCoords: { double newKey, newValue; if (mKeyAxis && mValueAxis) { // both key and value axis are given, translate point to key/value coordinates: if (mKeyAxis.data()->orientation() == Qt::Horizontal) { newKey = mKeyAxis.data()->pixelToCoord(pixelPoint.x()); newValue = mValueAxis.data()->pixelToCoord(pixelPoint.y()); } else { newKey = mKeyAxis.data()->pixelToCoord(pixelPoint.y()); newValue = mValueAxis.data()->pixelToCoord(pixelPoint.x()); } } else if (mKeyAxis) { // only key axis is given, depending on orientation only transform x or y to key coordinate, other stays pixel: if (mKeyAxis.data()->orientation() == Qt::Horizontal) { newKey = mKeyAxis.data()->pixelToCoord(pixelPoint.x()); newValue = pixelPoint.y(); } else { newKey = mKeyAxis.data()->pixelToCoord(pixelPoint.y()); newValue = pixelPoint.x(); } } else if (mValueAxis) { // only value axis is given, depending on orientation only transform x or y to value coordinate, other stays pixel: if (mValueAxis.data()->orientation() == Qt::Horizontal) { newKey = pixelPoint.y(); newValue = mValueAxis.data()->pixelToCoord(pixelPoint.x()); } else { newKey = pixelPoint.x(); newValue = mValueAxis.data()->pixelToCoord(pixelPoint.y()); } } else { // no axis given, basically the same as if mPositionType were ptAbsolute qDebug() << Q_FUNC_INFO << "No axes defined"; newKey = pixelPoint.x(); newValue = pixelPoint.y(); } setCoords(newKey, newValue); break; } } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPAbstractItem //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPAbstractItem \brief The abstract base class for all items in a plot. In QCustomPlot, items are supplemental graphical elements that are neither plottables (QCPAbstractPlottable) nor axes (QCPAxis). While plottables are always tied to two axes and thus plot coordinates, items can also be placed in absolute coordinates independent of any axes. Each specific item has at least one QCPItemPosition member which controls the positioning. Some items are defined by more than one coordinate and thus have two or more QCPItemPosition members (For example, QCPItemRect has \a topLeft and \a bottomRight). This abstract base class defines a very basic interface like visibility and clipping. Since this class is abstract, it can't be instantiated. Use one of the subclasses or create a subclass yourself to create new items. The built-in items are:
QCPItemLineA line defined by a start and an end point. May have different ending styles on each side (e.g. arrows).
QCPItemStraightLineA straight line defined by a start and a direction point. Unlike QCPItemLine, the straight line is infinitely long and has no endings.
QCPItemCurveA curve defined by start, end and two intermediate control points. May have different ending styles on each side (e.g. arrows).
QCPItemRectA rectangle
QCPItemEllipseAn ellipse
QCPItemPixmapAn arbitrary pixmap
QCPItemTextA text label
QCPItemBracketA bracket which may be used to reference/highlight certain parts in the plot.
QCPItemTracerAn item that can be attached to a QCPGraph and sticks to its data points, given a key coordinate.
Items are by default clipped to the main axis rect. To make an item visible outside that axis rect, disable clipping via \ref setClipToAxisRect. \section items-using Using items First you instantiate the item you want to use and add it to the plot: \code QCPItemLine *line = new QCPItemLine(customPlot); customPlot->addItem(line); \endcode by default, the positions of the item are bound to the x- and y-Axis of the plot. So we can just set the plot coordinates where the line should start/end: \code line->start->setCoords(-0.1, 0.8); line->end->setCoords(1.1, 0.2); \endcode If we don't want the line to be positioned in plot coordinates but a different coordinate system, e.g. absolute pixel positions on the QCustomPlot surface, we need to change the position type like this: \code line->start->setType(QCPItemPosition::ptAbsolute); line->end->setType(QCPItemPosition::ptAbsolute); \endcode Then we can set the coordinates, this time in pixels: \code line->start->setCoords(100, 200); line->end->setCoords(450, 320); \endcode \section items-subclassing Creating own items To create an own item, you implement a subclass of QCPAbstractItem. These are the pure virtual functions, you must implement: \li \ref selectTest \li \ref draw See the documentation of those functions for what they need to do. \subsection items-positioning Allowing the item to be positioned As mentioned, item positions are represented by QCPItemPosition members. Let's assume the new item shall have only one point as its position (as opposed to two like a rect or multiple like a polygon). You then add a public member of type QCPItemPosition like so: \code QCPItemPosition * const myPosition;\endcode the const makes sure the pointer itself can't be modified from the user of your new item (the QCPItemPosition instance it points to, can be modified, of course). The initialization of this pointer is made easy with the \ref createPosition function. Just assign the return value of this function to each QCPItemPosition in the constructor of your item. \ref createPosition takes a string which is the name of the position, typically this is identical to the variable name. For example, the constructor of QCPItemExample could look like this: \code QCPItemExample::QCPItemExample(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), myPosition(createPosition("myPosition")) { // other constructor code } \endcode \subsection items-drawing The draw function To give your item a visual representation, reimplement the \ref draw function and use the passed QCPPainter to draw the item. You can retrieve the item position in pixel coordinates from the position member(s) via \ref QCPItemPosition::pixelPoint. To optimize performance you should calculate a bounding rect first (don't forget to take the pen width into account), check whether it intersects the \ref clipRect, and only draw the item at all if this is the case. \subsection items-selection The selectTest function Your implementation of the \ref selectTest function may use the helpers \ref distSqrToLine and \ref rectSelectTest. With these, the implementation of the selection test becomes significantly simpler for most items. See the documentation of \ref selectTest for what the function parameters mean and what the function should return. \subsection anchors Providing anchors Providing anchors (QCPItemAnchor) starts off like adding a position. First you create a public member, e.g. \code QCPItemAnchor * const bottom;\endcode and create it in the constructor with the \ref createAnchor function, assigning it a name and an anchor id (an integer enumerating all anchors on the item, you may create an own enum for this). Since anchors can be placed anywhere, relative to the item's position(s), your item needs to provide the position of every anchor with the reimplementation of the \ref anchorPixelPoint(int anchorId) function. In essence the QCPItemAnchor is merely an intermediary that itself asks your item for the pixel position when anything attached to the anchor needs to know the coordinates. */ /* start of documentation of inline functions */ /*! \fn QList QCPAbstractItem::positions() const Returns all positions of the item in a list. \see anchors, position */ /*! \fn QList QCPAbstractItem::anchors() const Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always also an anchor, the list will also contain the positions of this item. \see positions, anchor */ /* end of documentation of inline functions */ /* start documentation of pure virtual functions */ /*! \fn void QCPAbstractItem::draw(QCPPainter *painter) = 0 \internal Draws this item with the provided \a painter. The cliprect of the provided painter is set to the rect returned by \ref clipRect before this function is called. The clipRect depends on the clipping settings defined by \ref setClipToAxisRect and \ref setClipAxisRect. */ /* end documentation of pure virtual functions */ /* start documentation of signals */ /*! \fn void QCPAbstractItem::selectionChanged(bool selected) This signal is emitted when the selection state of this item has changed, either by user interaction or by a direct call to \ref setSelected. */ /* end documentation of signals */ /*! Base class constructor which initializes base class members. */ QCPAbstractItem::QCPAbstractItem(QCustomPlot *parentPlot) : QCPLayerable(parentPlot), mClipToAxisRect(false), mSelectable(true), mSelected(false) { QList rects = parentPlot->axisRects(); if (rects.size() > 0) { setClipToAxisRect(true); setClipAxisRect(rects.first()); } } QCPAbstractItem::~QCPAbstractItem() { // don't delete mPositions because every position is also an anchor and thus in mAnchors qDeleteAll(mAnchors); } /* can't make this a header inline function, because QPointer breaks with forward declared types, see QTBUG-29588 */ QCPAxisRect *QCPAbstractItem::clipAxisRect() const { return mClipAxisRect.data(); } /*! Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the entire QCustomPlot. The axis rect can be set with \ref setClipAxisRect. \see setClipAxisRect */ void QCPAbstractItem::setClipToAxisRect(bool clip) { mClipToAxisRect = clip; if (mClipToAxisRect) setParentLayerable(mClipAxisRect.data()); } /*! Sets the clip axis rect. It defines the rect that will be used to clip the item when \ref setClipToAxisRect is set to true. \see setClipToAxisRect */ void QCPAbstractItem::setClipAxisRect(QCPAxisRect *rect) { mClipAxisRect = rect; if (mClipToAxisRect) setParentLayerable(mClipAxisRect.data()); } /*! Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. (When \ref QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.) However, even when \a selectable was set to false, it is possible to set the selection manually, by calling \ref setSelected. \see QCustomPlot::setInteractions, setSelected */ void QCPAbstractItem::setSelectable(bool selectable) { mSelectable = selectable; } /*! Sets whether this item is selected or not. When selected, it might use a different visual appearance (e.g. pen and brush), this depends on the specific item though. The entire selection mechanism for items is handled automatically when \ref QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this function when you wish to change the selection state manually. This function can change the selection state even when \ref setSelectable was set to false. emits the \ref selectionChanged signal when \a selected is different from the previous selection state. \see setSelectable, selectTest */ void QCPAbstractItem::setSelected(bool selected) { if (mSelected != selected) { mSelected = selected; emit selectionChanged(mSelected); } } /*! Returns the QCPItemPosition with the specified \a name. If this item doesn't have a position by that name, returns 0. This function provides an alternative way to access item positions. Normally, you access positions direcly by their member pointers (which typically have the same variable name as \a name). \see positions, anchor */ QCPItemPosition *QCPAbstractItem::position(const QString &name) const { for (int i=0; iname() == name) return mPositions.at(i); } qDebug() << Q_FUNC_INFO << "position with name not found:" << name; return 0; } /*! Returns the QCPItemAnchor with the specified \a name. If this item doesn't have an anchor by that name, returns 0. This function provides an alternative way to access item anchors. Normally, you access anchors direcly by their member pointers (which typically have the same variable name as \a name). \see anchors, position */ QCPItemAnchor *QCPAbstractItem::anchor(const QString &name) const { for (int i=0; iname() == name) return mAnchors.at(i); } qDebug() << Q_FUNC_INFO << "anchor with name not found:" << name; return 0; } /*! Returns whether this item has an anchor with the specified \a name. Note that you can check for positions with this function, too. This is because every position is also an anchor (QCPItemPosition inherits from QCPItemAnchor). \see anchor, position */ bool QCPAbstractItem::hasAnchor(const QString &name) const { for (int i=0; iname() == name) return true; } return false; } /*! \internal Returns the rect the visual representation of this item is clipped to. This depends on the current setting of \ref setClipToAxisRect as well as the axis rect set with \ref setClipAxisRect. If the item is not clipped to an axis rect, the \ref QCustomPlot::viewport rect is returned. \see draw */ QRect QCPAbstractItem::clipRect() const { if (mClipToAxisRect && mClipAxisRect) return mClipAxisRect.data()->rect(); else return mParentPlot->viewport(); } /*! \internal A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter before drawing item lines. This is the antialiasing state the painter passed to the \ref draw method is in by default. This function takes into account the local setting of the antialiasing flag as well as the overrides set with \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. \see setAntialiased */ void QCPAbstractItem::applyDefaultAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiased, QCP::aeItems); } /*! \internal Finds the shortest squared distance of \a point to the line segment defined by \a start and \a end. This function may be used to help with the implementation of the \ref selectTest function for specific items. \note This function is identical to QCPAbstractPlottable::distSqrToLine \see rectSelectTest */ double QCPAbstractItem::distSqrToLine(const QPointF &start, const QPointF &end, const QPointF &point) const { QVector2D a(start); QVector2D b(end); QVector2D p(point); QVector2D v(b-a); double vLengthSqr = v.lengthSquared(); if (!qFuzzyIsNull(vLengthSqr)) { double mu = QVector2D::dotProduct(p-a, v)/vLengthSqr; if (mu < 0) return (a-p).lengthSquared(); else if (mu > 1) return (b-p).lengthSquared(); else return ((a + mu*v)-p).lengthSquared(); } else return (a-p).lengthSquared(); } /*! \internal A convenience function which returns the selectTest value for a specified \a rect and a specified click position \a pos. \a filledRect defines whether a click inside the rect should also be considered a hit or whether only the rect border is sensitive to hits. This function may be used to help with the implementation of the \ref selectTest function for specific items. For example, if your item consists of four rects, call this function four times, once for each rect, in your \ref selectTest reimplementation. Finally, return the minimum of all four returned values which were greater or equal to zero. (Because this function may return -1.0 when \a pos doesn't hit \a rect at all). If all calls returned -1.0, return -1.0, too, because your item wasn't hit. \see distSqrToLine */ double QCPAbstractItem::rectSelectTest(const QRectF &rect, const QPointF &pos, bool filledRect) const { double result = -1; // distance to border: QList lines; lines << QLineF(rect.topLeft(), rect.topRight()) << QLineF(rect.bottomLeft(), rect.bottomRight()) << QLineF(rect.topLeft(), rect.bottomLeft()) << QLineF(rect.topRight(), rect.bottomRight()); double minDistSqr = std::numeric_limits::max(); for (int i=0; i mParentPlot->selectionTolerance()*0.99) { if (rect.contains(pos)) result = mParentPlot->selectionTolerance()*0.99; } return result; } /*! \internal Returns the pixel position of the anchor with Id \a anchorId. This function must be reimplemented in item subclasses if they want to provide anchors (QCPItemAnchor). For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor ids and returns the respective pixel points of the specified anchor. \see createAnchor */ QPointF QCPAbstractItem::anchorPixelPoint(int anchorId) const { qDebug() << Q_FUNC_INFO << "called on item which shouldn't have any anchors (this method not reimplemented). anchorId" << anchorId; return QPointF(); } /*! \internal Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified \a name must be a unique string that is usually identical to the variable name of the position member (This is needed to provide the name-based \ref position access to positions). Don't delete positions created by this function manually, as the item will take care of it. Use this function in the constructor (initialization list) of the specific item subclass to create each position member. Don't create QCPItemPositions with \b new yourself, because they won't be registered with the item properly. \see createAnchor */ QCPItemPosition *QCPAbstractItem::createPosition(const QString &name) { if (hasAnchor(name)) qDebug() << Q_FUNC_INFO << "anchor/position with name exists already:" << name; QCPItemPosition *newPosition = new QCPItemPosition(mParentPlot, this, name); mPositions.append(newPosition); mAnchors.append(newPosition); // every position is also an anchor newPosition->setAxes(mParentPlot->xAxis, mParentPlot->yAxis); newPosition->setType(QCPItemPosition::ptPlotCoords); if (mParentPlot->axisRect()) newPosition->setAxisRect(mParentPlot->axisRect()); newPosition->setCoords(0, 0); return newPosition; } /*! \internal Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified \a name must be a unique string that is usually identical to the variable name of the anchor member (This is needed to provide the name based \ref anchor access to anchors). The \a anchorId must be a number identifying the created anchor. It is recommended to create an enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor to identify itself when it calls QCPAbstractItem::anchorPixelPoint. That function then returns the correct pixel coordinates for the passed anchor id. Don't delete anchors created by this function manually, as the item will take care of it. Use this function in the constructor (initialization list) of the specific item subclass to create each anchor member. Don't create QCPItemAnchors with \b new yourself, because then they won't be registered with the item properly. \see createPosition */ QCPItemAnchor *QCPAbstractItem::createAnchor(const QString &name, int anchorId) { if (hasAnchor(name)) qDebug() << Q_FUNC_INFO << "anchor/position with name exists already:" << name; QCPItemAnchor *newAnchor = new QCPItemAnchor(mParentPlot, this, name, anchorId); mAnchors.append(newAnchor); return newAnchor; } /* inherits documentation from base class */ void QCPAbstractItem::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) { Q_UNUSED(event) Q_UNUSED(details) if (mSelectable) { bool selBefore = mSelected; setSelected(additive ? !mSelected : true); if (selectionStateChanged) *selectionStateChanged = mSelected != selBefore; } } /* inherits documentation from base class */ void QCPAbstractItem::deselectEvent(bool *selectionStateChanged) { if (mSelectable) { bool selBefore = mSelected; setSelected(false); if (selectionStateChanged) *selectionStateChanged = mSelected != selBefore; } } /* inherits documentation from base class */ QCP::Interaction QCPAbstractItem::selectionCategory() const { return QCP::iSelectItems; } /*! \file */ /*! \mainpage %QCustomPlot 1.1.0 Documentation \image html qcp-doc-logo.png Below is a brief overview of and guide to the classes and their relations. If you are new to QCustomPlot and just want to start using it, it's recommended to look at the tutorials and examples at http://www.qcustomplot.com/ This documentation is especially helpful as a reference, when you're familiar with the basic concept of how to use %QCustomPlot and you wish to learn more about specific functionality. See the \ref classoverview "class overview" for diagrams explaining the relationships between the most important classes of the QCustomPlot library. The central widget which displays the plottables and axes on its surface is QCustomPlot. Every QCustomPlot contains four axes by default. They can be accessed via the members xAxis, yAxis, xAxis2 and yAxis2, and are of type QCPAxis. QCustomPlot supports an arbitrary number of axes and axis rects, see the documentation of QCPAxisRect for details. \section mainpage-plottables Plottables \a Plottables are classes that display any kind of data inside the QCustomPlot. They all derive from QCPAbstractPlottable. For example, the QCPGraph class is a plottable that displays a graph inside the plot with different line styles, scatter styles, filling etc. Since plotting graphs is such a dominant use case, QCustomPlot has a special interface for working with QCPGraph plottables, that makes it very easy to handle them:\n You create a new graph with QCustomPlot::addGraph and access them with QCustomPlot::graph. For all other plottables, you need to use the normal plottable interface:\n First, you create an instance of the plottable you want, e.g. \code QCPCurve *newCurve = new QCPCurve(customPlot->xAxis, customPlot->yAxis);\endcode add it to the customPlot: \code customPlot->addPlottable(newCurve);\endcode and then modify the properties of the newly created plottable via the newCurve pointer. Plottables (including graphs) can be retrieved via QCustomPlot::plottable. Since the return type of that function is the abstract base class of all plottables, QCPAbstractPlottable, you will probably want to qobject_cast the returned pointer to the respective plottable subclass. (As usual, if the cast returns zero, the plottable wasn't of that specific subclass.) All further interfacing with plottables (e.g how to set data) is specific to the plottable type. See the documentations of the subclasses: QCPGraph, QCPCurve, QCPBars, QCPStatisticalBox. \section mainpage-axes Controlling the Axes As mentioned, QCustomPlot has four axes by default: \a xAxis (bottom), \a yAxis (left), \a xAxis2 (top), \a yAxis2 (right). Their range is handled by the simple QCPRange class. You can set the range with the QCPAxis::setRange function. By default, the axes represent a linear scale. To set a logarithmic scale, set \ref QCPAxis::setScaleType to \ref QCPAxis::stLogarithmic. The logarithm base can be set freely with \ref QCPAxis::setScaleLogBase. By default, an axis automatically creates and labels ticks in a sensible manner. See the following functions for tick manipulation:\n QCPAxis::setTicks, QCPAxis::setAutoTicks, QCPAxis::setAutoTickCount, QCPAxis::setAutoTickStep, QCPAxis::setTickLabels, QCPAxis::setTickLabelType, QCPAxis::setTickLabelRotation, QCPAxis::setTickStep, QCPAxis::setTickLength,... Each axis can be given an axis label (e.g. "Voltage (mV)") with QCPAxis::setLabel. The distance of an axis backbone to the respective viewport border is called its margin. Normally, the margins are calculated automatically. To change this, set \ref QCPAxisRect::setAutoMargins to exclude the respective margin sides, set the margins manually with \ref QCPAxisRect::setMargins. The main axis rect can be reached with \ref QCustomPlot::axisRect(). \section mainpage-legend Plot Legend Every QCustomPlot owns one QCPLegend (as \a legend) by default. A legend is a small layout element inside the plot which lists the plottables with an icon of the plottable line/symbol and a description. The Description is retrieved from the plottable name (QCPAbstractPlottable::setName). Plottables can be added and removed from the legend via \ref QCPAbstractPlottable::addToLegend and \ref QCPAbstractPlottable::removeFromLegend. By default, adding a plottable to QCustomPlot automatically adds it to the legend, too. This behaviour can be modified with the QCustomPlot::setAutoAddPlottableToLegend property. The QCPLegend provides an interface to access, add and remove legend items directly, too. See QCPLegend::item, QCPLegend::itemWithPlottable, QCPLegend::addItem, QCPLegend::removeItem for example. Multiple legends are supported via the layout system (as a QCPLegend simply is a normal layout element). \section mainpage-userinteraction User Interactions QCustomPlot supports dragging axis ranges with the mouse (\ref QCPAxisRect::setRangeDrag), zooming axis ranges with the mouse wheel (\ref QCPAxisRect::setRangeZoom) and a complete selection mechanism. The availability of these interactions is controlled with \ref QCustomPlot::setInteractions. For details about the interaction system, see the documentation there. Further, QCustomPlot always emits corresponding signals, when objects are clicked or doubleClicked. See \ref QCustomPlot::plottableClick, \ref QCustomPlot::plottableDoubleClick and \ref QCustomPlot::axisClick for example. \section mainpage-items Items Apart from plottables there is another category of plot objects that are important: Items. The base class of all items is QCPAbstractItem. An item sets itself apart from plottables in that it's not necessarily bound to any axes. This means it may also be positioned in absolute pixel coordinates or placed at a relative position on an axis rect. Further, it usually doesn't represent data directly, but acts as decoration, emphasis, description etc. Multiple items can be arranged in a parent-child-hierarchy allowing for dynamical behaviour. For example, you could place the head of an arrow at a fixed plot coordinate, so it always points to some important area in the plot. The tail of the arrow can be anchored to a text item which always resides in the top center of the axis rect, independent of where the user drags the axis ranges. This way the arrow stretches and turns so it always points from the label to the specified plot coordinate, without any further code necessary. For a more detailed introduction, see the QCPAbstractItem documentation, and from there the documentations of the individual built-in items, to find out how to use them. \section mainpage-layoutelements Layout elements and layouts QCustomPlot uses an internal layout system to provide dynamic sizing and positioning of objects like the axis rect(s), legends and the plot title. They are all based on \ref QCPLayoutElement and are arranged by placing them inside a \ref QCPLayout. Details on this topic are given on the dedicated page about \ref thelayoutsystem "the layout system". \section mainpage-performancetweaks Performance Tweaks Although QCustomPlot is quite fast, some features like translucent fills, antialiasing and thick lines can cause a significant slow down. If you notice this in your application, here are some thoughts on how to increase performance. By far the most time is spent in the drawing functions, specifically the drawing of graphs. For maximum performance, consider the following (most recommended/effective measures first): \li use Qt 4.8.0 and up. Performance has doubled or tripled with respect to Qt 4.7.4. However QPainter was broken and drawing pixel precise things, e.g. scatters, isn't possible with Qt >= 4.8.0. So it's a performance vs. plot quality tradeoff when switching to Qt 4.8. \li To increase responsiveness during dragging, consider setting \ref QCustomPlot::setNoAntialiasingOnDrag to true. \li On X11 (GNU/Linux), avoid the slow native drawing system, use raster by supplying "-graphicssystem raster" as command line argument or calling QApplication::setGraphicsSystem("raster") before creating the QApplication object. (Only available for Qt versions before 5.0) \li On all operating systems, use OpenGL hardware acceleration by supplying "-graphicssystem opengl" as command line argument or calling QApplication::setGraphicsSystem("opengl") (Only available for Qt versions before 5.0). If OpenGL is available, this will slightly decrease the quality of antialiasing, but extremely increase performance especially with alpha (semi-transparent) fills, much antialiasing and a large QCustomPlot drawing surface. Note however, that the maximum frame rate might be constrained by the vertical sync frequency of your monitor (VSync can be disabled in the graphics card driver configuration). So for simple plots (where the potential framerate is far above 60 frames per second), OpenGL acceleration might achieve numerically lower frame rates than the other graphics systems, because they are not capped at the VSync frequency. \li Avoid any kind of alpha (transparency), especially in fills \li Avoid lines with a pen width greater than one \li Avoid any kind of antialiasing, especially in graph lines (see \ref QCustomPlot::setNotAntialiasedElements) \li Avoid repeatedly setting the complete data set with \ref QCPGraph::setData. Use \ref QCPGraph::addData instead, if most data points stay unchanged, e.g. in a running measurement. \li Set the \a copy parameter of the setData functions to false, so only pointers get transferred. (Relevant only if preparing data maps with a large number of points, i.e. over 10000) \section mainpage-flags Preprocessor Define Flags QCustomPlot understands some preprocessor defines that are useful for debugging and compilation:
\c QCUSTOMPLOT_COMPILE_LIBRARY
Define this flag when you compile QCustomPlot as a shared library (.so/.dll)
\c QCUSTOMPLOT_USE_LIBRARY
Define this flag before including the header, when using QCustomPlot as a shared library
\c QCUSTOMPLOT_CHECK_DATA
If this flag is defined, the QCustomPlot plottables will perform data validity checks on every redraw. This means they will give qDebug output when you plot \e inf or \e nan values, they will not fix your data.
*/ /*! \page classoverview Class Overview The following diagrams may help to gain a deeper understanding of the relationships between classes that make up the QCustomPlot library. The diagrams are not exhaustive, so only the classes deemed most relevant are shown. \section classoverview-relations Class Relationship Diagram \image html RelationOverview.png "Overview of most important classes and their relations" \section classoverview-inheritance Class Inheritance Tree \image html InheritanceOverview.png "Inheritance tree of most important classes" */ //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCustomPlot //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCustomPlot \brief The central class of the library. This is the QWidget which displays the plot and interacts with the user. For tutorials on how to use QCustomPlot, see the website\n http://www.qcustomplot.com/ */ /* start of documentation of inline functions */ /*! \fn QRect QCustomPlot::viewport() const Returns the viewport rect of this QCustomPlot instance. The viewport is the area the plot is drawn in, all mechanisms, e.g. margin caluclation take the viewport to be the outer border of the plot. The viewport normally is the rect() of the QCustomPlot widget, i.e. a rect with top left (0, 0) and size of the QCustomPlot widget. Don't confuse the viewport with the axis rect (QCustomPlot::axisRect). An axis rect is typically an area enclosed by four axes, where the graphs/plottables are drawn in. The viewport is larger and contains also the axes themselves, their tick numbers, their labels, the plot title etc. Only when saving to a file (see \ref savePng, savePdf etc.) the viewport is temporarily modified to allow saving plots with sizes independent of the current widget size. */ /*! \fn QCPLayoutGrid *QCustomPlot::plotLayout() const Returns the top level layout of this QCustomPlot instance. It is a \ref QCPLayoutGrid, initially containing just one cell with the main QCPAxisRect inside. */ /* end of documentation of inline functions */ /* start of documentation of signals */ /*! \fn void QCustomPlot::mouseDoubleClick(QMouseEvent *event) This signal is emitted when the QCustomPlot receives a mouse double click event. */ /*! \fn void QCustomPlot::mousePress(QMouseEvent *event) This signal is emitted when the QCustomPlot receives a mouse press event. It is emitted before QCustomPlot handles any other mechanism like range dragging. So a slot connected to this signal can still influence the behaviour e.g. with \ref QCPAxisRect::setRangeDrag or \ref QCPAxisRect::setRangeDragAxes. */ /*! \fn void QCustomPlot::mouseMove(QMouseEvent *event) This signal is emitted when the QCustomPlot receives a mouse move event. It is emitted before QCustomPlot handles any other mechanism like range dragging. So a slot connected to this signal can still influence the behaviour e.g. with \ref QCPAxisRect::setRangeDrag or \ref QCPAxisRect::setRangeDragAxes. \warning It is discouraged to change the drag-axes with \ref QCPAxisRect::setRangeDragAxes here, because the dragging starting point was saved the moment the mouse was pressed. Thus it only has a meaning for the range drag axes that were set at that moment. If you want to change the drag axes, consider doing this in the \ref mousePress signal instead. */ /*! \fn void QCustomPlot::mouseRelease(QMouseEvent *event) This signal is emitted when the QCustomPlot receives a mouse release event. It is emitted before QCustomPlot handles any other mechanisms like object selection. So a slot connected to this signal can still influence the behaviour e.g. with \ref setInteractions or \ref QCPAbstractPlottable::setSelectable. */ /*! \fn void QCustomPlot::mouseWheel(QMouseEvent *event) This signal is emitted when the QCustomPlot receives a mouse wheel event. It is emitted before QCustomPlot handles any other mechanisms like range zooming. So a slot connected to this signal can still influence the behaviour e.g. with \ref QCPAxisRect::setRangeZoom, \ref QCPAxisRect::setRangeZoomAxes or \ref QCPAxisRect::setRangeZoomFactor. */ /*! \fn void QCustomPlot::plottableClick(QCPAbstractPlottable *plottable, QMouseEvent *event) This signal is emitted when a plottable is clicked. \a event is the mouse event that caused the click and \a plottable is the plottable that received the click. \see plottableDoubleClick */ /*! \fn void QCustomPlot::plottableDoubleClick(QCPAbstractPlottable *plottable, QMouseEvent *event) This signal is emitted when a plottable is double clicked. \a event is the mouse event that caused the click and \a plottable is the plottable that received the click. \see plottableClick */ /*! \fn void QCustomPlot::itemClick(QCPAbstractItem *item, QMouseEvent *event) This signal is emitted when an item is clicked. \a event is the mouse event that caused the click and \a item is the item that received the click. \see itemDoubleClick */ /*! \fn void QCustomPlot::itemDoubleClick(QCPAbstractItem *item, QMouseEvent *event) This signal is emitted when an item is double clicked. \a event is the mouse event that caused the click and \a item is the item that received the click. \see itemClick */ /*! \fn void QCustomPlot::axisClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event) This signal is emitted when an axis is clicked. \a event is the mouse event that caused the click, \a axis is the axis that received the click and \a part indicates the part of the axis that was clicked. \see axisDoubleClick */ /*! \fn void QCustomPlot::axisDoubleClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event) This signal is emitted when an axis is double clicked. \a event is the mouse event that caused the click, \a axis is the axis that received the click and \a part indicates the part of the axis that was clicked. \see axisClick */ /*! \fn void QCustomPlot::legendClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event) This signal is emitted when a legend (item) is clicked. \a event is the mouse event that caused the click, \a legend is the legend that received the click and \a item is the legend item that received the click. If only the legend and no item is clicked, \a item is 0. This happens for a click inside the legend padding or the space between two items. \see legendDoubleClick */ /*! \fn void QCustomPlot::legendDoubleClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event) This signal is emitted when a legend (item) is double clicked. \a event is the mouse event that caused the click, \a legend is the legend that received the click and \a item is the legend item that received the click. If only the legend and no item is clicked, \a item is 0. This happens for a click inside the legend padding or the space between two items. \see legendClick */ /*! \fn void QCustomPlot:: titleClick(QMouseEvent *event, QCPPlotTitle *title) This signal is emitted when a plot title is clicked. \a event is the mouse event that caused the click and \a title is the plot title that received the click. \see titleDoubleClick */ /*! \fn void QCustomPlot::titleDoubleClick(QMouseEvent *event, QCPPlotTitle *title) This signal is emitted when a plot title is double clicked. \a event is the mouse event that caused the click and \a title is the plot title that received the click. \see titleClick */ /*! \fn void QCustomPlot::selectionChangedByUser() This signal is emitted after the user has changed the selection in the QCustomPlot, e.g. by clicking. It is not emitted when the selection state of an object has changed programmatically by a direct call to setSelected() on an object or by calling \ref deselectAll. In addition to this signal, selectable objects also provide individual signals, for example QCPAxis::selectionChanged or QCPAbstractPlottable::selectionChanged. Note that those signals are emitted even if the selection state is changed programmatically. See the documentation of \ref setInteractions for details about the selection mechanism. \see selectedPlottables, selectedGraphs, selectedItems, selectedAxes, selectedLegends */ /*! \fn void QCustomPlot::beforeReplot() This signal is emitted immediately before a replot takes place (caused by a call to the slot \ref replot). It is safe to mutually connect the replot slot with this signal on two QCustomPlots to make them replot synchronously, it won't cause an infinite recursion. \see replot, afterReplot */ /*! \fn void QCustomPlot::afterReplot() This signal is emitted immediately after a replot has taken place (caused by a call to the slot \ref replot). It is safe to mutually connect the replot slot with this signal on two QCustomPlots to make them replot synchronously, it won't cause an infinite recursion. \see replot, beforeReplot */ /* end of documentation of signals */ /*! Constructs a QCustomPlot and sets reasonable default values. */ QCustomPlot::QCustomPlot(QWidget *parent) : QWidget(parent), xAxis(0), yAxis(0), xAxis2(0), yAxis2(0), legend(0), mPlotLayout(0), mAutoAddPlottableToLegend(true), mAntialiasedElements(QCP::aeNone), mNotAntialiasedElements(QCP::aeNone), mInteractions(0), mSelectionTolerance(8), mNoAntialiasingOnDrag(false), mBackgroundBrush(Qt::white, Qt::SolidPattern), mBackgroundScaled(true), mBackgroundScaledMode(Qt::KeepAspectRatioByExpanding), mCurrentLayer(0), mPlottingHints(QCP::phCacheLabels), mMultiSelectModifier(Qt::ControlModifier), mPaintBuffer(size()), mMouseEventElement(0), mReplotting(false) { setAttribute(Qt::WA_NoMousePropagation); setAttribute(Qt::WA_OpaquePaintEvent); setMouseTracking(true); QLocale currentLocale = locale(); currentLocale.setNumberOptions(QLocale::OmitGroupSeparator); setLocale(currentLocale); // create initial layers: mLayers.append(new QCPLayer(this, "background")); mLayers.append(new QCPLayer(this, "grid")); mLayers.append(new QCPLayer(this, "main")); mLayers.append(new QCPLayer(this, "axes")); mLayers.append(new QCPLayer(this, "legend")); updateLayerIndices(); setCurrentLayer("main"); // create initial layout, axis rect and legend: mPlotLayout = new QCPLayoutGrid; mPlotLayout->initializeParentPlot(this); mPlotLayout->setParent(this); // important because if parent is QWidget, QCPLayout::sizeConstraintsChanged will call QWidget::updateGeometry QCPAxisRect *defaultAxisRect = new QCPAxisRect(this, true); mPlotLayout->addElement(0, 0, defaultAxisRect); xAxis = defaultAxisRect->axis(QCPAxis::atBottom); yAxis = defaultAxisRect->axis(QCPAxis::atLeft); xAxis2 = defaultAxisRect->axis(QCPAxis::atTop); yAxis2 = defaultAxisRect->axis(QCPAxis::atRight); legend = new QCPLegend; legend->setVisible(false); defaultAxisRect->insetLayout()->addElement(legend, Qt::AlignRight|Qt::AlignTop); defaultAxisRect->insetLayout()->setMargins(QMargins(12, 12, 12, 12)); defaultAxisRect->setLayer("background"); xAxis->setLayer("axes"); yAxis->setLayer("axes"); xAxis2->setLayer("axes"); yAxis2->setLayer("axes"); xAxis->grid()->setLayer("grid"); yAxis->grid()->setLayer("grid"); xAxis2->grid()->setLayer("grid"); yAxis2->grid()->setLayer("grid"); legend->setLayer("legend"); setViewport(rect()); // needs to be called after mPlotLayout has been created #ifdef Q_OS_WIN setPlottingHint(QCP::phForceRepaint); #endif replot(); } QCustomPlot::~QCustomPlot() { clearPlottables(); clearItems(); if (mPlotLayout) { delete mPlotLayout; mPlotLayout = 0; } mCurrentLayer = 0; qDeleteAll(mLayers); // don't use removeLayer, because it would prevent the last layer to be removed mLayers.clear(); } /*! Sets which elements are forcibly drawn antialiased as an \a or combination of QCP::AntialiasedElement. This overrides the antialiasing settings for whole element groups, normally controlled with the \a setAntialiasing function on the individual elements. If an element is neither specified in \ref setAntialiasedElements nor in \ref setNotAntialiasedElements, the antialiasing setting on each individual element instance is used. For example, if \a antialiasedElements contains \ref QCP::aePlottables, all plottables will be drawn antialiased, no matter what the specific QCPAbstractPlottable::setAntialiased value was set to. if an element in \a antialiasedElements is already set in \ref setNotAntialiasedElements, it is removed from there. \see setNotAntialiasedElements */ void QCustomPlot::setAntialiasedElements(const QCP::AntialiasedElements &antialiasedElements) { mAntialiasedElements = antialiasedElements; // make sure elements aren't in mNotAntialiasedElements and mAntialiasedElements simultaneously: if ((mNotAntialiasedElements & mAntialiasedElements) != 0) mNotAntialiasedElements |= ~mAntialiasedElements; } /*! Sets whether the specified \a antialiasedElement is forcibly drawn antialiased. See \ref setAntialiasedElements for details. \see setNotAntialiasedElement */ void QCustomPlot::setAntialiasedElement(QCP::AntialiasedElement antialiasedElement, bool enabled) { if (!enabled && mAntialiasedElements.testFlag(antialiasedElement)) mAntialiasedElements &= ~antialiasedElement; else if (enabled && !mAntialiasedElements.testFlag(antialiasedElement)) mAntialiasedElements |= antialiasedElement; // make sure elements aren't in mNotAntialiasedElements and mAntialiasedElements simultaneously: if ((mNotAntialiasedElements & mAntialiasedElements) != 0) mNotAntialiasedElements |= ~mAntialiasedElements; } /*! Sets which elements are forcibly drawn not antialiased as an \a or combination of QCP::AntialiasedElement. This overrides the antialiasing settings for whole element groups, normally controlled with the \a setAntialiasing function on the individual elements. If an element is neither specified in \ref setAntialiasedElements nor in \ref setNotAntialiasedElements, the antialiasing setting on each individual element instance is used. For example, if \a notAntialiasedElements contains \ref QCP::aePlottables, no plottables will be drawn antialiased, no matter what the specific QCPAbstractPlottable::setAntialiased value was set to. if an element in \a notAntialiasedElements is already set in \ref setAntialiasedElements, it is removed from there. \see setAntialiasedElements */ void QCustomPlot::setNotAntialiasedElements(const QCP::AntialiasedElements ¬AntialiasedElements) { mNotAntialiasedElements = notAntialiasedElements; // make sure elements aren't in mNotAntialiasedElements and mAntialiasedElements simultaneously: if ((mNotAntialiasedElements & mAntialiasedElements) != 0) mAntialiasedElements |= ~mNotAntialiasedElements; } /*! Sets whether the specified \a notAntialiasedElement is forcibly drawn not antialiased. See \ref setNotAntialiasedElements for details. \see setAntialiasedElement */ void QCustomPlot::setNotAntialiasedElement(QCP::AntialiasedElement notAntialiasedElement, bool enabled) { if (!enabled && mNotAntialiasedElements.testFlag(notAntialiasedElement)) mNotAntialiasedElements &= ~notAntialiasedElement; else if (enabled && !mNotAntialiasedElements.testFlag(notAntialiasedElement)) mNotAntialiasedElements |= notAntialiasedElement; // make sure elements aren't in mNotAntialiasedElements and mAntialiasedElements simultaneously: if ((mNotAntialiasedElements & mAntialiasedElements) != 0) mAntialiasedElements |= ~mNotAntialiasedElements; } /*! If set to true, adding a plottable (e.g. a graph) to the QCustomPlot automatically also adds the plottable to the legend (QCustomPlot::legend). \see addPlottable, addGraph, QCPLegend::addItem */ void QCustomPlot::setAutoAddPlottableToLegend(bool on) { mAutoAddPlottableToLegend = on; } /*! Sets the possible interactions of this QCustomPlot as an or-combination of \ref QCP::Interaction enums. There are the following types of interactions: Axis range manipulation is controlled via \ref QCP::iRangeDrag and \ref QCP::iRangeZoom. When the respective interaction is enabled, the user may drag axes ranges and zoom with the mouse wheel. For details how to control which axes the user may drag/zoom and in what orientations, see \ref QCPAxisRect::setRangeDrag, \ref QCPAxisRect::setRangeZoom, \ref QCPAxisRect::setRangeDragAxes, \ref QCPAxisRect::setRangeZoomAxes. Plottable selection is controlled by \ref QCP::iSelectPlottables. If \ref QCP::iSelectPlottables is set, the user may select plottables (graphs, curves, bars,...) by clicking on them or in their vicinity (\ref setSelectionTolerance). Whether the user can actually select a plottable can further be restricted with the \ref QCPAbstractPlottable::setSelectable function on the specific plottable. To find out whether a specific plottable is selected, call QCPAbstractPlottable::selected(). To retrieve a list of all currently selected plottables, call \ref selectedPlottables. If you're only interested in QCPGraphs, you may use the convenience function \ref selectedGraphs. Item selection is controlled by \ref QCP::iSelectItems. If \ref QCP::iSelectItems is set, the user may select items (QCPItemLine, QCPItemText,...) by clicking on them or in their vicinity. To find out whether a specific item is selected, call QCPAbstractItem::selected(). To retrieve a list of all currently selected items, call \ref selectedItems. Axis selection is controlled with \ref QCP::iSelectAxes. If \ref QCP::iSelectAxes is set, the user may select parts of the axes by clicking on them. What parts exactly (e.g. Axis base line, tick labels, axis label) are selectable can be controlled via \ref QCPAxis::setSelectableParts for each axis. To retrieve a list of all axes that currently contain selected parts, call \ref selectedAxes. Which parts of an axis are selected, can be retrieved with QCPAxis::selectedParts(). Legend selection is controlled with \ref QCP::iSelectLegend. If this is set, the user may select the legend itself or individual items by clicking on them. What parts exactly are selectable can be controlled via \ref QCPLegend::setSelectableParts. To find out whether the legend or any of its child items are selected, check the value of QCPLegend::selectedParts. To find out which child items are selected, call \ref QCPLegend::selectedItems. All other selectable elements The selection of all other selectable objects (e.g. QCPPlotTitle, or your own layerable subclasses) is controlled with \ref QCP::iSelectOther. If set, the user may select those objects by clicking on them. To find out which are currently selected, you need to check their selected state explicitly. If the selection state has changed by user interaction, the \ref selectionChangedByUser signal is emitted. Each selectable object additionally emits an individual selectionChanged signal whenever their selection state has changed, i.e. not only by user interaction. To allow multiple objects to be selected by holding the selection modifier (\ref setMultiSelectModifier), set the flag \ref QCP::iMultiSelect. \note In addition to the selection mechanism presented here, QCustomPlot always emits corresponding signals, when an object is clicked or double clicked. see \ref plottableClick and \ref plottableDoubleClick for example. \see setInteraction, setSelectionTolerance */ void QCustomPlot::setInteractions(const QCP::Interactions &interactions) { mInteractions = interactions; } /*! Sets the single \a interaction of this QCustomPlot to \a enabled. For details about the interaction system, see \ref setInteractions. \see setInteractions */ void QCustomPlot::setInteraction(const QCP::Interaction &interaction, bool enabled) { if (!enabled && mInteractions.testFlag(interaction)) mInteractions &= ~interaction; else if (enabled && !mInteractions.testFlag(interaction)) mInteractions |= interaction; } /*! Sets the tolerance that is used to decide whether a click selects an object (e.g. a plottable) or not. If the user clicks in the vicinity of the line of e.g. a QCPGraph, it's only regarded as a potential selection when the minimum distance between the click position and the graph line is smaller than \a pixels. Objects that are defined by an area (e.g. QCPBars) only react to clicks directly inside the area and ignore this selection tolerance. In other words, it only has meaning for parts of objects that are too thin to exactly hit with a click and thus need such a tolerance. \see setInteractions, QCPLayerable::selectTest */ void QCustomPlot::setSelectionTolerance(int pixels) { mSelectionTolerance = pixels; } /*! Sets whether antialiasing is disabled for this QCustomPlot while the user is dragging axes ranges. If many objects, especially plottables, are drawn antialiased, this greatly improves performance during dragging. Thus it creates a more responsive user experience. As soon as the user stops dragging, the last replot is done with normal antialiasing, to restore high image quality. \see setAntialiasedElements, setNotAntialiasedElements */ void QCustomPlot::setNoAntialiasingOnDrag(bool enabled) { mNoAntialiasingOnDrag = enabled; } /*! Sets the plotting hints for this QCustomPlot instance as an \a or combination of QCP::PlottingHint. \see setPlottingHint */ void QCustomPlot::setPlottingHints(const QCP::PlottingHints &hints) { mPlottingHints = hints; } /*! Sets the specified plotting \a hint to \a enabled. \see setPlottingHints */ void QCustomPlot::setPlottingHint(QCP::PlottingHint hint, bool enabled) { QCP::PlottingHints newHints = mPlottingHints; if (!enabled) newHints &= ~hint; else newHints |= hint; if (newHints != mPlottingHints) setPlottingHints(newHints); } /*! Sets the keyboard modifier that will be recognized as multi-select-modifier. If \ref QCP::iMultiSelect is specified in \ref setInteractions, the user may select multiple objects by clicking on them one after the other while holding down \a modifier. By default the multi-select-modifier is set to Qt::ControlModifier. \see setInteractions */ void QCustomPlot::setMultiSelectModifier(Qt::KeyboardModifier modifier) { mMultiSelectModifier = modifier; } /*! Sets the viewport of this QCustomPlot. The Viewport is the area that the top level layout (QCustomPlot::plotLayout()) uses as its rect. Normally, the viewport is the entire widget rect. This function is used to allow arbitrary size exports with \ref toPixmap, \ref savePng, \ref savePdf, etc. by temporarily changing the viewport size. */ void QCustomPlot::setViewport(const QRect &rect) { mViewport = rect; if (mPlotLayout) mPlotLayout->setOuterRect(mViewport); } /*! Sets \a pm as the viewport background pixmap (see \ref setViewport). The pixmap is always drawn below all other objects in the plot. For cases where the provided pixmap doesn't have the same size as the viewport, scaling can be enabled with \ref setBackgroundScaled and the scaling mode (whether and how the aspect ratio is preserved) can be set with \ref setBackgroundScaledMode. To set all these options in one call, consider using the overloaded version of this function. If a background brush was set with \ref setBackground(const QBrush &brush), the viewport will first be filled with that brush, before drawing the background pixmap. This can be useful for background pixmaps with translucent areas. \see setBackgroundScaled, setBackgroundScaledMode */ void QCustomPlot::setBackground(const QPixmap &pm) { mBackgroundPixmap = pm; mScaledBackgroundPixmap = QPixmap(); } /*! Sets the background brush of the viewport (see \ref setViewport). Before drawing everything else, the background is filled with \a brush. If a background pixmap was set with \ref setBackground(const QPixmap &pm), this brush will be used to fill the viewport before the background pixmap is drawn. This can be useful for background pixmaps with translucent areas. Set \a brush to Qt::NoBrush or Qt::Transparent to leave background transparent. This can be useful for exporting to image formats which support transparency, e.g. \ref savePng. \see setBackgroundScaled, setBackgroundScaledMode */ void QCustomPlot::setBackground(const QBrush &brush) { mBackgroundBrush = brush; } /*! \overload Allows setting the background pixmap of the viewport, whether it shall be scaled and how it shall be scaled in one call. \see setBackground(const QPixmap &pm), setBackgroundScaled, setBackgroundScaledMode */ void QCustomPlot::setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode) { mBackgroundPixmap = pm; mScaledBackgroundPixmap = QPixmap(); mBackgroundScaled = scaled; mBackgroundScaledMode = mode; } /*! Sets whether the viewport background pixmap shall be scaled to fit the viewport. If \a scaled is set to true, control whether and how the aspect ratio of the original pixmap is preserved with \ref setBackgroundScaledMode. Note that the scaled version of the original pixmap is buffered, so there is no performance penalty on replots. (Except when the viewport dimensions are changed continuously.) \see setBackground, setBackgroundScaledMode */ void QCustomPlot::setBackgroundScaled(bool scaled) { mBackgroundScaled = scaled; } /*! If scaling of the viewport background pixmap is enabled (\ref setBackgroundScaled), use this function to define whether and how the aspect ratio of the original pixmap is preserved. \see setBackground, setBackgroundScaled */ void QCustomPlot::setBackgroundScaledMode(Qt::AspectRatioMode mode) { mBackgroundScaledMode = mode; } /*! Returns the plottable with \a index. If the index is invalid, returns 0. There is an overloaded version of this function with no parameter which returns the last added plottable, see QCustomPlot::plottable() \see plottableCount, addPlottable */ QCPAbstractPlottable *QCustomPlot::plottable(int index) { if (index >= 0 && index < mPlottables.size()) { return mPlottables.at(index); } else { qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; return 0; } } /*! \overload Returns the last plottable that was added with \ref addPlottable. If there are no plottables in the plot, returns 0. \see plottableCount, addPlottable */ QCPAbstractPlottable *QCustomPlot::plottable() { if (!mPlottables.isEmpty()) { return mPlottables.last(); } else return 0; } /*! Adds the specified plottable to the plot and, if \ref setAutoAddPlottableToLegend is enabled, to the legend (QCustomPlot::legend). QCustomPlot takes ownership of the plottable. Returns true on success, i.e. when \a plottable isn't already in the plot and the parent plot of \a plottable is this QCustomPlot (the latter is controlled by what axes were passed in the plottable's constructor). \see plottable, plottableCount, removePlottable, clearPlottables */ bool QCustomPlot::addPlottable(QCPAbstractPlottable *plottable) { if (mPlottables.contains(plottable)) { qDebug() << Q_FUNC_INFO << "plottable already added to this QCustomPlot:" << reinterpret_cast(plottable); return false; } if (plottable->parentPlot() != this) { qDebug() << Q_FUNC_INFO << "plottable not created with this QCustomPlot as parent:" << reinterpret_cast(plottable); return false; } mPlottables.append(plottable); // possibly add plottable to legend: if (mAutoAddPlottableToLegend) plottable->addToLegend(); // special handling for QCPGraphs to maintain the simple graph interface: if (QCPGraph *graph = qobject_cast(plottable)) mGraphs.append(graph); if (!plottable->layer()) // usually the layer is already set in the constructor of the plottable (via QCPLayerable constructor) plottable->setLayer(currentLayer()); return true; } /*! Removes the specified plottable from the plot and, if necessary, from the legend (QCustomPlot::legend). Returns true on success. \see addPlottable, clearPlottables */ bool QCustomPlot::removePlottable(QCPAbstractPlottable *plottable) { if (!mPlottables.contains(plottable)) { qDebug() << Q_FUNC_INFO << "plottable not in list:" << reinterpret_cast(plottable); return false; } // remove plottable from legend: plottable->removeFromLegend(); // special handling for QCPGraphs to maintain the simple graph interface: if (QCPGraph *graph = qobject_cast(plottable)) mGraphs.removeOne(graph); // remove plottable: delete plottable; mPlottables.removeOne(plottable); return true; } /*! \overload Removes the plottable by its \a index. */ bool QCustomPlot::removePlottable(int index) { if (index >= 0 && index < mPlottables.size()) return removePlottable(mPlottables[index]); else { qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; return false; } } /*! Removes all plottables from the plot (and the QCustomPlot::legend, if necessary). Returns the number of plottables removed. \see removePlottable */ int QCustomPlot::clearPlottables() { int c = mPlottables.size(); for (int i=c-1; i >= 0; --i) removePlottable(mPlottables[i]); return c; } /*! Returns the number of currently existing plottables in the plot \see plottable, addPlottable */ int QCustomPlot::plottableCount() const { return mPlottables.size(); } /*! Returns a list of the selected plottables. If no plottables are currently selected, the list is empty. There is a convenience function if you're only interested in selected graphs, see \ref selectedGraphs. \see setInteractions, QCPAbstractPlottable::setSelectable, QCPAbstractPlottable::setSelected */ QList QCustomPlot::selectedPlottables() const { QList result; for (int i=0; iselected()) result.append(mPlottables.at(i)); } return result; } /*! Returns the plottable at the pixel position \a pos. Plottables that only consist of single lines (like graphs) have a tolerance band around them, see \ref setSelectionTolerance. If multiple plottables come into consideration, the one closest to \a pos is returned. If \a onlySelectable is true, only plottables that are selectable (QCPAbstractPlottable::setSelectable) are considered. If there is no plottable at \a pos, the return value is 0. \see itemAt, layoutElementAt */ QCPAbstractPlottable *QCustomPlot::plottableAt(const QPointF &pos, bool onlySelectable) const { QCPAbstractPlottable *resultPlottable = 0; double resultDistance = mSelectionTolerance; // only regard clicks with distances smaller than mSelectionTolerance as selections, so initialize with that value for (int i=0; iselectable()) // we could have also passed onlySelectable to the selectTest function, but checking here is faster, because we have access to QCPabstractPlottable::selectable continue; if ((currentPlottable->keyAxis()->axisRect()->rect() & currentPlottable->valueAxis()->axisRect()->rect()).contains(pos.toPoint())) // only consider clicks inside the rect that is spanned by the plottable's key/value axes { double currentDistance = currentPlottable->selectTest(pos, false); if (currentDistance >= 0 && currentDistance < resultDistance) { resultPlottable = currentPlottable; resultDistance = currentDistance; } } } return resultPlottable; } /*! Returns whether this QCustomPlot instance contains the \a plottable. \see addPlottable */ bool QCustomPlot::hasPlottable(QCPAbstractPlottable *plottable) const { return mPlottables.contains(plottable); } /*! Returns the graph with \a index. If the index is invalid, returns 0. There is an overloaded version of this function with no parameter which returns the last created graph, see QCustomPlot::graph() \see graphCount, addGraph */ QCPGraph *QCustomPlot::graph(int index) const { if (index >= 0 && index < mGraphs.size()) { return mGraphs.at(index); } else { qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; return 0; } } /*! \overload Returns the last graph, that was created with \ref addGraph. If there are no graphs in the plot, returns 0. \see graphCount, addGraph */ QCPGraph *QCustomPlot::graph() const { if (!mGraphs.isEmpty()) { return mGraphs.last(); } else return 0; } /*! Creates a new graph inside the plot. If \a keyAxis and \a valueAxis are left unspecified (0), the bottom (xAxis) is used as key and the left (yAxis) is used as value axis. If specified, \a keyAxis and \a valueAxis must reside in this QCustomPlot. \a keyAxis will be used as key axis (typically "x") and \a valueAxis as value axis (typically "y") for the graph. Returns a pointer to the newly created graph, or 0 if adding the graph failed. \see graph, graphCount, removeGraph, clearGraphs */ QCPGraph *QCustomPlot::addGraph(QCPAxis *keyAxis, QCPAxis *valueAxis) { if (!keyAxis) keyAxis = xAxis; if (!valueAxis) valueAxis = yAxis; if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "can't use default QCustomPlot xAxis or yAxis, because at least one is invalid (has been deleted)"; return 0; } if (keyAxis->parentPlot() != this || valueAxis->parentPlot() != this) { qDebug() << Q_FUNC_INFO << "passed keyAxis or valueAxis doesn't have this QCustomPlot as parent"; return 0; } QCPGraph *newGraph = new QCPGraph(keyAxis, valueAxis); if (addPlottable(newGraph)) { newGraph->setName("Graph "+QString::number(mGraphs.size())); return newGraph; } else { delete newGraph; return 0; } } /*! Removes the specified \a graph from the plot and, if necessary, from the QCustomPlot::legend. If any other graphs in the plot have a channel fill set towards the removed graph, the channel fill property of those graphs is reset to zero (no channel fill). Returns true on success. \see clearGraphs */ bool QCustomPlot::removeGraph(QCPGraph *graph) { return removePlottable(graph); } /*! \overload Removes the graph by its \a index. */ bool QCustomPlot::removeGraph(int index) { if (index >= 0 && index < mGraphs.size()) return removeGraph(mGraphs[index]); else return false; } /*! Removes all graphs from the plot (and the QCustomPlot::legend, if necessary). Returns the number of graphs removed. \see removeGraph */ int QCustomPlot::clearGraphs() { int c = mGraphs.size(); for (int i=c-1; i >= 0; --i) removeGraph(mGraphs[i]); return c; } /*! Returns the number of currently existing graphs in the plot \see graph, addGraph */ int QCustomPlot::graphCount() const { return mGraphs.size(); } /*! Returns a list of the selected graphs. If no graphs are currently selected, the list is empty. If you are not only interested in selected graphs but other plottables like QCPCurve, QCPBars, etc., use \ref selectedPlottables. \see setInteractions, selectedPlottables, QCPAbstractPlottable::setSelectable, QCPAbstractPlottable::setSelected */ QList QCustomPlot::selectedGraphs() const { QList result; for (int i=0; iselected()) result.append(mGraphs.at(i)); } return result; } /*! Returns the item with \a index. If the index is invalid, returns 0. There is an overloaded version of this function with no parameter which returns the last added item, see QCustomPlot::item() \see itemCount, addItem */ QCPAbstractItem *QCustomPlot::item(int index) const { if (index >= 0 && index < mItems.size()) { return mItems.at(index); } else { qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; return 0; } } /*! \overload Returns the last item, that was added with \ref addItem. If there are no items in the plot, returns 0. \see itemCount, addItem */ QCPAbstractItem *QCustomPlot::item() const { if (!mItems.isEmpty()) { return mItems.last(); } else return 0; } /*! Adds the specified item to the plot. QCustomPlot takes ownership of the item. Returns true on success, i.e. when \a item wasn't already in the plot and the parent plot of \a item is this QCustomPlot. \see item, itemCount, removeItem, clearItems */ bool QCustomPlot::addItem(QCPAbstractItem *item) { if (!mItems.contains(item) && item->parentPlot() == this) { mItems.append(item); return true; } else { qDebug() << Q_FUNC_INFO << "item either already in list or not created with this QCustomPlot as parent:" << reinterpret_cast(item); return false; } } /*! Removes the specified item from the plot. Returns true on success. \see addItem, clearItems */ bool QCustomPlot::removeItem(QCPAbstractItem *item) { if (mItems.contains(item)) { delete item; mItems.removeOne(item); return true; } else { qDebug() << Q_FUNC_INFO << "item not in list:" << reinterpret_cast(item); return false; } } /*! \overload Removes the item by its \a index. */ bool QCustomPlot::removeItem(int index) { if (index >= 0 && index < mItems.size()) return removeItem(mItems[index]); else { qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; return false; } } /*! Removes all items from the plot. Returns the number of items removed. \see removeItem */ int QCustomPlot::clearItems() { int c = mItems.size(); for (int i=c-1; i >= 0; --i) removeItem(mItems[i]); return c; } /*! Returns the number of currently existing items in the plot \see item, addItem */ int QCustomPlot::itemCount() const { return mItems.size(); } /*! Returns a list of the selected items. If no items are currently selected, the list is empty. \see setInteractions, QCPAbstractItem::setSelectable, QCPAbstractItem::setSelected */ QList QCustomPlot::selectedItems() const { QList result; for (int i=0; iselected()) result.append(mItems.at(i)); } return result; } /*! Returns the item at the pixel position \a pos. Items that only consist of single lines (e.g. \ref QCPItemLine or \ref QCPItemCurve) have a tolerance band around them, see \ref setSelectionTolerance. If multiple items come into consideration, the one closest to \a pos is returned. If \a onlySelectable is true, only items that are selectable (QCPAbstractItem::setSelectable) are considered. If there is no item at \a pos, the return value is 0. \see plottableAt, layoutElementAt */ QCPAbstractItem *QCustomPlot::itemAt(const QPointF &pos, bool onlySelectable) const { QCPAbstractItem *resultItem = 0; double resultDistance = mSelectionTolerance; // only regard clicks with distances smaller than mSelectionTolerance as selections, so initialize with that value for (int i=0; iselectable()) // we could have also passed onlySelectable to the selectTest function, but checking here is faster, because we have access to QCPAbstractItem::selectable continue; if (!currentItem->clipToAxisRect() || currentItem->clipRect().contains(pos.toPoint())) // only consider clicks inside axis cliprect of the item if actually clipped to it { double currentDistance = currentItem->selectTest(pos, false); if (currentDistance >= 0 && currentDistance < resultDistance) { resultItem = currentItem; resultDistance = currentDistance; } } } return resultItem; } /*! Returns whether this QCustomPlot contains the \a item. \see addItem */ bool QCustomPlot::hasItem(QCPAbstractItem *item) const { return mItems.contains(item); } /*! Returns the layer with the specified \a name. If there is no layer with the specified name, 0 is returned. Layer names are case-sensitive. \see addLayer, moveLayer, removeLayer */ QCPLayer *QCustomPlot::layer(const QString &name) const { for (int i=0; iname() == name) return mLayers.at(i); } return 0; } /*! \overload Returns the layer by \a index. If the index is invalid, 0 is returned. \see addLayer, moveLayer, removeLayer */ QCPLayer *QCustomPlot::layer(int index) const { if (index >= 0 && index < mLayers.size()) { return mLayers.at(index); } else { qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; return 0; } } /*! Returns the layer that is set as current layer (see \ref setCurrentLayer). */ QCPLayer *QCustomPlot::currentLayer() const { return mCurrentLayer; } /*! Sets the layer with the specified \a name to be the current layer. All layerables (\ref QCPLayerable), e.g. plottables and items, are created on the current layer. Returns true on success, i.e. if there is a layer with the specified \a name in the QCustomPlot. Layer names are case-sensitive. \see addLayer, moveLayer, removeLayer, QCPLayerable::setLayer */ bool QCustomPlot::setCurrentLayer(const QString &name) { if (QCPLayer *newCurrentLayer = layer(name)) { return setCurrentLayer(newCurrentLayer); } else { qDebug() << Q_FUNC_INFO << "layer with name doesn't exist:" << name; return false; } } /*! \overload Sets the provided \a layer to be the current layer. Returns true on success, i.e. when \a layer is a valid layer in the QCustomPlot. \see addLayer, moveLayer, removeLayer */ bool QCustomPlot::setCurrentLayer(QCPLayer *layer) { if (!mLayers.contains(layer)) { qDebug() << Q_FUNC_INFO << "layer not a layer of this QCustomPlot:" << reinterpret_cast(layer); return false; } mCurrentLayer = layer; return true; } /*! Returns the number of currently existing layers in the plot \see layer, addLayer */ int QCustomPlot::layerCount() const { return mLayers.size(); } /*! Adds a new layer to this QCustomPlot instance. The new layer will have the name \a name, which must be unique. Depending on \a insertMode, it is positioned either below or above \a otherLayer. Returns true on success, i.e. if there is no other layer named \a name and \a otherLayer is a valid layer inside this QCustomPlot. If \a otherLayer is 0, the highest layer in the QCustomPlot will be used. For an explanation of what layers are in QCustomPlot, see the documentation of \ref QCPLayer. \see layer, moveLayer, removeLayer */ bool QCustomPlot::addLayer(const QString &name, QCPLayer *otherLayer, QCustomPlot::LayerInsertMode insertMode) { if (!otherLayer) otherLayer = mLayers.last(); if (!mLayers.contains(otherLayer)) { qDebug() << Q_FUNC_INFO << "otherLayer not a layer of this QCustomPlot:" << reinterpret_cast(otherLayer); return false; } if (layer(name)) { qDebug() << Q_FUNC_INFO << "A layer exists already with the name" << name; return false; } QCPLayer *newLayer = new QCPLayer(this, name); mLayers.insert(otherLayer->index() + (insertMode==limAbove ? 1:0), newLayer); updateLayerIndices(); return true; } /*! Removes the specified \a layer and returns true on success. All layerables (e.g. plottables and items) on the removed layer will be moved to the layer below \a layer. If \a layer is the bottom layer, the layerables are moved to the layer above. In both cases, the total rendering order of all layerables in the QCustomPlot is preserved. If \a layer is the current layer (\ref setCurrentLayer), the layer below (or above, if bottom layer) becomes the new current layer. It is not possible to remove the last layer of the plot. \see layer, addLayer, moveLayer */ bool QCustomPlot::removeLayer(QCPLayer *layer) { if (!mLayers.contains(layer)) { qDebug() << Q_FUNC_INFO << "layer not a layer of this QCustomPlot:" << reinterpret_cast(layer); return false; } if (mLayers.size() < 2) { qDebug() << Q_FUNC_INFO << "can't remove last layer"; return false; } // append all children of this layer to layer below (if this is lowest layer, prepend to layer above) int removedIndex = layer->index(); bool isFirstLayer = removedIndex==0; QCPLayer *targetLayer = isFirstLayer ? mLayers.at(removedIndex+1) : mLayers.at(removedIndex-1); QList children = layer->children(); if (isFirstLayer) // prepend in reverse order (so order relative to each other stays the same) { for (int i=children.size()-1; i>=0; --i) children.at(i)->moveToLayer(targetLayer, true); } else // append normally { for (int i=0; imoveToLayer(targetLayer, false); } // if removed layer is current layer, change current layer to layer below/above: if (layer == mCurrentLayer) setCurrentLayer(targetLayer); // remove layer: delete layer; mLayers.removeOne(layer); updateLayerIndices(); return true; } /*! Moves the specified \a layer either above or below \a otherLayer. Whether it's placed above or below is controlled with \a insertMode. Returns true on success, i.e. when both \a layer and \a otherLayer are valid layers in the QCustomPlot. \see layer, addLayer, moveLayer */ bool QCustomPlot::moveLayer(QCPLayer *layer, QCPLayer *otherLayer, QCustomPlot::LayerInsertMode insertMode) { if (!mLayers.contains(layer)) { qDebug() << Q_FUNC_INFO << "layer not a layer of this QCustomPlot:" << reinterpret_cast(layer); return false; } if (!mLayers.contains(otherLayer)) { qDebug() << Q_FUNC_INFO << "otherLayer not a layer of this QCustomPlot:" << reinterpret_cast(otherLayer); return false; } mLayers.move(layer->index(), otherLayer->index() + (insertMode==limAbove ? 1:0)); updateLayerIndices(); return true; } /*! Returns the number of axis rects in the plot. All axis rects can be accessed via QCustomPlot::axisRect(). Initially, only one axis rect exists in the plot. \see axisRect, axisRects */ int QCustomPlot::axisRectCount() const { return axisRects().size(); } /*! Returns the axis rect with \a index. Initially, only one axis rect (with index 0) exists in the plot. If multiple axis rects were added, all of them may be accessed with this function in a linear fashion (even when they are nested in a layout hierarchy or inside other axis rects via QCPAxisRect::insetLayout). \see axisRectCount, axisRects */ QCPAxisRect *QCustomPlot::axisRect(int index) const { const QList rectList = axisRects(); if (index >= 0 && index < rectList.size()) { return rectList.at(index); } else { qDebug() << Q_FUNC_INFO << "invalid axis rect index" << index; return 0; } } /*! Returns all axis rects in the plot. \see axisRectCount, axisRect */ QList QCustomPlot::axisRects() const { QList result; QStack elementStack; if (mPlotLayout) elementStack.push(mPlotLayout); while (!elementStack.isEmpty()) { QList subElements = elementStack.pop()->elements(false); for (int i=0; i(element)) result.append(ar); } } } return result; } /*! Returns the layout element at pixel position \a pos. If there is no element at that position, returns 0. Only visible elements are used. If \ref QCPLayoutElement::setVisible on the element itself or on any of its parent elements is set to false, it will not be considered. \see itemAt, plottableAt */ QCPLayoutElement *QCustomPlot::layoutElementAt(const QPointF &pos) const { QCPLayoutElement *current = mPlotLayout; bool searchSubElements = true; while (searchSubElements && current) { searchSubElements = false; const QList elements = current->elements(false); for (int i=0; irealVisibility() && elements.at(i)->selectTest(pos, false) >= 0) { current = elements.at(i); searchSubElements = true; break; } } } return current; } /*! Returns the axes that currently have selected parts, i.e. whose selection state is not \ref QCPAxis::spNone. \see selectedPlottables, selectedLegends, setInteractions, QCPAxis::setSelectedParts, QCPAxis::setSelectableParts */ QList QCustomPlot::selectedAxes() const { QList result, allAxes; QList rects = axisRects(); for (int i=0; iaxes(); for (int i=0; iselectedParts() != QCPAxis::spNone) result.append(allAxes.at(i)); } return result; } /*! Returns the legends that currently have selected parts, i.e. whose selection state is not \ref QCPLegend::spNone. \see selectedPlottables, selectedAxes, setInteractions, QCPLegend::setSelectedParts, QCPLegend::setSelectableParts, QCPLegend::selectedItems */ QList QCustomPlot::selectedLegends() const { QList result; QStack elementStack; if (mPlotLayout) elementStack.push(mPlotLayout); while (!elementStack.isEmpty()) { QList subElements = elementStack.pop()->elements(false); for (int i=0; i(element)) { if (leg->selectedParts() != QCPLegend::spNone) result.append(leg); } } } } return result; } /*! Deselects all layerables (plottables, items, axes, legends,...) of the QCustomPlot. Since calling this function is not a user interaction, this does not emit the \ref selectionChangedByUser signal. The individual selectionChanged signals are emitted though, if the objects were previously selected. \see setInteractions, selectedPlottables, selectedItems, selectedAxes, selectedLegends */ void QCustomPlot::deselectAll() { for (int i=0; i layerables = mLayers.at(i)->children(); for (int k=0; kdeselectEvent(0); } } /*! Causes a complete replot into the internal buffer. Finally, update() is called, to redraw the buffer on the QCustomPlot widget surface. This is the method that must be called to make changes, for example on the axis ranges or data points of graphs, visible. Under a few circumstances, QCustomPlot causes a replot by itself. Those are resize events of the QCustomPlot widget and user interactions (object selection and range dragging/zooming). Before the replot happens, the signal \ref beforeReplot is emitted. After the replot, \ref afterReplot is emitted. It is safe to mutually connect the replot slot with any of those two signals on two QCustomPlots to make them replot synchronously, it won't cause an infinite recursion. */ void QCustomPlot::replot() { if (mReplotting) // incase signals loop back to replot slot return; mReplotting = true; emit beforeReplot(); mPaintBuffer.fill(mBackgroundBrush.style() == Qt::SolidPattern ? mBackgroundBrush.color() : Qt::transparent); QCPPainter painter; painter.begin(&mPaintBuffer); if (painter.isActive()) { painter.setRenderHint(QPainter::HighQualityAntialiasing); // to make Antialiasing look good if using the OpenGL graphicssystem if (mBackgroundBrush.style() != Qt::SolidPattern && mBackgroundBrush.style() != Qt::NoBrush) painter.fillRect(mViewport, mBackgroundBrush); draw(&painter); painter.end(); if (mPlottingHints.testFlag(QCP::phForceRepaint)) repaint(); else update(); } else // might happen if QCustomPlot has width or height zero qDebug() << Q_FUNC_INFO << "Couldn't activate painter on buffer"; emit afterReplot(); mReplotting = false; } /*! Rescales the axes such that all plottables (like graphs) in the plot are fully visible. if \a onlyVisiblePlottables is set to true, only the plottables that have their visibility set to true (QCPLayerable::setVisible), will be used to rescale the axes. \see QCPAbstractPlottable::rescaleAxes, QCPAxis::rescale */ void QCustomPlot::rescaleAxes(bool onlyVisiblePlottables) { // get a list of all axes in the plot: QList axes; QList rects = axisRects(); for (int i=0; iaxes(); // call rescale on all axes: for (int i=0; irescale(onlyVisiblePlottables); } /*! Saves a PDF with the vectorized plot to the file \a fileName. The axis ratio as well as the scale of texts and lines will be derived from the specified \a width and \a height. This means, the output will look like the normal on-screen output of a QCustomPlot widget with the corresponding pixel width and height. If either \a width or \a height is zero, the exported image will have the same dimensions as the QCustomPlot widget currently has. \a noCosmeticPen disables the use of cosmetic pens when drawing to the PDF file. Cosmetic pens are pens with numerical width 0, which are always drawn as a one pixel wide line, no matter what zoom factor is set in the PDF-Viewer. For more information about cosmetic pens, see the QPainter and QPen documentation. The objects of the plot will appear in the current selection state. If you don't want any selected objects to be painted in their selected look, deselect everything with \ref deselectAll before calling this function. Returns true on success. \warning \li If you plan on editing the exported PDF file with a vector graphics editor like Inkscape, it is advised to set \a noCosmeticPen to true to avoid losing those cosmetic lines (which might be quite many, because cosmetic pens are the default for e.g. axes and tick marks). \li If calling this function inside the constructor of the parent of the QCustomPlot widget (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide explicit non-zero widths and heights. If you leave \a width or \a height as 0 (default), this function uses the current width and height of the QCustomPlot widget. However, in Qt, these aren't defined yet inside the constructor, so you would get an image that has strange widths/heights. \note On Android systems, this method does nothing and issues an according qDebug warning message. \see savePng, saveBmp, saveJpg, saveRastered */ bool QCustomPlot::savePdf(const QString &fileName, bool noCosmeticPen, int width, int height) { bool success = false; #ifdef QT_NO_PRINTER Q_UNUSED(fileName) Q_UNUSED(noCosmeticPen) Q_UNUSED(width) Q_UNUSED(height) qDebug() << Q_FUNC_INFO << "Qt was built without printer support (QT_NO_PRINTER). PDF not created."; #else int newWidth, newHeight; if (width == 0 || height == 0) { newWidth = this->width(); newHeight = this->height(); } else { newWidth = width; newHeight = height; } QPrinter printer(QPrinter::ScreenResolution); printer.setOutputFileName(fileName); printer.setOutputFormat(QPrinter::PdfFormat); printer.setFullPage(true); QRect oldViewport = viewport(); setViewport(QRect(0, 0, newWidth, newHeight)); printer.setPaperSize(viewport().size(), QPrinter::DevicePixel); QCPPainter printpainter; if (printpainter.begin(&printer)) { printpainter.setMode(QCPPainter::pmVectorized); printpainter.setMode(QCPPainter::pmNoCaching); printpainter.setMode(QCPPainter::pmNonCosmetic, noCosmeticPen); printpainter.setWindow(mViewport); if (mBackgroundBrush.style() != Qt::NoBrush && mBackgroundBrush.color() != Qt::white && mBackgroundBrush.color() != Qt::transparent && mBackgroundBrush.color().alpha() > 0) // draw pdf background color if not white/transparent printpainter.fillRect(viewport(), mBackgroundBrush); draw(&printpainter); printpainter.end(); success = true; } setViewport(oldViewport); #endif // QT_NO_PRINTER return success; } /*! Saves a PNG image file to \a fileName on disc. The output plot will have the dimensions \a width and \a height in pixels. If either \a width or \a height is zero, the exported image will have the same dimensions as the QCustomPlot widget currently has. Line widths and texts etc. are not scaled up when larger widths/heights are used. If you want that effect, use the \a scale parameter. For example, if you set both \a width and \a height to 100 and \a scale to 2, you will end up with an image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full 200*200 pixel resolution. If you use a high scaling factor, it is recommended to enable antialiasing for all elements via temporarily setting \ref QCustomPlot::setAntialiasedElements to \ref QCP::aeAll as this allows QCustomPlot to place objects with sub-pixel accuracy. \warning If calling this function inside the constructor of the parent of the QCustomPlot widget (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide explicit non-zero widths and heights. If you leave \a width or \a height as 0 (default), this function uses the current width and height of the QCustomPlot widget. However, in Qt, these aren't defined yet inside the constructor, so you would get an image that has strange widths/heights. The objects of the plot will appear in the current selection state. If you don't want any selected objects to be painted in their selected look, deselect everything with \ref deselectAll before calling this function. If you want the PNG to have a transparent background, call \ref setBackground(const QBrush &brush) with no brush (Qt::NoBrush) or a transparent color (Qt::transparent), before saving. PNG compression can be controlled with the \a quality parameter which must be between 0 and 100 or -1 to use the default setting. Returns true on success. If this function fails, most likely the PNG format isn't supported by the system, see Qt docs about QImageWriter::supportedImageFormats(). \see savePdf, saveBmp, saveJpg, saveRastered */ bool QCustomPlot::savePng(const QString &fileName, int width, int height, double scale, int quality) { return saveRastered(fileName, width, height, scale, "PNG", quality); } /*! Saves a JPG image file to \a fileName on disc. The output plot will have the dimensions \a width and \a height in pixels. If either \a width or \a height is zero, the exported image will have the same dimensions as the QCustomPlot widget currently has. Line widths and texts etc. are not scaled up when larger widths/heights are used. If you want that effect, use the \a scale parameter. For example, if you set both \a width and \a height to 100 and \a scale to 2, you will end up with an image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full 200*200 pixel resolution. If you use a high scaling factor, it is recommended to enable antialiasing for all elements via temporarily setting \ref QCustomPlot::setAntialiasedElements to \ref QCP::aeAll as this allows QCustomPlot to place objects with sub-pixel accuracy. \warning If calling this function inside the constructor of the parent of the QCustomPlot widget (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide explicit non-zero widths and heights. If you leave \a width or \a height as 0 (default), this function uses the current width and height of the QCustomPlot widget. However, in Qt, these aren't defined yet inside the constructor, so you would get an image that has strange widths/heights. The objects of the plot will appear in the current selection state. If you don't want any selected objects to be painted in their selected look, deselect everything with \ref deselectAll before calling this function. JPG compression can be controlled with the \a quality parameter which must be between 0 and 100 or -1 to use the default setting. Returns true on success. If this function fails, most likely the JPG format isn't supported by the system, see Qt docs about QImageWriter::supportedImageFormats(). \see savePdf, savePng, saveBmp, saveRastered */ bool QCustomPlot::saveJpg(const QString &fileName, int width, int height, double scale, int quality) { return saveRastered(fileName, width, height, scale, "JPG", quality); } /*! Saves a BMP image file to \a fileName on disc. The output plot will have the dimensions \a width and \a height in pixels. If either \a width or \a height is zero, the exported image will have the same dimensions as the QCustomPlot widget currently has. Line widths and texts etc. are not scaled up when larger widths/heights are used. If you want that effect, use the \a scale parameter. For example, if you set both \a width and \a height to 100 and \a scale to 2, you will end up with an image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full 200*200 pixel resolution. If you use a high scaling factor, it is recommended to enable antialiasing for all elements via temporarily setting \ref QCustomPlot::setAntialiasedElements to \ref QCP::aeAll as this allows QCustomPlot to place objects with sub-pixel accuracy. \warning If calling this function inside the constructor of the parent of the QCustomPlot widget (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide explicit non-zero widths and heights. If you leave \a width or \a height as 0 (default), this function uses the current width and height of the QCustomPlot widget. However, in Qt, these aren't defined yet inside the constructor, so you would get an image that has strange widths/heights. The objects of the plot will appear in the current selection state. If you don't want any selected objects to be painted in their selected look, deselect everything with \ref deselectAll before calling this function. Returns true on success. If this function fails, most likely the BMP format isn't supported by the system, see Qt docs about QImageWriter::supportedImageFormats(). \see savePdf, savePng, saveJpg, saveRastered */ bool QCustomPlot::saveBmp(const QString &fileName, int width, int height, double scale) { return saveRastered(fileName, width, height, scale, "BMP"); } /*! \internal Returns a minimum size hint that corresponds to the minimum size of the top level layout (\ref plotLayout). To prevent QCustomPlot from being collapsed to size/width zero, set a minimum size (setMinimumSize) either on the whole QCustomPlot or on any layout elements inside the plot. This is especially important, when placed in a QLayout where other components try to take in as much space as possible (e.g. QMdiArea). */ QSize QCustomPlot::minimumSizeHint() const { return mPlotLayout->minimumSizeHint(); } /*! \internal Returns a size hint that is the same as \ref minimumSizeHint. */ QSize QCustomPlot::sizeHint() const { return mPlotLayout->minimumSizeHint(); } /*! \internal Event handler for when the QCustomPlot widget needs repainting. This does not cause a \ref replot, but draws the internal buffer on the widget surface. */ void QCustomPlot::paintEvent(QPaintEvent *event) { Q_UNUSED(event); QPainter painter(this); painter.drawPixmap(0, 0, mPaintBuffer); } /*! \internal Event handler for a resize of the QCustomPlot widget. Causes the internal buffer to be resized to the new size. The viewport (which becomes the outer rect of mPlotLayout) is resized appropriately. Finally a \ref replot is performed. */ void QCustomPlot::resizeEvent(QResizeEvent *event) { // resize and repaint the buffer: mPaintBuffer = QPixmap(event->size()); setViewport(rect()); replot(); } /*! \internal Event handler for when a double click occurs. Emits the \ref mouseDoubleClick signal, then emits the specialized signals when certain objecs are clicked (e.g. \ref plottableDoubleClick, \ref axisDoubleClick, etc.). Finally determines the affected layout element and forwards the event to it. \see mousePressEvent, mouseReleaseEvent */ void QCustomPlot::mouseDoubleClickEvent(QMouseEvent *event) { emit mouseDoubleClick(event); QVariant details; QCPLayerable *clickedLayerable = layerableAt(event->pos(), false, &details); // emit specialized object double click signals: if (QCPAbstractPlottable *ap = qobject_cast(clickedLayerable)) emit plottableDoubleClick(ap, event); else if (QCPAxis *ax = qobject_cast(clickedLayerable)) emit axisDoubleClick(ax, details.value(), event); else if (QCPAbstractItem *ai = qobject_cast(clickedLayerable)) emit itemDoubleClick(ai, event); else if (QCPLegend *lg = qobject_cast(clickedLayerable)) emit legendDoubleClick(lg, 0, event); else if (QCPAbstractLegendItem *li = qobject_cast(clickedLayerable)) emit legendDoubleClick(li->parentLegend(), li, event); else if (QCPPlotTitle *pt = qobject_cast(clickedLayerable)) emit titleDoubleClick(event, pt); // call double click event of affected layout element: if (QCPLayoutElement *el = layoutElementAt(event->pos())) el->mouseDoubleClickEvent(event); // call release event of affected layout element (as in mouseReleaseEvent, since the mouseDoubleClick replaces the second release event in double click case): if (mMouseEventElement) { mMouseEventElement->mouseReleaseEvent(event); mMouseEventElement = 0; } //QWidget::mouseDoubleClickEvent(event); don't call base class implementation because it would just cause a mousePress/ReleaseEvent, which we don't want. } /*! \internal Event handler for when a mouse button is pressed. Emits the mousePress signal. Then determines the affected layout element and forwards the event to it. \see mouseMoveEvent, mouseReleaseEvent */ void QCustomPlot::mousePressEvent(QMouseEvent *event) { emit mousePress(event); mMousePressPos = event->pos(); // need this to determine in releaseEvent whether it was a click (no position change between press and release) // call event of affected layout element: mMouseEventElement = layoutElementAt(event->pos()); if (mMouseEventElement) mMouseEventElement->mousePressEvent(event); QWidget::mousePressEvent(event); } /*! \internal Event handler for when the cursor is moved. Emits the \ref mouseMove signal. If a layout element has mouse capture focus (a mousePressEvent happened on top of the layout element before), the mouseMoveEvent is forwarded to that element. \see mousePressEvent, mouseReleaseEvent */ void QCustomPlot::mouseMoveEvent(QMouseEvent *event) { emit mouseMove(event); // call event of affected layout element: if (mMouseEventElement) mMouseEventElement->mouseMoveEvent(event); QWidget::mouseMoveEvent(event); } /*! \internal Event handler for when a mouse button is released. Emits the \ref mouseRelease signal. If the mouse was moved less than a certain threshold in any direction since the \ref mousePressEvent, it is considered a click which causes the selection mechanism (if activated via \ref setInteractions) to possibly change selection states accordingly. Further, specialized mouse click signals are emitted (e.g. \ref plottableClick, \ref axisClick, etc.) If a layout element has mouse capture focus (a \ref mousePressEvent happened on top of the layout element before), the \ref mouseReleaseEvent is forwarded to that element. \see mousePressEvent, mouseMoveEvent */ void QCustomPlot::mouseReleaseEvent(QMouseEvent *event) { emit mouseRelease(event); bool doReplot = false; if ((mMousePressPos-event->pos()).manhattanLength() < 5) // determine whether it was a click operation { if (event->button() == Qt::LeftButton) { // handle selection mechanism: QVariant details; QCPLayerable *clickedLayerable = layerableAt(event->pos(), true, &details); bool selectionStateChanged = false; bool additive = mInteractions.testFlag(QCP::iMultiSelect) && event->modifiers().testFlag(mMultiSelectModifier); if (clickedLayerable && mInteractions.testFlag(clickedLayerable->selectionCategory())) { // a layerable was actually clicked, call its selectEvent: bool selChanged = false; clickedLayerable->selectEvent(event, additive, details, &selChanged); selectionStateChanged |= selChanged; } // deselect all other layerables if not additive selection: if (!additive) { for (int i=0; i layerables = mLayers.at(i)->children(); for (int k=0; kselectionCategory())) { bool selChanged = false; layerables.at(k)->deselectEvent(&selChanged); selectionStateChanged |= selChanged; } } } } doReplot = true; if (selectionStateChanged) emit selectionChangedByUser(); } // emit specialized object click signals: QVariant details; QCPLayerable *clickedLayerable = layerableAt(event->pos(), false, &details); // for these signals, selectability is ignored, that's why we call this again with onlySelectable set to false if (QCPAbstractPlottable *ap = qobject_cast(clickedLayerable)) emit plottableClick(ap, event); else if (QCPAxis *ax = qobject_cast(clickedLayerable)) emit axisClick(ax, details.value(), event); else if (QCPAbstractItem *ai = qobject_cast(clickedLayerable)) emit itemClick(ai, event); else if (QCPLegend *lg = qobject_cast(clickedLayerable)) emit legendClick(lg, 0, event); else if (QCPAbstractLegendItem *li = qobject_cast(clickedLayerable)) emit legendClick(li->parentLegend(), li, event); else if (QCPPlotTitle *pt = qobject_cast(clickedLayerable)) emit titleClick(event, pt); } // call event of affected layout element: if (mMouseEventElement) { mMouseEventElement->mouseReleaseEvent(event); mMouseEventElement = 0; } if (doReplot || noAntialiasingOnDrag()) replot(); QWidget::mouseReleaseEvent(event); } /*! \internal Event handler for mouse wheel events. First, the \ref mouseWheel signal is emitted. Then determines the affected layout element and forwards the event to it. */ void QCustomPlot::wheelEvent(QWheelEvent *event) { emit mouseWheel(event); // call event of affected layout element: if (QCPLayoutElement *el = layoutElementAt(event->pos())) el->wheelEvent(event); QWidget::wheelEvent(event); } /*! \internal This is the main draw function. It draws the entire plot, including background pixmap, with the specified \a painter. Note that it does not fill the background with the background brush (as the user may specify with \ref setBackground(const QBrush &brush)), this is up to the respective functions calling this method (e.g. \ref replot, \ref toPixmap and \ref toPainter). */ void QCustomPlot::draw(QCPPainter *painter) { // update all axis tick vectors: QList rects = axisRects(); for (int i=0; i axes = rects.at(i)->axes(); for (int k=0; ksetupTickVectors(); } // recalculate layout: mPlotLayout->update(); // draw viewport background pixmap: drawBackground(painter); // draw all layered objects (grid, axes, plottables, items, legend,...): for (int layerIndex=0; layerIndex < mLayers.size(); ++layerIndex) { QList layerChildren = mLayers.at(layerIndex)->children(); for (int k=0; k < layerChildren.size(); ++k) { QCPLayerable *child = layerChildren.at(k); if (child->realVisibility()) { painter->save(); painter->setClipRect(child->clipRect().translated(0, -1)); child->applyDefaultAntialiasingHint(painter); child->draw(painter); painter->restore(); } } } } /*! \internal Draws the viewport background pixmap of the plot. If a pixmap was provided via \ref setBackground, this function buffers the scaled version depending on \ref setBackgroundScaled and \ref setBackgroundScaledMode and then draws it inside the viewport with the provided \a painter. The scaled version is buffered in mScaledBackgroundPixmap to prevent expensive rescaling at every redraw. It is only updated, when the axis rect has changed in a way that requires a rescale of the background pixmap (this is dependant on the \ref setBackgroundScaledMode), or when a differend axis backgroud pixmap was set. Note that this function does not draw a fill with the background brush (\ref setBackground(const QBrush &brush)) beneath the pixmap. \see setBackground, setBackgroundScaled, setBackgroundScaledMode */ void QCustomPlot::drawBackground(QCPPainter *painter) { // Note: background color is handled in individual replot/save functions // draw background pixmap (on top of fill, if brush specified): if (!mBackgroundPixmap.isNull()) { if (mBackgroundScaled) { // check whether mScaledBackground needs to be updated: QSize scaledSize(mBackgroundPixmap.size()); scaledSize.scale(mViewport.size(), mBackgroundScaledMode); if (mScaledBackgroundPixmap.size() != scaledSize) mScaledBackgroundPixmap = mBackgroundPixmap.scaled(mViewport.size(), mBackgroundScaledMode, Qt::SmoothTransformation); painter->drawPixmap(mViewport.topLeft(), mScaledBackgroundPixmap, QRect(0, 0, mViewport.width(), mViewport.height()) & mScaledBackgroundPixmap.rect()); } else { painter->drawPixmap(mViewport.topLeft(), mBackgroundPixmap, QRect(0, 0, mViewport.width(), mViewport.height())); } } } /*! \internal This method is used by \ref QCPAxisRect::removeAxis to report removed axes to the QCustomPlot so it may clear its QCustomPlot::xAxis, yAxis, xAxis2 and yAxis2 members accordingly. */ void QCustomPlot::axisRemoved(QCPAxis *axis) { if (xAxis == axis) xAxis = 0; if (xAxis2 == axis) xAxis2 = 0; if (yAxis == axis) yAxis = 0; if (yAxis2 == axis) yAxis2 = 0; // Note: No need to take care of range drag axes and range zoom axes, because they are stored in smart pointers } /*! \internal This method is used by the QCPLegend destructor to report legend removal to the QCustomPlot so it may clear its QCustomPlot::legend member accordingly. */ void QCustomPlot::legendRemoved(QCPLegend *legend) { if (this->legend == legend) this->legend = 0; } /*! \internal Assigns all layers their index (QCPLayer::mIndex) in the mLayers list. This method is thus called after every operation that changes the layer indices, like layer removal, layer creation, layer moving. */ void QCustomPlot::updateLayerIndices() const { for (int i=0; imIndex = i; } /*! \internal Returns the layerable at pixel position \a pos. If \a onlySelectable is set to true, only those layerables that are selectable will be considered. (Layerable subclasses communicate their selectability via the QCPLayerable::selectTest method, by returning -1.) \a selectionDetails is an output parameter that contains selection specifics of the affected layerable. This is useful if the respective layerable shall be given a subsequent QCPLayerable::selectEvent (like in \ref mouseReleaseEvent). \a selectionDetails usually contains information about which part of the layerable was hit, in multi-part layerables (e.g. QCPAxis::SelectablePart). */ QCPLayerable *QCustomPlot::layerableAt(const QPointF &pos, bool onlySelectable, QVariant *selectionDetails) const { for (int layerIndex=mLayers.size()-1; layerIndex>=0; --layerIndex) { const QList layerables = mLayers.at(layerIndex)->children(); double minimumDistance = selectionTolerance()*1.1; QCPLayerable *minimumDistanceLayerable = 0; for (int i=layerables.size()-1; i>=0; --i) { if (!layerables.at(i)->realVisibility()) continue; QVariant details; double dist = layerables.at(i)->selectTest(pos, onlySelectable, &details); if (dist >= 0 && dist < minimumDistance) { minimumDistance = dist; minimumDistanceLayerable = layerables.at(i); if (selectionDetails) *selectionDetails = details; } } if (minimumDistance < selectionTolerance()) return minimumDistanceLayerable; } return 0; } /*! Saves the plot to a rastered image file \a fileName in the image format \a format. The plot is sized to \a width and \a height in pixels and scaled with \a scale. (width 100 and scale 2.0 lead to a full resolution file with width 200.) If the \a format supports compression, \a quality may be between 0 and 100 to control it. Returns true on success. If this function fails, most likely the given \a format isn't supported by the system, see Qt docs about QImageWriter::supportedImageFormats(). \see saveBmp, saveJpg, savePng, savePdf */ bool QCustomPlot::saveRastered(const QString &fileName, int width, int height, double scale, const char *format, int quality) { QPixmap buffer = toPixmap(width, height, scale); if (!buffer.isNull()) return buffer.save(fileName, format, quality); else return false; } /*! Renders the plot to a pixmap and returns it. The plot is sized to \a width and \a height in pixels and scaled with \a scale. (width 100 and scale 2.0 lead to a full resolution pixmap with width 200.) \see toPainter, saveRastered, saveBmp, savePng, saveJpg, savePdf */ QPixmap QCustomPlot::toPixmap(int width, int height, double scale) { // this method is somewhat similar to toPainter. Change something here, and a change in toPainter might be necessary, too. int newWidth, newHeight; if (width == 0 || height == 0) { newWidth = this->width(); newHeight = this->height(); } else { newWidth = width; newHeight = height; } int scaledWidth = qRound(scale*newWidth); int scaledHeight = qRound(scale*newHeight); QPixmap result(scaledWidth, scaledHeight); result.fill(mBackgroundBrush.style() == Qt::SolidPattern ? mBackgroundBrush.color() : Qt::transparent); // if using non-solid pattern, make transparent now and draw brush pattern later QCPPainter painter; painter.begin(&result); if (painter.isActive()) { QRect oldViewport = viewport(); setViewport(QRect(0, 0, newWidth, newHeight)); painter.setMode(QCPPainter::pmNoCaching); if (!qFuzzyCompare(scale, 1.0)) { if (scale > 1.0) // for scale < 1 we always want cosmetic pens where possible, because else lines might disappear for very small scales painter.setMode(QCPPainter::pmNonCosmetic); painter.scale(scale, scale); } if (mBackgroundBrush.style() != Qt::SolidPattern && mBackgroundBrush.style() != Qt::NoBrush) painter.fillRect(mViewport, mBackgroundBrush); draw(&painter); setViewport(oldViewport); painter.end(); } else // might happen if pixmap has width or height zero { qDebug() << Q_FUNC_INFO << "Couldn't activate painter on pixmap"; return QPixmap(); } return result; } /*! Renders the plot using the passed \a painter. The plot is sized to \a width and \a height in pixels. If the \a painter's scale is not 1.0, the resulting plot will appear scaled accordingly. \note If you are restricted to using a QPainter (instead of QCPPainter), create a temporary QPicture and open a QCPPainter on it. Then call \ref toPainter with this QCPPainter. After ending the paint operation on the picture, draw it with the QPainter. This will reproduce the painter actions the QCPPainter took, with a QPainter. \see toPixmap */ void QCustomPlot::toPainter(QCPPainter *painter, int width, int height) { // this method is somewhat similar to toPixmap. Change something here, and a change in toPixmap might be necessary, too. int newWidth, newHeight; if (width == 0 || height == 0) { newWidth = this->width(); newHeight = this->height(); } else { newWidth = width; newHeight = height; } if (painter->isActive()) { QRect oldViewport = viewport(); setViewport(QRect(0, 0, newWidth, newHeight)); painter->setMode(QCPPainter::pmNoCaching); // warning: the following is different in toPixmap, because a solid background color is applied there via QPixmap::fill // here, we need to do this via QPainter::fillRect. if (mBackgroundBrush.style() != Qt::NoBrush) painter->fillRect(mViewport, mBackgroundBrush); draw(painter); setViewport(oldViewport); } else qDebug() << Q_FUNC_INFO << "Passed painter is not active"; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPData //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPData \brief Holds the data of one single data point for QCPGraph. The container for storing multiple data points is \ref QCPDataMap. The stored data is: \li \a key: coordinate on the key axis of this data point \li \a value: coordinate on the value axis of this data point \li \a keyErrorMinus: negative error in the key dimension (for error bars) \li \a keyErrorPlus: positive error in the key dimension (for error bars) \li \a valueErrorMinus: negative error in the value dimension (for error bars) \li \a valueErrorPlus: positive error in the value dimension (for error bars) \see QCPDataMap */ /*! Constructs a data point with key, value and all errors set to zero. */ QCPData::QCPData() : key(0), value(0), keyErrorPlus(0), keyErrorMinus(0), valueErrorPlus(0), valueErrorMinus(0) { } /*! Constructs a data point with the specified \a key and \a value. All errors are set to zero. */ QCPData::QCPData(double key, double value) : key(key), value(value), keyErrorPlus(0), keyErrorMinus(0), valueErrorPlus(0), valueErrorMinus(0) { } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPGraph //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPGraph \brief A plottable representing a graph in a plot. \image html QCPGraph.png Usually QCustomPlot creates graphs internally via QCustomPlot::addGraph and the resulting instance is accessed via QCustomPlot::graph. To plot data, assign it with the \ref setData or \ref addData functions. Graphs are used to display single-valued data. Single-valued means that there should only be one data point per unique key coordinate. In other words, the graph can't have \a loops. If you do want to plot non-single-valued curves, rather use the QCPCurve plottable. \section appearance Changing the appearance The appearance of the graph is mainly determined by the line style, scatter style, brush and pen of the graph (\ref setLineStyle, \ref setScatterStyle, \ref setBrush, \ref setPen). \subsection filling Filling under or between graphs QCPGraph knows two types of fills: Normal graph fills towards the zero-value-line parallel to the key axis of the graph, and fills between two graphs, called channel fills. To enable a fill, just set a brush with \ref setBrush which is neither Qt::NoBrush nor fully transparent. By default, a normal fill towards the zero-value-line will be drawn. To set up a channel fill between this graph and another one, call \ref setChannelFillGraph with the other graph as parameter. \see QCustomPlot::addGraph, QCustomPlot::graph, QCPLegend::addGraph */ /*! Constructs a graph which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though. The constructed QCPGraph can be added to the plot with QCustomPlot::addPlottable, QCustomPlot then takes ownership of the graph. To directly create a graph inside a plot, you can also use the simpler QCustomPlot::addGraph function. */ QCPGraph::QCPGraph(QCPAxis *keyAxis, QCPAxis *valueAxis) : QCPAbstractPlottable(keyAxis, valueAxis) { mData = new QCPDataMap; setPen(QPen(Qt::blue, 0)); setErrorPen(QPen(Qt::black)); setBrush(Qt::NoBrush); setSelectedPen(QPen(QColor(80, 80, 255), 2.5)); setSelectedBrush(Qt::NoBrush); setLineStyle(lsLine); setErrorType(etNone); setErrorBarSize(6); setErrorBarSkipSymbol(true); setChannelFillGraph(0); } QCPGraph::~QCPGraph() { delete mData; } /*! Replaces the current data with the provided \a data. If \a copy is set to true, data points in \a data will only be copied. if false, the graph takes ownership of the passed data and replaces the internal data pointer with it. This is significantly faster than copying for large datasets. */ void QCPGraph::setData(QCPDataMap *data, bool copy) { if (copy) { *mData = *data; } else { delete mData; mData = data; } } /*! \overload Replaces the current data with the provided points in \a key and \a value pairs. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. */ void QCPGraph::setData(const QVector &key, const QVector &value) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); QCPData newData; for (int i=0; iinsertMulti(newData.key, newData); } } /*! Replaces the current data with the provided points in \a key and \a value pairs. Additionally the symmetrical value error of the data points are set to the values in \a valueError. For error bars to show appropriately, see \ref setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. For asymmetrical errors (plus different from minus), see the overloaded version of this function. */ void QCPGraph::setDataValueError(const QVector &key, const QVector &value, const QVector &valueError) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); n = qMin(n, valueError.size()); QCPData newData; for (int i=0; iinsertMulti(key[i], newData); } } /*! \overload Replaces the current data with the provided points in \a key and \a value pairs. Additionally the negative value error of the data points are set to the values in \a valueErrorMinus, the positive value error to \a valueErrorPlus. For error bars to show appropriately, see \ref setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. */ void QCPGraph::setDataValueError(const QVector &key, const QVector &value, const QVector &valueErrorMinus, const QVector &valueErrorPlus) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); n = qMin(n, valueErrorMinus.size()); n = qMin(n, valueErrorPlus.size()); QCPData newData; for (int i=0; iinsertMulti(key[i], newData); } } /*! Replaces the current data with the provided points in \a key and \a value pairs. Additionally the symmetrical key error of the data points are set to the values in \a keyError. For error bars to show appropriately, see \ref setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. For asymmetrical errors (plus different from minus), see the overloaded version of this function. */ void QCPGraph::setDataKeyError(const QVector &key, const QVector &value, const QVector &keyError) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); n = qMin(n, keyError.size()); QCPData newData; for (int i=0; iinsertMulti(key[i], newData); } } /*! \overload Replaces the current data with the provided points in \a key and \a value pairs. Additionally the negative key error of the data points are set to the values in \a keyErrorMinus, the positive key error to \a keyErrorPlus. For error bars to show appropriately, see \ref setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. */ void QCPGraph::setDataKeyError(const QVector &key, const QVector &value, const QVector &keyErrorMinus, const QVector &keyErrorPlus) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); n = qMin(n, keyErrorMinus.size()); n = qMin(n, keyErrorPlus.size()); QCPData newData; for (int i=0; iinsertMulti(key[i], newData); } } /*! Replaces the current data with the provided points in \a key and \a value pairs. Additionally the symmetrical key and value errors of the data points are set to the values in \a keyError and \a valueError. For error bars to show appropriately, see \ref setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. For asymmetrical errors (plus different from minus), see the overloaded version of this function. */ void QCPGraph::setDataBothError(const QVector &key, const QVector &value, const QVector &keyError, const QVector &valueError) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); n = qMin(n, valueError.size()); n = qMin(n, keyError.size()); QCPData newData; for (int i=0; iinsertMulti(key[i], newData); } } /*! \overload Replaces the current data with the provided points in \a key and \a value pairs. Additionally the negative key and value errors of the data points are set to the values in \a keyErrorMinus and \a valueErrorMinus. The positive key and value errors are set to the values in \a keyErrorPlus \a valueErrorPlus. For error bars to show appropriately, see \ref setErrorType. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. */ void QCPGraph::setDataBothError(const QVector &key, const QVector &value, const QVector &keyErrorMinus, const QVector &keyErrorPlus, const QVector &valueErrorMinus, const QVector &valueErrorPlus) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); n = qMin(n, valueErrorMinus.size()); n = qMin(n, valueErrorPlus.size()); n = qMin(n, keyErrorMinus.size()); n = qMin(n, keyErrorPlus.size()); QCPData newData; for (int i=0; iinsertMulti(key[i], newData); } } /*! Sets how the single data points are connected in the plot. For scatter-only plots, set \a ls to \ref lsNone and \ref setScatterStyle to the desired scatter style. \see setScatterStyle */ void QCPGraph::setLineStyle(LineStyle ls) { mLineStyle = ls; } /*! Sets the visual appearance of single data points in the plot. If set to \ref QCPScatterStyle::ssNone, no scatter points are drawn (e.g. for line-only-plots with appropriate line style). \see QCPScatterStyle, setLineStyle */ void QCPGraph::setScatterStyle(const QCPScatterStyle &style) { mScatterStyle = style; } /*! Sets which kind of error bars (Key Error, Value Error or both) should be drawn on each data point. If you set \a errorType to something other than \ref etNone, make sure to actually pass error data via the specific setData functions along with the data points (e.g. \ref setDataValueError, \ref setDataKeyError, \ref setDataBothError). \see ErrorType */ void QCPGraph::setErrorType(ErrorType errorType) { mErrorType = errorType; } /*! Sets the pen with which the error bars will be drawn. \see setErrorBarSize, setErrorType */ void QCPGraph::setErrorPen(const QPen &pen) { mErrorPen = pen; } /*! Sets the width of the handles at both ends of an error bar in pixels. */ void QCPGraph::setErrorBarSize(double size) { mErrorBarSize = size; } /*! If \a enabled is set to true, the error bar will not be drawn as a solid line under the scatter symbol but leave some free space around the symbol. This feature uses the current scatter size (\ref QCPScatterStyle::setSize) to determine the size of the area to leave blank. So when drawing Pixmaps as scatter points (\ref QCPScatterStyle::ssPixmap), the scatter size must be set manually to a value corresponding to the size of the Pixmap, if the error bars should leave gaps to its boundaries. \ref setErrorType, setErrorBarSize, setScatterStyle */ void QCPGraph::setErrorBarSkipSymbol(bool enabled) { mErrorBarSkipSymbol = enabled; } /*! Sets the target graph for filling the area between this graph and \a targetGraph with the current brush (\ref setBrush). When \a targetGraph is set to 0, a normal graph fill to the zero-value-line will be shown. To disable any filling, set the brush to Qt::NoBrush. \see setBrush */ void QCPGraph::setChannelFillGraph(QCPGraph *targetGraph) { // prevent setting channel target to this graph itself: if (targetGraph == this) { qDebug() << Q_FUNC_INFO << "targetGraph is this graph itself"; mChannelFillGraph = 0; return; } // prevent setting channel target to a graph not in the plot: if (targetGraph && targetGraph->mParentPlot != mParentPlot) { qDebug() << Q_FUNC_INFO << "targetGraph not in same plot"; mChannelFillGraph = 0; return; } mChannelFillGraph = targetGraph; } /*! Adds the provided data points in \a dataMap to the current data. \see removeData */ void QCPGraph::addData(const QCPDataMap &dataMap) { mData->unite(dataMap); } /*! \overload Adds the provided single data point in \a data to the current data. \see removeData */ void QCPGraph::addData(const QCPData &data) { mData->insertMulti(data.key, data); } /*! \overload Adds the provided single data point as \a key and \a value pair to the current data. \see removeData */ void QCPGraph::addData(double key, double value) { QCPData newData; newData.key = key; newData.value = value; mData->insertMulti(newData.key, newData); } /*! \overload Adds the provided data points as \a key and \a value pairs to the current data. \see removeData */ void QCPGraph::addData(const QVector &keys, const QVector &values) { int n = qMin(keys.size(), values.size()); QCPData newData; for (int i=0; iinsertMulti(newData.key, newData); } } /*! Removes all data points with keys smaller than \a key. \see addData, clearData */ void QCPGraph::removeDataBefore(double key) { QCPDataMap::iterator it = mData->begin(); while (it != mData->end() && it.key() < key) it = mData->erase(it); } /*! Removes all data points with keys greater than \a key. \see addData, clearData */ void QCPGraph::removeDataAfter(double key) { if (mData->isEmpty()) return; QCPDataMap::iterator it = mData->upperBound(key); while (it != mData->end()) it = mData->erase(it); } /*! Removes all data points with keys between \a fromKey and \a toKey. if \a fromKey is greater or equal to \a toKey, the function does nothing. To remove a single data point with known key, use \ref removeData(double key). \see addData, clearData */ void QCPGraph::removeData(double fromKey, double toKey) { if (fromKey >= toKey || mData->isEmpty()) return; QCPDataMap::iterator it = mData->upperBound(fromKey); QCPDataMap::iterator itEnd = mData->upperBound(toKey); while (it != itEnd) it = mData->erase(it); } /*! \overload Removes a single data point at \a key. If the position is not known with absolute precision, consider using \ref removeData(double fromKey, double toKey) with a small fuzziness interval around the suspected position, depeding on the precision with which the key is known. \see addData, clearData */ void QCPGraph::removeData(double key) { mData->remove(key); } /*! Removes all data points. \see removeData, removeDataAfter, removeDataBefore */ void QCPGraph::clearData() { mData->clear(); } /* inherits documentation from base class */ double QCPGraph::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if ((onlySelectable && !mSelectable) || mData->isEmpty()) return -1; return pointDistance(pos); } /*! \overload Allows to define whether error bars are taken into consideration when determining the new axis range. \see rescaleKeyAxis, rescaleValueAxis, QCPAbstractPlottable::rescaleAxes, QCustomPlot::rescaleAxes */ void QCPGraph::rescaleAxes(bool onlyEnlarge, bool includeErrorBars) const { rescaleKeyAxis(onlyEnlarge, includeErrorBars); rescaleValueAxis(onlyEnlarge, includeErrorBars); } /*! \overload Allows to define whether error bars (of kind \ref QCPGraph::etKey) are taken into consideration when determining the new axis range. \see rescaleAxes, QCPAbstractPlottable::rescaleKeyAxis */ void QCPGraph::rescaleKeyAxis(bool onlyEnlarge, bool includeErrorBars) const { // this code is a copy of QCPAbstractPlottable::rescaleKeyAxis with the only change // that getKeyRange is passed the includeErrorBars value. if (mData->isEmpty()) return; QCPAxis *keyAxis = mKeyAxis.data(); if (!keyAxis) { qDebug() << Q_FUNC_INFO << "invalid key axis"; return; } SignDomain signDomain = sdBoth; if (keyAxis->scaleType() == QCPAxis::stLogarithmic) signDomain = (keyAxis->range().upper < 0 ? sdNegative : sdPositive); bool validRange; QCPRange newRange = getKeyRange(validRange, signDomain, includeErrorBars); if (validRange) { if (onlyEnlarge) { if (keyAxis->range().lower < newRange.lower) newRange.lower = keyAxis->range().lower; if (keyAxis->range().upper > newRange.upper) newRange.upper = keyAxis->range().upper; } keyAxis->setRange(newRange); } } /*! \overload Allows to define whether error bars (of kind \ref QCPGraph::etValue) are taken into consideration when determining the new axis range. \see rescaleAxes, QCPAbstractPlottable::rescaleValueAxis */ void QCPGraph::rescaleValueAxis(bool onlyEnlarge, bool includeErrorBars) const { // this code is a copy of QCPAbstractPlottable::rescaleValueAxis with the only change // is that getValueRange is passed the includeErrorBars value. if (mData->isEmpty()) return; QCPAxis *valueAxis = mValueAxis.data(); if (!valueAxis) { qDebug() << Q_FUNC_INFO << "invalid value axis"; return; } SignDomain signDomain = sdBoth; if (valueAxis->scaleType() == QCPAxis::stLogarithmic) signDomain = (valueAxis->range().upper < 0 ? sdNegative : sdPositive); bool validRange; QCPRange newRange = getValueRange(validRange, signDomain, includeErrorBars); if (validRange) { if (onlyEnlarge) { if (valueAxis->range().lower < newRange.lower) newRange.lower = valueAxis->range().lower; if (valueAxis->range().upper > newRange.upper) newRange.upper = valueAxis->range().upper; } valueAxis->setRange(newRange); } } /* inherits documentation from base class */ void QCPGraph::draw(QCPPainter *painter) { if (!mKeyAxis || !mValueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (mKeyAxis.data()->range().size() <= 0 || mData->isEmpty()) return; if (mLineStyle == lsNone && mScatterStyle.isNone()) return; // allocate line and (if necessary) point vectors: QVector *lineData = new QVector; QVector *pointData = 0; if (!mScatterStyle.isNone()) pointData = new QVector; // fill vectors with data appropriate to plot style: getPlotData(lineData, pointData); // check data validity if flag set: #ifdef QCUSTOMPLOT_CHECK_DATA QCPDataMap::const_iterator it; for (it = mData->constBegin(); it != mData->constEnd(); ++it) { if (QCP::isInvalidData(it.value().key, it.value().value) || QCP::isInvalidData(it.value().keyErrorPlus, it.value().keyErrorMinus) || QCP::isInvalidData(it.value().valueErrorPlus, it.value().valueErrorPlus)) qDebug() << Q_FUNC_INFO << "Data point at" << it.key() << "invalid." << "Plottable name:" << name(); } #endif // draw fill of graph: drawFill(painter, lineData); // draw line: if (mLineStyle == lsImpulse) drawImpulsePlot(painter, lineData); else if (mLineStyle != lsNone) drawLinePlot(painter, lineData); // also step plots can be drawn as a line plot // draw scatters: if (pointData) drawScatterPlot(painter, pointData); // free allocated line and point vectors: delete lineData; if (pointData) delete pointData; } /* inherits documentation from base class */ void QCPGraph::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const { // draw fill: if (mBrush.style() != Qt::NoBrush) { applyFillAntialiasingHint(painter); painter->fillRect(QRectF(rect.left(), rect.top()+rect.height()/2.0, rect.width(), rect.height()/3.0), mBrush); } // draw line vertically centered: if (mLineStyle != lsNone) { applyDefaultAntialiasingHint(painter); painter->setPen(mPen); painter->drawLine(QLineF(rect.left(), rect.top()+rect.height()/2.0, rect.right()+5, rect.top()+rect.height()/2.0)); // +5 on x2 else last segment is missing from dashed/dotted pens } // draw scatter symbol: if (!mScatterStyle.isNone()) { applyScattersAntialiasingHint(painter); // scale scatter pixmap if it's too large to fit in legend icon rect: if (mScatterStyle.shape() == QCPScatterStyle::ssPixmap && (mScatterStyle.pixmap().size().width() > rect.width() || mScatterStyle.pixmap().size().height() > rect.height())) { QCPScatterStyle scaledStyle(mScatterStyle); scaledStyle.setPixmap(scaledStyle.pixmap().scaled(rect.size().toSize(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); scaledStyle.applyTo(painter, mPen); scaledStyle.drawShape(painter, QRectF(rect).center()); } else { mScatterStyle.applyTo(painter, mPen); mScatterStyle.drawShape(painter, QRectF(rect).center()); } } } /*! \internal This function branches out to the line style specific "get(...)PlotData" functions, according to the line style of the graph. \a lineData will be filled with raw points that will be drawn with the according draw functions, e.g. \ref drawLinePlot and \ref drawImpulsePlot. These aren't necessarily the original data points, since for step plots for example, additional points are needed for drawing lines that make up steps. If the line style of the graph is \ref lsNone, the \a lineData vector will be left untouched. \a pointData will be filled with the original data points so \ref drawScatterPlot can draw the scatter symbols accordingly. If no scatters need to be drawn, i.e. the scatter style's shape is \ref QCPScatterStyle::ssNone, pass 0 as \a pointData, and this step will be skipped. \see getScatterPlotData, getLinePlotData, getStepLeftPlotData, getStepRightPlotData, getStepCenterPlotData, getImpulsePlotData */ void QCPGraph::getPlotData(QVector *lineData, QVector *pointData) const { switch(mLineStyle) { case lsNone: getScatterPlotData(pointData); break; case lsLine: getLinePlotData(lineData, pointData); break; case lsStepLeft: getStepLeftPlotData(lineData, pointData); break; case lsStepRight: getStepRightPlotData(lineData, pointData); break; case lsStepCenter: getStepCenterPlotData(lineData, pointData); break; case lsImpulse: getImpulsePlotData(lineData, pointData); break; } } /*! \internal If line style is \ref lsNone and the scatter style's shape is not \ref QCPScatterStyle::ssNone, this function serves at providing the visible data points in \a pointData, so the \ref drawScatterPlot function can draw the scatter points accordingly. If line style is not \ref lsNone, this function is not called and the data for the scatter points are (if needed) calculated inside the corresponding other "get(...)PlotData" functions. \see drawScatterPlot */ void QCPGraph::getScatterPlotData(QVector *pointData) const { if (!pointData) return; QCPAxis *keyAxis = mKeyAxis.data(); if (!keyAxis) { qDebug() << Q_FUNC_INFO << "invalid key axis"; return; } // get visible data range: QCPDataMap::const_iterator lower, upper; int dataCount = 0; getVisibleDataBounds(lower, upper, dataCount); if (dataCount > 0) { // prepare vectors: pointData->resize(dataCount); // position data points: QCPDataMap::const_iterator it = lower; QCPDataMap::const_iterator upperEnd = upper+1; int i = 0; while (it != upperEnd) { (*pointData)[i] = it.value(); ++i; ++it; } } } /*! \internal Places the raw data points needed for a normal linearly connected graph in \a lineData. As for all plot data retrieval functions, \a pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is \ref QCPScatterStyle::ssNone), pass 0 as \a pointData, and the function will skip filling the vector. \see drawLinePlot */ void QCPGraph::getLinePlotData(QVector *lineData, QVector *pointData) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (!lineData) { qDebug() << Q_FUNC_INFO << "null pointer passed as lineData"; return; } // get visible data range: QCPDataMap::const_iterator lower, upper; int dataCount = 0; getVisibleDataBounds(lower, upper, dataCount); if (dataCount > 0) { lineData->reserve(dataCount+2); // added 2 to reserve memory for lower/upper fill base points that might be needed for fill lineData->resize(dataCount); if (pointData) pointData->resize(dataCount); // position data points: QCPDataMap::const_iterator it = lower; QCPDataMap::const_iterator upperEnd = upper+1; int i = 0; if (keyAxis->orientation() == Qt::Vertical) { while (it != upperEnd) { if (pointData) (*pointData)[i] = it.value(); (*lineData)[i].setX(valueAxis->coordToPixel(it.value().value)); (*lineData)[i].setY(keyAxis->coordToPixel(it.key())); ++i; ++it; } } else // key axis is horizontal { while (it != upperEnd) { if (pointData) (*pointData)[i] = it.value(); (*lineData)[i].setX(keyAxis->coordToPixel(it.key())); (*lineData)[i].setY(valueAxis->coordToPixel(it.value().value)); ++i; ++it; } } } } /*! \internal Places the raw data points needed for a step plot with left oriented steps in \a lineData. As for all plot data retrieval functions, \a pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is \ref QCPScatterStyle::ssNone), pass 0 as \a pointData, and the function will skip filling the vector. \see drawLinePlot */ void QCPGraph::getStepLeftPlotData(QVector *lineData, QVector *pointData) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (!lineData) { qDebug() << Q_FUNC_INFO << "null pointer passed as lineData"; return; } // get visible data range: QCPDataMap::const_iterator lower, upper; int dataCount = 0; getVisibleDataBounds(lower, upper, dataCount); if (dataCount > 0) { lineData->reserve(dataCount*2+2); // added 2 to reserve memory for lower/upper fill base points that might be needed for fill lineData->resize(dataCount*2); // multiplied by 2 because step plot needs two polyline points per one actual data point if (pointData) pointData->resize(dataCount); // position data points: QCPDataMap::const_iterator it = lower; QCPDataMap::const_iterator upperEnd = upper+1; int i = 0; int ipoint = 0; if (keyAxis->orientation() == Qt::Vertical) { double lastValue = valueAxis->coordToPixel(it.value().value); double key; while (it != upperEnd) { if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } key = keyAxis->coordToPixel(it.key()); (*lineData)[i].setX(lastValue); (*lineData)[i].setY(key); ++i; lastValue = valueAxis->coordToPixel(it.value().value); (*lineData)[i].setX(lastValue); (*lineData)[i].setY(key); ++i; ++it; } } else // key axis is horizontal { double lastValue = valueAxis->coordToPixel(it.value().value); double key; while (it != upperEnd) { if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } key = keyAxis->coordToPixel(it.key()); (*lineData)[i].setX(key); (*lineData)[i].setY(lastValue); ++i; lastValue = valueAxis->coordToPixel(it.value().value); (*lineData)[i].setX(key); (*lineData)[i].setY(lastValue); ++i; ++it; } } } } /*! \internal Places the raw data points needed for a step plot with right oriented steps in \a lineData. As for all plot data retrieval functions, \a pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is \ref QCPScatterStyle::ssNone), pass 0 as \a pointData, and the function will skip filling the vector. \see drawLinePlot */ void QCPGraph::getStepRightPlotData(QVector *lineData, QVector *pointData) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (!lineData) { qDebug() << Q_FUNC_INFO << "null pointer passed as lineData"; return; } // get visible data range: QCPDataMap::const_iterator lower, upper; int dataCount = 0; getVisibleDataBounds(lower, upper, dataCount); if (dataCount > 0) { lineData->reserve(dataCount*2+2); // added 2 to reserve memory for lower/upper fill base points that might be needed for fill lineData->resize(dataCount*2); // multiplied by 2 because step plot needs two polyline points per one actual data point if (pointData) pointData->resize(dataCount); // position points: QCPDataMap::const_iterator it = lower; QCPDataMap::const_iterator upperEnd = upper+1; int i = 0; int ipoint = 0; if (keyAxis->orientation() == Qt::Vertical) { double lastKey = keyAxis->coordToPixel(it.key()); double value; while (it != upperEnd) { if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } value = valueAxis->coordToPixel(it.value().value); (*lineData)[i].setX(value); (*lineData)[i].setY(lastKey); ++i; lastKey = keyAxis->coordToPixel(it.key()); (*lineData)[i].setX(value); (*lineData)[i].setY(lastKey); ++i; ++it; } } else // key axis is horizontal { double lastKey = keyAxis->coordToPixel(it.key()); double value; while (it != upperEnd) { if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } value = valueAxis->coordToPixel(it.value().value); (*lineData)[i].setX(lastKey); (*lineData)[i].setY(value); ++i; lastKey = keyAxis->coordToPixel(it.key()); (*lineData)[i].setX(lastKey); (*lineData)[i].setY(value); ++i; ++it; } } } } /*! \internal Places the raw data points needed for a step plot with centered steps in \a lineData. As for all plot data retrieval functions, \a pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is \ref QCPScatterStyle::ssNone), pass 0 as \a pointData, and the function will skip filling the vector. \see drawLinePlot */ void QCPGraph::getStepCenterPlotData(QVector *lineData, QVector *pointData) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (!lineData) { qDebug() << Q_FUNC_INFO << "null pointer passed as lineData"; return; } // get visible data range: QCPDataMap::const_iterator lower, upper; int dataCount = 0; getVisibleDataBounds(lower, upper, dataCount); if (dataCount > 0) { // added 2 to reserve memory for lower/upper fill base points that might be needed for base fill // multiplied by 2 because step plot needs two polyline points per one actual data point lineData->reserve(dataCount*2+2); lineData->resize(dataCount*2); if (pointData) pointData->resize(dataCount); // position points: QCPDataMap::const_iterator it = lower; QCPDataMap::const_iterator upperEnd = upper+1; int i = 0; int ipoint = 0; if (keyAxis->orientation() == Qt::Vertical) { double lastKey = keyAxis->coordToPixel(it.key()); double lastValue = valueAxis->coordToPixel(it.value().value); double key; if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } (*lineData)[i].setX(lastValue); (*lineData)[i].setY(lastKey); ++it; ++i; while (it != upperEnd) { if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } key = (keyAxis->coordToPixel(it.key())-lastKey)*0.5 + lastKey; (*lineData)[i].setX(lastValue); (*lineData)[i].setY(key); ++i; lastValue = valueAxis->coordToPixel(it.value().value); lastKey = keyAxis->coordToPixel(it.key()); (*lineData)[i].setX(lastValue); (*lineData)[i].setY(key); ++it; ++i; } (*lineData)[i].setX(lastValue); (*lineData)[i].setY(lastKey); } else // key axis is horizontal { double lastKey = keyAxis->coordToPixel(it.key()); double lastValue = valueAxis->coordToPixel(it.value().value); double key; if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } (*lineData)[i].setX(lastKey); (*lineData)[i].setY(lastValue); ++it; ++i; while (it != upperEnd) { if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } key = (keyAxis->coordToPixel(it.key())-lastKey)*0.5 + lastKey; (*lineData)[i].setX(key); (*lineData)[i].setY(lastValue); ++i; lastValue = valueAxis->coordToPixel(it.value().value); lastKey = keyAxis->coordToPixel(it.key()); (*lineData)[i].setX(key); (*lineData)[i].setY(lastValue); ++it; ++i; } (*lineData)[i].setX(lastKey); (*lineData)[i].setY(lastValue); } } } /*! \internal Places the raw data points needed for an impulse plot in \a lineData. As for all plot data retrieval functions, \a pointData just contains all unaltered data (scatter) points that are visible for drawing scatter points, if necessary. If drawing scatter points is disabled (i.e. the scatter style's shape is \ref QCPScatterStyle::ssNone), pass 0 as \a pointData, and the function will skip filling the vector. \see drawImpulsePlot */ void QCPGraph::getImpulsePlotData(QVector *lineData, QVector *pointData) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (!lineData) { qDebug() << Q_FUNC_INFO << "null pointer passed as lineData"; return; } // get visible data range: QCPDataMap::const_iterator lower, upper; int dataCount = 0; getVisibleDataBounds(lower, upper, dataCount); if (dataCount > 0) { lineData->resize(dataCount*2); // no need to reserve 2 extra points, because there is no fill for impulse plot if (pointData) pointData->resize(dataCount); // position data points: QCPDataMap::const_iterator it = lower; QCPDataMap::const_iterator upperEnd = upper+1; int i = 0; int ipoint = 0; if (keyAxis->orientation() == Qt::Vertical) { double zeroPointX = valueAxis->coordToPixel(0); double key; while (it != upperEnd) { if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } key = keyAxis->coordToPixel(it.key()); (*lineData)[i].setX(zeroPointX); (*lineData)[i].setY(key); ++i; (*lineData)[i].setX(valueAxis->coordToPixel(it.value().value)); (*lineData)[i].setY(key); ++i; ++it; } } else // key axis is horizontal { double zeroPointY = valueAxis->coordToPixel(0); double key; while (it != upperEnd) { if (pointData) { (*pointData)[ipoint] = it.value(); ++ipoint; } key = keyAxis->coordToPixel(it.key()); (*lineData)[i].setX(key); (*lineData)[i].setY(zeroPointY); ++i; (*lineData)[i].setX(key); (*lineData)[i].setY(valueAxis->coordToPixel(it.value().value)); ++i; ++it; } } } } /*! \internal Draws the fill of the graph with the specified brush. If the fill is a normal fill towards the zero-value-line, only the \a lineData is required (and two extra points at the zero-value-line, which are added by \ref addFillBasePoints and removed by \ref removeFillBasePoints after the fill drawing is done). If the fill is a channel fill between this QCPGraph and another QCPGraph (mChannelFillGraph), the more complex polygon is calculated with the \ref getChannelFillPolygon function. \see drawLinePlot */ void QCPGraph::drawFill(QCPPainter *painter, QVector *lineData) const { if (mLineStyle == lsImpulse) return; // fill doesn't make sense for impulse plot if (mainBrush().style() == Qt::NoBrush || mainBrush().color().alpha() == 0) return; applyFillAntialiasingHint(painter); if (!mChannelFillGraph) { // draw base fill under graph, fill goes all the way to the zero-value-line: addFillBasePoints(lineData); painter->setPen(Qt::NoPen); painter->setBrush(mainBrush()); painter->drawPolygon(QPolygonF(*lineData)); removeFillBasePoints(lineData); } else { // draw channel fill between this graph and mChannelFillGraph: painter->setPen(Qt::NoPen); painter->setBrush(mainBrush()); painter->drawPolygon(getChannelFillPolygon(lineData)); } } /*! \internal Draws scatter symbols at every data point passed in \a pointData. scatter symbols are independent of the line style and are always drawn if the scatter style's shape is not \ref QCPScatterStyle::ssNone. Hence, the \a pointData vector is outputted by all "get(...)PlotData" functions, together with the (line style dependent) line data. \see drawLinePlot, drawImpulsePlot */ void QCPGraph::drawScatterPlot(QCPPainter *painter, QVector *pointData) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } // draw error bars: if (mErrorType != etNone) { applyErrorBarsAntialiasingHint(painter); painter->setPen(mErrorPen); if (keyAxis->orientation() == Qt::Vertical) { for (int i=0; isize(); ++i) drawError(painter, valueAxis->coordToPixel(pointData->at(i).value), keyAxis->coordToPixel(pointData->at(i).key), pointData->at(i)); } else { for (int i=0; isize(); ++i) drawError(painter, keyAxis->coordToPixel(pointData->at(i).key), valueAxis->coordToPixel(pointData->at(i).value), pointData->at(i)); } } // draw scatter point symbols: applyScattersAntialiasingHint(painter); mScatterStyle.applyTo(painter, mPen); if (keyAxis->orientation() == Qt::Vertical) { for (int i=0; isize(); ++i) mScatterStyle.drawShape(painter, valueAxis->coordToPixel(pointData->at(i).value), keyAxis->coordToPixel(pointData->at(i).key)); } else { for (int i=0; isize(); ++i) mScatterStyle.drawShape(painter, keyAxis->coordToPixel(pointData->at(i).key), valueAxis->coordToPixel(pointData->at(i).value)); } } /*! \internal Draws line graphs from the provided data. It connects all points in \a lineData, which was created by one of the "get(...)PlotData" functions for line styles that require simple line connections between the point vector they create. These are for example \ref getLinePlotData, \ref getStepLeftPlotData, \ref getStepRightPlotData and \ref getStepCenterPlotData. \see drawScatterPlot, drawImpulsePlot */ void QCPGraph::drawLinePlot(QCPPainter *painter, QVector *lineData) const { // draw line of graph: if (mainPen().style() != Qt::NoPen && mainPen().color().alpha() != 0) { applyDefaultAntialiasingHint(painter); painter->setPen(mainPen()); painter->setBrush(Qt::NoBrush); /* Draws polyline in batches, currently not used: int p = 0; while (p < lineData->size()) { int batch = qMin(25, lineData->size()-p); if (p != 0) { ++batch; --p; // to draw the connection lines between two batches } painter->drawPolyline(lineData->constData()+p, batch); p += batch; } */ // if drawing solid line and not in PDF, use much faster line drawing instead of polyline: if (mParentPlot->plottingHints().testFlag(QCP::phFastPolylines) && painter->pen().style() == Qt::SolidLine && !painter->modes().testFlag(QCPPainter::pmVectorized)&& !painter->modes().testFlag(QCPPainter::pmNoCaching)) { for (int i=1; isize(); ++i) painter->drawLine(lineData->at(i-1), lineData->at(i)); } else { painter->drawPolyline(QPolygonF(*lineData)); } } } /*! \internal Draws impulses from the provided data, i.e. it connects all line pairs in \a lineData, which was created by \ref getImpulsePlotData. \see drawScatterPlot, drawLinePlot */ void QCPGraph::drawImpulsePlot(QCPPainter *painter, QVector *lineData) const { // draw impulses: if (mainPen().style() != Qt::NoPen && mainPen().color().alpha() != 0) { applyDefaultAntialiasingHint(painter); QPen pen = mainPen(); pen.setCapStyle(Qt::FlatCap); // so impulse line doesn't reach beyond zero-line painter->setPen(pen); painter->setBrush(Qt::NoBrush); painter->drawLines(*lineData); } } /*! \internal called by the scatter drawing function (\ref drawScatterPlot) to draw the error bars on one data point. \a x and \a y pixel positions of the data point are passed since they are already known in pixel coordinates in the drawing function, so we save some extra coordToPixel transforms here. \a data is therefore only used for the errors, not key and value. */ void QCPGraph::drawError(QCPPainter *painter, double x, double y, const QCPData &data) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } double a, b; // positions of error bar bounds in pixels double barWidthHalf = mErrorBarSize*0.5; double skipSymbolMargin = mScatterStyle.size(); // pixels left blank per side, when mErrorBarSkipSymbol is true if (keyAxis->orientation() == Qt::Vertical) { // draw key error vertically and value error horizontally if (mErrorType == etKey || mErrorType == etBoth) { a = keyAxis->coordToPixel(data.key-data.keyErrorMinus); b = keyAxis->coordToPixel(data.key+data.keyErrorPlus); if (keyAxis->rangeReversed()) qSwap(a,b); // draw spine: if (mErrorBarSkipSymbol) { if (a-y > skipSymbolMargin) // don't draw spine if error is so small it's within skipSymbolmargin painter->drawLine(QLineF(x, a, x, y+skipSymbolMargin)); if (y-b > skipSymbolMargin) painter->drawLine(QLineF(x, y-skipSymbolMargin, x, b)); } else painter->drawLine(QLineF(x, a, x, b)); // draw handles: painter->drawLine(QLineF(x-barWidthHalf, a, x+barWidthHalf, a)); painter->drawLine(QLineF(x-barWidthHalf, b, x+barWidthHalf, b)); } if (mErrorType == etValue || mErrorType == etBoth) { a = valueAxis->coordToPixel(data.value-data.valueErrorMinus); b = valueAxis->coordToPixel(data.value+data.valueErrorPlus); if (valueAxis->rangeReversed()) qSwap(a,b); // draw spine: if (mErrorBarSkipSymbol) { if (x-a > skipSymbolMargin) // don't draw spine if error is so small it's within skipSymbolmargin painter->drawLine(QLineF(a, y, x-skipSymbolMargin, y)); if (b-x > skipSymbolMargin) painter->drawLine(QLineF(x+skipSymbolMargin, y, b, y)); } else painter->drawLine(QLineF(a, y, b, y)); // draw handles: painter->drawLine(QLineF(a, y-barWidthHalf, a, y+barWidthHalf)); painter->drawLine(QLineF(b, y-barWidthHalf, b, y+barWidthHalf)); } } else // mKeyAxis->orientation() is Qt::Horizontal { // draw value error vertically and key error horizontally if (mErrorType == etKey || mErrorType == etBoth) { a = keyAxis->coordToPixel(data.key-data.keyErrorMinus); b = keyAxis->coordToPixel(data.key+data.keyErrorPlus); if (keyAxis->rangeReversed()) qSwap(a,b); // draw spine: if (mErrorBarSkipSymbol) { if (x-a > skipSymbolMargin) // don't draw spine if error is so small it's within skipSymbolmargin painter->drawLine(QLineF(a, y, x-skipSymbolMargin, y)); if (b-x > skipSymbolMargin) painter->drawLine(QLineF(x+skipSymbolMargin, y, b, y)); } else painter->drawLine(QLineF(a, y, b, y)); // draw handles: painter->drawLine(QLineF(a, y-barWidthHalf, a, y+barWidthHalf)); painter->drawLine(QLineF(b, y-barWidthHalf, b, y+barWidthHalf)); } if (mErrorType == etValue || mErrorType == etBoth) { a = valueAxis->coordToPixel(data.value-data.valueErrorMinus); b = valueAxis->coordToPixel(data.value+data.valueErrorPlus); if (valueAxis->rangeReversed()) qSwap(a,b); // draw spine: if (mErrorBarSkipSymbol) { if (a-y > skipSymbolMargin) // don't draw spine if error is so small it's within skipSymbolmargin painter->drawLine(QLineF(x, a, x, y+skipSymbolMargin)); if (y-b > skipSymbolMargin) painter->drawLine(QLineF(x, y-skipSymbolMargin, x, b)); } else painter->drawLine(QLineF(x, a, x, b)); // draw handles: painter->drawLine(QLineF(x-barWidthHalf, a, x+barWidthHalf, a)); painter->drawLine(QLineF(x-barWidthHalf, b, x+barWidthHalf, b)); } } } /*! \internal called by the specific plot data generating functions "get(...)PlotData" to determine which data range is visible, so only that needs to be processed. \a lower returns an iterator to the lowest data point that needs to be taken into account when plotting. Note that in order to get a clean plot all the way to the edge of the axes, \a lower may still be outside the visible range. \a upper returns an iterator to the highest data point. Same as before, \a upper may also lie outside of the visible range. \a count number of data points that need plotting, i.e. points between \a lower and \a upper, including them. This is useful for allocating the array of QPointFs in the specific drawing functions. if the graph contains no data, \a count is zero and both \a lower and \a upper point to constEnd. */ void QCPGraph::getVisibleDataBounds(QCPDataMap::const_iterator &lower, QCPDataMap::const_iterator &upper, int &count) const { if (!mKeyAxis) { qDebug() << Q_FUNC_INFO << "invalid key axis"; return; } if (mData->isEmpty()) { lower = mData->constEnd(); upper = mData->constEnd(); count = 0; return; } // get visible data range as QMap iterators QCPDataMap::const_iterator lbound = mData->lowerBound(mKeyAxis.data()->range().lower); QCPDataMap::const_iterator ubound = mData->upperBound(mKeyAxis.data()->range().upper); bool lowoutlier = lbound != mData->constBegin(); // indicates whether there exist points below axis range bool highoutlier = ubound != mData->constEnd(); // indicates whether there exist points above axis range lower = (lowoutlier ? lbound-1 : lbound); // data point range that will be actually drawn upper = (highoutlier ? ubound : ubound-1); // data point range that will be actually drawn // count number of points in range lower to upper (including them), so we can allocate array for them in draw functions: QCPDataMap::const_iterator it = lower; count = 1; while (it != upper) { ++it; ++count; } } /*! \internal The line data vector generated by e.g. getLinePlotData contains only the line that connects the data points. If the graph needs to be filled, two additional points need to be added at the value-zero-line in the lower and upper key positions of the graph. This function calculates these points and adds them to the end of \a lineData. Since the fill is typically drawn before the line stroke, these added points need to be removed again after the fill is done, with the removeFillBasePoints function. The expanding of \a lineData by two points will not cause unnecessary memory reallocations, because the data vector generation functions (getLinePlotData etc.) reserve two extra points when they allocate memory for \a lineData. \see removeFillBasePoints, lowerFillBasePoint, upperFillBasePoint */ void QCPGraph::addFillBasePoints(QVector *lineData) const { if (!mKeyAxis) { qDebug() << Q_FUNC_INFO << "invalid key axis"; return; } // append points that close the polygon fill at the key axis: if (mKeyAxis.data()->orientation() == Qt::Vertical) { *lineData << upperFillBasePoint(lineData->last().y()); *lineData << lowerFillBasePoint(lineData->first().y()); } else { *lineData << upperFillBasePoint(lineData->last().x()); *lineData << lowerFillBasePoint(lineData->first().x()); } } /*! \internal removes the two points from \a lineData that were added by \ref addFillBasePoints. \see addFillBasePoints, lowerFillBasePoint, upperFillBasePoint */ void QCPGraph::removeFillBasePoints(QVector *lineData) const { lineData->remove(lineData->size()-2, 2); } /*! \internal called by \ref addFillBasePoints to conveniently assign the point which closes the fill polygon on the lower side of the zero-value-line parallel to the key axis. The logarithmic axis scale case is a bit special, since the zero-value-line in pixel coordinates is in positive or negative infinity. So this case is handled separately by just closing the fill polygon on the axis which lies in the direction towards the zero value. \a lowerKey will be the the key (in pixels) of the returned point. Depending on whether the key axis is horizontal or vertical, \a lowerKey will end up as the x or y value of the returned point, respectively. \see upperFillBasePoint, addFillBasePoints */ QPointF QCPGraph::lowerFillBasePoint(double lowerKey) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPointF(); } QPointF point; if (valueAxis->scaleType() == QCPAxis::stLinear) { if (keyAxis->axisType() == QCPAxis::atLeft) { point.setX(valueAxis->coordToPixel(0)); point.setY(lowerKey); } else if (keyAxis->axisType() == QCPAxis::atRight) { point.setX(valueAxis->coordToPixel(0)); point.setY(lowerKey); } else if (keyAxis->axisType() == QCPAxis::atTop) { point.setX(lowerKey); point.setY(valueAxis->coordToPixel(0)); } else if (keyAxis->axisType() == QCPAxis::atBottom) { point.setX(lowerKey); point.setY(valueAxis->coordToPixel(0)); } } else // valueAxis->mScaleType == QCPAxis::stLogarithmic { // In logarithmic scaling we can't just draw to value zero so we just fill all the way // to the axis which is in the direction towards zero if (keyAxis->orientation() == Qt::Vertical) { if ((valueAxis->range().upper < 0 && !valueAxis->rangeReversed()) || (valueAxis->range().upper > 0 && valueAxis->rangeReversed())) // if range is negative, zero is on opposite side of key axis point.setX(keyAxis->axisRect()->right()); else point.setX(keyAxis->axisRect()->left()); point.setY(lowerKey); } else if (keyAxis->axisType() == QCPAxis::atTop || keyAxis->axisType() == QCPAxis::atBottom) { point.setX(lowerKey); if ((valueAxis->range().upper < 0 && !valueAxis->rangeReversed()) || (valueAxis->range().upper > 0 && valueAxis->rangeReversed())) // if range is negative, zero is on opposite side of key axis point.setY(keyAxis->axisRect()->top()); else point.setY(keyAxis->axisRect()->bottom()); } } return point; } /*! \internal called by \ref addFillBasePoints to conveniently assign the point which closes the fill polygon on the upper side of the zero-value-line parallel to the key axis. The logarithmic axis scale case is a bit special, since the zero-value-line in pixel coordinates is in positive or negative infinity. So this case is handled separately by just closing the fill polygon on the axis which lies in the direction towards the zero value. \a upperKey will be the the key (in pixels) of the returned point. Depending on whether the key axis is horizontal or vertical, \a upperKey will end up as the x or y value of the returned point, respectively. \see lowerFillBasePoint, addFillBasePoints */ QPointF QCPGraph::upperFillBasePoint(double upperKey) const { QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPointF(); } QPointF point; if (valueAxis->scaleType() == QCPAxis::stLinear) { if (keyAxis->axisType() == QCPAxis::atLeft) { point.setX(valueAxis->coordToPixel(0)); point.setY(upperKey); } else if (keyAxis->axisType() == QCPAxis::atRight) { point.setX(valueAxis->coordToPixel(0)); point.setY(upperKey); } else if (keyAxis->axisType() == QCPAxis::atTop) { point.setX(upperKey); point.setY(valueAxis->coordToPixel(0)); } else if (keyAxis->axisType() == QCPAxis::atBottom) { point.setX(upperKey); point.setY(valueAxis->coordToPixel(0)); } } else // valueAxis->mScaleType == QCPAxis::stLogarithmic { // In logarithmic scaling we can't just draw to value 0 so we just fill all the way // to the axis which is in the direction towards 0 if (keyAxis->orientation() == Qt::Vertical) { if ((valueAxis->range().upper < 0 && !valueAxis->rangeReversed()) || (valueAxis->range().upper > 0 && valueAxis->rangeReversed())) // if range is negative, zero is on opposite side of key axis point.setX(keyAxis->axisRect()->right()); else point.setX(keyAxis->axisRect()->left()); point.setY(upperKey); } else if (keyAxis->axisType() == QCPAxis::atTop || keyAxis->axisType() == QCPAxis::atBottom) { point.setX(upperKey); if ((valueAxis->range().upper < 0 && !valueAxis->rangeReversed()) || (valueAxis->range().upper > 0 && valueAxis->rangeReversed())) // if range is negative, zero is on opposite side of key axis point.setY(keyAxis->axisRect()->top()); else point.setY(keyAxis->axisRect()->bottom()); } } return point; } /*! \internal Generates the polygon needed for drawing channel fills between this graph (data passed via \a lineData) and the graph specified by mChannelFillGraph (data generated by calling its \ref getPlotData function). May return an empty polygon if the key ranges have no overlap or fill target graph and this graph don't have same orientation (i.e. both key axes horizontal or both key axes vertical). For increased performance (due to implicit sharing), keep the returned QPolygonF const. */ const QPolygonF QCPGraph::getChannelFillPolygon(const QVector *lineData) const { if (!mChannelFillGraph) return QPolygonF(); QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPolygonF(); } if (!mChannelFillGraph.data()->mKeyAxis) { qDebug() << Q_FUNC_INFO << "channel fill target key axis invalid"; return QPolygonF(); } if (mChannelFillGraph.data()->mKeyAxis.data()->orientation() != keyAxis->orientation()) return QPolygonF(); // don't have same axis orientation, can't fill that (Note: if keyAxis fits, valueAxis will fit too, because it's always orthogonal to keyAxis) if (lineData->isEmpty()) return QPolygonF(); QVector otherData; mChannelFillGraph.data()->getPlotData(&otherData, 0); if (otherData.isEmpty()) return QPolygonF(); QVector thisData; thisData.reserve(lineData->size()+otherData.size()); // because we will join both vectors at end of this function for (int i=0; isize(); ++i) // don't use the vector<<(vector), it squeezes internally, which ruins the performance tuning with reserve() thisData << lineData->at(i); // pointers to be able to swap them, depending which data range needs cropping: QVector *staticData = &thisData; QVector *croppedData = &otherData; // crop both vectors to ranges in which the keys overlap (which coord is key, depends on axisType): if (keyAxis->orientation() == Qt::Horizontal) { // x is key // if an axis range is reversed, the data point keys will be descending. Reverse them, since following algorithm assumes ascending keys: if (staticData->first().x() > staticData->last().x()) { int size = staticData->size(); for (int i=0; ifirst().x() > croppedData->last().x()) { int size = croppedData->size(); for (int i=0; ifirst().x() < croppedData->first().x()) // other one must be cropped qSwap(staticData, croppedData); int lowBound = findIndexBelowX(croppedData, staticData->first().x()); if (lowBound == -1) return QPolygonF(); // key ranges have no overlap croppedData->remove(0, lowBound); // set lowest point of cropped data to fit exactly key position of first static data // point via linear interpolation: if (croppedData->size() < 2) return QPolygonF(); // need at least two points for interpolation double slope; if (croppedData->at(1).x()-croppedData->at(0).x() != 0) slope = (croppedData->at(1).y()-croppedData->at(0).y())/(croppedData->at(1).x()-croppedData->at(0).x()); else slope = 0; (*croppedData)[0].setY(croppedData->at(0).y()+slope*(staticData->first().x()-croppedData->at(0).x())); (*croppedData)[0].setX(staticData->first().x()); // crop upper bound: if (staticData->last().x() > croppedData->last().x()) // other one must be cropped qSwap(staticData, croppedData); int highBound = findIndexAboveX(croppedData, staticData->last().x()); if (highBound == -1) return QPolygonF(); // key ranges have no overlap croppedData->remove(highBound+1, croppedData->size()-(highBound+1)); // set highest point of cropped data to fit exactly key position of last static data // point via linear interpolation: if (croppedData->size() < 2) return QPolygonF(); // need at least two points for interpolation int li = croppedData->size()-1; // last index if (croppedData->at(li).x()-croppedData->at(li-1).x() != 0) slope = (croppedData->at(li).y()-croppedData->at(li-1).y())/(croppedData->at(li).x()-croppedData->at(li-1).x()); else slope = 0; (*croppedData)[li].setY(croppedData->at(li-1).y()+slope*(staticData->last().x()-croppedData->at(li-1).x())); (*croppedData)[li].setX(staticData->last().x()); } else // mKeyAxis->orientation() == Qt::Vertical { // y is key // similar to "x is key" but switched x,y. Further, lower/upper meaning is inverted compared to x, // because in pixel coordinates, y increases from top to bottom, not bottom to top like data coordinate. // if an axis range is reversed, the data point keys will be descending. Reverse them, since following algorithm assumes ascending keys: if (staticData->first().y() < staticData->last().y()) { int size = staticData->size(); for (int i=0; ifirst().y() < croppedData->last().y()) { int size = croppedData->size(); for (int i=0; ifirst().y() > croppedData->first().y()) // other one must be cropped qSwap(staticData, croppedData); int lowBound = findIndexAboveY(croppedData, staticData->first().y()); if (lowBound == -1) return QPolygonF(); // key ranges have no overlap croppedData->remove(0, lowBound); // set lowest point of cropped data to fit exactly key position of first static data // point via linear interpolation: if (croppedData->size() < 2) return QPolygonF(); // need at least two points for interpolation double slope; if (croppedData->at(1).y()-croppedData->at(0).y() != 0) // avoid division by zero in step plots slope = (croppedData->at(1).x()-croppedData->at(0).x())/(croppedData->at(1).y()-croppedData->at(0).y()); else slope = 0; (*croppedData)[0].setX(croppedData->at(0).x()+slope*(staticData->first().y()-croppedData->at(0).y())); (*croppedData)[0].setY(staticData->first().y()); // crop upper bound: if (staticData->last().y() < croppedData->last().y()) // other one must be cropped qSwap(staticData, croppedData); int highBound = findIndexBelowY(croppedData, staticData->last().y()); if (highBound == -1) return QPolygonF(); // key ranges have no overlap croppedData->remove(highBound+1, croppedData->size()-(highBound+1)); // set highest point of cropped data to fit exactly key position of last static data // point via linear interpolation: if (croppedData->size() < 2) return QPolygonF(); // need at least two points for interpolation int li = croppedData->size()-1; // last index if (croppedData->at(li).y()-croppedData->at(li-1).y() != 0) // avoid division by zero in step plots slope = (croppedData->at(li).x()-croppedData->at(li-1).x())/(croppedData->at(li).y()-croppedData->at(li-1).y()); else slope = 0; (*croppedData)[li].setX(croppedData->at(li-1).x()+slope*(staticData->last().y()-croppedData->at(li-1).y())); (*croppedData)[li].setY(staticData->last().y()); } // return joined: for (int i=otherData.size()-1; i>=0; --i) // insert reversed, otherwise the polygon will be twisted thisData << otherData.at(i); return QPolygonF(thisData); } /*! \internal Finds the smallest index of \a data, whose points x value is just above \a x. Assumes x values in \a data points are ordered ascending, as is the case when plotting with horizontal key axis. Used to calculate the channel fill polygon, see \ref getChannelFillPolygon. */ int QCPGraph::findIndexAboveX(const QVector *data, double x) const { for (int i=data->size()-1; i>=0; --i) { if (data->at(i).x() < x) { if (isize()-1) return i+1; else return data->size()-1; } } return -1; } /*! \internal Finds the highest index of \a data, whose points x value is just below \a x. Assumes x values in \a data points are ordered ascending, as is the case when plotting with horizontal key axis. Used to calculate the channel fill polygon, see \ref getChannelFillPolygon. */ int QCPGraph::findIndexBelowX(const QVector *data, double x) const { for (int i=0; isize(); ++i) { if (data->at(i).x() > x) { if (i>0) return i-1; else return 0; } } return -1; } /*! \internal Finds the smallest index of \a data, whose points y value is just above \a y. Assumes y values in \a data points are ordered descending, as is the case when plotting with vertical key axis. Used to calculate the channel fill polygon, see \ref getChannelFillPolygon. */ int QCPGraph::findIndexAboveY(const QVector *data, double y) const { for (int i=0; isize(); ++i) { if (data->at(i).y() < y) { if (i>0) return i-1; else return 0; } } return -1; } /*! \internal Calculates the (minimum) distance (in pixels) the graph's representation has from the given \a pixelPoint in pixels. This is used to determine whether the graph was clicked or not, e.g. in \ref selectTest. If either the graph has no data or if the line style is \ref lsNone and the scatter style's shape is \ref QCPScatterStyle::ssNone (i.e. there is no visual representation of the graph), returns 500. */ double QCPGraph::pointDistance(const QPointF &pixelPoint) const { if (mData->isEmpty()) { qDebug() << Q_FUNC_INFO << "requested point distance on graph" << mName << "without data"; return 500; } if (mData->size() == 1) { QPointF dataPoint = coordsToPixels(mData->constBegin().key(), mData->constBegin().value().value); return QVector2D(dataPoint-pixelPoint).length(); } if (mLineStyle == lsNone && mScatterStyle.isNone()) return 500; // calculate minimum distances to graph representation: if (mLineStyle == lsNone) { // no line displayed, only calculate distance to scatter points: QVector *pointData = new QVector; getScatterPlotData(pointData); double minDistSqr = std::numeric_limits::max(); QPointF ptA; QPointF ptB = coordsToPixels(pointData->at(0).key, pointData->at(0).value); // getScatterPlotData returns in plot coordinates, so transform to pixels for (int i=1; isize(); ++i) { ptA = ptB; ptB = coordsToPixels(pointData->at(i).key, pointData->at(i).value); double currentDistSqr = distSqrToLine(ptA, ptB, pixelPoint); if (currentDistSqr < minDistSqr) minDistSqr = currentDistSqr; } delete pointData; return sqrt(minDistSqr); } else { // line displayed calculate distance to line segments: QVector *lineData = new QVector; getPlotData(lineData, 0); // unlike with getScatterPlotData we get pixel coordinates here double minDistSqr = std::numeric_limits::max(); if (mLineStyle == lsImpulse) { // impulse plot differs from other line styles in that the lineData points are only pairwise connected: for (int i=0; isize()-1; i+=2) // iterate pairs { double currentDistSqr = distSqrToLine(lineData->at(i), lineData->at(i+1), pixelPoint); if (currentDistSqr < minDistSqr) minDistSqr = currentDistSqr; } } else { // all other line plots (line and step) connect points directly: for (int i=0; isize()-1; ++i) { double currentDistSqr = distSqrToLine(lineData->at(i), lineData->at(i+1), pixelPoint); if (currentDistSqr < minDistSqr) minDistSqr = currentDistSqr; } } delete lineData; return sqrt(minDistSqr); } } /*! \internal Finds the highest index of \a data, whose points y value is just below \a y. Assumes y values in \a data points are ordered descending, as is the case when plotting with vertical key axis (since keys are ordered ascending). Used to calculate the channel fill polygon, see \ref getChannelFillPolygon. */ int QCPGraph::findIndexBelowY(const QVector *data, double y) const { for (int i=data->size()-1; i>=0; --i) { if (data->at(i).y() > y) { if (isize()-1) return i+1; else return data->size()-1; } } return -1; } /* inherits documentation from base class */ QCPRange QCPGraph::getKeyRange(bool &validRange, SignDomain inSignDomain) const { // just call the specialized version which takes an additional argument whether error bars // should also be taken into consideration for range calculation. We set this to true here. return getKeyRange(validRange, inSignDomain, true); } /* inherits documentation from base class */ QCPRange QCPGraph::getValueRange(bool &validRange, SignDomain inSignDomain) const { // just call the specialized version which takes an additional argument whether error bars // should also be taken into consideration for range calculation. We set this to true here. return getValueRange(validRange, inSignDomain, true); } /*! \overload Allows to specify whether the error bars should be included in the range calculation. \see getKeyRange(bool &validRange, SignDomain inSignDomain) */ QCPRange QCPGraph::getKeyRange(bool &validRange, SignDomain inSignDomain, bool includeErrors) const { QCPRange range; bool haveLower = false; bool haveUpper = false; double current, currentErrorMinus, currentErrorPlus; if (inSignDomain == sdBoth) // range may be anywhere { QCPDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().key; currentErrorMinus = (includeErrors ? it.value().keyErrorMinus : 0); currentErrorPlus = (includeErrors ? it.value().keyErrorPlus : 0); if (current-currentErrorMinus < range.lower || !haveLower) { range.lower = current-currentErrorMinus; haveLower = true; } if (current+currentErrorPlus > range.upper || !haveUpper) { range.upper = current+currentErrorPlus; haveUpper = true; } ++it; } } else if (inSignDomain == sdNegative) // range may only be in the negative sign domain { QCPDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().key; currentErrorMinus = (includeErrors ? it.value().keyErrorMinus : 0); currentErrorPlus = (includeErrors ? it.value().keyErrorPlus : 0); if ((current-currentErrorMinus < range.lower || !haveLower) && current-currentErrorMinus < 0) { range.lower = current-currentErrorMinus; haveLower = true; } if ((current+currentErrorPlus > range.upper || !haveUpper) && current+currentErrorPlus < 0) { range.upper = current+currentErrorPlus; haveUpper = true; } if (includeErrors) // in case point is in valid sign domain but errobars stretch beyond it, we still want to geht that point. { if ((current < range.lower || !haveLower) && current < 0) { range.lower = current; haveLower = true; } if ((current > range.upper || !haveUpper) && current < 0) { range.upper = current; haveUpper = true; } } ++it; } } else if (inSignDomain == sdPositive) // range may only be in the positive sign domain { QCPDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().key; currentErrorMinus = (includeErrors ? it.value().keyErrorMinus : 0); currentErrorPlus = (includeErrors ? it.value().keyErrorPlus : 0); if ((current-currentErrorMinus < range.lower || !haveLower) && current-currentErrorMinus > 0) { range.lower = current-currentErrorMinus; haveLower = true; } if ((current+currentErrorPlus > range.upper || !haveUpper) && current+currentErrorPlus > 0) { range.upper = current+currentErrorPlus; haveUpper = true; } if (includeErrors) // in case point is in valid sign domain but errobars stretch beyond it, we still want to get that point. { if ((current < range.lower || !haveLower) && current > 0) { range.lower = current; haveLower = true; } if ((current > range.upper || !haveUpper) && current > 0) { range.upper = current; haveUpper = true; } } ++it; } } validRange = haveLower && haveUpper; return range; } /*! \overload Allows to specify whether the error bars should be included in the range calculation. \see getValueRange(bool &validRange, SignDomain inSignDomain) */ QCPRange QCPGraph::getValueRange(bool &validRange, SignDomain inSignDomain, bool includeErrors) const { QCPRange range; bool haveLower = false; bool haveUpper = false; double current, currentErrorMinus, currentErrorPlus; if (inSignDomain == sdBoth) // range may be anywhere { QCPDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().value; currentErrorMinus = (includeErrors ? it.value().valueErrorMinus : 0); currentErrorPlus = (includeErrors ? it.value().valueErrorPlus : 0); if (current-currentErrorMinus < range.lower || !haveLower) { range.lower = current-currentErrorMinus; haveLower = true; } if (current+currentErrorPlus > range.upper || !haveUpper) { range.upper = current+currentErrorPlus; haveUpper = true; } ++it; } } else if (inSignDomain == sdNegative) // range may only be in the negative sign domain { QCPDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().value; currentErrorMinus = (includeErrors ? it.value().valueErrorMinus : 0); currentErrorPlus = (includeErrors ? it.value().valueErrorPlus : 0); if ((current-currentErrorMinus < range.lower || !haveLower) && current-currentErrorMinus < 0) { range.lower = current-currentErrorMinus; haveLower = true; } if ((current+currentErrorPlus > range.upper || !haveUpper) && current+currentErrorPlus < 0) { range.upper = current+currentErrorPlus; haveUpper = true; } if (includeErrors) // in case point is in valid sign domain but errobars stretch beyond it, we still want to get that point. { if ((current < range.lower || !haveLower) && current < 0) { range.lower = current; haveLower = true; } if ((current > range.upper || !haveUpper) && current < 0) { range.upper = current; haveUpper = true; } } ++it; } } else if (inSignDomain == sdPositive) // range may only be in the positive sign domain { QCPDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().value; currentErrorMinus = (includeErrors ? it.value().valueErrorMinus : 0); currentErrorPlus = (includeErrors ? it.value().valueErrorPlus : 0); if ((current-currentErrorMinus < range.lower || !haveLower) && current-currentErrorMinus > 0) { range.lower = current-currentErrorMinus; haveLower = true; } if ((current+currentErrorPlus > range.upper || !haveUpper) && current+currentErrorPlus > 0) { range.upper = current+currentErrorPlus; haveUpper = true; } if (includeErrors) // in case point is in valid sign domain but errobars stretch beyond it, we still want to geht that point. { if ((current < range.lower || !haveLower) && current > 0) { range.lower = current; haveLower = true; } if ((current > range.upper || !haveUpper) && current > 0) { range.upper = current; haveUpper = true; } } ++it; } } validRange = haveLower && haveUpper; return range; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPCurveData //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPCurveData \brief Holds the data of one single data point for QCPCurve. The container for storing multiple data points is \ref QCPCurveDataMap. The stored data is: \li \a t: the free parameter of the curve at this curve point (cp. the mathematical vector (x(t), y(t))) \li \a key: coordinate on the key axis of this curve point \li \a value: coordinate on the value axis of this curve point \see QCPCurveDataMap */ /*! Constructs a curve data point with t, key and value set to zero. */ QCPCurveData::QCPCurveData() : t(0), key(0), value(0) { } /*! Constructs a curve data point with the specified \a t, \a key and \a value. */ QCPCurveData::QCPCurveData(double t, double key, double value) : t(t), key(key), value(value) { } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPCurve //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPCurve \brief A plottable representing a parametric curve in a plot. \image html QCPCurve.png Unlike QCPGraph, plottables of this type may have multiple points with the same key coordinate, so their visual representation can have \a loops. This is realized by introducing a third coordinate \a t, which defines the order of the points described by the other two coordinates \a x and \a y. To plot data, assign it with the \ref setData or \ref addData functions. \section appearance Changing the appearance The appearance of the curve is determined by the pen and the brush (\ref setPen, \ref setBrush). \section usage Usage Like all data representing objects in QCustomPlot, the QCPCurve is a plottable (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies (QCustomPlot::plottable, QCustomPlot::addPlottable, QCustomPlot::removePlottable, etc.) Usually, you first create an instance: \code QCPCurve *newCurve = new QCPCurve(customPlot->xAxis, customPlot->yAxis);\endcode add it to the customPlot with QCustomPlot::addPlottable: \code customPlot->addPlottable(newCurve);\endcode and then modify the properties of the newly created plottable, e.g.: \code newCurve->setName("Fermat's Spiral"); newCurve->setData(tData, xData, yData);\endcode */ /*! Constructs a curve which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though. The constructed QCPCurve can be added to the plot with QCustomPlot::addPlottable, QCustomPlot then takes ownership of the graph. */ QCPCurve::QCPCurve(QCPAxis *keyAxis, QCPAxis *valueAxis) : QCPAbstractPlottable(keyAxis, valueAxis) { mData = new QCPCurveDataMap; mPen.setColor(Qt::blue); mPen.setStyle(Qt::SolidLine); mBrush.setColor(Qt::blue); mBrush.setStyle(Qt::NoBrush); mSelectedPen = mPen; mSelectedPen.setWidthF(2.5); mSelectedPen.setColor(QColor(80, 80, 255)); // lighter than Qt::blue of mPen mSelectedBrush = mBrush; setScatterStyle(QCPScatterStyle()); setLineStyle(lsLine); } QCPCurve::~QCPCurve() { delete mData; } /*! Replaces the current data with the provided \a data. If \a copy is set to true, data points in \a data will only be copied. if false, the plottable takes ownership of the passed data and replaces the internal data pointer with it. This is significantly faster than copying for large datasets. */ void QCPCurve::setData(QCPCurveDataMap *data, bool copy) { if (copy) { *mData = *data; } else { delete mData; mData = data; } } /*! \overload Replaces the current data with the provided points in \a t, \a key and \a value tuples. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. */ void QCPCurve::setData(const QVector &t, const QVector &key, const QVector &value) { mData->clear(); int n = t.size(); n = qMin(n, key.size()); n = qMin(n, value.size()); QCPCurveData newData; for (int i=0; iinsertMulti(newData.t, newData); } } /*! \overload Replaces the current data with the provided \a key and \a value pairs. The t parameter of each data point will be set to the integer index of the respective key/value pair. */ void QCPCurve::setData(const QVector &key, const QVector &value) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); QCPCurveData newData; for (int i=0; iinsertMulti(newData.t, newData); } } /*! Sets the visual appearance of single data points in the plot. If set to \ref QCPScatterStyle::ssNone, no scatter points are drawn (e.g. for line-only plots with appropriate line style). \see QCPScatterStyle, setLineStyle */ void QCPCurve::setScatterStyle(const QCPScatterStyle &style) { mScatterStyle = style; } /*! Sets how the single data points are connected in the plot or how they are represented visually apart from the scatter symbol. For scatter-only plots, set \a style to \ref lsNone and \ref setScatterStyle to the desired scatter style. \see setScatterStyle */ void QCPCurve::setLineStyle(QCPCurve::LineStyle style) { mLineStyle = style; } /*! Adds the provided data points in \a dataMap to the current data. \see removeData */ void QCPCurve::addData(const QCPCurveDataMap &dataMap) { mData->unite(dataMap); } /*! \overload Adds the provided single data point in \a data to the current data. \see removeData */ void QCPCurve::addData(const QCPCurveData &data) { mData->insertMulti(data.t, data); } /*! \overload Adds the provided single data point as \a t, \a key and \a value tuple to the current data \see removeData */ void QCPCurve::addData(double t, double key, double value) { QCPCurveData newData; newData.t = t; newData.key = key; newData.value = value; mData->insertMulti(newData.t, newData); } /*! \overload Adds the provided single data point as \a key and \a value pair to the current data The t parameter of the data point is set to the t of the last data point plus 1. If there is no last data point, t will be set to 0. \see removeData */ void QCPCurve::addData(double key, double value) { QCPCurveData newData; if (!mData->isEmpty()) newData.t = (mData->constEnd()-1).key()+1; else newData.t = 0; newData.key = key; newData.value = value; mData->insertMulti(newData.t, newData); } /*! \overload Adds the provided data points as \a t, \a key and \a value tuples to the current data. \see removeData */ void QCPCurve::addData(const QVector &ts, const QVector &keys, const QVector &values) { int n = ts.size(); n = qMin(n, keys.size()); n = qMin(n, values.size()); QCPCurveData newData; for (int i=0; iinsertMulti(newData.t, newData); } } /*! Removes all data points with curve parameter t smaller than \a t. \see addData, clearData */ void QCPCurve::removeDataBefore(double t) { QCPCurveDataMap::iterator it = mData->begin(); while (it != mData->end() && it.key() < t) it = mData->erase(it); } /*! Removes all data points with curve parameter t greater than \a t. \see addData, clearData */ void QCPCurve::removeDataAfter(double t) { if (mData->isEmpty()) return; QCPCurveDataMap::iterator it = mData->upperBound(t); while (it != mData->end()) it = mData->erase(it); } /*! Removes all data points with curve parameter t between \a fromt and \a tot. if \a fromt is greater or equal to \a tot, the function does nothing. To remove a single data point with known t, use \ref removeData(double t). \see addData, clearData */ void QCPCurve::removeData(double fromt, double tot) { if (fromt >= tot || mData->isEmpty()) return; QCPCurveDataMap::iterator it = mData->upperBound(fromt); QCPCurveDataMap::iterator itEnd = mData->upperBound(tot); while (it != itEnd) it = mData->erase(it); } /*! \overload Removes a single data point at curve parameter \a t. If the position is not known with absolute precision, consider using \ref removeData(double fromt, double tot) with a small fuzziness interval around the suspected position, depeding on the precision with which the curve parameter is known. \see addData, clearData */ void QCPCurve::removeData(double t) { mData->remove(t); } /*! Removes all data points. \see removeData, removeDataAfter, removeDataBefore */ void QCPCurve::clearData() { mData->clear(); } /* inherits documentation from base class */ double QCPCurve::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if ((onlySelectable && !mSelectable) || mData->isEmpty()) return -1; return pointDistance(pos); } /* inherits documentation from base class */ void QCPCurve::draw(QCPPainter *painter) { if (mData->isEmpty()) return; // allocate line vector: QVector *lineData = new QVector; // fill with curve data: getCurveData(lineData); // check data validity if flag set: #ifdef QCUSTOMPLOT_CHECK_DATA QCPCurveDataMap::const_iterator it; for (it = mData->constBegin(); it != mData->constEnd(); ++it) { if (QCP::isInvalidData(it.value().t) || QCP::isInvalidData(it.value().key, it.value().value)) qDebug() << Q_FUNC_INFO << "Data point at" << it.key() << "invalid." << "Plottable name:" << name(); } #endif // draw curve fill: if (mainBrush().style() != Qt::NoBrush && mainBrush().color().alpha() != 0) { applyFillAntialiasingHint(painter); painter->setPen(Qt::NoPen); painter->setBrush(mainBrush()); painter->drawPolygon(QPolygonF(*lineData)); } // draw curve line: if (mLineStyle != lsNone && mainPen().style() != Qt::NoPen && mainPen().color().alpha() != 0) { applyDefaultAntialiasingHint(painter); painter->setPen(mainPen()); painter->setBrush(Qt::NoBrush); // if drawing solid line and not in PDF, use much faster line drawing instead of polyline: if (mParentPlot->plottingHints().testFlag(QCP::phFastPolylines) && painter->pen().style() == Qt::SolidLine && !painter->modes().testFlag(QCPPainter::pmVectorized) && !painter->modes().testFlag(QCPPainter::pmNoCaching)) { for (int i=1; isize(); ++i) painter->drawLine(lineData->at(i-1), lineData->at(i)); } else { painter->drawPolyline(QPolygonF(*lineData)); } } // draw scatters: if (!mScatterStyle.isNone()) drawScatterPlot(painter, lineData); // free allocated line data: delete lineData; } /* inherits documentation from base class */ void QCPCurve::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const { // draw fill: if (mBrush.style() != Qt::NoBrush) { applyFillAntialiasingHint(painter); painter->fillRect(QRectF(rect.left(), rect.top()+rect.height()/2.0, rect.width(), rect.height()/3.0), mBrush); } // draw line vertically centered: if (mLineStyle != lsNone) { applyDefaultAntialiasingHint(painter); painter->setPen(mPen); painter->drawLine(QLineF(rect.left(), rect.top()+rect.height()/2.0, rect.right()+5, rect.top()+rect.height()/2.0)); // +5 on x2 else last segment is missing from dashed/dotted pens } // draw scatter symbol: if (!mScatterStyle.isNone()) { applyScattersAntialiasingHint(painter); // scale scatter pixmap if it's too large to fit in legend icon rect: if (mScatterStyle.shape() == QCPScatterStyle::ssPixmap && (mScatterStyle.pixmap().size().width() > rect.width() || mScatterStyle.pixmap().size().height() > rect.height())) { QCPScatterStyle scaledStyle(mScatterStyle); scaledStyle.setPixmap(scaledStyle.pixmap().scaled(rect.size().toSize(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); scaledStyle.applyTo(painter, mPen); scaledStyle.drawShape(painter, QRectF(rect).center()); } else { mScatterStyle.applyTo(painter, mPen); mScatterStyle.drawShape(painter, QRectF(rect).center()); } } } /*! \internal Draws scatter symbols at every data point passed in \a pointData. scatter symbols are independent of the line style and are always drawn if scatter shape is not \ref QCPScatterStyle::ssNone. */ void QCPCurve::drawScatterPlot(QCPPainter *painter, const QVector *pointData) const { // draw scatter point symbols: applyScattersAntialiasingHint(painter); mScatterStyle.applyTo(painter, mPen); for (int i=0; isize(); ++i) mScatterStyle.drawShape(painter, pointData->at(i)); } /*! \internal called by QCPCurve::draw to generate a point vector (pixels) which represents the line of the curve. Line segments that aren't visible in the current axis rect are handled in an optimized way. */ void QCPCurve::getCurveData(QVector *lineData) const { /* Extended sides of axis rect R divide space into 9 regions: 1__|_4_|__7 2__|_R_|__8 3 | 6 | 9 General idea: If the two points of a line segment are in the same region (that is not R), the line segment corner is removed. Curves outside R become straight lines closely outside of R which greatly reduces drawing time, yet keeps the look of lines and fills inside R consistent. The region R has index 5. */ QCPAxis *keyAxis = mKeyAxis.data(); QCPAxis *valueAxis = mValueAxis.data(); if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } QRect axisRect = mKeyAxis.data()->axisRect()->rect() & mValueAxis.data()->axisRect()->rect(); lineData->reserve(mData->size()); QCPCurveDataMap::const_iterator it; int lastRegion = 5; int currentRegion = 5; double RLeft = keyAxis->range().lower; double RRight = keyAxis->range().upper; double RBottom = valueAxis->range().lower; double RTop = valueAxis->range().upper; double x, y; // current key/value bool addedLastAlready = true; bool firstPoint = true; // first point must always be drawn, to make sure fill works correctly for (it = mData->constBegin(); it != mData->constEnd(); ++it) { x = it.value().key; y = it.value().value; // determine current region: if (x < RLeft) // region 123 { if (y > RTop) currentRegion = 1; else if (y < RBottom) currentRegion = 3; else currentRegion = 2; } else if (x > RRight) // region 789 { if (y > RTop) currentRegion = 7; else if (y < RBottom) currentRegion = 9; else currentRegion = 8; } else // region 456 { if (y > RTop) currentRegion = 4; else if (y < RBottom) currentRegion = 6; else currentRegion = 5; } /* Watch out, the next part is very tricky. It modifies the curve such that it seems like the whole thing is still drawn, but actually the points outside the axisRect are simplified ("optimized") greatly. There are some subtle special cases when line segments are large and thereby each subsequent point may be in a different region or even skip some. */ // determine whether to keep current point: if (currentRegion == 5 || (firstPoint && mBrush.style() != Qt::NoBrush)) // current is in R, add current and last if it wasn't added already { if (!addedLastAlready) // in case curve just entered R, make sure the last point outside R is also drawn correctly lineData->append(coordsToPixels((it-1).value().key, (it-1).value().value)); // add last point to vector else if (lastRegion != 5) // added last already. If that's the case, we probably added it at optimized position. So go back and make sure it's at original position (else the angle changes under which this segment enters R) { if (!firstPoint) // because on firstPoint, currentRegion is 5 and addedLastAlready is true, although there is no last point lineData->replace(lineData->size()-1, coordsToPixels((it-1).value().key, (it-1).value().value)); } lineData->append(coordsToPixels(it.value().key, it.value().value)); // add current point to vector addedLastAlready = true; // so in next iteration, we don't add this point twice } else if (currentRegion != lastRegion) // changed region, add current and last if not added already { // using outsideCoordsToPixels instead of coorsToPixels for optimized point placement (places points just outside axisRect instead of potentially far away) // if we're coming from R or we skip diagonally over the corner regions (so line might still be visible in R), we can't place points optimized if (lastRegion == 5 || // coming from R ((lastRegion==2 && currentRegion==4) || (lastRegion==4 && currentRegion==2)) || // skip top left diagonal ((lastRegion==4 && currentRegion==8) || (lastRegion==8 && currentRegion==4)) || // skip top right diagonal ((lastRegion==8 && currentRegion==6) || (lastRegion==6 && currentRegion==8)) || // skip bottom right diagonal ((lastRegion==6 && currentRegion==2) || (lastRegion==2 && currentRegion==6)) // skip bottom left diagonal ) { // always add last point if not added already, original: if (!addedLastAlready) lineData->append(coordsToPixels((it-1).value().key, (it-1).value().value)); // add current point, original: lineData->append(coordsToPixels(it.value().key, it.value().value)); } else // no special case that forbids optimized point placement, so do it: { // always add last point if not added already, optimized: if (!addedLastAlready) lineData->append(outsideCoordsToPixels((it-1).value().key, (it-1).value().value, currentRegion, axisRect)); // add current point, optimized: lineData->append(outsideCoordsToPixels(it.value().key, it.value().value, currentRegion, axisRect)); } addedLastAlready = true; // so that if next point enters 5, or crosses another region boundary, we don't add this point twice } else // neither in R, nor crossed a region boundary, skip current point { addedLastAlready = false; } lastRegion = currentRegion; firstPoint = false; } // If curve ends outside R, we want to add very last point so the fill looks like it should when the curve started inside R: if (lastRegion != 5 && mBrush.style() != Qt::NoBrush && !mData->isEmpty()) lineData->append(coordsToPixels((mData->constEnd()-1).value().key, (mData->constEnd()-1).value().value)); } /*! \internal Calculates the (minimum) distance (in pixels) the curve's representation has from the given \a pixelPoint in pixels. This is used to determine whether the curve was clicked or not, e.g. in \ref selectTest. */ double QCPCurve::pointDistance(const QPointF &pixelPoint) const { if (mData->isEmpty()) { qDebug() << Q_FUNC_INFO << "requested point distance on curve" << mName << "without data"; return 500; } if (mData->size() == 1) { QPointF dataPoint = coordsToPixels(mData->constBegin().key(), mData->constBegin().value().value); return QVector2D(dataPoint-pixelPoint).length(); } // calculate minimum distance to line segments: QVector *lineData = new QVector; getCurveData(lineData); double minDistSqr = std::numeric_limits::max(); for (int i=0; isize()-1; ++i) { double currentDistSqr = distSqrToLine(lineData->at(i), lineData->at(i+1), pixelPoint); if (currentDistSqr < minDistSqr) minDistSqr = currentDistSqr; } delete lineData; return sqrt(minDistSqr); } /*! \internal This is a specialized \ref coordsToPixels function for points that are outside the visible axisRect and just crossing a boundary (since \ref getCurveData reduces non-visible curve segments to those line segments that cross region boundaries, see documentation there). It only uses the coordinate parallel to the region boundary of the axisRect. The other coordinate is picked just outside the axisRect (how far is determined by the scatter size and the line width). Together with the optimization in \ref getCurveData this improves performance for large curves (or zoomed in ones) significantly while keeping the illusion the whole curve and its filling is still being drawn for the viewer. */ QPointF QCPCurve::outsideCoordsToPixels(double key, double value, int region, QRect axisRect) const { int margin = qCeil(qMax(mScatterStyle.size(), (double)mPen.widthF())) + 2; QPointF result = coordsToPixels(key, value); switch (region) { case 2: result.setX(axisRect.left()-margin); break; // left case 8: result.setX(axisRect.right()+margin); break; // right case 4: result.setY(axisRect.top()-margin); break; // top case 6: result.setY(axisRect.bottom()+margin); break; // bottom case 1: result.setX(axisRect.left()-margin); result.setY(axisRect.top()-margin); break; // top left case 7: result.setX(axisRect.right()+margin); result.setY(axisRect.top()-margin); break; // top right case 9: result.setX(axisRect.right()+margin); result.setY(axisRect.bottom()+margin); break; // bottom right case 3: result.setX(axisRect.left()-margin); result.setY(axisRect.bottom()+margin); break; // bottom left } return result; } /* inherits documentation from base class */ QCPRange QCPCurve::getKeyRange(bool &validRange, SignDomain inSignDomain) const { QCPRange range; bool haveLower = false; bool haveUpper = false; double current; QCPCurveDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().key; if (inSignDomain == sdBoth || (inSignDomain == sdNegative && current < 0) || (inSignDomain == sdPositive && current > 0)) { if (current < range.lower || !haveLower) { range.lower = current; haveLower = true; } if (current > range.upper || !haveUpper) { range.upper = current; haveUpper = true; } } ++it; } validRange = haveLower && haveUpper; return range; } /* inherits documentation from base class */ QCPRange QCPCurve::getValueRange(bool &validRange, SignDomain inSignDomain) const { QCPRange range; bool haveLower = false; bool haveUpper = false; double current; QCPCurveDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().value; if (inSignDomain == sdBoth || (inSignDomain == sdNegative && current < 0) || (inSignDomain == sdPositive && current > 0)) { if (current < range.lower || !haveLower) { range.lower = current; haveLower = true; } if (current > range.upper || !haveUpper) { range.upper = current; haveUpper = true; } } ++it; } validRange = haveLower && haveUpper; return range; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPBarData //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPBarData \brief Holds the data of one single data point (one bar) for QCPBars. The container for storing multiple data points is \ref QCPBarDataMap. The stored data is: \li \a key: coordinate on the key axis of this bar \li \a value: height coordinate on the value axis of this bar \see QCPBarDataaMap */ /*! Constructs a bar data point with key and value set to zero. */ QCPBarData::QCPBarData() : key(0), value(0) { } /*! Constructs a bar data point with the specified \a key and \a value. */ QCPBarData::QCPBarData(double key, double value) : key(key), value(value) { } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPBars //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPBars \brief A plottable representing a bar chart in a plot. \image html QCPBars.png To plot data, assign it with the \ref setData or \ref addData functions. \section appearance Changing the appearance The appearance of the bars is determined by the pen and the brush (\ref setPen, \ref setBrush). Bar charts are stackable. This means, Two QCPBars plottables can be placed on top of each other (see \ref QCPBars::moveAbove). Then, when two bars are at the same key position, they will appear stacked. \section usage Usage Like all data representing objects in QCustomPlot, the QCPBars is a plottable (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies (QCustomPlot::plottable, QCustomPlot::addPlottable, QCustomPlot::removePlottable, etc.) Usually, you first create an instance: \code QCPBars *newBars = new QCPBars(customPlot->xAxis, customPlot->yAxis);\endcode add it to the customPlot with QCustomPlot::addPlottable: \code customPlot->addPlottable(newBars);\endcode and then modify the properties of the newly created plottable, e.g.: \code newBars->setName("Country population"); newBars->setData(xData, yData);\endcode */ /*! \fn QCPBars *QCPBars::barBelow() const Returns the bars plottable that is directly below this bars plottable. If there is no such plottable, returns 0. \see barAbove, moveBelow, moveAbove */ /*! \fn QCPBars *QCPBars::barAbove() const Returns the bars plottable that is directly above this bars plottable. If there is no such plottable, returns 0. \see barBelow, moveBelow, moveAbove */ /*! Constructs a bar chart which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though. The constructed QCPBars can be added to the plot with QCustomPlot::addPlottable, QCustomPlot then takes ownership of the bar chart. */ QCPBars::QCPBars(QCPAxis *keyAxis, QCPAxis *valueAxis) : QCPAbstractPlottable(keyAxis, valueAxis) { mData = new QCPBarDataMap; mPen.setColor(Qt::blue); mPen.setStyle(Qt::SolidLine); mBrush.setColor(QColor(40, 50, 255, 30)); mBrush.setStyle(Qt::SolidPattern); mSelectedPen = mPen; mSelectedPen.setWidthF(2.5); mSelectedPen.setColor(QColor(80, 80, 255)); // lighter than Qt::blue of mPen mSelectedBrush = mBrush; mWidth = 0.75; } QCPBars::~QCPBars() { if (mBarBelow || mBarAbove) connectBars(mBarBelow.data(), mBarAbove.data()); // take this bar out of any stacking delete mData; } /*! Sets the width of the bars in plot (key) coordinates. */ void QCPBars::setWidth(double width) { mWidth = width; } /*! Replaces the current data with the provided \a data. If \a copy is set to true, data points in \a data will only be copied. if false, the plottable takes ownership of the passed data and replaces the internal data pointer with it. This is significantly faster than copying for large datasets. */ void QCPBars::setData(QCPBarDataMap *data, bool copy) { if (copy) { *mData = *data; } else { delete mData; mData = data; } } /*! \overload Replaces the current data with the provided points in \a key and \a value tuples. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. */ void QCPBars::setData(const QVector &key, const QVector &value) { mData->clear(); int n = key.size(); n = qMin(n, value.size()); QCPBarData newData; for (int i=0; iinsertMulti(newData.key, newData); } } /*! Moves this bars plottable below \a bars. In other words, the bars of this plottable will appear below the bars of \a bars. The move target \a bars must use the same key and value axis as this plottable. Inserting into and removing from existing bar stacking is handled gracefully. If \a bars already has a bars object below itself, this bars object is inserted between the two. If this bars object is already between two other bars, the two other bars will be stacked on top of each other after the operation. To remove this bars plottable from any stacking, set \a bars to 0. \see moveBelow, barAbove, barBelow */ void QCPBars::moveBelow(QCPBars *bars) { if (bars == this) return; if (bars && (bars->keyAxis() != mKeyAxis.data() || bars->valueAxis() != mValueAxis.data())) { qDebug() << Q_FUNC_INFO << "passed QCPBars* doesn't have same key and value axis as this QCPBars"; return; } // remove from stacking: connectBars(mBarBelow.data(), mBarAbove.data()); // Note: also works if one (or both) of them is 0 // if new bar given, insert this bar below it: if (bars) { if (bars->mBarBelow) connectBars(bars->mBarBelow.data(), this); connectBars(this, bars); } } /*! Moves this bars plottable above \a bars. In other words, the bars of this plottable will appear above the bars of \a bars. The move target \a bars must use the same key and value axis as this plottable. Inserting into and removing from existing bar stacking is handled gracefully. If \a bars already has a bars object below itself, this bars object is inserted between the two. If this bars object is already between two other bars, the two other bars will be stacked on top of each other after the operation. To remove this bars plottable from any stacking, set \a bars to 0. \see moveBelow, barBelow, barAbove */ void QCPBars::moveAbove(QCPBars *bars) { if (bars == this) return; if (bars && (bars->keyAxis() != mKeyAxis.data() || bars->valueAxis() != mValueAxis.data())) { qDebug() << Q_FUNC_INFO << "passed QCPBars* doesn't have same key and value axis as this QCPBars"; return; } // remove from stacking: connectBars(mBarBelow.data(), mBarAbove.data()); // Note: also works if one (or both) of them is 0 // if new bar given, insert this bar above it: if (bars) { if (bars->mBarAbove) connectBars(this, bars->mBarAbove.data()); connectBars(bars, this); } } /*! Adds the provided data points in \a dataMap to the current data. \see removeData */ void QCPBars::addData(const QCPBarDataMap &dataMap) { mData->unite(dataMap); } /*! \overload Adds the provided single data point in \a data to the current data. \see removeData */ void QCPBars::addData(const QCPBarData &data) { mData->insertMulti(data.key, data); } /*! \overload Adds the provided single data point as \a key and \a value tuple to the current data \see removeData */ void QCPBars::addData(double key, double value) { QCPBarData newData; newData.key = key; newData.value = value; mData->insertMulti(newData.key, newData); } /*! \overload Adds the provided data points as \a key and \a value tuples to the current data. \see removeData */ void QCPBars::addData(const QVector &keys, const QVector &values) { int n = keys.size(); n = qMin(n, values.size()); QCPBarData newData; for (int i=0; iinsertMulti(newData.key, newData); } } /*! Removes all data points with key smaller than \a key. \see addData, clearData */ void QCPBars::removeDataBefore(double key) { QCPBarDataMap::iterator it = mData->begin(); while (it != mData->end() && it.key() < key) it = mData->erase(it); } /*! Removes all data points with key greater than \a key. \see addData, clearData */ void QCPBars::removeDataAfter(double key) { if (mData->isEmpty()) return; QCPBarDataMap::iterator it = mData->upperBound(key); while (it != mData->end()) it = mData->erase(it); } /*! Removes all data points with key between \a fromKey and \a toKey. if \a fromKey is greater or equal to \a toKey, the function does nothing. To remove a single data point with known key, use \ref removeData(double key). \see addData, clearData */ void QCPBars::removeData(double fromKey, double toKey) { if (fromKey >= toKey || mData->isEmpty()) return; QCPBarDataMap::iterator it = mData->upperBound(fromKey); QCPBarDataMap::iterator itEnd = mData->upperBound(toKey); while (it != itEnd) it = mData->erase(it); } /*! \overload Removes a single data point at \a key. If the position is not known with absolute precision, consider using \ref removeData(double fromKey, double toKey) with a small fuzziness interval around the suspected position, depeding on the precision with which the key is known. \see addData, clearData */ void QCPBars::removeData(double key) { mData->remove(key); } /*! Removes all data points. \see removeData, removeDataAfter, removeDataBefore */ void QCPBars::clearData() { mData->clear(); } /* inherits documentation from base class */ double QCPBars::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; QCPBarDataMap::ConstIterator it; double posKey, posValue; pixelsToCoords(pos, posKey, posValue); for (it = mData->constBegin(); it != mData->constEnd(); ++it) { double baseValue = getBaseValue(it.key(), it.value().value >=0); QCPRange keyRange(it.key()-mWidth*0.5, it.key()+mWidth*0.5); QCPRange valueRange(baseValue, baseValue+it.value().value); if (keyRange.contains(posKey) && valueRange.contains(posValue)) return mParentPlot->selectionTolerance()*0.99; } return -1; } /* inherits documentation from base class */ void QCPBars::draw(QCPPainter *painter) { if (!mKeyAxis || !mValueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } if (mData->isEmpty()) return; QCPBarDataMap::const_iterator it; for (it = mData->constBegin(); it != mData->constEnd(); ++it) { // skip bar if not visible in key axis range: if (it.key()+mWidth*0.5 < mKeyAxis.data()->range().lower || it.key()-mWidth*0.5 > mKeyAxis.data()->range().upper) continue; // check data validity if flag set: #ifdef QCUSTOMPLOT_CHECK_DATA if (QCP::isInvalidData(it.value().key, it.value().value)) qDebug() << Q_FUNC_INFO << "Data point at" << it.key() << "of drawn range invalid." << "Plottable name:" << name(); #endif QPolygonF barPolygon = getBarPolygon(it.key(), it.value().value); // draw bar fill: if (mainBrush().style() != Qt::NoBrush && mainBrush().color().alpha() != 0) { applyFillAntialiasingHint(painter); painter->setPen(Qt::NoPen); painter->setBrush(mainBrush()); painter->drawPolygon(barPolygon); } // draw bar line: if (mainPen().style() != Qt::NoPen && mainPen().color().alpha() != 0) { applyDefaultAntialiasingHint(painter); painter->setPen(mainPen()); painter->setBrush(Qt::NoBrush); painter->drawPolyline(barPolygon); } } } /* inherits documentation from base class */ void QCPBars::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const { // draw filled rect: applyDefaultAntialiasingHint(painter); painter->setBrush(mBrush); painter->setPen(mPen); QRectF r = QRectF(0, 0, rect.width()*0.67, rect.height()*0.67); r.moveCenter(rect.center()); painter->drawRect(r); } /*! \internal Returns the polygon of a single bar with \a key and \a value. The Polygon is open at the bottom and shifted according to the bar stacking (see \ref moveAbove). */ QPolygonF QCPBars::getBarPolygon(double key, double value) const { QPolygonF result; double baseValue = getBaseValue(key, value >= 0); result << coordsToPixels(key-mWidth*0.5, baseValue); result << coordsToPixels(key-mWidth*0.5, baseValue+value); result << coordsToPixels(key+mWidth*0.5, baseValue+value); result << coordsToPixels(key+mWidth*0.5, baseValue); return result; } /*! \internal This function is called to find at which value to start drawing the base of a bar at \a key, when it is stacked on top of another QCPBars (e.g. with \ref moveAbove). positive and negative bars are separated per stack (positive are stacked above 0-value upwards, negative are stacked below 0-value downwards). This can be indicated with \a positive. So if the bar for which we need the base value is negative, set \a positive to false. */ double QCPBars::getBaseValue(double key, bool positive) const { if (mBarBelow) { double max = 0; // find bars of mBarBelow that are approximately at key and find largest one: QCPBarDataMap::const_iterator it = mBarBelow.data()->mData->lowerBound(key-mWidth*0.1); QCPBarDataMap::const_iterator itEnd = mBarBelow.data()->mData->upperBound(key+mWidth*0.1); while (it != itEnd) { if ((positive && it.value().value > max) || (!positive && it.value().value < max)) max = it.value().value; ++it; } // recurse down the bar-stack to find the total height: return max + mBarBelow.data()->getBaseValue(key, positive); } else return 0; } /*! \internal Connects \a below and \a above to each other via their mBarAbove/mBarBelow properties. The bar(s) currently below lower and upper will become disconnected to lower/upper. If lower is zero, upper will be disconnected at the bottom. If upper is zero, lower will be disconnected at the top. */ void QCPBars::connectBars(QCPBars *lower, QCPBars *upper) { if (!lower && !upper) return; if (!lower) // disconnect upper at bottom { // disconnect old bar below upper: if (upper->mBarBelow && upper->mBarBelow.data()->mBarAbove.data() == upper) upper->mBarBelow.data()->mBarAbove = 0; upper->mBarBelow = 0; } else if (!upper) // disconnect lower at top { // disconnect old bar above lower: if (lower->mBarAbove && lower->mBarAbove.data()->mBarBelow.data() == lower) lower->mBarAbove.data()->mBarBelow = 0; lower->mBarAbove = 0; } else // connect lower and upper { // disconnect old bar above lower: if (lower->mBarAbove && lower->mBarAbove.data()->mBarBelow.data() == lower) lower->mBarAbove.data()->mBarBelow = 0; // disconnect old bar below upper: if (upper->mBarBelow && upper->mBarBelow.data()->mBarAbove.data() == upper) upper->mBarBelow.data()->mBarAbove = 0; lower->mBarAbove = upper; upper->mBarBelow = lower; } } /* inherits documentation from base class */ QCPRange QCPBars::getKeyRange(bool &validRange, SignDomain inSignDomain) const { QCPRange range; bool haveLower = false; bool haveUpper = false; double current; double barWidthHalf = mWidth*0.5; QCPBarDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().key; if (inSignDomain == sdBoth || (inSignDomain == sdNegative && current+barWidthHalf < 0) || (inSignDomain == sdPositive && current-barWidthHalf > 0)) { if (current-barWidthHalf < range.lower || !haveLower) { range.lower = current-barWidthHalf; haveLower = true; } if (current+barWidthHalf > range.upper || !haveUpper) { range.upper = current+barWidthHalf; haveUpper = true; } } ++it; } validRange = haveLower && haveUpper; return range; } /* inherits documentation from base class */ QCPRange QCPBars::getValueRange(bool &validRange, SignDomain inSignDomain) const { QCPRange range; bool haveLower = true; // set to true, because 0 should always be visible in bar charts bool haveUpper = true; // set to true, because 0 should always be visible in bar charts double current; QCPBarDataMap::const_iterator it = mData->constBegin(); while (it != mData->constEnd()) { current = it.value().value + getBaseValue(it.value().key, it.value().value >= 0); if (inSignDomain == sdBoth || (inSignDomain == sdNegative && current < 0) || (inSignDomain == sdPositive && current > 0)) { if (current < range.lower || !haveLower) { range.lower = current; haveLower = true; } if (current > range.upper || !haveUpper) { range.upper = current; haveUpper = true; } } ++it; } validRange = range.lower < range.upper; return range; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPStatisticalBox //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPStatisticalBox \brief A plottable representing a single statistical box in a plot. \image html QCPStatisticalBox.png To plot data, assign it with the individual parameter functions or use \ref setData to set all parameters at once. The individual funcions are: \li \ref setMinimum \li \ref setLowerQuartile \li \ref setMedian \li \ref setUpperQuartile \li \ref setMaximum Additionally you can define a list of outliers, drawn as circle datapoints: \li \ref setOutliers \section appearance Changing the appearance The appearance of the box itself is controlled via \ref setPen and \ref setBrush. You may change the width of the box with \ref setWidth in plot coordinates (not pixels). Analog functions exist for the minimum/maximum-whiskers: \ref setWhiskerPen, \ref setWhiskerBarPen, \ref setWhiskerWidth. The whisker width is the width of the bar at the top (maximum) and bottom (minimum). The median indicator line has its own pen, \ref setMedianPen. If the whisker backbone pen is changed, make sure to set the capStyle to Qt::FlatCap. Else, the backbone line might exceed the whisker bars by a few pixels due to the pen cap being not perfectly flat. The Outlier data points are drawn as normal scatter points. Their look can be controlled with \ref setOutlierStyle \section usage Usage Like all data representing objects in QCustomPlot, the QCPStatisticalBox is a plottable (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies (QCustomPlot::plottable, QCustomPlot::addPlottable, QCustomPlot::removePlottable, etc.) Usually, you first create an instance: \code QCPStatisticalBox *newBox = new QCPStatisticalBox(customPlot->xAxis, customPlot->yAxis);\endcode add it to the customPlot with QCustomPlot::addPlottable: \code customPlot->addPlottable(newBox);\endcode and then modify the properties of the newly created plottable, e.g.: \code newBox->setName("Measurement Series 1"); newBox->setData(1, 3, 4, 5, 7); newBox->setOutliers(QVector() << 0.5 << 0.64 << 7.2 << 7.42);\endcode */ /*! Constructs a statistical box which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though. The constructed statistical box can be added to the plot with QCustomPlot::addPlottable, QCustomPlot then takes ownership of the statistical box. */ QCPStatisticalBox::QCPStatisticalBox(QCPAxis *keyAxis, QCPAxis *valueAxis) : QCPAbstractPlottable(keyAxis, valueAxis), mKey(0), mMinimum(0), mLowerQuartile(0), mMedian(0), mUpperQuartile(0), mMaximum(0) { setOutlierStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, Qt::blue, 6)); setWhiskerWidth(0.2); setWidth(0.5); setPen(QPen(Qt::black)); setSelectedPen(QPen(Qt::blue, 2.5)); setMedianPen(QPen(Qt::black, 3, Qt::SolidLine, Qt::FlatCap)); setWhiskerPen(QPen(Qt::black, 0, Qt::DashLine, Qt::FlatCap)); setWhiskerBarPen(QPen(Qt::black)); setBrush(Qt::NoBrush); setSelectedBrush(Qt::NoBrush); } /*! Sets the key coordinate of the statistical box. */ void QCPStatisticalBox::setKey(double key) { mKey = key; } /*! Sets the parameter "minimum" of the statistical box plot. This is the position of the lower whisker, typically the minimum measurement of the sample that's not considered an outlier. \see setMaximum, setWhiskerPen, setWhiskerBarPen, setWhiskerWidth */ void QCPStatisticalBox::setMinimum(double value) { mMinimum = value; } /*! Sets the parameter "lower Quartile" of the statistical box plot. This is the lower end of the box. The lower and the upper quartiles are the two statistical quartiles around the median of the sample, they contain 50% of the sample data. \see setUpperQuartile, setPen, setBrush, setWidth */ void QCPStatisticalBox::setLowerQuartile(double value) { mLowerQuartile = value; } /*! Sets the parameter "median" of the statistical box plot. This is the value of the median mark inside the quartile box. The median separates the sample data in half (50% of the sample data is below/above the median). \see setMedianPen */ void QCPStatisticalBox::setMedian(double value) { mMedian = value; } /*! Sets the parameter "upper Quartile" of the statistical box plot. This is the upper end of the box. The lower and the upper quartiles are the two statistical quartiles around the median of the sample, they contain 50% of the sample data. \see setLowerQuartile, setPen, setBrush, setWidth */ void QCPStatisticalBox::setUpperQuartile(double value) { mUpperQuartile = value; } /*! Sets the parameter "maximum" of the statistical box plot. This is the position of the upper whisker, typically the maximum measurement of the sample that's not considered an outlier. \see setMinimum, setWhiskerPen, setWhiskerBarPen, setWhiskerWidth */ void QCPStatisticalBox::setMaximum(double value) { mMaximum = value; } /*! Sets a vector of outlier values that will be drawn as circles. Any data points in the sample that are not within the whiskers (\ref setMinimum, \ref setMaximum) should be considered outliers and displayed as such. \see setOutlierStyle */ void QCPStatisticalBox::setOutliers(const QVector &values) { mOutliers = values; } /*! Sets all parameters of the statistical box plot at once. \see setKey, setMinimum, setLowerQuartile, setMedian, setUpperQuartile, setMaximum */ void QCPStatisticalBox::setData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum) { setKey(key); setMinimum(minimum); setLowerQuartile(lowerQuartile); setMedian(median); setUpperQuartile(upperQuartile); setMaximum(maximum); } /*! Sets the width of the box in key coordinates. \see setWhiskerWidth */ void QCPStatisticalBox::setWidth(double width) { mWidth = width; } /*! Sets the width of the whiskers (\ref setMinimum, \ref setMaximum) in key coordinates. \see setWidth */ void QCPStatisticalBox::setWhiskerWidth(double width) { mWhiskerWidth = width; } /*! Sets the pen used for drawing the whisker backbone (That's the line parallel to the value axis). Make sure to set the \a pen capStyle to Qt::FlatCap to prevent the whisker backbone from reaching a few pixels past the whisker bars, when using a non-zero pen width. \see setWhiskerBarPen */ void QCPStatisticalBox::setWhiskerPen(const QPen &pen) { mWhiskerPen = pen; } /*! Sets the pen used for drawing the whisker bars (Those are the lines parallel to the key axis at each end of the whisker backbone). \see setWhiskerPen */ void QCPStatisticalBox::setWhiskerBarPen(const QPen &pen) { mWhiskerBarPen = pen; } /*! Sets the pen used for drawing the median indicator line inside the statistical box. */ void QCPStatisticalBox::setMedianPen(const QPen &pen) { mMedianPen = pen; } /*! Sets the appearance of the outlier data points. \see setOutliers */ void QCPStatisticalBox::setOutlierStyle(const QCPScatterStyle &style) { mOutlierStyle = style; } /* inherits documentation from base class */ void QCPStatisticalBox::clearData() { setOutliers(QVector()); setKey(0); setMinimum(0); setLowerQuartile(0); setMedian(0); setUpperQuartile(0); setMaximum(0); } /* inherits documentation from base class */ double QCPStatisticalBox::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; if (!mKeyAxis || !mValueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return -1; } double posKey, posValue; pixelsToCoords(pos, posKey, posValue); // quartile box: QCPRange keyRange(mKey-mWidth*0.5, mKey+mWidth*0.5); QCPRange valueRange(mLowerQuartile, mUpperQuartile); if (keyRange.contains(posKey) && valueRange.contains(posValue)) return mParentPlot->selectionTolerance()*0.99; // min/max whiskers: if (QCPRange(mMinimum, mMaximum).contains(posValue)) return qAbs(mKeyAxis.data()->coordToPixel(mKey)-mKeyAxis.data()->coordToPixel(posKey)); return -1; } /* inherits documentation from base class */ void QCPStatisticalBox::draw(QCPPainter *painter) { if (!mKeyAxis || !mValueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } // check data validity if flag set: #ifdef QCUSTOMPLOT_CHECK_DATA if (QCP::isInvalidData(mKey, mMedian) || QCP::isInvalidData(mLowerQuartile, mUpperQuartile) || QCP::isInvalidData(mMinimum, mMaximum)) qDebug() << Q_FUNC_INFO << "Data point at" << mKey << "of drawn range has invalid data." << "Plottable name:" << name(); for (int i=0; isave(); painter->setClipRect(quartileBox, Qt::IntersectClip); drawMedian(painter); painter->restore(); drawWhiskers(painter); drawOutliers(painter); } /* inherits documentation from base class */ void QCPStatisticalBox::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const { // draw filled rect: applyDefaultAntialiasingHint(painter); painter->setPen(mPen); painter->setBrush(mBrush); QRectF r = QRectF(0, 0, rect.width()*0.67, rect.height()*0.67); r.moveCenter(rect.center()); painter->drawRect(r); } /*! \internal Draws the quartile box. \a box is an output parameter that returns the quartile box (in pixel coordinates) which is used to set the clip rect of the painter before calling \ref drawMedian (so the median doesn't draw outside the quartile box). */ void QCPStatisticalBox::drawQuartileBox(QCPPainter *painter, QRectF *quartileBox) const { QRectF box; box.setTopLeft(coordsToPixels(mKey-mWidth*0.5, mUpperQuartile)); box.setBottomRight(coordsToPixels(mKey+mWidth*0.5, mLowerQuartile)); applyDefaultAntialiasingHint(painter); painter->setPen(mainPen()); painter->setBrush(mainBrush()); painter->drawRect(box); if (quartileBox) *quartileBox = box; } /*! \internal Draws the median line inside the quartile box. */ void QCPStatisticalBox::drawMedian(QCPPainter *painter) const { QLineF medianLine; medianLine.setP1(coordsToPixels(mKey-mWidth*0.5, mMedian)); medianLine.setP2(coordsToPixels(mKey+mWidth*0.5, mMedian)); applyDefaultAntialiasingHint(painter); painter->setPen(mMedianPen); painter->drawLine(medianLine); } /*! \internal Draws both whisker backbones and bars. */ void QCPStatisticalBox::drawWhiskers(QCPPainter *painter) const { QLineF backboneMin, backboneMax, barMin, barMax; backboneMax.setPoints(coordsToPixels(mKey, mUpperQuartile), coordsToPixels(mKey, mMaximum)); backboneMin.setPoints(coordsToPixels(mKey, mLowerQuartile), coordsToPixels(mKey, mMinimum)); barMax.setPoints(coordsToPixels(mKey-mWhiskerWidth*0.5, mMaximum), coordsToPixels(mKey+mWhiskerWidth*0.5, mMaximum)); barMin.setPoints(coordsToPixels(mKey-mWhiskerWidth*0.5, mMinimum), coordsToPixels(mKey+mWhiskerWidth*0.5, mMinimum)); applyErrorBarsAntialiasingHint(painter); painter->setPen(mWhiskerPen); painter->drawLine(backboneMin); painter->drawLine(backboneMax); painter->setPen(mWhiskerBarPen); painter->drawLine(barMin); painter->drawLine(barMax); } /*! \internal Draws the outlier scatter points. */ void QCPStatisticalBox::drawOutliers(QCPPainter *painter) const { applyScattersAntialiasingHint(painter); mOutlierStyle.applyTo(painter, mPen); for (int i=0; i 0; if (inSignDomain == sdBoth) { return QCPRange(mKey-mWidth*0.5, mKey+mWidth*0.5); } else if (inSignDomain == sdNegative) { if (mKey+mWidth*0.5 < 0) return QCPRange(mKey-mWidth*0.5, mKey+mWidth*0.5); else if (mKey < 0) return QCPRange(mKey-mWidth*0.5, mKey); else { validRange = false; return QCPRange(); } } else if (inSignDomain == sdPositive) { if (mKey-mWidth*0.5 > 0) return QCPRange(mKey-mWidth*0.5, mKey+mWidth*0.5); else if (mKey > 0) return QCPRange(mKey, mKey+mWidth*0.5); else { validRange = false; return QCPRange(); } } validRange = false; return QCPRange(); } /* inherits documentation from base class */ QCPRange QCPStatisticalBox::getValueRange(bool &validRange, SignDomain inSignDomain) const { if (inSignDomain == sdBoth) { double lower = qMin(mMinimum, qMin(mMedian, mLowerQuartile)); double upper = qMax(mMaximum, qMax(mMedian, mUpperQuartile)); for (int i=0; i upper) upper = mOutliers.at(i); } validRange = upper > lower; return QCPRange(lower, upper); } else { QVector values; // values that must be considered (i.e. all outliers and the five box-parameters) values.reserve(mOutliers.size() + 5); values << mMaximum << mUpperQuartile << mMedian << mLowerQuartile << mMinimum; values << mOutliers; // go through values and find the ones in legal range: bool haveUpper = false; bool haveLower = false; double upper = 0; double lower = 0; for (int i=0; i 0)) { if (values.at(i) > upper || !haveUpper) { upper = values.at(i); haveUpper = true; } if (values.at(i) < lower || !haveLower) { lower = values.at(i); haveLower = true; } } } // return the bounds if we found some sensible values: if (haveLower && haveUpper && lower < upper) { validRange = true; return QCPRange(lower, upper); } else { validRange = false; return QCPRange(); } } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemStraightLine //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemStraightLine \brief A straight line that spans infinitely in both directions \image html QCPItemStraightLine.png "Straight line example. Blue dotted circles are anchors, solid blue discs are positions." It has two positions, \a point1 and \a point2, which define the straight line. */ /*! Creates a straight line item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemStraightLine::QCPItemStraightLine(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), point1(createPosition("point1")), point2(createPosition("point2")) { point1->setCoords(0, 0); point2->setCoords(1, 1); setPen(QPen(Qt::black)); setSelectedPen(QPen(Qt::blue,2)); } QCPItemStraightLine::~QCPItemStraightLine() { } /*! Sets the pen that will be used to draw the line \see setSelectedPen */ void QCPItemStraightLine::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used to draw the line when selected \see setPen, setSelected */ void QCPItemStraightLine::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /* inherits documentation from base class */ double QCPItemStraightLine::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; return distToStraightLine(QVector2D(point1->pixelPoint()), QVector2D(point2->pixelPoint()-point1->pixelPoint()), QVector2D(pos)); } /* inherits documentation from base class */ void QCPItemStraightLine::draw(QCPPainter *painter) { QVector2D start(point1->pixelPoint()); QVector2D end(point2->pixelPoint()); // get visible segment of straight line inside clipRect: double clipPad = mainPen().widthF(); QLineF line = getRectClippedStraightLine(start, end-start, clipRect().adjusted(-clipPad, -clipPad, clipPad, clipPad)); // paint visible segment, if existent: if (!line.isNull()) { painter->setPen(mainPen()); painter->drawLine(line); } } /*! \internal finds the shortest distance of \a point to the straight line defined by the base point \a base and the direction vector \a vec. This is a helper function for \ref selectTest. */ double QCPItemStraightLine::distToStraightLine(const QVector2D &base, const QVector2D &vec, const QVector2D &point) const { return qAbs((base.y()-point.y())*vec.x()-(base.x()-point.x())*vec.y())/vec.length(); } /*! \internal Returns the section of the straight line defined by \a base and direction vector \a vec, that is visible in the specified \a rect. This is a helper function for \ref draw. */ QLineF QCPItemStraightLine::getRectClippedStraightLine(const QVector2D &base, const QVector2D &vec, const QRect &rect) const { double bx, by; double gamma; QLineF result; if (vec.x() == 0 && vec.y() == 0) return result; if (qFuzzyIsNull(vec.x())) // line is vertical { // check top of rect: bx = rect.left(); by = rect.top(); gamma = base.x()-bx + (by-base.y())*vec.x()/vec.y(); if (gamma >= 0 && gamma <= rect.width()) result.setLine(bx+gamma, rect.top(), bx+gamma, rect.bottom()); // no need to check bottom because we know line is vertical } else if (qFuzzyIsNull(vec.y())) // line is horizontal { // check left of rect: bx = rect.left(); by = rect.top(); gamma = base.y()-by + (bx-base.x())*vec.y()/vec.x(); if (gamma >= 0 && gamma <= rect.height()) result.setLine(rect.left(), by+gamma, rect.right(), by+gamma); // no need to check right because we know line is horizontal } else // line is skewed { QList pointVectors; // check top of rect: bx = rect.left(); by = rect.top(); gamma = base.x()-bx + (by-base.y())*vec.x()/vec.y(); if (gamma >= 0 && gamma <= rect.width()) pointVectors.append(QVector2D(bx+gamma, by)); // check bottom of rect: bx = rect.left(); by = rect.bottom(); gamma = base.x()-bx + (by-base.y())*vec.x()/vec.y(); if (gamma >= 0 && gamma <= rect.width()) pointVectors.append(QVector2D(bx+gamma, by)); // check left of rect: bx = rect.left(); by = rect.top(); gamma = base.y()-by + (bx-base.x())*vec.y()/vec.x(); if (gamma >= 0 && gamma <= rect.height()) pointVectors.append(QVector2D(bx, by+gamma)); // check right of rect: bx = rect.right(); by = rect.top(); gamma = base.y()-by + (bx-base.x())*vec.y()/vec.x(); if (gamma >= 0 && gamma <= rect.height()) pointVectors.append(QVector2D(bx, by+gamma)); // evaluate points: if (pointVectors.size() == 2) { result.setPoints(pointVectors.at(0).toPointF(), pointVectors.at(1).toPointF()); } else if (pointVectors.size() > 2) { // line probably goes through corner of rect, and we got two points there. single out the point pair with greatest distance: double distSqrMax = 0; QVector2D pv1, pv2; for (int i=0; i distSqrMax) { pv1 = pointVectors.at(i); pv2 = pointVectors.at(k); distSqrMax = distSqr; } } } result.setPoints(pv1.toPointF(), pv2.toPointF()); } } return result; } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemStraightLine::mainPen() const { return mSelected ? mSelectedPen : mPen; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemLine //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemLine \brief A line from one point to another \image html QCPItemLine.png "Line example. Blue dotted circles are anchors, solid blue discs are positions." It has two positions, \a start and \a end, which define the end points of the line. With \ref setHead and \ref setTail you may set different line ending styles, e.g. to create an arrow. */ /*! Creates a line item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemLine::QCPItemLine(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), start(createPosition("start")), end(createPosition("end")) { start->setCoords(0, 0); end->setCoords(1, 1); setPen(QPen(Qt::black)); setSelectedPen(QPen(Qt::blue,2)); } QCPItemLine::~QCPItemLine() { } /*! Sets the pen that will be used to draw the line \see setSelectedPen */ void QCPItemLine::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used to draw the line when selected \see setPen, setSelected */ void QCPItemLine::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /*! Sets the line ending style of the head. The head corresponds to the \a end position. Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g. \code setHead(QCPLineEnding::esSpikeArrow) \endcode \see setTail */ void QCPItemLine::setHead(const QCPLineEnding &head) { mHead = head; } /*! Sets the line ending style of the tail. The tail corresponds to the \a start position. Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g. \code setTail(QCPLineEnding::esSpikeArrow) \endcode \see setHead */ void QCPItemLine::setTail(const QCPLineEnding &tail) { mTail = tail; } /* inherits documentation from base class */ double QCPItemLine::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; return qSqrt(distSqrToLine(start->pixelPoint(), end->pixelPoint(), pos)); } /* inherits documentation from base class */ void QCPItemLine::draw(QCPPainter *painter) { QVector2D startVec(start->pixelPoint()); QVector2D endVec(end->pixelPoint()); if (startVec.toPoint() == endVec.toPoint()) return; // get visible segment of straight line inside clipRect: double clipPad = qMax(mHead.boundingDistance(), mTail.boundingDistance()); clipPad = qMax(clipPad, (double)mainPen().widthF()); QLineF line = getRectClippedLine(startVec, endVec, clipRect().adjusted(-clipPad, -clipPad, clipPad, clipPad)); // paint visible segment, if existent: if (!line.isNull()) { painter->setPen(mainPen()); painter->drawLine(line); painter->setBrush(Qt::SolidPattern); if (mTail.style() != QCPLineEnding::esNone) mTail.draw(painter, startVec, startVec-endVec); if (mHead.style() != QCPLineEnding::esNone) mHead.draw(painter, endVec, endVec-startVec); } } /*! \internal Returns the section of the line defined by \a start and \a end, that is visible in the specified \a rect. This is a helper function for \ref draw. */ QLineF QCPItemLine::getRectClippedLine(const QVector2D &start, const QVector2D &end, const QRect &rect) const { bool containsStart = rect.contains(start.x(), start.y()); bool containsEnd = rect.contains(end.x(), end.y()); if (containsStart && containsEnd) return QLineF(start.toPointF(), end.toPointF()); QVector2D base = start; QVector2D vec = end-start; double bx, by; double gamma, mu; QLineF result; QList pointVectors; if (!qFuzzyIsNull(vec.y())) // line is not horizontal { // check top of rect: bx = rect.left(); by = rect.top(); mu = (by-base.y())/vec.y(); if (mu >= 0 && mu <= 1) { gamma = base.x()-bx + mu*vec.x(); if (gamma >= 0 && gamma <= rect.width()) pointVectors.append(QVector2D(bx+gamma, by)); } // check bottom of rect: bx = rect.left(); by = rect.bottom(); mu = (by-base.y())/vec.y(); if (mu >= 0 && mu <= 1) { gamma = base.x()-bx + mu*vec.x(); if (gamma >= 0 && gamma <= rect.width()) pointVectors.append(QVector2D(bx+gamma, by)); } } if (!qFuzzyIsNull(vec.x())) // line is not vertical { // check left of rect: bx = rect.left(); by = rect.top(); mu = (bx-base.x())/vec.x(); if (mu >= 0 && mu <= 1) { gamma = base.y()-by + mu*vec.y(); if (gamma >= 0 && gamma <= rect.height()) pointVectors.append(QVector2D(bx, by+gamma)); } // check right of rect: bx = rect.right(); by = rect.top(); mu = (bx-base.x())/vec.x(); if (mu >= 0 && mu <= 1) { gamma = base.y()-by + mu*vec.y(); if (gamma >= 0 && gamma <= rect.height()) pointVectors.append(QVector2D(bx, by+gamma)); } } if (containsStart) pointVectors.append(start); if (containsEnd) pointVectors.append(end); // evaluate points: if (pointVectors.size() == 2) { result.setPoints(pointVectors.at(0).toPointF(), pointVectors.at(1).toPointF()); } else if (pointVectors.size() > 2) { // line probably goes through corner of rect, and we got two points there. single out the point pair with greatest distance: double distSqrMax = 0; QVector2D pv1, pv2; for (int i=0; i distSqrMax) { pv1 = pointVectors.at(i); pv2 = pointVectors.at(k); distSqrMax = distSqr; } } } result.setPoints(pv1.toPointF(), pv2.toPointF()); } return result; } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemLine::mainPen() const { return mSelected ? mSelectedPen : mPen; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemCurve //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemCurve \brief A curved line from one point to another \image html QCPItemCurve.png "Curve example. Blue dotted circles are anchors, solid blue discs are positions." It has four positions, \a start and \a end, which define the end points of the line, and two control points which define the direction the line exits from the start and the direction from which it approaches the end: \a startDir and \a endDir. With \ref setHead and \ref setTail you may set different line ending styles, e.g. to create an arrow. Often it is desirable for the control points to stay at fixed relative positions to the start/end point. This can be achieved by setting the parent anchor e.g. of \a startDir simply to \a start, and then specify the desired pixel offset with QCPItemPosition::setCoords on \a startDir. */ /*! Creates a curve item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemCurve::QCPItemCurve(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), start(createPosition("start")), startDir(createPosition("startDir")), endDir(createPosition("endDir")), end(createPosition("end")) { start->setCoords(0, 0); startDir->setCoords(0.5, 0); endDir->setCoords(0, 0.5); end->setCoords(1, 1); setPen(QPen(Qt::black)); setSelectedPen(QPen(Qt::blue,2)); } QCPItemCurve::~QCPItemCurve() { } /*! Sets the pen that will be used to draw the line \see setSelectedPen */ void QCPItemCurve::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used to draw the line when selected \see setPen, setSelected */ void QCPItemCurve::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /*! Sets the line ending style of the head. The head corresponds to the \a end position. Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g. \code setHead(QCPLineEnding::esSpikeArrow) \endcode \see setTail */ void QCPItemCurve::setHead(const QCPLineEnding &head) { mHead = head; } /*! Sets the line ending style of the tail. The tail corresponds to the \a start position. Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g. \code setTail(QCPLineEnding::esSpikeArrow) \endcode \see setHead */ void QCPItemCurve::setTail(const QCPLineEnding &tail) { mTail = tail; } /* inherits documentation from base class */ double QCPItemCurve::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; QPointF startVec(start->pixelPoint()); QPointF startDirVec(startDir->pixelPoint()); QPointF endDirVec(endDir->pixelPoint()); QPointF endVec(end->pixelPoint()); QPainterPath cubicPath(startVec); cubicPath.cubicTo(startDirVec, endDirVec, endVec); QPolygonF polygon = cubicPath.toSubpathPolygons().first(); double minDistSqr = std::numeric_limits::max(); for (int i=1; ipixelPoint()); QPointF startDirVec(startDir->pixelPoint()); QPointF endDirVec(endDir->pixelPoint()); QPointF endVec(end->pixelPoint()); if (QVector2D(endVec-startVec).length() > 1e10) // too large curves cause crash return; QPainterPath cubicPath(startVec); cubicPath.cubicTo(startDirVec, endDirVec, endVec); // paint visible segment, if existent: QRect clip = clipRect().adjusted(-mainPen().widthF(), -mainPen().widthF(), mainPen().widthF(), mainPen().widthF()); QRect cubicRect = cubicPath.controlPointRect().toRect(); if (cubicRect.isEmpty()) // may happen when start and end exactly on same x or y position cubicRect.adjust(0, 0, 1, 1); if (clip.intersects(cubicRect)) { painter->setPen(mainPen()); painter->drawPath(cubicPath); painter->setBrush(Qt::SolidPattern); if (mTail.style() != QCPLineEnding::esNone) mTail.draw(painter, QVector2D(startVec), M_PI-cubicPath.angleAtPercent(0)/180.0*M_PI); if (mHead.style() != QCPLineEnding::esNone) mHead.draw(painter, QVector2D(endVec), -cubicPath.angleAtPercent(1)/180.0*M_PI); } } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemCurve::mainPen() const { return mSelected ? mSelectedPen : mPen; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemRect //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemRect \brief A rectangle \image html QCPItemRect.png "Rectangle example. Blue dotted circles are anchors, solid blue discs are positions." It has two positions, \a topLeft and \a bottomRight, which define the rectangle. */ /*! Creates a rectangle item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemRect::QCPItemRect(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), topLeft(createPosition("topLeft")), bottomRight(createPosition("bottomRight")), top(createAnchor("top", aiTop)), topRight(createAnchor("topRight", aiTopRight)), right(createAnchor("right", aiRight)), bottom(createAnchor("bottom", aiBottom)), bottomLeft(createAnchor("bottomLeft", aiBottomLeft)), left(createAnchor("left", aiLeft)) { topLeft->setCoords(0, 1); bottomRight->setCoords(1, 0); setPen(QPen(Qt::black)); setSelectedPen(QPen(Qt::blue,2)); setBrush(Qt::NoBrush); setSelectedBrush(Qt::NoBrush); } QCPItemRect::~QCPItemRect() { } /*! Sets the pen that will be used to draw the line of the rectangle \see setSelectedPen, setBrush */ void QCPItemRect::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used to draw the line of the rectangle when selected \see setPen, setSelected */ void QCPItemRect::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /*! Sets the brush that will be used to fill the rectangle. To disable filling, set \a brush to Qt::NoBrush. \see setSelectedBrush, setPen */ void QCPItemRect::setBrush(const QBrush &brush) { mBrush = brush; } /*! Sets the brush that will be used to fill the rectangle when selected. To disable filling, set \a brush to Qt::NoBrush. \see setBrush */ void QCPItemRect::setSelectedBrush(const QBrush &brush) { mSelectedBrush = brush; } /* inherits documentation from base class */ double QCPItemRect::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; QRectF rect = QRectF(topLeft->pixelPoint(), bottomRight->pixelPoint()).normalized(); bool filledRect = mBrush.style() != Qt::NoBrush && mBrush.color().alpha() != 0; return rectSelectTest(rect, pos, filledRect); } /* inherits documentation from base class */ void QCPItemRect::draw(QCPPainter *painter) { QPointF p1 = topLeft->pixelPoint(); QPointF p2 = bottomRight->pixelPoint(); if (p1.toPoint() == p2.toPoint()) return; QRectF rect = QRectF(p1, p2).normalized(); double clipPad = mainPen().widthF(); QRectF boundingRect = rect.adjusted(-clipPad, -clipPad, clipPad, clipPad); if (boundingRect.intersects(clipRect())) // only draw if bounding rect of rect item is visible in cliprect { painter->setPen(mainPen()); painter->setBrush(mainBrush()); painter->drawRect(rect); } } /* inherits documentation from base class */ QPointF QCPItemRect::anchorPixelPoint(int anchorId) const { QRectF rect = QRectF(topLeft->pixelPoint(), bottomRight->pixelPoint()); switch (anchorId) { case aiTop: return (rect.topLeft()+rect.topRight())*0.5; case aiTopRight: return rect.topRight(); case aiRight: return (rect.topRight()+rect.bottomRight())*0.5; case aiBottom: return (rect.bottomLeft()+rect.bottomRight())*0.5; case aiBottomLeft: return rect.bottomLeft(); case aiLeft: return (rect.topLeft()+rect.bottomLeft())*0.5; } qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; return QPointF(); } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemRect::mainPen() const { return mSelected ? mSelectedPen : mPen; } /*! \internal Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item is not selected and mSelectedBrush when it is. */ QBrush QCPItemRect::mainBrush() const { return mSelected ? mSelectedBrush : mBrush; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemText //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemText \brief A text label \image html QCPItemText.png "Text example. Blue dotted circles are anchors, solid blue discs are positions." Its position is defined by the member \a position and the setting of \ref setPositionAlignment. The latter controls which part of the text rect shall be aligned with \a position. The text alignment itself (i.e. left, center, right) can be controlled with \ref setTextAlignment. The text may be rotated around the \a position point with \ref setRotation. */ /*! Creates a text item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemText::QCPItemText(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), position(createPosition("position")), topLeft(createAnchor("topLeft", aiTopLeft)), top(createAnchor("top", aiTop)), topRight(createAnchor("topRight", aiTopRight)), right(createAnchor("right", aiRight)), bottomRight(createAnchor("bottomRight", aiBottomRight)), bottom(createAnchor("bottom", aiBottom)), bottomLeft(createAnchor("bottomLeft", aiBottomLeft)), left(createAnchor("left", aiLeft)) { position->setCoords(0, 0); setRotation(0); setTextAlignment(Qt::AlignTop|Qt::AlignHCenter); setPositionAlignment(Qt::AlignCenter); setText("text"); setPen(Qt::NoPen); setSelectedPen(Qt::NoPen); setBrush(Qt::NoBrush); setSelectedBrush(Qt::NoBrush); setColor(Qt::black); setSelectedColor(Qt::blue); } QCPItemText::~QCPItemText() { } /*! Sets the color of the text. */ void QCPItemText::setColor(const QColor &color) { mColor = color; } /*! Sets the color of the text that will be used when the item is selected. */ void QCPItemText::setSelectedColor(const QColor &color) { mSelectedColor = color; } /*! Sets the pen that will be used do draw a rectangular border around the text. To disable the border, set \a pen to Qt::NoPen. \see setSelectedPen, setBrush, setPadding */ void QCPItemText::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used do draw a rectangular border around the text, when the item is selected. To disable the border, set \a pen to Qt::NoPen. \see setPen */ void QCPItemText::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /*! Sets the brush that will be used do fill the background of the text. To disable the background, set \a brush to Qt::NoBrush. \see setSelectedBrush, setPen, setPadding */ void QCPItemText::setBrush(const QBrush &brush) { mBrush = brush; } /*! Sets the brush that will be used do fill the background of the text, when the item is selected. To disable the background, set \a brush to Qt::NoBrush. \see setBrush */ void QCPItemText::setSelectedBrush(const QBrush &brush) { mSelectedBrush = brush; } /*! Sets the font of the text. \see setSelectedFont, setColor */ void QCPItemText::setFont(const QFont &font) { mFont = font; } /*! Sets the font of the text that will be used when the item is selected. \see setFont */ void QCPItemText::setSelectedFont(const QFont &font) { mSelectedFont = font; } /*! Sets the text that will be displayed. Multi-line texts are supported by inserting a line break character, e.g. '\n'. \see setFont, setColor, setTextAlignment */ void QCPItemText::setText(const QString &text) { mText = text; } /*! Sets which point of the text rect shall be aligned with \a position. Examples: \li If \a alignment is Qt::AlignHCenter | Qt::AlignTop, the text will be positioned such that the top of the text rect will be horizontally centered on \a position. \li If \a alignment is Qt::AlignLeft | Qt::AlignBottom, \a position will indicate the bottom left corner of the text rect. If you want to control the alignment of (multi-lined) text within the text rect, use \ref setTextAlignment. */ void QCPItemText::setPositionAlignment(Qt::Alignment alignment) { mPositionAlignment = alignment; } /*! Controls how (multi-lined) text is aligned inside the text rect (typically Qt::AlignLeft, Qt::AlignCenter or Qt::AlignRight). */ void QCPItemText::setTextAlignment(Qt::Alignment alignment) { mTextAlignment = alignment; } /*! Sets the angle in degrees by which the text (and the text rectangle, if visible) will be rotated around \a position. */ void QCPItemText::setRotation(double degrees) { mRotation = degrees; } /*! Sets the distance between the border of the text rectangle and the text. The appearance (and visibility) of the text rectangle can be controlled with \ref setPen and \ref setBrush. */ void QCPItemText::setPadding(const QMargins &padding) { mPadding = padding; } /* inherits documentation from base class */ double QCPItemText::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; // The rect may be rotated, so we transform the actual clicked pos to the rotated // coordinate system, so we can use the normal rectSelectTest function for non-rotated rects: QPointF positionPixels(position->pixelPoint()); QTransform inputTransform; inputTransform.translate(positionPixels.x(), positionPixels.y()); inputTransform.rotate(-mRotation); inputTransform.translate(-positionPixels.x(), -positionPixels.y()); QPointF rotatedPos = inputTransform.map(pos); QFontMetrics fontMetrics(mFont); QRect textRect = fontMetrics.boundingRect(0, 0, 0, 0, Qt::TextDontClip|mTextAlignment, mText); QRect textBoxRect = textRect.adjusted(-mPadding.left(), -mPadding.top(), mPadding.right(), mPadding.bottom()); QPointF textPos = getTextDrawPoint(positionPixels, textBoxRect, mPositionAlignment); textBoxRect.moveTopLeft(textPos.toPoint()); return rectSelectTest(textBoxRect, rotatedPos, true); } /* inherits documentation from base class */ void QCPItemText::draw(QCPPainter *painter) { QPointF pos(position->pixelPoint()); QTransform transform = painter->transform(); transform.translate(pos.x(), pos.y()); if (!qFuzzyIsNull(mRotation)) transform.rotate(mRotation); painter->setFont(mainFont()); QRect textRect = painter->fontMetrics().boundingRect(0, 0, 0, 0, Qt::TextDontClip|mTextAlignment, mText); QRect textBoxRect = textRect.adjusted(-mPadding.left(), -mPadding.top(), mPadding.right(), mPadding.bottom()); QPointF textPos = getTextDrawPoint(QPointF(0, 0), textBoxRect, mPositionAlignment); // 0, 0 because the transform does the translation textRect.moveTopLeft(textPos.toPoint()+QPoint(mPadding.left(), mPadding.top())); textBoxRect.moveTopLeft(textPos.toPoint()); double clipPad = mainPen().widthF(); QRect boundingRect = textBoxRect.adjusted(-clipPad, -clipPad, clipPad, clipPad); if (transform.mapRect(boundingRect).intersects(painter->transform().mapRect(clipRect()))) { painter->setTransform(transform); if ((mainBrush().style() != Qt::NoBrush && mainBrush().color().alpha() != 0) || (mainPen().style() != Qt::NoPen && mainPen().color().alpha() != 0)) { painter->setPen(mainPen()); painter->setBrush(mainBrush()); painter->drawRect(textBoxRect); } painter->setBrush(Qt::NoBrush); painter->setPen(QPen(mainColor())); painter->drawText(textRect, Qt::TextDontClip|mTextAlignment, mText); } } /* inherits documentation from base class */ QPointF QCPItemText::anchorPixelPoint(int anchorId) const { // get actual rect points (pretty much copied from draw function): QPointF pos(position->pixelPoint()); QTransform transform; transform.translate(pos.x(), pos.y()); if (!qFuzzyIsNull(mRotation)) transform.rotate(mRotation); QFontMetrics fontMetrics(mainFont()); QRect textRect = fontMetrics.boundingRect(0, 0, 0, 0, Qt::TextDontClip|mTextAlignment, mText); QRectF textBoxRect = textRect.adjusted(-mPadding.left(), -mPadding.top(), mPadding.right(), mPadding.bottom()); QPointF textPos = getTextDrawPoint(QPointF(0, 0), textBoxRect, mPositionAlignment); // 0, 0 because the transform does the translation textBoxRect.moveTopLeft(textPos.toPoint()); QPolygonF rectPoly = transform.map(QPolygonF(textBoxRect)); switch (anchorId) { case aiTopLeft: return rectPoly.at(0); case aiTop: return (rectPoly.at(0)+rectPoly.at(1))*0.5; case aiTopRight: return rectPoly.at(1); case aiRight: return (rectPoly.at(1)+rectPoly.at(2))*0.5; case aiBottomRight: return rectPoly.at(2); case aiBottom: return (rectPoly.at(2)+rectPoly.at(3))*0.5; case aiBottomLeft: return rectPoly.at(3); case aiLeft: return (rectPoly.at(3)+rectPoly.at(0))*0.5; } qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; return QPointF(); } /*! \internal Returns the point that must be given to the QPainter::drawText function (which expects the top left point of the text rect), according to the position \a pos, the text bounding box \a rect and the requested \a positionAlignment. For example, if \a positionAlignment is Qt::AlignLeft | Qt::AlignBottom the returned point will be shifted upward by the height of \a rect, starting from \a pos. So if the text is finally drawn at that point, the lower left corner of the resulting text rect is at \a pos. */ QPointF QCPItemText::getTextDrawPoint(const QPointF &pos, const QRectF &rect, Qt::Alignment positionAlignment) const { if (positionAlignment == 0 || positionAlignment == (Qt::AlignLeft|Qt::AlignTop)) return pos; QPointF result = pos; // start at top left if (positionAlignment.testFlag(Qt::AlignHCenter)) result.rx() -= rect.width()/2.0; else if (positionAlignment.testFlag(Qt::AlignRight)) result.rx() -= rect.width(); if (positionAlignment.testFlag(Qt::AlignVCenter)) result.ry() -= rect.height()/2.0; else if (positionAlignment.testFlag(Qt::AlignBottom)) result.ry() -= rect.height(); return result; } /*! \internal Returns the font that should be used for drawing text. Returns mFont when the item is not selected and mSelectedFont when it is. */ QFont QCPItemText::mainFont() const { return mSelected ? mSelectedFont : mFont; } /*! \internal Returns the color that should be used for drawing text. Returns mColor when the item is not selected and mSelectedColor when it is. */ QColor QCPItemText::mainColor() const { return mSelected ? mSelectedColor : mColor; } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemText::mainPen() const { return mSelected ? mSelectedPen : mPen; } /*! \internal Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item is not selected and mSelectedBrush when it is. */ QBrush QCPItemText::mainBrush() const { return mSelected ? mSelectedBrush : mBrush; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemEllipse //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemEllipse \brief An ellipse \image html QCPItemEllipse.png "Ellipse example. Blue dotted circles are anchors, solid blue discs are positions." It has two positions, \a topLeft and \a bottomRight, which define the rect the ellipse will be drawn in. */ /*! Creates an ellipse item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemEllipse::QCPItemEllipse(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), topLeft(createPosition("topLeft")), bottomRight(createPosition("bottomRight")), topLeftRim(createAnchor("topLeftRim", aiTopLeftRim)), top(createAnchor("top", aiTop)), topRightRim(createAnchor("topRightRim", aiTopRightRim)), right(createAnchor("right", aiRight)), bottomRightRim(createAnchor("bottomRightRim", aiBottomRightRim)), bottom(createAnchor("bottom", aiBottom)), bottomLeftRim(createAnchor("bottomLeftRim", aiBottomLeftRim)), left(createAnchor("left", aiLeft)), center(createAnchor("center", aiCenter)) { topLeft->setCoords(0, 1); bottomRight->setCoords(1, 0); setPen(QPen(Qt::black)); setSelectedPen(QPen(Qt::blue, 2)); setBrush(Qt::NoBrush); setSelectedBrush(Qt::NoBrush); } QCPItemEllipse::~QCPItemEllipse() { } /*! Sets the pen that will be used to draw the line of the ellipse \see setSelectedPen, setBrush */ void QCPItemEllipse::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used to draw the line of the ellipse when selected \see setPen, setSelected */ void QCPItemEllipse::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /*! Sets the brush that will be used to fill the ellipse. To disable filling, set \a brush to Qt::NoBrush. \see setSelectedBrush, setPen */ void QCPItemEllipse::setBrush(const QBrush &brush) { mBrush = brush; } /*! Sets the brush that will be used to fill the ellipse when selected. To disable filling, set \a brush to Qt::NoBrush. \see setBrush */ void QCPItemEllipse::setSelectedBrush(const QBrush &brush) { mSelectedBrush = brush; } /* inherits documentation from base class */ double QCPItemEllipse::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; double result = -1; QPointF p1 = topLeft->pixelPoint(); QPointF p2 = bottomRight->pixelPoint(); QPointF center((p1+p2)/2.0); double a = qAbs(p1.x()-p2.x())/2.0; double b = qAbs(p1.y()-p2.y())/2.0; double x = pos.x()-center.x(); double y = pos.y()-center.y(); // distance to border: double c = 1.0/qSqrt(x*x/(a*a)+y*y/(b*b)); result = qAbs(c-1)*qSqrt(x*x+y*y); // filled ellipse, allow click inside to count as hit: if (result > mParentPlot->selectionTolerance()*0.99 && mBrush.style() != Qt::NoBrush && mBrush.color().alpha() != 0) { if (x*x/(a*a) + y*y/(b*b) <= 1) result = mParentPlot->selectionTolerance()*0.99; } return result; } /* inherits documentation from base class */ void QCPItemEllipse::draw(QCPPainter *painter) { QPointF p1 = topLeft->pixelPoint(); QPointF p2 = bottomRight->pixelPoint(); if (p1.toPoint() == p2.toPoint()) return; QRectF ellipseRect = QRectF(p1, p2).normalized(); QRect clip = clipRect().adjusted(-mainPen().widthF(), -mainPen().widthF(), mainPen().widthF(), mainPen().widthF()); if (ellipseRect.intersects(clip)) // only draw if bounding rect of ellipse is visible in cliprect { painter->setPen(mainPen()); painter->setBrush(mainBrush()); #ifdef __EXCEPTIONS try // drawEllipse sometimes throws exceptions if ellipse is too big { #endif painter->drawEllipse(ellipseRect); #ifdef __EXCEPTIONS } catch (...) { qDebug() << Q_FUNC_INFO << "Item too large for memory, setting invisible"; setVisible(false); } #endif } } /* inherits documentation from base class */ QPointF QCPItemEllipse::anchorPixelPoint(int anchorId) const { QRectF rect = QRectF(topLeft->pixelPoint(), bottomRight->pixelPoint()); switch (anchorId) { case aiTopLeftRim: return rect.center()+(rect.topLeft()-rect.center())*1/qSqrt(2); case aiTop: return (rect.topLeft()+rect.topRight())*0.5; case aiTopRightRim: return rect.center()+(rect.topRight()-rect.center())*1/qSqrt(2); case aiRight: return (rect.topRight()+rect.bottomRight())*0.5; case aiBottomRightRim: return rect.center()+(rect.bottomRight()-rect.center())*1/qSqrt(2); case aiBottom: return (rect.bottomLeft()+rect.bottomRight())*0.5; case aiBottomLeftRim: return rect.center()+(rect.bottomLeft()-rect.center())*1/qSqrt(2); case aiLeft: return (rect.topLeft()+rect.bottomLeft())*0.5; case aiCenter: return (rect.topLeft()+rect.bottomRight())*0.5; } qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; return QPointF(); } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemEllipse::mainPen() const { return mSelected ? mSelectedPen : mPen; } /*! \internal Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item is not selected and mSelectedBrush when it is. */ QBrush QCPItemEllipse::mainBrush() const { return mSelected ? mSelectedBrush : mBrush; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemPixmap //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemPixmap \brief An arbitrary pixmap \image html QCPItemPixmap.png "Pixmap example. Blue dotted circles are anchors, solid blue discs are positions." It has two positions, \a topLeft and \a bottomRight, which define the rectangle the pixmap will be drawn in. Depending on the scale setting (\ref setScaled), the pixmap will be either scaled to fit the rectangle or be drawn aligned to the topLeft position. If scaling is enabled and \a topLeft is further to the bottom/right than \a bottomRight (as shown on the right side of the example image), the pixmap will be flipped in the respective orientations. */ /*! Creates a rectangle item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemPixmap::QCPItemPixmap(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), topLeft(createPosition("topLeft")), bottomRight(createPosition("bottomRight")), top(createAnchor("top", aiTop)), topRight(createAnchor("topRight", aiTopRight)), right(createAnchor("right", aiRight)), bottom(createAnchor("bottom", aiBottom)), bottomLeft(createAnchor("bottomLeft", aiBottomLeft)), left(createAnchor("left", aiLeft)) { topLeft->setCoords(0, 1); bottomRight->setCoords(1, 0); setPen(Qt::NoPen); setSelectedPen(QPen(Qt::blue)); setScaled(false, Qt::KeepAspectRatio); } QCPItemPixmap::~QCPItemPixmap() { } /*! Sets the pixmap that will be displayed. */ void QCPItemPixmap::setPixmap(const QPixmap &pixmap) { mPixmap = pixmap; if (mPixmap.isNull()) qDebug() << Q_FUNC_INFO << "pixmap is null"; } /*! Sets whether the pixmap will be scaled to fit the rectangle defined by the \a topLeft and \a bottomRight positions. */ void QCPItemPixmap::setScaled(bool scaled, Qt::AspectRatioMode aspectRatioMode) { mScaled = scaled; mAspectRatioMode = aspectRatioMode; updateScaledPixmap(); } /*! Sets the pen that will be used to draw a border around the pixmap. \see setSelectedPen, setBrush */ void QCPItemPixmap::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used to draw a border around the pixmap when selected \see setPen, setSelected */ void QCPItemPixmap::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /* inherits documentation from base class */ double QCPItemPixmap::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; return rectSelectTest(getFinalRect(), pos, true); } /* inherits documentation from base class */ void QCPItemPixmap::draw(QCPPainter *painter) { bool flipHorz = false; bool flipVert = false; QRect rect = getFinalRect(&flipHorz, &flipVert); double clipPad = mainPen().style() == Qt::NoPen ? 0 : mainPen().widthF(); QRect boundingRect = rect.adjusted(-clipPad, -clipPad, clipPad, clipPad); if (boundingRect.intersects(clipRect())) { updateScaledPixmap(rect, flipHorz, flipVert); painter->drawPixmap(rect.topLeft(), mScaled ? mScaledPixmap : mPixmap); QPen pen = mainPen(); if (pen.style() != Qt::NoPen) { painter->setPen(pen); painter->setBrush(Qt::NoBrush); painter->drawRect(rect); } } } /* inherits documentation from base class */ QPointF QCPItemPixmap::anchorPixelPoint(int anchorId) const { bool flipHorz; bool flipVert; QRect rect = getFinalRect(&flipHorz, &flipVert); // we actually want denormal rects (negative width/height) here, so restore // the flipped state: if (flipHorz) rect.adjust(rect.width(), 0, -rect.width(), 0); if (flipVert) rect.adjust(0, rect.height(), 0, -rect.height()); switch (anchorId) { case aiTop: return (rect.topLeft()+rect.topRight())*0.5; case aiTopRight: return rect.topRight(); case aiRight: return (rect.topRight()+rect.bottomRight())*0.5; case aiBottom: return (rect.bottomLeft()+rect.bottomRight())*0.5; case aiBottomLeft: return rect.bottomLeft(); case aiLeft: return (rect.topLeft()+rect.bottomLeft())*0.5;; } qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; return QPointF(); } /*! \internal Creates the buffered scaled image (\a mScaledPixmap) to fit the specified \a finalRect. The parameters \a flipHorz and \a flipVert control whether the resulting image shall be flipped horizontally or vertically. (This is used when \a topLeft is further to the bottom/right than \a bottomRight.) This function only creates the scaled pixmap when the buffered pixmap has a different size than the expected result, so calling this function repeatedly, e.g. in the \ref draw function, does not cause expensive rescaling every time. If scaling is disabled, sets mScaledPixmap to a null QPixmap. */ void QCPItemPixmap::updateScaledPixmap(QRect finalRect, bool flipHorz, bool flipVert) { if (mPixmap.isNull()) return; if (mScaled) { if (finalRect.isNull()) finalRect = getFinalRect(&flipHorz, &flipVert); if (finalRect.size() != mScaledPixmap.size()) { mScaledPixmap = mPixmap.scaled(finalRect.size(), mAspectRatioMode, Qt::SmoothTransformation); if (flipHorz || flipVert) mScaledPixmap = QPixmap::fromImage(mScaledPixmap.toImage().mirrored(flipHorz, flipVert)); } } else if (!mScaledPixmap.isNull()) mScaledPixmap = QPixmap(); } /*! \internal Returns the final (tight) rect the pixmap is drawn in, depending on the current item positions and scaling settings. The output parameters \a flippedHorz and \a flippedVert return whether the pixmap should be drawn flipped horizontally or vertically in the returned rect. (The returned rect itself is always normalized, i.e. the top left corner of the rect is actually further to the top/left than the bottom right corner). This is the case when the item position \a topLeft is further to the bottom/right than \a bottomRight. If scaling is disabled, returns a rect with size of the original pixmap and the top left corner aligned with the item position \a topLeft. The position \a bottomRight is ignored. */ QRect QCPItemPixmap::getFinalRect(bool *flippedHorz, bool *flippedVert) const { QRect result; bool flipHorz = false; bool flipVert = false; QPoint p1 = topLeft->pixelPoint().toPoint(); QPoint p2 = bottomRight->pixelPoint().toPoint(); if (p1 == p2) return QRect(p1, QSize(0, 0)); if (mScaled) { QSize newSize = QSize(p2.x()-p1.x(), p2.y()-p1.y()); QPoint topLeft = p1; if (newSize.width() < 0) { flipHorz = true; newSize.rwidth() *= -1; topLeft.setX(p2.x()); } if (newSize.height() < 0) { flipVert = true; newSize.rheight() *= -1; topLeft.setY(p2.y()); } QSize scaledSize = mPixmap.size(); scaledSize.scale(newSize, mAspectRatioMode); result = QRect(topLeft, scaledSize); } else { result = QRect(p1, mPixmap.size()); } if (flippedHorz) *flippedHorz = flipHorz; if (flippedVert) *flippedVert = flipVert; return result; } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemPixmap::mainPen() const { return mSelected ? mSelectedPen : mPen; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemTracer //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemTracer \brief Item that sticks to QCPGraph data points \image html QCPItemTracer.png "Tracer example. Blue dotted circles are anchors, solid blue discs are positions." The tracer can be connected with a QCPGraph via \ref setGraph. Then it will automatically adopt the coordinate axes of the graph and update its \a position to be on the graph's data. This means the key stays controllable via \ref setGraphKey, but the value will follow the graph data. If a QCPGraph is connected, note that setting the coordinates of the tracer item directly via \a position will have no effect because they will be overriden in the next redraw (this is when the coordinate update happens). If the specified key in \ref setGraphKey is outside the key bounds of the graph, the tracer will stay at the corresponding end of the graph. With \ref setInterpolating you may specify whether the tracer may only stay exactly on data points or whether it interpolates data points linearly, if given a key that lies between two data points of the graph. The tracer has different visual styles, see \ref setStyle. It is also possible to make the tracer have no own visual appearance (set the style to \ref tsNone), and just connect other item positions to the tracer \a position (used as an anchor) via \ref QCPItemPosition::setParentAnchor. \note The tracer position is only automatically updated upon redraws. So when the data of the graph changes and immediately afterwards (without a redraw) the a position coordinates of the tracer are retrieved, they will not reflect the updated data of the graph. In this case \ref updatePosition must be called manually, prior to reading the tracer coordinates. */ /*! Creates a tracer item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemTracer::QCPItemTracer(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), position(createPosition("position")), mGraph(0) { position->setCoords(0, 0); setBrush(Qt::NoBrush); setSelectedBrush(Qt::NoBrush); setPen(QPen(Qt::black)); setSelectedPen(QPen(Qt::blue, 2)); setStyle(tsCrosshair); setSize(6); setInterpolating(false); setGraphKey(0); } QCPItemTracer::~QCPItemTracer() { } /*! Sets the pen that will be used to draw the line of the tracer \see setSelectedPen, setBrush */ void QCPItemTracer::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used to draw the line of the tracer when selected \see setPen, setSelected */ void QCPItemTracer::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /*! Sets the brush that will be used to draw any fills of the tracer \see setSelectedBrush, setPen */ void QCPItemTracer::setBrush(const QBrush &brush) { mBrush = brush; } /*! Sets the brush that will be used to draw any fills of the tracer, when selected. \see setBrush, setSelected */ void QCPItemTracer::setSelectedBrush(const QBrush &brush) { mSelectedBrush = brush; } /*! Sets the size of the tracer in pixels, if the style supports setting a size (e.g. \ref tsSquare does, \ref tsCrosshair does not). */ void QCPItemTracer::setSize(double size) { mSize = size; } /*! Sets the style/visual appearance of the tracer. If you only want to use the tracer \a position as an anchor for other items, set \a style to \ref tsNone. */ void QCPItemTracer::setStyle(QCPItemTracer::TracerStyle style) { mStyle = style; } /*! Sets the QCPGraph this tracer sticks to. The tracer \a position will be set to type QCPItemPosition::ptPlotCoords and the axes will be set to the axes of \a graph. To free the tracer from any graph, set \a graph to 0. The tracer \a position can then be placed freely like any other item position. This is the state the tracer will assume when its graph gets deleted while still attached to it. \see setGraphKey */ void QCPItemTracer::setGraph(QCPGraph *graph) { if (graph) { if (graph->parentPlot() == mParentPlot) { position->setType(QCPItemPosition::ptPlotCoords); position->setAxes(graph->keyAxis(), graph->valueAxis()); mGraph = graph; updatePosition(); } else qDebug() << Q_FUNC_INFO << "graph isn't in same QCustomPlot instance as this item"; } else { mGraph = 0; } } /*! Sets the key of the graph's data point the tracer will be positioned at. This is the only free coordinate of a tracer when attached to a graph. Depending on \ref setInterpolating, the tracer will be either positioned on the data point closest to \a key, or will stay exactly at \a key and interpolate the value linearly. \see setGraph, setInterpolating */ void QCPItemTracer::setGraphKey(double key) { mGraphKey = key; } /*! Sets whether the value of the graph's data points shall be interpolated, when positioning the tracer. If \a enabled is set to false and a key is given with \ref setGraphKey, the tracer is placed on the data point of the graph which is closest to the key, but which is not necessarily exactly there. If \a enabled is true, the tracer will be positioned exactly at the specified key, and the appropriate value will be interpolated from the graph's data points linearly. \see setGraph, setGraphKey */ void QCPItemTracer::setInterpolating(bool enabled) { mInterpolating = enabled; } /* inherits documentation from base class */ double QCPItemTracer::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; QPointF center(position->pixelPoint()); double w = mSize/2.0; QRect clip = clipRect(); switch (mStyle) { case tsNone: return -1; case tsPlus: { if (clipRect().intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) return qSqrt(qMin(distSqrToLine(center+QPointF(-w, 0), center+QPointF(w, 0), pos), distSqrToLine(center+QPointF(0, -w), center+QPointF(0, w), pos))); break; } case tsCrosshair: { return qSqrt(qMin(distSqrToLine(QPointF(clip.left(), center.y()), QPointF(clip.right(), center.y()), pos), distSqrToLine(QPointF(center.x(), clip.top()), QPointF(center.x(), clip.bottom()), pos))); } case tsCircle: { if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) { // distance to border: double centerDist = QVector2D(center-pos).length(); double circleLine = w; double result = qAbs(centerDist-circleLine); // filled ellipse, allow click inside to count as hit: if (result > mParentPlot->selectionTolerance()*0.99 && mBrush.style() != Qt::NoBrush && mBrush.color().alpha() != 0) { if (centerDist <= circleLine) result = mParentPlot->selectionTolerance()*0.99; } return result; } break; } case tsSquare: { if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) { QRectF rect = QRectF(center-QPointF(w, w), center+QPointF(w, w)); bool filledRect = mBrush.style() != Qt::NoBrush && mBrush.color().alpha() != 0; return rectSelectTest(rect, pos, filledRect); } break; } } return -1; } /* inherits documentation from base class */ void QCPItemTracer::draw(QCPPainter *painter) { updatePosition(); if (mStyle == tsNone) return; painter->setPen(mainPen()); painter->setBrush(mainBrush()); QPointF center(position->pixelPoint()); double w = mSize/2.0; QRect clip = clipRect(); switch (mStyle) { case tsNone: return; case tsPlus: { if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) { painter->drawLine(QLineF(center+QPointF(-w, 0), center+QPointF(w, 0))); painter->drawLine(QLineF(center+QPointF(0, -w), center+QPointF(0, w))); } break; } case tsCrosshair: { if (center.y() > clip.top() && center.y() < clip.bottom()) painter->drawLine(QLineF(clip.left(), center.y(), clip.right(), center.y())); if (center.x() > clip.left() && center.x() < clip.right()) painter->drawLine(QLineF(center.x(), clip.top(), center.x(), clip.bottom())); break; } case tsCircle: { if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) painter->drawEllipse(center, w, w); break; } case tsSquare: { if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) painter->drawRect(QRectF(center-QPointF(w, w), center+QPointF(w, w))); break; } } } /*! If the tracer is connected with a graph (\ref setGraph), this function updates the tracer's \a position to reside on the graph data, depending on the configured key (\ref setGraphKey). It is called automatically on every redraw and normally doesn't need to be called manually. One exception is when you want to read the tracer coordinates via \a position and are not sure that the graph's data (or the tracer key with \ref setGraphKey) hasn't changed since the last redraw. In that situation, call this function before accessing \a position, to make sure you don't get out-of-date coordinates. If there is no graph set on this tracer, this function does nothing. */ void QCPItemTracer::updatePosition() { if (mGraph) { if (mParentPlot->hasPlottable(mGraph)) { if (mGraph->data()->size() > 1) { QCPDataMap::const_iterator first = mGraph->data()->constBegin(); QCPDataMap::const_iterator last = mGraph->data()->constEnd()-1; if (mGraphKey < first.key()) position->setCoords(first.key(), first.value().value); else if (mGraphKey > last.key()) position->setCoords(last.key(), last.value().value); else { QCPDataMap::const_iterator it = mGraph->data()->lowerBound(mGraphKey); if (it != first) // mGraphKey is somewhere between iterators { QCPDataMap::const_iterator prevIt = it-1; if (mInterpolating) { // interpolate between iterators around mGraphKey: double slope = (it.value().value-prevIt.value().value)/(it.key()-prevIt.key()); position->setCoords(mGraphKey, (mGraphKey-prevIt.key())*slope+prevIt.value().value); } else { // find iterator with key closest to mGraphKey: if (mGraphKey < (prevIt.key()+it.key())*0.5) it = prevIt; position->setCoords(it.key(), it.value().value); } } else // mGraphKey is exactly on first iterator position->setCoords(it.key(), it.value().value); } } else if (mGraph->data()->size() == 1) { QCPDataMap::const_iterator it = mGraph->data()->constBegin(); position->setCoords(it.key(), it.value().value); } else qDebug() << Q_FUNC_INFO << "graph has no data"; } else qDebug() << Q_FUNC_INFO << "graph not contained in QCustomPlot instance (anymore)"; } } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemTracer::mainPen() const { return mSelected ? mSelectedPen : mPen; } /*! \internal Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item is not selected and mSelectedBrush when it is. */ QBrush QCPItemTracer::mainBrush() const { return mSelected ? mSelectedBrush : mBrush; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPItemBracket //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPItemBracket \brief A bracket for referencing/highlighting certain parts in the plot. \image html QCPItemBracket.png "Bracket example. Blue dotted circles are anchors, solid blue discs are positions." It has two positions, \a left and \a right, which define the span of the bracket. If \a left is actually farther to the left than \a right, the bracket is opened to the bottom, as shown in the example image. The bracket supports multiple styles via \ref setStyle. The length, i.e. how far the bracket stretches away from the embraced span, can be controlled with \ref setLength. \image html QCPItemBracket-length.png
Demonstrating the effect of different values for \ref setLength, for styles \ref bsCalligraphic and \ref bsSquare. Anchors and positions are displayed for reference.
It provides an anchor \a center, to allow connection of other items, e.g. an arrow (QCPItemLine or QCPItemCurve) or a text label (QCPItemText), to the bracket. */ /*! Creates a bracket item and sets default values. The constructed item can be added to the plot with QCustomPlot::addItem. */ QCPItemBracket::QCPItemBracket(QCustomPlot *parentPlot) : QCPAbstractItem(parentPlot), left(createPosition("left")), right(createPosition("right")), center(createAnchor("center", aiCenter)) { left->setCoords(0, 0); right->setCoords(1, 1); setPen(QPen(Qt::black)); setSelectedPen(QPen(Qt::blue, 2)); setLength(8); setStyle(bsCalligraphic); } QCPItemBracket::~QCPItemBracket() { } /*! Sets the pen that will be used to draw the bracket. Note that when the style is \ref bsCalligraphic, only the color will be taken from the pen, the stroke and width are ignored. To change the apparent stroke width of a calligraphic bracket, use \ref setLength, which has a similar effect. \see setSelectedPen */ void QCPItemBracket::setPen(const QPen &pen) { mPen = pen; } /*! Sets the pen that will be used to draw the bracket when selected \see setPen, setSelected */ void QCPItemBracket::setSelectedPen(const QPen &pen) { mSelectedPen = pen; } /*! Sets the \a length in pixels how far the bracket extends in the direction towards the embraced span of the bracket (i.e. perpendicular to the left-right-direction) \image html QCPItemBracket-length.png
Demonstrating the effect of different values for \ref setLength, for styles \ref bsCalligraphic and \ref bsSquare. Anchors and positions are displayed for reference.
*/ void QCPItemBracket::setLength(double length) { mLength = length; } /*! Sets the style of the bracket, i.e. the shape/visual appearance. \see setPen */ void QCPItemBracket::setStyle(QCPItemBracket::BracketStyle style) { mStyle = style; } /* inherits documentation from base class */ double QCPItemBracket::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; QVector2D leftVec(left->pixelPoint()); QVector2D rightVec(right->pixelPoint()); if (leftVec.toPoint() == rightVec.toPoint()) return -1; QVector2D widthVec = (rightVec-leftVec)*0.5; QVector2D lengthVec(-widthVec.y(), widthVec.x()); lengthVec = lengthVec.normalized()*mLength; QVector2D centerVec = (rightVec+leftVec)*0.5-lengthVec; return qSqrt(distSqrToLine((centerVec-widthVec).toPointF(), (centerVec+widthVec).toPointF(), pos)); } /* inherits documentation from base class */ void QCPItemBracket::draw(QCPPainter *painter) { QVector2D leftVec(left->pixelPoint()); QVector2D rightVec(right->pixelPoint()); if (leftVec.toPoint() == rightVec.toPoint()) return; QVector2D widthVec = (rightVec-leftVec)*0.5; QVector2D lengthVec(-widthVec.y(), widthVec.x()); lengthVec = lengthVec.normalized()*mLength; QVector2D centerVec = (rightVec+leftVec)*0.5-lengthVec; QPolygon boundingPoly; boundingPoly << leftVec.toPoint() << rightVec.toPoint() << (rightVec-lengthVec).toPoint() << (leftVec-lengthVec).toPoint(); QRect clip = clipRect().adjusted(-mainPen().widthF(), -mainPen().widthF(), mainPen().widthF(), mainPen().widthF()); if (clip.intersects(boundingPoly.boundingRect())) { painter->setPen(mainPen()); switch (mStyle) { case bsSquare: { painter->drawLine((centerVec+widthVec).toPointF(), (centerVec-widthVec).toPointF()); painter->drawLine((centerVec+widthVec).toPointF(), (centerVec+widthVec+lengthVec).toPointF()); painter->drawLine((centerVec-widthVec).toPointF(), (centerVec-widthVec+lengthVec).toPointF()); break; } case bsRound: { painter->setBrush(Qt::NoBrush); QPainterPath path; path.moveTo((centerVec+widthVec+lengthVec).toPointF()); path.cubicTo((centerVec+widthVec).toPointF(), (centerVec+widthVec).toPointF(), centerVec.toPointF()); path.cubicTo((centerVec-widthVec).toPointF(), (centerVec-widthVec).toPointF(), (centerVec-widthVec+lengthVec).toPointF()); painter->drawPath(path); break; } case bsCurly: { painter->setBrush(Qt::NoBrush); QPainterPath path; path.moveTo((centerVec+widthVec+lengthVec).toPointF()); path.cubicTo((centerVec+widthVec*1-lengthVec*0.8).toPointF(), (centerVec+0.4*widthVec+1*lengthVec).toPointF(), centerVec.toPointF()); path.cubicTo((centerVec-0.4*widthVec+1*lengthVec).toPointF(), (centerVec-widthVec*1-lengthVec*0.8).toPointF(), (centerVec-widthVec+lengthVec).toPointF()); painter->drawPath(path); break; } case bsCalligraphic: { painter->setPen(Qt::NoPen); painter->setBrush(QBrush(mainPen().color())); QPainterPath path; path.moveTo((centerVec+widthVec+lengthVec).toPointF()); path.cubicTo((centerVec+widthVec*1-lengthVec*0.8).toPointF(), (centerVec+0.4*widthVec+0.8*lengthVec).toPointF(), centerVec.toPointF()); path.cubicTo((centerVec-0.4*widthVec+0.8*lengthVec).toPointF(), (centerVec-widthVec*1-lengthVec*0.8).toPointF(), (centerVec-widthVec+lengthVec).toPointF()); path.cubicTo((centerVec-widthVec*1-lengthVec*0.5).toPointF(), (centerVec-0.2*widthVec+1.2*lengthVec).toPointF(), (centerVec+lengthVec*0.2).toPointF()); path.cubicTo((centerVec+0.2*widthVec+1.2*lengthVec).toPointF(), (centerVec+widthVec*1-lengthVec*0.5).toPointF(), (centerVec+widthVec+lengthVec).toPointF()); painter->drawPath(path); break; } } } } /* inherits documentation from base class */ QPointF QCPItemBracket::anchorPixelPoint(int anchorId) const { QVector2D leftVec(left->pixelPoint()); QVector2D rightVec(right->pixelPoint()); if (leftVec.toPoint() == rightVec.toPoint()) return leftVec.toPointF(); QVector2D widthVec = (rightVec-leftVec)*0.5; QVector2D lengthVec(-widthVec.y(), widthVec.x()); lengthVec = lengthVec.normalized()*mLength; QVector2D centerVec = (rightVec+leftVec)*0.5-lengthVec; switch (anchorId) { case aiCenter: return centerVec.toPointF(); } qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; return QPointF(); } /*! \internal Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected and mSelectedPen when it is. */ QPen QCPItemBracket::mainPen() const { return mSelected ? mSelectedPen : mPen; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPAxisRect //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPAxisRect \brief Holds multiple axes and arranges them in a rectangular shape. This class represents an axis rect, a rectangular area that is bounded on all sides with an arbitrary number of axes. Initially QCustomPlot has one axis rect, accessible via QCustomPlot::axisRect(). However, the layout system allows to have multiple axis rects, e.g. arranged in a grid layout (QCustomPlot::plotLayout). By default, QCPAxisRect comes with four axes, at bottom, top, left and right. They can be accessed via \ref axis by providing the respective axis type (\ref QCPAxis::AxisType) and index. If you need all axes in the axis rect, use \ref axes. The top and right axes are set to be invisible initially (QCPAxis::setVisible). To add more axes to a side, use \ref addAxis or \ref addAxes. To remove an axis, use \ref removeAxis. The axis rect layerable itself only draws a background pixmap or color, if specified (\ref setBackground). It is placed on the "background" layer initially (see \ref QCPLayer for an explanation of the QCustomPlot layer system). The axes that are held by the axis rect can be placed on other layers, independently of the axis rect. Every axis rect has a child layout of type \ref QCPLayoutInset. It is accessible via \ref insetLayout and can be used to have other layout elements (or even other layouts with multiple elements) hovering inside the axis rect. If an axis rect is clicked and dragged, it processes this by moving certain axis ranges. The behaviour can be controlled with \ref setRangeDrag and \ref setRangeDragAxes. If the mouse wheel is scrolled while the cursor is on the axis rect, certain axes are scaled. This is controllable via \ref setRangeZoom, \ref setRangeZoomAxes and \ref setRangeZoomFactor. These interactions are only enabled if \ref QCustomPlot::setInteractions contains \ref QCP::iRangeDrag and \ref QCP::iRangeZoom. \image html AxisRectSpacingOverview.png
Overview of the spacings and paddings that define the geometry of an axis. The dashed line on the far left indicates the viewport/widget border.
*/ /* start documentation of inline functions */ /*! \fn QCPLayoutInset *QCPAxisRect::insetLayout() const Returns the inset layout of this axis rect. It can be used to place other layout elements (or even layouts with multiple other elements) inside/on top of an axis rect. \see QCPLayoutInset */ /*! \fn int QCPAxisRect::left() const Returns the pixel position of the left border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn int QCPAxisRect::right() const Returns the pixel position of the right border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn int QCPAxisRect::top() const Returns the pixel position of the top border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn int QCPAxisRect::bottom() const Returns the pixel position of the bottom border of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn int QCPAxisRect::width() const Returns the pixel width of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn int QCPAxisRect::height() const Returns the pixel height of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn QSize QCPAxisRect::size() const Returns the pixel size of this axis rect. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn QPoint QCPAxisRect::topLeft() const Returns the top left corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn QPoint QCPAxisRect::topRight() const Returns the top right corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn QPoint QCPAxisRect::bottomLeft() const Returns the bottom left corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn QPoint QCPAxisRect::bottomRight() const Returns the bottom right corner of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /*! \fn QPoint QCPAxisRect::center() const Returns the center of this axis rect in pixels. Margins are not taken into account here, so the returned value is with respect to the inner \ref rect. */ /* end documentation of inline functions */ /*! Creates a QCPAxisRect instance and sets default values. An axis is added for each of the four sides, the top and right axes are set invisible initially. */ QCPAxisRect::QCPAxisRect(QCustomPlot *parentPlot, bool setupDefaultAxes) : QCPLayoutElement(parentPlot), mBackgroundBrush(Qt::NoBrush), mBackgroundScaled(true), mBackgroundScaledMode(Qt::KeepAspectRatioByExpanding), mInsetLayout(new QCPLayoutInset), mRangeDrag(Qt::Horizontal|Qt::Vertical), mRangeZoom(Qt::Horizontal|Qt::Vertical), mRangeZoomFactorHorz(0.85), mRangeZoomFactorVert(0.85), mDragging(false) { mInsetLayout->initializeParentPlot(mParentPlot); mInsetLayout->setParentLayerable(this); mInsetLayout->setParent(this); setMinimumSize(50, 50); setMinimumMargins(QMargins(15, 15, 15, 15)); mAxes.insert(QCPAxis::atLeft, QList()); mAxes.insert(QCPAxis::atRight, QList()); mAxes.insert(QCPAxis::atTop, QList()); mAxes.insert(QCPAxis::atBottom, QList()); if (setupDefaultAxes) { QCPAxis *xAxis = addAxis(QCPAxis::atBottom); QCPAxis *yAxis = addAxis(QCPAxis::atLeft); QCPAxis *xAxis2 = addAxis(QCPAxis::atTop); QCPAxis *yAxis2 = addAxis(QCPAxis::atRight); setRangeDragAxes(xAxis, yAxis); setRangeZoomAxes(xAxis, yAxis); xAxis2->setVisible(false); yAxis2->setVisible(false); xAxis->grid()->setVisible(true); yAxis->grid()->setVisible(true); xAxis2->grid()->setVisible(false); yAxis2->grid()->setVisible(false); xAxis2->grid()->setZeroLinePen(Qt::NoPen); yAxis2->grid()->setZeroLinePen(Qt::NoPen); xAxis2->grid()->setVisible(false); yAxis2->grid()->setVisible(false); } } QCPAxisRect::~QCPAxisRect() { delete mInsetLayout; mInsetLayout = 0; QList axesList = axes(); for (int i=0; i ax(mAxes.value(type)); if (index >= 0 && index < ax.size()) { return ax.at(index); } else { qDebug() << Q_FUNC_INFO << "Axis index out of bounds:" << index; return 0; } } /*! Returns all axes on the axis rect sides specified with \a types. \a types may be a single \ref QCPAxis::AxisType or an or-combination, to get the axes of multiple sides. \see axis */ QList QCPAxisRect::axes(QCPAxis::AxisTypes types) const { QList result; if (types.testFlag(QCPAxis::atLeft)) result << mAxes.value(QCPAxis::atLeft); if (types.testFlag(QCPAxis::atRight)) result << mAxes.value(QCPAxis::atRight); if (types.testFlag(QCPAxis::atTop)) result << mAxes.value(QCPAxis::atTop); if (types.testFlag(QCPAxis::atBottom)) result << mAxes.value(QCPAxis::atBottom); return result; } /*! \overload Returns all axes of this axis rect. */ QList QCPAxisRect::axes() const { QList result; QHashIterator > it(mAxes); while (it.hasNext()) { it.next(); result << it.value(); } return result; } /*! Adds a new axis to the axis rect side specified with \a type, and returns it. If an axis rect side already contains one or more axes, the lower and upper endings of the new axis (\ref QCPAxis::setLowerEnding, \ref QCPAxis::setUpperEnding) are initialized to \ref QCPLineEnding::esHalfBar. \see addAxes, setupFullAxesBox */ QCPAxis *QCPAxisRect::addAxis(QCPAxis::AxisType type) { QCPAxis *newAxis = new QCPAxis(this, type); if (mAxes[type].size() > 0) // multiple axes on one side, add half-bar axis ending to additional axes with offset { bool invert = (type == QCPAxis::atRight) || (type == QCPAxis::atBottom); newAxis->setLowerEnding(QCPLineEnding(QCPLineEnding::esHalfBar, 6, 10, !invert)); newAxis->setUpperEnding(QCPLineEnding(QCPLineEnding::esHalfBar, 6, 10, invert)); } mAxes[type].append(newAxis); return newAxis; } /*! Adds a new axis with \ref addAxis to each axis rect side specified in \a types. This may be an or-combination of QCPAxis::AxisType, so axes can be added to multiple sides at once. Returns a list of the added axes. \see addAxis, setupFullAxesBox */ QList QCPAxisRect::addAxes(QCPAxis::AxisTypes types) { QList result; if (types.testFlag(QCPAxis::atLeft)) result << addAxis(QCPAxis::atLeft); if (types.testFlag(QCPAxis::atRight)) result << addAxis(QCPAxis::atRight); if (types.testFlag(QCPAxis::atTop)) result << addAxis(QCPAxis::atTop); if (types.testFlag(QCPAxis::atBottom)) result << addAxis(QCPAxis::atBottom); return result; } /*! Removes the specified \a axis from the axis rect and deletes it. Returns true on success, i.e. if \a axis was a valid axis in this axis rect. \see addAxis */ bool QCPAxisRect::removeAxis(QCPAxis *axis) { // don't access axis->axisType() to provide safety when axis is an invalid pointer, rather go through all axis containers: QHashIterator > it(mAxes); while (it.hasNext()) { it.next(); if (it.value().contains(axis)) { mAxes[it.key()].removeOne(axis); if (qobject_cast(parentPlot())) // make sure this isn't called from QObject dtor when QCustomPlot is already destructed (happens when the axis rect is not in any layout and thus QObject-child of QCustomPlot) parentPlot()->axisRemoved(axis); delete axis; return true; } } qDebug() << Q_FUNC_INFO << "Axis isn't in axis rect:" << reinterpret_cast(axis); return false; } /*! Convenience function to create an axis on each side that doesn't have any axes yet, and assign the top/right axes the following properties of the bottom/left axes (even if they already existed and weren't created by this function): \li range (\ref QCPAxis::setRange) \li range reversed (\ref QCPAxis::setRangeReversed) \li scale type (\ref QCPAxis::setScaleType) \li scale log base (\ref QCPAxis::setScaleLogBase) \li ticks (\ref QCPAxis::setTicks) \li auto (major) tick count (\ref QCPAxis::setAutoTickCount) \li sub tick count (\ref QCPAxis::setSubTickCount) \li auto sub ticks (\ref QCPAxis::setAutoSubTicks) \li tick step (\ref QCPAxis::setTickStep) \li auto tick step (\ref QCPAxis::setAutoTickStep) Tick labels (\ref QCPAxis::setTickLabels) of the right and top axes are set to false. If \a connectRanges is true, the rangeChanged signals of the bottom and left axes are connected to the \ref QCPAxis::setRange slots of the top and right axes. */ void QCPAxisRect::setupFullAxesBox(bool connectRanges) { QCPAxis *xAxis, *yAxis, *xAxis2, *yAxis2; if (axisCount(QCPAxis::atBottom) == 0) xAxis = addAxis(QCPAxis::atBottom); else xAxis = axis(QCPAxis::atBottom); if (axisCount(QCPAxis::atLeft) == 0) yAxis = addAxis(QCPAxis::atLeft); else yAxis = axis(QCPAxis::atLeft); if (axisCount(QCPAxis::atTop) == 0) xAxis2 = addAxis(QCPAxis::atTop); else xAxis2 = axis(QCPAxis::atTop); if (axisCount(QCPAxis::atRight) == 0) yAxis2 = addAxis(QCPAxis::atRight); else yAxis2 = axis(QCPAxis::atRight); xAxis2->setVisible(true); xAxis2->setTickLabels(false); if (xAxis) { xAxis2->setAutoSubTicks(xAxis->autoSubTicks()); xAxis2->setAutoTickCount(xAxis->autoTickCount()); xAxis2->setAutoTickStep(xAxis->autoTickStep()); xAxis2->setScaleType(xAxis->scaleType()); xAxis2->setScaleLogBase(xAxis->scaleLogBase()); xAxis2->setTicks(xAxis->ticks()); xAxis2->setSubTickCount(xAxis->subTickCount()); xAxis2->setTickStep(xAxis->tickStep()); xAxis2->setRange(xAxis->range()); xAxis2->setRangeReversed(xAxis->rangeReversed()); } yAxis2->setVisible(true); yAxis2->setTickLabels(false); if (yAxis) { yAxis2->setAutoSubTicks(yAxis->autoSubTicks()); yAxis2->setAutoTickCount(yAxis->autoTickCount()); yAxis2->setAutoTickStep(yAxis->autoTickStep()); yAxis2->setScaleType(yAxis->scaleType()); yAxis2->setScaleLogBase(yAxis->scaleLogBase()); yAxis2->setTicks(yAxis->ticks()); yAxis2->setSubTickCount(yAxis->subTickCount()); yAxis2->setTickStep(yAxis->tickStep()); yAxis2->setRange(yAxis->range()); yAxis2->setRangeReversed(yAxis->rangeReversed()); } if (connectRanges) { connect(xAxis, SIGNAL(rangeChanged(QCPRange)), xAxis2, SLOT(setRange(QCPRange))); connect(yAxis, SIGNAL(rangeChanged(QCPRange)), yAxis2, SLOT(setRange(QCPRange))); } } /*! Returns a list of all the plottables that are associated with this axis rect. A plottable is considered associated with an axis rect if its key or value axis (or both) is in this axis rect. \see graphs, items */ QList QCPAxisRect::plottables() const { // Note: don't append all QCPAxis::plottables() into a list, because we might get duplicate entries QList result; for (int i=0; imPlottables.size(); ++i) { if (mParentPlot->mPlottables.at(i)->keyAxis()->axisRect() == this ||mParentPlot->mPlottables.at(i)->valueAxis()->axisRect() == this) result.append(mParentPlot->mPlottables.at(i)); } return result; } /*! Returns a list of all the graphs that are associated with this axis rect. A graph is considered associated with an axis rect if its key or value axis (or both) is in this axis rect. \see plottables, items */ QList QCPAxisRect::graphs() const { // Note: don't append all QCPAxis::graphs() into a list, because we might get duplicate entries QList result; for (int i=0; imGraphs.size(); ++i) { if (mParentPlot->mGraphs.at(i)->keyAxis()->axisRect() == this || mParentPlot->mGraphs.at(i)->valueAxis()->axisRect() == this) result.append(mParentPlot->mGraphs.at(i)); } return result; } /*! Returns a list of all the items that are associated with this axis rect. An item is considered associated with an axis rect if any of its positions has key or value axis set to an axis that is in this axis rect, or if any of its positions has \ref QCPItemPosition::setAxisRect set to the axis rect, or if the clip axis rect (\ref QCPAbstractItem::setClipAxisRect) is set to this axis rect. \see plottables, graphs */ QList QCPAxisRect::items() const { // Note: don't just append all QCPAxis::items() into a list, because we might get duplicate entries // and miss those items that have this axis rect as clipAxisRect. QList result; for (int itemId=0; itemIdmItems.size(); ++itemId) { if (mParentPlot->mItems.at(itemId)->clipAxisRect() == this) { result.append(mParentPlot->mItems.at(itemId)); continue; } QList positions = mParentPlot->mItems.at(itemId)->positions(); for (int posId=0; posIdaxisRect() == this || positions.at(posId)->keyAxis()->axisRect() == this || positions.at(posId)->valueAxis()->axisRect() == this) { result.append(mParentPlot->mItems.at(itemId)); break; } } } return result; } /*! This method is called automatically upon replot and doesn't need to be called by users of QCPAxisRect. Calls the base class implementation to update the margins (see \ref QCPLayoutElement::update), and finally passes the \ref rect to the inset layout (\ref insetLayout) and calls its QCPInsetLayout::update function. */ void QCPAxisRect::update() { QCPLayoutElement::update(); // pass update call on to inset layout (doesn't happen automatically, because QCPAxisRect doesn't derive from QCPLayout): mInsetLayout->setOuterRect(rect()); mInsetLayout->update(); } /* inherits documentation from base class */ QList QCPAxisRect::elements(bool recursive) const { QList result; if (mInsetLayout) { result << mInsetLayout; if (recursive) result << mInsetLayout->elements(recursive); } return result; } /* inherits documentation from base class */ void QCPAxisRect::applyDefaultAntialiasingHint(QCPPainter *painter) const { painter->setAntialiasing(false); } /* inherits documentation from base class */ void QCPAxisRect::draw(QCPPainter *painter) { drawBackground(painter); } /*! Sets \a pm as the axis background pixmap. The axis background pixmap will be drawn inside the axis rect. Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds are usually drawn below everything else. For cases where the provided pixmap doesn't have the same size as the axis rect, scaling can be enabled with \ref setBackgroundScaled and the scaling mode (i.e. whether and how the aspect ratio is preserved) can be set with \ref setBackgroundScaledMode. To set all these options in one call, consider using the overloaded version of this function. Below the pixmap, the axis rect may be optionally filled with a brush, if specified with \ref setBackground(const QBrush &brush). \see setBackgroundScaled, setBackgroundScaledMode, setBackground(const QBrush &brush) */ void QCPAxisRect::setBackground(const QPixmap &pm) { mBackgroundPixmap = pm; mScaledBackgroundPixmap = QPixmap(); } /*! \overload Sets \a brush as the background brush. The axis rect background will be filled with this brush. Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds are usually drawn below everything else. The brush will be drawn before (under) any background pixmap, which may be specified with \ref setBackground(const QPixmap &pm). To disable drawing of a background brush, set \a brush to Qt::NoBrush. \see setBackground(const QPixmap &pm) */ void QCPAxisRect::setBackground(const QBrush &brush) { mBackgroundBrush = brush; } /*! \overload Allows setting the background pixmap of the axis rect, whether it shall be scaled and how it shall be scaled in one call. \see setBackground(const QPixmap &pm), setBackgroundScaled, setBackgroundScaledMode */ void QCPAxisRect::setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode) { mBackgroundPixmap = pm; mScaledBackgroundPixmap = QPixmap(); mBackgroundScaled = scaled; mBackgroundScaledMode = mode; } /*! Sets whether the axis background pixmap shall be scaled to fit the axis rect or not. If \a scaled is set to true, you may control whether and how the aspect ratio of the original pixmap is preserved with \ref setBackgroundScaledMode. Note that the scaled version of the original pixmap is buffered, so there is no performance penalty on replots. (Except when the axis rect dimensions are changed continuously.) \see setBackground, setBackgroundScaledMode */ void QCPAxisRect::setBackgroundScaled(bool scaled) { mBackgroundScaled = scaled; } /*! If scaling of the axis background pixmap is enabled (\ref setBackgroundScaled), use this function to define whether and how the aspect ratio of the original pixmap passed to \ref setBackground is preserved. \see setBackground, setBackgroundScaled */ void QCPAxisRect::setBackgroundScaledMode(Qt::AspectRatioMode mode) { mBackgroundScaledMode = mode; } /*! Returns the range drag axis of the \a orientation provided. \see setRangeDragAxes */ QCPAxis *QCPAxisRect::rangeDragAxis(Qt::Orientation orientation) { return (orientation == Qt::Horizontal ? mRangeDragHorzAxis.data() : mRangeDragVertAxis.data()); } /*! Returns the range zoom axis of the \a orientation provided. \see setRangeZoomAxes */ QCPAxis *QCPAxisRect::rangeZoomAxis(Qt::Orientation orientation) { return (orientation == Qt::Horizontal ? mRangeZoomHorzAxis.data() : mRangeZoomVertAxis.data()); } /*! Returns the range zoom factor of the \a orientation provided. \see setRangeZoomFactor */ double QCPAxisRect::rangeZoomFactor(Qt::Orientation orientation) { return (orientation == Qt::Horizontal ? mRangeZoomFactorHorz : mRangeZoomFactorVert); } /*! Sets which axis orientation may be range dragged by the user with mouse interaction. What orientation corresponds to which specific axis can be set with \ref setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical axis is the left axis (yAxis). To disable range dragging entirely, pass 0 as \a orientations or remove \ref QCP::iRangeDrag from \ref QCustomPlot::setInteractions. To enable range dragging for both directions, pass Qt::Horizontal | Qt::Vertical as \a orientations. In addition to setting \a orientations to a non-zero value, make sure \ref QCustomPlot::setInteractions contains \ref QCP::iRangeDrag to enable the range dragging interaction. \see setRangeZoom, setRangeDragAxes, setNoAntialiasingOnDrag */ void QCPAxisRect::setRangeDrag(Qt::Orientations orientations) { mRangeDrag = orientations; } /*! Sets which axis orientation may be zoomed by the user with the mouse wheel. What orientation corresponds to which specific axis can be set with \ref setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical axis is the left axis (yAxis). To disable range zooming entirely, pass 0 as \a orientations or remove \ref QCP::iRangeZoom from \ref QCustomPlot::setInteractions. To enable range zooming for both directions, pass Qt::Horizontal | Qt::Vertical as \a orientations. In addition to setting \a orientations to a non-zero value, make sure \ref QCustomPlot::setInteractions contains \ref QCP::iRangeZoom to enable the range zooming interaction. \see setRangeZoomFactor, setRangeZoomAxes, setRangeDrag */ void QCPAxisRect::setRangeZoom(Qt::Orientations orientations) { mRangeZoom = orientations; } /*! Sets the axes whose range will be dragged when \ref setRangeDrag enables mouse range dragging on the QCustomPlot widget. \see setRangeZoomAxes */ void QCPAxisRect::setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical) { mRangeDragHorzAxis = horizontal; mRangeDragVertAxis = vertical; } /*! Sets the axes whose range will be zoomed when \ref setRangeZoom enables mouse wheel zooming on the QCustomPlot widget. The two axes can be zoomed with different strengths, when different factors are passed to \ref setRangeZoomFactor(double horizontalFactor, double verticalFactor). \see setRangeDragAxes */ void QCPAxisRect::setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical) { mRangeZoomHorzAxis = horizontal; mRangeZoomVertAxis = vertical; } /*! Sets how strong one rotation step of the mouse wheel zooms, when range zoom was activated with \ref setRangeZoom. The two parameters \a horizontalFactor and \a verticalFactor provide a way to let the horizontal axis zoom at different rates than the vertical axis. Which axis is horizontal and which is vertical, can be set with \ref setRangeZoomAxes. When the zoom factor is greater than one, scrolling the mouse wheel backwards (towards the user) will zoom in (make the currently visible range smaller). For zoom factors smaller than one, the same scrolling direction will zoom out. */ void QCPAxisRect::setRangeZoomFactor(double horizontalFactor, double verticalFactor) { mRangeZoomFactorHorz = horizontalFactor; mRangeZoomFactorVert = verticalFactor; } /*! \overload Sets both the horizontal and vertical zoom \a factor. */ void QCPAxisRect::setRangeZoomFactor(double factor) { mRangeZoomFactorHorz = factor; mRangeZoomFactorVert = factor; } /*! \internal Draws the background of this axis rect. It may consist of a background fill (a QBrush) and a pixmap. If a brush was given via \ref setBackground(const QBrush &brush), this function first draws an according filling inside the axis rect with the provided \a painter. Then, if a pixmap was provided via \ref setBackground, this function buffers the scaled version depending on \ref setBackgroundScaled and \ref setBackgroundScaledMode and then draws it inside the axis rect with the provided \a painter. The scaled version is buffered in mScaledBackgroundPixmap to prevent expensive rescaling at every redraw. It is only updated, when the axis rect has changed in a way that requires a rescale of the background pixmap (this is dependant on the \ref setBackgroundScaledMode), or when a differend axis backgroud pixmap was set. \see setBackground, setBackgroundScaled, setBackgroundScaledMode */ void QCPAxisRect::drawBackground(QCPPainter *painter) { // draw background fill: if (mBackgroundBrush != Qt::NoBrush) painter->fillRect(mRect, mBackgroundBrush); // draw background pixmap (on top of fill, if brush specified): if (!mBackgroundPixmap.isNull()) { if (mBackgroundScaled) { // check whether mScaledBackground needs to be updated: QSize scaledSize(mBackgroundPixmap.size()); scaledSize.scale(mRect.size(), mBackgroundScaledMode); if (mScaledBackgroundPixmap.size() != scaledSize) mScaledBackgroundPixmap = mBackgroundPixmap.scaled(mRect.size(), mBackgroundScaledMode, Qt::SmoothTransformation); painter->drawPixmap(mRect.topLeft(), mScaledBackgroundPixmap, QRect(0, 0, mRect.width(), mRect.height()) & mScaledBackgroundPixmap.rect()); } else { painter->drawPixmap(mRect.topLeft(), mBackgroundPixmap, QRect(0, 0, mRect.width(), mRect.height())); } } } /*! \internal This function makes sure multiple axes on the side specified with \a type don't collide, but are distributed according to their respective space requirement (QCPAxis::calculateMargin). It does this by setting an appropriate offset (\ref QCPAxis::setOffset) on all axes except the one with index zero. This function is called by \ref calculateAutoMargin. */ void QCPAxisRect::updateAxesOffset(QCPAxis::AxisType type) { const QList axesList = mAxes.value(type); for (int i=1; isetOffset(axesList.at(i-1)->offset() + axesList.at(i-1)->calculateMargin() + axesList.at(i)->tickLengthIn()); } /* inherits documentation from base class */ int QCPAxisRect::calculateAutoMargin(QCP::MarginSide side) { if (!mAutoMargins.testFlag(side)) qDebug() << Q_FUNC_INFO << "Called with side that isn't specified as auto margin"; updateAxesOffset(QCPAxis::marginSideToAxisType(side)); // note: only need to look at the last (outer most) axis to determine the total margin, due to updateAxisOffset call const QList axesList = mAxes.value(QCPAxis::marginSideToAxisType(side)); if (axesList.size() > 0) return axesList.last()->offset() + axesList.last()->calculateMargin(); else return 0; } /*! \internal Event handler for when a mouse button is pressed on the axis rect. If the left mouse button is pressed, the range dragging interaction is initialized (the actual range manipulation happens in the \ref mouseMoveEvent). The mDragging flag is set to true and some anchor points are set that are needed to determine the distance the mouse was dragged in the mouse move/release events later. \see mouseMoveEvent, mouseReleaseEvent */ void QCPAxisRect::mousePressEvent(QMouseEvent *event) { mDragStart = event->pos(); // need this even when not LeftButton is pressed, to determine in releaseEvent whether it was a full click (no position change between press and release) if (event->buttons() & Qt::LeftButton) { mDragging = true; // initialize antialiasing backup in case we start dragging: if (mParentPlot->noAntialiasingOnDrag()) { mAADragBackup = mParentPlot->antialiasedElements(); mNotAADragBackup = mParentPlot->notAntialiasedElements(); } // Mouse range dragging interaction: if (mParentPlot->interactions().testFlag(QCP::iRangeDrag)) { if (mRangeDragHorzAxis) mDragStartHorzRange = mRangeDragHorzAxis.data()->range(); if (mRangeDragVertAxis) mDragStartVertRange = mRangeDragVertAxis.data()->range(); } } } /*! \internal Event handler for when the mouse is moved on the axis rect. If range dragging was activated in a preceding \ref mousePressEvent, the range is moved accordingly. \see mousePressEvent, mouseReleaseEvent */ void QCPAxisRect::mouseMoveEvent(QMouseEvent *event) { // Mouse range dragging interaction: if (mDragging && mParentPlot->interactions().testFlag(QCP::iRangeDrag)) { if (mRangeDrag.testFlag(Qt::Horizontal)) { if (QCPAxis *rangeDragHorzAxis = mRangeDragHorzAxis.data()) { if (rangeDragHorzAxis->mScaleType == QCPAxis::stLinear) { double diff = rangeDragHorzAxis->pixelToCoord(mDragStart.x()) - rangeDragHorzAxis->pixelToCoord(event->pos().x()); rangeDragHorzAxis->setRange(mDragStartHorzRange.lower+diff, mDragStartHorzRange.upper+diff); } else if (rangeDragHorzAxis->mScaleType == QCPAxis::stLogarithmic) { double diff = rangeDragHorzAxis->pixelToCoord(mDragStart.x()) / rangeDragHorzAxis->pixelToCoord(event->pos().x()); rangeDragHorzAxis->setRange(mDragStartHorzRange.lower*diff, mDragStartHorzRange.upper*diff); } } } if (mRangeDrag.testFlag(Qt::Vertical)) { if (QCPAxis *rangeDragVertAxis = mRangeDragVertAxis.data()) { if (rangeDragVertAxis->mScaleType == QCPAxis::stLinear) { double diff = rangeDragVertAxis->pixelToCoord(mDragStart.y()) - rangeDragVertAxis->pixelToCoord(event->pos().y()); rangeDragVertAxis->setRange(mDragStartVertRange.lower+diff, mDragStartVertRange.upper+diff); } else if (rangeDragVertAxis->mScaleType == QCPAxis::stLogarithmic) { double diff = rangeDragVertAxis->pixelToCoord(mDragStart.y()) / rangeDragVertAxis->pixelToCoord(event->pos().y()); rangeDragVertAxis->setRange(mDragStartVertRange.lower*diff, mDragStartVertRange.upper*diff); } } } if (mRangeDrag != 0) // if either vertical or horizontal drag was enabled, do a replot { if (mParentPlot->noAntialiasingOnDrag()) mParentPlot->setNotAntialiasedElements(QCP::aeAll); mParentPlot->replot(); } } } /* inherits documentation from base class */ void QCPAxisRect::mouseReleaseEvent(QMouseEvent *event) { Q_UNUSED(event) mDragging = false; if (mParentPlot->noAntialiasingOnDrag()) { mParentPlot->setAntialiasedElements(mAADragBackup); mParentPlot->setNotAntialiasedElements(mNotAADragBackup); } } /*! \internal Event handler for mouse wheel events. If rangeZoom is Qt::Horizontal, Qt::Vertical or both, the ranges of the axes defined as rangeZoomHorzAxis and rangeZoomVertAxis are scaled. The center of the scaling operation is the current cursor position inside the axis rect. The scaling factor is dependant on the mouse wheel delta (which direction the wheel was rotated) to provide a natural zooming feel. The Strength of the zoom can be controlled via \ref setRangeZoomFactor. Note, that event->delta() is usually +/-120 for single rotation steps. However, if the mouse wheel is turned rapidly, many steps may bunch up to one event, so the event->delta() may then be multiples of 120. This is taken into account here, by calculating \a wheelSteps and using it as exponent of the range zoom factor. This takes care of the wheel direction automatically, by inverting the factor, when the wheel step is negative (f^-1 = 1/f). */ void QCPAxisRect::wheelEvent(QWheelEvent *event) { // Mouse range zooming interaction: if (mParentPlot->interactions().testFlag(QCP::iRangeZoom)) { if (mRangeZoom != 0) { double factor; double wheelSteps = event->delta()/120.0; // a single step delta is +/-120 usually if (mRangeZoom.testFlag(Qt::Horizontal)) { factor = pow(mRangeZoomFactorHorz, wheelSteps); if (mRangeZoomHorzAxis.data()) mRangeZoomHorzAxis.data()->scaleRange(factor, mRangeZoomHorzAxis.data()->pixelToCoord(event->pos().x())); } if (mRangeZoom.testFlag(Qt::Vertical)) { factor = pow(mRangeZoomFactorVert, wheelSteps); if (mRangeZoomVertAxis.data()) mRangeZoomVertAxis.data()->scaleRange(factor, mRangeZoomVertAxis.data()->pixelToCoord(event->pos().y())); } mParentPlot->replot(); } } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPAbstractLegendItem //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPAbstractLegendItem \brief The abstract base class for all entries in a QCPLegend. It defines a very basic interface for entries in a QCPLegend. For representing plottables in the legend, the subclass \ref QCPPlottableLegendItem is more suitable. Only derive directly from this class when you need absolute freedom (e.g. a custom legend entry that's not even associated with a plottable). You must implement the following pure virtual functions: \li \ref draw (from QCPLayerable) You inherit the following members you may use:
QCPLegend *\b mParentLegend A pointer to the parent QCPLegend.
QFont \b mFont The generic font of the item. You should use this font for all or at least the most prominent text of the item.
*/ /* start of documentation of signals */ /*! \fn void QCPAbstractLegendItem::selectionChanged(bool selected) This signal is emitted when the selection state of this legend item has changed, either by user interaction or by a direct call to \ref setSelected. */ /* end of documentation of signals */ /*! Constructs a QCPAbstractLegendItem and associates it with the QCPLegend \a parent. This does not cause the item to be added to \a parent, so \ref QCPLegend::addItem must be called separately. */ QCPAbstractLegendItem::QCPAbstractLegendItem(QCPLegend *parent) : QCPLayoutElement(parent->parentPlot()), mParentLegend(parent), mFont(parent->font()), mTextColor(parent->textColor()), mSelectedFont(parent->selectedFont()), mSelectedTextColor(parent->selectedTextColor()), mSelectable(true), mSelected(false) { setLayer("legend"); setMargins(QMargins(8, 2, 8, 2)); } /*! Sets the default font of this specific legend item to \a font. \see setTextColor, QCPLegend::setFont */ void QCPAbstractLegendItem::setFont(const QFont &font) { mFont = font; } /*! Sets the default text color of this specific legend item to \a color. \see setFont, QCPLegend::setTextColor */ void QCPAbstractLegendItem::setTextColor(const QColor &color) { mTextColor = color; } /*! When this legend item is selected, \a font is used to draw generic text, instead of the normal font set with \ref setFont. \see setFont, QCPLegend::setSelectedFont */ void QCPAbstractLegendItem::setSelectedFont(const QFont &font) { mSelectedFont = font; } /*! When this legend item is selected, \a color is used to draw generic text, instead of the normal color set with \ref setTextColor. \see setTextColor, QCPLegend::setSelectedTextColor */ void QCPAbstractLegendItem::setSelectedTextColor(const QColor &color) { mSelectedTextColor = color; } /*! Sets whether this specific legend item is selectable. \see setSelectedParts, QCustomPlot::setInteractions */ void QCPAbstractLegendItem::setSelectable(bool selectable) { mSelectable = selectable; } /*! Sets whether this specific legend item is selected. It is possible to set the selection state of this item by calling this function directly, even if setSelectable is set to false. \see setSelectableParts, QCustomPlot::setInteractions */ void QCPAbstractLegendItem::setSelected(bool selected) { if (mSelected != selected) { mSelected = selected; emit selectionChanged(mSelected); } } /* inherits documentation from base class */ double QCPAbstractLegendItem::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (!mParentPlot) return -1; if (onlySelectable && (!mSelectable || !mParentLegend->selectableParts().testFlag(QCPLegend::spItems))) return -1; if (mRect.contains(pos.toPoint())) return mParentPlot->selectionTolerance()*0.99; else return -1; } /* inherits documentation from base class */ void QCPAbstractLegendItem::applyDefaultAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiased, QCP::aeLegendItems); } /* inherits documentation from base class */ QRect QCPAbstractLegendItem::clipRect() const { return mOuterRect; } /* inherits documentation from base class */ void QCPAbstractLegendItem::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) { Q_UNUSED(event) Q_UNUSED(details) if (mSelectable && mParentLegend->selectableParts().testFlag(QCPLegend::spItems)) { bool selBefore = mSelected; setSelected(additive ? !mSelected : true); if (selectionStateChanged) *selectionStateChanged = mSelected != selBefore; } } /* inherits documentation from base class */ void QCPAbstractLegendItem::deselectEvent(bool *selectionStateChanged) { if (mSelectable && mParentLegend->selectableParts().testFlag(QCPLegend::spItems)) { bool selBefore = mSelected; setSelected(false); if (selectionStateChanged) *selectionStateChanged = mSelected != selBefore; } } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPPlottableLegendItem //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPPlottableLegendItem \brief A legend item representing a plottable with an icon and the plottable name. This is the standard legend item for plottables. It displays an icon of the plottable next to the plottable name. The icon is drawn by the respective plottable itself (\ref QCPAbstractPlottable::drawLegendIcon), and tries to give an intuitive symbol for the plottable. For example, the QCPGraph draws a centered horizontal line and/or a single scatter point in the middle. Legend items of this type are always associated with one plottable (retrievable via the plottable() function and settable with the constructor). You may change the font of the plottable name with \ref setFont. Icon padding and border pen is taken from the parent QCPLegend, see \ref QCPLegend::setIconBorderPen and \ref QCPLegend::setIconTextPadding. The function \ref QCPAbstractPlottable::addToLegend/\ref QCPAbstractPlottable::removeFromLegend creates/removes legend items of this type in the default implementation. However, these functions may be reimplemented such that a different kind of legend item (e.g a direct subclass of QCPAbstractLegendItem) is used for that plottable. Since QCPLegend is based on QCPLayoutGrid, a legend item itself is just a subclass of QCPLayoutElement. While it could be added to a legend (or any other layout) via the normal layout interface, QCPLegend has specialized functions for handling legend items conveniently, see the documentation of \ref QCPLegend. */ /*! Creates a new legend item associated with \a plottable. Once it's created, it can be added to the legend via \ref QCPLegend::addItem. A more convenient way of adding/removing a plottable to/from the legend is via the functions \ref QCPAbstractPlottable::addToLegend and \ref QCPAbstractPlottable::removeFromLegend. */ QCPPlottableLegendItem::QCPPlottableLegendItem(QCPLegend *parent, QCPAbstractPlottable *plottable) : QCPAbstractLegendItem(parent), mPlottable(plottable) { } /*! \internal Returns the pen that shall be used to draw the icon border, taking into account the selection state of this item. */ QPen QCPPlottableLegendItem::getIconBorderPen() const { return mSelected ? mParentLegend->selectedIconBorderPen() : mParentLegend->iconBorderPen(); } /*! \internal Returns the text color that shall be used to draw text, taking into account the selection state of this item. */ QColor QCPPlottableLegendItem::getTextColor() const { return mSelected ? mSelectedTextColor : mTextColor; } /*! \internal Returns the font that shall be used to draw text, taking into account the selection state of this item. */ QFont QCPPlottableLegendItem::getFont() const { return mSelected ? mSelectedFont : mFont; } /*! \internal Draws the item with \a painter. The size and position of the drawn legend item is defined by the parent layout (typically a \ref QCPLegend) and the \ref minimumSizeHint and \ref maximumSizeHint of this legend item. */ void QCPPlottableLegendItem::draw(QCPPainter *painter) { if (!mPlottable) return; painter->setFont(getFont()); painter->setPen(QPen(getTextColor())); QSizeF iconSize = mParentLegend->iconSize(); QRectF textRect = painter->fontMetrics().boundingRect(0, 0, 0, iconSize.height(), Qt::TextDontClip, mPlottable->name()); QRectF iconRect(mRect.topLeft(), iconSize); int textHeight = qMax(textRect.height(), iconSize.height()); // if text has smaller height than icon, center text vertically in icon height, else align tops painter->drawText(mRect.x()+iconSize.width()+mParentLegend->iconTextPadding(), mRect.y(), textRect.width(), textHeight, Qt::TextDontClip, mPlottable->name()); // draw icon: painter->save(); painter->setClipRect(iconRect, Qt::IntersectClip); mPlottable->drawLegendIcon(painter, iconRect); painter->restore(); // draw icon border: if (getIconBorderPen().style() != Qt::NoPen) { painter->setPen(getIconBorderPen()); painter->setBrush(Qt::NoBrush); painter->drawRect(iconRect); } } /*! \internal Calculates and returns the size of this item. This includes the icon, the text and the padding in between. */ QSize QCPPlottableLegendItem::minimumSizeHint() const { if (!mPlottable) return QSize(); QSize result(0, 0); QRect textRect; QFontMetrics fontMetrics(getFont()); QSize iconSize = mParentLegend->iconSize(); textRect = fontMetrics.boundingRect(0, 0, 0, iconSize.height(), Qt::TextDontClip, mPlottable->name()); result.setWidth(iconSize.width() + mParentLegend->iconTextPadding() + textRect.width() + mMargins.left() + mMargins.right()); result.setHeight(qMax(textRect.height(), iconSize.height()) + mMargins.top() + mMargins.bottom()); return result; } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPLegend //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPLegend \brief Manages a legend inside a QCustomPlot. A legend is a small box somewhere in the plot which lists plottables with their name and icon. Normally, the legend is populated by calling \ref QCPAbstractPlottable::addToLegend. The respective legend item can be removed with \ref QCPAbstractPlottable::removeFromLegend. However, QCPLegend also offers an interface to add and manipulate legend items directly: \ref item, \ref itemWithPlottable, \ref itemCount, \ref addItem, \ref removeItem, etc. The QCPLegend derives from QCPLayoutGrid and as such can be placed in any position a QCPLayoutElement may be positioned. The legend items are themselves QCPLayoutElements which are placed in the grid layout of the legend. QCPLegend only adds an interface specialized for handling child elements of type QCPAbstractLegendItem, as mentioned above. In principle, any other layout elements may also be added to a legend via the normal \ref QCPLayoutGrid interface. However, the QCPAbstractLegendItem-Interface will ignore those elements (e.g. \ref itemCount will only return the number of items with QCPAbstractLegendItems type). By default, every QCustomPlot has one legend (QCustomPlot::legend) which is placed in the inset layout of the main axis rect (\ref QCPAxisRect::insetLayout). To move the legend to another position inside the axis rect, use the methods of the \ref QCPLayoutInset. To move the legend outside of the axis rect, place it anywhere else with the QCPLayout/QCPLayoutElement interface. */ /* start of documentation of signals */ /*! \fn void QCPLegend::selectionChanged(QCPLegend::SelectableParts selection); This signal is emitted when the selection state of this legend has changed. \see setSelectedParts, setSelectableParts */ /* end of documentation of signals */ /*! Constructs a new QCPLegend instance with \a parentPlot as the containing plot and default values. Note that by default, QCustomPlot already contains a legend ready to be used as QCustomPlot::legend */ QCPLegend::QCPLegend() { setRowSpacing(0); setColumnSpacing(10); setMargins(QMargins(2, 3, 2, 2)); setAntialiased(false); setIconSize(32, 18); setIconTextPadding(7); setSelectableParts(spLegendBox | spItems); setSelectedParts(spNone); setBorderPen(QPen(Qt::black)); setSelectedBorderPen(QPen(Qt::blue, 2)); setIconBorderPen(Qt::NoPen); setSelectedIconBorderPen(QPen(Qt::blue, 2)); setBrush(Qt::white); setSelectedBrush(Qt::white); setTextColor(Qt::black); setSelectedTextColor(Qt::blue); } QCPLegend::~QCPLegend() { clearItems(); if (mParentPlot) mParentPlot->legendRemoved(this); } /* no doc for getter, see setSelectedParts */ QCPLegend::SelectableParts QCPLegend::selectedParts() const { // check whether any legend elements selected, if yes, add spItems to return value bool hasSelectedItems = false; for (int i=0; iselected()) { hasSelectedItems = true; break; } } if (hasSelectedItems) return mSelectedParts | spItems; else return mSelectedParts & ~spItems; } /*! Sets the pen, the border of the entire legend is drawn with. */ void QCPLegend::setBorderPen(const QPen &pen) { mBorderPen = pen; } /*! Sets the brush of the legend background. */ void QCPLegend::setBrush(const QBrush &brush) { mBrush = brush; } /*! Sets the default font of legend text. Legend items that draw text (e.g. the name of a graph) will use this font by default. However, a different font can be specified on a per-item-basis by accessing the specific legend item. This function will also set \a font on all already existing legend items. \see QCPAbstractLegendItem::setFont */ void QCPLegend::setFont(const QFont &font) { mFont = font; for (int i=0; isetFont(mFont); } } /*! Sets the default color of legend text. Legend items that draw text (e.g. the name of a graph) will use this color by default. However, a different colors can be specified on a per-item-basis by accessing the specific legend item. This function will also set \a color on all already existing legend items. \see QCPAbstractLegendItem::setTextColor */ void QCPLegend::setTextColor(const QColor &color) { mTextColor = color; for (int i=0; isetTextColor(color); } } /*! Sets the size of legend icons. Legend items that draw an icon (e.g. a visual representation of the graph) will use this size by default. */ void QCPLegend::setIconSize(const QSize &size) { mIconSize = size; } /*! \overload */ void QCPLegend::setIconSize(int width, int height) { mIconSize.setWidth(width); mIconSize.setHeight(height); } /*! Sets the horizontal space in pixels between the legend icon and the text next to it. Legend items that draw an icon (e.g. a visual representation of the graph) and text (e.g. the name of the graph) will use this space by default. */ void QCPLegend::setIconTextPadding(int padding) { mIconTextPadding = padding; } /*! Sets the pen used to draw a border around each legend icon. Legend items that draw an icon (e.g. a visual representation of the graph) will use this pen by default. If no border is wanted, set this to \a Qt::NoPen. */ void QCPLegend::setIconBorderPen(const QPen &pen) { mIconBorderPen = pen; } /*! Sets whether the user can (de-)select the parts in \a selectable by clicking on the QCustomPlot surface. (When \ref QCustomPlot::setInteractions contains iSelectLegend.) However, even when \a selectable is set to a value not allowing the selection of a specific part, it is still possible to set the selection of this part manually, by calling \ref setSelectedParts directly. \see SelectablePart, setSelectedParts */ void QCPLegend::setSelectableParts(const SelectableParts &selectable) { mSelectableParts = selectable; } /*! Sets the selected state of the respective legend parts described by \ref SelectablePart. When a part is selected, it uses a different pen/font and brush. If some legend items are selected and \a selected doesn't contain \ref spItems, those items become deselected. The entire selection mechanism is handled automatically when \ref QCustomPlot::setInteractions contains iSelectLegend. You only need to call this function when you wish to change the selection state manually. This function can change the selection state of a part even when \ref setSelectableParts was set to a value that actually excludes the part. emits the \ref selectionChanged signal when \a selected is different from the previous selection state. Note that it doesn't make sense to set the selected state \ref spItems here when it wasn't set before, because there's no way to specify which exact items to newly select. Do this by calling \ref QCPAbstractLegendItem::setSelected directly on the legend item you wish to select. \see SelectablePart, setSelectableParts, selectTest, setSelectedBorderPen, setSelectedIconBorderPen, setSelectedBrush, setSelectedFont */ void QCPLegend::setSelectedParts(const SelectableParts &selected) { SelectableParts newSelected = selected; mSelectedParts = this->selectedParts(); // update mSelectedParts in case item selection changed if (mSelectedParts != newSelected) { if (!mSelectedParts.testFlag(spItems) && newSelected.testFlag(spItems)) // attempt to set spItems flag (can't do that) { qDebug() << Q_FUNC_INFO << "spItems flag can not be set, it can only be unset with this function"; newSelected &= ~spItems; } if (mSelectedParts.testFlag(spItems) && !newSelected.testFlag(spItems)) // spItems flag was unset, so clear item selection { for (int i=0; isetSelected(false); } } mSelectedParts = newSelected; emit selectionChanged(mSelectedParts); } } /*! When the legend box is selected, this pen is used to draw the border instead of the normal pen set via \ref setBorderPen. \see setSelectedParts, setSelectableParts, setSelectedBrush */ void QCPLegend::setSelectedBorderPen(const QPen &pen) { mSelectedBorderPen = pen; } /*! Sets the pen legend items will use to draw their icon borders, when they are selected. \see setSelectedParts, setSelectableParts, setSelectedFont */ void QCPLegend::setSelectedIconBorderPen(const QPen &pen) { mSelectedIconBorderPen = pen; } /*! When the legend box is selected, this brush is used to draw the legend background instead of the normal brush set via \ref setBrush. \see setSelectedParts, setSelectableParts, setSelectedBorderPen */ void QCPLegend::setSelectedBrush(const QBrush &brush) { mSelectedBrush = brush; } /*! Sets the default font that is used by legend items when they are selected. This function will also set \a font on all already existing legend items. \see setFont, QCPAbstractLegendItem::setSelectedFont */ void QCPLegend::setSelectedFont(const QFont &font) { mSelectedFont = font; for (int i=0; isetSelectedFont(font); } } /*! Sets the default text color that is used by legend items when they are selected. This function will also set \a color on all already existing legend items. \see setTextColor, QCPAbstractLegendItem::setSelectedTextColor */ void QCPLegend::setSelectedTextColor(const QColor &color) { mSelectedTextColor = color; for (int i=0; isetSelectedTextColor(color); } } /*! Returns the item with index \a i. \see itemCount */ QCPAbstractLegendItem *QCPLegend::item(int index) const { return qobject_cast(elementAt(index)); } /*! Returns the QCPPlottableLegendItem which is associated with \a plottable (e.g. a \ref QCPGraph*). If such an item isn't in the legend, returns 0. \see hasItemWithPlottable */ QCPPlottableLegendItem *QCPLegend::itemWithPlottable(const QCPAbstractPlottable *plottable) const { for (int i=0; i(item(i))) { if (pli->plottable() == plottable) return pli; } } return 0; } /*! Returns the number of items currently in the legend. \see item */ int QCPLegend::itemCount() const { return elementCount(); } /*! Returns whether the legend contains \a itm. */ bool QCPLegend::hasItem(QCPAbstractLegendItem *item) const { for (int i=0; iitem(i)) return true; } return false; } /*! Returns whether the legend contains a QCPPlottableLegendItem which is associated with \a plottable (e.g. a \ref QCPGraph*). If such an item isn't in the legend, returns false. \see itemWithPlottable */ bool QCPLegend::hasItemWithPlottable(const QCPAbstractPlottable *plottable) const { return itemWithPlottable(plottable); } /*! Adds \a item to the legend, if it's not present already. Returns true on sucess, i.e. if the item wasn't in the list already and has been successfuly added. The legend takes ownership of the item. */ bool QCPLegend::addItem(QCPAbstractLegendItem *item) { if (!hasItem(item)) { return addElement(rowCount(), 0, item); } else return false; } /*! Removes the item with index \a index from the legend. Returns true, if successful. \see itemCount, clearItems */ bool QCPLegend::removeItem(int index) { if (QCPAbstractLegendItem *ali = item(index)) { bool success = remove(ali); simplify(); return success; } else return false; } /*! \overload Removes \a item from the legend. Returns true, if successful. \see clearItems */ bool QCPLegend::removeItem(QCPAbstractLegendItem *item) { bool success = remove(item); simplify(); return success; } /*! Removes all items from the legend. */ void QCPLegend::clearItems() { for (int i=itemCount()-1; i>=0; --i) removeItem(i); } /*! Returns the legend items that are currently selected. If no items are selected, the list is empty. \see QCPAbstractLegendItem::setSelected, setSelectable */ QList QCPLegend::selectedItems() const { QList result; for (int i=0; iselected()) result.append(ali); } } return result; } /*! \internal A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter before drawing main legend elements. This is the antialiasing state the painter passed to the \ref draw method is in by default. This function takes into account the local setting of the antialiasing flag as well as the overrides set with \ref QCustomPlot::setAntialiasedElements and \ref QCustomPlot::setNotAntialiasedElements. \see setAntialiased */ void QCPLegend::applyDefaultAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiased, QCP::aeLegend); } /*! \internal Returns the pen used to paint the border of the legend, taking into account the selection state of the legend box. */ QPen QCPLegend::getBorderPen() const { return mSelectedParts.testFlag(spLegendBox) ? mSelectedBorderPen : mBorderPen; } /*! \internal Returns the brush used to paint the background of the legend, taking into account the selection state of the legend box. */ QBrush QCPLegend::getBrush() const { return mSelectedParts.testFlag(spLegendBox) ? mSelectedBrush : mBrush; } /*! \internal Draws the legend box with the provided \a painter. The individual legend items are layerables themselves, thus are drawn independently. */ void QCPLegend::draw(QCPPainter *painter) { // draw background rect: painter->setBrush(getBrush()); painter->setPen(getBorderPen()); painter->drawRect(mOuterRect); } /* inherits documentation from base class */ double QCPLegend::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { if (!mParentPlot) return -1; if (onlySelectable && !mSelectableParts.testFlag(spLegendBox)) return -1; if (mOuterRect.contains(pos.toPoint())) { if (details) details->setValue(spLegendBox); return mParentPlot->selectionTolerance()*0.99; } return -1; } /* inherits documentation from base class */ void QCPLegend::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) { Q_UNUSED(event) mSelectedParts = selectedParts(); // in case item selection has changed if (details.value() == spLegendBox && mSelectableParts.testFlag(spLegendBox)) { SelectableParts selBefore = mSelectedParts; setSelectedParts(additive ? mSelectedParts^spLegendBox : mSelectedParts|spLegendBox); // no need to unset spItems in !additive case, because they will be deselected by QCustomPlot (they're normal QCPLayerables with own deselectEvent) if (selectionStateChanged) *selectionStateChanged = mSelectedParts != selBefore; } } /* inherits documentation from base class */ void QCPLegend::deselectEvent(bool *selectionStateChanged) { mSelectedParts = selectedParts(); // in case item selection has changed if (mSelectableParts.testFlag(spLegendBox)) { SelectableParts selBefore = mSelectedParts; setSelectedParts(selectedParts() & ~spLegendBox); if (selectionStateChanged) *selectionStateChanged = mSelectedParts != selBefore; } } /* inherits documentation from base class */ QCP::Interaction QCPLegend::selectionCategory() const { return QCP::iSelectLegend; } /* inherits documentation from base class */ QCP::Interaction QCPAbstractLegendItem::selectionCategory() const { return QCP::iSelectLegend; } /* inherits documentation from base class */ void QCPLegend::parentPlotInitialized(QCustomPlot *parentPlot) { Q_UNUSED(parentPlot) } //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// QCPPlotTitle //////////////////////////////////////////////////////////////////////////////////////////////////// /*! \class QCPPlotTitle \brief A layout element displaying a plot title text The text may be specified with \ref setText, theformatting can be controlled with \ref setFont and \ref setTextColor. A plot title can be added as follows: \code customPlot->plotLayout()->insertRow(0); // inserts an empty row above the default axis rect customPlot->plotLayout()->addElement(0, 0, new QCPPlotTitle(customPlot, "Your Plot Title")); \endcode Since a plot title is a common requirement, QCustomPlot offers specialized selection signals for easy interaction with QCPPlotTitle. If a layout element of type QCPPlotTitle is clicked, the signal \ref QCustomPlot::titleClick is emitted. A double click emits the \ref QCustomPlot::titleDoubleClick signal. */ /* start documentation of signals */ /*! \fn void QCPPlotTitle::selectionChanged(bool selected) This signal is emitted when the selection state has changed to \a selected, either by user interaction or by a direct call to \ref setSelected. \see setSelected, setSelectable */ /* end documentation of signals */ /*! Creates a new QCPPlotTitle instance and sets default values. The initial text is empty (\ref setText). To set the title text in the constructor, rather use \ref QCPPlotTitle(QCustomPlot *parentPlot, const QString &text). */ QCPPlotTitle::QCPPlotTitle(QCustomPlot *parentPlot) : QCPLayoutElement(parentPlot), mFont(QFont("sans serif", 13*1.5, QFont::Bold)), mTextColor(Qt::black), mSelectedFont(QFont("sans serif", 13*1.6, QFont::Bold)), mSelectedTextColor(Qt::blue), mSelectable(false), mSelected(false) { if (parentPlot) { setLayer(parentPlot->currentLayer()); mFont = QFont(parentPlot->font().family(), parentPlot->font().pointSize()*1.5, QFont::Bold); mSelectedFont = QFont(parentPlot->font().family(), parentPlot->font().pointSize()*1.6, QFont::Bold); } setMargins(QMargins(5, 5, 5, 0)); } /*! \overload Creates a new QCPPlotTitle instance and sets default values. The initial text is set to \a text. */ QCPPlotTitle::QCPPlotTitle(QCustomPlot *parentPlot, const QString &text) : QCPLayoutElement(parentPlot), mText(text), mFont(QFont(parentPlot->font().family(), parentPlot->font().pointSize()*1.5, QFont::Bold)), mTextColor(Qt::black), mSelectedFont(QFont(parentPlot->font().family(), parentPlot->font().pointSize()*1.6, QFont::Bold)), mSelectedTextColor(Qt::blue), mSelectable(false), mSelected(false) { setLayer("axes"); setMargins(QMargins(5, 5, 5, 0)); } /*! Sets the text that will be displayed to \a text. Multiple lines can be created by insertion of "\n". \see setFont, setTextColor */ void QCPPlotTitle::setText(const QString &text) { mText = text; } /*! Sets the \a font of the title text. \see setTextColor, setSelectedFont */ void QCPPlotTitle::setFont(const QFont &font) { mFont = font; } /*! Sets the \a color of the title text. \see setFont, setSelectedTextColor */ void QCPPlotTitle::setTextColor(const QColor &color) { mTextColor = color; } /*! Sets the \a font of the title text that will be used if the plot title is selected (\ref setSelected). \see setFont */ void QCPPlotTitle::setSelectedFont(const QFont &font) { mSelectedFont = font; } /*! Sets the \a color of the title text that will be used if the plot title is selected (\ref setSelected). \see setTextColor */ void QCPPlotTitle::setSelectedTextColor(const QColor &color) { mSelectedTextColor = color; } /*! Sets whether the user may select this plot title to \a selectable. Note that even when \a selectable is set to false, the selection state may be changed programmatically via \ref setSelected. */ void QCPPlotTitle::setSelectable(bool selectable) { mSelectable = selectable; } /*! Sets the selection state of this plot title to \a selected. If the selection has changed, \ref selectionChanged is emitted. Note that this function can change the selection state independently of the current \ref setSelectable state. */ void QCPPlotTitle::setSelected(bool selected) { if (mSelected != selected) { mSelected = selected; emit selectionChanged(mSelected); } } /* inherits documentation from base class */ void QCPPlotTitle::applyDefaultAntialiasingHint(QCPPainter *painter) const { applyAntialiasingHint(painter, mAntialiased, QCP::aeNone); } /* inherits documentation from base class */ void QCPPlotTitle::draw(QCPPainter *painter) { painter->setFont(mainFont()); painter->setPen(QPen(mainTextColor())); painter->drawText(mRect, Qt::AlignCenter, mText, &mTextBoundingRect); } /* inherits documentation from base class */ QSize QCPPlotTitle::minimumSizeHint() const { QFontMetrics metrics(mFont); QSize result = metrics.boundingRect(0, 0, 0, 0, Qt::AlignCenter, mText).size(); result.rwidth() += mMargins.left() + mMargins.right(); result.rheight() += mMargins.top() + mMargins.bottom(); return result; } /* inherits documentation from base class */ QSize QCPPlotTitle::maximumSizeHint() const { QFontMetrics metrics(mFont); QSize result = metrics.boundingRect(0, 0, 0, 0, Qt::AlignCenter, mText).size(); result.rheight() += mMargins.top() + mMargins.bottom(); result.setWidth(QWIDGETSIZE_MAX); return result; } /* inherits documentation from base class */ void QCPPlotTitle::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) { Q_UNUSED(event) Q_UNUSED(details) if (mSelectable) { bool selBefore = mSelected; setSelected(additive ? !mSelected : true); if (selectionStateChanged) *selectionStateChanged = mSelected != selBefore; } } /* inherits documentation from base class */ void QCPPlotTitle::deselectEvent(bool *selectionStateChanged) { if (mSelectable) { bool selBefore = mSelected; setSelected(false); if (selectionStateChanged) *selectionStateChanged = mSelected != selBefore; } } /* inherits documentation from base class */ double QCPPlotTitle::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const { Q_UNUSED(details) if (onlySelectable && !mSelectable) return -1; if (mTextBoundingRect.contains(pos.toPoint())) return mParentPlot->selectionTolerance()*0.99; else return -1; } /*! \internal Returns the main font to be used. This is mSelectedFont if \ref setSelected is set to true, else mFont is returned. */ QFont QCPPlotTitle::mainFont() const { return mSelected ? mSelectedFont : mFont; } /*! \internal Returns the main color to be used. This is mSelectedTextColor if \ref setSelected is set to true, else mTextColor is returned. */ QColor QCPPlotTitle::mainTextColor() const { return mSelected ? mSelectedTextColor : mTextColor; }